Commit graph

204 commits

Author SHA1 Message Date
Eduardo Quezada
ead108d28e Merge branch '_RHH/upcoming' into _RHH/pr/upcoming/merrpFollowers
# Conflicts:
#	src/data/graphics/pokemon.h
2024-02-19 13:49:10 -03: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
Eduardo Quezada
502a56efd1 Merge branch '_RHH/upcoming' into _RHH/pr/upcoming/merrpFollowers
# Conflicts:
#	include/global.h
#	src/data.c
#	src/data/pokemon/species_info/gen_7.h
2024-02-13 20:35:05 -03: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
Eduardo Quezada
ddc752eb14 Merge branch '_RHH/upcoming' into _RHH/pr/upcoming/merrpFollowers
# Conflicts:
#	asm/macros/event.inc
#	data/field_effect_scripts.s
#	data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
#	data/script_cmd_table.inc
#	graphics/pokemon/castform/sunny/anim_front.png
#	graphics/pokemon/castform/sunny/normal.pal
#	include/battle_util.h
#	include/constants/event_object_movement.h
#	include/constants/field_effects.h
#	src/battle_controller_player.c
#	src/battle_util.c
#	src/data/object_events/movement_action_func_tables.h
#	src/data/object_events/object_event_pic_tables.h
#	src/data/trainer_graphics/back_pic_anims.h
#	src/daycare.c
#	src/event_object_movement.c
#	src/field_effect_helpers.c
#	src/load_save.c
#	src/scrcmd.c
#	src/trainer_see.c
2024-01-17 18:11:35 -03: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
Eduardo Quezada
341ce6fd95 Merge remote-tracking branch 'merrp_origin/followers-expanded-id' into merrp/followers_RHH_merge3
# Conflicts:
#	.github/workflows/build.yml
#	README.md
#	gflib/sprite.c
#	graphics/pokemon/banette/anim_front.png
#	graphics/pokemon/banette/normal.pal
#	graphics/pokemon/sentret/normal.pal
#	graphics/pokemon/togetic/anim_front.png
#	graphics/pokemon/togetic/normal.pal
#	include/battle_script_commands.h
#	include/data.h
#	ld_script.txt
#	src/battle_controller_player.c
#	src/bike.c
#	src/event_object_movement.c
2023-06-16 21:25:16 -04:00
Ariel A
d12efe8cd7 Merge branch 'master' into followers 2023-05-15 18:37:38 -04: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
Ariel A
e6d1cfae24 Merge branch 'master' into followers 2022-11-21 21:21:50 -05: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
Ariel A
1c011a9c1c Merge branch 'master' into followers 2022-10-07 20:52:15 -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
Ariel A
9beee311c4 Merge branch 'master' into romhack 2022-07-17 15:13:15 -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
Ariel A
bdcbb5c700 Merge branch 'master' into romhack 2021-12-18 17:14:52 -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
GriffinR
13cd2a41f0 Better braille support 2021-10-30 16:19:10 -04:00
Ariel Antonitis
8a3b04e837 Merge branch 'master' into romhack 2021-09-02 01:03:13 -04:00
LOuroboros
554210c5e3 Removed trailing spaces in the most relevant files
Command used for the job:
egrep -rl ' $' --include *.c --include *.h --include  *.s --include  *.inc --include  *.txt *  | xargs sed -i 's/\s\+$//g'

Credits to Grant Murphy from Stack Overflow.
2021-08-24 19:59:32 -03:00
ultima-soul
02c9e040df Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-08-11 16:33:10 -07:00
GriffinR
b4f66496ed
Merge pull request #1471 from GriffinRichards/fix-lock
Fix some object lock names
2021-07-03 11:21:10 -04:00
ultima-soul
092f02f119 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-06-07 12:00:23 -07:00
Ariel Antonitis
e4b9bb75e2 Merge branch 'master' into romhack 2021-06-04 23:36:21 -04:00
ExpoSeed
6a977bdbfc Document second parameter of playbgm 2021-05-21 15:08:00 -05:00
Ariel Antonitis
3201422bbb Merge branch 'master' into romhack 2021-05-04 22:14:50 -04:00
GriffinR
4206359862 Fix some object lock names 2021-05-04 01:21:50 -04: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
dbe24f0baa Clean up contest_painting 2021-04-21 20:04:12 -04:00
Ariel Antonitis
221569a710 Merge branch 'master' into romhack 2021-04-18 22:17:53 -04:00
ultima-soul
939608f5b8 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-04-02 13:16:40 -07:00
GriffinR
f602a9dcbf Use bool for multichoice ignoreBPress 2021-03-31 00:35:56 -04:00
ultima-soul
5bab9474dc Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-03-22 23:08:19 -07:00
Ariel Antonitis
8a3dfbf252 Added pokemon followers & script commands. 2021-03-03 01:04:22 -05:00
Deokishisu
7b2bf8c7e2 Rename obedient/fatefulEncounter to eventLegal
Per discussion on pret, `obedient`/`fatefulEncounter` has been renamed to `eventLegal`, and all related functions and constants have been modified with this in mind.

