- Joined
- Feb 28, 2007
- Messages
- 3,479
JASS:
function GruntFilter takes nothing returns boolean
return GetUnitTypeId(GetFilterUnit()) == 'o60D' and not IsUnitType(GetFilterUnit(),UNIT_TYPE_DEAD)
endfunction
function FarmsFilter takes nothing returns boolean
return GetUnitTypeId(GetFilterUnit()) == 'o607' and not IsUnitType(GetFilterUnit(),UNIT_TYPE_DEAD)
endfunction
function BarracksFilter takes nothing returns boolean
return GetUnitTypeId(GetFilterUnit()) == 'o60A' and not IsUnitType(GetFilterUnit(),UNIT_TYPE_DEAD)
endfunction
function QuestBaseFinished takes nothing returns nothing
call QuestSetCompleted(udg_QuestBase,true)
endfunction
function QuestBaseActions takes nothing returns nothing
local boolean BaseGrunts
local boolean BaseFarms
local boolean BaseBarracks
call GroupEnumUnitsOfPlayer(udg_enumGrpGrunts,Player(0),Filter(function GruntFilter))
call GroupEnumUnitsOfPlayer(udg_enumGrpFarms,Player(0),Filter(function FarmsFilter))
call GroupEnumUnitsOfPlayer(udg_enumGrpBarracks,Player(0),Filter(function BarracksFilter))
if (not IsQuestItemCompleted(udg_QuestBaseGrunts)) then
if CountUnitsInGroup(udg_enumGrpGrunts) == 3 then
set BaseGrunts = true
call QuestItemSetCompleted(udg_QuestBaseGrunts,true)
if (BaseFarms == true and BaseBarracks == true) then
call BJDebugMsg("Test")
call QuestBaseFinished()
else
call BJDebugMsg("Fail")
endif
endif
endif
if (not IsQuestItemCompleted(udg_QuestBaseFarms)) then
if CountUnitsInGroup(udg_enumGrpFarms) == 2 then
set BaseFarms = true
call QuestItemSetCompleted(udg_QuestBaseFarms,true)
endif
endif
if (not IsQuestItemCompleted(udg_QuestBaseBarracks)) then
if CountUnitsInGroup(udg_enumGrpBarracks) == 1 then
set BaseBarracks = true
call QuestItemSetCompleted(udg_QuestBaseBarracks,true)
endif
endif
endfunction
function InitTrig_QuestBaseComplete takes nothing returns nothing
set gg_trg_QuestBaseComplete = CreateTrigger()
call TriggerRegisterPlayerUnitEvent(gg_trg_QuestBaseComplete,Player(0),EVENT_PLAYER_UNIT_CONSTRUCT_FINISH,null)
call TriggerRegisterPlayerUnitEvent(gg_trg_QuestBaseComplete, Player(0),EVENT_PLAYER_UNIT_TRAIN_FINISH,null)
call TriggerAddAction(gg_trg_QuestBaseComplete, function QuestBaseActions )
endfunction
The problem is that this part never runs:
JASS:
if (BaseFarms == true and BaseBarracks == true) then
call BJDebugMsg("Test")
call QuestBaseFinished()
else
call BJDebugMsg("Fail")
endif
I have no clue to as what the problem could be, so any help would be welcome.