12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- --[[
- Script Name : dot_debuff.lua
- Script Purpose : Generic damage + 1 effect script
- Script Author : John Adams
- Script Date : 2008.12.04
- --]]
- function cast(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal)
- -- Debuff component
- -- Determine if there is a range to effect values
- if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then
- -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up?
- DebuffValue = math.random(MinDebuffVal, MaxDebuffVal)
- else
- DebuffValue = MinDebuffVal
- end
- -- Determine DebuffType - either a DamageType or a String value passed as param 4
- if DebuffType == "Defense" then
- -- Need functionality to buff/debuff
- -- ModifyDefense(Target, -DebuffValue)
- end
- if DebuffType == "Elemental" then
- -- Need functionality to buff/debuff
- -- ModifyHeat(Target, -DebuffValue)
- -- ModifyCole(Target, -DebuffValue)
- end
- -- DOT component (instant damage)
- if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then
- SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal))
- else
- SpellDamage(Target, DOTType, MinDOTVal)
- end
- end
- function tick(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal)
- if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then
- SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal))
- else
- SpellDamage(Target, DOTType, MinDOTVal)
- end
- end
- function remove(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal)
- if DebuffType == "Defense" then
- -- Need functionality to restore original mitigations
- -- ModifyDefense(Target, Original)
- end
- if DebuffType == "Elemental" then
- -- Need functionality to restore original mitigations
- -- ModifyHeat(Target, Original)
- -- ModifyCold(Target, Original)
- end
- end
|