Code: Select all
local encrypt = API.load("encrypt")
_G["Borderlands"] = encrypt.Data(Data.DATA_WORLD, "Borderlands", true)
local eventu = API.load("eventu")
--medals images
local gold = Graphics.loadImage("../medals/gold-medal.png")
local silver = Graphics.loadImage("../medals/silver-medal.png")
local bronze = Graphics.loadImage("../medals/bronze-medal.png")
--universal layers
local timetrialsmode = Layer(3)
local normalmode = Layer(4)
--time trials selection elements
Borderlands:set("section20", 0)
Borderlands:set("canright", 1)
Borderlands:set("canleft", 0)
local qbox = Graphics.loadImage("../question/qbox.png")
Borderlands:set("drawQboxImg", 0)
local qbox2 = Graphics.loadImage("../question/qbox2.png")
Borderlands:set("drawQbox2Img", 0)
if Borderlands:get("secretcounter") == nil then
--counters
Borderlands:set("secretcounter", 0)
Borderlands:set("coincounter", 0)
Borderlands:set("areacounter", 0)
Borderlands:set("storedpower", 1)
Borderlands:set("jumpcounter", 0)
--area counters
--(only counted the first time the player enters an area)
Borderlands:set("area1", 1)
Borderlands:set("area2", 1)
Borderlands:set("area3", 1)
Borderlands:set("area4", 1)
Borderlands:set("area5", 1)
Borderlands:set("area6", 1)
--world complete counters
--(w1 - w5 triggered on boss death; w6 triggered on last level completed)
Borderlands:set("w1", 1)
Borderlands:set("w2", 1)
Borderlands:set("w3", 1)
Borderlands:set("w4", 1)
Borderlands:set("w5", 1)
Borderlands:set("w6", 1)
--achievements
--(set to 0 when completed)
Borderlands:set("up", 1)
local up1 = Graphics.loadImage("../achievements/up.png")
Borderlands:set("drawUpImg", 0)
--Up: Jump 1 time.
Borderlands:set("hopscotchx150", 1)
local hopscotchx1501 = Graphics.loadImage("../achievements/hopscotchx150.png")
Borderlands:set("drawHopscotchx150Img", 0)
--Hopscotch x 150: Jump 1500 times.
Borderlands:set("leapfrog", 1)
local leapfrog1 = Graphics.loadImage("../achievements/leapfrog.png")
Borderlands:set("drawLeapFrogImg", 0)
--Leapfrog: Jump 5000 times.
Borderlands:set("tiredlegs", 1)
local tiredlegs1 = Graphics.loadImage("../achievements/tiredlegs.png")
Borderlands:set("drawTiredLegsImg", 0)
--Tired Legs: Jump 30 000 times.
Borderlands:set("getalife", 1)
local getalife1 = Graphics.loadImage("../achievements/getalife.png")
Borderlands:set("drawGetALifeImg", 0)
--Get a Life: Jump 90 000 times.
Borderlands:set("piggybank", 1)
local piggybank1 = Graphics.loadImage("../achievements/piggybank.png")
Borderlands:set("drawPiggyBankImg", 0)
--Piggy Bank: Collect 500 coins.
Borderlands:set("crescentcollector", 1)
--Crescent Collector: Collect a 3-up moon.
Borderlands:set("moonbeam", 1)
--Moonbeam: Collect all 5 3-up moons.
Borderlands:set("twinkletwinkle", 1)
--Twinkle Twinkle: Collect 5 shines.
Borderlands:set("stargazer", 1)
--Stargazer: Collect 10 shines.
Borderlands:set("diamondbright", 1)
--Diamond Bright: Collect 27 shines.
Borderlands:set("shipsacker", 1)
--Ship Sacker: Beat Heavy Metal Airship I.
Borderlands:set("metalmasher", 1)
--Metal Masher: Beat Heavy Metal Airship II.
Borderlands:set("brutebasher", 1)
--Brute Basher: Beat Heavy Metal Airsip III.
Borderlands:set("downwithkoopa", 1)
--Down with Koopa: Beat Heavy Metal Airship IV.
Borderlands:set("onebehinditall", 1)
--One Behind It All: Beat Heavy Metal Airship V.
Borderlands:set("finalfrontier", 1)
--Final Frontier: Beat 6-4.
Borderlands:set("hiddentreasure", 1)
--Hidden Treasure: Find a secret area.
Borderlands:set("secretstalker", 1)
--Secret Stalker: Find two secret areas.
Borderlands:set("sharpeyes", 1)
--Sharp Eyes: Find three secret areas.
Borderlands:set("four", 1)
--Four!: Find four secret areas.
Borderlands:set("cheating", 1)
--Cheating?: Find five secret areas.
Borderlands:set("paranormalplayer", 1)
--Paranormal Player: Find all six secret areas.
--time trials
Borderlands:set("timetrials", 1)
--unlocked when main game finished
Borderlands:set("gold11", 0)
--Level 1-1 Gold Time: 275 seconds left or better
Borderlands:set("silver11", 0)
Borderlands:set("silver11active", 0)
--Level 1-1 Silver Time: 265 seconds left or better
Borderlands:set("bronze11", 0)
Borderlands:set("bronze11active", 0)
--Level 1-1 Bronze Time: 255 seconds left or better
Borderlands:save()
end
--time trials: selection screen
--(player automatically is warped)
function onLoadSection20() --all selection screens for time trials in section 21
if Borderlands:get("timetrials") == 0 then
normalmode:show(true)
end
if Borderlands:get("timetrials") == 1 then
section20 = true
Borderlands:set("drawQboxImg", 1)
end
end
function onInputUpdate()
if player.altJumpKeyPressing then
player.altJumpKeyPressing = false
player.jumpKeyPressing = true
end
if section20 == true then
player.dropKeyPressing = false
player.jumpKeyPressing = false
for playerIndex, thePlayer in pairs(Player.get()) do
if thePlayer.rightKeyPressing then
if Borderlands:get("canright") == 1 then
Borderlands:set("drawQboxImg", 0)
Borderlands:set("drawQbox2Img", 1)
Borderlands:set("canright", 0)
Borderlands:set("canleft", 1)
Borderlands:save()
end
end
if thePlayer.leftKeyPressing then
if Borderlands:get("canleft") == 1 then
Borderlands:set("drawQbox2Img", 0)
Borderlands:set("drawQboxImg", 1)
Borderlands:set("canleft", 0)
Borderlands:set("canright", 1)
Borderlands:save()
end
end
if thePlayer.upKeyPressing == true then
if Borderlands:get("canleft") == 0 then
timetrialsmode:show(true)
Borderlands:set("drawQboxImg", 0)
Borderlands:set("drawQbox2Img", 0)
Borderlands:set("canleft", 0)
Borderlands:set("canright", 0)
section20 = false
end
if Borderlands:get("canright") == 0 then
normalmode:show(true)
Borderlands:set("drawQboxImg", 0)
Borderlands:set("drawQbox2Img", 0)
Borderlands:set("canleft", 0)
Borderlands:set("canright", 0)
section20 = false
end
end
--cannot use reserve power-up during time trials
thePlayer.dropKeyPressing = false
end
end
end
function onJumpEnd()
x = tonumber(Borderlands:get("jumpcounter"))
Borderlands:set("jumpcounter", x + 1)
Borderlands:save()
end
--time trials: remove and remember power-up
function onStart()
if Borderlands:get("timetrials") == 1 then
if player.powerup == PLAYER_BIG then
Borderlands:set("storedpower", 2)
end
if player.powerup == PLAYER_FIREFLOWER then
Borderlands:set("storedpower", 3)
end
if player.powerup == PLAYER_LEAF then
Borderlands:set("storedpower", 4)
end
if player.powerup == PLAYER_TANOOKIE then
Borderlands:set("storedpower", 5)
end
if player.powerup == PLAYER_HAMMER then
Borderlands:set("storedpower", 6)
end
if player.powerup == PLAYER_ICE then
Borderlands:set("storedpower", 7)
end
player.powerup = PLAYER_SMALL
Borderlands:save()
end
end
--time trials: give player back power-up
function onExitLevel()
if Borderlands:get("timetrials") == 1 then
if Borderlands:get("storedpower") == 2 then
player.powerup = PLAYER_BIG
end
if Borderlands:get("storedpower") == 3 then
player.powerup = PLAYER_FIREFLOWER
end
if Borderlands:get("storedpower") == 4 then
player.powerup = PLAYER_LEAF
end
if Borderlands:get("storedpower") == 5 then
player.powerup = PLAYER_TANOOKIE
end
if Borderlands:get("storedpower") == 6 then
player.powerup = PLAYER_HAMMER
end
if Borderlands:get("storedpower") == 7 then
player.powerup = PLAYER_ICE
end
Borderlands:set("storedpower", 1)
Borderlands:save()
end
end
function onLoopSection20()
player.jumpKeyPressing = false
player.runKeyPressing = false
player.altjumpKeyPressing = false
player.altrunKeyPressing = false
end
function onTick()
--check for achievements
if Borderlands:get("jumpcounter") == 1 then
if Borderlands:get("up") == 1 then
Borderlands:set("up", 0)
Borderlands:set("drawUpImg", 1)
Borderlands:save()
playSFX(20) --boss-beat
end
end
if Borderlands:get("jumpcounter") == 1500 then
if Borderlands:get("hopscotchx150") == 1 then
Borderlands:set("hopscotchx150", 0)
Borderlands:set("drawHopscotchx150Img", 1)
Borderlands:save()
playSFX(20)
end
end
if Borderlands:get("jumpcounter") == 5000 then
if Borderlands:get("leapfrog") == 1 then
Borderlands:set("leapfrog", 0)
Borderlands:set("drawLeapFrogImg", 1)
Borderlands:save()
playSFX(20)
end
end
if Borderlands:get("jumpcounter") == 30000 then
if Borderlands:get("tiredlegs") == 1 then
Borderlands:set("tiredlegs", 0)
Borderlands:set("drawTiredLegsImg", 1)
Borderlands:save()
playSFX(20)
end
end
if Borderlands:get("jumpcounter") == 90000 then
if Borderlands:get("getalife") == 1 then
Borderlands:set("getalife", 0)
Borderlands:set("drawGetALifeImg", 1)
Borderlands:save()
playSFX(20)
end
end
end
--display completed achievements
function onDraw()
if Borderlands:get("drawUpImg") == 1 then
Graphics.drawImageWP(up1, 0, 0, 5)
eventu.setTimer(3, EndDrawUpImg, false)
end
if Borderlands:get("drawHopscotchx150Img") == 1 then
Graphics.drawImageWP(Hopscotchx1501, 0, 0, 5)
eventu.setTimer(3, EndDrawHopscotchx150Img, false)
end
if Borderlands:get("drawLeapFrogImg") == 1 then
Graphics.drawImageWP(LeapFrog1, 0, 0, 5)
eventu.setTimer(3, EndDrawLeapFrogImg, false)
end
if Borderlands:get("drawTiredLegsImg") == 1 then
Graphics.drawImageWP(TiredLegs1, 0, 0, 5)
eventu.setTimer(3, EndDrawTiredLegsImg, false)
end
if Borderlands:get("drawGetALifeImg") == 1 then
Graphics.drawImageWP(GetALife1, 0, 0, 5)
eventu.setTimer(3, EndDrawGetALifeImg, false)
end
if Borderlands:get("drawPiggyBankImg") == 1 then
Graphics.drawImageWP(PiggyBank1, 0, 0, 5)
eventu.setTimer(3, EndDrawPiggyBankImg, false)
end
if Borderlands:get("drawQboxImg") == 1 then
Graphics.drawImageWP(qbox, 0, 0, 5)
end
if Borderlands:get("drawQbox2Img") == 1 then
Graphics.drawImageWP(qbox2, 0, 0, 5)
end
end
function EndDrawUpImg()
Borderlands:set("drawUpImg", 0)
Borderlands:save()
end
function EndDrawHopscotchx150Img()
Borderlands:set("drawHopscotchx150Img", 0)
Borderlands:save()
end
function EndDrawLeapFrogImg()
Borderlands:set("drawLeapFrogImg", 0)
Borderlands:save()
end
function EndDrawTiredLegsImg()
Borderlands:set("drawTiredLegsImg", 0)
Borderlands:save()
end
function EndDrawGetALifeImg()
Borderlands:set("drawGetALifeImg", 0)
Borderlands:save()
end
function EndPiggyBankImg()
Borderlands:set("drawPiggyBankImg", 0)
Borderlands:save()
end
--coin counter
function onNPCKill(_, killedNPC, killReason)
if(killedNPC.id == 10 or killedNPC.id == 33 or killedNPC.id == 88 or killedNPC.id == 138 or killedNPC.id == 251 or killedNPC.id == 252 or killedNPC.id == 252)then
y = tonumber(Borderlands:get("coincounter"))
Borderlands:set("coincounter", y + 1)
Borderlands:save()
end
--secret counter
if(killedNPC.id == 196) then
y = tonumber(Borderlands:get("secretcounter"))
Borderlands:set("secretcounter", y + 1)
Borderlands:save()
end
end
--secret area counter
function onEvent(eventname)
if eventname == area1 then
if Borderlands:get("area1") == 1 then
z = tonumber(Borderlands:get("areacounter"))
Borderlands:set("areacounter", z + 1)
Borderlands:save()
end
end
if eventname == area2 then
if Borderlands:get("area2") == 1 then
z = tonumber(Borderlands:get("areacounter"))
Borderlands:set("areacounter", z + 1)
Borderlands:save()
end
end
if eventname == area3 then
if Borderlands:get("area3") == 1 then
z = tonumber(Borderlands:get("areacounter"))
Borderlands:set("areacounter", z + 1)
Borderlands:save()
end
end
if eventname == area4 then
if Borderlands:get("area4") == 1 then
z = tonumber(Borderlands:get("areacounter"))
Borderlands:set("areacounter", z + 1)
Borderlands:save()
end
end
if eventname == area5 then
if Borderlands:get("area5") == 1 then
z = tonumber(Borderlands:get("areacounter"))
Borderlands:set("areacounter", z + 1)
Borderlands:save()
end
end
if eventname == area6 then
if Borderlands:get("area6") == 1 then
z = tonumber(Borderlands:get("areacounter"))
Borderlands:set("areacounter", z + 1)
Borderlands:save()
end
end
end
Why is normalmode:show(true) always called instead of timetrialsmode:show(true)?