FFR: fix NoOverworld mode (#999)

* Add Sigil/Mark to item list
This commit is contained in:
wildham0 2022-09-05 03:21:00 -04:00 committed by GitHub
parent 2acc129381
commit 5e8ac74b2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 5 deletions

View File

@ -97,6 +97,11 @@ local extensionConsumableLookup = {
[443] = 0x3F [443] = 0x3F
} }
local noOverworldItemsLookup = {
[499] = 0x2B,
[500] = 0x12,
}
local itemMessages = {} local itemMessages = {}
local consumableStacks = nil local consumableStacks = nil
local prevstate = "" local prevstate = ""
@ -341,7 +346,7 @@ function processBlock(block)
-- This is a key item -- This is a key item
memoryLocation = memoryLocation - 0x0E0 memoryLocation = memoryLocation - 0x0E0
wU8(memoryLocation, 0x01) wU8(memoryLocation, 0x01)
elseif v >= 0x1E0 then elseif v >= 0x1E0 and v <= 0x1F2 then
-- This is a movement item -- This is a movement item
-- Minus Offset (0x100) - movement offset (0xE0) -- Minus Offset (0x100) - movement offset (0xE0)
memoryLocation = memoryLocation - 0x1E0 memoryLocation = memoryLocation - 0x1E0
@ -351,7 +356,10 @@ function processBlock(block)
else else
wU8(memoryLocation, 0x01) wU8(memoryLocation, 0x01)
end end
elseif v >= 0x1F3 and v <= 0x1F4 then
-- NoOverworld special items
memoryLocation = noOverworldItemsLookup[v]
wU8(memoryLocation, 0x01)
elseif v >= 0x16C and v <= 0x1AF then elseif v >= 0x16C and v <= 0x1AF then
-- This is a gold item -- This is a gold item
amountToAdd = goldLookup[v] amountToAdd = goldLookup[v]

View File

@ -20,7 +20,7 @@ FF1_STARTER_ITEMS = [
FF1_PROGRESSION_LIST = [ FF1_PROGRESSION_LIST = [
"Rod", "Cube", "Lute", "Key", "Chime", "Oxyale", "Rod", "Cube", "Lute", "Key", "Chime", "Oxyale",
"Ship", "Canoe", "Floater", "Canal", "Ship", "Canoe", "Floater", "Mark", "Sigil", "Canal",
"Crown", "Crystal", "Herb", "Tnt", "Adamant", "Slab", "Ruby", "Bottle", "Crown", "Crystal", "Herb", "Tnt", "Adamant", "Slab", "Ruby", "Bottle",
"Shard", "Shard",
"EarthOrb", "FireOrb", "WaterOrb", "AirOrb" "EarthOrb", "FireOrb", "WaterOrb", "AirOrb"

View File

@ -31,7 +31,7 @@ class FF1World(World):
game = "Final Fantasy" game = "Final Fantasy"
topology_present = False topology_present = False
remote_items = True remote_items = True
data_version = 1 data_version = 2
remote_start_inventory = True remote_start_inventory = True
ff1_items = FF1Items() ff1_items = FF1Items()

View File

@ -190,5 +190,7 @@
"Ship": 480, "Ship": 480,
"Bridge": 488, "Bridge": 488,
"Canal": 492, "Canal": 492,
"Canoe": 498 "Canoe": 498,
"Sigil": 499,
"Mark": 500
} }