1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
Tutorials may use diff syntax to show edits:
```diff
this is some code
-delete red - lines
+add green + lines
```
## Contents
- [Miscellaneous](#miscellaneous)
- [How to add a new…](#how-to-add-a-new)
- [How to edit the…](#how-to-edit-the)
- [Upgrades to existing features](#upgrades-to-existing-features)
- [Removing features](#removing-features)
- [Features from different generations](#features-from-different-generations)
- [Assembly programming](#assembly-programming)
- [To do](#to-do)
## Miscellaneous
- [Tips and tricks](Tips-and-tricks)
- [Useful unused data and routines](Useful-unused-data-and-routines)
- [Discovering GameShark cheat codes](Discovering-GameShark-cheat-codes)
## How to add a new…
- [Map and landmark](Add-a-new-map-and-landmark)
- [Tileset (with custom palette)](Add-a-new-tileset)
- [Pokémon species (up to 253)](Add-a-new-Pokémon)
- [Trainer class](Add-a-new-trainer-class)
- [Type (Fairy)](Add-a-new-type)
- [Move (up to 255)](Add-a-new-move)
- [Move effect](Add-a-new-move-effect)
- [Field move effect](Add-a-new-field-move-effect)
- [Item (up to 254, with various effects)](Add-a-new-item)
- [TM or HM (up to 120)](Add-a-new-TM-or-HM)
- [Party menu icon (up to 254)](Add-a-new-party-menu-icon)
- [Overworld sprite](Add-a-new-overworld-sprite)
- [Map object movement behavior](Add-a-new-map-object-movement-behavior)
- [Player gender (TODO)](Add-a-new-player-gender)
- [Mart (with new dialog and more items)](Add-a-new-Mart)
- [Music song](Add-a-new-music-song)
- [Pokémon stats page](Add-a-fourth-stats-page)
- [Pack pocket](Add-a-new-Pack-pocket)
- [Radio channel](Add-a-new-radio-channel)
- [Wild Pokémon slot](Add-a-new-wild-Pokémon-slot)
- [Unown form](Add-a-new-Unown-form)
- [Unown puzzle chamber](Add-a-new-Unown-puzzle-chamber)
- [Fishing rod](Add-a-new-fishing-rod)
- [Battle transition](Add-a-new-battle-transition)
- [Spawn point (for Fly or Teleport)](Add-a-new-spawn-point)
- [Text scrolling speed](Add-a-new-text-scrolling-speed)
- [Scene script](Add-a-new-scene-script)
- [Move Tutor and new tutor moves](Move-Tutor-and-Tutor-Moves)
- [Phone contact](Add-a-new-phone-contact)
## How to edit the…
- [Town Map](Edit-the-Town-Map)
- [Battle HUD](Edit-the-battle-HUD) (*TODO*)
- [Male and female player colors](Edit-the-male-and-female-player-colors)
- [Default Player and Rival names](Change-the-default-Player-and-Rival-names)
## Upgrades to existing features
- [Expand tilesets from 192 to 255 tiles](Expand-tilesets-from-192-to-255-tiles)
- [Allow map tiles to appear above sprites (so NPCs can walk behind tiles) with `PRIORITY` colors](Allow-map-tiles-to-appear-above-sprites-\(so-NPCs-can-walk-behind-tiles\)-with-PRIORITY-colors)
- [Allow tiles to have different attributes in different blocks (including X and Y flip)](Allow-tiles-to-have-different-attributes-in-different-blocks-\(including-X-and-Y-flip\))
- [Allow more than 15 `object_event`s per map](Allow-more-than-15-object_events-per-map)
- [Improve the outdoor sprite system](Improve-the-outdoor-sprite-system)
- [Improve the event initialization system](Improve-the-event-initialization-system)
- [Expand the Town Map tileset](Expand-the-Town-Map-tileset)
- [Increase Pokémon sprite animation size](Increase-Pokémon-sprite-animation-size)
- [Color party menu icons by species](Color-party-menu-icons-by-species)
- [Allow more trainer parties, with individual DVs, stat experience, nicknames, variable teams, etc.](Allow-more-trainer-parties,-with-individual-DVs,-stat-experience,-nicknames,-variable-teams,-etc.)
- [Colored trainer card badges](Colored-trainer-card-badges)
- [Show the tops of leaders' heads on the trainer card](Show-the-tops-of-leaders-heads-on-the-trainer-card)
- [Print text when you lose a trainer battle](Print-text-when-you-lose-a-trainer-battle)
- [Correct grammar for plural trainers like Twins](Correct-grammar-for-plural-trainers-like-Twins)
- [Make evening the fourth time of day](Make-evening-the-fourth-time-of-day)
- [Custom order for the Old Pokédex mode](Custom-order-for-the-Old-Pokédex-mode)
- [Short beeping noise for low HP](Short-beeping-noise-for-low-HP)
- [Remove the artificial save delay](Remove-the-artificial-save-delay)
- [Option to show shiny colors in Pokédex](Option-to-show-shiny-colors-in-Pokédex)
- [Restore the GS Ball Celebi Event](Restore-the-GS-Ball-Celebi-Event)
- [Improve the trainer rematch system](Improve-the-trainer-rematch-system)
- [Make wild encounters vary](Make-wild-Pokémon-encounter-levels-vary)
- [Make the Lottery Corner generate a lucky number daily instead of weekly](Make-the-Lottery-Corner-generate-a-lucky-number-daily-instead-of-weekly)
- [Modify existing gender formula](Modify-existing-gender-formula)
- [Force Set battle style or forbid item usage in battle](Force-Set-battle-style-or-forbid-item-usage-in-battle)
- [Make new battle text to distinguish status move misses and fails](Make-new-battle-text-to-distinguish-status-move-misses-and-fails)
## Removing features
- [Remove Pokémon sprite animations](Remove-Pokémon-sprite-animations)
- [Remove the 25% failure chance for AI status moves](Remove-the-25%25-failure-chance-for-AI-status-moves)
- [Remove the redundant move grammar table](Remove-the-redundant-move-grammar-table)
- [Remove the opening intro](Removing-the-intro)
- [Remove stat experience](Remove-stat-experience)
- [Reduce the command queue system to just stone tables](Reduce-the-command-queue-system-to-just-stone-tables)
## Features from different generations
- [Physical/Special split](Physical-Special-split)
- [Replace stat experience with EVs](Replace-stat-experience-with-EVs)
- [Don't gain experience at level 100](Don't-gain-experience-at-level-100)
- [Erratic and Fluctuating experience growth rates](Erratic-and-Fluctuating-experience-growth-rates)
- [Lose money proportional to badges and level](Lose-money-proportional-to-badges-and-level)
- [Survive poisoning with 1 HP](Survive-poisoning-with-1-HP)
- [Don't lose HP from poisoning in the overworld](Don't-lose-HP-from-poisoning-in-the-overworld)
- [Show move names when you receive a TM or HM](Show-move-names-when-you-receive-a-TM-or-HM)
- [Infinitely reusable TMs](Infinitely-reusable-TMs)
- [Automatically reuse Repel](Automatically-reuse-Repel)
- [Evolution moves](Evolution-moves)
- [Running Shoes](Running-Shoes)
- [Rock Climb](Rock-Climb)
- [Dive](Dive)
- [Sideways stairs with diagonal movement](Sideways-stairs-with-diagonal-movement)
- [Automatic battle weather on certain maps](Automatic-battle-weather-on-certain-maps)
- [Make Sandstorm raise the Special Defense of Rock type Pokémon by 50%](Make-Sandstorm-raise-the-Special-Defense-of-Rock-type-Pok%C3%A9mon-by-50%25)
- [Show an icon for the current weather](Show-an-icon-for-the-current-weather)
- [Puddles that splash when you walk](Puddles-that-splash-when-you-walk)
- [Use G/S SGB palettes for maps](Use-GS-SGB-palettes-for-maps)
- [Gain experience from catching Pokémon](Gain-experience-from-catching-Pokémon)
- [Use unique colors for each thrown Poké Ball](Use-unique-colors-for-each-thrown-Poké-Ball)
- [Smashing rocks has a chance to contain items](Smashing-rocks-has-a-chance-to-contain-items)
- [How To Add a Pocket PC](How-To-Add-a-Pocket-PC)
- [Add spinner tiles from Generation I Rocket Hideout](Add-spinner-tiles-from-Generation-I-Rocket-Hideout)
- [Grant Grass-type Pokémon immunity to Powder/Spore-based moves](Grant-Grass-type-Pokémon-immunity-to-Powder-Spore-based-moves)
- [Make time- and weather-sensitive moves only weather-dependent](Make-time-and-weather-sensitive-moves-only-weather-dependent)
- [Add Hail as a new weather condition](Add-Hail-as-a-new-weather-condition)
- [Battle Autoprompts](Battle-Autoprompts)
- [SWSH Friendship Endure](SWSH-Friendship-Endure)
## Custom features
- [Items that act like HM field moves](Adding-items-that-act-like-HMs)
- [Level cap](Level-cap)
- [Customizable Pokédex Color](Customizable-Pokédex-Color)
- [Wall-to-wall carpeting in your room](Wall-to-wall-carpeting-in-your-room)
- [Disable jumping over ledges onto obstacle tiles or NPCs](Disable-jumping-over-ledges-onto-obstacle-tiles-or-NPCs)
- [Add more music that changes at night](Add-more-music-that-changes-at-night)
## Assembly programming
- [Optimizing assembly code](Optimizing-assembly-code)
- [Relevant links](Assembly-programming)
## To do
Feel free to contribute one of these!
- Add new...
- Decoration for your room
- Mail item
- Wild data
- Roaming Pokémon
- Animated tiles
- Object facing
- Map event script command
- Move effect script command
- Scene for an existing map (aka triggers; auto-running event scripts)
- Evolution methods (location, held item, move, [etc](https://gitgud.io/pfero/axyllagame/commit/81914d43eb89195734caee724c0a40d4686a0bab))
- More daily and weekly events
- Third region
- Third trainer card page for Kanto badges
- NPC or trainer which has a phone number with custom messages when called
- Features from other generations
- Implement dynamic overhead+underfoot bridges
- Trainer dialog and music change for their last Pokémon
- Items that act like overworld moves
- Safari Game
- Ghost and Silph Scope
- Show quantity already in Pack in Marts
- E-mail system (receive mail from NPCs by accessing PC)
- Implement a low health warning song similar to the one in Black and White versions
- Move reminder
- Gameplay tweaks
- Bill calls to switch boxes when one is full
- Let Pokémon use HM moves just by being compatible with them (from [Coral](https://hax.iimarckus.org/post/45725/))
- Nuzlocke mode (an in-game enforced [Nuzlocke Challenge](https://bulbapedia.bulbagarden.net/wiki/Nuzlocke_Challenge))
- Show metric units
- Code tweaks
- Move standing+walking sprites to VRAM0, standing-only sprites to VRAM1; allocate 1:E0-FF for the map name sign; allocate 1:80-DF for more map tiles; add Polished Map support
- Show more than two Pokédex pages
- Tutorials
- Example map scripts (for common cases like an NPC that gives you an item)
|