Added more Gen 8 move effects

This commit is contained in:
Maruno17
2021-06-24 20:47:47 +01:00
parent 223d480e0f
commit 49e7374c3d
12 changed files with 195 additions and 18 deletions

View File

@@ -228,6 +228,12 @@ class PokeBattle_Battler
@effects[PBEffects::MoveNext] = false
@effects[PBEffects::MudSport] = 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::ParentalBond] = 0
@effects[PBEffects::PickupItem] = nil
@@ -257,6 +263,7 @@ class PokeBattle_Battler
@effects[PBEffects::Stockpile] = 0
@effects[PBEffects::StockpileDef] = 0
@effects[PBEffects::StockpileSpDef] = 0
@effects[PBEffects::TarShot] = false
@effects[PBEffects::Taunt] = 0
@effects[PBEffects::ThroatChop] = 0
@effects[PBEffects::Torment] = false

View File

@@ -91,7 +91,7 @@ class PokeBattle_Battler
def pbChangeTargets(move,user,targets)
target_data = move.pbTarget(user)
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
priority = @battle.pbPriority(true)
nearOnly = !target_data.can_choose_distant_target?
@@ -162,7 +162,7 @@ class PokeBattle_Battler
# Register target
#=============================================================================
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)
targets.each { |b| return true if b.index==target.index } # Already added
targets.push(target)

View File

@@ -375,6 +375,19 @@ class PokeBattle_Battler
end
return false
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
if target.pbOwnSide.effects[PBEffects::MatBlock] && move.damagingMove?
# NOTE: Confirmed no common animation for this effect.