230 Commits

Author SHA1 Message Date
Bassoonian
c5c7bb13c9
Converts a bunch of defines to enums (#7041) 2025-06-02 15:54:37 +02:00
Hedara
9d80ad530d Merge branch 'master' into master-to-upcoming
Conflicts:
	Makefile
	data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
	data/maps/MtChimney/scripts.inc
	data/maps/MtPyre_Summit/scripts.inc
	data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
	include/constants/event_objects.h
	include/constants/expansion.h
	src/battle_script_commands.c
	src/battle_util.c
	src/field_screen_effect.c
2025-05-28 14:26:15 +02:00
Hedara
c27930eabf Merge commit '678fdf9' into pret-merge
Conflicts:
	data/maps/BirthIsland_Exterior/scripts.inc
	data/maps/DesertUnderpass/scripts.inc
	data/maps/Route117/scripts.inc
	data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
	data/maps/SootopolisCity/scripts.inc
	include/constants/event_objects.h
	src/battle_setup.c
	src/event_object_movement.c
	src/field_control_avatar.c
	src/item_use.c
	src/scrcmd.c
	tools/mapjson/mapjson.cpp
2025-05-27 19:22:40 +02:00
Hedara
9bfef357a2 Merge commit 'e4e90ea' into pret-merge
Conflicts:
	src/battle_setup.c
	src/field_specials.c
	src/menu_helpers.c
	src/pokedex_area_screen.c
	src/roamer.c
	src/script.c
2025-05-27 18:53:30 +02:00
Eduardo Quezada
17e570407e
Remove trailing whitespace (#6968) 2025-05-23 22:33:12 +02:00
Eduardo Quezada
406fd7ce81
Expand trainerproc to support additional battle types (#6770)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2025-05-17 15:08:44 +02:00
Bassoonian
54806c8838
Add no-whiteout feature (#6795) 2025-05-17 11:20:35 +02:00
Hedara
0eeba00d1b Merge branch 'master' into master-upcoming-2025-04-30
Conflicts:
	include/battle.h
	include/constants/expansion.h
	include/graphics.h
	src/battle_bg.c
	src/battle_util.c
	src/data/graphics/battle_terrain.h
	src/data/graphics/pokemon.h
	src/pokeblock_feed.c
	src/pokemon_sprite_visualizer.c
2025-04-30 15:22:37 +02:00
Hedara
4873589c65 Merge remote-tracking branch 'pret/master' into new-pret-merge
Conflicts:
	asm/macros/battle_script.inc
	data/battle_anim_scripts.s
	include/battle.h
	include/battle_controllers.h
	include/battle_setup.h
	include/constants/battle.h
	src/battle_anim_normal.c
	src/battle_anim_utility_funcs.c
	src/battle_bg.c
	src/battle_controllers.c
	src/battle_main.c
	src/battle_script_commands.c
2025-04-29 20:27:33 +02:00
Bivurnum
47723c34e5
Follower NPCs (follow-me) (#6500)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2025-04-27 14:56:18 +02:00
GriffinR
709cfa1c9a
Merge pull request #2014 from Bassoonian/battleterrain
Rename battle terrain to environment
2025-04-13 19:32:06 -04:00
psf
17d851e1f9
Add B_RUN_TRAINER_BATTLE - players can run from Trainer Battles (#6456)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2025-04-10 14:59:58 +02:00
kittenchilly
058bf58b7b
Match current gen behavior for battle environment after fishing (#6099) 2025-01-26 22:39:14 +01:00
Salem
01e8d8233e
Trainer Battle Parameter Consolidation (#5982) 2025-01-25 22:02:39 +01:00
Bassoonian
a1c47a931f
Revert "Converts a bunch of defines to enums" (#6082) 2025-01-22 21:50:39 +01:00
Eduardo Quezada
af884b1be4
Cleaned up Debug Menu (#6070) 2025-01-22 15:27:08 +01:00
Bassoonian
a3ce3a569d
Converts a bunch of defines to enums (#6071) 2025-01-21 21:19:41 +01:00
Mercy
21d2e40f0a
Fix Match Call Behavior (#5931) (#6033) 2025-01-16 21:23:12 -08:00
GriffinR
9f31b0fe90 Generate local IDs from map.json files 2024-10-12 03:04:24 -04:00
GriffinR
e4e90eacd6
Merge pull request #2023 from Bassoonian/updatemapmacros
Fix defines in MAP_NUM and MAP_GROUP
2024-09-19 12:17:16 -04:00
Eduardo Quezada
831b394ca1 Merge branch '_pret/master' into _RHH/pr/master/pretSync20240909
# Conflicts:
#	Makefile
#	include/battle.h
#	include/battle_main.h
#	include/battle_util.h
#	include/data.h
#	make_tools.mk
#	map_data_rules.mk
#	src/battle_setup.c
#	src/fieldmap.c
2024-09-11 15:26:14 -03:00
Martin Griffin
56d3faa32f
Merge pull request #2025 from Bassoonian/cleandefinespaces
Clean up defines lacking spaces
2024-08-21 19:04:12 +01:00
GriffinR
3f49c5cbaf Fix trainer match call flags 2024-08-15 23:00:20 +02:00
Bassoonian
c1ee43254e Clean up defines lacking spaces 2024-08-15 19:34:56 +02:00
Eduardo Quezada
18980b20a3
Remove trailing whitespace (master) (#5174) 2024-08-14 19:48:20 -07:00
Bassoonian
5fefd743a2 Fix defines in MAP_NUM and MAP_GROUP 2024-08-14 13:02:40 +02:00
Bassoonian
367f6dc8fd Address concerns 2024-07-13 18:01:54 +02:00
Bassoonian
003bd54600 Rename battle terrain to environment 2024-07-13 12:02:18 +02:00
Eduardo Quezada
fcdc9ed65a Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_util.c
#	src/data/pokemon/species_info/gen_7_families.h
#	test/battle/ability/download.c
#	test/battle/ability/intimidate.c
#	test/battle/ability/supreme_overlord.c
#	test/battle/ability/zero_to_hero.c
#	test/battle/ai/ai.c
#	test/battle/move_effect/plasma_fists.c
2024-07-05 14:25:25 -04:00
Frank DeBlasio
6957fc70c9
Allowed rematches to occur if I_VS_SEEKER_CHARGING isn't enabled (#4866) 2024-06-29 22:12:26 +02:00
Alex
78f1da4131
Adds 1 vs 2 macro (#4741) 2024-06-08 09:49:28 +02: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
ghoulslash
4bfe6d3c6d
Merge branch 'upcoming' into ghoulsaveblock 2024-02-08 08:37:57 -05:00
LOuroboros
916e4814bd
Implemented Custom/Complex/Expanded GiveMon scripting command (#3924)
* Introducing an expanded givemon

* Added debug features to check a Pokémon's EV and IV

* Added a parameter to set a custom mon's gender

* Added a debug feature to clear the party

* Defined the EV/IV getters in gSpecials

* Added Gigantamax Factor toggle to givecustommon

* Updated Gigantamax Factor label in givecustommon macro

* Added tera type parameter to givecustommon

Misc. changes:
-Added a few harmless comments to CreateCustomMon for consistency reasons.

* Cleaned up the code inside CreateCustomMon a bit

Also updated the values assigned to the parameters of ScriptGiveCustomMon
This is temporary though. I'll probably end up turning them into 2byte parameters so they can be filled when the scripting command is called by using variables once I solve the bigger problem that the scripting command is currently facing.

* Foolproofed the Poké Ball check in CreateCustomMon

* Assigned a default gender to givecustommon
This solved the nasty issue by which the command wasn't working properly if you didn't fill in each parameter when calling givecustommon in a script.

* Reinforced the gender checks at CreateCustomMon

* Re-reinforced the gender checks at CreateCustomMon

* Compressed givecustommon and added tests

-Made givecustommon skip unspecified parameters.
-Added scripting variables support for every parameter.
-Added tests.

* Updated the default values of some ScriptGiveCustomMon parameters

* Replaced vanilla's givemon with givecustommon

Misc. Changes:
-Renamed CreateCustomMon to ScriptGiveMonParameterized.
 -The truth is that the function was never limited to creating the skeleton of a Pokémon like the actual CreateMon functions do, so that label was never correct. The function was always an expanded ScriptGiveMon.
-Moved the core functions to src/script_pokemon_util.c which is where they actually belong.
-Updated ScriptGiveMonParameterized a little to incorporateb changes that were applied to the original ScriptGiveMon, namely, Synchronize ability and form change handling.
-Introduced a new ScriptGiveMon to replace the original one.

* Corrected givecustommon tests

* Fixed the default IV values for the new givemon

* Updated DebugAction_Party_ClearParty for consistency with the other debug functions

* Updated the text strings used by the Check EV/IV debug features

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-08 09:11:13 +01:00
Bassoonian
24ed9e77ff Fix FREE_MATCH_CALL 2024-02-02 14:13:16 +01:00
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
Bassoonian
d1bb078919 Merge branch 'saveblock' of https://github.com/ghoulslash/pokeemerald into ghoulsaveblock 2024-02-02 11:27:48 +01:00
Frank DeBlasio
0bdac90cfe
Refactor mugshots (#4000)
* Refactor battle mugshots
The battle mugshot transitions have been merged into the one transition id and are now loaded depending on the trainer data.

Two new fields have been added to struct Trainer; mugshotEnabled and mugshotColor. mugshotEnabled is the toggle for loading the mugshot transition when set to TRUE and mugshotColor is the color of the mugshot for that particular trainer.

The Elite Four and Champion have been updated so their mugshots are correctly loaded when you battle them.

A bug has also been fixed where if the player starts on a tile that has an active field effect, the player's sprite will use the palette of the opponent's sprite.

* Added a new folder in src/data named battle_transitions.

The two look ups for the opponent rotation scaling and coords have been put into their own files and added into this new folder.

The coords look up has also been changed to use the  struct.

* Fixed errors with modern that were preventing compile

* Added mugshot coords to gTrainerSprites

* Added rotation scales to gTrainerSprites

* Replaced tabs with spaces

* Incorporated comments

* Added battle_transition include back to data.c

* Fixed alignment issues in Mugshots_CreateTrainerPics

---------

Co-authored-by: pkmnsnfrn <pkmnsnfrn@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-16 00:45:13 +01:00
Bassoonian
9e051aa058 Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergenewyears 2023-12-30 20:49:05 +01:00
Bassoonian
e5ac2fe0b1 Clean up pokemon/ball/dex mentions in comments 2023-12-12 19:02:36 +01:00
Bassoonian
b72581985c
Add bad poison downgrade config (#3605)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-11-27 12:42:53 +01:00
psf
fe16a2cdee
Port pokefirered's Vs. Seeker to pokeemerald (#3256)
* First version of Vs. Seeker

* Update movement.inc

98f7e9978d (r1306721924)

* Update field_effect_scripts.s

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306722004

* Update field_effect_scripts.s

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306722024

* Update item_use.h

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306722401

* Update movement_action_func_tables.h

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306722828

* Update event_object_movement.c

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306722887

* Update overworld.c

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306723396

* Update vs_seeker.h

https://github.com/rh-hideout/pokeemerald-expansion/pull/3256/files#r1306724158

* Update vs_seeker.c

Addressed some cleanup comments from SBird

* Update UpdateRandomTrainerRematches
Fixed typo in ClearAllTrainerRematchStates
Fixed types in GetRematchableTrainerLocalId

* Updated UseVsSeekerEffect_2

* Updated UseVsSeekerEffect_3

* Updated UseVsSeekerEffect_4

* Fixed bug that allowed Vs Seeker to be used indoors in correct places
Moved VsSeeker function declarations into header

* Refactored FieldUseFunc_VsSeeker

* Added curly braces to else case in FieldUseFunc_VsSeeker

* renamed data[x] in Task_ResetObjectsRematchWantedState

* Refactored Task_ResetObjectsRematchWantedState

* Refactored VsSeekerResetObjectMovementAfterChargeComplete

* Refactored ResetMovementOfRematchableTrainers

* Refactored GatherNearbyTrainerInfo

* Refactored Task_VsSeeker_3

* CanUseVsSeeker

* Refactored GetVsSeekerResponseInArea

* GetCurVsSeekerResponse refactored

* Cleaned up GetTrainerFlagFromScript

* Gave sensible names to Task_VsSeeker

* Fixed two bugs where player would not have the right gfx state after using VsSeeker on a Bike or Underwater

* Renamed UseVsSeeker Functions

* Added I_VS_SEEKER_CHARGING to make Vs. Seeker broken until flag is assigned
Removed extra VsSeeker animation code

* Addressed PR feedback

* Fixed issue with building non-modern

* Refactored GetRunningBehaviorFromGraphicsId and renamed to GetResponseMovementTypeFromTrainerGraphicsId

* Addresses Lunos's PR feedback: https://github.com/rh-hideout/pokeemerald-expansion/pull/3256\#pullrequestreview-1623547850
Removed the check to see if a map was not indoors to improve readability
Made IsValidLocationForVsSeeker into a static function

* Added changes in response to Jasper's feedback
https://github.com/rh-hideout/pokeemerald-expansion/pull/3256\#pullrequestreview-1725276522

* Updated with Edu's discord feedback https://discord.com/channels/419213663107416084/1135040810082123907/1176872015085453392

* Removed ifdef tags around the repo unless needed
b5dc744ced
2023-11-26 18:58:43 +01:00
psf
493478e94b
Added support for XY's Sky Battles (#2950)
* Original implementation from Phlayne

* Moved Sky Battle Flag / Var into a config

* Optimized existing code and fixed existing bugs

Added error message for when sky battle var and flag are not set
Merged CanDoSkyBattle and PrepareSkyBattle into one special

* Added compatibility for Gen7+

* Commented out Volt Crash from banned moves

* Cleaned up debug scripts from testing

* Fixed bug where player did not white out even if they had no healthy Pokémon and only an egg
Zeroed out both Sky Battle configs

* Removed extra include from src/field_specials.c
Removed extra line break in src/battle_script_commands.c

* Added FLAG_DISABLED_IN_SKY_BATTLE
Added FLAG_DISABLED_IN_SKY_BATTLE to appropriate moves

* Changed DoesSkyBattleCancelCurrentMove to look at move flags

* Fixed alignment and spacing in battle_moves.h

* Added FLAG_DISABLED_IN_SKY_BATTLE to Sticky Web

* Added FLAG_DISABLED_IN_SKY_BATTLE to Steel Roller

* Disabled the ability to change Battle Terrain when Sky Battle is happening
Stopped Ceaseless Edge from spawning Spikes when Sky Battle is happening
Added B_SKY_BATTLE_STRICT_MECHANICS config

* Fixed bug with SKY_BATTLE_STRICT_MECHANICS where conditions were not consistently being applied

* Add rulesVariants to the BattleStruct
Added skyBattle check in AllocateBattleResources

* Replaced B_FLAG_SKY_BATTLE checks with rulesVariants.skyBattle checks

* Fixed debug script

* Reverted include/config/battle.h

* Fixed spacing and placement of functions

* Fixed debug script omission
Fixed bug where Spikes did not set from Ceaseless Edge and Stone Axe

* Added FLAG_DISABLED_IN_SKY_BATTLE to Psychic Terrain

* Addressed DizzyEgg PR feedback

* Forgot a file in last commit

* Addressed feedback from DizzyEggg

* Address Lunos' PR feedback

* Update specials.inc

Added an empty line at the end of data/specials.inc

* Fixed spacing

* Apply suggestions from code review

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

* Updated skyBattleBanned and HandleBattleVariantEndParty to use correct names

* Removed STRICT_MOVES and STRICT_MECHANICS

* Fixed minor spacing issues with merge

* Merged in upcoming

* Implemented feedback from Jasper
5da6117d1b

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-11-26 16:59:44 +01:00
Eduardo Quezada D'Ottone
26971fc3ac
Add species defines for base forms with names (#3248)
* Fixed Aegislash test not being properly made.
* Added conditions to BattleSetup_StartLegendaryBattle switch
2023-10-23 12:59:15 +01:00
Eduardo Quezada
92301398bc Merge branch 'RHH/upcoming' into RHH/pr/upcoming/dynamax
# Conflicts:
#	asm/macros/battle_script.inc
#	data/battle_anim_scripts.s
#	data/battle_scripts_1.s
#	include/battle.h
#	include/battle_controllers.h
#	include/battle_interface.h
#	include/config/battle.h
#	include/constants/battle.h
#	include/constants/battle_anim.h
#	include/constants/battle_move_effects.h
#	include/constants/battle_string_ids.h
#	include/data.h
#	include/random.h
#	sound/cry_tables.inc
#	src/battle_anim_new.c
#	src/battle_controller_opponent.c
#	src/battle_controller_player.c
#	src/battle_controller_player_partner.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/data/pokemon/form_change_table_pointers.h
#	src/data/pokemon/species_info.h
#	src/data/text/move_names.h
#	test/test_runner_battle.c
2023-10-09 16:51:41 -03:00
Eduardo Quezada
a6940c9e03 Merge branch 'pret_master' into RHH/pr/upcoming/pret_Merge20231002
# Conflicts:
#	src/battle_ai_script_commands.c
#	src/battle_controller_player.c
#	src/battle_controller_recorded_opponent.c
#	src/battle_controller_safari.c
#	src/battle_controller_wally.c
#	src/battle_controllers.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/mystery_gift_menu.c
#	src/pokemon.c
2023-10-02 17:17:41 -03:00
Eduardo Quezada
af210da972 Solved a bunch of -Wall errors on modern 2023-09-20 19:01:08 -03:00
Eduardo Quezada
0d5b00aaf2 Merge remote-tracking branch 'pret/master' into RHH/pr/upcoming/pret_20230829
# Conflicts:
#	README.md
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	data/maps/BattleFrontier_Lounge7/scripts.inc
#	include/battle_anim.h
#	include/battle_message.h
#	include/constants/items.h
#	src/battle_ai_script_commands.c
#	src/battle_ai_switch_items.c
#	src/battle_anim_throw.c
#	src/battle_anim_utility_funcs.c
#	src/battle_controller_link_opponent.c
#	src/battle_controller_link_partner.c
#	src/battle_controller_opponent.c
#	src/battle_controller_player.c
#	src/battle_controller_player_partner.c
#	src/battle_controller_recorded_opponent.c
#	src/battle_controller_recorded_player.c
#	src/battle_controller_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/data/party_menu.h
#	src/data/pokemon/tmhm_learnsets.h
#	src/daycare.c
#	src/field_specials.c
#	src/hall_of_fame.c
#	src/party_menu.c
#	src/pokemon.c
#	src/tv.c
2023-08-31 14:28:01 -04:00
Eduardo Quezada
f026b51b48 Merge branch 'RHH/upcoming' into RHH/pr/upcoming/cleanup/customTrainer
# Conflicts:
#	src/battle_main.c
#	src/battle_tower.c
#	src/match_call.c
2023-08-11 11:41:44 -04:00