ProgressionEvents

From PSwiki
Jump to navigation Jump to search

AnimalAffinityOp

TODO

AnimationOp

This is a run once animation command. The animation name is not validated, only client knows if it has the animation.

Syntax:

 <animation aim="Target" name="animationX" /> 

Target = the operation's target value = the animation name, these can be: attack, craft, craft_hammer, ...

ActionOp

TODO

CancelOp

TODO

DestroyOp

TODO


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

CreateFamiliarOp

TODO

FactionOp

TODO

FxOp

The effect is either created at the target (attached) or in front of it (unattached).

If the effect is not attached:

<fx type="unattached" name="SomeName" source="SomeSource" target=""/>
 
 or if the effect is attached:
 
<fx name="SomeName" source="SomeSource" target=""/>
 
scale="value" is optional and gives the scaling factor for the effect.

Example: <fx source="Caster" target="Target" name="summon_missile" type="unattached"/>

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>

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>

HPOp

TODO

HPRateAOp

Change the HP statistics of a character in Applied mode.

Syntax:

 <hp-rate value="..."/>

value = "..." a mathscript defined value.


Examples: Increase the Actor HP rate by 10 points:

 <hp-rate value="10"/>

ItemOp

Creates an item in the player inventory

Syntax:

 <item aim="Actor" name="Tria" location="inventory" count="23" />
 <item aim="Actor" name="Ruby Crystal" location="inventory" count="5" />

KeyOp

TODO

LootSetOp

Based on the a loot rule ID, generates all the items needed and add those into the player inventory or drops to the ground

Syntax:

<loot aim="Actor" lootid="<lootid1,lootid2,lootid3>" location="inventory|ground" />

lootid corresponds to an entry into loot_rules table. Can be a single ID, or a series of IDs comma-separated. If there are multiple IDs, the loot will randomize and pick one.

MechanismMsgOp

TODO

MsgOp

Used to send a system message to the user client. Variables ($variable_name) con be used inside the text.

Syntax:

 <msg aim="..."  text="..." type="ok|error" />

aim = "..." the operation's target, depending on the environment can be Actor or Target, inside a spell script Caster is a valid target.

text = "..." the text to display.

type = "ok|error" the type field is optional and tell the server if the message is an ordinary message or if an error or confirmation message to display on screen. Without this option the message is diplayed in the system message chat tab.


Examples: Raise the Actor's strength by 10 points and send a message to the user:

 <str aim="Actor" value="10"/>
 <msg aim="Actor" text="$Actor's strength has been increased by 10 points."/>

NPCCmdOp

TODO


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 Actor's 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"/>

StatsAOp

Used to affect a character stat (agility, intelligence, ...) in Applied Mode.

This command works like a Stats Operation. No aim or Target needs to be declared.

Example:

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

SkillOp

Used to affect a character skill (Alchemy, Melee, Herbal, ...). This is used to change a character's skill live in game. SkillAOp are buffable (see ApplicativeScript).

Used to affect in Applied Mode.

Syntax:

 <skill aim="..."  value="..."/>

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.

Example:

 <skill aim="Actor" name="Red Way" value="-10"/>
 <skill aim="Actor" name="Brown Way" value="10"/>

SkillAOp

Used to affect a character skill (Alchemy, Melee, Herbal, ...) in Applied Mode.

This command works like a Skill Operation. No aim or Target needs to be declared.

Example:

 <skill name="Red Way" value="-10"/>
 <skill name="Brown Way" value="10"/>

TeleportOp

Example:

<teleport aim="Target" sector="bdroad2" x="-178.17" y="48.19" z="551.82" instance="0" />

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."/>

TutorialMsgOp

TODO

VariableSetOp

TODO

VariableUnSetOp

TODO


VitalOp

TODO

VitalAOp

Change the vital statistics (HP, Mana, ... but not Hit Points) of a character in Applied mode.

Syntax:

 <mana-rate     value="..."/> or
 <pstamina-rate value="..."/> or
 <mstamina-rate value="..."/> or
 <hp-max        value="..."/> or
 <mana-max      value="..."/> or
 <pstamina-max  value="..."/> or
 <mstamina-max  value="..."/> or

value = "..." a mathscript defined value.

Examples: Increase the Actor vitals by 10 points:

 <mana-rate     value="10"/>
 <pstamina-rate value="10"/>
 <mstamina-rate value="10"/>
 <hp-max        value="10"/>
 <mana-max      value="10"/>
 <pstamina-max  value="10"/>
 <mstamina-max  value="10"/>