------------------- ABOUT ---------------------- -- -- In the desert planet Hero will have to explore -- the dunes below the surface and find the hidden -- crates. It is told that one crate contains the -- lost part. -- TODO -- maybe use same name in missionName and frontend mission name.. -- in this map I have to track the weapons the player has in checkpoints HedgewarsScriptLoad("/Scripts/Locale.lua") HedgewarsScriptLoad("/Scripts/Animate.lua") ----------------- VARIABLES -------------------- -- globals local campaignName = loc("A Space Adventure") local missionName = loc("Desert planet, lost in sand!") local checkPointReached = 1 -- 1 is normal spawn -- crates local btorch1Y = 60 local btorch1X = 2700 local btorch2Y = 1800 local btorch2X = 1010 local rope1Y = 970 local rope1X = 3200 local rope2Y = 1900 local rope2X = 680 local rope3Y = 1850 local rope3X = 2460 local portalY = 480 local portalX = 1465 local constructY = 1630 local constructX = 3350 -- hogs local hero = {} local ally = {} local smuggler1 = {} local smuggler2 = {} local smuggler3 = {} -- teams local teamA = {} local teamB = {} local teamC = {} -- hedgehogs values hero.name = "Hog Solo" hero.x = 1740 hero.y = 40 hero.dead = false ally.name = "Chief Sandologist" ally.x = 1660 ally.y = 40 smuggler1.name = "Sanndy" smuggler1.x = 320 smuggler1.y = 235 smuggler2.name = "Spike" smuggler2.x = 736 smuggler2.y = 860 smuggler3.name = "Sandstorm" smuggler3.x = 1940 smuggler3.y = 1625 teamA.name = loc("PAotH") teamA.color = tonumber("FF0000",16) -- red teamB.name = loc("Smugglers") teamB.color = tonumber("0033FF",16) -- blues teamC.name = loc("Hog Solo") teamC.color = tonumber("38D61C",16) -- green -------------- LuaAPI EVENT HANDLERS ------------------ function onGameInit() Seed = 1 TurnTime = 25000 CaseFreq = 0 MinesNum = 0 MinesTime = 1 Explosives = 0 Delay = 3 HealthCaseAmount = 30 Map = "desert01_map" Theme = "Desert" -- Hog Solo AddTeam(teamC.name, teamC.color, "Bone", "Island", "HillBilly", "cm_birdy") hero.gear = AddHog(hero.name, 0, 100, "war_desertgrenadier1") AnimSetGearPosition(hero.gear, hero.x, hero.y) HogTurnLeft(hero.gear, true) -- PAotH undercover scientist and chief Sandologist AddTeam(teamA.name, teamA.color, "Bone", "Island", "HillBilly", "cm_birdy") ally.gear = AddHog(ally.name, 0, 100, "war_desertgrenadier1") AnimSetGearPosition(ally.gear, ally.x, ally.y) -- Smugglers AddTeam(teamB.name, teamB.color, "Bone", "Island", "HillBilly", "cm_birdy") smuggler1.gear = AddHog(smuggler1.name, 1, 120, "tophats") AnimSetGearPosition(smuggler1.gear, smuggler1.x, smuggler1.y) smuggler2.gear = AddHog(smuggler2.name, 1, 120, "tophats") AnimSetGearPosition(smuggler2.gear, smuggler2.x, smuggler2.y) smuggler3.gear = AddHog(smuggler3.name, 1, 120, "tophats") AnimSetGearPosition(smuggler3.gear, smuggler3.x, smuggler3.y) --AnimInit() --AnimationSetup() end function onGameStart() --AnimWait(hero.gear, 3000) FollowGear(hero.gear) AddAmmo(hero.gear, amRope, 10) -- spawn crates SpawnAmmoCrate(btorch1X, btorch1Y, amBlowTorch) SpawnAmmoCrate(btorch2X, btorch2Y, amBlowTorch) SpawnAmmoCrate(rope1X, rope1Y, amRope) SpawnAmmoCrate(rope2X, rope2Y, amRope) SpawnAmmoCrate(rope3X, rope3Y, amRope) SpawnAmmoCrate(portalX, portalY, amPortalGun) SpawnAmmoCrate(constructX, constructY, amConstruction) SpawnHealthCrate(3300, 970) -- adding mines - BOOM! AddGear(1280, 460, gtMine, 0, 0, 0, 0) AddGear(270, 460, gtMine, 0, 0, 0, 0) AddGear(3460, 60, gtMine, 0, 0, 0, 0) AddGear(3500, 240, gtMine, 0, 0, 0, 0) AddGear(3410, 670, gtMine, 0, 0, 0, 0) AddGear(3450, 720, gtMine, 0, 0, 0, 0) local x = 800 while x < 1650 do AddGear(x, 900, gtMine, 0, 0, 0, 0) x = x + math.random(8,20) end x = 1890 while x < 2988 do AddGear(x, 760, gtMine, 0, 0, 0, 0) x = x + math.random(8,20) end x = 2480 while x < 3300 do AddGear(x, 1450, gtMine, 0, 0, 0, 0) x = x + math.random(8,20) end end function onAmmoStoreInit() SetAmmo(amBlowTorch, 0, 0, 0, 1) SetAmmo(amRope, 0, 0, 0, 1) SetAmmo(amPortalGun, 0, 0, 0, 1) SetAmmo(amConstruction, 0, 0, 0, 1) end function onGearDelete(gear) if gear == hero.gear then hero.dead = true end end