Fixed incorrect reflection layering, fixed Metal Burst counting damage taken by a substitute, fixed Metal Burst not trying to target all battlers that hit it, fixed Mega Scizor's stats

This commit is contained in:
Maruno17
2024-05-16 19:18:35 +01:00
parent 209a1ff1b3
commit b86d5b5b57
8 changed files with 17 additions and 13 deletions

View File

@@ -63,7 +63,8 @@ class Sprite_Reflection
@sprite.ox = width / 2
@sprite.oy = (height / 2) - 2 # Hard-coded 2 pixel shift up
@sprite.oy -= event.bob_height * 2
@sprite.z = -50 # Still water is -100, map is 0 and above
@sprite.z = @parent_sprite.groundY - (Graphics.height / 2)
@sprite.z -= 1000 # Still water is -2000, map is 0 and above
@sprite.z += 1 if event == $game_player
@sprite.zoom_x = @parent_sprite.zoom_x
if Settings::ANIMATE_REFLECTIONS && !GameData::MapMetadata.try_get(event.map_id)&.still_reflections

View File

@@ -420,7 +420,7 @@ class TilemapRenderer
def refresh_tile_z(tile, map, y, layer, tile_id)
if tile.shows_reflection
tile.z = -100
tile.z = -2000
elsif tile.bridge && $PokemonGlobal.bridge > 0
tile.z = 0
else

View File

@@ -382,6 +382,10 @@ class Battle::Move
target.effects[PBEffects::MirrorCoat] = damage
target.effects[PBEffects::MirrorCoatTarget] = user.index
end
if target.opposes?(user)
target.lastHPLostFromFoe = damage # For Metal Burst
target.lastFoeAttacker.push(user.pokemonIndex) # For Metal Burst
end
end
if target.effects[PBEffects::Bide] > 0
target.effects[PBEffects::BideDamage] += damage
@@ -392,10 +396,6 @@ class Battle::Move
target.tookMoveDamageThisRound = true if damage > 0 && !target.damageState.substitute # For Focus Punch
target.tookDamageThisRound = true if damage > 0 # For Assurance
target.lastAttacker.push(user.index) # For Revenge
if target.opposes?(user)
target.lastHPLostFromFoe = damage # For Metal Burst
target.lastFoeAttacker.push(user.index) # For Metal Burst
end
if $game_temp.party_direct_damage_taken &&
$game_temp.party_direct_damage_taken[target.pokemonIndex] &&
target.pbOwnedByPlayer?

View File

@@ -505,9 +505,12 @@ end
class Battle::Move::CounterDamagePlusHalf < Battle::Move::FixedDamageMove
def pbAddTarget(targets, user)
return if user.lastFoeAttacker.length == 0
lastAttacker = user.lastFoeAttacker.last
return if lastAttacker < 0 || !user.opposes?(lastAttacker)
user.pbAddTarget(targets, user, @battle.battlers[lastAttacker], self, false)
user.lastFoeAttacker.reverse_each do |party_index|
battler = @battle.pbFindBattler(party_index, user.index + 1)
next if !battler
user.pbAddTarget(targets, user, battler, self, false)
break
end
end
def pbMoveFailed?(user, targets)

View File

@@ -276,7 +276,7 @@ Generation = 6
[SCIZOR,1]
FormName = Mega Scizor
MegaStone = SCIZORITE
BaseStats = 70,150,140,65,100,75
BaseStats = 70,150,140,75,65,100
Abilities = TECHNICIAN
HiddenAbilities = TECHNICIAN
Height = 2.0

View File

@@ -554,7 +554,7 @@ Generation = 6
[SCIZOR,1]
FormName = Mega Scizor
MegaStone = SCIZORITE
BaseStats = 70,150,140,65,100,75
BaseStats = 70,150,140,75,65,100
BaseExp = 210
Abilities = TECHNICIAN
HiddenAbilities = TECHNICIAN

View File

@@ -727,7 +727,7 @@ Generation = 6
[SCIZOR,1]
FormName = Mega Scizor
MegaStone = SCIZORITE
BaseStats = 70,150,140,65,100,75
BaseStats = 70,150,140,75,65,100
BaseExp = 210
Abilities = TECHNICIAN
HiddenAbilities = TECHNICIAN

View File

@@ -727,7 +727,7 @@ Generation = 6
[SCIZOR,1]
FormName = Mega Scizor
MegaStone = SCIZORITE
BaseStats = 70,150,140,65,100,75
BaseStats = 70,150,140,75,65,100
BaseExp = 210
Abilities = TECHNICIAN
HiddenAbilities = TECHNICIAN