mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Added more Gen 8 move effects
This commit is contained in:
@@ -228,6 +228,12 @@ class PokeBattle_Battler
|
|||||||
@effects[PBEffects::MoveNext] = false
|
@effects[PBEffects::MoveNext] = false
|
||||||
@effects[PBEffects::MudSport] = false
|
@effects[PBEffects::MudSport] = false
|
||||||
@effects[PBEffects::Nightmare] = false
|
@effects[PBEffects::Nightmare] = false
|
||||||
|
@effects[PBEffects::NoRetreat] = false
|
||||||
|
@effects[PBEffects::Obstruct] = false
|
||||||
|
@effects[PBEffects::Octolock] = -1
|
||||||
|
@battle.eachBattler do |b| # Other battlers no longer locked by self
|
||||||
|
b.effects[PBEffects::Octolock] = -1 if b.effects[PBEffects::Octolock] == @index
|
||||||
|
end
|
||||||
@effects[PBEffects::Outrage] = 0
|
@effects[PBEffects::Outrage] = 0
|
||||||
@effects[PBEffects::ParentalBond] = 0
|
@effects[PBEffects::ParentalBond] = 0
|
||||||
@effects[PBEffects::PickupItem] = nil
|
@effects[PBEffects::PickupItem] = nil
|
||||||
@@ -257,6 +263,7 @@ class PokeBattle_Battler
|
|||||||
@effects[PBEffects::Stockpile] = 0
|
@effects[PBEffects::Stockpile] = 0
|
||||||
@effects[PBEffects::StockpileDef] = 0
|
@effects[PBEffects::StockpileDef] = 0
|
||||||
@effects[PBEffects::StockpileSpDef] = 0
|
@effects[PBEffects::StockpileSpDef] = 0
|
||||||
|
@effects[PBEffects::TarShot] = false
|
||||||
@effects[PBEffects::Taunt] = 0
|
@effects[PBEffects::Taunt] = 0
|
||||||
@effects[PBEffects::ThroatChop] = 0
|
@effects[PBEffects::ThroatChop] = 0
|
||||||
@effects[PBEffects::Torment] = false
|
@effects[PBEffects::Torment] = false
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ class PokeBattle_Battler
|
|||||||
def pbChangeTargets(move,user,targets)
|
def pbChangeTargets(move,user,targets)
|
||||||
target_data = move.pbTarget(user)
|
target_data = move.pbTarget(user)
|
||||||
return targets if @battle.switching # For Pursuit interrupting a switch
|
return targets if @battle.switching # For Pursuit interrupting a switch
|
||||||
return targets if move.cannotRedirect?
|
return targets if move.cannotRedirect? || move.targetsPosition?
|
||||||
return targets if !target_data.can_target_one_foe? || targets.length != 1
|
return targets if !target_data.can_target_one_foe? || targets.length != 1
|
||||||
priority = @battle.pbPriority(true)
|
priority = @battle.pbPriority(true)
|
||||||
nearOnly = !target_data.can_choose_distant_target?
|
nearOnly = !target_data.can_choose_distant_target?
|
||||||
@@ -162,7 +162,7 @@ class PokeBattle_Battler
|
|||||||
# Register target
|
# Register target
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
def pbAddTarget(targets,user,target,move,nearOnly=true,allowUser=false)
|
def pbAddTarget(targets,user,target,move,nearOnly=true,allowUser=false)
|
||||||
return false if !target || (target.fainted? && !move.cannotRedirect?)
|
return false if !target || (target.fainted? && !move.targetsPosition?)
|
||||||
return false if !(allowUser && user==target) && nearOnly && !user.near?(target)
|
return false if !(allowUser && user==target) && nearOnly && !user.near?(target)
|
||||||
targets.each { |b| return true if b.index==target.index } # Already added
|
targets.each { |b| return true if b.index==target.index } # Already added
|
||||||
targets.push(target)
|
targets.push(target)
|
||||||
|
|||||||
@@ -375,6 +375,19 @@ class PokeBattle_Battler
|
|||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
# Obstruct
|
||||||
|
if target.effects[PBEffects::Obstruct] && move.damagingMove?
|
||||||
|
@battle.pbCommonAnimation("Obstruct",target)
|
||||||
|
@battle.pbDisplay(_INTL("{1} protected itself!", target.pbThis))
|
||||||
|
target.damageState.protected = true
|
||||||
|
@battle.successStates[user.index].protected = true
|
||||||
|
if move.pbContactMove?(user) && user.affectedByContactEffect?
|
||||||
|
if user.pbCanLowerStatStage?(:DEFENSE)
|
||||||
|
user.pbLowerStatStage(:DEFENSE, 2, nil)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
# Mat Block
|
# Mat Block
|
||||||
if target.pbOwnSide.effects[PBEffects::MatBlock] && move.damagingMove?
|
if target.pbOwnSide.effects[PBEffects::MatBlock] && move.damagingMove?
|
||||||
# NOTE: Confirmed no common animation for this effect.
|
# NOTE: Confirmed no common animation for this effect.
|
||||||
|
|||||||
@@ -67,6 +67,9 @@ begin
|
|||||||
MoveNext = 61
|
MoveNext = 61
|
||||||
MudSport = 62
|
MudSport = 62
|
||||||
Nightmare = 63
|
Nightmare = 63
|
||||||
|
NoRetreat = 990
|
||||||
|
Obstruct = 992
|
||||||
|
Octolock = 993
|
||||||
Outrage = 64
|
Outrage = 64
|
||||||
ParentalBond = 65
|
ParentalBond = 65
|
||||||
PerishSong = 66
|
PerishSong = 66
|
||||||
@@ -98,6 +101,7 @@ begin
|
|||||||
StockpileDef = 92
|
StockpileDef = 92
|
||||||
StockpileSpDef = 93
|
StockpileSpDef = 93
|
||||||
Substitute = 94
|
Substitute = 94
|
||||||
|
TarShot = 991
|
||||||
Taunt = 95
|
Taunt = 95
|
||||||
Telekinesis = 96
|
Telekinesis = 96
|
||||||
ThroatChop = 97
|
ThroatChop = 97
|
||||||
|
|||||||
@@ -106,7 +106,8 @@ class PokeBattle_Move
|
|||||||
def hitsDiggingTargets?; return false; end
|
def hitsDiggingTargets?; return false; end
|
||||||
def hitsDivingTargets?; return false; end
|
def hitsDivingTargets?; return false; end
|
||||||
def ignoresReflect?; return false; end # For Brick Break
|
def ignoresReflect?; return false; end # For Brick Break
|
||||||
def cannotRedirect?; return false; end # For Future Sight/Doom Desire
|
def targetsPosition?; return false; end # For Future Sight/Doom Desire
|
||||||
|
def cannotRedirect?; return false; end # For Snipe Shot
|
||||||
def worksWithNoTargets?; return false; end # For Explosion
|
def worksWithNoTargets?; return false; end # For Explosion
|
||||||
def damageReducedByBurn?; return true; end # For Facade
|
def damageReducedByBurn?; return true; end # For Facade
|
||||||
def triggersHyperMode?; return false; end
|
def triggersHyperMode?; return false; end
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ class PokeBattle_Move
|
|||||||
# Multiply all effectivenesses together
|
# Multiply all effectivenesses together
|
||||||
ret = 1
|
ret = 1
|
||||||
typeMods.each { |m| ret *= m }
|
typeMods.each { |m| ret *= m }
|
||||||
|
ret *= 2 if target.effects[PBEffects::TarShot] && moveType == :FIRE
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -408,7 +408,7 @@ end
|
|||||||
# Attacks 2 rounds in the future. (Doom Desire, Future Sight)
|
# Attacks 2 rounds in the future. (Doom Desire, Future Sight)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_111 < PokeBattle_Move
|
class PokeBattle_Move_111 < PokeBattle_Move
|
||||||
def cannotRedirect?; return true; end
|
def targetsPosition?; return true; end
|
||||||
|
|
||||||
def pbDamagingMove? # Stops damage being dealt in the setting-up turn
|
def pbDamagingMove? # Stops damage being dealt in the setting-up turn
|
||||||
return false if !@battle.futureSight
|
return false if !@battle.futureSight
|
||||||
|
|||||||
@@ -35,7 +35,45 @@ Flip Turn - 0EE
|
|||||||
# if it is a physical move. Has a different animation depending on the move's
|
# if it is a physical move. Has a different animation depending on the move's
|
||||||
# category. (Shell Side Arm)
|
# category. (Shell Side Arm)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_176 < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_176 < PokeBattle_PoisonMove
|
||||||
|
def initialize(battle, move)
|
||||||
|
super
|
||||||
|
@calcCategory = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
def physicalMove?(thisType = nil); return (@calcCategory == 0); end
|
||||||
|
def specialMove?(thisType = nil); return (@calcCategory == 1); end
|
||||||
|
def contactMove?; return physicalMove?; end
|
||||||
|
|
||||||
|
def pbOnStartUse(user, targets)
|
||||||
|
target = targets[0]
|
||||||
|
stageMul = [2,2,2,2,2,2, 2, 3,4,5,6,7,8]
|
||||||
|
stageDiv = [8,7,6,5,4,3, 2, 2,2,2,2,2,2]
|
||||||
|
# Calculate user's effective attacking values
|
||||||
|
attack_stage = user.stages[:ATTACK] + 6
|
||||||
|
real_attack = (user.attack.to_f * stageMul[attack_stage] / stageDiv[attack_stage]).floor
|
||||||
|
special_attack_stage = user.stages[:SPECIAL_ATTACK] + 6
|
||||||
|
real_special_attack = (user.spatk.to_f * stageMul[special_attack_stage] / stageDiv[special_attack_stage]).floor
|
||||||
|
# Calculate target's effective defending values
|
||||||
|
defense_stage = target.stages[:DEFENSE] + 6
|
||||||
|
real_defense = (target.defense.to_f * stageMul[defense_stage] / stageDiv[defense_stage]).floor
|
||||||
|
special_defense_stage = target.stages[:SPECIAL_DEFENSE] + 6
|
||||||
|
real_special_defense = (target.spdef.to_f * stageMul[special_defense_stage] / stageDiv[special_defense_stage]).floor
|
||||||
|
# Perform simple damage calculation
|
||||||
|
physical_damage = real_attack.to_f / real_defense
|
||||||
|
special_damage = real_special_attack.to_f / real_special_defense
|
||||||
|
# Determine move's category
|
||||||
|
if physical_damage == special_damage
|
||||||
|
@calcCategry = @battle.pbRandom(2)
|
||||||
|
else
|
||||||
|
@calcCategory = (physical_damage > special_damage) ? 0 : 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbShowAnimation(id, user, targets, hitNum = 0, showAnimation = true)
|
||||||
|
hitNum = 1 if physicalMove?
|
||||||
|
super
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -74,7 +112,25 @@ end
|
|||||||
# still switch out if holding Shed Shell or Eject Button, or if affected by a
|
# still switch out if holding Shed Shell or Eject Button, or if affected by a
|
||||||
# Red Card. (No Retreat)
|
# Red Card. (No Retreat)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_179 < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_179 < PokeBattle_Move_02D
|
||||||
|
def pbMoveFailed?(user, targets)
|
||||||
|
if user.effects[PBEffects::NoRetreat]
|
||||||
|
@battle.pbDisplay(_INTL("But it failed!"))
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return super
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbEffectGeneral(user)
|
||||||
|
super
|
||||||
|
if battler.effects[PBEffects::Trapping] == 0 &&
|
||||||
|
battler.effects[PBEffects::MeanLook] < 0 &&
|
||||||
|
!battler.effects[PBEffects::Ingrain] &&
|
||||||
|
@field.effects[PBEffects::FairyLock] == 0
|
||||||
|
user.effects[PBEffects::NoRetreat] = true
|
||||||
|
@battle.pbDisplay(_INTL("{1} can no longer escape because it used {2}!", user.pbThis, @name))
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -114,13 +170,36 @@ end
|
|||||||
# protections, including Crafty Shield. Fails if there is no ally. (Coaching)
|
# protections, including Crafty Shield. Fails if there is no ally. (Coaching)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_17B < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_17B < PokeBattle_UnimplementedMove
|
||||||
|
# TODO: Needs a new targeting option. Otherwise, see Magnetic Flux.
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Increases the target's Attack and Special Attack by 2 stages each. Bypasses
|
# Increases the target's Attack and Special Attack by 2 stages each. (Decorate)
|
||||||
# some protections. (Decorate)
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_17C < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_17C < PokeBattle_Move
|
||||||
|
def pbMoveFailed?(user, targets)
|
||||||
|
failed = true
|
||||||
|
targets.each do |b|
|
||||||
|
next if !b.pbCanRaiseStatStage?(:ATTACK, user, self) &&
|
||||||
|
!b.pbCanRaiseStatStage?(:SPECIAL_ATTACK, user, self)
|
||||||
|
failed = false
|
||||||
|
break
|
||||||
|
end
|
||||||
|
if failed
|
||||||
|
@battle.pbDisplay(_INTL("But it failed!"))
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbEffectAgainstTarget(user, target)
|
||||||
|
if target.pbCanRaiseStatStage?(:ATTACK, user, self)
|
||||||
|
target.pbRaiseStatStage(:ATTACK, 2, user)
|
||||||
|
end
|
||||||
|
if target.pbCanRaiseStatStage?(:SPECIAL_ATTACK, user, self)
|
||||||
|
target.pbRaiseStatStage(:SPECIAL_ATTACK, 2, user)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -139,7 +218,19 @@ end
|
|||||||
# Fire moves used against the target (this effect does not stack). Fails if
|
# Fire moves used against the target (this effect does not stack). Fails if
|
||||||
# neither of these effects can be applied. (Tar Shot)
|
# neither of these effects can be applied. (Tar Shot)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_17E < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_17E < PokeBattle_Move_044
|
||||||
|
def pbFailsAgainstTarget?(user, target)
|
||||||
|
return super if target.effects[PBEffects::TarShot]
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbEffectAgainstTarget(user, target)
|
||||||
|
super
|
||||||
|
if !target.effects[PBEffects::TarShot]
|
||||||
|
target.effects[PBEffects::TarShot] = true
|
||||||
|
@battle.pbDisplay(_INTL("{1} became weaker to fire!", target.pbThis))
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -264,15 +355,20 @@ end
|
|||||||
# For the rest of this round, the user avoids all damaging moves that would hit
|
# For the rest of this round, the user avoids all damaging moves that would hit
|
||||||
# it. If a move that makes contact is stopped by this effect, decreases the
|
# it. If a move that makes contact is stopped by this effect, decreases the
|
||||||
# Defense of the Pokémon using that move by 2 stages. Contributes to Protect's
|
# Defense of the Pokémon using that move by 2 stages. Contributes to Protect's
|
||||||
# counter. (Very similar to King's Shield.) (Obstruct)
|
# counter. (Obstruct)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_186 < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_186 < PokeBattle_ProtectMove
|
||||||
|
def initialize(battle,move)
|
||||||
|
super
|
||||||
|
@effect = PBEffects::Obstruct
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Unaffected by moves and abilities that would redirect this move. (Snipe Shot)
|
# Unaffected by moves and abilities that would redirect this move. (Snipe Shot)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_187 < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_187 < PokeBattle_Move
|
||||||
|
def cannotRedirect?; return true; end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -309,7 +405,29 @@ end
|
|||||||
# Hits 2-5 times in a row. If the move does not fail, increases the user's Speed
|
# Hits 2-5 times in a row. If the move does not fail, increases the user's Speed
|
||||||
# by 1 stage and decreases the user's Defense by 1 stage. (Scale Shot)
|
# by 1 stage and decreases the user's Defense by 1 stage. (Scale Shot)
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_18A < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_18A < PokeBattle_Move
|
||||||
|
def multiHitMove?; return true; end
|
||||||
|
|
||||||
|
def pbNumHits(user, targets)
|
||||||
|
hitChances = [
|
||||||
|
2, 2, 2, 2, 2, 2, 2,
|
||||||
|
3, 3, 3, 3, 3, 3, 3,
|
||||||
|
4, 4, 4,
|
||||||
|
5, 5, 5]
|
||||||
|
r = @battle.pbRandom(hitChances.length)
|
||||||
|
r = hitChances.length - 1 if user.hasActiveAbility?(:SKILLLINK)
|
||||||
|
return hitChances[r]
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbEffectAfterAllHits(user, target)
|
||||||
|
return if target.damageState.unaffected
|
||||||
|
if user.pbCanLowerStatStage?(:DEFENSE, user, self)
|
||||||
|
user.pbLowerStatStage(:DEFENSE, 1, user)
|
||||||
|
end
|
||||||
|
if user.pbCanRaiseStatStage?(:SPEED, user, self)
|
||||||
|
user.pbRaiseStatStage(:SPEED, 1, user)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -419,11 +537,29 @@ class PokeBattle_Move_18E < PokeBattle_Move_0E0
|
|||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# The target can no longer switch out or flee. At the end of each round, the
|
# The target can no longer switch out or flee, while the user remains in battle.
|
||||||
# target's Defense and Special Defense are lowered by 1 stage each. (Does this
|
# At the end of each round, the target's Defense and Special Defense are lowered
|
||||||
# only apply while the user remains in battle?) (Octolock)
|
# by 1 stage each. (Octolock)
|
||||||
|
# TODO: Can the user lock multiple other Pokémon at once?
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class PokeBattle_Move_18F < PokeBattle_UnimplementedMove
|
class PokeBattle_Move_18F < PokeBattle_Move
|
||||||
|
def pbFailsAgainstTarget?(user, target)
|
||||||
|
return false if damagingMove?
|
||||||
|
if target.effects[PBEffects::Octolock] >= 0
|
||||||
|
@battle.pbDisplay(_INTL("But it failed!"))
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if Settings::MORE_TYPE_EFFECTS && target.pbHasType?(:GHOST)
|
||||||
|
@battle.pbDisplay(_INTL("It doesn't affect {1}...", target.pbThis(true)))
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbEffectAgainstTarget(user, target)
|
||||||
|
target.effects[PBEffects::Octolock] = user.index
|
||||||
|
@battle.pbDisplay(_INTL("{1} can no longer escape because of {2}!", target.pbThis, @name))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|||||||
@@ -588,6 +588,7 @@ class PokeBattle_Battle
|
|||||||
PBEffects::LockOnPos,
|
PBEffects::LockOnPos,
|
||||||
PBEffects::MeanLook,
|
PBEffects::MeanLook,
|
||||||
PBEffects::MirrorCoatTarget,
|
PBEffects::MirrorCoatTarget,
|
||||||
|
PBEffects::Octolock,
|
||||||
PBEffects::SkyDrop,
|
PBEffects::SkyDrop,
|
||||||
PBEffects::TrappingUser]
|
PBEffects::TrappingUser]
|
||||||
eachBattler do |b|
|
eachBattler do |b|
|
||||||
|
|||||||
@@ -68,7 +68,9 @@ class PokeBattle_Battle
|
|||||||
# Other certain trapping effects
|
# Other certain trapping effects
|
||||||
if battler.effects[PBEffects::Trapping]>0 ||
|
if battler.effects[PBEffects::Trapping]>0 ||
|
||||||
battler.effects[PBEffects::MeanLook]>=0 ||
|
battler.effects[PBEffects::MeanLook]>=0 ||
|
||||||
|
battler.effects[PBEffects::Octolock]>=0 ||
|
||||||
battler.effects[PBEffects::Ingrain] ||
|
battler.effects[PBEffects::Ingrain] ||
|
||||||
|
battler.effects[PBEffects::NoRetreat] ||
|
||||||
@field.effects[PBEffects::FairyLock]>0
|
@field.effects[PBEffects::FairyLock]>0
|
||||||
partyScene.pbDisplay(_INTL("{1} can't be switched out!",battler.pbThis)) if partyScene
|
partyScene.pbDisplay(_INTL("{1} can't be switched out!",battler.pbThis)) if partyScene
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ class PokeBattle_Battle
|
|||||||
BattleHandlers.triggerRunFromBattleItem(battler.item,battler)
|
BattleHandlers.triggerRunFromBattleItem(battler.item,battler)
|
||||||
return false if battler.effects[PBEffects::Trapping]>0 ||
|
return false if battler.effects[PBEffects::Trapping]>0 ||
|
||||||
battler.effects[PBEffects::MeanLook]>=0 ||
|
battler.effects[PBEffects::MeanLook]>=0 ||
|
||||||
|
battler.effects[PBEffects::Octolock]>=0 ||
|
||||||
battler.effects[PBEffects::Ingrain] ||
|
battler.effects[PBEffects::Ingrain] ||
|
||||||
|
battler.effects[PBEffects::NoRetreat] ||
|
||||||
@field.effects[PBEffects::FairyLock]>0
|
@field.effects[PBEffects::FairyLock]>0
|
||||||
eachOtherSideBattler(idxBattler) do |b|
|
eachOtherSideBattler(idxBattler) do |b|
|
||||||
return false if b.abilityActive? &&
|
return false if b.abilityActive? &&
|
||||||
@@ -101,7 +103,9 @@ class PokeBattle_Battle
|
|||||||
# Other certain trapping effects
|
# Other certain trapping effects
|
||||||
if battler.effects[PBEffects::Trapping]>0 ||
|
if battler.effects[PBEffects::Trapping]>0 ||
|
||||||
battler.effects[PBEffects::MeanLook]>=0 ||
|
battler.effects[PBEffects::MeanLook]>=0 ||
|
||||||
|
battler.effects[PBEffects::Octolock]>=0 ||
|
||||||
battler.effects[PBEffects::Ingrain] ||
|
battler.effects[PBEffects::Ingrain] ||
|
||||||
|
battler.effects[PBEffects::NoRetreat] ||
|
||||||
@field.effects[PBEffects::FairyLock]>0
|
@field.effects[PBEffects::FairyLock]>0
|
||||||
pbDisplayPaused(_INTL("You can't escape!"))
|
pbDisplayPaused(_INTL("You can't escape!"))
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -428,6 +428,13 @@ class PokeBattle_Battle
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
# Octolock
|
||||||
|
priority.each do |b|
|
||||||
|
next if b.fainted? || b.effects[PBEffects::Octolock] < 0
|
||||||
|
pbCommonAnimation("Octolock", b)
|
||||||
|
b.pbLowerStatStage(:DEFENSE, 1, nil) if b.pbCanLowerStatStage?(:DEFENSE)
|
||||||
|
b.pbLowerStatStage(:SPECIAL_DEFENSE, 1, nil) if b.pbCanLowerStatStage?(:SPECIAL_DEFENSE)
|
||||||
|
end
|
||||||
# Taunt
|
# Taunt
|
||||||
pbEORCountDownBattlerEffect(priority,PBEffects::Taunt) { |battler|
|
pbEORCountDownBattlerEffect(priority,PBEffects::Taunt) { |battler|
|
||||||
pbDisplay(_INTL("{1}'s taunt wore off!",battler.pbThis))
|
pbDisplay(_INTL("{1}'s taunt wore off!",battler.pbThis))
|
||||||
@@ -625,6 +632,7 @@ class PokeBattle_Battle
|
|||||||
b.effects[PBEffects::MagicCoat] = false
|
b.effects[PBEffects::MagicCoat] = false
|
||||||
b.effects[PBEffects::MirrorCoat] = -1
|
b.effects[PBEffects::MirrorCoat] = -1
|
||||||
b.effects[PBEffects::MirrorCoatTarget] = -1
|
b.effects[PBEffects::MirrorCoatTarget] = -1
|
||||||
|
b.effects[PBEffects::Obstruct] = false
|
||||||
b.effects[PBEffects::Powder] = false
|
b.effects[PBEffects::Powder] = false
|
||||||
b.effects[PBEffects::Prankster] = false
|
b.effects[PBEffects::Prankster] = false
|
||||||
b.effects[PBEffects::PriorityAbility] = false
|
b.effects[PBEffects::PriorityAbility] = false
|
||||||
|
|||||||
Reference in New Issue
Block a user