module Game class << self alias_method :original_start_new, :start_new def start_new original_start_new onLoadSaveFile end alias_method :original_load, :load def load(save_data) original_load(save_data) onLoadSaveFile end def onLoadSaveFile initializeGlobalVariables copyOldGlobalVariables() migrateOldSavesToCharacterCustomization() clear_all_images() loadDateSpecificChanges() end end end def initializeGlobalVariables() $CanToggle = true #$PokemonSystem.only_speedup_battles == 0 end # Essentials 21 renamed the global variable $Trainer # It's still used everywhere in events, global events # so this is a little hack to prevent all the old stuff # from breaking def copyOldGlobalVariables() $Trainer = $player $PokemonBag = $bag end def loadDateSpecificChanges() current_date = Time.new if (current_date.day == 1 && current_date.month == 4) $Trainer.hat2=HAT_CLOWN if $Trainer.unlocked_hats.include?(HAT_CLOWN) end end def migrateOldSavesToCharacterCustomization() if !$Trainer.unlocked_clothes $Trainer.unlocked_clothes = [DEFAULT_OUTFIT_MALE, DEFAULT_OUTFIT_FEMALE, STARTING_OUTFIT] end if !$Trainer.unlocked_hats $Trainer.unlocked_hats = [DEFAULT_OUTFIT_MALE, DEFAULT_OUTFIT_FEMALE] end if !$Trainer.unlocked_hairstyles $Trainer.unlocked_hairstyles = [DEFAULT_OUTFIT_MALE, DEFAULT_OUTFIT_FEMALE] end if !$Trainer.clothes || !$Trainer.hair #|| !$Trainer.hat setupStartingOutfit() end end def clear_all_images() for i in 1..99 # echoln i.to_s + " : " + $game_screen.pictures[i].name $game_screen.pictures[i].erase end end