DetermineSpecialBehavior
Contents |
[edit] DetermineSpecialBehavior(object)
Makes a creature use behave a special way overriding default behavior.
void DetermineSpecialBehavior( object oIntruder = OBJECT_INVALID );
[edit] Parameters
oIntruder
Object to determine behavior for. (Default: OBJECT_INVALID)
[edit] Description
Forces a creature to behave a certain way towards the nearest creature that it regards as an enemy that it visually perceives. oIntruder is only tested when the creature is an omnivore (has the behavior NW_FLAG_BEHAVIOR_OMNIVORE set), and even then the nearest enemy creature who is seen is the focus of its behavior.
Basically this function determines if the creature has either behavior state NW_FLAG_BEHAVIOR_OMNIVORE (omnivore - eats both plants and animals - and PCs apparently), NW_FLAG_BEHAVIOR_HERBIVORE (eats just plants), or neither (NW_FLAG_CARNIVORE or no behavior set) and attacks, flees, or walks about. Omnivores attack non-Druids and non-Rangers, herbivores flee from non-Druids and non-Rangers, and everyone else just walks. Usually a check for the NW_FLAG_BEHAVIOR_SPECIAL constant (using GetBehaviorState(int)) on OBJECT_SELF results in this void being called in the default scripts.
DetermineSpecialBehavior applies to OBJECT_SELF, so it should be placed in a creature's OnDamaged script and used in instances that would make a creature attack someone who last attacked it or invaded its den.
[edit] Requirements
#include " NW_I0_GENERIC "
[edit] Version
1.28
[edit] See Also
functions: | |
constants: | |
events: |
author: Jody Fletcher, editor: Charles Feduke