Claim set · data/claims/lufia-ii-tables.yaml

Lufia II's data tables (USA ROM, read through vinheim3's disassembly and Cellenseres's decompilation)

Game: Lufia II: Rise of the Sinistrals.

Each of the 224 monsters has a record reached through a table of 224 offsets at $96:85C0: the battle loader copies its 13-letter name, four words from +$11 to +$17, and four bytes from +$19 to +$1C, which it doubles into words; the routine at $81:FBDB reads the experience and gold it pays as words at +$1D and +$1F; and a list of three-byte entries from +$21, ended by 0, holds the drop: in an entry of kind 3 the low 9 bits name the item and the top 7 bits give the chance in percent. Terror Wave names the four words HP, MP, attack, and defense, the four bytes agility, intelligence, guts, and magic resistance, and the byte at +$0D the level. 132 monsters carry a drop. HP runs up to 65535 (Egg Dragon) and experience up to 60000 (Egg Dragon). lufia-ii-tables/monsters

No.MonsterLevelHpMpATPDFPAGL (stored)INT (stored)GUT (stored)MGR (stored)EXPGoldDropDrop %
0Goblin13102307064106711105227Short sword40
1Armor goblin1692308876106711155200Tough hide40
2Regal Goblin18102307482106711182220Franshiska40
3Goblin Mage201223065120406711272277Hi-Magic30
4Troll31252019212024272730798900Multi sword30
5Ork191223010082106711225231Jet helm10
6Fighter ork20122621108815151510253235Power gourd50
7Ork Mage22145788210720301710353280Hi-Magic30
8Lizardman22140121419030202020320281Big boomer50
9Skull Lizard261801801429324272430552463Mage shield10
10Armour Dait3630202482684825253414521422Metal coat30
11Dragonian2718812618214323422623594690Long sword30
12Cyclops4712521673402253553524852925500Ex-Potion50
13Mega Cyclops5415334406773435694858183918250Old armor4
14Flame genie561261483422302611008110045505550
15Well Genie55124648038529751100767644505350
16Wind Genie571274515402309911008110047505650
17Earth Genie56126250239534253100787545505550
18Cobalt1162155045135574752Long knife40
19Merman464263773032484642795833293994Charm fruit30
20Aqualoi504794263262815046866439974796
21Imp12653064501275126372Magic jar25
22Fiend458183563522823082378150525080Evil jewel4
23Archfiend5817351450420320831318812589808700
24Hound2919510318211240222216728887Flame jewel10
25Doben19102308890106711220201Blue beret30
26Winger2111092152588023195359380Magic jar30
27Serfaco474401673072497762626752805410Breeze fruit30
28Pug271824817210232252424592682Flame fruit30
29Salamander516922203843239483768364416109Flame jewel40
30Brinz Lizard405541963452415443604540424359Twist jewel30
31Seahorse302392041911193224453110401247
32Seirein464301923012403265578528283400Song rock30
33Earth Viper231508415214020202020358320
34Gnome32262141202132272729339201066Silver armor30
35Wispy198230821808030711216301Magic jar50
36Thunderbeast47726503883204165655450025420Thundo jewel30
37Lunar bear32408822051802527272220312083Power potion20
38Shadowfly21142921329224172720282388
39Shadow36468762621752927282714511482Gloom jewel4
40Lion2920402251165240403514331475Lion fang30
41Sphinx5312242503562625184766780588720Old helmet4
42Mad horse940143628128662840Horse rock1
43Armor horse24158781429926242419481383Horse rock20
44Buffalo952123830104433038Cloth helmet40
45Bruse23152017510242202020368330Hi-Potion50
46Bat3220221874441015
47Big Bat1048134840106473540Bat rock1
48Red Bat1688308078106711140120Potion100
49Eagle72812402896683030Eagle rock4
50Hawk1355217230136657052Eagle rock40
51Crow498674143523298055536366084000
52Baby Frog63083030866122025Rapier50
53King Frog24160781429240212020402350Regain50
54Lizard180146333335Charred newt100
55Newt1367196552766272120Charred newt100
56Needle Lizard125213563286683852Charred newt100
57Poison Lizard1362207054966887160Charred newt100
58Medusa3019512019112021452834760882Brave40
59Ramia342851082211522526252613251300Hi-Magic50
60Basilisk5250203353054170705039024630
61Cokatoris4136502692226635353420502415Life potion40
62Scorpion1469297433877290108Antidote50
63Antares20803011565106711252252Antidote100
64Small Crab12501045100544105243Hi-Potion100
65Big Crab147535601309775106174Power potion20
66Red Lobster201223092155106711242250Hi-Potion50
67Spider3230242042261212Antidote100
68Web Spider1582307570106711120182
69Beetle62482840666302225Potion100
70Poison Beetle15683074132106711114196Antidote100
71Mosquito5205262475271518Chop board50
72Coridras4035102622122635353419502330Antidote100
73Spinner24165781808025222022408340Life potion40
74Tartona4237602762222635353420922411Earth jewel40
75Armour Nail4845203152525260606129263520Power potion40
76Moth21401616622358
77Mega Moth1150186030225565452
78Big Bee1572308842306711131218Bee rock20
79Dark Fly251605018210047222222400331
80Stinger25168611826550242223527430Speed potion10
81Armor Bee2615001937860252520552480Bee rock30
82Sentopez84883244103352530Antidote60
83Cancer241654214215220171728502379Cancer rock20
84Garbost34282322122152831313312821219Cancer rock40
85Bolt Fish363062652361603830584018162179
86Moray322612242051393426503313161579
87She Viper423773312762214337715126903227
88Angler fish383292872471803933634420802495
89Unicorn403523082652214135674723832859
90Evil Shell201223092165106711245251
91Drill Shell281756517218020181821642695Confuse ball100
92Snell23150781491822621195358332Hi-Potion50
93Ammonite291985218318845252526725840Sleep ball100
94Evil Fish282087617811229272827664700Charm fruit30
95Squid535202112802824871766139854700
96Kraken5555003852973079797844505390
97Killer Whale444013542882274539755456935591
98White Whale484524013112524844836177037443
99Grianos469281833262804055554352305404
100Behemoth4912722803583225075808563256994Earth fruit50
101Perch364832442632043628543715851901
102Current507794263663015046866480976796
103Vampire Rose3934002522102128282717422079
104Desert Rose3428102211523042424212551330
105Venus Fly504794263262814460606033984062
106Moray Vine52505503382833961755038804620
107Torrent2517510016010019222525531453Awake100
108Mad Ent393411352482192734273317252080
109Crow Kelp3240502081382525252518251418
110Red Plant4045202852813257574240804360Ex-Potion50
111La Fleshia25164016110127171727532442Mystery pin100
112Wheel Eel39345502551802733334817202090Hi-Potion100
113Skeleton15112084281055115050Wood shield25
114Ghoul1893308242106711168188Antidote100
115Zombie21146921286224172720291288
116Specter271614817510250252525595685
117Dark Spirit373151342421872936354017292020Shriek100
118Snatcher24172015210221242427521390
119Jurahan30205018214221272742780897Hi-Magic30
120Demise444021962852274170625124582900Brave40
121Leech545424763722861101105410063886250Old sword4
122Necromancer33272103188132272222169821121Mind potion30
123Hade Chariot4471003062174277775744014891Power potion40
124Hades5817908874362078919110492549750
125Dark Skull3120510019712432252530800955Miracle4
126Hades Skull433621783052053562576423892900Miracle12
127Mummy3529302281571825253413991418Antidote100
128Vampire352921852521566943434114201477Bat rock50
129Nosferato456142103002254279675124552950Gloom jewel10
130Ghost Ship5678003952025182827745705500
131Deadly Sword22108971528230182821358200Deadly sword20
132Deadly Armor241425214220026202031422383Deadly armor20
133T Rex4388803432694247475346974820
134Brokion5012904203882833672725266866100Miracle12
135Pumpkin Head231589314210020313022364380Pumkin jewel30
136Mad Head373151512421683337354216692070Pumkin jewel40
137Snow Gas5012001803422204976709085087650
138Great Coca5820906644123156191919399009700
139Gargoyle3221876202175292728271523960
140Rogue Shape413625002522822635353420522330Battledriver100
141Bone Gorem3833001902612534342117382050Spell potion40
142Nuborg181223078152106711175202Sour cider50
143Wood Gorem181123078152106711185208Secret fruit20
144Mad Gorem261828216416216111119572450Hi-Magic30
145Green Clay211379212011224172720308278Breeze fruit10
146Sand Gorem221519713512525182821336285Earth fruit20
147Magma Gorem514801203343322515153534704100Magma rock30
148Iron Gorem4237702762713440404321232400Hi-Magic30
149Gold Gorem535212704423424173736940005000
150Hidora3852902772003325254032123090Ex-Potion40
151Sea Hidora466311003452453962625359645490Hidora rock30
152High Hidora507001993622824573706766906080Hidora rock30
153King Hidora482000836359304529494103146509200
154Orky59280003501506494941861887015700Gorgan rock4
155Waiban433891522822257453535324152880
156White Dragon535503503523009580909340004820Holy fruit50
157Red Dragon51700468352280531038510568316130Power potion30
158Blue Dragon548824513922946296929793978220
159Green Dragon496802303242826394737663306050Life potion30
160Black Dragon54120040039830063997310093869263Dark fruit50
161Copper Dragon592400900429328701281261111898018000
162Silver Dragon9028001000439332701331021442028020200Silver eye4
163Gold Dragon6027801350476370711401501402698026700Gold eye4
164Red Jelly1601214322322
165Blue Jelly5260282476661620
166Bili Jelly126206046888156253
167Red Core18101008030010010101022221
168Blue Core3220200140700200101050111111
169Green Core39302002001300200101080333331
170No Core505020028020002003535120555551
171Mimic106060644020141030130250
172Blue Mimic4036502402226635353420502415
173Ice Roge57565139040230240127125127875014450
174Mushroom216018165225710Potion100
175Big Mushr'm19108309082106711210221Hi-Potion100
176Minataurus3462103021924734342932804000Miracle8
177Gorgon5483304863173285855283548240Gorgon rock30
178Ninja39340752862026628282717842250Mysto jewel4
179Asashin3622002621428451515014551421Mysto jewel5
180Samurai3832902681796937373817512060Samu jewel4
181Dark Warrior4440003181954142423323932860Hi-Magic50
182Ochi Warrior28190017810927121211643720Samu jewel1
183Sly Fox486542033422259076765160755555Ex-Magic80
184Tengu334751212121636026263516871411Hi-Magic40
185Warm Eye525103683352824197868939054700Ex-Magic80
186Wizard454153652821843950348224202840Hi-Magic40
187Dark Sum'ner60540320300304150126929748975720
188Big Catfish8200504510108815500500Catfish jwl.50
189Follower101501208060115520100250
190Tarantula17200032015012018302010040005000Spido jewel12
191Pierre101200320140100503020203001000
192Daniele101200320140100503020203001000
193Venge Ghost5075002000250360100100501502000050000
194Fire Dragon507500200080025090150502003000040000
195Tank5010000011003004000100400001
196Idura1015003202001601636921550001000
197Camu151500320140701818405030005000Camu jewel12
198Gades507500320420290929692975000050000
199Amon5010000500080020092150922005000050000
200Erim5015000500030025050100922505000050000
201Daos502000050040050602001002505000050000
202Lizard Man4800322858810100125
203Goblin730836421366123050
204Skeleton53084632866123050
205Regal Goblin1350012080601155401800500
206Goblin975156050655711
207Goblin Mage9608242351820162011
208Slave10150408060115520100250
209Follower1030040250200115520100250
210Groupie1030040240200115520100250Magic fruit100
211Egg Dragon506553520001500500255200502556000060000
212Mummy22150012010250161616100500
213Troll34200013010050161616100500
214Gades5030003202401802009692971000020000
215Idura292500300280200505050501000010000
216Lion29100002001205861755050008000
217Rogue Flower3530000380209213028501200020000
218Gargoyle34100029728021440346510030003000
219Ghost Ship50100005000500300518282773000050000
220Idura293500300360200507050501000010000
221Soldier364002652361603830584025001000
222Gades501000006002009296922005000050000
223Master509980010125511111
Codelufia2-disasm: a WLA-DX disassembly of Lufia II: Rise of the Sinistrals (USA) · code/bank_001.s#L18568-L18633rep #ACCU_8 ; $fc2a : $c2, $20 and #$00ff.w ; $fc2c : $29, $ff, $00 asl ; $fc2f : $0a tay ; $fc30 : $a8 lda InBattleEnemyData.w, Y ; $fc31 : $b9, $c0, $85 clc ; $fc34 : $18 adc #InBattleEnemyData.w ; $fc35 : $69, $c0, $85 tax ; $fc38 : $aa ; Load addr of enemy data in +45 ldy #$0045.w ; $fc39 : $a0, $45, $00 sta [wLoadedInBattleEnemyStruct], Y ; $fc3c : $97, $b2 sep #ACCU_8 ; $fc3e : $e2, $20 …Our readingoffset = table[monster]; record = $96:85C0 + offset18568–18575copy the 13-byte name18583–18589skip the level byte; copy byte $0E18592–18598copy the words at $11 and $13 into the fighter18601–18609copy the words at $15 and $1718611–18619for each byte at $19-$1C: store the byte times 2 as a word18621–18633lufia2-disasm: a WLA-DX disassembly of Lufia II: Rise of the Sinistrals (USA) · code/bank_001.s#L18396-L18439rep #ACCU_8 ; $fb1a : $c2, $20 stz wCurrEnemyGoldGiven.w ; $fb1c : $9c, $fe, $09 lda wHitEnemyIdx.w ; $fb1f : $ad, $fa, $09 and #$00ff.w ; $fb22 : $29, $ff, $00 asl ; $fb25 : $0a tax ; $fb26 : $aa lda InBattleEnemyData.l, X ; $fb27 : $bf, $c0, $85, $96 clc ; $fb2b : $18 adc #$0021.w ; $fb2c : $69, $21, $00 tax ; $fb2f : $aa sep #ACCU_8 ; $fb30 : $e2, $20 br_01_fb32: …Our readingwalk the monster's entry list from record + $2118396–18406an entry of kind 0 ends the list18409–18410for kind 3 with a nonzero word: chance = the word's high byte / 218413–18424if random(100) < chance and random(4) = 1: the drop is the word's low 9 bits18425–18439lufia2-disasm: a WLA-DX disassembly of Lufia II: Rise of the Sinistrals (USA) · code/bank_001.s#L18522-L18541Call_01_fbdb: phx ; $fbdb : $da lda wHitEnemyIdx.w ; $fbdc : $ad, $fa, $09 rep #ACCU_8 ; $fbdf : $c2, $20 and #$00ff.w ; $fbe1 : $29, $ff, $00 asl ; $fbe4 : $0a tax ; $fbe5 : $aa lda InBattleEnemyData.l, X ; $fbe6 : $bf, $c0, $85, $96 tax ; $fbea : $aa sep #ACCU_8 ; $fbeb : $e2, $20 lda InBattleEnemyData.l+$1d, X ; $fbed : $bf, $dd, $85, $96 sta wCurrEnemyExpGiven.w ; $fbf1 : $8d, $fc, $09 …Our readingexperience = the fallen enemy's word at +$1D; gold = its word at +$1F18524–18539Terror Wave: a Lufia 2 randomizer · tables/struct_monster.txt#L1-L15name_text,13,str level,1 unknown,1 battle_sprite,1 palette,1 hp,2 mp,2 attack,2 defense,2 agility,1 intelligence,1 guts,1 …lufia2-disasm: a WLA-DX disassembly of Lufia II: Rise of the Sinistrals (USA) · code/bank_000.s#L398-L430phb ; $8299 : $8b phk ; $829a : $4b plb ; $829b : $ab phx ; $829c : $da phy ; $829d : $5a php ; $829e : $08 sep #ACCU_8|IDX_8 ; $829f : $e2, $30 xba ; $82a1 : $eb ; check counter to updating RNG ldx wCounterTilSlowlyUpdatingRNG.w ; $82a2 : $ae, $59, $05 inx ; $82a5 : $e8 cpx #$37.b ; $82a6 : $e0, $37 …Our readingevery 55 calls, refill the random bytes408–416return (A × the next random byte) / 256, from 0 to A − 1419–425Lufia II - Rise of the Sinistrals (USA) · 0xB05C0-0xB4F18 — $96:85C0, the offset table and the recordsChecked by claude, 2026-11-08 — read the battle loader and the drop roll in the disassembly, and decoded every record from the ROM's bytes by those offsetsRevised after a check by a second AI model, 2026-11-08.

