scope DeadRunnerOrChaser initializer I
globals
private itempool array poolitems
group DESTROYGROUP=CreateGroup()
endglobals
struct chasernotplaying extends array
//! runtextmacro AIDS()
private trigger t
private integer utype
private static method Callback takes nothing returns boolean
local thistype this=KT_GetData()
call this.AIDS_removeLock()
return true
endmethod
private static method OnDeath takes nothing returns boolean
local thistype this=thistype[GetTriggerUnit()]
call this.AIDS_addLock() // So the struct can't disappear before the timer ticks.
call KT_Add(function thistype.Callback,this,5.0)
call DestroyTrigger(this.t)
set this.t=null
return false
endmethod
private static method AIDS_filter takes unit u returns boolean
return GetUnitTypeId(u)=='nfnp'
endmethod
private method AIDS_onCreate takes nothing returns nothing
set this.utype=GetUnitTypeId(this.unit)
set this.t=CreateTrigger()
call TriggerAddCondition(this.t,Condition(function thistype.OnDeath))
call TriggerRegisterUnitEvent(this.t,this.unit, EVENT_UNIT_DEATH )
endmethod
endstruct
private function Ec takes nothing returns boolean
local integer pi = GetPlayerSlotMultiboard(GetPlayerId(GetOwningPlayer(GetTriggerUnit())))
local integer pik = GetPlayerSlotMultiboard(GetPlayerId(GetOwningPlayer(GetKillingUnit())))
if IsUnitIllusion(GetTriggerUnit()) then
return false
endif
call jBoard_TDHT.field(pik,0).addR(3)
call jBoard_TDHT.field(pi,1).setIconPathR(iconX)
call SetPlayerState(Player(bj_PLAYER_NEUTRAL_EXTRA), PLAYER_STATE_GOLD_GATHERED, GetPlayerState(Player(bj_PLAYER_NEUTRAL_EXTRA), PLAYER_STATE_GOLD_GATHERED) + 1)
call SetPlayerState(Player(bj_PLAYER_NEUTRAL_EXTRA), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(Player(bj_PLAYER_NEUTRAL_EXTRA), PLAYER_STATE_RESOURCE_GOLD) + 1)
if GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit())) == PLAYER_SLOT_STATE_PLAYING then
call msgone180(GetOwningPlayer(GetTriggerUnit()),gtc_coralblue("You have lost your Demon Hunter. You may continue to watch your fellow Demon Hunters hunt the remaining demons. You can also ask the better players in the game for advice to do better. Thanks for playing, wish you a better game next time!"),true)
call msgone75(GetOwningPlayer(GetTriggerUnit()),gtc_coralpink("Oh, the Disgrace! A Chaser Has Been Eliminated From the Tournament!"),false)
endif
return false
endfunction
private function A takes nothing returns boolean
local real ux = GetUnitX(GetDyingUnit())
local real uy = GetUnitY(GetDyingUnit())
if GetOwningPlayer(GetKillingUnit())==Player(0) or GetOwningPlayer(GetKillingUnit())==Player(1) or GetOwningPlayer(GetKillingUnit())==Player(10) then
else
return false
endif
if GetUnitAbilityLevel(GetKillingUnit(),'BEah') > 0 then
call PlaceRandomItem(poolitems[0],ux,uy)
call PlaceRandomItem(poolitems[1],ux,uy)
else
call PlaceRandomItem(poolitems[2],ux,uy)
call PlaceRandomItem(poolitems[1],ux,uy)
endif
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1)) + 1)
return false
endfunction
private function B takes nothing returns boolean
local integer x = GetRandomInt(1,4)
local real ux = GetUnitX(GetDyingUnit())
local real uy = GetUnitY(GetDyingUnit())
if GetOwningPlayer(GetKillingUnit())==Player(0) or GetOwningPlayer(GetKillingUnit())==Player(1) or GetOwningPlayer(GetKillingUnit())==Player(10) then
else
return false
endif
if IsUnitType(GetKillingUnit(), UNIT_TYPE_HERO) then
call PlaceRandomItem(poolitems[1],ux,uy)
if GetUnitAbilityLevel(GetKillingUnit(),'BEah') > 0 then
call PlaceRandomItem(poolitems[1],ux,uy)
endif
call PlaceRandomItem(poolitems[3],ux,uy)
endif
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1)) + 1)
if x==1 then
call CreateItem('I00C',ux,uy)
endif
return false
endfunction
private function C takes nothing returns boolean
local real ux = GetUnitX(GetDyingUnit())
local real uy = GetUnitY(GetDyingUnit())
if GetOwningPlayer(GetKillingUnit())==Player(0) or GetOwningPlayer(GetKillingUnit())==Player(1) or GetOwningPlayer(GetKillingUnit())==Player(10) then
else
return false
endif
if IsUnitType(GetKillingUnit(), UNIT_TYPE_HERO) then
call PlaceRandomItem(poolitems[4],ux,uy)
endif
return false
endfunction
private function D takes nothing returns boolean
local real ux = GetUnitX(GetDyingUnit())
local real uy = GetUnitY(GetDyingUnit())
if GetOwningPlayer(GetKillingUnit())==Player(0) or GetOwningPlayer(GetKillingUnit())==Player(1) or GetOwningPlayer(GetKillingUnit())==Player(10) then
else
return false
endif
if IsUnitType(GetKillingUnit(), UNIT_TYPE_HERO) then
call PlaceRandomItem(poolitems[1],ux,uy)
if GetUnitAbilityLevel(GetKillingUnit(),'BEah') > 0 then
call PlaceRandomItem(poolitems[1],ux,uy)
endif
endif
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1)) + 1)
return false
endfunction
private function ru takes nothing returns boolean
if GetUnitTypeId(GetFilterUnit()) == 'npgf' then
call KillUnit(GetFilterUnit())
call RemoveUnit(GetFilterUnit())
elseif GetUnitTypeId(GetFilterUnit()) == 'uzg2' then
call RemoveUnit(GetFilterUnit())
elseif GetUnitTypeId(GetFilterUnit()) == 'uzig' then
call RemoveUnit(GetFilterUnit())
elseif GetUnitTypeId(GetFilterUnit()) == 'hatw' then
call RemoveUnit(GetFilterUnit())
elseif GetUnitTypeId(GetFilterUnit()) == 'hwtw' then
call RemoveUnit(GetFilterUnit())
elseif GetUnitTypeId(GetFilterUnit()) == 'eaom' then
call RemoveUnit(GetFilterUnit())
elseif GetUnitTypeId(GetFilterUnit()) == 'etrp' then
call RemoveUnit(GetFilterUnit())
endif
return false
endfunction
private function removeall takes nothing returns nothing
local integer ipid = GetPlayerId(GetOwningPlayer(GetTriggerUnit()))
call GroupEnumUnitsOfPlayer(DESTROYGROUP, Player(ipid), Filter(function ru))
if runnerSERVANT[ipid] != null then
call RemoveUnit(runnerSERVANT[ipid])
endif
endfunction
private function E takes nothing returns boolean
local integer pi = GetPlayerSlotMultiboard(GetPlayerId(GetOwningPlayer(GetTriggerUnit())))
local integer pik = GetPlayerSlotMultiboard(GetPlayerId(GetOwningPlayer(GetKillingUnit())))
local real ux = GetUnitX(GetTriggerUnit())
local real uy = GetUnitY(GetTriggerUnit())
if IsUnitIllusion(GetTriggerUnit()) == false then
call PlaceRandomItem(poolitems[5],ux,uy)
if GetUnitAbilityLevel(GetKillingUnit(),'BEah') > 0 then
call PlaceRandomItem(poolitems[6],ux,uy)
endif
call SetItemCharges( UnitItemInSlot(GetKillingUnit(), 0), ( GetItemCharges(UnitItemInSlot(GetKillingUnit(), 0)) + 1 ) )
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(16), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(16)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(2), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(2)) + 1)
if GetKillingUnit()==CHASER[pik] then
call jBoard_TDHT.field(pi,0).addR(-1)
call jBoard_TDHT.field(pik,0).addR(1)
endif
call jBoard_TDHT.field(pi,1).setIconPathR(ICON[pi+1])
call CreateUnit(Player(bj_PLAYER_NEUTRAL_EXTRA), SPECIALCRITTER[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))], (GetRandomReal(-215.00, 50.00)), (GetRandomReal(-715.00, -420.00)), GetRandomReal(0.00,359.99))
call removeall()
if GetKillingUnit() != null then
if GetPlayerSlotState(Player(GetPlayerId(GetOwningPlayer(GetTriggerUnit())))) == PLAYER_SLOT_STATE_PLAYING then
call msgone20(GetOwningPlayer(GetTriggerUnit()),gtc_brightgreen("Your runner died to "+GetPlayerName(GetOwningPlayer(GetKillingUnit()))+"!"),true)
call msgone15(GetOwningPlayer(GetKillingUnit()),gtc_coralblue("You killed the runner of "+GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+"!"),true)
call msgall25(gtc_brightorange(GetPlayerName(GetOwningPlayer(GetKillingUnit()))+" has killed a runner! "+GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+" must wait for a critter to die at the middle to get another chance to play!"))
endif
endif
endif
return false
endfunction
private function F takes nothing returns boolean
local integer pi = GetPlayerSlotMultiboard(GetPlayerId(GetOwningPlayer(GetTriggerUnit())))
call jBoard_TDHT.field(pi,1).setIconPathR(ICON[pi+1])
call CreateUnit(Player(bj_PLAYER_NEUTRAL_EXTRA), SPECIALCRITTER[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))], (GetRandomReal(-215.00, 50.00)), (GetRandomReal(-715.00, -420.00)), GetRandomReal(0.00,359.99))
call removeall()
if GetPlayerSlotState(Player(GetPlayerId(GetOwningPlayer(GetTriggerUnit())))) == PLAYER_SLOT_STATE_PLAYING then
if GetKillingUnit()==null then
call msgone25(GetOwningPlayer(GetTriggerUnit()),gtc_sand("The host has destroyed a demon gate! "+GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+" must wait for a critter to die at the middle to get another chance to play!"),false)
call msgone75(GetOwningPlayer(GetTriggerUnit()),gtc_brightorange("The host has destroyed your demon gate! You must wait for a critter to die at the middle to get another chance to play!"),true)
return false
endif
call msgone15(GetOwningPlayer(GetKillingUnit()),gtc_coralblue("You destroyed the demon gate of "+GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+"!"),true)
call msgone55(GetOwningPlayer(GetTriggerUnit()),gtc_brightorange("Your demon gate has been destroyed by "+GetPlayerName(GetOwningPlayer(GetKillingUnit()))+"!"),true)
call msgall25(gtc_sand(GetPlayerName(GetOwningPlayer(GetKillingUnit()))+" has destroyed a demon gate! "+GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+" must wait for a critter to die at the middle to get another chance to play!"))
endif
return false
endfunction
private function Fc takes nothing returns boolean
local integer pi = GetPlayerSlotMultiboard(GetPlayerId(GetOwningPlayer(GetTriggerUnit())))
call AdjustPlayerStateBJ( 1, Player(bj_PLAYER_NEUTRAL_EXTRA), PLAYER_STATE_RESOURCE_GOLD )
call jBoard_TDHT.field(pi,1).setIconPathR(iconX)
return false
endfunction
private function G takes nothing returns boolean
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1)) + 1)
return false
endfunction
private function H takes nothing returns boolean
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(16), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(16)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(2), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(2)) + 1)
return false
endfunction
private function I takes nothing returns nothing
local integer loopinteger=0
loop
set poolitems[loopinteger]=CreateItemPool()
set loopinteger=loopinteger+1
exitwhen loopinteger>6
endloop
call ItemPoolAddItemType(poolitems[0], 'pams', 4) // Chance: 4/43
call ItemPoolAddItemType(poolitems[0], 'rnec', 6) // Chance: 6/43
call ItemPoolAddItemType(poolitems[0], 'desc', 5) // Chance: 5/43
call ItemPoolAddItemType(poolitems[0], 'fgsk', 6) // Chance: 6/43
call ItemPoolAddItemType(poolitems[0], 'fgfh', 6) // Chance: 6/43
call ItemPoolAddItemType(poolitems[0], 'pgma', 5) // Chance: 5/43
call ItemPoolAddItemType(poolitems[0], 'pclr', 3) // Chance: 3/43
call ItemPoolAddItemType(poolitems[0], 'mcri', 3) // Chance: 3/43
call ItemPoolAddItemType(poolitems[0], 'moon', 2) // Chance: 2/43
call ItemPoolAddItemType(poolitems[0], 'pman', 3) // Chance: 3/43
call ItemPoolAddItemType(poolitems[1], 'pams', 1) // Chance: 1/12 potion of antimagic
call ItemPoolAddItemType(poolitems[1], 'pclr', 3) // Chance: 3/12 clarity potion
call ItemPoolAddItemType(poolitems[1], 'mcri', 3) // Chance: 3/12
call ItemPoolAddItemType(poolitems[1], 'moon', 2) // Chance: 2/12 moonstone
call ItemPoolAddItemType(poolitems[1], 'pman', 3) // Chance: 3/12 potion of mana
call ItemPoolAddItemType(poolitems[2], 'pams', 1) // Chance: 1/14
call ItemPoolAddItemType(poolitems[2], 'rnec', 3) // Chance: 3/14
call ItemPoolAddItemType(poolitems[2], 'desc', 2) // Chance: 2/14
call ItemPoolAddItemType(poolitems[2], 'fgsk', 3) // Chance: 3/14
call ItemPoolAddItemType(poolitems[2], 'fgfh', 3) // Chance: 3/14
call ItemPoolAddItemType(poolitems[2], 'pgma', 2) // Chance: 2/14
call ItemPoolAddItemType(poolitems[3], 'pams', 1) // Chance: 1/19
call ItemPoolAddItemType(poolitems[3], 'pclr', 4) // Chance: 4/19
call ItemPoolAddItemType(poolitems[3], 'mcri', 4) // Chance: 4/19
call ItemPoolAddItemType(poolitems[3], 'moon', 4) // Chance: 4/19
call ItemPoolAddItemType(poolitems[3], 'pman', 4) // Chance: 4/19
call ItemPoolAddItemType(poolitems[3], 'whwd', 1) // Chance: 1/19
call ItemPoolAddItemType(poolitems[3], 'tgxp', 1) // Chance: 1/19
call ItemPoolAddItemType(poolitems[4], 'pclr', 1) // Chance: 1/4
call ItemPoolAddItemType(poolitems[4], 'mcri', 1) // Chance: 1/4
call ItemPoolAddItemType(poolitems[4], 'moon', 1) // Chance: 1/4
call ItemPoolAddItemType(poolitems[4], 'pman', 1) // Chance: 1/4
call ItemPoolAddItemType(poolitems[5], 'pams', 3) //Chance: 3/33
call ItemPoolAddItemType(poolitems[5], 'pclr', 4) //Chance: 4/33
call ItemPoolAddItemType(poolitems[5], 'mcri', 4) //Chance: 4/33
call ItemPoolAddItemType(poolitems[5], 'moon', 4) //Chance: 4/33
call ItemPoolAddItemType(poolitems[5], 'pman', 4) //Chance: 4/33
call ItemPoolAddItemType(poolitems[5], 'rnec', 2) //Chance: 2/33
call ItemPoolAddItemType(poolitems[5], 'desc', 1) //Chance: 1/33
call ItemPoolAddItemType(poolitems[5], 'whwd', 3) //Chance: 3/33
call ItemPoolAddItemType(poolitems[5], 'fgsk', 2) //Chance: 2/33
call ItemPoolAddItemType(poolitems[5], 'fgfh', 2) //Chance: 2/33
call ItemPoolAddItemType(poolitems[5], 'pgma', 1) //Chance: 1/33
call ItemPoolAddItemType(poolitems[5], 'txgp', 3) //Chance: 3/33
call ItemPoolAddItemType(poolitems[6], 'pams', 4) //Chance: 4/34
call ItemPoolAddItemType(poolitems[6], 'pclr', 6) //Chance: 6/34
call ItemPoolAddItemType(poolitems[6], 'mcri', 6) //Chance: 6/34
call ItemPoolAddItemType(poolitems[6], 'moon', 6) //Chance: 6/34
call ItemPoolAddItemType(poolitems[6], 'pman', 6) //Chance: 6/34
call ItemPoolAddItemType(poolitems[6], 'whwd', 3) //Chance: 3/34
call ItemPoolAddItemType(poolitems[6], 'tgxp', 3) //Chance: 3/34
call GT_AddUnitDiesAction(function A, 'eaom')//ancient of war
call GT_AddUnitDiesAction(function B, 'etol')//tree of life
call GT_AddUnitDiesAction(function C, 'ugol')//haunted gold mine
call GT_AddUnitDiesAction(function D, 'htow')//any other hall/
call GT_AddUnitDiesAction(function D, 'ofrt')//any other hall/
call GT_AddUnitDiesAction(function D, 'ogre')//any other hall/
call GT_AddUnitDiesAction(function D, 'nntt')//any other hall/
call GT_AddUnitDiesAction(function D, 'ndh2')//any other hall/
call GT_AddUnitDiesAction(function D, 'e002')//any other hall/
call GT_AddUnitDiesAction(function G, 'emow')//singlegoldpiecebounty/
call GT_AddUnitDiesAction(function G, 'e001')//singlegoldpiecebounty/
call GT_AddUnitDiesAction(function G, 'zcso')//singlegoldpiecebounty/
call GT_AddUnitDiesAction(function G, 'nnmg')//singlegoldpiecebounty/
call GT_AddUnitDiesAction(function H, 'hdfR')//singlewoodpiecebounty/
set RUNNERTYPEID[0] = 'uaco'
set RUNNERTYPEID[1] = 'ushd'
set RUNNERTYPEID[2] = 'ugho'
set RUNNERTYPEID[3] = 'uabo'
set RUNNERTYPEID[4] = 'umtw'
set RUNNERTYPEID[5] = 'ucry'
set RUNNERTYPEID[6] = 'ugar'
set RUNNERTYPEID[7] = 'uban'
set RUNNERTYPEID[8] = 'unec'
set RUNNERTYPEID[9] = 'uobs'
set RUNNERTYPEID[10] = 'ufro'
set RUNNERTYPEID[11] = 'hfoo'
set RUNNERTYPEID[12] = 'hkni'
set RUNNERTYPEID[13] = 'hrif'
set RUNNERTYPEID[14] = 'hmtm'
set RUNNERTYPEID[15] = 'hgyr'
set RUNNERTYPEID[16] = 'hgry'
set RUNNERTYPEID[17] = 'hmpr'
set RUNNERTYPEID[18] = 'hsor'
set RUNNERTYPEID[19] = 'hmtt'
set RUNNERTYPEID[20] = 'hspt'
set RUNNERTYPEID[21] = 'hdhw'
set RUNNERTYPEID[22] = 'ogru'
set RUNNERTYPEID[23] = 'orai'
set RUNNERTYPEID[24] = 'otau'
set RUNNERTYPEID[25] = 'ohun'
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[0])////sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[1])////sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[2])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[3])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[4])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[5])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[6])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[7])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[8])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[9])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[10])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[11])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[12])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[13])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[14])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[15])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[16])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[17])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[18])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[19])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[20])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[21])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[22])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[23])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[24])//sapper
call GT_AddUnitDiesAction(function E, RUNNERTYPEID[25])//sapper
call GT_AddUnitDiesAction(function F, DEMONGATEA)//demongate
call GT_AddUnitDiesAction(function F, DEMONGATEB)//demongate
call GT_AddUnitDiesAction(function F, DEMONGATEC)//demongate
call GT_AddUnitDiesAction(function Fc, 'nfnp')//fountain
set CHASERTYPEID[0] = 'ECHA'
set CHASERTYPEID[1] = 'EMAG'
set CHASERTYPEID[2] = 'EDRU'
set CHASERTYPEID[3] = 'EDAR'
set CHASERTYPEID[4] = 'HDES'
set CHASERTYPEID[5] = 'HBLO'
set CHASERTYPEID[6] = 'HSLA'
set CHASERTYPEID[7] = 'HTRA'
set CHASERTYPEID[8] = 'OWAR'
set CHASERTYPEID[9] = 'OPAN'
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[0])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[1])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[2])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[3])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[4])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[5])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[6])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[7])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[8])//HUNTER
call GT_AddUnitDiesAction(function Ec, CHASERTYPEID[9])//HUNTER
endfunction
endscope