diff --git a/args/challenges.py b/args/challenges.py index 12bd61db..8a5b1194 100644 --- a/args/challenges.py +++ b/args/challenges.py @@ -24,6 +24,8 @@ def parse(parser): help = "Life spells cannot be learned. Fenix Downs unavailable (except from starting items). Buckets/inns/tents/events do not revive characters. Phoenix casts Life 3 on party instead of Life") challenges.add_argument("-rls", "--remove-learnable-spells", type = str, help = "Remove spells from learnable sources: Items, Espers, Natural Magic, and Objectives") + challenges.add_argument("-nre", "--no-random-encounters", action = "store_true", + help="Turn off random encounters") def process(args): from constants.spells import black_magic_ids, white_magic_ids, gray_magic_ids, spell_id @@ -86,6 +88,8 @@ def flags(args): flags += " -pd" if args.remove_learnable_spells: flags += f" -rls {args.remove_learnable_spells}" + if args.no_random_encounters: + flags += " -nre" return flags @@ -106,6 +110,7 @@ def options(args): ("Permadeath", args.permadeath), ("Ultima", ultima), ("Remove Learnable Spells", args.remove_learnable_spell_ids), + ("No Random Encounters", args.no_random_encounters), ] return opts @@ -116,6 +121,13 @@ def _format_spells_log_entries(spell_ids): spell_entries.append(("", id_spell[spell_id])) return spell_entries +def _format_spells_log_entries(spell_ids): + from constants.spells import id_spell + spell_entries = [] + for spell_id in spell_ids: + spell_entries.append(("", id_spell[spell_id])) + return spell_entries + def menu(args): from menus.flags_remove_learnable_spells import FlagsRemoveLearnableSpells diff --git a/args/chests.py b/args/chests.py index dfefa4e7..8dee8248 100644 --- a/args/chests.py +++ b/args/chests.py @@ -14,14 +14,27 @@ def parse(parser): help = "Chest contents randomized by tier. Probability of higher tiers begins low and increases as more chests are opened") chests_contents.add_argument("-cce", "--chest-contents-empty", action = "store_true", help = "Chest contents empty") + chests_contents.add_argument("-cam", "--chest-all-monsters", default = None, type = int, + metavar = "PERCENT", choices = range(101), + help="Chest contents all monster-in-a-boxes and given percent bosses") chests.add_argument("-cms", "--chest-monsters-shuffle", action = "store_true", help = "Monsters-in-a-box shuffled but locations unchanged") + chests.add_argument("-ntc", "--no-trash-chests", action = "store_true", + help="Replace Low Tier Items with gold in chests") + + + + def process(args): if args.chest_contents_shuffle_random is not None: args.chest_contents_shuffle_random_percent = args.chest_contents_shuffle_random args.chest_contents_shuffle_random = True + if args.chest_all_monsters is not None: + args.chest_all_monsters_boss_percent = args.chest_all_monsters + args.chest_all_monsters = True + args.chest_mosters_shuffle = False # Chest_all_monsters supercedes chest_monsters_shuffle def flags(args): flags = "" @@ -34,9 +47,13 @@ def flags(args): flags += " -ccrs" elif args.chest_contents_empty: flags += " -cce" + elif args.chest_all_monsters: + flags += f" -cam {args.chest_all_monsters_boss_percent}" if args.chest_monsters_shuffle: flags += " -cms" + if args.no_trash_chests: + flags += " -ntc" return flags @@ -52,11 +69,21 @@ def options(args): contents_value = "Random Scaled" elif args.chest_contents_empty: contents_value = "Empty" + elif args.chest_all_monsters: + contents_value = "All MiaB" result.append(("Contents", contents_value)) if args.chest_contents_shuffle_random: result.append(("Random Percent", f"{args.chest_contents_shuffle_random_percent}%")) - result.append(("Monsters-In-A-Box Shuffled", args.chest_monsters_shuffle)) + elif args.chest_all_monsters: + result.append(("Boss Percent", f"{args.chest_all_monsters_boss_percent}%")) + + if not args.chest_all_monsters: + result.append(("MIAB Shuffled", args.chest_monsters_shuffle)) + + if args.no_trash_chests: + result.append(("No Trash Chests", args.no_trash_chests)) + return result @@ -68,7 +95,7 @@ def menu(args): del entries[1] # delete random percent line else: entries[0] = (entries[0][1], "") - entries[1] = ("MIAB Shuffled", entries[1][1]) + return (name(), entries) def log(args): diff --git a/args/coliseum.py b/args/coliseum.py index 83531e74..6b34eb1b 100644 --- a/args/coliseum.py +++ b/args/coliseum.py @@ -7,16 +7,20 @@ def parse(parser): coliseum = parser.add_argument_group("Coliseum") coliseum_opponents = coliseum.add_mutually_exclusive_group() - coliseum_opponents.add_argument("-cos", "--coliseum-opponents-shuffle", action = "store_true", - help = "Coliseum opponents shuffled") - coliseum_opponents.add_argument("-cor", "--coliseum-opponents-random", action = "store_true", - help = "Coliseum opponents randomized") + coliseum_opponents.add_argument("-cor", "--coliseum-opponents-random", nargs='?', const=100, default = None, type = int, + metavar = "PERCENT", choices = range(101), + help = "Coliseum opponents original with a given percent randomized") + coliseum_opponents.add_argument("-cosr", "--coliseum-opponents-shuffle-random", default = None, type = int, + metavar = "PERCENT", choices = range(101), + help = "Coliseum opponents shuffled and then given percent randomized") coliseum_rewards = coliseum.add_mutually_exclusive_group() - coliseum_rewards.add_argument("-crs", "--coliseum-rewards-shuffle", action = "store_true", - help = "Coliseum rewards shuffled") - coliseum_rewards.add_argument("-crr", "--coliseum-rewards-random", action = "store_true", - help = "Coliseum rewards randomized") + coliseum_rewards.add_argument("-crr", "--coliseum-rewards-random", default = None, type = int, + metavar = "PERCENT", choices = range(101), + help = "Coliseum rewards original with a given percent randomized") + coliseum_rewards.add_argument("-crsr", "--coliseum-rewards-shuffle-random", default = None, type = int, + metavar = "PERCENT", choices = range(101), + help = "Coliseum rewards shuffled and then a given percent randomized") coliseum.add_argument("-crvr", "--coliseum-rewards-visible-random", default = None, type = int, nargs = 2, metavar = ("MIN", "MAX"), choices = range(ITEM_COUNT), @@ -34,16 +38,15 @@ def process(args): def flags(args): flags = "" + if args.coliseum_opponents_random: + flags += f" -cor {args.coliseum_opponents_random}" + elif args.coliseum_opponents_shuffle_random: + flags += f" -cor {args.coliseum_opponents_shuffle_random}" - if args.coliseum_opponents_shuffle: - flags += " -cos" - elif args.coliseum_opponents_random: - flags += " -cor" - - if args.coliseum_rewards_shuffle: - flags += " -crs" - elif args.coliseum_rewards_random: - flags += " -crr" + if args.coliseum_rewards_random: + flags += f" -crr {args.coliseum_rewards_random}" + elif args.coliseum_rewards_shuffle_random: + flags += f" -crr {args.coliseum_rewards_shuffle_random}" if args.coliseum_rewards_visible_random: flags += f" -crvr {args.coliseum_rewards_visible_random_min} {args.coliseum_rewards_visible_random_max}" @@ -62,15 +65,11 @@ def options(args): result = [] opponents = "Original" - if args.coliseum_opponents_shuffle: - opponents = "Shuffle" - elif args.coliseum_opponents_random: + if args.coliseum_opponents_random: opponents = "Random" rewards = "Original" - if args.coliseum_rewards_shuffle: - rewards = "Shuffle" - elif args.coliseum_rewards_random: + if args.coliseum_rewards_random: rewards = "Random" rewards_visible = "Original" diff --git a/args/items.py b/args/items.py index b97737ce..eed7a77f 100644 --- a/args/items.py +++ b/args/items.py @@ -49,6 +49,8 @@ def parse(parser): items.add_argument("-saw", "--stronger-atma-weapon", action = "store_true", help = "Atma Weapon moved to higher tier and divisor reduced from 64 to 32") + + def process(args): args._process_min_max("item_equipable_random") if args.item_equipable_balanced_random is not None: @@ -108,6 +110,7 @@ def flags(args): if args.stronger_atma_weapon: flags += " -saw" + return flags def options(args): diff --git a/args/misc.py b/args/misc.py index 4509656e..0c83c403 100644 --- a/args/misc.py +++ b/args/misc.py @@ -16,7 +16,6 @@ def parse(parser): help = "All enemies scannable. All characters start with scan learned. Scan costs 0 MP. Useful for testing/debugging") misc.add_argument("-warp", "--warp-all", action = "store_true", help = "All characters start with Warp learned. Warp costs 0 MP. Useful for seeds that limit Warp Stone access") - misc.add_argument("-npctips", "--npc-dialog-tips", action = "store_true", help = "NPC provide general game tips") @@ -82,7 +81,10 @@ def flags(args): flags += " -scan" if args.warp_all: flags += " -warp" + if args.npc_dialog_tips: + flags += " -npctips" + ### NPC tips if args.npc_dialog_tips: flags += " -npctips" diff --git a/args/shops.py b/args/shops.py index 1ab2dab7..771e0b2a 100644 --- a/args/shops.py +++ b/args/shops.py @@ -53,6 +53,9 @@ def parse(parser): shops.add_argument("-snil", "--shops-no-illuminas", action = "store_true", help = "Illuminas not sold in shops") + shops.add_argument("-nts", "--no-trash-shops", action = "store_true", + help="Omit Low tier items in shops") + def process(args): if args.shop_inventory_shuffle_random is not None: args.shop_inventory_shuffle_random_percent = args.shop_inventory_shuffle_random @@ -106,6 +109,9 @@ def flags(args): if args.shops_no_illuminas: flags += " -snil" + if args.no_trash_shops: + flags += " -nts" + return flags def options(args): @@ -159,6 +165,7 @@ def options(args): ("Expensive Balls", args.shops_expensive_super_balls), ("No Exp. Eggs", args.shops_no_exp_eggs), ("No Illuminas", args.shops_no_illuminas), + ("No Trash Shops", args.no_trash_shops) ]) return result diff --git a/args/starting_gold_items.py b/args/starting_gold_items.py index 371e73a6..2faa23d9 100644 --- a/args/starting_gold_items.py +++ b/args/starting_gold_items.py @@ -52,6 +52,7 @@ def options(args): ("Start Warp Stones", args.start_warp_stones), ("Start Fenix Downs", args.start_fenix_downs), ("Start Tools", args.start_tools), + ("Start Junk", args.start_junk), ] if args.start_junk != 0: diff --git a/args/steal.py b/args/steal.py index baffee98..bd3b5c81 100644 --- a/args/steal.py +++ b/args/steal.py @@ -10,7 +10,14 @@ def parse(parser): steal_chances.add_argument("-sca", "--steal-chances-always", action = "store_true", help = "Steal will always succeed if enemy has an item") + steal.add_argument("-ssd", "--shuffle-steals-drops", default = None, type = int, + metavar = "PERCENT", choices = range(101), + help="Shuffle items stolen and dropped with randomized percent") + def process(args): + if args.shuffle_steals_drops is not None: + args.shuffle_steals_drops_random_percent = args.shuffle_steals_drops + args.shuffle_steals_drops = True pass def flags(args): @@ -20,19 +27,27 @@ def flags(args): flags += " -sch" if args.steal_chances_always: flags += " -sca" + if args.shuffle_steals_drops: + flags += f" -ssd {args.shuffle_steals_drops_random_percent}" return flags def options(args): + result = [] + steal_chances = "Original" if args.steal_chances_higher: steal_chances = "Higher" if args.steal_chances_always: steal_chances = "Always" - return [ - ("Chances", steal_chances), - ] + result.append(("Chances", steal_chances)) + + result.append(("Shuffle steals & drops", args.shuffle_steals_drops)) + if args.shuffle_steals_drops: + result.append(("Random Percent:", f"{args.shuffle_steals_drops_random_percent}%")) + + return result def menu(args): return (name(), options(args)) diff --git a/constants/items.py b/constants/items.py index 4617dedb..ef51fe93 100644 --- a/constants/items.py +++ b/constants/items.py @@ -295,3 +295,25 @@ "Marvel Shoes", "Exp. Egg", ] + +## TRASH LIST https://docs.google.com/spreadsheets/d/1Cit5Xl_TCBPFI4q1NEVQhSYGH1wKY9st_1yee3lzCP8/edit#gid=0 + +TRASH_WEAPONS = [ + "Dirk", "MithrilKnife", "Guardian", "MithrilBlade", "RegalCutlass", "Crystal", "Mithril Pike", + "Stout Spear", "Imperial", "Kodachi", "Hardened", "Ashura", "Kotetsu", "Forged", + "Aura", "Strato", "Punisher", "MetalKnuckle", "Mithril Claw", "Kaiser", + "Flail", "Morning Star", "Full Moon", "Boomerang", "Rising Sun", "Cards", "Darts", "Chocobo Brsh", + ] + +TRASH_ARMOR = ["Buckler", "Mithril Shld", "Heavy Shld", "Gold Shld", "Leather Hat", "Plumed Hat", "Bandana", + "Iron Helmet", "Mithril Helm", "Gold Helmet", "LeatherArmor", "Kung Fu Suit", "Mithril Vest", + "Diamond Vest", "Cotton Robe", "Silk Robe", "Iron Armor", + "DiamondArmor", "Crystal Mail", "Gold Armor", + "Mithril Mail" +] +TRASH_RElICS = ["Charm Bangle", "Coin Toss", "FakeMustache"] + + +TRASH_ITEMS = TRASH_WEAPONS + TRASH_ARMOR + TRASH_RElICS + +TRASH_IDS = [name_id.get(value) for value in TRASH_ITEMS] diff --git a/data/character.py b/data/character.py index cabaa67c..db012726 100644 --- a/data/character.py +++ b/data/character.py @@ -25,8 +25,8 @@ def __init__(self, id, init_data, name_data): self.init_magic_evasion = init_data[14] self.init_right_hand = init_data[15] self.init_left_hand = init_data[16] - self.init_body = init_data[17] - self.init_head = init_data[18] + self.init_body = init_data[18] # https://discord.com/channels/666661907628949504/931737764205047858/1069220818300698675 + self.init_head = init_data[17] self.init_relic1 = init_data[19] self.init_relic2 = init_data[20] self._init_run_success = init_data[21] & 0x03 @@ -51,8 +51,8 @@ def init_data(self): init_data[14] = self.init_magic_evasion init_data[15] = self.init_right_hand init_data[16] = self.init_left_hand - init_data[17] = self.init_body - init_data[18] = self.init_head + init_data[18] = self.init_body + init_data[17] = self.init_head init_data[19] = self.init_relic1 init_data[20] = self.init_relic2 init_data[21] = self._init_run_success diff --git a/data/chests.py b/data/chests.py index d80f8234..6743bb31 100644 --- a/data/chests.py +++ b/data/chests.py @@ -1,5 +1,6 @@ from data.chest import Chest import data.chests_asm as chests_asm +from data.item import Item from data.structures import DataArrays import random @@ -105,6 +106,27 @@ def shuffle_random(self): elif chest.type == Chest.ITEM: chest.contents = self.items.get_random() + if self.args.no_trash_chests: + if self.args.shop_sell_fraction4: + sell_factor = 1/4 + elif self.args.shop_sell_fraction8: + sell_factor = 1 / 8 + elif self.args.shop_sell_fraction0: + sell_factor = 0 + else: + sell_factor = 1/2 + for chest in possible_chests: + if not chest.type == Chest.ITEM: + continue + item = Item(chest.contents, self.rom) + if item.is_trash: + item_chest_value = int(min((item.price * sell_factor)//100, Chest.MAX_GOLD_VALUE)) + if not item.sell_gold_value: + chest.type = Chest.EMPTY + chest.type = Chest.GOLD + chest.contents = item_chest_value + + def random_tiered(self): def get_item(tiers, tier_s_distribution): from data.chest_item_tiers import weights @@ -194,6 +216,18 @@ def random_scaled(self): chests_asm.scale_gold(gold_bits, self.gold_contents) + def chest_all_monsters(self, boss_percent): + from data.enemy_battle_groups import event_battle_groups_to_avoid, boss_event_battle_groups + MIAB_noboss = [a for a in range(256) if a not in event_battle_groups_to_avoid and a not in boss_event_battle_groups] + MIAB_boss = [a for a in range(256) if a in boss_event_battle_groups] + for chest in self.chests: + chest.type = Chest.MONSTER + is_boss = (random.random()*100 < boss_percent) + if is_boss: + chest.contents = random.choice(MIAB_boss) + else: + chest.contents = random.choice(MIAB_noboss) + def clear_contents(self): for chest in self.chests: if chest.type == Chest.ITEM or chest.type == Chest.GOLD: @@ -274,6 +308,8 @@ def mod(self): self.random_scaled() elif self.args.chest_contents_empty: self.clear_contents() + elif self.args.chest_all_monsters: + self.chest_all_monsters(self.args.chest_all_monsters_boss_percent) else: self.remove_excluded_items() diff --git a/data/coliseum.py b/data/coliseum.py index 095f6a2f..ebb65909 100644 --- a/data/coliseum.py +++ b/data/coliseum.py @@ -30,9 +30,11 @@ def shuffle_opponents(self): for match_index, match in enumerate(self.matches): match.opponent = opponents[match_index] - def randomize_opponents(self): + def randomize_opponents(self, random_opponent_percent = None): + import random + for match in self.matches: - match.opponent = self.enemies.get_random() + match.opponent = self.enemies.get_random() if random_opponent_percent is not None and (random.random() < random_opponent_percent) else match.opponent def shuffle_rewards(self): rewards = [] @@ -44,9 +46,11 @@ def shuffle_rewards(self): for match_index, match in enumerate(self.matches): match.reward = rewards[match_index] - def randomize_rewards(self): + def randomize_rewards(self, random_reward_percent = None): + import random + for match in self.matches: - match.reward = self.items.get_random() + match.reward = self.items.get_random() if random_reward_percent is not None and (random.random() < random_reward_percent) else match.reward def remove_excluded_items(self): import random @@ -76,15 +80,17 @@ def randomize_rewards_hidden(self): self.matches[match_index].reward_hidden = 1 def mod(self): - if self.args.coliseum_opponents_shuffle: + if self.args.coliseum_opponents_random: + self.randomize_opponents(self.args.coliseum_opponents_random / 100.0) + elif self.args.coliseum_opponents_shuffle_random: self.shuffle_opponents() - elif self.args.coliseum_opponents_random: - self.randomize_opponents() + self.randomize_opponents(self.args.coliseum_opponents_shuffle_random / 100.0) - if self.args.coliseum_rewards_shuffle: + if self.args.coliseum_rewards_random: + self.randomize_rewards(self.args.coliseum_rewards_random / 100.0) + elif self.args.coliseum_rewards_shuffle_random: self.shuffle_rewards() - elif self.args.coliseum_rewards_random: - self.randomize_rewards() + self.randomize_rewards(self.args.coliseum_rewards_shuffle_random / 100.0) self.remove_excluded_items() diff --git a/data/data.py b/data/data.py index 1d22f42e..3624b986 100644 --- a/data/data.py +++ b/data/data.py @@ -38,7 +38,7 @@ def __init__(self, rom, args): self.maps = maps.Maps(rom, args, self.items) self.maps.mod(self.characters) - self.enemies = enemies.Enemies(rom, args) + self.enemies = enemies.Enemies(rom, args, self.items) self.enemies.mod(self.maps) self.swdtechs = swdtechs.SwdTechs(rom, args, self.characters) diff --git a/data/enemies.py b/data/enemies.py index 2e686a6f..66d12256 100644 --- a/data/enemies.py +++ b/data/enemies.py @@ -29,9 +29,10 @@ class Enemies(): SRBEHEMOTH2_ID = 127 INVINCIBLE_GUARDIAN_ID = 273 - def __init__(self, rom, args): + def __init__(self, rom, args, items=[]): self.rom = rom self.args = args + self.items = items self.enemy_data = DataArray(self.rom, self.DATA_START, self.DATA_END, self.DATA_SIZE) self.enemy_name_data = DataArray(self.rom, self.NAMES_START, self.NAMES_END, self.NAME_SIZE) @@ -305,6 +306,49 @@ def randomize_encounters(self, maps): self.packs.randomize_packs(packs, boss_percent) + def randomize_loot(self): + for enemy in self.enemies: + self.set_common_steal(enemy.id, self.items.get_random()) + self.set_rare_steal(enemy.id, self.items.get_random()) + self.set_common_drop(enemy.id, self.items.get_random()) + self.set_rare_drop(enemy.id, self.items.get_random()) + + def shuffle_steals_drops_random(self): + import random + + # Assemble the list of steals and drops + steals_drops = [] + for enemy in self.enemies: + if len(enemy.name) > 0: + loot_list = [enemy.steal_common, enemy.steal_rare, enemy.drop_common, enemy.drop_rare] + steals_drops.extend(loot_list) + + # Randomize the requested number + random_percent = self.args.shuffle_steals_drops_random_percent / 100.0 + number_random = int(random_percent * len(steals_drops)) + which_random = [a for a in range(len(steals_drops))] + random.shuffle(which_random) + for id in range(number_random): + steals_drops[which_random[id]] = self.items.get_random() + + # Shuffle list & reassign to enemies + random.shuffle(steals_drops) + for enemy in self.enemies: + if len(enemy.name) > 0: + self.set_common_steal(enemy.id, steals_drops.pop(0)) + self.set_rare_steal(enemy.id, steals_drops.pop(0)) + self.set_common_drop(enemy.id, steals_drops.pop(0)) + self.set_rare_drop(enemy.id, steals_drops.pop(0)) + + def pad_enemy_packs(self): + from data.enemy_battle_groups import unused_event_battle_groups + for pack in self.packs.packs: + if pack.FORMATION_COUNT == 2: + if (pack.formations == [0, 0] and pack.id > 0) or (pack.id in unused_event_battle_groups): + # Add random formations to the empty pack + this_formation = self.formations.get_random_normal() + pack.formations = [this_formation, this_formation] + def set_escapable(self): import random @@ -330,6 +374,12 @@ def mod(self, maps): if self.args.boss_normalize_distort_stats: self.boss_normalize_distort_stats() + if self.args.shuffle_steals_drops: + self.shuffle_steals_drops_random() + + if self.args.chest_all_monsters: + self.pad_enemy_packs() + if self.args.permadeath: self.remove_fenix_downs() diff --git a/data/enemy_battle_groups.py b/data/enemy_battle_groups.py new file mode 100644 index 00000000..82fa3974 --- /dev/null +++ b/data/enemy_battle_groups.py @@ -0,0 +1,88 @@ +unused_event_battle_groups = [ + 49, # Empty + 50, # Empty + 51, # Empty + 52, # Empty + 54, # Empty + 56, # Empty + 60, # Empty + 61, # Empty + 62, # Empty + 75, # Unbeatable Guardian + 77, # Tritoch (Vicks/Wedge/Terra) + 78, # Tritoch (Terra) + 97, # Empty + 105, # Empty + 106, # Empty + 120, # Tritoch (repeat) + 121, # Empty + 122, # Empty + 123, # Empty + 124, # Kefka (Thamasa) + 127, # Empty + 128, # Phunbaba 1 + 129 # Phunbaba 2 +] + +event_battle_groups_to_avoid = [ + 53, # Zone Eater + 83, # Kefka (final) + 101 # Face/Long Arm/Short Arm +] + +boss_event_battle_groups = [ + 6, # 'Marshal', 'Marshal' + 18, # 'Rizopas', 'Rizopas' + 46, # 'Leader', 'Leader' + 57, # 'Kefka (Narshe)', 'Kefka (Narshe)' + 63, # 'Atma', 'Atma' + 64, # 'Whelk', 'Whelk' + 66, # 'Vargas', 'Vargas' + 67, # 'TunnelArmr', 'TunnelArmr' + 68, # 'GhostTrain', 'GhostTrain' + 69, # 'Dadaluma', 'Dadaluma' + 70, # 'Ifrit/Shiva', 'Ifrit/Shiva' + 71, # 'Cranes', 'Cranes' + 72, # 'Number 024', 'Number 024' + 73, # 'Number 128', 'Number 128' + 74, # 'Umaro', 'Umaro' + 76, # 'Guardian', 'Guardian' + 79, # 'FlameEater', 'FlameEater' + 80, # 'AtmaWeapon', 'AtmaWeapon' + 81, # 'Nerapa', 'Nerapa' + 82, # 'SrBehemoth', 'SrBehemoth' + 84, # 'Tentacles', 'Tentacles' + 85, # 'Dullahan', 'Dullahan' + 86, # 'Chadarnook', 'Chadarnook' + 87, # 'Prometheus', 'Prometheus' + 88, # 'Dirt Drgn', 'Dirt Drgn' + 89, # 'Air Force', 'Air Force' + 90, # 'Stooges', 'Stooges' + 92, # 'Wrexsoul', 'Wrexsoul' + 93, # 'Doom Gaze', 'Doom Gaze' + 94, # 'Hidon', 'Hidon' + 98, # 'Doom', 'Doom' + 99, # 'Goddess', 'Goddess' + 100, # 'Poltrgeist', 'Poltrgeist' + 103, # 'Ultros 1', 'Ultros 1' + 104, # 'Ultros 2', 'Ultros 2' + 107, # 'Ultros/Chupon', 'Ultros/Chupon' + 111, # 'White Drgn', 'White Drgn' + 112, # 'Atma', 'Atma' + 114, # 'Inferno', 'Inferno' + 117, # 'Umaro', 'Umaro' + 119, # 'Tritoch', 'Tritoch' + 125, # 'Ultros 3', 'Ultros 3' + 130, # 'Phunbaba 3', 'Phunbaba 3' + 131, # 'Phunbaba 4', 'Phunbaba 4' + 132, # 'Ice Dragon', 'Ice Dragon' + 133, # 'Storm Drgn', 'Storm Drgn' + 134, # 'Dirt Drgn', 'Dirt Drgn' + 135, # 'Gold Drgn', 'Gold Drgn' + 136, # 'Skull Drgn', 'Skull Drgn' + 137, # 'Blue Drgn', 'Blue Drgn' + 138, # 'Red Dragon', 'Red Dragon' + 139, # 'White Drgn', 'White Drgn' + 140, # 'Guardian', 'Guardian' + 145 # 'MagiMaster', 'MagiMaster' +] \ No newline at end of file diff --git a/data/item.py b/data/item.py index 578f4048..263b4e5f 100644 --- a/data/item.py +++ b/data/item.py @@ -1,4 +1,5 @@ import data.text as text +from constants.items import TRASH_IDS from data.text.text2 import text_value, value_text class Item(): @@ -11,15 +12,20 @@ class Item(): ITEM_TYPE_COUNT = 7 TOOL, WEAPON, ARMOR, SHIELD, HELMET, RELIC, ITEM = range(ITEM_TYPE_COUNT) - def __init__(self, id, rom): + def __init__(self, id, rom, desc_data): self.rom = rom self.id = id self.name_addr = self.NAMES_START_ADDR + self.id * self.NAME_LENGTH self.data_addr = self.DATA_START_ADDR + self.id * self.DATA_SIZE + self.desc_data = desc_data self.read() + @property + def is_trash(self): + return self.id in TRASH_IDS + def is_equipable(self): return self.equipable_characters @@ -42,6 +48,14 @@ def remove_learnable_spell(self): self.learnable_spell = 0 self.learnable_spell_rate = 0 + def get_desc_data(self): + return text.get_bytes(self.desc, text.TEXT2) + + @property + def sell_gold_value(self): + ## half price for sell and //100 + return self.price//200 + def scale_price(self, factor): self.price = int(self.price * factor) self.price = max(min(self.price, 2**16 - 1), 0) @@ -50,6 +64,7 @@ def read(self): name_bytes = self.rom.get_bytes(self.name_addr, self.NAME_LENGTH) self.icon = value_text[name_bytes[0]] self.name = text.get_string(name_bytes[1:], text.TEXT2).rstrip('\0') + self.desc = text.get_string(self.desc_data, text.TEXT2).rstrip('\0') data = self.rom.get_bytes(self.data_addr, self.DATA_SIZE) self.type = data[0] & 0x07 diff --git a/data/items.py b/data/items.py index 06c5270d..a74d2917 100644 --- a/data/items.py +++ b/data/items.py @@ -1,10 +1,12 @@ import args, random from data.item import Item +from data.structures import DataList from constants.items import good_items from constants.items import id_name, name_id import data.items_asm as items_asm +import data.text as text class Items(): ITEM_COUNT = 256 @@ -13,6 +15,12 @@ class Items(): BREAKABLE_RODS = range(53, 59) ELEMENTAL_SHIELDS = range(96, 99) + DESC_PTRS_START = 0x2d7aa0 + DESC_PTRS_END = 0x2d7c9f + + DESC_START = 0x2d6400 + DESC_END = 0x2d779f + GOOD = [name_id[name] for name in good_items] if args.stronger_atma_weapon: GOOD.append(name_id["Atma Weapon"]) @@ -29,6 +37,10 @@ def __init__(self, rom, args, dialogs, characters): self.dialogs = dialogs self.characters = characters + self.desc_data = DataList(self.rom, self.DESC_PTRS_START, self.DESC_PTRS_END, + self.rom.SHORT_PTR_SIZE, self.DESC_START, + self.DESC_START, self.DESC_END) + self.read() def read(self): @@ -37,7 +49,7 @@ def read(self): Item.SHIELD : [], Item.HELMET : [], Item.RELIC : [], Item.ITEM : []} for item_index in range(self.ITEM_COUNT): - item = Item(item_index, self.rom) + item = Item(item_index, self.rom, self.desc_data[item_index]) self.items.append(item) @@ -187,6 +199,13 @@ def moogle_starting_equipment(self): self.characters.characters[index].init_body = random.choice(tiers[Item.ARMOR][1]) self.characters.characters[index].init_head = random.choice(tiers[Item.HELMET][1]) + def moogle_curse(self): + # If using -no-random-encounters, the Moogle Charm becomes the Moogle Curse + # (enables random encounters on world map). Update the name and description. + moogle_charm = self.items[name_id["Moogle Charm"]] + moogle_charm.name = "Moogle Curse" + moogle_charm.desc = "Draw monsters on world map" + def mod(self): not_relic_condition = lambda x : x != Item.RELIC if self.args.item_equipable_random: @@ -261,9 +280,14 @@ def mod(self): self.moogle_starting_equipment() + if self.args.no_random_encounters: + self.moogle_curse() + def write(self): for item in self.items: item.write() + self.desc_data[item.id] = item.get_desc_data() + self.desc_data.write() def get_id(self, name): return name_id[name] diff --git a/data/lores.py b/data/lores.py index a9054f49..c4cfa602 100644 --- a/data/lores.py +++ b/data/lores.py @@ -15,7 +15,7 @@ class Lores: INITIAL_LORES_END = 0x26f566 NAMES_START = 0x26f9fd - NAMES_END = 0x26fb65 + NAMES_END = 0x26faec # https://discord.com/channels/666661907628949504/931737764205047858/1069100781216739328 NAME_SIZE = 10 DESC_PTRS_START = 0x2d7a70 @@ -213,10 +213,50 @@ def random_lx_levels(self, dialogs): battle_message = re.sub('', '“', lore.desc) dialogs.set_battle_message_text(self.DIALOG_OFFSET + lore_index, battle_message) + def show_mp_mod(self): + # Show Party member MP in menus if they have Lore, even if they don't know any Magic + # Thanks to Lenophis for most of this work: https://discord.com/channels/666661907628949504/931737764205047858/1054557544942673940 + src = [ + asm.JSR(0x30d2b, asm.ABS), # check to see if this character knows magic; this is displaced code + asm.BCS("magic_exit"), + # if we are at this point, we have a magic command but no magic. + # so now we are going to do a back-up check and see if a secondary command is present so MP can be shown + # if not, it will be grayed out as normal + asm.LDY(0x67, asm.DIR), # this gets set earlier in our route. Let's pull this character's index again for our back-up check + asm.LDX(0x0000, asm.IMM16), + "command_loop", + asm.LDA(0x0016, asm.ABS_Y), + asm.CMP(0x0C, asm.IMM8), # Lore + asm.BEQ("command_ok"), + asm.INY(), + asm.INX(), + asm.CPX(0x0004, asm.IMM16), # have we done 4 commands yet? + asm.BNE("command_loop"), # branch if not + # if we have exited the loop with no match, we need to flag MP to not show up + asm.CLC(), + asm.RTS(), + "command_ok", + # at this point, we have matched supplemental command, so let's flag MP as ok to show up + asm.SEC(), + "magic_exit", + asm.RTS(), + ] + space = Write(Bank.C3, src, "check for Lore") + mp_hook = space.start_address + space = Reserve(0x30cb7, 0x30cb9, "check for magic command") + space.write( + asm.JSR(mp_hook, asm.ABS), + ) + space = Reserve(0x36134, 0x36136, "check for magic command 2") + space.write( + asm.JSR(mp_hook, asm.ABS), + ) + def mod(self, dialogs): self.write_learners_table() self.write_is_learner() self.after_battle_check_mod() + self.show_mp_mod() if self.args.start_lores_random: self.start_random_lores() diff --git a/data/shops.py b/data/shops.py index a78d4c0b..264efb75 100644 --- a/data/shops.py +++ b/data/shops.py @@ -1,3 +1,5 @@ +from constants.items import TRASH_IDS +from data.item import Item from data.shop import Shop from data.structures import DataArray @@ -226,6 +228,8 @@ def remove_excluded_items(self): exclude.append(self.items.get_id("Exp. Egg")) if self.args.shops_no_illuminas: exclude.append(self.items.get_id("Illumina")) + if self.args.no_trash_shops: + exclude.extend(TRASH_IDS) for shop in self.shops: for item in exclude: diff --git a/event/auction_house.py b/event/auction_house.py index 82fc0a53..6d5780ba 100644 --- a/event/auction_house.py +++ b/event/auction_house.py @@ -118,9 +118,9 @@ def mod(self): def get_reward_announce_dialog(self, name, start_price, item): if item: - reward_dialog = '“' + name + '“!' + reward_dialog = '“' + name + '”!' #https://discord.com/channels/666661907628949504/666811452350398493/1085018091844554832 else: - reward_dialog = 'The Magicite, “' + name + '“!' + reward_dialog = 'The Magicite, “' + name + '”!' # keep auctioneer dialog somewhat centered with new esper/item names # looks like about 32 characters on a line (32 is just an estimate, it is not monospace) diff --git a/event/mt_kolts.py b/event/mt_kolts.py index cbaff87d..cd5cea9d 100644 --- a/event/mt_kolts.py +++ b/event/mt_kolts.py @@ -21,6 +21,7 @@ def mod(self): self.shadow_vargas_mod() self.vargas_battle_mod() self.entrance_exit_mod() + self.vargas_trigger_mod() if self.reward.type == RewardType.CHARACTER: self.character_mod(self.reward.id) @@ -139,6 +140,29 @@ def entrance_exit_mod(self): new_event.event_address = exit_move_airship - EVENT_CODE_START self.maps.add_event(0x64, new_event) + def vargas_trigger_mod(self): + # Vargas appears on the map 0x62 via 2 tile triggers. With B-Dash, players can outpace him leading to soft-locks. + # Change the 2 event tile triggers to a different location. + old_event = self.maps.get_event(0x62, 10, 32) # get existing event + + self.maps.delete_event(0x62, 10, 32) # vargas event tile (left) + self.maps.delete_event(0x62, 11, 32) # vargas event tile (right) + + from data.map_event import MapEvent + # add event tile to earlier on the path + new_event = MapEvent() + new_event.x = 21 + new_event.y = 19 + new_event.event_address = old_event.event_address + self.maps.add_event(0x62, new_event) + + # add event tile to bottom right of stairs + new_event = MapEvent() + new_event.x = 21 + new_event.y = 20 + new_event.event_address = old_event.event_address + self.maps.add_event(0x62, new_event) + def character_mod(self, character): boss_pack_id = self.get_boss("Vargas") diff --git a/event/mt_zozo.py b/event/mt_zozo.py index 9908d6ef..84571f85 100644 --- a/event/mt_zozo.py +++ b/event/mt_zozo.py @@ -111,6 +111,8 @@ def letter_mod(self, char_name = ""): letter_text = "Dear Lola,I am writing to beg for your forgiveness. I am guilty of perpetuating a terrible lie…I have only now realized the error of my ways. I hope I can correct a great wrong.Your boyfriend, who you thought was in Mobliz, passed away some time ago. I have been writing in his stead…We humans tend to allow the past to destroy our lives.I implore you not to let this happen.It is time to look forward, to rediscover love, and embrace the beauty of life.You have so much of life left to live…" if char_name != "": letter_text += "< ><" + char_name + ">" + else: #https://discord.com/channels/666661907628949504/666811452350398493/1086426370910994493 + letter_text += "" self.dialogs.set_text(2568, letter_text) def character_music_mod(self, character): diff --git a/event/start.py b/event/start.py index 39f9b4b1..4871c86c 100644 --- a/event/start.py +++ b/event/start.py @@ -59,6 +59,27 @@ def init_event_bits(self, space): field.SetBattleEventBit(battle_bit.MAGIC_POINTS_AFTER_BATTLE), ) + def no_random_encounters_mod(self): + # Set all encounter rates to zero + # (normal. no Charm Bangle or Moogle Charm) + # C0/C29F: C000 ("less encounter" frequency ==> looks like "normal encounter") + # C0/C2A1: 6000 ("norm encounter" frequency ==> looks like "less encounter") + # C0/C2A3: 8001 ("more encounter" frequency ==> looks right) + # C0/C2A5: 0000 ("no encounter" frequency ==> looks right) + # + # (Charm Bangle, halves of above numbers) + # C0/C2A7: 6000 ("less encounter" frequency ==> looks like "normal encounter") + # C0/C2A9: 3000 ("norm encounter" frequency ==> looks like "less encounter") + # C0/C2AB: C000 ("more encounter" frequency ==> looks right) + # C0/C2AD: 0000 ("no encounter" frequency ==> looks right) + self.rom.set_bytes(0x0c29f, [0x00 for i in range(64)]) # Set all encounter rates to zero + rate = 0x10 # 1/3 charm bangle + self.rom.set_bytes(0x0c2af, [rate, 0x00, rate, 0x00, rate, 0x00]) # Set World Map - Moogle Charm encounter rates to non-zero + + # Rename moogle charm to moogle curse: in data.items + + + def mod(self): self.intro_loop_mod() self.init_characters_mod() @@ -68,6 +89,9 @@ def mod(self): self.start_items_mod() self.start_game_mod() + if self.args.no_random_encounters: + self.no_random_encounters_mod() + # where the game begins after intro/pregame space = Reserve(0xc9a4f, 0xc9ad4, "setup and start game", field.NOP()) space.write( diff --git a/event/veldt.py b/event/veldt.py index 09327d29..031cc4571 100644 --- a/event/veldt.py +++ b/event/veldt.py @@ -376,7 +376,7 @@ def battle_events_mod(self): # overwrite step 4. of rage tutorial after sabin/cyan/gau event esper_dialog_id = 182 gau_char_arrives_dialog_id = esper_dialog_id - self.dialogs.set_multi_line_battle_text(esper_dialog_id, " Received the Magicite “" + self.espers.get_name(self.reward.id) + ".“") + self.dialogs.set_multi_line_battle_text(esper_dialog_id, " Received the Magicite “" + self.espers.get_name(self.reward.id) + ".\"") # overwrite battle event $0d, fed gau dried meat for first time space = Reserve(0x10aa21, 0x10ac5e, "veldt gau/char fed dried meat", battle_event.NOP()) diff --git a/graphics/palettes/custom/Alice-HoxNorf-Touhou.pal b/graphics/palettes/custom/Alice-HoxNorf-Touhou.pal new file mode 100644 index 00000000..940972bf Binary files /dev/null and b/graphics/palettes/custom/Alice-HoxNorf-Touhou.pal differ diff --git a/graphics/palettes/custom/Alphys-LoneRedMage-Undertale.pal b/graphics/palettes/custom/Alphys-LoneRedMage-Undertale.pal new file mode 100644 index 00000000..803a6a3a Binary files /dev/null and b/graphics/palettes/custom/Alphys-LoneRedMage-Undertale.pal differ diff --git a/graphics/palettes/custom/Amy-HoxNorf-Sonic.pal b/graphics/palettes/custom/Amy-HoxNorf-Sonic.pal new file mode 100644 index 00000000..96a3acdb Binary files /dev/null and b/graphics/palettes/custom/Amy-HoxNorf-Sonic.pal differ diff --git a/graphics/palettes/custom/Antlion-Astaroth-FF4.pal b/graphics/palettes/custom/Antlion-Astaroth-FF4.pal index 61d084a5..987145bc 100644 Binary files a/graphics/palettes/custom/Antlion-Astaroth-FF4.pal and b/graphics/palettes/custom/Antlion-Astaroth-FF4.pal differ diff --git a/graphics/palettes/custom/Arthur-JamesWhite89-GnG.pal b/graphics/palettes/custom/Arthur-JamesWhite89-GnG.pal new file mode 100644 index 00000000..672f1eeb Binary files /dev/null and b/graphics/palettes/custom/Arthur-JamesWhite89-GnG.pal differ diff --git a/graphics/palettes/custom/Atma-Astaroth-FF6.pal b/graphics/palettes/custom/Atma-Astaroth-FF6.pal index 0dc881a7..9125cf6a 100644 Binary files a/graphics/palettes/custom/Atma-Astaroth-FF6.pal and b/graphics/palettes/custom/Atma-Astaroth-FF6.pal differ diff --git a/graphics/palettes/custom/Boy-Zozma-FF6.pal b/graphics/palettes/custom/Boy-Zozma-FF6.pal index e3bdbd97..6750032c 100644 Binary files a/graphics/palettes/custom/Boy-Zozma-FF6.pal and b/graphics/palettes/custom/Boy-Zozma-FF6.pal differ diff --git a/graphics/palettes/custom/Cagnazzo-Astaroth-FF4.pal b/graphics/palettes/custom/Cagnazzo-Astaroth-FF4.pal index e72dc517..01c362a2 100644 Binary files a/graphics/palettes/custom/Cagnazzo-Astaroth-FF4.pal and b/graphics/palettes/custom/Cagnazzo-Astaroth-FF4.pal differ diff --git a/graphics/palettes/custom/Cait Sith-HoxNorf-FF7.pal b/graphics/palettes/custom/Cait Sith-HoxNorf-FF7.pal new file mode 100644 index 00000000..a1bcfbf8 --- /dev/null +++ b/graphics/palettes/custom/Cait Sith-HoxNorf-FF7.pal @@ -0,0 +1 @@ +)-c oDl-f_^8ESQeX3 \ No newline at end of file diff --git a/graphics/palettes/custom/Celes (Amano)-Astaroth-FF6.pal b/graphics/palettes/custom/Celes (Amano)-Astaroth-FF6.pal index 68df3bd9..bac3c623 100644 Binary files a/graphics/palettes/custom/Celes (Amano)-Astaroth-FF6.pal and b/graphics/palettes/custom/Celes (Amano)-Astaroth-FF6.pal differ diff --git a/graphics/palettes/custom/Celes (Opera)-Astaroth-FF6.pal b/graphics/palettes/custom/Celes (Opera)-Astaroth-FF6.pal index f9f24b07..f90ad7ae 100644 Binary files a/graphics/palettes/custom/Celes (Opera)-Astaroth-FF6.pal and b/graphics/palettes/custom/Celes (Opera)-Astaroth-FF6.pal differ diff --git a/graphics/palettes/custom/Clyde-PocoLoco-FF6.pal b/graphics/palettes/custom/Clyde-PocoLoco-FF6.pal index ebd2f145..cce8bd18 100644 Binary files a/graphics/palettes/custom/Clyde-PocoLoco-FF6.pal and b/graphics/palettes/custom/Clyde-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Cultist-PocoLoco-FF6.pal b/graphics/palettes/custom/Cultist-PocoLoco-FF6.pal index 4d396e54..3f12ef57 100644 Binary files a/graphics/palettes/custom/Cultist-PocoLoco-FF6.pal and b/graphics/palettes/custom/Cultist-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Dancer-PocoLoco-FF6.pal b/graphics/palettes/custom/Dancer-PocoLoco-FF6.pal index 774449fb..1faf904f 100644 Binary files a/graphics/palettes/custom/Dancer-PocoLoco-FF6.pal and b/graphics/palettes/custom/Dancer-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Dark Elf-Astaroth-FF4.pal b/graphics/palettes/custom/Dark Elf-Astaroth-FF4.pal index 2924702f..55e35a03 100644 Binary files a/graphics/palettes/custom/Dark Elf-Astaroth-FF4.pal and b/graphics/palettes/custom/Dark Elf-Astaroth-FF4.pal differ diff --git a/graphics/palettes/custom/Donkey Kong-Badass-Mario.pal b/graphics/palettes/custom/Donkey Kong-Badass-Mario.pal new file mode 100644 index 00000000..773d2700 Binary files /dev/null and b/graphics/palettes/custom/Donkey Kong-Badass-Mario.pal differ diff --git a/graphics/palettes/custom/Draco-PocoLoco-FF6.pal b/graphics/palettes/custom/Draco-PocoLoco-FF6.pal index 0b5f004f..65d6a012 100644 Binary files a/graphics/palettes/custom/Draco-PocoLoco-FF6.pal and b/graphics/palettes/custom/Draco-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Elena-Astaroth-FF7.pal b/graphics/palettes/custom/Elena-Astaroth-FF7.pal index ee5fa18b..3ec046c8 100644 Binary files a/graphics/palettes/custom/Elena-Astaroth-FF7.pal and b/graphics/palettes/custom/Elena-Astaroth-FF7.pal differ diff --git a/graphics/palettes/custom/Figaro Guard-PocoLoco-FF6.pal b/graphics/palettes/custom/Figaro Guard-PocoLoco-FF6.pal index 9854784f..50e3fed0 100644 Binary files a/graphics/palettes/custom/Figaro Guard-PocoLoco-FF6.pal and b/graphics/palettes/custom/Figaro Guard-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Frisk-LoneRedMage-Undertale.pal b/graphics/palettes/custom/Frisk-LoneRedMage-Undertale.pal new file mode 100644 index 00000000..f75520f2 Binary files /dev/null and b/graphics/palettes/custom/Frisk-LoneRedMage-Undertale.pal differ diff --git a/graphics/palettes/custom/Gilius-JamesWhite89-GoldenAxe.pal b/graphics/palettes/custom/Gilius-JamesWhite89-GoldenAxe.pal new file mode 100644 index 00000000..672f1eeb Binary files /dev/null and b/graphics/palettes/custom/Gilius-JamesWhite89-GoldenAxe.pal differ diff --git a/graphics/palettes/custom/Gryz-HoxNorf-PS4.pal b/graphics/palettes/custom/Gryz-HoxNorf-PS4.pal new file mode 100644 index 00000000..19dc123d Binary files /dev/null and b/graphics/palettes/custom/Gryz-HoxNorf-PS4.pal differ diff --git a/graphics/palettes/custom/Interceptor-JamesWhite89-FF6.pal b/graphics/palettes/custom/Interceptor-JamesWhite89-FF6.pal index c0feda60..c76ab394 100644 Binary files a/graphics/palettes/custom/Interceptor-JamesWhite89-FF6.pal and b/graphics/palettes/custom/Interceptor-JamesWhite89-FF6.pal differ diff --git a/graphics/palettes/custom/Kain (Holy Dragoon)-CtrlxZ-FF4TAY.pal b/graphics/palettes/custom/Kain (Holy Dragoon)-CtrlxZ-FF4TAY.pal new file mode 100644 index 00000000..8b4ede76 Binary files /dev/null and b/graphics/palettes/custom/Kain (Holy Dragoon)-CtrlxZ-FF4TAY.pal differ diff --git a/graphics/palettes/custom/Katarin-Zozma-FF6.pal b/graphics/palettes/custom/Katarin-Zozma-FF6.pal index d6c6d73b..4ecb45f9 100644 Binary files a/graphics/palettes/custom/Katarin-Zozma-FF6.pal and b/graphics/palettes/custom/Katarin-Zozma-FF6.pal differ diff --git a/graphics/palettes/custom/Link-FEOK-LegendOfZelda.pal b/graphics/palettes/custom/Link-FEOK-LegendOfZelda.pal index 3d6a0824..c0a45865 100644 Binary files a/graphics/palettes/custom/Link-FEOK-LegendOfZelda.pal and b/graphics/palettes/custom/Link-FEOK-LegendOfZelda.pal differ diff --git a/graphics/palettes/custom/LoneWolf-PocoLoco-FF6.pal b/graphics/palettes/custom/LoneWolf-PocoLoco-FF6.pal index b4a311a1..9be61087 100644 Binary files a/graphics/palettes/custom/LoneWolf-PocoLoco-FF6.pal and b/graphics/palettes/custom/LoneWolf-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Lucca-FEOK-CT.pal b/graphics/palettes/custom/Lucca-FEOK-CT.pal index 4b6a1544..0763287c 100644 Binary files a/graphics/palettes/custom/Lucca-FEOK-CT.pal and b/graphics/palettes/custom/Lucca-FEOK-CT.pal differ diff --git a/graphics/palettes/custom/Lufia-JamesWhite89-Lufia.pal b/graphics/palettes/custom/Lufia-JamesWhite89-Lufia.pal index ae90705d..56745ff3 100644 Binary files a/graphics/palettes/custom/Lufia-JamesWhite89-Lufia.pal and b/graphics/palettes/custom/Lufia-JamesWhite89-Lufia.pal differ diff --git a/graphics/palettes/custom/Lugae-Astaroth-FF4.pal b/graphics/palettes/custom/Lugae-Astaroth-FF4.pal new file mode 100644 index 00000000..dc24b04c Binary files /dev/null and b/graphics/palettes/custom/Lugae-Astaroth-FF4.pal differ diff --git a/graphics/palettes/custom/Maduin-PocoLoco-FF6.pal b/graphics/palettes/custom/Maduin-PocoLoco-FF6.pal index 4d52ee84..40ab51f5 100644 Binary files a/graphics/palettes/custom/Maduin-PocoLoco-FF6.pal and b/graphics/palettes/custom/Maduin-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Mini-JamesWhite89-FF.pal b/graphics/palettes/custom/Mini-JamesWhite89-FF.pal index 43b974f4..6e79ea7d 100644 Binary files a/graphics/palettes/custom/Mini-JamesWhite89-FF.pal and b/graphics/palettes/custom/Mini-JamesWhite89-FF.pal differ diff --git a/graphics/palettes/custom/NarsheGuard-PocoLoco-FF6.pal b/graphics/palettes/custom/NarsheGuard-PocoLoco-FF6.pal index d4dfdd3e..fb199dd8 100644 Binary files a/graphics/palettes/custom/NarsheGuard-PocoLoco-FF6.pal and b/graphics/palettes/custom/NarsheGuard-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Nitori-HoxNorf-Touhou.pal b/graphics/palettes/custom/Nitori-HoxNorf-Touhou.pal new file mode 100644 index 00000000..6245e0d1 Binary files /dev/null and b/graphics/palettes/custom/Nitori-HoxNorf-Touhou.pal differ diff --git a/graphics/palettes/custom/Peach-Halkel-SMRPG.pal b/graphics/palettes/custom/Peach-Halkel-SMRPG.pal index 5e094f3a..923a1bf3 100644 Binary files a/graphics/palettes/custom/Peach-Halkel-SMRPG.pal and b/graphics/palettes/custom/Peach-Halkel-SMRPG.pal differ diff --git a/graphics/palettes/custom/Pirahna Plant-JamesWhite89-Mario.pal b/graphics/palettes/custom/Piranha Plant-JamesWhite89-Mario.pal similarity index 100% rename from graphics/palettes/custom/Pirahna Plant-JamesWhite89-Mario.pal rename to graphics/palettes/custom/Piranha Plant-JamesWhite89-Mario.pal diff --git a/graphics/palettes/custom/Raja-HoxNorf-PS4.pal b/graphics/palettes/custom/Raja-HoxNorf-PS4.pal new file mode 100644 index 00000000..19dc123d Binary files /dev/null and b/graphics/palettes/custom/Raja-HoxNorf-PS4.pal differ diff --git a/graphics/palettes/custom/Reimu (Blue)-HoxNorf-Touhou.pal b/graphics/palettes/custom/Reimu (Blue)-HoxNorf-Touhou.pal new file mode 100644 index 00000000..40702b76 Binary files /dev/null and b/graphics/palettes/custom/Reimu (Blue)-HoxNorf-Touhou.pal differ diff --git a/graphics/palettes/custom/Rubicante-Astaroth-FF4.pal b/graphics/palettes/custom/Rubicante-Astaroth-FF4.pal index 6ef0db18..1e7e49fb 100644 Binary files a/graphics/palettes/custom/Rubicante-Astaroth-FF4.pal and b/graphics/palettes/custom/Rubicante-Astaroth-FF4.pal differ diff --git a/graphics/palettes/custom/Rune-HoxNorf-PS4.pal b/graphics/palettes/custom/Rune-HoxNorf-PS4.pal new file mode 100644 index 00000000..c8337eac Binary files /dev/null and b/graphics/palettes/custom/Rune-HoxNorf-PS4.pal differ diff --git a/graphics/palettes/custom/Sanae-HoxNorf-Touhou.pal b/graphics/palettes/custom/Sanae-HoxNorf-Touhou.pal new file mode 100644 index 00000000..6d1d7024 Binary files /dev/null and b/graphics/palettes/custom/Sanae-HoxNorf-Touhou.pal differ diff --git a/graphics/palettes/custom/Scholar-PocoLoco-FF6.pal b/graphics/palettes/custom/Scholar-PocoLoco-FF6.pal index 94487d2b..f1d66dd3 100644 Binary files a/graphics/palettes/custom/Scholar-PocoLoco-FF6.pal and b/graphics/palettes/custom/Scholar-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Sherlotta-HoxNorf_ScarabEnigma-FFCC.pal b/graphics/palettes/custom/Sherlotta-HoxNorf_ScarabEnigma-FFCC.pal new file mode 100644 index 00000000..dc953239 Binary files /dev/null and b/graphics/palettes/custom/Sherlotta-HoxNorf_ScarabEnigma-FFCC.pal differ diff --git a/graphics/palettes/custom/Siegfried-PocoLoco-FF6.pal b/graphics/palettes/custom/Siegfried-PocoLoco-FF6.pal index e2a8d88f..1d5956a6 100644 Binary files a/graphics/palettes/custom/Siegfried-PocoLoco-FF6.pal and b/graphics/palettes/custom/Siegfried-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Squall (Uniform)-SApprentice-FF8.pal b/graphics/palettes/custom/Squall (Uniform)-SApprentice-FF8.pal index 1a2be56d..ce8d8f90 100644 Binary files a/graphics/palettes/custom/Squall (Uniform)-SApprentice-FF8.pal and b/graphics/palettes/custom/Squall (Uniform)-SApprentice-FF8.pal differ diff --git a/graphics/palettes/custom/Squall-PocoLoco-FF8.pal b/graphics/palettes/custom/Squall-PocoLoco-FF8.pal index 9ab50edf..1bde7f62 100644 Binary files a/graphics/palettes/custom/Squall-PocoLoco-FF8.pal and b/graphics/palettes/custom/Squall-PocoLoco-FF8.pal differ diff --git a/graphics/palettes/custom/Tifa-Astaroth-FF7.pal b/graphics/palettes/custom/Tifa-Astaroth-FF7.pal index d30af53d..2ff9bdbb 100644 Binary files a/graphics/palettes/custom/Tifa-Astaroth-FF7.pal and b/graphics/palettes/custom/Tifa-Astaroth-FF7.pal differ diff --git a/graphics/palettes/custom/Toriel-LoneRedMage-Undertale.pal b/graphics/palettes/custom/Toriel-LoneRedMage-Undertale.pal new file mode 100644 index 00000000..83c70646 Binary files /dev/null and b/graphics/palettes/custom/Toriel-LoneRedMage-Undertale.pal differ diff --git a/graphics/palettes/custom/Ultros-PocoLoco-FF6.pal b/graphics/palettes/custom/Ultros-PocoLoco-FF6.pal index 81f733c6..5623a829 100644 Binary files a/graphics/palettes/custom/Ultros-PocoLoco-FF6.pal and b/graphics/palettes/custom/Ultros-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Vargas-PocoLoco-FF6.pal b/graphics/palettes/custom/Vargas-PocoLoco-FF6.pal index 6e4c0bd1..3097b9e9 100644 Binary files a/graphics/palettes/custom/Vargas-PocoLoco-FF6.pal and b/graphics/palettes/custom/Vargas-PocoLoco-FF6.pal differ diff --git a/graphics/palettes/custom/Vincent-FEOK-FF7.pal b/graphics/palettes/custom/Vincent-FEOK-FF7.pal index ab402ee8..a69c71f8 100644 Binary files a/graphics/palettes/custom/Vincent-FEOK-FF7.pal and b/graphics/palettes/custom/Vincent-FEOK-FF7.pal differ diff --git a/graphics/palettes/custom/Wren-HoxNorf-PS4.pal b/graphics/palettes/custom/Wren-HoxNorf-PS4.pal new file mode 100644 index 00000000..f25d6b7c Binary files /dev/null and b/graphics/palettes/custom/Wren-HoxNorf-PS4.pal differ diff --git a/graphics/palettes/custom/X-Badass-Megaman.pal b/graphics/palettes/custom/X-Badass-Megaman.pal new file mode 100644 index 00000000..92079fe9 Binary files /dev/null and b/graphics/palettes/custom/X-Badass-Megaman.pal differ diff --git a/graphics/palettes/custom/Yuyuko-HoxNorf-Touhou.pal b/graphics/palettes/custom/Yuyuko-HoxNorf-Touhou.pal new file mode 100644 index 00000000..48d604b8 Binary files /dev/null and b/graphics/palettes/custom/Yuyuko-HoxNorf-Touhou.pal differ diff --git a/graphics/palettes/palettes.py b/graphics/palettes/palettes.py index 41fbead5..e12573ed 100644 --- a/graphics/palettes/palettes.py +++ b/graphics/palettes/palettes.py @@ -176,7 +176,7 @@ 233 : "Pacman Ghost-HoxNorf-Pacman", 234 : "Palom (Adult)-HoxNorf-FF4", 235 : "Paul-HoxNorf-FF2", - 236 : "Pirahna Plant-JamesWhite89-Mario", + 236 : "Piranha Plant-JamesWhite89-Mario", 237 : "Porom (Adult)-HoxNorf-FF4", 238 : "Ramza-CtrlxZ-FFT", 239 : "Ricard-HoxNorf-FF2", @@ -206,7 +206,7 @@ 263 : "Figaro Guard-PocoLoco-FF6", 264 : "Granny-Zozma-FF6", 265 : "Hojo-LoneRedMage-FF7", - 266 : "Katarin-Zozma-FF6", + 266 : "Sanae-HoxNorf-Touhou", 267 : "Lady-Zozma-FF6", 268 : "Link-FEOK-LegendOfZelda", 269 : "LoneWolf-PocoLoco-FF6", @@ -215,7 +215,7 @@ 272 : "Luigi-Badass-Mario", 273 : "Maduin-PocoLoco-FF6", 274 : "Mario-Badass-Mario", - 275 : "Mini-JamesWhite89-FF", + 275 : "Kain (Holy Dragoon)-CtrlxZ-FF4TAY", 276 : "NarsheGuard-PocoLoco-FF6", 277 : "Peach-Halkel-SMRPG", 278 : "Returner-PocoLoco-FF6", @@ -236,6 +236,26 @@ # FFT 300 : "Alma-HoxNorf-FFT", 301 : "Orlandeau-ctrlxz-FFT", + + 302 : "Alice-HoxNorf-Touhou", + 303 : "Alphys-LoneRedMage-Undertale", + 304 : "Amy-HoxNorf-Sonic", + 305 : "Frisk-LoneRedMage-Undertale", + 306 : "Gryz-HoxNorf-PS4", + 307 : "Raja-HoxNorf-PS4", + 308 : "Reimu (Blue)-HoxNorf-Touhou", + 309 : "Rune-HoxNorf-PS4", + 310 : "Toriel-LoneRedMage-Undertale", + 311 : "Yuyuko-HoxNorf-Touhou", + 312 : "Cait Sith-HoxNorf-FF7", + 313 : "Wren-HoxNorf-PS4", + 314 : "Nitori-HoxNorf-Touhou", + 315 : "Donkey Kong-Badass-Mario", + 316 : "X-Badass-Megaman", + 317 : "Lugae-Astaroth-FF4", + 318 : "Gilius-JamesWhite89-GoldenAxe", + 319 : "Arthur-JamesWhite89-GnG", + 320 : "Sherlotta-HoxNorf_ScarabEnigma-FFCC", } def get_path(id_): diff --git a/graphics/portraits/custom/Alice-HoxNorf-Touhou.bin b/graphics/portraits/custom/Alice-HoxNorf-Touhou.bin new file mode 100644 index 00000000..809e8d41 Binary files /dev/null and b/graphics/portraits/custom/Alice-HoxNorf-Touhou.bin differ diff --git a/graphics/portraits/custom/Alice-HoxNorf-Touhou.pal b/graphics/portraits/custom/Alice-HoxNorf-Touhou.pal new file mode 100644 index 00000000..9bb0b209 --- /dev/null +++ b/graphics/portraits/custom/Alice-HoxNorf-Touhou.pal @@ -0,0 +1 @@ +O)Z6o~_>SS!xJZoAbY$ \ No newline at end of file diff --git a/graphics/portraits/custom/Alma-Unknown-FFT.bin b/graphics/portraits/custom/Alma-Unknown-FFT.bin new file mode 100644 index 00000000..9a2430f5 Binary files /dev/null and b/graphics/portraits/custom/Alma-Unknown-FFT.bin differ diff --git a/graphics/portraits/custom/Alma-Unknown-FFT.pal b/graphics/portraits/custom/Alma-Unknown-FFT.pal new file mode 100644 index 00000000..d4eccc51 --- /dev/null +++ b/graphics/portraits/custom/Alma-Unknown-FFT.pal @@ -0,0 +1 @@ +_)Jx62>%.72BF[g3!- \ No newline at end of file diff --git a/graphics/portraits/custom/Alphys-LoneRedMage-Undertale.bin b/graphics/portraits/custom/Alphys-LoneRedMage-Undertale.bin new file mode 100644 index 00000000..ee16e7df Binary files /dev/null and b/graphics/portraits/custom/Alphys-LoneRedMage-Undertale.bin differ diff --git a/graphics/portraits/custom/Alphys-LoneRedMage-Undertale.pal b/graphics/portraits/custom/Alphys-LoneRedMage-Undertale.pal new file mode 100644 index 00000000..e26c3ac5 Binary files /dev/null and b/graphics/portraits/custom/Alphys-LoneRedMage-Undertale.pal differ diff --git a/graphics/portraits/custom/Amy-HoxNorf-Sonic.bin b/graphics/portraits/custom/Amy-HoxNorf-Sonic.bin new file mode 100644 index 00000000..09771ea6 Binary files /dev/null and b/graphics/portraits/custom/Amy-HoxNorf-Sonic.bin differ diff --git a/graphics/portraits/custom/Amy-HoxNorf-Sonic.pal b/graphics/portraits/custom/Amy-HoxNorf-Sonic.pal new file mode 100644 index 00000000..418fad05 Binary files /dev/null and b/graphics/portraits/custom/Amy-HoxNorf-Sonic.pal differ diff --git a/graphics/portraits/custom/Arthur-JamesWhite89-GnG.bin b/graphics/portraits/custom/Arthur-JamesWhite89-GnG.bin new file mode 100644 index 00000000..e55712c7 Binary files /dev/null and b/graphics/portraits/custom/Arthur-JamesWhite89-GnG.bin differ diff --git a/graphics/portraits/custom/Arthur-JamesWhite89-GnG.pal b/graphics/portraits/custom/Arthur-JamesWhite89-GnG.pal new file mode 100644 index 00000000..64eecf66 Binary files /dev/null and b/graphics/portraits/custom/Arthur-JamesWhite89-GnG.pal differ diff --git a/graphics/portraits/custom/Banon-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Banon-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..d05d417d Binary files /dev/null and b/graphics/portraits/custom/Banon-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Banon-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Banon-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..f6f60ebd Binary files /dev/null and b/graphics/portraits/custom/Banon-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Cait Sith-HoxNorf-FF7.bin b/graphics/portraits/custom/Cait Sith-HoxNorf-FF7.bin new file mode 100644 index 00000000..e5802efc Binary files /dev/null and b/graphics/portraits/custom/Cait Sith-HoxNorf-FF7.bin differ diff --git a/graphics/portraits/custom/Cait Sith-HoxNorf-FF7.pal b/graphics/portraits/custom/Cait Sith-HoxNorf-FF7.pal new file mode 100644 index 00000000..14ee0a59 --- /dev/null +++ b/graphics/portraits/custom/Cait Sith-HoxNorf-FF7.pal @@ -0,0 +1,2 @@ +|d= +%-wZ[kG16ktNI^: \ No newline at end of file diff --git a/graphics/portraits/custom/Celes-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Celes-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..45ca46d4 Binary files /dev/null and b/graphics/portraits/custom/Celes-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Celes-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Celes-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..793be2ee Binary files /dev/null and b/graphics/portraits/custom/Celes-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Cloud-JamesWhite89-FF7.bin b/graphics/portraits/custom/Cloud-JamesWhite89-FF7.bin new file mode 100644 index 00000000..f0629cf1 Binary files /dev/null and b/graphics/portraits/custom/Cloud-JamesWhite89-FF7.bin differ diff --git a/graphics/portraits/custom/Cloud-JamesWhite89-FF7.pal b/graphics/portraits/custom/Cloud-JamesWhite89-FF7.pal new file mode 100644 index 00000000..47dc3bc3 Binary files /dev/null and b/graphics/portraits/custom/Cloud-JamesWhite89-FF7.pal differ diff --git a/graphics/portraits/custom/Cyan-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Cyan-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..f72767f3 Binary files /dev/null and b/graphics/portraits/custom/Cyan-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Cyan-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Cyan-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..2c936abf Binary files /dev/null and b/graphics/portraits/custom/Cyan-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/DarkElf-Astaroth-FF4.pal b/graphics/portraits/custom/Dark Elf-Astaroth-FF4.pal similarity index 100% rename from graphics/portraits/custom/DarkElf-Astaroth-FF4.pal rename to graphics/portraits/custom/Dark Elf-Astaroth-FF4.pal diff --git a/graphics/portraits/custom/Donkey Kong-Badass-Mario.bin b/graphics/portraits/custom/Donkey Kong-Badass-Mario.bin new file mode 100644 index 00000000..5eb80737 Binary files /dev/null and b/graphics/portraits/custom/Donkey Kong-Badass-Mario.bin differ diff --git a/graphics/portraits/custom/Donkey Kong-Badass-Mario.pal b/graphics/portraits/custom/Donkey Kong-Badass-Mario.pal new file mode 100644 index 00000000..b188e784 Binary files /dev/null and b/graphics/portraits/custom/Donkey Kong-Badass-Mario.pal differ diff --git a/graphics/portraits/custom/Edgar-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Edgar-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..dbfa22ad Binary files /dev/null and b/graphics/portraits/custom/Edgar-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Edgar-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Edgar-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..c06253f1 Binary files /dev/null and b/graphics/portraits/custom/Edgar-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Fighter-CtrlxZ-FF1.bin b/graphics/portraits/custom/Fighter-CtrlxZ-FF1.bin new file mode 100644 index 00000000..b61aca3c Binary files /dev/null and b/graphics/portraits/custom/Fighter-CtrlxZ-FF1.bin differ diff --git a/graphics/portraits/custom/Fighter-CtrlxZ-FF1.pal b/graphics/portraits/custom/Fighter-CtrlxZ-FF1.pal new file mode 100644 index 00000000..9d2b08bd --- /dev/null +++ b/graphics/portraits/custom/Fighter-CtrlxZ-FF1.pal @@ -0,0 +1 @@ +?&Z,!"7:Q\[6!F)1kqRH \ No newline at end of file diff --git a/graphics/portraits/custom/Frisk-LoneRedMage-Undertale.bin b/graphics/portraits/custom/Frisk-LoneRedMage-Undertale.bin new file mode 100644 index 00000000..0758eda6 Binary files /dev/null and b/graphics/portraits/custom/Frisk-LoneRedMage-Undertale.bin differ diff --git a/graphics/portraits/custom/Frisk-LoneRedMage-Undertale.pal b/graphics/portraits/custom/Frisk-LoneRedMage-Undertale.pal new file mode 100644 index 00000000..244e4f39 --- /dev/null +++ b/graphics/portraits/custom/Frisk-LoneRedMage-Undertale.pal @@ -0,0 +1 @@ +Q!6|:F)%?[AN.^9`` \ No newline at end of file diff --git a/graphics/portraits/custom/Gau-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Gau-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..5ee31b17 Binary files /dev/null and b/graphics/portraits/custom/Gau-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Gau-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Gau-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..b76e47a6 Binary files /dev/null and b/graphics/portraits/custom/Gau-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/General Leo-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/General Leo-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..fcc228fd Binary files /dev/null and b/graphics/portraits/custom/General Leo-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/General Leo-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/General Leo-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..8e5d4819 Binary files /dev/null and b/graphics/portraits/custom/General Leo-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Ghost-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Ghost-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..45d8d9fc Binary files /dev/null and b/graphics/portraits/custom/Ghost-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Ghost-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Ghost-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..f4a72e66 Binary files /dev/null and b/graphics/portraits/custom/Ghost-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Gilius-JamesWhite89-GoldenAxe.bin b/graphics/portraits/custom/Gilius-JamesWhite89-GoldenAxe.bin new file mode 100644 index 00000000..1748c47e Binary files /dev/null and b/graphics/portraits/custom/Gilius-JamesWhite89-GoldenAxe.bin differ diff --git a/graphics/portraits/custom/Gilius-JamesWhite89-GoldenAxe.pal b/graphics/portraits/custom/Gilius-JamesWhite89-GoldenAxe.pal new file mode 100644 index 00000000..30061079 Binary files /dev/null and b/graphics/portraits/custom/Gilius-JamesWhite89-GoldenAxe.pal differ diff --git a/graphics/portraits/custom/Gogo-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Gogo-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..2926bb23 Binary files /dev/null and b/graphics/portraits/custom/Gogo-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Gogo-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Gogo-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..1d242989 Binary files /dev/null and b/graphics/portraits/custom/Gogo-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.bin b/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.bin index 2d946ebc..e0f627cb 100644 Binary files a/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.bin and b/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.bin differ diff --git a/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.pal b/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.pal index 5b653405..3ab01298 100644 --- a/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.pal +++ b/graphics/portraits/custom/Golbez_TAY-HoxNorf-FF4.pal @@ -1 +1 @@ -AZZsf-J(-M=v>J~_{| \ No newline at end of file +|ZZsf-J(-M=v>J~_{A \ No newline at end of file diff --git a/graphics/portraits/custom/Gryz-HoxNorf-PS4.bin b/graphics/portraits/custom/Gryz-HoxNorf-PS4.bin new file mode 100644 index 00000000..1b8de6cb Binary files /dev/null and b/graphics/portraits/custom/Gryz-HoxNorf-PS4.bin differ diff --git a/graphics/portraits/custom/Gryz-HoxNorf-PS4.pal b/graphics/portraits/custom/Gryz-HoxNorf-PS4.pal new file mode 100644 index 00000000..25ab6854 Binary files /dev/null and b/graphics/portraits/custom/Gryz-HoxNorf-PS4.pal differ diff --git a/graphics/portraits/custom/Imp-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Imp-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..4d23b8a6 Binary files /dev/null and b/graphics/portraits/custom/Imp-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Imp-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Imp-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..8c27ac3a Binary files /dev/null and b/graphics/portraits/custom/Imp-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Jessie-JamesWhite89-FF7.bin b/graphics/portraits/custom/Jessie-JamesWhite89-FF7.bin new file mode 100644 index 00000000..d1d3e0ca Binary files /dev/null and b/graphics/portraits/custom/Jessie-JamesWhite89-FF7.bin differ diff --git a/graphics/portraits/custom/Jessie-JamesWhite89-FF7.pal b/graphics/portraits/custom/Jessie-JamesWhite89-FF7.pal new file mode 100644 index 00000000..a16c9ce5 --- /dev/null +++ b/graphics/portraits/custom/Jessie-JamesWhite89-FF7.pal @@ -0,0 +1 @@ +B .%B-(^Wo:S0= \ No newline at end of file diff --git a/graphics/portraits/custom/Kain (Holy Dragoon)-Unknown-FF4TAY.bin b/graphics/portraits/custom/Kain (Holy Dragoon)-Unknown-FF4TAY.bin new file mode 100644 index 00000000..c597de59 Binary files /dev/null and b/graphics/portraits/custom/Kain (Holy Dragoon)-Unknown-FF4TAY.bin differ diff --git a/graphics/portraits/custom/Kain (Holy Dragoon)-Unknown-FF4TAY.pal b/graphics/portraits/custom/Kain (Holy Dragoon)-Unknown-FF4TAY.pal new file mode 100644 index 00000000..00e2a56b Binary files /dev/null and b/graphics/portraits/custom/Kain (Holy Dragoon)-Unknown-FF4TAY.pal differ diff --git a/graphics/portraits/custom/Lenna (White Mage)-JamesWhite89-FF5.bin b/graphics/portraits/custom/Lenna (White Mage)-JamesWhite89-FF5.bin new file mode 100644 index 00000000..ce111a42 Binary files /dev/null and b/graphics/portraits/custom/Lenna (White Mage)-JamesWhite89-FF5.bin differ diff --git a/graphics/portraits/custom/Lenna (White Mage)-JamesWhite89-FF5.pal b/graphics/portraits/custom/Lenna (White Mage)-JamesWhite89-FF5.pal new file mode 100644 index 00000000..87beb305 Binary files /dev/null and b/graphics/portraits/custom/Lenna (White Mage)-JamesWhite89-FF5.pal differ diff --git a/graphics/portraits/custom/Lenna-JamesWhite89-FF5.bin b/graphics/portraits/custom/Lenna-JamesWhite89-FF5.bin new file mode 100644 index 00000000..d34edd31 Binary files /dev/null and b/graphics/portraits/custom/Lenna-JamesWhite89-FF5.bin differ diff --git a/graphics/portraits/custom/Lenna-JamesWhite89-FF5.pal b/graphics/portraits/custom/Lenna-JamesWhite89-FF5.pal new file mode 100644 index 00000000..f82530b8 Binary files /dev/null and b/graphics/portraits/custom/Lenna-JamesWhite89-FF5.pal differ diff --git a/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.bin b/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.bin index 4fd96516..09a88959 100644 Binary files a/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.bin and b/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.bin differ diff --git a/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.pal b/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.pal index 5aa68b55..470b1363 100644 Binary files a/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.pal and b/graphics/portraits/custom/Link-JamesWhite89-LegendOfZelda.pal differ diff --git a/graphics/portraits/custom/Locke-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Locke-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..bc96ff15 Binary files /dev/null and b/graphics/portraits/custom/Locke-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Locke-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Locke-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..79c8f1e2 Binary files /dev/null and b/graphics/portraits/custom/Locke-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Lufia-VRNocturne-Lufia.bin b/graphics/portraits/custom/Lufia-JamesWhite89-Lufia.bin similarity index 100% rename from graphics/portraits/custom/Lufia-VRNocturne-Lufia.bin rename to graphics/portraits/custom/Lufia-JamesWhite89-Lufia.bin diff --git a/graphics/portraits/custom/Lufia-VRNocturne-Lufia.pal b/graphics/portraits/custom/Lufia-JamesWhite89-Lufia.pal similarity index 100% rename from graphics/portraits/custom/Lufia-VRNocturne-Lufia.pal rename to graphics/portraits/custom/Lufia-JamesWhite89-Lufia.pal diff --git a/graphics/portraits/custom/Lugae-HoxNorf-FF4.bin b/graphics/portraits/custom/Lugae-HoxNorf-FF4.bin new file mode 100644 index 00000000..76b9e454 Binary files /dev/null and b/graphics/portraits/custom/Lugae-HoxNorf-FF4.bin differ diff --git a/graphics/portraits/custom/Lugae-HoxNorf-FF4.pal b/graphics/portraits/custom/Lugae-HoxNorf-FF4.pal new file mode 100644 index 00000000..e599b07b Binary files /dev/null and b/graphics/portraits/custom/Lugae-HoxNorf-FF4.pal differ diff --git a/graphics/portraits/custom/Mog-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Mog-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..08b3cfa1 Binary files /dev/null and b/graphics/portraits/custom/Mog-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Mog-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Mog-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..6164dbbc Binary files /dev/null and b/graphics/portraits/custom/Mog-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Nitori-HoxNorf-Touhou.bin b/graphics/portraits/custom/Nitori-HoxNorf-Touhou.bin new file mode 100644 index 00000000..3028c3a0 Binary files /dev/null and b/graphics/portraits/custom/Nitori-HoxNorf-Touhou.bin differ diff --git a/graphics/portraits/custom/Nitori-HoxNorf-Touhou.pal b/graphics/portraits/custom/Nitori-HoxNorf-Touhou.pal new file mode 100644 index 00000000..6fe7f3ab --- /dev/null +++ b/graphics/portraits/custom/Nitori-HoxNorf-Touhou.pal @@ -0,0 +1 @@ +|9rZ@C~cMXskK^VI$j99 &s \ No newline at end of file diff --git a/graphics/portraits/custom/Orlandeau-Unknown-FFT.bin b/graphics/portraits/custom/Orlandeau-Unknown-FFT.bin new file mode 100644 index 00000000..adc6b209 Binary files /dev/null and b/graphics/portraits/custom/Orlandeau-Unknown-FFT.bin differ diff --git a/graphics/portraits/custom/Orlandeau-Unknown-FFT.pal b/graphics/portraits/custom/Orlandeau-Unknown-FFT.pal new file mode 100644 index 00000000..48486147 Binary files /dev/null and b/graphics/portraits/custom/Orlandeau-Unknown-FFT.pal differ diff --git a/graphics/portraits/custom/Pirahna Plant-JamesWhite89-Mario.bin b/graphics/portraits/custom/Piranha Plant-JamesWhite89-Mario.bin similarity index 100% rename from graphics/portraits/custom/Pirahna Plant-JamesWhite89-Mario.bin rename to graphics/portraits/custom/Piranha Plant-JamesWhite89-Mario.bin diff --git a/graphics/portraits/custom/Pirahna Plant-JamesWhite89-Mario.pal b/graphics/portraits/custom/Piranha Plant-JamesWhite89-Mario.pal similarity index 100% rename from graphics/portraits/custom/Pirahna Plant-JamesWhite89-Mario.pal rename to graphics/portraits/custom/Piranha Plant-JamesWhite89-Mario.pal diff --git a/graphics/portraits/custom/Porom (Devout)-HoxNorf-FF4.bin b/graphics/portraits/custom/Porom (Devout)-HoxNorf-FF4.bin new file mode 100644 index 00000000..504e357a Binary files /dev/null and b/graphics/portraits/custom/Porom (Devout)-HoxNorf-FF4.bin differ diff --git a/graphics/portraits/custom/Porom (Devout)-HoxNorf-FF4.pal b/graphics/portraits/custom/Porom (Devout)-HoxNorf-FF4.pal new file mode 100644 index 00000000..80cde160 Binary files /dev/null and b/graphics/portraits/custom/Porom (Devout)-HoxNorf-FF4.pal differ diff --git a/graphics/portraits/custom/Raja-HoxNorf-PS4.bin b/graphics/portraits/custom/Raja-HoxNorf-PS4.bin new file mode 100644 index 00000000..8ab8f12b Binary files /dev/null and b/graphics/portraits/custom/Raja-HoxNorf-PS4.bin differ diff --git a/graphics/portraits/custom/Raja-HoxNorf-PS4.pal b/graphics/portraits/custom/Raja-HoxNorf-PS4.pal new file mode 100644 index 00000000..f5a3d25f Binary files /dev/null and b/graphics/portraits/custom/Raja-HoxNorf-PS4.pal differ diff --git a/graphics/portraits/custom/Ramza-Unknown-FFT.bin b/graphics/portraits/custom/Ramza-Unknown-FFT.bin new file mode 100644 index 00000000..103b6abf Binary files /dev/null and b/graphics/portraits/custom/Ramza-Unknown-FFT.bin differ diff --git a/graphics/portraits/custom/Ramza-Unknown-FFT.pal b/graphics/portraits/custom/Ramza-Unknown-FFT.pal new file mode 100644 index 00000000..c097ac9c --- /dev/null +++ b/graphics/portraits/custom/Ramza-Unknown-FFT.pal @@ -0,0 +1 @@ +{-%y*G%722.BJ[g$+1lE \ No newline at end of file diff --git a/graphics/portraits/custom/Reimu (Blue)-HoxNorf-Touhou.bin b/graphics/portraits/custom/Reimu (Blue)-HoxNorf-Touhou.bin new file mode 100644 index 00000000..36fce1c2 Binary files /dev/null and b/graphics/portraits/custom/Reimu (Blue)-HoxNorf-Touhou.bin differ diff --git a/graphics/portraits/custom/Reimu (Blue)-HoxNorf-Touhou.pal b/graphics/portraits/custom/Reimu (Blue)-HoxNorf-Touhou.pal new file mode 100644 index 00000000..2bde3efe Binary files /dev/null and b/graphics/portraits/custom/Reimu (Blue)-HoxNorf-Touhou.pal differ diff --git a/graphics/portraits/custom/Relm-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Relm-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..13382f6d Binary files /dev/null and b/graphics/portraits/custom/Relm-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Relm-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Relm-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..bd99bf26 Binary files /dev/null and b/graphics/portraits/custom/Relm-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Rune-HoxNorf-PS4.bin b/graphics/portraits/custom/Rune-HoxNorf-PS4.bin new file mode 100644 index 00000000..d686cc10 Binary files /dev/null and b/graphics/portraits/custom/Rune-HoxNorf-PS4.bin differ diff --git a/graphics/portraits/custom/Rune-HoxNorf-PS4.pal b/graphics/portraits/custom/Rune-HoxNorf-PS4.pal new file mode 100644 index 00000000..2fe95e75 Binary files /dev/null and b/graphics/portraits/custom/Rune-HoxNorf-PS4.pal differ diff --git a/graphics/portraits/custom/Sabin-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Sabin-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..ebb356e4 Binary files /dev/null and b/graphics/portraits/custom/Sabin-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Sabin-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Sabin-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..19df8c2a Binary files /dev/null and b/graphics/portraits/custom/Sabin-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Sanae-HoxNorf-Touhou.bin b/graphics/portraits/custom/Sanae-HoxNorf-Touhou.bin new file mode 100644 index 00000000..2d69ef04 Binary files /dev/null and b/graphics/portraits/custom/Sanae-HoxNorf-Touhou.bin differ diff --git a/graphics/portraits/custom/Sanae-HoxNorf-Touhou.pal b/graphics/portraits/custom/Sanae-HoxNorf-Touhou.pal new file mode 100644 index 00000000..97817bdd --- /dev/null +++ b/graphics/portraits/custom/Sanae-HoxNorf-Touhou.pal @@ -0,0 +1 @@ +| OiBo1JOSZ>_ykzJD% Ee \ No newline at end of file diff --git a/graphics/portraits/custom/Sarisa-JamesWhite89-FF5.bin b/graphics/portraits/custom/Sarisa-JamesWhite89-FF5.bin new file mode 100644 index 00000000..a4eb3407 Binary files /dev/null and b/graphics/portraits/custom/Sarisa-JamesWhite89-FF5.bin differ diff --git a/graphics/portraits/custom/Sarisa-JamesWhite89-FF5.pal b/graphics/portraits/custom/Sarisa-JamesWhite89-FF5.pal new file mode 100644 index 00000000..ddc8d929 Binary files /dev/null and b/graphics/portraits/custom/Sarisa-JamesWhite89-FF5.pal differ diff --git a/graphics/portraits/custom/Setzer-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Setzer-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..115e59f8 Binary files /dev/null and b/graphics/portraits/custom/Setzer-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Setzer-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Setzer-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..b662b62c Binary files /dev/null and b/graphics/portraits/custom/Setzer-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Shadow-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Shadow-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..a7a40025 Binary files /dev/null and b/graphics/portraits/custom/Shadow-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Shadow-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Shadow-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..7d93ad03 Binary files /dev/null and b/graphics/portraits/custom/Shadow-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Sherlotta-HoxNorf-FFCC.bin b/graphics/portraits/custom/Sherlotta-HoxNorf-FFCC.bin new file mode 100644 index 00000000..48599913 Binary files /dev/null and b/graphics/portraits/custom/Sherlotta-HoxNorf-FFCC.bin differ diff --git a/graphics/portraits/custom/Sherlotta-HoxNorf-FFCC.pal b/graphics/portraits/custom/Sherlotta-HoxNorf-FFCC.pal new file mode 100644 index 00000000..5b5e8f2d Binary files /dev/null and b/graphics/portraits/custom/Sherlotta-HoxNorf-FFCC.pal differ diff --git a/graphics/portraits/custom/Strago-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Strago-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..4ba2b355 Binary files /dev/null and b/graphics/portraits/custom/Strago-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Strago-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Strago-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..bc6fa664 Binary files /dev/null and b/graphics/portraits/custom/Strago-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Terra-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Terra-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..c425032d Binary files /dev/null and b/graphics/portraits/custom/Terra-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Terra-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Terra-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..5ee73c9b Binary files /dev/null and b/graphics/portraits/custom/Terra-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Toriel-LoneRedMage-Undertale.bin b/graphics/portraits/custom/Toriel-LoneRedMage-Undertale.bin new file mode 100644 index 00000000..900bf6c2 Binary files /dev/null and b/graphics/portraits/custom/Toriel-LoneRedMage-Undertale.bin differ diff --git a/graphics/portraits/custom/Toriel-LoneRedMage-Undertale.pal b/graphics/portraits/custom/Toriel-LoneRedMage-Undertale.pal new file mode 100644 index 00000000..0231cea7 --- /dev/null +++ b/graphics/portraits/custom/Toriel-LoneRedMage-Undertale.pal @@ -0,0 +1 @@ +1FRJc9gV{k!k-(8z{:v`` \ No newline at end of file diff --git a/graphics/portraits/custom/Umaro-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/Umaro-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..4b29cec7 Binary files /dev/null and b/graphics/portraits/custom/Umaro-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/Umaro-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/Umaro-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..217033a9 Binary files /dev/null and b/graphics/portraits/custom/Umaro-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Vincent-Twinees-FF7.bin b/graphics/portraits/custom/Vincent-Xeblon-FF7.bin similarity index 100% rename from graphics/portraits/custom/Vincent-Twinees-FF7.bin rename to graphics/portraits/custom/Vincent-Xeblon-FF7.bin diff --git a/graphics/portraits/custom/Vincent-Twinees-FF7.pal b/graphics/portraits/custom/Vincent-Xeblon-FF7.pal similarity index 100% rename from graphics/portraits/custom/Vincent-Twinees-FF7.pal rename to graphics/portraits/custom/Vincent-Xeblon-FF7.pal diff --git a/graphics/portraits/custom/WedgeVicks-Laurel_Gens-FF6PR.bin b/graphics/portraits/custom/WedgeVicks-Laurel_Gens-FF6PR.bin new file mode 100644 index 00000000..3eebbd7c Binary files /dev/null and b/graphics/portraits/custom/WedgeVicks-Laurel_Gens-FF6PR.bin differ diff --git a/graphics/portraits/custom/WedgeVicks-Laurel_Gens-FF6PR.pal b/graphics/portraits/custom/WedgeVicks-Laurel_Gens-FF6PR.pal new file mode 100644 index 00000000..c196376d Binary files /dev/null and b/graphics/portraits/custom/WedgeVicks-Laurel_Gens-FF6PR.pal differ diff --git a/graphics/portraits/custom/Wren-HoxNorf-PS4.bin b/graphics/portraits/custom/Wren-HoxNorf-PS4.bin new file mode 100644 index 00000000..b4e12b71 Binary files /dev/null and b/graphics/portraits/custom/Wren-HoxNorf-PS4.bin differ diff --git a/graphics/portraits/custom/Wren-HoxNorf-PS4.pal b/graphics/portraits/custom/Wren-HoxNorf-PS4.pal new file mode 100644 index 00000000..10e18eb4 Binary files /dev/null and b/graphics/portraits/custom/Wren-HoxNorf-PS4.pal differ diff --git a/graphics/portraits/custom/X-Unknown-Megaman.bin b/graphics/portraits/custom/X-Unknown-Megaman.bin new file mode 100644 index 00000000..f2fdf530 Binary files /dev/null and b/graphics/portraits/custom/X-Unknown-Megaman.bin differ diff --git a/graphics/portraits/custom/X-Unknown-Megaman.pal b/graphics/portraits/custom/X-Unknown-Megaman.pal new file mode 100644 index 00000000..6f8ad31a Binary files /dev/null and b/graphics/portraits/custom/X-Unknown-Megaman.pal differ diff --git a/graphics/portraits/custom/Yuyuko-HoxNorf-Touhou.bin b/graphics/portraits/custom/Yuyuko-HoxNorf-Touhou.bin new file mode 100644 index 00000000..606191f2 Binary files /dev/null and b/graphics/portraits/custom/Yuyuko-HoxNorf-Touhou.bin differ diff --git a/graphics/portraits/custom/Yuyuko-HoxNorf-Touhou.pal b/graphics/portraits/custom/Yuyuko-HoxNorf-Touhou.pal new file mode 100644 index 00000000..ee1caaec --- /dev/null +++ b/graphics/portraits/custom/Yuyuko-HoxNorf-Touhou.pal @@ -0,0 +1 @@ +#>g^[VM.^43{3An4Ib{Ms \ No newline at end of file diff --git a/graphics/portraits/portraits.py b/graphics/portraits/portraits.py index 9c717d33..31001873 100644 --- a/graphics/portraits/portraits.py +++ b/graphics/portraits/portraits.py @@ -137,7 +137,7 @@ 229: "Pacman Ghost-JamesWhite89-Pacman", 230: "Palom (Adult)-HoxNorf-FF4", 231: "Paul-HoxNorf-FF2", - 232: "Pirahna Plant-JamesWhite89-Mario", + 232: "Piranha Plant-JamesWhite89-Mario", 233: "Porom (Adult)-HoxNorf-FF4", 234: "Ricard-HoxNorf-FF2", 235: "Ryu-HoxNorf-SF", @@ -171,7 +171,7 @@ 263 : "Link-JamesWhite89-LegendOfZelda", 264 : "LoneWolf-JamesWhite89-FF6", 265 : "Lucca-FEOK-CT", - 266 : "Lufia-VRNocturne-Lufia", + 266 : "Lufia-JamesWhite89-Lufia", 267 : "Luigi-Halkel-Mario", 268 : "Maduin-PocoLoco-FF6", 269 : "Mario-Halkel-Mario", @@ -190,8 +190,59 @@ 282 : "Tifa-JamesWhite89-FF7", 283 : "Train Conductor-Mascot1063-FF6", 284 : "Vargas-PocoLoco-FF6", - 285 : "Vincent-Twinees-FF7", + 285 : "Vincent-Xeblon-FF7", 286 : "Yoshi-Badass-Mario", + + 287 : "Alice-HoxNorf-Touhou", + 288 : "Alma-Unknown-FFT", + 289 : "Alphys-LoneRedMage-Undertale", + 290 : "Amy-HoxNorf-Sonic", + 291 : "Cloud-JamesWhite89-FF7", + 292 : "Fighter-CtrlxZ-FF1", + 293 : "Frisk-LoneRedMage-Undertale", + 294 : "Gryz-HoxNorf-PS4", + 295 : "Jessie-JamesWhite89-FF7", + 296 : "Lenna (White Mage)-JamesWhite89-FF5", + 297 : "Lenna-JamesWhite89-FF5", + 298 : "Orlandeau-Unknown-FFT", + 299 : "Porom (Devout)-HoxNorf-FF4", + 300 : "Raja-HoxNorf-PS4", + 301 : "Ramza-Unknown-FFT", + 302 : "Reimu (Blue)-HoxNorf-Touhou", + 303 : "Rune-HoxNorf-PS4", + 304 : "Sarisa-JamesWhite89-FF5", + 305 : "Toriel-LoneRedMage-Undertale", + 306 : "Yuyuko-HoxNorf-Touhou", + 307 : "Sanae-HoxNorf-Touhou", + 308 : "Kain (Holy Dragoon)-Unknown-FF4TAY", + 309 : "Cait Sith-HoxNorf-FF7", + 310 : "Wren-HoxNorf-PS4", + 311 : "Nitori-HoxNorf-Touhou", + 312 : "Donkey Kong-Badass-Mario", + 313 : "X-Unknown-Megaman", + 314 : "Lugae-HoxNorf-FF4", + 315 : "Gilius-JamesWhite89-GoldenAxe", + 316 : "Arthur-JamesWhite89-GnG", + 317 : "Sherlotta-HoxNorf-FFCC", + 318 : "Banon-Laurel_Gens-FF6PR", + 319 : "Celes-Laurel_Gens-FF6PR", + 320 : "Cyan-Laurel_Gens-FF6PR", + 321 : "Edgar-Laurel_Gens-FF6PR", + 322 : "Gau-Laurel_Gens-FF6PR", + 323 : "General Leo-Laurel_Gens-FF6PR", + 324 : "Ghost-Laurel_Gens-FF6PR", + 325 : "Gogo-Laurel_Gens-FF6PR", + 326 : "Imp-Laurel_Gens-FF6PR", + 327 : "Locke-Laurel_Gens-FF6PR", + 328 : "Mog-Laurel_Gens-FF6PR", + 329 : "Relm-Laurel_Gens-FF6PR", + 330 : "Sabin-Laurel_Gens-FF6PR", + 331 : "Setzer-Laurel_Gens-FF6PR", + 332 : "Shadow-Laurel_Gens-FF6PR", + 333 : "Strago-Laurel_Gens-FF6PR", + 334 : "Terra-Laurel_Gens-FF6PR", + 335 : "Umaro-Laurel_Gens-FF6PR", + 336 : "WedgeVicks-Laurel_Gens-FF6PR", } def get_bin_path(id_): diff --git a/graphics/sprites/custom/Alice-HoxNorf-Touhou.bin b/graphics/sprites/custom/Alice-HoxNorf-Touhou.bin new file mode 100644 index 00000000..77ed3544 Binary files /dev/null and b/graphics/sprites/custom/Alice-HoxNorf-Touhou.bin differ diff --git a/graphics/sprites/custom/Alphys-LoneRedMage-Undertale.bin b/graphics/sprites/custom/Alphys-LoneRedMage-Undertale.bin new file mode 100644 index 00000000..ed9b8a5a Binary files /dev/null and b/graphics/sprites/custom/Alphys-LoneRedMage-Undertale.bin differ diff --git a/graphics/sprites/custom/Amy-HoxNorf-Sonic.bin b/graphics/sprites/custom/Amy-HoxNorf-Sonic.bin new file mode 100644 index 00000000..8021d6a9 Binary files /dev/null and b/graphics/sprites/custom/Amy-HoxNorf-Sonic.bin differ diff --git a/graphics/sprites/custom/Antlion-Astaroth-FF4.bin b/graphics/sprites/custom/Antlion-Astaroth-FF4.bin index 6c9cd20a..27b9f007 100644 Binary files a/graphics/sprites/custom/Antlion-Astaroth-FF4.bin and b/graphics/sprites/custom/Antlion-Astaroth-FF4.bin differ diff --git a/graphics/sprites/custom/Arthur-JamesWhite89-GnG.bin b/graphics/sprites/custom/Arthur-JamesWhite89-GnG.bin new file mode 100644 index 00000000..760649ea Binary files /dev/null and b/graphics/sprites/custom/Arthur-JamesWhite89-GnG.bin differ diff --git a/graphics/sprites/custom/Atma-Astaroth-FF6.bin b/graphics/sprites/custom/Atma-Astaroth-FF6.bin index 61d7a942..97034631 100644 Binary files a/graphics/sprites/custom/Atma-Astaroth-FF6.bin and b/graphics/sprites/custom/Atma-Astaroth-FF6.bin differ diff --git a/graphics/sprites/custom/Boy-Zozma-FF6.bin b/graphics/sprites/custom/Boy-Zozma-FF6.bin index d94cee22..6e127c11 100644 Binary files a/graphics/sprites/custom/Boy-Zozma-FF6.bin and b/graphics/sprites/custom/Boy-Zozma-FF6.bin differ diff --git a/graphics/sprites/custom/Cagnazzo-Astaroth-FF4.bin b/graphics/sprites/custom/Cagnazzo-Astaroth-FF4.bin index 23b7f15f..fc086d78 100644 Binary files a/graphics/sprites/custom/Cagnazzo-Astaroth-FF4.bin and b/graphics/sprites/custom/Cagnazzo-Astaroth-FF4.bin differ diff --git a/graphics/sprites/custom/Cait Sith-HoxNorf-FF7.bin b/graphics/sprites/custom/Cait Sith-HoxNorf-FF7.bin new file mode 100644 index 00000000..dd19efab Binary files /dev/null and b/graphics/sprites/custom/Cait Sith-HoxNorf-FF7.bin differ diff --git a/graphics/sprites/custom/Celes (Amano)-Astaroth-FF6.bin b/graphics/sprites/custom/Celes (Amano)-Astaroth-FF6.bin index 4b9410a9..61d84107 100644 Binary files a/graphics/sprites/custom/Celes (Amano)-Astaroth-FF6.bin and b/graphics/sprites/custom/Celes (Amano)-Astaroth-FF6.bin differ diff --git a/graphics/sprites/custom/Celes (Opera)-Astaroth-FF6.bin b/graphics/sprites/custom/Celes (Opera)-Astaroth-FF6.bin index 2bc13044..6f9d4eff 100644 Binary files a/graphics/sprites/custom/Celes (Opera)-Astaroth-FF6.bin and b/graphics/sprites/custom/Celes (Opera)-Astaroth-FF6.bin differ diff --git a/graphics/sprites/custom/Clyde-PocoLoco-FF6.bin b/graphics/sprites/custom/Clyde-PocoLoco-FF6.bin index 80fbe7e8..4dff51c1 100644 Binary files a/graphics/sprites/custom/Clyde-PocoLoco-FF6.bin and b/graphics/sprites/custom/Clyde-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Cultist-PocoLoco-FF6.bin b/graphics/sprites/custom/Cultist-PocoLoco-FF6.bin index 755f8c75..6f789e3d 100644 Binary files a/graphics/sprites/custom/Cultist-PocoLoco-FF6.bin and b/graphics/sprites/custom/Cultist-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Dancer-PocoLoco-FF6.bin b/graphics/sprites/custom/Dancer-PocoLoco-FF6.bin index 7076deb1..1d54e028 100644 Binary files a/graphics/sprites/custom/Dancer-PocoLoco-FF6.bin and b/graphics/sprites/custom/Dancer-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Dark Elf-Astaroth-FF4.bin b/graphics/sprites/custom/Dark Elf-Astaroth-FF4.bin index 4f3a53e0..f6f5632e 100644 Binary files a/graphics/sprites/custom/Dark Elf-Astaroth-FF4.bin and b/graphics/sprites/custom/Dark Elf-Astaroth-FF4.bin differ diff --git a/graphics/sprites/custom/Donkey Kong-Badass-Mario.bin b/graphics/sprites/custom/Donkey Kong-Badass-Mario.bin new file mode 100644 index 00000000..b107f689 Binary files /dev/null and b/graphics/sprites/custom/Donkey Kong-Badass-Mario.bin differ diff --git a/graphics/sprites/custom/Draco-PocoLoco-FF6.bin b/graphics/sprites/custom/Draco-PocoLoco-FF6.bin index 345015e4..9a62854a 100644 Binary files a/graphics/sprites/custom/Draco-PocoLoco-FF6.bin and b/graphics/sprites/custom/Draco-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Elena-Astaroth-FF7.bin b/graphics/sprites/custom/Elena-Astaroth-FF7.bin index 77fbc635..d766a934 100644 Binary files a/graphics/sprites/custom/Elena-Astaroth-FF7.bin and b/graphics/sprites/custom/Elena-Astaroth-FF7.bin differ diff --git a/graphics/sprites/custom/Figaro Guard-PocoLoco-FF6.bin b/graphics/sprites/custom/Figaro Guard-PocoLoco-FF6.bin index 86208dca..b59252ec 100644 Binary files a/graphics/sprites/custom/Figaro Guard-PocoLoco-FF6.bin and b/graphics/sprites/custom/Figaro Guard-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Frisk-LoneRedMage-Undertale.bin b/graphics/sprites/custom/Frisk-LoneRedMage-Undertale.bin new file mode 100644 index 00000000..4ec4b33c Binary files /dev/null and b/graphics/sprites/custom/Frisk-LoneRedMage-Undertale.bin differ diff --git a/graphics/sprites/custom/Gilius-JamesWhite89-GoldenAxe.bin b/graphics/sprites/custom/Gilius-JamesWhite89-GoldenAxe.bin new file mode 100644 index 00000000..5cb1868b Binary files /dev/null and b/graphics/sprites/custom/Gilius-JamesWhite89-GoldenAxe.bin differ diff --git a/graphics/sprites/custom/Gryz-HoxNorf-PS4.bin b/graphics/sprites/custom/Gryz-HoxNorf-PS4.bin new file mode 100644 index 00000000..cad0c61c Binary files /dev/null and b/graphics/sprites/custom/Gryz-HoxNorf-PS4.bin differ diff --git a/graphics/sprites/custom/Interceptor-JamesWhite89-FF6.bin b/graphics/sprites/custom/Interceptor-JamesWhite89-FF6.bin index bef4d9d5..3dc8b4aa 100644 Binary files a/graphics/sprites/custom/Interceptor-JamesWhite89-FF6.bin and b/graphics/sprites/custom/Interceptor-JamesWhite89-FF6.bin differ diff --git a/graphics/sprites/custom/Kain (Holy Dragoon)-CtrlxZ-FF4TAY.bin b/graphics/sprites/custom/Kain (Holy Dragoon)-CtrlxZ-FF4TAY.bin new file mode 100644 index 00000000..c8d4681b Binary files /dev/null and b/graphics/sprites/custom/Kain (Holy Dragoon)-CtrlxZ-FF4TAY.bin differ diff --git a/graphics/sprites/custom/Katarin-Zozma-FF6.bin b/graphics/sprites/custom/Katarin-Zozma-FF6.bin index 5d68c1de..0f9f3790 100644 Binary files a/graphics/sprites/custom/Katarin-Zozma-FF6.bin and b/graphics/sprites/custom/Katarin-Zozma-FF6.bin differ diff --git a/graphics/sprites/custom/Link-FEOK-LegendOfZelda.bin b/graphics/sprites/custom/Link-FEOK-LegendOfZelda.bin index 81bef75a..2976fb0e 100644 Binary files a/graphics/sprites/custom/Link-FEOK-LegendOfZelda.bin and b/graphics/sprites/custom/Link-FEOK-LegendOfZelda.bin differ diff --git a/graphics/sprites/custom/LoneWolf-PocoLoco-FF6.bin b/graphics/sprites/custom/LoneWolf-PocoLoco-FF6.bin index 7a6b6933..13265620 100644 Binary files a/graphics/sprites/custom/LoneWolf-PocoLoco-FF6.bin and b/graphics/sprites/custom/LoneWolf-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Lucca-FEOK-CT.bin b/graphics/sprites/custom/Lucca-FEOK-CT.bin index 95885e68..ed48e6a4 100644 Binary files a/graphics/sprites/custom/Lucca-FEOK-CT.bin and b/graphics/sprites/custom/Lucca-FEOK-CT.bin differ diff --git a/graphics/sprites/custom/Lufia-JamesWhite89-Lufia.bin b/graphics/sprites/custom/Lufia-JamesWhite89-Lufia.bin index 3e54b90c..aa142755 100644 Binary files a/graphics/sprites/custom/Lufia-JamesWhite89-Lufia.bin and b/graphics/sprites/custom/Lufia-JamesWhite89-Lufia.bin differ diff --git a/graphics/sprites/custom/Lugae-Astaroth-FF4.bin b/graphics/sprites/custom/Lugae-Astaroth-FF4.bin new file mode 100644 index 00000000..8e0482f6 Binary files /dev/null and b/graphics/sprites/custom/Lugae-Astaroth-FF4.bin differ diff --git a/graphics/sprites/custom/Maduin-PocoLoco-FF6.bin b/graphics/sprites/custom/Maduin-PocoLoco-FF6.bin index da24d580..e8c4fde7 100644 Binary files a/graphics/sprites/custom/Maduin-PocoLoco-FF6.bin and b/graphics/sprites/custom/Maduin-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Mini-JamesWhite89-FF.bin b/graphics/sprites/custom/Mini-JamesWhite89-FF.bin index 3b555e35..f523081c 100644 Binary files a/graphics/sprites/custom/Mini-JamesWhite89-FF.bin and b/graphics/sprites/custom/Mini-JamesWhite89-FF.bin differ diff --git a/graphics/sprites/custom/NarsheGuard-PocoLoco-FF6.bin b/graphics/sprites/custom/NarsheGuard-PocoLoco-FF6.bin index 34b6e0f0..dc6632ae 100644 Binary files a/graphics/sprites/custom/NarsheGuard-PocoLoco-FF6.bin and b/graphics/sprites/custom/NarsheGuard-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Nitori-HoxNorf-Touhou.bin b/graphics/sprites/custom/Nitori-HoxNorf-Touhou.bin new file mode 100644 index 00000000..4b6178b1 Binary files /dev/null and b/graphics/sprites/custom/Nitori-HoxNorf-Touhou.bin differ diff --git a/graphics/sprites/custom/Peach-Halkel-SMRPG.bin b/graphics/sprites/custom/Peach-Halkel-SMRPG.bin index c6075e5e..b9348415 100644 Binary files a/graphics/sprites/custom/Peach-Halkel-SMRPG.bin and b/graphics/sprites/custom/Peach-Halkel-SMRPG.bin differ diff --git a/graphics/sprites/custom/Pirahna Plant-JamesWhite89-Mario.bin b/graphics/sprites/custom/Piranha Plant-JamesWhite89-Mario.bin similarity index 100% rename from graphics/sprites/custom/Pirahna Plant-JamesWhite89-Mario.bin rename to graphics/sprites/custom/Piranha Plant-JamesWhite89-Mario.bin diff --git a/graphics/sprites/custom/Raja-HoxNorf-PS4.bin b/graphics/sprites/custom/Raja-HoxNorf-PS4.bin new file mode 100644 index 00000000..2e58b265 Binary files /dev/null and b/graphics/sprites/custom/Raja-HoxNorf-PS4.bin differ diff --git a/graphics/sprites/custom/Rubicante-Astaroth-FF4.bin b/graphics/sprites/custom/Rubicante-Astaroth-FF4.bin index eda267e3..90d05d7d 100644 Binary files a/graphics/sprites/custom/Rubicante-Astaroth-FF4.bin and b/graphics/sprites/custom/Rubicante-Astaroth-FF4.bin differ diff --git a/graphics/sprites/custom/Rune-HoxNorf-PS4.bin b/graphics/sprites/custom/Rune-HoxNorf-PS4.bin new file mode 100644 index 00000000..150383af Binary files /dev/null and b/graphics/sprites/custom/Rune-HoxNorf-PS4.bin differ diff --git a/graphics/sprites/custom/Sanae-HoxNorf-Touhou.bin b/graphics/sprites/custom/Sanae-HoxNorf-Touhou.bin new file mode 100644 index 00000000..4da9b020 Binary files /dev/null and b/graphics/sprites/custom/Sanae-HoxNorf-Touhou.bin differ diff --git a/graphics/sprites/custom/Scholar-PocoLoco-FF6.bin b/graphics/sprites/custom/Scholar-PocoLoco-FF6.bin index 2f93ed8e..5d26a883 100644 Binary files a/graphics/sprites/custom/Scholar-PocoLoco-FF6.bin and b/graphics/sprites/custom/Scholar-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Sherlotta-HoxNorf_ScarabEnigma-FFCC.bin b/graphics/sprites/custom/Sherlotta-HoxNorf_ScarabEnigma-FFCC.bin new file mode 100644 index 00000000..bce09100 Binary files /dev/null and b/graphics/sprites/custom/Sherlotta-HoxNorf_ScarabEnigma-FFCC.bin differ diff --git a/graphics/sprites/custom/Siegfried-PocoLoco-FF6.bin b/graphics/sprites/custom/Siegfried-PocoLoco-FF6.bin index 970851a7..91139384 100644 Binary files a/graphics/sprites/custom/Siegfried-PocoLoco-FF6.bin and b/graphics/sprites/custom/Siegfried-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Squall (Uniform)-SApprentice-FF8.bin b/graphics/sprites/custom/Squall (Uniform)-SApprentice-FF8.bin index fba86a6a..48e2d791 100644 Binary files a/graphics/sprites/custom/Squall (Uniform)-SApprentice-FF8.bin and b/graphics/sprites/custom/Squall (Uniform)-SApprentice-FF8.bin differ diff --git a/graphics/sprites/custom/Squall-PocoLoco-FF8.bin b/graphics/sprites/custom/Squall-PocoLoco-FF8.bin index 5cbdc89c..1d3997f2 100644 Binary files a/graphics/sprites/custom/Squall-PocoLoco-FF8.bin and b/graphics/sprites/custom/Squall-PocoLoco-FF8.bin differ diff --git a/graphics/sprites/custom/Tifa-Astaroth-FF7.bin b/graphics/sprites/custom/Tifa-Astaroth-FF7.bin index 0eaeffdb..4f7de0d7 100644 Binary files a/graphics/sprites/custom/Tifa-Astaroth-FF7.bin and b/graphics/sprites/custom/Tifa-Astaroth-FF7.bin differ diff --git a/graphics/sprites/custom/Toriel-LoneRedMage-Undertale.bin b/graphics/sprites/custom/Toriel-LoneRedMage-Undertale.bin new file mode 100644 index 00000000..838e4e48 Binary files /dev/null and b/graphics/sprites/custom/Toriel-LoneRedMage-Undertale.bin differ diff --git a/graphics/sprites/custom/Ultros-PocoLoco-FF6.bin b/graphics/sprites/custom/Ultros-PocoLoco-FF6.bin index 66e06106..6aa818c9 100644 Binary files a/graphics/sprites/custom/Ultros-PocoLoco-FF6.bin and b/graphics/sprites/custom/Ultros-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Vargas-PocoLoco-FF6.bin b/graphics/sprites/custom/Vargas-PocoLoco-FF6.bin index d6197e73..07e23a86 100644 Binary files a/graphics/sprites/custom/Vargas-PocoLoco-FF6.bin and b/graphics/sprites/custom/Vargas-PocoLoco-FF6.bin differ diff --git a/graphics/sprites/custom/Vincent-FEOK-FF7.bin b/graphics/sprites/custom/Vincent-FEOK-FF7.bin index f713f982..816a50f8 100644 Binary files a/graphics/sprites/custom/Vincent-FEOK-FF7.bin and b/graphics/sprites/custom/Vincent-FEOK-FF7.bin differ diff --git a/graphics/sprites/custom/Wren-HoxNorf-PS4.bin b/graphics/sprites/custom/Wren-HoxNorf-PS4.bin new file mode 100644 index 00000000..407ffda6 Binary files /dev/null and b/graphics/sprites/custom/Wren-HoxNorf-PS4.bin differ diff --git a/graphics/sprites/custom/X-Badass-Megaman.bin b/graphics/sprites/custom/X-Badass-Megaman.bin new file mode 100644 index 00000000..72475e0d Binary files /dev/null and b/graphics/sprites/custom/X-Badass-Megaman.bin differ diff --git a/graphics/sprites/custom/Yuyuko-HoxNorf-Touhou.bin b/graphics/sprites/custom/Yuyuko-HoxNorf-Touhou.bin new file mode 100644 index 00000000..7bb93800 Binary files /dev/null and b/graphics/sprites/custom/Yuyuko-HoxNorf-Touhou.bin differ diff --git a/graphics/sprites/sprites.py b/graphics/sprites/sprites.py index 76127a07..375b3311 100644 --- a/graphics/sprites/sprites.py +++ b/graphics/sprites/sprites.py @@ -193,7 +193,7 @@ 233 : "Pacman Ghost-HoxNorf-Pacman", 234 : "Palom (Adult)-HoxNorf-FF4", 235 : "Paul-HoxNorf-FF2", - 236 : "Pirahna Plant-JamesWhite89-Mario", + 236 : "Piranha Plant-JamesWhite89-Mario", 237 : "Porom (Adult)-HoxNorf-FF4", 238 : "Ramza-CtrlxZ-FFT", 239 : "Ricard-HoxNorf-FF2", @@ -223,7 +223,7 @@ 263 : "Figaro Guard-PocoLoco-FF6", 264 : "Granny-Zozma-FF6", 265 : "Hojo-LoneRedMage-FF7", - 266 : "Katarin-Zozma-FF6", + 266 : "Sanae-HoxNorf-Touhou", 267 : "Lady-Zozma-FF6", 268 : "Link-FEOK-LegendOfZelda", 269 : "LoneWolf-PocoLoco-FF6", @@ -232,7 +232,7 @@ 272 : "Luigi-Badass-Mario", 273 : "Maduin-PocoLoco-FF6", 274 : "Mario-Badass-Mario", - 275 : "Mini-JamesWhite89-FF", + 275 : "Kain (Holy Dragoon)-CtrlxZ-FF4TAY", 276 : "NarsheGuard-PocoLoco-FF6", 277 : "Peach-Halkel-SMRPG", 278 : "Returner-PocoLoco-FF6", @@ -253,6 +253,25 @@ # FFT 300 : "Alma-HoxNorf-FFT", 301 : "Orlandeau-ctrlxz-FFT", + + 302 : "Alice-HoxNorf-Touhou", + 303 : "Alphys-LoneRedMage-Undertale", + 304 : "Amy-HoxNorf-Sonic", + 305 : "Frisk-LoneRedMage-Undertale", + 306 : "Gryz-HoxNorf-PS4", + 307 : "Raja-HoxNorf-PS4", + 308 : "Rune-HoxNorf-PS4", + 309 : "Toriel-LoneRedMage-Undertale", + 310 : "Yuyuko-HoxNorf-Touhou", + 311 : "Cait Sith-HoxNorf-FF7", + 312 : "Wren-HoxNorf-PS4", + 313 : "Nitori-HoxNorf-Touhou", + 314 : "Donkey Kong-Badass-Mario", + 315 : "X-Badass-Megaman", + 316 : "Lugae-Astaroth-FF4", + 317 : "Gilius-JamesWhite89-GoldenAxe", + 318 : "Arthur-JamesWhite89-GnG", + 319 : "Sherlotta-HoxNorf_ScarabEnigma-FFCC", } def get_path(id_): diff --git a/settings/permadeath.py b/settings/permadeath.py index 62aebbd2..4b753580 100644 --- a/settings/permadeath.py +++ b/settings/permadeath.py @@ -13,6 +13,7 @@ def __init__(self): if args.permadeath: self.remove_status_mod(remove_status_space) self.heal_hp_mod(heal_hp_space) + self.coliseum_mod() def remove_status_mod(self, space): # change remove status effects field command to never remove death @@ -47,3 +48,8 @@ def heal_hp_mod(self, space): space.write( asm.JMP(death_or_max_hp, asm.ABS), ) + + def coliseum_mod(self): + # don't revive permadeath characters by retaining the wound bit + space = Reserve(0x227f3, 0x227f3, "coliseum permadeath") + space.write(0xad) # default: 0x2d, which clears the wound bit \ No newline at end of file