mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-19 01:44:20 +01:00
Three pointless moves
Celebrate, Hold Hands and Happy Hour. Yay(!) Update: turns out Pay Day works differently to how I thought, so I added a new move effect for Happy Hour doubling prize money. Made all three effects subset of EFFECT_SPLASH, now called EFFECT_DUMB, as per Egg's instructions ( ͡° ͜ʖ ͡°)
This commit is contained in:
parent
79fec8a38d
commit
4c8bc9d526
@ -100,7 +100,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
|
|||||||
.4byte BattleScript_EffectMimic
|
.4byte BattleScript_EffectMimic
|
||||||
.4byte BattleScript_EffectMetronome
|
.4byte BattleScript_EffectMetronome
|
||||||
.4byte BattleScript_EffectLeechSeed
|
.4byte BattleScript_EffectLeechSeed
|
||||||
.4byte BattleScript_EffectSplash
|
.4byte BattleScript_EffectDoNothing
|
||||||
.4byte BattleScript_EffectDisable
|
.4byte BattleScript_EffectDisable
|
||||||
.4byte BattleScript_EffectLevelDamage
|
.4byte BattleScript_EffectLevelDamage
|
||||||
.4byte BattleScript_EffectPsywave
|
.4byte BattleScript_EffectPsywave
|
||||||
@ -2835,16 +2835,33 @@ BattleScript_DoLeechSeed::
|
|||||||
waitmessage 0x40
|
waitmessage 0x40
|
||||||
goto BattleScript_MoveEnd
|
goto BattleScript_MoveEnd
|
||||||
|
|
||||||
BattleScript_EffectSplash::
|
BattleScript_EffectDoNothing::
|
||||||
attackcanceler
|
attackcanceler
|
||||||
attackstring
|
attackstring
|
||||||
ppreduce
|
ppreduce
|
||||||
|
jumpifmove MOVE_HOLD_HANDS, BattleScript_EffectHoldHands
|
||||||
attackanimation
|
attackanimation
|
||||||
waitanimation
|
waitanimation
|
||||||
|
jumpifmove MOVE_CELEBRATE, BattleScript_EffectCelebrate
|
||||||
|
jumpifmove MOVE_HAPPY_HOUR, BattleScript_EffectHappyHour
|
||||||
incrementgamestat GAME_STAT_USED_SPLASH
|
incrementgamestat GAME_STAT_USED_SPLASH
|
||||||
printstring STRINGID_BUTNOTHINGHAPPENED
|
printstring STRINGID_BUTNOTHINGHAPPENED
|
||||||
waitmessage 0x40
|
waitmessage 0x40
|
||||||
goto BattleScript_MoveEnd
|
goto BattleScript_MoveEnd
|
||||||
|
BattleScript_EffectHoldHands:
|
||||||
|
jumpifsideaffecting BS_TARGET, SIDE_STATUS_CRAFTY_SHIELD, BattleScript_ButItFailed
|
||||||
|
jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_DOUBLE, BattleScript_ButItFailed
|
||||||
|
attackanimation
|
||||||
|
waitanimation
|
||||||
|
goto BattleScript_MoveEnd
|
||||||
|
BattleScript_EffectCelebrate:
|
||||||
|
printstring STRINGID_CELEBRATEMESSAGE
|
||||||
|
waitmessage 0x40
|
||||||
|
goto BattleScript_MoveEnd
|
||||||
|
BattleScript_EffectHappyHour:
|
||||||
|
setmoveeffect MOVE_EFFECT_HAPPY_HOUR
|
||||||
|
seteffectprimary
|
||||||
|
goto BattleScript_MoveEnd
|
||||||
|
|
||||||
BattleScript_EffectDisable::
|
BattleScript_EffectDisable::
|
||||||
attackcanceler
|
attackcanceler
|
||||||
|
@ -326,6 +326,7 @@
|
|||||||
#define MOVE_EFFECT_FEINT 0x3E
|
#define MOVE_EFFECT_FEINT 0x3E
|
||||||
#define MOVE_EFFECT_SPECTRAL_THIEF 0x3F
|
#define MOVE_EFFECT_SPECTRAL_THIEF 0x3F
|
||||||
#define MOVE_EFFECT_V_CREATE 0x40
|
#define MOVE_EFFECT_V_CREATE 0x40
|
||||||
|
#define MOVE_EFFECT_HAPPY_HOUR 0x41
|
||||||
#define MOVE_EFFECT_AFFECTS_USER 0x4000
|
#define MOVE_EFFECT_AFFECTS_USER 0x4000
|
||||||
#define MOVE_EFFECT_CERTAIN 0x8000
|
#define MOVE_EFFECT_CERTAIN 0x8000
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
#define EFFECT_MIMIC 82
|
#define EFFECT_MIMIC 82
|
||||||
#define EFFECT_METRONOME 83
|
#define EFFECT_METRONOME 83
|
||||||
#define EFFECT_LEECH_SEED 84
|
#define EFFECT_LEECH_SEED 84
|
||||||
#define EFFECT_SPLASH 85
|
#define EFFECT_DO_NOTHING 85
|
||||||
#define EFFECT_DISABLE 86
|
#define EFFECT_DISABLE 86
|
||||||
#define EFFECT_LEVEL_DAMAGE 87
|
#define EFFECT_LEVEL_DAMAGE 87
|
||||||
#define EFFECT_PSYWAVE 88
|
#define EFFECT_PSYWAVE 88
|
||||||
|
@ -527,6 +527,7 @@
|
|||||||
#define STRINGID_FLOWERVEILPROTECTED 523
|
#define STRINGID_FLOWERVEILPROTECTED 523
|
||||||
#define STRINGID_SWEETVEILPROTECTED 524
|
#define STRINGID_SWEETVEILPROTECTED 524
|
||||||
#define STRINGID_AROMAVEILPROTECTED 525
|
#define STRINGID_AROMAVEILPROTECTED 525
|
||||||
|
#define STRINGID_CELEBRATEMESSAGE 526
|
||||||
|
|
||||||
#define BATTLESTRINGS_COUNT 529
|
#define BATTLESTRINGS_COUNT 529
|
||||||
|
|
||||||
|
@ -653,9 +653,11 @@ static const u8 sText_SafetyGooglesProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is
|
|||||||
static const u8 sText_FlowerVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of petals!");
|
static const u8 sText_FlowerVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of petals!");
|
||||||
static const u8 sText_SweetVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of sweetness!");
|
static const u8 sText_SweetVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of sweetness!");
|
||||||
static const u8 sText_AromaVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is protected\nby an aromatic veil!");
|
static const u8 sText_AromaVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is protected\nby an aromatic veil!");
|
||||||
|
static const u8 sText_CelebrateMessage[] = _("Congratulations, {B_PLAYER_NAME}!");
|
||||||
|
|
||||||
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||||
{
|
{
|
||||||
|
[STRINGID_CELEBRATEMESSAGE - 12] = sText_CelebrateMessage,
|
||||||
[STRINGID_AROMAVEILPROTECTED - 12] = sText_AromaVeilProtected,
|
[STRINGID_AROMAVEILPROTECTED - 12] = sText_AromaVeilProtected,
|
||||||
[STRINGID_SWEETVEILPROTECTED - 12] = sText_SweetVeilProtected,
|
[STRINGID_SWEETVEILPROTECTED - 12] = sText_SweetVeilProtected,
|
||||||
[STRINGID_FLOWERVEILPROTECTED - 12] = sText_FlowerVeilProtected,
|
[STRINGID_FLOWERVEILPROTECTED - 12] = sText_FlowerVeilProtected,
|
||||||
|
@ -2006,6 +2006,11 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
|||||||
affectsUser = MOVE_EFFECT_AFFECTS_USER;
|
affectsUser = MOVE_EFFECT_AFFECTS_USER;
|
||||||
gBattleScripting.battler = gBattlerTarget; // theoretically the attacker
|
gBattleScripting.battler = gBattlerTarget; // theoretically the attacker
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Just in case this flag is still set
|
||||||
|
if (gBattleScripting.moveEffect & MOVE_EFFECT_CERTAIN)
|
||||||
|
gBattleScripting.moveEffect &= ~(MOVE_EFFECT_CERTAIN);
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gEffectBattler = gBattlerTarget;
|
gEffectBattler = gBattlerTarget;
|
||||||
@ -2364,6 +2369,13 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
|||||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||||
gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect];
|
gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect];
|
||||||
break;
|
break;
|
||||||
|
case MOVE_EFFECT_HAPPY_HOUR:
|
||||||
|
if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER)
|
||||||
|
{
|
||||||
|
gBattleStruct->moneyMultiplier *= 2;
|
||||||
|
}
|
||||||
|
gBattlescriptCurrInstr++;
|
||||||
|
break;
|
||||||
case MOVE_EFFECT_TRI_ATTACK:
|
case MOVE_EFFECT_TRI_ATTACK:
|
||||||
if (gBattleMons[gEffectBattler].status1)
|
if (gBattleMons[gEffectBattler].status1)
|
||||||
{
|
{
|
||||||
|
@ -3700,7 +3700,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
|||||||
{
|
{
|
||||||
case HOLD_EFFECT_DOUBLE_PRIZE:
|
case HOLD_EFFECT_DOUBLE_PRIZE:
|
||||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||||
gBattleStruct->moneyMultiplier = 2;
|
gBattleStruct->moneyMultiplier *= 2;
|
||||||
break;
|
break;
|
||||||
case HOLD_EFFECT_RESTORE_STATS:
|
case HOLD_EFFECT_RESTORE_STATS:
|
||||||
for (i = 0; i < NUM_BATTLE_STATS; i++)
|
for (i = 0; i < NUM_BATTLE_STATS; i++)
|
||||||
|
@ -2103,7 +2103,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
|||||||
|
|
||||||
[MOVE_SPLASH] =
|
[MOVE_SPLASH] =
|
||||||
{
|
{
|
||||||
.effect = EFFECT_SPLASH,
|
.effect = EFFECT_DO_NOTHING,
|
||||||
.power = 0,
|
.power = 0,
|
||||||
.type = TYPE_NORMAL,
|
.type = TYPE_NORMAL,
|
||||||
.accuracy = 0,
|
.accuracy = 0,
|
||||||
@ -8463,7 +8463,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
|||||||
|
|
||||||
[MOVE_HAPPY_HOUR] =
|
[MOVE_HAPPY_HOUR] =
|
||||||
{
|
{
|
||||||
.effect = EFFECT_PLACEHOLDER, // Needs a custom move effect
|
.effect = EFFECT_DO_NOTHING,
|
||||||
.power = 0,
|
.power = 0,
|
||||||
.type = TYPE_NORMAL,
|
.type = TYPE_NORMAL,
|
||||||
.accuracy = 0,
|
.accuracy = 0,
|
||||||
@ -8505,7 +8505,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
|||||||
|
|
||||||
[MOVE_CELEBRATE] =
|
[MOVE_CELEBRATE] =
|
||||||
{
|
{
|
||||||
.effect = EFFECT_PLACEHOLDER, // Needs a custom move effect
|
.effect = EFFECT_DO_NOTHING,
|
||||||
.power = 0,
|
.power = 0,
|
||||||
.type = TYPE_NORMAL,
|
.type = TYPE_NORMAL,
|
||||||
.accuracy = 0,
|
.accuracy = 0,
|
||||||
@ -8519,13 +8519,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
|||||||
|
|
||||||
[MOVE_HOLD_HANDS] =
|
[MOVE_HOLD_HANDS] =
|
||||||
{
|
{
|
||||||
.effect = EFFECT_PLACEHOLDER, // Needs a custom move effect
|
.effect = EFFECT_DO_NOTHING,
|
||||||
.power = 0,
|
.power = 0,
|
||||||
.type = TYPE_NORMAL,
|
.type = TYPE_NORMAL,
|
||||||
.accuracy = 0,
|
.accuracy = 0,
|
||||||
.pp = 40,
|
.pp = 40,
|
||||||
.secondaryEffectChance = 0,
|
.secondaryEffectChance = 0,
|
||||||
.target = MOVE_TARGET_USER,
|
.target = MOVE_TARGET_ALLY,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.split = SPLIT_STATUS,
|
.split = SPLIT_STATUS,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user