* Adds Tidy Up + minor Dragon Cheer follow up
* improve tidy up script
* Add IncreaseTidyUpScore function
* remove useless calls
* 2 small tests and a correction for IncreasyTidyUpScore
* Sets neutral nature and ability 0 as default in trainer control
* add config to generate a random ability
* minor correction
* move config to battle.h
* fixed compiling
* Updated the way in which ScrCmd_givemon and ScriptGiveMon assign a default ability
When an abilityNum is not assigned in a call to givemon performed inside of an overworld script, ScriptGiveMonParameterized will make sure to generate an abilityNum of 0 or 1 in the same way vanilla does it; by defaulting to 0, and then tweaking it based on the least relevant bit of the Pokémon's personality.
ScriptGiveMon will set the default ability of a Pokémon in the same way now too, because even though it was rewritten in #3924, it should ideally produce a Pokémon in a similar way than vanilla does it.
* Removed pointless abilityNum setup in ScriptGiveMonParameterized
* Allow developers to choose metric or imperial, and their decimal seperator of choice for Pokédex entries
- Creates which cleans up the existing implementing of printing height and weight to the pokedex
- Developers can choose to use metric or imperial units of measurement in the Pokédex
- - Developers can choose to use any character as a decimal seperator in the Pokédex
- Allows users to define units and decimal seperators independently
- Fixes a bug in Lotad / Seedot house
* Fixed compilation issue with agbcc
* Updated to include HGSS Dex and address PR Feedback
* SaveBlock3 in sector footers
* Update load_save.c
Since mgriffin is currently not available I took the liberty to edit the file. Hope it's fine.
* SaveBlock3 in debug menu (#3)
---------
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com>
* Last Respects effect + Fixed Supreme Overlord
* Fixed ability pop-up happening when there's no fainted party members
* Fixed Supreme Overlord counting faints during the battle instead of fainted party
* Removed invalid test.
* Converted GetSupremeOverlordModifier to an inline function
* Created inline functions to obtain faint counters
* Fixed erroneous implemenation and tests
* Teachable learnset helper mechanics
* Rename folder and python script
* Some teachable learnset work
* Update PoryMoves file labels
* Add header and make custom json
* Include found moves in output file
* Update SV file to latest version
* Don't run if there are no jsons to be found
* Add Basculin duplication in json
* Add universal move support to
* Ignore and skip Mew
* Integrate tool in Makefile
* Condense Basculin learnsets
* Split Oinkologne for easier generation
* Add Deoxys' XD move tutor data
* Add missing Darumaka/Yamask Galarian SwSh TMs
* Add TID species to sv.json
* Update sv.json to The Indigo Disk data
* Add Python install instructions
* Fix Makefile
* Expand header with more information
* Add config to allow disabling the learnset helper
* Update include/config/pokemon.h
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Don't crash if the config is missing
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Lvl up learnsets by generation
I think the title sums it up pretty nicely
* Update level_up_learnsets.h
forgot some newer pokemon
* divided the learnset file into generations
* Separated learnsets by generation
Separated the learnsets by generation, added a bit more documentation in the config file
* Update src/pokemon.c
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* Update include/config/pokemon.h
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
---------
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
* 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>
* settwoturnstring command
* Unified two-turn attacks and Meteor Beam
To do: Solar Beam
* Solar Beam
Also fixed various function, removed EFFECT_GUST (who knows why that exists?)
* Updated Solar Beam + tests
* Redid two turn move + animations logic
Removed pointless various function; to do: remove Skull Bash, fix AI test
* Removed now-pointless flag
* Removed Skull Bash
And temporarily commented out failing AI tests
* Removed Sky Uppercut effect
Not sure when or why this was ever necessary
* Removed BattleScript_EffectSemiInvulnerable
Now uses BattleScript_EffectTwoTurnsAttack. Kept the effect; used the argument field to determine which STATUS3 such moves should apply but added a function to jump over weather checks in BattleScript_EffectTwoTurnsAttack if the current move is semi-invulnerable (since the instant-fire weather check and STATUS3 use the same field)
* Applied review changes
* Replaced VARIOUS with callnative
Tried to fix test but couldn't :/ wtf is going on
* Fixed one AI test
Cant fix the other...
* Added KNOWN_FAILING to failing AI tests
Separated them out into their own test
* Optimised script, overhauled charge turn string setting
Condensed multiple confusing macros into one, jumpifweathercheckchargeeffects. Script now tweaked and trimmed, string ids for charge turns now added to argument along with status3 (thanks to compression macro) and instant-fire-weather for semi-invulnerable and two-turn moves respectively. Also introduced a savedStringId in gBattleScripting to make string selection work.
* Unified two turn move tests + minor corrections
* Added semi-invulnerable move tests
Set the Razor Wind test to known failing - something to do with its animation?
---------
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* metaprogram.h
Created by Mr. Griffin. Removed non-relevant parts
* Added DEFAULT/DEFAULT_2 macros
Also added a demonstration in battle_main
* Removed GET_ARGS
* Expanded DEFAULT
Because why not?
* Added EXCEPT
Expands to everything but the first x arguments.
* Added BIT_INDEX (thanks to MGriffin) and COMPRESS_BIT macros
These let you compress a bit up to a word in size inside a single byte and uncompress at the same time. BIT_INDEX just tells you where the bit is.
* Updated HANDLE_EXPANDED_MOVE_NAME
---------
Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
* Renamed VAR_TERRAIN and introduced a var-based field terrains timer
* Fixed sky battle configs alignment and syntax
* Added B_VAR_TERRAIN_TIMER handling to Overworld_ResetBattleFlagsAndVars
* Removed pointless edits to EndTurnTerrain
* Updated B_VAR_TERRAIN_TIMER's comment
* Updated the syntax of ABILITYEFFECT_SWITCH_IN_TERRAIN to comply with Agbcc
* Nuked pointless VarGet calls in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects
* Reverted changes made to BS_SetRemoveTerrain
I shouldn't have touched it at all since it's not involved with B_VAR_TERRAIN functionality.
* Removed trailing spaces in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects