fc200281(Implements Stance Change ability)

2c73bbf9(Fix for tiles being invisible after a map transfer if they were on screen before it)
dc01031a(prevent unknown_items from being obtained in randomizer)
ee906fb3(previous commit also included new attack animations)
4dba7c02(Fixes unreal time and footprint scripts being accidentally disabled)
This commit is contained in:
infinitefusion
2022-06-05 15:36:21 -04:00
parent 64bcefa3f7
commit dd68c56c79
25 changed files with 499 additions and 460 deletions

View File

@@ -113,7 +113,11 @@ with their respective authors' consent
UnworthyPie (Bruno battle sprite, Lance backsprite) UnworthyPie (Bruno battle sprite, Lance backsprite)
Triple Fusion sprites Triple Fusion sprites
Sinnoh legendaries: Blackboot Tom spiste gr<67>nt
Scrapped Bones
Blackboot
Kiwi
Solo Queue
### Tileset graphics ### ### Tileset graphics ###
Jorginho (OutsideEmerald) Jorginho (OutsideEmerald)
ThatsSoWitty (Cave) http://thatssowitty.deviantart.com/art/The-Public-Pokemon-Tileset-281342410 ThatsSoWitty (Cave) http://thatssowitty.deviantart.com/art/The-Public-Pokemon-Tileset-281342410
@@ -153,6 +157,13 @@ with their respective authors' consent
### Other graphics ### Other graphics
Region map: Pokemon-Diamond (http://www.deviantart.com/art/Kanto-BW-styled-map-275298527) Region map: Pokemon-Diamond (http://www.deviantart.com/art/Kanto-BW-styled-map-275298527)
Move animations: Move animations:
Augmented Reborn Animations Project
Project lead by StCooler.
Contributors: StCooler, DarryBD99, WolfPP, ardicoozer, riddlemeree.
Thanks to the Reborn team for letting people use their resources. You are awesome.
Thanks to BellBlitzKing for his Pokemon Sound Effects Pack: Gen 1 to Gen 7 - All Attacks SFX.
Dig: WolfPP (Pokecommunity) Dig: WolfPP (Pokecommunity)
Bone Club, Bonemerang, Bone Rush: rekman (Pokecommunity) Bone Club, Bonemerang, Bone Rush: rekman (Pokecommunity)
########################################################### ###########################################################

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -6,13 +6,14 @@
module Settings module Settings
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format. # The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
GAME_VERSION = '5.0.0' GAME_VERSION = '5.0.0'
GAME_VERSION_NUMBER = "5.0.24.1 - beta" GAME_VERSION_NUMBER = "5.0.25.1 - beta"
POKERADAR_LIGHT_ANIMATION_RED_ID = 17 POKERADAR_LIGHT_ANIMATION_RED_ID = 17
POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18 POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18
POKERADAR_HIDDEN_ABILITY_POKE_CHANCE = 32 POKERADAR_HIDDEN_ABILITY_POKE_CHANCE = 32
POKERADAR_BATTERY_STEPS = 0 POKERADAR_BATTERY_STEPS = 0
# #
FUSION_ICON_SPRITE_OFFSET = 10 FUSION_ICON_SPRITE_OFFSET = 10
@@ -374,7 +375,7 @@ module Settings
[670, 30, :WEAVILE,50,50], #Ice mountains [670, 30, :WEAVILE,50,50], #Ice mountains
[528, 30, :PYUKUMUKU,20,20], #Treasure Beach [528, 30, :PYUKUMUKU,20,20], #Treasure Beach
[690, 30, :OCTILLERY,32,45], #Deep Ocean [690, 30, :OCTILLERY,32,45], #Deep Ocean
[561, 30, :MAGMAR,32,45], #Mt. Ember [561, 30, :FLETCHINDER,32,45], #Mt. Ember
[562, 30, :NINJASK,45,50], #Boon Island [562, 30, :NINJASK,45,50], #Boon Island
[603, 30, :KECLEON,45,50], #Chrono Island [603, 30, :KECLEON,45,50], #Chrono Island
[654, 30, :WHIMSICOTT,32,45] #Brine Road [654, 30, :WHIMSICOTT,32,45] #Brine Road

View File

@@ -22,7 +22,7 @@ class Scene_Map
@spritesets[map.map_id] = Spriteset_Map.new(map) @spritesets[map.map_id] = Spriteset_Map.new(map)
end end
$MapFactory.setSceneStarted(self) $MapFactory.setSceneStarted(self)
updateSpritesets updateSpritesets(true)
end end
def createSingleSpriteset(map) def createSingleSpriteset(map)
@@ -30,7 +30,7 @@ class Scene_Map
@spritesets[map] = Spriteset_Map.new($MapFactory.maps[map]) @spritesets[map] = Spriteset_Map.new($MapFactory.maps[map])
$scene.spriteset.restoreAnimations(temp) $scene.spriteset.restoreAnimations(temp)
$MapFactory.setSceneStarted(self) $MapFactory.setSceneStarted(self)
updateSpritesets updateSpritesets(true)
end end
def disposeSpritesets def disposeSpritesets
@@ -145,7 +145,7 @@ class Scene_Map
$MapFactory.updateMaps(self) $MapFactory.updateMaps(self)
end end
def updateSpritesets def updateSpritesets(refresh = false)
@spritesets = {} if !@spritesets @spritesets = {} if !@spritesets
keys = @spritesets.keys.clone keys = @spritesets.keys.clone
for i in keys for i in keys
@@ -162,6 +162,7 @@ class Scene_Map
@spritesets[map.map_id] = Spriteset_Map.new(map) if !@spritesets[map.map_id] @spritesets[map.map_id] = Spriteset_Map.new(map) if !@spritesets[map.map_id]
end end
pbDayNightTint(@map_renderer) pbDayNightTint(@map_renderer)
@map_renderer.refresh if refresh
@map_renderer.update @map_renderer.update
Events.onMapUpdate.trigger(self) Events.onMapUpdate.trigger(self)
end end

View File

@@ -271,6 +271,7 @@ class TilemapRenderer
@ox = 0 @ox = 0
@oy = 0 @oy = 0
@visible = true @visible = true
@need_refresh = true
@disposed = false @disposed = false
end end
@@ -312,7 +313,9 @@ class TilemapRenderer
#============================================================================= #=============================================================================
def refresh; end def refresh
@need_refresh = true
end
def refresh_tile_bitmap(tile, map, tile_id) def refresh_tile_bitmap(tile, map, tile_id)
if tile_id < TILES_PER_AUTOTILE if tile_id < TILES_PER_AUTOTILE
@@ -484,7 +487,7 @@ class TilemapRenderer
# Recalculate autotile frames # Recalculate autotile frames
@tilesets.update @tilesets.update
@autotiles.update @autotiles.update
do_full_refresh = false do_full_refresh = @need_refresh
if @viewport.ox != @old_viewport_ox || @viewport.oy != @old_viewport_oy if @viewport.ox != @old_viewport_ox || @viewport.oy != @old_viewport_oy
@old_viewport_ox = @viewport.ox @old_viewport_ox = @viewport.ox
@old_viewport_oy = @viewport.oy @old_viewport_oy = @viewport.oy
@@ -546,6 +549,7 @@ class TilemapRenderer
end end
end end
end end
@need_refresh = false
@autotiles.changed = false @autotiles.changed = false
end end
end end

View File

@@ -218,11 +218,13 @@ class PokeBattle_Battler
end end
end end
# Stance Change # Stance Change
if isSpecies?(:AEGISLASH) && self.ability == :STANCECHANGE if self.ability == :STANCECHANGE
if move.damagingMove? if move.damagingMove?
pbChangeForm(1,_INTL("{1} changed to Blade Forme!",pbThis)) user = pbFindUser(choice,move)
stanceChangeEffect(user,true)
elsif move.id == :KINGSSHIELD elsif move.id == :KINGSSHIELD
pbChangeForm(0,_INTL("{1} changed to Shield Forme!",pbThis)) user = pbFindUser(choice,move)
stanceChangeEffect(user,false)
end end
end end
# Calculate the move's type during this usage # Calculate the move's type during this usage
@@ -570,6 +572,20 @@ class PokeBattle_Battler
end end
end end
def stanceChangeEffect(user,attacking=false)
inSwordForm = user.effects[PBEffects::PowerTrick]
if !inSwordForm && attacking
user.effects[PBEffects::PowerTrick] = true
user.attack,user.defense = user.defense,user.attack
@battle.pbDisplay(_INTL("{1} changed to Sword Mode!",pbThis))
elsif inSwordForm && !attacking
user.effects[PBEffects::PowerTrick] = false
user.attack,user.defense = user.defense,user.attack
@battle.pbDisplay(_INTL("{1} changed to Shield Mode!",pbThis))
end
end
#============================================================================= #=============================================================================
# Attack a single target # Attack a single target
#============================================================================= #=============================================================================

View File

@@ -2,7 +2,11 @@
# Battle intro animation # Battle intro animation
#=============================================================================== #===============================================================================
def pbSceneStandby def pbSceneStandby
$scene.disposeSpritesets if $scene.is_a?(Scene_Map)
RPG::Cache.clear
Graphics.frame_reset
yield yield
$scene.createSpritesets if $scene.is_a?(Scene_Map)
end end
def pbBattleAnimation(bgm=nil,battletype=0,foe=nil) def pbBattleAnimation(bgm=nil,battletype=0,foe=nil)

View File

@@ -572,7 +572,7 @@ def pbLoadRpgxpScene(scene)
oldscene = $scene oldscene = $scene
$scene = scene $scene = scene
Graphics.freeze Graphics.freeze
#oldscene.disposeSpritesets oldscene.disposeSpritesets
visibleObjects = pbHideVisibleObjects visibleObjects = pbHideVisibleObjects
Graphics.transition(20) Graphics.transition(20)
Graphics.freeze Graphics.freeze
@@ -582,7 +582,7 @@ def pbLoadRpgxpScene(scene)
Graphics.transition(20) Graphics.transition(20)
Graphics.freeze Graphics.freeze
$scene = oldscene $scene = oldscene
#$scene.createSpritesets $scene.createSpritesets
pbShowObjects(visibleObjects) pbShowObjects(visibleObjects)
Graphics.transition(20) Graphics.transition(20)
end end

View File

@@ -20,6 +20,8 @@ HELD_ITEMS = [:AIRBALLOON, :BRIGHTPOWDER, :EVIOLITE, :FLOATSTONE, :DESTINYKNOT,
:PETAYABERRY, :APICOTBERRY, :LANSATBERRY, :STARFBERRY, :ENIGMABERRY, :MICLEBERRY, :CUSTAPBERRY, :PETAYABERRY, :APICOTBERRY, :LANSATBERRY, :STARFBERRY, :ENIGMABERRY, :MICLEBERRY, :CUSTAPBERRY,
:JABOCABERRY, :ROWAPBERRY, :FAIRYGEM] :JABOCABERRY, :ROWAPBERRY, :FAIRYGEM]
REMOVED_ITEMS=[:COVERFOSSIL,:PLUMEFOSSIL,:DAMAGEUP,:ACCURACYUP,:ANCIENTSTONE,:ODDKEYSTONE_FULL]
def pbGetRandomItem(item_id) def pbGetRandomItem(item_id)
return nil if item_id == nil return nil if item_id == nil
item = GameData::Item.get(item_id) item = GameData::Item.get(item_id)
@@ -41,7 +43,7 @@ def pbGetRandomItem(item_id)
items_list = GameData::Item.list_all items_list = GameData::Item.list_all
newItem_id = items_list.keys.sample newItem_id = items_list.keys.sample
newItem = GameData::Item.get(newItem_id) newItem = GameData::Item.get(newItem_id)
while (newItem.is_machine? || newItem.is_key_item?) while (newItem.is_machine? || newItem.is_key_item? || REMOVED_ITEMS.include?(item))
newItem_id = items_list.keys.sample newItem_id = items_list.keys.sample
newItem = GameData::Item.get(newItem_id) newItem = GameData::Item.get(newItem_id)
end end

