Here's the code from lunaworld.lua:
Spoiler: show
Code: Select all
local encrypt = API.load("encrypt");
_G["Inventory"] = encrypt.Data(Data.DATA_WORLD, "Super Mario-Troid", true)
_G["Progress"] = encrypt.Data(Data.DATA_WORLD, "Super Mario-Troid", true)
_G["Bonus"] = encrypt.Data(Data.DATA_WORLD, "Super Mario-Troid", true)
local rng = API.load("rng");
local smallStart = Graphics.loadImage("mario-1start.gif")
local smallSpinJump = Graphics.loadImage("mario-1spinjump.gif")
local smallGravity = Graphics.loadImage("mario-1gravity.gif")
local smallVaria = Graphics.loadImage("mario-1varia.gif")
local smallHiJump = Graphics.loadImage("mario-1hijump.gif")
local smallSpaceJump = Graphics.loadImage("mario-1spacejump.gif")
local smallCos1 = Graphics.loadImage("mario-1wa.gif")
local smallCos2 = Graphics.loadImage("mario-1grand.gif")
local smallCos3 = Graphics.loadImage("mario-1samus.gif")
local superSpinJump = Graphics.loadImage("mario-2spinjump.gif")
local superGravity = Graphics.loadImage("mario-2gravity.gif")
local superVaria = Graphics.loadImage("mario-2varia.gif")
local superHiJump = Graphics.loadImage("mario-2hijump.gif")
local superSpaceJump = Graphics.loadImage("mario-2spacejump.gif")
local superCos1 = Graphics.loadImage("mario-2wa.gif")
local superCos2 = Graphics.loadImage("mario-2grand.gif")
local superCos3 = Graphics.loadImage("mario-2samus.gif")
local fireSpinJump = Graphics.loadImage("mario-3spinjump.gif")
local fireGravity = Graphics.loadImage("mario-3gravity.gif")
local fireVaria = Graphics.loadImage("mario-3varia.gif")
local fireHiJump = Graphics.loadImage("mario-3hijump.gif")
local fireSpaceJump = Graphics.loadImage("mario-3spacejump.gif")
local fireCos1 = Graphics.loadImage("mario-3wa.gif")
local fireCos2 = Graphics.loadImage("mario-3grand.gif")
local fireCos3 = Graphics.loadImage("mario-3samus.gif")
local raccoonGravity = Graphics.loadImage("mario-4gravity.gif")
local raccoonVaria = Graphics.loadImage("mario-4varia.gif")
local raccoonHiJump = Graphics.loadImage("mario-4hijump.gif")
local raccoonSpaceJump = Graphics.loadImage("mario-4spacejump.gif")
local raccoonCos1 = Graphics.loadImage("mario-4wa.gif")
local raccoonCos2 = Graphics.loadImage("mario-4grand.gif")
local raccoonCos3 = Graphics.loadImage("mario-4samus.gif")
local tanookiCos1 = Graphics.loadImage("mario-5wa.gif")
local tanookiCos2 = Graphics.loadImage("mario-5grand.gif")
local tanookiCos3 = Graphics.loadImage("mario-5samus.gif")
local hammerHiJump = Graphics.loadImage("mario-6hijump.gif")
local hammerSpaceJump = Graphics.loadImage("mario-6spacejump.gif")
local hammerCos1 = Graphics.loadImage("mario-6wa.gif")
local hammerCos2 = Graphics.loadImage("mario-6grand.gif")
local hammerCos3 = Graphics.loadImage("mario-6samus.gif")
local iceGravity = Graphics.loadImage("mario-7gravity.gif")
local iceVaria = Graphics.loadImage("mario-7varia.gif")
local iceHiJump = Graphics.loadImage("mario-7hijump.gif")
local iceSpaceJump = Graphics.loadImage("mario-7spacejump.gif")
local iceCos1 = Graphics.loadImage("mario-7wa.gif")
local iceCos2 = Graphics.loadImage("mario-7grand.gif")
local iceCos3 = Graphics.loadImage("mario-7samus.gif")
local newRecover = 0
function initialize()
if Inventory:get("Jump Boots") == nil then
Inventory:set("Jump Boots", 0)
end
if Inventory:get("Spinjump Boots") == nil then
Inventory:set("Spinjump Boots", 0)
end
if Inventory:get("Gravity Cap") == nil then
Inventory:set("Gravity Cap", 0)
end
if Inventory:get("Varia Cap") == nil then
Inventory:set("Varia Cap", 0)
end
if Inventory:get("Hi-Jump Boots") == nil then
Inventory:set("Hi-Jump Boots", 0)
end
if Inventory:get("Space Jump Boots") == nil then
Inventory:set("Space Jump Boots", 0)
end
Inventory:save()
if Progress:get("Shygon Switcher") == nil then
Progress:set("Shygon Switcher", 0)
end
if Progress:get("Shygon Boss") == nil then
Progress:set("Shygon Boss", 0)
end
if Progress:get("Mushroom") == nil then
Progress:set("Mushroom", 0)
end
if Progress:get("Koopteria Bricks") == nil then
Progress:set("Koopteria Bricks", 0)
end
if Progress:get("Koopteria Key") == nil then
Progress:set("Koopteria Key", 0)
end
if Progress:get("Fire Flower") == nil then
Progress:set("Fire Flower", 0)
end
if Progress:get("Phenpiranha Ice") == nil then
Progress:set("Phenpiranha Ice", 0)
end
if Progress:get("Koopteria Brick Wall") == nil then
Progress:set("Koopteria Brick Wall", 0)
end
if Progress:get("Super Leaf") == nil then
Progress:set("Super Leaf", 0)
end
if Progress:get("Ice Flower") == nil then
Progress:set("Ice Flower", 0)
end
if Progress:get("Bob-Bryyo Key") == nil then
Progress:set("Bob-Bryyo Key", 0)
end
if Progress:get("Bob-Bryyo Maze") == nil then
Progress:set("Bob-Bryyo Maze", 0)
end
if Progress:get("Mines Key") == nil then
Progress:set("Mines Key", 0)
end
Progress:save()
if Bonus:get("Speed Booster") == nil then
Bonus:set("Speed Booster", 0)
end
if Bonus:get("Recover Up") == nil then
Bonus:set("Recover Up", 0)
end
if Bonus:get("Flamethrower") == nil then
Bonus:set("Flamethrower", 0)
end
if Bonus:get("Costume1") == nil then
Bonus:set("Costume1", 0)
end
if Bonus:get("Costume2") == nil then
Bonus:set("Costume2", 0)
end
if Bonus:get("Costume3") == nil then
Bonus:set("Costume3", 0)
end
Bonus:save()
end
function onStart()
initialize()
progressCheck()
end
function onEvent(eventname)
if eventname == "Jump Boots" then
Inventory:set("Jump Boots", 1)
Inventory:save()
playerGraphics()
end
if eventname == "Spinjump Boots" then
Inventory:set("Spinjump Boots", 1)
Inventory:save()
playerGraphics()
end
if eventname == "Gravity Cap" then
Inventory:set("Gravity Cap", 1)
Inventory:save()
playerGraphics()
end
if eventname == "Varia Cap" then
Inventory:set("Varia Cap", 1)
Inventory:save()
playerGraphics()
end
if eventname == "Hi-Jump Boots" then
Inventory:set("Hi-Jump Boots", 1)
Inventory:save()
playerGraphics()
end
if eventname == "Space Jump Boots" then
Inventory:set("Space Jump Boots", 1)
Inventory:save()
playerGraphics()
end
if eventname == "Frigate Start" then
Inventory:set("Jump Boots", 2)
Inventory:set("Spinjump Boots", 2)
Inventory:set("Gravity Cap", 2)
Progress:set("Mushroom", 2)
Progress:save()
Inventory:save()
playerGraphics()
end
if eventname == "Lose Items" then
Inventory:set("Jump Boots", 0)
Inventory:set("Spinjump Boots", 0)
Inventory:set("Gravity Cap", 0)
Progress:set("Mushroom", 0)
Progress:save()
Inventory:save()
player.powerup = PLAYER_SMALL;
player.reservePowerup = 0;
end
if eventname == "Speed Booster" then
if Bonus:get("Speed Booster") == 0 then
Bonus:set("Speed Booster", 1)
else
Bonus:set("Speed Booster", 0)
end
Bonus:save()
end
if eventname == "Recover Up" then
if Bonus:get("Recover Up") == 0 then
Bonus:set("Recover Up", 1)
else
Bonus:set("Recover Up", 0)
end
Bonus:save()
end
if eventname == "Flamethrower" then
if Bonus:get("Flamethrower") == 0 then
Bonus:set("Flamethrower", 1)
else
Bonus:set("Flamethrower", 0)
end
Bonus:save()
end
if eventname == "Costume1" then
if Bonus:get("Costume1") == 0 then
Bonus:set("Costume1", 1)
else
Bonus:set("Costume1", 0)
end
Bonus:set("Costume2", 0)
Bonus:set("Costume3", 0)
Bonus:save()
playerGraphics()
end
if eventname == "Costume2" then
if Bonus:get("Costume2") == 0 then
Bonus:set("Costume2", 1)
else
Bonus:set("Costume2", 0)
end
Bonus:set("Costume1", 0)
Bonus:set("Costume3", 0)
Bonus:save()
playerGraphics()
end
if eventname == "Costume3" then
if Bonus:get("Costume3") == 0 then
Bonus:set("Costume3", 1)
else
Bonus:set("Costume3", 0)
end
Bonus:set("Costume1", 0)
Bonus:set("Costume2", 0)
Bonus:save()
playerGraphics()
end
if eventname == "Shygon Switcher" then
if Progress:get("Shygon Switcher") == 0 then
Progress:set("Shygon Switcher", 1)
Progress:save()
elseif Progress:get("Shygon Switcher") == 1 then
Progress:set("Shygon Switcher", 0)
Progress:save()
elseif Progress:get("Shygon Switcher") == 2 then
Progress:set("Shygon Switcher", 3)
Progress:save()
elseif Progress:get("Shygon Switcher") == 3 then
Progress:set("Shygon Switcher", 2)
Progress:save()
end
end
if eventname == "Shygon Boss Start" then
playSFX("ShyGuy.wav")
end
if eventname == "Shygon Boss" then
Progress:set("Shygon Boss", 1)
Progress:save()
end
if eventname == "Mushroom" then
Progress:set("Mushroom", 1)
Progress:save()
end
if eventname == "Koopteria Bricks" then
Progress:set("Koopteria Bricks", 1)
Progress:save()
end
if eventname == "Koopteria Key" then
Progress:set("Koopteria Key", 1)
Progress:save()
end
if eventname == "Fire Flower" then
Progress:set("Fire Flower", 1)
Progress:save()
end
if eventname == "Phenpiranha Ice" then
Progress:set("Phenpiranha Ice", 1)
Progress:save()
end
if eventname == "Koopteria Brick Wall" then
Progress:set("Koopteria Brick Wall", 1)
Progress:save()
end
if eventname == "Super Leaf" then
Progress:set("Super Leaf", 1)
Progress:save()
end
if eventname == "Item SFX" then
playSFX("Item.wav")
end
if eventname == "Ice Flower" then
Progress:set("Ice Flower", 1)
Progress:save()
end
if eventname == "Bob-Bryyo Key" then
Progress:set("Bob-Bryyo Key", 1)
Progress:save()
end
if eventname == "Bob-Bryyo Maze" then
Progress:set("Bob-Bryyo Maze", 1)
Progress:save()
end
if eventname == "Mines Key" then
Progress:set("Mines Key", 1)
Progress:save()
end
end
function onInputUpdate()
if Inventory:get("Jump Boots") == 0 then
if player.jumpKeyPressing == true then
player.jumpKeyPressing = false
end
end
if Inventory:get("Spinjump Boots") == 0 then
if Inventory:get("Jump Boots") == 0 then
if player.altJumpKeyPressing == true then
player.altJumpKeyPressing = false
end
elseif Inventory:get("Jump Boots") > 0 then
if player.altJumpKeyPressing == true then
player.altJumpKeyPressing = false
player.jumpKeyPressing = true
end
end
end
if Inventory:get("Hi-Jump Boots") > 0 then
if Inventory:get("Space Jump Boots") == 0 then
if player.jumpKeyPressing == true then
if player:mem(0x146, FIELD_WORD) == 1 then
player:mem(0x11C,FIELD_WORD,50)
end
end
end
end
end
function onKeyDown(keycode)
if Inventory:get("Space Jump Boots") > 0 then
if player:mem(0x34, FIELD_WORD) == 0 then
if player:mem(0x122, FIELD_WORD) == 0 then
if keycode == KEY_JUMP then
player.speedY = -11;
if player:mem(0x146,FIELD_WORD) == 0 then
playSFX(1)
for i=-3,3,6 do
local smoke = Animation.spawn(74,player.x+(player.width/2),player.y)
smoke.speedX = i;
smoke.speedY = 4;
end
end
end
end
end
end
end
function onTick()
if Inventory:get("Gravity Cap") == 0 then
player:mem(0x38, FIELD_WORD, -1)
end
if player:mem(0x13E, FIELD_WORD) > 0 then
playerDeath()
end
if player:mem(0x122, FIELD_WORD) == 7 then
gameSave()
end
stars = NPC.get(196, -1)
if(table.getn(stars) > 0) then
for i=1,table.getn(stars) do
stars[i]:mem(0xA0, FIELD_DFLOAT, 0)
stars[i]:mem(0x108, FIELD_DFLOAT, 0)
end
end
if Bonus:get("Speed Booster") == 1 then
Defines.player_runspeed = 8
if player.speedX >= 6 then
player:mem(0x16C, FIELD_WORD, 1)
end
if player.speedX <= -6 then
player:mem(0x16C, FIELD_WORD, 1)
end
end
if Bonus:get("Speed Booster") == 0 then
Defines.player_runspeed = 6
end
if Bonus:get("Recover Up") == 1 then
if player:mem(0x140, FIELD_WORD) == 150 then
newRecover = 300
player:mem(0x140, FIELD_WORD, 2)
end
if newRecover > 0 then
newRecover = newRecover - 1
player:mem(0x140, FIELD_WORD, 1)
end
end
if Bonus:get("Flamethrower") == 1 then
Defines.cheat_flamerthrower = true
end
if Bonus:get("Flamethrower") == 0 then
Defines.cheat_flamerthrower = false
end
end
function playerDeath()
player.reservePowerup = 0;
if Inventory:get("Jump Boots") == 1 then
Inventory:set("Jump Boots", 0)
Inventory:save()
end
if Inventory:get("Spinjump Boots") == 1 then
Inventory:set("Spinjump Boots", 0)
Inventory:save()
end
if Inventory:get("Gravity Cap") == 1 then
Inventory:set("Gravity Cap", 0)
Inventory:save()
end
if Inventory:get("Varia Cap") == 1 then
Inventory:set("Varia Cap", 0)
Inventory:save()
end
if Inventory:get("Hi-Jump Boots") == 1 then
Inventory:set("Hi-Jump Boots", 0)
Inventory:save()
end
if Inventory:get("Space Jump Boots") == 1 then
Inventory:set("Space Jump Boots", 0)
Inventory:save()
end
if Progress:get("Shygon Switcher") == 1 then
Progress:set("Shygon Switcher", 0)
Progress:save()
end
if Progress:get("Shygon Switcher") == 3 then
Progress:set("Shygon Switcher", 2)
Progress:save()
end
if Progress:get("Shygon Boss") == 1 then
Progress:set("Shygon Boss", 0)
Progress:save()
end
if Progress:get("Mushroom") == 1 then
Progress:set("Mushroom", 0)
Progress:save()
end
if Progress:get("Koopteria Bricks") == 1 then
Progress:set("Koopteria Bricks", 0)
Progress:save()
end
if Progress:get("Koopteria Key") == 1 then
Progress:set("Koopteria Key", 0)
Progress:save()
end
if Progress:get("Fire Flower") == 1 then
Progress:set("Fire Flower", 0)
Progress:save()
end
if Progress:get("Phenpiranha Ice") == 1 then
Progress:set("Phenpiranha Ice", 0)
Progress:save()
end
if Progress:get("Koopteria Brick Wall") == 1 then
Progress:set("Koopteria Brick Wall", 0)
Progress:save()
end
if Progress:get("Super Leaf") == 1 then
Progress:set("Super Leaf", 0)
Progress:save()
end
if Progress:get("Ice Flower") == 1 then
Progress:set("Ice Flower", 0)
Progress:save()
end
if Progress:get("Bob-Bryyo Key") == 1 then
Progress:set("Bob-Bryyo Key", 0)
Progress:save()
end
if Progress:get("Bob-Bryyo Maze") == 1 then
Progress:set("Bob-Bryyo Maze", 0)
Progress:save()
end
if Progress:get("Mines Key") == 1 then
Progress:set("Mines Key", 0)
Progress:save()
end
end
function gameSave()
if Inventory:get("Jump Boots") == 1 then
Inventory:set("Jump Boots", 2)
Inventory:save()
end
if Inventory:get("Spinjump Boots") == 1 then
Inventory:set("Spinjump Boots", 2)
Inventory:save()
end
if Inventory:get("Gravity Cap") == 1 then
Inventory:set("Gravity Cap", 2)
Inventory:save()
end
if Inventory:get("Varia Cap") == 1 then
Inventory:set("Varia Cap", 2)
Inventory:save()
end
if Inventory:get("Hi-Jump Boots") == 1 then
Inventory:set("Hi-Jump Boots", 2)
Inventory:save()
end
if Inventory:get("Space Jump Boots") == 1 then
Inventory:set("Space Jump Boots", 2)
Inventory:save()
end
if Progress:get("Shygon Switcher") == 1 then
Progress:set("Shygon Switcher", 2)
Progress:save()
end
if Progress:get("Shygon Switcher") == 3 then
Progress:set("Shygon Switcher", 0)
Progress:save()
end
if Progress:get("Shygon Boss") == 1 then
Progress:set("Shygon Boss", 2)
Progress:save()
end
if Progress:get("Mushroom") == 1 then
Progress:set("Mushroom", 2)
Progress:save()
end
if Progress:get("Koopteria Bricks") == 1 then
Progress:set("Koopteria Bricks", 2)
Progress:save()
end
if Progress:get("Koopteria Key") == 1 then
Progress:set("Koopteria Key", 2)
Progress:save()
end
if Progress:get("Fire Flower") == 1 then
Progress:set("Fire Flower", 2)
Progress:save()
end
if Progress:get("Phenpiranha Ice") == 1 then
Progress:set("Phenpiranha Ice", 2)
Progress:save()
end
if Progress:get("Koopteria Brick Wall") == 1 then
Progress:set("Koopteria Brick Wall", 2)
Progress:save()
end
if Progress:get("Super Leaf") == 1 then
Progress:set("Super Leaf", 2)
Progress:save()
end
if Progress:get("Ice Flower") == 1 then
Progress:set("Ice Flower", 2)
Progress:save()
end
if Progress:get("Bob-Bryyo Key") == 1 then
Progress:set("Bob-Bryyo Key", 2)
Progress:save()
end
if Progress:get("Bob-Bryyo Maze") == 1 then
Progress:set("Bob-Bryyo Maze", 2)
Progress:save()
end
if Progress:get("Mines Key") == 1 then
Progress:set("Mines Key", 2)
Progress:save()
end
end
function progressCheck()
playerGraphics()
if Inventory:get("Jump Boots") == 0 then
triggerEvent("Start Message")
end
if Inventory:get("Jump Boots") > 0 then
triggerEvent("Jump Boots Effect")
end
if Progress:get("Shygon Switcher") > 0 then
triggerEvent("Shygon Switcher Effect")
end
if Progress:get("Shygon Boss") > 0 then
triggerEvent("Shygon Boss Effect")
end
if Progress:get("Mushroom") > 0 then
triggerEvent("Mushroom Effect")
end
if Progress:get("Koopteria Bricks") > 0 then
triggerEvent("Koopteria Bricks Effect")
end
if Progress:get("Koopteria Key") > 0 then
triggerEvent("Koopteria Key Effect")
end
if Inventory:get("Spinjump Boots") > 0 then
triggerEvent("Spinjump Boots Effect")
end
if Progress:get("Fire Flower") > 0 then
triggerEvent("Fire Flower Effect")
end
if Progress:get("Phenpiranha Ice") > 0 then
triggerEvent("Phenpiranha Ice Effect")
end
if Inventory:get("Gravity Cap") > 0 then
triggerEvent("Gravity Cap Effect")
end
if Progress:get("Koopteria Brick Wall") > 0 then
triggerEvent("Koopteria Brick Wall Effect")
end
if Progress:get("Super Leaf") > 0 then
triggerEvent("Super Leaf Effect")
end
if Progress:get("Ice Flower") > 0 then
triggerEvent("Ice Flower Effect")
end
if Inventory:get("Varia Cap") > 0 then
triggerEvent("Varia Cap Effect")
end
if Progress:get("Bob-Bryyo Key") > 0 then
triggerEvent("Bob-Bryyo Key Effect")
end
if Progress:get("Bob-Bryyo Maze") > 0 then
triggerEvent("Bob-Bryyo Maze Effect")
end
if Progress:get("Mines Key") > 0 then
triggerEvent("Mines Key Effect")
end
if Bonus:get("Speed Booster") == 1 then
triggerEvent("B1")
end
if Bonus:get("Recover Up") == 1 then
triggerEvent("B2")
end
if Bonus:get("Flamethrower") == 1 then
triggerEvent("B3")
end
if Bonus:get("Costume1") == 1 then
triggerEvent("C1")
end
if Bonus:get("Costume2") == 1 then
triggerEvent("C2")
end
if Bonus:get("Costume3") == 1 then
triggerEvent("C3")
end
end
function playerGraphics()
if Bonus:get("Costume1") == 1 then
Graphics.sprites.mario[1].img = smallCos1
Graphics.sprites.mario[2].img = superCos1
Graphics.sprites.mario[3].img = fireCos1
Graphics.sprites.mario[4].img = raccoonCos1
Graphics.sprites.mario[5].img = tanookiCos1
Graphics.sprites.mario[6].img = hammerCos1
Graphics.sprites.mario[7].img = iceCos1
elseif Bonus:get("Costume2") == 1 then
Graphics.sprites.mario[1].img = smallCos2
Graphics.sprites.mario[2].img = superCos2
Graphics.sprites.mario[3].img = fireCos2
Graphics.sprites.mario[4].img = raccoonCos2
Graphics.sprites.mario[5].img = tanookiCos2
Graphics.sprites.mario[6].img = hammerCos2
Graphics.sprites.mario[7].img = iceCos2
elseif Bonus:get("Costume3") == 1 then
Graphics.sprites.mario[1].img = smallCos3
Graphics.sprites.mario[2].img = superCos3
Graphics.sprites.mario[3].img = fireCos3
Graphics.sprites.mario[4].img = raccoonCos3
Graphics.sprites.mario[5].img = tanookiCos3
Graphics.sprites.mario[6].img = hammerCos3
Graphics.sprites.mario[7].img = iceCos3
elseif Inventory:get("Space Jump Boots") > 0 then
Graphics.sprites.mario[1].img = smallSpaceJump
Graphics.sprites.mario[2].img = superSpaceJump
Graphics.sprites.mario[3].img = fireSpaceJump
Graphics.sprites.mario[4].img = raccoonSpaceJump
Graphics.sprites.mario[6].img = hammerSpaceJump
Graphics.sprites.mario[7].img = iceSpaceJump
elseif Inventory:get("Hi-Jump Boots") > 0 then
Graphics.sprites.mario[1].img = smallHiJump
Graphics.sprites.mario[2].img = superHiJump
Graphics.sprites.mario[3].img = fireHiJump
Graphics.sprites.mario[4].img = raccoonHiJump
Graphics.sprites.mario[6].img = hammerHiJump
Graphics.sprites.mario[7].img = iceHiJump
elseif Inventory:get("Varia Cap") > 0 then
Graphics.sprites.mario[1].img = smallVaria
Graphics.sprites.mario[2].img = superVaria
Graphics.sprites.mario[3].img = fireVaria
Graphics.sprites.mario[4].img = raccoonVaria
Graphics.sprites.mario[7].img = iceVaria
elseif Inventory:get("Gravity Cap") > 0 then
Graphics.sprites.mario[1].img = smallGravity
Graphics.sprites.mario[2].img = superGravity
Graphics.sprites.mario[3].img = fireGravity
Graphics.sprites.mario[4].img = raccoonGravity
Graphics.sprites.mario[7].img = iceGravity
elseif Inventory:get("Spinjump Boots") > 0 then
Graphics.sprites.mario[1].img = smallSpinJump
Graphics.sprites.mario[2].img = superSpinJump
Graphics.sprites.mario[3].img = fireSpinJump
elseif Inventory:get("Jump Boots") > 0 then
Graphics.sprites.mario[1].img = nil
Graphics.sprites.mario[2].img = nil
else
Graphics.sprites.mario[1].img = smallStart
end
end
function onNPCKill(eventObj, killingNPC, killReason)
if (killReason == 1 or killReason == 2 or killReason == 3 or killReason == 5 or killReason == 7 or killReason == 8) and not(killingNPC.id == 13 or killingNPC.id == 32 or killingNPC.id == 134 or killingNPC.id == 255 or killingNPC.id == 265) then
randValue = rng.randomInt(1, 15)
if Progress:get("Mushroom") == 0 then
randValue = 0
end
if (randValue == 1) then
NPC.spawn (250, killingNPC.x, killingNPC.y, player.section)
playSFX(56)
end
end
end
TL;DR - All of the variables update correctly and persist throughout levels except Inventory:get("Spinjump Boots") which resets to 0 upon exiting and re entering the level, but setting the value again causes it to stick.