37 Commits

Author SHA1 Message Date
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
Eduardo Quezada D'Ottone
b20be66175
Max Soup ban now checks for mythicals instead of array (#4017)
* Removed sGigantaxFactorLockedSpecies to instead check for mythicals

* Applied review comments

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-17 13:08:34 -03: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
Bassoonian
e5ac2fe0b1 Clean up pokemon/ball/dex mentions in comments 2023-12-12 19:02:36 +01:00
Eduardo Quezada
1fc712f153 Merge remote-tracking branch '_pret/master' into RHH/pr/upcoming/pret_20231210
# Conflicts:
#	Makefile
#	data/battle_scripts_1.s
#	gflib/malloc.c
#	gflib/malloc.h
#	include/battle.h
#	ld_script.ld
#	ld_script_modern.ld
#	src/battle_ai_script_commands.c
#	src/battle_main.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/data/pokemon/species_info.h
#	src/pokemon.c
2023-12-10 13:27:09 -03:00
Bassoonian
ab25e6bfa5
Fixes Synchronize's OW effect and adds configs (#3480) 2023-10-28 23:24:20 -03: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 D'Ottone
ada29313de
Fix for wild double battles with an in-game partner (#3210)
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
2023-08-11 17:29:10 -04:00
Alex
f6f0e5fa33
Fix for wrong mon position for scripted wild doubles (#2996) 2023-05-14 19:03:14 -04:00
Eduardo Quezada
4625a46748 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_script_commands.c
#	src/battle_util.c
2023-03-07 11:26:33 -03:00
Eduardo Quezada
9917f5cc8b Merge remote-tracking branch 'pret/master' into RHH/sync/pret_20230303
# Conflicts:
#	Makefile
#	include/constants/pokemon.h
#	include/pokemon.h
#	make_tools.mk
#	src/battle_ai_script_commands.c
#	src/battle_controllers.c
#	src/battle_main.c
#	src/battle_script_commands.c
#	src/party_menu.c
#	src/pokemon.c
#	src/trade.c
#	src/trainer_pokemon_sprites.c
2023-03-03 11:00:50 -03:00
Eduardo Quezada
079ca8ab29 Renamed MON_DATA_SPECIES2 to MON_DATA_SPECIES_OR_EGG for clarification 2023-02-24 07:53:02 -03:00
Eduardo Quezada
b74f0777da Renamed form change constants 2022-10-20 17:22:58 -03:00
LOuroboros
f1c153e469 Merged FORM_ITEM_HOLD_ABILITY into FORM_ITEM_HOLD
There was never a reason not to.
2022-09-06 18:37:16 -03:00
LOuroboros
f82c946ff3 Merge branch 'pokemon_expansion' of https://github.com/rh-hideout/pokeemerald-expansion into rhhmerge 2022-04-03 13:26:27 -03:00
Eduardo Quezada D'Ottone
8b49f8f925
Merge branch 'pokemon_expansion' into PE_FormChangeHoldItems 2021-12-19 12:08:52 -03:00
ultima-soul
b0b8b9bf46 Merge branch 'item_expansion' of github.com:rh-hideout/pokeemerald-expansion into master_sync 2021-12-17 23:51:29 -08:00
ultima-soul
26f29a04fd Revert "Merge branch 'item_expansion' of github.com:rh-hideout/pokeemerald-expansion into item_expansion_sync"
This reverts commit ac2bcece75fa3bf5bc4018ce659e51a635d46b97, reversing
changes made to 349262ebc35abb090e51c689c74ee839713c83c6.
2021-12-10 09:41:54 -08:00
ultima-soul
ac2bcece75 Merge branch 'item_expansion' of github.com:rh-hideout/pokeemerald-expansion into item_expansion_sync 2021-12-09 14:16:05 -08:00
ultima-soul
d408b56549 Merge branch 'master' of github.com:pret/pokeemerald into item_expansion_sync 2021-12-01 20:18:57 -08:00
ultima-soul
23bf41713c Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-12-01 20:17:08 -08:00
LOuroboros
2e67153982 Renamed the Enigma Berries' constants 2021-12-01 22:16:38 -03:00
ultima-soul
a8f9a54787 Merge branch 'master' of github.com:pret/pokeemerald into item_expansion_sync 2021-11-21 10:41:32 -08:00
ultima-soul
3ed51d6d91 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-11-21 10:40:26 -08:00
GriffinR
63c5905914 Continue updating event macro comments 2021-11-16 13:10:23 -05:00
Eduardo Quezada D'Ottone
aec4d78bd4 Fixed edge case with givemon 2021-11-04 21:22:03 -03:00
GriffinR
6e62c057f5 Document remaining symbols in pokemon.c 2021-10-02 23:48:12 -04:00
ultima-soul
53e900a643 Rearranged rest of item ids except for Key Items. 2021-07-02 22:43:50 -07:00
ultima-soul
56fc420187 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-04-28 21:34:30 -07:00
GriffinR
aad090e154 Document TV 2021-04-26 12:35:35 -04:00
ultima-soul
2a20d50904 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-02-01 15:54:08 -08:00
SphericalIce
3c2a33b9b2 Use constants for max IVs & the random IV generation flag 2021-01-07 22:13:14 +00:00
Aaron B-D
b83a87c8e8 Added scripted double wild battles 2020-10-19 14:47:32 -04:00
GriffinR
5259898325 Replace POKEMON_SLOTS_NUMBER 2020-10-01 17:07:12 -05:00
GriffinR
65bd2faf94 Merge branch 'master' of https://github.com/pret/pokeemerald into doc-contest 2020-08-16 05:59:10 -04:00
GriffinR
3779422489 Split contest funcs from script_pokemon_util 2020-08-13 17:42:12 -04:00