mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00

* Terraria integration * Precollected items for debugging * Fix item classification * Golem requires Plantera's Bulb * Pumpkin Moon requires Dungeon * Progressive Dungeon * Reorg, Options.py work * Items are boss flags * Removed unused option * Removed nothing * Wall, Plantera, and Zenith goals * Achievements and items * Fixed The Cavalry and Completely Awesome achievements * Made "Dead Men Tell No Tales" a grindy achievement * Some docs, Python 3.8 compat * docs * Fix extra item and "Head in the Clouds" being included when achievements are disabled * Requested changes * Fix potential thread unsafety, replace Nothing with 50 Silver * Remove a log * Corrected heading * Added incompatible mods list * In-progress calamity integration * Terraria events progress * Rules use events * Removed an intentional crash I accidentally left in * Fixed infinite loop * Moved rules to data file * Moved item rewards to data file * Generating from data file * Fixed broken Mech Boss goal * Changes Calamity makes to vanilla rules, Calamity final bosses goal * Added Deerclops, fixed Zenith goal * Final detailed vanilla pass * Disable calamity goals * Typo * Fixed some reward items not adding to item pool * In-progress unit test fixes * Unit test fixes * `.apworld` compat * Organized rewards file, made Frog Leg and Fllpper available in vanilla * Water Walking Boots and Titan Glove rewards * Add goals to slot data * Fixed Hammush logic in Post-Mech goal * Fixed coin rewards * Updated Terraria docs * Formatted * Deathlink in-progress * Boots of the Hero is grindy * Fixed zenith goal not placing an item * Address review * Gelatin World Tour is grindy * Difficulty notice * Switched some achievements' grindiness * Added "Hey! Listen!" achievement * Terarria Python 3.8 compat * Fixed Terraria You and What Army logic * Calamity minion accessories * Typo * Calamity integration * `deathlink` -> `death_link` Co-authored-by: Zach Parks <zach@alliware.com> * Missing `.` Co-authored-by: Zach Parks <zach@alliware.com> * Incorrect type annotation Co-authored-by: Zach Parks <zach@alliware.com> * `deathlink` -> `death_link` 2 Co-authored-by: Zach Parks <zach@alliware.com> * Style Co-authored-by: Zach Parks <zach@alliware.com> * Markdown style Co-authored-by: Zach Parks <zach@alliware.com> * Markdown style 2 Co-authored-by: Zach Parks <zach@alliware.com> * Address review * Fix bad merge * Terraria utility mod recommendations * Calamity minion armor logic * ArmorMinions -> Armor Minions, boss rush goal, fixed unplaced item * Fixed unplaced item * Started on Terraria 1.4.4 * Crate logic * getfixedboi, 1.4.4 achievements, shimmer, town slimes, `Rule`, `Condition`, etc * More clam getfixedboi logic, bar decraft logic, `NotGetfixedboi` -> `Not Getfixedboi` * Calamity fixes * Calamity crate ore logic * Fixed item accessibility not generating in getfixedboi, fixed not generating with incompatible options, fixed grindy function * Early achievements, separate achievement category options * Infinity +1 Sword achievement can be location in later goals * The Frequent Flyer is impossible in Calamity getfixedboi * Add Enchanted Sword and Starfury for starting inventories * Don't Dread on Me is redundant in Calamity * In Calamity getfixedboi, Queen Bee summons enemies who drop Plague Cell Canisters * Can't use Gelatin Crystal outside Hallow * You can't get the Terminus without flags * Typo * Options difficult warnings * Robbing the Grave is Hardmode * Don't reserve an ID for unused Victory item * Plantera is accessible early in Calamity via Giant Plantera's Bulbs * Unshuffled Life Crystal and Defender Medal items * Comment about Midas' Blessing * Update worlds/terraria/Options.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Remove stray expression Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Review suggestions * Option naming caps consistency, add Laser Drill, Lunatic Cultist alt reqs, fix Eldritch Soul Artifact, Ceaseless Void reqs Dungeon * Cal Clone doesn't drop Broken Hero Sword anymore, Laser Drill is weaker in Calamity Co-authored-by: Seatori <92278897+Seatori@users.noreply.github.com> * Fix Acid Rain logic * Fix XB-∞ Hekate failing accessibility checks (by commenting it out bc it doesn't affect logic) * Hardmode ores being fishable early in Calamity is not a bug anymore * Mecha Mayhem is inaccessible in getfixedboi * Update worlds/terraria/Rules.dsv Co-authored-by: Seafo <92278897+Seatori@users.noreply.github.com> --------- Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> Co-authored-by: Zach Parks <zach@alliware.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com> Co-authored-by: Seatori <92278897+Seatori@users.noreply.github.com>
93 lines
2.5 KiB
Python
93 lines
2.5 KiB
Python
from dataclasses import dataclass
|
|
from Options import Choice, DeathLink, PerGameCommonOptions, Toggle, DefaultOnToggle
|
|
|
|
|
|
class Calamity(Toggle):
|
|
"""Calamity mod bosses and events are shuffled"""
|
|
|
|
display_name = "Calamity Mod Integration"
|
|
|
|
|
|
class Getfixedboi(Toggle):
|
|
"""Generation accomodates the secret, very difficult "getfixedboi" seed"""
|
|
|
|
display_name = """"getfixedboi" Seed"""
|
|
|
|
|
|
class Goal(Choice):
|
|
"""
|
|
The victory condition for your run. Stuff after the goal will not be shuffled.
|
|
Primordial Wyrm and Boss Rush are accessible relatively early, so consider "Items" or
|
|
"Locations" accessibility to avoid getting stuck on the goal.
|
|
"""
|
|
|
|
display_name = "Goal"
|
|
option_mechanical_bosses = 0
|
|
option_calamitas_clone = 1
|
|
option_plantera = 2
|
|
option_golem = 3
|
|
option_empress_of_light = 4
|
|
option_lunatic_cultist = 5
|
|
option_astrum_deus = 6
|
|
option_moon_lord = 7
|
|
option_providence_the_profaned_goddess = 8
|
|
option_devourer_of_gods = 9
|
|
option_yharon_dragon_of_rebirth = 10
|
|
option_zenith = 11
|
|
option_calamity_final_bosses = 12
|
|
option_primordial_wyrm = 13
|
|
option_boss_rush = 14
|
|
default = 0
|
|
|
|
|
|
class EarlyAchievements(DefaultOnToggle):
|
|
"""Adds checks upon collecting early Pre-Hardmode achievements. Adds many sphere 1 checks."""
|
|
|
|
display_name = "Early Pre-Hardmode Achievements"
|
|
|
|
|
|
class NormalAchievements(DefaultOnToggle):
|
|
"""
|
|
Adds checks upon collecting achivements not covered by the other options. Achievements for
|
|
clearing bosses and events are excluded.
|
|
"""
|
|
|
|
display_name = "Normal Achievements"
|
|
|
|
|
|
class GrindyAchievements(Toggle):
|
|
"""Adds checks upon collecting grindy achievements"""
|
|
|
|
display_name = "Grindy Achievements"
|
|
|
|
|
|
class FishingAchievements(Toggle):
|
|
"""Adds checks upon collecting fishing quest achievements"""
|
|
|
|
display_name = "Fishing Quest Achievements"
|
|
|
|
|
|
class FillExtraChecksWith(Choice):
|
|
"""
|
|
Applies if you have achievements enabled. "Useful Items" helps to make the early game less grindy.
|
|
Items are rewarded to all players in your Terraria world.
|
|
"""
|
|
|
|
display_name = "Fill Extra Checks With"
|
|
option_coins = 0
|
|
option_useful_items = 1
|
|
default = 1
|
|
|
|
|
|
@dataclass
|
|
class TerrariaOptions(PerGameCommonOptions):
|
|
calamity: Calamity
|
|
getfixedboi: Getfixedboi
|
|
goal: Goal
|
|
early_achievements: EarlyAchievements
|
|
normal_achievements: NormalAchievements
|
|
grindy_achievements: GrindyAchievements
|
|
fishing_achievements: FishingAchievements
|
|
fill_extra_checks_with: FillExtraChecksWith
|
|
death_link: DeathLink
|