Commit graph

142 commits

Author SHA1 Message Date
SarnPoke
2db1f071fa
Add battle flag that prevents running from wild Pokémon (#5502)
* Add No Running Battle Flag

Adds a flag that if set prevents the player from being able to run from wild battles.

* Formatting battle_util.c

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

* Adjust for pre-Gen 8 Teleport

Addresses the edge case with Teleport when used with under Gen 8 mechanics.

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-10-11 21:59:50 +02:00
Eduardo Quezada
a7fca616b0 Merge branch '_RHH/master' into _RHH/upcoming 2024-10-04 14:28:13 -03:00
wiz1989
6f59d26753
updated Conversion 2 mechanics to 5+ (#5453)
* updated Conversion 2 mechanics and added the toggle B_UPDATED_CONVERSION_2

* fixes and added new test cases

* bugfixing and added EWRAM u16 gLastUsedMoveType

* update after Pawkkie review

---------

Co-authored-by: wiz1989 <wiz1989@LAPTOP-8Q3TPMGC.localdomain>
2024-10-04 12:42:15 -04:00
Eduardo Quezada
5130ea9da3 Merge branch '_RHH/master' into _RHH/upcoming 2024-09-28 11:45:49 -03:00
PhallenTree
76656e85c2
Fix Quash implementation, adds After You and Quash missing configs + tests (#5400)
* Fix Quash + After You and Quash configs

* Add tests
2024-09-19 00:10:29 +02:00
nescioquid
ac2b41ae71
Typo fixes and Growth move description change (#5398)
* changes Growth's move description to account for Gen 5+ behavior

* completes B_DIVE_BALL_MODIFIER comment

* fixes typos and incongruent spacing in various files

* Update src/data/moves_info.h

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

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-09-18 23:03:36 +02:00
PhallenTree
100c7dd8ad
Fixes Powder (status) interactions + tests (#5370)
* Simplified fix from #4638

* Fixes interactions with Z-Moves, Magic Guard, Heavy Rain, Pledge

* Powder Tests

* Remove duplicate

* Assume Powder is a powder move

* Add config for Powder Rain interaction

* Only primal rain

* Z-Moves fix handled in Canceller_Z_Moves

* Fix BattleScript name

* Make sure Z-Move + Powder still damages user
2024-09-13 18:08:23 +02:00
Rachel
b478881fc6
Add in-battle shadows underneath all enemy battlers (#5178)
* Add data to SpeciesInfo entries for in-battle shadows

* Implement sized shadows in the sprite visualizer

* Implement sized shadows in game code

* Show shadows for the lead battler for opponents during their battle anim

* Feedback on shadows, round 1

* Revert removal of Goomy and Sliggoo shadows

* Fixed GEN_3 setting

* Code cleanup + remove pre-processor branches

* Fix bugs with gen-3 configuration branch

* Style corrections, final shadow coordinate adjustments

* Adjustments to Garbodor and Araquanid
2024-09-10 21:27:49 +02:00
Alex
04b5c013a9
Adds config to show target of ingame partner (#5307)
* Adds config to show chosen move and target of ingame partner, `#define B_SHOW_PARTNER_TARGET`, default `FALSE`
---------

Co-authored-by: Hedara <hedara90@gmail.com>
2024-09-03 19:28:59 +02:00
psf
4f39354185
Deprecate MMBN Names (#5240)
* Removed HANDLE_EXPANDED_MOVE_NAME

* Removed HANDLE_EXPANDED_TYPE_NAME

* Removed HANDLE_EXPANDED_ITEM_NAME

* Removed HANDLE_EXPANDED_SPECIES_NAME

* Removed I_EXPANDED_ITEM_NAMES

* Removed B_EXPANDED_MOVE_NAMES

* Removed B_EXPANDED_TYPE_NAMES

* Removed B_EXPANDED_ABILITY_NAMES

* Removed B_EXPANDED_ABILITY_NAMES

* Added documentation of names

* Github markdown spacing is silly

* Removed list per https://github.com/rh-hideout/pokeemerald-expansion/pull/5240\#discussion_r1736860339

* Removed list per https://github.com/rh-hideout/pokeemerald-expansion/pull/5240\#discussion_r1736860339
2024-08-29 16:33:25 -04:00
Eduardo Quezada
aebbe448b8 Merge branch '_RHH/master' into _RHH/upcoming 2024-08-28 12:58:14 -04:00
Alex
98dbf3a575
Fixes Charged up status (#5274)
Charge changed to last until the damage boost is consumed instead of next turn, previous behavior accessible with `B_CHARGE`
2024-08-27 20:01:51 +02:00
Eduardo Quezada
661ec0a9fd Merge branch '_RHH/master' into _RHH/upcoming 2024-08-14 17:10:20 -04:00
Eduardo Quezada
6f0004ec4e
Removed some hardcoding of move IDs + Gen4/5 Defog (#5156)
* Removed some hardcoding of move IDs

* Added Defog Gen6+ config (+ updated tests)
2024-08-14 15:51:34 +02:00
Alex
7119d60a67
Set new anim particles by default to off (#5161) 2024-08-14 06:31:26 -07:00
psf
d1183f4b8a
Add B_SHOW_TYPES and cleaned up IsDoubleBattle (#5131)
* First attempt at a port

* Slightly broken but working

* Got images working and opponent palettes

* half finished compressed spritesheet approach instead

* fix the palettes (smh)

* fix hflip, and a lot of clean-up

* Add B_SHOW_TYPES

* Got Illusion working

* Add num type enum

* Updated function to get type

* Fixed type icon position and cleaned up functions

* Updated illusions and Tera handling

* Added BATTLE_TYPE_IS_SINGLE and DOUBLE

* Removed IS_BATTLE_TYPE_SINGLE

* Implemented BATTLE_TYPE_IS_DOUBLE across repo

* Removed SIDE macro

* Updated config

* Deprecated battler alive macro

* Reindented file

* Added exceptions for 2v1

* Replaced Fainted check with Null check

* Added functionality for only types of caught mons

* UseDoubleBattleCoords updated

* Added ShouldFlipTypeIcon

* Renamed TryLoadTypeIcon

* Refactored functions

* Refactored functions

* Refactored functions

* Refactored functions

* Renamed SEEN to CAUGHT

* Reset config

* Added useSecondPalette and isOrdinary to gTypesInfo

* Further simplified secondPalette and isOrdinary

* Changed isordinary to isSpecialCase

* Renamed to useSecondTypeIconPalette

* Fixed Stellar type interactions

* fixed spacing

* fixed include/config/battle.h

* fixed

* fixed include/config/general.h

* changed type1 and type2

* Moved IsDoubleBattle to include.battle.h
Removed BATTLE_TYPE_IS_DOUBLE
Removed IS_DOUBLE_BATTLE

* Changed IsBattlerFainted to IsBattlerAlive

* Removed IsBattlerNull

* Moved GetBattlerData to be inline

* Renamed GetMonDefensiveTeraType

* Removed IsIllusionActive

* Fixed identation

* found one last isDoubleBattle hold out

* fixed redundant brackets

* Fixed spacing for B_SHOW_TYPES

* Update src/battle_script_commands.c

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

* Fixed padding

* Reindent file and refactored GetTypeIconHideMovement

* Update include/data.h

---------

Co-authored-by: RavePossum <ravepossum@proton.me>
Co-authored-by: Frank <fdeblasio1004@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-08-11 17:55:51 +02:00
kittenchilly
e4f09c8103
Move Relearner now displays move category (#5081)
* Move relearner now displays move category

* Update move_relearner.c

* Update move_relearner.c

* Address reviews
2024-08-06 23:58:18 +02:00
psf
5c38532281
Add B_ENEMY_THROW_BALLS, B_PLAYER_THROW_BALLS_SOUND, and B_ENEMY_THROW_BALLS_SOUND (#4953)
* First proof of concept works

* Added B_THROW_BALLS_SOUND

* Made generic MonSendOut

* Changed magic number to constant

* added acute e and changed to GEN_LATEST

* Removed tabs

* Undef'd HIBYTE and removed extra bool32

* Made functions inline per https://github.com/rh-hideout/pokeemerald-expansion/pull/4953/files\#r1675397114
Split into B_THROW_BALLS_SOUND B_PLAYER_THROW_BALLS_SOUND and B_ENEMY_THROW_BALLS_SOUND per https://github.com/rh-hideout/pokeemerald-expansion/pull/4953/files\#r1676143761

* Reset debug script

* Removed static assert per Discord conversation with Alex
2024-07-14 14:46:04 +02:00
Eduardo Quezada
fb708b7ed3 Merge branch '_RHH/master' into _RHH/upcoming 2024-07-10 10:05:10 -04:00
Eduardo Quezada
de609a2f5b
Added missing redirect abilities Gen 3-4 config (#4920)
* Added missing redirect abilities Gen 3-4 config

* Combined 3 Battle Script Natives into 1

* Cleaner FindMonThatAbsorbsOpponentsMove
2024-07-07 09:52:59 +02:00
fakuzatsu
6c9dcd60bc
simple button config for the move description menu (#4860)
* simple button config for the move description menu

* change from preproc to normal if
2024-06-25 11:09:01 +02:00
sneed
609754f0f6
Add RandomChance macro and ability trigger chance config (#4829)
* RandomChance macro, contact ability chance config

* Unify config, add shed skin
2024-06-18 20:13:44 +02:00
sneed
fa81861593
Add newer generation Heal Bell interactions with Soundproof (#4732)
* newer generation soundproof heal bell interactions

* Fix bugs and rewrite AnyPartyMemberStatused

* add missing check, tests, clean up

* fix ai code and rename battler for clarity
2024-06-07 18:51:21 +02:00
Eduardo Quezada
0be643a517
Set TYPE_NONE as type 0 + other type data tweaks (#4462)
* Set TYPE_MYSTERY as type 0

* Remove redundant TYPE_NONE

* Moved Gen 1-3 type damage categories to gTypesInfo

* Set TYPE_NONE as 0 instead

* Grouped type info to a single file

* Fixed sTypeEffectivenessTable static name

* Adjusted MON_DATA_TERA_TYPE to account for shift in type IDs

* oops, missed the extern

* Moved Tera Type RGB values to gTypesInfo

* Fixed Tera Type test

* Added option test feature to set IVs

* Hidden Power type test

* Tera Type safeguard in givemon

* Removed isHiddenPowerType for a future PR that refactors Hidden Power

* Review changes
2024-06-01 07:38:22 +02:00
moostoet
85ca0645a9
Add configuration to prevent permanent item theft (Covet / Thief) from NPCs (#4605)
* feat: implement logic for gen5+ covet/thief

* refactor: add define, misc. changes

* fix: define parenthesises

* fix: revert to bool32

* fix: formatting
2024-05-20 22:52:12 +02:00
Eduardo Quezada
2a605f2d84
Gen 1 type matchups + cleaned type matchup table (#4508) 2024-05-06 17:37:03 +02:00
Martin Griffin
664fe905f6 Enable GF type names by default 2024-04-25 18:40:38 +01:00
Martin Griffin
073f12be18 Expanded type names 2024-04-25 18:40:38 +01:00
Martin Griffin
a1d2460372 Enable GF move names by default
In contests, even FONT_NARROWER isn't sufficient to prevent clipping in
all cases. e.g. Stomping Tantrum clips. We have decided to accept that
cost to make the rest of the user experience better, but downstream
projects that don't like that trade-off can either a) alter the contest
UI, or b) set B_EXPANDED_MOVE_NAMES to FALSE.
2024-04-25 18:40:37 +01:00
AgustinGDLV
84a9d4ffcf
Terastallization (#4110)
* wrote foundational terastal tests

* implemented baseline test-only Tera functionality; modified GetBattlerType + STAB calculations, misc. changes to some moves

* added tests and func. for Stellar type, more tests for Tera Blast

* more tests for Stellar type, Conversion fixes, Color Change + Conversion2 future proof

* implemented tera blast, expanded stellar type func., fixed tests

* last set of Tera/Tera Blast tests for checklist, protean fix

* implemented in-battle Terastallization, WIP stellar indicator and tera animation

* fixed bad merge

* expanded NUMBER_OF_MON_TYPES, cut down on TYPE_STELLAR hackiness, added Stellar type to summary

* fixed type indicators

* added tera logic to AI

* implemented code review changes, added B_TERA_ORB_NO_COST

* updated AI to calc damage with Tera when applicable; minor rework to AI gimmick handling

* fixed Tera Blast split choice occuring when not Terastallized

* fixed Tera Blast using Last Respects BP calcs

* added tera type to TrainerMon, code review tweaks
2024-04-24 11:17:46 +02:00
Eduardo Quezada
c4c371824f Merge branch '_RHH/master' into _RHH/upcoming 2024-04-20 08:22:49 -04:00
LOuroboros
d08fb8e824
Turned B_RESTORE_HELD_BATTLE_ITEMS into a non-boolean config (#4402)
* Corrected the comment description of B_RESTORE_HELD_BATTLE_ITEMS

* Made B_RESTORE_HELD_BATTLE_ITEMS a non-boolean config
2024-04-18 09:03:39 +02:00
kittenchilly
e19b05a3a9
Add Fog weather (#4359)
* Add Fog weather

* Update battle_string_ids.h

* Update battle.h

* some tweaks

* Update battle_anim_scripts.s

* Address reviews

* Update battle_util.c

* Update battle_util.c

* Update include/config/battle.h

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

* Address reviews, changes, fix bugs

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-04-17 12:06:49 -04:00
Eduardo Quezada
5bf379720f Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/data/moves_info.h
2024-04-12 21:30:52 -04:00
Alex
c740c4ba19
Disguise fixes + gen8 hp loss config (#4360)
* Disguise fixes + gen8 hp loss config

* fix battler arg

* Update test/battle/ability/disguise.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-04-07 00:07:55 +02:00
psf
8f2f6811fb
Added B_FAST_EXP_GROW (#4335)
Updated the denominator in MoveBattlerBar to be faster for more HP sizes
2024-04-03 21:25:55 +02:00
AgustinGDLV
c340ae04d7
Updated Knock Off (#4333)
* added config for updated Knock Off behavior, added tests

* fixed unused var

* added item check in tests

* fixed item checks
2024-04-03 10:13:39 +02:00
Eduardo Quezada
5acc770f00
Fixed config comment (#4237) 2024-03-03 09:07:47 +01:00
Eduardo Quezada D'Ottone
8671da436b
Add LGPE+ Premier Ball Bonus config (#4191)
* Add LGPE+ Premier Ball Bonus config

* Capitalization

* Premier Ball count in message + only give the amount of Premier Balls possible

* Review changes

* Updated B_TELEPORT_BEHAVIOR to match Premier Ball config

* Update src/shop.c

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

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-25 10:13:26 +01:00
Alex
7ab23cf426
Sets neutral nature and ability 0 as default in trainer control (#4172)
* Sets neutral nature and ability 0 as default in trainer control

* add config to generate a random ability

* minor correction

* move config to battle.h

* fixed compiling
2024-02-18 15:02:58 +01:00
Eduardo Quezada
ebe13ffc3c Merge branch '_RHH/master' into _RHH/upcoming 2024-02-16 11:30:01 -03:00
ghoulslash
ce99db0086
Generic Starting Battle Status Variable (#4176)
* setup generic starting battle status variable, ABILITYEFFECT_SWITCH_IN_STATUSES

* fix B_ANIM_TAILWIND, assign to starting statuses, and change B_VAR_STARTING_STATUS check for only the variable and not trainers

* Update src/battle_main.c

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

* Update src/battle_util.c

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

* Update src/battle_util.c

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

* style fixes

* General_Room naims play SE

* fix sText_BizarreArenaCreated

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-14 10:05:37 +01:00
Alex
3598a18703
Adds config for Soundproof change during Uproar status (#4174) 2024-02-11 10:40:30 +01:00
LOuroboros
691b1879f8
Renamed VAR_TERRAIN to B_VAR_TERRAIN and added a var-based field terrain timer (#4132)
* Renamed VAR_TERRAIN and introduced a var-based field terrains timer

* Fixed sky battle configs alignment and syntax

* Added B_VAR_TERRAIN_TIMER handling to Overworld_ResetBattleFlagsAndVars

* Removed pointless edits to EndTurnTerrain

* Updated B_VAR_TERRAIN_TIMER's comment

* Updated the syntax of ABILITYEFFECT_SWITCH_IN_TERRAIN to comply with Agbcc

* Nuked pointless VarGet calls in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects

* Reverted changes made to BS_SetRemoveTerrain
I shouldn't have touched it at all since it's not involved with B_VAR_TERRAIN functionality.

* Removed trailing spaces in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects
2024-02-04 13:04:55 +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
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
Nephrite
c4616739d8 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-11 00:35:35 +09: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
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
9dfa0d264f Merge branch 'upcoming' into secondary_effects_overhaul 2023-12-30 23:54:01 +09:00