mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
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:
13
Credits.txt
13
Credits.txt
@@ -113,7 +113,11 @@ with their respective authors' consent
|
||||
UnworthyPie (Bruno battle sprite, Lance backsprite)
|
||||
|
||||
Triple Fusion sprites
|
||||
Sinnoh legendaries: Blackboot
|
||||
Tom spiste gr<67>nt
|
||||
Scrapped Bones
|
||||
Blackboot
|
||||
Kiwi
|
||||
Solo Queue
|
||||
### Tileset graphics ###
|
||||
Jorginho (OutsideEmerald)
|
||||
ThatsSoWitty (Cave) http://thatssowitty.deviantart.com/art/The-Public-Pokemon-Tileset-281342410
|
||||
@@ -153,6 +157,13 @@ with their respective authors' consent
|
||||
### Other graphics
|
||||
Region map: Pokemon-Diamond (http://www.deviantart.com/art/Kanto-BW-styled-map-275298527)
|
||||
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)
|
||||
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.
@@ -6,13 +6,14 @@
|
||||
module Settings
|
||||
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
|
||||
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_GREEN_ID = 18
|
||||
POKERADAR_HIDDEN_ABILITY_POKE_CHANCE = 32
|
||||
POKERADAR_BATTERY_STEPS = 0
|
||||
|
||||
|
||||
#
|
||||
FUSION_ICON_SPRITE_OFFSET = 10
|
||||
|
||||
@@ -374,7 +375,7 @@ module Settings
|
||||
[670, 30, :WEAVILE,50,50], #Ice mountains
|
||||
[528, 30, :PYUKUMUKU,20,20], #Treasure Beach
|
||||
[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
|
||||
[603, 30, :KECLEON,45,50], #Chrono Island
|
||||
[654, 30, :WHIMSICOTT,32,45] #Brine Road
|
||||
|
||||
@@ -22,7 +22,7 @@ class Scene_Map
|
||||
@spritesets[map.map_id] = Spriteset_Map.new(map)
|
||||
end
|
||||
$MapFactory.setSceneStarted(self)
|
||||
updateSpritesets
|
||||
updateSpritesets(true)
|
||||
end
|
||||
|
||||
def createSingleSpriteset(map)
|
||||
@@ -30,7 +30,7 @@ class Scene_Map
|
||||
@spritesets[map] = Spriteset_Map.new($MapFactory.maps[map])
|
||||
$scene.spriteset.restoreAnimations(temp)
|
||||
$MapFactory.setSceneStarted(self)
|
||||
updateSpritesets
|
||||
updateSpritesets(true)
|
||||
end
|
||||
|
||||
def disposeSpritesets
|
||||
@@ -145,7 +145,7 @@ class Scene_Map
|
||||
$MapFactory.updateMaps(self)
|
||||
end
|
||||
|
||||
def updateSpritesets
|
||||
def updateSpritesets(refresh = false)
|
||||
@spritesets = {} if !@spritesets
|
||||
keys = @spritesets.keys.clone
|
||||
for i in keys
|
||||
@@ -162,6 +162,7 @@ class Scene_Map
|
||||
@spritesets[map.map_id] = Spriteset_Map.new(map) if !@spritesets[map.map_id]
|
||||
end
|
||||
pbDayNightTint(@map_renderer)
|
||||
@map_renderer.refresh if refresh
|
||||
@map_renderer.update
|
||||
Events.onMapUpdate.trigger(self)
|
||||
end
|
||||
|
||||
@@ -271,6 +271,7 @@ class TilemapRenderer
|
||||
@ox = 0
|
||||
@oy = 0
|
||||
@visible = true
|
||||
@need_refresh = true
|
||||
@disposed = false
|
||||
end
|
||||
|
||||
@@ -312,7 +313,9 @@ class TilemapRenderer
|
||||
|
||||
#=============================================================================
|
||||
|
||||
def refresh; end
|
||||
def refresh
|
||||
@need_refresh = true
|
||||
end
|
||||
|
||||
def refresh_tile_bitmap(tile, map, tile_id)
|
||||
if tile_id < TILES_PER_AUTOTILE
|
||||
@@ -484,7 +487,7 @@ class TilemapRenderer
|
||||
# Recalculate autotile frames
|
||||
@tilesets.update
|
||||
@autotiles.update
|
||||
do_full_refresh = false
|
||||
do_full_refresh = @need_refresh
|
||||
if @viewport.ox != @old_viewport_ox || @viewport.oy != @old_viewport_oy
|
||||
@old_viewport_ox = @viewport.ox
|
||||
@old_viewport_oy = @viewport.oy
|
||||
@@ -546,6 +549,7 @@ class TilemapRenderer
|
||||
end
|
||||
end
|
||||
end
|
||||
@need_refresh = false
|
||||
@autotiles.changed = false
|
||||
end
|
||||
end
|
||||
|
||||
@@ -218,11 +218,13 @@ class PokeBattle_Battler
|
||||
end
|
||||
end
|
||||
# Stance Change
|
||||
if isSpecies?(:AEGISLASH) && self.ability == :STANCECHANGE
|
||||
if self.ability == :STANCECHANGE
|
||||
if move.damagingMove?
|
||||
pbChangeForm(1,_INTL("{1} changed to Blade Forme!",pbThis))
|
||||
user = pbFindUser(choice,move)
|
||||
stanceChangeEffect(user,true)
|
||||
elsif move.id == :KINGSSHIELD
|
||||
pbChangeForm(0,_INTL("{1} changed to Shield Forme!",pbThis))
|
||||
user = pbFindUser(choice,move)
|
||||
stanceChangeEffect(user,false)
|
||||
end
|
||||
end
|
||||
# Calculate the move's type during this usage
|
||||
@@ -570,6 +572,20 @@ class PokeBattle_Battler
|
||||
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
|
||||
#=============================================================================
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
# Battle intro animation
|
||||
#===============================================================================
|
||||
def pbSceneStandby
|
||||
$scene.disposeSpritesets if $scene.is_a?(Scene_Map)
|
||||
RPG::Cache.clear
|
||||
Graphics.frame_reset
|
||||
yield
|
||||
$scene.createSpritesets if $scene.is_a?(Scene_Map)
|
||||
end
|
||||
|
||||
def pbBattleAnimation(bgm=nil,battletype=0,foe=nil)
|
||||
|
||||
@@ -572,7 +572,7 @@ def pbLoadRpgxpScene(scene)
|
||||
oldscene = $scene
|
||||
$scene = scene
|
||||
Graphics.freeze
|
||||
#oldscene.disposeSpritesets
|
||||
oldscene.disposeSpritesets
|
||||
visibleObjects = pbHideVisibleObjects
|
||||
Graphics.transition(20)
|
||||
Graphics.freeze
|
||||
@@ -582,7 +582,7 @@ def pbLoadRpgxpScene(scene)
|
||||
Graphics.transition(20)
|
||||
Graphics.freeze
|
||||
$scene = oldscene
|
||||
#$scene.createSpritesets
|
||||
$scene.createSpritesets
|
||||
pbShowObjects(visibleObjects)
|
||||
Graphics.transition(20)
|
||||
end
|
||||
|
||||
@@ -20,6 +20,8 @@ HELD_ITEMS = [:AIRBALLOON, :BRIGHTPOWDER, :EVIOLITE, :FLOATSTONE, :DESTINYKNOT,
|
||||
:PETAYABERRY, :APICOTBERRY, :LANSATBERRY, :STARFBERRY, :ENIGMABERRY, :MICLEBERRY, :CUSTAPBERRY,
|
||||
:JABOCABERRY, :ROWAPBERRY, :FAIRYGEM]
|
||||
|
||||
REMOVED_ITEMS=[:COVERFOSSIL,:PLUMEFOSSIL,:DAMAGEUP,:ACCURACYUP,:ANCIENTSTONE,:ODDKEYSTONE_FULL]
|
||||
|
||||
def pbGetRandomItem(item_id)
|
||||
return nil if item_id == nil
|
||||
item = GameData::Item.get(item_id)
|
||||
@@ -41,7 +43,7 @@ def pbGetRandomItem(item_id)
|
||||
items_list = GameData::Item.list_all
|
||||
newItem_id = items_list.keys.sample
|
||||
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 = GameData::Item.get(newItem_id)
|
||||
end
|
||||
|
||||
@@ -1,225 +1,225 @@
|
||||
# #===============================================================================
|
||||
# # Klein Footprints / WolfPP for Pokémon Essentials
|
||||
# # Give credits if you're using this!
|
||||
# # http://kleinstudio.deviantart.com
|
||||
# #
|
||||
# # bo4p5687 update (v.19)
|
||||
# #===============================================================================
|
||||
#===============================================================================
|
||||
# Klein Footprints / WolfPP for Pokémon Essentials
|
||||
# Give credits if you're using this!
|
||||
# http://kleinstudio.deviantart.com
|
||||
#
|
||||
# # Fix event comment
|
||||
# def pbEventCommentInput(*args)
|
||||
# parameters = []
|
||||
# list = *args[0].list # Event or event page
|
||||
# elements = *args[1] # Number of elements
|
||||
# trigger = *args[2] # Trigger
|
||||
# return nil if list == nil
|
||||
# return nil unless list.is_a?(Array)
|
||||
# for item in list
|
||||
# next unless item.code == 108 || item.code == 408
|
||||
# if item.parameters[0] == trigger[0]
|
||||
# start = list.index(item) + 1
|
||||
# finish = start + elements[0]
|
||||
# for id in start...finish
|
||||
# next if !list[id]
|
||||
# parameters.push(list[id].parameters[0])
|
||||
# end
|
||||
# return parameters
|
||||
# end
|
||||
# end
|
||||
# return nil
|
||||
# end
|
||||
#
|
||||
# module FootprintVariables
|
||||
# # If you set pokemon here, they doesn't have footprints
|
||||
# FOLLOWING_DONT_WALK = [
|
||||
# # Example:
|
||||
# # 12,15,17
|
||||
# ]
|
||||
#
|
||||
# # Set here the terrain tag for footprints, 3 is sand
|
||||
# TERRAIN_FOOT = 3
|
||||
#
|
||||
# # Initial opacity for footprints
|
||||
# FOOT_OPACITY = 62
|
||||
#
|
||||
# # Delay velocity
|
||||
# FOOT_DELAY = 1.1
|
||||
#
|
||||
# def self.get_new_id
|
||||
# newId = 1
|
||||
# while !$game_map.events[newId].nil? do
|
||||
# break if $game_map.events[newId].erased
|
||||
# newId += 1
|
||||
# end
|
||||
# return newId
|
||||
# end
|
||||
#
|
||||
# def self.show(event, position)
|
||||
# if event != $game_player
|
||||
# return if event.character_name == "" || event.character_name == "nil" || event.name.include?("/nofoot/")
|
||||
# return if pbEventCommentInput(event, 0, "NoFoot")
|
||||
# if $Trainer.party.length > 0
|
||||
# return if (!($game_map.events[event] && $game_map.events[event].name == "Dependent") &&
|
||||
# (FOLLOWING_DONT_WALK.include?($Trainer.party[0].species) || $PokemonGlobal.bicycle))
|
||||
# end
|
||||
# end
|
||||
# character_sprites = $scene.spriteset.character_sprites
|
||||
# viewport = $scene.spriteset.viewport1
|
||||
# footsprites = $scene.spriteset.footsprites
|
||||
# nid = self.get_new_id
|
||||
# rpgEvent = RPG::Event.new(position[0], position[1])
|
||||
# rpgEvent.id = nid
|
||||
# fev = Game_Event.new($game_map.map_id, rpgEvent, $game_map)
|
||||
# eventsprite = Sprite_Character.new(viewport, fev)
|
||||
# character_sprites.push(eventsprite)
|
||||
# footsprites.push(Footsprite.new(eventsprite, fev, viewport, $game_map, position[2], nid, character_sprites, (event==$game_player)))
|
||||
# end
|
||||
#
|
||||
# end
|
||||
#
|
||||
# class Game_Event < Game_Character
|
||||
# attr_reader :erased
|
||||
# end
|
||||
#
|
||||
# class Sprite_Character
|
||||
# alias old_initialize_foot initialize
|
||||
# def initialize(viewport, character=nil)
|
||||
# old_initialize_foot(viewport, character)
|
||||
# @disposed = false
|
||||
# end
|
||||
#
|
||||
# alias old_update_foot update
|
||||
# def update
|
||||
# return if @disposed
|
||||
# old_update_foot
|
||||
# end
|
||||
#
|
||||
# alias old_dispose_foot dispose
|
||||
# def dispose
|
||||
# old_dispose_foot
|
||||
# @disposed = true
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# class Spriteset_Map
|
||||
# attr_accessor :character_sprites
|
||||
# attr_accessor :footsprites
|
||||
#
|
||||
# alias old_initialize initialize
|
||||
# def initialize(map=nil)
|
||||
# old_initialize(map)
|
||||
# @footsprites = []
|
||||
# end
|
||||
#
|
||||
# def viewport1
|
||||
# return @@viewport1
|
||||
# end
|
||||
#
|
||||
# def putFootprint(event, pos)
|
||||
# return FootprintVariables.show(event, pos)
|
||||
# end
|
||||
#
|
||||
# alias old_dispose dispose
|
||||
# def dispose
|
||||
# old_dispose
|
||||
# @footsprites.each { |sprite| sprite.dispose } if !@footsprites.nil?
|
||||
# @footsprites.clear
|
||||
# end
|
||||
#
|
||||
# alias old_update update
|
||||
# def update
|
||||
# old_update
|
||||
# return if @footsprites.nil?
|
||||
# @footsprites.each { |sprite| sprite.update }
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# class Scene_Map
|
||||
# def spriteset?
|
||||
# return !@spritesets.nil?
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# class Game_Character
|
||||
#
|
||||
# def get_last_pos
|
||||
# case direction
|
||||
# when 2 then return [@x, @y-1, direction] # Move down
|
||||
# when 4 then return [@x+1, @y, direction] # Move left
|
||||
# when 6 then return [@x-1, @y, direction] # Move right
|
||||
# when 8 then return [@x, @y+1, direction] # Move up
|
||||
# end
|
||||
# return false
|
||||
# end
|
||||
#
|
||||
# def foot_prints?
|
||||
# return $game_map.terrain_tag(get_last_pos[0], get_last_pos[1]) == FootprintVariables::TERRAIN_FOOT && $scene.is_a?(Scene_Map) && $scene.spriteset?
|
||||
# end
|
||||
#
|
||||
# alias leave_tile_footprints triggerLeaveTile
|
||||
# def triggerLeaveTile
|
||||
# leave_tile_footprints
|
||||
# $scene.spriteset.putFootprint(self, get_last_pos) if foot_prints?
|
||||
# end
|
||||
#
|
||||
# end
|
||||
#
|
||||
# class Footsprite
|
||||
# def initialize(sprite,event,viewport,map,direction,nid,chardata,player)
|
||||
# @rsprite = sprite
|
||||
# # Sprite
|
||||
# @sprite = Sprite.new(viewport)
|
||||
# file = player && $PokemonGlobal.bicycle ? "footsetbike.png" : "footset.png"
|
||||
# @sprite.bitmap = RPG::Cache.load_bitmap("Graphics/Pictures/", file)
|
||||
# # Set position
|
||||
# @realwidth = @sprite.bitmap.width/4
|
||||
# @sprite.src_rect.width = @realwidth
|
||||
# @opacity = FootprintVariables::FOOT_OPACITY
|
||||
# setFootset(direction)
|
||||
# # Values
|
||||
# @map = map
|
||||
# @event = event
|
||||
# @disposed = false
|
||||
# @eventid = nid
|
||||
# @viewport = viewport
|
||||
# @chardata = chardata
|
||||
# update
|
||||
# end
|
||||
#
|
||||
# def setFootset(direction)
|
||||
# @sprite.src_rect.x =
|
||||
# case direction
|
||||
# when 2 then 0 # Move down
|
||||
# when 4 then @realwidth * 3 # Move left
|
||||
# when 6 then @realwidth * 2 # Move right
|
||||
# when 8 then @realwidth # Move up
|
||||
# end
|
||||
# @sprite.opacity = @opacity
|
||||
# end
|
||||
#
|
||||
# def dispose
|
||||
# return if @disposed
|
||||
# @disposed = true
|
||||
# @event.erase
|
||||
# (0...@chardata.length).each { |i| @chardata.delete_at(i) if @chardata[i] == @rsprite }
|
||||
# @rsprite.dispose
|
||||
# @sprite.dispose
|
||||
# @sprite = nil
|
||||
# end
|
||||
#
|
||||
# def update
|
||||
# return if @disposed
|
||||
# x = @rsprite.x - @rsprite.ox
|
||||
# y = @rsprite.y - @rsprite.oy
|
||||
# width = @rsprite.src_rect.width
|
||||
# height = @rsprite.src_rect.height
|
||||
# @sprite.x = x + width / 2
|
||||
# @sprite.y = y + height
|
||||
# @sprite.ox = @realwidth / 2
|
||||
# @sprite.oy = @sprite.bitmap.height
|
||||
# @sprite.z = @rsprite.z - 2
|
||||
# @opacity -= FootprintVariables::FOOT_DELAY
|
||||
# @sprite.opacity = @opacity
|
||||
# dispose if @sprite.opacity <= 0
|
||||
# end
|
||||
# end
|
||||
# bo4p5687 update (v.19)
|
||||
#===============================================================================
|
||||
|
||||
# Fix event comment
|
||||
def pbEventCommentInput(*args)
|
||||
parameters = []
|
||||
list = *args[0].list # Event or event page
|
||||
elements = *args[1] # Number of elements
|
||||
trigger = *args[2] # Trigger
|
||||
return nil if list == nil
|
||||
return nil unless list.is_a?(Array)
|
||||
for item in list
|
||||
next unless item.code == 108 || item.code == 408
|
||||
if item.parameters[0] == trigger[0]
|
||||
start = list.index(item) + 1
|
||||
finish = start + elements[0]
|
||||
for id in start...finish
|
||||
next if !list[id]
|
||||
parameters.push(list[id].parameters[0])
|
||||
end
|
||||
return parameters
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
module FootprintVariables
|
||||
# If you set pokemon here, they doesn't have footprints
|
||||
FOLLOWING_DONT_WALK = [
|
||||
# Example:
|
||||
# 12,15,17
|
||||
]
|
||||
|
||||
# Set here the terrain tag for footprints, 3 is sand
|
||||
TERRAIN_FOOT = 3
|
||||
|
||||
# Initial opacity for footprints
|
||||
FOOT_OPACITY = 62
|
||||
|
||||
# Delay velocity
|
||||
FOOT_DELAY = 1.1
|
||||
|
||||
def self.get_new_id
|
||||
newId = 1
|
||||
while !$game_map.events[newId].nil? do
|
||||
break if $game_map.events[newId].erased
|
||||
newId += 1
|
||||
end
|
||||
return newId
|
||||
end
|
||||
|
||||
def self.show(event, position)
|
||||
if event != $game_player
|
||||
return if event.character_name == "" || event.character_name == "nil" || event.name.include?("/nofoot/")
|
||||
return if pbEventCommentInput(event, 0, "NoFoot")
|
||||
if $Trainer.party.length > 0
|
||||
return if (!($game_map.events[event] && $game_map.events[event].name == "Dependent") &&
|
||||
(FOLLOWING_DONT_WALK.include?($Trainer.party[0].species) || $PokemonGlobal.bicycle))
|
||||
end
|
||||
end
|
||||
character_sprites = $scene.spriteset.character_sprites
|
||||
viewport = $scene.spriteset.viewport1
|
||||
footsprites = $scene.spriteset.footsprites
|
||||
nid = self.get_new_id
|
||||
rpgEvent = RPG::Event.new(position[0], position[1])
|
||||
rpgEvent.id = nid
|
||||
fev = Game_Event.new($game_map.map_id, rpgEvent, $game_map)
|
||||
eventsprite = Sprite_Character.new(viewport, fev)
|
||||
character_sprites.push(eventsprite)
|
||||
footsprites.push(Footsprite.new(eventsprite, fev, viewport, $game_map, position[2], nid, character_sprites, (event==$game_player)))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class Game_Event < Game_Character
|
||||
attr_reader :erased
|
||||
end
|
||||
|
||||
class Sprite_Character
|
||||
alias old_initialize_foot initialize
|
||||
def initialize(viewport, character=nil)
|
||||
old_initialize_foot(viewport, character)
|
||||
@disposed = false
|
||||
end
|
||||
|
||||
alias old_update_foot update
|
||||
def update
|
||||
return if @disposed
|
||||
old_update_foot
|
||||
end
|
||||
|
||||
alias old_dispose_foot dispose
|
||||
def dispose
|
||||
old_dispose_foot
|
||||
@disposed = true
|
||||
end
|
||||
end
|
||||
|
||||
class Spriteset_Map
|
||||
attr_accessor :character_sprites
|
||||
attr_accessor :footsprites
|
||||
|
||||
alias old_initialize initialize
|
||||
def initialize(map=nil)
|
||||
old_initialize(map)
|
||||
@footsprites = []
|
||||
end
|
||||
|
||||
def viewport1
|
||||
return @@viewport1
|
||||
end
|
||||
|
||||
def putFootprint(event, pos)
|
||||
return FootprintVariables.show(event, pos)
|
||||
end
|
||||
|
||||
alias old_dispose dispose
|
||||
def dispose
|
||||
old_dispose
|
||||
@footsprites.each { |sprite| sprite.dispose } if !@footsprites.nil?
|
||||
@footsprites.clear
|
||||
end
|
||||
|
||||
alias old_update update
|
||||
def update
|
||||
old_update
|
||||
return if @footsprites.nil?
|
||||
@footsprites.each { |sprite| sprite.update }
|
||||
end
|
||||
end
|
||||
|
||||
class Scene_Map
|
||||
def spriteset?
|
||||
return !@spritesets.nil?
|
||||
end
|
||||
end
|
||||
|
||||
class Game_Character
|
||||
|
||||
def get_last_pos
|
||||
case direction
|
||||
when 2 then return [@x, @y-1, direction] # Move down
|
||||
when 4 then return [@x+1, @y, direction] # Move left
|
||||
when 6 then return [@x-1, @y, direction] # Move right
|
||||
when 8 then return [@x, @y+1, direction] # Move up
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
def foot_prints?
|
||||
return $game_map.terrain_tag(get_last_pos[0], get_last_pos[1]) == FootprintVariables::TERRAIN_FOOT && $scene.is_a?(Scene_Map) && $scene.spriteset?
|
||||
end
|
||||
|
||||
alias leave_tile_footprints triggerLeaveTile
|
||||
def triggerLeaveTile
|
||||
leave_tile_footprints
|
||||
$scene.spriteset.putFootprint(self, get_last_pos) if foot_prints?
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class Footsprite
|
||||
def initialize(sprite,event,viewport,map,direction,nid,chardata,player)
|
||||
@rsprite = sprite
|
||||
# Sprite
|
||||
@sprite = Sprite.new(viewport)
|
||||
file = player && $PokemonGlobal.bicycle ? "footsetbike.png" : "footset.png"
|
||||
@sprite.bitmap = RPG::Cache.load_bitmap("Graphics/Pictures/", file)
|
||||
# Set position
|
||||
@realwidth = @sprite.bitmap.width/4
|
||||
@sprite.src_rect.width = @realwidth
|
||||
@opacity = FootprintVariables::FOOT_OPACITY
|
||||
setFootset(direction)
|
||||
# Values
|
||||
@map = map
|
||||
@event = event
|
||||
@disposed = false
|
||||
@eventid = nid
|
||||
@viewport = viewport
|
||||
@chardata = chardata
|
||||
update
|
||||
end
|
||||
|
||||
def setFootset(direction)
|
||||
@sprite.src_rect.x =
|
||||
case direction
|
||||
when 2 then 0 # Move down
|
||||
when 4 then @realwidth * 3 # Move left
|
||||
when 6 then @realwidth * 2 # Move right
|
||||
when 8 then @realwidth # Move up
|
||||
end
|
||||
@sprite.opacity = @opacity
|
||||
end
|
||||
|
||||
def dispose
|
||||
return if @disposed
|
||||
@disposed = true
|
||||
@event.erase
|
||||
(0...@chardata.length).each { |i| @chardata.delete_at(i) if @chardata[i] == @rsprite }
|
||||
@rsprite.dispose
|
||||
@sprite.dispose
|
||||
@sprite = nil
|
||||
end
|
||||
|
||||
def update
|
||||
return if @disposed
|
||||
x = @rsprite.x - @rsprite.ox
|
||||
y = @rsprite.y - @rsprite.oy
|
||||
width = @rsprite.src_rect.width
|
||||
height = @rsprite.src_rect.height
|
||||
@sprite.x = x + width / 2
|
||||
@sprite.y = y + height
|
||||
@sprite.ox = @realwidth / 2
|
||||
@sprite.oy = @sprite.bitmap.height
|
||||
@sprite.z = @rsprite.z - 2
|
||||
@opacity -= FootprintVariables::FOOT_DELAY
|
||||
@sprite.opacity = @opacity
|
||||
dispose if @sprite.opacity <= 0
|
||||
end
|
||||
end
|
||||
@@ -55,224 +55,224 @@
|
||||
# })
|
||||
# end
|
||||
#
|
||||
# module UnrealTime
|
||||
# # Set false to disable this system (returns Time.now)
|
||||
# ENABLED=true
|
||||
#
|
||||
# # Time proportion here.
|
||||
# # 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.
|
||||
# PROPORTION=60
|
||||
#
|
||||
# # Starting on Essentials v17, the map tone only try to refresh tone each 30
|
||||
# # real time seconds.
|
||||
# # 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.
|
||||
# TONE_CHECK_INTERVAL = 10.0
|
||||
#
|
||||
# # Make this true to time only pass at field (Scene_Map)
|
||||
# # A note to scripters: To make time pass on other scenes, put line
|
||||
# # '$PokemonGlobal.addNewFrameCount' near to line 'Graphics.update'
|
||||
# TIME_STOPS=true
|
||||
#
|
||||
# # Make this true to time pass in battle, during turns and command selection.
|
||||
# # This won't affect the Pokémon and Bag submenus.
|
||||
# # Only works if TIME_STOPS=true.
|
||||
# BATTLE_PASS=true
|
||||
#
|
||||
# # 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.
|
||||
# # Only works if TIME_STOPS=true.
|
||||
# TALK_PASS=true
|
||||
#
|
||||
# # Choose switch number that when true the time won't pass (or -1 to cancel).
|
||||
# # Only works if TIME_STOPS=true.
|
||||
# SWITCH_STOPS=-1
|
||||
#
|
||||
# # Choose variable(s) number(s) that can hold time passage (or -1 to cancel).
|
||||
# # Look at description for more details.
|
||||
# EXTRA_SECONDS=79
|
||||
# EXTRA_DAYS=-1
|
||||
#
|
||||
# # Initial date. In sequence: Year, month, day, hour and minutes.
|
||||
# # Method UnrealTime.reset resets time back to this time.
|
||||
# def self.initial_date
|
||||
# return Time.local(2000,1,1, 12,0)
|
||||
# end
|
||||
#
|
||||
# # Advance to next time. If time already passed, advance
|
||||
# # into the time on the next day.
|
||||
# # Hour is 0..23
|
||||
# def self.advance_to(hour,min=0,sec=0)
|
||||
# if hour < 0 || hour > 23
|
||||
# raise RangeError, "hour is #{hour}, should be 0..23"
|
||||
# end
|
||||
# day_seconds = 60*60*24
|
||||
# seconds_now = pbGetTimeNow.hour*60*60+pbGetTimeNow.min*60+pbGetTimeNow.sec
|
||||
# target_seconds = hour*60*60+min*60+sec
|
||||
# seconds_added = target_seconds-seconds_now
|
||||
# seconds_added += day_seconds if seconds_added<0
|
||||
# $PokemonGlobal.newFrameCount+=seconds_added
|
||||
# PBDayNight.sheduleToneRefresh
|
||||
# end
|
||||
#
|
||||
# # Resets time to initial_date.
|
||||
# def self.reset
|
||||
# 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_DAYS]=0 if EXTRA_DAYS>0
|
||||
# $PokemonGlobal.newFrameCount=0
|
||||
# $PokemonGlobal.extraYears=0
|
||||
# PBDayNight.sheduleToneRefresh
|
||||
# end
|
||||
#
|
||||
# # Does the same thing as EXTRA_SECONDS variable.
|
||||
# def self.add_seconds(seconds)
|
||||
# raise "Method doesn't work when TIME_STOPS is false!" if !TIME_STOPS
|
||||
# $PokemonGlobal.newFrameCount+=(seconds*Graphics.frame_rate)/PROPORTION.to_f
|
||||
# PBDayNight.sheduleToneRefresh
|
||||
# end
|
||||
#
|
||||
# def self.add_days(days)
|
||||
# add_seconds(60*60*24*days)
|
||||
# end
|
||||
#
|
||||
# NEED_32_BIT_FIX = [''].pack('p').size <= 4
|
||||
# end
|
||||
#
|
||||
# # Essentials V18 and lower compatibility
|
||||
# module Settings
|
||||
# TIME_SHADING = defined?(ENABLESHADING) ? ENABLESHADING : ::TIME_SHADING
|
||||
# end if defined?(TIME_SHADING) || defined?(ENABLESHADING)
|
||||
#
|
||||
# module PBDayNight
|
||||
# class << self
|
||||
# if method_defined?(:getTone) && UnrealTime::TONE_CHECK_INTERVAL > 0
|
||||
# def getTone
|
||||
# @cachedTone = Tone.new(0,0,0) if !@cachedTone
|
||||
# return @cachedTone if !Settings::TIME_SHADING
|
||||
# toneNeedUpdate = (!@dayNightToneLastUpdate ||
|
||||
# Graphics.frame_count-@dayNightToneLastUpdate >=
|
||||
# Graphics.frame_rate*UnrealTime::TONE_CHECK_INTERVAL
|
||||
# )
|
||||
# if toneNeedUpdate
|
||||
# getToneInternal
|
||||
# @dayNightToneLastUpdate = Graphics.frame_count
|
||||
# end
|
||||
# return @cachedTone
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# # Shedule a tone refresh on the next try (probably next frame)
|
||||
# def sheduleToneRefresh
|
||||
# @dayNightToneLastUpdate = nil
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def pbGetTimeNow
|
||||
# return Time.now if !$PokemonGlobal || !UnrealTime::ENABLED
|
||||
# day_seconds = 60*60*24
|
||||
# if UnrealTime::TIME_STOPS
|
||||
# # Sum the extra values to newFrameCount
|
||||
# if UnrealTime::EXTRA_SECONDS>0
|
||||
# UnrealTime.add_seconds(pbGet(UnrealTime::EXTRA_SECONDS))
|
||||
# $game_variables[UnrealTime::EXTRA_SECONDS]=0
|
||||
# end
|
||||
# if UnrealTime::EXTRA_DAYS>0
|
||||
# UnrealTime.add_seconds(day_seconds*pbGet(UnrealTime::EXTRA_DAYS))
|
||||
# $game_variables[UnrealTime::EXTRA_DAYS]=0
|
||||
# end
|
||||
# elsif UnrealTime::EXTRA_SECONDS>0 && UnrealTime::EXTRA_DAYS>0
|
||||
# # Checks to regulate the max/min values at UnrealTime::EXTRA_SECONDS
|
||||
# while pbGet(UnrealTime::EXTRA_SECONDS)>=day_seconds
|
||||
# $game_variables[UnrealTime::EXTRA_SECONDS]-=day_seconds
|
||||
# $game_variables[UnrealTime::EXTRA_DAYS]+=1
|
||||
# end
|
||||
# while pbGet(UnrealTime::EXTRA_SECONDS)<=-day_seconds
|
||||
# $game_variables[UnrealTime::EXTRA_SECONDS]+=day_seconds
|
||||
# $game_variables[UnrealTime::EXTRA_DAYS]-=1
|
||||
# end
|
||||
# end
|
||||
# start_time=UnrealTime.initial_date
|
||||
# if UnrealTime::TIME_STOPS
|
||||
# time_played=$PokemonGlobal.newFrameCount
|
||||
# else
|
||||
# time_played=Graphics.frame_count
|
||||
# end
|
||||
# time_played=(time_played*UnrealTime::PROPORTION)/Graphics.frame_rate
|
||||
# time_jumped=0
|
||||
# if UnrealTime::EXTRA_SECONDS>-1
|
||||
# time_jumped+=pbGet(UnrealTime::EXTRA_SECONDS)
|
||||
# end
|
||||
# if UnrealTime::EXTRA_DAYS>-1
|
||||
# time_jumped+=pbGet(UnrealTime::EXTRA_DAYS)*day_seconds
|
||||
# end
|
||||
# time_ret = 0
|
||||
# # 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
|
||||
# # years (to works with leap year) from your date and sum in
|
||||
# # $PokemonGlobal.extraYears. You can sum your actual year with this extraYears
|
||||
# # when displaying years.
|
||||
# loop do
|
||||
# time_fix=0
|
||||
# if $PokemonGlobal.extraYears!=0
|
||||
# time_fix = $PokemonGlobal.extraYears*day_seconds*(365*6+1)/6
|
||||
# end
|
||||
# time_ret=start_time+(time_played+time_jumped-time_fix)
|
||||
# break if !UnrealTime::NEED_32_BIT_FIX || time_ret.year<2036
|
||||
# $PokemonGlobal.extraYears+=6
|
||||
# end
|
||||
# return time_ret
|
||||
# end
|
||||
#
|
||||
# if UnrealTime::ENABLED
|
||||
# class PokemonGlobalMetadata
|
||||
# attr_accessor :newFrameCount # Became float when using extra values
|
||||
# attr_accessor :extraYears
|
||||
#
|
||||
# def addNewFrameCount
|
||||
# return if (UnrealTime::SWITCH_STOPS>0 &&
|
||||
# $game_switches[UnrealTime::SWITCH_STOPS])
|
||||
# self.newFrameCount+=1
|
||||
# end
|
||||
#
|
||||
# def newFrameCount
|
||||
# @newFrameCount=0 if !@newFrameCount
|
||||
# return @newFrameCount
|
||||
# end
|
||||
#
|
||||
# def extraYears
|
||||
# @extraYears=0 if !@extraYears
|
||||
# return @extraYears
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# if UnrealTime::TIME_STOPS
|
||||
# class Scene_Map
|
||||
# alias :updateold :update
|
||||
# def update
|
||||
# $PokemonGlobal.addNewFrameCount
|
||||
# updateold
|
||||
# end
|
||||
#
|
||||
# if UnrealTime::TALK_PASS
|
||||
# alias :miniupdateold :miniupdate
|
||||
# def miniupdate
|
||||
# $PokemonGlobal.addNewFrameCount
|
||||
# miniupdateold
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# if UnrealTime::BATTLE_PASS
|
||||
# class PokeBattle_Scene
|
||||
# alias :pbGraphicsUpdateold :pbGraphicsUpdate
|
||||
# def pbGraphicsUpdate
|
||||
# $PokemonGlobal.addNewFrameCount
|
||||
# pbGraphicsUpdateold
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
module UnrealTime
|
||||
# Set false to disable this system (returns Time.now)
|
||||
ENABLED=true
|
||||
|
||||
# Time proportion here.
|
||||
# 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.
|
||||
PROPORTION=60
|
||||
|
||||
# Starting on Essentials v17, the map tone only try to refresh tone each 30
|
||||
# real time seconds.
|
||||
# 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.
|
||||
TONE_CHECK_INTERVAL = 10.0
|
||||
|
||||
# Make this true to time only pass at field (Scene_Map)
|
||||
# A note to scripters: To make time pass on other scenes, put line
|
||||
# '$PokemonGlobal.addNewFrameCount' near to line 'Graphics.update'
|
||||
TIME_STOPS=true
|
||||
|
||||
# Make this true to time pass in battle, during turns and command selection.
|
||||
# This won't affect the Pokémon and Bag submenus.
|
||||
# Only works if TIME_STOPS=true.
|
||||
BATTLE_PASS=true
|
||||
|
||||
# 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.
|
||||
# Only works if TIME_STOPS=true.
|
||||
TALK_PASS=true
|
||||
|
||||
# Choose switch number that when true the time won't pass (or -1 to cancel).
|
||||
# Only works if TIME_STOPS=true.
|
||||
SWITCH_STOPS=-1
|
||||
|
||||
# Choose variable(s) number(s) that can hold time passage (or -1 to cancel).
|
||||
# Look at description for more details.
|
||||
EXTRA_SECONDS=79
|
||||
EXTRA_DAYS=-1
|
||||
|
||||
# Initial date. In sequence: Year, month, day, hour and minutes.
|
||||
# Method UnrealTime.reset resets time back to this time.
|
||||
def self.initial_date
|
||||
return Time.local(2000,1,1, 12,0)
|
||||
end
|
||||
|
||||
# Advance to next time. If time already passed, advance
|
||||
# into the time on the next day.
|
||||
# Hour is 0..23
|
||||
def self.advance_to(hour,min=0,sec=0)
|
||||
if hour < 0 || hour > 23
|
||||
raise RangeError, "hour is #{hour}, should be 0..23"
|
||||
end
|
||||
day_seconds = 60*60*24
|
||||
seconds_now = pbGetTimeNow.hour*60*60+pbGetTimeNow.min*60+pbGetTimeNow.sec
|
||||
target_seconds = hour*60*60+min*60+sec
|
||||
seconds_added = target_seconds-seconds_now
|
||||
seconds_added += day_seconds if seconds_added<0
|
||||
$PokemonGlobal.newFrameCount+=seconds_added
|
||||
PBDayNight.sheduleToneRefresh
|
||||
end
|
||||
|
||||
# Resets time to initial_date.
|
||||
def self.reset
|
||||
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_DAYS]=0 if EXTRA_DAYS>0
|
||||
$PokemonGlobal.newFrameCount=0
|
||||
$PokemonGlobal.extraYears=0
|
||||
PBDayNight.sheduleToneRefresh
|
||||
end
|
||||
|
||||
# Does the same thing as EXTRA_SECONDS variable.
|
||||
def self.add_seconds(seconds)
|
||||
raise "Method doesn't work when TIME_STOPS is false!" if !TIME_STOPS
|
||||
$PokemonGlobal.newFrameCount+=(seconds*Graphics.frame_rate)/PROPORTION.to_f
|
||||
PBDayNight.sheduleToneRefresh
|
||||
end
|
||||
|
||||
def self.add_days(days)
|
||||
add_seconds(60*60*24*days)
|
||||
end
|
||||
|
||||
NEED_32_BIT_FIX = [''].pack('p').size <= 4
|
||||
end
|
||||
|
||||
# Essentials V18 and lower compatibility
|
||||
module Settings
|
||||
TIME_SHADING = defined?(ENABLESHADING) ? ENABLESHADING : ::TIME_SHADING
|
||||
end if defined?(TIME_SHADING) || defined?(ENABLESHADING)
|
||||
|
||||
module PBDayNight
|
||||
class << self
|
||||
if method_defined?(:getTone) && UnrealTime::TONE_CHECK_INTERVAL > 0
|
||||
def getTone
|
||||
@cachedTone = Tone.new(0,0,0) if !@cachedTone
|
||||
return @cachedTone if !Settings::TIME_SHADING
|
||||
toneNeedUpdate = (!@dayNightToneLastUpdate ||
|
||||
Graphics.frame_count-@dayNightToneLastUpdate >=
|
||||
Graphics.frame_rate*UnrealTime::TONE_CHECK_INTERVAL
|
||||
)
|
||||
if toneNeedUpdate
|
||||
getToneInternal
|
||||
@dayNightToneLastUpdate = Graphics.frame_count
|
||||
end
|
||||
return @cachedTone
|
||||
end
|
||||
end
|
||||
|
||||
# Shedule a tone refresh on the next try (probably next frame)
|
||||
def sheduleToneRefresh
|
||||
@dayNightToneLastUpdate = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def pbGetTimeNow
|
||||
return Time.now if !$PokemonGlobal || !UnrealTime::ENABLED
|
||||
day_seconds = 60*60*24
|
||||
if UnrealTime::TIME_STOPS
|
||||
# Sum the extra values to newFrameCount
|
||||
if UnrealTime::EXTRA_SECONDS>0
|
||||
UnrealTime.add_seconds(pbGet(UnrealTime::EXTRA_SECONDS))
|
||||
$game_variables[UnrealTime::EXTRA_SECONDS]=0
|
||||
end
|
||||
if UnrealTime::EXTRA_DAYS>0
|
||||
UnrealTime.add_seconds(day_seconds*pbGet(UnrealTime::EXTRA_DAYS))
|
||||
$game_variables[UnrealTime::EXTRA_DAYS]=0
|
||||
end
|
||||
elsif UnrealTime::EXTRA_SECONDS>0 && UnrealTime::EXTRA_DAYS>0
|
||||
# Checks to regulate the max/min values at UnrealTime::EXTRA_SECONDS
|
||||
while pbGet(UnrealTime::EXTRA_SECONDS)>=day_seconds
|
||||
$game_variables[UnrealTime::EXTRA_SECONDS]-=day_seconds
|
||||
$game_variables[UnrealTime::EXTRA_DAYS]+=1
|
||||
end
|
||||
while pbGet(UnrealTime::EXTRA_SECONDS)<=-day_seconds
|
||||
$game_variables[UnrealTime::EXTRA_SECONDS]+=day_seconds
|
||||
$game_variables[UnrealTime::EXTRA_DAYS]-=1
|
||||
end
|
||||
end
|
||||
start_time=UnrealTime.initial_date
|
||||
if UnrealTime::TIME_STOPS
|
||||
time_played=$PokemonGlobal.newFrameCount
|
||||
else
|
||||
time_played=Graphics.frame_count
|
||||
end
|
||||
time_played=(time_played*UnrealTime::PROPORTION)/Graphics.frame_rate
|
||||
time_jumped=0
|
||||
if UnrealTime::EXTRA_SECONDS>-1
|
||||
time_jumped+=pbGet(UnrealTime::EXTRA_SECONDS)
|
||||
end
|
||||
if UnrealTime::EXTRA_DAYS>-1
|
||||
time_jumped+=pbGet(UnrealTime::EXTRA_DAYS)*day_seconds
|
||||
end
|
||||
time_ret = 0
|
||||
# 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
|
||||
# years (to works with leap year) from your date and sum in
|
||||
# $PokemonGlobal.extraYears. You can sum your actual year with this extraYears
|
||||
# when displaying years.
|
||||
loop do
|
||||
time_fix=0
|
||||
if $PokemonGlobal.extraYears!=0
|
||||
time_fix = $PokemonGlobal.extraYears*day_seconds*(365*6+1)/6
|
||||
end
|
||||
time_ret=start_time+(time_played+time_jumped-time_fix)
|
||||
break if !UnrealTime::NEED_32_BIT_FIX || time_ret.year<2036
|
||||
$PokemonGlobal.extraYears+=6
|
||||
end
|
||||
return time_ret
|
||||
end
|
||||
|
||||
if UnrealTime::ENABLED
|
||||
class PokemonGlobalMetadata
|
||||
attr_accessor :newFrameCount # Became float when using extra values
|
||||
attr_accessor :extraYears
|
||||
|
||||
def addNewFrameCount
|
||||
return if (UnrealTime::SWITCH_STOPS>0 &&
|
||||
$game_switches[UnrealTime::SWITCH_STOPS])
|
||||
self.newFrameCount+=1
|
||||
end
|
||||
|
||||
def newFrameCount
|
||||
@newFrameCount=0 if !@newFrameCount
|
||||
return @newFrameCount
|
||||
end
|
||||
|
||||
def extraYears
|
||||
@extraYears=0 if !@extraYears
|
||||
return @extraYears
|
||||
end
|
||||
end
|
||||
|
||||
if UnrealTime::TIME_STOPS
|
||||
class Scene_Map
|
||||
alias :updateold :update
|
||||
def update
|
||||
$PokemonGlobal.addNewFrameCount
|
||||
updateold
|
||||
end
|
||||
|
||||
if UnrealTime::TALK_PASS
|
||||
alias :miniupdateold :miniupdate
|
||||
def miniupdate
|
||||
$PokemonGlobal.addNewFrameCount
|
||||
miniupdateold
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if UnrealTime::BATTLE_PASS
|
||||
class PokeBattle_Scene
|
||||
alias :pbGraphicsUpdateold :pbGraphicsUpdate
|
||||
def pbGraphicsUpdate
|
||||
$PokemonGlobal.addNewFrameCount
|
||||
pbGraphicsUpdateold
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Binary file not shown.
BIN
Data/items.dat
BIN
Data/items.dat
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user