230 |
230 |
231 function onNewTurn() |
231 function onNewTurn() |
232 heroDamageAtCurrentTurn = 0 |
232 heroDamageAtCurrentTurn = 0 |
233 -- round has to start if hero goes near the column |
233 -- round has to start if hero goes near the column |
234 if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then |
234 if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then |
235 TurnTimeLeft = 0 |
235 EndTurn(true) |
236 elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then |
236 elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then |
237 TurnTimeLeft = -1 |
237 TurnTimeLeft = -1 |
238 elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then |
238 elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then |
239 AnimSwitchHog(hero.gear) |
239 AnimSwitchHog(hero.gear) |
240 TurnTimeLeft = 0 |
240 EndTurn(true) |
241 elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then |
241 elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then |
242 if (GetHealth(bandit1.gear) and GetEffect(bandit1.gear,heFrozen) > 256) and |
242 if (GetHealth(bandit1.gear) and GetEffect(bandit1.gear,heFrozen) > 256) and |
243 ((GetHealth(bandit4.gear) and GetEffect(bandit4.gear,heFrozen) > 256) or not GetHealth(bandit4.gear)) and |
243 ((GetHealth(bandit4.gear) and GetEffect(bandit4.gear,heFrozen) > 256) or not GetHealth(bandit4.gear)) and |
244 ((GetHealth(bandit5.gear) and GetEffect(bandit5.gear,heFrozen) > 256) or not GetHealth(bandit5.gear)) then |
244 ((GetHealth(bandit5.gear) and GetEffect(bandit5.gear,heFrozen) > 256) or not GetHealth(bandit5.gear)) then |
245 TurnTimeLeft = 0 |
245 EndTurn(true) |
246 else |
246 else |
247 AnimSwitchHog(hero.gear) |
247 AnimSwitchHog(hero.gear) |
248 TurnTimeLeft = 0 |
248 EndTurn(true) |
249 end |
249 end |
250 elseif CurrentHedgehog == ally.gear then |
250 elseif CurrentHedgehog == ally.gear then |
251 TurnTimeLeft = 0 |
251 EndTurn(true) |
252 end |
252 end |
253 -- frozen hogs accounting |
253 -- frozen hogs accounting |
254 if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then |
254 if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then |
255 if bandit1.frozen then |
255 if bandit1.frozen then |
256 if bandit1.roundsToUnfreeze == 0 then |
256 if bandit1.roundsToUnfreeze == 0 then |
407 -------------- ACTIONS ------------------ |
407 -------------- ACTIONS ------------------ |
408 |
408 |
409 function antiFlyArea(gear) |
409 function antiFlyArea(gear) |
410 heroAtAntiFlyArea = true |
410 heroAtAntiFlyArea = true |
411 if not heroVisitedAntiFlyArea then |
411 if not heroVisitedAntiFlyArea then |
412 TurnTimeLeft = 0 |
412 EndTurn(true) |
413 FollowGear(hero.gear) |
413 FollowGear(hero.gear) |
414 AnimSwitchHog(bandit1.gear) |
414 AnimSwitchHog(bandit1.gear) |
415 FollowGear(hero.gear) |
415 FollowGear(hero.gear) |
416 TurnTimeLeft = 0 |
416 HogSay(hero.gear, loc("My flying saucer stopped working!"), SAY_THINK) |
|
417 EndTurn(true) |
417 end |
418 end |
418 AddAmmo(hero.gear, amJetpack, 0) |
419 AddAmmo(hero.gear, amJetpack, 0) |
419 AddAmmo(hero.gear, amSkip, 100) |
420 AddAmmo(hero.gear, amSkip, 100) |
420 heroVisitedAntiFlyArea = true |
421 heroVisitedAntiFlyArea = true |
421 end |
422 end |