Commit Graph

467 Commits

Author SHA1 Message Date
Nephrite
0aac57bf60 Renamed TestSheerForceFlag 2024-02-26 15:11:21 +09:00
Nephrite
46b67355a5 Merge remote-tracking branch 'rhh/upcoming' into battlemove_refactored 2024-02-26 14:23:53 +09:00
Nephrite
174c6fc999 Renamed "MoveHasMoveEffect" functions 2024-02-26 14:21:38 +09:00
Eduardo Quezada
ead108d28e Merge branch '_RHH/upcoming' into _RHH/pr/upcoming/merrpFollowers
# Conflicts:
#	src/data/graphics/pokemon.h
2024-02-19 13:49:10 -03:00
ghoulslash
ce99db0086
Generic Starting Battle Status Variable (#4176)
* setup generic starting battle status variable, ABILITYEFFECT_SWITCH_IN_STATUSES

* fix B_ANIM_TAILWIND, assign to starting statuses, and change B_VAR_STARTING_STATUS check for only the variable and not trainers

* Update src/battle_main.c

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Update src/battle_util.c

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Update src/battle_util.c

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* style fixes

* General_Room naims play SE

* fix sText_BizarreArenaCreated

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-02-14 10:05:37 +01:00
Eduardo Quezada
502a56efd1 Merge branch '_RHH/upcoming' into _RHH/pr/upcoming/merrpFollowers
# Conflicts:
#	include/global.h
#	src/data.c
#	src/data/pokemon/species_info/gen_7.h
2024-02-13 20:35:05 -03:00
Nephrite
ce4dd729f4 Merged from upcoming 2024-02-09 23:00:36 +09:00
Nephrite
65c508d193
Secondary effects overhaul minor follow-up (#4062)
* 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>
2024-02-04 23:02:59 +01:00
Nephrite
02ffd05aea Removed Sheer Force flag 2024-01-30 13:37:38 +09:00
Eduardo Quezada
381a0bf8a1 Fixed compile issues 2024-01-18 09:10:20 -03:00
Eduardo Quezada
ddc752eb14 Merge branch '_RHH/upcoming' into _RHH/pr/upcoming/merrpFollowers
# Conflicts:
#	asm/macros/event.inc
#	data/field_effect_scripts.s
#	data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
#	data/script_cmd_table.inc
#	graphics/pokemon/castform/sunny/anim_front.png
#	graphics/pokemon/castform/sunny/normal.pal
#	include/battle_util.h
#	include/constants/event_object_movement.h
#	include/constants/field_effects.h
#	src/battle_controller_player.c
#	src/battle_util.c
#	src/data/object_events/movement_action_func_tables.h
#	src/data/object_events/object_event_pic_tables.h
#	src/data/trainer_graphics/back_pic_anims.h
#	src/daycare.c
#	src/event_object_movement.c
#	src/field_effect_helpers.c
#	src/load_save.c
#	src/scrcmd.c
#	src/trainer_see.c
2024-01-17 18:11:35 -03:00
Nephrite
a76e3c70ba Applied more review fixes 2024-01-12 03:02:48 +09:00
Nephrite
c4616739d8 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-11 00:35:35 +09:00
Nephrite
ab75ad6d02
Ability flags update (#3886)
* Added five ability flags

Omitted duplicate flags that are basically "can't copy" (Role Play, Receiver, Entrainment, Skill Swap), didn't bother adding Neutralizing Gas flag,

* Mold Breaker and Trace

* Gastro Acid, Simple Beam, Worry Seed

Decided to keep the Simple Beam/Worry Seed functions

* Entrainment done

* Skill Swap

* Doodle/Role Play + flag descriptions

Also adjusted Doodle test

* Wandering Spirit, Mummy, Neutralizing Gas

Neutralizing Gas really only needs to check for other mons with Neutralizing Gas, otherwise unsuppressable abilities are handled separately.

* Renamed flags
2024-01-01 15:03:34 +01:00
Nephrite
b6da1a1e1d Tweaked helper functions 2023-12-30 17:42:53 +09:00
Nephrite
39773c0659 Burn Up and Double Shock
Both working by applying an additional effect; added a generic "jumpifnotcurrentmoveargtype" type command to make it possible, relpacing secret power's function
2023-12-29 12:44:38 +09:00
Nephrite
7c38056da7 Review fixes
Added more move effect considerations to AI; redid way it calculates secondaryEffectChance; misc fixes
2023-12-29 12:04:42 +09:00
Nephrite
76b4e08e5e Trapping moves, Secret Power, rampage moves
Also tidied up a lot of #ifs and commas in battle_moves.h
2023-12-26 10:46:11 +09:00
Nephrite
b0b9883625 Removed unused effects + fixed tests + removed secondaryEffectChance
To do: remaining moves that make use of `secondaryEffectChance` field
2023-12-25 12:53:15 +09:00
Nephrite
f3e67cf543 Removed all unused effects
Some util updates
2023-12-25 12:32:13 +09:00
Nephrite
cda445c2f5 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul_rebase 2023-12-25 12:19:38 +09:00
kittenchilly
505b8b63eb
Add Doodle + update ability banlists (#3609)
* Add Doodle

* Doodle test

* Oops

* Update battle_util.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-22 16:45:55 +01:00
Eduardo Quezada D'Ottone
442620cf6b
Renamed Battle Move "Split" to the proper "Category" (#3774) 2023-12-20 10:08:26 +01:00
psf
493478e94b
Added support for XY's Sky Battles (#2950)
* Original implementation from Phlayne

* Moved Sky Battle Flag / Var into a config

* Optimized existing code and fixed existing bugs

Added error message for when sky battle var and flag are not set
Merged CanDoSkyBattle and PrepareSkyBattle into one special

* Added compatibility for Gen7+

* Commented out Volt Crash from banned moves

* Cleaned up debug scripts from testing

* Fixed bug where player did not white out even if they had no healthy Pokémon and only an egg
Zeroed out both Sky Battle configs

* Removed extra include from src/field_specials.c
Removed extra line break in src/battle_script_commands.c

* Added FLAG_DISABLED_IN_SKY_BATTLE
Added FLAG_DISABLED_IN_SKY_BATTLE to appropriate moves

* Changed DoesSkyBattleCancelCurrentMove to look at move flags

* Fixed alignment and spacing in battle_moves.h

* Added FLAG_DISABLED_IN_SKY_BATTLE to Sticky Web

* Added FLAG_DISABLED_IN_SKY_BATTLE to Steel Roller

* Disabled the ability to change Battle Terrain when Sky Battle is happening
Stopped Ceaseless Edge from spawning Spikes when Sky Battle is happening
Added B_SKY_BATTLE_STRICT_MECHANICS config

* Fixed bug with SKY_BATTLE_STRICT_MECHANICS where conditions were not consistently being applied

* Add rulesVariants to the BattleStruct
Added skyBattle check in AllocateBattleResources

* Replaced B_FLAG_SKY_BATTLE checks with rulesVariants.skyBattle checks

* Fixed debug script

* Reverted include/config/battle.h

* Fixed spacing and placement of functions

* Fixed debug script omission
Fixed bug where Spikes did not set from Ceaseless Edge and Stone Axe

* Added FLAG_DISABLED_IN_SKY_BATTLE to Psychic Terrain

* Addressed DizzyEgg PR feedback

* Forgot a file in last commit

* Addressed feedback from DizzyEggg

* Address Lunos' PR feedback

* Update specials.inc

Added an empty line at the end of data/specials.inc

* Fixed spacing

* Apply suggestions from code review

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Updated skyBattleBanned and HandleBattleVariantEndParty to use correct names

* Removed STRICT_MOVES and STRICT_MECHANICS

* Fixed minor spacing issues with merge

* Merged in upcoming

* Implemented feedback from Jasper
5da6117d1b

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-11-26 16:59:44 +01:00
Nephrite
bec0fea7f6 Flinching moves
All work fine - all tests pass
2023-11-23 17:14:50 +09:00
Alex
b9edbb429b
Adds combined pledge move effects (#3336)
* Adds combined pledge move effects

* added pledge status and various other fixes

* leftover

* fix triple arrow test tag

* pledge moves can not be redirected by absorbing abilities

* more pledge changes

* remove duplicate test

* Stab boost, Rainbow anim and new SeaOfFire anim

* leftover

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-11-21 16:23:22 +01:00
Nephrite
1dadc79b8b Triple Arrows redo
Sorry, Lunos
2023-11-20 19:39:13 +09:00
Alex
5fa1bffa8d
Adds Glaive Rush, fixes for Plasma Fists and Relic Song (#3476)
* Adds Glaive Rush

* Fixes: Glaive Rush status is removed until users next turn

* Glaive Rush no affect

* simplify glaive rush script

* simlify script further

* leftover

* Fix Plasma Fists and Relic Song + tests

* Callnative for Plasma Fists

* Use Status Field Ion Deludge for Plasma Fists

* add assumes for flinch_status

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-11-18 15:19:38 +01:00
kittenchilly
85e75a72c6
Update affection mechanics to gen 8+ (#3495)
* Update affection mechanics to gen 8+

* Update battle.h

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-11-14 21:29:38 +01:00
kittenchilly
33a0fdbbc6
Add new move flags and update all flags for every move (#3425)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-10-19 20:16:37 -03:00
sbird
b77bc71862 fix -Warray-parameter, -Waddress, -Warray-bounds warnings
those are introduced by some compiler between gcc 10 and gcc 13
when using -Wall
2023-10-16 09:36:36 +01:00
Martin Griffin
311224d32f
Converted most battle preproc ifs to regular ifs (#3392) 2023-10-12 15:28:41 +01:00
ghoulslash
70fbf9e9df
Opportunist Ability (#2994)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-10-09 22:35:00 -03:00
Eduardo Quezada
2fac60055f Merge branch 'RHH/master' into RHH/upcoming 2023-10-09 22:08:32 -03:00
Eduardo Quezada D'Ottone
25540a7fec
Fixed Rivalry's effect + Tests (#3381)
- It was doing the opposite if neither attacker or target were genderless
- It wasn't accounting for genderless mon
2023-10-09 12:14:18 +02:00
Eduardo Quezada
d1c672d3ce Converted most battle preproc ifs to regular ifs 2023-10-08 21:32:15 -03:00
Eduardo Quezada
7c7396c1be Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_ai_main.c
2023-10-05 13:31:22 -03: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
be5683e899
AI battle tests + AI logic fixes (#3361) 2023-10-04 18:53:29 +01:00
DizzyEggg
74fd561759 merge with upcoming 2023-09-17 11:27:18 +02:00
Alex
a073e7bd59
Adds Gigaton Hammer and Salt Cure (#3297) 2023-09-15 11:18:47 -03:00
DizzyEggg
bb9501449c final ai optimizations 2023-09-14 11:05:00 +02:00
DizzyEggg
5ea66f3c0c more optimizations 2023-09-14 00:07:41 +02:00
DizzyEggg
38dcb3c66c ai weather optimization 2023-09-13 17:28:26 +02: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
9778587935 optimize battle util and item functions by setting u32 variables 2023-09-13 00:02:26 +02:00
DizzyEggg
44bd830d2a optimize dmg calc and ai dmg calc to reduce lag 2023-09-12 23:20:09 +02:00
psf
75d06bb599
Generation 6 Experience Share (#3276) 2023-09-07 23:18:18 -03:00
Eduardo Quezada
820113d883 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	data/battle_anim_scripts.s
#	data/battle_scripts_1.s
#	include/battle_scripts.h
#	include/battle_util.h
#	src/battle_script_commands.c
#	src/battle_util.c
2023-09-07 15:13:06 -03:00
DizzyEggg
cfd802423b
Fling fixes and tests (#3191)
* begin fling tests

* fling fixes and tests

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* Update test/move_effect_fling.c

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>

* scripts names change

* fix fling's test file

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-09-05 06:56:36 -03:00
ghoulslash
675aa5db41
fix GetBattleAnimMoveTargets logic (#3278)
* fix GetBattleAnimMoveTargets logic

* more efficient GetBattleAnimMoveTargets

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-09-05 09:21:14 +02:00
DizzyEggg
493c330cbd merge with upcoming 2023-08-30 13:23:55 +02:00
DizzyEggg
4683783a92 remove active battler from other files 2023-08-30 10:18:31 +02:00
kittenchilly
5e8caa8d45 Merge branch 'upcoming' into ultraburst 2023-08-12 12:36:11 -05:00
Philipp AUER
59da940283
Refactor damage formula to match Gen5+ (#3196)
* [battle, damage] refactor damage formula to match gen5+

* [test] use exact values for dry skin, swarm tests

* fixup: assume stats for dry-skin, swarm tests

---------

Co-authored-by: sbird <sbird@no.tld>
2023-08-11 16:28:38 -04:00
kittenchilly
c3e31af5f3 Ultra burst trigger 2023-08-09 22:12:26 -05:00
Eduardo Quezada
f94efa94e1 Merge branch 'RHH/master' into RHH/upcoming 2023-08-02 01:18:07 -04: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
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
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
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
Martin Griffin
58ede15263
Fix Roullout Fury Cutter AI power calc (#3110) 2023-07-16 06:45:35 +01:00
DizzyEggg
2a249654e7 fix mirror move/metronome powder/multi hit moves & tests 2023-07-15 14:00:55 +02:00
sbird
6482279fa3 [battle, math] refactor damage calculation to use proper fp type and inlined multiplication 2023-07-07 18:51:23 +02:00
DizzyEggg
9a09f1e3b9 Fix Roullout Fury Cutter AI power calc 2023-07-06 13:41:16 +02: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
Eduardo Quezada
ca1d9f5393 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	include/battle_util.h
2023-06-21 15:01:14 -04:00
ghoulslash
7371a9e401
Add many gen 8 move animations (#2861)
* port many gen8 and 9 move anims from cfru

* fix thunder cage, shell smash, shelter anims. update anim credits

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-06-21 13:19:54 -04:00
Pawkkie
62ae3b1df1
Fix bug due to variable overflow when AI chooses new Pokemon to send out (#3068) 2023-06-21 12:59:30 -04:00
LOuroboros
2bf88502a7 More corrections 2023-06-19 04:18:53 -03:00
Eduardo Quezada
341ce6fd95 Merge remote-tracking branch 'merrp_origin/followers-expanded-id' into merrp/followers_RHH_merge3
# Conflicts:
#	.github/workflows/build.yml
#	README.md
#	gflib/sprite.c
#	graphics/pokemon/banette/anim_front.png
#	graphics/pokemon/banette/normal.pal
#	graphics/pokemon/sentret/normal.pal
#	graphics/pokemon/togetic/anim_front.png
#	graphics/pokemon/togetic/normal.pal
#	include/battle_script_commands.h
#	include/data.h
#	ld_script.txt
#	src/battle_controller_player.c
#	src/bike.c
#	src/event_object_movement.c
2023-06-16 21:25:16 -04:00
LOuroboros
9896f20eb8 Applied fixes and corrections (Jun 2023) 2023-06-15 09:22:26 -03:00
LOuroboros
313f522622 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into gen_9_move_effects_batch2 2023-06-13 05:44:37 -03:00
Eduardo Quezada D'Ottone
d0e6ea7612
Optimized battle gender checks (#3020)
* Optimized battle gender checks

* Apply suggestions from code review

Co-authored-by: AgustinGDLV <103095241+AgustinGDLV@users.noreply.github.com>

---------

Co-authored-by: AgustinGDLV <103095241+AgustinGDLV@users.noreply.github.com>
2023-05-27 17:23:02 -04:00
AgustinGDLV
785b100693 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into castform_fix 2023-05-16 16:29:38 -07:00
Eduardo Quezada D'Ottone
2aca82300c
Merge branch 'upcoming' into mega_evo_issues 2023-05-14 22:33:01 -04:00
AgustinGDLV
a5f28afe42 fixed Forecast and Flower Gift 2023-05-04 17:04:54 -07:00
ghoulslash
8cce130643
Add Frostbite status (#2942) 2023-05-01 09:45:47 -04:00
Bassoonian
39b50d09dd Add missing CanGetFrostbite 2023-05-01 11:19:10 +02: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
Salem
78c4d07b23
Add Berserk Gene Item (#2893)
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2023-04-25 15:03:57 -04:00
Alex
3aec63b8cf new define to restore items after battle 2023-04-20 15:08:42 +02:00
LOuroboros
b09ab5a3ee Updated Triple Arrows' effect's code and tests yet again
Also added a function to get a move's secondaryEffectChance, meant to handle abilities, side statuses and the like that modify it.
2023-04-19 01:57:34 -03: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
DizzyEggg
f6089a0057 Mega Evolution after switching and based on speed 2023-03-07 22:34:57 +01:00
Eduardo Quezada
5ca9213d07 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_script_commands.c
2023-02-21 17:47:02 -03:00
DizzyEggg
380af442c3
Fix buggy pokemon anims with Illusion (#2639)
* try illusion fix

* fix
2023-02-19 12:05:56 +01:00
DizzyEggg
0c523f9518
Fix Magic bounce powder moves against grass types (#2633)
* Fix Magic bounce powder moves against grass types
2023-02-17 13:55:51 +00:00
Eduardo Quezada
ac4825ad28 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_util.c
2023-01-13 11:50:47 -03:00
LOuroboros
620a6a5e90 Extra review changes
-Foolproofed the ability checks in ABILITYEFFECT_ON_WEATHER and ABILITYEFFECT_ON_TERRAIN
-Made BattleScript_OverworldWeatherStarts and BattleScript_OverworldTerrain call the battle scripts that handle weather form changes, weather abilities, terrain seeds and terrain abilities.
-Consequentially, I removed the activation for weather and terrain abilities that I added to TryDoEventsBeforeFirstTurn, and the activation of Protosynthesis in ABILITYEFFECT_ON_SWITCHIN.
-Added a weatherAbilityDone to prevent abilities that lack self-checks like Protosynthesis from getting stuck in a loop.
-Removed now pointless ABILITYEFFECT_WEATHER_FORM. I think Duke/Sneed69 added it to fix Castform's form change, but it no longer serves a purpose.
2023-01-09 14:22:14 -03:00
LOuroboros
c32f584940 Applied review changes 2023-01-08 19:50:27 -03:00
LOuroboros
d0f5653f5e Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into mimicry 2023-01-02 19:00:41 -03:00
Eduardo Quezada
a23501a4a3 Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	src/battle_script_commands.c
2023-01-02 18:54:57 -03:00
LOuroboros
13d8c0d167 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dev_gen9_abilities 2023-01-02 14:34:24 -03:00
Eduardo Quezada
16e8a5dd7f Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	include/battle_util.h
2023-01-01 16:02:40 -03:00
Eduardo Quezada D'Ottone
0e1836d42b
Merge pull request #2106 from Sneed69/PartyBattlerShouldAvoidHazards
PartyBattlerShouldAvoidHazards rewrite
2022-12-30 17:55:53 -03:00
LOuroboros
e8dfb66c30 Adding ability effect triggers for terrains and weather
A new, probably better way to handle the announcement trigger that abilities such as Protosynthesis and Quark Drive have, when the battle weather or the field terrain change.

Misc. changes:
-EFFECT_DAMAGE_SET_TERRAIN -> EFFECT_HIT_SET_REMOVE_TERRAIN
 -It's more appropriate as the effect can be used to force set a terrain or simply to remove an active terrain, after all.
 -The main reason for the rename was the inconsistency with the battle script's label.
-Reverted accidentally committed change to B_DOUBLE_WILD_CHANCE, performed back in c8abf00c.
2022-12-30 03:25:16 -03:00
Eduardo Quezada
1580f892a5 Merge branch 'RHH/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	include/constants/pokemon.h
#	src/battle_script_commands.c
2022-12-19 18:53:26 -03:00
LOuroboros
a56cfd1aa7 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dev_gen9_abilities 2022-12-12 19:55:48 -03:00
LOuroboros
0d1f9d9613 Reimplemented Mimicry 2022-12-09 20:46:18 -03:00
LOuroboros
107ace784b Implemented Mycelium Might's effect 2022-12-06 06:18:18 -03:00
LOuroboros
aa051dab02 Implemented Costar's effect 2022-12-06 05:23:30 -03:00
LOuroboros
31a602f3b6 Optimized Intimidate's code 2022-11-12 18:03:46 -03:00
Eduardo Quezada
57bdb683ec DoBurmyFormChange handled by FORM_CHANGE_END_BATTLE_TERRAIN 2022-11-05 23:27:40 -03:00
Eduardo Quezada
ceb5c8a00a Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/formBattleChange
# Conflicts:
#	include/battle_util.h
#	src/battle_util.c
2022-11-05 20:11:33 -03:00
Eduardo Quezada
42f8e8c114 Multiple refactors
- Added a general GetBattleFormChangeTargetSpecies instead of getting specific ones for Mega Evolution and Primal Reversion.
- Added FORM_CHANGE_BATTLE_HP_PERCENT, to replace ShouldChangeFormHpBased.
- Cleaned ifdefs for hold effects.
- Finally removed UndoMegaEvolution.
- FORM_CHANGE_FAINT and FORM_CHANGE_BATTLE_END restore to the first form before a battle form change if species isn't specified.
- When changing from a form with more HP to one with less, now current HP is kept to fix Zygarde edge case. (Will likely need to be reworked for Dynamax, as it behaves differently)
- Uses DoesSpeciesUseHoldItemToChangeForm in CanBattlerGetOrLoseItem.
2022-11-05 20:00:12 -03:00
ghoulslash
1e6903840a Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into be/bugbite 2022-11-04 09:29:45 -04:00
ghoulslash
d13431b4ab merge w rhh master 2022-11-04 09:29:39 -04:00
Eduardo Quezada
15c12af2cf Using TryBattleFormChange in place of certain TryFormChange 2022-11-01 23:50:26 -03:00
Eduardo Quezada
797c5514d3 Mega Evolution in form change tables 2022-11-01 18:37:23 -03:00
BuffelSaft
6035c5a280 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald into multistrike 2022-10-22 14:31:13 +13:00
Eduardo Quezada
0a79390ec0 Primal Reversion in Form Change tables 2022-10-21 02:08:37 -03:00
Eduardo Quezada
861590f747 Form change when fainting. Goodbye UndoFormChange! 2022-10-20 18:53:12 -03:00
Eduardo Quezada
620e69945d Form change for starting and ending battles. Adjusted PP for Iron Head/Behemoth moves 2022-10-20 16:40:24 -03:00
LOuroboros
02c6bc64b2 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into becomingAHero 2022-10-07 12:20:52 -03:00
ghoulslash
354a8256e4
Merge pull request #2226 from Porygon23/AI-Logic-Updates
Added corner case logic for AI Switching.
2022-09-15 17:56:35 -04:00
Eduardo Quezada D'Ottone
47a50b3dac
Merge branch 'master' into weather_forms_fixes 2022-09-07 23:07:25 -04:00
Porygon23
ba6aad5bcc
Merge branch 'master' into AI-Logic-Updates 2022-09-02 14:44:47 -06:00
LOuroboros
922bbacd71 Updated GetMonFriendshipScore
-Moved it to src/pokemon.c
-Made a battle specific variant called GetBattlerFriendshipScore.
-Made that variant return 0 for Mega Evolved 'mons and if called on link battles.
2022-08-26 21:33:43 -03:00
Eduardo Quezada D'Ottone
bee36edd9c
Merge pull request #2173 from LOuroboros/yourAffection
Implement affection-now-friendship mechanics
2022-08-26 14:54:32 -04:00
Eduardo Quezada
eea718cfc6 Placeholder moves can't be used in battle. 2022-08-24 00:30:49 -04:00
Eduardo Quezada
56a2e91518 Updated move limitations 2022-08-23 22:40:04 -04:00
Eduardo Quezada
afcc1178b2 Merge remote-tracking branch 'pret/master' into MergedBranchUltimate
# Conflicts:
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	include/battle_controllers.h
#	include/battle_script_commands.h
#	include/battle_util.h
#	include/constants/battle_script_commands.h
#	include/constants/global.h
#	include/decompress.h
#	src/battle_anim_effects_1.c
#	src/battle_anim_normal.c
#	src/battle_anim_poison.c
#	src/battle_anim_water.c
#	src/battle_arena.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_safari.c
#	src/battle_controller_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/berry.c
#	src/data/trainers.h
#	src/decompress.c
#	src/field_effect.c
#	src/hall_of_fame.c
#	src/overworld.c
#	src/pokeball.c
#	src/pokemon.c
#	src/pokemon_icon.c
#	src/pokemon_storage_system.c
#	src/scrcmd.c
2022-08-22 20:30:45 -04:00
Ct11217
b95e450cb6 Added corner case logic for AI Switching.
1. Refactor Perish Song
2. Yawn
3. Secondary Damage (Leech Seed, Cursed etc).
4. Added Preliminary logic to help AI be smarter against semi-invulnerable

Added AI logic regarding abilities that benefit from switching
1. Natural Cure
2. Regenerator
2022-08-11 22:48:36 -06:00
Eduardo Quezada
4b08a511c3 Cleanup from https://github.com/pret/pokefirered/pull/532 2022-08-07 22:40:15 -04:00
Eduardo Quezada
7b3401ee27 Standarized use of star in pointer types 2022-07-29 10:17:58 -04:00
LOuroboros
032b7b2ab9 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into yourAffection 2022-07-25 10:24:19 -03:00
Eduardo Quezada D'Ottone
fe63dafcc1 Merge branch 'battle_engine' into BE_pretmerge
# Conflicts:
#	src/battle_anim_fire.c
#	src/battle_controller_player.c
2022-07-20 08:50:30 -04:00
ghoulslash
6b84a9f0b3 merge w be 2022-07-17 12:40:43 -04:00
Eduardo Quezada D'Ottone
e791cf90ad Merge tag 'pretmaster' into BE_pretmerge2
# Conflicts:
#	data/battle_anim_scripts.s
#	include/battle_anim.h
#	include/battle_controllers.h
#	include/battle_interface.h
#	include/battle_main.h
#	include/battle_setup.h
#	include/constants/battle_anim.h
#	include/constants/battle_string_ids.h
#	src/battle_ai_switch_items.c
#	src/battle_anim_fire.c
#	src/battle_anim_normal.c
#	src/battle_controllers.c
#	src/battle_dome.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/pokemon.c
2022-07-15 12:58:46 -04:00
LOuroboros
aa5c6a3f01 Implemented affection-now-friendship mechanics 2022-06-22 00:18:01 -03:00
ghoulslash
c694e0cb90 merge w be 2022-06-05 08:22:24 -04:00
GriffinR
5e6d8a77e4 Document some generic argument names 2022-05-31 14:34:25 -04:00
BuffelSaft
16570e8c3f Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2022-05-22 12:55:55 +12:00
Sneed69
d0a2be9630 weather forms fixes and config 2022-05-22 03:20:48 +03:00
ghoulslash
f6f4227f49 better bug bite impl, fix item removal 2022-05-13 16:21:41 -04:00
Eduardo Quezada D'Ottone
989ec641f4
Merge pull request #2120 from ghoulslash/be/healblock
Heal Block AI and Pollen Puff Selection Prevention
2022-05-07 19:29:24 -04:00
Eduardo Quezada D'Ottone
cbe73de8c8
Merge pull request #1861 from LOuroboros/primalReversionTweaks
Primal Reversion Tweaks
2022-05-07 11:04:23 -04:00
ghoulslash
07579bd42b prevent ally pollen puff selection under heal block. add some ai checks for heal block 2022-05-07 09:56:32 -04:00
BuffelSaft
8693db632b Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2022-05-07 12:27:20 +12:00
sneed
23870a40a8 Initial commit 2022-05-02 06:04:16 +03:00
ExpoSeed
f50a406b18 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into BE/z-moves 2022-03-22 12:56:23 -05:00
Eduardo Quezada D'Ottone
0dd2de988a
Merge branch 'battle_engine' into primalReversionTweaks 2022-02-12 23:08:12 -03:00
BuffelSaft
9d1800f53e Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into gen_8_moves_batch2 2022-01-27 17:18:51 +13:00
ghoulslash
035b2332af cache ai damage, effectiveness calcs 2022-01-13 11:28:27 -05:00
Eduardo Quezada D'Ottone
4ab4250d5d
Merge branch 'battle_engine' into be/sports 2021-12-19 20:42:15 -03:00
ExpoSeed
d6747527da Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into BE/z-moves 2021-12-16 21:44:01 -06:00
ultima-soul
7369f60c06 Merge branch 'battle_engine' of github.com:rh-hideout/pokeemerald-expansion into battle_engine_sync 2021-12-03 17:30:45 -08:00
LOuroboros
19af517bbb Edited pointless or useless Primal Reversion code
Also added an equivalent to GetMegaEvolutionSpecies and GetWishMegaEvolutionSpecies for Primal Reversion.
Also also modified how CanBattlerGetOrLoseItem checks for Primal Reversion.
Also also also rewrote the check that triggers Primal Reversion in TryDoEventsBeforeFirstTurn.
2021-12-01 00:56:33 -03:00
ghoulslash
5c52abd856 gen3 sport move functionality behind config 2021-11-23 21:20:32 -05:00
BuffelSaft
cca7ec8c58 Fix and rename GetMoveTargetType
Change name to GetBattlerMoveTargetType and make it actually use the battlerId argument.
2021-11-24 12:09:54 +13:00
BuffelSaft
fa0b5188bb Dynamic move targeting
Properly implement Expanding Force by replacing all  instances that read move target from gBattleMoves with a function.
2021-11-23 16:56:11 +13:00
ultima-soul
3ed51d6d91 Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync 2021-11-21 10:40:26 -08:00
BuffelSaft
16a4fc9062 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-11-19 16:33:24 +13:00
ghoulslash
940a165be7 merge w be 2021-11-13 09:09:15 -05:00
kleeenexfeu
f808710932
Moving IsBattlerProtected 2021-11-13 13:38:07 +01:00
BuffelSaft
72d12a575d Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-11-07 12:13:18 +13:00
ghoulslash
41bf1dc2f4 merge w be 2021-11-06 10:40:57 -04:00
ghoulslash
0ac6860855
Merge pull request #1810 from BuffelSaft/ai_improvements
AI: Multi-strike moves, variable power moves, sleep check
2021-11-04 12:28:00 -04:00
LOuroboros
22f7e81bef Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into mimicry 2021-11-04 12:25:26 -03:00
LOuroboros
b64d506809 Made a function to lift Mimicry's effect 2021-11-04 12:20:31 -03:00
BuffelSaft
7d10097684 Replace IsTwoStrikesMove with FLAG_TWO_STRIKES
Note that this flag does nothing until the Parental Bond PR is merged - it's just for the AI until then.
2021-11-04 17:11:56 +13:00
BuffelSaft
4a7ddb737b Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into ai_improvements 2021-11-04 15:51:11 +13:00
BuffelSaft
5a855db4ad Fix prototype of CanBePoisoned 2021-11-04 11:08:37 +13:00
BuffelSaft
f323e2c047 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into pastel_veil 2021-11-03 14:18:28 +13:00
LOuroboros
69b42de0d9 Implemented Mimicry
Thanks to AsparagusEduardo for helping me optimize RestoreBattlerOriginalTypes.
2021-11-02 14:44:55 -03:00
ghoulslash
98b4b821dc merge with be 2021-11-01 13:55:55 -04:00
BuffelSaft
0345dea918 Replace EFFECT_DOUBLE_HIT with FLAG_TWO_STRIKES
This removes the need to have separate move effects for Twineedle, Double Iron Bash, and any custom two strike moves.
2021-11-01 23:39:37 +13:00
BuffelSaft
fb25e1ac98 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-11-01 22:37:23 +13:00
BuffelSaft
52054e4bfe Fix Corrosion, Poison Touch
- CanBePoisoned now calls CanPoisonType instead of overriding it. Poison Touch now activates only if the attacker actually damaged the target. Partially implemented Pastel Veil.
2021-10-30 21:12:18 +13:00
ghoulslash
af914ee7ed merge w be 2021-10-29 22:33:50 -04:00
ghoulslash
28bc7dc14d start ability 2021-10-29 22:32:19 -04:00
ghoulslash
204748e01a fix recycle and harvest 2021-10-28 17:52:52 -04:00
ghoulslash
bebaded415 merge with be 2021-10-27 16:48:38 -04:00
BuffelSaft
4310868bee AI handles multi-strike and fixed dmg moves
Does not account for Parental Bond or Beat Up yet as those require some functions from #1676.
2021-10-24 18:49:17 +13:00
ghoulslash
5509ceea04 expand move target field 2021-10-16 16:10:45 -04:00
BuffelSaft
e59be67023 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-10-15 16:25:11 +13:00
Eduardo Quezada D'Ottone
21837b659a
Merge branch 'battle_engine' into bug_bite 2021-10-14 19:46:50 -03:00
ghoulslash
a3d2bdc9cf merge with be 2021-10-13 18:30:53 -04:00
ghoulslash
06bcfea3b8 merge with be 2021-10-10 19:56:33 -04:00
ghoulslash
fcada4fcad handle rototiller + prankster 2021-10-10 19:54:17 -04:00
BuffelSaft
07bdd2ffe6 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-10-09 15:18:51 +13:00
GriffinR
31b501e7eb Start misc battle documentation 2021-10-08 16:39:46 -04:00
ghoulslash
ee3a2c97ee Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into last_ball 2021-10-06 13:54:40 -04:00
ghoulslash
4382420dd2 merge with be 2021-10-06 13:32:59 -04:00
GriffinR
6e62c057f5 Document remaining symbols in pokemon.c 2021-10-02 23:48:12 -04:00
ghoulslash
761006a164 merge with be 2021-09-26 19:19:32 -04:00
ghoulslash
2f69748e0d merge with be 2021-09-23 14:38:01 -04:00
ghoulslash
768598b154 fix bad merge 2021-09-23 12:22:36 -04:00
ghoulslash
33972b5493 merge with be 2021-09-23 12:04:13 -04:00
BuffelSaft
530998c4b7 Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald into multistrike 2021-09-23 16:41:35 +12:00
BuffelSaft
2f03ac31b9 Multihit refactor and Parental Bond
Port multihit system from the CFRU, implement Parental Bond, refactor certain moves as required and implement all remaining multi hit moves except Dragon Darts.
2021-09-23 14:31:21 +12:00
ghoulslash
d738297f24 merge with be 2021-09-22 16:26:09 -04:00
ghoulslash
3559a1b8e6 fix prankster + magic coat 2021-09-22 16:09:23 -04:00
ghoulslash
1309eea8ec Merge branch 'battle_engine' of https://github.com/rh-hideout/pokeemerald-expansion into gen8_move_effects 2021-09-22 09:43:48 -04:00
Eduardo Quezada D'Ottone
287ffff2e2
Merge branch 'battle_engine' into burmy-form-change 2021-09-21 22:34:37 -03:00