Added classes GameData::Environment and GameData::BattleTerrain

This commit is contained in:
Maruno17
2021-02-21 18:37:26 +00:00
parent c16311326c
commit 63e640c79b
23 changed files with 368 additions and 258 deletions

View File

@@ -340,19 +340,15 @@ class PokeBattle_Move
end
end
# Terrain moves
if user.affectedByTerrain?
case @battle.field.terrain
when PBBattleTerrains::Electric
multipliers[:base_damage_multiplier] *= 1.5 if type == :ELECTRIC
when PBBattleTerrains::Grassy
multipliers[:base_damage_multiplier] *= 1.5 if type == :GRASS
when PBBattleTerrains::Psychic
multipliers[:base_damage_multiplier] *= 1.5 if type == :PSYCHIC
end
end
if @battle.field.terrain==PBBattleTerrains::Misty && target.affectedByTerrain? &&
type == :DRAGON
multipliers[:base_damage_multiplier] /= 2
case @battle.field.terrain
when :Electric
multipliers[:base_damage_multiplier] *= 1.5 if type == :ELECTRIC && user.affectedByTerrain?
when :Grassy
multipliers[:base_damage_multiplier] *= 1.5 if type == :GRASS && user.affectedByTerrain?
when :Psychic
multipliers[:base_damage_multiplier] *= 1.5 if type == :PSYCHIC && user.affectedByTerrain?
when :Misty
multipliers[:base_damage_multiplier] /= 2 if type == :DRAGON && target.affectedByTerrain?
end
# Badge multipliers
if @battle.internalBattle

View File

@@ -1201,7 +1201,7 @@ class PokeBattle_Move_044 < PokeBattle_TargetStatDownMove
end
def pbBaseDamage(baseDmg,user,target)
if @id == :BULLDOZE && @battle.field.terrain==PBBattleTerrains::Grassy
if @id == :BULLDOZE && @battle.field.terrain == :Grassy
baseDmg = (baseDmg/2.0).round
end
return baseDmg
@@ -1287,8 +1287,7 @@ class PokeBattle_Move_049 < PokeBattle_TargetStatDownMove
targetOpposingSide.effects[PBEffects::Spikes]>0 ||
targetOpposingSide.effects[PBEffects::ToxicSpikes]>0 ||
targetOpposingSide.effects[PBEffects::StickyWeb])
return false if Settings::MECHANICS_GENERATION >= 8 &&
@battle.field.terrain != PBBattleTerrains::None
return false if Settings::MECHANICS_GENERATION >= 8 && @battle.field.terrain != :None
return super
end
@@ -1344,18 +1343,18 @@ class PokeBattle_Move_049 < PokeBattle_TargetStatDownMove
target.pbOpposingSide.effects[PBEffects::StickyWeb] = false if Settings::MECHANICS_GENERATION >= 6
@battle.pbDisplay(_INTL("{1} blew away sticky webs!",user.pbThis))
end
if Settings::MECHANICS_GENERATION >= 8 && @battle.field.terrain != PBBattleTerrains::None
if Settings::MECHANICS_GENERATION >= 8 && @battle.field.terrain != :None
case @battle.field.terrain
when PBBattleTerrains::Electric
when :Electric
@battle.pbDisplay(_INTL("The electricity disappeared from the battlefield."))
when PBBattleTerrains::Grassy
when :Grassy
@battle.pbDisplay(_INTL("The grass disappeared from the battlefield."))
when PBBattleTerrains::Misty
when :Misty
@battle.pbDisplay(_INTL("The mist disappeared from the battlefield."))
when PBBattleTerrains::Psychic
when :Psychic
@battle.pbDisplay(_INTL("The weirdness disappeared from the battlefield."))
end
@battle.field.terrain = PBBattleTerrains::None
@battle.field.terrain = :None
end
end
end
@@ -1872,22 +1871,22 @@ class PokeBattle_Move_060 < PokeBattle_Move
@newType = :NORMAL
checkedTerrain = false
case @battle.field.terrain
when PBBattleTerrains::Electric
when :Electric
if GameData::Type.exists?(:ELECTRIC)
@newType = :ELECTRIC
checkedTerrain = true
end
when PBBattleTerrains::Grassy
when :Grassy
if GameData::Type.exists?(:GRASS)
@newType = :GRASS
checkedTerrain = true
end
when PBBattleTerrains::Misty
when :Misty
if GameData::Type.exists?(:FAIRY)
@newType = :FAIRY
checkedTerrain = true
end
when PBBattleTerrains::Psychic
when :Psychic
if GameData::Type.exists?(:PSYCHIC)
@newType = :PSYCHIC
checkedTerrain = true
@@ -1895,28 +1894,27 @@ class PokeBattle_Move_060 < PokeBattle_Move
end
if !checkedTerrain
case @battle.environment
when PBEnvironment::Grass, PBEnvironment::TallGrass
when :Grass, :TallGrass
@newType = :GRASS
when PBEnvironment::MovingWater, PBEnvironment::StillWater,
PBEnvironment::Puddle, PBEnvironment::Underwater
when :MovingWater, :StillWater, :Puddle, :Underwater
@newType = :WATER
when PBEnvironment::Cave
when :Cave
@newType = :ROCK
when PBEnvironment::Rock, PBEnvironment::Sand
when :Rock, :Sand
@newType = :GROUND
when PBEnvironment::Forest, PBEnvironment::ForestGrass
when :Forest, :ForestGrass
@newType = :BUG
when PBEnvironment::Snow, PBEnvironment::Ice
when :Snow, :Ice
@newType = :ICE
when PBEnvironment::Volcano
when :Volcano
@newType = :FIRE
when PBEnvironment::Graveyard
when :Graveyard
@newType = :GHOST
when PBEnvironment::Sky
when :Sky
@newType = :FLYING
when PBEnvironment::Space
when :Space
@newType = :DRAGON
when PBEnvironment::UltraSpace
when :UltraSpace
@newType = :PSYCHIC
end
end
@@ -2539,7 +2537,7 @@ class PokeBattle_Move_076 < PokeBattle_Move
def pbModifyDamage(damageMult,user,target)
damageMult *= 2 if target.inTwoTurnAttack?("0CA") # Dig
damageMult /= 2 if @battle.field.terrain==PBBattleTerrains::Grassy
damageMult /= 2 if @battle.field.terrain == :Grassy
return damageMult
end
end

