NPCClient math script: Difference between revisions

From PSwiki
Jump to navigation Jump to search
Magodra (talk | contribs)
Eonwind (talk | contribs)
Line 68: Line 68:
|PStamina
|PStamina
|The Physical Stamina for the NPC
|The Physical Stamina for the NPC
|-
|TargetHP
|The HP for the NPC's current target. If no target 0.0 is returned
|-
|TargetMana
|The Mana for the NPC's current target. If no target 0.0 is returned
|-
|TargetMaxHP
|The Max HP for the NPC's current target. If no target 0.0 is returned
|-
|TargetMaxMana
|The Max Mana for the NPC's current target. If no target 0.0 is returned
|-
|TargetMaxMStamina
|The Max Mental Stamina for the NPC's current target. If no target 0.0 is returned
|-
|TargetMaxPStamina
|The Max Physical Stamina for the NPC's current target. If no target 0.0 is returned
|-
|TargetMStamina
|The Mental Stamina for the NPC's current target. If no target 0.0 is returned
|-
|TargetPStamina
|The Physical Stamina for the NPC's current target. If no target 0.0 is returned.
|-
|-
|}
|}
Line 73: Line 97:
Example:
Example:
   Health = NPC:HP/NPC:MaxHP;
   Health = NPC:HP/NPC:MaxHP;
  TargetHealth = NPC:TargetHP/NPC:TargetMaxHP;


== Examples ==
== Examples ==

Revision as of 15:16, 22 May 2013

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:

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
TargetHP The HP for the NPC's current target. If no target 0.0 is returned
TargetMana The Mana for the NPC's current target. If no target 0.0 is returned
TargetMaxHP The Max HP for the NPC's current target. If no target 0.0 is returned
TargetMaxMana The Max Mana for the NPC's current target. If no target 0.0 is returned
TargetMaxMStamina The Max Mental Stamina for the NPC's current target. If no target 0.0 is returned
TargetMaxPStamina The Max Physical Stamina for the NPC's current target. If no target 0.0 is returned
TargetMStamina The Mental Stamina for the NPC's current target. If no target 0.0 is returned
TargetPStamina The Physical Stamina for the NPC's current target. If no target 0.0 is returned.

Example:

 Health = NPC:HP/NPC:MaxHP;
 TargetHealth = NPC:TargetHP/NPC:TargetMaxHP;

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 received during DiurnalNight.