////////////////////////////////////////////////////////////////////////////// // Section common to all game types ////////////////////////////////////////////////////////////////////////////// include common.txt include ffire.txt ////////////////////////////////////////////////////////////////////////////// // King of the hill specific section ////////////////////////////////////////////////////////////////////////////// variable ownHillBonus 10 // 0 = no owner, 1 = green, 2 = tan, 3 = blue, 4 = grey variable hillowner 0 variable oldhillowner 0 // @1 = color, @2 = Capitalized color (e.g. "Green"), @3 is value for hillowner, // @4-6 are other colors macro koth_macro 6 { variable @1onhill 0 // these pairs of variables are used to prevent sarge leaving and returning to the hill within // 1 second and scoring at a double rate variable @1GainsHillCount 0 variable @1KeepsHillCheck 0 pad @1hill 20 @1sarge1 // for colors in game set the markers to be squares on stratmap if startup1 testvar iscoloringame @1 > 0 then setitemflag @1mark1 stratsquare 1, setitemflag @1mark2 stratsquare 1, setitemflag @1mark3 stratsquare 1, setitemflag @1mark4 stratsquare 1, setitemflag @1mark5 stratsquare 1, setitemflag @1mark6 stratsquare 1, setitemflag @1mark7 stratsquare 1, setitemflag @1mark8 stratsquare 1 // check for @1 sarge owning the hill if padon @1hill then setvar @1onhill 1, trigger check@1ownshill if padoff @1hill then setvar @1onhill 0, trigger @1offhill if killed @1sarge1 then setvar @1onhill 0, trigger @1offhill if @1offhill testvar hillowner = @3 then removescoresymbol @1 king, setvar hillowner 0, trigger hillOwnerChanged, trigger check@4ownshill, trigger check@5ownshill, trigger check@6ownshill if check@1ownshill testvar @1onhill = 1 and hillowner = 0 then setvar hillowner @3, trigger hillOwnerChanged, showmessage "@2 is king of the hill", addscoresymbol @1 king, addvar @1GainsHillCount 1, triggerdelay 3000 check@1scoresinitial if check@1scoresinitial then addvar @1KeepsHillCheck 1 if check@1scoresinitial testvar hillowner = @3 then trigger check@1scores if check@1scores testvar hillowner = @3 and @1KeepsHillCheck = @1GainsHillCount then addvar @1score ownHillBonus, playsound "mp_tick.wav" (0,0) 2 3, trigger check@1wins, triggerdelay 3000 check@1scores // update the flags to display the owner of the hill if hillOwnerChanged testvar oldhillowner = @3 then undeploy @1mark1, undeploy @1mark2, undeploy @1mark3, undeploy @1mark4, undeploy @1mark5, undeploy @1mark6, undeploy @1mark7, undeploy @1mark8, setitemflag @1mark1 strategic 0, setitemflag @1mark2 strategic 0, setitemflag @1mark3 strategic 0, setitemflag @1mark4 strategic 0, setitemflag @1mark5 strategic 0, setitemflag @1mark6 strategic 0, setitemflag @1mark7 strategic 0, setitemflag @1mark8 strategic 0, setvar oldhillowner hillowner, trigger showNewHillOwner if showNewHillOwner testvar hillowner = @3 then deploy @1mark1, deploy @1mark2, deploy @1mark3, deploy @1mark4, deploy @1mark5, deploy @1mark6, deploy @1mark7, deploy @1mark8, setitemflag @1mark1 strategic 1, setitemflag @1mark2 strategic 1, setitemflag @1mark3 strategic 1, setitemflag @1mark4 strategic 1, setitemflag @1mark5 strategic 1, setitemflag @1mark6 strategic 1, setitemflag @1mark7 strategic 1, setitemflag @1mark8 strategic 1 } expand koth_macro ( green "Green" 1 tan blue grey ) expand koth_macro ( tan "Tan" 2 blue grey green ) expand koth_macro ( blue "Blue" 3 grey green tan ) expand koth_macro ( grey "Grey" 4 green tan blue ) if hillOwnerChanged testvar oldhillowner = 0 then setvar oldhillowner hillowner, trigger showNewHillOwner // whenever hillowner changes create explosions to make flags appear/dissapper in a // puf of smoke if hillOwnerChanged then createexplosion greenmark1 128 0 green, createexplosion greenmark2 128 0 green, createexplosion greenmark3 128 0 green, createexplosion greenmark4 128 0 green, createexplosion greenmark5 128 0 green, createexplosion greenmark6 128 0 green, createexplosion greenmark7 128 0 green, createexplosion greenmark8 128 0 green // if there is a new hill owner then play one sound if showNewHillOwner testvar hillowner <> 0 then playsound "mp_own.wav" (0,0) 1 2 // if the hill is now empty play a different sound //if showNewHillOwner testvar hillowner = 0 then // playsound "mp_koth2.wav" 0 1