HedgewarsScriptLoad("/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 local frig = 0 local watGear = nil -- 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" SuddenDeathTurns = 1 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, "fr_lemon") hh[1] = AddHog(loc("Drowner"), 1, 100, "fr_orange") hh[2] = AddHog(loc("Heavy"), 1, 100, "dish_Teapot") hh[3] = AddHog(loc("Clumsy"), 1, 100, "dish_SauceBoatSilver") hh[4] = AddHog(loc("Silly"), 1, 100, "dish_Ladle") hh[5] = AddHog(loc("Careless"), 1, 100, "StrawHatEyes") hh[6] = AddHog(loc("Sponge"), 1, 100, "sf_chunli") hh[7] = AddHog(loc("Deadweight"), 1, 100, "dish_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 frig = frig + 1 if frig == 50 then frig = 0 AddCaption(loc("Press [Precise] to skip intro")) if watGear ~= nil then FollowGear(watGear) end end --AddCaption(loc("Press [Precise] to skip intro")) genCounter = genCounter + 1 if introStage == 0 then --FollowGear(hh[0]) if genCounter == 2000 then watGear = hh[0] 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 watGear = hh[1] 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 watGear = hh[0] 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 watGear = hh[1] 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 watGear = hh[0] 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 watGear = hh[1] 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 watGear = hh[0] 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) if hhCount == 8 then AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Lively Lifeguard"),0xffba00ff,capgrpMessage2) end 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