Commit graph

753 commits

Author SHA1 Message Date
Eduardo Quezada
68e5c9f8cb Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	include/battle.h
#	src/pokedex.c
2024-03-14 11:41:27 -03:00
ghoulslash
0dabcfc966
fix repeated quick claw/quick draw checks (#4266)
* fix repeated quick claw/quick draw checks

* fix field names

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2024-03-10 22:49:00 +01:00
DizzyEggg
a36cfb1093
unify monSpritesGfx sprites/ptr and fix various compiler errors on o3/os/og (#4252) 2024-03-06 22:26:33 +01:00
DizzyEggg
650f80d57e
remove some unused data (#4239) 2024-03-04 17:36:23 +01:00
Nephrite
46b67355a5 Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-26 14:23:53 +09:00
Nephrite
9db03fb263 Removed GET_MOVE_EFFECT 2024-02-25 18:22:21 +09: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
Nephrite
1ac9934742 Reverted forcePressure flag move 2024-02-13 12:19:27 +09:00
Nephrite
b665e7245b Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-12 16:15:53 +09:00
Alex
97e4aa514a
Reverted Intrepid Sword and Dauntless Shield field unification (#4171)
* Reverts back Intrepid Sword and Dauntless Shield field unification

* fixes
2024-02-10 16:15:21 -03:00
Eduardo Quezada D'Ottone
af95a09961
Last Respects effect + Fixed Supreme Overlord (#4151)
* Last Respects effect + Fixed Supreme Overlord

* Fixed ability pop-up happening when there's no fainted party members

* Fixed Supreme Overlord counting faints during the battle instead of fainted party

* Removed invalid test.

* Converted GetSupremeOverlordModifier to an inline function

* Created inline functions to obtain faint counters

* Fixed erroneous implemenation and tests
2024-02-10 10:58:41 +01:00
Eduardo Quezada
67f1772f1e Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_util.c
#	test/battle/item_effect/heal_and_cure_status.c
2024-02-09 17:02:56 -03:00
Nephrite
ce4dd729f4 Merged from upcoming 2024-02-09 23:00:36 +09:00
Alex
e89f8e00ed
Fixes Hit Escape moves interaction with hold effects and switch in ab… (#4091)
* Fixes Hit Escape moves interaction with hold effects and switch in abilities

* leftover

* fix spelling

* fix desc.
2024-02-09 14:00:42 +01:00
Nephrite
65c508d193
Secondary effects overhaul minor follow-up (#4062)
* settwoturnstring command

* Unified two-turn attacks and Meteor Beam

To do: Solar Beam

* Solar Beam

Also fixed various function, removed EFFECT_GUST (who knows why that exists?)

* Updated Solar Beam + tests

* Redid two turn move + animations logic

Removed pointless various function; to do: remove Skull Bash, fix AI test

* Removed now-pointless flag

* Removed Skull Bash

And temporarily commented out failing AI tests

* Removed Sky Uppercut effect

Not sure when or why this was ever necessary

* Removed BattleScript_EffectSemiInvulnerable

Now uses BattleScript_EffectTwoTurnsAttack. Kept the effect; used the argument field to determine which STATUS3 such moves should apply but added a function to jump over weather checks in BattleScript_EffectTwoTurnsAttack if the current move is semi-invulnerable (since the instant-fire weather check and STATUS3 use the same field)

* Applied review changes

* Replaced VARIOUS with callnative

Tried to fix test but couldn't :/ wtf is going on

* Fixed one AI test

Cant fix the other...

* Added KNOWN_FAILING to failing AI tests

Separated them out into their own test

* Optimised script, overhauled charge turn string setting

Condensed multiple confusing macros into one, jumpifweathercheckchargeeffects. Script now tweaked and trimmed, string ids for charge turns now added to argument along with status3 (thanks to compression macro) and instant-fire-weather for semi-invulnerable and two-turn moves respectively. Also introduced a savedStringId in gBattleScripting to make string selection work.

* Unified two turn move tests + minor corrections

* Added semi-invulnerable move tests

Set the Razor Wind test to known failing - something to do with its animation?

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-04 23:02:59 +01:00
ghoulslash
83b9b95662
add supersweet syrup, unify single-use entry abilities to single field (#4115)
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2024-02-02 15:44:14 +01:00
Eduardo Quezada
09d12fb154 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	ld_script_modern.ld
#	src/battle_ai_switch_items.c
2024-02-01 12:52:31 -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
DizzyEggg
f5623595a0
Fix AI trying to switch into the same mon 2 times (#4098) 2024-01-30 16:14:33 +01:00
Nephrite
086375ab13 Moved a couple more flags 2024-01-30 18:05:52 +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
Eduardo Quezada
00e2ca6030 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/constants/battle_move_effects.h
#	src/battle_ai_util.c
#	src/battle_script_commands.c
#	src/battle_tv.c
#	src/data/battle_moves.h
#	src/data/pokemon/species_info/gen_9.h
2024-01-22 15:56:10 -03:00
Alex
d125da7797
Fixes Life Orb + Eject Pack / Red Card interaction (#4038)
* Fixes Life Orb + Eject Pack / Red Card interaction

* fix test
2024-01-20 22:48:34 +01:00
Nephrite
89a632cfa4
Moved scripts array to src/data/battle_move_effects.h (#3994)
* Created gMoveBattleEffects array

* Renamed array to gBattleMoveEffects

Applied array in battle_util.c and battle_script_commands.c; doesn't build yet...

* Got it building...

* Added missing battle_tv effects

* Fixed and got it building

I'm an idiot sometimes

* Added battle_tv scores, encourage Encore flag

All works and builds just fine

* Merge fixes

* Reformatted battle_move_effects

Also tweaked struct, added macro

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-19 16:44:09 +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
Alex
5498098438
Syrup Bomb / Sticky Syrup addition (#3948)
* Syrup Bomb / Sticky Syrup addition

* Update test/battle/move_effect/syrup_bomb.c

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

* Update src/battle_script_commands.c

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

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-09 13:37:07 +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
9e051aa058 Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergenewyears 2023-12-30 20:49:05 +01:00
Alex
cc32e378d6
Adds some Indigo Disk moves (#3853)
* Burning Bulwark

* Fickle Beam

* Alluring Voice

* Electro Shot

* forgot sheer force flag for alluring voice

* review changes

* additional alluring voice test

* Simple Allruing Voice animation

* Update battle.h

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-30 20:20:12 +01:00
Nephrite
9dfa0d264f Merge branch 'upcoming' into secondary_effects_overhaul 2023-12-30 23:54:01 +09: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
ghoulslash
a9d6832908
Separate AI flags by battler position (#3003)
* ai flags by battlerId

* fix recoded battle saved ai flags

* update aiFlags check in OpponentHandleChoosePokemon

* add header for TRAINER_CUSTOM_PARTNER define

* initialize flags in BattleAI_SetupAIData

* fix usage of TRAINER_CUSTOM_PARTNER

* remove whitespace

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-12-27 13:54:37 +01:00
Nephrite
77c722ea09 Obsoleted 22 more effects
Also added a better way of calculating battle_tv score properly; to do: Make it Rain
2023-12-27 17:43:20 +09:00
Nephrite
cda445c2f5 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul_rebase 2023-12-25 12:19:38 +09:00
tertu
fb28ce50ae
Optional high-quality RNG (#3780)
High-quality RNG, behind the HQ_RANDOM flag, enabled by default

Makes the shuffle test error a bit more tolerant
2023-12-22 17:39:15 +00: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
Martin Griffin
13a4bf5838 Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-19 18:08:13 +00: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
DizzyEggg
59a159c338
Fix Ice Face ignoring move effects (#3755)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-18 16:02:07 +01:00
Eduardo Quezada
d92c046a80 Merge branch 'RHH/master' into RHH/upcoming 2023-12-17 17:31:10 -03:00
DizzyEggg
76a7513dcd
Fix Magician Life orb recoil when stealing (#3753)
* Fix Magician Life orb recoil

* get rid of unneeded assume
2023-12-17 19:50:43 +01:00
ghoulslash
3209cb0dc9
Merge branch 'upcoming' into regression 2023-12-16 07:39:08 -05:00
Alex
cdeb43228d Use battler turn damaged 2023-12-16 09:33:45 +01:00
Eduardo Quezada
fbbee39886 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_main.c
2023-12-15 18:50:20 -03:00
Alex
be045fdc0c
Fixes Quick Draw (#3724)
* Fixes Quick Draw

* Fixes Custap and rest of Quick Draw

* review applied
2023-12-15 00:03:59 +01:00
Zimmermann Gyula
ba2bb4f07f
Use the same relative gBattleTextBuff3 declaration in both definitions. (#3719)
Compare against https://github.com/rh-hideout/pokeemerald-expansion/blob/upcoming/src/battle_main.c#L135.
2023-12-13 18:49:25 +01:00
Bassoonian
e5ac2fe0b1 Clean up pokemon/ball/dex mentions in comments 2023-12-12 19:02:36 +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