217 end |
217 end |
218 |
218 |
219 function onNewTurn() |
219 function onNewTurn() |
220 -- round has to start if hero goes near the column |
220 -- round has to start if hero goes near the column |
221 if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then |
221 if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then |
222 WriteLnToConsole("NEW TURN 1") |
|
223 TurnTimeLeft = 0 |
222 TurnTimeLeft = 0 |
224 elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then |
223 elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then |
225 WriteLnToConsole("NEW TURN 2") |
|
226 TurnTimeLeft = -1 |
224 TurnTimeLeft = -1 |
227 elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then |
225 elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then |
228 WriteLnToConsole("NEW TURN 3") |
|
229 AnimSwitchHog(hero.gear) |
226 AnimSwitchHog(hero.gear) |
230 TurnTimeLeft = 0 |
227 TurnTimeLeft = 0 |
231 elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then |
228 elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then |
232 WriteLnToConsole("NEW TURN 4") |
|
233 -- have to check if all next hogs are frozen, then switch to hero |
|
234 if (GetHealth(bandit1.gear) and GetEffect(bandit1.gear,heFrozen) > 256) and |
229 if (GetHealth(bandit1.gear) and GetEffect(bandit1.gear,heFrozen) > 256) and |
235 ((GetHealth(bandit4.gear) and GetEffect(bandit4.gear,heFrozen) > 256) or not GetHealth(bandit4.gear)) and |
230 ((GetHealth(bandit4.gear) and GetEffect(bandit4.gear,heFrozen) > 256) or not GetHealth(bandit4.gear)) and |
236 ((GetHealth(bandit5.gear) and GetEffect(bandit5.gear,heFrozen) > 256) or not GetHealth(bandit5.gear)) then |
231 ((GetHealth(bandit5.gear) and GetEffect(bandit5.gear,heFrozen) > 256) or not GetHealth(bandit5.gear)) then |
237 AnimSwitchHog(hero.gear) |
232 AnimSwitchHog(hero.gear) |
238 else |
233 else |
239 AnimSwitchHog(hero.gear) |
234 AnimSwitchHog(hero.gear) |
240 TurnTimeLeft = 0 |
235 TurnTimeLeft = 0 |
241 end |
236 end |
242 elseif CurrentHedgehog == ally.gear then |
237 elseif CurrentHedgehog == ally.gear then |
243 WriteLnToConsole("NEW TURN 6") |
|
244 TurnTimeLeft = 0 |
238 TurnTimeLeft = 0 |
245 end |
239 end |
246 WriteLnToConsole("THIS IS THE TURN OF THE "..CurrentHedgehog) |
|
247 if heroAtFinalStep then |
|
248 WriteLnToConsole("hero at final step TRUE") |
|
249 else |
|
250 WriteLnToConsole("hero at final step FALSE") |
|
251 end |
|
252 WriteLnToConsole("Turn time left is "..TurnTimeLeft) |
|
253 WriteLnToConsole("BANDIT 1 TO UNFREEZE "..bandit1.roundsToUnfreeze) |
|
254 -- frozen hogs accounting |
240 -- frozen hogs accounting |
255 if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then |
241 if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then |
256 WriteLnToConsole("HEEEEEEEEEEEEEEEREEEEEEEEEEEEEEEEE") |
|
257 if bandit1.frozen then |
242 if bandit1.frozen then |
258 if bandit1.roundsToUnfreeze == 0 then |
243 if bandit1.roundsToUnfreeze == 0 then |
259 SetEffect(bandit1.gear, heFrozen, 255) |
244 SetEffect(bandit1.gear, heFrozen, 255) |
260 bandit1.frozen = false |
245 bandit1.frozen = false |
261 else |
246 else |
276 bandit5.frozen = false |
261 bandit5.frozen = false |
277 else |
262 else |
278 bandit5.roundsToUnfreeze = bandit5.roundsToUnfreeze - 1 |
263 bandit5.roundsToUnfreeze = bandit5.roundsToUnfreeze - 1 |
279 end |
264 end |
280 end |
265 end |
281 else |
266 else |
282 WriteLnToConsole("EEEEEEEEELSSSSSSSEEEEEEEEEEEEEEE") |
|
283 if bandit1.frozen then |
267 if bandit1.frozen then |
284 SetEffect(bandit1.gear, heFrozen, 9999999999) |
268 SetEffect(bandit1.gear, heFrozen, 9999999999) |
285 end |
269 end |
286 if bandit4.frozen then |
270 if bandit4.frozen then |
287 SetEffect(bandit4.gear, heFrozen, 9999999999) |
271 SetEffect(bandit4.gear, heFrozen, 9999999999) |
299 end |
283 end |
300 ExecuteAfterAnimations() |
284 ExecuteAfterAnimations() |
301 CheckEvents() |
285 CheckEvents() |
302 |
286 |
303 if GetEffect(bandit1.gear, heFrozen) > 256 and not bandit1.frozen then |
287 if GetEffect(bandit1.gear, heFrozen) > 256 and not bandit1.frozen then |
304 WriteLnToConsole("IN TICK FROZEN!!!") |
|
305 bandit1.frozen = true |
288 bandit1.frozen = true |
306 SetEffect(bandit1.gear, heFrozen, 9999999999) |
289 SetEffect(bandit1.gear, heFrozen, 9999999999) |
307 bandit1.roundsToUnfreeze = 1 |
290 bandit1.roundsToUnfreeze = 1 |
308 end |
291 end |
309 if GetEffect(bandit4.gear, heFrozen) > 256 and not bandit4.frozen then |
292 if GetEffect(bandit4.gear, heFrozen) > 256 and not bandit4.frozen then |