function CancelBuild takes nothing returns nothing
if IsUnitSelected(GetEnumUnit(), Player(udg_i)) == true and UnitHasBuffBJ(GetEnumUnit(), 'BUfa') == true then //'BUfa' = Frost Armor Buff
call ForceUICancelBJ( Player(udg_i) )
call DisplayTimedTextToPlayer(Player(udg_i), 0, 0, 60, "This worker cannot build")
else
endif
endfunction
function BuildActions takes nothing returns nothing
set udg_i = 0
set udg_t = GetTriggeringTrigger()
loop
exitwhen udg_i>11
if udg_t == udg_BuildTrigger[udg_i] then
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsOfPlayerAndTypeId(Player(udg_i), 'hpea'), function CancelBuild) //'hpea' = Peasant
return
endif
set udg_i = udg_i + 1
endloop
endfunction
function InitTrig_Prevent_Build takes nothing returns nothing
local integer i = 0
loop
exitwhen i>11
set udg_BuildTrigger[i] = CreateTrigger()
call TriggerAddAction(udg_BuildTrigger[i], function BuildActions)
if GetLocalPlayer() == Player(i) then
call TriggerRegisterGameEvent(udg_BuildTrigger[i], EVENT_GAME_BUILD_SUBMENU)
endif
set i = i + 1
endloop
endfunction