View File

@@ -1,225 +1,225 @@
# #=============================================================================== #===============================================================================
# # Klein Footprints / WolfPP for Pokémon Essentials # Klein Footprints / WolfPP for Pokémon Essentials
# # Give credits if you're using this! # Give credits if you're using this!
# # http://kleinstudio.deviantart.com # http://kleinstudio.deviantart.com
# #
# # bo4p5687 update (v.19)
# #===============================================================================
# #
# # Fix event comment # bo4p5687 update (v.19)
# def pbEventCommentInput(*args) #===============================================================================
# parameters = []
# list = *args[0].list # Event or event page # Fix event comment
# elements = *args[1] # Number of elements def pbEventCommentInput(*args)
# trigger = *args[2] # Trigger parameters = []
# return nil if list == nil list = *args[0].list # Event or event page
# return nil unless list.is_a?(Array) elements = *args[1] # Number of elements
# for item in list trigger = *args[2] # Trigger
# next unless item.code == 108 || item.code == 408 return nil if list == nil
# if item.parameters[0] == trigger[0] return nil unless list.is_a?(Array)
# start = list.index(item) + 1 for item in list
# finish = start + elements[0] next unless item.code == 108 || item.code == 408
# for id in start...finish if item.parameters[0] == trigger[0]
# next if !list[id] start = list.index(item) + 1
# parameters.push(list[id].parameters[0]) finish = start + elements[0]
# end for id in start...finish
# return parameters next if !list[id]
# end parameters.push(list[id].parameters[0])
# end end
# return nil return parameters
# end end
# end
# module FootprintVariables return nil
# # If you set pokemon here, they doesn't have footprints end
# FOLLOWING_DONT_WALK = [
# # Example: module FootprintVariables
# # 12,15,17 # If you set pokemon here, they doesn't have footprints
# ] FOLLOWING_DONT_WALK = [
# # Example:
# # Set here the terrain tag for footprints, 3 is sand # 12,15,17
# TERRAIN_FOOT = 3 ]
#
# # Initial opacity for footprints # Set here the terrain tag for footprints, 3 is sand
# FOOT_OPACITY = 62 TERRAIN_FOOT = 3
#
# # Delay velocity # Initial opacity for footprints
# FOOT_DELAY = 1.1 FOOT_OPACITY = 62
#
# def self.get_new_id # Delay velocity
# newId = 1 FOOT_DELAY = 1.1
# while !$game_map.events[newId].nil? do
# break if $game_map.events[newId].erased def self.get_new_id
# newId += 1 newId = 1
# end while !$game_map.events[newId].nil? do
# return newId break if $game_map.events[newId].erased
# end newId += 1
# end
# def self.show(event, position) return newId
# if event != $game_player end
# return if event.character_name == "" || event.character_name == "nil" || event.name.include?("/nofoot/")
# return if pbEventCommentInput(event, 0, "NoFoot") def self.show(event, position)
# if $Trainer.party.length > 0 if event != $game_player
# return if (!($game_map.events[event] && $game_map.events[event].name == "Dependent") && return if event.character_name == "" || event.character_name == "nil" || event.name.include?("/nofoot/")
# (FOLLOWING_DONT_WALK.include?($Trainer.party[0].species) || $PokemonGlobal.bicycle)) return if pbEventCommentInput(event, 0, "NoFoot")
# end if $Trainer.party.length > 0
# end return if (!($game_map.events[event] && $game_map.events[event].name == "Dependent") &&
# character_sprites = $scene.spriteset.character_sprites (FOLLOWING_DONT_WALK.include?($Trainer.party[0].species) || $PokemonGlobal.bicycle))
# viewport = $scene.spriteset.viewport1 end
# footsprites = $scene.spriteset.footsprites end
# nid = self.get_new_id character_sprites = $scene.spriteset.character_sprites
# rpgEvent = RPG::Event.new(position[0], position[1]) viewport = $scene.spriteset.viewport1
# rpgEvent.id = nid footsprites = $scene.spriteset.footsprites
# fev = Game_Event.new($game_map.map_id, rpgEvent, $game_map) nid = self.get_new_id
# eventsprite = Sprite_Character.new(viewport, fev) rpgEvent = RPG::Event.new(position[0], position[1])
# character_sprites.push(eventsprite) rpgEvent.id = nid
# footsprites.push(Footsprite.new(eventsprite, fev, viewport, $game_map, position[2], nid, character_sprites, (event==$game_player))) fev = Game_Event.new($game_map.map_id, rpgEvent, $game_map)
# end eventsprite = Sprite_Character.new(viewport, fev)
# character_sprites.push(eventsprite)
# end footsprites.push(Footsprite.new(eventsprite, fev, viewport, $game_map, position[2], nid, character_sprites, (event==$game_player)))
# end
# class Game_Event < Game_Character
# attr_reader :erased end
# end
# class Game_Event < Game_Character
# class Sprite_Character attr_reader :erased
# alias old_initialize_foot initialize end
# def initialize(viewport, character=nil)
# old_initialize_foot(viewport, character) class Sprite_Character
# @disposed = false alias old_initialize_foot initialize
# end def initialize(viewport, character=nil)
# old_initialize_foot(viewport, character)
# alias old_update_foot update @disposed = false
# def update end
# return if @disposed
# old_update_foot alias old_update_foot update
# end def update
# return if @disposed
# alias old_dispose_foot dispose old_update_foot
# def dispose end
# old_dispose_foot
# @disposed = true alias old_dispose_foot dispose
# end def dispose
# end old_dispose_foot
# @disposed = true
# class Spriteset_Map end
# attr_accessor :character_sprites end
# attr_accessor :footsprites
# class Spriteset_Map
# alias old_initialize initialize attr_accessor :character_sprites
# def initialize(map=nil) attr_accessor :footsprites
# old_initialize(map)
# @footsprites = [] alias old_initialize initialize
# end def initialize(map=nil)
# old_initialize(map)
# def viewport1 @footsprites = []
# return @@viewport1 end
# end
# def viewport1
# def putFootprint(event, pos) return @@viewport1
# return FootprintVariables.show(event, pos) end
# end
# def putFootprint(event, pos)
# alias old_dispose dispose return FootprintVariables.show(event, pos)
# def dispose end
# old_dispose
# @footsprites.each { |sprite| sprite.dispose } if !@footsprites.nil? alias old_dispose dispose
# @footsprites.clear def dispose
# end old_dispose
# @footsprites.each { |sprite| sprite.dispose } if !@footsprites.nil?
# alias old_update update @footsprites.clear
# def update end
# old_update
# return if @footsprites.nil? alias old_update update
# @footsprites.each { |sprite| sprite.update } def update
# end old_update
# end return if @footsprites.nil?
# @footsprites.each { |sprite| sprite.update }
# class Scene_Map end
# def spriteset? end
# return !@spritesets.nil?
# end class Scene_Map
# end def spriteset?
# return !@spritesets.nil?
# class Game_Character end
# end
# def get_last_pos
# case direction class Game_Character
# when 2 then return [@x, @y-1, direction] # Move down
# when 4 then return [@x+1, @y, direction] # Move left def get_last_pos
# when 6 then return [@x-1, @y, direction] # Move right case direction
# when 8 then return [@x, @y+1, direction] # Move up when 2 then return [@x, @y-1, direction] # Move down
# end when 4 then return [@x+1, @y, direction] # Move left
# return false when 6 then return [@x-1, @y, direction] # Move right
# end when 8 then return [@x, @y+1, direction] # Move up
# end
# def foot_prints? return false
# return $game_map.terrain_tag(get_last_pos[0], get_last_pos[1]) == FootprintVariables::TERRAIN_FOOT && $scene.is_a?(Scene_Map) && $scene.spriteset? end
# end
# def foot_prints?
# alias leave_tile_footprints triggerLeaveTile return $game_map.terrain_tag(get_last_pos[0], get_last_pos[1]) == FootprintVariables::TERRAIN_FOOT && $scene.is_a?(Scene_Map) && $scene.spriteset?
# def triggerLeaveTile end
# leave_tile_footprints
# $scene.spriteset.putFootprint(self, get_last_pos) if foot_prints? alias leave_tile_footprints triggerLeaveTile
# end def triggerLeaveTile
# leave_tile_footprints
# end $scene.spriteset.putFootprint(self, get_last_pos) if foot_prints?
# end
# class Footsprite
# def initialize(sprite,event,viewport,map,direction,nid,chardata,player) end
# @rsprite = sprite
# # Sprite class Footsprite
# @sprite = Sprite.new(viewport) def initialize(sprite,event,viewport,map,direction,nid,chardata,player)
# file = player && $PokemonGlobal.bicycle ? "footsetbike.png" : "footset.png" @rsprite = sprite
# @sprite.bitmap = RPG::Cache.load_bitmap("Graphics/Pictures/", file) # Sprite
# # Set position @sprite = Sprite.new(viewport)
# @realwidth = @sprite.bitmap.width/4 file = player && $PokemonGlobal.bicycle ? "footsetbike.png" : "footset.png"
# @sprite.src_rect.width = @realwidth @sprite.bitmap = RPG::Cache.load_bitmap("Graphics/Pictures/", file)
# @opacity = FootprintVariables::FOOT_OPACITY # Set position
# setFootset(direction) @realwidth = @sprite.bitmap.width/4
# # Values @sprite.src_rect.width = @realwidth
# @map = map @opacity = FootprintVariables::FOOT_OPACITY
# @event = event setFootset(direction)
# @disposed = false # Values
# @eventid = nid @map = map
# @viewport = viewport @event = event
# @chardata = chardata @disposed = false
# update @eventid = nid
# end @viewport = viewport
# @chardata = chardata
# def setFootset(direction) update
# @sprite.src_rect.x = end
# case direction
# when 2 then 0 # Move down def setFootset(direction)
# when 4 then @realwidth * 3 # Move left @sprite.src_rect.x =
# when 6 then @realwidth * 2 # Move right case direction
# when 8 then @realwidth # Move up when 2 then 0 # Move down
# end when 4 then @realwidth * 3 # Move left
# @sprite.opacity = @opacity when 6 then @realwidth * 2 # Move right
# end when 8 then @realwidth # Move up
# end
# def dispose @sprite.opacity = @opacity
# return if @disposed end
# @disposed = true
# @event.erase def dispose
# (0...@chardata.length).each { |i| @chardata.delete_at(i) if @chardata[i] == @rsprite } return if @disposed
# @rsprite.dispose @disposed = true
# @sprite.dispose @event.erase
# @sprite = nil (0...@chardata.length).each { |i| @chardata.delete_at(i) if @chardata[i] == @rsprite }
# end @rsprite.dispose
# @sprite.dispose
# def update @sprite = nil
# return if @disposed end
# x = @rsprite.x - @rsprite.ox
# y = @rsprite.y - @rsprite.oy def update
# width = @rsprite.src_rect.width return if @disposed
# height = @rsprite.src_rect.height x = @rsprite.x - @rsprite.ox
# @sprite.x = x + width / 2 y = @rsprite.y - @rsprite.oy
# @sprite.y = y + height width = @rsprite.src_rect.width
# @sprite.ox = @realwidth / 2 height = @rsprite.src_rect.height
# @sprite.oy = @sprite.bitmap.height @sprite.x = x + width / 2
# @sprite.z = @rsprite.z - 2 @sprite.y = y + height
# @opacity -= FootprintVariables::FOOT_DELAY @sprite.ox = @realwidth / 2
# @sprite.opacity = @opacity @sprite.oy = @sprite.bitmap.height
# dispose if @sprite.opacity <= 0 @sprite.z = @rsprite.z - 2
# end @opacity -= FootprintVariables::FOOT_DELAY
# end @sprite.opacity = @opacity
dispose if @sprite.opacity <= 0
end
end

