Commit graph

6039 commits

Author SHA1 Message Date
DizzyEggg
065c0ec588
Fairy Lock animation fix (#4111)
* Fairy Lock animation fix

* remove comment

* fairy lock anim hopefully works

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-04 23:23:03 +01: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
7ae50ea507
Metaprogram (#3968)
* metaprogram.h

Created by Mr. Griffin. Removed non-relevant parts

* Added DEFAULT/DEFAULT_2 macros

Also added a demonstration in battle_main

* Removed GET_ARGS

* Expanded DEFAULT

Because why not?

* Added EXCEPT

Expands to everything but the first x arguments.

* Added BIT_INDEX (thanks to MGriffin) and COMPRESS_BIT macros

These let you compress a bit up to a word in size inside a single byte and uncompress at the same time. BIT_INDEX just tells you where the bit is.

* Updated HANDLE_EXPANDED_MOVE_NAME

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2024-02-04 16:28:27 -03:00
LOuroboros
691b1879f8
Renamed VAR_TERRAIN to B_VAR_TERRAIN and added a var-based field terrain timer (#4132)
* Renamed VAR_TERRAIN and introduced a var-based field terrains timer

* Fixed sky battle configs alignment and syntax

* Added B_VAR_TERRAIN_TIMER handling to Overworld_ResetBattleFlagsAndVars

* Removed pointless edits to EndTurnTerrain

* Updated B_VAR_TERRAIN_TIMER's comment

* Updated the syntax of ABILITYEFFECT_SWITCH_IN_TERRAIN to comply with Agbcc

* Nuked pointless VarGet calls in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects

* Reverted changes made to BS_SetRemoveTerrain
I shouldn't have touched it at all since it's not involved with B_VAR_TERRAIN functionality.

* Removed trailing spaces in the case ABILITYEFFECT_SWITCH_IN_TERRAIN of AbilityBattleEffects
2024-02-04 13:04:55 +01:00
DizzyEggg
85eea4869d
Fix move animation crashing on some emulators because of division by zero (#4121)
* fix flip turn div by zero

* fix incinerate move anim div by zero
2024-02-03 16:56:50 +01:00
Alex
ab2774f8c7
Adds Dragon Cheer (#4122)
* Adds Dragon Cheer

* fix assumptions

---------

Co-authored-by: ghoulslash <41651341+ghoulslash@users.noreply.github.com>
2024-02-03 08:00:41 -07:00
DizzyEggg
132ca1be14
Change Safe Div to explicitly check b != 0 2024-02-02 22:57:02 +01:00
Bassoonian
adc3308d13 Actually multi battles seem to work fine too 2024-02-02 16:52:39 +01:00
Bassoonian
6c1a111c14 No questionnaires are actually broken 2024-02-02 16:45:58 +01:00
Bassoonian
06d04c1194 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into ghoulsaveblock 2024-02-02 16:39:15 +01:00
Bassoonian
b8b7dd304b Add final config documentation 2024-02-02 16:38:33 +01:00
Bassoonian
6f668fb31d Add FREE_MYSTERY_GIFT 2024-02-02 16:31:19 +01:00
Bassoonian
4092d0283a Fix FREE_BATTLE_TOWER_E_READER 2024-02-02 15:58:27 +01:00
ghoulslash
83b9b95662
add supersweet syrup, unify single-use entry abilities to single field (#4115)
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2024-02-02 15:44:14 +01:00
Bassoonian
db95a06ae0 Fix FREE_TRAINER_HILL 2024-02-02 15:24:46 +01:00
Bassoonian
dedba114be Fix FREE_LINK_BATTLE_RECORDS 2024-02-02 15:16:18 +01:00
Bassoonian
a1c17a1de7 Fix FREE_ENIGMA_BERRY 2024-02-02 15:01:50 +01:00
Bassoonian
cc57452695 Fix FREE_UNION_ROOM_CHAT 2024-02-02 14:57:40 +01:00
Bassoonian
24ed9e77ff Fix FREE_MATCH_CALL 2024-02-02 14:13:16 +01:00
Bassoonian
deb3e6a11d Add dependency #error 2024-02-02 13:47:53 +01:00
Bassoonian
27a65a5961 Fix FREE_RECORD_MIXING_HALL_RECORDS 2024-02-02 13:46:19 +01:00
Bassoonian
90be8436d9 Fix FREE_POKEMON_JUMP 2024-02-02 13:39:21 +01:00
Bassoonian
26a4c56843 Ensure FREE_EXTRA_SEEN_FLAGS works 2024-02-02 13:32:13 +01:00
Bassoonian
495ee6698c Clean up code 2024-02-02 13:13:27 +01:00
Bassoonian
acf5d8133a Convert ifndef configs to standard configs 2024-02-02 12:43:31 +01:00
Bassoonian
d1bb078919 Merge branch 'saveblock' of https://github.com/ghoulslash/pokeemerald into ghoulsaveblock 2024-02-02 11:27:48 +01:00
kaicardenas2
e828ae58a1
Non-Tagged Release (#4109) 2024-02-01 21:20:10 -03:00
Eduardo Quezada D'Ottone
2d24f96420
Version 1.7.3 (#4106)
* Version 1.7.3

* Latest changelog
2024-02-01 20:55:53 -03:00
Bassoonian
ccfebe5e05
Adds missing evolution methods (#4087)
* Add evolution tracker to BoxMon struct

* Add "use move 20 times, then lv up" evolution method

* Add recoil tracker

* Reduce to 9 bits

* Fix agbcc complaint

* Put MOVEEND_CLEAR_BITS at the end

* Remove battle argument from tryupdaterecoiltrackker

* Add null checks

* Fix upcoming merge

* Add requested formatting changes

* Condense evolution check into a single function for easier customisation later

* Incorporate review requests

* Update src/pokedex_plus_hgss.c

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

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-02-01 18:35:38 -03:00
Eduardo Quezada
09d12fb154 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	ld_script_modern.ld
#	src/battle_ai_switch_items.c
2024-02-01 12:52:31 -03:00
ZnogyroP
71b49a114f
Adds move Upper Hand (#4085)
* Remove non-existent tilesets from label comments and alphabetize

* Fixed braces style

* gbagfx bit depth upconversion fix

* jsonproc: filter out every non-alphanumeric character

* fix(linking): link gflib/malloc.c at top of EWRAM in ld_script_modern.ld

* Adds move Upper Hand

* Requested changes

- Tabs / spaces where proper
- HitFromAtkString -> HitFromAccCheck
- Actually compiles now lol
- Moved assumes into relevant tests
- Cleaned up the check for TryUpperHand

* Fixed || positioning

* Update upper_hand.c

* Revert "Merge remote-tracking branch 'upstream/master' into upper-hand"

This reverts commit b21275dfe9, reversing
changes made to 89b1ad1ea1.

* AI logic and conflicts solved

* Test fix

* Fix Sheer Force test

* Requested changes

* Requested changes

* Update battle_script_commands.c

---------

Co-authored-by: GriffinR <griffin.g.richards@gmail.com>
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
Co-authored-by: Sierraffinity <sierra@domoreaweso.me>
Co-authored-by: sbird <sbird@no.tld>
2024-02-01 12:23:58 +01:00
Nephrite
8a8d181654 AdditionalEffects storage tweak
Uses some macro and bitwise trickery to store additional effects and the count thereof in a single word
2024-02-01 15:19:10 +09:00
Alex
6d3fa525d5
Rename EFFECT_FAKE_OUT to EFFECT_FIRST_TURN_ONLY (#4081)
* Splits First Impression effect from Fake Out

* Fix test failing

* rename EFFECT_FAKE_OUT

* use moveeffect chance for fake out and priority field for first impression

* rename rest of fake out

* messed up merge

* remove useful comment

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-31 09:32:58 -03:00
DizzyEggg
f5623595a0
Fix AI trying to switch into the same mon 2 times (#4098) 2024-01-30 16:14:33 +01:00
Nephrite
086375ab13 Moved a couple more flags 2024-01-30 18:05:52 +09:00
Nephrite
02ffd05aea Removed Sheer Force flag 2024-01-30 13:37:38 +09:00
Nephrite
e602a310c9 BattleMove adjustment
Moved one or two flags to the effects array as well
2024-01-30 13:37:29 +09:00
LOuroboros
a64e1c63c1
Move data unification (#3999)
* Made gBattleMoves handle the InGame name and description of battle moves
No more multiple arrays in separate, individual files.

Note:
-Keep an eye on Task_LearnedMove.

* Reintroduced move names

Misc:
-Fixed Trick-or-Treat and Light of Ruin's expanded names.
-Introduced a new field for Z-Move names, and a constant for their name length.
-Added a few TODOs to GetBattleMoveName.
-Updated GetMaxMoveName and GetZMoveName. There's no reason not to let GetBattleMoveName handle everything on its own.

* Updated GetBattleMoveName to handle Z-Move Names

Misc:
-Removed pointless TODO about MOVE_NAME_LENGTH.
 -The compiler doesn't allow to have a move name with a value higher than MOVE_NAME_LENGTH, therefore it's pointless to worry about it.

* Fixed a couple of expanded move names

* Removed zMoveName variable of struct BattleMove and extended the name variable's size

* Ditched no longer used MOVE_NAME_LENGTH constant

* Corrected the names of the max moves
I should have done this after updating the size of the name variable of the struct BattleMove, but I didn't think about it at all until Cancer Fairy indirectly gave me the idea.

* Fixed U-turn's name

* Brought back MOVE_NAME_LENGTH
I think it doesn't make sense to have a Z_MOVE_NAME_LENGTH because the length in question is used for all battle moves, not just the Z-Moves.

* Introduced a union for Move/Z-Move names in the struct BattleMove

* Fixed the union for gBattleMoves move names
Also updated GetBattleMoveName to properly handle Max Move names.
Also also renamed the "zMoveName" variable to "bigMoveName" which better reflects its purpose. Z-Move names weren't the only thing it covered, since it also handles Max Move names.

* Removed deprecated GetZMoveName and GetMaxMoveName

* Reintroduced mention to gMoveNames in sGFRomHeader

* Fixed move names and ported move descriptions

* Fused the struct ContestMove into the struct BattleMove

* Removed no longer used Z_MOVE_NAME_LENGTH constant

* Renamed the struct BattleMove's bigMoveName variable and introduced macros to prettify move names

* Reintroduced the contest parameters for Pokémon moves

* Renamed gBattleMoves to gMovesInfo
This is consistent with gSpeciesInfo, the array that contains most of the species data.

* Renamed the BattleMove struct to MovesInfo
This is consistent with the struct SpeciesInfo, which contains the variables used by the gSpeciesInfo array.

* Removed empty lines separating battle params from contest params in gMovesInfo

* Renamed MovesInfo to MoveInfo

* Added Cancer Fairy's HANDLE_EXPANDED_MOVE_NAME macro
Used to handle moves with expanded names in a more comfortable manner.
Also fixed Trick-or-Treat's expanded name.

* Renamed GetBattleMoveName to GetMoveName

* Added a comment pointing out that the shared move descriptions are shared move descriptions

* Re-aligned one of the escape characters of CHECK_MOVE_FLAG

* Renamed the battle_moves.h file to moves_info.h instead for consistency's sake

* Applied Eduardo's adjustments

* Using compound string for regular move names as well, saving 1180 bytes and making their use consistent
* Move description formatting

* Updated Pursuit test after merge

* Renamed the BATTLE_CATEGORY constants to DAMAGE_CATEGORY

---------

Co-authored-by: Nephrite <thechurchofcage@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-29 08:51:32 -03:00
Alex
199e863909
Adds move score defines + minor score clean up (#4075)
* Adds move score defines + minor score clean up

* fixes compiling, added comments + more replacements

* fix agbcc

* Update include/battle_ai_main.h

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

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-29 12:28:16 +01:00
Eduardo Quezada D'Ottone
308bf50dcc
Set EFFECT_PLACEHOLDER as the default move effect (#4079) 2024-01-27 15:33:29 -03:00
Bassoonian
b9a02b205d
Rename gItems and gAbilities to gItemsInfo and gAbilitiesInfo (#4068)
* Rename gItems to gItemsInfo

* Rename gAbilities to gAbilitiesInfo

* Just fixing up my bad merge

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-26 15:25:52 -03:00
Alex
0bdc0b2aa5
Fix leftover (#4074) 2024-01-26 18:58:07 +01:00
Bassoonian
80e6ca1df0
Converts a bunch of #if to regular conditions (#4071)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-26 18:15:45 +01:00
Alex
d0a35eec1d
AI score changes, mostly IncreaseStatUpScore + few others (#4036) 2024-01-26 16:48:51 +00:00
Eduardo Quezada D'Ottone
c8d73c0827
Merge branch 'upcoming' into guillotine-expansion 2024-01-26 10:10:27 -03:00
Bassoonian
78708cad55
Adds universal move array (#4052)
* Add universal move list

* Exclude TM illiterates from learning universal moves

* Add config for literacy checks

* Fix config check

* Update src/pokemon.c

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

* Other review remarks

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-24 11:45:22 -03:00
Bassoonian
4c21c85ee2
PLA Items (#3825)
* Add PLA item data

* Add most item sprites

* Incorporate review feedback
2024-01-23 18:24:58 +01:00
Eduardo Quezada
00e2ca6030 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/constants/battle_move_effects.h
#	src/battle_ai_util.c
#	src/battle_script_commands.c
#	src/battle_tv.c
#	src/data/battle_moves.h
#	src/data/pokemon/species_info/gen_9.h
2024-01-22 15:56:10 -03:00
Alex
0ec777dd24
Fixes Mind Blown / Magic Guard interaction and renames Steel Beam effect (#4043)
* Fixes Mind Blown / Magic Guard interaction and renames Steel Beam effect

* review fixes

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-21 23:42:01 +01:00
Alex
d125da7797
Fixes Life Orb + Eject Pack / Red Card interaction (#4038)
* Fixes Life Orb + Eject Pack / Red Card interaction

* fix test
2024-01-20 22:48:34 +01:00
Nephrite
89a632cfa4
Moved scripts array to src/data/battle_move_effects.h (#3994)
* Created gMoveBattleEffects array

* Renamed array to gBattleMoveEffects

Applied array in battle_util.c and battle_script_commands.c; doesn't build yet...

* Got it building...

* Added missing battle_tv effects

* Fixed and got it building

I'm an idiot sometimes

* Added battle_tv scores, encourage Encore flag

All works and builds just fine

* Merge fixes

* Reformatted battle_move_effects

Also tweaked struct, added macro

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-19 16:44:09 +01:00
tertu
179a0ea97a
Seed the RNG with the time in seconds in HQ mode (#3812) 2024-01-19 10:27:42 +00:00
GriffinR
8e8d2f5efa Remove non-existent tilesets from label comments and alphabetize 2024-01-18 14:31:04 -05:00
Bassoonian
1aff65029f
Deprecate GetBerryCountString (#4012)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-18 18:59:42 +01:00
Alex
9efdd9e0cd
Adds Move Shed Tail (#4016)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-18 00:14:18 +01:00
Eduardo Quezada
71fe6b34dc Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	include/battle_scripts.h
#	src/battle_script_commands.c
2024-01-17 12:29:33 -03:00
Eduardo Quezada
cadaeb7074 Non-tagged 2024-01-17 11:52:04 -03:00
Eduardo Quezada D'Ottone
3636ff6d69
Version 1.7.2 (#4013)
* Version 1.7.2

* I got one more in me, couch
2024-01-17 11:51:00 -03:00
Ariel A
8a52316dd2 Reformatted for code review. Moved config to include/config/decap.h. 2024-01-17 01:12:04 -05:00
Alex
87472d4a6c
A few new gen 9 move animations (#3989)
* A few new gen 9 move animations

* draco meteor anim

tmp

* applied suggestions

* fix compile

* add more crystals to ice spinner

* further fixes

---------

Co-authored-by: ghoulslash <41651341+ghoulslash@users.noreply.github.com>
2024-01-16 19:33:49 -07:00
Alex
8f99ef16be
Adds Move Psychic Noise (#4005)
* Adds Move Psychic Noise

* changes psychic noise from effect to move_effect

* remove leftover

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-16 22:52:56 +01:00
psf
cdf7190d15
Add pluralName to gItems to allow the proper spelling when multiple items are received at once (#4001)
* Updated CopyItemNameHandlePlural to deal with plural names

* Fixed whitespace in a few places

* Fixed whitespace in a few places

* Add remaining plural forms.

* Created ITEM_NAME_PLURAL_LENGTH

* Updated ITEM_NAME_PLURAL_LENGTH per feedback https://github.com/rh-hideout/pokeemerald-expansion/pull/4001\#discussion_r1453598165

* Reverted ITEM_NAME_PLURAL_LENGTH to +2 and added new comment

* Removed GetBerryCountString from CopyItemNameHandlePlural
Will deprecate the former in a future feature: https://github.com/rh-hideout/pokeemerald-expansion/issues/4010

---------

Co-authored-by: Zimmermann Gyula <graiondilach@hotmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-16 19:05:41 +01:00
Bassoonian
9a1f6dfb64
Allow one-mon double battles (#4007)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-16 18:24:49 +01:00
Frank DeBlasio
0bdac90cfe
Refactor mugshots (#4000)
* Refactor battle mugshots
The battle mugshot transitions have been merged into the one transition id and are now loaded depending on the trainer data.

Two new fields have been added to struct Trainer; mugshotEnabled and mugshotColor. mugshotEnabled is the toggle for loading the mugshot transition when set to TRUE and mugshotColor is the color of the mugshot for that particular trainer.

The Elite Four and Champion have been updated so their mugshots are correctly loaded when you battle them.

A bug has also been fixed where if the player starts on a tile that has an active field effect, the player's sprite will use the palette of the opponent's sprite.

* Added a new folder in src/data named battle_transitions.

The two look ups for the opponent rotation scaling and coords have been put into their own files and added into this new folder.

The coords look up has also been changed to use the  struct.

* Fixed errors with modern that were preventing compile

* Added mugshot coords to gTrainerSprites

* Added rotation scales to gTrainerSprites

* Replaced tabs with spaces

* Incorporated comments

* Added battle_transition include back to data.c

* Fixed alignment issues in Mugshots_CreateTrainerPics

---------

Co-authored-by: pkmnsnfrn <pkmnsnfrn@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-16 00:45:13 +01:00
Bassoonian
e8a238a775
Exp yield configs (#3995)
* Gen 1 exp yield config

* I'm a dumdum

* Gen 2 configs

* Exp yield configs up to gen3

* Gen 4 configs

* Gen 5 configs

* Configs up to gen6

* Gen7 configs

* Final form exp adjustments
2024-01-15 23:49:12 +01:00
Alex
f6c08c08b6
Fix item usage in double battles (#3977)
* Fix item usage in double battles

* fix failing tests

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-15 21:55:35 +01:00
psf
bf8b09b1b6
Item Ball refactor / Pluralize item names for giveitem and finditem (#3942)
* Emptied out item_ball_scripts
Added GetObjectEventTrainerRangeFromTemplate
Added Common_EventScript_FindItem

* Replaced trainer_sight_or_berry_tree_id with item constant
Replaced scripts with Common_EventScript_FindItem

* Renamed to GetItemBallIdAndAmountFromTemplate
Moved to item_ball.c

* Updated ObjectEventTemplate

* Updated inc files to support plural item names

* Refactored CopyItemNameHandlePlural to handle all items

* Change failsafe in GetItemBallIdFromTemplate to be ITEM_NONE + 1 instead of ITEMS_COUNT

* Converted spaces to tabs
https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415663
https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415525
https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415409
https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415130

* Added warning on object_event macro to prevent silent failure
Reverted global.fieldmap to original state, per feedback

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-14 21:35:45 +01:00
LOuroboros
80ffaa5e2c
Raised the limit of max items per stack to 999 (#3923)
* Expanded the amount of max items per stack from 99 to 999

* Set Battle Pyramid Bag stack limit back to 99
This commit exists for archival purposes.
People who may want to set the limit of item stacks in the Battle Pyramid's bag to 999 can refer to its code diff.

* Reintroduced the Battle Pyramid changes through a MAX_PYRAMID_BAG_ITEM_CAPACITY constant

* Gave 3 digit support to the Battle Pyramid's bag

* Rewrote the comment for MAX_PYRAMID_BAG_ITEM_CAPACITY

* Made DebugAction_Give_Item_SelectQuantity use MAX_ITEM_DIGITS

* Ditched BERRY_CAPACITY_DIGITS and BAG_ITEM_CAPACITY_DIGITS

* Removed MAX_BERRY_CAPACITY
No point in keeping it if we're making all item stacks cap at 999.

* Applied review corrections

* Removed pointless local var in DebugAction_Give_Item_SelectQuantity

* Defined a MAX_PYRAMID_ITEM_DIGITS

* Cleaned up some of the functions in which MAX_ITEM_DIGITS is used

Summary:
-Removed pointless local variables in CheckBagHasSpace, AddBagItem, PrintItemQuantity and PrintItemSoldAmount.
-Removed pointless brackets in an if statement of CheckBagHasSpace.
-Initialized the pocket local variable of CheckBagHasSpace from the get go to save a few lines too.

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-14 16:32:38 -03:00
Bassoonian
4846e2a884
Add updated EV configs (#3993)
* Add updated EV configs

* Fix Misdreavus ternary
2024-01-14 15:26:34 +01:00
Eduardo Quezada D'Ottone
9445953833
Moved Item Effects to gItems (#3991)
* Moved Item Effects to gItems

* Removed redundant item effects

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-14 10:03:48 +01:00
Eduardo Quezada D'Ottone
ff0aed31b3
Removed some hardcoded move IDs (#3982)
* Removed EFFECT_HURRICANE in favor of using EFFECT_THUNDER

* Added EFFECT_BLIZZARD

* Helping the IDE a little

* Added EFFECT_RAIN_ALWAYS_HIT for Forces of Nature moves

* Removed MOVE_SELF_DESTRUCT and MOVE_EXPLOSION hardcoding

* Removed EFFECT_FRUSTRATION hardcoding

MOVE_SELF_DESTRUCT

* Cleaned up sPoints_MoveEffect

* Removed MOVE_AURA_WHEEL and MOVE_PRESENT hardcoding

* Fixed compile
2024-01-12 22:41:46 +01:00
Eduardo Quezada D'Ottone
e5b58b04b6
Renamed healBlockBanned to healingMove (#3981)
* Renamed healBlockBanned to healingMove

* Fix fix
2024-01-12 18:41:45 +01:00
Biffalo XIII
a89f1eeb50 Revert "healBlockBanned -> healingMove (#3976)"
This reverts commit a947b20f31.
2024-01-12 12:10:59 -03:00
Nephrite
1ced2bf324
Converted EFFECT_x defines to enum (#3975)
follow up PR

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-12 07:30:58 -03:00
kittenchilly
a947b20f31
healBlockBanned -> healingMove (#3976) 2024-01-12 01:05:26 +01:00
Biffalo XIII
2cc26d935a Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/config/pokemon.h
#	src/birch_pc.c
2024-01-11 19:51:11 -03:00
Nephrite
f6efc75c1a Move functions to battle_ai_util.c 2024-01-12 04:01:33 +09:00
Nephrite
baefa08bee Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-12 03:13:42 +09:00
Nephrite
a76e3c70ba Applied more review fixes 2024-01-12 03:02:48 +09:00
Nephrite
3c93f97166 Apply suggestions from code review
Thanks, Edu

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-12 02:13:55 +09:00
Bassoonian
a8a504ef25
Refactor dex completion (again) (#3937)
* Refactor dex completion

* Incorporate Alex's requests

* rename to dexForceRequired

* Revert GetPokedexRatingText argument type

* Apply suggestions from code review

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

* Revert "Revert GetPokedexRatingText argument type"

This reverts commit a9b0c28040.

* Fix HasAllMons

* Fix oops

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-11 13:35:31 -03:00
Bassoonian
ce48616477
Add power item config (#3961) 2024-01-11 09:34:19 +01:00
Nephrite
c4616739d8 Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2024-01-11 00:35:35 +09:00
Nephrite
67e76f2b59 Some more review fixes + Fling fix
Not the ideal solution but Fling now has a hardcoded check for Shield Dust and acts accordingly - a better long term solution inolves making a bunch of reusable MOVE_EFFECTS and rejigging attackcanceler but I didn't feel like doing that today...
2024-01-11 00:27:06 +09:00
Alex
4dc1b1dda3
Revert "Update catch curve for pokeballs (#3685)" (#3955)
This reverts commit 929ec54a39.
2024-01-09 21:20:51 -03:00
Alex
c56acb944b
New Feature: Level Caps (#3632)
* New Feature: Level Caps

* B_LEVEL_CAP_EXP_UP and fixes

* 1 exp fix for hard level caps

* remove 1 exp hack

* Reviews applied

* fix u8/u16

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-09 18:47:23 +01:00
Alex
5498098438
Syrup Bomb / Sticky Syrup addition (#3948)
* Syrup Bomb / Sticky Syrup addition

* Update test/battle/move_effect/syrup_bomb.c

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

* Update src/battle_script_commands.c

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

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-01-09 13:37:07 +01:00
Biffalo XIII
4a3954ff34 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/birch_pc.c
#	src/main.c
2024-01-09 09:19:12 -03:00
Ariel A
85aab338a9 Merge branch 'guillotine' into guillotine-expansion 2024-01-08 19:43:06 -05:00
Bassoonian
d73c9b0b9d
Fix some ball multiplier configs (#3939)
* Fix some ball multiplier configs

* Updated the comment of B_LURE_BALL_MODIFIER

* Specified the effects of B_LURE_BALL_MODIFIER in itsa state its effects in a more specific manner

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

* Corrected the comments of B_DREAM_BALL_MODIFIER, B_SPORT_BALL_MODIFIER and B_SAFARI_BALL_MODIFIER

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

* Turned the ternaries in the case for the Lure Ball's catch rate in Cmd_handleballthrow into a regular if/else if statement

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

---------

Co-authored-by: LOuroboros <lunosouroboros@gmail.com>
Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-08 18:26:05 -03:00
Ariel A
1ce961768e Added automatic runtime decapitalization. 2024-01-07 20:21:14 -05:00
Bassoonian
7b0904c580 Fix extended berry stage palettes 2024-01-05 11:32:59 +01:00
Bassoonian
f9c21afb75
Dynamic regional dex rating (#3900) 2024-01-05 09:47:28 +01:00
Bassoonian
418e551960 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into berryexpansion 2024-01-05 00:32:21 +01:00
BiffaloXIII
8b80a54a7a
Removed footprint field when P_FOOTPRINTS is FALSE (#3925) 2024-01-04 21:54:03 +01:00
Bassoonian
1ee568ac6b Remove leftover code for myself 2024-01-04 16:12:39 +00:00
Bassoonian
b948accc80 Remove redundant table 2024-01-04 16:07:12 +00:00
Bassoonian
b56a9e6286 Remove unused function 2024-01-04 16:04:00 +00:00
Frank DeBlasio
4d5c572d0c
Refactor trainer classes (#3875)
* Created TrainerClass struct

* Added money multiplier to TrainerClass struct

* Added Poke Balls to struct

* Condensed gTrainerClasses

* Simplified trainer Poke Balls

* Moved trainer classes into battle_main.c

* Removed complicated ball macro

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-01-04 13:30:42 +01:00
Bassoonian
f94e65a400
Footprint config (#3902)
* Footprint config

* Don't enable by default
2024-01-03 21:24:45 +01:00
Alex
34f51da5f8
Merge branch 'upcoming' into feature/dynmulti-expansion 2024-01-03 15:54:39 +01:00
ghoulslash
91dfa93d3b
fix genie storm move anims for both targets, add AnimEllipticalGustCentered, AnimParticleInVortex handles multiple targets, add dynamic pals based on move target in UnpackSelectedBattlePalettes (#3895)
Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2024-01-02 23:46:07 +01:00
aronson
3c21e23555
Allocate initialized sections for EWRAM and IWRAM (#3892) 2024-01-02 14:24:52 +00:00
Martin Griffin
d1ab525552
Revert "Allocate initialized sections for EWRAM and IWRAM (#3877)" (#3891)
This reverts commit f24deb9301.
2024-01-02 13:54:42 +00:00
aronson
f24deb9301
Allocate initialized sections for EWRAM and IWRAM (#3877) 2024-01-02 13:46:01 +00:00
Nephrite
59d76c9321 A few fixes, added effects for Meteor Beam/Electro Shot 2024-01-02 20:27:50 +09:00
Nephrite
4556ecc71e Removed PRIMARY/SECONDARY macros; added flags
Just a couple for now; cleaned up parts of setadditionaleffects
2024-01-02 20:06:49 +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
0980253cce Merge branch 'upcoming' into secondary_effects_overhaul 2024-01-01 20:40:11 +09:00
kittenchilly
f6f287d637
Add Indigo Disk Pokemon data (#3878)
* Archaludon?

* more archuladon stuff

* Hydrapple and Gouging Fire

* Raging Bolt

* Iron Boulder and Iron Crown

* Terapagos

* Pecharunt

* Update gen_9.h

* Pokedex orders
2024-01-01 01:38:50 +01:00
Nephrite
923d22b42b Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into secondary_effects_overhaul_merge 2024-01-01 03:50:36 +09:00
Alex
15fa85ca2f
Merge branch 'upcoming' into feature/dynmulti-expansion 2023-12-31 00:16:44 +01:00
Bassoonian
a32e2ccc88
Move Ability AI scores to gAbilities (#3862)
* Ability refactor

* Adds abilities to RHH rom header

* Move Ability Ratings to gAbilities

* Add previously unknown ai ratings

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
2023-12-30 23:07:18 +01:00
DizzyEggg
726c6f48e3
Fix weird stat drop anim (#3870)
* Fix weird stat drop anim

* PACKED define
2023-12-30 22:53:46 +01:00
DizzyEggg
b83b1f7e88
Merge branch 'upcoming' into feature/dynmulti-expansion 2023-12-30 22:41:59 +01:00
Bassoonian
9e051aa058 Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergenewyears 2023-12-30 20:49:05 +01:00
Alex
cc32e378d6
Adds some Indigo Disk moves (#3853)
* Burning Bulwark

* Fickle Beam

* Alluring Voice

* Electro Shot

* forgot sheer force flag for alluring voice

* review changes

* additional alluring voice test

* Simple Allruing Voice animation

* Update battle.h

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-30 20:20:12 +01:00
Nephrite
9dfa0d264f Merge branch 'upcoming' into secondary_effects_overhaul 2023-12-30 23:54:01 +09:00
Nephrite
60a0020833 Tweaked macro to be more appealing 2023-12-30 20:41:29 +09:00
Nephrite
ff51eb2b6c Removed unused move effects, various ids, and one script command 2023-12-30 20:35:48 +09:00
Nephrite
e34373effc Renamed seteffectwithchance to setadditionaleffects
Function no longer has ability to apply effects from moveEffect - for that, seteffectprimary or secondary is now recommended. Removed EFFECT_RAMPAGE, updated a few tests
2023-12-30 20:29:09 +09:00
kittenchilly
66a638f7b4
Change Ivy Cudgel to be based on Ogerpon form rather than held item (#3865)
* Change Ivy Cudgel to be based on Ogerpon form rather than held item

* Update ivy_cudgel.c

* Address reviews

* Update test/battle/move_effect/ivy_cudgel.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-30 11:40:58 +01:00
Martin Griffin
ed850d3f6c
VSync BENCHMARKs and avoid AdvanceRandom in tests (#3866) 2023-12-30 11:10:40 +01:00
Martin Griffin
515aa367bf
VSync BENCHMARKs and avoid AdvanceRandom in tests (#3867) 2023-12-30 11:10:21 +01:00
Nephrite
b6da1a1e1d Tweaked helper functions 2023-12-30 17:42:53 +09:00
Nephrite
f5ae8e0686 Rapid Spin uses additional effects + test 2023-12-30 17:02:59 +09:00
Nephrite
e7de08eca2 Unified Sonic Boom & Dragon Rage
Not really in scope, but what the hell
2023-12-30 15:40:50 +09:00
Martin Griffin
ab900e38df Merge remote-tracking branch 'rhh/master' into upcoming 2023-12-29 19:48:21 +00:00
Bassoonian
1662dc3478
Merge branch 'upcoming' into berryexpansion 2023-12-29 14:32:10 +01:00
Bassoonian
6bc0bf9f8b
Ability refactor (#3861)
* Ability refactor

* Adds abilities to RHH rom header

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2023-12-29 14:25:24 +01: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
Bassoonian
bc4d4d21e4
Fix 3851 (#3857) 2023-12-29 00:33:18 +01:00
Eduardo Quezada D'Ottone
0a40cd15d1
Non-tagged release 2023-12-28 19:54:06 -03:00
Bassoonian
d3f971f0e8
Version 1.7.1 (#3855) 2023-12-28 19:50:21 -03:00
kittenchilly
94a650a203
Add Fillet Away + Belly Drum tweaks (#3616)
* Add Fillet Away

* Fillet Away and Belly Drum tests

* More tests

* Update fillet_away.c

* Update fillet_away.c

* Newlines

* Update battle_scripts_1.s

* Update belly_drum.c

* Address reviews

* Fix order

* Swords Dance assume

* Update belly_drum.c

* Try some stuff

* Fix hp not being halved in certain cases

* Update battle_scripts_1.s

* AI stuff
2023-12-28 23:27:09 +01:00
kittenchilly
1e958ada8c
Add Indigo Disk item data (#3854) 2023-12-28 23:00:34 +01:00
Nephrite
417a02c95e Fixed Make it Rain
To do: misc fixes here and there, maybe do Burn Up/Double Shock, Dragon Rage/SonicBoom...
2023-12-29 01:40:43 +09:00
Bassoonian
fde3fc0a52
Metronome move fix (#3852)
* Draft Indigo Disk move data

* Add basic defines (flags, targets and priority missing)

* Update move flags

* Temper Flare is Stomping Tantrum

* Fix failing tests

* Disable Burning Bulwark for now
2023-12-28 16:57:29 +01:00
Bassoonian
bc3737772a
Define new abilities (#3838)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-28 12:33:29 +01:00
Bassoonian
872ddf32c6
The Indigo Disk Moves (#3704)
* Draft Indigo Disk move data

* Add basic defines (flags, targets and priority missing)

* Update move flags

* Temper Flare is Stomping Tantrum

* Forgot to push, please squash :D

* Fix failing tests
2023-12-28 12:21:52 +01:00
kittenchilly
28f17772ec
Implement Pokemon Box Link functionality (#3837)
* Implement Pokemon Box Link functionality

* Update item_use.c

* Update item_use.c

* Can only use box link if the map allows escape

* Revert "Can only use box link if the map allows escape"

This reverts commit be5b46b6c4.

* Overworld_IsEscapingAllowed

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-28 11:47:00 +01:00
Bassoonian
88b0bd6394
Add gen9 item prices + configs (#3834)
* Add gen9 item prices + configs

* Adjust gen 1 PP item costs

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2023-12-27 22:48:56 +01:00
Martin Griffin
3ad66028e9
Backwards-compatible BoxPokémon Refactor (#3438)
* Check progress in non-battle PARAMETRIZEd tests

* Overworld Script Tests

* Backward-compatible BoxPokemon Refactor

Reuses space that contains zeros to provide space for:
- HP/status in the box
- 12-character nicknames
- Up to 63 PokéBalls
- Shininess separate from PID
- Hidden Nature
- Hyper Training
- Dynamax Level
- Gigantamax Factor
- Terastallization Types
- Shadow

Implements:
- OW_PC_HEAL to switch between Gen7- and Gen8+ behavior
- Nature Mints
- Dynamax Candy
- Hyper Training commands (canhypertrain/hypertrain)
- Gigantamax Factor commands (hasgigantamaxfactor/togglegigantamaxfactor)
- Terastallization Type on the summary screen
- Prevents Gigantamax Factor Pokémon from evolving into a species without a Gigantamax form

* fixup! Backward-compatible BoxPokemon Refactor

* displaydexinfo fix from Jasper
2023-12-27 17:48:17 +01:00
Bassoonian
a4b819ac41
Merge branch 'upcoming' into berryexpansion 2023-12-27 14:00:12 +01:00
ghoulslash
a9d6832908
Separate AI flags by battler position (#3003)
* ai flags by battlerId

* fix recoded battle saved ai flags

* update aiFlags check in OpponentHandleChoosePokemon

* add header for TRAINER_CUSTOM_PARTNER define

* initialize flags in BattleAI_SetupAIData

* fix usage of TRAINER_CUSTOM_PARTNER

* remove whitespace

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
2023-12-27 13:54:37 +01:00
Nephrite
77c722ea09 Obsoleted 22 more effects
Also added a better way of calculating battle_tv score properly; to do: Make it Rain
2023-12-27 17:43:20 +09:00
sbird
c27ea10eb1 Merge branch 'feature/dynmulti' into feature/dynmulti-expansion 2023-12-26 14:22:49 +01:00
Nephrite
cd5c59ae5a Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul 2023-12-26 13:19:10 +09:00
Nephrite
c5061f0161 Updated remaining moves which use secondaryEffectChance
secondaryEffectChance is no longer considered anywhere in the code; tidied up scripts and more
2023-12-26 13:12:11 +09:00