New features and fixes for Raft (#984)

* Add DeathLink, small logic changes

* Fix generation, rules, use bool for slotData

* Add more island options

* Update Shovel-related logic

* Update docs
This commit is contained in:
Sunny Bat
2022-09-03 12:25:04 -07:00
committed by GitHub
parent 4b6d46fd74
commit b7cfcc9272
6 changed files with 143 additions and 94 deletions

View File

@@ -1,8 +1,4 @@
from Options import Range, Toggle, DefaultOnToggle, Choice
class UseResourcePacks(DefaultOnToggle):
"""Uses Resource Packs to fill out the item pool from Raft. Resource Packs have basic earlygame items such as planks, plastic, or food."""
display_name = "Use resource packs"
from Options import Range, Toggle, DefaultOnToggle, Choice, DeathLink
class MinimumResourcePackAmount(Range):
"""The minimum amount of resources available in a resource pack"""
@@ -19,23 +15,30 @@ class MaximumResourcePackAmount(Range):
default = 5
class DuplicateItems(Choice):
"""Adds duplicates of items to the item pool. These will be selected alongside
Resource Packs (if configured). Note that there are not many progression items,
and selecting Progression may produce many of the same duplicate item."""
"""Adds duplicates of items to the item pool (if configured in Filler items). These will be selected alongside Resource Packs (if configured). Note that there are not many progression items, and selecting Progression may produce many of the same duplicate item."""
display_name = "Duplicate items"
option_disabled = 0
option_progression = 1
option_non_progression = 2
option_any = 3
option_progression = 0
option_non_progression = 1
option_any = 2
default = 2
class FillerItemTypes(Choice):
"""Determines whether to use Resource Packs, Duplicate Items (as configured), or both."""
display_name = "Filler items"
option_resource_packs = 0
option_duplicates = 1
option_both = 2
class IslandFrequencyLocations(Choice):
"""Sets where frequencies for story islands are located."""
display_name = "Frequency locations"
option_vanilla = 0
option_random_on_island = 1
option_progressive = 2
option_anywhere = 3
default = 1
option_random_island_order = 2
option_random_on_island_random_order = 3
option_progressive = 4
option_anywhere = 5
default = 2
class IslandGenerationDistance(Choice):
"""Sets how far away islands spawn from you when you input their coordinates into the Receiver."""
@@ -56,7 +59,7 @@ class ProgressiveItems(DefaultOnToggle):
display_name = "Progressive items"
class BigIslandEarlyCrafting(Toggle):
"""Allows recipes that require items from big islands (eg leather) to lock earlygame items like the Receiver, Bolt, or Smelter."""
"""Allows recipes that require items from big islands (eg leather) to lock earlygame items like the Receiver, Bolt, or Smelter. Big islands are available from the start of the game, however it can take a long time to find them."""
display_name = "Early recipes behind big islands"
class PaddleboardMode(Toggle):
@@ -64,14 +67,15 @@ class PaddleboardMode(Toggle):
display_name = "Paddleboard Mode"
raft_options = {
"use_resource_packs": UseResourcePacks,
"minimum_resource_pack_amount": MinimumResourcePackAmount,
"maximum_resource_pack_amount": MaximumResourcePackAmount,
"duplicate_items": DuplicateItems,
"filler_item_types": FillerItemTypes,
"island_frequency_locations": IslandFrequencyLocations,
"island_generation_distance": IslandGenerationDistance,
"expensive_research": ExpensiveResearch,
"progressive_items": ProgressiveItems,
"big_island_early_crafting": BigIslandEarlyCrafting,
"paddleboard_mode": PaddleboardMode
"paddleboard_mode": PaddleboardMode,
"death_link": DeathLink
}