loadfile(GetDataPath() .. "Scripts/Locale.lua")() local player local hh = {} local hhCount = 8 local GameOver = false local introStage = 0 local genCounter = 0 local waterCounter = 0 local waterPix = 0 -- allow skipping of the intro via hitting precise key function onPrecise() if introStage < 100 then introStage = 110 genCounter = 0 FollowGear(CurrentHedgehog) AddCaption(loc("Good luck out there!")) ShowMission(loc("That Sinking Feeling"), loc("User Challenge"), loc("Save as many hapless hogs as possible!"), 4, 0) end end function onGameInit() Seed = 0 GameFlags = gfInfAttack + gfInvulnerable TurnTime = 90000 CaseFreq = 0 MinesNum = 0 MinesTime = 3000 Explosives = 0 Delay = 10 Map = "Islands" Theme = "City" AddTeam(loc("Nameless Heroes"), 14483456, "Simple", "Island", "Default") player = AddHog(loc("The Nameless One"), 0, 1, "NoHat") AddTeam(loc("Hapless Hogs"), 1175851, "Simple", "Island", "Default") hh[0] = AddHog(loc("Sinky"), 1, 100, "lemon") hh[1] = AddHog(loc("Drowner"), 1, 100, "orange") hh[2] = AddHog(loc("Heavy"), 1, 100, "Teapot") hh[3] = AddHog(loc("Clumsy"), 1, 100, "SauceBoatSilver") hh[4] = AddHog(loc("Silly"), 1, 100, "Ladle") hh[5] = AddHog(loc("Careless"), 1, 100, "StrawHatEyes") hh[6] = AddHog(loc("Sponge"), 1, 100, "Chunli") hh[7] = AddHog(loc("Deadweight"), 1, 100, "Teacup") SetGearPosition(player, 3992, 733) SetGearPosition(hh[0], 938, 1369) SetGearPosition(hh[1], 1301, 1439) SetGearPosition(hh[2], 2093, 447) SetGearPosition(hh[3], 2971, 926) SetGearPosition(hh[4], 719, 545) SetGearPosition(hh[5], 1630, 821) SetGearPosition(hh[6], 2191, 810) SetGearPosition(hh[7], 3799, 945) end function onGameStart() ShowMission(loc("That Sinking Feeling"), loc("User Challenge"), loc("Save as many hapless hogs as possible!"), 4, 1) HogTurnLeft(hh[0], false) HogTurnLeft(hh[1], true) SpawnUtilityCrate(148,265,amLowGravity) SpawnUtilityCrate(2124,1516,amJetpack) end function onNewTurn() TurnTimeLeft = -1 end function onGameTick() -- intro sequence if introStage < 100 then AddCaption(loc("Press [Precise] to skip intro")) genCounter = genCounter + 1 if introStage == 0 then FollowGear(hh[0]) if genCounter == 2000 then HogSay(hh[0], loc("This rain is really something..."), SAY_SAY,2) elseif genCounter == 5000 then introStage = 1 genCounter = 0 end elseif introStage == 1 then FollowGear(hh[1]) if genCounter == 2000 then HogSay(hh[1], loc("Heh, it's not that bad."), SAY_SAY,2) elseif genCounter == 5000 then introStage = 2 genCounter = 0 end elseif introStage == 2 then FollowGear(hh[0]) if genCounter == 2000 then HogSay(hh[0], loc("You'd almost swear the water was rising!"), SAY_SHOUT,2) elseif genCounter == 6000 then introStage = 3 genCounter = 0 end elseif introStage == 3 then FollowGear(hh[1]) if genCounter == 2000 then HogSay(hh[1], loc("Haha, now THAT would be something!"), SAY_SAY,2) elseif genCounter == 6000 then introStage = 4 genCounter = 0 end elseif introStage == 4 then FollowGear(hh[0]) if genCounter == 2000 then HogSay(hh[0], loc("Hahahaha!"), SAY_SHOUT,2) HogSay(hh[1], loc("Hahahaha!"), SAY_SHOUT,2) elseif genCounter == 3000 then introStage = 5 genCounter = 0 end elseif introStage == 5 then FollowGear(hh[1]) if genCounter == 2000 then HogSay(hh[0], loc("..."), SAY_THINK,2) HogSay(hh[1], loc("..."), SAY_THINK,2) elseif genCounter == 5000 then introStage = 6 genCounter = 0 end elseif introStage == 6 then FollowGear(hh[0]) if genCounter == 2000 then HogSay(hh[0], loc("It's a good thing SUDDEN DEATH is 99 turns away..."), SAY_THINK,2) elseif genCounter == 6000 then introStage = 7 genCounter = 0 end elseif introStage == 7 then if genCounter == 2000 then introStage = 110 FollowGear(CurrentHedgehog) ShowMission(loc("That Sinking Feeling"), loc("User Challenge"), loc("Save as many hapless hogs as possible!"), 4, 0) end end end -- start the water rising when the intro is finished if introStage == 110 then waterCounter = waterCounter + 1 if (waterCounter == 100) and (waterPix < 1615) then waterCounter = 0 SetTag(AddGear(0, 0, gtWaterUp, 0, 0, 0, 0), 1) waterPix = waterPix +1 --AddCaption(waterPix) if (waterPix >= 1615) and (GameOver == false) then GameOver = true SetHealth(player, 0) TurnTimeLeft = 1 ShowMission(loc("That Sinking Feeling"), loc("MISSION SUCCESS"), loc("You saved") .. " " .. hhCount .. " " .. loc("Hapless Hogs") .."!", 0, 0) end end end if TurnTimeLeft == 1 then SetHealth(player, 0) end end function onAmmoStoreInit() SetAmmo(amBazooka, 9, 0, 0, 0) SetAmmo(amRope, 9, 0, 0, 0) SetAmmo(amParachute, 9, 0, 0, 0) SetAmmo(amJetpack, 2, 0, 0, 2) SetAmmo(amGirder, 9, 0, 0, 0) SetAmmo(amBaseballBat, 9, 0, 0, 0) SetAmmo(amTeleport, 1, 0, 0, 1) SetAmmo(amPortalGun, 3, 0, 0, 1) SetAmmo(amLowGravity, 0, 0, 0, 1) end function onGearDelete(gear) if GetGearType(gear) == gtHedgehog then if GetHogTeamName(gear) == "Hapless Hogs" then hhCount = hhCount - 1 AddCaption(hhCount .. loc(" Hapless Hogs left!")) end end if ((gear == player) or (hhCount == 0)) and (GameOver == false) then SetHealth(player, 0) TurnTimeLeft = 1 ShowMission(loc("That Sinking Feeling"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0) GameOver = true end end