Commit graph

195 commits

Author SHA1 Message Date
Bassoonian
495ee6698c Clean up code 2024-02-02 13:13:27 +01:00
Bassoonian
acf5d8133a Convert ifndef configs to standard configs 2024-02-02 12:43:31 +01:00
LOuroboros
a64e1c63c1
Move data unification (#3999)
* Made gBattleMoves handle the InGame name and description of battle moves
No more multiple arrays in separate, individual files.

Note:
-Keep an eye on Task_LearnedMove.

* Reintroduced move names

Misc:
-Fixed Trick-or-Treat and Light of Ruin's expanded names.
-Introduced a new field for Z-Move names, and a constant for their name length.
-Added a few TODOs to GetBattleMoveName.
-Updated GetMaxMoveName and GetZMoveName. There's no reason not to let GetBattleMoveName handle everything on its own.

* Updated GetBattleMoveName to handle Z-Move Names

Misc:
-Removed pointless TODO about MOVE_NAME_LENGTH.
 -The compiler doesn't allow to have a move name with a value higher than MOVE_NAME_LENGTH, therefore it's pointless to worry about it.

* Fixed a couple of expanded move names

* Removed zMoveName variable of struct BattleMove and extended the name variable's size

* Ditched no longer used MOVE_NAME_LENGTH constant

* Corrected the names of the max moves
I should have done this after updating the size of the name variable of the struct BattleMove, but I didn't think about it at all until Cancer Fairy indirectly gave me the idea.

* Fixed U-turn's name

* Brought back MOVE_NAME_LENGTH
I think it doesn't make sense to have a Z_MOVE_NAME_LENGTH because the length in question is used for all battle moves, not just the Z-Moves.

* Introduced a union for Move/Z-Move names in the struct BattleMove

* Fixed the union for gBattleMoves move names
Also updated GetBattleMoveName to properly handle Max Move names.
Also also renamed the "zMoveName" variable to "bigMoveName" which better reflects its purpose. Z-Move names weren't the only thing it covered, since it also handles Max Move names.

* Removed deprecated GetZMoveName and GetMaxMoveName

* Reintroduced mention to gMoveNames in sGFRomHeader

* Fixed move names and ported move descriptions

* Fused the struct ContestMove into the struct BattleMove

* Removed no longer used Z_MOVE_NAME_LENGTH constant

* Renamed the struct BattleMove's bigMoveName variable and introduced macros to prettify move names

* Reintroduced the contest parameters for Pokémon moves

* Renamed gBattleMoves to gMovesInfo
This is consistent with gSpeciesInfo, the array that contains most of the species data.

* Renamed the BattleMove struct to MovesInfo
This is consistent with the struct SpeciesInfo, which contains the variables used by the gSpeciesInfo array.

* Removed empty lines separating battle params from contest params in gMovesInfo

* Renamed MovesInfo to MoveInfo

* Added Cancer Fairy's HANDLE_EXPANDED_MOVE_NAME macro
Used to handle moves with expanded names in a more comfortable manner.
Also fixed Trick-or-Treat's expanded name.

* Renamed GetBattleMoveName to GetMoveName

* Added a comment pointing out that the shared move descriptions are shared move descriptions

* Re-aligned one of the escape characters of CHECK_MOVE_FLAG

* Renamed the battle_moves.h file to moves_info.h instead for consistency's sake

* Applied Eduardo's adjustments

* Using compound string for regular move names as well, saving 1180 bytes and making their use consistent
* Move description formatting

* Updated Pursuit test after merge

* Renamed the BATTLE_CATEGORY constants to DAMAGE_CATEGORY

---------

Co-authored-by: Nephrite <thechurchofcage@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-29 08:51:32 -03:00
Eduardo Quezada D'Ottone
c8d73c0827
Merge branch 'upcoming' into guillotine-expansion 2024-01-26 10:10:27 -03:00
Bassoonian
78708cad55
Adds universal move array (#4052)
* Add universal move list

* Exclude TM illiterates from learning universal moves

* Add config for literacy checks

* Fix config check

* Update src/pokemon.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Other review remarks

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-24 11:45:22 -03:00
Ariel A
8a52316dd2 Reformatted for code review. Moved config to include/config/decap.h. 2024-01-17 01:12:04 -05:00
Bassoonian
9a1f6dfb64
Allow one-mon double battles (#4007)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-16 18:24:49 +01:00
Bassoonian
e8a238a775
Exp yield configs (#3995)
* Gen 1 exp yield config

* I'm a dumdum

* Gen 2 configs

* Exp yield configs up to gen3

* Gen 4 configs

* Gen 5 configs

* Configs up to gen6

* Gen7 configs

* Final form exp adjustments
2024-01-15 23:49:12 +01:00
Bassoonian
4846e2a884
Add updated EV configs (#3993)
* Add updated EV configs

* Fix Misdreavus ternary
2024-01-14 15:26:34 +01:00
Biffalo XIII
2cc26d935a Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/config/pokemon.h
#	src/birch_pc.c
2024-01-11 19:51:11 -03:00
Nephrite
baefa08bee Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-12 03:13:42 +09:00
Nephrite
3c93f97166 Apply suggestions from code review
Thanks, Edu

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-12 02:13:55 +09:00
Bassoonian
ce48616477
Add power item config (#3961) 2024-01-11 09:34:19 +01:00
Nephrite
c4616739d8 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-11 00:35:35 +09:00
Alex
4dc1b1dda3
Revert "Update catch curve for pokeballs (#3685)" (#3955)
This reverts commit 929ec54a39.
2024-01-09 21:20:51 -03:00
Bassoonian
d73c9b0b9d
Fix some ball multiplier configs (#3939)
* Fix some ball multiplier configs

* Updated the comment of B_LURE_BALL_MODIFIER

* Specified the effects of B_LURE_BALL_MODIFIER in itsa state its effects in a more specific manner

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Corrected the comments of B_DREAM_BALL_MODIFIER, B_SPORT_BALL_MODIFIER and B_SAFARI_BALL_MODIFIER

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Turned the ternaries in the case for the Lure Ball's catch rate in Cmd_handleballthrow into a regular if/else if statement

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

---------

Co-authored-by: LOuroboros <lunosouroboros@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-08 18:26:05 -03:00
Bassoonian
7b0904c580 Fix extended berry stage palettes 2024-01-05 11:32:59 +01:00
Bassoonian
418e551960 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion 2024-01-05 00:32:21 +01:00
Bassoonian
f94e65a400
Footprint config (#3902)
* Footprint config

* Don't enable by default
2024-01-03 21:24:45 +01:00
Nephrite
ab75ad6d02
Ability flags update (#3886)
* Added five ability flags

Omitted duplicate flags that are basically "can't copy" (Role Play, Receiver, Entrainment, Skill Swap), didn't bother adding Neutralizing Gas flag,

* Mold Breaker and Trace

* Gastro Acid, Simple Beam, Worry Seed

Decided to keep the Simple Beam/Worry Seed functions

* Entrainment done

* Skill Swap

* Doodle/Role Play + flag descriptions

Also adjusted Doodle test

* Wandering Spirit, Mummy, Neutralizing Gas

Neutralizing Gas really only needs to check for other mons with Neutralizing Gas, otherwise unsuppressable abilities are handled separately.

* Renamed flags
2024-01-01 15:03:34 +01:00
Nephrite
0980253cce Merge branch 'upcoming' into secondary_effects_overhaul 2024-01-01 20:40:11 +09:00
kittenchilly
f6f287d637
Add Indigo Disk Pokemon data (#3878)
* Archaludon?

* more archuladon stuff

* Hydrapple and Gouging Fire

* Raging Bolt

* Iron Boulder and Iron Crown

* Terapagos

* Pecharunt

* Update gen_9.h

* Pokedex orders
2024-01-01 01:38:50 +01:00
Nephrite
9dfa0d264f Merge branch 'upcoming' into secondary_effects_overhaul 2023-12-30 23:54:01 +09:00
Martin Griffin
ab900e38df Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-29 19:48:21 +00:00
Bassoonian
1662dc3478
Merge branch 'upcoming' into berryexpansion 2023-12-29 14:32:10 +01:00
Nephrite
7c38056da7 Review fixes
Added more move effect considerations to AI; redid way it calculates secondaryEffectChance; misc fixes
2023-12-29 12:04:42 +09:00
Bassoonian
bc4d4d21e4
Fix 3851 (#3857) 2023-12-29 00:33:18 +01:00
Bassoonian
fde3fc0a52
Metronome move fix (#3852)
* Draft Indigo Disk move data

* Add basic defines (flags, targets and priority missing)

* Update move flags

* Temper Flare is Stomping Tantrum

* Fix failing tests

* Disable Burning Bulwark for now
2023-12-28 16:57:29 +01:00
Bassoonian
872ddf32c6
The Indigo Disk Moves (#3704)
* Draft Indigo Disk move data

* Add basic defines (flags, targets and priority missing)

* Update move flags

* Temper Flare is Stomping Tantrum

* Forgot to push, please squash :D

* Fix failing tests
2023-12-28 12:21:52 +01:00
Bassoonian
88b0bd6394
Add gen9 item prices + configs (#3834)
* Add gen9 item prices + configs

* Adjust gen 1 PP item costs

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-27 22:48:56 +01:00
Martin Griffin
3ad66028e9
Backwards-compatible BoxPokémon Refactor (#3438)
* Check progress in non-battle PARAMETRIZEd tests

* Overworld Script Tests

* Backward-compatible BoxPokemon Refactor

Reuses space that contains zeros to provide space for:
- HP/status in the box
- 12-character nicknames
- Up to 63 PokéBalls
- Shininess separate from PID
- Hidden Nature
- Hyper Training
- Dynamax Level
- Gigantamax Factor
- Terastallization Types
- Shadow

Implements:
- OW_PC_HEAL to switch between Gen7- and Gen8+ behavior
- Nature Mints
- Dynamax Candy
- Hyper Training commands (canhypertrain/hypertrain)
- Gigantamax Factor commands (hasgigantamaxfactor/togglegigantamaxfactor)
- Terastallization Type on the summary screen
- Prevents Gigantamax Factor Pokémon from evolving into a species without a Gigantamax form

* fixup! Backward-compatible BoxPokemon Refactor

* displaydexinfo fix from Jasper
2023-12-27 17:48:17 +01:00
Bassoonian
c47a20a446
Fix gem boost description + test (#3817) 2023-12-25 01:14:01 +01:00
Bassoonian
77f0ab88d4 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion 2023-12-24 23:17:58 +01:00
Bassoonian
c115649349 Fix 6 stage Berry trees not growing properly 2023-12-24 23:08:15 +01:00
Zimmermann Gyula
f700466e8d
Implement optional Gen1 type immunity logic. (#3627)
* Implement optional Gen1 type immunity logic.

* Add tests against Gen1 burn, freeze and paralysis.

* !fixup Expand tests with Gen1 paths.

* Fixup tests.

Remove superflous defines.
Explicitly ASSUME used move type and effect.

* Fix flipped definitions on Freezing Glare test.

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-23 16:34:24 +01:00
Bassoonian
db0a9484ae Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion 2023-12-23 00:39:10 +01:00
DizzyEggg
6137db102e
Ally Switch (#3533)
* ally switch move animation

* Ally Switch anim done

* ally switch test and improve animation

* derp

* add ally switch known failing test for ally targeting moves

* moves which targetted ally fail after ally switch

* ally switch works like protect

---------

Co-authored-by: root <root@LAPTOP-3SNV7DEQ>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-20 15:26:28 +01:00
Eduardo Quezada D'Ottone
442620cf6b
Renamed Battle Move "Split" to the proper "Category" (#3774) 2023-12-20 10:08:26 +01:00
Zimmermann Gyula
a68cf9f4dc
Fix Vs Seeker description. (#3718) 2023-12-13 18:05:37 +01:00
Zimmermann Gyula
bbc29fff0d
Fix a copypaste error and a typo in config. (#3717) 2023-12-13 17:39:26 +01:00
Alex
1f51ff8dfb
Add Gen5 Imprison config (#3710)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-12 19:06:24 +01:00
AtariDreams
929ec54a39
Update catch curve for pokeballs (#3685)
Since Gen 6, the capture rate curve was changed to make pokeballs more effective on lower level pokemon

It's by 65536 divided by 255 to the power of(1/5.33) and I did the work of translating that so a rough approximation can be done in integers, and so far, it seems to work close enough. I use this in my romhack for months now and it works fine.
2023-12-12 16:25:33 +01:00
Alex
44e81d4f4c
Gen 9 configs for Protean/Libero, Intrepid Sword and Dauntless Sword (#3614)
* Gen 9 configs for Protean/Libero, Intrepid Sword and Dauntless Sword

* use bitfield

* battler fix

* fields
2023-12-12 00:08:44 +01:00
Bassoonian
ec9cc9a443
Config for trying to catch a Trainer's Pokémon (#3684)
* Config for trying to catch a Trainer's Pokémon

* Prevent removal instead of adding it back
2023-12-11 00:05:39 +01:00
Eduardo Quezada D'Ottone
4adc2dcb16
Species Simplifier™ - Part 3 (#3562)
* Added SpeciesInfo fields

# Conflicts:
#	include/pokemon.h

* Added missing comments

* Renamed gigantamax to isGigantamax

* Converted species flags to agbcc bit flags

* Added padding after flags

* Pikachu form config

* Dex text

* Reordered Paradox flag

* Missing Pikachu ifdef comments

* Moved P_GEN_x_POKEMON settings to the species_families file

* Gen 1 Dex entries

* Renamed file to species_enabled.h

* Prevent Pokémon from evolving if their evolution is disabled

* Prevent Pokémon from being affected by Eviolite if their evolution is disabled

* Prevent Pokémon offspring if they're disabled

* Corrected imprementation of evolution prevention

It could potentially overwrite items by accident

* Cross-evo configs

* Gen 2 dex entries

* Changed cry table to use assignable IDs

# Conflicts:
#	include/pokemon.h

* Form table pointers

* Beginning support for moving data to gSpeciesInfo

* Pokédexes reads text from gSpeciesInfo

* Reading species names from gSpeciesInfo

* Fixed erroneous copy-paste

* Moved Bulbasaur to Raichu Family data do gSpeciesinfo

* Added female pic sizes

* Macros for Front, Back, Palette and Learnsets

* Sandshrew to Dugtrio Families

* Obtains Height/Weight from gSpeciesInfo

* Read category from gSpeciesInfo

* Removed unused data from pokedex_entries.h

* Moved Gen 1 data to gSpeciesInfo

* Moved Gen 2 data to gSpeciesInfo + fixed Ursaluna Bloodmoon not producing Teddiursa eggs

* Moved Gen 3 data to gSpeciesInfo

* Moved Gen 4 data to gSpeciesInfo

* HGSS dex properly shows form sprites

* Fixed data type for GetSpeciesHeight/Weight

* Reading Pokédex Size data from gSpeciesInfo

* Cleaned up mon graphic decompression function

* Reading Front Pics gSpeciesInfo

* Reading Back Pics gSpeciesInfo

* Updated uses of GetMonSpritePalStruct to allow loading the data directly instead of reading the struct

* Reading palettes from gSpeciesInfo

* Reading animation delay from gSpeciesInfo

* Fixed Pokémon Debug Menu not reading animation delay

* Reading front anim Id from gSpeciesInfo

* Reading back anim Id from gSpeciesInfo

* Reading Animation Frames from gSpeciesInfo

* Reading Icon Sprites from gSpeciesInfo

* Reading Icon Palette IDs from gSpeciesInfo

* Reading Footprints from gSpeciesInfo

* Reading Mon Pic sizes from gSpeciesInfo

* Separate mon pic sizes for female mon

* Reading Level Up Learnsets from gSpeciesInfo

* Reading Teachable Learnsets from gSpeciesInfo

* Reading National Dex Number from gSpeciesInfo

* Reading Enemy Mon Elevation from gSpeciesInfo

* Reading Evolutions from gSpeciesInfo

* Reading form table from gSpeciesInfo

* Fixed button label inconsistency in pokémon debug menu

* Reading form change table from gSpeciesInfo

* Removed need to define mon graphics in include/graphics.h

* Reordered mon graphics by family

* Fixed National dex number offset

* gFrontierBannedSpecies now checks IsSpeciesEnabled

* Added 3 more toggles for Fusions, Primal Reversions and Ultra Burst

* Gen 3 & 4 family toggles for dex entries

* Fixed missing Mr. Rime data

* Gen 1 dex descriptions as compound strings

* Gen 2 dex descriptions as compound strings

* Gen 3 dex descriptions as compound strings

* Gen 4 dex descriptions as compound strings

* Fixed compile in agbcc

* Moved Gen 5 data to gSpeciesInfo

* Using PLACEHOLDER_ANIM_SINGLE_FRAME when needed (same hash)

* Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES

* Fixed capitalization for front pic anims

* Fixed `CanEvolve`

* Moved Gen 6 data to gSpeciesInfo

* Gen 7 without macros

* Gen 8 without macros

* Gen 9 without macros

* Fixed Gen 9 sound data

* Finished moving Gen 7 data in macros (by Alex)

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>

* Ultra Necrozma is now included in the fusion forms define

* Cries are now properly excluded from the rom when disabling species

* Removed P_GEN_x_POKEMON from form_change_tables.h

* Fixed Yanmega's cry ignoring the P_GEN_4_CROSS_EVOS setting

* Added P_NEW_EVOS_IN_REGIONAL_DEX setting

* Automatic ASSUMPTION_FAIL when used species are disabled

* Finished moving Gen 8 data in macros (by Alex)

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>

* Expanded Alcremie macro

* Finished moving Gen 9 data in macros (by Alex)

* Fixed missing data for Komala and Marshadow

* Form species id tables use family toggles + added missing Ursaluna form species id table

* Fixed Genesect palettes

* Fixed Flabébé family graphics

* Fixed Minior Graphics

* Fixed missing Calyrex data

* Family toggles in mon graphcis (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed missing Ogerpon data

* Ordered Level Up Learnsets (missing toggles)

Also added White Basculin learnset

* Added more Minior synonyms

* Fixed enamorus order

* Reordered teachable learnsets

* Removed sSpeciesXXX level up learnsets + reordered

* Removed unneeded assumes

* Removed unused extra animations

* Family toggles in mon level up learnsets (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed Phione graphics inclusion

* Family toggles for Teachable Learnsets

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Ordered Front Pic Anims

* Family toggles for front pic animations

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed HGSS dex incorrectly showing the wrong mon when catching it

* Family toggles for Egg Moves + reodered

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed HGSS not checking for null footprints

* Review changes

* Fixed Female difference mon not using their macros

* Fixed Alcremie Macro

* Fixed compile error when disabling the Bulbasaur family

* Fixed Turtwig and Chimchar family + Houndour and Mareep cries not being excluded properly

* Re-added missing Egg graphical data

* Fixed crash during the Birch Intro when Lotad is disabled

* Renamed PALLETE to PALETTES

* Removed extra spacing for YOffsets

* Fixed compile when only disabling cross-gen evolutions

* Added Tera Forms define (Ogerpon and Terapagos)

* Fixed Necrozma macro

* Removed .noFlip = FALSE

* Fixed dex number in summary screen for forms when nat dex is disabled

* Fixed Paldean form paths

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-08 15:05:10 +01:00
Bassoonian
ffb16c0dd5 ORAS drain rate 2023-12-08 12:03:16 +01:00
Bassoonian
6173f9b81d Add soil moisturing config 2023-12-08 01:01:01 +01:00
Bassoonian
061e56a564 Make weeds and pests affect yield 2023-12-08 00:22:12 +01:00
Bassoonian
d7959879f1 Preset yield config 2023-12-07 18:06:20 +01:00
Bassoonian
ccb0e11235 Add generation-based growth rate config 2023-12-07 14:18:54 +01:00