Adds way to favorite hats and clothes and item to quickly swap to them

This commit is contained in:
chardub
2025-02-18 11:06:14 -05:00
parent 133f01218b
commit 4089c956d7
28 changed files with 230 additions and 184 deletions

BIN
.DS_Store vendored

Binary file not shown.

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.

View File

@@ -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]

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,2 @@
1739849259
1739849260
1739849260
1739849318
1739894631
1739894631

View File

@@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB