diff --git a/Data/Scripts/002_Save data/002_SaveData_Value.rb b/Data/Scripts/002_Save data/002_SaveData_Value.rb index 5a5b4426b..e20c35426 100644 --- a/Data/Scripts/002_Save data/002_SaveData_Value.rb +++ b/Data/Scripts/002_Save data/002_SaveData_Value.rb @@ -20,6 +20,7 @@ module SaveData @id = id @loaded = false @load_in_bootup = false + @reset_on_new_game = false instance_eval(&block) raise "No save_value defined for save value #{id.inspect}" if @save_proc.nil? raise "No load_value defined for save value #{id.inspect}" if @load_proc.nil? @@ -70,6 +71,14 @@ module SaveData return @load_in_bootup end + def reset_on_new_game + @reset_on_new_game = true + end + + def reset_on_new_game? + return @reset_on_new_game + end + # @return [Boolean] whether the value has been loaded def loaded? return @loaded @@ -171,7 +180,6 @@ module SaveData # save_value { $foo } # load_value { |value| $foo = value } # new_game_value { Foo.new } - # from_old_format { |old_format| old_format[16] if old_format[16].is_a?(Foo) } # end # @example Registering a value to be loaded on bootup # SaveData.register(:bar) do @@ -190,6 +198,11 @@ module SaveData @values << Value.new(id, &block) end + def self.unregister(id) + validate id => Symbol + @values.delete_if { |value| value.id == id } + end + # @param save_data [Hash] save data to validate # @return [Boolean] whether the given save data is valid def self.valid?(save_data) @@ -229,7 +242,7 @@ module SaveData # Marks all values that aren't loaded on bootup as unloaded. def self.mark_values_as_unloaded @values.each do |value| - value.mark_as_unloaded unless value.load_in_bootup? + value.mark_as_unloaded if !value.load_in_bootup? || value.reset_on_new_game? end end @@ -255,7 +268,7 @@ module SaveData # new game. def self.load_new_game_values @values.each do |value| - value.load_new_game_value if value.has_new_game_proc? && !value.loaded? + value.load_new_game_value if value.has_new_game_proc? && (!value.loaded? || value.reset_on_new_game?) end end diff --git a/Data/Scripts/002_Save data/004_Game_SaveValues.rb b/Data/Scripts/002_Save data/004_Game_SaveValues.rb index 3cda2628f..856c00303 100644 --- a/Data/Scripts/002_Save data/004_Game_SaveValues.rb +++ b/Data/Scripts/002_Save data/004_Game_SaveValues.rb @@ -140,4 +140,5 @@ SaveData.register(:stats) do save_value { $stats } load_value { |value| $stats = value } new_game_value { GameStats.new } + reset_on_new_game end 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 497eec351..aa819e356 100644 --- a/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb +++ b/Data/Scripts/011_Battle/003_Move/013_MoveEffects_SwitchingActing.rb @@ -655,21 +655,13 @@ class Battle::Move::HigherPriorityInGrassyTerrain < Battle::Move end #=============================================================================== -# Decreases the PP of the last attack used by the target by 3 (or as much as -# possible). (Eerie Spell) +# Target's last move used loses 3 PP. Damaging move. (Eerie Spell) #=============================================================================== class Battle::Move::LowerPPOfTargetLastMoveBy3 < Battle::Move - def pbFailsAgainstTarget?(user, target, show_message) - last_move = target.pbGetMoveWithID(target.lastRegularMoveUsed) - if !last_move || last_move.pp == 0 || last_move.total_pp <= 0 - @battle.pbDisplay(_INTL("But it failed!")) if show_message - return true - end - return false - end - def pbEffectAgainstTarget(user, target) + return if target.fainted? last_move = target.pbGetMoveWithID(target.lastRegularMoveUsed) + return if !last_move || last_move.pp == 0 || last_move.total_pp <= 0 reduction = [3, last_move.pp].min target.pbSetPP(last_move, last_move.pp - reduction) @battle.pbDisplay(_INTL("It reduced the PP of {1}'s {2} by {3}!", @@ -678,7 +670,7 @@ class Battle::Move::LowerPPOfTargetLastMoveBy3 < Battle::Move end #=============================================================================== -# Target's last move used loses 4 PP. (Spite) +# Target's last move used loses 4 PP. Status move. (Spite) #=============================================================================== class Battle::Move::LowerPPOfTargetLastMoveBy4 < Battle::Move def ignoresSubstitute?(user); return true; end diff --git a/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb b/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb index 8a394c7b9..3c144e435 100644 --- a/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb +++ b/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb @@ -44,12 +44,16 @@ class Window_Pokedex < Window_DrawableCommand else pbCopyBitmap(self.contents, @pokeballSeen.bitmap, rect.x - 6, rect.y + 10) end - text = sprintf("%03d%s %s", indexNumber, " ", @commands[index][1]) + num_text = sprintf("%03d", indexNumber) + name_text = @commands[index][1] else - text = sprintf("%03d ----------", indexNumber) + num_text = sprintf("%03d", indexNumber) + name_text = "----------" end pbDrawShadowText(self.contents, rect.x + 36, rect.y + 6, rect.width, rect.height, - text, self.baseColor, self.shadowColor) + num_text, self.baseColor, self.shadowColor) + pbDrawShadowText(self.contents, rect.x + 84, rect.y + 6, rect.width, rect.height, + name_text, self.baseColor, self.shadowColor) end def refresh diff --git a/Data/Scripts/016_UI/024_UI_TextEntry.rb b/Data/Scripts/016_UI/024_UI_TextEntry.rb index dd094fbff..dd3e4fd4e 100644 --- a/Data/Scripts/016_UI/024_UI_TextEntry.rb +++ b/Data/Scripts/016_UI/024_UI_TextEntry.rb @@ -516,9 +516,9 @@ class PokemonEntryScene2 [@helptext, 160, 18, false, Color.new(16, 24, 32), Color.new(168, 184, 184)] ] chars = @helper.textChars - x = 166 + x = 172 chars.each do |ch| - textPositions.push([ch, x, 54, false, Color.new(16, 24, 32), Color.new(168, 184, 184)]) + textPositions.push([ch, x, 54, 2, Color.new(16, 24, 32), Color.new(168, 184, 184)]) x += 24 end pbDrawTextPositions(bgoverlay, textPositions) diff --git a/PBS/battle_tower_trainers.txt b/PBS/battle_tower_trainers.txt index c3ccaa443..2258d54db 100644 --- a/PBS/battle_tower_trainers.txt +++ b/PBS/battle_tower_trainers.txt @@ -1013,7 +1013,7 @@ EndSpeechLose = OH HOW COULD YOU ? Name = MOLLY PokemonNos = 268,270,272,274,282,284,289,290,303,307,311,314,317,322,327,328,331,336,340,342,344,347,352,353,354,356,359 BeginSpeech = WILL MY CUTE CHARM ATTRACT YOU ? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = YOUR POKéMON ARE MY TOYS NOW #------------------------------- [127] @@ -1021,7 +1021,7 @@ EndSpeechLose = MY FORESIGHT DIDN'T SHOW ME THIS Name = JAZMIN PokemonNos = 268,270,272,274,282,284,289,290,303,307,311,314,317,322,327,328,331,336,340,342,344,347,352,353,354,356,359 BeginSpeech = I FORECAST TERRIBLE THINGS FOR YOU -Type = CHANELLER +Type = CHANNELER EndSpeechWin = THERE WASN'T MY FORECAST RIGHT ? #------------------------------- [128] @@ -1029,7 +1029,7 @@ EndSpeechLose = YOU HAVE DESTROYED MY SLEEP ... Name = KELSEY PokemonNos = 268,270,272,274,282,284,289,290,303,307,311,314,317,322,327,328,331,336,340,342,344,347,352,353,354,356,359 BeginSpeech = I HAVEN'T SLEPT IN DAYS ... -Type = CHANELLER +Type = CHANNELER EndSpeechWin = MY SLEEP WILL BE EXCELLENT NOW #------------------------------- [129] @@ -2045,7 +2045,7 @@ EndSpeechLose = I HAVE A GRUDGE WITH YOU Name = DELILAH PokemonNos = 347,352,374,378,398,421,426,447,472,476,494,517,522,543,566,570,590,613,618,639,662,666,686,709,714,735,800,801,802,803 BeginSpeech = DON'T GRUDGE ME IF I WIN OK? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = I AM SORRY TO SEE YOU ANGRY #------------------------------- [256] @@ -2053,7 +2053,7 @@ EndSpeechLose = I DISLIKE YOU AND YOUR POKéMON Name = CARLY PokemonNos = 344,374,378,394,395,405,413,414,420,421,434,441,457,472,476,490,491,501,509,510,516,517,530,537,553,566,570,586,587,597,605,606,612,613,626,633,649,662,666,682,683,693,701,702,708,709,722,729,745,800,801,802,803 BeginSpeech = I WILL SCATTER SOME POISONPOWDER ABOUT -Type = CHANELLER +Type = CHANNELER EndSpeechWin = IT'S SCARY HOW MY STRATEGY WORKS #------------------------------- [257] @@ -2061,7 +2061,7 @@ EndSpeechLose = YOU'RE MORE SCARY THAN MY POKéMON Name = LEXIE PokemonNos = 344,347,352,394,395,398,405,413,414,420,421,426,434,441,447,457,490,491,494,501,509,510,516,517,522,530,537,543,553,586,587,590,597,605,606,612,613,618,626,633,639,649,682,683,686,693,701,702,708,709,714,722,729,735,745,800,801,802,803 BeginSpeech = WANT TO SEE SCARY POKéMON ? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = WASN'T THAT SCARY EH? #------------------------------- [258] diff --git a/PBS/cup_fancy_trainers.txt b/PBS/cup_fancy_trainers.txt index ea88f9543..b10d4232f 100644 --- a/PBS/cup_fancy_trainers.txt +++ b/PBS/cup_fancy_trainers.txt @@ -1009,7 +1009,7 @@ EndSpeechLose = I SAID THAT YOU SHOULD STOP PokemonNos = 211,212,314,367,569,579,603,610,613 #------------------------------- [Trainer] -Type = CHANELLER +Type = CHANNELER Name = MOLLY BeginSpeech = MOLLY EndSpeechWin = WILL MY CUTE CHARM ATTRACT YOU ? @@ -1017,7 +1017,7 @@ EndSpeechLose = YOUR POKéMON ARE MY TOYS NOW PokemonNos = 303,314,316,369,389,408,577,596,613 #------------------------------- [Trainer] -Type = CHANELLER +Type = CHANNELER Name = JAZMIN BeginSpeech = JAZMIN EndSpeechWin = I FORECAST TERRIBLE THINGS FOR YOU @@ -1025,7 +1025,7 @@ EndSpeechLose = THERE WASN'T MY FORECAST RIGHT ? PokemonNos = 300,303,315,316,367,385,562,563,576,587,610,613 #------------------------------- [Trainer] -Type = CHANELLER +Type = CHANNELER Name = KELSEY BeginSpeech = KELSEY EndSpeechWin = I HAVEN'T SLEPT IN DAYS ... @@ -2041,7 +2041,7 @@ EndSpeechLose = WASN'T THAT A GOOD MATCH ? PokemonNos = 17,178,194,198,314,316,367,368,440,441,452,453,454,573,575,609,610,611,612,613,615,616,617 #------------------------------- [Trainer] -Type = CHANELLER +Type = CHANNELER Name = DELILAH BeginSpeech = DELILAH EndSpeechWin = DON'T GRUDGE ME IF I WIN OK? @@ -2049,7 +2049,7 @@ EndSpeechLose = I AM SORRY TO SEE YOU ANGRY PokemonNos = 43,44,46,162,412,583,593,594 #------------------------------- [Trainer] -Type = CHANELLER +Type = CHANNELER Name = CARLY BeginSpeech = CARLY EndSpeechWin = I WILL SCATTER SOME POISONPOWDER ABOUT @@ -2057,7 +2057,7 @@ EndSpeechLose = IT'S SCARY HOW MY STRATEGY WORKS PokemonNos = 136,137,202,256,273,302,341,388,389,411,412,413,423,426,508,509,577,593,608,614 #------------------------------- [Trainer] -Type = CHANELLER +Type = CHANNELER Name = LEXIE BeginSpeech = LEXIE EndSpeechWin = WANT TO SEE SCARY POKéMON ? diff --git a/PBS/cup_fancy_trainers_single.txt b/PBS/cup_fancy_trainers_single.txt index 1f4715a02..80756751c 100644 --- a/PBS/cup_fancy_trainers_single.txt +++ b/PBS/cup_fancy_trainers_single.txt @@ -1013,7 +1013,7 @@ EndSpeechLose = OH HOW COULD YOU ? Name = MOLLY PokemonNos = 9,21,22,85,86,177 BeginSpeech = WILL MY CUTE CHARM ATTRACT YOU ? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = YOUR POKéMON ARE MY TOYS NOW #------------------------------- [127] @@ -1021,7 +1021,7 @@ EndSpeechLose = MY FORESIGHT DIDN'T SHOW ME THIS Name = JAZMIN PokemonNos = 9,86,232,233,251,253 BeginSpeech = I FORECAST TERRIBLE THINGS FOR YOU -Type = CHANELLER +Type = CHANNELER EndSpeechWin = THERE WASN'T MY FORECAST RIGHT ? #------------------------------- [128] @@ -1029,7 +1029,7 @@ EndSpeechLose = YOU HAVE DESTROYED MY SLEEP ... Name = KELSEY PokemonNos = 9,21,22,112,125,136 BeginSpeech = I HAVEN'T SLEPT IN DAYS ... -Type = CHANELLER +Type = CHANNELER EndSpeechWin = MY SLEEP WILL BE EXCELLENT NOW #------------------------------- [129] @@ -2045,7 +2045,7 @@ EndSpeechLose = I HAVE A GRUDGE WITH YOU Name = DELILAH PokemonNos = 9,21,22,23,102,163 BeginSpeech = DON'T GRUDGE ME IF I WIN OK? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = I AM SORRY TO SEE YOU ANGRY #------------------------------- [256] @@ -2053,7 +2053,7 @@ EndSpeechLose = I DISLIKE YOU AND YOUR POKéMON Name = CARLY PokemonNos = 48,86,97,100,103,112,125,128,144,147,159,163,203,229,234,243 BeginSpeech = I WILL SCATTER SOME POISONPOWDER ABOUT -Type = CHANELLER +Type = CHANNELER EndSpeechWin = IT'S SCARY HOW MY STRATEGY WORKS #------------------------------- [257] @@ -2061,7 +2061,7 @@ EndSpeechLose = YOU'RE MORE SCARY THAN MY POKéMON Name = LEXIE PokemonNos = 46,47,64,71,73,91,125,126,127,146,159,165,203 BeginSpeech = WANT TO SEE SCARY POKéMON ? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = WASN'T THAT SCARY EH? #------------------------------- [258] diff --git a/PBS/cup_little_trainers.txt b/PBS/cup_little_trainers.txt index f7e38cac3..575a3f496 100644 --- a/PBS/cup_little_trainers.txt +++ b/PBS/cup_little_trainers.txt @@ -517,7 +517,7 @@ EndSpeechLose = "Man, I lost!" Name = GLOROB PokemonNos = 5,11,19,38,52,59,62,63,67,74,76,81,84,97,99,102,105,106,108 BeginSpeech = Here I come! -Type = CHANELLER +Type = CHANNELER EndSpeechWin = "Yes, I won!" #------------------------------- [065] @@ -525,7 +525,7 @@ EndSpeechLose = "Man, I lost!" Name = REG PokemonNos = 14,22,32,37,50,66,76,84,115 BeginSpeech = Here I come! -Type = CHANELLER +Type = CHANNELER EndSpeechWin = "Yes, I won!" #------------------------------- [066] @@ -533,7 +533,7 @@ EndSpeechLose = "Man, I lost!" Name = GRAVIUS PokemonNos = 0,3,10,24,30,31,34,35,36,42,48,73,74,78,88,91,96,97,106,114,121 BeginSpeech = Here I come! -Type = CHANELLER +Type = CHANNELER EndSpeechWin = "Yes, I won!" #------------------------------- [067] diff --git a/PBS/cup_pika_trainers.txt b/PBS/cup_pika_trainers.txt index 1d08529cc..49706a928 100644 --- a/PBS/cup_pika_trainers.txt +++ b/PBS/cup_pika_trainers.txt @@ -1013,7 +1013,7 @@ EndSpeechLose = 3 Name = MOLLY PokemonNos = 6,11,12,19,20,22,23,28,32,60,68,71,77,93,102,103,104,105,106,120,122,123,127,129,135,137,145,146,151,152,154,157,162,171,173,174,175,180,181,184,185,186,187,188,204,205,227,228,232,251,260,262,271,277 BeginSpeech = WILL MY CUTE CHARM ATTRACT YOU ? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = YOUR POKéMON ARE MY TOYS NOW #------------------------------- [127] @@ -1021,7 +1021,7 @@ EndSpeechLose = 151 Name = JAZMIN PokemonNos = 119,120,121,125,145,146,148,167,181,182,238,260 BeginSpeech = I FORECAST TERRIBLE THINGS FOR YOU -Type = CHANELLER +Type = CHANNELER EndSpeechWin = THERE WASN'T MY FORECAST RIGHT ? #------------------------------- [128] @@ -1029,7 +1029,7 @@ EndSpeechLose = 3 Name = KELSEY PokemonNos = 6,11,12,21,23,82,93,103,104,105,106,117,118,119,127,128,138,139,145,146,147,151,152,155,156,161,170,171,188,194,204,220,225,228,235,247,264 BeginSpeech = I HAVEN'T SLEPT IN DAYS ... -Type = CHANELLER +Type = CHANNELER EndSpeechWin = MY SLEEP WILL BE EXCELLENT NOW #------------------------------- [129] @@ -2045,7 +2045,7 @@ EndSpeechLose = 3 Name = DELILAH PokemonNos = 62,108,125,134,136,144,175,194,199,209,214,215,222,223,241,244,247,253,255,256,258,263,265,274,279 BeginSpeech = DON'T GRUDGE ME IF I WIN OK? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = I AM SORRY TO SEE YOU ANGRY #------------------------------- [256] @@ -2053,7 +2053,7 @@ EndSpeechLose = 3 Name = CARLY PokemonNos = 26,28,62,68,73,74,78,83,84,90,174,197,213,214,215,229,230,231,232,233,239,241,246,255,256,258,262,263,275,277,278 BeginSpeech = I WILL SCATTER SOME POISONPOWDER ABOUT -Type = CHANELLER +Type = CHANNELER EndSpeechWin = IT'S SCARY HOW MY STRATEGY WORKS #------------------------------- [257] @@ -2061,7 +2061,7 @@ EndSpeechLose = 3 Name = LEXIE PokemonNos = 16,59,90,91,108,110,137,142,143,153,167,181,185,190,197,209,214,215,219,229,231,232,239,240,242,246,253,255,256,258,259,260,261,262,263,274,275,276,277,279,282 BeginSpeech = WANT TO SEE SCARY POKéMON ? -Type = CHANELLER +Type = CHANNELER EndSpeechWin = WASN'T THAT SCARY EH? #------------------------------- [258] diff --git a/PBS/trainer_types.txt b/PBS/trainer_types.txt index 68e2e7280..0e75d392f 100644 --- a/PBS/trainer_types.txt +++ b/PBS/trainer_types.txt @@ -61,7 +61,7 @@ Gender = Male BaseMoney = 88 SkillLevel = 32 #------------------------------- -[CHANELLER] +[CHANNELER] Name = Channeler Gender = Female BaseMoney = 32