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:
|
||||
.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:
|
||||
end
|
||||
|
||||
Move_MAGNETIC_FLUX:
|
||||
end
|
||||
|
||||
Move_HAPPY_HOUR:
|
||||
end
|
||||
|
||||
|
@ -6035,6 +6032,7 @@ Move_FOLLOW_ME:
|
|||
loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3
|
||||
end
|
||||
|
||||
Move_MAGNETIC_FLUX:
|
||||
Move_CHARGE:
|
||||
loadspritegfx ANIM_TAG_ELECTRIC_ORBS
|
||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
|
||||
|
|
|
@ -351,6 +351,8 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
|
|||
.4byte BattleScript_EffectInstruct
|
||||
.4byte BattleScript_EffectThroatChop
|
||||
.4byte BattleScript_EffectLaserFocus
|
||||
.4byte BattleScript_EffectMagneticFlux
|
||||
.4byte BattleScript_EffectGearUp
|
||||
|
||||
BattleScript_EffectCoreEnforcer:
|
||||
setmoveeffect MOVE_EFFECT_CORE_ENFORCER | MOVE_EFFECT_CERTAIN
|
||||
|
@ -500,6 +502,84 @@ BattleScript_AromaticMistAnim:
|
|||
BattleScript_EffectAromaticMistEnd:
|
||||
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:
|
||||
attackcanceler
|
||||
jumpifbyteequal gBattlerTarget, gBattlerAttacker, BattleScript_EffectAcupressureTry
|
||||
|
|
|
@ -339,5 +339,7 @@
|
|||
#define EFFECT_INSTRUCT 333
|
||||
#define EFFECT_THROAT_CHOP 334
|
||||
#define EFFECT_LASER_FOCUS 335
|
||||
#define EFFECT_MAGNETIC_FLUX 336
|
||||
#define EFFECT_GEAR_UP 337
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
|
||||
|
|
|
@ -8450,7 +8450,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
|||
|
||||
[MOVE_MAGNETIC_FLUX] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, // Needs a custom move effect
|
||||
.effect = EFFECT_MAGNETIC_FLUX,
|
||||
.power = 0,
|
||||
.type = TYPE_ELECTRIC,
|
||||
.accuracy = 0,
|
||||
|
@ -8942,13 +8942,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
|||
|
||||
[MOVE_GEAR_UP] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER,
|
||||
.effect = EFFECT_GEAR_UP,
|
||||
.power = 0,
|
||||
.type = TYPE_STEEL,
|
||||
.accuracy = 0,
|
||||
.pp = 20,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.target = MOVE_TARGET_USER,
|
||||
.priority = 0,
|
||||
.flags = FLAG_SNATCH_AFFECTED,
|
||||
.split = SPLIT_STATUS,
|
||||
|
|
Loading…
Reference in a new issue