Fixed Toxic damage only going up to 15/16 of total HP, minor code fixes

This commit is contained in:
Maruno17
2021-12-05 20:20:30 +00:00
parent 479aeacc2c
commit 3650a078e7
5 changed files with 11 additions and 22 deletions

View File

@@ -352,7 +352,7 @@ class Battle
next if b.status != :POISON
if b.statusCount>0
b.effects[PBEffects::Toxic] += 1
b.effects[PBEffects::Toxic] = 15 if b.effects[PBEffects::Toxic]>15
b.effects[PBEffects::Toxic] = 16 if b.effects[PBEffects::Toxic]>16
end
if b.hasActiveAbility?(:POISONHEAL)
if b.canHeal?
@@ -622,7 +622,7 @@ class Battle
b.effects[PBEffects::CounterTarget] = -1
b.effects[PBEffects::Electrify] = false
b.effects[PBEffects::Endure] = false
b.effects[PBEffects::FirstPledge] = 0
b.effects[PBEffects::FirstPledge] = nil
b.effects[PBEffects::Flinch] = false
b.effects[PBEffects::FocusPunch] = false
b.effects[PBEffects::FollowMe] = 0

View File

@@ -11,7 +11,6 @@ class Battle::Battler
attr_accessor :item_id
attr_accessor :moves
attr_accessor :gender
attr_accessor :iv
attr_accessor :attack
attr_accessor :spatk
attr_accessor :speed
@@ -109,7 +108,7 @@ class Battle::Battler
def status=(value)
@effects[PBEffects::Truant] = false if @status == :SLEEP && value != :SLEEP
@effects[PBEffects::Toxic] = 0 if value != :POISON
@effects[PBEffects::Toxic] = 0 if value != :POISON || self.statusCount == 0
@status = value
@pokemon.status = value if @pokemon
self.statusCount = 0 if value != :POISON && value != :SLEEP
@@ -129,7 +128,8 @@ class Battle::Battler
#=============================================================================
def happiness; return @pokemon ? @pokemon.happiness : 0; end
def affection_level; return @pokemon ? @pokemon.affection_level : 2; end
def nature; return @pokemon ? @pokemon.nature : 0; end
def gender; return @pokemon ? @pokemon.gender : 0; end
def nature; return @pokemon ? @pokemon.nature : nil; end
def pokerusStage; return @pokemon ? @pokemon.pokerusStage : 0; end
#=============================================================================
@@ -300,10 +300,9 @@ class Battle::Battler
end
# Returns the active types of this Pokémon. The array should not include the
# same type more than once, and should not include any invalid type numbers
# (e.g. -1).
# same type more than once, and should not include any invalid types.
def pbTypes(withType3=false)
ret = @types.clone
ret = @types.uniq
# Burn Up erases the Fire-type.
ret.delete(:FIRE) if @effects[PBEffects::BurnUp]
# Roost erases the Flying-type. If there are no types left, adds the Normal-

View File

@@ -23,7 +23,6 @@ class Battle::Battler
@types = []
@ability_id = nil
@item_id = nil
@gender = 0
@attack = @defense = @spatk = @spdef = @speed = 0
@status = :NONE
@statusCount = 0
@@ -31,8 +30,6 @@ class Battle::Battler
@pokemonIndex = -1
@participants = []
@moves = []
@iv = {}
GameData::Stat.each_main { |s| @iv[s.id] = 0 }
end
# Used by Future Sight only, when Future Sight's user is no longer in battle.
@@ -46,7 +43,6 @@ class Battle::Battler
@totalhp = pkmn.totalhp
@types = pkmn.types
# ability and item intentionally not copied across here
@gender = pkmn.gender
@attack = pkmn.attack
@defense = pkmn.defense
@spatk = pkmn.spatk
@@ -58,8 +54,6 @@ class Battle::Battler
@pokemonIndex = idxParty
@participants = []
# moves intentionally not copied across here
@iv = {}
GameData::Stat.each_main { |s| @iv[s.id] = pkmn.iv[s.id] }
@dummy = true
end
@@ -80,7 +74,6 @@ class Battle::Battler
@types = pkmn.types
@ability_id = pkmn.ability_id
@item_id = pkmn.item_id
@gender = pkmn.gender
@attack = pkmn.attack
@defense = pkmn.defense
@spatk = pkmn.spatk
@@ -95,8 +88,6 @@ class Battle::Battler
pkmn.moves.each_with_index do |m,i|
@moves[i] = Battle::Move.from_pokemon_move(@battle,m)
end
@iv = {}
GameData::Stat.each_main { |s| @iv[s.id] = pkmn.iv[s.id] }
end
def pbInitEffects(batonPass)
@@ -186,7 +177,7 @@ class Battle::Battler
@effects[PBEffects::Encore] = 0
@effects[PBEffects::EncoreMove] = nil
@effects[PBEffects::Endure] = false
@effects[PBEffects::FirstPledge] = 0
@effects[PBEffects::FirstPledge] = nil
@effects[PBEffects::FlashFire] = false
@effects[PBEffects::Flinch] = false
@effects[PBEffects::FocusPunch] = false
@@ -275,7 +266,7 @@ class Battle::Battler
@effects[PBEffects::Torment] = false
@effects[PBEffects::Toxic] = 0
@effects[PBEffects::Transform] = false
@effects[PBEffects::TransformSpecies] = 0
@effects[PBEffects::TransformSpecies] = nil
@effects[PBEffects::Trapping] = 0
@effects[PBEffects::TrappingMove] = nil
@effects[PBEffects::TrappingUser] = -1

View File

@@ -564,7 +564,7 @@ class Battle::Move::PledgeMove < Battle::Move
end
def pbEffectGeneral(user)
user.effects[PBEffects::FirstPledge] = 0
user.effects[PBEffects::FirstPledge] = nil
return if !@pledgeSetup
@battle.pbDisplay(_INTL("{1} is waiting for {2}'s move...",
user.pbThis,@pledgeOtherUser.pbThis(true)))

View File

@@ -380,8 +380,7 @@ class Battle::Move::TrapUserAndTargetInBattle < Battle::Move
end
#===============================================================================
# No Pokémon can switch out or flee until the end of the next round, as long as
# the user remains active. (Fairy Lock)
# No Pokémon can switch out or flee until the end of the next round. (Fairy Lock)
#===============================================================================
class Battle::Move::TrapAllBattlersInBattleForOneTurn < Battle::Move
def pbMoveFailed?(user,targets)