Merge pull request #142 from thechurchofcage/beta
Magnetic Flux + Gear Up
This commit is contained in:
commit
a7f2fa67ef
5 changed files with 95 additions and 6 deletions
|
@ -1749,3 +1749,12 @@
|
||||||
1:
|
1:
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro setallytonexttarget jumpptr:req
|
||||||
|
jumpifbyte CMP_GREATER_THAN, gBattlerTarget, 0x1, 1f
|
||||||
|
addbyte gBattlerTarget, 0x2
|
||||||
|
goto \jumpptr
|
||||||
|
1:
|
||||||
|
subbyte gBattlerTarget, 0x2
|
||||||
|
goto \jumpptr
|
||||||
|
.endm
|
||||||
|
|
||||||
|
|
|
@ -2825,9 +2825,6 @@ Move_POWDER:
|
||||||
Move_GEOMANCY:
|
Move_GEOMANCY:
|
||||||
end
|
end
|
||||||
|
|
||||||
Move_MAGNETIC_FLUX:
|
|
||||||
end
|
|
||||||
|
|
||||||
Move_HAPPY_HOUR:
|
Move_HAPPY_HOUR:
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -6035,6 +6032,7 @@ Move_FOLLOW_ME:
|
||||||
loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3
|
loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Move_MAGNETIC_FLUX:
|
||||||
Move_CHARGE:
|
Move_CHARGE:
|
||||||
loadspritegfx ANIM_TAG_ELECTRIC_ORBS
|
loadspritegfx ANIM_TAG_ELECTRIC_ORBS
|
||||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
|
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
|
||||||
|
|
|
@ -351,6 +351,8 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
|
||||||
.4byte BattleScript_EffectInstruct
|
.4byte BattleScript_EffectInstruct
|
||||||
.4byte BattleScript_EffectThroatChop
|
.4byte BattleScript_EffectThroatChop
|
||||||
.4byte BattleScript_EffectLaserFocus
|
.4byte BattleScript_EffectLaserFocus
|
||||||
|
.4byte BattleScript_EffectMagneticFlux
|
||||||
|
.4byte BattleScript_EffectGearUp
|
||||||
|
|
||||||
BattleScript_EffectCoreEnforcer:
|
BattleScript_EffectCoreEnforcer:
|
||||||
setmoveeffect MOVE_EFFECT_CORE_ENFORCER | MOVE_EFFECT_CERTAIN
|
setmoveeffect MOVE_EFFECT_CORE_ENFORCER | MOVE_EFFECT_CERTAIN
|
||||||
|
@ -500,6 +502,84 @@ BattleScript_AromaticMistAnim:
|
||||||
BattleScript_EffectAromaticMistEnd:
|
BattleScript_EffectAromaticMistEnd:
|
||||||
goto BattleScript_MoveEnd
|
goto BattleScript_MoveEnd
|
||||||
|
|
||||||
|
BattleScript_EffectMagneticFlux::
|
||||||
|
attackcanceler
|
||||||
|
attackstring
|
||||||
|
ppreduce
|
||||||
|
setbyte gBattleCommunication, 0x0
|
||||||
|
BattleScript_EffectMagneticFluxStart:
|
||||||
|
jumpifability BS_TARGET, ABILITY_MINUS, BattleScript_EffectMagneticFluxCheckStats
|
||||||
|
jumpifability BS_TARGET, ABILITY_PLUS, BattleScript_EffectMagneticFluxCheckStats
|
||||||
|
goto BattleScript_EffectMagneticFluxLoop
|
||||||
|
BattleScript_EffectMagneticFluxCheckStats:
|
||||||
|
jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_EffectMagneticFluxTryDef
|
||||||
|
jumpifstat BS_TARGET, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_EffectMagneticFluxLoop
|
||||||
|
BattleScript_EffectMagneticFluxTryDef:
|
||||||
|
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x0, BattleScript_EffectMagneticFluxSkipAnim
|
||||||
|
attackanimation
|
||||||
|
waitanimation
|
||||||
|
BattleScript_EffectMagneticFluxSkipAnim:
|
||||||
|
setbyte sSTAT_ANIM_PLAYED, FALSE
|
||||||
|
playstatchangeanimation BS_TARGET, BIT_DEF | BIT_SPDEF, 0x0
|
||||||
|
setstatchanger STAT_DEF, 1, FALSE
|
||||||
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMagneticFluxTrySpDef
|
||||||
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_EffectMagneticFluxTrySpDef
|
||||||
|
addbyte gBattleCommunication, 0x1
|
||||||
|
printfromtable gStatUpStringIds
|
||||||
|
waitmessage 0x40
|
||||||
|
BattleScript_EffectMagneticFluxTrySpDef:
|
||||||
|
setstatchanger STAT_SPDEF, 1, FALSE
|
||||||
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMagneticFluxLoop
|
||||||
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_EffectMagneticFluxLoop
|
||||||
|
addbyte gBattleCommunication, 0x1
|
||||||
|
printfromtable gStatUpStringIds
|
||||||
|
waitmessage 0x40
|
||||||
|
BattleScript_EffectMagneticFluxLoop:
|
||||||
|
jumpifbytenotequal gBattlerTarget, gBattlerAttacker, BattleScript_EffectMagneticFluxEnd
|
||||||
|
setallytonexttarget BattleScript_EffectMagneticFluxStart
|
||||||
|
BattleScript_EffectMagneticFluxEnd:
|
||||||
|
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x0, BattleScript_MoveEnd
|
||||||
|
goto BattleScript_ButItFailed
|
||||||
|
|
||||||
|
BattleScript_EffectGearUp::
|
||||||
|
attackcanceler
|
||||||
|
attackstring
|
||||||
|
ppreduce
|
||||||
|
setbyte gBattleCommunication, 0x0
|
||||||
|
BattleScript_EffectGearUpStart:
|
||||||
|
jumpifability BS_TARGET, ABILITY_MINUS, BattleScript_EffectGearUpCheckStats
|
||||||
|
jumpifability BS_TARGET, ABILITY_PLUS, BattleScript_EffectGearUpCheckStats
|
||||||
|
goto BattleScript_EffectGearUpLoop
|
||||||
|
BattleScript_EffectGearUpCheckStats:
|
||||||
|
jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_EffectGearUpTryAtk
|
||||||
|
jumpifstat BS_TARGET, CMP_EQUAL, STAT_SPATK, 0xC, BattleScript_EffectGearUpLoop
|
||||||
|
BattleScript_EffectGearUpTryAtk:
|
||||||
|
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x0, BattleScript_EffectGearUpSkipAnim
|
||||||
|
attackanimation
|
||||||
|
waitanimation
|
||||||
|
BattleScript_EffectGearUpSkipAnim:
|
||||||
|
setbyte sSTAT_ANIM_PLAYED, FALSE
|
||||||
|
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, 0x0
|
||||||
|
setstatchanger STAT_ATK, 1, FALSE
|
||||||
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectGearUpTrySpAtk
|
||||||
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_EffectGearUpTrySpAtk
|
||||||
|
addbyte gBattleCommunication, 0x1
|
||||||
|
printfromtable gStatUpStringIds
|
||||||
|
waitmessage 0x40
|
||||||
|
BattleScript_EffectGearUpTrySpAtk:
|
||||||
|
setstatchanger STAT_SPATK, 1, FALSE
|
||||||
|
statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectGearUpLoop
|
||||||
|
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_EffectGearUpLoop
|
||||||
|
addbyte gBattleCommunication, 0x1
|
||||||
|
printfromtable gStatUpStringIds
|
||||||
|
waitmessage 0x40
|
||||||
|
BattleScript_EffectGearUpLoop:
|
||||||
|
jumpifbytenotequal gBattlerTarget, gBattlerAttacker, BattleScript_EffectGearUpEnd
|
||||||
|
setallytonexttarget BattleScript_EffectGearUpStart
|
||||||
|
BattleScript_EffectGearUpEnd:
|
||||||
|
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x0, BattleScript_MoveEnd
|
||||||
|
goto BattleScript_ButItFailed
|
||||||
|
|
||||||
BattleScript_EffectAcupressure:
|
BattleScript_EffectAcupressure:
|
||||||
attackcanceler
|
attackcanceler
|
||||||
jumpifbyteequal gBattlerTarget, gBattlerAttacker, BattleScript_EffectAcupressureTry
|
jumpifbyteequal gBattlerTarget, gBattlerAttacker, BattleScript_EffectAcupressureTry
|
||||||
|
|
|
@ -339,5 +339,7 @@
|
||||||
#define EFFECT_INSTRUCT 333
|
#define EFFECT_INSTRUCT 333
|
||||||
#define EFFECT_THROAT_CHOP 334
|
#define EFFECT_THROAT_CHOP 334
|
||||||
#define EFFECT_LASER_FOCUS 335
|
#define EFFECT_LASER_FOCUS 335
|
||||||
|
#define EFFECT_MAGNETIC_FLUX 336
|
||||||
|
#define EFFECT_GEAR_UP 337
|
||||||
|
|
||||||
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
|
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
|
||||||
|
|
|
@ -8450,7 +8450,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
||||||
|
|
||||||
[MOVE_MAGNETIC_FLUX] =
|
[MOVE_MAGNETIC_FLUX] =
|
||||||
{
|
{
|
||||||
.effect = EFFECT_PLACEHOLDER, // Needs a custom move effect
|
.effect = EFFECT_MAGNETIC_FLUX,
|
||||||
.power = 0,
|
.power = 0,
|
||||||
.type = TYPE_ELECTRIC,
|
.type = TYPE_ELECTRIC,
|
||||||
.accuracy = 0,
|
.accuracy = 0,
|
||||||
|
@ -8942,13 +8942,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
||||||
|
|
||||||
[MOVE_GEAR_UP] =
|
[MOVE_GEAR_UP] =
|
||||||
{
|
{
|
||||||
.effect = EFFECT_PLACEHOLDER,
|
.effect = EFFECT_GEAR_UP,
|
||||||
.power = 0,
|
.power = 0,
|
||||||
.type = TYPE_STEEL,
|
.type = TYPE_STEEL,
|
||||||
.accuracy = 0,
|
.accuracy = 0,
|
||||||
.pp = 20,
|
.pp = 20,
|
||||||
.secondaryEffectChance = 0,
|
.secondaryEffectChance = 0,
|
||||||
.target = MOVE_TARGET_SELECTED,
|
.target = MOVE_TARGET_USER,
|
||||||
.priority = 0,
|
.priority = 0,
|
||||||
.flags = FLAG_SNATCH_AFFECTED,
|
.flags = FLAG_SNATCH_AFFECTED,
|
||||||
.split = SPLIT_STATUS,
|
.split = SPLIT_STATUS,
|
||||||
|
|
Loading…
Reference in a new issue