View File

@@ -419,7 +419,7 @@ class PokeBattle_Move_095 < PokeBattle_Move
def pbModifyDamage(damageMult,user,target)
damageMult *= 2 if target.inTwoTurnAttack?("0CA") # Dig
damageMult /= 2 if @battle.field.terrain==PBBattleTerrains::Grassy
damageMult /= 2 if @battle.field.terrain == :Grassy
return damageMult
end
end
@@ -870,39 +870,37 @@ class PokeBattle_Move_0A4 < PokeBattle_Move
# NOTE: This is Gen 7's list plus some of Gen 6 plus a bit of my own.
@secretPower = 0 # Body Slam, paralysis
case @battle.field.terrain
when PBBattleTerrains::Electric
when :Electric
@secretPower = 1 # Thunder Shock, paralysis
when PBBattleTerrains::Grassy
when :Grassy
@secretPower = 2 # Vine Whip, sleep
when PBBattleTerrains::Misty
when :Misty
@secretPower = 3 # Fairy Wind, lower Sp. Atk by 1
when PBBattleTerrains::Psychic
when :Psychic
@secretPower = 4 # Confusion, lower Speed by 1
else
case @battle.environment
when PBEnvironment::Grass, PBEnvironment::TallGrass,
PBEnvironment::Forest, PBEnvironment::ForestGrass
when :Grass, :TallGrass, :Forest, :ForestGrass
@secretPower = 2 # (Same as Grassy Terrain)
when PBEnvironment::MovingWater, PBEnvironment::StillWater,
PBEnvironment::Underwater
when :MovingWater, :StillWater, :Underwater
@secretPower = 5 # Water Pulse, lower Attack by 1
when PBEnvironment::Puddle
when :Puddle
@secretPower = 6 # Mud Shot, lower Speed by 1
when PBEnvironment::Cave
when :Cave
@secretPower = 7 # Rock Throw, flinch
when PBEnvironment::Rock, PBEnvironment::Sand
when :Rock, :Sand
@secretPower = 8 # Mud-Slap, lower Acc by 1
when PBEnvironment::Snow, PBEnvironment::Ice
when :Snow, :Ice
@secretPower = 9 # Ice Shard, freeze
when PBEnvironment::Volcano
when :Volcano
@secretPower = 10 # Incinerate, burn
when PBEnvironment::Graveyard
when :Graveyard
@secretPower = 11 # Shadow Sneak, flinch
when PBEnvironment::Sky
when :Sky
@secretPower = 12 # Gust, lower Speed by 1
when PBEnvironment::Space
when :Space
@secretPower = 13 # Swift, flinch
when PBEnvironment::UltraSpace
when :UltraSpace
@secretPower = 14 # Psywave, lower Defense by 1
end
end
@@ -1313,62 +1311,61 @@ class PokeBattle_Move_0B3 < PokeBattle_Move
# Attack in it?
@npMove = :TRIATTACK
case @battle.field.terrain
when PBBattleTerrains::Electric
when :Electric
@npMove = :THUNDERBOLT if GameData::Move.exists?(:THUNDERBOLT)
when PBBattleTerrains::Grassy
when :Grassy
@npMove = :ENERGYBALL if GameData::Move.exists?(:ENERGYBALL)
when PBBattleTerrains::Misty
when :Misty
@npMove = :MOONBLAST if GameData::Move.exists?(:MOONBLAST)
when PBBattleTerrains::Psychic
when :Psychic
@npMove = :PSYCHIC if GameData::Move.exists?(:PSYCHIC)
else
case @battle.environment
when PBEnvironment::Grass, PBEnvironment::TallGrass,
PBEnvironment::Forest, PBEnvironment::ForestGrass
when :Grass, :TallGrass, :Forest, :ForestGrass
if Settings::MECHANICS_GENERATION >= 6
@npMove = :ENERGYBALL if GameData::Move.exists?(:ENERGYBALL)
else
@npMove = :SEEDBOMB if GameData::Move.exists?(:SEEDBOMB)
end
when PBEnvironment::MovingWater, PBEnvironment::StillWater, PBEnvironment::Underwater
when :MovingWater, :StillWater, :Underwater
@npMove = :HYDROPUMP if GameData::Move.exists?(:HYDROPUMP)
when PBEnvironment::Puddle
when :Puddle
@npMove = :MUDBOMB if GameData::Move.exists?(:MUDBOMB)
when PBEnvironment::Cave
when :Cave
if Settings::MECHANICS_GENERATION >= 6
@npMove = :POWERGEM if GameData::Move.exists?(:POWERGEM)
else
@npMove = :ROCKSLIDE if GameData::Move.exists?(:ROCKSLIDE)
end
when PBEnvironment::Rock
when :Rock
if Settings::MECHANICS_GENERATION >= 6
@npMove = :EARTHPOWER if GameData::Move.exists?(:EARTHPOWER)
else
@npMove = :ROCKSLIDE if GameData::Move.exists?(:ROCKSLIDE)
end
when PBEnvironment::Sand
when :Sand
if Settings::MECHANICS_GENERATION >= 6
@npMove = :EARTHPOWER if GameData::Move.exists?(:EARTHPOWER)
else
@npMove = :EARTHQUAKE if GameData::Move.exists?(:EARTHQUAKE)
end
when PBEnvironment::Snow
when :Snow
if Settings::MECHANICS_GENERATION >= 6
@npMove = :FROSTBREATH if GameData::Move.exists?(:FROSTBREATH)
else
@npMove = :BLIZZARD if GameData::Move.exists?(:BLIZZARD)
end
when PBEnvironment::Ice
when :Ice
@npMove = :ICEBEAM if GameData::Move.exists?(:ICEBEAM)
when PBEnvironment::Volcano
when :Volcano
@npMove = :LAVAPLUME if GameData::Move.exists?(:LAVAPLUME)
when PBEnvironment::Graveyard
when :Graveyard
@npMove = :SHADOWBALL if GameData::Move.exists?(:SHADOWBALL)
when PBEnvironment::Sky
when :Sky
@npMove = :AIRSLASH if GameData::Move.exists?(:AIRSLASH)
when PBEnvironment::Space
when :Space
@npMove = :DRACOMETEOR if GameData::Move.exists?(:DRACOMETEOR)
when PBEnvironment::UltraSpace
when :UltraSpace
@npMove = :PSYSHOCK if GameData::Move.exists?(:PSYSHOCK)
end
end

