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