NPCClient math script

From PSwiki
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.