* new move anims + fickle beam rework
* more fickle beam changes
* removed the true for consistency
* ficklebeamboosted gets cleared now
* mortal spin and thunderclap changes
* minor mortal spin pal change
* removed hex numbers and made hard press quicker
* Replace Opportunist todo tests with proper tests
* add failing test
* desc
* Fixes to Opportunist and Mirror Herb adjustments
* more tests
* some fixes
* first turn events switch
* simple enum + revert test desc
* Refactors damage non types
* correction
* Refactor weather damage script
* new line
* correction
* there was a hail test already
* ndebug
* add sandstorm test
* Update src/battle_script_commands.c
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
---------
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
* dynamic ai func
* add AI_TagBattlePreferFoe as an example
* Update src/battle_ai_main.c
* Update src/battle_ai_main.c
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
* consolidated gimmick checks, triggers, communication, and activation; updated test runner
* fixed improper use of .usableGimmick
* cleaning up battle_dynamax.c, changing function args to u32s
* fixed '#ifdef TESTING' causing errors
* updated z-moves to use gimmick interface, pared down redundancies; no AI/tests
* added support for z-moves in tests, consolidated gimmick fields
* removed ShouldUseMaxMove and .usingMaxMove
* renamed TryChangeZIndicator, updated z move display
* added several z-move tests and fixed various z-move interactions; fixed z-move category calc
* fixed useless battler arg in GetTypeBasedZMove
* added basic test check for bad Z-Move or Mega usage
* reworked test runner gimmick functionality; added support for Ultra Burst + Z-Move to test Light That Burns the Sky
* fixed gimmick test logic; fixed damage category override
* fixed mega rayquaza test fail
* consolidated gimmick indicator logic; added graphics to gGimmicksInfo
* removed TeraData struct
* reimplemented AI logic for Z-Moves; no changes
* updated Z-Move and Ultra Burst trigger gfx
* added testrunner check for multiple gimmick use
* fixed duplicate z-move call in test
* reorganized data/graphics/gimmicks.h
* added signature Z-Move ability tests; implemented Guardian of Alola
* fixed bad test update
* fixed Thousand Arrows not affecting Tera Flying; clean-up
* fixed -ate tests
* fixed tera tests
* fixed tera tests really
* fixed last batch of tests
* fixed -ate mega test again
* code review
* code review pt.2
* tweaked CanTera again
* dynamax flag only required for player
* add createmon and setwilddoubleflag script cmds to support createing mons at given player or enemy slots and setting up 2v1 battles
* give givemon macro PARTY_SIZE for tests
* style fixes
* add createmon test
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
* add saveattacker/savetarget stack
* add safety checks to savedAttackerCount/savedTargetCount
* add testing warnings for saveattacker/savetarget
* update frisk with saveattacker
* restoretarget at end of red card battle scripts, remove testing checks on SaveAttacker,SaveTarget
---------
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
* fix getboxmondata for evolutiontracker if compiled with agbcc
* fixed full restore curing status condition when used in battle on party member with missing hp
added more full restore tests
* formatting, removed unused
* 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'
* 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
'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.
* 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>
* Remove non-existent tilesets from label comments and alphabetize
* Fixed braces style
* gbagfx bit depth upconversion fix
* jsonproc: filter out every non-alphanumeric character
* fix(linking): link gflib/malloc.c at top of EWRAM in ld_script_modern.ld
* Adds move Upper Hand
* Requested changes
- Tabs / spaces where proper
- HitFromAtkString -> HitFromAccCheck
- Actually compiles now lol
- Moved assumes into relevant tests
- Cleaned up the check for TryUpperHand
* Fixed || positioning
* Update upper_hand.c
* Revert "Merge remote-tracking branch 'upstream/master' into upper-hand"
This reverts commit b21275dfe9, reversing
changes made to 89b1ad1ea1.
* AI logic and conflicts solved
* Test fix
* Fix Sheer Force test
* Requested changes
* Requested changes
* Update battle_script_commands.c
---------
Co-authored-by: GriffinR <griffin.g.richards@gmail.com>
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Sierraffinity <sierra@domoreaweso.me>
Co-authored-by: sbird <sbird@no.tld>
Function no longer has ability to apply effects from moveEffect - for that, seteffectprimary or secondary is now recommended. Removed EFFECT_RAMPAGE, updated a few tests
Both working by applying an additional effect; added a generic "jumpifnotcurrentmoveargtype" type command to make it possible, relpacing secret power's function
* 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