summaryrefslogtreecommitdiff
path: root/Add-a-new-Fairy-type.md
diff options
context:
space:
mode:
Diffstat (limited to 'Add-a-new-Fairy-type.md')
-rw-r--r--Add-a-new-Fairy-type.md112
1 files changed, 56 insertions, 56 deletions
diff --git a/Add-a-new-Fairy-type.md b/Add-a-new-Fairy-type.md
index c29663c..dc00c31 100644
--- a/Add-a-new-Fairy-type.md
+++ b/Add-a-new-Fairy-type.md
@@ -19,17 +19,17 @@ Gen 2 was before the physical/special split, so the types after `SPECIAL` count
Edit [constants/type_constants.asm](../blob/master/constants/type_constants.asm):
```diff
-SPECIAL EQU const_value
- const FIRE
- const WATER
- const GRASS
- const ELECTRIC
- const PSYCHIC
- const ICE
- const DRAGON
- const DARK
+ SPECIAL EQU const_value
+ const FIRE
+ const WATER
+ const GRASS
+ const ELECTRIC
+ const PSYCHIC
+ const ICE
+ const DRAGON
+ const DARK
+ const FAIRY
-TYPES_END EQU const_value
+ TYPES_END EQU const_value
```
(If you're using an old version of pokecrystal where the `EGG_FAIRY` egg group constant was still called `FAIRY`, you'll have to name the type something different, like `FAIRY_T` or `FAERIE`.)
@@ -40,16 +40,16 @@ TYPES_END EQU const_value
Edit [data/types/names.asm](../blob/master/data/types/names.asm):
```diff
-TypeNames: ; 5097b
-; entries correspond to types (see constants/type_constants.asm)
- dw Normal
- ...
- dw Dark
+ TypeNames: ; 5097b
+ ; entries correspond to types (see constants/type_constants.asm)
+ dw Normal
+ ...
+ dw Dark
+ dw Fairy
-Normal: db "NORMAL@"
-...
-Dark: db "DARK@"
+ Normal: db "NORMAL@"
+ ...
+ Dark: db "DARK@"
+Fairy: db "FAIRY@"
```
@@ -59,11 +59,11 @@ Dark: db "DARK@"
Edit [data/types/type_matchups.asm](../blob/master/data/types/type_matchups.asm):
```diff
-TypeMatchups: ; 34bb1
- ; attacker, defender, *=
- db NORMAL, ROCK, NOT_VERY_EFFECTIVE
- db NORMAL, STEEL, NOT_VERY_EFFECTIVE
- ...
+ TypeMatchups: ; 34bb1
+ ; attacker, defender, *=
+ db NORMAL, ROCK, NOT_VERY_EFFECTIVE
+ db NORMAL, STEEL, NOT_VERY_EFFECTIVE
+ ...
+ db FIGHTING, FAIRY, NOT_VERY_EFFECTIVE
+ db POISON, FAIRY, SUPER_EFFECTIVE
+ db BUG, FAIRY, NOT_VERY_EFFECTIVE
@@ -75,13 +75,13 @@ TypeMatchups: ; 34bb1
+ db FAIRY, DARK, SUPER_EFFECTIVE
+ db FAIRY, STEEL, NOT_VERY_EFFECTIVE
- db -2 ; end
+ db -2 ; end
-; Foresight removes Ghost's immunities.
- db NORMAL, GHOST, NO_EFFECT
- db FIGHTING, GHOST, NO_EFFECT
+ ; Foresight removes Ghost's immunities.
+ db NORMAL, GHOST, NO_EFFECT
+ db FIGHTING, GHOST, NO_EFFECT
- db -1 ; end (with Foresight)
+ db -1 ; end (with Foresight)
```
@@ -92,26 +92,26 @@ These tables are used for the Pokédex's type search feature.
Edit [data/types/search_types.asm](../blob/master/data/types/search_types.asm):
```diff
-PokedexTypeSearchConversionTable: ; 410f6
-; entries correspond with PokedexTypeSearchStrings (see data/types/search_strings.asm)
- db NORMAL
- ...
- db STEEL
+ PokedexTypeSearchConversionTable: ; 410f6
+ ; entries correspond with PokedexTypeSearchStrings (see data/types/search_strings.asm)
+ db NORMAL
+ ...
+ db STEEL
+ db FAIRY
-; 41107
+ ; 41107
```
Edit [data/types/search_strings.asm](../blob/master/data/types/search_strings.asm):
```diff
-PokedexTypeSearchStrings: ; 40fe4
-; entries correspond with PokedexTypeSearchConversionTable (see data/types/search_types.asm)
- db " ---- @"
- db " NORMAL @"
- ...
- db " STEEL @"
+ PokedexTypeSearchStrings: ; 40fe4
+ ; entries correspond with PokedexTypeSearchConversionTable (see data/types/search_types.asm)
+ db " ---- @"
+ db " NORMAL @"
+ ...
+ db " STEEL @"
+ db " FAIRY @"
-; 41086
+ ; 41086
```
@@ -150,33 +150,33 @@ At this point we're technically done: all the canon aspects of the Fairy type ar
Edit [data/types/type_boost_items.asm](../blob/master/data/types/type_boost_items.asm):
```diff
-TypeBoostItems: ; 35703
+ TypeBoostItems: ; 35703
- db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW
+ db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW
- ...
- db HELD_STEEL_BOOST, STEEL ; METAL_COAT
+ ...
+ db HELD_STEEL_BOOST, STEEL ; METAL_COAT
+ db HELD_FAIRY_BOOST, FAIRY ; POLKADOT_BOW
- db -1
-; 35726
+ db -1
+ ; 35726
```
But we still need to define `HELD_FAIRY_BOOST` and apply it to `POLKADOT_BOW`. So edit [constants/item_data_constants.asm](../blob/master/constants/item_data_constants.asm):
```diff
-const_value set 50
- const HELD_NORMAL_BOOST
- ...
- const HELD_STEEL_BOOST
+ const_value set 50
+ const HELD_NORMAL_BOOST
+ ...
+ const HELD_STEEL_BOOST
+ const HELD_FAIRY_BOOST
```
And [data/items/attributes.asm](../blob/master/data/items/attributes.asm):
```diff
-ItemAttributes: ; 67c1
-; entries correspond to constants/item_constants.asm
-...
-; POLKADOT_BOW
+ ItemAttributes: ; 67c1
+ ; entries correspond to constants/item_constants.asm
+ ...
+ ; POLKADOT_BOW
- item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+ item_attribute 100, HELD_FAIRY_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
```
@@ -184,10 +184,10 @@ ItemAttributes: ; 67c1
And lastly, [data/items/descriptions.asm](../blob/master/data/items/descriptions.asm):
```diff
-PolkadotBowDesc:
+ PolkadotBowDesc:
- db "Powers up normal-"
+ db "Powers up fairy-"
- next "type moves. (HOLD)@"
+ next "type moves. (HOLD)@"
```
*Now* we're done!