26 Commits

Author SHA1 Message Date
chardub
47ea64728a gitkeep 2025-06-07 11:20:04 -04:00
chardub
937527828f removes temp folder 2025-06-07 10:40:53 -04:00
chardub
b2f6901c6b fixes alt sprites option being on by default 2025-06-07 10:22:50 -04:00
chardub
a393ba1137 6.6 update 2025-06-07 08:16:50 -04:00
chardub
295a71dbcd updates dex entries 2025-06-07 07:57:16 -04:00
chardub
a94f2f1169 adds new clothes, hats, hairs 2025-06-07 07:55:47 -04:00
chardub
eae5af977c adds new hats & wearable silph scoe 2025-05-25 15:07:58 -04:00
chardub
2b3dae22ac updated custom pokedex entries 2025-05-25 13:11:11 -04:00
chardub
3698cadb83 Compatibility with IF2 2025-05-25 12:30:53 -04:00
chardub
a1c1d37ceb couple of map fixes 2025-05-11 22:28:23 -04:00
chardub
28cccd884f missing graphics 2025-05-11 21:45:34 -04:00
chardub
0ad7b1a899 adds new loading screens 2025-05-05 09:25:26 -04:00
chardub
370814733b fixes tileset fuckuo 2025-04-30 23:20:49 -04:00
chardub
4bc79de9dd revert temp fix 2025-04-19 22:40:28 -04:00
chardub
26312dfd6c temp fix 2025-04-19 22:34:21 -04:00
chardub
53adec3526 fixes police officer not setting azurill 2025-04-19 22:31:18 -04:00
chardub
9dcbf2b910 ignore .git folder when loading scripts 2025-04-19 17:27:42 -04:00
chardub
383ef3f51b Adds animated flowers graphics 2025-04-19 15:48:01 -04:00
chardub
e4cb1ce6ef Adds Scripts folder as submodule 2025-04-19 15:45:12 -04:00
chardub
58da1023c1 Remove Scripts folder to convert to submodule 2025-04-19 15:43:57 -04:00
chardub
0807a7ea79 flowers 2025-04-19 15:42:41 -04:00
chardub
86471fbedf Animated flowers 2025-04-19 14:23:57 -04:00
chardub
5255ce0215 Reapply "Map fixes"
This reverts commit d559b813ed.
2025-04-19 13:09:08 -04:00
chardub
05bb3f0d76 Updates tilemap renderer for extra autotiles 2025-04-19 13:05:42 -04:00
chardub
d559b813ed Revert "Map fixes"
This reverts commit 423bffaf62.
2025-04-19 12:25:30 -04:00
chardub
423bffaf62 Map fixes 2025-04-19 12:02:56 -04:00
5268 changed files with 16825 additions and 2446 deletions

4
.gitignore vendored
View File

