continued work on location data, started work on item data

This commit is contained in:
duncathan 2019-03-09 02:59:33 -06:00
parent e8c84d3640
commit 850d0b530c
2 changed files with 323 additions and 64 deletions

View file

@ -422,6 +422,275 @@ local data = {
-- concealing a chest containing this massive expansion of 24 Missiles.
}
function an_item(t)
return t
end
function arms(t)
return an_item(t)
end
function inventory(t)
return an_item(t)
end
function life_capsule(health)
return an_item({
name = "Life Capsule",
script = ("<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+%04d\n\rMax health increased by %s!<WAI0025<NOD<END"):format(health, health)
})
end
function missile_expansion()
return an_item({
name = "Missile Expansion",
script = "<EVE0030"
})
end
local data2 = {
-------------
-- WEAPONS --
-------------
polarStar = arms({
name = "Polar Star",
script = "<SOU0022<MSG<TUR<GIT0002<AM+0002:0000\n\rGot the =Polar Star=!<WAI0025<NOD<END",
attributes = {"weaponBoss", "weaponSN"}
}),
spur = arms({
name = "Spur",
script = "",
attributes = {"weaponBoss", "weaponSN", "polarStar"}
}),
missileLauncher = arms({
name = "Missile Launcher",
script = "<EVE0030",
attributes = {"weaponSN"} -- i ain't gonna force someone to kill the core with only missiles or something
}),
superMissileLauncher = arms({
name = "Super Missile Launcher",
script = "",
attributes = {"weaponSN", "missileLauncher"}
}),
fireball = arms({
name = "Fireball",
script = "",
attributes = {"weaponBoss"}
}),
snake = arms({
name = "Snake",
script = "",
attributes = {"weaponBoss", "fireball"} -- fireball -> snake is progressive much like polar star -> spur
}),
bubbler = arms({
name = "Bubbler",
script = "",
attributes = {"weaponBoss", "weaponSN"} -- have fun grinding to lv3 to get out of the first cave :)
}),
machineGun = arms({
name = "Machine Gun",
script = "",
attributes = {"weaponBoss", "flight"}
}),
blade = arms({
name = "Blade",
script = "",
attributes = {"weaponBoss", "weaponSN"}
}),
nemesis = arms({
name = "Nemesis",
script = "",
attributes = {"weaponBoss", "weaponSN"}
}),
---------------
-- INVENTORY --
---------------
mapSystem = {
name = "Map System",
script = ""
},
locket = {
name = "Silver Locket",
script = ""
},
arthurKey = {
name = "Arthur's Key",
script = ""
},
idCard = {
name = "ID Card",
script = ""
},
santaKey = {
name = "Santa's Key",
script = ""
},
lipstick = {
name = "Chaco's Lipstick",
script = ""
},
juice = {
name = "Jellyfish Juice",
script = ""
},
charcoal = {
name = "Charcoal",
script = ""
},
rustyKey = {
name = "Rusty Key",
script = ""
},
gumKey = {
name = "Gum Key",
script = ""
},
gumBase = {
name = "Gum Base",
script = ""
},
bomb = {
name = "Bomb",
script = ""
},
panties = {
name = "Curly's Panties",
script = ""
},
puppy1 = {
name = "Hajime",
script = ""
},
puppy2 = {
name = "Kakeru",
script = ""
},
puppy3 = {
name = "Mick",
script = ""
},
puppy4 = {
name = "Nene",
script = ""
},
puppy5 = {
name = "Shinobu",
script = ""
},
lifepot = {
name = "Life Pot",
script = ""
},
turbocharge = {
name = "Turbocharge",
script = ""
},
clinicKey = {
name = "Clinic Key",
script = ""
},
armsBarrier = {
name = "Arms Barrier",
script = ""
},
cureAll = {
name = "Cure-All",
script = ""
},
booster1 = {
name = "Booster 0.8",
script = "",
attributes = {"flight"}
},
booster2 = {
name = "Booster 2.0",
script = "",
attributes = {"flight", "booster1"}
},
towRope = {
name = "Tow Rope",
script = ""
},
airTank = {
name = "Curly's Air Tank",
script = ""
},
alienMedal = {
name = "Alien Medal",
script = ""
},
whimsicalStar = {
name = "Whimsical Star",
script = ""
},
nikumaru = {
name = "Nikumaru Counter",
script = ""
},
teleportKey = {
name = "Teleporter Room Key",
script = ""
},
letter = {
name = "Sue's Letter",
script = ""
},
mask = {
name = "Mimiga Mask",
script = ""
},
brokenSprinkler = {
name = "Broken Sprinkler",
script = ""
},
newSprinkler = {
name = "Sprinkler",
script = ""
},
controller = {
name = "Controller",
script = ""
},
mushroomBadge = {
name = "Mushroom Badge",
script = ""
},
maPignon = {
name = "Ma Pignon",
script = ""
},
little = {
name = "Little Man",
script = ""
},
ironBond = {
name = "Iron Bond",
script = ""
},
-------------------
-- LIFE CAPSULES --
-------------------
capsule3A = life_capsule(3), -- First Cave
capsule3B = life_capsule(3), -- Yamashita Farm
capsule3C = life_capsule(3), -- Egg Corridor (Basil)
capsule4A = life_capsule(4), -- Egg Corridor (Cthulhu)
capsule5A = life_capsule(5), -- Grasstown
capsule5B = life_capsule(5), -- Execution Chamber
capsule5C = life_capsule(5), -- Sand Zone (Upper)
capsule5D = life_capsule(5), -- Sand Zone (Lower)
capsule5E = life_capsule(5), -- Labyrinth
capsule5F = life_capsule(5), -- Plantation (West)
capsule4B = life_capsule(4), -- Plantation (Puppy)
capsule5G = life_capsule(5), -- Sacred Grounds
--------------
-- MISSILES --
--------------
}
for k, t in pairs(data) do
t.key = k
end