View File

@@ -55,224 +55,224 @@
# }) # })
# end # end
# #
# module UnrealTime module UnrealTime
# # Set false to disable this system (returns Time.now) # Set false to disable this system (returns Time.now)
# ENABLED=true ENABLED=true
#
# # Time proportion here. # Time proportion here.
# # So if it is 100, one second in real time will be 100 seconds in game. # So if it is 100, one second in real time will be 100 seconds in game.
# # If it is 60, one second in real time will be one minute in game. # If it is 60, one second in real time will be one minute in game.
# PROPORTION=60 PROPORTION=60
#
# # Starting on Essentials v17, the map tone only try to refresh tone each 30 # Starting on Essentials v17, the map tone only try to refresh tone each 30
# # real time seconds. # real time seconds.
# # If this variable number isn't -1, the game use this number instead of 30. # If this variable number isn't -1, the game use this number instead of 30.
# # When time is changed with advance_to or add_seconds, the tone refreshes. # When time is changed with advance_to or add_seconds, the tone refreshes.
# TONE_CHECK_INTERVAL = 10.0 TONE_CHECK_INTERVAL = 10.0
#
# # Make this true to time only pass at field (Scene_Map) # Make this true to time only pass at field (Scene_Map)
# # A note to scripters: To make time pass on other scenes, put line # A note to scripters: To make time pass on other scenes, put line
# # '$PokemonGlobal.addNewFrameCount' near to line 'Graphics.update' # '$PokemonGlobal.addNewFrameCount' near to line 'Graphics.update'
# TIME_STOPS=true TIME_STOPS=true
#
# # Make this true to time pass in battle, during turns and command selection. # Make this true to time pass in battle, during turns and command selection.
# # This won't affect the Pokémon and Bag submenus. # This won't affect the Pokémon and Bag submenus.
# # Only works if TIME_STOPS=true. # Only works if TIME_STOPS=true.
# BATTLE_PASS=true BATTLE_PASS=true
#
# # Make this true to time pass when the Dialog box or the main menu are open. # Make this true to time pass when the Dialog box or the main menu are open.
# # This won't affect the submenus like Pokémon and Bag. # This won't affect the submenus like Pokémon and Bag.
# # Only works if TIME_STOPS=true. # Only works if TIME_STOPS=true.
# TALK_PASS=true TALK_PASS=true
#
# # Choose switch number that when true the time won't pass (or -1 to cancel). # Choose switch number that when true the time won't pass (or -1 to cancel).
# # Only works if TIME_STOPS=true. # Only works if TIME_STOPS=true.
# SWITCH_STOPS=-1 SWITCH_STOPS=-1
#
# # Choose variable(s) number(s) that can hold time passage (or -1 to cancel). # Choose variable(s) number(s) that can hold time passage (or -1 to cancel).
# # Look at description for more details. # Look at description for more details.
# EXTRA_SECONDS=79 EXTRA_SECONDS=79
# EXTRA_DAYS=-1 EXTRA_DAYS=-1
#
# # Initial date. In sequence: Year, month, day, hour and minutes. # Initial date. In sequence: Year, month, day, hour and minutes.
# # Method UnrealTime.reset resets time back to this time. # Method UnrealTime.reset resets time back to this time.
# def self.initial_date def self.initial_date
# return Time.local(2000,1,1, 12,0) return Time.local(2000,1,1, 12,0)
# end end
#
# # Advance to next time. If time already passed, advance # Advance to next time. If time already passed, advance
# # into the time on the next day. # into the time on the next day.
# # Hour is 0..23 # Hour is 0..23
# def self.advance_to(hour,min=0,sec=0) def self.advance_to(hour,min=0,sec=0)
# if hour < 0 || hour > 23 if hour < 0 || hour > 23
# raise RangeError, "hour is #{hour}, should be 0..23" raise RangeError, "hour is #{hour}, should be 0..23"
# end end
# day_seconds = 60*60*24 day_seconds = 60*60*24
# seconds_now = pbGetTimeNow.hour*60*60+pbGetTimeNow.min*60+pbGetTimeNow.sec seconds_now = pbGetTimeNow.hour*60*60+pbGetTimeNow.min*60+pbGetTimeNow.sec
# target_seconds = hour*60*60+min*60+sec target_seconds = hour*60*60+min*60+sec
# seconds_added = target_seconds-seconds_now seconds_added = target_seconds-seconds_now
# seconds_added += day_seconds if seconds_added<0 seconds_added += day_seconds if seconds_added<0
# $PokemonGlobal.newFrameCount+=seconds_added $PokemonGlobal.newFrameCount+=seconds_added
# PBDayNight.sheduleToneRefresh PBDayNight.sheduleToneRefresh
# end end
#
# # Resets time to initial_date. # Resets time to initial_date.
# def self.reset def self.reset
# raise "Method doesn't work when TIME_STOPS is false!" if !TIME_STOPS raise "Method doesn't work when TIME_STOPS is false!" if !TIME_STOPS
# $game_variables[EXTRA_SECONDS]=0 if EXTRA_DAYS>0 $game_variables[EXTRA_SECONDS]=0 if EXTRA_DAYS>0
# $game_variables[EXTRA_DAYS]=0 if EXTRA_DAYS>0 $game_variables[EXTRA_DAYS]=0 if EXTRA_DAYS>0
# $PokemonGlobal.newFrameCount=0 $PokemonGlobal.newFrameCount=0
# $PokemonGlobal.extraYears=0 $PokemonGlobal.extraYears=0
# PBDayNight.sheduleToneRefresh PBDayNight.sheduleToneRefresh
# end end
#
# # Does the same thing as EXTRA_SECONDS variable. # Does the same thing as EXTRA_SECONDS variable.
# def self.add_seconds(seconds) def self.add_seconds(seconds)
# raise "Method doesn't work when TIME_STOPS is false!" if !TIME_STOPS raise "Method doesn't work when TIME_STOPS is false!" if !TIME_STOPS
# $PokemonGlobal.newFrameCount+=(seconds*Graphics.frame_rate)/PROPORTION.to_f $PokemonGlobal.newFrameCount+=(seconds*Graphics.frame_rate)/PROPORTION.to_f
# PBDayNight.sheduleToneRefresh PBDayNight.sheduleToneRefresh
# end end
#
# def self.add_days(days) def self.add_days(days)
# add_seconds(60*60*24*days) add_seconds(60*60*24*days)
# end end
#
# NEED_32_BIT_FIX = [''].pack('p').size <= 4 NEED_32_BIT_FIX = [''].pack('p').size <= 4
# end end
#
# # Essentials V18 and lower compatibility # Essentials V18 and lower compatibility
# module Settings module Settings
# TIME_SHADING = defined?(ENABLESHADING) ? ENABLESHADING : ::TIME_SHADING TIME_SHADING = defined?(ENABLESHADING) ? ENABLESHADING : ::TIME_SHADING
# end if defined?(TIME_SHADING) || defined?(ENABLESHADING) end if defined?(TIME_SHADING) || defined?(ENABLESHADING)
#
# module PBDayNight module PBDayNight
# class << self class << self
# if method_defined?(:getTone) && UnrealTime::TONE_CHECK_INTERVAL > 0 if method_defined?(:getTone) && UnrealTime::TONE_CHECK_INTERVAL > 0
# def getTone def getTone
# @cachedTone = Tone.new(0,0,0) if !@cachedTone @cachedTone = Tone.new(0,0,0) if !@cachedTone
# return @cachedTone if !Settings::TIME_SHADING return @cachedTone if !Settings::TIME_SHADING
# toneNeedUpdate = (!@dayNightToneLastUpdate || toneNeedUpdate = (!@dayNightToneLastUpdate ||
# Graphics.frame_count-@dayNightToneLastUpdate >= Graphics.frame_count-@dayNightToneLastUpdate >=
# Graphics.frame_rate*UnrealTime::TONE_CHECK_INTERVAL Graphics.frame_rate*UnrealTime::TONE_CHECK_INTERVAL
# ) )
# if toneNeedUpdate if toneNeedUpdate
# getToneInternal getToneInternal
# @dayNightToneLastUpdate = Graphics.frame_count @dayNightToneLastUpdate = Graphics.frame_count
# end end
# return @cachedTone return @cachedTone
# end end
# end end
#
# # Shedule a tone refresh on the next try (probably next frame) # Shedule a tone refresh on the next try (probably next frame)
# def sheduleToneRefresh def sheduleToneRefresh
# @dayNightToneLastUpdate = nil @dayNightToneLastUpdate = nil
# end end
# end end
# end end
#
# def pbGetTimeNow def pbGetTimeNow
# return Time.now if !$PokemonGlobal || !UnrealTime::ENABLED return Time.now if !$PokemonGlobal || !UnrealTime::ENABLED
# day_seconds = 60*60*24 day_seconds = 60*60*24
# if UnrealTime::TIME_STOPS if UnrealTime::TIME_STOPS
# # Sum the extra values to newFrameCount # Sum the extra values to newFrameCount
# if UnrealTime::EXTRA_SECONDS>0 if UnrealTime::EXTRA_SECONDS>0
# UnrealTime.add_seconds(pbGet(UnrealTime::EXTRA_SECONDS)) UnrealTime.add_seconds(pbGet(UnrealTime::EXTRA_SECONDS))
# $game_variables[UnrealTime::EXTRA_SECONDS]=0 $game_variables[UnrealTime::EXTRA_SECONDS]=0
# end end
# if UnrealTime::EXTRA_DAYS>0 if UnrealTime::EXTRA_DAYS>0
# UnrealTime.add_seconds(day_seconds*pbGet(UnrealTime::EXTRA_DAYS)) UnrealTime.add_seconds(day_seconds*pbGet(UnrealTime::EXTRA_DAYS))
# $game_variables[UnrealTime::EXTRA_DAYS]=0 $game_variables[UnrealTime::EXTRA_DAYS]=0
# end end
# elsif UnrealTime::EXTRA_SECONDS>0 && UnrealTime::EXTRA_DAYS>0 elsif UnrealTime::EXTRA_SECONDS>0 && UnrealTime::EXTRA_DAYS>0
# # Checks to regulate the max/min values at UnrealTime::EXTRA_SECONDS # Checks to regulate the max/min values at UnrealTime::EXTRA_SECONDS
# while pbGet(UnrealTime::EXTRA_SECONDS)>=day_seconds while pbGet(UnrealTime::EXTRA_SECONDS)>=day_seconds
# $game_variables[UnrealTime::EXTRA_SECONDS]-=day_seconds $game_variables[UnrealTime::EXTRA_SECONDS]-=day_seconds
# $game_variables[UnrealTime::EXTRA_DAYS]+=1 $game_variables[UnrealTime::EXTRA_DAYS]+=1
# end end
# while pbGet(UnrealTime::EXTRA_SECONDS)<=-day_seconds while pbGet(UnrealTime::EXTRA_SECONDS)<=-day_seconds
# $game_variables[UnrealTime::EXTRA_SECONDS]+=day_seconds $game_variables[UnrealTime::EXTRA_SECONDS]+=day_seconds
# $game_variables[UnrealTime::EXTRA_DAYS]-=1 $game_variables[UnrealTime::EXTRA_DAYS]-=1
# end end
# end end
# start_time=UnrealTime.initial_date start_time=UnrealTime.initial_date
# if UnrealTime::TIME_STOPS if UnrealTime::TIME_STOPS
# time_played=$PokemonGlobal.newFrameCount time_played=$PokemonGlobal.newFrameCount
# else else
# time_played=Graphics.frame_count time_played=Graphics.frame_count
# end end
# time_played=(time_played*UnrealTime::PROPORTION)/Graphics.frame_rate time_played=(time_played*UnrealTime::PROPORTION)/Graphics.frame_rate
# time_jumped=0 time_jumped=0
# if UnrealTime::EXTRA_SECONDS>-1 if UnrealTime::EXTRA_SECONDS>-1
# time_jumped+=pbGet(UnrealTime::EXTRA_SECONDS) time_jumped+=pbGet(UnrealTime::EXTRA_SECONDS)
# end end
# if UnrealTime::EXTRA_DAYS>-1 if UnrealTime::EXTRA_DAYS>-1
# time_jumped+=pbGet(UnrealTime::EXTRA_DAYS)*day_seconds time_jumped+=pbGet(UnrealTime::EXTRA_DAYS)*day_seconds
# end end
# time_ret = 0 time_ret = 0
# # Before Essentials V19, there is a year limit. To prevent crashes due to this # Before Essentials V19, there is a year limit. To prevent crashes due to this
# # limit, every time that you reach in year 2036 the system will subtract 6 # limit, every time that you reach in year 2036 the system will subtract 6
# # years (to works with leap year) from your date and sum in # years (to works with leap year) from your date and sum in
# # $PokemonGlobal.extraYears. You can sum your actual year with this extraYears # $PokemonGlobal.extraYears. You can sum your actual year with this extraYears
# # when displaying years. # when displaying years.
# loop do loop do
# time_fix=0 time_fix=0
# if $PokemonGlobal.extraYears!=0 if $PokemonGlobal.extraYears!=0
# time_fix = $PokemonGlobal.extraYears*day_seconds*(365*6+1)/6 time_fix = $PokemonGlobal.extraYears*day_seconds*(365*6+1)/6
# end end
# time_ret=start_time+(time_played+time_jumped-time_fix) time_ret=start_time+(time_played+time_jumped-time_fix)
# break if !UnrealTime::NEED_32_BIT_FIX || time_ret.year<2036 break if !UnrealTime::NEED_32_BIT_FIX || time_ret.year<2036
# $PokemonGlobal.extraYears+=6 $PokemonGlobal.extraYears+=6
# end end
# return time_ret return time_ret
# end end
#
# if UnrealTime::ENABLED if UnrealTime::ENABLED
# class PokemonGlobalMetadata class PokemonGlobalMetadata
# attr_accessor :newFrameCount # Became float when using extra values attr_accessor :newFrameCount # Became float when using extra values
# attr_accessor :extraYears attr_accessor :extraYears
#
# def addNewFrameCount def addNewFrameCount
# return if (UnrealTime::SWITCH_STOPS>0 && return if (UnrealTime::SWITCH_STOPS>0 &&
# $game_switches[UnrealTime::SWITCH_STOPS]) $game_switches[UnrealTime::SWITCH_STOPS])
# self.newFrameCount+=1 self.newFrameCount+=1
# end end
#
# def newFrameCount def newFrameCount
# @newFrameCount=0 if !@newFrameCount @newFrameCount=0 if !@newFrameCount
# return @newFrameCount return @newFrameCount
# end end
#
# def extraYears def extraYears
# @extraYears=0 if !@extraYears @extraYears=0 if !@extraYears
# return @extraYears return @extraYears
# end end
# end end
#
# if UnrealTime::TIME_STOPS if UnrealTime::TIME_STOPS
# class Scene_Map class Scene_Map
# alias :updateold :update alias :updateold :update
# def update def update
# $PokemonGlobal.addNewFrameCount $PokemonGlobal.addNewFrameCount
# updateold updateold
# end end
#
# if UnrealTime::TALK_PASS if UnrealTime::TALK_PASS
# alias :miniupdateold :miniupdate alias :miniupdateold :miniupdate
# def miniupdate def miniupdate
# $PokemonGlobal.addNewFrameCount $PokemonGlobal.addNewFrameCount
# miniupdateold miniupdateold
# end end
# end end
# end end
#
# if UnrealTime::BATTLE_PASS if UnrealTime::BATTLE_PASS
# class PokeBattle_Scene class PokeBattle_Scene
# alias :pbGraphicsUpdateold :pbGraphicsUpdate alias :pbGraphicsUpdateold :pbGraphicsUpdate
# def pbGraphicsUpdate def pbGraphicsUpdate
# $PokemonGlobal.addNewFrameCount $PokemonGlobal.addNewFrameCount
# pbGraphicsUpdateold pbGraphicsUpdateold
# end end
# end end
# end end
# end end
# end end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -664,6 +664,6 @@
656,TM119,TM119,TM119s,4,30000,"The user attacks driven by frustration. Power increases if the user's previous move failed.",3,0,0,STOMPINGTANTRUM 656,TM119,TM119,TM119s,4,30000,"The user attacks driven by frustration. Power increases if the user's previous move failed.",3,0,0,STOMPINGTANTRUM
657,TM120,TM120,TM120s,4,30000,"The user attacks the target's throat. The target cannot use sound-based moves for two turns.",3,0,0,THROATCHOP 657,TM120,TM120,TM120s,4,30000,"The user attacks the target's throat. The target cannot use sound-based moves for two turns.",3,0,0,THROATCHOP
658,TM00,TM00,TM00s,4,0,"A strange TM developped by Team Rocket. It appears to be related to Pokémon fusion.",3,0,0,FUSIONSWAP 658,TM00,TM00,TM00s,4,0,"A strange TM developped by Team Rocket. It appears to be related to Pokémon fusion.",3,0,0,FUSIONSWAP
659;TM121;TM121;TM121s;4;10000;"The user shoots boiling hot water at its target. It may also leave the target with a burn.";3;0;0;SCALD 659,TM121,TM121,TM121s,4,10000,"The user shoots boiling hot water at its target. It may also leave the target with a burn.",3,0,0,SCALD