@@ -1,6 +1,8 @@
Graphics/CustomBattlers/local_sprites/* Graphics/CustomBattlers/local_sprites/*
Graphics/Pokemon/FusionIcons/* Graphics/Pokemon/FusionIcons/*
Graphics/CustomBattlers/spritesheets Graphics/Battlers/Shiny/*
Graphics/CustomBattlers/spritesheets/*
Graphics/CustomBattlers/* Graphics/CustomBattlers/*
Data/sprites/* Data/sprites/*
Data/VERSION Data/VERSION

View File

@@ -1,4 +1,5 @@
########## CREDITS ############### ########## CREDITS ###############
Pok?mon Infinite Fusion: Hoenn
Game made by Chardub Game made by Chardub
*This is NOT an official Pokemon game. The author of this game is not *This is NOT an official Pokemon game. The author of this game is not
@@ -12,19 +13,29 @@ Chardub
############################## ##############################
## Maps ## ## Maps ##
############################## ##############################
Chardub, Kiwikelly Chardub, Kiwikelly, Payapon
Some of the maps were based on work by:
BenGames,Films, and More! (Pokemon Adventures in Kanto) http://www.pokecommunity.com/showthread.php?t=303850
Zeak6464 (Kanto Map pack) http://www.pokecommunity.com/showthread.php?t=345591
################################# #################################
# Story / Dialogues # # Story / Dialogues #
################################# #################################
Chardub Chardub
Kiwikelly Kiwikelly
The story and dialogues were based off Pokémon Red and Blue, as well as The story and dialogues were based off Pok?mon Ruby, Sapphire and Emerald, as well as Pok?mon
Pokémon Gold and Silver. Both games are made by Game Freak. Omega Ruby and Alpha Sapphire, which are all made by Game Freak.
##############################
## Music ##
##############################
Pory
##############################
## Animation ##
#############################
-- Intro cinematic animation --
Kiwikelly
########################################################### ###########################################################
### Fusion Sprites ### ### Fusion Sprites ###
@@ -35,47 +46,77 @@ Generated Sprites
Pokefusion 2 (version 4.5+) Pokefusion 2 (version 4.5+)
http://japeal.com/pkm http://japeal.com/pkm
Pokefusion (version 4.0-4.4)
http://pokefusion.japeal.com/
Alexonsager (version 3.x and below)
http://pokemon.alexonsager.net/
Special thanks to Aegide and Reizod for helping to rip the sprites from the website Special thanks to Aegide and Reizod for helping to rip the sprites from the website
and to the owners of the respective fusion websites for accepting to share and to the owners of the respective fusion websites for accepting to share
their sprites. their sprites.
Intro cinematic Custom sprites
##################### #####################
Kiwikelly Individual sprite credits can be found in Data/SPRITE_CREDS file for full, up to date credits
Custom sprites collecting and handling Custom sprites collecting and handling
Kiwikelly, Payapon, Thornsoflight Kiwikelly, Payapon, Thornsoflight
Discord custom sprites coordination Discord custom sprites coordination
--- Sprite Managers ---
avianAnnihilator<s>Blaquaza avianAnnihilator<s>Blaquaza
BéBoutton<s>CaBiNE BBoutton<s>CaBiNE
CoramSun<s>hero.drawing CoramSun<s>hero.drawing
Howls<s>Ignus Howlingstarr<s>Ignus
Kiwi<s>Maelmc Kiwi<s>Maelmc
Milchik the Miltank<s>Payapon Milchik the Miltank<s>Payapon
Pix<s>Rosemagwin Pix<s>Rosemagwin
Thornsoflight Thornsoflight<s>FauxBlue
Custom fusion sprites ### Spriter application reviews (Klefki)
##################### 007z3lda<s>barkey<s>the_cardinals
Check the Data/SPRITE_CREDS file for full, up to date credits doodledoo<s>grafaiguy<s>gummy.frog
holgast<s>ignust<s>jcobe800
markusknight<s>monolithyk<s>stickieanimates
takopus<s>_woofa_<s>yumatei
### Sprites quality assurance (Chansey)
dodoowner_<s>fauxblue<s>fioretovi
<greystorm101<s>.payapon<s>smasllcutekitty
odditylad<s>midnightender6<s>toadettexmushina
### Spriting process checking (Swablu)
cataylor_01<s>pikahunter07<s>say_4732
justvince.<s>
### Abandoned sprites harvesting (Zigzagoon)
_testrun_<s>greystorm101<s>.izik
mystora<s>reddevil85<s>riberna
chespining<s>togepimax
Triple fusion sprites
########################
Legendary birds fusion sprite by Universez
Legendary beasts fusion sprite by Milchik
Weather trio fusion sprite by magnuzone
Creation and Tao trio trio fusion sprite by mammuth89
###################################
### Game quality assurance ###
###################################
### Tech support and bugs reporting management
sapphire_chuu<s>megaman.
ymirbot<s>
### Tech support and bugs reporting(Porygon)
sapphire_chu<s>ernesto_gaming<s>xiaoanemo
kitsuwren<s>lunarcharlotte<s>megaman.
casinoluck<s>ymirbot
###################################
### Custom Pok?dex entries ###
###################################
### Pok?dex entries quality control (Unown)
luvischlo<s>char_latte3412<s>strawbearycandy
bobosmith01<s>griddle<s>.izik
knilk<s>lordjoostmeister<s>.realthree
wigglypon<s>wildheartrazorfangs<s>ziggaway
### Individual Pok?dex entries credits can be found in Data/pokedex/dex.json
########################################################### ###########################################################
#### Pokemon Essentials ### #### Pokemon Essentials ###
########################################################### ###########################################################
@@ -104,8 +145,6 @@ The following ressources were also used
with their respective authors' consent with their respective authors' consent
####################################################################### #######################################################################
### Sprites ### ### Sprites ###
Overworld Sprites: Overworld Sprites:
Custom graphics: Custom graphics:
Kiwikelly, Knuckles, UnworthyPie Kiwikelly, Knuckles, UnworthyPie
@@ -116,7 +155,9 @@ with their respective authors' consent
SailorVicious (Prof. Elm OW sprite) https://www.deviantart.com/sailorvicious SailorVicious (Prof. Elm OW sprite) https://www.deviantart.com/sailorvicious
OceansLugiaSpirit (Koga OW sprite) http://oceanslugiaspirit.deviantart.com/ OceansLugiaSpirit (Koga OW sprite) http://oceanslugiaspirit.deviantart.com/
Wolfang62: https://www.deviantart.com/wolfang62/art/Wimpod-Sprite-Overworld-836704744 Wolfang62: https://www.deviantart.com/wolfang62/art/Wimpod-Sprite-Overworld-836704744
zender1752 (Sabrina OW sprite) zender1752 (Sabrina OW sprite) https://www.deviantart.com/zender1752/art/Pokemon-Anime-Delia-Ketchum-Overworld-sprite-840038766
wesleyfg (Hoenn overworld NPCs) https://www.deviantart.com/wesleyfg/art/Hoenn-People-OW-in-BW-style-274475232
Wergan https://www.deviantart.com/wergan/art/Pokemon-Random-characters-002-959395621
Battle sprites: Battle sprites:
Custom graphics: Custom graphics:
Kiwikelly, UnworthyPie Kiwikelly, UnworthyPie
@@ -125,6 +166,9 @@ with their respective authors' consent
luckygirl88 (Misty VS sprite) http://luckygirl88.deviantart.com/art/Pokemon-BW-Misty-Sprite-Sheet-268364830 luckygirl88 (Misty VS sprite) http://luckygirl88.deviantart.com/art/Pokemon-BW-Misty-Sprite-Sheet-268364830
Lorelei VS sprite by Nalty http://nalty.deviantart.com/art/Lorelei-VS-Sprite-177184960 Lorelei VS sprite by Nalty http://nalty.deviantart.com/art/Lorelei-VS-Sprite-177184960
x-5-4-5-2 (Sabrina sprite) https://www.deviantart.com/x-5-4-5-2/art/Game-Sabrina-204548703 x-5-4-5-2 (Sabrina sprite) https://www.deviantart.com/x-5-4-5-2/art/Game-Sabrina-204548703
Zender1752 (overworld mom sprite) https://www.deviantart.com/zender1752/art/Pokemon-Anime-Delia-Ketchum-Overworld-sprite-840038766
### Custom tileset graphics ### ### Custom tileset graphics ###
Kiwikelly Kiwikelly
@@ -173,7 +217,7 @@ audreyeyeyeye https://www.deviantart.com/audreyeyeyeye/art/Pokemon-Type-Icons-FR
### Other graphics ### Other graphics
Region map: Kiwikelly Hoenn map: shivanking (Deviantart)
Move animations: Move animations:
Augmented Reborn Animations Project Augmented Reborn Animations Project
@@ -188,7 +232,12 @@ Move animations:
### RPG Maker Scripts ### ### RPG Maker Scripts ###
########################################################### ###########################################################
andracass (Pokémon Reborn) Compiler optimization #Custom Infinite fusion scripts:
Improved Shinies: anthonygourmand
andracass (Pok?on Reborn) Compiler optimization (legacy)
#Public use scripts:
Luka S.J. Elite Battle System Luka S.J. Elite Battle System
Animated Title Screen (modified): Animated Title Screen (modified):
shiney570 BW2 Summary script (+ graphics) http://reliccastle.com/forums/showthread.php?tid=1090 shiney570 BW2 Summary script (+ graphics) http://reliccastle.com/forums/showthread.php?tid=1090

BIN
Data/.DS_Store vendored

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

@@ -5,9 +5,9 @@
#==============================================================================# #==============================================================================#
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 = '6.5.1' GAME_VERSION = '6.6.0'
GAME_VERSION_NUMBER = "6.5.1" GAME_VERSION_NUMBER = "6.6.0"
LATEST_GAME_RELEASE = "6.5" LATEST_GAME_RELEASE = "6.6"
POKERADAR_LIGHT_ANIMATION_RED_ID = 17 POKERADAR_LIGHT_ANIMATION_RED_ID = 17
POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18 POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18
@@ -17,11 +17,14 @@ module Settings
LEADER_VICTORY_MUSIC="Battle victory leader" LEADER_VICTORY_MUSIC="Battle victory leader"
TRAINER_VICTORY_MUSIC="trainer-victory" TRAINER_VICTORY_MUSIC="trainer-victory"
WILD_VICTORY_MUSIC="wild-victory" WILD_VICTORY_MUSIC="wild-victory"
#getRandomCustomFusionForIntro #getRandomCustomFusionForIntro
FUSION_ICON_SPRITE_OFFSET = 10 FUSION_ICON_SPRITE_OFFSET = 10
ANIMATE_REFLECTIONS= false#GAME_ID == :IF_HOENN #true
USE_REFLECTIONS = false
#Infinite fusion settings #Infinite fusion settings
NB_POKEMON = 501 NB_POKEMON = Settings::GAME_ID == :IF_HOENN ? 565 : 501
CUSTOM_BASE_SPRITES_FOLDER = "Graphics/CustomBattlers/local_sprites/BaseSprites/" CUSTOM_BASE_SPRITES_FOLDER = "Graphics/CustomBattlers/local_sprites/BaseSprites/"
CUSTOM_BATTLERS_FOLDER = "Graphics/CustomBattlers/" CUSTOM_BATTLERS_FOLDER = "Graphics/CustomBattlers/"
CUSTOM_SPRITES_TO_IMPORT_FOLDER = "Graphics/CustomBattlers/Sprites to import/" CUSTOM_SPRITES_TO_IMPORT_FOLDER = "Graphics/CustomBattlers/Sprites to import/"
@@ -79,7 +82,7 @@ module Settings
EGGSPRITE_SCALE = 1 EGGSPRITE_SCALE = 1
BACKSPRITE_POSITION_OFFSET = 20 BACKSPRITE_POSITION_OFFSET = 20
FRONTSPRITE_POSITION = 200 FRONTSPRITE_POSITION = 200
SHINY_HUE_OFFSET = 75 SHINY_HUE_OFFSET = 75 #no longer used
NO_LEVEL_MODE_LEVEL_INCR = 5.8 NO_LEVEL_MODE_LEVEL_INCR = 5.8
NO_LEVEL_MODE_LEVEL_BASE = 6 NO_LEVEL_MODE_LEVEL_BASE = 6
@@ -161,7 +164,7 @@ module Settings
# Number of badges in the game # Number of badges in the game
NB_BADGES = 16 NB_BADGES = 16
# The odds of a newly generated Pokémon being shiny (out of 65536). # The odds of a newly generated Pokémon being shiny (out of 65536).
SHINY_POKEMON_CHANCE = 16#(MECHANICS_GENERATION >= 6) ? 16 : 8 SHINY_POKEMON_CHANCE =16#(MECHANICS_GENERATION >= 6) ? 16 : 8
# The odds of a wild Pokémon/bred egg having Pokérus (out of 65536). # The odds of a wild Pokémon/bred egg having Pokérus (out of 65536).
POKERUS_CHANCE = 3 POKERUS_CHANCE = 3
@@ -218,10 +221,10 @@ module Settings
POISON_IN_FIELD = true #(MECHANICS_GENERATION <= 4) POISON_IN_FIELD = true #(MECHANICS_GENERATION <= 4)
# Whether poisoned Pokémon will faint while walking around in the field # Whether poisoned Pokémon will faint while walking around in the field
# (true), or survive the poisoning with 1 HP (false). # (true), or survive the poisoning with 1 HP (false).
POISON_FAINT_IN_FIELD = (MECHANICS_GENERATION >= 3) POISON_FAINT_IN_FIELD = false
# Whether planted berries grow according to Gen 4 mechanics (true) or Gen 3 # Whether planted berries grow according to Gen 4 mechanics (true) or Gen 3
# mechanics (false). # mechanics (false).
NEW_BERRY_PLANTS = (MECHANICS_GENERATION >= 4) NEW_BERRY_PLANTS = true
# Whether fishing automatically hooks the Pokémon (true), or whether there is # Whether fishing automatically hooks the Pokémon (true), or whether there is
# a reaction test first (false). # a reaction test first (false).
FISHING_AUTO_HOOK = false FISHING_AUTO_HOOK = false
@@ -526,6 +529,9 @@ module Settings
# ID of the animation played when a berry tree grows a stage while the player # ID of the animation played when a berry tree grows a stage while the player
# is on the map (for new plant growth mechanics only). # is on the map (for new plant growth mechanics only).
PLANT_SPARKLE_ANIMATION_ID = 7 PLANT_SPARKLE_ANIMATION_ID = 7
SPARKLE_SHORT_ANIMATION_ID = 25
SPARKLE_SUBTLE_ANIMATION_ID = 29
SLEEP_ANIMATION_ID = 26 SLEEP_ANIMATION_ID = 26
CUT_TREE_ANIMATION_ID = 19 CUT_TREE_ANIMATION_ID = 19

View File

@@ -1,6 +1,8 @@
# Using mkxp-z v2.2.0 - https://gitlab.com/mkxp-z/mkxp-z/-/releases/v2.2.0 # Using mkxp-z v2.2.0 - https://gitlab.com/mkxp-z/mkxp-z/-/releases/v2.2.0
$VERBOSE = nil $VERBOSE = nil
Font.default_shadow = false if Font.respond_to?(:default_shadow) Font.default_shadow = false if Font.respond_to?(:default_shadow)
Encoding.default_internal = Encoding::UTF_8
Encoding.default_external = Encoding::UTF_8
Graphics.frame_rate = 40 Graphics.frame_rate = 40
def pbSetWindowText(string) def pbSetWindowText(string)
@@ -13,9 +15,16 @@ class Bitmap
alias mkxp_draw_text draw_text unless method_defined?(:mkxp_draw_text) alias mkxp_draw_text draw_text unless method_defined?(:mkxp_draw_text)
def draw_text(x, y, width, height, text, align = 0) def draw_text(x, y, width, height, text, align = 0)
if x.is_a?(Rect)
x.y -= (@text_offset_y || 0)
# rect, string & alignment
mkxp_draw_text(x, y, width)
else
y -= (@text_offset_y || 0)
height = text_size(text).height height = text_size(text).height
mkxp_draw_text(x, y, width, height, text, align) mkxp_draw_text(x, y, width, height, text, align)
end end
end
end end
module Graphics module Graphics

View File

@@ -17,6 +17,7 @@ class Game_Screen
attr_reader :weather_type # weather type attr_reader :weather_type # weather type
attr_reader :weather_max # max number of weather sprites attr_reader :weather_max # max number of weather sprites
attr_accessor :weather_duration # ticks in which the weather should fade in attr_accessor :weather_duration # ticks in which the weather should fade in
attr_accessor :weather_power
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# * Object Initialization # * Object Initialization
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
@@ -41,6 +42,7 @@ class Game_Screen
@weather_type = 0 @weather_type = 0
@weather_max = 0.0 @weather_max = 0.0
@weather_duration = 0 @weather_duration = 0
@weather_power = 0
end end
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# * Start Changing Color Tone # * Start Changing Color Tone
@@ -82,6 +84,7 @@ class Game_Screen
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
def weather(type, power, duration) def weather(type, power, duration)
@weather_type = GameData::Weather.get(type).id @weather_type = GameData::Weather.get(type).id
@weather_power = power
@weather_max = (power + 1) * RPG::Weather::MAX_SPRITES / 10 @weather_max = (power + 1) * RPG::Weather::MAX_SPRITES / 10
@weather_duration = duration # In 1/20ths of a seconds @weather_duration = duration # In 1/20ths of a seconds
end end

View File

@@ -9,7 +9,6 @@ class Game_Switches
# * Object Initialization # * Object Initialization
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
def initialize def initialize
echoln caller
@data = [] @data = []
end end
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------

View File

@@ -126,6 +126,10 @@ class Game_Map
return @map.data; return @map.data;
end end
def tileset_id;
return @map.tileset_id;
end
def name def name
ret = pbGetMessage(MessageTypes::MapNames, @map_id) ret = pbGetMessage(MessageTypes::MapNames, @map_id)
ret.gsub!(/\\PN/, $Trainer.name) if $Trainer ret.gsub!(/\\PN/, $Trainer.name) if $Trainer

View File

@@ -77,6 +77,7 @@ class Game_Character
@locked = false @locked = false
@prelock_direction = 0 @prelock_direction = 0
@under_everything=false @under_everything=false
@forced_z=nil
end end
def at_coordinate?(check_x, check_y) def at_coordinate?(check_x, check_y)
@@ -339,6 +340,7 @@ class Game_Character
def screen_z(height = 0) def screen_z(height = 0)
return -1 if @under_everything return -1 if @under_everything
return 999 if @always_on_top return 999 if @always_on_top
return @forced_z if @forced_z
z = screen_y_ground z = screen_y_ground
if @tile_id > 0 if @tile_id > 0
begin begin

View File

@@ -24,6 +24,9 @@ class Game_Event < Game_Character
@through = true @through = true
@to_update = true @to_update = true
@tempSwitches = {} @tempSwitches = {}
if @event.name[/forced_z\s*=\s*(-?\d+)/i]
@forced_z = $1.to_i
end
moveto(@event.x, @event.y) if map moveto(@event.x, @event.y) if map
refresh refresh
end end
@@ -140,6 +143,7 @@ class Game_Event < Game_Character
return false return false
end end
def pbCheckEventTriggerAfterTurning def pbCheckEventTriggerAfterTurning
return if $game_system.map_interpreter.running? || @starting return if $game_system.map_interpreter.running? || @starting
if @event.name[/trainer\((\d+)\)/i] if @event.name[/trainer\((\d+)\)/i]
@@ -276,4 +280,10 @@ class Game_Event < Game_Character
@interpreter.update @interpreter.update
end end
end end
def active?
return !@erased && @page != nil
end
end end

View File

@@ -75,14 +75,20 @@ class Sprite_Character < RPG::Sprite
@oldbushdepth = 0 @oldbushdepth = 0
@spriteoffset = false @spriteoffset = false
if !character || character == $game_player || (character.name[/reflection/i] rescue false) if Settings::USE_REFLECTIONS && (!character || character == $game_player || (character.name[/reflection/i] rescue false))
@reflection = Sprite_Reflection.new(self, character, viewport) @reflection = Sprite_Reflection.new(self, viewport)
end end
@surfbase = Sprite_SurfBase.new(self, character, viewport) if character == $game_player @surfbase = Sprite_SurfBase.new(self, character, viewport) if character == $game_player
checkModifySpriteGraphics(@character) if @character if @character && @character != $game_player
checkModifySpriteGraphics(@character) if @character.active?
end
update update
end end
def event_is_active?(game_event)
return !game_event.event.page.nil?
end
def checkModifySpriteGraphics(character) def checkModifySpriteGraphics(character)
return if character == $game_player || !character.name return if character == $game_player || !character.name
if TYPE_EXPERTS_APPEARANCES.keys.include?(character.name.to_sym) if TYPE_EXPERTS_APPEARANCES.keys.include?(character.name.to_sym)
@@ -216,8 +222,8 @@ class Sprite_Character < RPG::Sprite
@bushbitmap = nil @bushbitmap = nil
#@spriteoffset = @character_name[/offset/i] #@spriteoffset = @character_name[/offset/i]
@spriteoffset = @character_name[/fish/i] || @character_name[/dive/i] || @character_name[/surf/i] @spriteoffset = @character_name[/fish/i] || @character_name[/dive/i] || @character_name[/surf/i]
@cw = @charbitmap.width / 4 @cw = @charbitmap.width / 4 if !@charbitmap.disposed?
@ch = @charbitmap.height / 4 @ch = @charbitmap.height / 4 if !@charbitmap.disposed?
self.ox = @cw / 2 self.ox = @cw / 2
@character.sprite_size = [@cw, @ch] @character.sprite_size = [@cw, @ch]
end end

View File

@@ -1,34 +1,38 @@
#===============================================================================
#
#===============================================================================
class Sprite_Reflection class Sprite_Reflection
attr_reader :visible attr_reader :visible
attr_accessor :event
def initialize(sprite,event,viewport=nil) def initialize(parent_sprite, viewport = nil)
@rsprite = sprite @parent_sprite = parent_sprite
@sprite = nil @sprite = nil
@event = event
@height = 0 @height = 0
@fixedheight = false @fixedheight = false
if @event && @event!=$game_player if @parent_sprite.character && @parent_sprite.character != $game_player &&
if @event.name[/reflection\((\d+)\)/i] @parent_sprite.character.name[/reflection\((\d+)\)/i]
@height = $~[1].to_i || 0 @height = $~[1].to_i || 0
@fixedheight = true @fixedheight = true
end end
end
@viewport = viewport @viewport = viewport
@disposed = false @disposed = false
update update
end end
def dispose def dispose
if !@disposed return if @disposed
@sprite.dispose if @sprite @sprite&.dispose
@sprite = nil @sprite = nil
@parent_sprite = nil
@disposed = true @disposed = true
end end
end
def disposed? def disposed?
@disposed return @disposed
end
def event
return @parent_sprite.character
end end
def visible=(value) def visible=(value)
@@ -37,51 +41,53 @@ class Sprite_Reflection
end end
def update def update
return if disposed?
shouldShow = @parent_sprite.visible
if !shouldShow
# Just-in-time disposal of sprite
if @sprite
@sprite.dispose
@sprite = nil
end
return return
# return if disposed? end
# shouldShow = @rsprite.visible # Just-in-time creation of sprite
# if !shouldShow @sprite = Sprite.new(@viewport) if !@sprite
# # Just-in-time disposal of sprite if @sprite
# if @sprite x = @parent_sprite.x - (@parent_sprite.ox * TilemapRenderer::ZOOM_X)
# @sprite.dispose y = @parent_sprite.y - (@parent_sprite.oy * TilemapRenderer::ZOOM_Y)
# @sprite = nil y -= Game_Map::TILE_HEIGHT * TilemapRenderer::ZOOM_Y if event.character_name[/offset/i]
# end @height = $PokemonGlobal.bridge if !@fixedheight
# return y += @height * TilemapRenderer::ZOOM_Y * Game_Map::TILE_HEIGHT / 2
# end width = @parent_sprite.src_rect.width
# # Just-in-time creation of sprite height = @parent_sprite.src_rect.height
# @sprite = Sprite.new(@viewport) if !@sprite @sprite.x = x + ((width / 2) * TilemapRenderer::ZOOM_X)
# if @sprite @sprite.y = y + ((height + (height / 2)) * TilemapRenderer::ZOOM_Y)
# x = @rsprite.x-@rsprite.ox @sprite.ox = width / 2
# y = @rsprite.y-@rsprite.oy @sprite.oy = (height / 2) - 2 # Hard-coded 2 pixel shift up
# y -= 32 if @rsprite.character.character_name[/offset/i] @sprite.oy -= event.bob_height * 2
# @height = $PokemonGlobal.bridge if !@fixedheight @sprite.z = @parent_sprite.groundY - (Graphics.height / 2)
# y += @height*16 @sprite.z -= 1000 # Still water is -2000, map is 0 and above
# width = @rsprite.src_rect.width @sprite.z += 1 if event == $game_player
# height = @rsprite.src_rect.height @sprite.zoom_x = @parent_sprite.zoom_x
# @sprite.x = x+width/2 if Settings::ANIMATE_REFLECTIONS
# @sprite.y = y+height+height/2 @sprite.zoom_x += 0.05 * @sprite.zoom_x * Math.sin(2 * Math::PI * System.uptime)
# @sprite.ox = width/2 end
# @sprite.oy = height/2-2 # Hard-coded 2 pixel shift up @sprite.zoom_y = @parent_sprite.zoom_y
# @sprite.oy -= @rsprite.character.bob_height*2 @sprite.angle = 180.0
# @sprite.z = -50 # Still water is -100, map is 0 and above @sprite.mirror = true
# @sprite.zoom_x = @rsprite.zoom_x @sprite.bitmap = @parent_sprite.bitmap
# @sprite.zoom_y = @rsprite.zoom_y @sprite.tone = @parent_sprite.tone
# frame = (Graphics.frame_count%40)/10 if @height > 0
# @sprite.zoom_x *= [1.0, 0.95, 1.0, 1.05][frame] @sprite.color = Color.new(48, 96, 160, 255) # Dark still water
# @sprite.angle = 180.0 @sprite.opacity = @parent_sprite.opacity
# @sprite.mirror = true @sprite.visible = !Settings::TIME_SHADING # Can't time-tone a colored sprite
# @sprite.bitmap = @rsprite.bitmap else
# @sprite.tone = @rsprite.tone @sprite.color = Color.new(224, 224, 224, 96)
# if @height>0 @sprite.opacity = @parent_sprite.opacity * 3 / 4
# @sprite.color = Color.new(48,96,160,255) # Dark still water @sprite.visible = true
# @sprite.opacity = @rsprite.opacity end
# @sprite.visible = !Settings::TIME_SHADING # Can't time-tone a colored sprite @sprite.src_rect = @parent_sprite.src_rect
# else end
# @sprite.color = Color.new(224,224,224,96)
# @sprite.opacity = @rsprite.opacity*3/4
# @sprite.visible = true
# end
# @sprite.src_rect = @rsprite.src_rect
# end
end end
end end

View File

@@ -47,7 +47,11 @@ class Spriteset_Map
def initialize(map=nil) def initialize(map=nil)
@map = (map) ? map : $game_map @map = (map) ? map : $game_map
$scene.map_renderer.add_tileset(@map.tileset_name) $scene.map_renderer.add_tileset(@map.tileset_name)
@map.autotile_names.each { |filename| $scene.map_renderer.add_autotile(filename) } @map.autotile_names.each do |filename|
$scene.map_renderer.add_autotile(filename)
$scene.map_renderer.add_extra_autotiles(@map.tileset_id,@map.map_id)
end
@panorama = AnimatedPlane.new(@@viewport0) @panorama = AnimatedPlane.new(@@viewport0)
@fog = AnimatedPlane.new(@@viewport1) @fog = AnimatedPlane.new(@@viewport1)
@fog.z = 3000 @fog.z = 3000
@@ -77,7 +81,10 @@ class Spriteset_Map
def dispose def dispose
if $scene.is_a?(Scene_Map) if $scene.is_a?(Scene_Map)
$scene.map_renderer.remove_tileset(@map.tileset_name) $scene.map_renderer.remove_tileset(@map.tileset_name)
@map.autotile_names.each { |filename| $scene.map_renderer.remove_autotile(filename) } @map.autotile_names.each do |filename|
$scene.map_renderer.remove_autotile(filename)
$scene.map_renderer.remove_extra_autotiles(@map.tileset_id)
end
end end
@panorama.dispose @panorama.dispose
@fog.dispose @fog.dispose
@@ -146,9 +153,9 @@ class Spriteset_Map
sprite.update sprite.update
end end
if self.map!=$game_map if self.map!=$game_map
@weather.fade_in(:None, 0, 20) #@weather.fade_in(:None, 0, 20)
else else
@weather.fade_in($game_screen.weather_type, $game_screen.weather_max, $game_screen.weather_duration) @weather.fade_in($game_screen.weather_type, $game_screen.weather_power, $game_screen.weather_duration)
end end
@weather.ox = tmox @weather.ox = tmox
@weather.oy = tmoy @weather.oy = tmoy

Some files were not shown because too many files have changed in this diff Show More