NPCClient math script
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
NPC Client Math scripts are used from the Percept Operation and Reaction for conditional behavior. The script environment is setup with a NPCClient and a NPC attribute.
Attributes
NPC Client
The NPCClient has the following properties:
gameHour | The hour in game time |
gameMinute | The minute in game time |
gameMonth | The month in game time |
gameYear | The year in game time |
Example Math Script (DiurnalNight):
if (NPCClient:gameHour > 22 | NPCClient:gameHour < 6) { Result = 1.0; } else { Result = 0.0; };
NPC
The NPC has the following properties:
HasTarget | Return 1.0 if there is a target. If no target 0.0 is returned. The "Target" attribute will be set as well. |
Hate | The hate for the current target. If no target 0.0 is returned. |
HP | The HP for the NPC |
InsideTribeHome | Return 1.0 if inside tribe home, otherwise 0.0. |
InsideRegion | Return 1.0 if inside region, otherwise 0.0. |
Mana | The Mana for the NPC |
MaxHP | The Max HP for the NPC |
MaxMana | The Max Mana for the NPC |
MaxMStamina | The Max Mental Stamina for the NPC |
MaxPStamina | The Max Physical Stamina for the NPC |
MStamina | The Mental Stamina for the NPC |
PStamina | The Physical Stamina for the NPC |
Example:
Health = NPC:HP/NPC:MaxHP; Mana = NPC:Mana/NPC:MaxMana;
Target
The Targethas the following properties:
HP | The HP for the NPC |
Mana | The Mana for the NPC |
MaxHP | The Max HP for the NPC |
MaxMana | The Max Mana for the NPC |
MaxMStamina | The Max Mental Stamina for the NPC |
MaxPStamina | The Max Physical Stamina for the NPC |
MStamina | The Mental Stamina for the NPC |
PStamina | The Physical Stamina for the NPC |
Example:
if (NPC:HasTarget > 0.0) { TargetHealth = Target:HP/Target:MaxHP; TargetMana = Target:Mana/Target:MaxMana; HealthDiff = Target:HP/NPC:HP; }
Examples
Perception Operation
Exampe Script using conditions:
... <percept condition="DiurnalNight" event="GoToSleep" failed_event="GoToRegion" /> ...
In this Percept Operation example the event GoToSleep is triggered if the DiurnalNight math script return true.
Reaction
Example:
<react event="damage" condition="DiurnalNight" behavior="NightFight" delta="20" weight="1" />
In this Reaction example the damage event will cause a NightFight behavior to be executed if DiurnalNight returns true.