ProgressionEvents: Difference between revisions

From PSwiki
Jump to navigation Jump to search
Eonwind (talk | contribs)
No edit summary
Eonwind (talk | contribs)
No edit summary
Line 1: Line 1:
==StatsOp==
Used to affect a character stat (agility, intelligence, ...).
This is used to change a character's stats live in game.
StatsAOp are buffable (see ApplicativeScript).
Syntax:
  <agi aim="..."  value="..."/> or
  <end aim="..."  value="..."/> or
  <str aim="..."  value="..."/> or
  <cha aim="..."  value="..."/> or
  <int aim="..."  value="..."/> or
  <wil aim="..."  value="..."/> or
  aim = "..." the operation's target, depending on the environment can be ''Actor'' or ''Target'', inside a spell script ''Caster'' is a valid target.
  value = "..." a mathscript defined value.
Examples:
Reduce all physical stats by 10% and raise mental stats by 10 points:
  <str aim="Actor" value="-0.1*Actor:GetSkillValue(50)"/>
  <agi aim="Actor" value="-0.1*Actor:GetSkillValue(46)"/>
  <end aim="Actor" value="-0.1*Actor:GetSkillValue(48)"/>
  <cha aim="Actor" value="10"/>
  <int aim="Actor" value="10"/>
  <wil aim="Actor" value="10"/>
==LetOp==
==LetOp==
This operation allow to setup one or more variable which can be used inside the let operation block.
This operation allow to setup one or more variable which can be used inside the let operation block.

Revision as of 16:02, 22 May 2013

StatsOp

Used to affect a character stat (agility, intelligence, ...). This is used to change a character's stats live in game. StatsAOp are buffable (see ApplicativeScript).

Syntax:

 <agi aim="..."  value="..."/> or
 <end aim="..."  value="..."/> or
 <str aim="..."  value="..."/> or
 <cha aim="..."  value="..."/> or
 <int aim="..."  value="..."/> or
 <wil aim="..."  value="..."/> or
 aim = "..." the operation's target, depending on the environment can be Actor or Target, inside a spell script Caster is a valid target.
 value = "..." a mathscript defined value.

Examples: Reduce all physical stats by 10% and raise mental stats by 10 points:

 <str aim="Actor" value="-0.1*Actor:GetSkillValue(50)"/>
 <agi aim="Actor" value="-0.1*Actor:GetSkillValue(46)"/>
 <end aim="Actor" value="-0.1*Actor:GetSkillValue(48)"/>
 <cha aim="Actor" value="10"/>
 <int aim="Actor" value="10"/>
 <wil aim="Actor" value="10"/>


LetOp

This operation allow to setup one or more variable which can be used inside the let operation block.

Syntax:

 <let vars="..."/> or <let vars="...">...</let> 
 vars = "..." define a mathscript environment.

Examples: Setup Roll (random 0-100), Will and Power variables:

 <let vars="Roll=rnd(100);Will=Target:GetSkillValue(51); Power=0.8^(0.1*Will)*Roll;">
 ...
 </let>

IfOp

This operation allow to asses a condition and execute other operations if the result return true or false. It's a classic if/then/else operation.

Syntax:

 <if t="..."> 
   <then>...</then> 
   <else>...</else>
 </if> 
 t = "..." a mathscript condition to verify.

Examples: Check if 'Water Barrier' spell is active on the target and send a message based on that:

 <if t="Target:ActiveSpellCount('Water Barrier') < 1">
   <then>
     <msg aim="Target" text="${Target} is not under Water Barrier spell."/>
   </then>
   <else>
     <msg aim="Target" text="${Target} is under Water Barrier spell."/>
   </else>
 </if>

TraitChangeOp

Used to create a change in character traits. This is used to change a character's appearance live in game. It takes the trait ID number and sends a broadcast out to all the players in range about the change.

Syntax:

 <trait value="#"/>
 value = "#" index id key into traits table

Examples: You apply trait 100 (grey hair) to actor and send message:

 <trait value="100" /><msg aim="actor" text="You drop the liquid on your hair."/>


ExperienceOp

Adjust the experience of the target.

Syntax:

 <exp type="allocate_last" value="#"/>

allocate_type = "allocate_last" means allocate damage last otherwise damage is allocated

value = "#" amount of experience to give single player or share with others