Commit Graph

20 Commits

Author SHA1 Message Date
Eduardo Quezada D'Ottone
1fa9a05470
Convert move flags and bans into GCC bitfields (#2952)
* Slicing moves to new bitfield

* Wind moves to new bitfield

* Two-strike moves to new bitfield

* Forgot to add flagTwoStrikes to battle_moves.h

* Removed "flag" from field names

* FLAG_HIT_IN_SUBSTITUTE and FLAG_THAW_USER

* Airborne moves

* FLAG_POWDER, FLAG_TARGET_ABILITY_IGNORED and FLAG_DANCE

* FLAG_BALLISTIC and FLAG_PROTECTION_MOVE

* Fixed missing uses of MOVE_UNAVAILABLE in battle_ai_util.c

* FLAG_SOUND

* FLAG_DMG_UNDERGROUND and FLAG_DMG_UNDERWATER

* FLAG_DMG_MINIMIZE

* Cleanup

* FLAG_STAT_STAGES_IGNORED

* Updated Pollen Puff's ballistic flag

* FLAG_STRONG_JAW_BOOST and FLAG_MEGA_LAUNCHER_BOOST

* thaw

* FLAG_THREE_STRIKES

* FLAG_IRON_FIST_BOOST

* FLAG_RECKLESS_BOOST

* FLAG_HIGH_CRIT

* Removed empty flags

* Moves that fail when called by Me First + added missing Shell Trap

* Moves that fail when Gravity is active

* Better names for banned fields

* Moves that fail when called by Instruct

* Cleanup

* Contact Moves + Fixed Wandering Spirit skipping contact checks

* Inverted FLAG_PROTECT_AFFECTED so that there's a flag for moves that SKIP protect.

* Simplified B_MOVE_FLAGS configs

* FORBIDDEN_METRONOME

* Renamed hitsPastSubstitute to ignoresSubstitute

* FORBIDDEN_PARENTAL_BOND

* Struggle uncallable by Metronome

* FORBIDDEN_MIMIC

* FLAG_KINGS_ROCK_AFFECTED

* Made a single config for move flags

* Macro for checking move flags

* FLAG_MAGIC_COAT_AFFECTED

* Fixed HasMagicCoatAffectedMove

* FLAG_SNATCH_AFFECTED

* Removed unused EFFECT_FLINCH_MINIMIZE_HIT

* Fixed Stench/King's Rock interaction

* Removed sMovesNotAffectedByStench in favor of checking move effects

* Removed EFFECT_TWISTER, which was a repeat of EFFECT_FLINCH_HIT

* Changed Gen2 configs to less than Gen 3

* FORBIDDEN_SLEEP_TALK

* Cleanup

* Inverted FLAG_MIRROR_MOVE_AFFECTED

* FLAG_SHEER_FORCE_BOOST

* Ordered

* FORBIDDEN_ASSIST and FORBIDDEN_COPYCAT

* Removed TestMoveFlags and TestMoveFlagsInMoveset + flags field

* Fixed Triple Arrows test
2023-07-03 10:01:59 +02:00
Martin Griffin
c9a2c86d78 Simplify TO_DO_BATTLE_TEST 2023-06-22 15:19:35 +01:00
AgustinGDLV
53fa7e524c allow for illegal abilities within tests 2023-06-03 11:32:54 -07:00
Martin Griffin
e0bed6776b INVALID if FINALLY without PARAMETRIZE 2023-05-07 07:50:41 +01:00
Eduardo Quezada D'Ottone
220b60f315
Detect memory leaks in tests (#2698) 2023-05-06 21:22:47 -04:00
Eduardo Quezada D'Ottone
42445512ad
Battle Item Tests + critical fixes + new test macro (#2940) 2023-05-06 20:43:32 -04:00
CallmeEchoo
7e7384ee02 tiny test doc fix 2023-05-06 19:12:49 +02:00
Alex
a98da30ec7 frostbite tests 2023-04-28 12:38:34 +02:00
CallmeEchoo
08ec873ef2 update MoveWithPP macro to use struct 2023-04-25 20:35:36 +02:00
CallmeEchoo
7fad0a2dbc add MovesWithPP macro to allow for setting pps in tests 2023-04-25 19:45:35 +02:00
Martin Griffin
76f02774ea Detect memory leaks in tests
Can use KNOWN_LEAKING; to specify that a test is known to leak memory.

The location information is available in regular game builds. Thus it is
available for use in debugging leaks in-game too. In the future we
should consider replacing it with NULL if NDEBUG is defined. This is not
currently possible because the tests do not force NDEBUG to be
undefined.
2023-04-20 20:35:22 +01:00
AgustinGDLV
2eabcea86e
Battle Item Refactor (#2902)
* items that can be used in battle now use battlescripts
* removed ExecuteTableBasedItemEffect_
* taught AI how to use items, removed AI_itemtype/flag
* X-Items store stages raised in holdEffectParam
* USE_ITEM in tests
2023-04-14 19:25:50 +01:00
Martin Griffin
7b306b6147 RandomElement for structured RNG
Converts Tri Attack and Dire Claw to use structured RNG.
2023-03-27 18:50:18 +01:00
Eduardo Quezada
32b2c01619 Merge branch 'RHH/upcoming' into RHH/pr/fix/GassyTerrain
# Conflicts:
#	test/test.h
2023-03-26 16:06:04 -03:00
Eduardo Quezada D'Ottone
c922ff69b9 Added To-Do test results 2023-03-23 22:34:08 -03:00
Martin Griffin
89deda0416 Allow tests to override specific RNG calls 2023-03-15 13:39:17 +00:00
Martin Griffin
509ff4c7e0 Generic TEST that executes a function 2023-03-15 13:28:46 +00:00
DizzyEggg
5a745020ee add tests for stockpile swallow spit up 2023-02-27 16:27:58 +01:00
DizzyEggg
56c9564e7a
8th gen Howl's effect (#2700)
* Howl gen8 effect
2023-02-17 10:28:46 +00:00
Martin Griffin
f1b9872bf0 Test moves, items, and abilities in battle
Thank you to SBird for providing mgba-rom-test binaries and Spikes/Toxic
Spikes tests!

Co-authored-by: sbird <sbird@no.tld>
2023-02-01 13:53:57 +00:00