Commit graph

14310 commits

Author SHA1 Message Date
Bassoonian
77f0ab88d4 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion 2023-12-24 23:17:58 +01:00
Bassoonian
c2a5b71d46 Fix six stage berry graphical issues 2023-12-24 23:17:05 +01:00
Bassoonian
c115649349 Fix 6 stage Berry trees not growing properly 2023-12-24 23:08:15 +01:00
Bassoonian
9be8fed52c Fix string with duplicate berry berry 2023-12-24 22:59:43 +01:00
LOuroboros
58b03cb3bd
Implemented a CannotUseItemsInBattle function (#3524)
* Implemented a CannotUseItemsInBattle function
This fucntion is the result of merging CannotUseBagBattleItem and CannotUsePartyBattleItem. No reason to split the work between 2 functions when you can do it all with just 1.

Misc. Changes:
-Turned most of the if statements inside the function into "else if" statements for performance reasons.
-Refactored how the local variable "cannotUse" was used turning it into a bool.

* Made CannotUseItemsInBattle use a switch statement

Misc. Changes:
-Removed pointless parentheses from case EFFECT_ITEM_SET_FOCUS_ENERGY
-Removed pointless i loop variable from case EFFECT_ITEM_INCREASE_ALL_STATS and replaced a hardcoded 1 in its for loop.
-Turned the i loop variable declared at the top of the function into a u32 variable
-Removed pointless comments. The EFFECT_ITEM constants are readable enough to convey what sort of items they affect.

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-24 22:10:01 +01:00
kittenchilly
37f19ed39e
Fix Maushold-3 and Maushold-4 icons being swapped (#3809) 2023-12-23 17:34:52 +01:00
Zimmermann Gyula
f700466e8d
Implement optional Gen1 type immunity logic. (#3627)
* Implement optional Gen1 type immunity logic.

* Add tests against Gen1 burn, freeze and paralysis.

* !fixup Expand tests with Gen1 paths.

* Fixup tests.

Remove superflous defines.
Explicitly ASSUME used move type and effect.

* Fix flipped definitions on Freezing Glare test.

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-23 16:34:24 +01:00
Zimmermann Gyula
d2235a3657
Depreciate agbcc and clarify gcc version usage in install instructions. (#3788)
* Depreciate agbcc in install instructions.

* Clarify that Ubuntu 22.04 ships with GCC v10.

* Also clarify v13 usage on remote repos.

* Typo.

* Use Edu's reworded note from the Team Aqua discord.

https://discord.com/channels/976252009114140682/1023424424713650196/1187462445762101278
2023-12-23 12:43:46 +01:00
Alex
61e6365470
Fixes Photon Geyeser category + minor AI calc fixes (#3807) 2023-12-23 12:31:40 +01:00
Zimmermann Gyula
72615a7c35
Prevent infinite loop. (#3808)
Regression caused by fe1bad68b4
2023-12-23 12:29:12 +01:00
Bassoonian
662939d5f9 Add family defines 2023-12-23 00:41:47 +01:00
Bassoonian
db0a9484ae Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion 2023-12-23 00:39:10 +01:00
DizzyEggg
1a7166c2bb
Tests do not allow to use SEND_OUT if the chosen mon is fainted (#3752)
* Tests dont allow to send out pokemon with 0 hp

* remove test test

* handle in-game 0 hp sent out

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-23 00:27:40 +01:00
Alex
fd45b383b1
Fix Photon Geyser (#3803)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-22 23:38:57 +01:00
Philipp AUER
5651bea82b
[battle_controller_player.c] refactor and fix buffer overread (#3792)
Co-authored-by: sbird <sbird@no.tld>
2023-12-22 23:24:12 +01:00
tertu
fb28ce50ae
Optional high-quality RNG (#3780)
High-quality RNG, behind the HQ_RANDOM flag, enabled by default

Makes the shuffle test error a bit more tolerant
2023-12-22 17:39:15 +00:00
Alex
63316daf30
Adds missing Doodle tests and fix (#3800) 2023-12-22 18:25:23 +01: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
ghoulslash
38d67d9051
fix exp gain when defeating two opponents at once (#3798)
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-12-22 16:24:46 +01:00
Alex
83e2f4bdf8
Adds ability Minds Eye + Tests (#3782)
* Implemented Mind's Eye with tests + Keen Eye tests

* AI test

* fix AI minds eye test

* Adds ability Minds Eye + Tests

* fix tests

---------

Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-22 16:22:53 +01:00
Alex
566653aa63
Replace mons for gen9 abilities (#3740) 2023-12-22 15:05:35 +01:00
Bassoonian
f86648755a
Fix Mega Stone descriptions (#3797) 2023-12-22 14:11:02 +01:00
DizzyEggg
91741cb60f
fix debug menu toggling first flag (#3796) 2023-12-22 11:26:43 +01:00
ravepossum
c9e9b4906a
Make overworld weather-based terrain effects use B_MSG_TERRAIN_SET constants for intro text (#3793)
Co-authored-by: ravepossum <ravepossum@example.com>
2023-12-22 09:43:22 +01:00
LOuroboros
96cb4d3823
Added last CannotUseItemsInBattle tests (#3789)
* Added missing CannotUseItemsInBattle tests

* Removed individual assumptions for the EFFECT_ITEM_ESCAPE tests and added a single global one

* Added assumption for the move-related EFFECT_ITEM_ESCAPE test

* Moved the Mean Look assumption for consistency with other tests and to be extra safe
2023-12-21 20:06:12 +01:00
DizzyEggg
cd0b4db09b
same lists for healing moves (#3787)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-21 14:07:54 +01:00
fakuzatsu
2af6d65893
added ability to set flags in tests (#3786) 2023-12-21 13:01:13 +00:00
DizzyEggg
fcdc515be2
Fix rain dance/sunny day not blending opponent sprite (#3785) 2023-12-21 13:17:05 +01:00
DizzyEggg
698e69f2b3
add emitResult argument to ShouldSwitch AI functions (#3784) 2023-12-21 11:40:04 +01:00
Frank DeBlasio
5cdee87489
Refactor Trainer sprites (#3597)
* Added TrainerSprite struct with coordinates

* Added .frontPic to struct

* Added .palette to TrainerSprite struct

* Added .animation to the struct

* Added define for sprite size

* Condensed animations since they were all the same

* Improved TRAINER_SPRITE/PAL defines

* Simplified seemingly unused .y_offset and TRAINER_PIC_SIZE values

* Condensed TRAINER_SPRITE and TRAINER_PAL into TRAINER_PIC

* Renamed .size to .y_offset since that what it appears to actually be

* Moved y_offset into TRAINER_PIC

* Moved animation inside of TRAINER_PIC

* Added array number to preproc

* Removed trailing spaces

* Added sprite/palette files to preproc

* Revert adding sprites to preproc as it fails agbcc

This reverts commit dce57f8d1bfab70b4c6630a9c4e5b43495891459.

* Added backsprite struct

* Added animations to backsprite struct

* Changed TRAINER_PIC to TRAINER_SPRITE

* Added animation to backsprite preproc

* Added .backPic to struct

* Moved array number into backsprite preproc

* Removed definitions for trainer sprites

* Hardcoded sAnims_Trainer into struct since every sprite uses it

* Fixed TRAINER_SPRITE arguments
2023-12-20 23:14:33 +01:00
Martin Griffin
3a5ca6f8f0
Small test runner improvements (#3761)
* u16 for FunctionTest PARAMETRIZE

* Speed up CB2_TestRunner

* Use DACS to handle illegal instructions

DACS is available in mgba from 44e074a15e
This is not 0.10.2, but will presumably be available in the next
release. Alternatively, a GBA BIOS could be used.

---------

Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 17:33:45 +01:00
LOuroboros
5718d99f40
Used the COMPOUND_STRING macro to unify item descriptions and item data (#3432)
* Used the COMPOUND_STRING macro to unify item descriptions and item data

Misc. Changes:
-Corrected the Serious Mint's description.
-Moved the X_ITEM_STAGES and CONFUSE_BERRY_HEAL_FRACTION macros to the top of the file for consistency's sake.
-Corrected the Tapunium Z's description.

* Oops. I forgot to delete the old .description of the X Attack

* Removed definition of CONFUSE_BERRY_HEAL_FRACTION from include/constants/items.h

* Moved CONFUSE_BERRY_HEAL_FRACTION back to include/constants/items.h

* Unified item description strings where possible

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 17:28:43 +01:00
Nephrite
1708c80200
Removed ALWAYS_CRIT, renamed critBoost (#3779)
Replaced ALWAYS_CRIT with an alwaysCriticalHit flag to account for the fact that in earlier generations, there is no crit stage at which crits are guaranteed. Renamed critBoost to criticalHitStage (at Edu's prompting). Reorder .criticalHitStage defines in battle_moves.h to be aligned with struct order.
2023-12-20 16:16:02 +01:00
DizzyEggg
6137db102e
Ally Switch (#3533)
* ally switch move animation

* Ally Switch anim done

* ally switch test and improve animation

* derp

* add ally switch known failing test for ally targeting moves

* moves which targetted ally fail after ally switch

* ally switch works like protect

---------

Co-authored-by: root <root@LAPTOP-3SNV7DEQ>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-20 15:26:28 +01:00
GriffinR
6385f0426d
Merge pull request #1968 from Jaizu/patch-5
Missing constant
2023-12-20 09:03:35 -05:00
DizzyEggg
8d238c88b9
Follow -1, 1, 0 convention for comparision functions (#3777)
* change comparision functions to use -1, 1, 0

* m
2023-12-20 14:47:14 +01:00
Martin Griffin
50cbcebc81 Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-20 12:56:35 +00:00
Alex
1e25b53433
Partner Battle refactor (#3592)
* Partner Battle refactor

* fix for steven id

* clean up

* Use trainer partner names for id

* removed testing leftover

* comment change

* more review changes

* fix compiling

* remove partener count

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 12:38:28 +01:00
Jaizu
027dccfc95
Missing constant 2023-12-20 12:24:52 +01:00
DizzyEggg
3b7782ed49
Clear BattleScripting struct at the battle start (#3776) 2023-12-20 10:48:52 +00:00
Alex
069769710b
Fixes Item Metronome damage (#3767)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 11:24:12 +01:00
kittenchilly
bb94d302ae
Add Meteorite form change functionality (#3770)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-20 10:33:08 +01:00
Eduardo Quezada D'Ottone
442620cf6b
Renamed Battle Move "Split" to the proper "Category" (#3774) 2023-12-20 10:08:26 +01:00
Martin Griffin
eee5be704c
Realign battleanim array with battlemove array. (#3769) 2023-12-19 18:24:24 +00:00
Martin Griffin
13a4bf5838 Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-19 18:08:13 +00:00
Zimmermann Gyula
df447c48d3 Realign battleanim array with battlemove array. 2023-12-19 19:03:23 +01:00
Martin Griffin
982cc7539d
EXPECT_MUL_EQ thresholds are always at least ±1 (#3768) 2023-12-19 15:34:18 +00:00
kittenchilly
c16d85e497 EXPECT_MUL_EQ thresholds are always ±1 2023-12-19 09:21:18 -06:00
Nephrite
4a1a6c5625
Battlemove refactored (recoil, crit and Z moves) (#3575)
* Unified EFFECT_RECOIL

Combined EFFECT_RECOIL_25/33/50/33_STATUS into a single EFFECT; added an extra field to BattleMove 'secondaryData' that contains the franction of HP recoil; argument still holds status effect for Flare Blitz/Volt Tackle

* BattleMove struct change

Added critrate, recoil, multihit fields, made zMove into a union of effect/powerOverride for status/non-status moves respectively. Added new recoil field and zMove field to all moves. To-do: crit rate, multihit

* Critrate field added

Moves use a critRate field instead of a flag - obsoletes EFFECT_ALWAYS_CRIT

* Just a little define

Makes clear that critBoost = 3 means ALWAYS CRIT

* Added a proper recoil field

Just to make it unambiguous and flexible - can finally have a move with 69% recoil.

* Fixed AI damage calculation for multi-strike moves

* Fixes + removed unused effects

* Tests fixes

Two to fix: pass when run in isolation but not when the whole group is run, which is annoying...

* Minor fixes

* Minor tweaks

* Fixed move effects

* recoil tests

---------

Co-authored-by: Alex <alexthenotes@gmail.com>
2023-12-19 16:10:07 +01:00
DizzyEggg
e8e9d37640
Prankster tests + fixes (#3766)
* Prankster tests + partial fix

* Fix Prankster tests and some edge cases

---------

Co-authored-by: Alex <alexthenotes@gmail.com>
2023-12-19 11:17:31 +01:00