diff --git a/Data/Map004.rxdata b/Data/Map004.rxdata index a1e6a3b15..9dd06a1b2 100644 Binary files a/Data/Map004.rxdata and b/Data/Map004.rxdata differ diff --git a/Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb b/Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb index f9c7c502b..e6a2459d3 100644 --- a/Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb +++ b/Data/Scripts/011_Battle/003_Battle/004_Battle_ExpAndMoveLearning.rb @@ -261,7 +261,9 @@ class PokeBattle_Battle return if pkmn.moves.any? { |m| m && m.id == newMove } # Pokémon has space for the new move; just learn it if pkmn.moves.length < Pokemon::MAX_MOVES - pkmn.moves.push(Pokemon::Move.new(newMove)) + move = Pokemon::Move.new(newMove) + pkmn.moves.push(move) + pkmn.add_learned_move(move) pbDisplay(_INTL("{1} learned {2}!", pkmnName, moveName)) { pbSEPlay("Pkmn move learnt") } if battler battler.moves.push(PokeBattle_Move.from_pokemon_move(self, pkmn.moves.last)) @@ -279,7 +281,9 @@ class PokeBattle_Battle if forgetMove >= 0 oldMoveName = pkmn.moves[forgetMove].name pkmn.moves[forgetMove] = Pokemon::Move.new(newMove) # Replaces current/total PP + pkmn.add_learned_move(newMove) battler.moves[forgetMove] = PokeBattle_Move.from_pokemon_move(self, pkmn.moves[forgetMove]) if battler + pbDisplayPaused(_INTL("1, 2, and... ... ... Ta-da!")) pbDisplayPaused(_INTL("{1} forgot how to use {2}. And...", pkmnName, oldMoveName)) pbDisplay(_INTL("{1} learned {2}!", pkmnName, moveName)) { pbSEPlay("Pkmn move learnt") } diff --git a/Data/Scripts/014_Pokemon/001_Pokemon.rb b/Data/Scripts/014_Pokemon/001_Pokemon.rb index 0df4e4ef1..58a236d2a 100644 --- a/Data/Scripts/014_Pokemon/001_Pokemon.rb +++ b/Data/Scripts/014_Pokemon/001_Pokemon.rb @@ -54,6 +54,10 @@ class Pokemon # @return [Array] the moves known by this Pokémon attr_accessor :moves + + # @return [Array] All the moves ever learned by this Pokémon + attr_accessor :learned_moves + # @return [Array] the IDs of moves known by this Pokémon when it was obtained attr_accessor :first_moves # @return [Array] an array of ribbons owned by this Pokémon @@ -868,10 +872,17 @@ class Pokemon first_move_index = knowable_moves.length - MAX_MOVES first_move_index = 0 if first_move_index < 0 for i in first_move_index...knowable_moves.length - @moves.push(Pokemon::Move.new(knowable_moves[i])) + move = Pokemon::Move.new(knowable_moves[i]) + @moves.push(move) + @learned_moves << move if !@learned_moves.include?(move) end end + def add_learned_move(move) + @learned_moves << move unless @learned_moves.include?(move) + end + + # Silently learns the given move. Will erase the first known move if it has to. # @param move_id [Symbol, String, Integer] ID of the move to learn def learn_move(move_id) @@ -884,10 +895,13 @@ class Pokemon @moves.delete_at(i) return end + move = Pokemon::Move.new(move_data.id) # Move is not already known; learn it - @moves.push(Pokemon::Move.new(move_data.id)) + @moves.push(move) # Delete the first known move if self now knows more moves than it should @moves.shift if numMoves > MAX_MOVES + @learned_moves << move if !@learned_moves.include?(move) + echoln @learned_moves end # Deletes the given move from the Pokémon. @@ -1521,6 +1535,7 @@ class Pokemon @item = nil @mail = nil @moves = [] + @learned_moves = [] reset_moves if withMoves @first_moves = [] @ribbons = [] diff --git a/Data/System.rxdata b/Data/System.rxdata index 14fe8f591..35e4dd2f8 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/sprites/sprites_rate_limit.log b/Data/sprites/sprites_rate_limit.log index dfe6aa083..03bde7ff8 100644 --- a/Data/sprites/sprites_rate_limit.log +++ b/Data/sprites/sprites_rate_limit.log @@ -1,2 +1,2 @@ -1740846646 -1740846668 \ No newline at end of file +1740862074 +1740862132 \ No newline at end of file diff --git a/Data/sprites/updated_spritesheets_cache b/Data/sprites/updated_spritesheets_cache index 4125c87ed..d86c7ad25 100644 --- a/Data/sprites/updated_spritesheets_cache +++ b/Data/sprites/updated_spritesheets_cache @@ -634,3 +634,27 @@ Graphics/CustomBattlers/spritesheets/spritesheets_custom/428/428b.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/428/428a.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/30/30.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/187/187.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/463.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/448/448.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/342.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/35/35a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/17.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/17/17.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/323/323.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/289/289.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/182.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/182/182.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/63/63.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/60/60a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/102.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/422.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/422/422.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/147.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/412/412c.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/61/61.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/215/215.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/276.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/276/276.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/67/67.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/130.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/130/130.png diff --git a/Graphics/Autotiles/water_pool.png b/Graphics/Autotiles/water_pool.png new file mode 100644 index 000000000..2fadfe316 Binary files /dev/null and b/Graphics/Autotiles/water_pool.png differ diff --git a/Graphics/Tilesets/Indoor.PNG b/Graphics/Tilesets/Indoor.PNG index e8011ace5..af9b44422 100644 Binary files a/Graphics/Tilesets/Indoor.PNG and b/Graphics/Tilesets/Indoor.PNG differ