Add Teal Mask item, move, and ability data (#3349)
This commit is contained in:
parent
fd19c261d2
commit
b5f7a51351
@ -856,6 +856,10 @@ gBattleAnims_Moves::
|
||||
.4byte Move_MAGICAL_TORQUE
|
||||
.4byte Move_PSYBLADE
|
||||
.4byte Move_HYDRO_STEAM
|
||||
.4byte Move_BLOOD_MOON
|
||||
.4byte Move_MATCHA_GOTCHA
|
||||
.4byte Move_SYRUP_BOMB
|
||||
.4byte Move_IVY_CUDGEL
|
||||
@@@@ Z MOVES
|
||||
.4byte Move_BREAKNECK_BLITZ
|
||||
.4byte Move_ALL_OUT_PUMMELING
|
||||
@ -16505,6 +16509,10 @@ Move_COMBAT_TORQUE::
|
||||
Move_MAGICAL_TORQUE::
|
||||
Move_PSYBLADE::
|
||||
Move_HYDRO_STEAM::
|
||||
Move_BLOOD_MOON::
|
||||
Move_MATCHA_GOTCHA::
|
||||
Move_SYRUP_BOMB::
|
||||
Move_IVY_CUDGEL::
|
||||
end @to do
|
||||
|
||||
@@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
@ -324,8 +324,16 @@
|
||||
#define ABILITY_ARMOR_TAIL 296
|
||||
#define ABILITY_EARTH_EATER 297
|
||||
#define ABILITY_MYCELIUM_MIGHT 298
|
||||
#define ABILITY_HOSPITALITY 299
|
||||
#define ABILITY_MINDS_EYE 300
|
||||
#define ABILITY_EMBODY_ASPECT_TEAL 301
|
||||
#define ABILITY_EMBODY_ASPECT_HEARTHFLAME 302
|
||||
#define ABILITY_EMBODY_ASPECT_WELLSPRING 303
|
||||
#define ABILITY_EMBODY_ASPECT_CORNERSTONE 304
|
||||
#define ABILITY_TOXIC_CHAIN 305
|
||||
#define ABILITY_SUPERSWEET_SYRUP 306
|
||||
|
||||
#define ABILITIES_COUNT_GEN9 299
|
||||
#define ABILITIES_COUNT_GEN9 307
|
||||
|
||||
#define ABILITIES_COUNT ABILITIES_COUNT_GEN9
|
||||
|
||||
|
||||
@ -66,6 +66,7 @@
|
||||
#define ITEM6_ADD_EV 10
|
||||
#define ITEM6_SUBTRACT_EV -10
|
||||
#define ITEM6_ADD_ONE_EV 1
|
||||
#define ITEM6_RESET_EV 0
|
||||
|
||||
// Used for GetItemEffectType.
|
||||
#define ITEM_EFFECT_X_ITEM 0
|
||||
|
||||
@ -914,7 +914,23 @@
|
||||
#define ITEM_PEAT_BLOCK 797
|
||||
#define ITEM_BERSERK_GENE 798
|
||||
|
||||
#define ITEMS_COUNT 799
|
||||
#define ITEM_FAIRY_FEATHER 799
|
||||
#define ITEM_SYRUPY_APPLE 800
|
||||
#define ITEM_UNREMARKABLE_TEACUP 801
|
||||
#define ITEM_MASTERPIECE_TEACUP 802
|
||||
#define ITEM_CORNERSTONE_MASK 803
|
||||
#define ITEM_WELLSPRING_MASK 804
|
||||
#define ITEM_HEARTHFLAME_MASK 805
|
||||
#define ITEM_HEALTH_MOCHI 806
|
||||
#define ITEM_MUSCLE_MOCHI 807
|
||||
#define ITEM_RESIST_MOCHI 808
|
||||
#define ITEM_GENIUS_MOCHI 809
|
||||
#define ITEM_CLEVER_MOCHI 810
|
||||
#define ITEM_SWIFT_MOCHI 811
|
||||
#define ITEM_FRESH_START_MOCHI 812
|
||||
#define ITEM_GLIMMERING_CHARM 813
|
||||
|
||||
#define ITEMS_COUNT 814
|
||||
#define ITEM_FIELD_ARROW ITEMS_COUNT
|
||||
|
||||
// A special item id associated with "Cancel"/"Exit" etc. in a list of items or decorations
|
||||
|
||||
@ -860,8 +860,12 @@
|
||||
#define MOVE_MAGICAL_TORQUE 826
|
||||
#define MOVE_PSYBLADE 827
|
||||
#define MOVE_HYDRO_STEAM 828
|
||||
#define MOVE_BLOOD_MOON 829
|
||||
#define MOVE_MATCHA_GOTCHA 830
|
||||
#define MOVE_SYRUP_BOMB 831
|
||||
#define MOVE_IVY_CUDGEL 832
|
||||
|
||||
#define MOVES_COUNT_GEN9 829
|
||||
#define MOVES_COUNT_GEN9 833
|
||||
|
||||
#define MOVES_COUNT MOVES_COUNT_GEN9
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@ void ItemUseOutOfBattle_WailmerPail(u8);
|
||||
void ItemUseOutOfBattle_Medicine(u8);
|
||||
void ItemUseOutOfBattle_AbilityCapsule(u8);
|
||||
void ItemUseOutOfBattle_AbilityPatch(u8);
|
||||
void ItemUseOutOfBattle_ResetEVs(u8);
|
||||
void ItemUseOutOfBattle_ReduceEV(u8);
|
||||
void ItemUseOutOfBattle_SacredAsh(u8);
|
||||
void ItemUseOutOfBattle_PPRecovery(u8);
|
||||
|
||||
@ -53,6 +53,7 @@ void ItemUseCB_BattleChooseMove(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_Medicine(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_AbilityCapsule(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_AbilityPatch(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPUp(u8 taskId, TaskFunc task);
|
||||
|
||||
@ -3166,4 +3166,6 @@ extern const u8 gText_TellHimTheWords[];
|
||||
extern const u8 gText_ExpShareOn[];
|
||||
extern const u8 gText_ExpShareOff[];
|
||||
|
||||
extern const u8 gText_BasePointsResetToZero[];
|
||||
|
||||
#endif // GUARD_STRINGS_H
|
||||
|
||||
@ -13813,6 +13813,68 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] =
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
},
|
||||
|
||||
[MOVE_BLOOD_MOON] =
|
||||
{
|
||||
.effect = EFFECT_GIGATON_HAMMER,
|
||||
.power = 140,
|
||||
.type = TYPE_NORMAL,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
},
|
||||
|
||||
[MOVE_MATCHA_GOTCHA] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, // EFFECT_MATCHA_GOTCHA
|
||||
.power = 80,
|
||||
.type = TYPE_GRASS,
|
||||
.accuracy = 90,
|
||||
.pp = 15,
|
||||
.secondaryEffectChance = 20, //burn
|
||||
.target = MOVE_TARGET_BOTH,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.thawsUser = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_SYRUP_BOMB] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, // EFFECT_SYRUP_BOMB
|
||||
.power = 60,
|
||||
.type = TYPE_GRASS,
|
||||
.accuracy = 85,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 100, // syrup bomb volatile status
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.ballisticMove = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_IVY_CUDGEL] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, // EFFECT_IVY_CUDGEL
|
||||
.power = 100,
|
||||
.type = TYPE_GRASS,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.highCritRatio = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
},
|
||||
|
||||
// Z-Moves
|
||||
[MOVE_BREAKNECK_BLITZ] =
|
||||
{
|
||||
|
||||
@ -6066,6 +6066,14 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
|
||||
[MOVE_PSYBLADE] = {0}, // TODO
|
||||
|
||||
[MOVE_HYDRO_STEAM] = {0}, // TODO
|
||||
|
||||
[MOVE_BLOOD_MOON] = {0}, // TODO
|
||||
|
||||
[MOVE_MATCHA_GOTCHA] = {0}, // TODO
|
||||
|
||||
[MOVE_SYRUP_BOMB] = {0}, // TODO
|
||||
|
||||
[MOVE_IVY_CUDGEL] = {0}, // TODO
|
||||
};
|
||||
|
||||
const struct ContestEffect gContestEffects[] =
|
||||
|
||||
@ -844,6 +844,21 @@ const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] =
|
||||
[ITEM_LINKING_CORD] = {gItemIcon_LinkingCord, gItemIconPalette_LinkingCord},
|
||||
[ITEM_PEAT_BLOCK] = {gItemIcon_PeatBlock, gItemIconPalette_PeatBlock},
|
||||
[ITEM_BERSERK_GENE] = {gItemIcon_BerserkGene, gItemIconPalette_BerserkGene},
|
||||
[ITEM_FAIRY_FEATHER] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_FairyFeather, gItemIconPalette_FairyFeather},
|
||||
[ITEM_SYRUPY_APPLE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_SyrupyApple, gItemIconPalette_SyrupyApple},
|
||||
[ITEM_UNREMARKABLE_TEACUP] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_UnremarkableTeacup, gItemIconPalette_UnremarkableTeacup},
|
||||
[ITEM_MASTERPIECE_TEACUP] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_MasterpieceTeacup, gItemIconPalette_MasterpieceTeacup},
|
||||
[ITEM_CORNERSTONE_MASK] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_CornerstoneMask, gItemIconPalette_CornerstoneMask},
|
||||
[ITEM_WELLSPRING_MASK] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_WellspringMask, gItemIconPalette_WellspringMask},
|
||||
[ITEM_HEARTHFLAME_MASK] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_HearthflameMask, gItemIconPalette_HearthflameMask},
|
||||
[ITEM_HEALTH_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_HealthMochi},
|
||||
[ITEM_MUSCLE_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_MuscleMochi},
|
||||
[ITEM_RESIST_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_ResistMochi},
|
||||
[ITEM_GENIUS_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_GeniusMochi},
|
||||
[ITEM_CLEVER_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_CleverMochi},
|
||||
[ITEM_SWIFT_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_SwiftMochi},
|
||||
[ITEM_FRESH_START_MOCHI] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_Mochi, gItemIconPalette_FreshStartMochi},
|
||||
[ITEM_GLIMMERING_CHARM] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_GlimmeringCharm, gItemIconPalette_GlimmeringCharm},
|
||||
// Return to field arrow
|
||||
[ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
|
||||
};
|
||||
|
||||
164
src/data/items.h
164
src/data/items.h
@ -9649,4 +9649,168 @@ const struct Item gItems[] =
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
.flingPower = 10,
|
||||
},
|
||||
|
||||
[ITEM_FAIRY_FEATHER] =
|
||||
{
|
||||
.name = _("Fairy Feather"),
|
||||
.price = 1000,
|
||||
.holdEffect = HOLD_EFFECT_FAIRY_POWER,
|
||||
.holdEffectParam = TYPE_BOOST_PARAM,
|
||||
.description = sFairyFeatherDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_BAG_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
.flingPower = 10,
|
||||
},
|
||||
|
||||
[ITEM_SYRUPY_APPLE] =
|
||||
{
|
||||
.name = _("Syrupy Apple"),
|
||||
.price = 2200,
|
||||
.description = sSyrupyAppleDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_UNREMARKABLE_TEACUP] =
|
||||
{
|
||||
.name = _("UnrmkblTeacup"),
|
||||
.price = 1600,
|
||||
.description = sUnremarkableTeacupDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
|
||||
.flingPower = 80,
|
||||
},
|
||||
|
||||
[ITEM_MASTERPIECE_TEACUP] =
|
||||
{
|
||||
.name = _("MstrpceTeacup"),
|
||||
.price = 38000,
|
||||
.description = sMasterpieceTeacupDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
|
||||
.flingPower = 80,
|
||||
},
|
||||
|
||||
[ITEM_CORNERSTONE_MASK] =
|
||||
{
|
||||
.name = _("CornrstneMask"),
|
||||
.price = 0,
|
||||
.description = sCornerstoneMaskDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_BAG_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
},
|
||||
|
||||
[ITEM_WELLSPRING_MASK] =
|
||||
{
|
||||
.name = _("WellsprngMask"),
|
||||
.price = 0,
|
||||
.description = sWellspringMaskDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_BAG_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
},
|
||||
|
||||
[ITEM_HEARTHFLAME_MASK] =
|
||||
{
|
||||
.name = _("HrthflameMask"),
|
||||
.price = 0,
|
||||
.description = sHearthflameMaskDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_BAG_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
},
|
||||
|
||||
[ITEM_HEALTH_MOCHI] =
|
||||
{
|
||||
.name = _("Health Mochi"),
|
||||
.price = 500,
|
||||
.description = sHealthMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_MUSCLE_MOCHI] =
|
||||
{
|
||||
.name = _("Muscle Mochi"),
|
||||
.price = 500,
|
||||
.description = sMuscleMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_RESIST_MOCHI] =
|
||||
{
|
||||
.name = _("Resist Mochi"),
|
||||
.price = 500,
|
||||
.description = sResistMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_GENIUS_MOCHI] =
|
||||
{
|
||||
.name = _("Genius Mochi"),
|
||||
.price = 500,
|
||||
.description = sGeniusMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_CLEVER_MOCHI] =
|
||||
{
|
||||
.name = _("Clever Mochi"),
|
||||
.price = 500,
|
||||
.description = sCleverMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_SWIFT_MOCHI] =
|
||||
{
|
||||
.name = _("Swift Mochi"),
|
||||
.price = 500,
|
||||
.description = sSwiftMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_Medicine,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_FRESH_START_MOCHI] =
|
||||
{
|
||||
.name = _("FrshStrtMochi"),
|
||||
.price = 300,
|
||||
.description = sFreshStartMochiDesc,
|
||||
.pocket = POCKET_ITEMS,
|
||||
.type = ITEM_USE_PARTY_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_ResetEVs,
|
||||
.flingPower = 30,
|
||||
},
|
||||
|
||||
[ITEM_GLIMMERING_CHARM] =
|
||||
{
|
||||
.name = _("GlmmringCharm"),
|
||||
.price = 0,
|
||||
.importance = 1,
|
||||
.description = sGlimmeringCharmDesc,
|
||||
.pocket = POCKET_KEY_ITEMS,
|
||||
.type = ITEM_USE_BAG_MENU,
|
||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||
},
|
||||
};
|
||||
|
||||
@ -282,6 +282,49 @@ const u8 gItemEffect_SpdefFeather[11] = {
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_HpMochi[11] = {
|
||||
[4] = ITEM4_EV_HP,
|
||||
[6] = ITEM6_ADD_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_AtkMochi[11] = {
|
||||
[4] = ITEM4_EV_ATK,
|
||||
[6] = ITEM6_ADD_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_DefMochi[11] = {
|
||||
[5] = ITEM5_EV_DEF,
|
||||
[6] = ITEM6_ADD_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_SpeedMochi[11] = {
|
||||
[5] = ITEM5_EV_SPEED,
|
||||
[6] = ITEM6_ADD_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_SpatkMochi[11] = {
|
||||
[5] = ITEM5_EV_SPATK,
|
||||
[6] = ITEM6_ADD_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_SpdefMochi[11] = {
|
||||
[5] = ITEM5_EV_SPDEF,
|
||||
[6] = ITEM6_ADD_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_ResetMochi[11] = {
|
||||
[4] = ITEM4_EV_HP | ITEM4_EV_ATK,
|
||||
[5] = ITEM5_EV_DEF | ITEM5_EV_SPEED | ITEM5_EV_SPATK | ITEM5_EV_SPDEF,
|
||||
[6] = ITEM6_RESET_EV,
|
||||
[10] = 0,
|
||||
};
|
||||
|
||||
const u8 gItemEffect_RareCandy[10] = {
|
||||
[3] = ITEM3_LEVEL_UP,
|
||||
[4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
|
||||
@ -508,6 +551,15 @@ const u8 *const gItemEffectTable[ITEMS_COUNT] =
|
||||
[ITEM_CLEVER_FEATHER] = gItemEffect_SpdefFeather,
|
||||
[ITEM_SWIFT_FEATHER] = gItemEffect_SpeedFeather,
|
||||
|
||||
//Mochi
|
||||
[ITEM_HEALTH_MOCHI] = gItemEffect_HpMochi,
|
||||
[ITEM_MUSCLE_MOCHI] = gItemEffect_AtkMochi,
|
||||
[ITEM_RESIST_MOCHI] = gItemEffect_DefMochi,
|
||||
[ITEM_GENIUS_MOCHI] = gItemEffect_SpatkMochi,
|
||||
[ITEM_CLEVER_MOCHI] = gItemEffect_SpdefMochi,
|
||||
[ITEM_SWIFT_MOCHI] = gItemEffect_SpeedMochi,
|
||||
[ITEM_FRESH_START_MOCHI] = gItemEffect_ResetMochi,
|
||||
|
||||
// Candy
|
||||
[ITEM_RARE_CANDY] = gItemEffect_RareCandy,
|
||||
[ITEM_EXP_CANDY_XS] = gItemEffect_RareCandy,
|
||||
|
||||
@ -289,6 +289,14 @@ static const u8 sToxicDebrisDescription[] = _("Throws poison spikes if hit.");
|
||||
static const u8 sArmorTailDescription[] = _("Protects from priority.");
|
||||
static const u8 sEarthEaterDescription[] = _("Eats ground to heal HP.");
|
||||
static const u8 sMyceliumMightDescription[] = _("Status moves never fail.");
|
||||
static const u8 sHospitalityDescription[] = _("Restores ally's HP.");
|
||||
static const u8 sMindsEyeDescription[] = _("Keen Eye and Scrappy.");
|
||||
static const u8 sEmbodyAspectTealDescription[] = _("Raises Speed.");
|
||||
static const u8 sEmbodyAspectHearthflameDescription[] = _("Raises Attack.");
|
||||
static const u8 sEmbodyAspectWellspringDescription[] = _("Raises Sp. Def.");
|
||||
static const u8 sEmbodyAspectCornerstoneDescription[] = _("Raises Defense.");
|
||||
static const u8 sToxicChainDescription[] = _("Moves can poison.");
|
||||
static const u8 sSupersweetSyrupDescription[] = _("Lowers the foe's Speed.");
|
||||
|
||||
#if B_EXPANDED_ABILITY_NAMES == TRUE
|
||||
const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
|
||||
@ -592,6 +600,14 @@ const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_ARMOR_TAIL] = _("Armor Tail"),
|
||||
[ABILITY_EARTH_EATER] = _("Earth Eater"),
|
||||
[ABILITY_MYCELIUM_MIGHT] = _("Mycelium Might"),
|
||||
[ABILITY_HOSPITALITY] = _("Hospitality"),
|
||||
[ABILITY_MINDS_EYE] = _("Mind's Eye"),
|
||||
[ABILITY_EMBODY_ASPECT_TEAL] = _("Embody Aspect"),
|
||||
[ABILITY_EMBODY_ASPECT_HEARTHFLAME] = _("Embody Aspect"),
|
||||
[ABILITY_EMBODY_ASPECT_WELLSPRING] = _("Embody Aspect"),
|
||||
[ABILITY_EMBODY_ASPECT_CORNERSTONE] = _("Embody Aspect"),
|
||||
[ABILITY_TOXIC_CHAIN] = _("Toxic Chain"),
|
||||
[ABILITY_SUPERSWEET_SYRUP] = _("Supersweet Syrup"),
|
||||
};
|
||||
#else // 12 characters
|
||||
const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
|
||||
@ -895,6 +911,14 @@ const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_ARMOR_TAIL] = _("Armor Tail"),
|
||||
[ABILITY_EARTH_EATER] = _("Earth Eater"),
|
||||
[ABILITY_MYCELIUM_MIGHT] = _("MceliumMight"),
|
||||
[ABILITY_HOSPITALITY] = _("Hospitality"),
|
||||
[ABILITY_MINDS_EYE] = _("Mind's Eye"),
|
||||
[ABILITY_EMBODY_ASPECT_TEAL] = _("EmbodyAspect"),
|
||||
[ABILITY_EMBODY_ASPECT_HEARTHFLAME] = _("EmbodyAspect"),
|
||||
[ABILITY_EMBODY_ASPECT_WELLSPRING] = _("EmbodyAspect"),
|
||||
[ABILITY_EMBODY_ASPECT_CORNERSTONE] = _("EmbodyAspect"),
|
||||
[ABILITY_TOXIC_CHAIN] = _("Toxic Chain"),
|
||||
[ABILITY_SUPERSWEET_SYRUP] = _("SuprswtSyrup"),
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -1199,4 +1223,12 @@ const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] =
|
||||
[ABILITY_ARMOR_TAIL] = sArmorTailDescription,
|
||||
[ABILITY_EARTH_EATER] = sEarthEaterDescription,
|
||||
[ABILITY_MYCELIUM_MIGHT] = sMyceliumMightDescription,
|
||||
[ABILITY_HOSPITALITY] = sHospitalityDescription,
|
||||
[ABILITY_MINDS_EYE] = sMindsEyeDescription,
|
||||
[ABILITY_EMBODY_ASPECT_TEAL] = sEmbodyAspectTealDescription,
|
||||
[ABILITY_EMBODY_ASPECT_HEARTHFLAME] = sEmbodyAspectHearthflameDescription,
|
||||
[ABILITY_EMBODY_ASPECT_WELLSPRING] = sEmbodyAspectWellspringDescription,
|
||||
[ABILITY_EMBODY_ASPECT_CORNERSTONE] = sEmbodyAspectCornerstoneDescription,
|
||||
[ABILITY_TOXIC_CHAIN] = sToxicChainDescription,
|
||||
[ABILITY_SUPERSWEET_SYRUP] = sSupersweetSyrupDescription,
|
||||
};
|
||||
|
||||
@ -3918,3 +3918,78 @@ static const u8 sBerserkGene[] = _(
|
||||
"Sharply boosts\n"
|
||||
"Attack, but causes\n"
|
||||
"lasting confusion.");
|
||||
|
||||
static const u8 sFairyFeatherDesc[] = _(
|
||||
"A hold item that\n"
|
||||
"raises the power of\n"
|
||||
"Fairy-type moves.");
|
||||
|
||||
static const u8 sSyrupyAppleDesc[] = _(
|
||||
"A very syrupy apple\n"
|
||||
"that makes certain\n"
|
||||
"Pokémon evolve.");
|
||||
|
||||
static const u8 sUnremarkableTeacupDesc[] = _(
|
||||
"A cracked teacup\n"
|
||||
"that makes certain\n"
|
||||
"Pokémon evolve.");
|
||||
|
||||
static const u8 sMasterpieceTeacupDesc[] = _(
|
||||
"A chipped teacup\n"
|
||||
"that makes certain\n"
|
||||
"Pokémon evolve.");
|
||||
|
||||
static const u8 sCornerstoneMaskDesc[] = _(
|
||||
"Allows Ogerpon to\n"
|
||||
"wield the Rock-\n"
|
||||
"type in battle.");
|
||||
|
||||
static const u8 sWellspringMaskDesc[] = _(
|
||||
"Allows Ogerpon to\n"
|
||||
"wield the Water-\n"
|
||||
"type in battle.");
|
||||
|
||||
static const u8 sHearthflameMaskDesc[] = _(
|
||||
"Allows Ogerpon to\n"
|
||||
"wield the Fire-\n"
|
||||
"type in battle.");
|
||||
|
||||
static const u8 sHealthMochiDesc[] = _(
|
||||
"An item that raises\n"
|
||||
"the base HP of\n"
|
||||
"a Pokémon.");
|
||||
|
||||
static const u8 sMuscleMochiDesc[] = _(
|
||||
"An item that raises\n"
|
||||
"the base Attack of\n"
|
||||
"a Pokémon.");
|
||||
|
||||
static const u8 sResistMochiDesc[] = _(
|
||||
"An item that raises\n"
|
||||
"the base Defense\n"
|
||||
"of a Pokémon.");
|
||||
|
||||
static const u8 sGeniusMochiDesc[] = _(
|
||||
"An item that raises\n"
|
||||
"the base Sp. Atk.\n"
|
||||
"of a Pokémon.");
|
||||
|
||||
static const u8 sCleverMochiDesc[] = _(
|
||||
"An item that raises\n"
|
||||
"the base Sp. Def.\n"
|
||||
"of a Pokémon.");
|
||||
|
||||
static const u8 sSwiftMochiDesc[] = _(
|
||||
"An item that raises\n"
|
||||
"the base Speed of\n"
|
||||
"a Pokémon.");
|
||||
|
||||
static const u8 sFreshStartMochiDesc[] = _(
|
||||
"An item that resets\n"
|
||||
"all base points of\n"
|
||||
"a Pokémon.");
|
||||
|
||||
static const u8 sGlimmeringCharmDesc[] = _(
|
||||
"A charm that will\n"
|
||||
"raise the shards\n"
|
||||
"from Tera Raids.");
|
||||
|
||||
@ -3260,6 +3260,22 @@ static const u8 sHydroSteamDescription[] = _(
|
||||
"This move's power increases\n"
|
||||
"under harsh sunlight.");
|
||||
|
||||
static const u8 sBloodMoonDescription[] = _(
|
||||
"Unleashes the blood moon.\n"
|
||||
"Can't be used twice in a row.");
|
||||
|
||||
static const u8 sMatchaGotchaDescription[] = _(
|
||||
"Absorbs half the damage\n"
|
||||
"inflicted. May cause a burn.");
|
||||
|
||||
static const u8 sSyrupBombDescription[] = _(
|
||||
"Lowers the foe's speed\n"
|
||||
"each turn for 3 turns.");
|
||||
|
||||
static const u8 sIvyCudgelDescription[] = _(
|
||||
"Type changes with held mask.\n"
|
||||
"High critical-hit ratio.");
|
||||
|
||||
const u8 gNotDoneYetDescription[] = _(
|
||||
"This move can't be used. Its\n"
|
||||
"effect is in development.");
|
||||
@ -4099,4 +4115,8 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
|
||||
[MOVE_MAGICAL_TORQUE - 1] = sMagicalTorqueDescription,
|
||||
[MOVE_PSYBLADE - 1] = sPsybladeDescription,
|
||||
[MOVE_HYDRO_STEAM - 1] = sHydroSteamDescription,
|
||||
[MOVE_BLOOD_MOON - 1] = sBloodMoonDescription,
|
||||
[MOVE_MATCHA_GOTCHA - 1] = sMatchaGotchaDescription,
|
||||
[MOVE_SYRUP_BOMB - 1] = sSyrupBombDescription,
|
||||
[MOVE_IVY_CUDGEL - 1] = sIvyCudgelDescription,
|
||||
};
|
||||
|
||||
@ -831,6 +831,10 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_MAGICAL_TORQUE] = _("Magical Torque"),
|
||||
[MOVE_PSYBLADE] = _("Psyblade"),
|
||||
[MOVE_HYDRO_STEAM] = _("Hydro Steam"),
|
||||
[MOVE_BLOOD_MOON] = _("Blood Moon"),
|
||||
[MOVE_MATCHA_GOTCHA] = _("Matcha Gotcha"),
|
||||
[MOVE_SYRUP_BOMB] = _("Syrup Bomb"),
|
||||
[MOVE_IVY_CUDGEL] = _("Ivy Cudgel"),
|
||||
};
|
||||
#else
|
||||
// 12 letters
|
||||
@ -1665,6 +1669,10 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_MAGICAL_TORQUE] = _("MagiclTorque"),
|
||||
[MOVE_PSYBLADE] = _("Psyblade"),
|
||||
[MOVE_HYDRO_STEAM] = _("Hydro Steam"),
|
||||
[MOVE_BLOOD_MOON] = _("Blood Moon"),
|
||||
[MOVE_MATCHA_GOTCHA] = _("MatchaGotcha"),
|
||||
[MOVE_SYRUP_BOMB] = _("Syrup Bomb"),
|
||||
[MOVE_IVY_CUDGEL] = _("Ivy Cudgel"),
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@ -795,6 +795,12 @@ void ItemUseOutOfBattle_AbilityPatch(u8 taskId)
|
||||
SetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void ItemUseOutOfBattle_ResetEVs(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_ResetEVs;
|
||||
SetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void ItemUseOutOfBattle_ReduceEV(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_ReduceEV;
|
||||
|
||||
@ -4777,6 +4777,33 @@ static void Task_ClosePartyMenuAfterText(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
bool8 cannotUseEffect = ExecuteTableBasedItemEffect(mon, item, gPartyMenu.slotId, 0);
|
||||
|
||||
if (cannotUseEffect)
|
||||
{
|
||||
gPartyMenuUseExitCallback = FALSE;
|
||||
PlaySE(SE_SELECT);
|
||||
DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = task;
|
||||
}
|
||||
else
|
||||
{
|
||||
gPartyMenuUseExitCallback = TRUE;
|
||||
PlaySE(SE_USE_ITEM);
|
||||
RemoveBagItem(item, 1);
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_BasePointsResetToZero);
|
||||
DisplayPartyMenuMessage(gStringVar4, TRUE);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = task;
|
||||
}
|
||||
}
|
||||
|
||||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
|
||||
@ -5953,7 +5953,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
|
||||
dataSigned += temp2;
|
||||
}
|
||||
else // Decreasing EV (HP or Atk)
|
||||
else if (evChange < 0) // Decreasing EV (HP or Atk)
|
||||
{
|
||||
if (dataSigned == 0)
|
||||
{
|
||||
@ -5970,6 +5970,13 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if (dataSigned < 0)
|
||||
dataSigned = 0;
|
||||
}
|
||||
else // Reset EV (HP or Atk)
|
||||
{
|
||||
if (dataSigned == 0)
|
||||
break;
|
||||
|
||||
dataSigned = 0;
|
||||
}
|
||||
|
||||
// Update EVs and stats
|
||||
SetMonData(mon, sGetMonDataEVConstants[temp1], &dataSigned);
|
||||
@ -6133,7 +6140,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
|
||||
dataSigned += temp2;
|
||||
}
|
||||
else // Decreasing EV
|
||||
else if (evChange < 0) // Decreasing EV
|
||||
{
|
||||
if (dataSigned == 0)
|
||||
{
|
||||
@ -6150,6 +6157,13 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if (dataSigned < 0)
|
||||
dataSigned = 0;
|
||||
}
|
||||
else // Reset EV
|
||||
{
|
||||
if (dataSigned == 0)
|
||||
break;
|
||||
|
||||
dataSigned = 0;
|
||||
}
|
||||
|
||||
// Update EVs and stats
|
||||
SetMonData(mon, sGetMonDataEVConstants[temp1 + 2], &dataSigned);
|
||||
|
||||
@ -1833,7 +1833,7 @@ const u8 gText_Berry[] = _("BERRY");
|
||||
const u8 gText_Berries[] = _("BERRIES");
|
||||
const u8 gText_ExpShareOn[] = _("The Exp. Share has been turned on.{PAUSE_UNTIL_PRESS}");
|
||||
const u8 gText_ExpShareOff[] = _("The Exp. Share has been turned off.{PAUSE_UNTIL_PRESS}");
|
||||
|
||||
const u8 gText_BasePointsResetToZero[] = _("{STR_VAR_1}'s base points\nwere all reset to zero!{PAUSE_UNTIL_PRESS}");
|
||||
//HGSS_Ui PokedexPlus
|
||||
#if POKEDEX_PLUS_HGSS == TRUE
|
||||
const u8 gText_Stats_Buttons[] = _("{A_BUTTON}TOGGLE {DPAD_UPDOWN}MOVES");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user