Commit Graph

653 Commits

Author SHA1 Message Date
DizzyEggg
47341f3f30
Fix Anger Shell activation (#3508) 2023-11-01 14:55:50 +01:00
LOuroboros
cd59e055c2
Made Reflect Type handle 3rd types (#3303)
* Made Reflect Type handle 3rd types

Misc:
-Turned VARIOUS_TRY_REFLECT_TYPE into a callnative (BS_TryReflectType)
-Introduced a macro to to check for typeless Pokémon (Pokémon who have Mystery in all 3 type slots) in battle.
-Made the new BS_TryReflectType take into account the forms for Arceus and Silvally, rather than just their default form.
2023-10-23 10:08:36 +01:00
Brandon Lourenco
89e4f30867
Roost suppresses the user's Flying-type rather than remove and re-add it. Added tests for EFFECT_ROOST. (#3258)
* Fixed Roost clearing type3 when used by a pure Flying-type. (Gen 5+)

* Created a test file for Roost.

* Marked tests as TODO for now.

* Added more tests for HP healed and type changing.

* Created a function to handle Roost's Flying suppression when getting a battler's type. Added more tests.

* Added test for not-yet-aquired Flying-type. Fixed/rewrote some other tests.

* Now using GetBattlerType() in most relevant places. Fixed some tests.

* Added tests for interactions between Roost and Delta Stream, type-changing effects, Grassy Terrain healing, Levitate, Air Balloon, Magnet Rise, and Telekinesis.

* Added test for interaction between Roost and Reflect Type.

* Gen 4 tests merged with Gen 5+ tests.

* Removed errant space.

Co-authored-by: LOuroboros <lunosouroboros@gmail.com>

---------

Co-authored-by: LOuroboros <lunosouroboros@gmail.com>
2023-10-05 09:19:29 +02:00
DizzyEggg
10adba3af4
Fixed entry hazards switch in issue (#3316)
* fix entry hazards switch in issue

* accidental known failing fix
2023-10-01 10:30:41 -03:00
Eduardo Quezada D'Ottone
de577f955a
Greatly reduce AI lag (#3308) 2023-09-26 07:28:18 -03:00
DizzyEggg
996bc6ba24
Fix order of messages in gen6 exp share (#3339)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-09-24 17:07:56 -03:00
DizzyEggg
25459073e5 ai lag fixes ready 2023-09-14 11:44:44 +02:00
DizzyEggg
38dcb3c66c ai weather optimization 2023-09-13 17:28:26 +02:00
DizzyEggg
b7d0d37757 fix conflicts 2023-09-13 15:14:09 +02:00
DizzyEggg
94a3e80c8e
Remove redundant side macros/funcs (#3299)
Co-authored-by: gruxor <gruxor@proton.me>
2023-09-13 09:19:18 -03:00
DizzyEggg
1a64938c9b optimize dmg move result and ai who is faster 2023-09-13 13:23:19 +02:00
DizzyEggg
406209f738 score to s32 2023-09-13 09:27:49 +02:00
DizzyEggg
bd48cca8a2 ai delay timer 2023-09-12 10:35:05 +02:00
DizzyEggg
d9677763e5 remove gActiveBattler replacement 2023-09-04 10:26:37 +02:00
DizzyEggg
7c2ad314d4 merge with upcoming 2023-09-04 09:40:48 +02:00
Eduardo Quezada D'Ottone
c4e88760f5
Pret merge (2023/08/31) (#3268) 2023-08-31 14:52:18 -04:00
Eduardo Quezada
0d5b00aaf2 Merge remote-tracking branch 'pret/master' into RHH/pr/upcoming/pret_20230829
# Conflicts:
#	README.md
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	data/maps/BattleFrontier_Lounge7/scripts.inc
#	include/battle_anim.h
#	include/battle_message.h
#	include/constants/items.h
#	src/battle_ai_script_commands.c
#	src/battle_ai_switch_items.c
#	src/battle_anim_throw.c
#	src/battle_anim_utility_funcs.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_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/data/party_menu.h
#	src/data/pokemon/tmhm_learnsets.h
#	src/daycare.c
#	src/field_specials.c
#	src/hall_of_fame.c
#	src/party_menu.c
#	src/pokemon.c
#	src/tv.c
2023-08-31 14:28:01 -04:00
DizzyEggg
493c330cbd merge with upcoming 2023-08-30 13:23:55 +02:00
DizzyEggg
c29f8259f6 remove gActiveBattler entirely 2023-08-30 12:46:22 +02:00
kittenchilly
d540eccbb1 Merge branch 'upcoming' into ultraburst 2023-08-29 16:17:35 -05:00
DizzyEggg
156aa59f18 start removing gActiveBattler in controller emitters 2023-08-29 15:21:31 +02:00
DizzyEggg
44acd287f1 solve conflicts 2023-08-29 10:41:05 +02:00
DizzyEggg
6ae1ba10da fix conflicts 2023-08-28 13:55:45 +02:00
kittenchilly
48d6fe2e64 Merge branch 'upcoming' into ultraburst 2023-08-26 14:43:31 -05:00
voloved
2a2cd77cf4
Allow Cycling Through Balls in the Last Ball Used Menu (#3039) 2023-08-24 19:23:26 -04:00
GriffinR
057928438a Document ChooseMoveAndTargetInBattlePalace 2023-08-16 16:41:29 -04:00
kittenchilly
5e8caa8d45 Merge branch 'upcoming' into ultraburst 2023-08-12 12:36:11 -05:00
Eduardo Quezada
952bacd858 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml
#	.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml
#	.github/ISSUE_TEMPLATE/04_other_errors.yaml
2023-08-11 17:50:28 -04:00
kittenchilly
c3e31af5f3 Ultra burst trigger 2023-08-09 22:12:26 -05: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
DizzyEggg
ce18df46e6 replace global usage of gActiveBattler in controller files 2023-08-07 12:51:58 +02:00
Eduardo Quezada
47cea526ec Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_util.c
2023-07-19 23:22:07 -04: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
Martin Griffin
17f8f50a59 Merge remote-tracking branch 'rhh/master' into upcoming 2023-07-16 07:46:34 +01:00
DizzyEggg
2a249654e7 fix mirror move/metronome powder/multi hit moves & tests 2023-07-15 14:00:55 +02:00
DizzyEggg
0c0b841a80
Remove debug item effect override (#3106) 2023-07-13 18:47:01 -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 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
Eduardo Quezada D'Ottone
81e59ace25
Cleaned up remaining Castform hack stuff (#3063)
* Removed gCastformFrontSpriteCoords

* Removed sCastformElevations and IsCastformForm

* Removed sCastformBackSpriteYCoords and castformPalette in BattleStruct

* Scrubbed unused BS commands

* Removed B_ANIM_CASTFORM_CHANGE and BattleForm constants

* Removed redundant function in Pokémon Debug menu

* Removed handling in animation scripts

* Removed gBattleMonForms

* Reduced MAX_MON_PIC_FRAMES to 2

* Removed Castform/Cherrim makefile stuff

* Fixed weather form change tests not checking species.

* Fixed Castform palettes after Lunos' PR
2023-06-30 09:58:07 +02:00
Eduardo Quezada D'Ottone
2aca82300c
Merge branch 'upcoming' into mega_evo_issues 2023-05-14 22:33:01 -04:00
Martin Griffin
9cd13cc520 Fix USE_ITEM explicit targets 2023-05-07 07:50:41 +01:00
ghoulslash
445e9c4b8b merge w upcoming 2023-05-01 12:05:07 -04:00
Ultimate_Bob
32e63d8cc7
Don't copy opponent personality when swapping mon sprite during Mega Evolution (#2852)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-04-30 21:15:03 -04:00
Bassoonian
c279830892 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into formbattlechangecontribution 2023-04-27 10:50:32 +02:00
Martin Griffin
4a0abc5129
Merge branch 'upcoming' into rhh-get-party 2023-04-26 12:12:03 +01:00
LOuroboros
a128192bfe Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into trainerSlideMsgUpdate 2023-04-24 09:36:09 -03:00
LOuroboros
330e85ba64 Updates
-Undeclared size for certain trainer slide-in variables at struct BattleStruct for reasons.
-Added a BattlerHPPercentage function to make HP threshold checks in ShouldDoTrainerSlide a bit more readable.
2023-04-24 09:34:11 -03:00
Alex
3aec63b8cf new define to restore items after battle 2023-04-20 15:08:42 +02:00
Martin Griffin
aefe582596 GetSideParty/GetBattlerParty
Inline GetBattlerPartyData into its callers because its name is
confusing and we couldn't think of a better one.

This seems to fix a bug in one place where GetBattlerPartyData was being
used as if it had GetBattlerParty semantics.
2023-04-15 23:04:13 +01:00