mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Adds way to favorite hats and clothes and item to quickly swap to them
This commit is contained in:
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.
@@ -22,6 +22,8 @@ class Player < Trainer
|
||||
attr_accessor :dyed_hats
|
||||
attr_accessor :dyed_clothes
|
||||
|
||||
attr_accessor :favorite_hat
|
||||
attr_accessor :favorite_clothes
|
||||
|
||||
attr_accessor :last_worn_outfit
|
||||
attr_accessor :last_worn_hat
|
||||
@@ -292,6 +294,8 @@ class Player < Trainer
|
||||
@dyed_hats = {}
|
||||
@dyed_clothes = {}
|
||||
|
||||
@favorite_hat = nil
|
||||
@favorite_clothes = nil
|
||||
|
||||
@card_background = Settings::DEFAULT_TRAINER_CARD_BG
|
||||
@unlocked_card_backgrounds = [@card_background]
|
||||
|
||||
@@ -19,7 +19,9 @@ class ClothesMartAdapter < OutfitsMartAdapter
|
||||
|
||||
def getDisplayName(item)
|
||||
return getName(item) if !item.name
|
||||
return item.name
|
||||
name = item.name
|
||||
name = "* #{name}" if item.id == $Trainer.favorite_clothes
|
||||
return name
|
||||
end
|
||||
|
||||
def getDescription(item)
|
||||
|
||||
@@ -24,16 +24,19 @@ class ClothesShopPresenter < PokemonMartScreen
|
||||
|
||||
remove_dye_option_available = $Trainer.hat_color != 0
|
||||
options << "Remove dye" if remove_dye_option_available
|
||||
options << "Mark as favorite" if $Trainer.favorite_hat != item.id
|
||||
options << "Unmark as favorite" if $Trainer.favorite_hat == item.id
|
||||
|
||||
options << "Cancel"
|
||||
#if $Trainer.hat_color != 0
|
||||
choice = pbMessage("What would you like to do?",options,-1)
|
||||
# if $Trainer.hat_color != 0
|
||||
choice = pbMessage("What would you like to do?", options, -1)
|
||||
if choice == 0
|
||||
if is_player_hat #remove
|
||||
if is_player_hat # remove
|
||||
@adapter.doSpecialItemAction(:REMOVE)
|
||||
@scene.pbEndBuyScene
|
||||
return false
|
||||
else
|
||||
#wear
|
||||
# wear
|
||||
putOnClothes(item)
|
||||
$Trainer.hat_color = @adapter.get_dye_color(item)
|
||||
return false
|
||||
@@ -43,27 +46,47 @@ class ClothesShopPresenter < PokemonMartScreen
|
||||
$Trainer.hat_color = 0
|
||||
end
|
||||
return true
|
||||
elsif options[choice] == "Mark as favorite"
|
||||
$Trainer.favorite_hat = item.id
|
||||
pbSEPlay("GUI storage show party panel")
|
||||
pbMessage("The #{item.name} is now your favorite!")
|
||||
echoln "marked #{item.id} as favorite hat"
|
||||
elsif options[choice] == "Unmark as favorite"
|
||||
$Trainer.favorite_hat = nil
|
||||
pbSEPlay("GUI storage show party panel")
|
||||
pbMessage("The #{item.name} is no longer marked as your favorite!")
|
||||
end
|
||||
echoln "cancelled"
|
||||
return true
|
||||
end
|
||||
|
||||
#returns if should stay in the menu
|
||||
# returns if should stay in the menu
|
||||
def playerClothesActionsMenu(item)
|
||||
is_worn = item.id == @adapter.worn_clothes
|
||||
options = []
|
||||
options << "Wear"
|
||||
options << "Remove dye" if $Trainer.clothes_color != 0
|
||||
options << "Mark as favorite" if $Trainer.favorite_hat != item.id
|
||||
options << "Unmark as favorite" if $Trainer.favorite_hat == item.id
|
||||
options << "Cancel"
|
||||
choice = pbMessage("What would you like to do?",options,-1)
|
||||
choice = pbMessage("What would you like to do?", options, -1)
|
||||
|
||||
if choice == 0
|
||||
putOnClothes(item)
|
||||
$Trainer.clothes_color = @adapter.get_dye_color(item)
|
||||
return false
|
||||
elsif choice == 1
|
||||
putOnClothes(item)
|
||||
$Trainer.clothes_color = @adapter.get_dye_color(item)
|
||||
return false
|
||||
elsif options[choice] == "Remove dye"
|
||||
if pbConfirm(_INTL("Are you sure you want to remove the dye from the {1}?", item.name))
|
||||
$Trainer.clothes_color = 0
|
||||
end
|
||||
elsif options[choice] == "Mark as favorite"
|
||||
$Trainer.favorite_clothes = item.id
|
||||
pbSEPlay("GUI storage show party panel")
|
||||
pbMessage("The #{item.name} is now your favorite!")
|
||||
elsif options[choice] == "Unmark favorite"
|
||||
$Trainer.favorite_clothes = nil
|
||||
pbSEPlay("GUI storage show party panel")
|
||||
pbMessage("The #{item.name} is no longer marked as your favorite!")
|
||||
end
|
||||
return true
|
||||
end
|
||||
@@ -120,7 +143,7 @@ class ClothesShopPresenter < PokemonMartScreen
|
||||
@stock.compact!
|
||||
pbDisplayPaused(_INTL("Here you are! Thank you!")) { pbSEPlay("Mart buy item") }
|
||||
@adapter.addItem(item)
|
||||
#break
|
||||
# break
|
||||
end
|
||||
@scene.pbEndBuyScene
|
||||
end
|
||||
|
||||
@@ -32,7 +32,9 @@ class HatsMartAdapter < OutfitsMartAdapter
|
||||
|
||||
def getDisplayName(item)
|
||||
return getName(item) if !item.name
|
||||
return item.name
|
||||
name = item.name
|
||||
name = "* #{name}" if item.id == $Trainer.favorite_hat
|
||||
return name
|
||||
end
|
||||
|
||||
def getDescription(item)
|
||||
@@ -79,7 +81,7 @@ class HatsMartAdapter < OutfitsMartAdapter
|
||||
$Trainer.hat_color=0
|
||||
previewWindow.hat_color=0
|
||||
end
|
||||
echoln $Trainer.dyed_hats
|
||||
#echoln $Trainer.dyed_hats
|
||||
else
|
||||
$Trainer.hat_color=0
|
||||
previewWindow.hat_color=0
|
||||
|
||||
@@ -1,55 +1,4 @@
|
||||
ItemHandlers::BattleUseOnBattler.add(:POKEDEX, proc { |item, battler, scene|
|
||||
#if battler.battle.battlers.length > -1
|
||||
# scene.pbDisplay(_INTL(" The length is {1}",battler.battle.battlers.length))
|
||||
# scene.pbDisplay(_INTL("The PokéDex cannot be used on multiple enemies at once!"))
|
||||
# return false
|
||||
#end
|
||||
|
||||
doublebattle = false
|
||||
#DOUBLE BATTLES A FAIRE
|
||||
#variable temporaire doublebattle
|
||||
if doublebattle
|
||||
e = battler.pbOpposing2
|
||||
else
|
||||
is_trainer = battler.battle.opponent
|
||||
|
||||
e1 = battler.pbOpposing1.pokemon
|
||||
enemyname = e1.name
|
||||
e1type1 = e1.type1
|
||||
e1type2 = e1.type2
|
||||
end
|
||||
if e1type1 == e1type2
|
||||
scene.pbDisplay(_INTL("{2} has been identified as a {1} type Pokémon.", PBTypes.getName(e1type1), enemyname))
|
||||
else
|
||||
scene.pbDisplay(_INTL("{3} has been identified as a {1}/{2} type Pokémon.", PBTypes.getName(e1type1), PBTypes.getName(e1type2), enemyname))
|
||||
|
||||
if $game_switches[10] #BADGE 7
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::DEFENSE, false)
|
||||
battler.pbIncreaseStat(PBStats::DEFENSE, 1, true)
|
||||
end
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::SPDEF, false)
|
||||
battler.pbIncreaseStat(PBStats::SPDEF, 1, true)
|
||||
end
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 3, true)
|
||||
end
|
||||
elsif $game_switches[8] #BADGE 5
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 3, true)
|
||||
end
|
||||
elsif $game_switches[6] #BADGE 3
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 2, true)
|
||||
end
|
||||
elsif $game_switches[8] #BADGE 1
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 1, true)
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
})
|
||||
|
||||
ItemHandlers::UseInBattle.add(:POKEDOLL, proc { |item, battler, battle|
|
||||
battle.decision = 3
|
||||
@@ -144,58 +93,7 @@ def useTeleporter()
|
||||
end
|
||||
end
|
||||
|
||||
ItemHandlers::BattleUseOnBattler.add(:POKEDEX, proc { |item, battler, scene|
|
||||
#if battler.battle.battlers.length > -1
|
||||
# scene.pbDisplay(_INTL(" The length is {1}",battler.battle.battlers.length))
|
||||
# scene.pbDisplay(_INTL("The PokéDex cannot be used on multiple enemies at once!"))
|
||||
# return false
|
||||
#end
|
||||
|
||||
doublebattle = false
|
||||
#DOUBLE BATTLES A FAIRE
|
||||
#variable temporaire doublebattle
|
||||
if doublebattle
|
||||
e = battler.pbOpposing2
|
||||
else
|
||||
is_trainer = battler.battle.opponent
|
||||
|
||||
e1 = battler.pbOpposing1.pokemon
|
||||
enemyname = e1.name
|
||||
e1type1 = e1.type1
|
||||
e1type2 = e1.type2
|
||||
end
|
||||
if e1type1 == e1type2
|
||||
scene.pbDisplay(_INTL("{2} has been identified as a {1} type Pokémon.", PBTypes.getName(e1type1), enemyname))
|
||||
else
|
||||
scene.pbDisplay(_INTL("{3} has been identified as a {1}/{2} type Pokémon.", PBTypes.getName(e1type1), PBTypes.getName(e1type2), enemyname))
|
||||
|
||||
if $game_switches[10] #BADGE 7
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::DEFENSE, false)
|
||||
battler.pbIncreaseStat(PBStats::DEFENSE, 1, true)
|
||||
end
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::SPDEF, false)
|
||||
battler.pbIncreaseStat(PBStats::SPDEF, 1, true)
|
||||
end
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 3, true)
|
||||
end
|
||||
elsif $game_switches[8] #BADGE 5
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 3, true)
|
||||
end
|
||||
elsif $game_switches[6] #BADGE 3
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 2, true)
|
||||
end
|
||||
elsif $game_switches[8] #BADGE 1
|
||||
if battler.pbCanIncreaseStatStage?(PBStats::ACCURACY, false)
|
||||
battler.pbIncreaseStat(PBStats::ACCURACY, 1, true)
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
})
|
||||
|
||||
ItemHandlers::UseInBattle.add(:POKEDOLL, proc { |item, battler, battle|
|
||||
battle.decision = 3
|
||||
@@ -238,7 +136,7 @@ ItemHandlers::UseOnPokemon.add(:TRANSGENDERSTONE, proc { |item, pokemon, scene|
|
||||
end
|
||||
})
|
||||
|
||||
#NOT FULLY IMPLEMENTED
|
||||
# NOT FULLY IMPLEMENTED
|
||||
ItemHandlers::UseOnPokemon.add(:SECRETCAPSULE, proc { |item, poke, scene|
|
||||
abilityList = poke.getAbilityList
|
||||
numAbilities = abilityList[0].length
|
||||
@@ -429,6 +327,14 @@ ItemHandlers::UseInField.add(:ROCKETUNIFORM, proc { |item|
|
||||
next useRocketUniform()
|
||||
})
|
||||
|
||||
ItemHandlers::UseFromBag.add(:FAVORITEOUTFIT, proc { |item|
|
||||
next useFavoriteOutfit()
|
||||
})
|
||||
|
||||
ItemHandlers::UseInField.add(:FAVORITEOUTFIT, proc { |item|
|
||||
next useFavoriteOutfit()
|
||||
})
|
||||
|
||||
ItemHandlers::UseInField.add(:EMERGENCYWHISTLE, proc { |item|
|
||||
if isOnPinkanIsland()
|
||||
pbCommonEvent(COMMON_EVENT_PINKAN_WHISTLE)
|
||||
@@ -471,16 +377,45 @@ ItemHandlers::UseFromBag.add(:ODDKEYSTONE, proc { |item|
|
||||
end
|
||||
})
|
||||
|
||||
def useFavoriteOutfit()
|
||||
if !$Trainer.favorite_clothes && !$Trainer.favorite_hat
|
||||
pbMessage(_INTL("You can mark clothes and hats as your favorites in the outfits menu and use this to quickly switch to them!"))
|
||||
return 0
|
||||
end
|
||||
|
||||
if isWearingFavoriteOutfit()
|
||||
if (Kernel.pbConfirmMessage("Remove your favorite outfit?"))
|
||||
if ($Trainer.last_worn_outfit == $Trainer.favorite_clothes && $Trainer.last_worn_hat == $Trainer.favorite_hat)
|
||||
$Trainer.last_worn_outfit = getDefaultClothes()
|
||||
end
|
||||
playOutfitChangeAnimation()
|
||||
putOnClothes($Trainer.last_worn_outfit, true) if $Trainer.favorite_clothes
|
||||
putOnHat($Trainer.last_worn_hat, true) if $Trainer.favorite_hat
|
||||
else
|
||||
return 0
|
||||
end
|
||||
|
||||
else
|
||||
if (Kernel.pbConfirmMessage("Put on your favorite outfit?"))
|
||||
playOutfitChangeAnimation()
|
||||
putOnClothes($Trainer.favorite_clothes, true) if $Trainer.favorite_clothes
|
||||
putOnHat($Trainer.favorite_hat, true) if $Trainer.favorite_hat
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def useRocketUniform()
|
||||
return 0 if !$game_switches[SWITCH_JOINED_TEAM_ROCKET]
|
||||
if isWearingTeamRocketOutfit()
|
||||
if (Kernel.pbConfirmMessage("Remove the Team Rocket uniform?"))
|
||||
if ($Trainer.last_worn_outfit == CLOTHES_TEAM_ROCKET_MALE || $Trainer.last_worn_outfit == CLOTHES_TEAM_ROCKET_FEMALE) && $Trainer.last_worn_hat == HAT_TEAM_ROCKET
|
||||
$Trainer.last_worn_outfit =getDefaultClothes()
|
||||
$Trainer.last_worn_outfit = getDefaultClothes()
|
||||
end
|
||||
playOutfitChangeAnimation()
|
||||
putOnClothes($Trainer.last_worn_outfit,true)
|
||||
putOnHat($Trainer.last_worn_hat,true)
|
||||
putOnClothes($Trainer.last_worn_outfit, true)
|
||||
putOnHat($Trainer.last_worn_hat, true)
|
||||
else
|
||||
return 0
|
||||
end
|
||||
@@ -489,11 +424,11 @@ def useRocketUniform()
|
||||
playOutfitChangeAnimation()
|
||||
gender = pbGet(VAR_TRAINER_GENDER)
|
||||
if gender == GENDER_MALE
|
||||
putOnClothes(CLOTHES_TEAM_ROCKET_MALE,true)
|
||||
putOnClothes(CLOTHES_TEAM_ROCKET_MALE, true)
|
||||
else
|
||||
putOnClothes(CLOTHES_TEAM_ROCKET_FEMALE,true)
|
||||
putOnClothes(CLOTHES_TEAM_ROCKET_FEMALE, true)
|
||||
end
|
||||
putOnHat(HAT_TEAM_ROCKET,true)
|
||||
putOnHat(HAT_TEAM_ROCKET, true)
|
||||
#$scene.reset_map(true)
|
||||
end
|
||||
end
|
||||
@@ -519,7 +454,7 @@ def useStrangePlant
|
||||
|
||||
end
|
||||
|
||||
#DREAMMIRROR
|
||||
# DREAMMIRROR
|
||||
ItemHandlers::UseFromBag.add(:DREAMMIRROR, proc { |item|
|
||||
useDreamMirror
|
||||
next 1
|
||||
@@ -530,7 +465,7 @@ ItemHandlers::UseInField.add(:DREAMMIRROR, proc { |item|
|
||||
next 1
|
||||
})
|
||||
|
||||
#STRANGE PLANT
|
||||
# STRANGE PLANT
|
||||
ItemHandlers::UseFromBag.add(:STRANGEPLANT, proc { |item|
|
||||
useStrangePlant()
|
||||
next 1
|
||||
@@ -549,7 +484,7 @@ ItemHandlers::UseFromBag.add(:MAGICBOOTS, proc { |item|
|
||||
else
|
||||
if Kernel.pbConfirmMessageSerious(_INTL("Put on the Magic Boots?"))
|
||||
Kernel.pbMessage(_INTL("Debug mode is now active."))
|
||||
$game_switches[ENABLED_DEBUG_MODE_AT_LEAST_ONCE] = true #got debug mode (for compatibility)
|
||||
$game_switches[ENABLED_DEBUG_MODE_AT_LEAST_ONCE] = true # got debug mode (for compatibility)
|
||||
$DEBUG = true
|
||||
end
|
||||
end
|
||||
@@ -680,7 +615,7 @@ def reverseFusion(pokemon)
|
||||
pokemon.exp_when_fused_head = body_exp
|
||||
|
||||
pokemon.head_shiny, pokemon.body_shiny = pokemon.body_shiny, pokemon.head_shiny
|
||||
#play animation
|
||||
# play animation
|
||||
pbFadeOutInWithMusic(99999) {
|
||||
fus = PokemonEvolutionScene.new
|
||||
fus.pbStartScreen(pokemon, newspecies, true)
|
||||
@@ -705,7 +640,7 @@ ItemHandlers::UseOnPokemon.add(:INFINITEREVERSERS, proc { |item, pokemon, scene|
|
||||
pokemon.exp_when_fused_body = head_exp
|
||||
pokemon.exp_when_fused_head = body_exp
|
||||
|
||||
#play animation
|
||||
# play animation
|
||||
pbFadeOutInWithMusic(99999) {
|
||||
fus = PokemonEvolutionScene.new
|
||||
fus.pbStartScreen(pokemon, newspecies, true)
|
||||
@@ -903,26 +838,26 @@ def returnItemsToBag(pokemon, poke2)
|
||||
poke2.item = nil
|
||||
end
|
||||
|
||||
#A AJOUTER: l'attribut dmgup ne modifie presentement pas
|
||||
# A AJOUTER: l'attribut dmgup ne modifie presentement pas
|
||||
# le damage d'une attaque
|
||||
#
|
||||
ItemHandlers::UseOnPokemon.add(:DAMAGEUP, proc { |item, pokemon, scene|
|
||||
move = scene.pbChooseMove(pokemon, _INTL("Boost Damage of which move?"))
|
||||
if move >= 0
|
||||
#if pokemon.moves[move].damage==0 || pokemon.moves[move].accuracy<=5 || pokemon.moves[move].dmgup >=3
|
||||
# if pokemon.moves[move].damage==0 || pokemon.moves[move].accuracy<=5 || pokemon.moves[move].dmgup >=3
|
||||
# scene.pbDisplay(_INTL("It won't have any effect."))
|
||||
# next false
|
||||
#else
|
||||
#pokemon.moves[move].dmgup+=1
|
||||
#pokemon.moves[move].damage +=5
|
||||
#pokemon.moves[move].accuracy -=5
|
||||
# else
|
||||
# pokemon.moves[move].dmgup+=1
|
||||
# pokemon.moves[move].damage +=5
|
||||
# pokemon.moves[move].accuracy -=5
|
||||
|
||||
#movename=PBMoves.getName(pokemon.moves[move].id)
|
||||
#scene.pbDisplay(_INTL("{1}'s damage increased.",movename))
|
||||
#next true
|
||||
# movename=PBMoves.getName(pokemon.moves[move].id)
|
||||
# scene.pbDisplay(_INTL("{1}'s damage increased.",movename))
|
||||
# next true
|
||||
scene.pbDisplay(_INTL("This item has not been implemented into the game yet. It had no effect."))
|
||||
next false
|
||||
#end
|
||||
# end
|
||||
end
|
||||
})
|
||||
|
||||
@@ -1015,7 +950,7 @@ ItemHandlers::UseOnPokemon.add(:DAMAGEUP, proc { |item, pokemon, scene|
|
||||
# end
|
||||
# })
|
||||
|
||||
#easter egg for evolving shellder into slowbro's tail
|
||||
# easter egg for evolving shellder into slowbro's tail
|
||||
ItemHandlers::UseOnPokemon.add(:SLOWPOKETAIL, proc { |item, pokemon, scene|
|
||||
echoln pokemon.species
|
||||
next false if pokemon.species != :SHELLDER
|
||||
@@ -1160,7 +1095,7 @@ ItemHandlers::BattleUseOnPokemon.add(:BALMMUSHROOM, proc { |item, pokemon, battl
|
||||
# })
|
||||
|
||||
####EXP. ALL
|
||||
#Methodes relative a l'exp sont pas encore la et pas compatibles
|
||||
# Methodes relative a l'exp sont pas encore la et pas compatibles
|
||||
# avec cette version de essentials donc
|
||||
# ca fait fuck all pour l'instant.
|
||||
ItemHandlers::UseFromBag.add(:EXPALL, proc { |item|
|
||||
@@ -1235,7 +1170,7 @@ ItemHandlers::UseOnPokemon.add(:TRANSGENDERSTONE, proc { |item, pokemon, scene|
|
||||
#
|
||||
# })
|
||||
|
||||
#NOT FULLY IMPLEMENTED
|
||||
# NOT FULLY IMPLEMENTED
|
||||
ItemHandlers::UseOnPokemon.add(:SECRETCAPSULE, proc { |item, poke, scene|
|
||||
abilityList = poke.getAbilityList
|
||||
numAbilities = abilityList[0].length
|
||||
@@ -1387,7 +1322,7 @@ ItemHandlers::UseOnPokemon.add(:MISTSTONE, proc { |item, pokemon, scene|
|
||||
def pbForceEvo(pokemon)
|
||||
evolutions = getEvolvedSpecies(pokemon)
|
||||
return false if evolutions.empty?
|
||||
#if multiple evolutions, pick a random one
|
||||
# if multiple evolutions, pick a random one
|
||||
#(format of returned value is [[speciesNum, level]])
|
||||
newspecies = evolutions[rand(evolutions.length - 1)][0]
|
||||
return false if newspecies == nil
|
||||
@@ -1456,7 +1391,7 @@ def getPokemonPositionInParty(pokemon)
|
||||
return -1
|
||||
end
|
||||
|
||||
#don't remember why there's two Supersplicers arguments.... probably a mistake
|
||||
# don't remember why there's two Supersplicers arguments.... probably a mistake
|
||||
def pbDNASplicing(pokemon, scene, item = :DNASPLICERS)
|
||||
is_supersplicer = isSuperSplicersMechanics(item)
|
||||
|
||||
@@ -1480,7 +1415,7 @@ def pbDNASplicing(pokemon, scene, item = :DNASPLICERS)
|
||||
if chosen >= 0
|
||||
poke2 = $Trainer.party[chosen]
|
||||
if (poke2.species_data.id_number <= NB_POKEMON) && poke2 != pokemon
|
||||
#check if fainted
|
||||
# check if fainted
|
||||
|
||||
if pokemon.egg? || poke2.egg?
|
||||
scene.pbDisplay(_INTL("It's impossible to fuse an egg!"))
|
||||
@@ -1492,10 +1427,10 @@ def pbDNASplicing(pokemon, scene, item = :DNASPLICERS)
|
||||
end
|
||||
|
||||
selectedHead = selectFusion(pokemon, poke2, is_supersplicer)
|
||||
if selectedHead == -1 #cancelled
|
||||
if selectedHead == -1 # cancelled
|
||||
return false
|
||||
end
|
||||
if selectedHead == nil #can't fuse (egg, etc.)
|
||||
if selectedHead == nil # can't fuse (egg, etc.)
|
||||
scene.pbDisplay(_INTL("It won't have any effect."))
|
||||
return false
|
||||
end
|
||||
@@ -1530,7 +1465,7 @@ def pbDNASplicing(pokemon, scene, item = :DNASPLICERS)
|
||||
end
|
||||
end
|
||||
else
|
||||
#UNFUSE
|
||||
# UNFUSE
|
||||
return true if pbUnfuse(pokemon, scene, is_supersplicer)
|
||||
end
|
||||
end
|
||||
@@ -1539,7 +1474,7 @@ def selectFusion(pokemon, poke2, supersplicers = false)
|
||||
return nil if !pokemon.is_a?(Pokemon) || !poke2.is_a?(Pokemon)
|
||||
return nil if pokemon.egg? || poke2.egg?
|
||||
|
||||
selectorWindow = FusionPreviewScreen.new(poke2, pokemon, supersplicers) #PictureWindow.new(picturePath)
|
||||
selectorWindow = FusionPreviewScreen.new(poke2, pokemon, supersplicers) # PictureWindow.new(picturePath)
|
||||
selectedHead = selectorWindow.getSelection
|
||||
selectorWindow.dispose
|
||||
return selectedHead
|
||||
@@ -1578,16 +1513,15 @@ def pbFuse(pokemon_body, pokemon_head, splicer_item)
|
||||
if (fus.pbStartScreen(pokemon_body, pokemon_head, newid, splicer_item))
|
||||
returnItemsToBag(pokemon_body, pokemon_head)
|
||||
fus.pbFusionScreen(false, use_supersplicers_mechanics)
|
||||
$game_variables[VAR_FUSE_COUNTER] += 1 #fuse counter
|
||||
$game_variables[VAR_FUSE_COUNTER] += 1 # fuse counter
|
||||
fus.pbEndScreen
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
#Todo: refactor this, holy shit this is a mess
|
||||
# Todo: refactor this, holy shit this is a mess
|
||||
def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
if pokemon.species_data.id_number > (NB_POKEMON * NB_POKEMON) + NB_POKEMON #triple fusion
|
||||
if pokemon.species_data.id_number > (NB_POKEMON * NB_POKEMON) + NB_POKEMON # triple fusion
|
||||
scene.pbDisplay(_INTL("{1} cannot be unfused.", pokemon.name))
|
||||
return false
|
||||
end
|
||||
@@ -1661,7 +1595,7 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
pokemon.shiny = false
|
||||
poke2.natural_shiny = true if pokemon.natural_shiny && !pokemon.debug_shiny
|
||||
else
|
||||
#shiny was obtained already fused
|
||||
# shiny was obtained already fused
|
||||
if rand(2) == 0
|
||||
pokemon.shiny = true
|
||||
else
|
||||
@@ -1691,7 +1625,6 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
poke2.debug_shiny = false
|
||||
end
|
||||
|
||||
|
||||
if $Trainer.party.length >= 6
|
||||
if (keepInParty == 0)
|
||||
if isOnPinkanIsland()
|
||||
@@ -1704,14 +1637,14 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
poke2 = Pokemon.new(bodyPoke, body_level)
|
||||
poke1 = Pokemon.new(headPoke, head_level)
|
||||
|
||||
#Fusing from PC
|
||||
# Fusing from PC
|
||||
if pcPosition != nil
|
||||
box = pcPosition[0]
|
||||
index = pcPosition[1]
|
||||
#todo: store at next available position from current position
|
||||
# todo: store at next available position from current position
|
||||
$PokemonStorage.pbStoreCaught(poke2)
|
||||
else
|
||||
#Fusing from party
|
||||
# Fusing from party
|
||||
if isOnPinkanIsland()
|
||||
scene.pbDisplay(_INTL("{1} was released.", poke2.name))
|
||||
else
|
||||
@@ -1724,14 +1657,14 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
if pcPosition != nil
|
||||
box = pcPosition[0]
|
||||
index = pcPosition[1]
|
||||
#todo: store at next available position from current position
|
||||
# todo: store at next available position from current position
|
||||
$PokemonStorage.pbStoreCaught(poke2)
|
||||
else
|
||||
Kernel.pbAddPokemonSilent(poke2, poke2.level)
|
||||
end
|
||||
end
|
||||
|
||||
#On ajoute les poke au pokedex
|
||||
# On ajoute les poke au pokedex
|
||||
$Trainer.pokedex.set_seen(poke1.species)
|
||||
$Trainer.pokedex.set_owned(poke1.species)
|
||||
$Trainer.pokedex.set_seen(poke2.species)
|
||||
@@ -1744,7 +1677,7 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
pokemon.obtain_method = 0
|
||||
poke1.obtain_method = 0
|
||||
|
||||
#scene.pbDisplay(_INTL(p1.to_s + " " + p2.to_s))
|
||||
# scene.pbDisplay(_INTL(p1.to_s + " " + p2.to_s))
|
||||
scene.pbHardRefresh
|
||||
scene.pbDisplay(_INTL("Your Pokémon were successfully unfused! "))
|
||||
return true
|
||||
@@ -1752,8 +1685,6 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
ItemHandlers::UseOnPokemon.add(:SUPERSPLICERS, proc { |item, pokemon, scene|
|
||||
next true if pbDNASplicing(pokemon, scene, item)
|
||||
})
|
||||
@@ -1770,26 +1701,26 @@ def returnItemsToBag(pokemon, poke2)
|
||||
poke2.item = nil
|
||||
end
|
||||
|
||||
#A AJOUTER: l'attribut dmgup ne modifie presentement pas
|
||||
# A AJOUTER: l'attribut dmgup ne modifie presentement pas
|
||||
# le damage d'une attaque
|
||||
#
|
||||
ItemHandlers::UseOnPokemon.add(:DAMAGEUP, proc { |item, pokemon, scene|
|
||||
move = scene.pbChooseMove(pokemon, _INTL("Boost Damage of which move?"))
|
||||
if move >= 0
|
||||
#if pokemon.moves[move].damage==0 || pokemon.moves[move].accuracy<=5 || pokemon.moves[move].dmgup >=3
|
||||
# if pokemon.moves[move].damage==0 || pokemon.moves[move].accuracy<=5 || pokemon.moves[move].dmgup >=3
|
||||
# scene.pbDisplay(_INTL("It won't have any effect."))
|
||||
# next false
|
||||
#else
|
||||
#pokemon.moves[move].dmgup+=1
|
||||
#pokemon.moves[move].damage +=5
|
||||
#pokemon.moves[move].accuracy -=5
|
||||
# else
|
||||
# pokemon.moves[move].dmgup+=1
|
||||
# pokemon.moves[move].damage +=5
|
||||
# pokemon.moves[move].accuracy -=5
|
||||
|
||||
#movename=PBMoves.getName(pokemon.moves[move].id)
|
||||
#scene.pbDisplay(_INTL("{1}'s damage increased.",movename))
|
||||
#next true
|
||||
# movename=PBMoves.getName(pokemon.moves[move].id)
|
||||
# scene.pbDisplay(_INTL("{1}'s damage increased.",movename))
|
||||
# next true
|
||||
scene.pbDisplay(_INTL("This item has not been implemented into the game yet. It had no effect."))
|
||||
next false
|
||||
#end
|
||||
# end
|
||||
end
|
||||
})
|
||||
|
||||
@@ -1932,7 +1863,7 @@ ItemHandlers::UseOnPokemon.add(:DAMAGEUP, proc { |item, pokemon, scene|
|
||||
# :SUNSTONE,:DUSKSTONE,:DAWNSTONE,:SHINYSTONE,:OVALSTONE,
|
||||
# :UPGRADE,:DUBIOUSDISC,:ICESTONE,:MAGNETSTONE)
|
||||
|
||||
#Quest log
|
||||
# Quest log
|
||||
|
||||
ItemHandlers::UseFromBag.add(:DEVONSCOPE, proc { |item|
|
||||
pbQuestlog()
|
||||
@@ -1943,7 +1874,7 @@ ItemHandlers::UseInField.add(:DEVONSCOPE, proc { |item|
|
||||
pbQuestlog()
|
||||
})
|
||||
|
||||
#TRACKER (for roaming legendaries)
|
||||
# TRACKER (for roaming legendaries)
|
||||
ItemHandlers::UseInField.add(:REVEALGLASS, proc { |item|
|
||||
track_pokemon()
|
||||
next true
|
||||
@@ -2040,7 +1971,7 @@ def track_pokemon()
|
||||
end
|
||||
|
||||
####EXP. ALL
|
||||
#Methodes relative a l'exp sont pas encore la et pas compatibles
|
||||
# Methodes relative a l'exp sont pas encore la et pas compatibles
|
||||
# avec cette version de essentials donc
|
||||
# ca fait fuck all pour l'instant.
|
||||
ItemHandlers::UseFromBag.add(:EXPALL, proc { |item|
|
||||
@@ -2073,10 +2004,10 @@ ItemHandlers::UseOnPokemon.add(:GOLDENBANANA, proc { |item, pokemon, scene|
|
||||
|
||||
ItemHandlers::UseInField.add(:BOXLINK, proc { |item|
|
||||
blacklisted_maps = [
|
||||
315, 316, 317, 318, 328, 343, #Elite Four
|
||||
776, 777, 778, 779, 780, 781, 782, 783, 784, #Mt. Silver
|
||||
722, 723, 724, 720, #Dream sequence
|
||||
304, 306, 307 #Victory road
|
||||
315, 316, 317, 318, 328, 343, # Elite Four
|
||||
776, 777, 778, 779, 780, 781, 782, 783, 784, # Mt. Silver
|
||||
722, 723, 724, 720, # Dream sequence
|
||||
304, 306, 307 # Victory road
|
||||
]
|
||||
if blacklisted_maps.include?($game_map.map_id)
|
||||
Kernel.pbMessage("There doesn't seem to be any network coverage here...")
|
||||
@@ -2084,7 +2015,7 @@ ItemHandlers::UseInField.add(:BOXLINK, proc { |item|
|
||||
pbFadeOutIn {
|
||||
scene = PokemonStorageScene.new
|
||||
screen = PokemonStorageScreen.new(scene, $PokemonStorage)
|
||||
screen.pbStartScreen(0) #Boot PC in organize mode
|
||||
screen.pbStartScreen(0) # Boot PC in organize mode
|
||||
}
|
||||
end
|
||||
next 1
|
||||
|
||||
@@ -4,6 +4,18 @@ def isWearingTeamRocketOutfit()
|
||||
return (isWearingClothes(CLOTHES_TEAM_ROCKET_MALE) || isWearingClothes(CLOTHES_TEAM_ROCKET_FEMALE)) && isWearingHat(HAT_TEAM_ROCKET)
|
||||
end
|
||||
|
||||
def isWearingFavoriteOutfit()
|
||||
is_wearing_favorite_hat = $Trainer.hat == $Trainer.favorite_hat || !$Trainer.favorite_hat
|
||||
is_wearing_favorite_clothes = $Trainer.clothes == $Trainer.favorite_clothes || !$Trainer.favorite_clothes
|
||||
if $Trainer.favorite_hat && !$Trainer.favorite_clothes
|
||||
return is_wearing_favorite_hat
|
||||
end
|
||||
if $Trainer.favorite_clothes && !$Trainer.favorite_hat
|
||||
return is_wearing_favorite_clothes
|
||||
end
|
||||
return is_wearing_favorite_clothes && is_wearing_favorite_hat
|
||||
end
|
||||
|
||||
def obtainRocketOutfit()
|
||||
Kernel.pbReceiveItem(:ROCKETUNIFORM)
|
||||
gender = pbGet(VAR_TRAINER_GENDER)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Data/items.dat
BIN
Data/items.dat
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,2 @@
|
||||
1739849259
|
||||
1739849260
|
||||
1739849260
|
||||
1739849318
|
||||
1739894631
|
||||
1739894631
|
||||
@@ -56,3 +56,77 @@ Graphics/CustomBattlers/spritesheets/spritesheets_base/106.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/457.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/457/457.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/25/25a.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/222.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/183.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/183/183.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/76.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/203.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/203/203.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/2.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/50.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/50/50a.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/323.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/152.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/446.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/93.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/93/93.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/37.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/165.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/165/165.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/30.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/79.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/79/79a.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/157.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/302.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/42.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/227.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/227/227.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/23.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/161.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/161/161.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/310.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/310/310a.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/50/50.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/334.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/334/334.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/29.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/29/29.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/94/94.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/410.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/49.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/49/49.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/308.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/132.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/442.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/442/442b.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/170.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/295.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/381.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/362/362.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/212.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/4.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/4/4.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/55.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/390.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/390/390.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/163.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/438.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/438/438.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/134.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/364.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/447.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/447/447.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/339.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/91.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/91/91.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/169.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/11.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/11/11.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/87.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/263.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/1.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/20.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/32.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_base/105.png
|
||||
Graphics/CustomBattlers/spritesheets/spritesheets_custom/105/105.png
|
||||
|
||||
BIN
Graphics/.DS_Store
vendored
BIN
Graphics/.DS_Store
vendored
Binary file not shown.
BIN
Graphics/Battlers/.DS_Store
vendored
BIN
Graphics/Battlers/.DS_Store
vendored
Binary file not shown.
BIN
Graphics/Items/FAVORITEOUTFIT.png
Normal file
BIN
Graphics/Items/FAVORITEOUTFIT.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
Reference in New Issue
Block a user