mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Add Bumper Stickers (#811)
* bumpstik: initial commit * bumpstik: fix game name in location obj * bumpstik: specified offset * bumpstik: forgot to call create_regions * bumpstik: fix entrance generation * bumpstik: fix completion definition * bumpstik: treasure bumper, LttP text * bumpstik: add more score-based locations * bumpstik: adjust regions * bumpstik: fill with Treasure Bumpers * bumpstik: force Treasure Bumper on last location * bumpstik: don't require Hazard Bumpers for level 4 * bumpstik: treasure bumper locations * bumpstik: formatting * bumpstik: refactor to 0.3.5 * bumpstik: Treasure bumpers are now progression * bumpstik: complete reimplementation of locations * bumpstik: implement Nothing as item * bumpstik: level 3 and 4 locations * bumpstik: correct a goal value * bumpstik: region defs need one extra treasure * bumpstik: add more starting paint cans * bumpstik: toned down final score goal * bumpstik: changing items, Hazards no longer traps * bumpstik: remove item groups * bumpstik: update self.world to self.multiworld * bumpstik: clean up item types and classes * bumpstik: add options also add traps to item pool * bumpstik: update docs * bumpstik: oops * bumpstik: add to master game list on readme * bumpstik: renaming Task Skip to Task Advance because "Task Skip" is surprisingly hard to say * bumpstik: fill with score on item gen instead of nothing (nothing is still the default filler) * bumpstik: add 18 checks * bumpstik: bump ap ver * bumpstik: add item groups * bumpstik: make helper items and traps configurable * bumpstik: make Hazard Bumper progression * bumpstik: tone final score goal down to 50K * bumpstik: 0.4.0 region update * bumpstik: clean up docs also final goal is now 50K or your score + 5000, whichever is higher * bumpstik: take datapackage out of testing mode * bumpstik: Apply suggestions from code review code changes for .apworld support Co-authored-by: Zach Parks <zach@alliware.com> --------- Co-authored-by: Zach Parks <zach@alliware.com>
This commit is contained in:
80
worlds/bumpstik/Options.py
Normal file
80
worlds/bumpstik/Options.py
Normal file
@@ -0,0 +1,80 @@
|
||||
# Copyright (c) 2022 FelicitusNeko
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
import typing
|
||||
from Options import Option, Range
|
||||
|
||||
|
||||
class TaskAdvances(Range):
|
||||
"""Task Advances allow you to skip one step of a level task. They do not restock, so use them sparingly."""
|
||||
display_name = "Task Advances"
|
||||
range_start = 0
|
||||
range_end = 5
|
||||
default = 4
|
||||
|
||||
|
||||
class Turners(Range):
|
||||
"""Turners allow you to change the direction of a Bumper. These restock when the board resets."""
|
||||
display_name = "Turners"
|
||||
range_start = 0
|
||||
range_end = 5
|
||||
default = 3
|
||||
|
||||
|
||||
class PaintCans(Range):
|
||||
"""
|
||||
Paint Cans allow you to change the color of a Bumper.
|
||||
The ones you get from the multiworld restock when the board resets; you also get one-time ones from score.
|
||||
"""
|
||||
display_name = "Paint Cans"
|
||||
range_start = 0
|
||||
range_end = 5
|
||||
default = 3
|
||||
|
||||
|
||||
class Traps(Range):
|
||||
"""
|
||||
Traps affect the board in various ways.
|
||||
This number indicates how many total traps will be added to the item pool.
|
||||
"""
|
||||
display_name = "Trap Count"
|
||||
range_start = 0
|
||||
range_end = 15
|
||||
default = 5
|
||||
|
||||
|
||||
class RainbowTrapWeight(Range):
|
||||
"""Rainbow Traps change the color of every bumper on the field."""
|
||||
display_name = "Rainbow Trap weight"
|
||||
range_start = 0
|
||||
range_end = 100
|
||||
default = 50
|
||||
|
||||
|
||||
class SpinnerTrapWeight(Range):
|
||||
"""Spinner Traps change the direction of every bumper on the field."""
|
||||
display_name = "Spinner Trap weight"
|
||||
range_start = 0
|
||||
range_end = 100
|
||||
default = 50
|
||||
|
||||
|
||||
class KillerTrapWeight(Range):
|
||||
"""Killer Traps end the current board immediately."""
|
||||
display_name = "Killer Trap weight"
|
||||
range_start = 0
|
||||
range_end = 100
|
||||
default = 0
|
||||
|
||||
|
||||
bumpstik_options: typing.Dict[str, type(Option)] = {
|
||||
"task_advances": TaskAdvances,
|
||||
"turners": Turners,
|
||||
"paint_cans": PaintCans,
|
||||
"trap_count": Traps,
|
||||
"rainbow_trap_weight": RainbowTrapWeight,
|
||||
"spinner_trap_weight": SpinnerTrapWeight,
|
||||
"killer_trap_weight": KillerTrapWeight
|
||||
}
|
Reference in New Issue
Block a user