Footmen vs Grunts Trigger Question

gjcraig

New Member
Reaction score
2
Ok so im looking at the triggers in my footmen vs grunts map and I notice for each unit you research it has 5 triggers - one original and 4 copies - which makes sense because there are 5 players on each team. BUT, do you really need 5 triggers ? Couldn't you have 1 trigger for the 5 players that use it ?

Heres is an example

The original trigger.

function Trig_Summon_Chimaera_Conditions takes nothing returns boolean
if ( not ( GetResearched() == 'R00H' ) ) then
return false
endif
return true
endfunction

function Trig_Summon_Chimaera_Actions takes nothing returns nothing
call EnableTrigger( gg_trg_Bring_Chimaera )
endfunction

//===========================================================================
function InitTrig_Summon_Chimaera takes nothing returns nothing
set gg_trg_Summon_Chimaera = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_Summon_Chimaera, gg_unit_edob_0024, EVENT_UNIT_RESEARCH_FINISH )
call TriggerAddCondition( gg_trg_Summon_Chimaera, Condition( function Trig_Summon_Chimaera_Conditions ) )
call TriggerAddAction( gg_trg_Summon_Chimaera, function Trig_Summon_Chimaera_Actions )
endfunction


Here is a copy each one has 4 copies.

function Trig_Summon_Chimaera_Copy_Conditions takes nothing returns boolean
if ( not ( GetResearched() == 'R00H' ) ) then
return false
endif
return true
endfunction

function Trig_Summon_Chimaera_Copy_Actions takes nothing returns nothing
call EnableTrigger( gg_trg_Bring_Chimaera_Copy )
endfunction

//===========================================================================
function InitTrig_Summon_Chimaera_Copy takes nothing returns nothing
set gg_trg_Summon_Chimaera_Copy = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_Summon_Chimaera_Copy, gg_unit_edob_0027, EVENT_UNIT_RESEARCH_FINISH )
call TriggerAddCondition( gg_trg_Summon_Chimaera_Copy, Condition( function Trig_Summon_Chimaera_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Summon_Chimaera_Copy, function Trig_Summon_Chimaera_Copy_Actions )
endfunction
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Yeah, sure... It could be this even:
JASS:
function Trig_Summon_Chimaera_Conditions takes nothing returns boolean
return GetResearched() == 'R00H' ) ) then
endfunction

function Trig_Summon_Chimaera_Actions takes nothing returns nothing
call EnableTrigger( gg_trg_Bring_Chimaera )
endfunction

//====================================================================== =====
function InitTrig_Summon_Chimaera takes nothing returns nothing
set gg_trg_Summon_Chimaera = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_Summon_Chimaera, gg_unit_edob_0024, EVENT_UNIT_RESEARCH_FINISH )
call TriggerRegisterUnitEvent( gg_trg_Summon_Chimaera, gg_unit_edob_0027, EVENT_UNIT_RESEARCH_FINISH )
call TriggerAddCondition( gg_trg_Summon_Chimaera, Condition( function Trig_Summon_Chimaera_Conditions ) )
call TriggerAddAction( gg_trg_Summon_Chimaera, function Trig_Summon_Chimaera_Actions )
endfunction
 

gjcraig

New Member
Reaction score
2
re

well, sure... But ptobably not noticably :D

Ok I put it in but there is a bring copy too

function Trig_Bring_Chimaera_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'echm', Player(0), GetRectCenter(gg_rct_Player_1), bj_UNIT_FACING )
endfunction

//===========================================================================
function InitTrig_Bring_Chimaera takes nothing returns nothing
set gg_trg_Bring_Chimaera = CreateTrigger( )
call DisableTrigger( gg_trg_Bring_Chimaera )
call TriggerRegisterTimerEventPeriodic( gg_trg_Bring_Chimaera, 125.00 )
call TriggerAddAction( gg_trg_Bring_Chimaera, function Trig_Bring_Chimaera_Actions )
endfunction

and here is the copy of the bring -

function Trig_Bring_Chimaera_Copy_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'echm', Player(1), GetRectCenter(gg_rct_Player_2), bj_UNIT_FACING )
endfunction

//===========================================================================
function InitTrig_Bring_Chimaera_Copy takes nothing returns nothing
set gg_trg_Bring_Chimaera_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Bring_Chimaera_Copy )
call TriggerRegisterTimerEventPeriodic( gg_trg_Bring_Chimaera_Copy, 125.00 )
call TriggerAddAction( gg_trg_Bring_Chimaera_Copy, function Trig_Bring_Chimaera_Copy_Actions )
endfunction
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Can be this:
JASS:
function Trig_Bring_Chimaera_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'echm', Player(0), GetRectCenter(gg_rct_Player_1), bj_UNIT_FACING )
call CreateNUnitsAtLoc( 1, 'echm', Player(1), GetRectCenter(gg_rct_Player_2), bj_UNIT_FACING )
endfunction

//====================================================================== =====
function InitTrig_Bring_Chimaera takes nothing returns nothing
set gg_trg_Bring_Chimaera = CreateTrigger( )
call DisableTrigger( gg_trg_Bring_Chimaera )
call TriggerRegisterTimerEventPeriodic( gg_trg_Bring_Chimaera, 125.00 )
call TriggerAddAction( gg_trg_Bring_Chimaera, function Trig_Bring_Chimaera_Actions )
endfunction
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Show me plz :D

Note: Just wondering... Why are you disabling the trigger in the "Init" function ??? :S
JASS:
call DisableTrigger( gg_trg_Bring_Chimaera )
 

gjcraig

New Member
Reaction score
2
Show me plz :D

Note: Just wondering... Why are you disabling the trigger in the "Init" function ??? :S
JASS:
call DisableTrigger( gg_trg_Bring_Chimaera )

I don't know. I didn't make this trigger and it was working fine - just trying to make it better. lol

I think the disable is for if the player leaves the game ? Should I just remove that line ?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top