mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-02-21 11:43:37 +01:00
Fix EV wings
This commit is contained in:
parent
832c452f0b
commit
c81d06b712
@ -134,9 +134,6 @@
|
||||
#define HOLD_EFFECT_ADRENALINE_ORB 152
|
||||
#define HOLD_EFFECT_MEMORY 153
|
||||
|
||||
// Unordered
|
||||
#define HOLD_EFFECT_RAISE_EV 154
|
||||
|
||||
#define HOLD_EFFECT_CHOICE(holdEffect)((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS))
|
||||
|
||||
#endif // GUARD_HOLD_EFFECTS_H
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7289,7 +7289,7 @@ const struct Item gItems[] =
|
||||
.name = _("Health Wing"),
|
||||
.itemId = ITEM_HEALTH_WING,
|
||||
.price = 300,
|
||||
.holdEffect = HOLD_EFFECT_RAISE_EV,
|
||||
.holdEffect = 0,
|
||||
.holdEffectParam = 4,
|
||||
.description = sHealthWingDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
@ -7303,7 +7303,7 @@ const struct Item gItems[] =
|
||||
.name = _("Muscle Wing"),
|
||||
.itemId = ITEM_MUSCLE_WING,
|
||||
.price = 300,
|
||||
.holdEffect = HOLD_EFFECT_RAISE_EV,
|
||||
.holdEffect = 0,
|
||||
.holdEffectParam = 4,
|
||||
.description = sMuscleWingDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
@ -7317,7 +7317,7 @@ const struct Item gItems[] =
|
||||
.name = _("Resist Wing"),
|
||||
.itemId = ITEM_RESIST_WING,
|
||||
.price = 300,
|
||||
.holdEffect = HOLD_EFFECT_RAISE_EV,
|
||||
.holdEffect = 0,
|
||||
.holdEffectParam = 4,
|
||||
.description = sResistWingDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
@ -7331,7 +7331,7 @@ const struct Item gItems[] =
|
||||
.name = _("Genius Wing"),
|
||||
.itemId = ITEM_GENIUS_WING,
|
||||
.price = 300,
|
||||
.holdEffect = HOLD_EFFECT_RAISE_EV,
|
||||
.holdEffect = 0,
|
||||
.holdEffectParam = 4,
|
||||
.description = sGeniusWingDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
@ -7345,7 +7345,7 @@ const struct Item gItems[] =
|
||||
.name = _("Clever Wing"),
|
||||
.itemId = ITEM_CLEVER_WING,
|
||||
.price = 300,
|
||||
.holdEffect = HOLD_EFFECT_RAISE_EV,
|
||||
.holdEffect = 0,
|
||||
.holdEffectParam = 4,
|
||||
.description = sCleverWingDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
@ -7359,7 +7359,7 @@ const struct Item gItems[] =
|
||||
.name = _("Swift Wing"),
|
||||
.itemId = ITEM_SWIFT_WING,
|
||||
.price = 300,
|
||||
.holdEffect = HOLD_EFFECT_RAISE_EV,
|
||||
.holdEffect = 0,
|
||||
.holdEffectParam = 4,
|
||||
.description = sSwiftWingDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
|
@ -173,46 +173,116 @@ const u8 gItemEffect_SacredAsh[7] = {
|
||||
[6] = -1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_HPUp[10] = {
|
||||
const u8 gItemEffect_HPUp[11] = {
|
||||
[4] = ITEM4_EV_HP,
|
||||
[5] = ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
[10] = 1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_Protein[10] = {
|
||||
const u8 gItemEffect_Protein[11] = {
|
||||
[4] = ITEM4_EV_ATK,
|
||||
[5] = ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
[10] = 1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_Iron[10] = {
|
||||
const u8 gItemEffect_Iron[11] = {
|
||||
[5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
[10] = 1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_Carbos[10] = {
|
||||
const u8 gItemEffect_Carbos[11] = {
|
||||
[5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
[10] = 1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_Calcium[10] = {
|
||||
const u8 gItemEffect_Calcium[11] = {
|
||||
[5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
[10] = 1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_Zinc[11] = {
|
||||
[5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
[10] = 1,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_HpWing[11] = {
|
||||
[4] = ITEM4_EV_HP,
|
||||
[5] = ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 1,
|
||||
[7] = 3,
|
||||
[8] = 2,
|
||||
[9] = 1,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_AtkWing[11] = {
|
||||
[4] = ITEM4_EV_ATK,
|
||||
[5] = ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 1,
|
||||
[7] = 3,
|
||||
[8] = 2,
|
||||
[9] = 1,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_DefWing[11] = {
|
||||
[5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 1,
|
||||
[7] = 3,
|
||||
[8] = 2,
|
||||
[9] = 1,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_SpeedWing[11] = {
|
||||
[5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 1,
|
||||
[7] = 3,
|
||||
[8] = 2,
|
||||
[9] = 1,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_SpatkWing[11] = {
|
||||
[5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 1,
|
||||
[7] = 3,
|
||||
[8] = 2,
|
||||
[9] = 1,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_SpdefWing[11] = {
|
||||
[5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 1,
|
||||
[7] = 3,
|
||||
[8] = 2,
|
||||
[9] = 1,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_RareCandy[10] = {
|
||||
@ -233,14 +303,6 @@ const u8 gItemEffect_PPUp[9] = {
|
||||
[8] = 2,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_Zinc[10] = {
|
||||
[5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 10,
|
||||
[7] = 5,
|
||||
[8] = 3,
|
||||
[9] = 2,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_PPMax[9] = {
|
||||
[5] = ITEM5_PP_MAX | ITEM5_FRIENDSHIP_ALL,
|
||||
[6] = 5,
|
||||
@ -445,6 +507,12 @@ const u8 *const gItemEffectTable[] =
|
||||
[ITEM_RARE_CANDY - ITEM_POTION] = gItemEffect_RareCandy,
|
||||
[ITEM_PP_UP - ITEM_POTION] = gItemEffect_PPUp,
|
||||
[ITEM_ZINC - ITEM_POTION] = gItemEffect_Zinc,
|
||||
[ITEM_HEALTH_WING - ITEM_POTION] = gItemEffect_HpWing,
|
||||
[ITEM_MUSCLE_WING - ITEM_POTION] = gItemEffect_AtkWing,
|
||||
[ITEM_RESIST_WING - ITEM_POTION] = gItemEffect_DefWing,
|
||||
[ITEM_GENIUS_WING - ITEM_POTION] = gItemEffect_SpatkWing,
|
||||
[ITEM_CLEVER_WING - ITEM_POTION] = gItemEffect_SpdefWing,
|
||||
[ITEM_SWIFT_WING - ITEM_POTION] = gItemEffect_SpeedWing,
|
||||
[ITEM_PP_MAX - ITEM_POTION] = gItemEffect_PPMax,
|
||||
[ITEM_GUARD_SPEC - ITEM_POTION] = gItemEffect_GuardSpec,
|
||||
[ITEM_DIRE_HIT - ITEM_POTION] = gItemEffect_DireHit,
|
||||
|
@ -4614,7 +4614,7 @@ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex,
|
||||
bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e)
|
||||
{
|
||||
u32 dataUnsigned;
|
||||
s32 dataSigned;
|
||||
s32 dataSigned, evCap;
|
||||
s32 friendship;
|
||||
s32 cmdIndex;
|
||||
bool8 retVal = TRUE;
|
||||
@ -4822,11 +4822,17 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
{
|
||||
if (evCount >= MAX_TOTAL_EVS)
|
||||
return TRUE;
|
||||
if (dataSigned >= 100)
|
||||
|
||||
if (itemEffect[10])
|
||||
evCap = 100;
|
||||
else
|
||||
evCap = 252;
|
||||
|
||||
if (dataSigned >= evCap)
|
||||
break;
|
||||
|
||||
if (dataSigned + r2 > 100)
|
||||
r5 = 100 - (dataSigned + r2) + r2;
|
||||
if (dataSigned + r2 > evCap)
|
||||
r5 = evCap - (dataSigned + r2) + r2;
|
||||
else
|
||||
r5 = r2;
|
||||
|
||||
@ -5026,11 +5032,17 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
{
|
||||
if (evCount >= MAX_TOTAL_EVS)
|
||||
return TRUE;
|
||||
if (dataSigned >= 100)
|
||||
|
||||
if (itemEffect[10])
|
||||
evCap = 100;
|
||||
else
|
||||
evCap = 252;
|
||||
|
||||
if (dataSigned >= evCap)
|
||||
break;
|
||||
|
||||
if (dataSigned + r2 > 100)
|
||||
r5 = 100 - (dataSigned + r2) + r2;
|
||||
if (dataSigned + r2 > evCap)
|
||||
r5 = evCap - (dataSigned + r2) + r2;
|
||||
else
|
||||
r5 = r2;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user