Commit graph

305 commits

Author SHA1 Message Date
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