Difference between revisions of "LUA:Spells"

(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


Back to LUA