Trainer 781
Guest
- 0
- Posts
Introduction:-
The aim of this project is to provide a dynamic rombase for Emerald with attacks and abilities from 4th-6th generations as well as updated moves, abilities and mechanics up to the latest Generation games.
The project is started by kleenexfeu. All the work till now has been done by him (except for a single tweak of Weakness Policy by me). But the ownership of this base has been now transferred to me.
The term dynamic here means that the hacker can decide where to place the rombase data (except the hooking part) in his/her project. So this feature enables the rombase to be compatible with in-progress hacks without needing to restarting their game to accomdate this base. (Though older saves will not be compatible after applying this base)
Also, this rombase is open-source. The coding part is mainly done in assembly language.
Features:-
Spoiler:
-Working mega evolution, wish and primal reversion with animation and particles! (Credits to MrDS for a part of the animation and the particles)
-Working Arceus/Giratina forms
-Double type attacks! (to account for flying press, but you can now add any other combination)
-Triple type Pokemon! (to account for trick or treat and forest's curse, or any other custom you'd want to use)
-Repointed/Expanded particles/animation backgrounds (Credits to MrDS/Shadowraze for their tutorial, Chaos Rush/Doesntknowhowtoplay for their general research in battle animation)
-Repointed/Expanded/decapped moves names/descriptions (Credits to MrDS for few newer move names because of the character restriction. Huge thanks to Le pug. He pretty much contributed to 2/3rd of the move descriptions)
-Repointed/Expanded/decapped abilities names/descriptions
-PSS icons (Credits to Darthathron, and Tlatchli for the port on Emerald)
-Rewritten the whole damage calc, to include a no. of abilities/moves as well as the PSS split and proper AI handliing for variable base power moves.
-Speed calculation rewritten (Credits to KDS)
-Switch-in check rewritten
-Accuracy calc rewritten
-Total rewrite of ability something
-Support for 1024 moves (A bit of everyone : Jambo51, MrDS and Me for fixing the lasts bugs)
-Fairy type (Thanks MrDS for his tutorial)
-Type chart updated
-New abilities :
Spoiler:
No guard
Poison Touch
Defiant @ Credits to KDS
Competitive @ Credits to KDS
Tangled Feet
Overcoat (+ grass type immune to powder moves)
Bulletproof
Mummy
Gooey
Justified
Rattled
Protean
Imposter
Desolate Land
Delta Stream
Primordial Sea
Multitype
Heatproof
Multiscale
Fur Coat
Flower Gift (doesn't change cherrim form)
Analytic
Toxic Boost
Flare Boost
Adaptability
Iron Fist
Strong Jaw
Mega Launcher
Reckless
Sand Force
Tinted Lens
Filter
Solid Rock
Weak Armor
Anger Point
Aftermath
Normalize
Aerilate
Pixilate
Refrigerate
Stance Change
Super Luck
Scrappy
Tough Claws
Technician
Sniper
Slow Start @ Credits to KDS
Regenerator
Gale Wing @ Credits to KDS
Prankster @ Credits to KDS
Storm Drain @ Credits to KDS/MrDS and me
Sap Sipper @ Credits to KDS/MrDS and me
Dry Skin @ Credits to KDS/MrDS and me
Motor Drive @ Credits to KDS/MrDS and me
Solar power
Unaware
Snow Cloak
Wonder Skin
Victory Start
Bad Dreams
Poison Heal
Sand Rush
Snow Warning
Ice Body
Sand Rush
Sand Force
Hydration
Infiltrator
Mold breaker @ Credits to KDS for the biggest part of this one, MrDS for the port and me for the improvement
Teravolt
Turboblaze
Download
Fairy Aura
Dark Aura
Aura Break
Other abilities have their names/descriptions, but don't do anything.
-A bunch of move effects:
Spoiler:
Punishment
Stored power
Acrobatics
Payback
Foul Play
Psystrike/shock/secred sword
Sacred Sword
Wring out/Crush grip
Flying press
Trick or treat @ not scripted yet
forest's curse @ not scripted yet
trick room
wonder room
magic room
Electroball
gyroball
Discharge @ Credit to KDS
Petal Blizzard @ Credit to KDS
Lava Plume @ Credit to KDS
Sludge Wave @ Credit to KDS
Boomburst @ Credit to KDS
Venoshock
Hex
Thousand arrows/smack down
Heavy Slam
Heat crash
Brine
Hurricane
Freeze Dry
Miracle Eye @ not scripted yet
Shell Smash @ Credits to mamamamama
Quiver Dance @ Credits to mamamamama
Flare Blitz @ Credits to mamamamama
Tail Glow @ Credit to MrDS
Cotton Guard
Fire/Thunder/Ice Fang @ credit to MrDS
Lucky Chant
Magnet Rise
Tailwind
Telekinesis @ not scripted yet
Metal Burst
-New item effects:
Spoiler:
Choice Specs
Choice Scarf @ Credit to KDS
Life Orb @ Credit to KDS for the recoil
TimeSpace Orbs
Expert belt
Weakness Policy
Iron Ball (doesn't remove immunity from spikes yet)
Safety Goggles
Wide lens
Focus Sash
Air Baloon (not finished, need to make it pop)
Pink Scarf
Eviolite
Assault Vest (status moves not restricted yet)
Flame Orb
Toxic Orb
-Updated abilities:
Spoiler:
Stench
Sturdy
Trace
Drizzle
Drought
Pressure
Lighting rod
Keen eye
Soundproof
Absorb-type abilities
-Updated Move Effects
Spoiler:
Charge @ Credits to mamamamama
Mud sport
Water sport
Surf @ Credits to KDS
Facade
Toxic
Blizzard
Taunt @ Credit to KDS
Hidden Power @ Credit to KDS
Facade
Disable @ Credit to Doesntknowhowtoplay
Encore @ Credit to Doesntknowhowtoplay
Knock off
Wrap/whirlpool and such
Sound based moves
Body slam
Minimize
-Updated item effects:
Spoiler:
Light ball
Installation And Usage:-
Spoiler:
Installing the base:
Spoiler:
1) Put all of these files in the same folder where your assembler is there. (Preferably, HackMew's Thumb assembler)
2) Go in the defines folder, and open the file named 'startcode.asm' in a text editor, change "Myloc" to the place you want to insert your code.
3) If you specify a value for "Myloc" less than 0xD97BC0, set Condition_To_Assemble to 1, otherwise keep it to 0. Also make sure you have 0x30000 bytes of freespace and the offset ends with a 0,4,8 or C.
4) Assemble the file "rombase".
5) Now you have to create a patch, the original unmodifed file to use is the "basepatch.bin", the modified file is your binary output, named "rombase.bin" by default.
6) Apply this patch to your Rom using a patcher.
7) Enjoy!
Setting up Mega Evolutions/Primal reversion:
Spoiler:
# Make the Pokemon use their mega/primal forms:
1) Open G3T, select the pokemon that you want to Mega Evolve.
2) In the evolution part, choose the kind of mega/primal you want. Index 252 = Wish mega evolution (with move), 253 = Primal reversion (with item), 254 = Regular mega evolution (with item).
3) In the "nothing required" part of G3T, you have to put the index of the Orb/Stone/Attack supposed to make your pokémon Mega Evolve/Primal Revert.
4) In the "evolve to" part, the target must be your mega/primal form
# Make the poke revert:
1) Now you go in the Mega/Primal form in G3T, and do the same thing than above except two part :
-In "nothing required" part, you set the argument to 0
-In the "evolve to" part, the target is your non-mega evolved mega/primal form.
Customize a bit:
Spoiler:
In the "defines.asm" file, there are no of item, ability related indexes in the starting portion of file, feel free to change them if you know what you're doing.
For example, you can adjust the index of aegislash blade/shield, to make it able to transform for Stance Change.
Same thing goes for items like life orb, griseous orb, etc.
Using new item effects:
Spoiler:
Sadly, the data (icons, effects and descriptions) for new items have not been inserted yet. Only the in-battle effects for these items are implemented. So for now, create these items using David Cobb's item creation tutorials and then follow these steps:
1) Look into "define.asm", there are lines like ".equ LifeOrbEffect, 0x43". This means 0x43 (67 in decimals) is the item Effect number for the item. You can change it if you want.
2) Go in the item editor of G3T, change the special 1 to match with the effect number you want.
You can also do this with PGE using a similar method.
Altering Movesets:
Spoiler:
Sadly G3T, doesn't have the feature to support the learnset style for 1024 moves. So you will need to edit "movesetpoke.asm" "tablemoveset.asm" manually.
Usage with PGE:
Spoiler:
PGE supports Jambo style learnsets but it does not load things like Move Table Data like G3T without needing to specify the table offsets in its ini files.
So you need to edit the PGE ini manually to make the base work with PGE:
1. Make a copy of "roms.ini" in GBA and paste the ini the same directory where the ROM is pesent.
2. Open the pasted ini and scroll to the [BPEE] section.
3. In the ini, go the last line of the [BPEE] section and insert this line "MoveTableHack=True"
5. Open the patched ROM in a hex editor
6. In the hex editor go to the offset x148. Look at the first 4 bytes from here. It is the pointer to the move names data in reverse hex. Convert to normal hex. Note it and in the ini file, change the value after AttackNames= to the corresponding value you obtained in hex removing the 08 prefix.
e.g If the contents of the ROM at x148 is '64 55 F0 08', then you should specify 'AttackNames=F05564' in the ini.
7. Similarly, AbilityNames at x1C0
8. AttackData at x1CC
9. ContestMoveData at x0x1C3E98
10. AttackDescriptionTable at x0x1C3EFC
11. AbilityDescriptionTable at x1C4
12. AttackAnimationTable at x0xA3A44
Planned Features:-
Spoiler:
- Make an installer that would automate the installation process and ensure proper updates
- Implement moves and abilities that have not been finished yet.
- Revamp of move Battle Scripts to match End Move events up to latest Generation standards. (for e.g activation of Color Change after the last strike of a multi-strike move).
- Expanded the item data and insert item data.
- Damage reducing berries
- More item effects
- Expanded evolution slots and add all new evolution methods (optional)
- Pokedex Expansion (optional)
- Implement Mega Evolution icons near HP bars.
- AI support for newer abilities and moves
Bugs/Suggestions:-
Feel free to give ideas, submit bugs, report incomplete moves etc. The aim is to get all things properly working.
Also, you can mention the moves, abilities etc. that usually have a high usage in-game which have not been implemented or partially implemented. So in that way, I will save the useless crappy abilities, moves etc. for later.
Notes:-
Spoiler:
- Currently only available for TESTING since it has not been tested with Roms having an expanded Pokedex yet.
- Requires x30000 bytes of free space.
- Currents only supports LIPS patcher for patching and starting offsets xFD0000 and lower, due to support only till 16 MB. Also I recommend using HackMew's THUMB Assembler. Link Here
- If you are planning to use LePugs's Emerald decap patch along with this. Then apply LePugs's patch first.
- Alwaays remember the Golden Rule. Make a backup before you patch.
Download Link:-
https://www.dropbox.com/s/4otrrbza0rvz9zs/Base_Emeraldpreusage.zip?dl=0
Credits:-
Spoiler:
(From kleenexfeu's side)
Touched - I started to learn ASM with him, he taught me countless tricks, explained so many things, I wouldn't have been able to do this without his teaching.
mamamamama - His wonderful rombase helped a lot for the move animation/description, huge thanks to him!
Le Pug - Hundreds of move description, he really saved me a lot of time! Thanks a lot!
KDS - Several routines and battlescripts (Defiant, multi-target moves, items, speed system...), advices, tricks that we taught to each other, big thanks!
MrDollSteak - Several routines (Redirections moves, absorb abilities), his tutorial to expand particles/types, ability descriptions, battle graphics, big thanks too!
DizzyEgg - Help to test mechanics on showdown, to figure out how the genVI engine works, also a lot of help for the documentation, and beta testing!
Contributors to the Move Resource thread
Contributors to the Quick Research and developement thread
Doesntknowhowtoplay - advices, but mostly for his hack on the pokémon encryption, it's awesome and it helped a lot!
FBI - He wrote a little yet so useful script to convert regular strings into something readable by the assembler, thanks!
Kleenexfeu - For everything else
Last edited: