mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 21:24:59 +00:00
6.4 update (minus sprites)
This commit is contained in:
@@ -120,7 +120,8 @@ class PokemonEggHatch_Scene
|
||||
pbMessage(_INTL("{1}'s data was added to the Pokédex", @pokemon.name))
|
||||
pbShowPokedex(@pokemon.species)
|
||||
end
|
||||
|
||||
nb_eggs_hatched = pbGet(VAR_NB_EGGS_HATCHED)
|
||||
pbSet(VAR_NB_EGGS_HATCHED,nb_eggs_hatched+1)
|
||||
end
|
||||
|
||||
def pbEndScene
|
||||
@@ -233,6 +234,7 @@ Events.onStepTaken += proc { |_sender,_e|
|
||||
for egg in $Trainer.party
|
||||
next if egg.steps_to_hatch <= 0
|
||||
egg.steps_to_hatch -= 1
|
||||
egg.steps_to_hatch -= 1 if isWearingClothes(CLOTHES_BREEDER)
|
||||
for i in $Trainer.pokemon_party
|
||||
next if !i.hasAbility?(:FLAMEBODY) && !i.hasAbility?(:MAGMAARMOR)
|
||||
egg.steps_to_hatch -= 1
|
||||
|
||||
@@ -589,7 +589,8 @@ class PokemonEvolutionScene
|
||||
# Success jingle/message
|
||||
pbMEPlay("Evolution success")
|
||||
sprite_bitmap=@sprites["rsprite2"].getBitmap
|
||||
drawSpriteCredits(sprite_bitmap.filename,sprite_bitmap.path, @viewport)
|
||||
|
||||
#drawSpriteCredits(sprite_bitmap.filename,sprite_bitmap.path, @viewport)
|
||||
|
||||
newspeciesname = GameData::Species.get(@newspecies).name
|
||||
if !reversing
|
||||
@@ -608,13 +609,10 @@ class PokemonEvolutionScene
|
||||
pbEvolutionMethodAfterEvolution if !reversing
|
||||
|
||||
|
||||
@pokemon
|
||||
@pokemon.ability
|
||||
|
||||
oldAbility = @pokemon.ability.id
|
||||
#oldAbility = @pokemon.ability.id if @pokemon.ability
|
||||
newSpecies = GameData::Species.get(@newspecies)
|
||||
|
||||
allNewPossibleAbilities = newSpecies.abilities + newSpecies.hidden_abilities
|
||||
#allNewPossibleAbilities = newSpecies.abilities + newSpecies.hidden_abilities
|
||||
|
||||
# Modify Pokémon to make it evolved
|
||||
@pokemon.species = @newspecies
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
class HallOfFame_Scene
|
||||
# When true, all pokémon will be in one line
|
||||
# When false, all pokémon will be in two lines
|
||||
SINGLEROW = false
|
||||
@singlerow = true
|
||||
# Make the pokémon movement ON in hall entry
|
||||
ANIMATION = true
|
||||
# Speed in pokémon movement in hall entry. Don't use less than 2!
|
||||
@@ -34,7 +34,7 @@ class HallOfFame_Scene
|
||||
# Allow eggs to be show and saved in hall
|
||||
ALLOWEGGS = true
|
||||
# Remove the hallbars when the trainer sprite appears
|
||||
REMOVEBARS = true
|
||||
REMOVEBARS = false
|
||||
# The final fade speed on entry
|
||||
FINALFADESPEED = 16
|
||||
# Sprites opacity value when them aren't selected
|
||||
@@ -48,7 +48,8 @@ class HallOfFame_Scene
|
||||
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
|
||||
@viewport.z = 99999
|
||||
# Comment the below line to doesn't use a background
|
||||
addBackgroundPlane(@sprites, "bg", "hallfamebg", @viewport)
|
||||
bgFile = @singlerow ? "hallfamebg" : "hallfamebg_multiline"
|
||||
addBackgroundPlane(@sprites, "bg", bgFile, @viewport)
|
||||
@sprites["hallbars"] = IconSprite.new(@viewport)
|
||||
@sprites["hallbars"].setBitmap("Graphics/Pictures/hallfamebars")
|
||||
@sprites["overlay"] = BitmapSprite.new(Graphics.width, Graphics.height, @viewport)
|
||||
@@ -61,6 +62,7 @@ class HallOfFame_Scene
|
||||
end
|
||||
|
||||
def pbStartSceneEntry
|
||||
@singlerow = true
|
||||
pbStartScene
|
||||
@useMusic = (ENTRYMUSIC && ENTRYMUSIC != "")
|
||||
pbBGMPlay(ENTRYMUSIC) if @useMusic
|
||||
@@ -72,9 +74,12 @@ class HallOfFame_Scene
|
||||
end
|
||||
|
||||
def pbStartScenePC
|
||||
@singlerow = false
|
||||
pbStartScene
|
||||
@hallIndex = $PokemonGlobal.hallOfFame.size - 1
|
||||
@hallEntry = $PokemonGlobal.hallOfFame[-1]
|
||||
|
||||
echoln $PokemonGlobal.hallOfFame[-1]
|
||||
@hallEntry = $PokemonGlobal.hallOfFame[-1][:TEAM]
|
||||
createBattlers(false)
|
||||
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||
pbUpdatePC
|
||||
@@ -126,32 +131,61 @@ class HallOfFame_Scene
|
||||
# Clones every pokémon object
|
||||
@hallEntry.push($Trainer.party[i].clone) if !$Trainer.party[i].egg? || ALLOWEGGS
|
||||
end
|
||||
entryData = {}
|
||||
entryData[:TEAM] = @hallEntry
|
||||
entryData[:DIFFICULTY] = getDifficulty
|
||||
entryData[:MODE] = getCurrentGameMode()
|
||||
entryData[:DATE] = getCurrentDate()
|
||||
|
||||
#Save trainer data (unused for now)
|
||||
entryData[:TRAINER_HAT] = $Trainer.hat
|
||||
entryData[:TRAINER_HAT_COLOR] = $Trainer.hat_color
|
||||
entryData[:TRAINER_HAIR] = $Trainer.hair
|
||||
entryData[:TRAINER_HAIR_COLOR] = $Trainer.hair_color
|
||||
entryData[:TRAINER_CLOTHES] = $Trainer.clothes
|
||||
entryData[:TRAINER_CLOTHES_COLOR] = $Trainer.clothes_color
|
||||
entryData[:TRAINER_SKIN] = $Trainer.skin_tone
|
||||
|
||||
# Update the global variables
|
||||
$PokemonGlobal.hallOfFame.push(@hallEntry)
|
||||
$PokemonGlobal.hallOfFame.push(entryData)
|
||||
$PokemonGlobal.hallOfFameLastNumber += 1
|
||||
$PokemonGlobal.hallOfFame.delete_at(0) if HALLLIMIT > -1 &&
|
||||
$PokemonGlobal.hallOfFame.size > HALLLIMIT
|
||||
$PokemonGlobal.hallOfFame.size > HALLLIMIT
|
||||
end
|
||||
|
||||
# Return the x/y point position in screen for battler index number
|
||||
# Don't use odd numbers!
|
||||
def xpointformula(battlernumber)
|
||||
ret = 0
|
||||
if !SINGLEROW
|
||||
if !@singlerow
|
||||
ret = 92 + 160 * xpositionformula(battlernumber) #32
|
||||
else
|
||||
ret = (60 * (battlernumber / 2) + 48) * (xpositionformula(battlernumber) - 1)
|
||||
ret += Graphics.width / 2 - 56
|
||||
start_position = -16 #-56
|
||||
spacing = 70 # spacing between mons
|
||||
ret = (spacing * (battlernumber / 2) + 48) * (xpositionformula(battlernumber) - 1)
|
||||
|
||||
gap_size = 40 #gap for the trainer sprite in the middle
|
||||
if battlernumber % 2 == 0 #left side
|
||||
ret -= gap_size / 2
|
||||
else
|
||||
ret += gap_size / 2
|
||||
end
|
||||
ret += Graphics.width / 2 + start_position
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
def ypointformula(battlernumber)
|
||||
ret = 0
|
||||
if !SINGLEROW
|
||||
if !@singlerow
|
||||
ret = 92 + 128 * ypositionformula(battlernumber) / 2
|
||||
else
|
||||
ret = 96 - 8 * (battlernumber / 2)
|
||||
y_position_base = 125
|
||||
height_increase = 20
|
||||
# Calculate the decrement based on the battlernumber:
|
||||
# Each pair (1-2, 3-4, etc.) will decrease y by 20
|
||||
y_decrement = 40 - height_increase * (battlernumber / 2)
|
||||
ret = y_position_base + y_decrement
|
||||
end
|
||||
return ret
|
||||
end
|
||||
@@ -159,7 +193,7 @@ class HallOfFame_Scene
|
||||
# Returns 0, 1 or 2 as the x/y column value
|
||||
def xpositionformula(battlernumber)
|
||||
ret = 0
|
||||
if !SINGLEROW
|
||||
if !@singlerow
|
||||
ret = (battlernumber / 3 % 2 == 0) ? (19 - battlernumber) % 3 : (19 + battlernumber) % 3
|
||||
else
|
||||
ret = battlernumber % 2 * 2
|
||||
@@ -169,7 +203,7 @@ class HallOfFame_Scene
|
||||
|
||||
def ypositionformula(battlernumber)
|
||||
ret = 0
|
||||
if !SINGLEROW
|
||||
if !@singlerow
|
||||
ret = (battlernumber / 3) % 2 * 2
|
||||
else
|
||||
ret = 1
|
||||
@@ -221,7 +255,7 @@ class HallOfFame_Scene
|
||||
@sprites["pokemon#{i}"].x += (128 - @sprites["pokemon#{i}"].bitmap.width) / 2
|
||||
@sprites["pokemon#{i}"].y += (128 - @sprites["pokemon#{i}"].bitmap.height) / 2
|
||||
end
|
||||
@sprites["pokemon#{i}"].z = 7 - i if SINGLEROW
|
||||
@sprites["pokemon#{i}"].z = 7 - i if @singlerow
|
||||
next if !hide
|
||||
# Animation distance calculation
|
||||
horizontal = 1 - xpositionformula(i)
|
||||
@@ -246,13 +280,14 @@ class HallOfFame_Scene
|
||||
def createTrainerBattler
|
||||
@sprites["trainer"] = IconSprite.new(@viewport)
|
||||
@sprites["trainer"].setBitmapDirectly(generate_front_trainer_sprite_bitmap())
|
||||
if !SINGLEROW
|
||||
if !@singlerow
|
||||
@sprites["trainer"].x = Graphics.width - 96
|
||||
@sprites["trainer"].y = 160
|
||||
else
|
||||
@sprites["trainer"].x = Graphics.width / 2
|
||||
@sprites["trainer"].x = Graphics.width / 2 # - 96
|
||||
@sprites["trainer"].y = 178
|
||||
end
|
||||
@sprites["trainer"].opacity = 255
|
||||
@sprites["trainer"].z = 9
|
||||
@sprites["trainer"].ox = @sprites["trainer"].bitmap.width / 2
|
||||
@sprites["trainer"].oy = @sprites["trainer"].bitmap.height / 2
|
||||
@@ -262,18 +297,18 @@ class HallOfFame_Scene
|
||||
end
|
||||
@xmovement[@battlerIndex] = 0
|
||||
@ymovement[@battlerIndex] = 0
|
||||
if (ANIMATION && !SINGLEROW) # Trainer Animation
|
||||
startpoint = Graphics.width / 2
|
||||
# 2 is the trainer speed
|
||||
@xmovement[@battlerIndex] = (startpoint - @sprites["trainer"].x) / 2
|
||||
@sprites["trainer"].x = startpoint
|
||||
else
|
||||
ENTRYWAITTIME.times do
|
||||
Graphics.update
|
||||
Input.update
|
||||
pbUpdate
|
||||
end
|
||||
end
|
||||
#if (ANIMATION)#) && !@singlerow) # Trainer Animation
|
||||
startpoint = (Graphics.width / 2) - 200
|
||||
# 2 is the trainer speed
|
||||
@xmovement[@battlerIndex] = (startpoint - @sprites["trainer"].x) / 2
|
||||
@sprites["trainer"].x = startpoint
|
||||
# else
|
||||
# ENTRYWAITTIME.times do
|
||||
# Graphics.update
|
||||
# Input.update
|
||||
# pbUpdate
|
||||
# end
|
||||
# end
|
||||
end
|
||||
|
||||
#Get difficulty for displaying in-game
|
||||
@@ -339,17 +374,35 @@ class HallOfFame_Scene
|
||||
pbDrawTextPositions(overlay, [[_INTL("Welcome to the Hall of Fame!"),
|
||||
Graphics.width / 2, Graphics.height - 80, 2, BASECOLOR, SHADOWCOLOR]])
|
||||
|
||||
writeCurrentDate(overlay, 120, Graphics.height - 50)
|
||||
writeDate(overlay, 120, Graphics.height - 50)
|
||||
writeGameMode(overlay, (Graphics.width / 2) + 100, Graphics.height - 50)
|
||||
end
|
||||
|
||||
def writeCurrentDate(overlay, x, y)
|
||||
currentTime = Time.new
|
||||
timeString = currentTime.year.to_s + "-" + ("%02d" % currentTime.month) + "-" + ("%02d" % currentTime.day)
|
||||
def writeWelcomePC
|
||||
overlay = @sprites["overlay"].bitmap
|
||||
overlay.clear
|
||||
pbDrawTextPositions(overlay, [[_INTL("Entered the Hall of Fame!"),
|
||||
Graphics.width / 2, Graphics.height - 80, 2, BASECOLOR, SHADOWCOLOR]])
|
||||
|
||||
date = $PokemonGlobal.hallOfFame[@hallIndex][:DATE]
|
||||
mode = $PokemonGlobal.hallOfFame[@hallIndex][:MODE]
|
||||
difficulty = $PokemonGlobal.hallOfFame[@hallIndex][:DIFFICULTY]
|
||||
|
||||
writeDate(overlay, 120, Graphics.height - 50,date) if date
|
||||
writeGameMode(overlay, (Graphics.width / 2) + 100, Graphics.height - 50, mode, difficulty) if mode && difficulty
|
||||
end
|
||||
|
||||
def writeDate(overlay, x, y, timeString = nil)
|
||||
timeString = getCurrentDate() if !timeString
|
||||
pbDrawTextPositions(overlay, [[_INTL("{1}", timeString), x, y, 2, BASECOLOR, SHADOWCOLOR]])
|
||||
end
|
||||
|
||||
def writeGameMode(overlay, x, y)
|
||||
def getCurrentDate()
|
||||
currentTime = Time.new
|
||||
return currentTime.year.to_s + "-" + ("%02d" % currentTime.month) + "-" + ("%02d" % currentTime.day)
|
||||
end
|
||||
|
||||
def getCurrentGameMode()
|
||||
gameMode = "Classic mode"
|
||||
if $game_switches[SWITCH_MODERN_MODE]
|
||||
gameMode = "Remix mode"
|
||||
@@ -372,8 +425,13 @@ class HallOfFame_Scene
|
||||
if $game_switches[ENABLED_DEBUG_MODE_AT_LEAST_ONCE] || $DEBUG
|
||||
gameMode = "Debug mode"
|
||||
end
|
||||
return gameMode
|
||||
end
|
||||
|
||||
pbDrawTextPositions(overlay, [[_INTL("{1} ({2})", gameMode, getDifficulty), x, y, 2, BASECOLOR, SHADOWCOLOR]])
|
||||
def writeGameMode(overlay, x, y, gameMode = nil, difficulty = nil)
|
||||
gameMode = getCurrentGameMode() if !gameMode
|
||||
difficulty = getDifficulty() if !difficulty
|
||||
pbDrawTextPositions(overlay, [[_INTL("{1} ({2})", gameMode, difficulty), x, y, 2, BASECOLOR, SHADOWCOLOR]])
|
||||
end
|
||||
|
||||
def pbAnimationLoop
|
||||
@@ -437,18 +495,20 @@ class HallOfFame_Scene
|
||||
# Show the welcome message and preparates the trainer
|
||||
setPokemonSpritesOpacity(-1)
|
||||
writeWelcome
|
||||
createTrainerBattler
|
||||
(ENTRYWAITTIME * 2 * Graphics.frame_rate / 20).times do
|
||||
moveSprite(-1)
|
||||
Graphics.update
|
||||
Input.update
|
||||
pbUpdate
|
||||
end
|
||||
|
||||
while !(waitForInput)
|
||||
Graphics.update
|
||||
Input.update
|
||||
pbUpdate
|
||||
end
|
||||
setPokemonSpritesOpacity(-1, OPACITY) if !SINGLEROW
|
||||
createTrainerBattler
|
||||
setPokemonSpritesOpacity(-1, OPACITY) # if !@singlerow
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -477,16 +537,23 @@ class HallOfFame_Scene
|
||||
|
||||
def pbUpdatePC
|
||||
# Change the team
|
||||
if @battlerIndex >= @hallEntry.size
|
||||
if @battlerIndex >= @hallEntry.size + 1
|
||||
@hallIndex -= 1
|
||||
return false if @hallIndex == -1
|
||||
@hallEntry = $PokemonGlobal.hallOfFame[@hallIndex]
|
||||
@hallEntry = $PokemonGlobal.hallOfFame[@hallIndex][:TEAM]
|
||||
@battlerIndex = 0
|
||||
createBattlers(false)
|
||||
elsif @battlerIndex == @hallEntry.size
|
||||
for n in 0...@hallEntry.size
|
||||
@sprites["pokemon#{n}"].opacity = 255
|
||||
end
|
||||
echoln @hallEntry
|
||||
writeWelcomePC
|
||||
return true
|
||||
elsif @battlerIndex < 0
|
||||
@hallIndex += 1
|
||||
return false if @hallIndex >= $PokemonGlobal.hallOfFame.size
|
||||
@hallEntry = $PokemonGlobal.hallOfFame[@hallIndex]
|
||||
@hallEntry = $PokemonGlobal.hallOfFame[@hallIndex][:TEAM]
|
||||
@battlerIndex = @hallEntry.size - 1
|
||||
createBattlers(false)
|
||||
end
|
||||
@@ -552,9 +619,37 @@ class PokemonGlobalMetadata
|
||||
# Number necessary if hallOfFame array reach in its size limit
|
||||
attr_writer :hallOfFameLastNumber
|
||||
|
||||
#
|
||||
# [{:TEAM:[], :DATE:string, :MODE:string, :DIFFICULTY:string}]
|
||||
#
|
||||
def hallOfFame
|
||||
@hallOfFame = [] if !@hallOfFame
|
||||
if @hallOfFame.size > 0 && @hallOfFame[0].is_a?(Array)
|
||||
echoln "converting hall of fame"
|
||||
convertedHallOfFame = []
|
||||
@hallOfFame.each do |team|
|
||||
hallOfFame = {}
|
||||
hallOfFame[:TEAM] = team
|
||||
hallOfFame[:DATE] = nil
|
||||
hallOfFame[:MODE] = nil
|
||||
hallOfFame[:DIFFICULTY] = nil
|
||||
|
||||
hallOfFame[:TRAINER_HAT] = nil
|
||||
hallOfFame[:TRAINER_HAT_COLOR] = nil
|
||||
hallOfFame[:TRAINER_HAIR] = nil
|
||||
hallOfFame[:TRAINER_HAIR_COLOR] = nil
|
||||
hallOfFame[:TRAINER_CLOTHES] = nil
|
||||
hallOfFame[:TRAINER_CLOTHES_COLOR] = nil
|
||||
hallOfFame[:TRAINER_SKIN] = nil
|
||||
|
||||
convertedHallOfFame << hallOfFame
|
||||
end
|
||||
@hallOfFame = convertedHallOfFame
|
||||
echoln @hallOfFame
|
||||
end
|
||||
return @hallOfFame
|
||||
# @hallOfFame = [] if !@hallOfFame
|
||||
# return @hallOfFame
|
||||
end
|
||||
|
||||
def hallOfFameLastNumber
|
||||
|
||||
@@ -37,33 +37,36 @@ class Scene_Credits
|
||||
# Backgrounds to show in credits. Found in Graphics/Titles/ folder
|
||||
BACKGROUNDS_LIST = ["credits1", "credits2", "credits3", "credits4", "credits5"]
|
||||
BGM = "Credits"
|
||||
SCROLL_SPEED = 60 # Pixels per second
|
||||
SECONDS_PER_BACKGROUND = 11
|
||||
SCROLL_SPEED = 62 # Pixels per second , ajuster pour fitter avec la musique
|
||||
SECONDS_PER_BACKGROUND = 4
|
||||
TEXT_OUTLINE_COLOR = Color.new(0, 0, 128, 255)
|
||||
TEXT_BASE_COLOR = Color.new(255, 255, 255, 255)
|
||||
TEXT_SHADOW_COLOR = Color.new(0, 0, 0, 100)
|
||||
NB_SPRITES_TO_PRELOAD = 30
|
||||
|
||||
TOTAL_NB_FRAMES = 4000 #set manually, depends on music length
|
||||
|
||||
FUSION_SPRITES_MAX_OPACITY=200
|
||||
NB_FRAMES_AT_MAX_OPACITY=30
|
||||
|
||||
# This next piece of code is the credits.
|
||||
# Start Editing
|
||||
CREDIT = <<_END_
|
||||
|
||||
Pokémon Infinite Fusion
|
||||
By Chardub (Frogman)
|
||||
By Chardub (Frogzilla)
|
||||
|
||||
General graphics / Music / Intellectual property
|
||||
Nintendo
|
||||
GameFreak
|
||||
|
||||
Programming / Eventing:
|
||||
Programming / Game design:
|
||||
Chardub
|
||||
|
||||
Fused Pokemon Sprites :
|
||||
Fused Pokemon Sprites :
|
||||
Japeal - Pokefusion 2
|
||||
http://japeal.com/pkm
|
||||
|
||||
Special thanks to Aegide and Reizod for helping to
|
||||
download the autogenerated sprites and to the owners of Japeal
|
||||
for accepting to share their sprites.
|
||||
Special thanks to Aegide and Reizod for
|
||||
helping to download the autogenerated sprites
|
||||
and to the owners of Japeal for accepting to
|
||||
share their sprites.
|
||||
|
||||
Maps:
|
||||
Chardub
|
||||
@@ -75,12 +78,6 @@ Gameplay / Story :
|
||||
Chardub
|
||||
Kiwikelly
|
||||
|
||||
|
||||
Most of the story and dialogues were based
|
||||
off Pokémon Red and Blue, as well as
|
||||
Pokémon Gold and Silver.
|
||||
Both games are made by Game Freak.
|
||||
|
||||
Custom sprites collecting and handling
|
||||
Kiwikelly, Payapon, Thornsoflight
|
||||
|
||||
@@ -94,36 +91,22 @@ Milchik the Miltank<s>Payapon
|
||||
Pix<s>Rosemagwin
|
||||
Thornsoflight
|
||||
|
||||
|
||||
All of the custom fused Pokémon sprites
|
||||
were made by various members of the sp
|
||||
were made by various members of the
|
||||
Pokémon Infinite Fusion Discord
|
||||
|
||||
Including massive contributions from these users:
|
||||
Including significant contributions from:
|
||||
|
||||
{SPRITER_CREDITS}
|
||||
|
||||
|
||||
Other custom graphics:
|
||||
Kiwikelly
|
||||
Knuckles
|
||||
UnworthyPie
|
||||
Doctor Miawoo
|
||||
Chardub
|
||||
TCGrunler#4583
|
||||
Kiwikelly<s>Knuckles
|
||||
UnworthyPie<s>Doctor Miawoo
|
||||
Chardub<s>TCGrunler#4583
|
||||
|
||||
The following free ressources were also used
|
||||
with their respective authors' consent:
|
||||
|
||||
Pokémon Sprites:
|
||||
The Smogon XY Sprite Project:
|
||||
Smogon Sun/Moon Sprite Project:
|
||||
|
||||
Other sprites:
|
||||
Hankiro, luckygirl88, Nalty,
|
||||
OceansLugiaSpirit,Pokemon-Diamond,
|
||||
rekman, Rick1234, SailorVicious,WolfPP
|
||||
|
||||
Public use tileset graphics:
|
||||
Alucus BoOmxBiG<s>chimcharsfireworkd
|
||||
EpicDay<s>EternalTakai
|
||||
@@ -143,24 +126,8 @@ Pokeli, TailDoll666100
|
||||
Kazune Sawatari, sentsinkantéun,
|
||||
Nanashima, CharizardTheMaster, The Zame Jack
|
||||
|
||||
Public use RPG Maker scripts:
|
||||
Luka S.J, shiney570, Erasus, Umbreon
|
||||
FL, KleinStudio, carmaniac, Wootius,
|
||||
andracass
|
||||
{INSERTS_PLUGIN_CREDITS_DO_NOT_REMOVE}
|
||||
|
||||
Data sources:
|
||||
Bulbapedia
|
||||
|
||||
PBS files:
|
||||
Generation 6 for Pokémon Essentials
|
||||
WorldSlayer
|
||||
mej71,karstictrainer, WorldSlayer,
|
||||
TheDeKay, viperk1, SunakazeKun,
|
||||
Radical Raptr, RPD490,
|
||||
Takyon!, Pokegod7020, Drakath569,
|
||||
Florio, MrDeepDarkMind, snooper117
|
||||
|
||||
"Pokémon Essentials" was created by:
|
||||
Flameguru
|
||||
Poccil (Peter O.)
|
||||
@@ -195,12 +162,6 @@ All generated fusion sprites in this game
|
||||
come from the Pokémon Fusion Generator:
|
||||
https://japeal.com/pkm/
|
||||
|
||||
Playtesting and Custom Sprites were made by
|
||||
various members of the Discord channel.
|
||||
Special thanks to all of you and to
|
||||
everyone who has been involved in the
|
||||
development of the game!
|
||||
|
||||
Pokémon is owned by:
|
||||
The Pokémon Company
|
||||
Nintendo
|
||||
@@ -212,7 +173,7 @@ _END_
|
||||
# Stop Editing
|
||||
|
||||
def main
|
||||
endCredits() if $PokemonSystem.on_mobile
|
||||
#endCredits() if $PokemonSystem.on_mobile
|
||||
#-------------------------------
|
||||
# Animated Background Setup
|
||||
#-------------------------------
|
||||
@@ -222,6 +183,7 @@ _END_
|
||||
@trim = Graphics.height / 10
|
||||
# Number of game frames per background frame
|
||||
@realOY = -(Graphics.height - @trim)
|
||||
@customSpritesList = getSpritesList()
|
||||
#-------------------------------
|
||||
# Credits text Setup
|
||||
#-------------------------------
|
||||
@@ -325,6 +287,22 @@ _END_
|
||||
pbBGMPlay(previousBGM)
|
||||
end
|
||||
|
||||
def getSpritesList()
|
||||
spritesList = []
|
||||
$PokemonGlobal.alt_sprite_substitutions.each_value do |value|
|
||||
if value.is_a?(PIFSprite)
|
||||
spritesList << value
|
||||
end
|
||||
end
|
||||
selected_spritesList = spritesList.sample(NB_SPRITES_TO_PRELOAD)
|
||||
spriteLoader = BattleSpriteLoader.new
|
||||
for sprite in selected_spritesList
|
||||
spriteLoader.preload(sprite)
|
||||
end
|
||||
|
||||
return selected_spritesList
|
||||
end
|
||||
|
||||
# Check if the credits should be cancelled
|
||||
def cancel?
|
||||
if Input.trigger?(Input::USE) && $PokemonGlobal.creditsPlayed
|
||||
@@ -352,15 +330,42 @@ _END_
|
||||
def update
|
||||
delta = Graphics.delta_s
|
||||
@counter += delta
|
||||
@background_sprite.setBitmap("Graphics/Titles/" + BACKGROUNDS_LIST[@bg_index])
|
||||
|
||||
@sprites_counter = 0 if !@sprites_counter
|
||||
#@background_sprite.setBitmap("Graphics/Titles/" + BACKGROUNDS_LIST[@bg_index])
|
||||
# # Go to next slide
|
||||
# if @counter >= SECONDS_PER_BACKGROUND
|
||||
# @counter -= SECONDS_PER_BACKGROUND
|
||||
# @bg_index += 1
|
||||
# @bg_index = 0 if @bg_index >= BACKGROUNDS_LIST.length
|
||||
# @background_sprite.setBitmap("Graphics/Titles/" + BACKGROUNDS_LIST[@bg_index])
|
||||
# end
|
||||
@frames_counter = 0 if !@frames_counter
|
||||
@frames_counter+=1
|
||||
|
||||
stopShowingSprites = @frames_counter >= (TOTAL_NB_FRAMES-300)
|
||||
pbBGSStop if @frames_counter > TOTAL_NB_FRAMES
|
||||
|
||||
spriteLoader = BattleSpriteLoader.new
|
||||
if @counter >= SECONDS_PER_BACKGROUND && @customSpritesList.length > 0 && !stopShowingSprites
|
||||
@sprites_counter=0
|
||||
randomSprite = @customSpritesList.sample
|
||||
@customSpritesList.delete(randomSprite)
|
||||
@background_sprite.setBitmapDirectly(spriteLoader.load_pif_sprite(randomSprite))
|
||||
@background_sprite.x = rand(0..300)
|
||||
@background_sprite.y = rand(0..200)
|
||||
@counter -= SECONDS_PER_BACKGROUND
|
||||
@background_sprite.opacity = 50
|
||||
@fadingIn=true
|
||||
end
|
||||
if @fadingIn
|
||||
if @background_sprite.opacity < FUSION_SPRITES_MAX_OPACITY
|
||||
@background_sprite.opacity +=5
|
||||
else
|
||||
@fadingIn=false
|
||||
end
|
||||
|
||||
else
|
||||
@sprites_counter += 1
|
||||
if @sprites_counter >= NB_FRAMES_AT_MAX_OPACITY
|
||||
@background_sprite.opacity-=3
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return if cancel?
|
||||
return if last?
|
||||
@realOY += SCROLL_SPEED * delta
|
||||
|
||||
Reference in New Issue
Block a user