mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-25 02:15:08 +00:00
Compare commits
23 Commits
05bb3f0d76
...
6.6-prerel
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47ea64728a | ||
|
|
937527828f | ||
|
|
b2f6901c6b | ||
|
|
a393ba1137 | ||
|
|
295a71dbcd | ||
|
|
a94f2f1169 | ||
|
|
eae5af977c | ||
|
|
2b3dae22ac | ||
|
|
3698cadb83 | ||
|
|
a1c1d37ceb | ||
|
|
28cccd884f | ||
|
|
0ad7b1a899 | ||
|
|
370814733b | ||
|
|
4bc79de9dd | ||
|
|
26312dfd6c | ||
|
|
53adec3526 | ||
|
|
9dcbf2b910 | ||
|
|
383ef3f51b | ||
|
|
e4cb1ce6ef | ||
|
|
58da1023c1 | ||
|
|
0807a7ea79 | ||
|
|
86471fbedf | ||
|
|
5255ce0215 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -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
|
||||||
|
|||||||
115
Credits.txt
115
Credits.txt
@@ -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
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.
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ class Game_Switches
|
|||||||
# * Object Initialization
|
# * Object Initialization
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
def initialize
|
def initialize
|
||||||
echoln caller
|
|
||||||
@data = []
|
@data = []
|
||||||
end
|
end
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ class Spriteset_Map
|
|||||||
$scene.map_renderer.add_tileset(@map.tileset_name)
|
$scene.map_renderer.add_tileset(@map.tileset_name)
|
||||||
@map.autotile_names.each do |filename|
|
@map.autotile_names.each do |filename|
|
||||||
$scene.map_renderer.add_autotile(filename)
|
$scene.map_renderer.add_autotile(filename)
|
||||||
$scene.map_renderer.add_extra_autotiles(@map.tileset_id)
|
$scene.map_renderer.add_extra_autotiles(@map.tileset_id,@map.map_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
@panorama = AnimatedPlane.new(@@viewport0)
|
@panorama = AnimatedPlane.new(@@viewport0)
|
||||||
@@ -153,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
|
||||||
|
|||||||
@@ -96,6 +96,12 @@ class Sprite_Player < Sprite_Character
|
|||||||
|
|
||||||
def update
|
def update
|
||||||
super
|
super
|
||||||
|
if Settings::GAME_ID == :IF_HOENN && $PokemonGlobal.diving
|
||||||
|
self.z = -4
|
||||||
|
@hat.adjust_layer if @hat
|
||||||
|
@hat2.adjust_layer if @hat2
|
||||||
|
@hair.adjust_layer if @hair
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def dispose
|
def dispose
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
class TilemapRenderer
|
class TilemapRenderer
|
||||||
attr_reader :tilesets
|
attr_reader :tilesets
|
||||||
attr_reader :autotiles
|
attr_reader :autotiles
|
||||||
|
attr_reader :custom_autotile_ids
|
||||||
attr_accessor :tone
|
attr_accessor :tone
|
||||||
attr_accessor :color
|
attr_accessor :color
|
||||||
attr_reader :viewport
|
attr_reader :viewport
|
||||||
@@ -44,9 +45,84 @@ class TilemapRenderer
|
|||||||
# 6 => [["Water rock", "Sea deep"], []]
|
# 6 => [["Water rock", "Sea deep"], []]
|
||||||
|
|
||||||
EXTRA_AUTOTILES = {
|
EXTRA_AUTOTILES = {
|
||||||
# 23 => {
|
1 => { #route-field
|
||||||
# 384 => "flowers_pink",
|
996 => "flowers_orange[10]",
|
||||||
# }
|
991 => "flowers_pink[10]",
|
||||||
|
999 => "flowers_yellow[10]",
|
||||||
|
1007 => "flowers_blue[10]",
|
||||||
|
1015 => "flowers_purple[10]",
|
||||||
|
1023 => "flowers_red[10]",
|
||||||
|
1031 => "flowers_grey[10]",
|
||||||
|
1039 => "flowers_white[10]",
|
||||||
|
},
|
||||||
|
2 => { #small-town
|
||||||
|
996 => "flowers_orange[10]",
|
||||||
|
991 => "flowers_pink[10]",
|
||||||
|
999 => "flowers_yellow[10]",
|
||||||
|
1007 => "flowers_blue[10]",
|
||||||
|
1015 => "flowers_purple[10]",
|
||||||
|
1023 => "flowers_red[10]",
|
||||||
|
1031 => "flowers_grey[10]",
|
||||||
|
1039 => "flowers_white[10]",
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
23 => { #outdoor
|
||||||
|
1232 => "flowers_orange[10]",
|
||||||
|
1240 => "flowers_pink[10]",
|
||||||
|
1248 => "flowers_yellow[10]",
|
||||||
|
1256 => "flowers_blue[10]",
|
||||||
|
1264 => "flowers_purple[10]",
|
||||||
|
1272 => "flowers_red[10]",
|
||||||
|
1280 => "flowers_grey[10]",
|
||||||
|
1288 => "flowers_white[10]",
|
||||||
|
|
||||||
|
},
|
||||||
|
30 => {
|
||||||
|
2620 => "flowers_orange[10]",
|
||||||
|
2628 => "flowers_pink[10]",
|
||||||
|
2636 => "flowers_yellow[10]",
|
||||||
|
2644 => "flowers_blue[10]",
|
||||||
|
2652 => "flowers_purple[10]",
|
||||||
|
2660 => "flowers_red[10]",
|
||||||
|
2668 => "flowers_grey[10]",
|
||||||
|
2676 => "flowers_white[10]",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WIND_TREE_AUTOTILES = {
|
||||||
|
1 => { #Route-field
|
||||||
|
864 => "tree_sway_single_1",
|
||||||
|
865 => "tree_sway_single_2",
|
||||||
|
872 => "tree_sway_single_3",
|
||||||
|
873 => "tree_sway_single_4",
|
||||||
|
880 => "tree_sway_single_5",
|
||||||
|
881 => "tree_sway_single_6",
|
||||||
|
|
||||||
|
|
||||||
|
866 => "tree_sway_group_1",
|
||||||
|
867 => "tree_sway_group_2",
|
||||||
|
874 => "tree_sway_group_3",
|
||||||
|
875 => "tree_sway_group_4",
|
||||||
|
},
|
||||||
|
|
||||||
|
2 => { #small-town
|
||||||
|
#trees
|
||||||
|
864 => "tree_sway_single_1",
|
||||||
|
865 => "tree_sway_single_2",
|
||||||
|
872 => "tree_sway_single_3",
|
||||||
|
873 => "tree_sway_single_4",
|
||||||
|
880 => "tree_sway_single_5",
|
||||||
|
881 => "tree_sway_single_6",
|
||||||
|
|
||||||
|
|
||||||
|
866 => "tree_sway_group_1",
|
||||||
|
867 => "tree_sway_group_2",
|
||||||
|
874 => "tree_sway_group_3",
|
||||||
|
875 => "tree_sway_group_4",
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
@@ -132,7 +208,7 @@ class TilemapRenderer
|
|||||||
@frame_counts = {} # Number of frames in each autotile
|
@frame_counts = {} # Number of frames in each autotile
|
||||||
@frame_durations = {} # How long each frame lasts per autotile
|
@frame_durations = {} # How long each frame lasts per autotile
|
||||||
@current_frames = {} # Which frame each autotile is currently showing
|
@current_frames = {} # Which frame each autotile is currently showing
|
||||||
@timer = 0.0#System.uptime
|
@timer = 0.0 # System.uptime
|
||||||
end
|
end
|
||||||
|
|
||||||
def []=(filename, value)
|
def []=(filename, value)
|
||||||
@@ -142,12 +218,27 @@ class TilemapRenderer
|
|||||||
set_current_frame(filename)
|
set_current_frame(filename)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EXPANDED_AUTOTILES_FOLDER = "Graphics/Autotiles/ExpandedAutotiles/"
|
||||||
def add(filename)
|
def add(filename)
|
||||||
return if nil_or_empty?(filename)
|
return if nil_or_empty?(filename)
|
||||||
if @bitmaps[filename]
|
if @bitmaps[filename]
|
||||||
@load_counts[filename] += 1
|
@load_counts[filename] += 1
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Try to load expanded autotile from cache first
|
||||||
|
cached_path = File.join("Graphics", "Autotiles/ExpandedAutotiles", "#{filename}.png")
|
||||||
|
if safeExists?(cached_path)
|
||||||
|
#echoln "Loading cached expanded autotile for #{filename}"
|
||||||
|
bitmap = RPG::Cache.load_bitmap(EXPANDED_AUTOTILES_FOLDER, filename)
|
||||||
|
|
||||||
|
duration = AUTOTILE_FRAME_DURATION
|
||||||
|
if filename[/\[\s*(\d+?)\s*\]\s*$/]
|
||||||
|
duration = $~[1].to_i
|
||||||
|
end
|
||||||
|
@frame_durations[filename] = duration.to_f / 20
|
||||||
|
|
||||||
|
else
|
||||||
orig_bitmap = pbGetAutotile(filename)
|
orig_bitmap = pbGetAutotile(filename)
|
||||||
@bitmap_wraps[filename] = false
|
@bitmap_wraps[filename] = false
|
||||||
duration = AUTOTILE_FRAME_DURATION
|
duration = AUTOTILE_FRAME_DURATION
|
||||||
@@ -155,15 +246,24 @@ class TilemapRenderer
|
|||||||
duration = $~[1].to_i
|
duration = $~[1].to_i
|
||||||
end
|
end
|
||||||
@frame_durations[filename] = duration.to_f / 20
|
@frame_durations[filename] = duration.to_f / 20
|
||||||
bitmap = AutotileExpander.expand(orig_bitmap)
|
expanded_bitmap = AutotileExpander.expand(orig_bitmap)
|
||||||
|
|
||||||
|
# Save expanded bitmap to cache for next time
|
||||||
|
Dir.mkdir(EXPANDED_AUTOTILES_FOLDER) unless Dir.exist?(EXPANDED_AUTOTILES_FOLDER)
|
||||||
|
expanded_bitmap.save_to_png(cached_path)
|
||||||
|
|
||||||
|
bitmap = expanded_bitmap
|
||||||
|
orig_bitmap.dispose if orig_bitmap != expanded_bitmap
|
||||||
|
end
|
||||||
|
|
||||||
self[filename] = bitmap
|
self[filename] = bitmap
|
||||||
if bitmap.height > SOURCE_TILE_HEIGHT && bitmap.height < TILES_PER_AUTOTILE * SOURCE_TILE_HEIGHT
|
if bitmap.height > SOURCE_TILE_HEIGHT && bitmap.height < TILES_PER_AUTOTILE * SOURCE_TILE_HEIGHT
|
||||||
@bitmap_wraps[filename] = true
|
@bitmap_wraps[filename] = true
|
||||||
end
|
end
|
||||||
orig_bitmap.dispose if orig_bitmap != bitmap
|
|
||||||
@load_counts[filename] = 1
|
@load_counts[filename] = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def remove(filename)
|
def remove(filename)
|
||||||
super
|
super
|
||||||
return if @load_counts[filename] && @load_counts[filename] > 0
|
return if @load_counts[filename] && @load_counts[filename] > 0
|
||||||
@@ -203,15 +303,24 @@ class TilemapRenderer
|
|||||||
end
|
end
|
||||||
|
|
||||||
def set_src_rect(tile, tile_id)
|
def set_src_rect(tile, tile_id)
|
||||||
return if nil_or_empty?(tile.filename)
|
filename = tile.filename
|
||||||
return if !@bitmaps[tile.filename]
|
|
||||||
frame = current_frame(tile.filename)
|
# Check if this tile_id was overridden to use a specific autotile
|
||||||
if @bitmaps[tile.filename].height == SOURCE_TILE_HEIGHT
|
override_filename = @custom_autotile_ids && @custom_autotile_ids[tile_id]
|
||||||
|
filename = override_filename if override_filename
|
||||||
|
|
||||||
|
return if nil_or_empty?(filename)
|
||||||
|
return unless @bitmaps[filename]
|
||||||
|
|
||||||
|
frame = current_frame(filename)
|
||||||
|
|
||||||
|
if @bitmaps[filename].height == SOURCE_TILE_HEIGHT
|
||||||
tile.src_rect.x = frame * SOURCE_TILE_WIDTH
|
tile.src_rect.x = frame * SOURCE_TILE_WIDTH
|
||||||
tile.src_rect.y = 0
|
tile.src_rect.y = 0
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
wraps = @bitmap_wraps[tile.filename]
|
|
||||||
|
wraps = @bitmap_wraps[filename]
|
||||||
high_id = ((tile_id % TILES_PER_AUTOTILE) >= TILES_PER_AUTOTILE / 2)
|
high_id = ((tile_id % TILES_PER_AUTOTILE) >= TILES_PER_AUTOTILE / 2)
|
||||||
tile.src_rect.x = 0
|
tile.src_rect.x = 0
|
||||||
tile.src_rect.y = (tile_id % TILES_PER_AUTOTILE) * SOURCE_TILE_HEIGHT
|
tile.src_rect.y = (tile_id % TILES_PER_AUTOTILE) * SOURCE_TILE_HEIGHT
|
||||||
@@ -220,6 +329,9 @@ class TilemapRenderer
|
|||||||
tile.src_rect.y -= SOURCE_TILE_HEIGHT * TILES_PER_AUTOTILE / 2
|
tile.src_rect.y -= SOURCE_TILE_HEIGHT * TILES_PER_AUTOTILE / 2
|
||||||
end
|
end
|
||||||
tile.src_rect.x += frame * SOURCE_TILE_WIDTH * (wraps ? 2 : 1)
|
tile.src_rect.x += frame * SOURCE_TILE_WIDTH * (wraps ? 2 : 1)
|
||||||
|
|
||||||
|
# Override the filename in the tile object for consistency
|
||||||
|
tile.filename = filename if override_filename
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@@ -245,6 +357,7 @@ class TilemapRenderer
|
|||||||
attr_accessor :animated
|
attr_accessor :animated
|
||||||
attr_accessor :priority
|
attr_accessor :priority
|
||||||
attr_accessor :shows_reflection
|
attr_accessor :shows_reflection
|
||||||
|
attr_accessor :underwater_tile
|
||||||
attr_accessor :bridge
|
attr_accessor :bridge
|
||||||
attr_accessor :need_refresh
|
attr_accessor :need_refresh
|
||||||
|
|
||||||
@@ -270,6 +383,7 @@ class TilemapRenderer
|
|||||||
def initialize(viewport)
|
def initialize(viewport)
|
||||||
@tilesets = TilesetBitmaps.new
|
@tilesets = TilesetBitmaps.new
|
||||||
@autotiles = AutotileBitmaps.new
|
@autotiles = AutotileBitmaps.new
|
||||||
|
@custom_autotile_ids = {} # key: tile_id, value: filename
|
||||||
@tiles_horizontal_count = (Graphics.width.to_f / DISPLAY_TILE_WIDTH).ceil + 1
|
@tiles_horizontal_count = (Graphics.width.to_f / DISPLAY_TILE_WIDTH).ceil + 1
|
||||||
@tiles_vertical_count = (Graphics.height.to_f / DISPLAY_TILE_HEIGHT).ceil + 1
|
@tiles_vertical_count = (Graphics.height.to_f / DISPLAY_TILE_HEIGHT).ceil + 1
|
||||||
@tone = Tone.new(0, 0, 0, 0)
|
@tone = Tone.new(0, 0, 0, 0)
|
||||||
@@ -342,10 +456,22 @@ class TilemapRenderer
|
|||||||
@autotiles.remove(filename)
|
@autotiles.remove(filename)
|
||||||
end
|
end
|
||||||
|
|
||||||
def add_extra_autotiles(tileset_id)
|
def get_autotile_overrides(tileset_id,map_id)
|
||||||
return if !EXTRA_AUTOTILES[tileset_id]
|
base_overrides = EXTRA_AUTOTILES[tileset_id] || {}
|
||||||
EXTRA_AUTOTILES[tileset_id].each do |arr|
|
return base_overrides unless $game_weather
|
||||||
arr.each { |filename| add_autotile(filename) }
|
wind_overrides =WIND_TREE_AUTOTILES[tileset_id] || {}
|
||||||
|
if $game_weather.map_current_weather_type(map_id) == :Wind && WIND_TREE_AUTOTILES[tileset_id]
|
||||||
|
return base_overrides.merge(wind_overrides)
|
||||||
|
end
|
||||||
|
return base_overrides
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_extra_autotiles(tileset_id,map_id)
|
||||||
|
overrides = get_autotile_overrides(tileset_id,map_id)
|
||||||
|
return if !overrides || overrides.empty?
|
||||||
|
overrides.each do |tile_id, filename|
|
||||||
|
@autotiles.add(filename)
|
||||||
|
@custom_autotile_ids[tile_id] = filename
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -374,21 +500,31 @@ class TilemapRenderer
|
|||||||
priority = map.priorities[tile_id] || 0
|
priority = map.priorities[tile_id] || 0
|
||||||
single_autotile_start_id = TILESET_START_ID
|
single_autotile_start_id = TILESET_START_ID
|
||||||
true_tileset_start_id = TILESET_START_ID
|
true_tileset_start_id = TILESET_START_ID
|
||||||
extra_autotile_arrays = EXTRA_AUTOTILES[map.tileset_id]
|
# extra_autotile_arrays = EXTRA_AUTOTILES[map.tileset_id]
|
||||||
if extra_autotile_arrays
|
# if extra_autotile_arrays
|
||||||
large_autotile_count = extra_autotile_arrays[0].length
|
# large_autotile_count = extra_autotile_arrays[0].length
|
||||||
single_autotile_count = extra_autotile_arrays[1].length
|
# single_autotile_count = extra_autotile_arrays[1].length
|
||||||
single_autotile_start_id += large_autotile_count * TILES_PER_AUTOTILE
|
# single_autotile_start_id += large_autotile_count * TILES_PER_AUTOTILE
|
||||||
true_tileset_start_id += large_autotile_count * TILES_PER_AUTOTILE
|
# true_tileset_start_id += large_autotile_count * TILES_PER_AUTOTILE
|
||||||
true_tileset_start_id += single_autotile_count
|
# true_tileset_start_id += single_autotile_count
|
||||||
end
|
# end
|
||||||
if tile_id < true_tileset_start_id
|
|
||||||
filename = ""
|
filename = nil
|
||||||
|
extra_autotile_hash = get_autotile_overrides(map.tileset_id,map.map_id)
|
||||||
|
|
||||||
|
if extra_autotile_hash && extra_autotile_hash[tile_id]
|
||||||
|
# Custom tile_id override
|
||||||
|
filename = extra_autotile_hash[tile_id]
|
||||||
|
tile.set_bitmap(filename, tile_id, true, @autotiles.animated?(filename),
|
||||||
|
priority, @autotiles[filename])
|
||||||
|
elsif tile_id < true_tileset_start_id
|
||||||
|
# Default behavior
|
||||||
if tile_id < TILESET_START_ID # Real autotiles
|
if tile_id < TILESET_START_ID # Real autotiles
|
||||||
filename = map.autotile_names[(tile_id / TILES_PER_AUTOTILE) - 1]
|
filename = map.autotile_names[(tile_id / TILES_PER_AUTOTILE) - 1]
|
||||||
elsif tile_id < single_autotile_start_id # Large extra autotiles
|
elsif tile_id < single_autotile_start_id # Large extra autotiles
|
||||||
filename = extra_autotile_arrays[0][(tile_id - TILESET_START_ID) / TILES_PER_AUTOTILE]
|
filename = extra_autotile_arrays[0][(tile_id - TILESET_START_ID) / TILES_PER_AUTOTILE]
|
||||||
else # Single extra autotiles
|
else
|
||||||
|
# Single extra autotiles
|
||||||
filename = extra_autotile_arrays[1][tile_id - single_autotile_start_id]
|
filename = extra_autotile_arrays[1][tile_id - single_autotile_start_id]
|
||||||
end
|
end
|
||||||
tile.set_bitmap(filename, tile_id, true, @autotiles.animated?(filename),
|
tile.set_bitmap(filename, tile_id, true, @autotiles.animated?(filename),
|
||||||
@@ -397,7 +533,9 @@ class TilemapRenderer
|
|||||||
filename = map.tileset_name
|
filename = map.tileset_name
|
||||||
tile.set_bitmap(filename, tile_id, false, false, priority, @tilesets[filename])
|
tile.set_bitmap(filename, tile_id, false, false, priority, @tilesets[filename])
|
||||||
end
|
end
|
||||||
|
|
||||||
tile.shows_reflection = terrain_tag_data&.shows_reflections
|
tile.shows_reflection = terrain_tag_data&.shows_reflections
|
||||||
|
tile.underwater_tile = terrain_tag_data&.underwater
|
||||||
tile.bridge = terrain_tag_data&.bridge
|
tile.bridge = terrain_tag_data&.bridge
|
||||||
end
|
end
|
||||||
refresh_tile_src_rect(tile, tile_id)
|
refresh_tile_src_rect(tile, tile_id)
|
||||||
@@ -424,8 +562,8 @@ class TilemapRenderer
|
|||||||
end
|
end
|
||||||
|
|
||||||
def refresh_tile_z(tile, map, y, layer, tile_id)
|
def refresh_tile_z(tile, map, y, layer, tile_id)
|
||||||
if tile.shows_reflection
|
if tile.underwater_tile#tile.shows_reflection -2000
|
||||||
tile.z = -100
|
tile.z = -5
|
||||||
elsif tile.bridge && $PokemonGlobal.bridge > 0
|
elsif tile.bridge && $PokemonGlobal.bridge > 0
|
||||||
tile.z = 0
|
tile.z = 0
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ def createMinimap(mapid)
|
|||||||
map = load_data(sprintf("Data/Map%03d.rxdata", mapid)) rescue nil
|
map = load_data(sprintf("Data/Map%03d.rxdata", mapid)) rescue nil
|
||||||
return Bitmap.new(32, 32) if !map
|
return Bitmap.new(32, 32) if !map
|
||||||
bitmap = Bitmap.new(map.width * 4, map.height * 4)
|
bitmap = Bitmap.new(map.width * 4, map.height * 4)
|
||||||
black = Color.black
|
black=Color.new(0,0,0)
|
||||||
tilesets = $data_tilesets
|
tilesets = $data_tilesets
|
||||||
tileset = tilesets[map.tileset_id]
|
tileset = tilesets[map.tileset_id]
|
||||||
return bitmap if !tileset
|
return bitmap if !tileset
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ end
|
|||||||
# volume -- Volume of the file, up to 100
|
# volume -- Volume of the file, up to 100
|
||||||
# pitch -- Pitch of the file, normally 100
|
# pitch -- Pitch of the file, normally 100
|
||||||
def pbMEPlay(param,volume=nil,pitch=nil)
|
def pbMEPlay(param,volume=nil,pitch=nil)
|
||||||
|
echoln param
|
||||||
return if !param
|
return if !param
|
||||||
param=pbResolveAudioFile(param,volume,pitch)
|
param=pbResolveAudioFile(param,volume,pitch)
|
||||||
if param.name && param.name!=""
|
if param.name && param.name!=""
|
||||||
|
|||||||
@@ -33,11 +33,17 @@ module GameData
|
|||||||
return other if other.is_a?(self)
|
return other if other.is_a?(self)
|
||||||
other = other.to_sym if other.is_a?(String)
|
other = other.to_sym if other.is_a?(String)
|
||||||
|
|
||||||
|
#B1H1 - old format (still supported)
|
||||||
if other.to_s.match?(/\AB\d+H\d+\z/)
|
if other.to_s.match?(/\AB\d+H\d+\z/)
|
||||||
species = GameData::FusedSpecies.new(other)
|
species = GameData::FusedSpecies.new(other)
|
||||||
return species
|
return species
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if other.to_s.include?("/")
|
||||||
|
species = GameData::FusedSpecies.new(other)
|
||||||
|
return species
|
||||||
|
end
|
||||||
|
|
||||||
if other.is_a?(Integer) && self == GameData::Species
|
if other.is_a?(Integer) && self == GameData::Species
|
||||||
if other > NB_POKEMON
|
if other > NB_POKEMON
|
||||||
body_id = getBodyID(other)
|
body_id = getBodyID(other)
|
||||||
@@ -67,10 +73,16 @@ module GameData
|
|||||||
return other if other.is_a?(self)
|
return other if other.is_a?(self)
|
||||||
other = other.to_sym if other.is_a?(String)
|
other = other.to_sym if other.is_a?(String)
|
||||||
|
|
||||||
if other.to_s.match?(/\AB\d+H\d+\z/)
|
if other.to_s.match?(/\AB\d+H\d+\z/) #old format (still supported)
|
||||||
species = GameData::FusedSpecies.new(other)
|
species = GameData::FusedSpecies.new(other)
|
||||||
return species
|
return species
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if other.to_s.include?("_x_") #new format
|
||||||
|
species = GameData::FusedSpecies.new(other)
|
||||||
|
return species
|
||||||
|
end
|
||||||
|
|
||||||
if other.is_a?(Integer) && self == GameData::Species
|
if other.is_a?(Integer) && self == GameData::Species
|
||||||
if other > NB_POKEMON
|
if other > NB_POKEMON
|
||||||
body_id = getBodyID(other)
|
body_id = getBodyID(other)
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ module GameData
|
|||||||
attr_reader :flower
|
attr_reader :flower
|
||||||
attr_reader :trashcan
|
attr_reader :trashcan
|
||||||
attr_reader :sharpedoObstacle
|
attr_reader :sharpedoObstacle
|
||||||
|
attr_reader :underwater #only visible when diving
|
||||||
|
|
||||||
DATA = {}
|
DATA = {}
|
||||||
|
|
||||||
@@ -67,9 +68,10 @@ module GameData
|
|||||||
@ice = hash[:ice] || false
|
@ice = hash[:ice] || false
|
||||||
@waterCurrent = hash[:waterCurrent] || false
|
@waterCurrent = hash[:waterCurrent] || false
|
||||||
@bridge = hash[:bridge] || false
|
@bridge = hash[:bridge] || false
|
||||||
@shows_reflections = false #= hash[:shows_reflections] || false
|
@shows_reflections = hash[:shows_reflections] || false
|
||||||
@must_walk = hash[:must_walk] || false
|
@must_walk = hash[:must_walk] || false
|
||||||
@ignore_passability = hash[:ignore_passability] || false
|
@ignore_passability = hash[:ignore_passability] || false
|
||||||
|
@ignore_passability = hash[:ignore_passability] || false
|
||||||
|
|
||||||
@flowerRed = hash[:flowerRed] || false
|
@flowerRed = hash[:flowerRed] || false
|
||||||
@flowerYellow = hash[:flowerYellow] || false
|
@flowerYellow = hash[:flowerYellow] || false
|
||||||
@@ -78,6 +80,7 @@ module GameData
|
|||||||
@flower = hash[:flower] || false
|
@flower = hash[:flower] || false
|
||||||
@trashcan = hash[:trashcan] || false
|
@trashcan = hash[:trashcan] || false
|
||||||
@sharpedoObstacle = hash[:sharpedoObstacle] || false
|
@sharpedoObstacle = hash[:sharpedoObstacle] || false
|
||||||
|
@underwater = hash[:underwater] || false
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -138,14 +141,7 @@ GameData::TerrainTag.register({
|
|||||||
:battle_environment => :MovingWater
|
:battle_environment => :MovingWater
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::TerrainTag.register({
|
|
||||||
:id => :StillWater,
|
|
||||||
:id_number => 17,
|
|
||||||
:can_surf => true,
|
|
||||||
:can_fish => true,
|
|
||||||
:battle_environment => :StillWater
|
|
||||||
#:shows_reflections => true
|
|
||||||
})
|
|
||||||
|
|
||||||
GameData::TerrainTag.register({
|
GameData::TerrainTag.register({
|
||||||
:id => :Water,
|
:id => :Water,
|
||||||
@@ -183,6 +179,7 @@ GameData::TerrainTag.register({
|
|||||||
GameData::TerrainTag.register({
|
GameData::TerrainTag.register({
|
||||||
:id => :UnderwaterGrass,
|
:id => :UnderwaterGrass,
|
||||||
:id_number => 11,
|
:id_number => 11,
|
||||||
|
:underwater => true,
|
||||||
:land_wild_encounters => true
|
:land_wild_encounters => true
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -220,7 +217,7 @@ GameData::TerrainTag.register({
|
|||||||
:id => :Puddle,
|
:id => :Puddle,
|
||||||
:id_number => 16,
|
:id_number => 16,
|
||||||
:battle_environment => :Puddle,
|
:battle_environment => :Puddle,
|
||||||
:shows_reflections => true
|
:shows_reflections => false
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::TerrainTag.register({
|
GameData::TerrainTag.register({
|
||||||
@@ -287,3 +284,19 @@ GameData::TerrainTag.register({
|
|||||||
:land_wild_encounters => true,
|
:land_wild_encounters => true,
|
||||||
:battle_environment => :Grass
|
:battle_environment => :Grass
|
||||||
})
|
})
|
||||||
|
|
||||||
|
GameData::TerrainTag.register({
|
||||||
|
:id => :StillWater,
|
||||||
|
:id_number => 27,
|
||||||
|
:can_surf => true,
|
||||||
|
:can_fish => true,
|
||||||
|
:battle_environment => :StillWater,
|
||||||
|
:shows_reflections => true
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::TerrainTag.register({
|
||||||
|
:id => :Underwater,
|
||||||
|
:id_number => 28,
|
||||||
|
:battle_environment => :underwater,
|
||||||
|
:underwater => true,
|
||||||
|
})
|
||||||
@@ -22,6 +22,7 @@ module GameData
|
|||||||
attr_reader :tile_delta_x
|
attr_reader :tile_delta_x
|
||||||
attr_reader :tile_delta_y
|
attr_reader :tile_delta_y
|
||||||
attr_reader :tone_proc
|
attr_reader :tone_proc
|
||||||
|
attr_reader :fog_name
|
||||||
|
|
||||||
DATA = {}
|
DATA = {}
|
||||||
|
|
||||||
@@ -43,6 +44,8 @@ module GameData
|
|||||||
@tile_delta_y = hash[:tile_delta_y] || 0
|
@tile_delta_y = hash[:tile_delta_y] || 0
|
||||||
@graphics = hash[:graphics] || []
|
@graphics = hash[:graphics] || []
|
||||||
@tone_proc = hash[:tone_proc]
|
@tone_proc = hash[:tone_proc]
|
||||||
|
@fog_name = hash[:fog_name]
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def has_particles?
|
def has_particles?
|
||||||
@@ -150,7 +153,7 @@ GameData::Weather.register({
|
|||||||
:id_number => 7,
|
:id_number => 7,
|
||||||
:category => :Sun,
|
:category => :Sun,
|
||||||
:tone_proc => proc { |strength|
|
:tone_proc => proc { |strength|
|
||||||
next Tone.new(64, 64, 32, 0)
|
next Tone.new(32, 32, 16, 0)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -158,16 +161,34 @@ GameData::Weather.register({
|
|||||||
:id => :Fog,
|
:id => :Fog,
|
||||||
:category => :Fog,
|
:category => :Fog,
|
||||||
:id_number => 8,
|
:id_number => 8,
|
||||||
:tile_delta_x => -32,
|
:tile_delta_x => -2,
|
||||||
:tile_delta_y => 0,
|
:tile_delta_y => 0,
|
||||||
:graphics => [nil, ["fog_tile"]]
|
:fog_name => "fog_tile"
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::Weather.register({
|
||||||
|
:id => :Wind,
|
||||||
|
:category => :StrongWinds,
|
||||||
|
:id_number => 9,
|
||||||
|
:particle_delta_x => -1000,
|
||||||
|
:particle_delta_y => 0,
|
||||||
|
:graphics => [["wind1","wind2","wind3","windleaf1","windleaf2"], nil]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::Weather.register({
|
GameData::Weather.register({
|
||||||
:id => :StrongWinds,
|
:id => :StrongWinds,
|
||||||
:category => :StrongWinds,
|
:category => :StrongWinds,
|
||||||
:id_number => 9,
|
:id_number => 10,
|
||||||
:tile_delta_x => -1200,
|
:particle_delta_x => -1000,
|
||||||
:tile_delta_y => 0,
|
:particle_delta_y => 0,
|
||||||
:graphics => [nil, ["strong_winds"]]
|
:graphics => [["wind1","wind2","wind3","windleaf1","windleaf2"], nil]
|
||||||
|
})
|
||||||
|
|
||||||
|
GameData::Weather.register({
|
||||||
|
:id => :HarshSun,
|
||||||
|
:id_number => 11,
|
||||||
|
:category => :Sun,
|
||||||
|
:tone_proc => proc { |strength|
|
||||||
|
next Tone.new(64, 64, 32, 0)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
@@ -30,63 +30,63 @@ end
|
|||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :Land,
|
:id => :Land,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :Land1,
|
:id => :Land1,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :Land2,
|
:id => :Land2,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :Land3,
|
:id => :Land3,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :LandDay,
|
:id => :LandDay,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :LandNight,
|
:id => :LandNight,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :LandMorning,
|
:id => :LandMorning,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :LandAfternoon,
|
:id => :LandAfternoon,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
GameData::EncounterType.register({
|
GameData::EncounterType.register({
|
||||||
:id => :LandEvening,
|
:id => :LandEvening,
|
||||||
:type => :land,
|
:type => :land,
|
||||||
:trigger_chance => 21,
|
:trigger_chance => 10,
|
||||||
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
:old_slots => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user