The layout and values are read by the quoted routines; the field names are Terror Wave's. The battle loader skips the level byte. The drop column gives the stored percent; the routine then also needs a 1-in-4 roll, so a 40 there drops on about 10% of kills. Agility through magic resistance are the stored bytes; in battle each is twice the value shown.

Each of the 467 items, from no. 0 (no equipment) to no. 466, has a record reached through a table of 467 offsets at $96:CF69 and a 12-letter name at $9E:C7E8. The record's first nine bytes are copied as a block, and four mask bytes follow; each set mask bit, lowest first, adds a word. Byte 7's lowest set bit picks the equipment slot, byte 8 has one bit per character who can equip the item, the word at +5 is the price the Ancient Cave holds under its floor's limit, the seven words of mask bits 4 to 10 are what equipping adds, and mask bit 15's word names the item's IP attack. Terror Wave names the rest: bytes 0 to 4 use flags, more flags, targeting, icon, and sprite; byte 7's bits, low first, weapon, armor, shield, helmet, ring, and jewel; and the seven added words attack, defense, strength, agility, intelligence, guts, and magic resistance. The table holds 116 weapons, 66 armors, 45 shields, 53 helmets, 41 rings, 33 jewels, and 108 items with no kind bit. lufia-ii-tables/items

No.ItemKindPriceWho equipsATPDFPSTRAGLINTGUTMGRIP attackIP cost
0No equipitem0
1Charred newtitem8
2Potionitem8
3Hi-Potionitem100
4Ex-Potionitem500
5Magic jaritem10
6Hi-Magicitem500
7Ex-Magicitem2000
8Regainitem500
9Miracleitem2000
10Antidoteitem6
11Awakeitem10
12Shriekitem5
13Mystery pinitem30
14Power gourditem100
15Mind gourditem100
16Magic guarditem50
17Life potionitem2
18Spell potionitem2
19Power potionitem2
20Speed potionitem2
21Mind potionitem2
22Braveitem2
23Pear cideritem10
24Sour cideritem20
25Lime cideritem40
26Plum cideritem80
27Apple cideritem1000
28Sleep ballitem100
29Confuse ballitem100
30Freeze ballitem100
31Smoke ballitem100
32Ice ballitem200
33Fire ballitem200
34Terror ballitem1000
35Ear pickitem5
36Boomerangitem20
37Big boomeritem500
38Ex-boomeritem2000
39Dragon toothitem500
40Green teaitem10
41Escapeitem100
42Warpitem120
43Dragon eggitem0
44Curselifteritem1
45Providenceitem1
46Secret fruititem10
47Holy fruititem10
48Breeze fruititem10
49Charm fruititem10
50Dark fruititem10
51Earth fruititem10
52Flame fruititem10
53Magic fruititem10
54Dual bladeweapon0Maxim400Wave motion255
55Frypanweapon10Selan, Tia4
56Knifeweapon13Selan, Tia5
57Small knifeweapon20Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis8
58Rapierweapon100Maxim, Selan, Artea10
59Battle knifeweapon200Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis14Thunder blast96
60Daggerweapon400Maxim, Guy, Artea, Dekar, Lexis22
61Insect crushweapon650Maxim, Guy, Dekar212Bomb attack64
62Long knifeweapon800Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis38
63Short swordweapon900Maxim, Selan, Guy, Artea, Dekar, Lexis42Ice attack96
64Light knifeweapon1000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis3210Light attack96
65Kukriweapon1500Maxim, Guy, Dekar52Thunder blast96
66Gladiusweapon2400Maxim, Guy, Artea, Dekar, Lexis68Holy energy164
67Cold rapierweapon4200Maxim, Selan, Artea76102Glacial blast164
68Scimitarweapon4400Maxim, Selan, Artea90Ice attack96
69Deadly swordweapon4500Maxim20
70Deadly swordweapon4500Maxim120Battlecry128
71SuhrCustom11weapon4980Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis50
72Bronze swordweapon5000Maxim, Guy, Dekar98Water attack96
73Fire daggerweapon6000Maxim, Guy, Artea, Dekar, Lexis506Blaze attack164
74War rapierweapon7600Maxim, Selan, Artea114Thunder blast96
75Long swordweapon8000Maxim, Guy, Dekar120
76Beserk bladeweapon9000Guy, Dekar, Lexis250
77Beserk bladeweapon9000Guy, Dekar, Lexis200Bomb attack64
78Multi swordweapon9450Maxim, Guy, Dekar86Bomb attack64
79Rockbreakerweapon9850Maxim164Thunder blast96
80Broadswordweapon11000Maxim, Guy, Dekar188
81Estokweapon11500Maxim, Selan, Artea192Flame attack64
82Silvo rapierweapon13200Maxim, Selan, Artea218Holy energy164
83Burn swordweapon15000Maxim, Selan, Guy, Dekar180Firestorm224
84Dekar bladeweapon15000Dekar188Fatal blow255
85Crazy bladeweapon19700Maxim, Selan, Artea, Tia, Lexis263Dive bomber96
86Deadly swordweapon20000Maxim, Guy, Dekar
87Deadly swordweapon100Maxim, Guy, Dekar10010Bomb attack64
88Luck rapierweapon20000Maxim, Selan, Artea, Lexis
89Luck rapierweapon20000Maxim, Selan, Artea, Lexis290
90Aqua swordweapon20000Selan, Artea, Tia26010Torrent224
91Red saberweapon21400Maxim282Blaze attack164
92Lucky bladeweapon24000Maxim, Guy, Dekar, Lexis
93Lucky bladeweapon24000Maxim, Guy, Tia, Dekar, Lexis300
94Mist rapierweapon25100Maxim, Selan, Artea283Aqua attack164
95Boom swordweapon28000Maxim, Guy, Dekar300Thundershriek224
96Freeze swordweapon28000Maxim, Selan, Artea3006Arctic freeze224
97Silver swordweapon29000Maxim314Holy energy164
98Flying blowweapon30000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis240Swoop224
99Super swordweapon30000Selan, Tia3201010Holy energy164
100Buster swordweapon45500Maxim355Bomb attack64
101Rune rapierweapon49300Artea362Bomb attack64
102Old swordweapon50000Maxim, Guy, Dekar400Battlecry128
103Lizard blowweapon50000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis36020Dragon rush164
104Zirco swordweapon51000Maxim386Firestorm224
105Sizzle swordweapon55000Maxim, Selan40020Firestorm224
106Blaze swordweapon55000Selan4002020Celestial224
107Myth bladeweapon60000Maxim, Guy, Dekar450Battle fury192
108Gades bladeweapon60000Guy, Dekar200Octo-strike255
109Sky swordweapon65000Maxim, Guy, Dekar40050Skysplitter255
110Snow swordweapon65000Selan, Tia3805050Deep freeze255
111Fry swordweapon65000Guy, Dekar4001010101010Sizzle255
112Egg swordweapon65000Maxim, Selan, Guy, Artea, Tia, Dekar, LexisHardboiled8
113Franshiskaweapon2600Guy, Dekar70
114Thunder axweapon6000Guy, Dekar1008Thunderball164
115Hand axweapon6000Guy, Dekar104Bomb attack64
116Bronze axweapon9700Guy, Dekar162Bomb attack64
117Flying axweapon9900Guy, Dekar170Deadly smash164
118Rainy axweapon18500Guy, Dekar260Bomb attack64
119Great axweapon47500Guy, Dekar365
120Zirco axweapon52500Guy, Dekar394Torrent224
121Mega axweapon55000Guy, Dekar40020Thundershriek224
122Maceweapon600Selan, Artea, Tia30
123Rodweapon1800Selan, Artea, Tia58
124Staffweapon3600Selan, Artea, Tia78
125Deadly rodweapon5200Selan, Artea, Tia
126Deadly rodweapon5200Selan, Artea, Tia110Devastation64
127Sleep rodweapon6000Selan, Artea, Tia100Sleep stinger96
128Long staffweapon6200Selan, Artea, Tia102
129Holy staffweapon8000Selan, Artea, Tia180Holy energy164
130Morning starweapon10000Selan, Artea172
131Pounder rodweapon15500Selan, Artea, Tia240
132Crystal wandweapon24000Selan, Artea, Tia280Holy energy164
133Silver rodweapon35000Selan, Artea, Tia320Celestial224
134Zirco rodweapon48000Selan, Artea, Tia360
135Zirco flailweapon52000Guy, Dekar390Arctic freeze224
136Spark staffweapon65000Selan, Artea, Tia3505050Phoenix blow255
137Whipweapon300Selan, Tia20Flame attack64
138Wireweapon1200Selan, Tia48Water attack96
139Chainweapon2200Selan, Tia66Dive bomber96
140Aqua whipweapon3800Selan, Tia72510Aqua attack164
141Cutter whipweapon9100Selan, Tia132Dive bomber96
142Royal whipweapon13000Selan, Tia220Ice attack96
143Holy whipweapon30000Selan, Tia300Celestial224
144Zirco whipweapon52000Selan, Tia384Thundershriek224
145Air whipweapon55000Selan, Tia40020Arctic freeze224
146Fatal pickweapon6300Selan, Artea, Tia
147Fatal pickweapon6300Selan, Artea, Tia150
148Spearweapon13500Guy, Dekar222Dive bomber96
149Tridentweapon20900Guy, Dekar268Water attack96
150Halberdweapon23500Guy, Dekar285Thunder blast96
151Heavy lanceweapon31800Guy, Dekar330Bomb attack64
152Water spearweapon55000Artea, Lexis40020Torrent224
153Dragon spearweapon65000Selan, Artea380502525Flood255
154Vice pliersweapon6000Lexis140
155Coma hitweapon8000Lexis180Sleep stinger96
156Figgoruweapon9500Lexis195Confusion96
157Superdriverweapon12000Lexis190Bomb attack64
158Stun gunweapon14500Lexis240Stun shocker96
159Battledriverweapon18200Lexis253
160Launcherweapon13000Artea, Lexis150Swoop224
161Freeze bowweapon37600Artea180Glacial blast164
162Cursed bowweapon50000Artea
163Arty's bowweapon30000Artea300Mirror block32
164Apronarmor60Selan, Tia4
165Dressarmor90Selan, Tia5
166Clotharmor140Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis6
167Lab-coatarmor180Lexis7Power healing128
168Hide armorarmor250Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis9
169Frockarmor400Selan, Tia11Healing64
170Robearmor450Selan, Artea, Tia13
171Cloth armorarmor600Maxim, Guy, Dekar17Antidote16
172Coatarmor700Selan, Tia15Re-energize32
173Tough hidearmor800Maxim, Guy, Dekar19Re-energize32
174Light dressarmor1000Selan, Tia20Re-energize32
175Light armorarmor1200Maxim, Guy, Dekar25Free magic16
176Camu armorarmor1500Guy, Dekar305Divine cure96
177Baggyarmor1600Selan, Tia26
178Tight dressarmor2850Selan, Tia33Reawaken16
179Chainmailarmor3000Maxim, Guy, Artea, Dekar, Lexis35
180Holy wingsarmor3200Selan, Tia335Holy healing128
181Ironmailarmor3500Guy, Dekar39Paralysis cure16
182Togaarmor3600Selan, Tia40
183Chain armorarmor4500Maxim, Guy, Dekar47
184Thick clotharmor4700Guy, Dekar48Paralysis cure16
185Stone platearmor4850Dekar49Reviver164
186Long robearmor5000Selan, Tia50Power healing128
187Plated clotharmor5800Maxim, Guy, Artea, Dekar, Lexis54
188Iron platearmor5950Guy, Dekar59Reviver164
189Metal mailarmor6250Dekar68Sacred song64
190Silk togaarmor6300Selan, Tia64Power healing128
191Silver armorarmor7200Maxim, Guy, Dekar66Magic cure128
192Light jacketarmor7600Guy, Dekar68
193Metal coatarmor7750Selan, Tia75Magic cure128
194Silver mailarmor8700Maxim, Guy, Artea, Dekar, Lexis76Magic cure128
195Power jacketarmor9000Guy, Dekar78
196Quilted silkarmor9200Selan, Tia82Reviver164
197Metal armorarmor9300Guy, Dekar80Paralysis cure16
198Power capearmor10000Selan, Tia82
199Magic bikiniarmor10000Selan, Tia60Magic cure128
200Silver robearmor11000Selan, Artea, Tia84Revival sleep64
201Evening gownarmor11100Selan, Tia87Sacred song64
202Plate armorarmor11300Maxim, Guy, Dekar88
203Plati platearmor12000Maxim, Guy, Dekar92Divine cure96
204Silk robearmor12700Selan, Artea, Tia91
205Revive armorarmor14000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis905Revival sleep64
206Crystal mailarmor14500Maxim, Guy, Dekar100Sudden cure96
207Crystal robearmor15000Selan, Artea, Tia98Rejuvenation192
208Heal armorarmor18000Maxim, Guy, Dekar100Rebirth224
209Metal jacketarmor20000Guy, Dekar106
210Deadly armorarmor20000Maxim, Guy, Dekar80Iron kick48
211Deadly armorarmor100Maxim, Guy, Dekar605Recovery128
212Eron dressarmor22000Selan, Tia110Recovery128
213Bright armorarmor24000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis12020Sudden cure96
214Bright clotharmor28000Lexis93Recovery128
215Power robearmor30000Selan, Artea, Tia110Sacred song64
216Magic scalearmor30000Maxim, Selan, Artea, Tia, Lexis100101010Magic healing192
217Holy robearmor32000Selan, Artea, Tia12440Crisis cure164
218Ghostclothesarmor35000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis100Rejuvenation192
219Royal dressarmor38000Selan, Tia122Rejuvenation192
220Full mailarmor40000Guy, Dekar130
221Old armorarmor50000Guy, Dekar12020Regeneration255
222Zircon platearmor51200Selan, Artea, Lexis142Sudden cure96
223Zircon armorarmor54000Maxim, Guy, Dekar150Magic cure128
224Mirak platearmor55000Maxim, Guy, Dekar120Magic rebirth255
225Ruse armorarmor58000Selan, Tia140Regeneration255
226Pearl armorarmor60000Maxim140Phoenix255
227Chop boardshield30Selan, Tia1
228Small shieldshield100Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2
229Hide shieldshield400Maxim, Guy, Artea, Dekar, Lexis5
230Bucklershield600Maxim, Guy, Dekar8
231Mini shieldshield800Selan, Artea, Tia, Lexis10Battle lust32
232Wood shieldshield1200Maxim, Guy, Artea, Dekar, Lexis15
233Braceletshield1400Selan, Tia14Ironclad32
234Power braceshield2000Maxim, Selan, Artea, Tia, Lexis105Spell repel32
235Kite shieldshield2200Maxim, Guy, Dekar20Fleet32
236Tough glovesshield2600Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis18
237Brone shieldshield3600Maxim, Guy, Dekar28Spell repel32
238Anger braceshield4000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis28510Battle lust32
239Block shieldshield4200Selan, Tia22Ironclad32
240Tecto glovesshield4300Selan, Artea, Tia, Lexis30Lightbulb32
241Round shieldshield4600Maxim, Guy, Dekar34
242Pearl braceshield5000Selan, Tia1610Lightbulb32
243Fayza shieldshield5000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis385Fleet32
244Big shieldshield5900Maxim, Guy, Dekar37
245Tall shieldshield6000Dekar40Beserker64
246Silvo shieldshield6900Maxim425Aura protect64
247Spike shieldshield7500Maxim, Guy, Dekar1544
248Slash shieldshield7500Selan, Artea, Tia, Lexis1045Battle lust32
249Mage shieldshield8000Maxim, Selan, Artea, Tia, Lexis5010Lightbulb32
250Tuff bucklershield8200Maxim, Guy, Dekar48
251Tect bucklershield8500Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis55Quicksilver64
252Gold glovesshield8600Selan, Artea, Tia, Lexis57Flame guard128
253Gold shieldshield8800Maxim, Guy, Dekar58Flame guard128
254Plati glovesshield10600Selan, Artea, Tia, Lexis61Thunder guard128
255Plati shieldshield11400Maxim, Guy, Dekar63Ice guard128
256Gauntletshield13200Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis68Power guard128
257Rune glovesshield18800Artea7223Shadow guard128
258Holy shieldshield26300Maxim, Guy, Dekar7615Light guard128
259Zirco glovesshield32300Selan, Artea, Tia, Lexis8014Forcefield64
260Zirco shieldshield34400Maxim, Guy, Dekar848Beserker64
261Old shieldshield35000Guy, Artea, Dekar8010Ancient power128
262Flame shieldshield35000Maxim, Guy, Dekar8010Flameblock255
263Water gauntshield35000Selan, Artea, Tia, Lexis701010Water screen255
264Bolt shieldshield37000Guy, Dekar8010Thunderblock255
265Cryst shieldshield37000Selan, Tia8010Holy shield255
266Mega shieldshield38000Guy, Dekar90Iron barrier255
267Dark mirrorshield38000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis150
268Dark mirrorshield40000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis801010Dark mist255
269Apron shieldshield40000Maxim, Guy, Dekar801010Holy wall255
270Pearl shieldshield40000Maxim90Miracle care128
271Pothelmet30Selan, Tia1
272Berethelmet150Selan, Artea, Tia, Lexis2Sluggish128
273Caphelmet240Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2
274Cloth helmethelmet400Maxim, Guy, Artea, Dekar, Lexis4
275Hairbandhelmet400Selan, Tia62
276Headbandhelmet600Selan, Tia92Forgetful128
277Hide helmethelmet800Maxim, Guy, Artea, Dekar, Lexis13
278Jet helmhelmet800Maxim, Guy, Artea, Dekar, Lexis74Sluggish128
279Red berethelmet1000Selan, Artea, Tia, Lexis15Spellstruck128
280Glass caphelmet1300Selan, Artea, Tia, Lexis16
281Wood helmethelmet1400Maxim, Guy, Dekar18
282Blue berethelmet2300Selan, Artea, Tia, Lexis20
283Brone helmethelmet2500Maxim, Guy, Dekar22Menace128
284Stone helmethelmet2900Guy, Dekar23Weakpoint128
285Clochehelmet3000Selan, Artea, Tia, Lexis25
286Fury helmethelmet3000Maxim, Guy, Dekar82210Menace128
287Iron helmethelmet3600Maxim, Guy, Dekar28Slow196
288Tight helmethelmet3800Dekar32
289Turbanhelmet4100Selan, Artea, Tia, Lexis31Dimwit196
290Plate caphelmet4500Maxim, Guy, Dekar33
291Roomy helmethelmet4800Guy, Dekar34
292Tight turbanhelmet5000Selan, Artea, Tia, Lexis36Vulnerable196
293Glass clochehelmet5200Selan, Artea, Tia, Lexis42
294Plate helmethelmet5500Maxim, Guy, Dekar38
295Rock helmethelmet5700Dekar39Weaponweak192
296Jute helmethelmet6000Maxim, Guy, Dekar188Spellstruck128
297Shade hathelmet6200Selan, Artea, Tia, Lexis46
298Metal clochehelmet6300Artea, Lexis40
299SilverHelmethelmet6800Maxim, Guy, Dekar434Slow196
300Fury ribbonhelmet8000Selan, Artea, Tia5010Weakpoint128
301Silver hathelmet8500Maxim4710Dimwit196
302Eron hathelmet8800Guy, Dekar49Meltdown192
303Circlethelmet9000Selan, Artea, Tia, Lexis5018
304Golden helmhelmet9200Maxim, Guy, Dekar52Slow196
305Gold bandhelmet9400Selan, Artea, Tia, Lexis54Dimwit196
306Plati bandhelmet10400Selan, Artea, Tia, Lexis58Weaponweak192
307Plati helmhelmet10800Maxim, Guy, Dekar58Vulnerable196
308Crysto berethelmet14600Selan, Artea, Tia, Lexis6329
309Crysto helmhelmet15200Maxim, Guy, Dekar6429Weakpoint128
310Holy caphelmet18600Selan, Artea, Tia, Lexis6823Vulnerable196
311Safety hathelmet19700Lexis705Swordsplitter255
312Zirco bandhelmet33200Selan, Artea, Tia, Lexis74Dimwit196
313Zirco helmethelmet34000Maxim, Guy, Dekar76Slow196
314Old helmethelmet35000Guy, Dekar8010Anger mirror214
315Agony helmhelmet35000Maxim, Guy, Dekar8010Flame return164
316Boom turbanhelmet35000Selan, Artea, Tia, Lexis8010Thunderturn164
317Aqua helmhelmet37000Selan, Artea, Tia8010Aqua mirror164
318Ice hairbandhelmet37000Selan, Tia8010Ice mirror164
319Legend helmhelmet37000Maxim, Guy, Dekar90Boomerang164
320Hairpinhelmet40000Selan, Tia801010Dark mirror164
321Brill helmhelmet40000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis80101010Holy mirror164
322Pearl helmethelmet40000Maxim90Brilliance255
323Ear jewelring500Selan, Tia2
324Glass bracering800Selan, Tia222
325Glass ringring1000Selan, Tia22Confuse32
326Earringring1000Selan, Tia55Thunder128
327Speedy ringring2000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Fake32
328Power ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Trick32
329Muscle ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Bravery32
330Protect ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Courage64
331Mind ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Stronger64
332Witch ringring3000Selan, Tia1020Deflect32
333Fire ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Fireball64
334Water ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Vortex64
335Ice ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Blizzard64
336Thunder ringring3000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Bolt64
337Fury ringring4000Selan, Tia20Dread32
338Mystery ringring5000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis1010Mirror32
339Sonic ringring6000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Fake32
340Hipower ringring6000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Trick32
341Trick ringring7000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Trick32
342Fake ringring7000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Fake32
343S-fire ringring8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Firebird128
344S-water ringring8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Dragon128
345S-ice ringring8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Ice.....128
346S-thun ringring8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Thunder128
347S-power ringring9000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Bravery32
348S-mind ringring11000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Champion128
349S-pro ringring12000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Courage64
350S-witch ringring13000Selan, Tia2040Deflect32
351Undead ringring13000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis25Perish64
352Rocket ringring14000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Fake32
353Ghost ringring20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis50Destroy128
354Angry ringring25000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Dread32
355S-myst ringring26000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2020Mirror32
356Dia ringring30000Selan, Tia303020Zap128
357Sea ringring32000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20101020Vortex64
358Dragon ringring42000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis3030202020Dragon128
359Engage ringring50000SelanCourage64
360Egg ringring65000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis999999999999999
361Horse rockjewel5000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10Frenzy96
362Eagle rockjewel5000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis515Dive128
363Lion fangjewel8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis1510Bite128
364Bee rockjewel8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Immobilize128
365Snake rockjewel8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis1010Tail attack128
366Cancer rockjewel8000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20Scissor slash96
367Pumkin jeweljewel10000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis1020Head attack164
368Uni jeweljewel10000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis50Dash96
369Mysto jeweljewel15000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2020Ninja128
370Samu jeweljewel15000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2020Samurai128
371Bat rockjewel18000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis105Vampire32
372Hidora rockjewel18000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis202010Triple attack196
373Flame jeweljewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis10105Incendiary164
374Water jeweljewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis102010Frost164
375Thundo jeweljewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis201010Voltage bolt164
376Earth jeweljewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2020Groundshock164
377Twist jeweljewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2030Twister128
378Gloom jeweljewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis50Dark force128
379Tidal jeweljewel20000Selan, Tia20Tidal wave128
380Magma rockjewel20000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis202010Magma blast164
381Evil jeweljewel25000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis120Perish64
382Evil jeweljewel25000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis80Gloomy164
383Gorgon rockjewel28000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2525Ax attack164
384Song rockjewel28000Selan, Tia1010Do-re-mi96
385Kraken rockjewel28000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis302010Ten-legger164
386Catfish jwl.jewel40000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis2020Mega quake20
387Camu jeweljewel40000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis202020Buster attack128
388Spido jeweljewel40000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis1020Spiderweb64
389Gorgan rockjewel42000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis402020Combo attack196
390Light jeweljewel47000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis202020Flash96
391Black eyejewel50000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20202020Gloomsplash196
392Silver eyejewel60000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20202020Diamond dust196
393Gold eyejewel65000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis20202020Stardust blow224
3941 coinitem10
39510 coin setitem100
39650 coin setitem500
397100 coin setitem1000
398Flame charmitem2
399Zap charmitem2
400Magic lampitem75
401Statueitem1
402Rage knifeweapon5Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis40Bomb attack64
403Fortune whipweapon250Selan, Tia2608
404Dragon bladeweapon2500Maxim, Guy450Dragonfire224
405Bunny ringring100Selan, Artea, Tia5Thunder128
406Bunny earshelmet200Selan, Artea, Tia10Swordsplitter255
407Bunnyladyshield200Selan, Artea, Tia10Beserker64
408Bunny swordweapon300Selan, Artea, Tia500Battle fury192
409Bunnysuitarmor300Selan, Artea, Tia20Magic rebirth255
410Seethru capearmor50Selan, Tia1Miracle196
411Seethru silkarmor50Selan, Tia1Regeneration255
412Iris sworditem0
413Iris shielditem0
414Iris helmetitem0
415Iris armoritem0
416Iris ringitem0
417Iris jewelitem0
418Iris staffitem0
419Iris potitem0
420Iris tiaraitem0
421Power jellyitem0
422Jewel sonaritem100
423Hookother2000
424Bombother1000
425Arrowother1000
426Fire arrowother3000
427Hammerother4500
428Treas. sworditem0
429Door keyitem0
430Shrine keyitem0
431Sky keyitem0
432Lake keyitem0
433Ruby keyitem0
434Wind keyitem0
435Cloud keyitem0
436Light keyitem0
437Sword keyitem0
438Tree keyitem0
439Flower keyitem0
440Magma keyitem0
441Heart keyitem0
442Ghost keyitem0
443Trial keyitem0
444Dankirk keyitem0
445Basement keyitem0
446Narcysus keyitem0
447Truth keyitem0
448Mermaid jadeitem0
449Engineitem0
450Ancient keyitem0
451Pretty flwr.item0
452Glass angelitem0
453VIP carditem0
454Key26item0
455Key27item0
456Key28item0
457Key29item0
458Key30item0
459Crownitem0
460Ruby appleitem0
461PURIFIAitem0
462Tag ringring50000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis
463Tag ringring50000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis
464RAN-RAN stepweapon5000Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis
465Tag candyitem60000
466Lastweapon65535Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis300
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/item/item_records.c#L82-L173static void ItemRecordAddress( const Lufia2Memory *memory, Lufia2CpuState *cpu) { Push8(memory, cpu, PackStatus(cpu)); SetAccumulatorWidth(cpu, 0); SetIndexWidth(cpu, 0); LoadA16(cpu, Read16AbsoluteIndexed(memory, cpu, ITEM, 0)); And16(cpu, 0x01ffu); AslA16(cpu); TransferAToX(cpu); LoadA16(cpu, Read16Long(memory, LongIndexedAddress(0x96cf69u, cpu->x))); cpu->carry = 0; …Our readingrecord = $96:CF69 + table[item & $1FF]88–95clear the buffer and copy the name (ItemName, from $9E:C7E8 + item × 12)109–117copy the record's first 9 bytes to $0B84124–132read the 4 mask bytes after them133–140for each of the 32 mask bits, low bit first: if set, the next word goes to $0B8D + 2 × bit141–170Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/item/item_records.c#L36-L65/* $81:F2A9: 12-character item name, trailing spaces cleared. */ static void ItemName( const Lufia2Memory *memory, Lufia2CpuState *cpu) { PushDataBank(memory, cpu); LoadA8(cpu, 0x9eu); PushAccumulator8(memory, cpu); PullDataBank(memory, cpu); SetAccumulatorWidth(cpu, 0); /* F2AE */ LoadA16(cpu, Read16AbsoluteIndexed(memory, cpu, ITEM, 0)); And16(cpu, 0x01ffu); AslA16(cpu); …Our readingname = 12 letters at $9E:C7E8 + (item & $1FF) × 1241–65Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/menu/menu_screen.c#L1418-L1428{ unsigned i; LoadX16(cpu, Read16Direct(memory, cpu, 0x2au)); for (i = 0; i < 7u; ++i) { LoadA16(cpu, Read16AbsoluteIndexed(memory, cpu, (uint16_t)(0x0086u + 2u * i), cpu->x)); cpu->carry = 0; Add16Value(cpu, Read16AbsoluteIndexed(memory, cpu, (uint16_t)(0x0b95u + 2u * i), 0)); StoreAAbsolute16(memory, cpu, (uint16_t)(0x0086u + 2u * i), cpu->x);Our readingfor each of the 6 equipped items: add the 7 words from $0B95 (mask bits 4-10) to the member's 7 bonus words1421–1428Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/item/item_equipment_kind.c#L13-L20OpLda(memory, cpu, OpAbs(cpu, WRAM_RECORD_BUFFER + 0x14u)); OpAndValue(cpu, 0xffu); OpSta(memory, cpu, OpDp(cpu, DP_EQUIPMENT_KIND_MASK)); OpLoadA(cpu, 0xffffu); do { OpIncA(cpu); OpLsrMem(memory, cpu, OpDp(cpu, DP_EQUIPMENT_KIND_MASK)); } while (!cpu->carry);Our readingthe equipment slot is the lowest set bit of record byte 713–20Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/menu/menu_shop_member_equipment.c#L18-L22SHOP_TX_CALL(0x82e56bu, 0x829302u, 2u); OpAndValue(cpu, OpReadM(memory, cpu, OpAbs(cpu, WRAM_RECORD_BUFFER + 0x15u))); cpu->carry = 0u; OpAdcValue(cpu, 0xffu); RolA8(cpu);Our readinga member can equip the item when its bit is set in record byte 818–22Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/cave/ancient_cave.c#L126-L131OpRepWidths(cpu, 0x20u); /* 9091 */ LoadA16(cpu, WramRead16At(records, ITEM_RECORD_TABLE + ITEM_RECORD_PRICE, record)); OpCmp(memory, cpu, OpDp(cpu, CAVE_DP_PRICE_LIMIT)); if (cpu->carry) goto next;Our readingprice = the item record's word at +5; skip the item if it is at or above the floor's limit127–131Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/cave/wram.h#L42-L47ITEM_RECORD_BANK = 0x96, ITEM_RECORD_TABLE = 0xcf69, ITEM_RECORD_TABLE_BYTES = 0x03a4, ITEM_RECORD_FLAGS = 0, ITEM_RECORD_FLAGS2 = 1, ITEM_RECORD_PRICE = 5,Terror Wave: a Lufia 2 randomizer · tables/struct_item.txt#L1-L10usability,bit:consumable equipable u02 cursed fruit unsellable usable_menu usable_battle unknown,bit:u10 u11 u12 u13 u14 ban_ancient_cave u16 u17 targetting,1 icon,1 sprite,1 price,2 item_type,bit:weapon armor shield helmet ring jewel u66 u67 equipability,bit:maxim selan guy artea tia dekar lexis u77 misc1,bit:menu_effect battle_effect weapon_effect armor_effect increase_atp increase_dfp increase_str increase_agl misc2,bit:increase_int increase_gut increase_mgr u93 u94 battle_animation u96 ip_effectLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/battle/battle_ip.c#L77-L90LoadA16(cpu, Read16AbsoluteIndexed(memory, cpu, 0x0babu, 0)); StoreTable16(memory, cpu, 0x01u); if (!cpu->zero) { PushIndex(memory, cpu); SimulateJslFrame(memory, cpu, 0x81u, 0xc1bfu); (void)Lufia2BattleReadIpRecordPointer(memory, cpu); SimulateRtlFrame(memory, cpu); TransferAToX(cpu); LoadA16(cpu, Read16Long(memory, LongIndexedAddress(0x840003u, cpu->x))); StoreTable16(memory, cpu, 0x03u); SetAccumulatorWidth(cpu, 1); LoadA8(cpu, Read8(memory, LongIndexedAddress(0x840005u, cpu->x))); …Our readingthe IP word is mask bit 15's ($0BAB); if nonzero, look up its IP record77–84copy the record's word at +3 and its cost byte at +585–89Lufia II - Rise of the Sinistrals (USA) · 0xB4F69-0xB7ADD — $96:CF69, the offset table and the recordsLufia II - Rise of the Sinistrals (USA) · 0xF47E8-0xF5DCB — $9E:C7E8, the namesChecked by claude, 2026-11-08 — read the record loader, the equipment-bonus sum, the slot and member checks, and the IP lookup; decoded every record from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

