-
Notifications
You must be signed in to change notification settings - Fork 271
How To Add A New Type
Daniel Harding edited this page Jun 29, 2022
·
12 revisions
This tutorial will go over how to add a new type. As an example, we'll be adding the Dark type.
- Define A Type Constant
- Give That Constant A Name
- List The Type Matchups
- Update Pokemon Types
- Update Move Types
Edit constants/type_constants.asm:
; Elemental types
NORMAL EQU $00
...
ICE EQU $19
DRAGON EQU $1A
+ DARK EQU $1B
Edit data/types/names.asm
TypeNames:
dw .Normal
...
dw .Dragon
+ dw .Dark
.Normal: db "NORMAL@"
...
.Dragon: db "DRAGON@"
+ .Dark: db "DARK@"
Edit data/types/type_matchups.asm
Format Order: Attacking Type, Defending Type, Type Effectiveness
...
db DRAGON, DRAGON, SUPER_EFFECTIVE
+ db DARK, PSYCHIC_TYPE, SUPER_EFFECTIVE
+ db DARK, GHOST, SUPER_EFFECTIVE
+ db DARK, DARK, NOT_VERY_EFFECTIVE
+ db DARK, FIGHTING, NOT_VERY_EFFECTIVE
+ db FIGHTING, DARK, SUPER_EFFECTIVE
+ db BUG, DARK, SUPER_EFFECTIVE
+ db GHOST, DARK, NOT_VERY_EFFECTIVE
+ db PSYCHIC_TYPE, DARK, NO_EFFECT
Edit data/pokemon/base_stats/gyarados.asm
db DEX_GYARADOS
...
db WATER
- db FLYING
+ db DARK
Edit data/moves/moves.asm
move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25
...
- move BITE, FLINCH_SIDE_EFFECT1, 60, NORMAL, 100, 25
+ move BITE, FLINCH_SIDE_EFFECT1, 60, DARK, 100, 25
And that's it! You've added a new type into the game.