diff --git a/Data/Scripts/011_Battle/001_Battle/011_Battle_EndOfRoundPhase.rb b/Data/Scripts/011_Battle/001_Battle/011_Battle_EndOfRoundPhase.rb index 8c76b2461..6d6a170c4 100644 --- a/Data/Scripts/011_Battle/001_Battle/011_Battle_EndOfRoundPhase.rb +++ b/Data/Scripts/011_Battle/001_Battle/011_Battle_EndOfRoundPhase.rb @@ -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 diff --git a/Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb b/Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb index 591c9b614..71659d9bb 100644 --- a/Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb +++ b/Data/Scripts/011_Battle/002_Battler/001_Battle_Battler.rb @@ -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- diff --git a/Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb b/Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb index 3e5595d32..e11ee40b5 100644 --- a/Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb +++ b/Data/Scripts/011_Battle/002_Battler/002_Battler_Initialize.rb @@ -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 diff --git a/Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb b/Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb index 2ac00a3c9..546aa57be 100644 --- a/Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb +++ b/Data/Scripts/011_Battle/003_Move/004_Move_BaseEffects.rb @@ -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))) diff --git a/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb index 23cd4c451..9a35b635c 100644 --- a/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb +++ b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb @@ -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)