No categories assigned

LUA:Spells

Revision as of 17:13, 23 November 2010 by Iheqidela (talk | contribs)

The LUA Scripting System: Spells

Describe purpose, examples, our chosen folder structure for script storage.

Spells are controlled by (mainly) 3 tables: spell_tiers, spells and spell_classes and can be used to create all manner of spells.

It would be wise to have a read over Developer:Spells

There are 3 main functions in a spell: cast, remove and tick. You should get familiar with these and how they are used.

<pre> function cast(Caster, Target, DamageType, Damage)

end

function remove(Caster, Target)

end

function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, MinEffectVal, MaxEffectVal)

   SpellDamage(Target, 6, 30)

end </pre>

Examples

HP Buff <pre> --main process function function cast(Caster, Target, DamageType, Damage) SetMaxHP(Target, (GetMaxHP(Target) + 50)) end

function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, MinEffectVal, MaxEffectVal)

end

function remove(Caster, Target) SetMaxHP(Target, (GetMaxHP(Target) - 50)) end </pre>

Heal <pre> --main process function function cast(Caster, Target, DamageType, Damage) -- syntax for SpellDamage is Target, DamageType, and Damage --SpellDamage(Target, DamageType, Damage) ModifyHP(Caster, 20) end

function remove(Caster, Target) end </pre>

Runspeed <pre> function cast(Caster, Target, DamageType, Damage) SetSpeed(Player, 100) end

function remove(Caster, Target)

       SetSpeed(Player, 1)

end </pre>


Back to LUA