Replaying FF4 for the first time in many years, I searched the web for a refresher on the various equipment options and found myself bewildered at the profusion of releases. By the early '90s there were already three competing versions, and in the meantime there have been so many ports and reissues, each tinkering with the formula, that it was hard to find a source. Not that there aren't comprehensive guides on virtually every aspect of every version, but I was hoping for an at-a-glance reference to my version rather than an exhaustive collation. I decided to "quickly" dump the data I cared about from the ROM and got a little carried away.
This is a crude HTML rendition of the source document, ff2eq.txt, a fixed-width text file.
| 80% | FireClaw (Fire) | ||||||
| 80% | IceClaw (Ice) | ||||||
| 80% | Thunder [Claw] (Lit) (bonus v. Mech) | ||||||
| 50% | Charm [Claw] (Charm) (bonus v. Giant) Agil +3 | ||||||
| 90% | Poison [Claw] (Poison) Str +3 | ||||||
| 99% | CatClaw (Sleep) Str/Agil +5 | ||||||
| 3 | 40% | Rod (use for non-elemental damage) | |||||
| 5 | 45% | IceRod (Ice) (bonus v. Lizard) (use for Ice-1) | |||||
| 7 | 45% | FlameRod (Fire) (use for Fire1) Wis +3 | |||||
| 10 | 50% | Thunder [Rod] (Lit) (use for Lit-1) Wis +3 | |||||
| 15 | 50% | Change [Rod] (use for Pig) Wis +5 | |||||
| 30 | 55% | Charm [Rod] (use for Charm) Wis +10 | |||||
| 45 | 60% | Stardust [Rod] (use for Comet) Wis +15 | |||||
| 13 | 10% | Lilith [Rod] (Drain) (bonus v. Undead) (use: Psych) Wis +5 | |||||
| 4 | 45% | Staff (use to remove poison) | |||||
| 8 | 50% | Cure [Staff] (use to restore HP to all party members) | |||||
| M | 12 | 55% | Silver [Staff] (bonus v. Undead) (use v. Charm &c) Will +3 | ||||
| 30 | 99% | Power [Staff] (Bersk) Str +10 | |||||
| 36 | 60% | Lunar [Staff] Will +10 | |||||
| 48 | 65% | Life [Staff] (use for Life1) Will +15 | |||||
| C | 52 | 60% | Silence [Staff] (Mute) (bonus v Mage) (use: Mute) Will +10 | ||||
| M | 10 | 80% | Shadow [Sword] (Dark) | ||||
| M | 20 | 85% | Darkness [Sword] (Dark) | ||||
| M | 30 | 90% | Black [Sword] (Dark, Death) Str/Agil/Vit/Wis +5, Will -10 | ||||
| M | 40 | 99% | Legend [Sword] (White) Will +3 | ||||
| M | T | 99 | 99% | Light [Sword] (White) Str/Will +3 | |||
| M | T | 160 | 99% | Excalbur (White) Str +10 | |||
| M | 65 | 80% | Fire [Sword] (Fire) | ||||
| M | 75 | 80% | IceBrand (Ice) | ||||
| M | T | 105 | 90% | Defense [Sword] Vit +15 | |||
| M | T | 45 | 50% | Drain [Sword] (Drain) (bonus: Undead, Slime, Giant) All -5 | |||
| M | T | 35 | 77% | Ancient [Sword] (Curse) (bonus v. Spirit) | |||
| M | T | 55 | 77% | Slumber [Sword] (Sleep) (use for Sleep) | |||
| M | T | 77 | 66% | Medusa [Sword] (Stone) | |||
| M | 9 | 99% | Spear (Wind) | ||||
| M | 55 | 80% | Wind [Spear] (Wind) | ||||
| M | 66 | 80% | Flame [Spear] (Wind, Fire) (use for Fire2) | ||||
| M | 77 | 80% | Blizzard [Spear] (Wind, Ice) (use for Ice-2) | ||||
| M | T | 99 | 80% | Dragoon [Spear] (Wind) (bonus v. Dragon) | |||
| M | T | 109 | 80% | White [Spear] (Wind, White) (bonus v. Spirit) (use: White) | |||
| M | T | 88 | 22% | Drain [Spear] (Drain) (bonus Undead, Slime, Giant) All -10 | |||
| M | T | 92 | 80% | Gungnir [Spear] (Wind) Vit +15 | |||
| M | T | 25 | 90% | Short [Katana] | |||
| M | 32 | 90% | Middle [Katana] | ||||
| M | 40 | 90% | Long [Katana] | ||||
| M | T | 48 | 90% | Ninja [Katana] Str +5 | |||
| M | T | 55 | 90% | Murasame [Katana] Str/Vit/Wis +5, Agil/Will -5 | |||
| M | T | 65 | 99% | Masamune [Katana] (use for Fast) Agil +3 | |||
| M | T | 29 | 55% | Assassin [Knife] (Death) Str/Agil/Vit +5, Wis/Will -10 | |||
| M | T | 35 | 75% | Mute [Knife] (Mute) (bonus v. Mage) Wis +5 | |||
| R | C | 20 | 50% | Whip (Hold) | |||
| M | R | C | 30 | 55% | Chain [Whip] (Hold) | ||
| R | C | 40 | 60% | Blitz [Whip] (Hold, Lit) | |||
| R | C | 50 | 65% | Flame [Whip] (Hold, Fire) Str/Agil/Vit +5, Wis/Will -5 | |||
| R | C | 55 | 75% | Dragon [Whip] (Hold) (bonus v. Dragon) S/A/V +5, W/W -5 | |||
| M | T | 35 | 50% | HandAxe Str +3 | |||
| M | R | C | 62 | 69% | Dwarf [Axe] Str/Vit +5, Agil/Wis/Will -5 | ||
| M | C | 80 | 85% | Ogre [Axe] (bonus v. Giant) | |||
| M | T | 20 | 99% | Silver [Knife] (bonus v. Spirit) | |||
| M | T | 28 | 94% | Dancing [Knife] (use for non-elemental damage) | |||
| M | 50 | 80% | Silver [Sword] (bonus v. Spirit) | ||||
| M | T | 255 | 99% | Spoon | |||
| M | C | 200 | 99% | Crystal [Sword] (White) (bonus v. Undead) Str/Vit/Will +15 | |||
| M | T | R | 40 | 99% | Shuriken [Star] (Wind) | ||
| M | T | R | C | 80 | 99% | Ninja [Star] (Wind) | |
| R | 20 | 80% | Boomrang (Wind) | ||||
| R | 40 | 85% | FullMoon [Boomerang] (Wind) | ||||
| R | W | 8 | 85% | Dreamer [Harp] (Sleep) | |||
| R | W | 18 | 90% | Charm [Harp] (Charm) | |||
| M | W | 95 | 60% | Poison [Axe] (Poison) (bonus v. Giant) (use for Venom) | |||
| M | W | 100 | 60% | RuneAxe (bonus v. Mage) | |||
| W | 45 | 75% | Wooden [Wrench] (bonus v. Mech) | ||||
| M | W | 55 | 75% | Silver [Wrench] (bonus v. Spirit, Mech) | |||
| M | W | 65 | 75% | Earth [Wrench] (Fire) (bonus v Mech) (use: Quake) Str +5 | |||
| M | T | W | 80 | 95% | Avenger [Sword] Str/Agil/Vit +10, Wis/Will -10 | ||
| R | 10 | 30% | ShortBow (Wind) | ||||
| R | 20 | 35% | CrossBow (Wind) | ||||
| R | 30 | 40% | GreatBow (Wind) Str +3 | ||||
| R | 40 | 50% | Archer [Bow] (Wind) Str +5 | ||||
| R | 50 | 75% | ElvenBow (Wind) (bonus v. Mage) Wis +5 | ||||
| R | 60 | 60% | Samurai [Bow] (Wind) Str +10 | ||||
| R | 80 | 70% | Artemis [Bow] (Wind) Str/Agil/Vit +10, Wis/Will -10 | ||||
| M | R | 5 | Iron [Arrow] | ||||
| R | 10 | White [Arrow] (White) (bonus v. Undead, Spirit) | |||||
| R | 15 | Fire [Arrow] (Fire) | |||||
| R | 15 | Ice [Arrow] (Ice) | |||||
| R | 15 | Lit [Arrow] (Lit) (bonus v. Mech) | |||||
| R | 20 | Darkness [Arrow] (Blind) | |||||
| R | 30 | Poison [Arrow] (Poison) | |||||
| R | 35 | Mute [Arrow] (Mute) (bonus v. Mage) | |||||
| R | 40 | Charm [Arrow] (Charm) (bonus v. Giant) | |||||
| R | 50 | Samurai [Arrow] | |||||
| R | 1 | Medusa [Arrow] (Stone) | |||||
| R | 75 | Artemis [Arrow] (bonus v. Dragon) |
| M | metallic/magnetic (relevant for Cave Magnes) |
| T | throwable |
| R | ranged weapon (can be used from the back row without penalty) |
| C | capped (no critical hits) |
| W | two-handed |
Who can equip what?
| M | 1 | 20% | Iron [Shield] | ||
| M | 1 | 22% | Shadow [Shield] | ||
| M | 2 | 24% | 1% | Black [Shield] | |
| M | 2 | 24% | 1 | 1% | Paladin [Shield] (bonus v. Undead) Will +3 |
| M | 3 | 26% | 2 | 2% | Silver [Shield] (bonus v. Spirit) |
| M | 3 | 28% | 2 | 2% | Fire [Shield] (Ice) |
| M | 3 | 30% | 2 | 2% | Ice [Shield] (Fire) (bonus v. Lizard) |
| 4 | 32% | 2 | 3% | Diamond [Shield] (Lit) | |
| M | 4 | 34% | 5 | 4% | Aegis [Shield] (Stone) (bonus v. Mage) Wis +3 |
| M | 5 | 36% | 3 | 4% | Samurai [Shield] |
| 6 | 38% | 3 | 5% | Dragoon [Shield] (Fire, Ice, Lit) (bonus v. Dragon) | |
| 7 | 40% | 4 | 6% | Crystal [Shield] (bonus v. Undead) Will +3 | |
| M | 3 | Iron [Helmet] | |||
| M | 4 | Shadow [Helmet] | |||
| M | 5 | 1 | Darkness [Helmet] | ||
| M | 6 | 1 | 1% | Black [Helmet] | |
| M | 7 | 2 | 1% | Paladin [Helmet] (bonus v. Undead) Will +3 | |
| M | 8 | 2 | 2% | Silver [Helmet] (bonus v. Spirit) | |
| 9 | 2 | 2% | Diamond [Helmet] (Lit) | ||
| 10 | 6 | 3% | Samurai [Helmet] | ||
| 11 | 7 | 4% | Dragoon [Helmet] (Fire/Ice/Lit) (bonus v. Dragon) | ||
| 12 | 8 | 5% | Crystal [Helmet] (F/I/L) (bonus v. Undead) Will +3 | ||
| 1 | 5% | 1 | 1% | Cap | |
| 2 | 6% | 3 | 3% | Leather [Helmet] | |
| 3 | 7% | 5 | 5% | Gaea [Helmet] Wis/Will +3 | |
| 5 | 8% | 7 | 7% | Wizard [Helmet] (bonus v. Undead) Will +5 | |
| M | 7 | 10% | 10 | 9% | Tiara (Lit) (bonus v. Dragon) Wis +10 |
| 9 | 12% | 12 | 12% | Ribbon (Fire, Ice, Lit, *) (bonus v. Mage) | |
| 1 | 10% | 1 | 1% | Headband (Charm) Str +5 | |
| 3 | 12% | 1 | 1% | Bandanna Str/Vit +5 | |
| 5 | 14% | 1 | 1% | Ninja [Helmet] (Sleep) Str/Agil/Vit +3 | |
| 30 | 99% | Glass [Helmet] | |||
| M | 4 | 1 | Iron [Armor] | ||
| M | 5 | 1 | Shadow [Armor] | ||
| M | 7 | 2 | Darkness [Armor] | ||
| M | 9 | 3 | Black [Armor] | ||
| M | 11 | 3 | 1% | Paladin [Armor] (bonus v. Undead) Will +3 | |
| M | 13 | 4 | 2% | Silver [Armor] (bonus v. Spirit) | |
| M | 15 | 4 | 2% | Fire [Armor] (Ice) | |
| M | 17 | 4 | 2% | Ice [Armor] (Fire) | |
| 19 | 4 | 2% | Diamond [Armor] (Lit) | ||
| 21 | 7 | 4% | Samurai [Armor] | ||
| 23 | 8 | 5% | Dragoon [Armor] (Fire, Ice, Lit) (bonus v. Dragon) | ||
| 25 | 10 | 6% | Crystal [Armor] (*) (bonus v. Undead) Will +3 | ||
| 1 | 10% | Cloth [Robe] | |||
| 2 | 10% | 1 | 1% | Leather [Robe] | |
| 3 | 10% | 3 | 3% | Gaea [Robe] (Stone) | |
| 5 | 10% | 5 | 5% | Wizard [Robe] Will +5 | |
| 8 | 10% | 7 | 7% | Black [Robe] Will +5 | |
| 12 | 10% | 9 | 9% | Sorcerer [Robe] (Lit) (bonus v. Undead) Wis/Will +5 | |
| 18 | 10% | 10 | 6% | White [Robe] (Blind) (bonus v. Undead, Spirit) Will +15 | |
| 15 | 10% | Power [Robe] Str +15 | |||
| 20 | 40% | 5 | 5% | Heroine [Robe] (Hold) Str/Agil/Vit +15, Wis/Will -15 | |
| 1 | 10% | 1 | Prisoner [Robe] (Sleep) | ||
| 2 | 10% | 1 | Bard [Robe] (Mute) | ||
| 5 | 20% | 2 | 1% | Karate [Robe] Str +3 | |
| 10 | 30% | 3 | 2% | Bl.Belt [Robe] Str/Vit +5 | |
| 100 | 99% | 20 | 12% | Adamant [Armor] (F/I/L, Charm, Hold, Sleep, *) All +15 | |
| 24 | 70% | 15 | 8% | Ninja [Robe] Agil +3 | |
| M | 2 | Iron [Glove] | |||
| M | 2 | Shadow [Glove] | |||
| M | 3 | Darkness [Glove] | |||
| M | 4 | Black [Glove] | |||
| M | 5 | 1 | 1% | Paladin [Glove] (bonus v. Undead) Will +3 | |
| M | 6 | 2 | 2% | Silver [Glove] (bonus v. Spirit) | |
| 7 | 3 | 3% | Diamond [Glove] (Lit) | ||
| 10 | Zeus [Glove] (Mini) (bonus v. Giant) Str/Vit +10 | ||||
| 8 | 5 | 3% | Samurai [Glove] | ||
| 9 | 6 | 3% | Dragoon [Glove] (Fire, Ice, Lit) (bonus v. Dragon) | ||
| 10 | 7 | 4% | Crystal [Glove] (bonus v. Undead) Will +3 | ||
| M | 2 | 10% | 2 | 1% | IronRing |
| 10% | 3 | 2% | RubyRing (Pig) | ||
| M | 4 | 10% | 4 | 4% | Silver [Ring] (bonus v. Spirit) |
| M | 2 | 10% | 2 | 2% | Strength [Ring] Str +5 |
| 5 | 10% | 8 | 8% | Rune [Ring] (Mute) (bonus v. Mage) Wis/Will +3 | |
| 20 | 15% | 12 | 10% | Crystal [Ring] (Charm/Hold/Sleep) (bonus Dragon) Agi +5 | |
| 6 | 10% | 8 | 6% | Diamond [Ring] (Lit) | |
| 10 | 15% | 12 | 10% | Protect [Ring] (Fire, Ice, Lit) Vit +15 | |
| Cursed [Ring] (absorbs elemental damage) All -15 |
| (*) | The Ribbon, Crystal armor, and Adamant armor all protect against various status ailments: Blind, Mute, Pig, Mini, and Toad. In addition, the Crystal armor protects against Bersk, while the Ribbon and Adamant armor confer immunity to Poison, Stone, Curse, and Death. |
Who can equip what?
Item data begins at 0x79100 (no header). There are 96 weapons followed by 80 pieces of armor (some blank or unused).
| 00 | Metallic flag
packed with weapon flags or MAG
DEF%
| |||||||||||||||||||||||||||||||||
| 01 | ATTACK or DEFENSE power | |||||||||||||||||||||||||||||||||
| 02 | Unknown flag (high bit) packed with ATTACK% or DEFENSE% | |||||||||||||||||||||||||||||||||
| 03 | Spell number (for the spellcasting items) or MAG DEF | |||||||||||||||||||||||||||||||||
| 04 | Shield flag (high bit) packed w/ element, status attribute code | |||||||||||||||||||||||||||||||||
| 05 | Monster bitmask (if set,
especially effective against . . .)
| |||||||||||||||||||||||||||||||||
| 06 | Weapon-type flags
packed with eligibility (who can equip)
| |||||||||||||||||||||||||||||||||
| 07 | Stat
bonus(es)
|
Deathlike2's Item/Equipment Guide on GameFAQs
https://gamefaqs.gamespot.com/mobile/974825-final-fantasy-iv/faqs/79748was helpful for confirming the effects of the item-only spells. Where the tables above are a crude summary, this guide is the whole story.
Also useful for spot checks was Inven's equipment spreadsheet linked from the Free Enterprise wiki:
https://wiki.ff4fe.com/doku.php?id=guides_resources
I don't expect to revisit it and haven't bothered to clean it up -- it was written in haste -- but here's the code for the table dump. The output will differ a bit from the above because I spent some time editing it to fit within 72 columns and to expand on special properties and custom resistances.
(use srfi.13)
(use gauche.uvector)
(define (main args)
(cond
((not (length=? args 2))
(print #"Usage: ~(sys-basename (car args)) ROMFILE"))
(else
(with-input-from-file (cadr args)
(lambda ()
(load-item-names)
(load-spell-names)
(weapon-table)
(armor-table)))))
0)
(define item-icon-codes (make-vector 176))
(define item-names (make-vector 176))
(define spell-names (make-vector 72))
(define (load-item-names)
(port-seek (current-input-port) #x78000)
(dotimes (i 176)
(vector-set! item-icon-codes i (read-byte))
(vector-set! item-names i (encode (read-bytevector 8)))))
;; Offsets assume an unheadered ROM file.
(define (encode v)
(string-trim-right
(list->string
(map
(cut alist-ref text-table <> eqv?)
(u8vector->list v)))))
;; TEXT-TABLE and ICON-TABLE were taken from
;; https://datacrystal.tcrf.net/wiki/Final_Fantasy_IV_(SNES)/TBL
;; They're defined at the end of this file.
(define (load-spell-names)
(port-seek (current-input-port) #x78900)
(dotimes (i 72)
(read-byte)
(vector-set! spell-names i (encode (read-bytevector 5)))))
(define (weapon-table)
(port-seek (current-input-port) #x79100)
(let loop ((i 0))
(if (<= 96 i)
'done
(let* ((record (read-bytevector 8))
(weapon-flags (u8vector-ref record 0)))
(format
#t
"~a~a~a~a~a ~3@a ~a ~a~a~a~a~a\n"
(if (logbit? 7 weapon-flags) "M" " ")
(if (logbit? 6 weapon-flags) "T" " ")
(if (logbit? 5 weapon-flags) "R" " ")
(if (logbit? 0 weapon-flags) "C" " ")
(if (logbit? 5 (u8vector-ref record 6)) "W" " ")
(u8vector-ref record 1)
(hit% (logand #x7F (u8vector-ref record 2)))
(item-name i)
(attribute (logand #x7F (u8vector-ref record 4)))
(monster (u8vector-ref record 5))
(spell (u8vector-ref record 3))
(stat-summary (u8vector-ref record 7)))
(loop (+ 1 i))))))
(define (hit% c) (if (zero? c) " " (format "~a%" c)))
(define (item-name i)
(let ((body (vector-ref item-names i))
(icon (alist-ref icon-table (vector-ref item-icon-codes i))))
(if (and icon (string-scan body icon))
body
(format "~a [~a]" body icon))))
(define (attribute n)
(fmt " (~a)" (alist-ref element-table n eqv? "Cust.")))
;; ELEMENT-TABLE is defined below. It was adapted from the highly
;; educational FFIV Disassembly project:
;; https://github.com/everything8215/ff4
(define (fmt template value)
(if (zero? (string-size value))
""
(format template value)))
(define (spell n)
(fmt " (use for ~a)" (vector-ref spell-names n "Custom")))
(define (monster c)
(fmt
" (bonus v. ~a)"
(string-join
(filter-map
(lambda (b)
(and (logbit? b c)
(case b
((0) "Dragon")
((1) "Mech")
((2) "Lizard")
((3) "Spirit")
((4) "Giant")
((5) "Slime")
((6) "Mage")
((7) "Undead"))))
'(7 6 5 4 3 2 1 0))
", ")))
(define (stat-summary c)
(define (plus n) (case n ((0) 3) ((1 4 7) 5) ((2 5) 10) ((3 6) 15)))
(define (minus n) (case n ((4) 5) ((5 7) 10) ((6) 15)))
(define (stat n)
(case n
((7) "Str")
((6) "Agil")
((5) "Vit")
((4) "Wis")
((3) "Will")))
(let ((lo (bit-field c 0 3))
(pos (filter (cut logbit? <> c) '(7 6 5 4 3)))
(neg (if (logbit? 2 c)
(remove (cut logbit? <> c) '(7 6 5 4 3))
'())))
(let ((spos (and (pair? pos) (string-join (map stat pos) "/")))
(sneg (and (pair? neg) (string-join (map stat neg) "/"))))
(cond ((and spos sneg)
(format " ~a +~a, ~a -~a" spos (plus lo) sneg (minus lo)))
(spos (format " ~a +~a" spos (plus lo)))
(sneg (format " ~a -~a" sneg (minus lo)))
(else "")))))
(define (armor-table)
(port-seek (current-input-port) #x79400)
(let loop ((i 96))
(if (<= 176 i)
'done
(let1 record (read-bytevector 8)
(format
#t
"~a ~3@a ~3@a ~2@a ~3@a ~a~a~a~a\n"
(if (logbit? 7 (u8vector-ref record 0)) "M" " ")
(u8vector-ref record 1)
(hit% (logand #x7F (u8vector-ref record 2)))
(u8vector-ref record 3)
(hit% (logand #x7F (u8vector-ref record 0)))
(item-name i)
(attribute (logand #x7F (u8vector-ref record 4)))
(monster (u8vector-ref record 5))
(stat-summary (u8vector-ref record 7)))
(loop (+ 1 i))))))
(define
text-table
'((#x42 . #\A)
(#x43 . #\B)
(#x44 . #\C)
(#x45 . #\D)
(#x46 . #\E)
(#x47 . #\F)
(#x48 . #\G)
(#x49 . #\H)
(#x4A . #\I)
(#x4B . #\J)
(#x4C . #\K)
(#x4D . #\L)
(#x4E . #\M)
(#x4F . #\N)
(#x50 . #\O)
(#x51 . #\P)
(#x52 . #\Q)
(#x53 . #\R)
(#x54 . #\S)
(#x55 . #\T)
(#x56 . #\U)
(#x57 . #\V)
(#x58 . #\W)
(#x59 . #\X)
(#x5A . #\Y)
(#x5B . #\Z)
(#x5C . #\a)
(#x5D . #\b)
(#x5E . #\c)
(#x5F . #\d)
(#x60 . #\e)
(#x61 . #\f)
(#x62 . #\g)
(#x63 . #\h)
(#x64 . #\i)
(#x65 . #\j)
(#x66 . #\k)
(#x67 . #\l)
(#x68 . #\m)
(#x69 . #\n)
(#x6A . #\o)
(#x6B . #\p)
(#x6C . #\q)
(#x6D . #\r)
(#x6E . #\s)
(#x6F . #\t)
(#x70 . #\u)
(#x71 . #\v)
(#x72 . #\w)
(#x73 . #\x)
(#x74 . #\y)
(#x75 . #\z)
(#x80 . #\0)
(#x81 . #\1)
(#x82 . #\2)
(#x83 . #\3)
(#x84 . #\4)
(#x85 . #\5)
(#x86 . #\6)
(#x87 . #\7)
(#x88 . #\8)
(#x89 . #\9)
(#xC0 . #\')
(#xC1 . #\.)
(#xC2 . #\-)
(#xC3 . #\…)
(#xC4 . #\!)
(#xC5 . #\?)
(#xC6 . #\%)
(#xC7 . #\/)
(#xC8 . #\:)
(#xC9 . #\,)
(#xFF . #\space)))
(define
icon-table
'((#x29 . "Claw")
(#x2A . "Rod")
(#x2B . "Staff")
(#x2C . "Sword")
(#x2D . "Sword")
(#x2E . "Sword")
(#x2F . "Spear")
(#x30 . "Knife")
(#x31 . "Katana")
(#x32 . "Star")
(#x33 . "Boomerang")
(#x34 . "Axe")
(#x35 . "Wrench")
(#x36 . "Harp")
(#x37 . "Bow")
(#x38 . "Arrow")
(#x39 . "Hammer")
(#x3A . "Whip")
(#x3B . "Shield")
(#x3C . "Helmet")
(#x3D . "Armor")
(#x3E . "Glove")
(#x7B . "Robe")
(#x7C . "Ring")))
(define
element-table
'((0 . "")
(1 . "Fire")
(2 . "Ice")
(3 . "Lit")
(4 . "Dark")
(5 . "White")
(6 . "Wind")
(7 . "Drain")
(10 . "Bersk")
(11 . "Charm")
(12 . "Sleep")
(13 . "Hold")
(14 . "Float")
(15 . "Curse")
(16 . "Poison")
(17 . "Blind")
(18 . "Mute")
(19 . "Pig")
(20 . "Mini")
(21 . "Toad")
(22 . "Stone")
(23 . "Death")))