Mask bits 0-3 (by Terror Wave's names the menu, battle, weapon, and armor effects), 13 (its battle animation), and 14 also carry words; the table leaves them out. Kind "other" is bit 6, set on 5 items (Hook, Bomb, Arrow, Fire arrow, Hammer). The equip byte's order (Maxim first, then Selan, Guy, Artea, Tia, Dekar, Lexis) is Terror Wave's; the code tests the member's own bit.

Equipment names its IP attack by number; 158 numbers, from 2 to 168, appear in the item table. Entry n − 1 of a table of pointers at $84:8F10 leads to the attack's record in bank $84, whose byte at +5 is its IP cost and whose name starts at +6. Costs run from 8 to 255; the battle menu offers an attack only when the member's IP byte is at least its cost. lufia-ii-tables/ip-attacks

About: Lufia II: Rise of the Sinistrals Super meter

No.AttackIP costCarried by
2Iron kick48Deadly armor
3Mirror block32Arty's bow
4Zap128Dia ring
6Bomb attack64Insect crush, Beserk blade, Multi sword, Deadly sword, Buster sword, Rune rapier, Hand ax, Bronze ax, Rainy ax, Heavy lance, Superdriver, Rage knife
7Flame attack64Estok, Whip
8Thunder blast96Battle knife, Kukri, War rapier, Rockbreaker, Halberd
9Water attack96Bronze sword, Wire, Trident
10Ice attack96Short sword, Scimitar, Royal whip
11Light attack96Light knife
12Dive bomber96Crazy blade, Chain, Cutter whip, Spear
14Blaze attack164Fire dagger, Red saber
15Thunderball164Thunder ax
16Aqua attack164Mist rapier, Aqua whip
17Glacial blast164Cold rapier, Freeze bow
18Holy energy164Gladius, Silvo rapier, Silver sword, Super sword, Holy staff, Crystal wand
19Deadly smash164Flying ax
20Dragon rush164Lizard blow
21Devastation64Deadly rod
22Battlecry128Deadly sword, Old sword
23Battle fury192Myth blade, Bunny sword
24Fatal blow255Dekar blade
26Confusion96Figgoru
27Sleep stinger96Sleep rod, Coma hit
28Stun shocker96Stun gun
29Re-energize32Coat, Tough hide, Light dress
30Sacred song64Metal mail, Evening gown, Power robe
31Divine cure96Camu armor, Plati plate
32Sudden cure96Crystal mail, Bright armor, Zircon plate
33Holy healing128Holy wings
34Crisis cure164Holy robe
35Magic cure128Silver armor, Metal coat, Silver mail, Magic bikini, Zircon armor
36Magic healing192Magic scale
37Magic rebirth255Mirak plate, Bunnysuit
38Revival sleep64Silver robe, Revive armor
39Recovery128Deadly armor, Eron dress, Bright cloth
40Paralysis cure16Ironmail, Thick cloth, Metal armor
41Antidote16Cloth armor
42Free magic16Light armor
44Reawaken16Tight dress
45Wave motion255Dual blade
46Reviver164Stone plate, Iron plate, Quilted silk
47Rebirth224Heal armor
48Rejuvenation192Crystal robe, Ghostclothes, Royal dress
49Regeneration255Old armor, Ruse armor, Seethru silk
50Battle lust32Mini shield, Anger brace, Slash shield
51Beserker64Tall shield, Zirco shield, Bunnylady
52Ironclad32Bracelet, Block shield
53Forcefield64Zirco gloves
54Fleet32Kite shield, Fayza shield
55Quicksilver64Tect buckler
56Lightbulb32Tecto gloves, Pearl brace, Mage shield
58Spell repel32Power brace, Brone shield
59Aura protect64Silvo shield
60Menace128Brone helmet, Fury helmet
61Weaponweak192Rock helmet, Plati band
62Swordsplitter255Safety hat, Bunny ears
63Weakpoint128Stone helmet, Fury ribbon, Crysto helm
64Meltdown192Eron hat
66Sluggish128Beret, Jet helm
67Slow196Iron helmet, SilverHelmet, Golden helm, Zirco helmet
68Forgetful128Headband
69Dimwit196Turban, Silver hat, Gold band, Zirco band
70Spellstruck128Red beret, Jute helmet
71Vulnerable196Tight turban, Plati helm, Holy cap
72Bolt64Thunder ring
73Thunder128Earring, S-thun ring, Bunny ring
74Fireball64Fire ring
75Firebird128S-fire ring
76Vortex64Water ring, Sea ring
77Dragon128S-water ring, Dragon ring
78Blizzard64Ice ring
79Ice.....128S-ice ring
80Perish64Undead ring, Evil jewel
81Destroy128Ghost ring
82Dread32Fury ring, Angry ring
83Deflect32Witch ring, S-witch ring
84Fake32Speedy ring, Sonic ring, Fake ring, Rocket ring
85Trick32Power ring, Hipower ring, Trick ring
86Confuse32Glass ring
87Bravery32Muscle ring, S-power ring
88Courage64Protect ring, S-pro ring, Engage ring
89Mirror32Mystery ring, S-myst ring
90Stronger64Mind ring
91Champion128S-mind ring
92Firestorm224Burn sword, Zirco sword, Sizzle sword
93Thundershriek224Boom sword, Mega ax, Zirco whip
94Torrent224Aqua sword, Zirco ax, Water spear
95Arctic freeze224Freeze sword, Zirco flail, Air whip
96Swoop224Flying blow, Launcher
97Dragonfire224Dragon blade
98Celestial224Blaze sword, Silver rod, Holy whip
99Healing64Frock
100Power healing128Lab-coat, Long robe, Silk toga
101Miracle196Seethru cape
102Phoenix255Pearl armor
103Ninja128Mysto jewel
104Samurai128Samu jewel
105Incendiary164Flame jewel
106Frost164Water jewel
107Voltage bolt164Thundo jewel
108Groundshock164Earth jewel
109Gloomy164Evil jewel
110Bite128Lion fang
111Frenzy96Horse rock
112Vampire32Bat rock
113Dive128Eagle rock
114Immobilize128Bee rock
115Tail attack128Snake rock
116Tidal wave128Tidal jewel
117Dark force128Gloom jewel
118Head attack164Pumkin jewel
119Magma blast164Magma rock
120Triple attack196Hidora rock
121Combo attack196Gorgan rock
122Gloomsplash196Black eye
123Diamond dust196Silver eye
124Stardust blow224Gold eye
125Ax attack164Gorgon rock
126Scissor slash96Cancer rock
127Twister128Twist jewel
128Flash96Light jewel
129Dash96Uni jewel
130Do-re-mi96Song rock
131Ten-legger164Kraken rock
132Buster attack128Camu jewel
133Mega quake20Catfish jwl.
134Spiderweb64Spido jewel
136Miracle care128Pearl shield
137Flame guard128Gold gloves, Gold shield
138Thunder guard128Plati gloves
140Ice guard128Plati shield
141Power guard128Gauntlet
142Shadow guard128Rune gloves
143Light guard128Holy shield
144Flameblock255Flame shield
145Thunderblock255Bolt shield
146Water screen255Water gaunt
147Holy shield255Cryst shield
148Iron barrier255Mega shield
149Dark mist255Dark mirror
150Holy wall255Apron shield
151Flame return164Agony helm
152Thunderturn164Boom turban
153Aqua mirror164Aqua helm
154Ice mirror164Ice hairband
155Dark mirror164Hairpin
156Holy mirror164Brill helm
157Boomerang164Legend helm
158Anger mirror214Old helmet
159Brilliance255Pearl helmet
160Phoenix blow255Spark staff
161Skysplitter255Sky sword
162Flood255Dragon spear
163Deep freeze255Snow sword
164Sizzle255Fry sword
165Hardboiled8Egg sword
166Octo-strike255Gades blade
168Ancient power128Old shield
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/battle/battle_action_records.c#L25-L36Lufia2ExecutionResult Lufia2BattleReadIpRecordPointer( const Lufia2Memory *memory, Lufia2CpuState *cpu) { LoadA16(cpu, (uint16_t)(cpu->accumulator - 1u)); if (cpu->negative) { TransferDirectToA(cpu); return ExecutionReturned(0x81f46au); } AslA16(cpu); LoadX16(cpu, cpu->accumulator); LoadA16(cpu, Read16Long(memory, LongIndexedAddress(IP_RECORD_POINTERS, cpu->x))); cpu->carry = false;Our readingn = IP word − 1; none if negative28–32pointer = the word at $84:8F10 + 2n33–35Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/battle/battle_ip.c#L77-L132LoadA16(cpu, Read16AbsoluteIndexed(memory, cpu, 0x0babu, 0)); StoreTable16(memory, cpu, 0x01u); if (!cpu->zero) { PushIndex(memory, cpu); SimulateJslFrame(memory, cpu, 0x81u, 0xc1bfu); (void)Lufia2BattleReadIpRecordPointer(memory, cpu); SimulateRtlFrame(memory, cpu); TransferAToX(cpu); LoadA16(cpu, Read16Long(memory, LongIndexedAddress(0x840003u, cpu->x))); StoreTable16(memory, cpu, 0x03u); SetAccumulatorWidth(cpu, 1); LoadA8(cpu, Read8(memory, LongIndexedAddress(0x840005u, cpu->x))); …Our readingfor each equipped item with an IP word: copy its record's word at +3 and cost at +577–89copy the name from +6 until a 0 byte, at most 13 letters91–106usable if the member's IP byte ≥ the cost126–132Lufia II - Rise of the Sinistrals (USA) · 0x20F10-0x2105F — $84:8F10, the pointersLufia II - Rise of the Sinistrals (USA) · 0x21074-0x21B3D — the recordsChecked by claude, 2026-11-08 — read the IP pointer lookup and the battle IP list; decoded each attack the items name from the ROM's bytesChecked by a second AI model, 2026-11-08.

The member's IP byte is +$BC of its battle record, the byte that taking damage raises (lufia-ii/ip-gain); the decompilation calls the copy it compares LEVEL. The word at +0 is the attack's effect and +2 its animation by the editors' reading (Terror Wave); this claim doesn't use them.

Each of the 40 spells has a record reached through a table of 40 offsets at $95:FA5B: an 8-letter name, a byte at +10 with one bit per character who can learn it (in Terror Wave's order), the MP cost at +12, the shop price as a word at +15, and the battle script's offset at +17; Terror Wave calls the byte at +9 the element. Costs run from 0 MP (Reset and Light) to 30 MP and prices to 65000 gold; Guy and Dekar learn none, and Fry and Zap are Artea's alone. lufia-ii-tables/spells

No.SpellMPPriceElement byteWho learns
0Flash56003Maxim, Selan, Artea, Tia, Lexis
1Bolt10100003Maxim, Selan, Artea, Tia, Lexis
2Thunder24300003Maxim, Selan, Artea, Tia, Lexis
3Spark33001Selan, Artea, Tia, Lexis
4Fireball660001Selan, Artea, Tia, Lexis
5Firebird20200001Selan, Artea, Tia, Lexis
6Droplet44004Maxim, Selan, Artea, Tia, Lexis
7Vortex780004Maxim, Selan, Artea, Tia, Lexis
8Dragon22250004Maxim, Selan, Artea, Tia, Lexis
9Gale45002Maxim, Selan, Artea, Tia, Lexis
10Blizzard890002Maxim, Selan, Artea, Tia, Lexis
11Ice Valk22250002Maxim, Selan, Artea, Tia, Lexis
12Perish4150006Maxim, Selan, Tia, Lexis
13Destroy8300006Maxim, Selan, Tia, Lexis
14Drowsy310006Maxim, Selan, Artea, Tia, Lexis
15Coma4100006Maxim, Selan, Artea, Tia, Lexis
16Dread520007Maxim, Selan, Artea, Tia, Lexis
17Deflect5150006Maxim, Artea, Tia, Lexis
18Absorb1200008Maxim, Selan, Artea, Tia, Lexis
19Fake420007Maxim, Selan, Artea, Tia, Lexis
20Trick520007Maxim, Selan, Artea, Tia, Lexis
21Confuse310006Maxim, Selan, Artea, Tia, Lexis
22Bravery310007Maxim, Selan, Artea, Tia, Lexis
23Courage550007Maxim, Selan, Artea, Tia, Lexis
24Mirror3300000Maxim, Selan, Artea, Tia, Lexis
25Strong32007Maxim, Selan, Artea, Tia, Lexis
26Stronger850007Maxim, Selan, Artea, Tia, Lexis
27Champion16200007Maxim, Selan, Artea, Tia, Lexis
28Poison23006Maxim, Selan, Artea, Tia, Lexis
29Rally10150006Maxim, Selan, Artea, Tia, Lexis
30Valor30300006Maxim, Selan, Artea, Tia, Lexis
31Fry20400006Artea
32Zap30650006Artea
33Shield450006Maxim, Selan, Artea, Tia, Lexis
34Waken450006Maxim, Selan, Artea, Tia, Lexis
35Release28006Maxim, Selan, Artea, Tia, Lexis
36Warp820000Selan, Artea, Tia
37Escape810000Selan, Artea, Tia
38Reset000Maxim
39Light000Selan
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/item/item_records.c#L177-L223static void SpellRecordAddress( const Lufia2Memory *memory, Lufia2CpuState *cpu) { SetAccumulatorWidth(cpu, 0); LoadA16(cpu, Read16AbsoluteIndexed(memory, cpu, SPELL, 0)); And16(cpu, 0x00ffu); AslA16(cpu); TransferAToX(cpu); LoadA16(cpu, Read16Long(memory, LongIndexedAddress(0x95fa5bu, cpu->x))); cpu->carry = 0; Add16Value(cpu, 0xfa5bu); Write16Absolute(memory, cpu, SPELL_RECORD, cpu->accumulator); …Our readingrecord = $95:FA5B + table[spell]180–188copy the 8-letter name, a 0, then the record's next 11 bytes203–221Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/item/menu_application.c#L9-L10USE_RECORD_SPELL_COST = WRAM_RECORD_BUFFER + 0x0du, USE_RECORD_SPELL_SCRIPT = WRAM_RECORD_BUFFER + 0x12u,Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/menu/menu_spell_shop.c#L16SPELL_SHOP_RECORD_PRICE = WRAM_RECORD_BUFFER + 0x10u,Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/menu/menu_shop_member_spells.c#L19OpAndValue(cpu, OpReadM(memory, cpu, OpAbs(cpu, WRAM_RECORD_BUFFER + 0x0bu)));Terror Wave: a Lufia 2 randomizer · tables/struct_spell.txt#L1-L8name_text,8,str unk1,1 element,1 characters,bit:maxim selan guy artea tia dekar lexis u37 unk4,1 mp_cost,1 zero,2 price,2Lufia II - Rise of the Sinistrals (USA) · 0xAFA5B-0xAFF14 — $95:FA5B, the offset table and the recordsChecked by claude, 2026-11-08 — read the spell record loader and the fields the menu (MP cost, script), the spell shop (price), and its member check (learner bits) read; decoded every record from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

The copy puts the name at $0B77, a 0 at $0B7F, and record bytes 8-18 at $0B80-$0B8A, so the menu's cost at buffer + $0D is record byte 12, the shop's price at + $10 is bytes 15-16, the script at + $12 is bytes 17-18, and the learner mask at + $0B is byte 10. The element byte, by Terror Wave's name, groups the attack lines (1: Spark, Fireball, Firebird; 2: Gale, Blizzard, Ice Valk; 3: Flash, Bolt, Thunder; 4: Droplet, Vortex, Dragon); no code read here uses it.

All seven characters share one experience curve: reaching level 2 takes 10 experience, level 10 2891, level 50 1548710, and level 99 9999999. The game computes it rather than storing it. Starting from a step of 20 (stored as 5120, in 1/256ths), each level adds the step to a running sum and then grows the step by step × (f + 1) / 256, where f is a factor that changes every eight levels: 190, 64, 49, 31, 17, 13, 5, 2, 2, 1, 1, 1, 1. The requirement is the sum / 256 − 10, except that reaching level 99 takes 9,999,999 flat: at level 98 the routine returns that figure instead. lufia-ii-tables/experience

LevelTotal experience
10
210
344
4105
5212
6398
7722
81289
92000
102891
114008
125409
137166
149369
1512132
1615595
1719735
1824684
1930599
2037670
2146121
2256224
2368299
2482733
2598971
26117238
27137790
28160910
29186920
30216181
31249100
32286134
33325772
34368197
35413605
36462206
37514224
38569899
39629490
40693270
41760538
42831484
43906311
44985230
451068464
461156251
471248838
481346489
491446428
501548710
511653389
521760521
531870164
541982377
552097220
562214755
572333667
582453973
592575688
602698829
612823414
622949459
633076981
643205997
653336525
663468583
673602188
683737359
693874114
704012471
714152450
724294070
734436795
744580636
754725601
764871698
775018936
785167325
795316873
805467589
815619483
825772563
835926840
846082322
856239018
866396939
876556093
886716491
896878141
907041055
917205242
927370711
937537473
947705538
957874915
968045616
978217651
988391030
999999999
Codelufia2-disasm: a WLA-DX disassembly of Lufia II: Rise of the Sinistrals (USA) · code/bank_001.s#L18195-L18326phb ; $f9e9 : $8b lda #$97.b ; $f9ea : $a9, $97 pha ; $f9ec : $48 plb ; $f9ed : $ab phx ; $f9ee : $da lda #$70.b ; $f9ef : $a9, $70 sta WRMPYA.w ; $f9f1 : $8d, $02, $42 tdc ; $f9f4 : $7b lda wHitEnemyIdx.w ; $f9f5 : $ad, $fa, $09 sta WRMPYB.w ; $f9f8 : $8d, $03, $42 asl ; $f9fb : $0a tax ; $f9fc : $aa …Our readingrow = $97:B633 + member × $70; step = the member's big-endian word at $97:B99E; sum = 018195–18217if the current level is 98 or more: the requirement for the next is 9,999,999 @18219-18223, 18317-18321multiplier = the row's factor + 118227–18231repeat: sum += step18294–18301stop when the counter reaches the level18303–18304every eighth counter, move to the next row's factor18234–18247step += step × multiplier / 256, byte by byte18250–18291requirement = sum / 256 − 1018306–18314Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/level_up.c#L20-L60/* $81:F979: level-up of member $09FA. */ Lufia2ExecutionResult Lufia2PartyLevelUpCheck( const Lufia2Memory *memory, Lufia2CpuState *cpu) { unsigned i; LoadX16(cpu, Read16AbsoluteIndexed(memory, cpu, 0x09fau, 0)); SimulateJsrFrame(memory, cpu, 0xf97eu); (void)Lufia2BattleTable9EBA(memory, cpu); SimulateRtsFrame(memory, cpu); LoadAAbsolute8(memory, cpu, 0x000eu, cpu->x); StoreAAbsolute8(memory, cpu, 0x09feu, 0); StoreZeroAbsolute8(memory, cpu, 0x09ffu, 0); …Our readingrequirement = the curve at the member's level (record + $0E)27–33if the stored requirement (record + $62) differs from it, stop34–40compare the member's experience (record + $5F, 3 bytes) with the requirement41–45if experience ≥ requirement and the level isn't 99: level + 1, and store the new level's requirement46–59Lufia II - Rise of the Sinistrals (USA) · 0xBB62C-0xBB9AB — $97:B62C, the growth rows with their factors, through the start steps at $97:B99EChecked by claude, 2026-11-08 — read the experience routine in the disassembly and the level-up check, and ran the routine's arithmetic over the ROM's factors for each characterRevised after a check by a second AI model, 2026-11-08.

The level-up check compares experience with the curve at the current level, so the curve at level L is the total that reaches level L + 1; the table lists the total that reaches each level. The multiply adds the high byte of the direct page register as rounding; the column assumes it is 0, as the decompilation's entry checks require of its callers. The rows' eighth bytes and the start words are the same for all seven characters.

Cited by: Growth rate

Each character's stats grow by fixed steps, in sixteenths of a point, from a row of seven bytes that changes every eight levels: 7 characters × $70 bytes at $97:B62C, of which levels 2 to 99 reach the first 13 rows of 8 bytes; the fourteenth row is zeros. A stat at level L is its base plus ⌊(sum of the steps for levels 2 to L) / 16⌋. Terror Wave names the seven bytes HP, MP, strength, agility, intelligence, guts, and magic resistance; the guts byte is 0 in every row, so guts stays at its base. lufia-ii-tables/growth

CharacterLevelsHPMPSTRAGLINTGUTMGR
Maxim2-811764543220024
Maxim9-1611768543220024
Maxim17-2412272583026040
Maxim25-3212276583026040
Maxim33-4012680662836056
Maxim41-4812684662836056
Maxim49-5613388742426040
Maxim57-6411284662426032
Maxim65-7210480582020024
Maxim73-809676541820018
Maxim81-888872481616012
Maxim89-968068428808
Maxim97-995664388406
Selan2-8648850888022
Selan9-16729636870058
Selan17-2480104437272086
Selan25-3288178245644070
Selan33-40152162225256054
Selan41-48136146194068038
Selan49-5680104162824038
Selan57-647236141216016
Selan65-726450121218040
Selan73-80565661636014
Selan81-886470213858012
Selan89-96104886242408
Selan97-99136110516708
Guy2-8208010484040
Guy9-16194088126024
Guy17-24178072164008
Guy25-32162024243608
Guy33-40130072323408
Guy41-48980964032016
Guy49-566601204828016
Guy57-64500104824040
Guy65-7266024716056
Guy73-808204068040
Guy81-8812005658024
Guy89-9615207248016
Guy97-991840883808
Artea2-818416287298076
Artea9-1672136166482056
Artea17-2488120205656018
Artea25-32104104244840051
Artea33-4012096152408070
Artea41-4813688104328087
Artea49-5612072642480100
Artea57-64966432822072
Artea65-728050301216054
Artea73-807258281822034
Artea81-886466243438020
Artea89-965674165018016
Artea97-994882866808
Tia2-872104187256070
Tia9-1680112205654054
Tia17-2476136274052038
Tia25-3272146242448022
Tia33-4068130223644038
Tia41-4864114194036054
Tia49-566888164432070
Tia57-647252144024054
Tia65-726834123616032
Tia73-8064246328016
Tia81-885616524708
Tia89-96528616608
Tia97-9948458508
Dekar2-8248015284024
Dekar9-162240130126022
Dekar17-24210012648020
Dekar25-3219407284018
Dekar33-40178066182016
Dekar41-4882049204014
Dekar49-5666040168012
Dekar57-64130013088010
Dekar65-7213001317308
Dekar73-8013001336606
Dekar81-8813001365504
Dekar89-9613601284802
Dekar97-9913601303200
Lexis2-8101574037101056
Lexis9-16101574037101056
Lexis17-2410676543283040
Lexis25-3210676543283040
Lexis33-4011980791670031
Lexis41-4811980791670031
Lexis49-5611279484257024
Lexis57-6411279484257024
Lexis65-728760422438016
Lexis73-808760422438016
Lexis81-88923528923010
Lexis89-96923528923010
Lexis97-99722177707
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/stats.c#L218-L243Lufia2ExecutionResult Lufia2PartyBaseStats( const Lufia2Memory *memory, Lufia2CpuState *cpu) { LoadAAbsolute8(memory, cpu, MEMBER, 0); StoreAAbsolute8(memory, cpu, SNES_WRMPYA, 0); StoreA8Absolute(memory, cpu, SNES_WRMPYB, 0x0eu); PushIndex(memory, cpu); PushY(memory, cpu); LoadX16(cpu, 0u); LoadY16(cpu, Read16AbsoluteIndexed(memory, cpu, SNES_RDMPYL, 0)); PushY(memory, cpu); StoreA8Absolute(memory, cpu, SNES_WRMPYB, 0x70u); const Lufia2Wram wram = WramViewOfCaller(memory, cpu); …Our readingbase offset = member × 14220–227row offset = member × $70228sum the steps, divide by 16, add the bases232–236Terror Wave: a Lufia 2 randomizer · tables/struct_char_growth.txt#L1-L8hp,1 mp,1 str,1 agl,1 int,1 gut,1 mgr,1 unk,1Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/stats.c#L150-L215enum { BASE_STAT_COUNT = 7u, BASE_GROWTH_ROW = 0xb2u, BASE_GROWTH_TABLE = 0xb62cu, BASE_VALUES_TABLE = 0xb93cu, BASE_GROWTH_ROW_LEVELS = 8u, BASE_GROWTH_SCALE_SHIFT = 4u }; static Byte8Result AddBaseStatByte( Lufia2Wram wram, uint16_t field, uint8_t increment, bool decimal) { const uint8_t previous = WramReadAt(wram, STATS, field); const Byte8Result sum = Sum8Mode(increment, previous, false, decimal); …Our readingrow = $97:B62C + the caller's product, member × $70174–176for each level from 2 to L: every eighth level move 8 bytes on; add the row's 7 bytes to 7 sums179–193divide each sum by 16196–204add each base byte from $97:B93C + member × 14, a word apart206–215Lufia II - Rise of the Sinistrals (USA) · 0xBB62C-0xBB93B — $97:B62C, the rowsChecked by claude, 2026-11-08 — read the base-stat routine in the decompilation and decoded the rows from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

The row's eighth byte is the experience factor (lufia-ii-tables/experience). Rows run from level 2 to 8, then eight levels each, so the thirteenth covers 97 to 99.

Cited by: Growth rate

Each character's base stats are seven words at $97:B93C, 14 bytes per character, of which the routine adds only the low byte, each to the growth row's stat in the same place: Maxim starts from 20, 0, 12, 9, 8, 100, 5 (by Terror Wave's names, HP, MP, strength, agility, intelligence, guts, magic resistance). lufia-ii-tables/base-stats

Value: character Maxim, Selan, Guy, Artea, Tia, Dekar, Lexis · HP 20, 20, 20, 20, 10, 10, 10 · MP 0, 0, 0, 0, 0, 0, 0 · STR 12, 20, 8, 8, 8, 8, 8 · AGL 9, 9, 9, 9, 9, 9, 9 · INT 8, 7, 7, 7, 7, 7, 7 · GUT 100, 80, 90, 60, 60, 100, 70 · MGR 5, 5, 5, 5, 5, 5, 5

CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/stats.c#L218-L243Lufia2ExecutionResult Lufia2PartyBaseStats( const Lufia2Memory *memory, Lufia2CpuState *cpu) { LoadAAbsolute8(memory, cpu, MEMBER, 0); StoreAAbsolute8(memory, cpu, SNES_WRMPYA, 0); StoreA8Absolute(memory, cpu, SNES_WRMPYB, 0x0eu); PushIndex(memory, cpu); PushY(memory, cpu); LoadX16(cpu, 0u); LoadY16(cpu, Read16AbsoluteIndexed(memory, cpu, SNES_RDMPYL, 0)); PushY(memory, cpu); StoreA8Absolute(memory, cpu, SNES_WRMPYB, 0x70u); const Lufia2Wram wram = WramViewOfCaller(memory, cpu); …Our readingbase offset = member × 14220–227add the bases from that offset235–236Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/stats.c#L206-L215static Byte8Result AddInitialBaseStats( Lufia2Wram wram, uint16_t member_offset, bool decimal) { Byte8Result total = {0}; for (unsigned stat = 0u; stat < BASE_STAT_COUNT; ++stat) { const uint8_t base = WramReadAt(wram, BASE_VALUES_TABLE, member_offset); total = AddBaseStatByte(wram, (uint16_t)(stat * 2u), base, decimal); member_offset = (uint16_t)(member_offset + 2u); } return total; }Our readingfor each of the 7 stats: add the low byte of the word at $97:B93C + offset; offset + 2209–213Lufia II - Rise of the Sinistrals (USA) · 0xBB93C-0xBB99DChecked by claude, 2026-11-08 — read the base-stat routine's offsets and last step and decoded the words from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

At level 99, before equipment, Maxim has 694 HP, 464 MP, and 364 strength, Dekar 949 HP and 669 strength, and Tia 476 MP. The table is computed from the growth rows and base stats: each stat is its base plus a sixteenth of its summed steps, rounded down. lufia-ii-tables/stats-by-level

CharacterLevelHPMPSTRAGLINTGUTMGR
Maxim120012981005
Maxim10853642271910018
Maxim201608077463310037
Maxim30236126113654910062
Maxim40314176153837010095
Maxim5039422919510092100128
Maxim60472283240115108100151
Maxim70539334278128122100168
Maxim80600382312140134100180
Maxim90654426341149143100187
Maxim99694464364153147100191
Selan12002097805
Selan1057504613548021
Selan201041127034988065
Selan30157205907313380112
Selan4024430810410616680148
Selan5032239411513020380172
Selan6037044212514321680190
Selan7041247013315122780209
Selan8044850413716024780221
Selan9049355014918227980228
Selan9955760415219428980233
Guy1200897905
Guy101350641499025
Guy20252011522219036
Guy30357014235459041
Guy40443018154669046
Guy50500024480869056
Guy6053703151001029072
Guy70574035010511490103
Guy80624037310912090130
Guy90703041011212590144
Guy99794045411413090152
Artea1200897605
Artea10109871348606045
Artea2015816824861046070
Artea30219237381181336094
Artea4029229811714414260135
Artea5037535117716314760191
Artea6044439420917415660247
Artea7049842922818116760285
Artea8054446424619118060309
Artea9058350726021420260321
Artea9961355026824521060328
Tia1100897605
Tia1051591847386042
Tia201001353278716072
Tia3014622448971026089
Tia401893076211813060111
Tia502303757314415260147
Tia602734218317017060187
Tia703174479119418260212
Tia803574639521418860224
Tia903924729922819260229
Tia9942047610223619560234
Dekar11008971005
Dekar1014609014910018
Dekar202830171191310031
Dekar304080229231710043
Dekar405210271331810053
Dekar505700301452110062
Dekar606280348532610069
Dekar707090430582910074
Dekar807900513623310078
Dekar908720597653610080
Dekar999490669674010081
Lexis1100897705
Lexis1066323029637036
Lexis201317259511227067
Lexis3019711992711747092
Lexis402701691398321970113
Lexis503432191849626170131
Lexis6041326821412329770146
Lexis7047431024214232570158
Lexis8052834826815734970168
Lexis9058637028616336470174
Lexis9963438729716837470179
CodeEach character's stats grow by fixed steps, in sixteenths of a point, from a row of seven bytes that changes every eight levels: 7 characters × $70 bytes at $97:B62C, of which levels 2 to 99 reach the first 13 rows of 8 bytes; the fourteenth row is zeros. A stat at level L is its base plus ⌊(sum of the steps for levels 2 to L) / 16⌋. Terror Wave names the seven bytes HP, MP, strength, agility, intelligence, guts, and magic resistance; the guts byte is 0 in every row, so guts stays at its base. CodeEach character's base stats are seven words at $97:B93C, 14 bytes per character, of which the routine adds only the low byte, each to the growth row's stat in the same place: Maxim starts from 20, 0, 12, 9, 8, 100, 5 (by Terror Wave's names, HP, MP, strength, agility, intelligence, guts, magic resistance). CodeChecked by claude, 2026-11-08 — ran the arithmetic of lufia-ii-tables/growth over the decoded rows and base statsRevised after a check by a second AI model, 2026-11-08.

The seven capsule monsters have five forms each, 35 records reached through offsets at $97:DCB8 by the monster's number × 5 + form − 1. The stat routine pairs the byte at +$15 and the five at +$18 to +$1C with six growth codes at +$1D to +$22. Terror Wave names the rest of the record: a 12-letter name, an alignment byte at +14, and the eight stat bytes from +$15 as HP, attack, defense, strength, agility, intelligence, guts, and magic resistance. Foomy's line runs Foomy S, Foomy M, Foomy L, Foomy H, Gold Fox. lufia-ii-tables/capsule-monsters

MonsterFormNameAlignment byteHPATPDFPSTRAGLINTGUTMGRGrowth codes (HP STR AGL INT GUT MGR)
Foomy S1Foomy S019101231082182 8 13 18 21 28
Foomy S2Foomy M037231811181033162 8 13 18 21 28
Foomy S3Foomy L062513219261245242 8 13 18 21 28
Foomy S4Foomy H096986427341457322 8 13 18 21 28
Foomy S5Gold Fox0521008030411649372 8 13 18 21 28
Shaggy1Shaggy1510122111623114 10 12 16 21 27
Shaggy2Sprite11418163212836214 10 12 16 21 27
Shaggy3Cupid13126244314048314 10 12 16 21 27
Shaggy4Twinkle15724326418661414 10 12 16 21 27
Shaggy5Unicorn138643228538044304 6 12 16 21 27
Hard Hat1Hard Hat2614641712533 9 11 17 24 28
Hard Hat2Bluebird21927810292211113 9 11 17 24 28
Hard Hat3Winged Horse241551216413217193 9 11 17 24 28
Hard Hat4Green Titan2701022022534223273 9 11 17 24 28
Hard Hat5Sky Dragon260100832728420303 7 11 17 24 28
Red Fish1Red Fish415161886109182 8 14 17 23 26
Red Fish2Toadie433292816122017302 8 14 17 23 26
Red Fish3Sea Giant458574824183025422 8 14 17 23 26
Red Fish4Blue Titan4921048832244033542 8 14 17 23 26
Red Fish5Fish Head41001108834865634602 7 14 17 23 26
Myconido1Myconido8518129520315 7 13 16 25 30
Myconido2Wolfman8163530191332755 7 13 16 25 30
Myconido3Mini Imp83671542921441195 7 13 16 25 30
Myconido4Big Imp8631346839295615135 7 13 16 25 30
Myconido5Red Dragon81001606840394414165 7 13 16 25 30
Raddisher1Raddisher161630257261101 6 15 19 22 30
Raddisher2Red Cap1635474019482111 6 15 19 22 30
Raddisher3Giant16638370318103121 6 15 19 22 30
Raddisher4Stonehead16981461304310124141 6 15 19 22 30
Raddisher5Centaur16562001004524144082 6 15 19 22 30
Armor Dog1Armor Dog32118148914693 7 12 17 24 27
Armor Dog2Winged Lion3226232018192412193 7 12 17 24 27
Armor Dog3Wing Lizard3250554028293420293 7 12 17 24 27
Armor Dog4Blaze Dragon32811108038394432393 7 12 17 24 27
Armor Dog5Firebird32381006842408040303 7 12 16 24 27
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/capsule.c#L247-L260/* $82:C38B: $09C4 = record of monster and form ($97:DCB8). */ static void CapsuleRecord(const Lufia2Memory *memory, Lufia2CpuState *cpu) { const Lufia2Wram wram = WramViewOfCaller(memory, cpu); const uint8_t monster = WramRead(wram, CAPSULE); const uint8_t form = WramRead(wram, FORM); const uint8_t record = (uint8_t)(((monster & 7u) << 2) + monster + form - 1u); SetAccumulatorWidth(cpu, 0); LoadA16(cpu, Read16Long(memory, LongIndexedAddress(0x97dcb8u, 2u * record))); cpu->carry = 0; Add16Value(cpu, 0xdcb8u); TransferAToX(cpu); WramWrite16(wram, RECORD, cpu->x); …Our readingrecord = $97:DCB8 + table[(monster & 7) × 4 + monster + form − 1]250–259Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/capsule.c#L273-L330static void CapsuleGrowth(const Lufia2Memory *memory, Lufia2CpuState *cpu) { const Lufia2Wram wram = WramViewOfCaller(memory, cpu); const uint16_t level = WramRead16(wram, LEVEL) & 0x00ffu; WramWrite16(wram, GROWTH_ROW, (uint16_t)((cpu->accumulator & 0x00ffu) << 3)); WramWrite16(wram, GROWTH_SUM, 0); if (level != 1u) { uint16_t counter; WramWrite16(wram, GROWTH_FORM, WramRead16(wram, FORM)); WramWrite16(wram, GROWTH_FORM + 1u, 0); WramWrite16(wram, GROWTH_COUNTER, 1); do { uint16_t block; …Our readinga stat's growth: rate row = code × 8277for each counter from 1 to L − 1: rate = the row's byte for band counter / 16279–295from the band equal to the form, halve the rate; past it, halve again297–301sum the rates; divide the sum by 16302–310base bytes at +$15 and +$18-$1C pair with growth codes at +$1D-$22316–318Terror Wave: a Lufia 2 randomizer · tables/struct_capsule.txt#L1-L20name_text,12,str zero,1 capsule_class,1 alignment,1 start_skills,3,list upgrade_skills,3,list hp,1 attack,1 defense,1 strength,1 agility,1 intelligence,1 …Lufia II - Rise of the Sinistrals (USA) · 0xBDCB8-0xBEE47 — $97:DCB8, the offsets and the recordsChecked by claude, 2026-11-08 — read the record lookup and the stat routine in the decompilation and decoded every record from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

Attack and defense have no growth code. The alignment byte holds one bit per line (Foomy's 0, then 1, 2, 4, 8, 16, 32). Terror Wave calls byte 13 the class and bytes 15 to 20 the starting and upgrade skills.

A capsule monster's growth code picks a row of eight rates at $A6:F420, one per 16-level band; each level adds its band's rate, and the sum is divided by 16. The table gives the rates as stored, before the routine halves them: a band equal to the monster's form adds half its rate, and each later band a quarter. The stored rates fall with the bands, from as much as 128 to 0. lufia-ii-tables/capsule-growth-rates

CodeLevels 2-1617-3233-4849-6465-8081-9697-99(no level)
000000000
11281201121049688800
21049688807264560
3968880726456480
4888072645648400
5807264564840320
6807264564840320
756484032241680
84840322416860
9403224168640
102416864200
11645648403224160
12403224168640
1332241686420
142416864220
1584422110
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/capsule.c#L43GROWTH_RATES = 0xa6f420u,Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/capsule.c#L273-L311static void CapsuleGrowth(const Lufia2Memory *memory, Lufia2CpuState *cpu) { const Lufia2Wram wram = WramViewOfCaller(memory, cpu); const uint16_t level = WramRead16(wram, LEVEL) & 0x00ffu; WramWrite16(wram, GROWTH_ROW, (uint16_t)((cpu->accumulator & 0x00ffu) << 3)); WramWrite16(wram, GROWTH_SUM, 0); if (level != 1u) { uint16_t counter; WramWrite16(wram, GROWTH_FORM, WramRead16(wram, FORM)); WramWrite16(wram, GROWTH_FORM + 1u, 0); WramWrite16(wram, GROWTH_COUNTER, 1); do { uint16_t block; …Our readingrow = code × 8; sum = 0277–278for each counter from 1 to L − 1: band = counter / 16; rate = the row's byte for the band284–295if the band ≥ the form: halve the rate; if it is past the form, halve it again297–301sum += rate302–305sum / 16309–310Lufia II - Rise of the Sinistrals (USA) · 0x137420-0x13749FChecked by claude, 2026-11-08 — read the capsule stat routine and decoded the rows from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

The band is the level counter divided by 16, so band 0 covers the steps to levels 2-16 and band 6 those to 97-99; the records use codes 1 to 15, and row 0 is all zeros.

Each capsule monster's fifth form comes from one fruit and goes back with another: a table of seven item words at $8E:E49A names the fruit that changes it to form 5, one at $8E:E4A8 the fruit that reverts it, and one at $8E:E4B6 the form it must be in and returns to. Foomy turns into the Gold Fox on a Secret fruit at form 4. lufia-ii-tables/capsule-fruit

MonsterForm 5Fruit to form 5Fruit backFrom and back to form
Foomy SGold FoxSecret fruitSecret fruit4
ShaggyUnicornDark fruitHoly fruit2
Hard HatSky DragonEarth fruitBreeze fruit4
Red FishFish HeadFlame fruitCharm fruit3
MyconidoRed DragonHoly fruitDark fruit2
RaddisherCentaurBreeze fruitEarth fruit4
Armor DogFirebirdCharm fruitFlame fruit3
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/capsule_feeding.c#L162-L202static bool ChangeSpecialForm(CapsuleFoodCall *call) { const Lufia2Memory *memory = call->memory; Lufia2CpuState *cpu = call->cpu; if (!FoodChild(call, 0x82cc6du, 0x82c482u, 2u)) return false; OpLda(memory, cpu, OpAbsX(cpu, 0u)); OpAndValue(cpu, CAPSULE_SPECIAL_FORM_BIT); const bool reverting = !cpu->zero; OpRepWidths(cpu, 0x20u); OpLdx(cpu, OpReadX(memory, cpu, OpDp(cpu, DP_CAPSULE_TABLE_INDEX))); OpLda(memory, cpu, OpLongX(cpu, reverting ? ROM_CAPSULE_REVERSION_FOOD …Our readingreverting = the monster's state has the form-5 bit (8)167–169the item must be the monster's word in the revert table if reverting, else in the change table171–176to change, the saved form must equal the monster's word in the form table178–184set or clear the form-5 bit; form = the form table's word when reverting, else 5189–201Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/party/capsule_feeding.c#L10-L12ROM_CAPSULE_EVOLUTION_FOOD = 0x8ee49au, ROM_CAPSULE_REVERSION_FOOD = 0x8ee4a8u, ROM_CAPSULE_REVERSION_FORM = 0x8ee4b6u,Lufia II - Rise of the Sinistrals (USA) · 0x7649A-0x764C3 — $8E:E49A, the three tablesChecked by claude, 2026-11-08 — read the special-form routine in the decompilation and decoded the three tables from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

The shop table at $97:EE9F holds offsets to 59 shops. Each starts with a kind byte, a flag byte, and a third byte; flag bit 0 lists the party's own items, each of bits 1 to 5 adds a list, and bit 7 one more menu entry. The first four lists are words ended by 0, and the fifth is bytes ended by $FF. Terror Wave names bit 0 pawn, bits 1 to 5 prize coins, items, weapons, armor, and spells, and bit 7 sell. lufia-ii-tables/shops

ShopKind byteFlag byteStock
12$9Citem: Potion, Antidote, Warp, Escape, Boomerang; weapon: Frypan, Knife, Small knife, Rapier; armor: Apron, Dress, Cloth, Pot, Chop board, Small shield
23$20spell: Strong, Spark, Poison
30$9Citem: Potion, Antidote, Awake, Shriek, Warp, Escape, Boomerang; weapon: Rapier, Battle knife, Dagger, Whip; armor: Dress, Cloth, Hide armor, Frock, Beret, Cap, Headband, Small shield
43$20spell: Strong, Spark, Droplet, Poison, Drowsy
53$04item: Green tea, Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
81$9Citem: Potion, Antidote, Hi-Potion, Awake, Shriek, Mystery pin, Warp, Escape, Boomerang; weapon: Mace, Long knife, Short sword; armor: Frock, Robe, Cloth armor, Headband, Cloth helmet, Hide shield, Buckler, Mini shield
91$98weapon: Long knife, Wire, Short sword, Kukri; armor: Tough hide, Light dress, Light armor, Hide helmet, Wood shield, Bracelet
101$20spell: Spark, Droplet, Gale, Flash, Strong, Poison, Drowsy, Confuse
111$04item: Hi-Potion, Awake, Shriek, Mystery pin, Warp, Escape, Magic guard, Big boomer
121$9Citem: Hi-Potion, Awake, Shriek, Mystery pin, Warp, Escape, Power gourd, Big boomer; weapon: Kukri, Rod; armor: Light armor, Baggy, Red beret, Wood helmet, Wood shield, Bracelet
133$20spell: Spark, Flash, Droplet, Gale, Strong, Bravery, Release, Escape
142$84item: Ear jewel, Glass ring, Glass brace
151$98weapon: Chain, Franshiska; armor: Chainmail, Tight dress, Ironmail, Glass cap, Blue beret, Brone helmet, Stone helmet, Kite shield, Tough gloves
161$04item: Hi-Potion, Regain, Awake, Shriek, Mystery pin, Warp, Escape, Mind gourd, Big boomer
181$9Citem: Hi-Potion, Warp, Escape, Big boomer; weapon: Gladius; armor: Toga, Cloche
193$20spell: Fireball, Fake, Trick, Escape, Warp
201$98weapon: Staff, Scimitar, Bronze sword; armor: Chain armor, Thick cloth, Stone plate, Iron helmet, Tight helmet, Round shield
211$04item: Hi-Potion, Regain, Warp, Escape, Ice ball, Fire ball, Big boomer
221$9Citem: Hi-Potion, Regain, Warp, Escape, Ice ball, Fire ball, Big boomer; weapon: Hand ax, Long staff; armor: Thick cloth, Stone plate, Long robe, Turban, Plate cap, Round shield, Tecto gloves
233$20spell: Vortex, Blizzard, Stronger, Warp, Rally
241$04item: Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
251$9Citem: Hi-Potion, Regain, Warp, Escape, Confuse ball, Sleep ball, Big boomer; weapon: War rapier, Long sword; armor: Long robe, Plated cloth, Turban, Plate cap, Roomy helmet, Round shield, Tecto gloves, Big shield
261$04item: Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
271$98weapon: War rapier, Long sword; armor: Long robe, Plated cloth, Turban, Plate cap, Roomy helmet, Round shield, Tecto gloves, Big shield
281$04item: Hi-Potion, Regain, Warp, Escape, Ice ball, Fire ball, Big boomer
291$9Citem: Hi-Potion, Regain, Warp, Escape, Magic guard, Power gourd, Mind gourd, Big boomer; weapon: Cutter whip, Multi sword; armor: Iron plate, Metal mail, Tight turban, Rock helmet, Plate helmet, Tall shield, Silvo shield
303$20spell: Bolt, Fireball, Vortex, Blizzard, Stronger, Perish, Absorb, Waken
311$98weapon: Rockbreaker, Bronze ax, Morning star, Vice pliers; armor: Silver armor, Silk toga, Light jacket, Plated cloth, Iron plate, Glass cloche, Metal cloche, SilverHelmet, Spike shield, Slash shield
321$04item: Hi-Potion, Regain, Warp, Escape, Magic guard, Power gourd, Mind gourd, Big boomer
331$04item: Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
341$88weapon: Rockbreaker, Bronze ax, Morning star, Vice pliers, Coma hit
351$90armor: Silver armor, Silk toga, Light jacket, Plated cloth, Iron plate, Glass cloche, Metal cloche, SilverHelmet, Spike shield, Slash shield
361$84item: Potion, Hi-Potion, Ex-Potion, Antidote, Warp, Escape, Regain, Awake, Shriek, Mystery pin, Magic guard, Boomerang, Big boomer, Ice ball, Fire ball, Confuse ball, Sleep ball, Power gourd, Mind gourd
370$81(sells only)
381$04item: Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
392$04item: Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
400$06coin: 1 coin, 10 coin set, 50 coin set, 100 coin set; item: Statue, Magic lamp, Jewel sonar, Fortune whip, Dragon blade, Seethru silk, Bunnysuit, Bunny ears, Bunnylady, Bunny sword, Bunny ring
411$9Citem: Hi-Potion, Regain, Magic guard, Power gourd, Mind gourd, Big boomer; weapon: Broadsword, Estok, Superdriver; armor: Metal coat, Silver mail, Power jacket, Shade hat, Silver hat, Tuff buckler
423$20spell: Shield, Courage, Mirror, Coma
431$98weapon: Broadsword, Estok, Superdriver; armor: Metal coat, Silver mail, Power jacket, Shade hat, Silver hat, Tuff buckler
441$04item: Hi-Potion, Regain, Magic guard, Power gourd, Mind gourd, Big boomer
451$9Citem: Ex-Potion, Magic guard, Power gourd, Mind gourd, Big boomer; weapon: Royal whip, Spear, Silvo rapier; armor: Quilted silk, Eron hat, Tuff buckler
463$20spell: Champion, Firebird, Ice Valk
471$98weapon: Royal whip, Spear, Silvo rapier, Pounder rod; armor: Quilted silk, Eron hat, Circlet, Tuff buckler
481$04item: Ex-Potion, Confuse ball, Ice ball, Fire ball, Sleep ball, Terror ball, Smoke ball, Freeze ball, Big boomer
491$9Citem: Potion, Hi-Potion, Ex-Potion, Antidote, Warp, Escape, Regain, Awake, Shriek, Mystery pin, Magic guard, Boomerang, Big boomer, Ice ball, Fire ball, Confuse ball, Sleep ball, Power gourd, Mind gourd; weapon: Launcher, Pounder rod, Battledriver, Rainy ax; armor: Metal armor, Power cape, Circlet, Golden helm, Tect buckler
503$20spell: Thunder, Dragon, Valor
511$9Citem: Ex-Potion, Confuse ball, Ice ball, Fire ball, Sleep ball, Terror ball, Smoke ball, Freeze ball, Ex-boomer; weapon: Crazy blade, Trident; armor: Plate armor, Evening gown, Silver robe, Gold band, Gold shield, Gold gloves
523$20spell: Thunder, Firebird, Dragon, Ice Valk, Fry
531$98weapon: Red saber, Halberd, Crystal wand, Mist rapier; armor: Plati plate, Silk robe, Plati helm, Plati band, Plati gloves, Plati shield
541$04item: Ex-Potion, Magic guard, Power gourd, Mind gourd, Ex-boomer
551$9Citem: Ex-Potion, Confuse ball, Ice ball, Fire ball, Sleep ball, Terror ball, Smoke ball, Freeze ball, Ex-boomer; weapon: Silver sword, Heavy lance, Silver rod, Freeze bow; armor: Crystal mail, Crystal robe, Crysto helm, Crysto beret, Gauntlet
562$20spell: Destroy, Zap
571$04item: Pear cider, Sour cider, Lime cider, Plum cider, Apple cider
581$98weapon: Buster sword, Great ax, Zirco rod, Rune rapier; armor: Eron dress, Metal jacket, Holy cap, Rune gloves
591$04item: Ex-Potion, Magic guard, Power gourd, Mind gourd, Ex-boomer, Dragon tooth
601$9Citem: Ex-Potion, Confuse ball, Ice ball, Fire ball, Sleep ball, Terror ball, Smoke ball, Freeze ball, Ex-boomer, Dragon tooth; weapon: Zirco sword, Zirco flail; armor: Royal dress, Full mail, Holy cap, Holy shield
611$9Citem: Ex-Potion, Magic guard, Power gourd, Mind gourd, Confuse ball, Ice ball, Fire ball, Sleep ball, Terror ball, Smoke ball, Freeze ball, Ex-boomer, Dragon tooth; weapon: Zirco rod, Zirco whip, Zirco flail, Zirco sword, Zirco ax; armor: Zircon armor, Zircon plate, Zirco helmet, Zirco band, Zirco gloves, Zirco shield
620$06coin: 1 coin, 10 coin set, 50 coin set, 100 coin set; item: Flame charm, Statue, Zap charm, Rage knife, Seethru cape
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/menu/menu_screen.c#L1034-L1099Lufia2ExecutionResult Lufia2MenuShopSetup( const Lufia2Memory *memory, Lufia2CpuState *cpu) { static const uint16_t kReturns[4][2] = { {0xe2cau, 0xe2cdu}, {0xe2dau, 0xe2ddu}, {0xe2eau, 0xe2edu}, {0xe2fau, 0xe2fdu}}; unsigned i; Jsr(memory, cpu, 0xe299u); /* E729 */ LoadX16(cpu, 0xee9fu); StoreXDirect16(memory, cpu, 0x08u); LoadA8(cpu, 0x97u); StoreADirect8(memory, cpu, 0x0au); …Our readingrecord = $97:EE9F + table[shop]1043–1055kind = byte 0; flags = byte 11057–1062flag bit 0: list the party's own items1067–1076flag bits 1-5: register one list each1077–1088flag bit 7: one more list entry1089–1098Lufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/menu/menu_screen.c#L941-L958static void ShopCount(const Lufia2Memory *memory, Lufia2CpuState *cpu, int bytes) { SetAccumulatorWidth(cpu, 0); LoadY16(cpu, 0xffffu); do { IncrementY16(cpu); LoadA16(cpu, Read16Long(memory, DirectLongPointer(memory, cpu, 0x08u))); if (bytes) And16(cpu, 0x00ffu); OpStepMem(memory, cpu, OpDp(cpu, 0x08u), 1); if (!bytes) OpStepMem(memory, cpu, OpDp(cpu, 0x08u), 1); …Our readingcount a list: read a word, or its low byte for the fifth list943–952stop at 0, or at $FF for the fifth list953–954Terror Wave: a Lufia 2 randomizer · tables/struct_shop.txt#L1-L3unknown0,1 shop_type,bit:pawn coin item weapon armor spell unk16 sell unknown2,1Lufia II - Rise of the Sinistrals (USA) · 0xBEE9F-0xBF63A — $97:EE9F, the offsets and the recordsChecked by claude, 2026-11-08 — read the shop setup in the decompilation and decoded every shop from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

The lowest offset is 512, so the table holds 256 offsets; slots 0, 6, 7, 17 and 63 to 255 are 0, which leaves 59. Decoded by the counted encodings, every list gives item and spell names that fit the shop, and each shop ends where the next one's offset begins. Item prices are in lufia-ii-tables/items and spell prices in lufia-ii-tables/spells.

The Ancient Cave's enemies by floor: an enemy on floor N is one of the six entries from 2(N − 1) of a 200-byte table of monster numbers at $94:D95C, which names 149 different monsters in all. Floor 1 holds Goblin, Goblin Mage, Armor goblin, Regal Goblin, Troll, Ork; floor 98 Dark Warrior, Ochi Warrior, Sly Fox, Pierre. lufia-ii-tables/cave-enemies

FloorEntry 1Entry 2Entry 3Entry 4Entry 5Entry 6
1GoblinGoblin MageArmor goblinRegal GoblinTrollOrk
2Armor goblinRegal GoblinTrollOrkFighter orkOrk Mage
3TrollOrkFighter orkOrk MageSkull LizardArmour Dait
4Fighter orkOrk MageSkull LizardArmour DaitLizardmanCyclops
5Skull LizardArmour DaitLizardmanCyclopsDragonianMerman
6LizardmanCyclopsDragonianMermanMega CyclopsFlame genie
7DragonianMermanMega CyclopsFlame genieCobaltLunar bear
8Mega CyclopsFlame genieCobaltLunar bearWind GenieHound
9CobaltLunar bearWind GenieHoundPugEarth Genie
10Wind GenieHoundPugEarth GenieAqualoiFiend
11PugEarth GenieAqualoiFiendDobenSpecter
12AqualoiFiendDobenSpecterBrinz LizardThunderbeast
13DobenSpecterBrinz LizardThunderbeastLionSeirein
14Brinz LizardThunderbeastLionSeireinShadowflyBrinz Lizard
15LionSeireinShadowflyBrinz LizardGnomeWispy
16ShadowflyBrinz LizardGnomeWispySphinxLizard
17GnomeWispySphinxLizardEarth ViperShadowfly
18SphinxLizardEarth ViperShadowflyMad horseArmor horse
19Earth ViperShadowflyMad horseArmor horseWeb SpiderBaby Frog
20Mad horseArmor horseWeb SpiderBaby FrogNewtRed Bat
21Web SpiderBaby FrogNewtRed BatArmour NailPoison Lizard
22NewtRed BatArmour NailPoison LizardCokatorisBasilisk
23Armour NailPoison LizardCokatorisBasiliskAntaresMoth
24CokatorisBasiliskAntaresMothBig CrabBig Bee
25AntaresMothBig CrabBig BeeKing FrogSpider
26Big CrabBig BeeKing FrogSpiderCoridrasStinger
27King FrogSpiderCoridrasStingerBone GoremMega Moth
28CoridrasStingerBone GoremMega MothCrow KelpGarbost
29Bone GoremMega MothCrow KelpGarbostWheel EelDark Fly
30Crow KelpGarbostWheel EelDark FlyMosquitoBolt Fish
31Wheel EelDark FlyMosquitoBolt FishShe ViperDrill Shell
32MosquitoBolt FishShe ViperDrill ShellDemiseAngler fish
33She ViperDrill ShellDemiseAngler fishUnicornSnell
34DemiseAngler fishUnicornSnellEvil ShellCancer
35UnicornSnellEvil ShellCancerSquidGhoul
36Evil ShellCancerSquidGhoulMorayGrianos
37SquidGhoulMorayGrianosSilver DragonDark Spirit
38MorayGrianosSilver DragonDark SpiritDeadly ArmorCurrent
39Silver DragonDark SpiritDeadly ArmorCurrentWhite WhaleTorrent
40Deadly ArmorCurrentWhite WhaleTorrentAmmoniteDesert Rose
41White WhaleTorrentAmmoniteDesert RoseEvil FishHades
42AmmoniteDesert RoseEvil FishHadesArmor BeeKiller Whale
43Evil FishHadesArmor BeeKiller WhaleKrakenSkeleton
44Armor BeeKiller WhaleKrakenSkeletonBehemothNecromancer
45KrakenSkeletonBehemothNecromancerDark SkullSnatcher
46BehemothNecromancerDark SkullSnatcherZombieHades Skull
47Dark SkullSnatcherZombieHades SkullPerchLa Fleshia
48ZombieHades SkullPerchLa FleshiaHade ChariotMoray Vine
49PerchLa FleshiaHade ChariotMoray VineMad EntGhost Ship
50Hade ChariotMoray VineMad EntGhost ShipTarantulaMad Head
51Mad EntGhost ShipTarantulaMad HeadPumpkin HeadVenus Fly
52TarantulaMad HeadPumpkin HeadVenus FlyJurahanLeech
53Pumpkin HeadVenus FlyJurahanLeechDeadly SwordT Rex
54JurahanLeechDeadly SwordT RexNosferatoVampire
55Deadly SwordT RexNosferatoVampireBrokionSnow Gas
56NosferatoVampireBrokionSnow GasRed PlantBili Jelly
57BrokionSnow GasRed PlantBili JellyCopper DragonWaiban
58Red PlantBili JellyCopper DragonWaibanBlue DragonMummy
59Copper DragonWaibanBlue DragonMummyWood GoremVampire Rose
60Blue DragonMummyWood GoremVampire RoseBlack DragonMinataurus
61Wood GoremVampire RoseBlack DragonMinataurusGreat CocaGargoyle
62Black DragonMinataurusGreat CocaGargoyleBlack DragonMinataurus
63Great CocaGargoyleBlack DragonMinataurusMagma GoremGold Dragon
64Black DragonMinataurusMagma GoremGold DragonRed DragonGreen Dragon
65Magma GoremGold DragonRed DragonGreen DragonGreen ClayWhite Dragon
66Red DragonGreen DragonGreen ClayWhite DragonRed DragonGreen Dragon
67Green ClayWhite DragonRed DragonGreen DragonIce RogeRed Core
68Red DragonGreen DragonIce RogeRed CoreNo CoreMushroom
69Ice RogeRed CoreNo CoreMushroomIce RogeRed Core
70No CoreMushroomIce RogeRed CoreGreen CoreSamurai
71Ice RogeRed CoreGreen CoreSamuraiNo CoreMushroom
72Green CoreSamuraiNo CoreMushroomBig Mushr'mBlue Core
73No CoreMushroomBig Mushr'mBlue CoreMimicGorgon
74Big Mushr'mBlue CoreMimicGorgonBlue MimicTengu
75MimicGorgonBlue MimicTenguNinjaAsashin
76Blue MimicTenguNinjaAsashinRed JellySamurai
77NinjaAsashinRed JellySamuraiBig Mushr'mBlue Core
78Red JellySamuraiBig Mushr'mBlue CoreMimicGorgon
79Big Mushr'mBlue CoreMimicGorgonBlue MimicTengu
80MimicGorgonBlue MimicTenguNinjaRed Jelly
81Blue MimicTenguNinjaRed JellyDark WarriorOchi Warrior
82NinjaRed JellyDark WarriorOchi WarriorBig Mushr'mBlue Core
83Dark WarriorOchi WarriorBig Mushr'mBlue CoreMimicGorgon
84Big Mushr'mBlue CoreMimicGorgonBlue MimicTengu
85MimicGorgonBlue MimicTenguNinjaRed Jelly
86Blue MimicTenguNinjaRed JellyDark WarriorOchi Warrior
87NinjaRed JellyDark WarriorOchi WarriorSly FoxPierre
88Dark WarriorOchi WarriorSly FoxPierreDark WarriorOchi Warrior
89Sly FoxPierreDark WarriorOchi WarriorSly FoxPierre
90Dark WarriorOchi WarriorSly FoxPierreDark WarriorOchi Warrior
91Sly FoxPierreDark WarriorOchi WarriorSly FoxPierre
92Dark WarriorOchi WarriorSly FoxPierreDark WarriorOchi Warrior
93Sly FoxPierreDark WarriorOchi WarriorSly FoxPierre
94Dark WarriorOchi WarriorSly FoxPierreDark WarriorOchi Warrior
95Sly FoxPierreDark WarriorOchi WarriorSly FoxPierre
96Dark WarriorOchi WarriorSly FoxPierreDark WarriorOchi Warrior
97Sly FoxPierreDark WarriorOchi WarriorSly FoxPierre
98Dark WarriorOchi WarriorSly FoxPierreDark WarriorOchi Warrior
CodeLufia2Decomp: semantic reconstruction of Lufia II: Rise of the Sinistrals (SNES, USA) · src/cave/cave_objects.c#L106-L117OpLda(memory, cpu, OpAbs(cpu, CAVE_FLOOR)); /* 9A30 */ OpDecA(cpu); OpAslA(cpu); OpSta(memory, cpu, OpDp(cpu, DP_SCRATCH_A)); LoadA8(cpu, 0x06u); Lufia2CaveRandomBelow(memory, cpu, 0x9a39u); cpu->carry = 0; OpAdc(memory, cpu, OpDp(cpu, DP_SCRATCH_A)); OpSepWidths(cpu, 0x30u); /* 9A3F */ OpTax(cpu); OpLda(memory, cpu, OpLongX(cpu, 0x94d95cu)); OpSta(memory, cpu, OpAbsY(cpu, 0xf966u));Our readingindex = (floor - 1) × 2 + random(6)106–114monster = $94:D95C[index]116–117Lufia II - Rise of the Sinistrals (USA) · 0xA595C-0xA5A23 — $94:D95C, the monster numbers; names from lufia-ii-tables/monstersWhich enemies an Ancient Cave floor can hold depends only on its number: each enemy placed on floor N is entry 2(N − 1) plus a random 0 to 5 of a 200-entry table, so each floor has six kinds, a floor shares four of them with the next, and each entry serves three floors. A floor makes 4 to 7 tries to place an enemy, each at a random spot of a random cell, and a try fails when no cell is found or the spot is beside the start or another object; a treasure room adds up to 13 more, and a floor holds at most 20. CodeChecked by claude, 2026-11-08 — read the enemy pick in the decompilation and decoded the table from the ROM's bytesRevised after a check by a second AI model, 2026-11-08.

Where a floor's six entries name the same monster twice, that monster is twice as likely there (floor 98 has Dark Warrior and Ochi Warrior twice). Each floor shares four entries with the next, so only the table's last 2 entries serve floor 98 alone.

The Ancient Cave's weapon and armour lists by floor, as the builder makes them from the item records: the price ceiling, how many items each list holds, and how many the chest pick can reach, which is the count modulo 128. From floor 60 the ceiling is gone and the lists stay at 88 weapons and 185 armour pieces, of which 57 can be drawn; the armour list first passes 127 items on floor 10. lufia-ii-tables/cave-item-pools

Value
{
 "floor": [
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  16,
  17,
  18,
  19,
  20,
  21,
  22,
  23,
  24,
  25,
  26,
  27,
  28,
  29,
  30,
  31,
  32,
  33,
  34,
  35,
  36,
  37,
  38,
  39,
  40,
  41,
  42,
  43,
  44,
  45,
  46,
  47,
  48,
  49,
  50,
  51,
  52,
  53,
  54,
  55,
  56,
  57,
  58,
  59,
  "60–98"
 ],
 "ceiling": [
  2000,
  3000,
  4000,
  5000,
  6000,
  7000,
  8000,
  9000,
  10000,
  11000,
  12000,
  13000,
  14000,
  15000,
  16000,
  17000,
  18000,
  19000,
  20000,
  21000,
  22000,
  23000,
  24000,
  25000,
  26000,
  27000,
  28000,
  29000,
  30000,
  31000,
  32000,
  33000,
  34000,
  35000,
  36000,
  37000,
  38000,
  39000,
  40000,
  41000,
  42000,
  43000,
  44000,
  45000,
  46000,
  47000,
  48000,
  49000,
  50000,
  51000,
  52000,
  53000,
  54000,
  55000,
  56000,
  57000,
  58000,
  59000,
  60000,
  null
 ],
 "weapons": [
  15,
  18,
  20,
  24,
  26,
  33,
  34,
  37,
  43,
  44,
  46,
  47,
  51,
  52,
  55,
  55,
  55,
  57,
  58,
  62,
  63,
  63,
  64,
  66,
  67,
  67,
  67,
  69,
  70,
  73,
  74,
  74,
  74,
  74,
  75,
  75,
  76,
  76,
  76,
  76,
  76,
  76,
  76,
  76,
  77,
  77,
  78,
  79,
  80,
  83,
  84,
  87,
  87,
  87,
  87,
  87,
  87,
  87,
  87,
  88
 ],
 "weaponsDrawn": [
  15,
  18,
  20,
  24,
  26,
  33,
  34,
  37,
  43,
  44,
  46,
  47,
  51,
  52,
  55,
  55,
  55,
  57,
  58,
  62,
  63,
  63,
  64,
  66,
  67,
  67,
  67,
  69,
  70,
  73,
  74,
  74,
  74,
  74,
  75,
  75,
  76,
  76,
  76,
  76,
  76,
  76,
  76,
  76,
  77,
  77,
  78,
  79,
  80,
  83,
  84,
  87,
  87,
  87,
  87,
  87,
  87,
  87,
  87,
  88
 ],
 "armour": [
  35,
  43,
  61,
  72,
  85,
  95,
  102,
  115,
  122,
  129,
  134,
  137,
  140,
  144,
  148,
  148,
  148,
  153,
  154,
  157,
  157,
  158,
  158,
  159,
  161,
  163,
  163,
  167,
  167,
  169,
  169,
  171,
  172,
  174,
  177,
  177,
  177,
  178,
  178,
  179,
  179,
  180,
  180,
  180,
  180,
  180,
  180,
  180,
  180,
  183,
  184,
  184,
  184,
  185,
  185,
  185,
  185,
  185,
  185,
  185
 ],
 "armourDrawn": [
  35,
  43,
  61,
  72,
  85,
  95,
  102,
  115,
  122,
  1,
  6,
  9,
  12,
  16,
  20,
  20,
  20,
  25,
  26,
  29,
  29,
  30,
  30,
  31,
  33,
  35,
  35,
  39,
  39,
  41,
  41,
  43,
  44,
  46,
  49,
  49,
  49,
  50,
  50,
  51,
  51,
  52,
  52,
  52,
  52,
  52,
  52,
  52,
  52,
  55,
  56,
  56,
  56,
  57,
  57,
  57,
  57,
  57,
  57,
  57
 ],
 "firstArmour": [
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron",
  "Apron"
 ],
 "lastDrawnArmour": [
  "Glass ring",
  "Speedy ring",
  "Thunder ring",
  "Fury ring",
  "Eagle rock",
  "Eagle rock",
  "Eagle rock",
  "Cancer rock",
  "Cancer rock",
  "Apron",
  "Frock",
  "Coat",
  "Light armor",
  "Chainmail",
  "Chain armor",
  "Chain armor",
  "Chain armor",
  "Iron plate",
  "Metal mail",
  "Light jacket",
  "Light jacket",
  "Metal coat",
  "Metal coat",
  "Silver mail",
  "Quilted silk",
  "Power cape",
  "Power cape",
  "Plate armor",
  "Plate armor",
  "Silk robe",
  "Silk robe",
  "Crystal mail",
  "Crystal robe",
  "Metal jacket",
  "Bright armor",
  "Bright armor",
  "Bright armor",
  "Bright cloth",
  "Bright cloth",
  "Power robe",
  "Power robe",
  "Magic scale",
  "Magic scale",
  "Magic scale",
  "Magic scale",
  "Magic scale",
  "Magic scale",
  "Magic scale",
  "Magic scale",
  "Full mail",
  "Old armor",
  "Old armor",
  "Old armor",
  "Zircon plate",
  "Zircon plate",
  "Zircon plate",
  "Zircon plate",
  "Zircon plate",
  "Zircon plate",
  "Zircon plate"
 ]
}
CodeWeapon and armour chests deepen with the floor: the builder lists, for each floor, every item marked as found in the field and not marked as excluded whose price is under (floor + 1) × 1,000 gold, or any price from floor 60 on, in item order; items of type 1 go on the weapon list and the rest on the armour list. CodeFrom floor 10 on, Ancient Cave armour chests give only body armour. The chest pick halves the low byte of the list's length in bytes, so a list of more than 127 items is drawn from only its first n − 128: the armour list reaches 129 items at floor 10, where every armour chest holds its first item, an Apron, and from floor 60 it holds 185 and draws from the first 57, all body armour, which comes first in item order. Shields, helmets, rings and jewels come out of armour chests only on floors 1 to 9; the weapon list never passes 88 items and is drawn whole. CodeEach of the 467 items, from no. 0 (no equipment) to no. 466, has a record reached through a table of 467 offsets at $96:CF69 and a 12-letter name at $9E:C7E8. The record's first nine bytes are copied as a block, and four mask bytes follow; each set mask bit, lowest first, adds a word. Byte 7's lowest set bit picks the equipment slot, byte 8 has one bit per character who can equip the item, the word at +5 is the price the Ancient Cave holds under its floor's limit, the seven words of mask bits 4 to 10 are what equipping adds, and mask bit 15's word names the item's IP attack. Terror Wave names the rest: bytes 0 to 4 use flags, more flags, targeting, icon, and sprite; byte 7's bits, low first, weapon, armor, shield, helmet, ring, and jewel; and the seven added words attack, defense, strength, agility, intelligence, guts, and magic resistance. The table holds 116 weapons, 66 armors, 45 shields, 53 helmets, 41 rings, 33 jewels, and 108 items with no kind bit. CodeChecked by claude, 2026-11-08 — decoded every item record from the ROM and applied the list builder's tests and the pick's low-byte count, as the cited claims read themRevised after a check by a second AI model, 2026-11-08.

A count of 0 (a list of exactly 128) still gives the list's first item. The ceiling column is empty from floor 60, where the builder sets the limit to $FFFF. The builder reads item ids 0 to 465 (466 items), so item 466 is never listed; the lists keep item order.

The Ancient Cave's four fixed chest lists, as item words in the ROM: the nine Iris treasures at $91:FFCA, the nine restoratives at $91:FFDC (Potion and Hi-Magic twice each), the 41 blue-chest items at $94:EEA0, which are also the items the cave lets the party keep, and the 31 other consumables at $94:F13D. lufia-ii-tables/cave-chest-lists

ListEntryItem
Iris treasure1Iris sword
Iris treasure2Iris shield
Iris treasure3Iris helmet
Iris treasure4Iris armor
Iris treasure5Iris ring
Iris treasure6Iris jewel
Iris treasure7Iris staff
Iris treasure8Iris pot
Iris treasure9Iris tiara
Restorative1Potion
Restorative2Hi-Magic
Restorative3Miracle
Restorative4Hi-Potion
Restorative5Potion
Restorative6Ex-Potion
Restorative7Regain
Restorative8Ex-Magic
Restorative9Hi-Magic
Blue chest1Sizzle sword
Blue chest2Mega ax
Blue chest3Water spear
Blue chest4Air whip
Blue chest5Blaze sword
Blue chest6Spark staff
Blue chest7Sky sword
Blue chest8Dragon spear
Blue chest9Snow sword
Blue chest10Fry sword
Blue chest11Gades blade
Blue chest12Mirak plate
Blue chest13Ruse armor
Blue chest14Agony helm
Blue chest15Boom turban
Blue chest16Aqua helm
Blue chest17Ice hairband
Blue chest18Dark mirror
Blue chest19Apron shield
Blue chest20Flame shield
Blue chest21Water gaunt
Blue chest22Bolt shield
Blue chest23Cryst shield
Blue chest24Hairpin
Blue chest25Gorgan rock
Blue chest26Black eye
Blue chest27Silver eye
Blue chest28Gold eye
Blue chest29Sea ring
Blue chest30Earring
Blue chest31Engage ring
Blue chest32Dia ring
Blue chest33Water jewel
Blue chest34Thundo jewel
Blue chest35Earth jewel
Blue chest36Tidal jewel
Blue chest37Gloom jewel
Blue chest38Twist jewel
Blue chest39Camu jewel
Blue chest40Catfish jwl.
Blue chest41Spido jewel
Other consumable1Awake
Other consumable2Shriek
Other consumable3Mystery pin
Other consumable4Magic guard
Other consumable5Power gourd
Other consumable6Mind gourd
Other consumable7Life potion
Other consumable8Spell potion
Other consumable9Speed potion
Other consumable10Mind potion
Other consumable11Power potion
Other consumable12Brave
Other consumable13Boomerang
Other consumable14Big boomer
Other consumable15Ex-boomer
Other consumable16Confuse ball
Other consumable17Ice ball
Other consumable18Fire ball
Other consumable19Sleep ball
Other consumable20Terror ball
Other consumable21Smoke ball
Other consumable22Freeze ball
Other consumable23Antidote
Other consumable24Magic fruit
Other consumable25Ex-Magic
Other consumable26Hi-Magic
Other consumable27Ex-Magic
Other consumable28Hi-Magic
Other consumable29Miracle
Other consumable30Regain
Other consumable31Curselifter
CodeEach Ancient Cave floor rolls the contents of its chests before it lays out its rooms: eight rolls of a byte from 0 to 255, one per chest. A roll of 174 or more gives a weapon, 129 to 173 a piece of armour, 99 to 128 a spell scroll for a spell none of the four party members knows (or else a restorative), 94 to 98 a blue chest, 36 to 93 a restorative, and 0 to 35 another consumable. Weapons, spells, blue chests and the other consumables are drawn evenly from their lists, and armour evenly from the first n mod 128 items of its list of n (lufia-ii/cave-armor-wrap); the restorative takes the average of two draws, so the middle of its list of nine comes up most. When an Iris treasure or Providence takes the first chest, the rolls fill the other seven. CodeOn each floor the Ancient Cave builds, there is a 5-in-256 chance that the game picks one of the nine Iris treasures at random for the floor's first chest. The treasure goes in only if it hasn't been picked before in this visit and the player hasn't already earned it: one bit per treasure, cleared on entry, marks it picked even when the chest isn't placed, and its event flag, set when the party leaves with it, marks it earned. No floor number is tested. CodeWhen an Ancient Cave visit ends without a wipe, the party keeps its Iris treasures and its blue-list items and nothing else: the game collects every Iris treasure in the bag, setting its event flag, then every blue-list item in the bag or in any of the seven members' equipment, restores the copy of the party saved at the entrance, gives the collected items back, and adds the time spent inside to the restored play time. Iris treasures are collected from the bag only, and blue items brought in but no longer held are not returned. CodeLufia II - Rise of the Sinistrals (USA) · 0x8FFCA-0x8FFED — $91:FFCA and $91:FFDC, nine words eachLufia II - Rise of the Sinistrals (USA) · 0xA6EA0-0xA6EF1 — $94:EEA0, 41 wordsLufia II - Rise of the Sinistrals (USA) · 0xA713D-0xA717A — $94:F13D, 31 wordsChecked by claude, 2026-11-08 — decoded the four tables from the ROM's bytes at the addresses the chest, entry and exit routines read; names from the item name tableChecked by a second AI model, 2026-11-08.

The blue list is read whole by the chest roll ($83:91C8, 41 entries) and by the entry and exit tests, which compare $52 bytes. The other consumables list holds Ex-Magic and Hi-Magic twice each.