-
Notifications
You must be signed in to change notification settings - Fork 1
Objects as weapons
Clément Gallet edited this page Jun 30, 2014
·
11 revisions
During battle startup, the game loads each item a character has equipped to handle stats, status, etc. For a given character and equipment slot, function C2/0F9A
loads the corresponding item in memory. In case of a weapon slot, if the other slot is empty or holds a weapon, it will designate the other slot as the attacking slot. That is not what we want so for a glitched weapon to work, the other slot must be non-empty and must not hold a weapon.
In function C1/9D95
, weapon graphics and sound are loaded, with A being the weapon id + 1:
C1/9D95: 8D6A62 STA $626A (A contains the weapon id + 1)
C1/9D98: C220 REP #$20
C1/9D9A: 0A ASL A
C1/9D9B: 0A ASL A
C1/9D9C: 0A ASL A
C1/9D9D: AA TAX
C1/9D9E: 7B TDC
C1/9D9F: A8 TAY
C1/9DA0: 7B TDC
C1/9DA1: E220 SEP #$20
C1/9DA3: AD8A61 LDA $618A
C1/9DA6: F010 BEQ $9DB8 (Battle takes the branch; Special doesn't)
...
C1/9DB8: BF00E4EC LDA $ECE400,X (Weapon graphics and sound)
C1/9DBC: 996B62 STA $626B,Y
C1/9DBF: E8 INX
C1/9DC0: C8 INY
C1/9DC1: C00800 CPY #$0008
C1/9DC4: D0F2 BNE $9DB8
Here is a dump of $ECE400 - $ECE6E8:
$626B $626C $626D $626E $626F $6270 $6271 $6272 (id) Weapon
--------------------------------------------------------------------
24 24 23 08 36 00 33 00 (FF) Empty
27 27 18 3E 36 00 94 00 (00) Dirk
27 27 18 01 36 00 94 00 (01) MithrilKnife
23 23 19 01 36 00 94 00 (02) Guardian
26 26 19 3E 36 00 94 00 (03) Air Lancet
27 27 18 01 36 00 94 00 (04) ThiefKnife
27 27 21 3E 37 00 94 00 (05) Assassin
23 23 28 3E 35 00 94 00 (06) Man Eater
29 29 18 01 32 00 94 00 (07) SwordBreaker
29 29 19 01 31 00 94 00 (08) Graedus
5A 5A 18 05 33 00 94 00 (09) ValiantKnife
29 29 18 01 36 00 A4 00 (0A) MithrilBlade
29 29 18 01 36 00 A4 00 (0B) RegalCutlass
2B 2B 20 01 37 00 A4 00 (0C) Rune Edge
2C 2C 29 02 34 00 A4 00 (0D) Flame Sabre
2C 2C 22 03 32 00 A4 00 (0E) Blizzard
2A 2A 20 01 37 00 A4 00 (0F) ThunderBlade
29 29 18 01 36 00 A4 00 (10) Epee
29 29 2A 01 36 00 A4 00 (11) BreakBlade
1E 1E 29 04 35 00 A4 00 (12) Drainer
2B 2B 18 01 36 00 A4 00 (13) Enhancer
29 29 19 01 32 00 A4 00 (14) Crystal
5B 5B 18 01 36 00 A4 00 (15) Falchion
1F 1F 2A 00 36 00 A4 00 (16) Soul Sabre
1F 1F 1D 00 36 00 A4 00 (17) Ogre Nix
1E 1E 20 02 37 00 A4 00 (18) Excalibur
61 61 2A 05 32 00 A4 00 (19) Scimitar
5C 5C 20 01 37 00 A4 00 (1A) Illumina
1E 1E 20 00 37 00 A4 00 (1B) Ragnarok
36 36 1F 00 78 04 A4 00 (1C) Atma Weapon
2D 2D 2A 3E 36 00 A8 00 (1D) Mithril Pike
2E 2E 2A 3E 36 00 A8 00 (1E) Trident
2D 2D 18 3E 36 00 A8 00 (1F) Stout Spear
2E 2E 29 3D 34 00 A8 00 (20) Partisan
2E 2E 22 3D 32 00 A8 00 (21) Pearl Lance
2D 2D 20 05 37 00 A8 00 (22) Gold Lance
5D 5D 2B 05 33 00 A8 00 (23) Aura Lance
60 60 1D 05 32 00 A8 00 (24) Imp Halberd
22 21 18 3E 36 00 94 00 (25) Imperial
22 21 18 3E 36 00 94 00 (26) Kodachi
22 21 29 3E 35 00 94 00 (27) Blossom
1C 1C 18 03 33 00 94 00 (28) Hardened
1C 1C 22 03 32 00 94 00 (29) Striker
1C 1C 20 03 37 00 94 00 (2A) Stunner
1C 1C 19 06 36 00 2E 00 (2B) Ashura
1C 1C 18 06 36 00 2E 00 (2C) Kotetsu
1C 1C 18 01 36 00 2E 00 (2D) Forged
1C 1C 22 05 32 00 2E 00 (2E) Tempest
1D 1D 18 06 36 00 2E 00 (2F) Murasame
1D 1D 1D 00 33 00 2E 00 (30) Aura
1D 1D 22 04 32 00 2E 00 (31) Strato
1D 1D 20 03 37 00 2E 00 (32) Sky Render
28 28 19 09 30 00 8C 00 (33) Heal Rod
28 28 2A 09 36 00 8C 00 (34) Mithril Rod
28 28 2D 09 34 00 8C 00 (35) Fire Rod
28 28 2C 09 32 00 8C 00 (36) Ice Rod
28 28 25 09 37 00 8C 00 (37) Thunder Rod
28 28 2A 09 36 00 8C 00 (38) Poison Rod
28 28 2C 08 33 00 8C 00 (39) Pearl Rod
28 28 2A 08 36 00 8C 00 (3A) Gravity Rod
5F 5F 20 08 36 00 8C 00 (3B) Punisher
28 28 29 08 35 00 8C 00 (3C) Magus Rod
16 16 25 04 37 00 94 00 (3D) Chocobo Brsh
18 18 19 04 32 00 94 00 (3E) DaVinci Brsh
17 17 25 04 35 00 94 00 (3F) Magical Brsh
17 17 19 04 30 00 94 00 (40) Rainbow Brsh
2F 2F 18 0C 18 81 5B 00 (41) Shuriken
30 30 18 0D 18 81 5B 00 (42) Ninja Star
2F 2F 2E 0C 18 81 5B 00 (43) Tack Star
19 19 19 08 19 00 DA 00 (44) Flail
15 15 1C 34 1C 82 28 00 (45) Full Moon
19 19 19 08 36 00 DA 00 (46) Morning Star
0F 0F 18 35 18 82 56 00 (47) Boomerang
15 15 24 34 24 82 28 00 (48) Rising Sun
1A 1A 1D 06 32 00 33 00 (49) Hawk Eye
20 20 26 08 36 00 33 00 (4A) Bone Club
1A 1A 25 06 34 00 33 00 (4B) Sniper
0F 0F 22 35 36 82 5B 00 (4C) Wing Edge
10 10 18 0A 36 81 5B 00 (4D) Cards
13 13 18 0B 36 81 5B 00 (4E) Darts
11 11 19 0A 36 81 5B 00 (4F) Doom Darts
14 14 19 0B 36 81 5B 00 (50) Trump
12 12 1E 0B 36 81 5B 00 (51) Dice
12 12 1E 0B 36 81 5B 00 (52) Fixed Dice
5E 5E 18 3D 36 00 8B 00 (53) MetalKnuckle
33 32 19 07 36 00 8B 00 (54) MithrilClaw
31 31 19 07 31 00 8B 00 (55) Kaiser
5E 5E 2A 3D 36 00 8B 00 (56) Poison Claw
33 32 18 3D 33 00 8B 00 (57) Fire Knuckle
33 32 28 07 34 00 8B 00 (58) DragonClaw
31 31 20 07 37 00 8B 00 (59) Tiger Fangs
37 37 1F 00 78 04 A4 00 (5A) Buckler
38 38 1F 00 78 03 A4 00 (5B) Heavy Shld