Commit graph

410 commits

Author SHA1 Message Date
Alex
df6fab7284
Missing ignoreSubstitute flags (#4623)
* Missing ignoreSubstitute flags

* update defog flag
2024-05-28 10:29:37 +02:00
Bassoonian
0acd058c16
Fix style of some bit definitions (#4319) 2024-03-29 17:43:33 +01:00
Eduardo Quezada
26ba65c7a7
Fixed species flag padding (#4291) 2024-03-21 14:56:29 +01:00
Eduardo Quezada
7c25db5200
Fill data for placeholder species (#4281)
* Absolute IDs

* Mothim internal forms

* Scatterbug/Spewpa internal forms

* Fixed Mothim not having form tables

* Totem Alolan Raticate

* Moved shared dex text to its own folder

* Totem Mimikyu

* Added missing empty third-ability fields

* Totem Gumshoos + missing totem flags

* Renamed files to better match their contents

* Fixed Disguise on Totem Mimikyu

* Totem Vikavolt/Alolan Marowak + missing Gumshoos form table

* Totem Ribombee/Araquanid/Lurantis/Salazzle

* Totem Togedemaru/Kommo-O

* Partner Pikachu/Eevee

* Reintroduced shinyLocked species flag for convenience

* Revert "Reintroduced shinyLocked species flag for convenience"

This reverts commit 3e07bd378b.
2024-03-16 18:38:43 +01:00
Alex
b5af343dc4
Reverts additional move effect macros (#4277) 2024-03-14 17:20:13 -03:00
Nephrite
4781ca41a9 Renamed GET_ADDITIONAL_EFFECT_COUNT macro 2024-02-27 00:03:25 +09:00
Nephrite
170070baef
Apply suggestions from code review
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-02-26 23:59:15 +09:00
Nephrite
46b67355a5 Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-26 14:23:53 +09:00
Nephrite
b55b1eaa5d Added word comment 2024-02-25 17:54:04 +09:00
Eduardo Quezada D'Ottone
0522ec0247
Trainer data encapsulation (#4216)
* Moved existing sanitized trainer data functions to include/data.h

* Sanitized encounterMusic_gender

* Sanitized trainer class ID

* Sanitized trainer pic ID

* Sanitized trainer starting status

* Sanitized obtaining Trainer struct

* Sanitized trainer double battle flag

* Sanitized trainer party size

* Sanitized trainer mugshot data

* Sanitized trainer name

* Consolidated Dome Brain trainer data to the rest of the frontier data

* Sanitized trainer items

* Removed accidental test data

* Sanitized trainer party

* Sanitized trainer AI flags

* Final encapsulation bit
2024-02-22 14:22:57 +01:00
Nephrite
1ac9934742 Reverted forcePressure flag move 2024-02-13 12:19:27 +09:00
Nephrite
b447add4c3 Minor fixes to RNG and additional effect count 2024-02-12 22:27:58 +09:00
Nephrite
16ab876241 Swapped power/accuracy and type/split
Also moved one bit from power to accuracy; raises BP limit to 511, decreases accuracy limit to 127 (which is already more than necessary).
2024-02-12 21:47:07 +09:00
Nephrite
ce4dd729f4 Merged from upcoming 2024-02-09 23:00:36 +09:00
Bassoonian
ccfebe5e05
Adds missing evolution methods (#4087)
* Add evolution tracker to BoxMon struct

* Add "use move 20 times, then lv up" evolution method

* Add recoil tracker

* Reduce to 9 bits

* Fix agbcc complaint

* Put MOVEEND_CLEAR_BITS at the end

* Remove battle argument from tryupdaterecoiltrackker

* Add null checks

* Fix upcoming merge

* Add requested formatting changes

* Condense evolution check into a single function for easier customisation later

* Incorporate review requests

* Update src/pokedex_plus_hgss.c

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

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-02-01 18:35:38 -03:00
Nephrite
8a8d181654 AdditionalEffects storage tweak
Uses some macro and bitwise trickery to store additional effects and the count thereof in a single word
2024-02-01 15:19:10 +09:00
Nephrite
086375ab13 Moved a couple more flags 2024-01-30 18:05:52 +09:00
Nephrite
02ffd05aea Removed Sheer Force flag 2024-01-30 13:37:38 +09:00
Nephrite
e602a310c9 BattleMove adjustment
Moved one or two flags to the effects array as well
2024-01-30 13:37:29 +09: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
Bassoonian
b9a02b205d
Rename gItems and gAbilities to gItemsInfo and gAbilitiesInfo (#4068)
* Rename gItems to gItemsInfo

* Rename gAbilities to gAbilitiesInfo

* Just fixing up my bad merge

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-26 15:25:52 -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
Eduardo Quezada
71fe6b34dc Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	include/battle_scripts.h
#	src/battle_script_commands.c
2024-01-17 12:29:33 -03:00
Alex
f6c08c08b6
Fix item usage in double battles (#3977)
* Fix item usage in double battles

* fix failing tests

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-15 21:55:35 +01:00
Eduardo Quezada D'Ottone
9445953833
Moved Item Effects to gItems (#3991)
* Moved Item Effects to gItems

* Removed redundant item effects

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-14 10:03:48 +01:00
Eduardo Quezada D'Ottone
e5b58b04b6
Renamed healBlockBanned to healingMove (#3981)
* Renamed healBlockBanned to healingMove

* Fix fix
2024-01-12 18:41:45 +01:00
Biffalo XIII
a89f1eeb50 Revert "healBlockBanned -> healingMove (#3976)"
This reverts commit a947b20f31.
2024-01-12 12:10:59 -03:00
kittenchilly
a947b20f31
healBlockBanned -> healingMove (#3976) 2024-01-12 01:05:26 +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
a76e3c70ba Applied more review fixes 2024-01-12 03:02:48 +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
a8a504ef25
Refactor dex completion (again) (#3937)
* Refactor dex completion

* Incorporate Alex's requests

* rename to dexForceRequired

* Revert GetPokedexRatingText argument type

* Apply suggestions from code review

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

* Revert "Revert GetPokedexRatingText argument type"

This reverts commit a9b0c28040.

* Fix HasAllMons

* Fix oops

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-11 13:35:31 -03:00
Nephrite
c4616739d8 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-11 00:35:35 +09:00
BiffaloXIII
8b80a54a7a
Removed footprint field when P_FOOTPRINTS is FALSE (#3925) 2024-01-04 21:54:03 +01:00
Nephrite
59d76c9321 A few fixes, added effects for Meteor Beam/Electro Shot 2024-01-02 20:27:50 +09:00
Nephrite
4556ecc71e Removed PRIMARY/SECONDARY macros; added flags
Just a couple for now; cleaned up parts of setadditionaleffects
2024-01-02 20:06:49 +09: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
923d22b42b Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into secondary_effects_overhaul_merge 2024-01-01 03:50:36 +09:00
Bassoonian
a32e2ccc88
Move Ability AI scores to gAbilities (#3862)
* Ability refactor

* Adds abilities to RHH rom header

* Move Ability Ratings to gAbilities

* Add previously unknown ai ratings

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
2023-12-30 23:07:18 +01:00
Nephrite
9dfa0d264f Merge branch 'upcoming' into secondary_effects_overhaul 2023-12-30 23:54:01 +09:00
Nephrite
60a0020833 Tweaked macro to be more appealing 2023-12-30 20:41:29 +09:00
Bassoonian
6bc0bf9f8b
Ability refactor (#3861)
* Ability refactor

* Adds abilities to RHH rom header

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2023-12-29 14:25:24 +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
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
Nephrite
cda445c2f5 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul_rebase 2023-12-25 12:19:38 +09:00
Nephrite
a244d7b8b6 Updated moves that raise the target's own stats
To do: moves like CC, Overheat that LOWER stats; did NOT remove the effect for raising all stats due to an AI function
2023-12-24 22:55:53 +09:00
Nephrite
1708c80200
Removed ALWAYS_CRIT, renamed critBoost (#3779)
Replaced ALWAYS_CRIT with an alwaysCriticalHit flag to account for the fact that in earlier generations, there is no crit stage at which crits are guaranteed. Renamed critBoost to criticalHitStage (at Edu's prompting). Reorder .criticalHitStage defines in battle_moves.h to be aligned with struct order.
2023-12-20 16:16:02 +01:00
Eduardo Quezada D'Ottone
442620cf6b
Renamed Battle Move "Split" to the proper "Category" (#3774) 2023-12-20 10:08:26 +01:00
Nephrite
4a1a6c5625
Battlemove refactored (recoil, crit and Z moves) (#3575)
* Unified EFFECT_RECOIL

Combined EFFECT_RECOIL_25/33/50/33_STATUS into a single EFFECT; added an extra field to BattleMove 'secondaryData' that contains the franction of HP recoil; argument still holds status effect for Flare Blitz/Volt Tackle

* BattleMove struct change

Added critrate, recoil, multihit fields, made zMove into a union of effect/powerOverride for status/non-status moves respectively. Added new recoil field and zMove field to all moves. To-do: crit rate, multihit

* Critrate field added

Moves use a critRate field instead of a flag - obsoletes EFFECT_ALWAYS_CRIT

* Just a little define

Makes clear that critBoost = 3 means ALWAYS CRIT

* Added a proper recoil field

Just to make it unambiguous and flexible - can finally have a move with 69% recoil.

* Fixed AI damage calculation for multi-strike moves

* Fixes + removed unused effects

* Tests fixes

Two to fix: pass when run in isolation but not when the whole group is run, which is annoying...

* Minor fixes

* Minor tweaks

* Fixed move effects

* recoil tests

---------

Co-authored-by: Alex <alexthenotes@gmail.com>
2023-12-19 16:10:07 +01:00