ProgressionEvents: Difference between revisions
No edit summary |
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