-
Notifications
You must be signed in to change notification settings - Fork 275
A New Evolution Item
Daniel Harding edited this page Jun 29, 2022
·
14 revisions
How To Add A New Evolution Item
This tutorial will go over how to add a new normal item. As an example, we'll be adding the metal_coat.
- Define a ITEM Constant
- Give the ITEM a Name
- Give the ITEM a Price
- Give the ITEM a effect
- Lets give the ITEM the effect to use in Menu
Edit constants/item_constants.asm:
const_value = 1
const MASTER_BALL ; $01
const ULTRA_BALL ; $02
const GREAT_BALL ; $03
...
const FLOOR_B4F ; $61
+ const METAL_COAT ; $62
Edit data/items/names.asm:
ItemNames:
li "MASTER BALL@"
li "ULTRA BALL@"
...
li "B4F@"
+ li "METAL COAT@"
Edit data/items/prices.asm:
ItemPrices:
bcd3 0 ; MASTER_BALL
bcd3 1200 ; ULTRA_BALL
...
bcd3 0 ; FLOOR_B4F
+ bcd3 2100 ; METAL_COAT
Edit engine/items/item_effects.asm:
UseItem_:
ld a, 1
ld [wActionResultOrTookBattleTurn], a ; initialise to success value
...
ItemUsePtrTable:
dw ItemUseBall ; MASTER_BALL
dw ItemUseBall ; ULTRA_BALL
...
dw ItemUsePPRestore ; MAX_ELIXER
+ dw UnusableItem ; FLOOR_B2F
+ dw UnusableItem ; FLOOR_B1F
+ dw UnusableItem ; FLOOR_1F
+ dw UnusableItem ; FLOOR_2F
+ dw UnusableItem ; FLOOR_3F
+ dw UnusableItem ; FLOOR_4F
+ dw UnusableItem ; FLOOR_5F
+ dw UnusableItem ; FLOOR_6F
+ dw UnusableItem ; FLOOR_7F
+ dw UnusableItem ; FLOOR_8F
+ dw UnusableItem ; FLOOR_9F
+ dw UnusableItem ; FLOOR_10F
+ dw UnusableItem ; FLOOR_11F
+ dw UnusableItem ; FLOOR_B4F
+ dw ItemUseEvoStone ; METAL_COAT
Edit data/items/use_party.asm:
; items which bring up the party menu when used
UsableItems_PartyMenu:
db MOON_STONE
db ANTIDOTE
...
db MAX_ELIXER
+ db METAL_COAT
db $ff
And that's it! You've added a new evolution ITEM into the game.