Commit Graph

5380 Commits

Author SHA1 Message Date
DizzyEggg
fec8f14fff IsAiAiBattle function 2023-08-09 15:57:22 +02:00
DizzyEggg
8d5ba6c6d1 allow ai vs ai battles 2023-08-09 09:15:42 +02:00
GriffinR
6598cb30bc Document stat change animation 2023-08-08 23:56:16 -04:00
GriffinR
65fee186f8 Automatically update nickname buffer sizes 2023-08-08 16:28:09 -04:00
GriffinR
087a2cecef Fix Bravo Trainer Tower member names 2023-08-08 14:38:00 -04:00
DizzyEggg
f72ec368fc improve switching with ai bad moves 2023-08-08 12:55:47 +02:00
DizzyEggg
1fb42e4497
Sticky web / Court Change / Mirror Armor tests + small fixes (#3160)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
Co-authored-by: Martin Griffin <martin.griffin@algosport.co.uk>
2023-08-07 10:27:57 -04:00
Alex
8ee3a3c5bb solve conflics 2023-08-07 14:25:30 +02:00
DizzyEggg
ce18df46e6 replace global usage of gActiveBattler in controller files 2023-08-07 12:51:58 +02:00
DizzyEggg
b8ba6139cb health bar update 2023-08-07 10:29:02 +02:00
DizzyEggg
546b0c7e97 handle move anim 2023-08-07 09:26:03 +02:00
DizzyEggg
e8d6c99e6d more controllers work 2023-08-07 01:05:09 +02:00
DizzyEggg
ef8024d8c5 draw trainer pic 2023-08-06 21:50:59 +02:00
DizzyEggg
a9483c361b trainer intro ball throw 2023-08-06 12:41:36 +02:00
DizzyEggg
ffb0e20049 hide show party status summary 2023-08-05 23:27:56 +02:00
DizzyEggg
18db0cb3b7 controller string 2023-08-05 22:41:13 +02:00
DizzyEggg
f9e131b6ac fix recorded, exp update the same for player partner 2023-08-05 21:34:17 +02:00
DizzyEggg
0b4c1aa275 more work on controllers 2023-08-05 20:42:19 +02:00
DizzyEggg
1793b9e1da more controller functions 2023-08-05 14:11:25 +02:00
DizzyEggg
a505cd7fb9 simplify the get mon set mon data functions more 2023-08-05 12:53:14 +02:00
DizzyEggg
cbebdf044a handle se, bgm and fainting cry 2023-08-05 12:13:50 +02:00
DizzyEggg
5a8b6c18ef ball throw and start removing empty controller functions 2023-08-05 11:05:37 +02:00
GriffinR
41847cd5aa STAT_ANIM constant usage 2023-08-04 16:27:45 -04:00
DizzyEggg
c72bb27325 faint animation 2023-08-04 22:15:39 +02:00
GriffinR
866c32a735 Add temp var aliases 2023-08-04 14:17:28 -04:00
DizzyEggg
7360a4a18a up to return mon to ball 2023-08-04 17:29:29 +02:00
DizzyEggg
7ba8a0216f more work on controllers 2023-08-04 13:42:40 +02:00
ghoulslash
a0dd77dd41
Improve AI switching, so it doesn't get killed on switch-in (#3146) 2023-08-04 07:34:58 -04:00
DizzyEggg
cc30d2fb53 start removing duplicate controller functions 2023-08-04 12:10:38 +02:00
GriffinR
6d4dadd7b5 Add temp flag aliases 2023-08-03 15:55:06 -04:00
GriffinR
16c0be7ed2 Fix some frontier gfx, adjacent cleanup 2023-08-03 11:15:15 -04:00
Philipp AUER
7d8bcce9a5
Optimize sprite.c (#3175) 2023-08-03 15:57:04 +03:00
Martin Griffin
b3295d1cfb
Reverted BattleMove power to u8 (#3187) 2023-08-02 12:20:11 +01:00
Eduardo Quezada
f94efa94e1 Merge branch 'RHH/master' into RHH/upcoming 2023-08-02 01:18:07 -04:00
ghoulslash
7a814999e5 MOVE_CORROSIVE_GAS Effect (#3152)
# Conflicts:
#	data/battle_anim_scripts.s
#	data/battle_scripts_1.s
#	include/constants/battle_move_effects.h
2023-08-02 01:05:54 -04:00
Eduardo Quezada
87050d8c08 Fix Stamina/Wind Power/Electromorphosis/Rattled issues with targets (#3143) 2023-08-01 23:54:04 -04:00
Philipp AUER
44eb6260cc
[battle, anim] woodhammer animation overhaul (#3192)
* [battle, anim] woodhammer animation overhaul

* squashme: timings

---------

Co-authored-by: sbird <sbird@no.tld>
2023-08-01 19:10:18 -04:00
Eduardo Quezada D'Ottone
54816816a0
Fixed null dereferencing errors with -fanalyzer on modern (#3165) 2023-07-31 14:49:08 -04:00
Eduardo Quezada D'Ottone
f0d03dd99b
Set GEN_LATEST to GEN_9 (#3186) 2023-07-31 15:41:53 +02:00
DizzyEggg
efb98e97c7 remove unused config B_CHECK_IF_CHARGED_UP 2023-07-31 14:22:48 +02:00
DizzyEggg
5eec3b2fc3
fix various issues with primal weather blocking water/fire type moves (#3138)
* fix various issues with primal weather blocking water/fire type moves

* forgot to change return to effect=1

* fix bugs
2023-07-30 10:50:51 -04:00
Alex
bca29d8586 Adds Mortal Spin and Population Bomb 2023-07-26 17:37:56 +02:00
DizzyEggg
7b7cbf506d Merge branch 'upcoming' into ai_switching 2023-07-26 09:23:53 +02:00
Martin Griffin
0e5c78aeb6 Merge remote-tracking branch 'pret/master' into 'rhh/master' 2023-07-25 19:49:18 +01:00
Eduardo Quezada
ad78dfcf68 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_script_commands.c
#	src/battle_util.c
2023-07-25 14:38:53 -04:00
Martin Griffin
31a3ada7de Detect potential misalignment in modern 2023-07-24 19:42:56 +01:00
Martin Griffin
3f5daa8cf1 Add BENCHMARK to test runner
Counts the time spent in the block in arbitrary time units (64-cycles
currently). If the block takes more than ~4 million cycles (~0.25s) the
benchmark will wrap around.

Note that the time can be affected by the timeout IRQs, and should only
be taken as a loose indication of relative performance.
2023-07-24 15:18:28 +01:00
Martin Griffin
b53cca1a06
Declarations for 2- and 3-argument GetMonData (#1756)
* Type-safe GetMonData/GetBoxMonData

* Comments
2023-07-24 09:57:37 -04:00
ghoulslash
b5431898c2
RNG for Metronome, multi-hit moves, and Loaded Dice (#3159) 2023-07-23 08:15:14 -04:00
Martin Griffin
fc321965a9 RNG_HITS and RNG_LOADED_DICE 2023-07-23 10:24:58 +01:00
ghoulslash
a527d6c7de
Fix wrong color in stat move animation (#3161) 2023-07-23 04:38:25 -04:00
gruxor
fc8ee625b6 Fixed outstanding UB with -fanalyzer on modern 2023-07-21 15:51:03 -04:00
Alex
ad25dfe1e9
Set otGender + Moves in FillPartnerParty (#3163) 2023-07-21 14:43:39 -04:00
DizzyEggg
fc37345c29 Fix wrong color in stat move animation 2023-07-21 10:42:39 +02:00
Martin Griffin
b406a9c1bd RandomUniformExcept and RNG_METRONOME 2023-07-20 10:25:03 +01:00
Eduardo Quezada
47cea526ec Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_util.c
2023-07-19 23:22:07 -04:00
Bassoonian
7fa6ed8b05 Fix priortiy typos 2023-07-19 17:33:28 +02:00
Alex
6b5d1e7577
Adds some gen9 moves (#3147)
* Adds some gen9 moves

* Fix Test + Tabs

* Collision Course boost changed to 1.3333
2023-07-19 13:25:20 +02:00
Eduardo Quezada D'Ottone
cf29c9eb69
Fixed enemy parties not reverting to their original form post-battle (#3150) 2023-07-19 08:46:57 +02:00
Eclipse
ca792d43cc
Gender differences sprites, final part (#3122)
* The last survivors

* Tweaked Numel, Milotic and Relicanth
Updated their sprites according to their current depictions.

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-07-18 21:31:22 -04:00
DizzyEggg
f4dc5e931f some more stuff 2023-07-18 12:01:25 +02:00
DizzyEggg
1bd4f9c7a8 rework incoming surviability 2023-07-18 11:36:09 +02:00
Eduardo Quezada D'Ottone
b08c8f85fc
Fixed Utility Umbrella damage calculations (#2835)
* Fixed Utility Umbrella holders not receiving regular damage when being hurt by what would've been weakened rain/sun attacks

* Fixed reading move incorrectly

* Tests: Sun, Rain, Utility Umbrella and Hydro Steam

* [STASH] Skeli changes, needs to remake tests

* Fixed tests

* Removed redundant tests

* Removed unused variable

* Removed Primal Todo tests
2023-07-18 09:22:05 +02:00
Eduardo Quezada D'Ottone
6fec0e4dd1
Ported TheXaman's latest changes to the Debug Menu (#2815)
* Added option for generating incrementing pokemon in pc boxes

# Conflicts:
#	src/debug.c

* added submenu arrows, increased menu high to full screen

# Conflicts:
#	src/debug.c

* combined flags and vars into one submenu

# Conflicts:
#	src/debug.c

* added new window to flags/vars showing the current state and added submenu indicator

# Conflicts:
#	src/debug.c

* added alligned arrows for debug submenus

# Conflicts:
#	src/debug.c

* used {CLEAR_TO X} instead of manual spaces

# Conflicts:
#	src/debug.c

* renamed gDebugText to proper sDebugText

# Conflicts:
#	src/debug.c

* added Fill submenu, added fill function for PC items and all bag pockets  @LOuroboros

# Conflicts:
#	src/debug.c

* put cheat start into utility

# Conflicts:
#	src/debug.c

* put fill submenu into main menu

# Conflicts:
#	src/debug.c

* tiny fix

* renaming and reordering

# Conflicts:
#	src/debug.c

* Added reset pokedex flags for @AsparagusEduardo

* made flag toggle list dynamic

# Conflicts:
#	src/debug.c

* initial battle debug menu WIP

# Conflicts:
#	src/debug.c
#	src/wild_encounter.c

* fix visual bug

* added battle start

# Conflicts:
#	include/debug.h
#	src/battle_ai_script_commands.c

* Added faster way to add initial movesets to mon

* Added waiting music for the slow box filling

* Simplified the call to scripts

* Simplified debug scripts

* Disabled Battle Test for now

* Fixed personality on fast PC fill being always 0

* Removed BATTLE_ENGINE instances + added AI_FLAG_COUNT

* Added missing return TRUE

* Sets nickname

* Changed how GetSpeciesName to how it's used upstream

---------

Co-authored-by: TheXaman <48356183+TheXaman@users.noreply.github.com>
2023-07-18 09:17:03 +02:00
Eduardo Quezada D'Ottone
43ad1a4d3b
Unified multi-strike move flags (#3126)
* Unified twoStrikes and threeStrikes flags into strikeCount

* Decreased strikeCount max from 255 to 15.
2023-07-18 09:07:14 +02:00
Alex
38655b9d1f
Fix gem boost on multi hit moves and config for gem param (#3144) 2023-07-18 06:11:54 +01:00
DizzyEggg
1f1d24b3e4
Fix Primal Reversion not activating when switching in after fainting (#3141)
* Fixed Primal Reversion not activating when switching in after a fainting
* add tests for primal reversion

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2023-07-16 12:26:54 +01:00
Martin Griffin
17f8f50a59 Merge remote-tracking branch 'rhh/master' into upcoming 2023-07-16 07:46:34 +01:00
DizzyEggg
3c5c68ac58
Fix how AI categorizes Weak moves and give priority to always hits moves when needed (#3109)
* ai weak move fix and always hits move prioritarizing
2023-07-16 07:24:59 +01:00
Martin Griffin
58ede15263
Fix Roullout Fury Cutter AI power calc (#3110) 2023-07-16 06:45:35 +01:00
Martin Griffin
c4057cb0e0
Fix Metronome's/Mirror Move's called move to take powder moves / multi hit moves into account (#3135) 2023-07-16 06:41:18 +01:00
DizzyEggg
2a249654e7 fix mirror move/metronome powder/multi hit moves & tests 2023-07-15 14:00:55 +02:00
Eduardo Quezada
168b005406 Merge branch 'RHH/master' into RHH/upcoming 2023-07-14 12:40:01 -04:00
SonikkuA-DatH
6382640f8a
Castform, Cherrim Sun, Spinda, and Spheal Graphical Tweaks (#3127)
* Casrform graphics. Palette changes, edited backs, and 2 Frame anims

* Castform Graphics

* Cherrim graphics, and Castform redefinitions

* Spheal and Spinda Graphic edits. Spheal mouth adjustment, Spinda 2 frame and palette

* Revised Spinda Spot drawing function, removed tabs

* Animations for Castform forms, Spinda, Cherrim Sun, and Spheal set

* Spacing

* Forgot shiny pal. Fixed

* Delete .vs directory

* remove vs ref
2023-07-14 11:45:40 -04:00
Eduardo Quezada
240f41fc58 Reverted BattleMove power to u8
Nothing was using it, despite what the comment suggested
2023-07-14 10:53:40 -04:00
Eduardo Quezada D'Ottone
5f29ae6f99
Failed tests are now listed in the total (#3073)
* Failed tests are now listed in the total
2023-07-14 10:17:54 +01:00
Martin Griffin
d3d582dd70
[battle, fpmath] revert changes to Q_24_8 format (#3125) 2023-07-14 10:15:55 +01:00
DizzyEggg
0c0b841a80
Remove debug item effect override (#3106) 2023-07-13 18:47:01 -04:00
sbird
cb66e8b770 [battle, fpmath] revert changes to Q_24_8 format 2023-07-13 23:43:02 +02:00
Eduardo Quezada D'Ottone
0efc9a29ad
Disabled species now default their graphics to SPECIES_NONE (#3116) 2023-07-12 20:11:07 -04:00
gruxor
5fd881a1b6 Remove unused macro to fix syntax highlights 2023-07-12 14:44:23 -04:00
Eduardo Quezada
3aaa89ce71 Changed all instances of gSpeciesNames so that it uses GetSpeciesName 2023-07-07 14:37:51 -04:00
Eduardo Quezada
adfc0af372 Mon graphics are now loaded depending on their availability
- If it has a female sprite/palette, it's loaded.
- If it the species is enabled and it has a sprite/palette, it's loaded.
- Otherwise, load the SPECIES_NONE graphics.
2023-07-07 14:36:30 -04:00
sbird
6482279fa3 [battle, math] refactor damage calculation to use proper fp type and inlined multiplication 2023-07-07 18:51:23 +02:00
Eduardo Quezada
4405f79d24 Merge branch 'RHH/master' into RHH/upcoming 2023-07-06 13:15:06 -04:00
Eduardo Quezada
f21953f254 Merge remote-tracking branch 'pret/master' into RHH/master 2023-07-06 13:06:31 -04:00
DizzyEggg
9a09f1e3b9 Fix Roullout Fury Cutter AI power calc 2023-07-06 13:41:16 +02:00
Eduardo Quezada
b10b5fd9c3 EVERYTHING_CUSTOMIZED -> TRAINER_PARTY 2023-07-05 18:31:08 -04:00
Eduardo Quezada
e8487961c7 TrainerMonCustomized -> TrainerMon 2023-07-05 18:29:28 -04:00
Eduardo Quezada
b86184a4f6 Removed TrainerMonPtr 2023-07-05 18:23:18 -04:00
Eduardo Quezada
2f9e0ecd9f Removed uses of F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED 2023-07-05 18:22:48 -04:00
ghoulslash
1a53154324
Beat Up AI Damage Calc (#3104)
* add specific AI dmg calc for new beat up

* beat up ai calc optimizations

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-07-05 20:59:42 +02:00
Martin Griffin
eab4e32e2a
Shuffle implementation (#3097) 2023-07-05 19:46:40 +02:00
Eduardo Quezada
3dd7a2c09e Removed TrainerMonNoItemDefaultMoves 2023-07-04 21:29:58 -04:00
Eduardo Quezada
9c961b4fd5 Removed TrainerMonNoItemCustomMoves 2023-07-04 21:22:27 -04:00
Eduardo Quezada
1ef56f6ae1 Removed TrainerMonItemDefaultMoves 2023-07-04 21:16:47 -04:00
Eduardo Quezada
c201cae2ee Removed TrainerMonItemCustomMoves 2023-07-04 21:06:55 -04:00
Eduardo Quezada D'Ottone
862602233d
Gender differences sprites, part 3 (#3095) 2023-07-04 11:36:24 -04:00
ghoulslash
cc3a6d4d94
make special case ABILITYEFFECT_xx ids their own caseId switch cases to fix potential overlap with ability IDs 0xFF etc (#3083)
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-07-03 10:03:50 +02:00
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