1
0
Fork 0
mirror of https://github.com/notwa/mm synced 2024-11-04 22:39:02 -08:00

refactor oneshot; merge oot

This commit is contained in:
Connor Olding 2015-03-20 17:39:55 -07:00
parent a12d1683a4
commit 3b7c7ffcd6
5 changed files with 239 additions and 220 deletions

49
Lua/item values early.lua Normal file
View file

@ -0,0 +1,49 @@
return {
ocarina = 0x00,
bow = 0x01,
fire_arrows = 0x02,
ice_arrows = 0x03,
light_arrows = 0x04,
bombs = 0x06,
bombchu = 0x07,
deku_stick = 0x08,
deku_nut = 0x09,
magic_beans = 0x0A,
powder_keg = 0x0C,
pictograph = 0x0D,
lens_of_truth = 0x0E,
hookshot = 0x0F,
fairy_sword = 0x10,
bottle = 0x12,
fairy = 0x16,
milk = 0x18,
fish = 0x1A,
bugs = 0x1B,
chateau_romani = 0x25,
postman = 0x5A,
all_night = 0x55,
blast = 0x63,
stone = 0x61,
great_fairy = 0x5C,
deku = 0x4E,
keaton = 0x56,
bremen = 0x62,
bunny = 0x54,
don_gero = 0x5E,
scents = 0x64,
goron = 0x4F,
romani = 0x58,
troupe_leader = 0x59,
kafei = 0x53,
couples = 0x5B,
truth = 0x52,
zora = 0x50,
kamaro = 0x5F,
gibdo = 0x5D,
garos = 0x57,
captains = 0x60,
giants = 0x65,
fierce_deity = 0x51,
}

28
Lua/item values oot.lua Normal file
View file

@ -0,0 +1,28 @@
return {
deku_stick = 0x00,
deku_nut = 0x01,
bombs = 0x02,
bow = 0x03,
fire_arrows = 0x04,
dins_fire = 0x05,
slingshot = 0x06,
fairy_ocarina = 0x07,
ocarina = 0x08,
bombchu = 0x09,
hookshot = 0x0A,
longshot = 0x0B,
ice_arrows = 0x0C,
farores_wind = 0x0D,
boomerang = 0x0E,
lens_of_truth = 0x0F,
magic_beans = 0x10,
hammer = 0x11,
light_arrows = 0x12,
nayrus_love = 0x13,
bottle = 0x14,
fairy = 0x18,
fish = 0x19,
blue_fire = 0x1C,
bugs = 0x1D,
}

View file

