Hard mode

This commit is contained in:
infinitefusion
2021-12-26 16:03:01 -05:00
parent 56c13d0907
commit 7240e76ed0
6 changed files with 259 additions and 242 deletions

View File

@@ -30,6 +30,7 @@ module Settings
OVERRIDE_BATTLE_LEVEL_SWITCH = 785 OVERRIDE_BATTLE_LEVEL_SWITCH = 785
OVERRIDE_BATTLE_LEVEL_VALUE_VAR = 240 OVERRIDE_BATTLE_LEVEL_VALUE_VAR = 240
HARD_MODE_LEVEL_MODIFIER = 1.1
ZAPMOLCUNO_NB = 176821 ZAPMOLCUNO_NB = 176821
@@ -184,6 +185,7 @@ module Settings
def self.storage_creator_name def self.storage_creator_name
return _INTL("Bill") return _INTL("Bill")
end end
# The number of boxes in Pokémon storage. # The number of boxes in Pokémon storage.
NUM_STORAGE_BOXES = 30 NUM_STORAGE_BOXES = 30
@@ -202,6 +204,7 @@ module Settings
_INTL("Key Items") _INTL("Key Items")
] ]
end end
# The maximum number of slots per pocket (-1 means infinite number). Ignore # The maximum number of slots per pocket (-1 means infinite number). Ignore
# the first number (0). # the first number (0).
BAG_MAX_POCKET_SIZE = [0, -1, -1, -1, -1, -1, -1, -1, -1] BAG_MAX_POCKET_SIZE = [0, -1, -1, -1, -1, -1, -1, -1, -1]
@@ -233,6 +236,7 @@ module Settings
[_INTL("Kanto Pokédex"), 0] [_INTL("Kanto Pokédex"), 0]
] ]
end end
# Whether all forms of a given species will be immediately available to view # 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 # 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 # whether each form needs to be seen specifically before that form appears in

View File

@@ -144,6 +144,13 @@ module GameData
species = reverseFusionSpecies(species) species = reverseFusionSpecies(species)
end end
level = pkmn_data[:level] level = pkmn_data[:level]
if $game_switches[GAME_DIFFICULTY_HARD]
level *= Settings::HARD_MODE_LEVEL_MODIFIER.ceil
if level > Settings::MAXIMUM_LEVEL
level = Settings::MAXIMUM_LEVEL
end
end
if $game_switches[Settings::OVERRIDE_BATTLE_LEVEL_SWITCH] if $game_switches[Settings::OVERRIDE_BATTLE_LEVEL_SWITCH]
override_level = $game_variables[Settings::OVERRIDE_BATTLE_LEVEL_VALUE_VAR] override_level = $game_variables[Settings::OVERRIDE_BATTLE_LEVEL_VALUE_VAR]
if override_level.is_a?(Integer) if override_level.is_a?(Integer)

View File

@@ -172,8 +172,10 @@ class PokeBattle_Battle
new_index = pbLastInTeam(idxBattler) new_index = pbLastInTeam(idxBattler)
idxPartyForName = new_index if new_index >= 0 && new_index != idxPartyNew idxPartyForName = new_index if new_index >= 0 && new_index != idxPartyNew
end end
if pbDisplayConfirm(_INTL("{1} is about to send in {2}. Will you switch your Pokémon?", switchMessageHard = _INTL("{1} is about to send in a new Pokémon. Will you switch your Pokémon?", opponent.fullname)
opponent.full_name, enemyParty[idxPartyForName].name)) switchMessageNormal = _INTL("{1} is about to send in {2}. Will you switch your Pokémon?", opponent.full_name, enemyParty[idxPartyForName].name)
switchMessage = $game_switches[GAME_DIFFICULTY_HARD] ? switchMessageHard : switchMessageNormal
if pbDisplayConfirm(switchMessage)
idxPlayerPartyNew = pbSwitchInBetween(0, false, true) idxPlayerPartyNew = pbSwitchInBetween(0, false, true)
if idxPlayerPartyNew >= 0 if idxPlayerPartyNew >= 0
pbMessageOnRecall(@battlers[0]) pbMessageOnRecall(@battlers[0])
@@ -188,7 +190,8 @@ class PokeBattle_Battle
idxPlayerPartyNew = pbGetReplacementPokemonIndex(idxBattler) # Owner chooses idxPlayerPartyNew = pbGetReplacementPokemonIndex(idxBattler) # Owner chooses
pbRecallAndReplace(idxBattler, idxPlayerPartyNew) pbRecallAndReplace(idxBattler, idxPlayerPartyNew)
switched.push(idxBattler) switched.push(idxBattler)
else # Player's Pokémon has fainted in a wild battle else
# Player's Pokémon has fainted in a wild battle
switch = false switch = false
if !pbDisplayConfirm(_INTL("Use next Pokémon?")) if !pbDisplayConfirm(_INTL("Use next Pokémon?"))
switch = (pbRun(idxBattler, true) <= 0) switch = (pbRun(idxBattler, true) <= 0)

View File

@@ -64,6 +64,9 @@ class Trainer
end end
def skill_level def skill_level
if $game_switches[GAME_DIFFICULTY_HARD]
return 100
end
return GameData::TrainerType.get(@trainer_type).skill_level; return GameData::TrainerType.get(@trainer_type).skill_level;
end end

View File

@@ -396,13 +396,13 @@ class PokemonOption_Scene
end end
if $game_switches && $game_switches[GOT_BADGE_5] #badge for Surf # if $game_switches && $game_switches[GOT_BADGE_5] #badge for Surf
@PokemonOptions << @PokemonOptions <<
EnumOption.new(_INTL("Quick Surf"), [_INTL("Off"), _INTL("On")], EnumOption.new(_INTL("Quick Surf"), [_INTL("Off"), _INTL("On")],
proc { $PokemonSystem.quicksurf }, proc { $PokemonSystem.quicksurf },
proc { |value| $PokemonSystem.quicksurf = value } proc { |value| $PokemonSystem.quicksurf = value }
) )
end # end
@PokemonOptions = pbAddOnOptions(@PokemonOptions) @PokemonOptions = pbAddOnOptions(@PokemonOptions)
@sprites["option"] = Window_PokemonOption.new(@PokemonOptions, 0, @sprites["option"] = Window_PokemonOption.new(@PokemonOptions, 0,

Binary file not shown.