1 Commits

Author SHA1 Message Date
infinitefusion
5657d28c78 whirl islands map 2025-01-13 21:14:15 -05:00
321 changed files with 533682 additions and 54771 deletions

BIN
.DS_Store vendored

Binary file not shown.

13
.gitignore vendored
View File

@@ -1,14 +1,5 @@
Graphics/CustomBattlers/local_sprites/*
Graphics/Pokemon/FusionIcons/*
Graphics/CustomBattlers/spritesheets
Data/sprites/*
Data/VERSION
infinitefusion.sh
Data/sprites/CUSTOM_SPRITES
Data/sprites
Data/sprites/updated_spritesheets_cache
Data/sprites/sprites_rate_limit.log
.gitignore
PBS
Game.rxproj
.DS_Store

Binary file not shown.

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Data/Map099.rxdata Normal file

Binary file not shown.

BIN
Data/Map101.rxdata Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5,8 +5,8 @@
#==============================================================================#
module Settings
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
GAME_VERSION = '6.4.6'
GAME_VERSION_NUMBER = "6.4.7"
GAME_VERSION = '6.4.5'
GAME_VERSION_NUMBER = "6.4.5"
LATEST_GAME_RELEASE = "6.4"
POKERADAR_LIGHT_ANIMATION_RED_ID = 17
@@ -63,8 +63,6 @@ module Settings
SPRITES_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/sprites/CUSTOM_SPRITES"
BASE_SPRITES_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/sprites/BASE_SPRITES"
CREDITS_FILE_URL = "https://infinitefusion.net/Sprite Credits.csv"
CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/pif-downloadables/refs/heads/master/dex.json"
STARTUP_MESSAGES = ""
@@ -488,7 +486,7 @@ module Settings
[562, 50, :NINJASK,45,50], #Boon Island
[603, 50, :KECLEON,45,50], #Chrono Island
[654, 50, :WHIMSICOTT,32,45], #Brine Road
[559, 50, :SCRAGGY,32,45] #Kindle Road
[654, 50, :SCRAGGY,32,45] #Kindle Road
]
#=============================================================================

View File

@@ -21,7 +21,8 @@ module SaveData
# @param file_path [String] path of the file to load from
# @return [Hash, Array] loaded save data
# @raise [IOError, SystemCallError] if file opening fails
def self.get_data_from_file(file_path) validate file_path => String
def self.get_data_from_file(file_path)
validate file_path => String
save_data = nil
File.open(file_path) do |file|
data = Marshal.load(file)

View File

@@ -750,7 +750,6 @@ Events.onEndBattle += proc { |_sender,e|
pbHoneyGather(pkmn)
end
pickUpTypeItemSetBonus()
qmarkMaskCheck()
when 2, 5 # Lose, draw
if !canLose
$game_system.bgm_unpause

View File

@@ -32,8 +32,6 @@ class Player < Trainer
attr_accessor :card_background
attr_accessor :unlocked_card_backgrounds
attr_accessor :seen_qmarks_sprite
# @return [Array<Boolean>] the player's Gym Badges (true if owned)
attr_accessor :badges
@@ -295,7 +293,5 @@ class Player < Trainer
@card_background = Settings::DEFAULT_TRAINER_CARD_BG
@unlocked_card_backgrounds = [@card_background]
@seen_qmarks_sprite = false
end
end

View File

@@ -33,8 +33,8 @@ class PokemonSystem
@screensize = (Settings::SCREEN_SCALE * 2).floor - 1 # 0=half size, 1=full size, 2=full-and-a-half size, 3=double size
@language = 0 # Language (see also Settings::LANGUAGES in script PokemonSystem)
@runstyle = 0 # Default movement speed (0=walk, 1=run)
@bgmvolume = 40 # Volume of background music and ME
@sevolume = 40 # Volume of sound effects
@bgmvolume = 100 # Volume of background music and ME
@sevolume = 100 # Volume of sound effects
@textinput = 1 # Text input mode (0=cursor, 1=keyboard)
@quicksurf = 0
@battle_type = 0

View File

@@ -115,16 +115,14 @@ end
# selected (or nil if the selection was canceled). "default", if specified, is
# the ID of the species to initially select. Pressing Input::ACTION will toggle
# the list sorting between numerical and alphabetical.
def pbChooseSpeciesList(default = nil,max=nil)
def pbChooseSpeciesList(default = nil)
# commands = []
# GameData::Species.each { |s| commands.push([s.id_number, s.real_name, s.id]) if s.form == 0 }
# return pbChooseList(commands, default, nil, -1)
#
defaultNumber = default == nil ? 1 : getDexNumberForSpecies(default)
params = ChooseNumberParams.new
max = max ? max : PBSpecies.maxValue
params.setRange(1,max)
params.setRange(1,PBSpecies.maxValue)
params.setInitialValue(defaultNumber)
dexNum = pbMessageChooseNumber("dex number?",params)
return GameData::Species.get(dexNum)

View File

@@ -858,7 +858,8 @@ PokemonDebugMenuCommands.register("speciesform", {
_INTL("Species {1}, form {2} (forced).", pkmn.speciesName, pkmn.form)][(pkmn.forced_form.nil?) ? 0 : 1]
cmd = screen.pbShowCommands(msg, [
_INTL("Set species"),
_INTL("Set fusion species")], cmd)
_INTL("Set form"),
_INTL("Remove form override")], cmd)
break if cmd < 0
case cmd
when 0 # Set species
@@ -870,31 +871,9 @@ PokemonDebugMenuCommands.register("speciesform", {
end
pkmn.calc_stats
$Trainer.pokedex.register(pkmn) if !settingUpBattle
$Trainer.pokedex.set_owned(pkmn.species) if !settingUpBattle
screen.pbRefreshSingle(pkmnid)
end
when 1 # Set form
old_head_dex = get_head_number_from_symbol(pkmn.species)
old_body_dex = get_body_number_from_symbol(pkmn.species)
pbMessage('Head species?')
head_species = pbChooseSpeciesList(old_head_dex,NB_POKEMON)
pbMessage('Body species?')
body_species = pbChooseSpeciesList(old_body_dex,NB_POKEMON)
fused_species_dex = getFusionSpecies(body_species.species,head_species.species)
species = GameData::Species.get(fused_species_dex)
if species && species != pkmn.species
pkmn.species = species
if pkmn.shiny?
pkmn.debug_shiny=true
end
pkmn.calc_stats
$Trainer.pokedex.register(pkmn) if !settingUpBattle
$Trainer.pokedex.set_owned(pkmn.species) if !settingUpBattle
screen.pbRefreshSingle(pkmnid)
end
# cmd2 = 0
# formcmds = [[], []]
# GameData::Species.each do |sp|
@@ -922,9 +901,9 @@ PokemonDebugMenuCommands.register("speciesform", {
# screen.pbRefreshSingle(pkmnid)
# end
# end
# when 2 # Remove form override
# pkmn.forced_form = nil
# screen.pbRefreshSingle(pkmnid)
when 2 # Remove form override
pkmn.forced_form = nil
screen.pbRefreshSingle(pkmnid)
end
end
next false

View File

@@ -22,7 +22,7 @@ HELD_ITEMS = [:AIRBALLOON, :BRIGHTPOWDER, :EVIOLITE, :FLOATSTONE, :DESTINYKNOT,
INVALID_ITEMS = [:COVERFOSSIL, :PLUMEFOSSIL, :ACCURACYUP, :DAMAGEUP, :ANCIENTSTONE, :ODDKEYSTONE_FULL,
:DEVOLUTIONSPRAY, :INVISIBALL]
RANDOM_ITEM_EXCEPTIONS = [:DNASPLICERS,:POKEBALL, :DYNAMITE, :PINKANBERRY]
RANDOM_ITEM_EXCEPTIONS = [:DNASPLICERS,:POKEBALL, :DYNAMITE]
def getRandomGivenTM(item)
return item if item == nil

View File

@@ -119,7 +119,6 @@ class BattleSpriteLoader
new_extractor = get_sprite_extractor_instance(:AUTOGEN)
return new_extractor.load_sprite(pif_sprite)
else
$Trainer.seen_qmarks_sprite=true if $Trainer
#If autogen or base sprite aren't able to load a sprite then we have nothing else to load -> show a ? instead.
return AnimatedBitmap.new(Settings::DEFAULT_SPRITE_PATH)
end

View File

@@ -221,7 +221,6 @@ VAR_NB_ROCKET_MISSIONS = 286
VAR_BOUTIQUE_OUTFIT=290
VAR_FISHING_CONTEST_RECORD=294
VAR_FISHING_CONTEST_NERF=333

View File

@@ -10,10 +10,8 @@ CLOTHES_ADVENTURER = "fantasyadventurersoutfit"
CLOTHES_EMERALD = "emeraldSPE"
CLOTHES_PIKACHU_ONESIE = "pikaonesie"
CLOTHES_GLITCH = "glitzerset"
CLOTHES_BREEDER="PKMBreeder"
CLOTHES_LASS_YELLOW ="lass"
CLOTHES_LASS_BLUE ="lass2"
@@ -50,7 +48,7 @@ HAT_SLOWKING_SHELL = "slowking"
HAT_ZOROARK = "banefulfoxmask"
HAT_FROG = "froghat"
HAT_SANTA = "santa"
HAT_QMARKS = "glitzerset"
HAT_BREEDER_1="breedervisor"
HAT_BREEDER_2="breederbandana"
@@ -69,9 +67,6 @@ HAT_BIANCA = "bianca"
HAT_CLEFAIRY = "clefairyearheadband"
HAT_FLOWER = "mikufairy"
HAT_SKITTY_TV = "skittyTV"
HAT_TVHEAD = "tvhead"
HAT_CARDBOARD_BOX = "box"
HAT_CAPTAIN = "seacaptain"
@@ -121,9 +116,3 @@ HAIR_CHUCK = "chuck" #does not exist yet
HAIR_PRYCE = "pryce" #does not exist yet
HAIR_MORTY = "morty" #does not exist yet
HAIR_JASMINE = "jasmine" #does not exist yet
HAIR_HOOH = "ho-oh"
HAIR_CRESSELIA = "lunarbob"
HAIR_LYCANROC="lycanrocshorthair"
HAIR_HAPPINY="happinysuit"
HAIR_LATIAS="SpecialLatias"

View File

@@ -43,49 +43,32 @@ def selectHairstyle(all_unlocked = false)
$Trainer.hat = hat
end
def swapToNextHairVersion()
split_hair = getSplitHairFilenameAndVersionFromID($Trainer.hair)
hair_version = split_hair[0]
hair_style = split_hair[1]
current_version = hair_version
pbSEPlay("GUI party switch", 80, 100)
newVersion = current_version.to_i + 1
lastVersion = findLastHairVersion(hair_style)
newVersion = lastVersion if newVersion <= 0
newVersion = 1 if newVersion > lastVersion
$Trainer.hair = getFullHairId(hair_style,newVersion)
end
def selectHairColor
original_color = $Trainer.hair_color
original_hair = $Trainer.hair
$game_switches[SWITCH_SELECTING_CLOTHES]=true
$game_map.update
display_outfit_preview()
hat = $Trainer.hat
commands = ["Swap base color", "Shift up", "Shift down", "Toggle hat", "Remove dye", "Confirm", "Never Mind"]
commands = ["Shift up", "Shift down", "Toggle hat", "Reset", "Confirm", "Never Mind"]
previous_input = 0
while (true)
choice = pbShowCommands(nil, commands, commands.length, previous_input)
previous_input = choice
case choice
when 0 #change base
swapToNextHairVersion()
display_outfit_preview()
ret = false
when 1 #NEXT
when 0 #NEXT
#playOutfitChangeAnimation()
pbSEPlay("GUI storage pick up", 80, 100)
shiftHairColor(10)
display_outfit_preview()
ret = true
when 2 #PREVIOUS
when 1 #PREVIOUS
pbSEPlay("GUI storage pick up", 80, 100)
shiftHairColor(-10)
display_outfit_preview()
ret = true
when 3 #Toggle hat
when 2 #Toggle hat
pbSEPlay("GUI storage put down", 80, 100)
if hat == $Trainer.hat
$Trainer.hat = nil
@@ -93,16 +76,15 @@ def selectHairColor
$Trainer.hat = hat
end
display_outfit_preview()
when 4 #Reset
when 3 #Reset
pbSEPlay("GUI storage put down", 80, 100)
$Trainer.hair_color = 0
display_outfit_preview()
ret = false
when 5 #Confirm
when 4 #Confirm
break
else
$Trainer.hair_color = original_color
$Trainer.hair = original_hair
ret = false
break
end

View File

@@ -156,8 +156,6 @@ def findLastHairVersion(hairId)
last_version = 0
possible_versions.each { |version|
hair_id = getFullHairId(hairId, version)
echoln hair_id
echoln pbResolveBitmap(getOverworldHairFilename(hair_id))
if pbResolveBitmap(getOverworldHairFilename(hair_id))
last_version = version
else

View File

@@ -9,7 +9,7 @@ module GameData
else
ret = self.front_sprite_bitmap(species, pkmn.shiny?, pkmn.bodyShiny?, pkmn.headShiny?)
end
ret.scale_bitmap(pkmn.sprite_scale) if ret #for pokemon with size differences
ret.scale_bitmap(pkmn.sprite_scale) #for pokemon with size differences
return ret
end

View File

@@ -759,7 +759,7 @@ def give_date_specific_hats()
current_date = Time.new
if (current_date.day == 24 || current_date.day == 25) && current_date.month == 12
if !$Trainer.unlocked_hats.include?(HAT_SANTA)
pbCallBub(2, @event_id, true)
pbCallBub(2,@event_id,true)
pbMessage("Hi! We're giving out a special hat today for the holidays season. Enjoy!")
obtainHat(HAT_SANTA)
end
@@ -851,6 +851,7 @@ def replaceFusionSpecies(pokemon, speciesToChange, newSpecies)
echoln currentBody
echoln currentHead
return if !should_update_body && !should_update_head
newSpeciesBody = should_update_body ? newSpecies : currentBody
@@ -896,35 +897,26 @@ end
#@formatter:off
def get_constellation_variable(pokemon)
case pokemon
when :IVYSAUR;
return VAR_CONSTELLATION_IVYSAUR
when :WARTORTLE;
return VAR_CONSTELLATION_WARTORTLE
when :ARCANINE;
return VAR_CONSTELLATION_ARCANINE
when :MACHOKE;
return VAR_CONSTELLATION_MACHOKE
when :RAPIDASH;
return VAR_CONSTELLATION_RAPIDASH
when :GYARADOS;
return VAR_CONSTELLATION_GYARADOS
when :ARTICUNO;
return VAR_CONSTELLATION_ARTICUNO
when :MEW;
return VAR_CONSTELLATION_MEW
# when :POLITOED; return VAR_CONSTELLATION_POLITOED
# when :URSARING; return VAR_CONSTELLATION_URSARING
# when :LUGIA; return VAR_CONSTELLATION_LUGIA
# when :HOOH; return VAR_CONSTELLATION_HOOH
# when :CELEBI; return VAR_CONSTELLATION_CELEBI
# when :SLAKING; return VAR_CONSTELLATION_SLAKING
# when :JIRACHI; return VAR_CONSTELLATION_JIRACHI
# when :TYRANTRUM; return VAR_CONSTELLATION_TYRANTRUM
# when :SHARPEDO; return VAR_CONSTELLATION_SHARPEDO
# when :ARCEUS; return VAR_CONSTELLATION_ARCEUS
when :IVYSAUR; return VAR_CONSTELLATION_IVYSAUR
when :WARTORTLE; return VAR_CONSTELLATION_WARTORTLE
when :ARCANINE; return VAR_CONSTELLATION_ARCANINE
when :MACHOKE; return VAR_CONSTELLATION_MACHOKE
when :RAPIDASH; return VAR_CONSTELLATION_RAPIDASH
when :GYARADOS; return VAR_CONSTELLATION_GYARADOS
when :ARTICUNO; return VAR_CONSTELLATION_ARTICUNO
when :MEW; return VAR_CONSTELLATION_MEW
# when :POLITOED; return VAR_CONSTELLATION_POLITOED
# when :URSARING; return VAR_CONSTELLATION_URSARING
# when :LUGIA; return VAR_CONSTELLATION_LUGIA
# when :HOOH; return VAR_CONSTELLATION_HOOH
# when :CELEBI; return VAR_CONSTELLATION_CELEBI
# when :SLAKING; return VAR_CONSTELLATION_SLAKING
# when :JIRACHI; return VAR_CONSTELLATION_JIRACHI
# when :TYRANTRUM; return VAR_CONSTELLATION_TYRANTRUM
# when :SHARPEDO; return VAR_CONSTELLATION_SHARPEDO
# when :ARCEUS; return VAR_CONSTELLATION_ARCEUS
end
end
#@formatter:on
def promptCaughtPokemonAction(pokemon)
@@ -1406,7 +1398,7 @@ def get_mart_exclusive_items(city)
return items_list
end
def calculate_pokemon_weight(pokemon, nerf = 0)
def calculate_pokemon_weight(pokemon)
base_weight = pokemon.weight
ivs = []
@@ -1434,20 +1426,18 @@ def calculate_pokemon_weight(pokemon, nerf = 0)
# Cap the weight between min and max values
weight = [[weight, min_weight].max, max_weight].min
weight -= nerf if weight - nerf > min_weight
return weight.round(2) # Round to 2 decimal places
end
#nerf: remove x kg from each generated pokemon
def generate_weight_contest_entries(species, level, resultsVariable, nerf = 0)
def generate_weight_contest_entries(species, level, resultsVariable)
#echoln "Generating Pokemon"
pokemon1 = pbGenerateWildPokemon(species, level) #Pokemon.new(species,level)
pokemon2 = pbGenerateWildPokemon(species, level) #Pokemon.new(species,level)
new_weights = []
new_weights << calculate_pokemon_weight(pokemon1, nerf)
new_weights << calculate_pokemon_weight(pokemon2, nerf)
new_weights << calculate_pokemon_weight(pokemon1)
new_weights << calculate_pokemon_weight(pokemon2)
echoln new_weights
echoln "(nerfed by -#{nerf})"
pbSet(resultsVariable, new_weights.max)
end
@@ -1501,6 +1491,8 @@ def isPlayerFemale()
return pbGet(VAR_TRAINER_GENDER) == GENDER_FEMALE
end
def optionsMenu(options = [], cmdIfCancel = -1, startingOption = 0)
cmdIfCancel = -1 if !cmdIfCancel
result = pbShowCommands(nil, options, cmdIfCancel, startingOption)
@@ -1535,12 +1527,13 @@ QUEST_REWARDS = [
QuestReward.new(10, :LANTERN, 1, "This will allow you to illuminate caves without having to use a HM! Practical, isn't it?"),
QuestReward.new(15, :LINKINGCORD, 3, "This strange cable triggers the evolution of Pokémon that typically evolve via trade. I know you'll put it to good use!"),
QuestReward.new(20, :SLEEPINGBAG, 1, "This handy item will allow you to sleep anywhere you want. You won't even need hotels anymore!"),
QuestReward.new(30, :MISTSTONE, 1, "This rare stone can evolve any Pokémon, regardless of their level or evolution method. Use it wisely!", true),
QuestReward.new(50, :GSBALL, 1, "This mysterious ball is rumored to be the key to call upon the protector of Ilex Forest. It's a precious relic."),
QuestReward.new(60, :MASTERBALL, 1, "This rare ball can catch any Pokémon. Don't waste it!", true),
QuestReward.new(30, :MISTSTONE, 1, "This rare stone can evolve any Pokémon, regardless of their level or evolution method. Use it wisely!",true),
QuestReward.new(45, :MASTERBALL, 1, "This rare ball can catch any Pokémon. Don't waste it!",true),
QuestReward.new(60, :GSBALL, 1, "This mysterious ball is rumored to be the key to call upon the protector of Ilex Forest. It's a precious relic."),
]
def turnEventTowardsEvent(turning, turnedTowards)
def turnEventTowardsEvent(turning,turnedTowards)
event_x = turnedTowards.x
event_y = turnedTowards.y
if turning.x < event_x
@@ -1568,7 +1561,8 @@ def turnPlayerTowardsEvent(event)
end
end
def displaySpriteWindowWithMessage(pif_sprite, message = "", x = 0, y = 0, z = 0)
def displaySpriteWindowWithMessage(pif_sprite, message = "", x = 0, y = 0,z=0)
spriteLoader = BattleSpriteLoader.new
sprite_bitmap = spriteLoader.load_pif_sprite_directly(pif_sprite)
pictureWindow = PictureWindow.new(sprite_bitmap.bitmap)
@@ -1590,12 +1584,13 @@ def select_any_pokemon()
return pbChooseList(commands, 0, nil, 1)
end
SWITCH_SS_ANNE_DEPARTED = 88
SWITCH_SNORLAX_GONE_ROUTE_12 = 110
SWITCH_SS_ANNE_DEPARTED=88
SWITCH_SNORLAX_GONE_ROUTE_12=110
SWITCH_TELEPORT_NPC = 122
SWITCH_GOT_DIVE = 317
SWITCH_GOT_ROCK_CLIMB = 661
SWITCH_GOT_WATERFALL = 388
SWITCH_GOT_DIVE=317
SWITCH_GOT_ROCK_CLIMB=661
SWITCH_GOT_WATERFALL=388
def fixMissedHMs()
#Flash
@@ -1614,7 +1609,7 @@ def fixMissedHMs()
end
#Surf
if $PokemonBag.pbQuantity(:HM03) < 1 && $game_self_switches[[107, 1, "A"]]
if $PokemonBag.pbQuantity(:HM03) < 1 && $game_self_switches[[107, 1, "A"]]
pbReceiveItem(:HM03)
end
@@ -1624,87 +1619,22 @@ def fixMissedHMs()
end
#Fly
if $PokemonBag.pbQuantity(:HM02) < 1 && $game_self_switches[[439, 1, "B"]]
if $PokemonBag.pbQuantity(:HM02) < 1 && $game_self_switches[[439, 1, "B"]]
pbReceiveItem(:HM02)
end
#Waterfall
if $PokemonBag.pbQuantity(:HM05) < 1 && $game_switches[SWITCH_GOT_WATERFALL]
if $PokemonBag.pbQuantity(:HM05) < 1 && $game_switches[SWITCH_GOT_WATERFALL]
pbReceiveItem(:HM05)
end
#Dive
if $PokemonBag.pbQuantity(:HM06) < 1 && $game_switches[SWITCH_GOT_DIVE]
if $PokemonBag.pbQuantity(:HM06) < 1 && $game_switches[SWITCH_GOT_DIVE]
pbReceiveItem(:HM06)
end
#Rock Climb
if $PokemonBag.pbQuantity(:HM10) < 1 && $game_switches[SWITCH_GOT_ROCK_CLIMB]
if $PokemonBag.pbQuantity(:HM10) < 1 && $game_switches[SWITCH_GOT_ROCK_CLIMB]
pbReceiveItem(:HM10)
end
end
def fixFinishedRocketQuests()
fix_broken_TR_quests()
var_tr_missions_cerulean = 288
switch_tr_mission_cerulean_4 = 1116
switch_tr_mission_celadon_1 = 1084
switch_tr_mission_celadon_2 = 1086
switch_tr_mission_celadon_3 = 1088
switch_tr_mission_celadon_4 = 1110
switch_pinkan_done = 1119
nb_cerulean_missions = pbGet(var_tr_missions_cerulean)
finishTRQuest("tr_cerulean_1", :SUCCESS, true) if nb_cerulean_missions >= 1 && !pbCompletedQuest?("tr_cerulean_1")
echoln pbCompletedQuest?("tr_cerulean_1")
finishTRQuest("tr_cerulean_2", :SUCCESS, true) if nb_cerulean_missions >= 2 && !pbCompletedQuest?("tr_cerulean_2")
finishTRQuest("tr_cerulean_3", :SUCCESS, true) if nb_cerulean_missions >= 3 && !pbCompletedQuest?("tr_cerulean_3")
finishTRQuest("tr_cerulean_4", :SUCCESS, true) if $game_switches[switch_tr_mission_cerulean_4] && !pbCompletedQuest?("tr_cerulean_4")
finishTRQuest("tr_celadon_1", :SUCCESS, true) if $game_switches[switch_tr_mission_celadon_1] && !pbCompletedQuest?("tr_celadon_1")
finishTRQuest("tr_celadon_2", :SUCCESS, true) if $game_switches[switch_tr_mission_celadon_2] && !pbCompletedQuest?("tr_celadon_2")
finishTRQuest("tr_celadon_3", :SUCCESS, true) if $game_switches[switch_tr_mission_celadon_3] && !pbCompletedQuest?("tr_celadon_3")
finishTRQuest("tr_celadon_4", :SUCCESS, true) if $game_switches[switch_tr_mission_celadon_4] && !pbCompletedQuest?("tr_celadon_4")
finishTRQuest("tr_pinkan", :SUCCESS, true) if $game_switches[switch_pinkan_done] && !pbCompletedQuest?("tr_pinkan")
end
def fix_broken_TR_quests()
for trainer_quest in $Trainer.quests
if trainer_quest.id == 0 #tr quests were all set to ID 0 instead of their real ID in v 6.4.0
for rocket_quest_id in TR_QUESTS.keys
rocket_quest = TR_QUESTS[rocket_quest_id]
next if !rocket_quest
if trainer_quest.name == rocket_quest.name
trainer_quest.id = rocket_quest_id
end
end
end
end
end
def failAllIncompleteRocketQuests()
for trainer_quest in $Trainer.quests
finishTRQuest("tr_cerulean_1", :FAILURE) if trainer_quest.id == "tr_cerulean_1" && !pbCompletedQuest?("tr_cerulean_1")
finishTRQuest("tr_cerulean_2", :FAILURE) if trainer_quest.id == "tr_cerulean_2" && !pbCompletedQuest?("tr_cerulean_2")
finishTRQuest("tr_cerulean_3", :FAILURE) if trainer_quest.id == "tr_cerulean_3" && !pbCompletedQuest?("tr_cerulean_3")
finishTRQuest("tr_cerulean_4", :FAILURE) if trainer_quest.id == "tr_cerulean_4" && !pbCompletedQuest?("tr_cerulean_4")
finishTRQuest("tr_celadon_1", :FAILURE) if trainer_quest.id == "tr_celadon_1" && !pbCompletedQuest?("tr_celadon_1")
finishTRQuest("tr_celadon_2", :FAILURE) if trainer_quest.id == "tr_celadon_2" && !pbCompletedQuest?("tr_celadon_2")
finishTRQuest("tr_celadon_3", :FAILURE) if trainer_quest.id == "tr_celadon_3" && !pbCompletedQuest?("tr_celadon_3")
finishTRQuest("tr_celadon_4", :FAILURE) if trainer_quest.id == "tr_celadon_4" && !pbCompletedQuest?("tr_celadon_4")
end
end
def qmarkMaskCheck()
if $Trainer.seen_qmarks_sprite
unless hasHat?(HAT_QMARKS)
obtainHat(HAT_QMARKS)
obtainClothes(CLOTHES_GLITCH)
end
end
end

View File

@@ -227,11 +227,7 @@ class GenOneStyle
@sprites["2poke"].y = 100
@sprites["fpoke"] = Sprite.new(@viewport)
fusedPoke = @spriteLoader.load_pif_sprite(random_fusion)
if fusedPoke
@sprites["fpoke"].bitmap = fusedPoke.bitmap
end
@sprites["fpoke"].bitmap = @spriteLoader.load_pif_sprite(random_fusion).bitmap
@sprites["fpoke"].x = 125
@sprites["fpoke"].y = 100
@sprites["fpoke"].z = 999
@@ -405,10 +401,8 @@ class GenOneStyle
@sprites["2poke"].bitmap = @spriteLoader.load_base_sprite(random_fusion_head).bitmap
wait(150)
fusedPoke = @spriteLoader.load_pif_sprite(random_fusion)
if fusedPoke
@sprites["fpoke"].bitmap = fusedPoke.bitmap
end
@sprites["fpoke"].bitmap = @spriteLoader.load_pif_sprite(random_fusion).bitmap
end
@sprites["fpoke"].opacity -= 10

View File

@@ -92,7 +92,7 @@ QUESTS = {
#Cerulean hotel
3 => Quest.new(3, "Playing Cupid", "A boy in Cerulean City wants you bring a love letter to a Pokémon Breeder named Maude. She's probably somewhere in one of the routes near Cerulean City", QuestBranchHotels, "BW (18)", "Cerulean City", HotelQuestColor),
4 => Quest.new(4, "Fishing for Sole", "A fisherman wants you to fish up an old boot. Hook it up with the old rod in any body of water.", QuestBranchHotels, "BW (71)", "Cerulean City", HotelQuestColor),
5 => Quest.new(5, "Johto Pokémon", "A traveler in the PokéMart wants you to show him a Pokémon native to the Johto region.", QuestBranchHotels, "traveler_johto", "Cerulean City", HotelQuestColor),
5 => Quest.new(5, "Johto Pokémon", "An traveler in the PokéMart wants you to show him a Pokémon native to the Johto region.", QuestBranchHotels, "traveler_johto", "Cerulean City", HotelQuestColor),
"cerulean_2" => Quest.new(5, "Type Experts", "Defeat all of the Type Experts scattered around the Kanto region (#{pbGet(VAR_TYPE_EXPERTS_BEATEN)}/#{TOTAL_NB_TYPE_EXPERTS})", QuestBranchHotels, "expert-normal", "Cerulean City", HotelQuestColor),
#Route 24
@@ -267,10 +267,6 @@ end
def pbSetQuest(id, completed)
$Trainer.quests = [] if $Trainer.quests.class == NilClass
for q in $Trainer.quests
echoln id
echoln q.id
echoln q.completed
echoln "----"
q.completed = completed if q.id == id
end
end
@@ -332,16 +328,12 @@ class Questlog
@box = 0
@completed = []
@ongoing = []
fix_broken_TR_quests()
for q in $Trainer.quests
@ongoing << q if !q.completed && @ongoing.include?(q)
@completed << q if q.completed && @completed.include?(q)
end
for q in $Trainer.quests
echoln "#{q.id}: #{q.completed}"
@ongoing << q if !q.completed
@completed << q if q.completed
end
@@ -384,7 +376,6 @@ class Questlog
pbUpdate
end
def pbUpdate
@frame = 0
loop do
@@ -394,13 +385,13 @@ class Questlog
if @scene == 0
break if Input.trigger?(Input::B)
pbList(@sel_one) if Input.trigger?(Input::C)
pbSwitch(:DOWN) if Input.press?(Input::DOWN)
pbSwitch(:DOWN) if Input.trigger?(Input::DOWN)
pbSwitch(:UP) if Input.trigger?(Input::UP)
end
if @scene == 1
pbMain if Input.trigger?(Input::B)
pbMove(:DOWN) if Input.press?(Input::DOWN)
pbMove(:UP) if Input.press?(Input::UP)
pbMove(:DOWN) if Input.trigger?(Input::DOWN)
pbMove(:UP) if Input.trigger?(Input::UP)
pbLoad(0) if Input.trigger?(Input::C)
pbArrows
end
@@ -649,6 +640,7 @@ class Questlog
end
def pbMove(dir)
pbWait(1)
if dir == :DOWN
return if @sel_two == @ongoing.size - 1 && @mode == 0
return if @sel_two == @completed.size - 1 && @mode == 1
@@ -751,11 +743,10 @@ class Questlog
end
end
end
pbWait(4)
end
def pbList(id)
pbWait(2)
pbWait(1)
@sel_two = 0
@page = 0
@scene = 1

View File

@@ -29,9 +29,12 @@ def acceptTRQuest(id, show_description = true)
end
def addRocketQuest(id)
echoln $Trainer.quests.length
$Trainer.quests = [] if $Trainer.quests.class == NilClass
quest = TR_QUESTS[id]
$Trainer.quests << quest if quest
echoln $Trainer.quests.length
end
def showNewTRMissionMessage(title, description, show_description)
@@ -62,17 +65,17 @@ def finishTRQuest(id, status, silent = false)
end
TR_QUESTS = {
"tr_cerulean_1" => Quest.new("tr_cerulean_1", "Creepy Crawlies", "The Team Rocket Captain has tasked you with clearing the bug infestation in the temporary Rocket HQ in Cerulean City", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_2" => Quest.new("tr_cerulean_2", "No Fishing Zone", "Intimidate the fishermen at Nugget Bridge until they leave the area.", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_3" => Quest.new("tr_cerulean_3", "Disobedient Pokémon", "Bring back the Pokémon given by the Team Rocket Captain fainted to teach it a lesson.", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_4" => Quest.new("tr_cerulean_4", "Gran Theft Pokémon!", "Follow Petrel and go steal a rare Pokémon from a young girl.", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_1" => Quest.new(0, "Creepy Crawlies", "The Team Rocket Captain has tasked you with clearing the bug infestation in the temporary Rocket HQ in Cerulean City", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_2" => Quest.new(0, "No Fishing Zone", "Intimidate the fishermen at Nugget Bridge until they leave the area.", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_3" => Quest.new(0, "Disobedient Pokémon", "Bring back the Pokémon given by the Team Rocket Captain fainted to teach it a lesson.", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_cerulean_4" => Quest.new(0, "Gran Theft Pokémon!", "Follow Petrel and go steal a rare Pokémon from a young girl.", QuestBranchRocket, "rocket_petrel", "Cerulean City", TRQuestColor),
"tr_celadon_1" => Quest.new("tr_celadon_1", "Supplying the new grunts", "Catch 4 Pokémon with Rocket Balls in the outskirts of Celadon City.", QuestBranchRocket, "rocket_archer", "Celadon City", TRQuestColor),
"tr_celadon_2" => Quest.new("tr_celadon_2", "Interception!", "Intercept the TMs shipment to the Celadon Store and pose as the delivery person to deliver fake TMs.", QuestBranchRocket, "rocket_archer", "Celadon City", TRQuestColor),
"tr_celadon_3" => Quest.new( "tr_celadon_3", "Pokémon Collector", "Go meet a Pokémon collector on Route 22, near Viridian City and get his rare Pokémon.", QuestBranchRocket, "rocket_archer", "Celadon City", TRQuestColor),
"tr_celadon_4" => Quest.new("tr_celadon_4", "Operation Shutdown", "The Team Rocket HQ is being raided! Regroup with the rest of the grunts in Goldenrod Tunnel!", QuestBranchRocket, "rocket_archer", "Goldenrod City", TRQuestColor),
"tr_celadon_1" => Quest.new(0, "Supplying the new grunts", "Catch 4 Pokémon with Rocket Balls in the outskirts of Celadon City.", QuestBranchRocket, "rocket_archer", "Celadon City", TRQuestColor),
"tr_celadon_2" => Quest.new(0, "Interception!", "Intercept the TMs shipment to the Celadon Store and pose as the delivery person to deliver fake TMs.", QuestBranchRocket, "rocket_archer", "Celadon City", TRQuestColor),
"tr_celadon_3" => Quest.new(0, "Pokémon Collector", "Go meet a Pokémon collector on Route 22, near Viridian City and get his rare Pokémon.", QuestBranchRocket, "rocket_archer", "Celadon City", TRQuestColor),
"tr_celadon_4" => Quest.new(0, "Operation Shutdown", "The Team Rocket HQ is being raided! Regroup with the rest of the grunts in Goldenrod Tunnel!", QuestBranchRocket, "rocket_archer", "Goldenrod City", TRQuestColor),
"tr_pinkan" => Quest.new("tr_pinkan", "Pinkan Island!", "Help Team Rocket with a heist on a Pokémon nature preserve!", QuestBranchRocket, "rocket_archer", "Goldenrod City", TRQuestColor),
"tr_pinkan" => Quest.new(0, "Pinkan Island!", "Help Team Rocket with a heist on a Pokémon nature preserve!", QuestBranchRocket, "rocket_archer", "Goldenrod City", TRQuestColor),
}

View File

@@ -476,6 +476,9 @@ RandPokeNick = [
"Carlos",
"hm_slave",
"Varicelle",
"Google",
"Twitter",
"Facebook",
"Mia",
"miam",
"Lame-o",

View File

@@ -14,7 +14,7 @@ module Settings
VERSION_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/VERSION"
CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/pif-downloadables/refs/heads/master/dex.json"
CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/dex.json"
# CUSTOM SPRITES
AUTOGEN_SPRITES_REPO_URL = ""
@@ -24,13 +24,11 @@ module Settings
BASE_POKEMON_ALT_SPRITES_REPO_URL = ""
BASE_POKEMON_ALT_SPRITES_NEW_URL = ""
BASE_POKEMON_SPRITESHEET_URL = "https://infinitefusion.net/spritesheets/spritesheets_base/" #legacy
CUSTOM_FUSIONS_SPRITESHEET_URL = "https://infinitefusion.net/spritesheets/spritesheets_custom/" #legacy
BASE_POKEMON_SPRITESHEET_RESIZED_URL = "https://infinitefusion.net/spritesheets_resized/spritesheets_base/" #legacy
CUSTOM_FUSIONS_SPRITESHEET_RESIZED_URL = "https://infinitefusion.net/spritesheets_resized/spritesheets_custom/" #legacy
BASE_POKEMON_SPRITESHEET_URL = "https://infinitefusion.net/spritesheets/spritesheets_base/"
CUSTOM_FUSIONS_SPRITESHEET_URL = "https://infinitefusion.net/spritesheets/spritesheets_custom/"
BASE_POKEMON_SPRITESHEET_TRUE_SIZE_URL = "https://infinitefusion.net/customsprites/spritesheets/spritesheets_base/"
CUSTOM_FUSIONS_SPRITESHEET_TRUE_SIZE_URL = "https://infinitefusion.net/customsprites/spritesheets/spritesheets_custom/"
BASE_POKEMON_SPRITESHEET_RESIZED_URL = "https://infinitefusion.net/spritesheets_resized/spritesheets_base/"
CUSTOM_FUSIONS_SPRITESHEET_RESIZED_URL = "https://infinitefusion.net/spritesheets_resized/spritesheets_custom/"
CUSTOMSPRITES_RATE_MAX_NB_REQUESTS = 5 #Nb. requests allowed in each time window
CUSTOMSPRITES_ENTRIES_RATE_TIME_WINDOW = 120 # In seconds
@@ -44,8 +42,8 @@ module Settings
AI_ENTRIES_RATE_LOG_FILE = 'Data/pokedex/rate_limit.log' # Path to the log file
#Spritepack
NEWEST_SPRITEPACK_MONTH = 1
NEWEST_SPRITEPACK_YEAR = 2025
NEWEST_SPRITEPACK_MONTH = 12
NEWEST_SPRITEPACK_YEAR = 2024
end

Binary file not shown.

Binary file not shown.

View File

@@ -220,13 +220,6 @@
"tags": "celadon",
"howToGet": "city-exclusive outfit"
},
{
"id": "flying",
"name": "Flying Outfit",
"description": "An aerodynamic outfit for gliding through the air. It captures the essence of Flying-type Pokémon.",
"price": 10000,
"tags": "type-flying,special"
},
{
"id": "fusionnerd",
"name": "Fusion Outfit",
@@ -235,11 +228,6 @@
"tags": "pokemon-fused,special,",
"howToGet": "cinnabar lab after fusing 100 times"
},
{
"id": "glitzerset",
"name": "Glitzer",
"price": 2550
},
{
"id": "gothhoodie",
"name": "Goth Hoodie",
@@ -318,8 +306,8 @@
},
{
"id": "lady",
"name": "Elegant Dress",
"description": "An elegant summer dress with a ribbon at the waist, radiating a sense of grace and sophistication.",
"name": "Summer Dress",
"description": "An elegant white dress with a ribbon at the waist, radiating a sense of grace and sophistication.",
"done": "yes",
"price": 1500,
"tags": "cerulean",

View File

@@ -12,7 +12,7 @@
"name": "Bald",
"description": "A completely bald look - no hair, no fuss, just pure, unadulterated scalp!",
"done": "yes",
"price": 500,
"price": 0,
"tags": "no-hair"
},
{
@@ -87,7 +87,6 @@
},
{
"id": "dancer",
"name": "Dancer",
"done": "yes",
"price": 500,
"tags": "fuchsia",
@@ -152,19 +151,12 @@
"tags": "medium, untied, spiky, thick, npc,",
"howToGet": "garys mom in their house (lol)?"
},
{
"id": "glitzerset",
"name": "Pomeg Cut",
"description": "A cute cut that is styled like a Pomeg berry!",
"price": 2000,
"tags": "kin"
},
{
"id": "happinysuit",
"name": "Playhouse Ponytail",
"name": "Curled Happiny Ponytail",
"description": "A cute curly ponytail styled just like a Happiny. A wonderfully charming style for any fans of Baby Pokémon.",
"len": 108,
"price": 3000,
"price": 5000,
"tags": "long, tied, smooth, pokemon,",
"howToGet": "quest?"
},
@@ -180,7 +172,6 @@
},
{
"id": "highbun",
"name": "High-bun",
"done": "yes",
"price": 500,
"tags": "default"
@@ -203,10 +194,7 @@
},
{
"id": "ho-oh",
"name": "Phoenix Crest",
"description": "A bold, fiery style featuring a high, curved ponytail resembling the sweeping feathers of Ho-Oh.",
"price": 5000,
"howToGet": "saffron boutique"
"price": 5000
},
{
"id": "janine",
@@ -219,10 +207,7 @@
"howToGet": "fuchsia city salon"
},
{
"id": "jessie",
"name": "Rocket Wave",
"description": "A dramatic, sleek style with ultra-long hair swept back into a high, gravity-defying wave.",
"price": 2000
"id": "jessie"
},
{
"id": "kurt",
@@ -309,15 +294,10 @@
"name": "Lunar Cut",
"description": "A bob cut shaped like a crescent moon, with a sleek, curved silhouette.",
"price": 5000,
"tags": "special",
"howToGet": "quest? cresselia outfit"
},
{
"id": "lycanrocshorthair",
"name": "Lupine Cut",
"description": "A sleek cut that is reminiscent of a Lycanroc's mane",
"price": 3000,
"tags": "special"
"id": "lycanrocshorthair"
},
{
"id": "mawile",
@@ -449,7 +429,7 @@
"tags": "default,"
},
{
"id": "pompadour",
"id": "pompadourdelinquentoutfit",
"name": "Pompadour",
"price": 2000,
"tags": "violet,"
@@ -503,8 +483,7 @@
"howToGet": "Celadon special"
},
{
"id": "samurai",
"name": "Samurai"
"id": "samurai"
},
{
"id": "short1",
@@ -526,16 +505,12 @@
},
{
"id": "shortspike",
"name": "Short Spikes",
"done": "yes",
"price": 500,
"tags": "default,"
},
{
"id": "SpecialLatias",
"name": "Eon Bob",
"description": "A layered bob with long, outward curls, exuding a gentle and mysterious charm.",
"price": 5000
"id": "SpecialLatias"
},
{
"id": "vetf",

View File

@@ -142,7 +142,6 @@
"id": "carbink",
"name": "Carbink Headband",
"description": "A cute, rock-solid headband resembling Carbink.",
"done": "yes",
"price": 5000,
"tags": "hat,pokemon-carbink"
},
@@ -334,7 +333,6 @@
"id": "firefigther",
"name": "Firefighter Hat",
"description": "A safety helmet made for brave heroes who put their lives on the line every day.",
"done": "yes",
"price": 0,
"tags": "hat, cinnabar,",
"howToGet": "type trainer"
@@ -368,15 +366,6 @@
"tags": "hat,trainer",
"howToGet": "gym reward"
},
{
"id": "glitzerset",
"name": "Glitched Mask",
"description": "An odd mask that makes you look like you just stepped out of a corrupted save file. ",
"done": "yes",
"price": 10000,
"tags": "mask,special,",
"howToGet": "Obtained by defeating a Pokemon without a sprite"
},
{
"id": "glasses",
"name": "Round Glasses",
@@ -443,17 +432,9 @@
"done": "yes",
"len": 63,
"price": 10000,
"tags": "floating,pokemon-shedinja",
"tags": "floating,",
"howToGet": "reward for beating the ilex forest shedinja encounter? reward for showing a shedinja to someone?"
},
{
"id": "headlacecovering",
"name": "Lace Covering",
"description": "A delicate see-through lace covering that is worn over the head.",
"done": "yes",
"price": 4500,
"tags": "hat,vermillion"
},
{
"id": "headparas",
"name": "Head Paras",
@@ -609,7 +590,6 @@
"id": "ludicolosombrero",
"name": "Ludicolo Sombrero",
"description": "A festive Sombrero that is often worn during fiestas.",
"done": "yes",
"len": 53,
"price": 18000,
"tags": "hat,pokemon-lotad,pokemon-lombre,pokemon-ludicolo,weather-warm,"
@@ -628,7 +608,6 @@
"id": "lycanrochooddown",
"name": "Lycanroc Hood (down)",
"description": "A fluffy hood. Down for those who want a little sun.",
"done": "yes",
"price": 12000,
"tags": "pokemon-rockruff,pokemon-lycanroc_d,pokemon-lycanroc_n,"
},
@@ -636,7 +615,6 @@
"id": "lycanrochoodup",
"name": "Lycanroc Hood (up)",
"description": "A fluffy hood. Up for those who shy away from the sun",
"done": "yes",
"price": 12000,
"tags": "pokemon-rockruff,pokemon-lycanroc_d,pokemon-lycanroc_n,"
},
@@ -835,7 +813,7 @@
},
{
"id": "pikhatchuf",
"name": "Head Pikachu (F)",
"name": "Head Pikachu",
"description": "A female Pikachu that has taken a liking to perching atop a trainer's head.",
"done": "yes",
"len": 75,
@@ -845,7 +823,7 @@
},
{
"id": "pikhatchum",
"name": "Head Pikachu (M)",
"name": "Head Pikachu",
"description": "A male Pikachu that has taken a liking to perching atop a trainer's head.",
"done": "yes",
"len": 73,
@@ -980,14 +958,6 @@
"price": 4500,
"tags": "glasses,mask,pokemon-budew,pokemon-roselia,pokemon-roserade,celadon"
},
{
"id": "sableyemask",
"name": "Sableye Mask",
"description": "A creepy, gem-eyed disguise that lets you channel your inner trickster.",
"done": "yes",
"price": 4500,
"tags": "mask,pokemon-sableye"
},
{
"id": "sabrinasballs",
"name": "Levitating Balls",
@@ -1011,7 +981,6 @@
"id": "santa",
"name": "Festive Hat",
"description": "A warm, snug stocking cap worn during a festive holiday season.",
"done": "yes",
"price": 25000,
"tags": "hat,"
},
@@ -1054,14 +1023,6 @@
"price": 3500,
"tags": "hat,weather-cold,blackthorn,mahogany"
},
{
"id": "skittyTV",
"name": "Skitty TV",
"description": "A wearable TV themed like a Skitty. Use it to watch your battle replays!",
"price": 5000,
"tags": "hat,",
"howToGet": "goldenrod radio tower"
},
{
"id": "sleepmask",
"name": "Mareep Sleep Mask",
@@ -1179,14 +1140,6 @@
"price": 2500,
"tags": "glasses,violet,"
},
{
"id": "tvhead",
"name": "TV Head",
"description": "A TV worn as a helmet that could probably be used to watch replays of your battles... If only it worked!",
"done": "yes",
"price": 4500,
"tags": "hat,"
},
{
"id": "veteranM",
"name": "Black Flat Cap",
@@ -1210,7 +1163,6 @@
"id": "waterdress",
"name": "Straw Hat",
"description": "A simple hat made out of straw that is typically worn by bug-catchers.",
"done": "yes",
"price": 1500,
"tags": "hat,pewter,",
"howToGet": "trainer clothing store?"

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,2 @@
1739029866
1739029866
1739029866
1739029871
1736572429
1736572463

View File

@@ -1,79 +1,18 @@
Graphics/CustomBattlers/spritesheets/spritesheets_base/4.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/16.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/475.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/250.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/250/250.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/420/420.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/25/25.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/135.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/209.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/209/209a.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/232/232.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/47/47b.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/227/227.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/137/137.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/47/47a.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/47/47.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/248.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/449.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/449/449.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/137/137a.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/222/222a.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/43.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/301.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/114.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/114/114.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/294/294.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/25.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/199.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/321.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/321/321.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/451/451.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/287.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/374.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/374/374b.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/233/233.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/161/161.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/260/260.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/240.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/46.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/46/46.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/418.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/412.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/412/412.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/315.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/371.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/371/371.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/386.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/1.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/1/1.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/254.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/255.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/170.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/398.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/398/398.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/413.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/263.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/263/263.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/242.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/411.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/411/411.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/19.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/163.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/255.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/34.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/34/34.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/163/163.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/233/233.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/185.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/344.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/344/344.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/184.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/385.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/424.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/339.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/339/339.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/83.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/468.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/225.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/225/225.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/206.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/206/206.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/240.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/296.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/296/296.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/287.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/69.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/69/69.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/30.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/465.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/465/465.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/36.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/264.png
Graphics/CustomBattlers/spritesheets/spritesheets_custom/264/264.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/77.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/109.png
Graphics/CustomBattlers/spritesheets/spritesheets_base/75.png

1
Game.rxproj Normal file
View File

@@ -0,0 +1 @@
RPGXP 1.01

BIN
Graphics/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -1,5 +0,0 @@
IMPORTANT:
- The items are named this way to note they are a set but in game it'd be good to clarify what all three are
Outfit - "Glitzer" (due to being based on the "Glitzer Popping" exploit)
Hair - "Pomeg Cut" (Pomeg berries are related to the exploit)
Hat - "Decamark" (also related)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

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