@ -1,31 +1,27 @@
mask_values_early = {
postman = 0x5A,
all_night = 0x55,
blast = 0x63,
stone = 0x61,
great_fairy = 0x5C,
deku = 0x4E,
keaton = 0x56,
bremen = 0x62,
bunny = 0x54,
don_gero = 0x5E,
scents = 0x64,
goron = 0x4F,
romani = 0x58,
troupe_leader = 0x59,
kafei = 0x53,
couples = 0x5B,
truth = 0x52,
zora = 0x50,
kamaro = 0x5F,
gibdo = 0x5D,
garos = 0x57,
captains = 0x60,
giants = 0x65,
fierce_deity = 0x51,
}
return {
ocarina = 0x00,
bow = 0x01,
fire_arrows = 0x02,
ice_arrows = 0x03,
light_arrows = 0x04,
bombs = 0x06,
bombchu = 0x07,
deku_stick = 0x08,
deku_nut = 0x09,
magic_beans = 0x0A,
powder_keg = 0x0C,
pictograph = 0x0D,
lens_of_truth = 0x0E,
hookshot = 0x0F,
fairy_sword = 0x10,
bottle = 0x12,
fairy = 0x16,
milk = 0x18,
fish = 0x1A,
bugs = 0x1B,
chateau_romani = 0x25,
mask_values = {
postman = 0x3E,
all_night = 0x38,
blast = 0x47,

View file

@ -1,52 +0,0 @@
local addrs = require "addrs"
require "item values"
local inv = addrs.inventory
local quantities = addrs.quantities
_=addrs.target_style and addrs.target_style(1)
addrs.hearts (16*20)
addrs.max_hearts (16*20)
addrs.doubled_hearts(20)
addrs.has_magic (1)
addrs.magic (0x60)
addrs.rupees (500)
addrs.tunic_boots (0xFF) -- normally 0x77
addrs.sword_shield (0xF7) -- normally 0x77?
addrs.upgrades (0x36E458) -- normally ?
addrs.quest_items (0x00FFFFFF)
inv.deku_stick (0x00)
inv.deku_nut (0x01)
inv.bombs (0x02)
inv.bow (0x03)
inv.fire_arrows (0x04)
inv.dins_fire (0x05)
inv.slingshot (0x06)
inv.ocarina (0x08)
inv.bombchu (0x09)
inv.hookshot (0x0B)
inv.ice_arrows (0x0C)
inv.farores_wind (0x0D)
inv.boomerang (0x0E)
inv.lens_of_truth (0x0F)
inv.magic_beans (0x10)
inv.hammer (0x11)
inv.light_arrows (0x12)
inv.nayrus_love (0x13)
inv.bottle_1 (0x14)
inv.bottle_2 (0x18)
inv.bottle_3 (0x19)
inv.bottle_4 (0x1C)
--trade_1 (0xFF)
--trade_2 (0xFF)
quantities.sticks (69)
quantities.nuts (69)
quantities.bombs (69)
quantities.arrows (69)
quantities.seeds (69)
quantities.bombchu (69)
quantities.beans (69)

View file

@ -1,124 +1,122 @@
-- gimme gimme gimme
local addrs = require "addrs"
local a = require "addrs"
require "item values"
local inv = addrs.inventory
local masks = addrs.masks
local quantities = addrs.quantities
_=addrs.target_style and addrs.target_style(1)
--addrs.buttons_enabled (0)
--addrs.infinite_sword(1)
addrs.owl_save (1)
addrs.sot_count (0)
_=addrs.bubble_timer and addrs.bubble_timer(0)
--
addrs.sword_shield (0x23)
addrs.quiver_bag (0x1B)
addrs.hearts (16*20)
addrs.max_hearts (16*20)
addrs.doubled_hearts(20)
addrs.owls_hit (0xFFFF)
addrs.map_visible (0xFFFF)
addrs.map_visited (0xFFFF)
addrs.wallet_size (32)
addrs.rupees (999)
addrs.banked_rupees (9999)
addrs.magic (0x60)
--addrs.has_magic (1)
addrs.has_normal_magic(1)
addrs.has_double_magic(1)
addrs.chateau_romani(8)
addrs.quest_items (0x00FFFFFF)
addrs.lottery_code_1(1*10000 + 2*0x100 + 3)
addrs.lottery_code_2(4*10000 + 5*0x100 + 6)
addrs.lottery_code_3(7*10000 + 8*0x100 + 9)
addrs.spider_mask_color_1(0)
addrs.spider_mask_color_2(0)
addrs.spider_mask_color_3(0)
addrs.spider_mask_color_4(0)
addrs.spider_mask_color_5(0)
addrs.bombers_code_1(1)
addrs.bombers_code_2(2)
addrs.bombers_code_3(3)
addrs.bombers_code_4(4)
addrs.bombers_code_5(5)
local oot = version:sub(1, 2) == "O "
addrs.items_wft(7)
addrs.items_sht(7)
addrs.items_gbt(7)
addrs.items_stt(7)
addrs.keys_wft(69)
addrs.keys_sht(69)
addrs.keys_gbt(69)
addrs.keys_stt(69)
addrs.fairies_wft(69)
addrs.fairies_sht(69)
addrs.fairies_gbt(69)
addrs.fairies_stt(69)
--addrs.slulltula_count_wf(69)
--addrs.slulltula_count_gb(69)
--inv.b_button (0x4F) -- don't really need this
inv.ocarina (0x00)
inv.bow (0x01)
inv.fire_arrows (0x02)
inv.ice_arrows (0x03)
inv.light_arrows (0x04)
inv.bombs (0x06)
inv.bombchu (0x07)
inv.deku_stick (0x08)
inv.deku_nut (0x09)
inv.magic_beans (0x0A)
inv.powder_keg (0x0C)
inv.pictograph (0x0D)
inv.lens_of_truth (0x0E)
inv.hookshot (0x0F)
inv.fairy_sword (0x10)
inv.bottle_1 (0x12)
inv.bottle_2 (0x1B)
inv.bottle_3 (0x1A)
inv.bottle_4 (0x18)
inv.bottle_5 (0x16)
inv.bottle_6 (0x25)
--addrs.event_1 (0x05)
--addrs.event_2 (0x0B)
--addrs.event_3 (0x11)
local mv = mask_values
local iv
if version == "JP10" or version == "JP11" then
mv = mask_values_early
iv = require "item values early"
elseif oot then
iv = require "item values oot"
else
iv = require "item values"
end
masks.postman (mv.postman )
masks.all_night (mv.all_night )
masks.blast (mv.blast )
masks.stone (mv.stone )
masks.great_fairy (mv.great_fairy )
masks.deku (mv.deku )
masks.keaton (mv.keaton )
masks.bremen (mv.bremen )
masks.bunny (mv.bunny )
masks.don_gero (mv.don_gero )
masks.scents (mv.scents )
masks.goron (mv.goron )
masks.romani (mv.romani )
masks.troupe_leader (mv.troupe_leader)
masks.kafei (mv.kafei )
masks.couples (mv.couples )
masks.truth (mv.truth )
masks.zora (mv.zora )
masks.kamaro (mv.kamaro )
masks.gibdo (mv.gibdo )
masks.garos (mv.garos )
masks.captains (mv.captains )
masks.giants (mv.giants )
masks.fierce_deity (mv.fierce_deity )
local inv = a.inventory
local masks = a.masks
local quantities = a.quantities
quantities.arrows (69)
quantities.bombs (69)
quantities.bombchu (69)
quantities.sticks (69)
quantities.nuts (69)
quantities.beans (69)
quantities.kegs (69)
local function set(f, v)
-- wrapper for addresses that *might* be undefined
if f then f(v) end
end
set(a.target_style, 1)
--set(buttons_enabled, 0)
--set(infinite_sword, 1)
set(a.owl_save, 1)
set(a.sot_count, 0)
set(a.target_style, 1)
set(a.bubble_timer, 0)
set(a.chateau_romani, 8)
a.hearts (16*20)
a.max_hearts (16*20)
a.doubled_hearts(20)
a.magic (0x60)
a.rupees (500)
if oot then
a.tunic_boots (0xFF) -- normally 0x77
a.sword_shield (0xF7) -- normally 0x77?
a.upgrades (0x36E458) -- normally ?
a.quest_items (0x00FFFFFF)
else
a.sword_shield (0x23)
a.quiver_bag (0x1B)
a.owls_hit (0xFFFF)
a.map_visible (0xFFFF)
a.map_visited (0xFFFF)
a.wallet_size (32)
a.banked_rupees (9999)
a.lottery_code_1(1*10000 + 2*0x100 + 3)
a.lottery_code_2(4*10000 + 5*0x100 + 6)
a.lottery_code_3(7*10000 + 8*0x100 + 9)
a.spider_mask_color_1(0)
a.spider_mask_color_2(0)
a.spider_mask_color_3(0)
a.spider_mask_color_4(0)
a.spider_mask_color_5(0)
a.bombers_code_1(1)
a.bombers_code_2(2)
a.bombers_code_3(3)
a.bombers_code_4(4)
a.bombers_code_5(5)
a.items_wft(7)
a.items_sht(7)
a.items_gbt(7)
a.items_stt(7)
a.keys_wft(69)
a.keys_sht(69)
a.keys_gbt(69)
a.keys_stt(69)
a.fairies_wft(69)
a.fairies_sht(69)
a.fairies_gbt(69)
a.fairies_stt(69)
end
set(a.has_magic, 1)
set(a.has_normal_magic, 1)
set(a.has_double_magic, 1)
a.quest_items (0x00FFFFFF)
--a.slulltula_count_wf(69)
--a.slulltula_count_gb(69)
--inv.b_button (0x4F) -- don't really need this
for k, f in pairs(inv) do
if iv[k] then f(iv[k]) end
end
if iv.longshot then
inv.hookshot(iv.longshot)
end
inv.bottle_1 (iv.bottle )
inv.bottle_2 (iv.fairy )
inv.bottle_3 (iv.bugs )
inv.bottle_4 (iv.fish )
set(inv.bottle_5, iv.milk )
set(inv.bottle_6, iv.chateau_romani)
--set(a.event_1, 0x05)
--set(a.event_2, 0x0B)
--set(a.event_3, 0x11)
if masks then
for k, f in pairs(masks) do
f(iv[k])
end
end
for k, f in pairs(quantities) do
f(69)
end