make all output paths host.yaml settable
rename itemlist to itempool, as the actual item listing is in items.py change pedestal text of book of mudora from paradox to hylian for dingusses
This commit is contained in:
parent
72545d12f1
commit
8852ec9a18
62
Items.py
62
Items.py
|
@ -23,22 +23,52 @@ def ItemFactory(items, player):
|
||||||
|
|
||||||
|
|
||||||
# Format: Name: (Advancement, Priority, Type, ItemCode, Pedestal Hint Text, Pedestal Credit Text, Sick Kid Credit Text, Zora Credit Text, Witch Credit Text, Flute Boy Credit Text, Hint Text)
|
# Format: Name: (Advancement, Priority, Type, ItemCode, Pedestal Hint Text, Pedestal Credit Text, Sick Kid Credit Text, Zora Credit Text, Witch Credit Text, Flute Boy Credit Text, Hint Text)
|
||||||
item_table = {'Bow': (True, False, None, 0x0B, 'You have\nchosen the\narcher class.', 'the stick and twine', 'arrow-slinging kid', 'arrow sling for sale', 'witch and robin hood', 'archer boy shoots again', 'the Bow'),
|
item_table = {'Bow': (
|
||||||
'Progressive Bow': (True, False, None, 0x64, 'You have\nchosen the\narcher class.', 'the stick and twine', 'arrow-slinging kid', 'arrow sling for sale', 'witch and robin hood', 'archer boy shoots again', 'a Bow'),
|
True, False, None, 0x0B, 'You have\nchosen the\narcher class.', 'the stick and twine', 'arrow-slinging kid',
|
||||||
'Progressive Bow (Alt)': (True, False, None, 0x65, 'You have\nchosen the\narcher class.', 'the stick and twine', 'arrow-slinging kid', 'arrow sling for sale', 'witch and robin hood', 'archer boy shoots again', 'a Bow'),
|
'arrow sling for sale', 'witch and robin hood', 'archer boy shoots again', 'the Bow'),
|
||||||
'Silver Arrows': (True, False, None, 0x58, 'Do you fancy\nsilver tipped\narrows?', 'and the ganonsbane','ganon-killing kid', 'ganon doom for sale', 'fungus for pork','archer boy shines again', 'the Silver Arrows'),
|
'Progressive Bow': (True, False, None, 0x64, 'You have\nchosen the\narcher class.', 'the stick and twine',
|
||||||
'Silver Bow': (True, False, None, 0x3B, 'Buy 1 Silver\nget Archery\nfor free.', 'the baconmaker', 'ganon-killing kid', 'ganon doom for sale', 'fungus for pork', 'archer boy shines again', 'the Silver Bow'),
|
'arrow-slinging kid', 'arrow sling for sale', 'witch and robin hood',
|
||||||
'Book of Mudora': (True, False, None, 0x1D, 'This is a\nparadox?!', 'and the story book', 'the scholarly kid', 'moon runes for sale', 'drugs for literacy', 'book-worm boy can read again', 'the Book'),
|
'archer boy shoots again', 'a Bow'),
|
||||||
'Hammer': (True, False, None, 0x09, 'stop\nhammer time!', 'and m c hammer', 'hammer-smashing kid', 'm c hammer for sale', 'stop... hammer time', 'stop, hammer time', 'the Hammer'),
|
'Progressive Bow (Alt)': (
|
||||||
'Hookshot': (True, False, None, 0x0A, 'BOING!!!\nBOING!!!\nBOING!!!', 'and the tickle beam', 'tickle-monster kid', 'tickle beam for sale', 'witch and tickle boy', 'beam boy tickles again', 'the Hookshot'),
|
True, False, None, 0x65, 'You have\nchosen the\narcher class.', 'the stick and twine',
|
||||||
'Magic Mirror': (True, False, None, 0x1A, 'Isn\'t your\nreflection so\npretty?', 'the face reflector', 'the narcissistic kid', 'your face for sale', 'trades looking-glass', 'narcissistic boy is happy again', 'the Mirror'),
|
'arrow-slinging kid', 'arrow sling for sale', 'witch and robin hood', 'archer boy shoots again', 'a Bow'),
|
||||||
'Flute': (True, False, None, 0x14, 'Save the duck\nand fly to\nfreedom!', 'and the duck call', 'the duck-call kid', 'duck call for sale', 'duck-calls for trade', 'flute boy plays again', 'the Flute'),
|
'Silver Arrows': (True, False, None, 0x58, 'Do you fancy\nsilver tipped\narrows?', 'and the ganonsbane',
|
||||||
'Pegasus Boots': (True, False, None, 0x4B, 'Gotta go fast!', 'and the sprint shoes', 'the running-man kid', 'sprint shoe for sale', 'shrooms for speed', 'gotta-go-fast boy runs again', 'the Boots'),
|
'ganon-killing kid', 'ganon doom for sale', 'fungus for pork',
|
||||||
'Power Glove': (True, False, None, 0x1B, 'Now you can\nlift weak\nstuff!', 'and the grey mittens', 'body-building kid', 'lift glove for sale', 'fungus for gloves', 'body-building boy lifts again', 'the Glove'),
|
'archer boy shines again', 'the Silver Arrows'),
|
||||||
'Cape': (True, False, None, 0x19, 'Wear this to\nbecome\ninvisible!', 'the camouflage cape', 'red riding-hood kid', 'red hood for sale', 'hood from a hood', 'dapper boy hides again', 'the Cape'),
|
'Silver Bow': (
|
||||||
'Mushroom': (True, False, None, 0x29, 'I\'m a fun guy!\n\nI\'m a funghi!', 'and the legal drugs', 'the drug-dealing kid', 'legal drugs for sale', 'shroom swap', 'shroom boy sells drugs again', 'the Mushroom'),
|
True, False, None, 0x3B, 'Buy 1 Silver\nget Archery\nfor free.', 'the baconmaker', 'ganon-killing kid',
|
||||||
'Shovel': (True, False, None, 0x13, 'Can\n You\n Dig it?', 'and the spade', 'archaeologist kid', 'dirt spade for sale', 'can you dig it', 'shovel boy digs again', 'the Shovel'),
|
'ganon doom for sale', 'fungus for pork', 'archer boy shines again', 'the Silver Bow'),
|
||||||
'Lamp': (True, False, None, 0x12, 'Baby, baby,\nbaby.\nLight my way!', 'and the flashlight', 'light-shining kid', 'flashlight for sale', 'fungus for illumination', 'illuminated boy can see again', 'the Lamp'),
|
'Book of Mudora': (
|
||||||
|
True, False, None, 0x1D, 'Hylian\nfor\nDingusses.', 'and the story book', 'the scholarly kid',
|
||||||
|
'moon runes for sale', 'drugs for literacy', 'book-worm boy can read again', 'the Book'),
|
||||||
|
'Hammer': (True, False, None, 0x09, 'stop\nhammer time!', 'and m c hammer', 'hammer-smashing kid',
|
||||||
|
'm c hammer for sale', 'stop... hammer time', 'stop, hammer time', 'the Hammer'),
|
||||||
|
'Hookshot': (
|
||||||
|
True, False, None, 0x0A, 'BOING!!!\nBOING!!!\nBOING!!!', 'and the tickle beam', 'tickle-monster kid',
|
||||||
|
'tickle beam for sale', 'witch and tickle boy', 'beam boy tickles again', 'the Hookshot'),
|
||||||
|
'Magic Mirror': (True, False, None, 0x1A, 'Isn\'t your\nreflection so\npretty?', 'the face reflector',
|
||||||
|
'the narcissistic kid', 'your face for sale', 'trades looking-glass',
|
||||||
|
'narcissistic boy is happy again', 'the Mirror'),
|
||||||
|
'Flute': (
|
||||||
|
True, False, None, 0x14, 'Save the duck\nand fly to\nfreedom!', 'and the duck call', 'the duck-call kid',
|
||||||
|
'duck call for sale', 'duck-calls for trade', 'flute boy plays again', 'the Flute'),
|
||||||
|
'Pegasus Boots': (
|
||||||
|
True, False, None, 0x4B, 'Gotta go fast!', 'and the sprint shoes', 'the running-man kid',
|
||||||
|
'sprint shoe for sale', 'shrooms for speed', 'gotta-go-fast boy runs again', 'the Boots'),
|
||||||
|
'Power Glove': (
|
||||||
|
True, False, None, 0x1B, 'Now you can\nlift weak\nstuff!', 'and the grey mittens', 'body-building kid',
|
||||||
|
'lift glove for sale', 'fungus for gloves', 'body-building boy lifts again', 'the Glove'),
|
||||||
|
'Cape': (
|
||||||
|
True, False, None, 0x19, 'Wear this to\nbecome\ninvisible!', 'the camouflage cape', 'red riding-hood kid',
|
||||||
|
'red hood for sale', 'hood from a hood', 'dapper boy hides again', 'the Cape'),
|
||||||
|
'Mushroom': (True, False, None, 0x29, 'I\'m a fun guy!\n\nI\'m a funghi!', 'and the legal drugs',
|
||||||
|
'the drug-dealing kid', 'legal drugs for sale', 'shroom swap',
|
||||||
|
'shroom boy sells drugs again', 'the Mushroom'),
|
||||||
|
'Shovel': (True, False, None, 0x13, 'Can\n You\n Dig it?', 'and the spade', 'archaeologist kid',
|
||||||
|
'dirt spade for sale', 'can you dig it', 'shovel boy digs again', 'the Shovel'),
|
||||||
|
'Lamp': (
|
||||||
|
True, False, None, 0x12, 'Baby, baby,\nbaby.\nLight my way!', 'and the flashlight', 'light-shining kid',
|
||||||
|
'flashlight for sale', 'fungus for illumination', 'illuminated boy can see again', 'the Lamp'),
|
||||||
'Magic Powder': (True, False, None, 0x0D, 'you can turn\nanti-faeries\ninto faeries', 'and the magic sack', 'the sack-holding kid', 'magic sack for sale', 'the witch and assistant', 'magic boy plays marbles again', 'the Powder'),
|
'Magic Powder': (True, False, None, 0x0D, 'you can turn\nanti-faeries\ninto faeries', 'and the magic sack', 'the sack-holding kid', 'magic sack for sale', 'the witch and assistant', 'magic boy plays marbles again', 'the Powder'),
|
||||||
'Moon Pearl': (True, False, None, 0x1F, ' Bunny Link\n be\n gone!', 'and the jaw breaker', 'fortune-telling kid', 'lunar orb for sale', 'shrooms for moon rock', 'moon boy plays ball again', 'the Moon Pearl'),
|
'Moon Pearl': (True, False, None, 0x1F, ' Bunny Link\n be\n gone!', 'and the jaw breaker', 'fortune-telling kid', 'lunar orb for sale', 'shrooms for moon rock', 'moon boy plays ball again', 'the Moon Pearl'),
|
||||||
'Cane of Somaria': (True, False, None, 0x15, 'I make blocks\nto hold down\nswitches!', 'and the red blocks', 'the block-making kid', 'block stick for sale', 'block stick for trade', 'cane boy makes blocks again', 'the Red Cane'),
|
'Cane of Somaria': (True, False, None, 0x15, 'I make blocks\nto hold down\nswitches!', 'and the red blocks', 'the block-making kid', 'block stick for sale', 'block stick for trade', 'cane boy makes blocks again', 'the Red Cane'),
|
||||||
|
|
2
Main.py
2
Main.py
|
@ -18,7 +18,7 @@ from Rules import set_rules
|
||||||
from Dungeons import create_dungeons, fill_dungeons, fill_dungeons_restrictive
|
from Dungeons import create_dungeons, fill_dungeons, fill_dungeons_restrictive
|
||||||
from Fill import distribute_items_cutoff, distribute_items_staleness, distribute_items_restrictive, flood_items, \
|
from Fill import distribute_items_cutoff, distribute_items_staleness, distribute_items_restrictive, flood_items, \
|
||||||
balance_multiworld_progression
|
balance_multiworld_progression
|
||||||
from ItemList import generate_itempool, difficulties, fill_prizes
|
from ItemPool import generate_itempool, difficulties, fill_prizes
|
||||||
from Utils import output_path, parse_player_names, get_options, __version__, _version_tuple
|
from Utils import output_path, parse_player_names, get_options, __version__, _version_tuple
|
||||||
import Patch
|
import Patch
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ if __name__ == "__main__":
|
||||||
options = get_options()
|
options = get_options()
|
||||||
|
|
||||||
multi_mystery_options = options["multi_mystery_options"]
|
multi_mystery_options = options["multi_mystery_options"]
|
||||||
output_path = multi_mystery_options["output_path"]
|
output_path = options["general_options"]["output_path"]
|
||||||
enemizer_path = multi_mystery_options["enemizer_path"]
|
enemizer_path = multi_mystery_options["enemizer_path"]
|
||||||
player_files_path = multi_mystery_options["player_files_path"]
|
player_files_path = multi_mystery_options["player_files_path"]
|
||||||
race = multi_mystery_options["race"]
|
race = multi_mystery_options["race"]
|
||||||
|
|
2
Utils.py
2
Utils.py
|
@ -84,7 +84,7 @@ local_path.cached_path = None
|
||||||
def output_path(path):
|
def output_path(path):
|
||||||
if output_path.cached_path:
|
if output_path.cached_path:
|
||||||
return os.path.join(output_path.cached_path, path)
|
return os.path.join(output_path.cached_path, path)
|
||||||
output_path.cached_path = local_path("output")
|
output_path.cached_path = local_path(get_options()["general_options"]["output_path"])
|
||||||
path = os.path.join(output_path.cached_path, path)
|
path = os.path.join(output_path.cached_path, path)
|
||||||
os.makedirs(os.path.dirname(path), exist_ok=True)
|
os.makedirs(os.path.dirname(path), exist_ok=True)
|
||||||
return path
|
return path
|
||||||
|
|
|
@ -7,6 +7,8 @@ general_options:
|
||||||
# true for operating system default program
|
# true for operating system default program
|
||||||
# alternatively, a path to a program to open the .sfc file with
|
# alternatively, a path to a program to open the .sfc file with
|
||||||
rom_start: true
|
rom_start: true
|
||||||
|
# Where to place output files
|
||||||
|
output_path: "output"
|
||||||
#options for MultiServer
|
#options for MultiServer
|
||||||
#null means nothing, for the server this means to default the value
|
#null means nothing, for the server this means to default the value
|
||||||
#these overwrite command line arguments!
|
#these overwrite command line arguments!
|
||||||
|
@ -49,8 +51,6 @@ server_options:
|
||||||
multi_mystery_options:
|
multi_mystery_options:
|
||||||
#teams, however, note that there is currently no way to supply names for teams 2+ through MultiMystery
|
#teams, however, note that there is currently no way to supply names for teams 2+ through MultiMystery
|
||||||
teams: 1
|
teams: 1
|
||||||
#Where to place the resulting files
|
|
||||||
output_path: "output"
|
|
||||||
#location of your Enemizer CLI, available here: https://github.com/Bonta0/Enemizer/releases
|
#location of your Enemizer CLI, available here: https://github.com/Bonta0/Enemizer/releases
|
||||||
enemizer_path: "EnemizerCLI/EnemizerCLI.Core.exe"
|
enemizer_path: "EnemizerCLI/EnemizerCLI.Core.exe"
|
||||||
#folder from which the player yaml files are pulled from
|
#folder from which the player yaml files are pulled from
|
||||||
|
|
|
@ -3,7 +3,7 @@ import unittest
|
||||||
from BaseClasses import World, CollectionState
|
from BaseClasses import World, CollectionState
|
||||||
from Dungeons import create_dungeons, get_dungeon_item_pool
|
from Dungeons import create_dungeons, get_dungeon_item_pool
|
||||||
from EntranceShuffle import mandatory_connections, connect_simple
|
from EntranceShuffle import mandatory_connections, connect_simple
|
||||||
from ItemList import difficulties, generate_itempool
|
from ItemPool import difficulties, generate_itempool
|
||||||
from Items import ItemFactory
|
from Items import ItemFactory
|
||||||
from Regions import create_regions, create_shops
|
from Regions import create_regions, create_shops
|
||||||
from Rules import set_rules
|
from Rules import set_rules
|
||||||
|
|
|
@ -2,7 +2,7 @@ from BaseClasses import World
|
||||||
from Dungeons import create_dungeons, get_dungeon_item_pool
|
from Dungeons import create_dungeons, get_dungeon_item_pool
|
||||||
from EntranceShuffle import link_inverted_entrances
|
from EntranceShuffle import link_inverted_entrances
|
||||||
from InvertedRegions import create_inverted_regions
|
from InvertedRegions import create_inverted_regions
|
||||||
from ItemList import generate_itempool, difficulties
|
from ItemPool import generate_itempool, difficulties
|
||||||
from Items import ItemFactory
|
from Items import ItemFactory
|
||||||
from Regions import mark_light_world_regions, create_shops
|
from Regions import mark_light_world_regions, create_shops
|
||||||
from Rules import set_rules
|
from Rules import set_rules
|
||||||
|
|
|
@ -5,7 +5,7 @@ from Dungeons import create_dungeons
|
||||||
from EntranceShuffle import connect_entrance, Inverted_LW_Entrances, Inverted_LW_Dungeon_Entrances, Inverted_LW_Single_Cave_Doors, Inverted_Old_Man_Entrances, Inverted_DW_Entrances, Inverted_DW_Dungeon_Entrances, Inverted_DW_Single_Cave_Doors, \
|
from EntranceShuffle import connect_entrance, Inverted_LW_Entrances, Inverted_LW_Dungeon_Entrances, Inverted_LW_Single_Cave_Doors, Inverted_Old_Man_Entrances, Inverted_DW_Entrances, Inverted_DW_Dungeon_Entrances, Inverted_DW_Single_Cave_Doors, \
|
||||||
Inverted_LW_Entrances_Must_Exit, Inverted_LW_Dungeon_Entrances_Must_Exit, Inverted_Bomb_Shop_Multi_Cave_Doors, Inverted_Bomb_Shop_Single_Cave_Doors, Blacksmith_Single_Cave_Doors, Inverted_Blacksmith_Multi_Cave_Doors
|
Inverted_LW_Entrances_Must_Exit, Inverted_LW_Dungeon_Entrances_Must_Exit, Inverted_Bomb_Shop_Multi_Cave_Doors, Inverted_Bomb_Shop_Single_Cave_Doors, Blacksmith_Single_Cave_Doors, Inverted_Blacksmith_Multi_Cave_Doors
|
||||||
from InvertedRegions import create_inverted_regions
|
from InvertedRegions import create_inverted_regions
|
||||||
from ItemList import difficulties
|
from ItemPool import difficulties
|
||||||
from Rules import set_inverted_big_bomb_rules
|
from Rules import set_inverted_big_bomb_rules
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ from BaseClasses import World
|
||||||
from Dungeons import create_dungeons, get_dungeon_item_pool
|
from Dungeons import create_dungeons, get_dungeon_item_pool
|
||||||
from EntranceShuffle import link_inverted_entrances
|
from EntranceShuffle import link_inverted_entrances
|
||||||
from InvertedRegions import create_inverted_regions
|
from InvertedRegions import create_inverted_regions
|
||||||
from ItemList import generate_itempool, difficulties
|
from ItemPool import generate_itempool, difficulties
|
||||||
from Items import ItemFactory
|
from Items import ItemFactory
|
||||||
from Regions import mark_light_world_regions, create_shops
|
from Regions import mark_light_world_regions, create_shops
|
||||||
from Rules import set_rules
|
from Rules import set_rules
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from ItemList import difficulties
|
from ItemPool import difficulties
|
||||||
from test.TestBase import TestBase
|
from test.TestBase import TestBase
|
||||||
|
|
||||||
base_items = 41
|
base_items = 41
|
||||||
|
|
|
@ -2,7 +2,7 @@ from BaseClasses import World
|
||||||
from Dungeons import create_dungeons, get_dungeon_item_pool
|
from Dungeons import create_dungeons, get_dungeon_item_pool
|
||||||
from EntranceShuffle import link_entrances
|
from EntranceShuffle import link_entrances
|
||||||
from InvertedRegions import mark_dark_world_regions
|
from InvertedRegions import mark_dark_world_regions
|
||||||
from ItemList import difficulties, generate_itempool
|
from ItemPool import difficulties, generate_itempool
|
||||||
from Items import ItemFactory
|
from Items import ItemFactory
|
||||||
from Regions import create_regions, create_shops
|
from Regions import create_regions, create_shops
|
||||||
from Rules import set_rules
|
from Rules import set_rules
|
||||||
|
|
|
@ -2,7 +2,7 @@ from BaseClasses import World
|
||||||
from Dungeons import create_dungeons, get_dungeon_item_pool
|
from Dungeons import create_dungeons, get_dungeon_item_pool
|
||||||
from EntranceShuffle import link_entrances
|
from EntranceShuffle import link_entrances
|
||||||
from InvertedRegions import mark_dark_world_regions
|
from InvertedRegions import mark_dark_world_regions
|
||||||
from ItemList import difficulties, generate_itempool
|
from ItemPool import difficulties, generate_itempool
|
||||||
from Items import ItemFactory
|
from Items import ItemFactory
|
||||||
from Regions import create_regions, create_shops
|
from Regions import create_regions, create_shops
|
||||||
from Rules import set_rules
|
from Rules import set_rules
|
||||||
|
|
Loading…
Reference in New Issue