Fix Jubilife Muffin full heal effect + better full heal tests (#5444)

This commit is contained in:
kittenchilly 2024-09-29 16:05:54 -05:00 committed by GitHub
parent 4183fa9d50
commit 1c022f4d34
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 60 additions and 22 deletions

View file

@ -13867,6 +13867,7 @@ const struct Item gItemsInfo[] =
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
.battleUsage = EFFECT_ITEM_CURE_STATUS,
.effect = gItemEffect_FullHeal,
.flingPower = 30,
.iconPic = gItemIcon_JubilifeMuffin,
.iconPalette = gItemIconPalette_JubilifeMuffin,

View file

@ -94,11 +94,14 @@ SINGLE_BATTLE_TEST("Burn Heal heals a battler from being burned")
}
}
SINGLE_BATTLE_TEST("Ice Heal heals a battler from being frozen")
SINGLE_BATTLE_TEST("Ice Heal heals a battler from being frozen or frostbite")
{
u16 status;
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_ICE_HEAL].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_FREEZE); }
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { USE_ITEM(player, ITEM_ICE_HEAL, partyIndex: 0); }
@ -112,12 +115,13 @@ SINGLE_BATTLE_TEST("Ice Heal heals a battler from being frozen")
SINGLE_BATTLE_TEST("Full Heal heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_FULL_HEAL].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -134,12 +138,13 @@ SINGLE_BATTLE_TEST("Full Heal heals a battler from any primary status")
SINGLE_BATTLE_TEST("Heal Powder heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_HEAL_POWDER].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -156,12 +161,13 @@ SINGLE_BATTLE_TEST("Heal Powder heals a battler from any primary status")
SINGLE_BATTLE_TEST("Pewter Crunchies heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_PEWTER_CRUNCHIES].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -178,12 +184,13 @@ SINGLE_BATTLE_TEST("Pewter Crunchies heals a battler from any primary status")
SINGLE_BATTLE_TEST("Lava Cookies heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_LAVA_COOKIE].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -200,12 +207,13 @@ SINGLE_BATTLE_TEST("Lava Cookies heals a battler from any primary status")
SINGLE_BATTLE_TEST("Rage Candy Bar heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_RAGE_CANDY_BAR].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -222,12 +230,13 @@ SINGLE_BATTLE_TEST("Rage Candy Bar heals a battler from any primary status")
SINGLE_BATTLE_TEST("Old Gateu heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_OLD_GATEAU].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -244,12 +253,13 @@ SINGLE_BATTLE_TEST("Old Gateu heals a battler from any primary status")
SINGLE_BATTLE_TEST("Casteliacone heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_CASTELIACONE].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -266,12 +276,13 @@ SINGLE_BATTLE_TEST("Casteliacone heals a battler from any primary status")
SINGLE_BATTLE_TEST("Lumiose Galette heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_LUMIOSE_GALETTE].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -288,12 +299,13 @@ SINGLE_BATTLE_TEST("Lumiose Galette heals a battler from any primary status")
SINGLE_BATTLE_TEST("Shalour Sable heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_SHALOUR_SABLE].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -310,12 +322,13 @@ SINGLE_BATTLE_TEST("Shalour Sable heals a battler from any primary status")
SINGLE_BATTLE_TEST("Big Malasada heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_BIG_MALASADA].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
@ -329,6 +342,29 @@ SINGLE_BATTLE_TEST("Big Malasada heals a battler from any primary status")
}
}
SINGLE_BATTLE_TEST("Jubilife Muffin heals a battler from any primary status")
{
u16 status;
PARAMETRIZE { status = STATUS1_SLEEP; }
PARAMETRIZE { status = STATUS1_POISON; }
PARAMETRIZE { status = STATUS1_BURN; }
PARAMETRIZE { status = STATUS1_FREEZE; }
PARAMETRIZE { status = STATUS1_PARALYSIS; }
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
PARAMETRIZE { status = STATUS1_FROSTBITE; }
GIVEN {
ASSUME(gItemsInfo[ITEM_JUBILIFE_MUFFIN].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
OPPONENT(SPECIES_WYNAUT);
} WHEN {
TURN { USE_ITEM(player, ITEM_JUBILIFE_MUFFIN, partyIndex: 0); }
} SCENE {
MESSAGE("Wobbuffet had its status healed!");
} THEN {
EXPECT_EQ(player->status1, STATUS1_NONE);
}
}
SINGLE_BATTLE_TEST("Full Heal, Heal Powder and Local Specialties heal a battler from being confused")
{
u16 item;
@ -342,6 +378,7 @@ SINGLE_BATTLE_TEST("Full Heal, Heal Powder and Local Specialties heal a battler
PARAMETRIZE { item = ITEM_LUMIOSE_GALETTE; }
PARAMETRIZE { item = ITEM_SHALOUR_SABLE; }
PARAMETRIZE { item = ITEM_BIG_MALASADA; }
PARAMETRIZE { item = ITEM_JUBILIFE_MUFFIN; }
GIVEN {
ASSUME(gItemsInfo[item].battleUsage == EFFECT_ITEM_CURE_STATUS);
PLAYER(SPECIES_WOBBUFFET);