diff -r 8e5140875ab5 -r c9978ada9a3d share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua Mon Jul 01 20:04:32 2013 +0300 @@ -0,0 +1,433 @@ +HedgewarsScriptLoad("/Scripts/Locale.lua") +HedgewarsScriptLoad("/Scripts/Animate.lua") + +-----------------------------Constants--------------------------------- +leaksNum = 1 +denseNum = 2 +waterNum = 3 +buffaloNum = 4 +chiefNum = 5 +girlNum = 6 +wiseNum = 7 +ramonNum = 8 +spikyNum = 9 +princessNum = 10 + +denseScene = 1 +princessScene = 2 +waterScene = 3 +cyborgScene = 4 + +nativeNames = {loc("Leaks A Lot"), loc("Dense Cloud"), loc("Fiery Water"), + loc("Raging Buffalo"), loc("Righteous Beard"), loc("Fell From Grace"), + loc("Wise Oak"), loc("Ramon"), loc("Spiky Cheese"), + loc("Fell From Heaven") + } +nativeHats = {"Rambo", "RobinHood", "pirate_jack", "zoo_Bunny", "IndianChief", + "tiara", "AkuAku", "rasta", "hair_yellow", "tiara"} + +nativePosCyborg = {{1900, 508}, {480, 1321}, {2927, 873}, + {1325, 905}, {3190, 1424}, {1442, 857}, + {1134, 1278}, {2881, 853}, {2974, 897}, + {2033, 511}} +nativeDirCyborg = {"Right", "Right", "Left", "Right", "Right", "Left", "Right", "Right", "Left", "Left"} + +nativePosPrincess = {{1930, 508}, {480, 1321}, {2927, 873}, + {1325, 905}, {3190, 1424}, {2033, 511}, + {1134, 1278}, {2881, 853}, {2974, 897}, + {1900, 508}} +nativeDirPrincess = {"Right", "Right", "Left", "Right", "Right", "Left", "Right", "Right", "Left", "Right"} + +nativePosDense = {{1930, 508}, {2285, 772}, {2927, 873}, + {1325, 905}, {3190, 1424}, {1442, 857}, + {1134, 1278}, {480, 1321}, {2974, 897}, + {2033, 511}} +nativeDirDense = {"Right", "Left", "Left", "Right", "Right", "Left", "Right", "Right", "Left", "Left"} + +nativePosWater = {{1900, 508}, {2033, 511}, {2285, 772}, + {1325, 905}, {3190, 1424}, {1442, 857}, + {1134, 1278}, {480, 1321}, {2974, 897}, + {1980, 511}} +nativeDirWater = {"Right", "Left", "Left", "Right", "Right", "Left", "Right", "Right", "Left", "Left"} + +prisonPos = {2285, 772} + +brainNum = 1 +corpseNum = 2 +brutalNum = 3 +earNum = 4 +hanniNum = 5 + +cannibalNames = {loc("Brainiac"), loc("Corpse Thrower"), loc("Brutal Lily"), loc("Ear Sniffer"), loc("Hannibal")} +cannibalHats = {"Zombi", "AkuAku", "Zombi", "Zombi", "IndianChief"} +cannibalPos = {{533, 1304}, {1184, 1282}, {1386, 883}, {2854, 834}, {3243, 1415}} +cannibalDir = {"Left", "Left", "Left", "Right", "Left"} +-----------------------------Variables--------------------------------- +natives = {} +cannibals = {} +traitor = nil +crate = nil + +startAnim = {} + +gearDead = {} +--------------------------Anim skip functions-------------------------- +function SkipStartAnim() + SetGearMessage(CurrentHedgehog, 0) + AnimSwitchHog(natives[1]) +end + +function AfterStartAnim() + crate = SpawnHealthCrate(0, 0) + SetGearMessage(CurrentHedgehog, 0) + AddNewEvent(CheckCrateTaken, {}, DoCrateTaken, {}, 1) + TurnTimeLeft = 0 + ShowMission("Epilogue", "That's all folks!", "You have successfully finished the campaign!|If you wish to replay, there are other possible endings, too!|You can practice moving around and using utilities in this mission.|However, it will never end!", 1, 0) +end + +---------------------------Events------------------------------------- +function CheckCrateTaken() + return gearDead[crate] +end + +function DoCrateTaken() + crate = SpawnHealthCrate(0, 0) +end +-----------------------------Animations-------------------------------- +function AnimationSetup() + if m8Scene == cyborgScene then + SetupAnimCyborg() + elseif m8Scene == princessScene then + SetupAnimPrincess() + elseif m8Scene == waterScene then + SetupAnimWater() + else + SetupAnimDense() + end + AddSkipFunction(startAnim, SkipStartAnim, {}) +end + +function SetupAnimWater() + startAnim = { + {func = AnimWait, args = {natives[1], 3000}}, + {func = AnimCaption, args = {natives[ramonNum], "Back in the village, the two tribes finally started to live in harmony.", 5000}}, + {func = AnimSay, args = {natives[ramonNum], "You got a killer mask there, amigo!", SAY_SAY, 5500}}, + {func = AnimSay, args = {cannibals[brainNum], "Thanks, man! It really means a lot to me.", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[wiseNum], "So, uhmm, how did you manage to teleport them so far?", SAY_SAY, 8000}}, + {func = AnimSay, args = {cannibals[corpseNum], "It's all about the right carrots, you know.", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[wiseNum], "Of course! It's all obvious now!", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "I can't believe how blind we were...", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "Fighting instead of cultivating a beautiful friendship.", SAY_SAY, 8500}}, + {func = AnimSay, args = {cannibals[hanniNum], "One shall not judge one by one's appearance!", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[chiefNum], "You speak great truth, Hannibal. Here, take a sip!", SAY_SAY, 7500}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimSay, args = {natives[leaksNum], "It's amazing how quickly our lives can change...", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[waterNum], "Aye! Fellow! Let me exit this chamber of doom!", SAY_SAY, 7000}}, + {func = AnimTurn, args = {natives[princessNum], "Right"}}, + {func = AnimSay, args = {natives[princessNum], "It's your fault you're there!", SAY_SAY, 5000}}, + {func = AnimTurn, args = {natives[princessNum], "Left"}}, + {func = AnimSay, args = {natives[leaksNum], "I always suspected him!", SAY_SAY, 3000}}, + {func = AnimSay, args = {natives[leaksNum], "Nobody takes walks every day!", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[princessNum], "I don't know who I can trust anymore.", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[princessNum], "Everywhere I look, I see hogs walking around...", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[princessNum], "...and I think they are up to something. Something bad!", SAY_SAY, 8000}}, + {func = AnimMove, args = {natives[leaksNum], "Right", nativePosWater[princessNum][1] - 30, nativePosWater[princessNum][2]}}, + {func = AnimSay, args = {natives[leaksNum], "You can always trust me! I love you!", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[princessNum], "I know and I'm terribly sorry!", SAY_SAY, 5000}}, + {func = AnimSay, args = {natives[princessNum], "I love Dense Cloud now!", SAY_SAY, 4000}}, + {func = AnimTurn, args = {natives[princessNum], "Right"}}, + {func = AnimMove, args = {natives[denseNum], "Left", nativePosWater[princessNum][1] + 20, nativePosWater[princessNum][2]}}, + {func = AnimSay, args = {natives[denseNum], "Problems, dude? Chillax!", SAY_SAY, 4000}}, + {func = AnimTurn, args = {natives[leaksNum], "Left"}}, + {func = AnimSay, args = {natives[leaksNum], "(T_T)", SAY_SAY, 6000}}, + {func = AnimSwitchHog, args = {natives[leaksNum]}}, + } +end + +function SetupAnimDense() + startAnim = { + {func = AnimWait, args = {natives[1], 3000}}, + {func = AnimCaption, args = {natives[ramonNum], "Back in the village, the two tribes finally started to live in harmony.", 5000}}, + {func = AnimSay, args = {natives[ramonNum], "You got a killer mask there, amigo!", SAY_SAY, 5500}}, + {func = AnimSay, args = {cannibals[brainNum], "Thanks, man! It really means a lot to me.", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[wiseNum], "So, uhmm, how did you manage to teleport them so far?", SAY_SAY, 8000}}, + {func = AnimSay, args = {cannibals[corpseNum], "It's all about the right carrots, you know.", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[wiseNum], "Of course! It's all obvious now!", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "I can't believe how blind we were...", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "Fighting instead of cultivating a beautiful friendship.", SAY_SAY, 8500}}, + {func = AnimSay, args = {cannibals[hanniNum], "One shall not judge one by one's appearance!", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[chiefNum], "You speak great truth, Hannibal. Here, take a sip!", SAY_SAY, 7500}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimSay, args = {natives[waterNum], "...And then I took a stroll...", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[leaksNum], "It's amazing how quickly our lives can change...", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[denseNum], "Dude, let me out!", SAY_SAY, 3000}}, + {func = AnimSay, args = {natives[denseNum], "I already said I'm sorry!", SAY_SAY, 4000}}, + {func = AnimTurn, args = {natives[princessNum], "Right"}}, + {func = AnimSay, args = {natives[princessNum], "Traitors don't get to shout around here!", SAY_SAY, 7000}}, + {func = AnimTurn, args = {natives[princessNum], "Left"}}, + {func = AnimSay, args = {natives[leaksNum], "I still can't believe he sold us out like that.", SAY_SAY, 8000}}, + {func = AnimSay, args = {natives[princessNum], "I don't know who I can trust anymore.", SAY_SAY, 6000}}, + {func = AnimMove, args = {natives[leaksNum], "Right", nativePosDense[princessNum][1] - 30, nativePosDense[princessNum][2]}}, + {func = AnimSay, args = {natives[leaksNum], "You can always trust me!", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[princessNum], "I know, my hero!", SAY_SAY, 3000}}, + {func = AnimSay, args = {natives[princessNum], "...xoxo...", SAY_SAY, 2000}}, + {func = AnimSwitchHog, args = {natives[leaksNum]}}, + } +end + +function SetupAnimCyborg() + startAnim = { + {func = AnimWait, args = {natives[1], 3000}}, + {func = AnimCaption, args = {natives[denseNum], "Back in the village, the two tribes finally started to live in harmony.", 5000}}, + {func = AnimSay, args = {natives[denseNum], "Dude, that outfit is so kool!", SAY_SAY, 4500}}, + {func = AnimSay, args = {cannibals[brainNum], "Thanks, dude! It really means a lot to me.", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[wiseNum], "So, uhmm, how did you manage to teleport them so far?", SAY_SAY, 8000}}, + {func = AnimSay, args = {cannibals[corpseNum], "It's all about the right carrots, you know.", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[wiseNum], "Of course! It's all obvious now!", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "I can't believe how blind we were...", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "Fighting instead of cultivating a beautiful friendship.", SAY_SAY, 8500}}, + {func = AnimSay, args = {cannibals[hanniNum], "One shall not judge one by one's appearance!", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[chiefNum], "You speak great truth, Hannibal. Here, take a sip!", SAY_SAY, 7500}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimSay, args = {natives[waterNum], "...And then I took a stroll...", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[leaksNum], "I'm glad this is over!", SAY_SAY, 4000}}, + {func = AnimMove, args = {natives[princessNum], "Right", nativePosCyborg[princessNum][1] + 30, nativePosCyborg[princessNum][2]}}, + {func = AnimSay, args = {natives[princessNum], "I was so scared.", SAY_SAY, 2500}}, + {func = AnimMove, args = {natives[leaksNum], "Right", nativePosCyborg[princessNum][1], nativePosCyborg[princessNum][2]}}, + {func = AnimSay, args = {natives[leaksNum], "You have nothing to be afraid of now.", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[leaksNum], "I'll protect you!", SAY_SAY, 3000}}, + {func = AnimTurn, args = {natives[princessNum], "Left"}}, + {func = AnimSay, args = {natives[princessNum], "You're so brave...I feel safe with you.", SAY_SAY, 6500}}, + {func = AnimSay, args = {natives[princessNum], "I think I love you!", SAY_SAY, 3500}}, + {func = AnimSay, args = {natives[leaksNum], "I...like being with you too.", SAY_SAY, 4500}}, + } +end + +function SetupAnimPrincess() + startAnim = { + {func = AnimWait, args = {natives[1], 3000}}, + {func = AnimCaption, args = {natives[denseNum], "Back in the village, the two tribes finally started to live in harmony.", 5000}}, + {func = AnimSay, args = {natives[denseNum], "Dude, that outfit is so kool!", SAY_SAY, 4500}}, + {func = AnimSay, args = {cannibals[brainNum], "Thanks, dude! It really means a lot to me.", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[wiseNum], "So, uhmm, how did you manage to teleport them so far?", SAY_SAY, 8000}}, + {func = AnimSay, args = {cannibals[corpseNum], "It's all about the right carrots, you know.", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[wiseNum], "Of course! It's all obvious now!", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "I can't believe how blind we were...", SAY_SAY, 4500}}, + {func = AnimSay, args = {natives[chiefNum], "Fighting instead of cultivating a beautiful friendship.", SAY_SAY, 8500}}, + {func = AnimSay, args = {cannibals[hanniNum], "One shall not judge one by one's appearance!", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[chiefNum], "You speak great truth, Hannibal. Here, take a sip!", SAY_SAY, 7500}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, + {func = AnimWait, args = {natives[1], 1000}}, + {func = AnimSay, args = {natives[buffaloNum], "So I shook my fist in the air!", SAY_SAY, 5000}}, + {func = AnimSay, args = {cannibals[brutalNum], "Well that was an unnecessary act of violence.", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[waterNum], "...And then I took a stroll...", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[leaksNum], "I'm glad this is over!", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[girlNum], "I still can't believe you forgave her!", SAY_SAY, 6000}}, + {func = AnimSay, args = {natives[girlNum], "She endangered the whole tribe!", SAY_SAY, 5000}}, + {func = AnimSay, args = {natives[leaksNum], "It wasn't her fault!", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[leaksNum], "We oppressed her, the only woman in the tribe!", SAY_SAY, 7000}}, + {func = AnimSay, args = {natives[girlNum], "The only woman, huh?", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[girlNum], "Then what am I?", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[leaksNum], "Of course, but you're...special.", SAY_SAY, 5000}}, + {func = AnimSay, args = {natives[girlNum], "Sure!", SAY_SAY, 2000}}, + {func = AnimTurn, args = {natives[leaksNum], "Left"}}, + {func = AnimSay, args = {natives[leaksNum], "We're terribly sorry!", SAY_SAY, 4000}}, + {func = AnimSay, args = {natives[princessNum], "I don't know if I can forget what you've done!", SAY_SAY, 7000}}, + {func = AnimTurn, args = {natives[princessNum], "Left"}}, + {func = AnimMove, args = {natives[princessNum], "Left", nativePosPrincess[princessNum][1] - 10, nativePosPrincess[princessNum][2]}}, + {func = AnimSwitchHog, args = {natives[leaksNum]}} + } +end +-----------------------------Misc-------------------------------------- +function GetVariables() + m8Scene = tonumber(GetCampaignVar("M8Scene")) +end + +function AddHogs() + AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + for i = 1, 5 do + natives[i] = AddHog(nativeNames[i], 0, 100, nativeHats[i]) + end + + AddTeam(loc("More Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + for i = 6, 10 do + natives[i] = AddHog(nativeNames[i], 0, 100, nativeHats[i]) + end + + AddTeam(loc("Cannibals"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + for i = 1, 5 do + cannibals[i] = AddHog(cannibalNames[i], 0, 100, cannibalHats[i]) + end + + if m8Scene == denseScene or m8Scene == waterScene then + AddTeam(loc("Traitors"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + if m8Scene == denseScene then + DeleteGear(natives[2]) + natives[2] = AddHog(nativeNames[2], 0, 100, nativeHats[2]) + else + DeleteGear(natives[3]) + natives[3] = AddHog(nativeNames[3], 0, 100, nativeHats[3]) + end + end + + SetGearPositions() +end + +function SetGearPositions() + if m8Scene == cyborgScene then + for i = 1, 10 do + AnimSetGearPosition(natives[i], unpack(nativePosCyborg[i])) + AnimTurn(natives[i], nativeDirCyborg[i]) + end + elseif m8Scene == waterScene then + for i = 1, 10 do + AnimSetGearPosition(natives[i], unpack(nativePosWater[i])) + AnimTurn(natives[i], nativeDirWater[i]) + end + elseif m8Scene == denseScene then + for i = 1, 10 do + AnimSetGearPosition(natives[i], unpack(nativePosDense[i])) + AnimTurn(natives[i], nativeDirDense[i]) + end + else + for i = 1, 10 do + AnimSetGearPosition(natives[i], unpack(nativePosPrincess[i])) + AnimTurn(natives[i], nativeDirPrincess[i]) + end + end + + for i = 1, 5 do + AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i])) + AnimTurn(cannibals[i], cannibalDir[i]) + end +end + +function SetupPlace() + if m8Scene == denseScene or m8Scene == waterScene then + PlaceGirder(2296, 798, 4) + PlaceGirder(2296, 700, 4) + PlaceGirder(2225, 750, 2) + PlaceGirder(2245, 750, 2) + PlaceGirder(2265, 750, 2) + PlaceGirder(2305, 750, 2) + PlaceGirder(2345, 750, 2) + PlaceGirder(2365, 750, 2) + end + if m8Scene == denseScene then + traitor = natives[denseNum] + elseif m8Scene == waterScene then + traitor = natives[waterNum] + end +end +-----------------------------Main Functions---------------------------- +function onGameInit() + Seed = 1 + GameFlags = gfOneClanMode + TurnTime = 60000 + CaseFreq = 0 + MinesNum = 0 + MinesTime = 3000 + Explosives = 0 + Delay = 10 + Map = "Hogville" + Theme = "Nature" + SuddenDeathTurns = 3000 + + GetVariables() + AddHogs() + AnimInit() +end + +function onGameStart() + SetupPlace() + AnimationSetup() + AddAnim(startAnim) + AddFunction({func = AfterStartAnim, args = {}}) +end + +function onGameTick() + AnimUnWait() + if ShowAnimation() == false then + return + end + ExecuteAfterAnimations() + CheckEvents() +end + +function onGearDelete(gear) + gearDead[gear] = true +end + +function onAmmoStoreInit() + SetAmmo(amAirStrike, 9, 0, 0, 0) + SetAmmo(amBaseballBat, 9, 0, 0, 0) + SetAmmo(amBazooka, 9, 0, 0, 0) + SetAmmo(amBlowTorch, 9, 0, 0, 0) + SetAmmo(amClusterBomb,9, 0, 0, 0) + SetAmmo(amDEagle, 9, 0, 0, 0) + SetAmmo(amDrill, 9, 0, 0, 4) + SetAmmo(amDynamite, 9, 0, 0, 3) + SetAmmo(amFirePunch, 9, 0, 0, 0) + SetAmmo(amFlamethrower, 9, 0, 0, 3) + SetAmmo(amGirder, 9, 0, 0, 0) + SetAmmo(amGrenade, 9, 0, 0, 0) + SetAmmo(amHammer, 9, 0, 0, 0) + SetAmmo(amJetpack, 9, 0, 0, 0) + SetAmmo(amLandGun, 9, 0, 0, 0) + SetAmmo(amLowGravity, 9, 0, 0, 2) + SetAmmo(amMine, 9, 0, 0, 2) + SetAmmo(amMolotov, 9, 0, 0, 3) + SetAmmo(amMortar, 9, 0, 0, 4) + SetAmmo(amNapalm, 9, 0, 0, 4) + SetAmmo(amParachute, 9, 0, 0, 0) + SetAmmo(amPickHammer, 9, 0, 0, 0) + SetAmmo(amPortalGun, 9, 0, 0, 0) + SetAmmo(amRope, 9, 0, 0, 0) + SetAmmo(amRCPlane, 9, 0, 0, 0) + SetAmmo(amSkip, 9, 0, 0, 0) + SetAmmo(amShotgun, 9, 0, 0, 0) + SetAmmo(amSMine, 9, 0, 0, 2) + SetAmmo(amSniperRifle, 9, 0, 0, 0) + SetAmmo(amSnowball, 9, 0, 0, 0) + SetAmmo(amSwitch, 9, 0, 0, 0) + SetAmmo(amTeleport, 9, 0, 0, 0) + SetAmmo(amWatermelon, 9, 0, 0, 0) + SetAmmo(amWhip, 9, 0, 0, 0) +end + +function onNewTurn() + if AnimInProgress() then + TurnTimeLeft = -1 + return + end + if CurrentHedgehog == traitor then + TurnTimeLeft = 0 + else + TurnTimeLeft = -1 + end +end + +function onPrecise() + if GameTime > 2500 then + SetAnimSkip(true) + end +end