View file

@ -1,5 +1,5 @@
local data = {
firstCave1 = {
firstCave1 = { -- locations available at the absolute beginning of the game. can't be returned to, but can't be left without obtaining both items
connections = {
mimigaVillage = {{"weaponSN"}}
},
@ -14,10 +14,9 @@ local data = {
map = "Pole",
event = "#0402"
}
},
events = {}
}
},
firstCave2 = {
firstCave2 = { -- locations available on the return trip to first cave
connections = {
mimigaVillage = {{"weaponSN"}}
},
@ -27,12 +26,11 @@ local data = {
map = "Pole",
event = "#0303"
}
},
events = {}
}
}
mimigaVillage = {
connections = {
firstCave2 = {{"weaponSN", "machineGun"}, {"weaponSN", "booster1"}},
firstCave2 = {{"weaponSN", "flight"}},
arthur = {{"arthursKey"}}
},
locations = {
@ -56,29 +54,33 @@ local data = {
map = "Comu",
event = "#0303"
},
mrLittle = { -- guaranteed to have the little man item, for simplicity's sake (more of an escort quest than fetch quest imo)
requirements = {{"locket"}},
map = "Cemet",
event = "#0301"
},
graveyard = {
requirements = {{"locket"}},
map = "Cemet",
event = "#0301"
},
mushroom = {
requirements = {{"locket", "eventCurly", "machineGun"}, {"locket", "eventCurly", "booster1"}},
mushroom = { -- placed in a chest, can't open unless curly has been saved
requirements = {{"locket", "eventCurly", "flight"}},
map = "Mapi",
event = "#0202"
},
maPignon = {
requirements = {{"locket", "mushroomBadge", "weapon", "booster1"}, {"locket", "mushroomBadge", "machineGun"}},
maPignon = { -- no need to check the mushroom badge, just need to have it
requirements = {{"locket", "mushroomBadge", "weaponBoss", "flight"}},
map = "Mapi",
event = "#0501"
}
},
events = {}
}
}
arthur = {
connections = {
mimigaVillage = {{"arthursKey"}},
eggCorridor1 = {},
eggCorridor2 = {{"eventCore"}, --also unlocks if you have access to the teleporter between grasstown and plantation, but that's logically redundant
eggCorridor2 = {{"eventCore"}, -- also unlocks if you have access to the teleporter between grasstown and plantation, but that's logically redundant
grasstownWest = {},
upperSandZone = {{"weaponSN"}},
labyrinthB = {},
@ -120,14 +122,14 @@ local data = {
},
events = {
eventSue = {
requirements = {{"idCard", "weapon"}}
requirements = {{"idCard", "weaponBoss"}}
}
}
},
grasstownWest = {
connections = {
arthur = {},
grasstownEast = {{"juice"}, {"booster1"}, {"machineGun"}}
grasstownEast = {{"juice"}, {"flight"}} -- can also sequence break over with a damage boost!
},
locations = {
keySpot = {
@ -156,16 +158,15 @@ local data = {
event = "#6969"
},
kulala = {
requirements = {{"santaKey", "weapon"}, {"fireball"}},
requirements = {{"santaKey", "weaponBoss"}, {"fireball"}},
map = "Weed",
event = "0000"
}
},
events = {}
}
},
grasstownEast = {
connections = {
grasstownWest = {{"eventFans"}, {"machineGun"}, {"booster1"}},
grasstownWest = {{"eventFans"}, {"flight"}},
plantation = {{"bomb", "weaponSN"}}
},
locations = {
@ -185,17 +186,17 @@ local data = {
event = "#0000"
},
outsideHut = {
requirements = {{"eventFans"}, {"machineGun"}, {"booster1"}},
requirements = {{"eventFans"}, {"flight"}},
map = "Weed",
event = "#0000"
},
hutChest = {
requirements = {{"eventFans"}, {"machineGun"}, {"booster1"}},
requirements = {{"eventFans"}, {"flight"}},
map = "WeedB",
event = "#0000"
},
gumChest = {
requirements = {{"eventFans", "gumKey", "weapon"}, {"machineGun", "gumKey"}, {"booster1", "gumKey", "weapon"}},
requirements = {{"eventFans", "gumKey", "weaponBoss"}, {"flight", "gumKey", "weaponBoss"}},
map = "Frog",
event = "#0000"
},
@ -207,7 +208,7 @@ local data = {
},
events = {
eventFans = {
requirements = {{"rustyKey", "weapon"}}
requirements = {{"rustyKey", "weaponBoss"}}
}
}
},
@ -247,7 +248,7 @@ local data = {
lowerSandZone = {
connections = {
upperSandZone = {{"eventOmega"}},
labyrinthW = {{"puppies", "weapon"}, {"booster1"}, {"machineGun"}}
labyrinthW = {{"puppy1", "puppy2", "puppy3", "puppy4", "puppy5", "weaponBoss"}, {"flight"}}
},
locations = {
chestPup = {
@ -276,22 +277,21 @@ local data = {
event = "#0000"
},
jenka = {
requirements = {{"puppies"}},
requirements = {{"puppy1", "puppy2", "puppy3", "puppy4", "puppy5"}},
map = "Jenka1",
event = "#0000"
},
king = {
requirements = {{"puppies", "weapon"}},
requirements = {{"puppy1", "puppy2", "puppy3", "puppy4", "puppy5", "weaponBoss"}},
map = "Gard",
event = "#0000"
}
},
events = {}
}
},
labyrinthB = {
connections = {
labyrinthW = {{"machineGun"}, {"booster1", "weapon"}},
boulder = {{"machineGun"}, {"booster1"}},
labyrinthW = {{"flight", "weaponBoss"}},
boulder = {{"flight"}},
arthur = {}
},
locations = {
@ -300,19 +300,18 @@ local data = {
map = "MazeB",
event = "#0000"
}
},
events = {}
}
},
labyrinthW = {
connections = {
lowerSandZone = {},
labyrinthB = {{"weapon"}},
labyrinthB = {{"weaponBoss"}},
boulder = {},
labyrinthM = {{"machineGun"}, {"booster1"}}
labyrinthM = {{"flight"}}
},
locations = {
critterCapsule = {
requirements = {{"weapon"}},
requirements = {{"weaponBoss"}},
map = "MazeI",
event = "#0000"
},
@ -332,7 +331,7 @@ local data = {
event = "#0000"
},
armsBarrier = {
requirements = {{"machineGun"}, {"booster1"}},
requirements = {{"flight"}},
map = "MazeO",
event = "#0000"
},
@ -342,45 +341,39 @@ local data = {
event = "#0000"
},
puuBlack = {
requirements = {{"clinicKey", "weapon"}},
requirements = {{"clinicKey", "weaponBoss"}},
map = "MazeD",
event = "#0000"
}
},
events = {}
}
},
boulder = {
connections = {
labyrinthB = {},
labyrinthW = {},
labyrinthM = {{"cureAll", "weapon"}}
labyrinthM = {{"cureAll", "weaponBoss"}}
},
locations = {
boulderChest = {
requirements = {{"cureAll", "weapon"}},
requirements = {{"cureAll", "weaponBoss"}},
map = "MazeS",
event = "#0000"
}
},
events = {}
}
},
labyrinthM = {
connections = {
labyrinthW = {},
boulder = {{"cureAll", "weapon"}},
boulder = {{"cureAll", "weaponBoss"}},
darkPlace = {}
},
locations = {},
events = {}
},
darkPlace = {
connections = {
waterway = {{"airTank"}},
core = {{"cureAll"}},
labyrinthM = {}
},
locations = {},
events = {}
}
},
core = {
connections = {
@ -400,7 +393,7 @@ local data = {
},
events = {
eventCore = {
requirements = {{"weapon"}}
requirements = {{"weaponBoss"}}
}
}
},
@ -429,22 +422,21 @@ local data = {
},
locations = {
dragonChest = {
requirements = {{"weapon"}},
requirements = {{"weaponBoss"}},
map = "Eggs2",
event = "#0000"
},
sisters = {
requirements = {{"weapon"}},
requirements = {{"weaponBoss"}},
map = "EggR2",
event = "#0000"
}
},
events = {}
}
},
outerWall = {
connections = {
eggCorridor2 = {{"bomb"}},
plantation = {{"machineGun"}, {"booster1"}}
plantation = {{"flight"}}
},
locations = {
clock = {
@ -452,20 +444,19 @@ local data = {
map = "Clock",
event = "#0000"
},
mrLittle = {
requirements = {{"locket", "machineGun"}, {"locket", "booster1"}},
littleHouse = {
requirements = {{"little", "flight"}},
map = "Little",
event = "#0000"
}
},
events = {}
}
},
plantation = {
connections = {
arthur = {{"teleportKey"}},
outerWall = {},
grasstownEast = {{"bomb", "weaponSN"}},
lastCave = {{"eventRocket", "booster2", "weapon"}}
lastCave = {{"eventRocket", "booster2", "weaponBoss"}}
},
locations = {
kanpachi = {
@ -494,7 +485,7 @@ local data = {
event = "#0000"
},
topCapsule = {
requirements = {{"machineGun", "booster1"}},
requirements = {{"flight"}},
map = "Cent",
event = "#0000"
},
@ -526,8 +517,7 @@ local data = {
map = "Priso2",
event = "#0000",
}
},
events = {}
}
},
balcony = {
connections = {