- Joined
- Apr 16, 2017
- Messages
- 23
I cannot recreate the crash, but at a certain point after 15 minutes it will crash. The game runs okay with this code turned off.
There was no lag at all before it crashes the game, so it's very strange.
The crash message says the crash is related to "instance.cpp".
There was no lag at all before it crashes the game, so it's very strange.
The crash message says the crash is related to "instance.cpp".
JASS:
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 SHARED FUNCTIONS 麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣
function U_DD_randstr takes integer num returns string
local integer i
local string output
local string randchars
local integer randint
set output = ""
set randchars = "ABCDSE!d2!D12d131dd1d2d1!@DQWD@!d12sd12"
set i = 0
loop
exitwhen i == num
set randint = GetRandomInt(1,StringLength(randchars))
set output = output + SubStringBJ(randchars, randint, randint)
set i = i + 1
endloop
return output
endfunction
function U_DD_pr takes string msg returns nothing
call DisplayTextToForce( GetPlayersAll(), U_DD_randstr(3)+" - "+msg )
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_RE_conds takes integer condset,unit ua, unit ub, boolean bool returns boolean
if condset == 1 then//is attacker melee giant and is attacked not flying unit?
if GetUnitAbilityLevelSwapped('A04M', ua) == 1 then
if IsUnitType(ua, UNIT_TYPE_MELEE_ATTACKER) and not(IsUnitType(ub, UNIT_TYPE_FLYING)) then
return bool
endif
endif
endif
if condset == 2 then//dmgar - dmgu
if ua!=udg_U_DD_dmgar_atkr and IsUnitAliveBJ(ua) and IsUnitEnemy(ua,udg_U_DD_dmgar_atkrplyr) and IsUnitVisible(ua,udg_U_DD_dmgar_atkrplyr) and ua!=null then
return bool
endif
endif
return not(bool)
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_dmgu takes nothing returns nothing
local unit dmgar_atkd
set dmgar_atkd = GetEnumUnit()
if U_DD_RE_conds(2,dmgar_atkd ,null,true)then
call UnitDamageTargetBJ( udg_U_DD_dmgar_atkr, dmgar_atkd , udg_U_DD_dmgar_amount, udg_U_DD_dmgar_atktype, udg_U_DD_dmgar_dmgtype)
endif
set dmgar_atkd = null
endfunction
function U_DD_dmgar takes unit atkr, unit atkd, real radius, real amount, attacktype atktype, damagetype dmgtype returns nothing
local location atkdp
local group gr
set udg_U_DD_dmgar_atkr = atkr
set udg_U_DD_dmgar_atkd = atkd
set udg_U_DD_dmgar_atkrplyr = GetOwningPlayer(atkr)
set udg_U_DD_dmgar_amount = amount
set udg_U_DD_dmgar_atktype = atktype
set udg_U_DD_dmgar_dmgtype = dmgtype
set atkdp = GetUnitLoc(atkd)
set gr = GetUnitsInRangeOfLocAll(radius,atkdp)
call ForGroup(gr, function U_DD_dmgu)
call RemoveLocation(atkdp)
set atkdp = null
call DestroyGroup(gr)
set gr = null
endfunction
function U_DD_se takes location p, real dur, string addr returns nothing
set udg_GSP_Location = p
set udg_GSP_Duration = dur
set udg_GSP_ModelAddress = addr
call TriggerExecute( gg_trg_Generate_Special_Effect_At_Location )
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_getatkrs takes unit atkd returns group
return LoadGroupHandleBJ(0,GetHandleIdBJ(atkd), udg_U_DD_Temp)
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_getatkds takes unit atkr returns group
return LoadGroupHandleBJ(4,GetHandleIdBJ(atkr), udg_U_DD_Temp)
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_add takes unit atkr, unit atkd, boolean report returns nothing
local integer utid
if LoadGroupHandleBJ(0,GetHandleIdBJ(atkd), udg_U_DD_Temp)==null then
call SaveGroupHandleBJ(CreateGroup(), 0,GetHandleIdBJ(atkd), udg_U_DD_Temp)
endif
if not(IsUnitInGroup(atkr, LoadGroupHandleBJ(0,GetHandleIdBJ(atkd), udg_U_DD_Temp))) then
call GroupAddUnitSimple(atkr, LoadGroupHandleBJ(0,GetHandleIdBJ(atkd), udg_U_DD_Temp))
endif
if LoadGroupHandleBJ(4,GetHandleIdBJ(atkr), udg_U_DD_Temp)==null then
call SaveGroupHandleBJ(CreateGroup(), 4,GetHandleIdBJ(atkr), udg_U_DD_Temp)
endif
if not(IsUnitInGroup(atkd, LoadGroupHandleBJ(4,GetHandleIdBJ(atkr), udg_U_DD_Temp))) then
call GroupAddUnitSimple(atkd, LoadGroupHandleBJ(4,GetHandleIdBJ(atkr), udg_U_DD_Temp))
endif
call SaveUnitHandleBJ(atkr, 1, GetHandleIdBJ(atkd), udg_U_DD_Temp)
call GroupAddUnitSimple(atkd, udg_U_DD_Registered)
set utid = GetUnitTypeId(atkd)
if LoadIntegerBJ(GetHandleIdBJ(atkd), 0, udg_U_DD_Temp) == udg_U_DD_I then
//call U_DD_pr( "already recognized target - "+GetUnitName(atkd) )
else
if report then
//call U_DD_pr( "recognized target - "+GetUnitName(atkd) )
endif
call SaveIntegerBJ(udg_U_DD_I, GetHandleIdBJ(atkd), 0, udg_U_DD_Temp)
call TriggerRegisterUnitEvent( gg_trg_Damage_Detection_Detect, atkd, EVENT_UNIT_DAMAGED )
endif
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_OPD takes unit dsrc, unit dmged, string ordstr returns nothing
local player plyr
local location tp
local unit d
set plyr = GetOwningPlayer(dsrc)
set tp = GetUnitLoc(dmged)
if IsPlayerAlly(plyr, Player(0)) then
set d = gg_unit_e000_0178
call SetUnitPositionLocFacingBJ( d, tp, 0 )
call IssueImmediateOrderBJ( d, ordstr)
else
set d = gg_unit_e000_0168
call SetUnitPositionLocFacingBJ( d, tp, 0 )
call IssueImmediateOrderBJ( d, ordstr)
endif
set plyr = null
call RemoveLocation(tp)
set tp = null
set d = null
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_GS takes unit dsrc, unit dmged, string ordstr returns nothing
local integer uid
local player plyr
set uid = GetHandleIdBJ(dmged)
set plyr = GetOwningPlayer(dsrc)
if IsPlayerAlly(plyr, Player(0)) then
call IssueTargetOrderBJ( gg_unit_e01T_0474, ordstr, dmged )
else
call IssueTargetOrderBJ( gg_unit_e01T_1230, ordstr, dmged )
endif
set plyr = null
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_remove_attackers_atkd takes nothing returns nothing
local unit atkd
set atkd = GetEnumUnit()
//call U_DD_pr(GetUnitName(atkd)+"?! removed!!!")
call GroupRemoveUnitSimple( udg_U_DD_R_atkr, U_DD_getatkrs(atkd) )
if CountUnitsInGroup(U_DD_getatkrs(atkd))==0 then
//call U_DD_pr(GetUnitName(atkd)+" has no more attackers!!! cleared!!!")
set udg_U_DD_R_atkr = atkd
call ForGroup(U_DD_getatkds(atkd),function U_DD_remove_attackers_atkd)
call DestroyGroup(U_DD_getatkds(atkd))
call DestroyGroup(U_DD_getatkrs(atkd))
call FlushChildHashtableBJ(GetHandleIdBJ(atkd),udg_U_DD_Temp )
endif
set atkd = null
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_remove_attackers_atkr takes unit atkr returns nothing
set udg_U_DD_R_atkr = atkr
call ForGroup(U_DD_getatkds(atkr),function U_DD_remove_attackers_atkd)
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_removefromsystem takes unit u returns nothing
local integer befa
local integer befb
set befa = GetHandleIdBJ(U_DD_getatkds(u))
set befb = GetHandleIdBJ(U_DD_getatkrs(u))
set udg_U_DD_R_atkr = u
call ForGroup(U_DD_getatkds(u),function U_DD_remove_attackers_atkd)
call DestroyGroup(U_DD_getatkds(u))
call DestroyGroup(U_DD_getatkrs(u))
call FlushChildHashtableBJ(GetHandleIdBJ(u),udg_U_DD_Temp )
//call U_DD_pr(I2S(befb)+"/"+I2S(GetHandleIdBJ(U_DD_getatkds(u)))+"/"+I2S(befb)+"/"+I2S(GetHandleIdBJ(U_DD_getatkrs(u)))+GetUnitName(u)+" removed from system!!!")
endfunction
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣
//麣鼶爨矲韠龖龘纛灪麤 SHARED FUNCTIONS 麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 REBUILD 韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖
function U_DD_on_damage takes nothing returns nothing
local unit dsrc
local unit dmged
local location dmgedp
local integer dsrctid
local real dmg
set dsrc = GetEventDamageSource()
set dmged = GetTriggerUnit()
set dmgedp = GetUnitLoc(dmged)
set dsrctid = GetUnitTypeId(dsrc)
set dmg = GetEventDamage()
if GetUnitAbilityLevelSwapped('A04E', dsrc) > 0 and dmg > 100 then
call U_DD_GS(dsrc, dmged,"frostnova")
endif
if dmg > 50 and U_DD_RE_conds(1,dsrc,dmged,true) then
if udg_Cam_Shakiness + 4 < 8.5 then
set udg_Cam_Shakiness = udg_Cam_Shakiness + 4
else
set udg_Cam_Shakiness = 8.5
endif
call CameraSetEQNoiseForPlayer( Player(0), udg_Cam_Shakiness )
//call U_DD_OPD(dsrc, dmged, "stomp")
call U_DD_se(dmgedp, 2, "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl")
call U_DD_dmgar (dsrc, dmged, 250, 50, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL)
endif
set dsrc = null
set dmged = null
call RemoveLocation(dmgedp)
set dmgedp = null
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_R_grpxtion takes nothing returns nothing
local unit atkd
local unit atkr
local integer ord
set atkd = GetEnumUnit()
set atkr = LoadUnitHandleBJ(1, GetHandleIdBJ(atkd), udg_U_DD_Temp)
set ord = GetUnitCurrentOrder(atkr)
if CountUnitsInGroup(U_DD_getatkrs(atkd)) == 0 or IsUnitDeadBJ(atkd)then
//call U_DD_pr("no related attackers left - " +GetUnitName(atkd))
call GroupRemoveUnitSimple( atkd, udg_U_DD_Registered )
else
//call U_DD_pr("\"" +I2S(CountUnitsInGroup(U_DD_getatkrs(atkd)))+ "\"" + "followed up - " +GetUnitName(atkd))
call TriggerRegisterUnitEvent( gg_trg_Damage_Detection_Detect, atkd, EVENT_UNIT_DAMAGED )
endif
set atkd = null
set atkr = null
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_on_iteration takes nothing returns nothing
set udg_U_DD_I = udg_U_DD_I + 1
call DestroyTrigger(gg_trg_Damage_Detection_Detect)
set gg_trg_Damage_Detection_Detect = CreateTrigger( )
call ForGroup(udg_U_DD_Registered, function U_DD_R_grpxtion)
call TriggerAddAction( gg_trg_Damage_Detection_Detect, function U_DD_on_damage )
endfunction
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 REBUILD 韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 ANY UNIT GETS ATTACKED 鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪
function U_DD_AUGA takes nothing returns nothing
local unit atkd
local unit atkr
local location atkdloc
local location atkrloc
local integer atkrcurord
set atkd = GetAttackedUnitBJ()
set atkr = GetAttacker()
set atkrcurord = GetUnitCurrentOrder(atkr)
call PauseUnitBJ( false, atkd )
if U_DD_RE_conds(1,atkr,atkd,false)then
set atkd = null
set atkr = null
set atkrloc = null
set atkdloc = null
return
endif
set atkdloc = GetUnitLoc(atkd)
set atkrloc = GetUnitLoc(atkr)
if atkrcurord == String2OrderIdBJ("attack") or atkrcurord == String2OrderIdBJ("") then
call U_DD_add(atkr,atkd,false)
endif
set atkd = null
set atkr = null
call RemoveLocation(atkrloc)
set atkrloc = null
call RemoveLocation(atkdloc)
set atkdloc = null
endfunction
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨韠龖龘纛灪麤彠麣鼶爨矲龖龘纛灪麤彠
//麣鼶爨矲韠龖龘纛灪麤 ANY UNIT GETS ATTACKED 鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲矲
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 ANY UNIT DIES 鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠鼶爨鼶爨
//麣鼶爨矲韠龖龘纛灪麤 鼶爨鼶爨鼶爨麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠纛灪
function U_DD_AUD takes nothing returns nothing
local unit d
local unit k
local integer dtid
local integer ktid
local integer did
local integer kid
set d = GetDyingUnit()
set k = GetKillingUnit()
set dtid = GetUnitTypeId(d)
set ktid = GetUnitTypeId(k)
set did = GetHandleIdBJ(d)
set kid = GetHandleIdBJ(k)
call U_DD_removefromsystem(d)
set d = null
set k = null
endfunction
//麣鼶爨矲韠龖龘纛灪麤 鼶鼶鼶鼶麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨韠龖龘纛灪麤彠麣鼶爨矲龖龘纛灪麤彠
//麣鼶爨矲韠龖龘纛灪麤 ANY UNIT DIES 鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠鼶爨鼶爨
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲矲
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 ANY UNIT MOVES 鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠矲韠矲韠
//麣鼶爨矲韠龖龘纛灪麤 矲韠矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪
function U_DD_AUM takes nothing returns nothing
local unit atkr
local string ord
set atkr= GetTriggerUnit()
set ord = OrderId2StringBJ(GetIssuedOrderIdBJ())
//if 1==1then
if ord == "move" or ord =="AImove" then
call U_DD_remove_attackers_atkr(atkr)
endif
set atkr = null
endfunction
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨韠龖龘纛灪麤彠麣鼶爨矲龖龘纛灪麤彠
//麣鼶爨矲韠龖龘纛灪麤 ANY UNIT MOVES 鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠矲韠矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲矲
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 REGISTER 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠
function U_DD_checkbyt takes integer utid, integer tid, integer samplerange returns boolean
if utid == tid then
set udg_U_DD_R_CondsMet = true
set udg_U_DD_SampleRange = samplerange
return true
else
return false
endif
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_check takes boolean cond,boolean bool returns boolean
if cond then
set udg_U_DD_R_CondsMet = bool
return bool
else
return not(bool)
endif
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_register_attacker takes nothing returns nothing
local unit u
set u = GetEnumUnit()
call TriggerRegisterUnitEvent( gg_trg_Damage_Detection_Detect, u, EVENT_UNIT_DAMAGED )
set u = null
endfunction
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
//龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
// 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖 龖
function U_DD_R takes nothing returns nothing
local unit atkd
local unit atkr
local integer atkrtid
local location atkrp
local group nearby
local string ord
set atkr = GetTriggerUnit()
if atkr==null then//INIT
call TriggerAddAction( gg_trg_Unit_Gets_Attacked, function U_DD_AUGA )
call TriggerRegisterTimerEventPeriodic(gg_trg_Damage_Detection_Rebuild, 2.5 )
call TriggerAddAction( gg_trg_Damage_Detection_Rebuild, function U_DD_on_iteration)
call TriggerAddAction( gg_trg_Unit_Sends_Order_To_Point, function U_DD_AUM)
call TriggerAddAction( gg_trg_Unit_Dies, function U_DD_AUD)
endif
set atkd = GetOrderTargetUnit()
set ord = OrderId2StringBJ(GetIssuedOrderIdBJ())
set udg_U_DD_R_CondsMet = false
if atkd == null then//spell cast NOT IN USE CURRENTLY
set udg_U_DD_R_atkr = atkr
call U_DD_remove_attackers_atkr(atkr)
set atkrtid = GetUnitTypeId(atkr)
if LoadIntegerBJ(GetHandleIdBJ(atkr), 0, udg_U_DD_Temp) == udg_U_DD_I then
set atkd = null
set atkr = null
call RemoveLocation(atkrp)
set atkrp = null
call DestroyGroup(nearby)
set nearby = null
return
else
call SaveIntegerBJ(udg_U_DD_I, GetHandleIdBJ(atkr), 0, udg_U_DD_Temp)
endif
call U_DD_check(GetUnitName(atkr)=="Dummy", false)
call U_DD_checkbyt(atkrtid, 'u006',1500)
call U_DD_checkbyt(atkrtid, 'N009', 1500)
if udg_U_DD_R_CondsMet then
call TriggerRegisterUnitEvent( gg_trg_Damage_Detection_Detect, atkr, EVENT_UNIT_DAMAGED )
set atkrp = GetUnitLoc(atkr)
set nearby = GetUnitsInRangeOfLocAll(udg_U_DD_SampleRange,atkrp)
call ForGroup(nearby, function U_DD_register_attacker)
endif
elseif ord == "smart" or ord == "attack" then//physical attack
if U_DD_RE_conds(1,atkr,atkd,true) then
call U_DD_add(atkr,atkd,true)
endif
endif
set atkd = null
set atkr = null
call RemoveLocation(atkrp)
set atkrp = null
call DestroyGroup(nearby)
set nearby = null
endfunction
//麣鼶爨矲韠龖龘纛灪麤 麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤 REGISTER 龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
//麣鼶爨矲韠龖龘纛灪麤麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠麣鼶爨矲韠龖龘纛灪麤彠麣鼶爨矲韠灪麤麣鼶爨矲韠
function InitTrig_Damage_Detection takes nothing returns nothing
set gg_trg_Damage_Detection = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Damage_Detection, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Damage_Detection, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddAction( gg_trg_Damage_Detection, function U_DD_R )
endfunction
Last edited: