96 hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1") |
96 hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1") |
97 AnimSetGearPosition(hero.gear, hero.x, hero.y) |
97 AnimSetGearPosition(hero.gear, hero.x, hero.y) |
98 HogTurnLeft(hero.gear, true) |
98 HogTurnLeft(hero.gear, true) |
99 -- Green Bananas |
99 -- Green Bananas |
100 AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
100 AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
101 green1.gear = AddHog(green1.name, 0, 100, "war_desertgrenadier1") |
101 green1.gear = AddHog(green1.name, 1, 100, "war_desertgrenadier1") |
102 AnimSetGearPosition(green1.gear, green1.x, green1.y) |
102 AnimSetGearPosition(green1.gear, green1.x, green1.y) |
103 green2.gear = AddHog(green2.name, 0, 100, "war_desertgrenadier1") |
103 green2.gear = AddHog(green2.name, 0, 100, "war_desertgrenadier1") |
104 AnimSetGearPosition(green2.gear, green2.x, green2.y) |
104 AnimSetGearPosition(green2.gear, green2.x, green2.y) |
105 HogTurnLeft(green2.gear, true) |
105 HogTurnLeft(green2.gear, true) |
106 green3.gear = AddHog(green3.name, 0, 100, "war_desertgrenadier1") |
106 green3.gear = AddHog(green3.name, 0, 100, "war_desertgrenadier1") |
168 AddAnim(dialog01) |
168 AddAnim(dialog01) |
169 SendHealthStatsOff() |
169 SendHealthStatsOff() |
170 end |
170 end |
171 |
171 |
172 function onNewTurn() |
172 function onNewTurn() |
173 if CurrentHedgehog == green1.gear then |
173 if chooseToBattle then |
174 TotalRounds = TotalRounds - 2 |
174 if CurrentHedgehog == green1.gear then |
175 SwitchHog(previousHog) |
175 TotalRounds = TotalRounds - 2 |
176 TurnTimeLeft = 0 |
176 SwitchHog(previousHog) |
177 end |
177 TurnTimeLeft = 0 |
178 previousHog = CurrentHedghog |
178 end |
|
179 previousHog = CurrentHedghog |
|
180 end |
179 getNextWave() |
181 getNextWave() |
180 end |
182 end |
181 |
183 |
182 function onGameTick() |
184 function onGameTick() |
183 AnimUnWait() |
185 AnimUnWait() |
258 end |
260 end |
259 return win |
261 return win |
260 end |
262 end |
261 |
263 |
262 function onEscapeWin(gear) |
264 function onEscapeWin(gear) |
|
265 local escape = false |
263 if not hero.dead and GetX(hero.gear) < 170 and GetY(hero.gear) > 1980 and StoppedGear(hero.gear) then |
266 if not hero.dead and GetX(hero.gear) < 170 and GetY(hero.gear) > 1980 and StoppedGear(hero.gear) then |
264 return true |
267 escape = true |
265 end |
268 local yellowTeam = { yellow1, unpack(yellowArmy) } |
266 return false |
269 for i=1,8 do |
|
270 if not yellowTeam[i].hidden and GetHealth(yellowTeam[i].gear) and GetX(yellowTeam[i].gear) < 170 then |
|
271 escape = false |
|
272 break |
|
273 end |
|
274 end |
|
275 end |
|
276 return escape |
267 end |
277 end |
268 |
278 |
269 function onHeroSelect(gear) |
279 function onHeroSelect(gear) |
270 if GetX(hero.gear) ~= hero.x then |
280 if GetX(hero.gear) ~= hero.x then |
271 return true |
281 return true |
301 AddEvent(onGreen1Death, {green1.gear}, green1Death, {green1.gear}, 0) |
311 AddEvent(onGreen1Death, {green1.gear}, green1Death, {green1.gear}, 0) |
302 AddEvent(onBattleWin, {hero.gear}, battleWin, {hero.gear}, 0) |
312 AddEvent(onBattleWin, {hero.gear}, battleWin, {hero.gear}, 0) |
303 AddAnim(dialog02) |
313 AddAnim(dialog02) |
304 elseif GetX(hero.gear) > hero.x then |
314 elseif GetX(hero.gear) > hero.x then |
305 HogTurnLeft(hero.gear, true) |
315 HogTurnLeft(hero.gear, true) |
|
316 AddAmmo(green1.gear, amSwitch, 100) |
306 AddEvent(onEscapeWin, {hero.gear}, escapeWin, {hero.gear}, 0) |
317 AddEvent(onEscapeWin, {hero.gear}, escapeWin, {hero.gear}, 0) |
307 local greenTeam = { green2, green3, green4 } |
318 local greenTeam = { green2, green3, green4 } |
308 for i=1,3 do |
319 for i=1,3 do |
309 SetHogLevel(greenTeam[i].gear, 1) |
320 SetHogLevel(greenTeam[i].gear, 1) |
310 end |
321 end |
383 end |
394 end |
384 |
395 |
385 function getNextWave() |
396 function getNextWave() |
386 if TotalRounds == 4 then |
397 if TotalRounds == 4 then |
387 RestoreHog(yellowArmy[3].gear) |
398 RestoreHog(yellowArmy[3].gear) |
388 AnimCaption(hero.gear, loc("Next wave in 3 turns"), 5000) |
399 AnimCaption(hero.gear, loc("Next wave in 3 turns"), 5000) |
|
400 if not chooseToBattle and not GetHealth(yellow1.gear) then |
|
401 SetGearPosition(yellowArmy[3].gear, yellow1.x, yellow1.y) |
|
402 end |
389 elseif TotalRounds == 7 then |
403 elseif TotalRounds == 7 then |
390 RestoreHog(yellowArmy[4].gear) |
404 RestoreHog(yellowArmy[4].gear) |
391 RestoreHog(yellowArmy[5].gear) |
405 RestoreHog(yellowArmy[5].gear) |
392 AnimCaption(hero.gear, loc("Last wave in 3 turns"), 5000) |
406 AnimCaption(hero.gear, loc("Last wave in 3 turns"), 5000) |
|
407 if not chooseToBattle and not GetHealth(yellow1.gear) and not GetHealth(yellowArmy[3].gear) then |
|
408 SetGearPosition(yellowArmy[4].gear, yellow1.x, yellow1.y) |
|
409 end |
393 elseif TotalRounds == 10 then |
410 elseif TotalRounds == 10 then |
394 RestoreHog(yellowArmy[6].gear) |
411 RestoreHog(yellowArmy[6].gear) |
395 RestoreHog(yellowArmy[7].gear) |
412 RestoreHog(yellowArmy[7].gear) |
396 end |
413 if not chooseToBattle and not GetHealth(yellow1.gear) and not GetHealth(yellowArmy[3].gear) |
397 end |
414 and not GetHealth(yellowArmy[4].gear) then |
|
415 SetGearPosition(yellowArmy[6].gear, yellow1.x, yellow1.y) |
|
416 end |
|
417 end |
|
418 end |