mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
* Minecraft locations, items, and generation without logic * added id lookup for minecraft * typing import fix in minecraft/Items.py * fix 2 * implementing Minecraft options and hard/postgame advancement exclusion * first logic pass (75/80) * logic pass 2 and proper completion conditions * added insane difficulty pool, modified method of excluding item pools for easier extension * bump network_data_package version * minecraft testing framework * switch Ancient Debris to Netherite Scrap to avoid advancement triggering on receiving that item * Testing now functions, split tests up by advancement pane, added some story tests * Newer testing framework: every advancement gets its own function, for ease of testing * fixed logic for The End... Again... * changed option names to "include_hard_advancements" etc. * village/pillager-related advancements now require can_adventure: weapon + food * a few minecraft tests * rename "Flint & Steel" to "Flint and Steel" for parity with in-game name * additional MC tests * more tests, mostly nether-related tests * more tests, removed anvil path for Two Birds One Arrow * include Minecraft slot data, and a world seed for each Minecraft player slot * Added new items: ender pearls, lapis, porkchops * All remaining Minecraft tests * formatting of Minecraft tests and logic for better readability * require Wither kill for Monsters Hunted * properly removed 8 Emeralds item from item pool * enchanting required for wither; fishing rod required for water breathing; water breathing required for elder guardian kill * Added 12 new advancements (ported from old achievement system) * renamed "On a Rail" for consistency with modern advancements * tests for the new advancements * moved slot_data generation for minecraft into worlds/minecraft/__init__.py, added logic_version to slot_data * output minecraft options in the spoiler log * modified advancement goal values for new advancements * make non-native Minecraft items appear as Shovel in ALttP, and unknown-game items as Power Stars * fixed glowstone block logic for Not Quite Nine Lives * setup for shuffling MC structures: building ER world and shuffling regions/entrances * ensured Nether Fortresses can't be placed in the End * finished logic for structure randomization * fixed nonnative items always showing up as Hammers in ALttP shops * output minecraft structure info in the spoiler * generate .apmc file for communication with MC client * fixed structure rando always using the same seed * move stuff to worlds/minecraft/Regions.py * make output apmc file have consistent name with other files * added minecraft bottle macro; fixed tests imports * generalizing MC region generation * restructured structure shuffling in preparation for structure plando * only output structure rando info in spoiler if they are shuffled * Force structure rando to always be off, for the stable release * added Minecraft options to player settings * formally added combat_difficulty as an option * Added Ender Dragon into playthrough, cleaned up goal map * Added new difficulties: Easy, Normal, Hard combat * moved .apmc generation time to prevent outputs on failed generation * updated tests for new combat logic * Fixed bug causing generation to fail; removed Nether Fortress event since it should no longer be needed with the fix * moved all MC-specific functions into gen_minecraft * renamed "logic_version" to "client_version" * bug fixes properly flagged event locations/items with id None moved generation back to Main.py to fix mysterious generation failures * moved link_minecraft_regions into minecraft init, left create_regions in Main for caching * added seed_name, player_name, client_version to apmc file * reenabled structure shuffle * added entrance tests for minecraft * Minecraft logic updates Wither kill now considers nether fortresses as a valid source of soul sand A Furious Cocktail now requires beacons for resistance and village access for carrots Uneasy Alliance now requires fishing rod to pull the ghast through the portal On a Rail now requires iron pickaxe to make powered rails Overkill now may require strength II without stone axe, which needs nether access * embed all apmc info into slot_data * updated MC tests for logic changes * put apmc into zipfile Co-authored-by: achuang <alexander.w.chuang@gmail.com>
123 lines
5.4 KiB
YAML
123 lines
5.4 KiB
YAML
general_options:
|
|
# Where to place output files
|
|
output_path: "output"
|
|
# Options for MultiServer
|
|
# Null means nothing, for the server this means to default the value
|
|
# These overwrite command line arguments!
|
|
server_options:
|
|
host: null
|
|
port: 38281
|
|
password: null
|
|
multidata: null
|
|
savefile: null
|
|
disable_save: false
|
|
loglevel: "info"
|
|
# Allows for clients to log on and manage the server. If this is null, no remote administration is possible.
|
|
server_password: null
|
|
# Disallow !getitem. Old /getitem cannot be blocked this way
|
|
disable_item_cheat: false
|
|
# Client hint system
|
|
# Points given to a player for each acquired item in their world
|
|
location_check_points: 1
|
|
# Relative point cost to receive a hint via !hint for players
|
|
# so for example hint_cost: 20 would mean that for every 20% of available checks, you get the ability to hint, for a total of 5
|
|
hint_cost: 1000 # Set to 0 if you want free hints
|
|
# Forfeit modes
|
|
# "disabled" -> clients can't forfeit,
|
|
# "enabled" -> clients can always forfeit
|
|
# "auto" -> automatic forfeit on goal completion, "goal" -> clients can forfeit after achieving their goal
|
|
# "auto-enabled" -> automatic forfeit on goal completion and manual forfeit is also enabled
|
|
forfeit_mode: "goal"
|
|
# Remaining modes
|
|
# !remaining handling, that tells a client which items remain in their pool
|
|
# "enabled" -> Client can always ask for remaining items
|
|
# "disabled" -> Client can never ask for remaining items
|
|
# "goal" -> Client can ask for remaining items after goal completion
|
|
remaining_mode: "goal"
|
|
# Automatically shut down the server after this many seconds without new location checks, 0 to keep running
|
|
auto_shutdown: 0
|
|
# Compatibility handling
|
|
# 2 -> Recommended for casual/cooperative play, attempt to be compatible with everything across all versions
|
|
# 1 -> No longer in use, kept reserved in case of future use
|
|
# 0 -> Recommended for tournaments to force a level playing field, only allow an exact version match
|
|
compatibility: 2
|
|
# log all server traffic, mostly for dev use
|
|
log_network: 0
|
|
# Options for MultiMystery.py
|
|
multi_mystery_options:
|
|
# Teams
|
|
# Note that there is currently no way to supply names for teams 2+ through MultiMystery
|
|
teams: 1
|
|
# Location of your Enemizer CLI, available here: https://github.com/Ijwu/Enemizer/releases
|
|
enemizer_path: "EnemizerCLI/EnemizerCLI.Core.exe"
|
|
# Folder from which the player yaml files are pulled from
|
|
player_files_path: "Players"
|
|
#amount of players, 0 to infer from player files
|
|
players: 0
|
|
# general weights file, within the stated player_files_path location
|
|
# gets used if players is higher than the amount of per-player files found to fill remaining slots
|
|
weights_file_path: "weights.yaml"
|
|
# Meta file name, within the stated player_files_path location
|
|
meta_file_path: "meta.yaml"
|
|
# Option to pre-roll a yaml that will be used to roll future seeds with the exact same settings every single time.
|
|
# If using a pre-rolled yaml fails with "Please fix your yaml.", please file a bug report including both the original yaml
|
|
# as well as the generated pre-rolled yaml.
|
|
pre_roll: false
|
|
# Automatically launches {player_name}.yaml's ROM file using the OS's default program once generation completes. (likely your emulator)
|
|
# Does nothing if the name is not found
|
|
# Example: player_name = "Berserker"
|
|
player_name: "" # The hosts name
|
|
# Create a spoiler file
|
|
# 0 -> None
|
|
# 1 -> Full spoiler
|
|
# 2 -> Spoiler without playthrough
|
|
create_spoiler: 1
|
|
# Zip the resulting roms
|
|
# 0 -> Don't
|
|
# 1 -> Create a zip
|
|
# 2 -> Create a zip and delete the ROMs that will be in it, except the hosts (requires player_name to be set correctly)
|
|
zip_roms: 0
|
|
# Zip diffs
|
|
# -1 -> Create them without zipping
|
|
# 2 -> Delete the non-zipped one.
|
|
zip_diffs: 2
|
|
# Zip apmc files for Minecraft
|
|
# 0 -> Don't zip
|
|
# 1 -> Create a zip
|
|
# 2 -> Create a zip and delete apmc files inside of it
|
|
zip_apmcs: 1
|
|
# Zip spoiler log
|
|
# 1 -> Include the spoiler log in the zip
|
|
# 2 -> Delete the non-zipped one
|
|
zip_spoiler: 0
|
|
# Zip multidata
|
|
# 1 -> Include the multidata file in the zip
|
|
# 2 -> Delete the non-zipped one, which also means the server won't autostart
|
|
zip_multidata: 1
|
|
# Zip algorithm
|
|
# 1 -> Zip is recommended for patch files
|
|
# 2 -> 7z is recommended for roms. All of them get the job done.
|
|
# 3 -> bz2
|
|
zip_format: 1
|
|
# Glitch to Triforce room from Ganon
|
|
# When disabled, you have to have a weapon that can hurt ganon (master sword or swordless/easy item functionality + hammer)
|
|
# and have completed the goal required for killing ganon to be able to access the triforce room.
|
|
# 1 -> Enabled.
|
|
# 0 -> Disabled (except in no-logic)
|
|
glitch_triforce_room: 1
|
|
# Create encrypted race roms
|
|
race: 0
|
|
# List of options that can be plando'd. Can be combined, for example "bosses, items"
|
|
# Available options: bosses, items, texts, connections
|
|
plando_options: "bosses"
|
|
lttp_options:
|
|
# File name of the v1.0 J rom
|
|
rom_file: "Zelda no Densetsu - Kamigami no Triforce (Japan).sfc"
|
|
# Set this to your (Q)Usb2Snes location if you want the MultiClient to attempt an auto start, does nothing if not found
|
|
qusb2snes: "QUsb2Snes\\QUsb2Snes.exe"
|
|
# Set this to false to never autostart a rom (such as after patching)
|
|
# True for operating system default program
|
|
# Alternatively, a path to a program to open the .sfc file with
|
|
rom_start: true
|
|
factorio_options:
|
|
executable: "factorio\\bin\\x64\\factorio" |