You are viewing an old version of this page. Return to the latest version.
Difference between revisions of "LUA:Spells"
John Adams (talk | contribs) (New page: == The LUA Scripting System: Spells == Describe purpose, examples, our chosen folder structure for script storage. Back to LUA) |
(some more spell info) |
||
| Line 1: | Line 1: | ||
== The LUA Scripting System: Spells == | == The LUA Scripting System: Spells == | ||
Describe purpose, examples, our chosen folder structure for script storage. | 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> | ||
| + | |||
| + | |||
[[Developer:LUA_Functions | Back to LUA]] | [[Developer:LUA_Functions | Back to LUA]] | ||
Revision as of 20:31, 6 December 2009
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.
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
Examples
HP Buff
--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
Heal
--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
Runspeed
function cast(Caster, Target, DamageType, Damage)
SetSpeed(Player, 100)
end
function remove(Caster, Target)
SetSpeed(Player, 1)
end