Commit graph

141 commits

Author SHA1 Message Date
LOuroboros
64b7cfeb29
Upgrading the debug menu's 'Poison Party' (#4235)
* Upgrading the debug menu's 'Poison Party'

* Optimized the 'No Pokémon' check in Debug_EventScript_InflictStatus1

* Killed a pointless function call in Script_SetStatus1

* Added Frostbite support to ¡inflict status1'
2024-03-01 19:55:54 +01:00
Martin Griffin
c21ab741f7
randompercentage, randomelement (#4189)
'randompercentage X' sets VAR_RESULT to TRUE X% of the time, or FALSE
100-X% of the time.

'randomelement X, Y, ...' sets VAR_RESULT to one of X, Y, ... with equal
probability.
2024-02-15 08:07:28 +01: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
DizzyEggg
b83b1f7e88
Merge branch 'upcoming' into feature/dynmulti-expansion 2023-12-30 22:41:59 +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
sbird
c27ea10eb1 Merge branch 'feature/dynmulti' into feature/dynmulti-expansion 2023-12-26 14:22:49 +01:00
sbird
cefb05bdec [dynmulti] left/top read from variables 2023-11-29 13:19:37 +01:00
DizzyEggg
a0c34813f1 small fixes 2023-08-09 09:34:41 +02:00
DizzyEggg
8d5ba6c6d1 allow ai vs ai battles 2023-08-09 09:15:42 +02:00
sbird
12d4b43755 Merge remote-tracking branch 'pret/master' into feature/dynmulti 2023-04-24 18:30:30 +02: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
bd54990333 Review changes 2023-02-15 13:56:11 -03:00
Eduardo Quezada
96865f66af Updated term to modernFatefulEncounter 2023-02-11 22:36:42 -03:00
Eduardo Quezada
6da5e0a280 Rename eventLegal to fatefulEncounter 2023-02-11 17:13:53 -03:00
sbird
a7cd4ca592 [script-command, dynmultichoice] implement event handler 2023-01-17 21:49:06 +01:00
sbird
276ce62d95 [script-command, dynmultichoice] add shouldSort, initialSelected arguments. read pushed arguments front to back 2023-01-17 21:49:06 +01:00
sbird
569fa0a60a [script-command] add dynmultichoice
* supports variable length arguments
 * automatically scrolls
 * supports building list menus from a stack
2023-01-17 21:49:06 +01:00
Eduardo Quezada
e4a439aa46 Merge remote-tracking branch 'pret/master' into RHH/pr/sync/pretmerge_20221030
# Conflicts:
#	src/data/bard_music/moves.h
#	src/data/bard_music/pokemon.h
2022-10-30 12:30:38 -03:00
GriffinR
a418f8d976
Merge pull request #1755 from GriffinRichards/map-dynamic
Rename special map constants, treat warp ids as strings
2022-10-18 22:45:56 -04:00
Eduardo Quezada
1d7e8bd730 Merge remote-tracking branch 'pret/master' into RHH/pr/pretmerge_20220909
# Conflicts:
#	asm/macros/battle_ai_script.inc
#	asm/macros/battle_script.inc
#	data/battle_ai_scripts.s
#	include/link_rfu.h
#	src/pokemon.c
#	src/pokemon_summary_screen.c
#	src/sound.c
2022-09-13 16:22:42 -03:00
Eduardo Quezada
65108c3192 Cleaned trailing whitespace 2022-09-11 14:14:49 -04:00
GriffinR
ce4a6e9067 MAP_NONE -> MAP_DYNAMIC 2022-08-25 21:34:05 -04:00
Eduardo Quezada
afcc1178b2 Merge remote-tracking branch 'pret/master' into MergedBranchUltimate
# Conflicts:
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	include/battle_controllers.h
#	include/battle_script_commands.h
#	include/battle_util.h
#	include/constants/battle_script_commands.h
#	include/constants/global.h
#	include/decompress.h
#	src/battle_anim_effects_1.c
#	src/battle_anim_normal.c
#	src/battle_anim_poison.c
#	src/battle_anim_water.c
#	src/battle_arena.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_safari.c
#	src/battle_controller_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/berry.c
#	src/data/trainers.h
#	src/decompress.c
#	src/field_effect.c
#	src/hall_of_fame.c
#	src/overworld.c
#	src/pokeball.c
#	src/pokemon.c
#	src/pokemon_icon.c
#	src/pokemon_storage_system.c
#	src/scrcmd.c
2022-08-22 20:30:45 -04:00
tustin2121
1cb659df8c Renaming Script Contexts
- Determined how the various script contexts were used and renamed accordingly.
- ScriptContext2_Enable/Disable => Lock/UnlockPlayerFieldControls - The sole purpose of the flag is to make sure the player can't move around in the overworld. It has nothing to do with script contexts.
- ScriptContext1 => ScriptContext - It is the global script context used to set up scripts which run over many frames.
- ScriptContext2_RunNewScript => RunScriptImmediately - ScriptContext2's sole purpose was to run scripts immediately and in a separate context, usually while the global context is waiting for things like map loads or screen changes.
2022-08-15 15:18:12 -04:00
Eduardo Quezada
231727d02b Merge remote-tracking branch 'RHH/pokemon_expansion' into RHH_masterMerge
# Conflicts:
#	asm/macros/event.inc
#	data/specials.inc
#	include/constants/species.h
#	src/data/pokemon/base_stats.h
2022-07-22 23:33:04 -04:00
AgustinGDLV
54163240d8 implemented toggelable cancellation / multi-evo 2022-05-08 20:55:29 -07:00
AgustinGDLV
616e26121f added new line 2022-05-05 12:02:34 -07:00
AgustinGDLV
7d42f93861 added special overworld evo changes 2022-05-05 11:55:31 -07:00
LOuroboros
b6e2945072 Merge branch 'master' of https://github.com/pret/pokeemerald into bePret 2022-04-11 01:22:10 -03:00
GriffinR
bb91b1b0d1 Update generic macro argument names 2022-03-10 16:36:41 -05:00
ultima-soul
86089ce935 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2022-02-28 22:13:14 -08:00
GriffinR
3a6c633905 Add seteventmon 2022-01-11 02:16:25 -05:00
GriffinR
110fbc559c Make item optional for givemon and setwildbattle 2022-01-11 02:08:14 -05:00
GriffinR
ce55e58ad8 Misc cleanup 2022-01-04 10:09:42 -05:00
ultima-soul
23bf41713c Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-12-01 20:17:08 -08:00
ultima-soul
0312c5be8b Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-11-27 21:38:26 -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
c57efdba5d Allow compare + goto_if/call_if as a single statement 2021-11-18 22:06:53 -05:00
GriffinR
591ab7241f Macro comment typo fix, Object->object 2021-11-18 17:24:43 -05:00
GriffinR
c89dfd9f56 Finish updating macro comments 2021-11-18 01:47:58 -05:00
GriffinR
b5b5d95de6 Distinguish 'virtual object' names from object events 2021-11-17 23:40:53 -05:00
GriffinR
c4f8f4d11a Add STR_VAR_# ids to string buffer macros 2021-11-17 22:00:44 -05:00
GriffinR
c940b67716 Continue macro comment updating 2021-11-17 17:45:59 -05:00
GriffinR
eb95ac0b9c Document field_tasks 2021-11-17 14:44:42 -05:00
GriffinR
61aa9c3ba9 More updating event macro comments 2021-11-16 17:46:34 -05:00
GriffinR
5d9c31a610 Label slot machine ids, fix GetPriceReduction 2021-11-16 15:43:52 -05:00
GriffinR
63c5905914 Continue updating event macro comments 2021-11-16 13:10:23 -05:00
GriffinR
04cc923d6c Handle optional arguments for warp commands, add WARP_ID_NONE 2021-11-16 10:53:00 -05:00
GriffinR
f85de6eca5 Start event macro comment updates 2021-11-15 10:54:57 -05:00
GriffinR
54b254a829 Add CRY_MODE constants 2021-11-07 13:33:05 -05:00