mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Moved status condition common animation names into the definitions of statuses
This commit is contained in:
@@ -13,7 +13,7 @@ module Settings
|
||||
# generations 5 and later are reasonably supported.
|
||||
MECHANICS_GENERATION = 7
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The default screen width (at a scale of 1.0).
|
||||
SCREEN_WIDTH = 512
|
||||
@@ -24,7 +24,7 @@ module Settings
|
||||
# Map view mode (0=original, 1=custom, 2=perspective).
|
||||
MAP_VIEW_MODE = 1
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The maximum level Pokémon can reach.
|
||||
MAXIMUM_LEVEL = 100
|
||||
@@ -41,7 +41,7 @@ module Settings
|
||||
# always inherit egg moves from its father.
|
||||
BREEDING_CAN_INHERIT_EGG_MOVES_FROM_MOTHER = (MECHANICS_GENERATION >= 6)
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The amount of money the player starts the game with.
|
||||
INITIAL_MONEY = 3000
|
||||
@@ -54,34 +54,34 @@ module Settings
|
||||
# The maximum number of Pokémon that can be in the party.
|
||||
MAX_PARTY_SIZE = 6
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# A set of arrays each containing a trainer type followed by a Global Variable
|
||||
# number. If the variable isn't set to 0, then all trainers with the associated
|
||||
# trainer type will be named as whatever is in that variable.
|
||||
# number. If the variable isn't set to 0, then all trainers with the
|
||||
# associated trainer type will be named as whatever is in that variable.
|
||||
RIVAL_NAMES = [
|
||||
[:RIVAL1, 12],
|
||||
[:RIVAL2, 12],
|
||||
[:RIVAL1, 12],
|
||||
[:RIVAL2, 12],
|
||||
[:CHAMPION, 12]
|
||||
]
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Whether outdoor maps should be shaded according to the time of day.
|
||||
TIME_SHADING = true
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Whether poisoned Pokémon will lose HP while walking around in the field.
|
||||
POISON_IN_FIELD = (MECHANICS_GENERATION <= 4)
|
||||
# Whether poisoned Pokémon will faint while walking around in the field (true),
|
||||
# or survive the poisoning with 1 HP (false).
|
||||
# Whether poisoned Pokémon will faint while walking around in the field
|
||||
# (true), or survive the poisoning with 1 HP (false).
|
||||
POISON_FAINT_IN_FIELD = (MECHANICS_GENERATION <= 3)
|
||||
# Whether planted berries grow according to Gen 4 mechanics (true) or Gen 3
|
||||
# mechanics (false).
|
||||
NEW_BERRY_PLANTS = (MECHANICS_GENERATION >= 4)
|
||||
# Whether fishing automatically hooks the Pokémon (if false, there is a reaction
|
||||
# test first).
|
||||
# Whether fishing automatically hooks the Pokémon (true), or whether there is
|
||||
# a reaction test first (false).
|
||||
FISHING_AUTO_HOOK = false
|
||||
# The ID of the common event that runs when the player starts fishing (runs
|
||||
# instead of showing the casting animation).
|
||||
@@ -90,33 +90,35 @@ module Settings
|
||||
# instead of showing the reeling in animation).
|
||||
FISHING_END_COMMON_EVENT = -1
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The number of steps allowed before a Safari Zone game is over (0=infinite).
|
||||
SAFARI_STEPS = 600
|
||||
# The number of seconds a Bug Catching Contest lasts for (0=infinite).
|
||||
BUG_CONTEST_TIME = 1200
|
||||
BUG_CONTEST_TIME = 20 * 60 # 20 minutes
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Pairs of map IDs, where the location signpost isn't shown when moving from one
|
||||
# of the maps in a pair to the other (and vice versa). Useful for single long
|
||||
# routes/towns that are spread over multiple maps.
|
||||
# e.g. [4,5,16,17,42,43] will be map pairs 4,5 and 16,17 and 42,43.
|
||||
# Moving between two maps that have the exact same name won't show the location
|
||||
# signpost anyway, so you don't need to list those maps here.
|
||||
# Pairs of map IDs, where the location signpost isn't shown when moving from
|
||||
# one of the maps in a pair to the other (and vice versa). Useful for single
|
||||
# long routes/towns that are spread over multiple maps.
|
||||
# e.g. [4,5,16,17,42,43] will be map pairs 4,5 and 16,17 and 42,43.
|
||||
# Moving between two maps that have the exact same name won't show the
|
||||
# location signpost anyway, so you don't need to list those maps here.
|
||||
NO_SIGNPOSTS = []
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Whether the badge restriction on using certain hidden moves is owning at least
|
||||
# a certain number of badges (true), or owning a particular badge (false).
|
||||
# Whether you need at least a certain number of badges to use some hidden
|
||||
# moves in the field (true), or whether you need one specific badge to use
|
||||
# them (false). The amounts/specific badges are defined below.
|
||||
FIELD_MOVES_COUNT_BADGES = true
|
||||
# Depending on FIELD_MOVES_COUNT_BADGES, either the number of badges required to
|
||||
# use each hidden move, or the specific badge number required to use each move.
|
||||
# Remember that badge 0 is the first badge, badge 1 is the second badge, etc.
|
||||
# e.g. To require the second badge, put false and 1.
|
||||
# To require at least 2 badges, put true and 2.
|
||||
# Depending on FIELD_MOVES_COUNT_BADGES, either the number of badges required
|
||||
# to use each hidden move in the field, or the specific badge number required
|
||||
# to use each move. Remember that badge 0 is the first badge, badge 1 is the
|
||||
# second badge, etc.
|
||||
# e.g. To require the second badge, put false and 1.
|
||||
# To require at least 2 badges, put true and 2.
|
||||
BADGE_FOR_CUT = 1
|
||||
BADGE_FOR_FLASH = 2
|
||||
BADGE_FOR_ROCKSMASH = 3
|
||||
@@ -126,22 +128,23 @@ module Settings
|
||||
BADGE_FOR_DIVE = 7
|
||||
BADGE_FOR_WATERFALL = 8
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# If a move taught by a TM/HM/TR replaces another move, this setting is whether
|
||||
# the machine's move retains the replaced move's PP (true) or whether the
|
||||
# machine's move has full PP (false).
|
||||
# If a move taught by a TM/HM/TR replaces another move, this setting is
|
||||
# whether the machine's move retains the replaced move's PP (true), or whether
|
||||
# the machine's move has full PP (false).
|
||||
TAUGHT_MACHINES_KEEP_OLD_PP = (MECHANICS_GENERATION == 5)
|
||||
# Whether Black/White Flute raise/lower the levels of wild Pokémon respectively
|
||||
# (true) or lower/raise the wild encounter rate respectively (false).
|
||||
# Whether the Black/White Flutes will raise/lower the levels of wild Pokémon
|
||||
# respectively (true), or will lower/raise the wild encounter rate
|
||||
# respectively (false).
|
||||
FLUTES_CHANGE_WILD_ENCOUNTER_LEVELS = (MECHANICS_GENERATION >= 6)
|
||||
# Whether Repel uses the level of the first Pokémon in the party regardless of
|
||||
# its HP (true) or uses the level of the first unfainted Pokémon (false)
|
||||
# its HP (true), or it uses the level of the first unfainted Pokémon (false).
|
||||
REPEL_COUNTS_FAINTED_POKEMON = (MECHANICS_GENERATION >= 6)
|
||||
# Whether Rage Candy Bar acts as a Full Heal (true) or a Potion (false).
|
||||
RAGE_CANDY_BAR_CURES_STATUS_PROBLEMS = (MECHANICS_GENERATION >= 7)
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The name of the person who created the Pokémon storage system.
|
||||
def self.storage_creator_name
|
||||
@@ -150,9 +153,9 @@ module Settings
|
||||
# The number of boxes in Pokémon storage.
|
||||
NUM_STORAGE_BOXES = 30
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The names of each pocket of the Bag. Leave the first entry blank.
|
||||
# The names of each pocket of the Bag. Ignore the first entry ("").
|
||||
def self.bag_pocket_names
|
||||
return ["",
|
||||
_INTL("Items"),
|
||||
@@ -165,8 +168,8 @@ module Settings
|
||||
_INTL("Key Items")
|
||||
]
|
||||
end
|
||||
# The maximum number of slots per pocket (-1 means infinite number). Ignore the
|
||||
# first number (0).
|
||||
# The maximum number of slots per pocket (-1 means infinite number). Ignore
|
||||
# the first number (0).
|
||||
BAG_MAX_POCKET_SIZE = [0, -1, -1, -1, -1, -1, -1, -1, -1]
|
||||
# The maximum number of items each slot in the Bag can hold.
|
||||
BAG_MAX_PER_SLOT = 999
|
||||
@@ -174,21 +177,23 @@ module Settings
|
||||
# first entry (the 0).
|
||||
BAG_POCKET_AUTO_SORT = [0, false, false, false, true, true, false, false, false]
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Whether the Pokédex list shown is the one for the player's current region
|
||||
# (true), or whether a menu pops up for the player to manually choose which Dex
|
||||
# list to view if more than one is available (false).
|
||||
# (true), or whether a menu pops up for the player to manually choose which
|
||||
# Dex list to view if more than one is available (false).
|
||||
USE_CURRENT_REGION_DEX = false
|
||||
# The names of each Dex list in the game, in order and with National Dex at the
|
||||
# end. This is also the order that $PokemonGlobal.pokedexUnlocked is in, which
|
||||
# records which Dexes have been unlocked (first is unlocked by default).
|
||||
# You can define which region a particular Dex list is linked to. This means the
|
||||
# area map shown while viewing that Dex list will ALWAYS be that of the defined
|
||||
# region, rather than whichever region the player is currently in. To define
|
||||
# this, put the Dex name and the region number in an array, like the Kanto and
|
||||
# Johto Dexes are. The National Dex isn't in an array with a region number,
|
||||
# therefore its area map is whichever region the player is currently in.
|
||||
# The names of the Pokédex lists, in the order they are defined in the PBS
|
||||
# file "regionaldexes.txt". The last name is for the National Dex and is added
|
||||
# onto the end of this array (remember that you don't need to use it). This
|
||||
# array's order is also the order of $PokemonGlobal.pokedexUnlocked, which
|
||||
# records which Dexes have been unlocked (the first is unlocked by default).
|
||||
# If an entry is just a name, then the region map shown in the Area page while
|
||||
# viewing that Dex list will be the region map of the region the player is
|
||||
# currently in. The National Dex entry should always behave like this.
|
||||
# If an entry is of the form [name, number], then the number is a region
|
||||
# number. That region's map will appear in the Area page while viewing that
|
||||
# Dex list, no matter which region the player is currently in.
|
||||
def self.pokedex_names
|
||||
return [
|
||||
[_INTL("Kanto Pokédex"), 0],
|
||||
@@ -196,36 +201,35 @@ module Settings
|
||||
_INTL("National Pokédex")
|
||||
]
|
||||
end
|
||||
# Whether all forms of a given species will be immediately available to view in
|
||||
# the Pokédex so long as that species has been seen at all (true), or whether
|
||||
# each form needs to be seen specifically before that form appears in the
|
||||
# Pokédex (false).
|
||||
# Whether all forms of a given species will be immediately available to view
|
||||
# in the Pokédex so long as that species has been seen at all (true), or
|
||||
# whether each form needs to be seen specifically before that form appears in
|
||||
# the Pokédex (false).
|
||||
DEX_SHOWS_ALL_FORMS = false
|
||||
# An array of numbers, where each number is that of a Dex list (National Dex is
|
||||
# -1). All Dex lists included here have the species numbers in them reduced by
|
||||
# 1, thus making the first listed species have a species number of 0 (e.g.
|
||||
# Victini in Unova's Dex).
|
||||
# An array of numbers, where each number is that of a Dex list (in the same
|
||||
# order as above, except the National Dex is -1). All Dex lists included here
|
||||
# will begin their numbering at 0 rather than 1 (e.g. Victini in Unova's Dex).
|
||||
DEXES_WITH_OFFSETS = []
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# A set of arrays each containing details of a graphic to be shown on the region
|
||||
# map if appropriate. The values for each array are as follows:
|
||||
# - Region number.
|
||||
# - Global Switch; the graphic is shown if this is ON (non-wall maps only).
|
||||
# - X coordinate of the graphic on the map, in squares.
|
||||
# - Y coordinate of the graphic on the map, in squares.
|
||||
# - Name of the graphic, found in the Graphics/Pictures folder.
|
||||
# - The graphic will always (true) or never (false) be shown on a wall map.
|
||||
# A set of arrays, each containing details of a graphic to be shown on the
|
||||
# region map if appropriate. The values for each array are as follows:
|
||||
# * Region number.
|
||||
# * Game Switch; the graphic is shown if this is ON (non-wall maps only).
|
||||
# * X coordinate of the graphic on the map, in squares.
|
||||
# * Y coordinate of the graphic on the map, in squares.
|
||||
# * Name of the graphic, found in the Graphics/Pictures folder.
|
||||
# * The graphic will always (true) or never (false) be shown on a wall map.
|
||||
REGION_MAP_EXTRAS = [
|
||||
[0, 51, 16, 15, "mapHiddenBerth", false],
|
||||
[0, 52, 20, 14, "mapHiddenFaraday", false]
|
||||
]
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# A list of maps used by roaming Pokémon. Each map has an array of other maps it
|
||||
# can lead to.
|
||||
# A list of maps used by roaming Pokémon. Each map has an array of other maps
|
||||
# it can lead to.
|
||||
ROAMING_AREAS = {
|
||||
5 => [ 21, 28, 31, 39, 41, 44, 47, 66, 69],
|
||||
21 => [5, 28, 31, 39, 41, 44, 47, 66, 69],
|
||||
@@ -238,15 +242,15 @@ module Settings
|
||||
66 => [5, 21, 28, 31, 39, 41, 44, 47, 69],
|
||||
69 => [5, 21, 28, 31, 39, 41, 44, 47, 66 ]
|
||||
}
|
||||
# A set of arrays each containing the details of a roaming Pokémon. The
|
||||
# information within is as follows:
|
||||
# - Species.
|
||||
# - Level.
|
||||
# - Global Switch; the Pokémon roams while this is ON.
|
||||
# - Encounter type (0=any, 1=grass/walking in cave, 2=surfing, 3=fishing,
|
||||
# 4=surfing/fishing). See bottom of PField_RoamingPokemon for lists.
|
||||
# - Name of BGM to play for that encounter (optional).
|
||||
# - Roaming areas specifically for this Pokémon (optional).
|
||||
# A set of arrays, each containing the details of a roaming Pokémon. The
|
||||
# information within each array is as follows:
|
||||
# * Species.
|
||||
# * Level.
|
||||
# * Game Switch; the Pokémon roams while this is ON.
|
||||
# * Encounter type (0=any, 1=grass/walking in cave, 2=surfing, 3=fishing,
|
||||
# 4=surfing/fishing). See the bottom of PField_RoamingPokemon for lists.
|
||||
# * Name of BGM to play for that encounter (optional).
|
||||
# * Roaming areas specifically for this Pokémon (optional).
|
||||
ROAMING_SPECIES = [
|
||||
[:LATIAS, 30, 53, 0, "Battle roaming"],
|
||||
[:LATIOS, 30, 53, 0, "Battle roaming"],
|
||||
@@ -259,15 +263,16 @@ module Settings
|
||||
[:ENTEI, 40, 55, 1, nil]
|
||||
]
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# A set of arrays each containing details of a wild encounter that can only
|
||||
# occur via using the Poké Radar. The information within is as follows:
|
||||
# - Map ID on which this encounter can occur.
|
||||
# - Probability that this encounter will occur (as a percentage).
|
||||
# - Species.
|
||||
# - Minimum possible level.
|
||||
# - Maximum possible level (optional).
|
||||
# A set of arrays, each containing the details of a wild encounter that can
|
||||
# only occur via using the Poké Radar. The information within each array is as
|
||||
# follows:
|
||||
# * Map ID on which this encounter can occur.
|
||||
# * Probability that this encounter will occur (as a percentage).
|
||||
# * Species.
|
||||
# * Minimum possible level.
|
||||
# * Maximum possible level (optional).
|
||||
POKE_RADAR_ENCOUNTERS = [
|
||||
[5, 20, :STARLY, 12, 15],
|
||||
[21, 10, :STANTLER, 14],
|
||||
@@ -275,12 +280,12 @@ module Settings
|
||||
[28, 20, :BEEDRILL, 15, 18]
|
||||
]
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The Game Switch that is set to ON when the player blacks out.
|
||||
STARTING_OVER_SWITCH = 1
|
||||
# The Game Switch that is set to ON when the player has seen Pokérus in the Poké
|
||||
# Center, and doesn't need to be told about it again.
|
||||
# The Game Switch that is set to ON when the player has seen Pokérus in the
|
||||
# Poké Center (and doesn't need to be told about it again).
|
||||
SEEN_POKERUS_SWITCH = 2
|
||||
# The Game Switch which, while ON, makes all wild Pokémon created be shiny.
|
||||
SHINY_WILD_POKEMON_SWITCH = 31
|
||||
@@ -288,7 +293,7 @@ module Settings
|
||||
# met via a fateful encounter.
|
||||
FATEFUL_ENCOUNTER_SWITCH = 32
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# ID of the animation played when the player steps on grass (grass rustling).
|
||||
GRASS_ANIMATION_ID = 1
|
||||
@@ -298,8 +303,8 @@ module Settings
|
||||
# ID of the animation played when a trainer notices the player (an exclamation
|
||||
# bubble).
|
||||
EXCLAMATION_ANIMATION_ID = 3
|
||||
# ID of the animation played when a patch of grass rustles due to using the Poké
|
||||
# Radar.
|
||||
# ID of the animation played when a patch of grass rustles due to using the
|
||||
# Poké Radar.
|
||||
RUSTLE_NORMAL_ANIMATION_ID = 1
|
||||
# ID of the animation played when a patch of grass rustles vigorously due to
|
||||
# using the Poké Radar. (Rarer species)
|
||||
@@ -307,11 +312,11 @@ module Settings
|
||||
# ID of the animation played when a patch of grass rustles and shines due to
|
||||
# using the Poké Radar. (Shiny encounter)
|
||||
RUSTLE_SHINY_ANIMATION_ID = 6
|
||||
# ID of the animation played when a berry tree grows a stage while the player is
|
||||
# on the map (for new plant growth mechanics only).
|
||||
# ID of the animation played when a berry tree grows a stage while the player
|
||||
# is on the map (for new plant growth mechanics only).
|
||||
PLANT_SPARKLE_ANIMATION_ID = 7
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# An array of available languages in the game, and their corresponding message
|
||||
# file in the Data folder. Edit only if you have 2 or more languages to choose
|
||||
@@ -321,7 +326,7 @@ module Settings
|
||||
# ["Deutsch", "deutsch.dat"]
|
||||
]
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Available speech frames. These are graphic files in "Graphics/Windowskins/".
|
||||
SPEECH_WINDOWSKINS = [
|
||||
|
||||
@@ -7,8 +7,8 @@ module Settings
|
||||
# Whether turn order is recalculated after a Pokémon's Speed stat changes.
|
||||
RECALCULATE_TURN_ORDER_AFTER_SPEED_CHANGES = (MECHANICS_GENERATION >= 8)
|
||||
# Whether critical hits do 1.5x damage and have 4 stages (true), or they do 2x
|
||||
# damage and have 5 stages as in Gen 5 (false). Also determines whether critical
|
||||
# hit rate can be copied by Transform/Psych Up.
|
||||
# damage and have 5 stages as in Gen 5 (false). Also determines whether
|
||||
# critical hit rate can be copied by Transform/Psych Up.
|
||||
NEW_CRITICAL_HIT_RATE_MECHANICS = (MECHANICS_GENERATION >= 6)
|
||||
# Whether several effects apply relating to a Pokémon's type:
|
||||
# * Electric-type immunity to paralysis
|
||||
@@ -19,19 +19,19 @@ module Settings
|
||||
# Whether weather caused by an ability lasts 5 rounds (true) or forever (false).
|
||||
FIXED_DURATION_WEATHER_FROM_ABILITY = (MECHANICS_GENERATION >= 6)
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Whether X items (X Attack, etc.) raise their stat by 2 stages (true) or 1
|
||||
# (false).
|
||||
X_STAT_ITEMS_RAISE_BY_TWO_STAGES = (MECHANICS_GENERATION >= 7)
|
||||
# Whether some Poké Balls have catch rate multipliers from Gen 7 (true) or from
|
||||
# earlier generations (false).
|
||||
# Whether some Poké Balls have catch rate multipliers from Gen 7 (true) or
|
||||
# from earlier generations (false).
|
||||
NEW_POKE_BALL_CATCH_RATES = (MECHANICS_GENERATION >= 7)
|
||||
# Whether Soul Dew powers up Psychic and Dragon-type moves by 20% (true) or
|
||||
# raises the holder's Special Attack and Special Defense by 50% (false).
|
||||
SOUL_DEW_POWERS_UP_TYPES = (MECHANICS_GENERATION >= 7)
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# The minimum number of badges required to boost each stat of a player's
|
||||
# Pokémon by 1.1x, in battle only.
|
||||
@@ -41,7 +41,7 @@ module Settings
|
||||
NUM_BADGES_BOOST_SPDEF = (MECHANICS_GENERATION >= 4) ? 999 : 7
|
||||
NUM_BADGES_BOOST_SPEED = (MECHANICS_GENERATION >= 4) ? 999 : 3
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# An array of items which act as Mega Rings for the player (NPCs don't need a
|
||||
# Mega Ring item, just a Mega Stone held by their Pokémon).
|
||||
@@ -50,29 +50,29 @@ module Settings
|
||||
# Evolving even if they otherwise could.
|
||||
NO_MEGA_EVOLUTION = 34
|
||||
|
||||
#===============================================================================
|
||||
#=============================================================================
|
||||
|
||||
# Whether the Exp gained from beating a Pokémon should be scaled depending on
|
||||
# the gainer's level.
|
||||
SCALED_EXP_FORMULA = (MECHANICS_GENERATION == 5 || MECHANICS_GENERATION >= 7)
|
||||
# Whether the Exp gained from beating a Pokémon should be divided equally
|
||||
# between each participant (true), or whether each participant should gain that
|
||||
# much Exp (false). This also applies to Exp gained via the Exp Share (held item
|
||||
# version) being distributed to all Exp Share holders.
|
||||
# between each participant (true), or whether each participant should gain
|
||||
# that much Exp (false). This also applies to Exp gained via the Exp Share
|
||||
# (held item version) being distributed to all Exp Share holders.
|
||||
SPLIT_EXP_BETWEEN_GAINERS = (MECHANICS_GENERATION <= 5)
|
||||
# Whether the critical capture mechanic applies. Note that it is based on a
|
||||
# total of 600+ species (i.e. that many species need to be caught to provide the
|
||||
# greatest critical capture chance of 2.5x), and there may be fewer species in
|
||||
# your game.
|
||||
# Whether the critical capture mechanic applies. Note that its calculation is
|
||||
# based on a total of 600+ species (i.e. that many species need to be caught
|
||||
# to provide the greatest critical capture chance of 2.5x), and there may be
|
||||
# fewer species in your game.
|
||||
ENABLE_CRITICAL_CAPTURES = (MECHANICS_GENERATION >= 5)
|
||||
# Whether Pokémon gain Exp for capturing a Pokémon.
|
||||
GAIN_EXP_FOR_CAPTURE = (MECHANICS_GENERATION >= 6)
|
||||
# The Game Switch which, whie ON, prevents the player from losing money if they
|
||||
# lose a battle (they can still gain money from trainers for winning).
|
||||
# The Game Switch which, whie ON, prevents the player from losing money if
|
||||
# they lose a battle (they can still gain money from trainers for winning).
|
||||
NO_MONEY_LOSS = 33
|
||||
# Whether party Pokémon check whether they can evolve after all battles
|
||||
# regardless of the outcome (true) or only after battles the player won (false).
|
||||
# regardless of the outcome (true), or only after battles the player won (false).
|
||||
CHECK_EVOLUTION_AFTER_ALL_BATTLES = (MECHANICS_GENERATION >= 6)
|
||||
# Whether fainted Pokémon can try to evolve after a battle.
|
||||
CHECK_EVOLUTION_FOR_FAINTED_POKEMON = (MECHANICS_GENERATION >= 6)
|
||||
CHECK_EVOLUTION_FOR_FAINTED_POKEMON = true
|
||||
end
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
# NOTE: The id_number is only used to determine the order of the status icons in
|
||||
# the graphics containing them. Number 0 (:NONE) is ignored; they start
|
||||
# with status 1.
|
||||
# "Graphics/Pictures/statuses.png" also contains icons for being fainted
|
||||
# and for having Pokérus, in that order, at the bottom of the graphic.
|
||||
# "Graphics/Pictures/Battle/icon_statuses.png" also contains an icon for
|
||||
# bad poisoning (toxic), at the bottom of the graphic.
|
||||
# Both graphics automatically handle varying numbers of defined statuses.
|
||||
module GameData
|
||||
class Status
|
||||
attr_reader :id
|
||||
attr_reader :id_number
|
||||
attr_reader :real_name
|
||||
attr_reader :animation
|
||||
|
||||
DATA = {}
|
||||
|
||||
@@ -13,9 +22,10 @@ module GameData
|
||||
def self.save; end
|
||||
|
||||
def initialize(hash)
|
||||
@id = hash[:id]
|
||||
@id_number = hash[:id_number]
|
||||
@real_name = hash[:name] || "Unnamed"
|
||||
@id = hash[:id]
|
||||
@id_number = hash[:id_number]
|
||||
@real_name = hash[:name] || "Unnamed"
|
||||
@animation = hash[:animation]
|
||||
end
|
||||
|
||||
# @return [String] the translated name of this status condition
|
||||
@@ -26,37 +36,42 @@ module GameData
|
||||
end
|
||||
|
||||
GameData::Status.register({
|
||||
:id => :NONE,
|
||||
:id_number => 0,
|
||||
:name => _INTL("None")
|
||||
:id => :NONE,
|
||||
:id_number => 0,
|
||||
:name => _INTL("None")
|
||||
})
|
||||
|
||||
GameData::Status.register({
|
||||
:id => :SLEEP,
|
||||
:id_number => 1,
|
||||
:name => _INTL("Sleep")
|
||||
:id => :SLEEP,
|
||||
:id_number => 1,
|
||||
:name => _INTL("Sleep"),
|
||||
:animation => "Sleep"
|
||||
})
|
||||
|
||||
GameData::Status.register({
|
||||
:id => :POISON,
|
||||
:id_number => 2,
|
||||
:name => _INTL("Poison")
|
||||
:id => :POISON,
|
||||
:id_number => 2,
|
||||
:name => _INTL("Poison"),
|
||||
:animation => "Poison"
|
||||
})
|
||||
|
||||
GameData::Status.register({
|
||||
:id => :BURN,
|
||||
:id_number => 3,
|
||||
:name => _INTL("Burn")
|
||||
:id => :BURN,
|
||||
:id_number => 3,
|
||||
:name => _INTL("Burn"),
|
||||
:animation => "Burn"
|
||||
})
|
||||
|
||||
GameData::Status.register({
|
||||
:id => :PARALYSIS,
|
||||
:id_number => 4,
|
||||
:name => _INTL("Paralysis")
|
||||
:id => :PARALYSIS,
|
||||
:id_number => 4,
|
||||
:name => _INTL("Paralysis"),
|
||||
:animation => "Paralysis"
|
||||
})
|
||||
|
||||
GameData::Status.register({
|
||||
:id => :FROZEN,
|
||||
:id_number => 5,
|
||||
:name => _INTL("Frozen")
|
||||
:id => :FROZEN,
|
||||
:id_number => 5,
|
||||
:name => _INTL("Frozen"),
|
||||
:animation => "Frozen"
|
||||
})
|
||||
|
||||
@@ -219,32 +219,36 @@ class PokeBattle_Battler
|
||||
self.status = newStatus
|
||||
self.statusCount = newStatusCount
|
||||
@effects[PBEffects::Toxic] = 0
|
||||
# Record status change in debug log, generate default message, show animation
|
||||
case newStatus
|
||||
when :SLEEP
|
||||
@battle.pbCommonAnimation("Sleep",self)
|
||||
msg = _INTL("{1} fell asleep!",pbThis) if !msg || msg==""
|
||||
when :POISON
|
||||
if newStatusCount>0
|
||||
@battle.pbCommonAnimation("Toxic",self)
|
||||
msg = _INTL("{1} was badly poisoned!",pbThis) if !msg || msg==""
|
||||
else
|
||||
@battle.pbCommonAnimation("Poison",self)
|
||||
msg = _INTL("{1} was poisoned!",pbThis) if !msg || msg==""
|
||||
end
|
||||
when :BURN
|
||||
@battle.pbCommonAnimation("Burn",self)
|
||||
msg = _INTL("{1} was burned!",pbThis) if !msg || msg==""
|
||||
when :PARALYSIS
|
||||
@battle.pbCommonAnimation("Paralysis",self)
|
||||
msg = _INTL("{1} is paralyzed! It may be unable to move!",pbThis) if !msg || msg==""
|
||||
when :FROZEN
|
||||
@battle.pbCommonAnimation("Frozen",self)
|
||||
msg = _INTL("{1} was frozen solid!",pbThis) if !msg || msg==""
|
||||
# Show animation
|
||||
if newStatus == :POISON && newStatusCount > 0
|
||||
@battle.pbCommonAnimation("Toxic", self)
|
||||
else
|
||||
anim_name = GameData::Status.get(newStatus).animation
|
||||
@battle.pbCommonAnimation(anim_name, self) if anim_name
|
||||
end
|
||||
# Show message
|
||||
@battle.pbDisplay(msg) if msg && msg!=""
|
||||
if msg && !msg.empty?
|
||||
@battle.pbDisplay(msg)
|
||||
else
|
||||
case newStatus
|
||||
when :SLEEP
|
||||
@battle.pbDisplay(_INTL("{1} fell asleep!", pbThis))
|
||||
when :POISON
|
||||
if newStatusCount>0
|
||||
@battle.pbDisplay(_INTL("{1} was badly poisoned!", pbThis))
|
||||
else
|
||||
@battle.pbDisplay(_INTL("{1} was poisoned!", pbThis))
|
||||
end
|
||||
when :BURN
|
||||
@battle.pbDisplay(_INTL("{1} was burned!", pbThis))
|
||||
when :PARALYSIS
|
||||
@battle.pbDisplay(_INTL("{1} is paralyzed! It may be unable to move!", pbThis))
|
||||
when :FROZEN
|
||||
@battle.pbDisplay(_INTL("{1} was frozen solid!", pbThis))
|
||||
end
|
||||
end
|
||||
PBDebug.log("[Status change] #{pbThis}'s sleep count is #{newStatusCount}") if newStatus == :SLEEP
|
||||
# Form change check
|
||||
pbCheckFormOnStatusChange
|
||||
# Synchronize
|
||||
if abilityActive?
|
||||
@@ -397,28 +401,25 @@ class PokeBattle_Battler
|
||||
# Generalised status displays
|
||||
#=============================================================================
|
||||
def pbContinueStatus
|
||||
anim = ""
|
||||
msg = ""
|
||||
if self.status == :POISON && @statusCount > 0
|
||||
@battle.pbCommonAnimation("Toxic", self)
|
||||
else
|
||||
anim_name = GameData::Status.get(self.status).animation
|
||||
@battle.pbCommonAnimation(anim_name, self) if anim_name
|
||||
end
|
||||
yield if block_given?
|
||||
case self.status
|
||||
when :SLEEP
|
||||
anim = "Sleep"
|
||||
msg = _INTL("{1} is fast asleep.", pbThis)
|
||||
@battle.pbDisplay(_INTL("{1} is fast asleep.", pbThis))
|
||||
when :POISON
|
||||
anim = (@statusCount>0) ? "Toxic" : "Poison"
|
||||
msg = _INTL("{1} was hurt by poison!", pbThis)
|
||||
@battle.pbDisplay(_INTL("{1} was hurt by poison!", pbThis))
|
||||
when :BURN
|
||||
anim = "Burn"
|
||||
msg = _INTL("{1} was hurt by its burn!", pbThis)
|
||||
@battle.pbDisplay(_INTL("{1} was hurt by its burn!", pbThis))
|
||||
when :PARALYSIS
|
||||
anim = "Paralysis"
|
||||
msg = _INTL("{1} is paralyzed! It can't move!", pbThis)
|
||||
@battle.pbDisplay(_INTL("{1} is paralyzed! It can't move!", pbThis))
|
||||
when :FROZEN
|
||||
anim = "Frozen"
|
||||
msg = _INTL("{1} is frozen solid!", pbThis)
|
||||
@battle.pbDisplay(_INTL("{1} is frozen solid!", pbThis))
|
||||
end
|
||||
@battle.pbCommonAnimation(anim,self) if anim!=""
|
||||
yield if block_given?
|
||||
@battle.pbDisplay(msg) if msg!=""
|
||||
PBDebug.log("[Status continues] #{pbThis}'s sleep count is #{@statusCount}") if self.status == :SLEEP
|
||||
end
|
||||
|
||||
|
||||
@@ -347,7 +347,8 @@ class PokeBattle_Battle
|
||||
end
|
||||
if b.hasActiveAbility?(:POISONHEAL)
|
||||
if b.canHeal?
|
||||
pbCommonAnimation("Poison",b)
|
||||
anim_name = GameData::Status.get(:POISON).animation
|
||||
pbCommonAnimation(anim_name, b) if anim_name
|
||||
pbShowAbilitySplash(b)
|
||||
b.pbRecoverHP(b.totalhp/8)
|
||||
if PokeBattle_SceneConstants::USE_ABILITY_SPLASH
|
||||
|
||||
Reference in New Issue
Block a user