--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Rope_Knock_Challenge.lua Sat May 19 17:15:12 2012 +0200
@@ -0,0 +1,221 @@
+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", "NoHat",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