259 Commits

Author SHA1 Message Date
Eduardo Quezada
3b6dbf38fd Review changes 2025-05-12 20:53:14 -04:00
Eduardo Quezada
13071f7019 Added IsOnPlayerSide 2025-05-12 13:53:15 -04:00
PhallenTree
48c08c0368
Illusion struct cleanup and many Illusion fixes (#6798) 2025-05-09 20:41:20 +02:00
Eduardo Quezada
392d662c12
Rename GetPartyBattlerData to GetBattlerMon (#6800) 2025-05-09 15:14:09 +02:00
Eduardo Quezada
addebea4d6
Better handling of battle coords (#6787) 2025-05-07 22:25:10 +02:00
Eduardo Quezada
1f23fe0dd3
Use GetPartyBattlerData where appropiate (#6779) 2025-05-06 17:13:50 +02:00
Alex
55f9f6adea
Refactor battler flee and watch options + clean up (#6724) 2025-04-30 11:54:42 -04:00
hedara90
d1aa49cca3
Remove compressed palettes (#6455) 2025-04-26 22:58:40 +02:00
Bassoonian
cca969b04d
Adds move effect type checking (#6618) 2025-04-16 00:08:57 +02:00
Hedara
06d31bc8ea Merge branch 'master' into final-1.10-master-upcoming-merge 2025-02-26 22:07:10 +01:00
hedara90
cf43787d72
Added MOVE_TARGET_OPPONENT and added it to Me First, (#6336)
Co-authored-by: Hedara <hedara90@gmail.com>
2025-02-25 22:28:22 +01:00
Alex
32eb5dfba5
Remove global sBattler_AI (#6128) 2025-01-29 19:58:16 +01:00
DizzyEggg
4e0eab9e27
Remove gDecompressionBuffer (#6029) 2025-01-23 09:47:14 +01:00
Eduardo Quezada
ce40c3356c Merge branch '_RHH/master' into _RHH/upcoming 2025-01-12 08:42:57 -03:00
Eduardo Quezada
15a034a1d9
Fixed multiple transform/form change graphical issues (#6005) 2025-01-12 09:49:19 +01:00
Eduardo Quezada
a50c78bb1e Merge branch '_RHH/master' into _RHH/upcoming 2025-01-01 18:34:42 -03:00
Eduardo Quezada
9669a0554d
Encapsulate move data (#5852) 2025-01-01 20:34:33 +01:00
Eduardo Quezada
6b8665d08f
Speed up tests in headless mode (#5889) 2025-01-01 10:24:23 +01:00
Alex
445ba32679
Fixes gen3 Style Shadows out of place (#5880) 2024-12-29 08:54:33 -03:00
Eduardo Quezada
82252251e7 Merge branch '_pret/master' into _RHH/pr/master/pretMerge20241220 2024-12-20 16:04:33 -03:00
Eduardo Quezada
5483e05db6 Fixed brace style inconsistencies 2024-12-05 12:46:50 -03:00
Rachel
13a26c462e
Display the correct shadow size when sending out a new Pokemon (#5618) 2024-10-30 14:09:54 -03:00
Eduardo Quezada
5d4ab8cc7e Merge branch '_RHH/master' into _RHH/upcoming 2024-10-27 08:02:45 -03:00
hedara90
5dcf3e7664
Fixed Shiny Pokemon not being shiny after transforming with a gimmick (#5573)
Co-authored-by: Hedara <hedara90@gmail.com>
2024-10-25 07:42:06 -05:00
Eduardo Quezada
358c0d0699
Added back GBA sprites via config (#5206)
* Add back older sprites

* Graphics config

* Added GBA most graphical data to gSpeciesInfo

* Footprints are now affected by P_GBA_SPECIES_GFX + removed duplicated files

* GBA mon icons

* Split GBA footprints into separate config

* Separated GBA icons into their own config

* Fixed GBA icons depending on P_GBA_SPECIES_GFX instead of P_GBA_ICONS

* Moved GBA sprites to regular folder with prefix

* Renamed configs

* Temporarely disabled shadows when GBA sprites are enabled

* Removed remaining files from pokemon_old folder
2024-10-18 13:37:00 +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
cawtds
6e3ce9db2f
Move battle anim arrays to C (#5306)
* move battle anim arrays to c

* use ARRAY_COUNT instead

* remove B_ANIM_STATUS_WRAPPED

* move anim rename

* rename battle anims status/general/special
2024-09-04 11:21:40 +02:00
hedara90
e4c81ba6e0
Removed all instances of gBitTable[x] (#5123)
* Replaced all the gBitTable[X] usages with 1 << X, and cleaned up script output

* Fixed failed merge in online viewer

---------

Co-authored-by: Hedara <hedara90@gmail.com>
2024-08-17 10:28:09 -05: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
pkmnsnfrn
5635f94036 More changes from typeX to types[X] 2024-08-07 11:35:45 -07:00
Bassoonian
cb4e687917 Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergeforpsf 2024-08-07 19:05:46 +02:00
psf
312749dd31
Changed type1 and type2 to be consistent (#2021)
* Changed type1 and type2 in gBattleMons to match gSpeciesInfo
* Changed monType1 and monType2 to monTypes to match gSpeciesInfo
2024-08-07 06:44:03 +01:00
iriv24
0e21e0debf
replace gTransformedPersonalities[battlerAtk] in HandleLoadSpecialPokePic with personalityValue in HandleSpeciesGfxDataChange (#4975) 2024-07-15 19:41:23 +02:00
AgustinGDLV
9797640dff
Gimmick Refactor (#4449)
* consolidated gimmick checks, triggers, communication, and activation; updated test runner

* fixed improper use of .usableGimmick

* cleaning up battle_dynamax.c, changing function args to u32s

* fixed '#ifdef TESTING' causing errors

* updated z-moves to use gimmick interface, pared down redundancies; no AI/tests

* added support for z-moves in tests, consolidated gimmick fields

* removed ShouldUseMaxMove and .usingMaxMove

* renamed TryChangeZIndicator, updated z move display

* added several z-move tests and fixed various z-move interactions; fixed z-move category calc

* fixed useless battler arg in GetTypeBasedZMove

* added basic test check for bad Z-Move or Mega usage

* reworked test runner gimmick functionality; added support for Ultra Burst + Z-Move to test Light That Burns the Sky

* fixed gimmick test logic; fixed damage category override

* fixed mega rayquaza test fail

* consolidated gimmick indicator logic; added graphics to gGimmicksInfo

* removed TeraData struct

* reimplemented AI logic for Z-Moves; no changes

* updated Z-Move and Ultra Burst trigger gfx

* added testrunner check for multiple gimmick use

* fixed duplicate z-move call in test

* reorganized data/graphics/gimmicks.h

* added signature Z-Move ability tests; implemented Guardian of Alola

* fixed bad test update

* fixed Thousand Arrows not affecting Tera Flying; clean-up

* fixed -ate tests

* fixed tera tests

* fixed tera tests really

* fixed last batch of tests

* fixed -ate mega test again

* code review

* code review pt.2

* tweaked CanTera again

* dynamax flag only required for player
2024-06-22 22:25:40 +02:00
Eduardo Quezada
06153e4280 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	include/battle.h
#	include/constants/battle_script_commands.h
#	include/constants/pokemon.h
#	src/battle_ai_util.c
#	src/battle_main.c
#	src/battle_util.c
#	test/battle/ai.c
2024-06-13 11:44:28 -04:00
DizzyEggg
8ff1cbed2a
update shiny data for battle mons (#4788) 2024-06-13 13:45:56 +02:00
Bassoonian
52d45674f0
Move Descriptions in battle (#4152)
* Port xaman move desc to modern expansion

* Fix modern compiler error

* Fix compliling + EFFECT_PLACEHOLDER support

* Change to L-button to avoid conflict with Mega Evolution

* Reorder and change priority to category

* add sprite for move category icon, declare category icon sprite data extern

* remove static category icon sprite data from hgss dex for global data

* Change to else if

---------

Co-authored-by: Pawkkie <moog272@gmail.com>
Co-authored-by: RavePossum <ravepossum@proton.me>
2024-05-31 12:10:03 +02:00
Frank DeBlasio
849bd0c8bb
Consolidate natures (#4562)
* Added NatureInfo struct

* Added back animation variants to struct

* Added PokeBlock animations to struct

* Added Battle Palace info to struct

* Added nature girl messages to struct

* Reordered gNaturesInfo to match struct order

* Refactored nature stat table

* Fixed battle dome nature calculation

* Fixed neutral nature values

* Fixed bracket layout
2024-05-19 10:14:31 +02:00
Eduardo Quezada
be37820bd9 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_script_commands.c
2024-05-11 19:53:19 -04:00
sneed
d07d7a0082
Transform GFX uses the correct battler index (#4486) 2024-05-09 10:11:55 +02:00
kittenchilly
64b28124fb
Add Tera Starstorm move + make Tera Blast displayed type reflect current type due to tera state (#4447)
* Add Tera Starstorm move + make Tera Blast/Tera Starstorm displayed type reflect tera type

* Ooops

* Curse tests
2024-04-27 19:35:29 +02:00
ghoulslash
2648618c04
ally switch fix elevation shadow and direction on opposing side (#4451)
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2024-04-26 16:54:23 +02: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
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
DizzyEggg
a36cfb1093
unify monSpritesGfx sprites/ptr and fix various compiler errors on o3/os/og (#4252) 2024-03-06 22:26:33 +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
Alex
9efdd9e0cd
Adds Move Shed Tail (#4016)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-18 00:14:18 +01:00
Eduardo Quezada D'Ottone
4c5e1317d5
Added Calyrex's blue Dynamax aura (#4018)
* Added Calyrex's blue Dynamax aura

* and
2024-01-17 15:43:09 +01:00
Bassoonian
9e051aa058 Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergenewyears 2023-12-30 20:49:05 +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