Tutorials - pret/pokecrystal GitHub Wiki
Tutorials may use diff syntax to show edits:
this is some code
-delete red - lines
+add green + lines
Contents
- Miscellaneous
- How to add a new…
- How to edit the…
- Upgrades to existing features
- Removing features
- Features from different generations
- Custom features
- Legacy Compatibility
- Assembly programming
- To do
Miscellaneous
- Tips and tricks
- Useful unused data and routines
- Discovering GameShark cheat codes
- Simplify the Clock Reset Procedure
- Set DVs to 0 for all your Pokémon
- How to find ROM offsets
How to add a new…
- Map and landmark
- Tileset (with custom palette)
- Pokémon species (up to 253)
- Trainer class
- Type (Fairy)
- Move (up to 255)
- Move effect
- Field move effect
- Item (up to 254, with various effects)
- TM or HM (up to 120)
- Party menu icon (up to 254)
- Overworld sprite
- Map object movement behavior
- Player gender (TODO)
- Mart (with new dialog and more items)
- Music song
- Pokémon stats page
- Pack pocket
- Radio channel
- Wild Pokémon slot
- Unown form
- Unown puzzle chamber
- Fishing rod
- Battle transition
- Spawn point (for Fly or Teleport)
- Text scrolling speed
- Scene script
- Move Tutor and new tutor moves
- Phone contact
- NPC that gives you an item
- NPC that gives you a Pokémon
- Move Relearner/Reminder (Variant 1)
How to edit the…
Upgrades to existing features
- Expand tilesets from 192 to 255 tiles
- 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 more than 15
object_event
s per map - Improve the outdoor sprite system
- Improve the event initialization system
- Expand the Town Map tileset (Alternate)
- Increase Pokémon sprite animation size
- Color party menu icons by species
- Color Pokémon pictures shown in the overworld
- Allow more trainer parties, with individual DVs, stat experience, nicknames, variable teams, etc.
- Colored trainer card badges
- Show the tops of leaders' heads on the trainer card
- Add a third trainer card page for Kanto badges
- Print text when you lose a trainer battle
- Correct grammar for plural trainers like Twins
- Make evening the fourth time of day
- Custom order for the Old Pokédex mode
- Short beeping noise for low HP
- Remove the artificial save delay
- Option to show shiny colors in Pokédex
- Restore the GS Ball Celebi Event
- Improve the trainer rematch system
- Make wild encounters vary
- Make the Lottery Corner generate a lucky number daily instead of weekly
- Modify existing gender formula
- Force Set battle style or forbid item usage in battle
- Make new battle text to distinguish status move misses and fails
- Restore and localize the Japanese move grammar table
- Kurt finishes Apricorn Poké Balls instantly
- Harvest multiple items from fruit trees
- Make the field move Headbutt work with Kanto trees
- Prevent Steel types from being poisoned by Twineedle
- Evolve while holding an item
- Display more information on the move screen
- Fix RIVAL1's lead Pokémon not having a working held item
Removing features
- Remove Pokémon sprite animations
- Remove the 25% failure chance for AI status moves
- Remove the redundant move grammar table
- Remove the opening intro
- Remove stat experience
- Reduce the command queue system to just stone tables
- Remove the gym badges boosts
Features from different generations
- Physical/Special split
- Replace stat experience with EVs
- Generation 6 Experience System (also reworks Exp. Share)
- Don't gain experience at level 100
- Erratic and Fluctuating experience growth rates
- Gain experience from catching Pokémon
- Lose money proportional to badges and level
- Survive poisoning with 1 HP
- Don't lose HP from poisoning in the overworld
- Show move names for TMs and HMs when receiving or buying
- Infinitely reusable TMs
- Automatically reuse Repel
- Evolution moves
- Running Shoes
- Rock Climb
- Dive
- Automatic battle weather on certain maps
- Make Sandstorm raise the Special Defense of Rock type Pokémon by 50%
- Show an icon for the current weather
- Show an icon for the current Time of Day
- Puddles that splash when you walk
- Use G/S SGB palettes for maps
- Use unique colors for each thrown Poké Ball
- Smashing rocks has a chance to contain items
- How To Add a Pocket PC
- Add spinner tiles from Generation I Rocket Hideout
- Grant Grass-type Pokémon immunity to Powder/Spore-based moves
- Add Hail as a new weather condition
- Allow tall grass in forests
- Battle Autoprompts
- SWSH Friendship Endure
- Replace the Freeze status with Frostbite
- Regional forms
- Name the rival during the intro
- Trashcan puzzle in Vermilion Gym
- Splash a Pokédex Entry from an Overworld Event (Generation I)
- Reviving Pokémon from Fossils (Gen I)
- Inverse Battles
- Move Reminder (Variant 2)
- Allow fishing while surfing
Custom features
- Adding a "Tradeback" NPC
- Items that act like HM field moves
- Level cap
- Customizable Pokédex Color
- Wall-to-wall carpeting in your room
- Disable jumping over ledges onto obstacle tiles or NPCs
- Add more music that changes at night
- Tweak ReadNoiseSample so Generation I music sounds properly
- Create Battle Palettes for Different Times of Day and Environments
- Improving the Swarm System
- Allow using a field move if the Pokémon can learn it
- Togglable Infinite Repel
- Password system
- Replace Menu Account with a small clock in the corner of the screen
- Fight a copy of your own party in the Trainer House
Some features might have a Feature branch instead.
Legacy Compatibility
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)
- More daily and weekly events
- Third region
- 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
- 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
- Gameplay tweaks
- Bill calls to switch boxes when one is full
- Nuzlocke mode (an in-game enforced Nuzlocke Challenge)
- Challenge mode (forced set mode battles, no items can be used in battle by either the player or the AI, badge-dependent level caps)
- Show metric units
- Code tweaks
- Dynamic level scaling of Gym Leaders (like in the romhack Crystal Legacy)
- 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
- How to Add Multiple Rematch Parties for Gym Leaders + Elite 4 After Beating Red
- Badge-Dependent Level-Caps (multiple level caps)