57 ally.y = 1840 |
57 ally.y = 1840 |
58 bandit1.name = "Thanta" |
58 bandit1.name = "Thanta" |
59 bandit1.x = 3240 |
59 bandit1.x = 3240 |
60 bandit1.y = 1280 |
60 bandit1.y = 1280 |
61 bandit1.dead = false |
61 bandit1.dead = false |
|
62 bandit1.frozen = false |
|
63 bandit1.roundsToUnfreeze = 0 |
62 bandit2.name = "Billy Frost" |
64 bandit2.name = "Billy Frost" |
63 bandit2.x = 1480 |
65 bandit2.x = 1480 |
64 bandit2.y = 1990 |
66 bandit2.y = 1990 |
65 bandit3.name = "Ice Jake" |
67 bandit3.name = "Ice Jake" |
66 bandit3.x = 1860 |
68 bandit3.x = 1860 |
67 bandit3.y = 1150 |
69 bandit3.y = 1150 |
68 bandit4.name = "John Snow" |
70 bandit4.name = "John Snow" |
69 bandit4.x = 3200 |
71 bandit4.x = 3200 |
70 bandit4.y = 970 |
72 bandit4.y = 970 |
|
73 bandit4.frozen = false |
|
74 bandit4.roundsToUnfreeze = 0 |
71 bandit5.name = "White Tee" |
75 bandit5.name = "White Tee" |
72 bandit5.x = 3280 |
76 bandit5.x = 3280 |
73 bandit5.y = 600 |
77 bandit5.y = 600 |
|
78 bandit5.frozen = false |
|
79 bandit5.roundsToUnfreeze = 0 |
74 teamA.name = loc("Allies") |
80 teamA.name = loc("Allies") |
75 teamA.color = tonumber("FF0000",16) -- red |
81 teamA.color = tonumber("FF0000",16) -- red |
76 teamB.name = loc("Frozen Bandits") |
82 teamB.name = loc("Frozen Bandits") |
77 teamB.color = tonumber("0033FF",16) -- blues |
83 teamB.color = tonumber("0033FF",16) -- blues |
78 teamC.name = loc("Hog Solo") |
84 teamC.name = loc("Hog Solo") |
101 AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy") |
107 AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy") |
102 ally.gear = AddHog(ally.name, 0, 100, "tophats") |
108 ally.gear = AddHog(ally.name, 0, 100, "tophats") |
103 AnimSetGearPosition(ally.gear, ally.x, ally.y) |
109 AnimSetGearPosition(ally.gear, ally.x, ally.y) |
104 -- Frozen Bandits |
110 -- Frozen Bandits |
105 AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
111 AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") |
106 bandit1.gear = AddHog(bandit1.name, 1, 100, "tophats") |
112 bandit1.gear = AddHog(bandit1.name, 1, 120, "tophats") |
107 AnimSetGearPosition(bandit1.gear, bandit1.x, bandit1.y) |
113 AnimSetGearPosition(bandit1.gear, bandit1.x, bandit1.y) |
108 HogTurnLeft(bandit1.gear, true) |
114 HogTurnLeft(bandit1.gear, true) |
109 bandit2.gear = AddHog(bandit2.name, 1, 100, "tophats") |
115 bandit2.gear = AddHog(bandit2.name, 1, 100, "tophats") |
110 AnimSetGearPosition(bandit2.gear, bandit2.x, bandit2.y) |
116 AnimSetGearPosition(bandit2.gear, bandit2.x, bandit2.y) |
111 bandit3.gear = AddHog(bandit3.name, 1, 100, "tophats") |
117 bandit3.gear = AddHog(bandit3.name, 1, 100, "tophats") |
211 end |
217 end |
212 |
218 |
213 function onNewTurn() |
219 function onNewTurn() |
214 -- round has to start if hero goes near the column |
220 -- round has to start if hero goes near the column |
215 if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then |
221 if not heroVisitedAntiFlyArea and CurrentHedgehog ~= hero.gear then |
|
222 WriteLnToConsole("NEW TURN 1") |
216 TurnTimeLeft = 0 |
223 TurnTimeLeft = 0 |
217 elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then |
224 elseif not heroVisitedAntiFlyArea and CurrentHedgehog == hero.gear then |
|
225 WriteLnToConsole("NEW TURN 2") |
218 TurnTimeLeft = -1 |
226 TurnTimeLeft = -1 |
219 elseif not heroAtFinaleStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then |
227 elseif not heroAtFinalStep and (CurrentHedgehog == bandit1.gear or CurrentHedgehog == bandit4.gear or CurrentHedgehog == bandit5.gear) then |
|
228 WriteLnToConsole("NEW TURN 3") |
220 AnimSwitchHog(hero.gear) |
229 AnimSwitchHog(hero.gear) |
221 TurnTimeLeft = 0 |
230 TurnTimeLeft = 0 |
222 elseif heroAtFinaleStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then |
231 elseif heroAtFinalStep and (CurrentHedgehog == bandit2.gear or CurrentHedgehog == bandit3.gear) then |
223 AnimSwitchHog(hero.gear) |
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 |
|
235 ((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 |
|
237 AnimSwitchHog(hero.gear) |
|
238 else |
|
239 AnimSwitchHog(hero.gear) |
|
240 TurnTimeLeft = 0 |
|
241 end |
|
242 elseif CurrentHedgehog == ally.gear then |
|
243 WriteLnToConsole("NEW TURN 6") |
224 TurnTimeLeft = 0 |
244 TurnTimeLeft = 0 |
225 elseif CurrentHedgehog == ally.gear then |
245 end |
226 TurnTimeLeft = 0 |
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 |
|
255 if CurrentHedgehog == hero.gear and heroAtFinalStep and TurnTimeLeft > 0 then |
|
256 WriteLnToConsole("HEEEEEEEEEEEEEEEREEEEEEEEEEEEEEEEE") |
|
257 if bandit1.frozen then |
|
258 if bandit1.roundsToUnfreeze == 0 then |
|
259 SetEffect(bandit1.gear, heFrozen, 255) |
|
260 bandit1.frozen = false |
|
261 else |
|
262 bandit1.roundsToUnfreeze = bandit1.roundsToUnfreeze - 1 |
|
263 end |
|
264 end |
|
265 if bandit4.frozen then |
|
266 if bandit4.roundsToUnfreeze == 0 then |
|
267 SetEffect(bandit4.gear, heFrozen, 255) |
|
268 bandit4.frozen = false |
|
269 else |
|
270 bandit4.roundsToUnfreeze = bandit4.roundsToUnfreeze - 1 |
|
271 end |
|
272 end |
|
273 if bandit5.frozen then |
|
274 if bandit5.roundsToUnfreeze == 0 then |
|
275 SetEffect(bandit5.gear, heFrozen, 255) |
|
276 bandit5.frozen = false |
|
277 else |
|
278 bandit5.roundsToUnfreeze = bandit5.roundsToUnfreeze - 1 |
|
279 end |
|
280 end |
|
281 else |
|
282 WriteLnToConsole("EEEEEEEEELSSSSSSSEEEEEEEEEEEEEEE") |
|
283 if bandit1.frozen then |
|
284 SetEffect(bandit1.gear, heFrozen, 9999999999) |
|
285 end |
|
286 if bandit4.frozen then |
|
287 SetEffect(bandit4.gear, heFrozen, 9999999999) |
|
288 end |
|
289 if bandit5.frozen then |
|
290 SetEffect(bandit5.gear, heFrozen, 9999999999) |
|
291 end |
227 end |
292 end |
228 end |
293 end |
229 |
294 |
230 function onGameTick() |
295 function onGameTick() |
231 AnimUnWait() |
296 AnimUnWait() |
232 if ShowAnimation() == false then |
297 if ShowAnimation() == false then |
233 return |
298 return |
234 end |
299 end |
235 ExecuteAfterAnimations() |
300 ExecuteAfterAnimations() |
236 CheckEvents() |
301 CheckEvents() |
|
302 |
|
303 if GetEffect(bandit1.gear, heFrozen) > 256 and not bandit1.frozen then |
|
304 WriteLnToConsole("IN TICK FROZEN!!!") |
|
305 bandit1.frozen = true |
|
306 SetEffect(bandit1.gear, heFrozen, 9999999999) |
|
307 bandit1.roundsToUnfreeze = 1 |
|
308 end |
|
309 if GetEffect(bandit4.gear, heFrozen) > 256 and not bandit4.frozen then |
|
310 bandit4.frozen = true |
|
311 SetEffect(bandit4.gear, heFrozen, 9999999999) |
|
312 bandit4.roundsToUnfreeze = 2 |
|
313 end |
|
314 if GetEffect(bandit5.gear, heFrozen) > 256 and not bandit5.frozen then |
|
315 bandit5.frozen = true |
|
316 SetEffect(bandit5.gear, heFrozen, 9999999999) |
|
317 bandit5.roundsToUnfreeze = 2 |
|
318 end |
237 end |
319 end |
238 |
320 |
239 function onAmmoStoreInit() |
321 function onAmmoStoreInit() |
240 SetAmmo(amIceGun, 0, 0, 0, 8) |
322 SetAmmo(amIceGun, 0, 0, 0, 8) |
241 end |
323 end |