loadfile(GetDataPath() .. "Scripts/Locale.lua")() local hhs = {} local missionWon = nil local endTimer = 1000 local hogsKilled = 0 local HogData = { {"Bufon", "ShaggyYeti",false}, {"burp", "lambda",false}, {"Blue", "cap_blue",false}, {"bender", "NoHat",false}, {"Castell", "NoHat",false}, {"cekoto", "NoHat",false}, {"CheezeMonkey", "NoHat",false}, {"claymore", "NoHat",false}, {"CIA-144", "cyborg1",false}, {"doomy ", "NoHat",false}, {"Falkenauge", "NoHat",false}, {"FadeOne", "NoHat",false}, {"hayaa", "NoHat",false}, {"Hermes", "laurel",false}, {"HedgeKing", "NoHat",false}, {"Izack1535", "NoHat",false}, {"Kiofspa", "NoHat",false}, {"Komplex", "NoHat",false}, {"koda", "poke_mudkip",false}, {"Lalo", "NoHat",false}, {"Logan", "NoHat",false}, {"lollkiller", "NoHat",false}, {"Luelle", "NoHat",false}, {"mikade", "Skull",false}, {"Mushi", "sm_daisy",false}, {"Naboo", "NoHat",false}, {"nemo", "bb_bub",false}, {"practice", "NoHat",false}, {"Prof. Panic", "NoHat",false}, {"Randy", "zoo_Sheep",false}, {"rhino", "NinjaTriangle",false}, {"Radissthor", "NoHat",false}, {"Sami", "sm_peach",false}, {"soreau", "NoHat",false}, {"sdw195", "NoHat",false}, {"sphrix", "TeamTopHat",false}, {"sheepluva", "zoo_Sheep",false}, {"Smaxx", "NoHat",false}, {"shadowzero", "NoHat",false}, {"Star and Moon", "SparkleSuperFun",false}, {"The 24", "NoHat",false}, {"TLD", "NoHat",false}, {"Tiyuri", "sf_ryu",false}, {"unC0Rr", "cyborg1",false}, {"Waldsau", "cyborg1",false}, {"wolfmarc", "knight",false}, {"Xeli", "android",false} } function GenericEnd() ParseCommand("teamgone " .. loc("Wannabe Shoppsta")) ParseCommand("teamgone " .. loc("Unsuspecting Louts")) ParseCommand("teamgone " .. loc("Unlucky Sods")) end function GameOverMan() missionWon = false ShowMission(loc("ROPE-KNOCKING"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0) PlaySound(sndHellish) end function GG() missionWon = true ShowMission(loc("ROPE-KNOCKING"), loc("MISSION SUCCESS"), loc("Congratulations!") .. "|" .. loc("COMPLETION TIME") .. ": " .. (TurnTime - TurnTimeLeft) / 1000, 0, 0) PlaySound(sndHomerun) end function AssignCharacter(p) done = false sanityCheck = 0 while(done == false) do i = 1+ GetRandom(#HogData) if HogData[i][3] == false then HogData[i][3] = true done = true SetHogName(hhs[p], HogData[i][1]) SetHogHat(hhs[p], HogData[i][2]) elseif HogData[i][3] == true then sanityCheck = sanityCheck +1 if sanityCheck == 100 then done = true SetHogName(hhs[p], "Newbie") SetHogHat(hhs[p], "NoHat") end end end end function onGameInit() --Seed = 1 GameFlags = gfBorder + gfSolidLand TurnTime = 180 * 1000 Delay = 500 Map = "Ropes" Theme = "Eyes" CaseFreq = 0 MinesNum = 0 Explosives = 0 AddTeam(loc("Wannabe Shoppsta"), 1175851, "Simple", "Island", "Default", "Hedgewars") hhs[0] = AddHog(loc("Ace"), 0, 1, "Gasmask") SetGearPosition(player, 1380, 1500) AddTeam(loc("Unsuspecting Louts"), 14483456, "Simple", "Island", "Default", "Hedgewars") for i = 1, 8 do hhs[i] = AddHog("generic", 0, 1, "NoHat") end AddTeam(loc("Unlucky Sods"), 14483456, "Simple", "Island", "Default", "Hedgewars") for i = 9, 16 do hhs[i] = AddHog("generic", 0, 1, "NoHat") end end function onGameStart() ShowMission ( loc("ROPE-KNOCKING"), loc("a Hedgewars challenge"), loc("Use the rope to knock your enemies to their doom.") .. "|" .. "", -amRope, 4000 ) SetGearPosition(hhs[0], 2419, 1769) SetGearPosition(hhs[1], 3350, 570) SetGearPosition(hhs[2], 3039, 1300) SetGearPosition(hhs[3], 2909, 430) SetGearPosition(hhs[4], 2150, 879) SetGearPosition(hhs[5], 1735, 1136) SetGearPosition(hhs[6], 1563, 553) SetGearPosition(hhs[7], 679, 859) SetGearPosition(hhs[8], 1034, 251) SetGearPosition(hhs[9], 255, 67) SetGearPosition(hhs[10], 2671, 7) SetGearPosition(hhs[11], 2929, 244) SetGearPosition(hhs[12], 1946, 221) SetGearPosition(hhs[13], 3849, 1067) SetGearPosition(hhs[14], 3360, 659) SetGearPosition(hhs[15], 3885, 285) SetGearPosition(hhs[16], 935, 1160) for i = 1, 16 do AssignCharacter(i) end end function onGameTick() if (TurnTimeLeft == 1) and (missionWon == nil) then GameOverMan() end if missionWon ~= nil then endTimer = endTimer - 1 if endTimer == 1 then GenericEnd() end if missionWon == true then AddCaption(loc("GG!"), 0xffba00ff,capgrpGameState) else AddCaption(loc("Ouch!"), 0xffba00ff,capgrpGameState) end end end function onGearDamage(gear, damage) if gear ~= hhs[0] then AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false) DeleteGear(gear) PlaySound(sndExplosion) hogsKilled = hogsKilled +1 if hogsKilled == 15 then PlaySound(sndRideOfTheValkyries) elseif hogsKilled == 16 then GG() end end end function onGearDelete(gear) if (gear == hhs[0]) and (missionWon == nil) then GameOverMan() end end function onAmmoStoreInit() SetAmmo(amRope, 9, 0, 0, 0) end