Expelliarmus
Where to change the sig?
- Reaction score
- 48
JASS:
//function Mana Bomb takes nothing returns integer // functions can not have spaces
function Mana_Bomb takes nothing returns integer
//return 'A093:AHtc'
return 039;AHtc039; // Raw Codes are 4 characters
endfunction
function AoE takes nothing returns integer
return 900
endfunction
function spellevel takes integer lvl returns integer
return lvl * -200
endfunction
function UnitFilter takes nothing returns boolean
return GetUnitState(GetFilterUnit(), UNIT_STATE_LIFE) <= 0 and IsUnitAlly(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit()))
endfunction
function Absorb takes nothing returns integer
local integer level
set level = GetUnitAbilityLevel(GetTriggerUnit(),Mana_Bomb()) // Mana_Bomb was SpellID
call SetUnitState(GetEnumUnit(),UNIT_STATE_MANA, spellevel(level))
return spellevel(level)
endfunction
function Trig_Mana_Drain_Actions takes nothing returns nothing
local unit caster
local group g
set g = CreateGroup()
set caster = GetTriggerUnit()
call GroupEnumUnitsInRange(g,GetUnitX(caster),GetUnitY(caster), AoE(), Condition(function UnitFilter))
call ForGroup(g, function Absorb)
call SetUnitState(caster,UNIT_STATE_MANA, Absorb()*-1)
call DestroyGroup(g)
set caster = null
set g = null
endfunction
function Trig_Mana_Drain_Conditions takes nothing returns boolean
return GetSpellAbilityId() == Mana_Bomb()
endfunction
//===========================================================================
function InitTrig_Mana_Drain takes nothing returns nothing
set gg_trg_Mana_Drain = CreateTrigger( )
call TriggerAddAction( gg_trg_Mana_Drain, function Trig_Mana_Drain_Actions )
call TriggerAddCondition(gg_trg_Mana_Drain, Condition(function Trig_Mana_Drain_Conditions))
endfunction
- No event
- SetUnitState problem?