View File

@@ -1774,7 +1774,7 @@ end
#===============================================================================
class PokeBattle_Move_154 < PokeBattle_Move
def pbMoveFailed?(user,targets)
if @battle.field.terrain==PBBattleTerrains::Electric
if @battle.field.terrain == :Electric
@battle.pbDisplay(_INTL("But it failed!"))
return true
end
@@ -1782,7 +1782,7 @@ class PokeBattle_Move_154 < PokeBattle_Move
end
def pbEffectGeneral(user)
@battle.pbStartTerrain(user,PBBattleTerrains::Electric)
@battle.pbStartTerrain(user, :Electric)
end
end
@@ -1795,7 +1795,7 @@ end
#===============================================================================
class PokeBattle_Move_155 < PokeBattle_Move
def pbMoveFailed?(user,targets)
if @battle.field.terrain==PBBattleTerrains::Grassy
if @battle.field.terrain == :Grassy
@battle.pbDisplay(_INTL("But it failed!"))
return true
end
@@ -1803,7 +1803,7 @@ class PokeBattle_Move_155 < PokeBattle_Move
end
def pbEffectGeneral(user)
@battle.pbStartTerrain(user,PBBattleTerrains::Grassy)
@battle.pbStartTerrain(user, :Grassy)
end
end
@@ -1816,7 +1816,7 @@ end
#===============================================================================
class PokeBattle_Move_156 < PokeBattle_Move
def pbMoveFailed?(user,targets)
if @battle.field.terrain==PBBattleTerrains::Misty
if @battle.field.terrain == :Misty
@battle.pbDisplay(_INTL("But it failed!"))
return true
end
@@ -1824,7 +1824,7 @@ class PokeBattle_Move_156 < PokeBattle_Move
end
def pbEffectGeneral(user)
@battle.pbStartTerrain(user,PBBattleTerrains::Misty)
@battle.pbStartTerrain(user, :Misty)
end
end
@@ -2409,7 +2409,7 @@ class PokeBattle_Move_16E < PokeBattle_Move
def pbEffectAgainstTarget(user,target)
hpGain = (target.totalhp/2.0).round
hpGain = (target.totalhp*2/3.0).round if @battle.field.terrain==PBBattleTerrains::Grassy
hpGain = (target.totalhp*2/3.0).round if @battle.field.terrain == :Grassy
target.pbRecoverHP(hpGain)
@battle.pbDisplay(_INTL("{1}'s HP was restored.",target.pbThis))
end
@@ -2556,7 +2556,7 @@ end
#===============================================================================
class PokeBattle_Move_173 < PokeBattle_Move
def pbMoveFailed?(user,targets)
if @battle.field.terrain==PBBattleTerrains::Psychic
if @battle.field.terrain == :Psychic
@battle.pbDisplay(_INTL("But it failed!"))
return true
end
@@ -2564,7 +2564,7 @@ class PokeBattle_Move_173 < PokeBattle_Move
end
def pbEffectGeneral(user)
@battle.pbStartTerrain(user,PBBattleTerrains::Psychic)
@battle.pbStartTerrain(user, :Psychic)
end
end