1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- --[[
- Script Name : dd_debuff.lua
- Script Purpose : Generic damage + 1 effect script
- Script Author : John Adams
- Script Date : 2008.12.04
- Script Notes : Parameter 4 and 5 are the debuff type and value (param 6 if value is a range)
- --]]
- function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, 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 == "Attack" then
- -- ModifyAttackSpeed(Target, -DebuffValue)
- elseif DebuffType == "DPS" then
- -- ModifyDPS(Target, -DebuffValue)
- elseif DebuffType == "Disease" then
- -- ModifyDisease(Target, -DebuffValue)
- elseif DebuffType == "Power" then
- ModifyPower(Target, -DebuffValue)
- elseif DebuffType == "Knockback" then
- SpawnSet(Target, "visual_state", "10900")
- end
- -- DD component (instant damage)
- if MaxDDVal ~= nil and MinDDVal < MaxDDVal then
- SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal))
- else
- SpellDamage(Target, DDType, MinDDVal)
- end
- end
- function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal)
- end
- function remove(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal)
- end
|