Additionally, fixed some whitespace alignment issues in `script_cmd_table.h`, `pokemon.h`, and `tv.c` from the last commit.
2021-02-15 14:54:35 -05:00
Deokishisu
b89c3e901e Fix giftRibbons Field in SaveBlock1 & Relabel Gift Ribbons in pokemon.h
The giftRibbons field has been split out into proper subfields. The new ExternalEvent structs deal with interconnectivity between external games/peripherals and Emerald, such as PokéCoupon storage and the flag for receiving Wishmaker Jirachi.

The giftRibbon fields in `PokemonSubstruct3` have also been renamed to their appropriate ribbons, and commented with distribution info if applicable. The previous `fatefulEncounter` field was actually filler, and relabeled as such, while the obedient bit was renamed `fatefulEncounter`. All relevant constants and functions dealing with the Pokémon data structure were renamed with these changes in mind.
2021-02-15 11:40:16 -05:00
GriffinR
9e59581220 Document object lock and some trainer approach 2021-01-26 04:42:18 -05:00
GriffinR
0064333e4a Clean up scrcmd.c 2021-01-26 02:16:26 -05:00
Evan
21cab1b7a7 better negative totem boost system, totems occur before switch in abilities 2020-12-05 21:00:51 -07:00
Evan
99d9a36860 add totem boosts 2020-11-19 10:35:37 -07:00
Aaron B-D
151aca8365 Changed how scripted wild encounters work to include double battles
Removed the old commands for scripted wild double encounters
2020-11-17 03:13:00 -05:00
Aaron B-D
b83a87c8e8 Added scripted double wild battles 2020-10-19 14:47:32 -04:00
ExpoSeed
3860551777 Mark unused script commands 2020-09-25 13:41:17 -05:00
Ryuhouji
8e2128f22c
Fix indentation 2020-07-09 15:36:22 -04:00
Ryuhouji
d261374044
Made documentation more readable
This change will make the script command documentation more user-friendly to read.
Additionally, provided the information on the 'delay' macro. I have confirmed that this
is indeed Frames and not Milliseconds. Updated the macro respectively.
2020-07-09 15:16:37 -04:00
GriffinR
e92cc7752b Merge branch 'master' of https://github.com/pret/pokeemerald into fix-eventobj 2020-01-13 20:41:57 -05:00
GriffinR
c19289596d Give/Take to Add/Remove for silent script macros 2020-01-12 23:24:52 -05:00
GriffinR
e497fc64e3 if_undefeated macro to if_not_defeated 2020-01-12 20:20:02 -05:00
GriffinR
f2e7b1507e Port some macro/script fixes from pokefirered 2020-01-11 14:12:31 -05:00
GriffinR
68cdd7b1cb Merge master into ObjEvent rename 2019-12-21 05:19:27 -05:00
Diegoisawesome
026e1108b2
Merge pull request #935 from GriffinRichards/doc-warp
Document some warp/field screen effect
2019-12-20 23:44:56 -08:00
Diegoisawesome
d42ea06dc5
Merge pull request #939 from GriffinRichards/fix-compare
Use constants in compare macro
2019-12-20 23:40:12 -08:00
GriffinR
324a81ed5d Reword yesnobox comment 2019-12-20 18:53:58 -05:00
GriffinR
7628019952 Remove references to LASTRESULT 2019-12-20 08:51:58 -05:00
GriffinR
9e08cfe55f Remove uses of compare_var_to 2019-12-18 19:22:39 -05:00
GriffinR
d137a1a0c1 Use constants in compare macro 2019-12-18 19:12:09 -05:00
GriffinR
949509aade
Merge branch 'master' into fix-eventobj 2019-12-18 13:16:38 -05:00
GriffinR
d1cf9006fb Document some warp/field screen effect 2019-12-17 05:23:07 -05:00
GriffinR
96ec5e1b84 Use fadescreen constants 2019-12-15 11:42:50 -05:00