LUA:Spells
- Last edited 9 years ago by I need to Update My Profile
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>