117 lines
5.5 KiB
Python
117 lines
5.5 KiB
Python
import typing
|
|
|
|
from BaseClasses import Item, ItemClassification
|
|
|
|
|
|
class ItemData(typing.NamedTuple):
|
|
code: typing.Optional[int]
|
|
classification: ItemClassification
|
|
|
|
|
|
class YachtDiceItem(Item):
|
|
game: str = "Yacht Dice"
|
|
|
|
|
|
# the starting index is chosen semi-randomly to be 16871244000
|
|
|
|
|
|
item_table = {
|
|
"Dice": ItemData(16871244000, ItemClassification.progression | ItemClassification.useful),
|
|
"Dice Fragment": ItemData(16871244001, ItemClassification.progression),
|
|
"Roll": ItemData(16871244002, ItemClassification.progression),
|
|
"Roll Fragment": ItemData(16871244003, ItemClassification.progression),
|
|
"Fixed Score Multiplier": ItemData(16871244005, ItemClassification.progression),
|
|
"Step Score Multiplier": ItemData(16871244006, ItemClassification.progression),
|
|
"Category Ones": ItemData(16871244103, ItemClassification.progression),
|
|
"Category Twos": ItemData(16871244104, ItemClassification.progression),
|
|
"Category Threes": ItemData(16871244105, ItemClassification.progression),
|
|
"Category Fours": ItemData(16871244106, ItemClassification.progression),
|
|
"Category Fives": ItemData(16871244107, ItemClassification.progression),
|
|
"Category Sixes": ItemData(16871244108, ItemClassification.progression),
|
|
"Category Choice": ItemData(16871244109, ItemClassification.progression),
|
|
"Category Inverse Choice": ItemData(16871244110, ItemClassification.progression),
|
|
"Category Pair": ItemData(16871244111, ItemClassification.progression),
|
|
"Category Three of a Kind": ItemData(16871244112, ItemClassification.progression),
|
|
"Category Four of a Kind": ItemData(16871244113, ItemClassification.progression),
|
|
"Category Tiny Straight": ItemData(16871244114, ItemClassification.progression),
|
|
"Category Small Straight": ItemData(16871244115, ItemClassification.progression),
|
|
"Category Large Straight": ItemData(16871244116, ItemClassification.progression),
|
|
"Category Full House": ItemData(16871244117, ItemClassification.progression),
|
|
"Category Yacht": ItemData(16871244118, ItemClassification.progression),
|
|
"Category Distincts": ItemData(16871244123, ItemClassification.progression),
|
|
"Category Two times Ones": ItemData(16871244124, ItemClassification.progression),
|
|
"Category Half of Sixes": ItemData(16871244125, ItemClassification.progression),
|
|
"Category Twos and Threes": ItemData(16871244126, ItemClassification.progression),
|
|
"Category Sum of Odds": ItemData(16871244127, ItemClassification.progression),
|
|
"Category Sum of Evens": ItemData(16871244128, ItemClassification.progression),
|
|
"Category Double Threes and Fours": ItemData(16871244129, ItemClassification.progression),
|
|
"Category Quadruple Ones and Twos": ItemData(16871244130, ItemClassification.progression),
|
|
"Category Micro Straight": ItemData(16871244131, ItemClassification.progression),
|
|
"Category Three Odds": ItemData(16871244132, ItemClassification.progression),
|
|
"Category 1-2-1 Consecutive": ItemData(16871244133, ItemClassification.progression),
|
|
"Category Three Distinct Dice": ItemData(16871244134, ItemClassification.progression),
|
|
"Category Two Pair": ItemData(16871244135, ItemClassification.progression),
|
|
"Category 2-1-2 Consecutive": ItemData(16871244136, ItemClassification.progression),
|
|
"Category Five Distinct Dice": ItemData(16871244137, ItemClassification.progression),
|
|
"Category 4&5 Full House": ItemData(16871244138, ItemClassification.progression),
|
|
# filler items
|
|
"Encouragement": ItemData(16871244200, ItemClassification.filler),
|
|
"Fun Fact": ItemData(16871244201, ItemClassification.filler),
|
|
"Story Chapter": ItemData(16871244202, ItemClassification.filler),
|
|
"Good RNG": ItemData(16871244203, ItemClassification.filler),
|
|
"Bad RNG": ItemData(16871244204, ItemClassification.trap),
|
|
"Bonus Point": ItemData(16871244205, ItemClassification.useful), # not included in logic
|
|
# These points are included in the logic and might be necessary to progress.
|
|
"1 Point": ItemData(16871244301, ItemClassification.progression_skip_balancing),
|
|
"10 Points": ItemData(16871244302, ItemClassification.progression),
|
|
"100 Points": ItemData(16871244303, ItemClassification.progression | ItemClassification.useful),
|
|
}
|
|
|
|
# item groups for better hinting
|
|
item_groups = {
|
|
"Score Multiplier": {
|
|
"Step Score Multiplier",
|
|
"Fixed Score Multiplier"
|
|
},
|
|
"Categories": {
|
|
"Category Ones",
|
|
"Category Twos",
|
|
"Category Threes",
|
|
"Category Fours",
|
|
"Category Fives",
|
|
"Category Sixes",
|
|
"Category Choice",
|
|
"Category Inverse Choice",
|
|
"Category Pair",
|
|
"Category Three of a Kind",
|
|
"Category Four of a Kind",
|
|
"Category Tiny Straight",
|
|
"Category Small Straight",
|
|
"Category Large Straight",
|
|
"Category Full House",
|
|
"Category Yacht",
|
|
"Category Distincts",
|
|
"Category Two times Ones",
|
|
"Category Half of Sixes",
|
|
"Category Twos and Threes",
|
|
"Category Sum of Odds",
|
|
"Category Sum of Evens",
|
|
"Category Double Threes and Fours",
|
|
"Category Quadruple Ones and Twos",
|
|
"Category Micro Straight",
|
|
"Category Three Odds",
|
|
"Category 1-2-1 Consecutive",
|
|
"Category Three Distinct Dice",
|
|
"Category Two Pair",
|
|
"Category 2-1-2 Consecutive",
|
|
"Category Five Distinct Dice",
|
|
"Category 4&5 Full House",
|
|
},
|
|
"Points": {
|
|
"100 Points",
|
|
"10 Points",
|
|
"1 Point",
|
|
"Bonus Point"
|
|
},
|
|
}
|