Move Skull values to Value enumeration
The cost of applying each skull has been broken down and moved to Value. Skull has been cleaned up and ordered lexicographically.
This commit is contained in:
parent
f1e2f75cf6
commit
245248f320
|
@ -35,6 +35,10 @@ class Value(enum.Enum):
|
||||||
# Bone Fragment
|
# Bone Fragment
|
||||||
BONE_FRAGMENT = 1
|
BONE_FRAGMENT = 1
|
||||||
|
|
||||||
|
# Bright Brass Skull
|
||||||
|
# Merrigans Exchange
|
||||||
|
BRASS_SKULL = 6250
|
||||||
|
|
||||||
# Cartographer's Hoard
|
# Cartographer's Hoard
|
||||||
CARTOGRAPHERS_HOARD = 31250
|
CARTOGRAPHERS_HOARD = 31250
|
||||||
|
|
||||||
|
@ -45,23 +49,62 @@ class Value(enum.Enum):
|
||||||
# Volume of Collated Research
|
# Volume of Collated Research
|
||||||
COLLATED_RESEARCH = 250
|
COLLATED_RESEARCH = 250
|
||||||
|
|
||||||
|
# Favours: The Docks
|
||||||
|
# Various opportunity cards
|
||||||
|
DOCK_FAVOURS = ACTION
|
||||||
|
|
||||||
|
# Eyeless Skull
|
||||||
|
# No consistent source
|
||||||
|
EYELESS_SKULL = cp_model.INT32_MAX
|
||||||
|
|
||||||
# Five-Pointed Ribcage
|
# Five-Pointed Ribcage
|
||||||
# Upwards
|
# Upwards
|
||||||
FIVE_POINTED_RIBCAGE = 9*ACTION + CARTOGRAPHERS_HOARD
|
FIVE_POINTED_RIBCAGE = 9*ACTION + CARTOGRAPHERS_HOARD
|
||||||
|
|
||||||
|
# Esteem of the Guild
|
||||||
|
# Jericho Parade, 2 at a time
|
||||||
|
GUILD_ESTEEM = (ACTION + 5*DOCK_FAVOURS)/2
|
||||||
|
|
||||||
|
# Skull in Coral
|
||||||
|
# Persephone, 1-2 at a time
|
||||||
|
CORAL_SKULL = 1.5*(2*ACTION + 3*GUILD_ESTEEM)
|
||||||
|
|
||||||
# Headless Skeleton
|
# Headless Skeleton
|
||||||
# These are accumulated while acquiring other qualities.
|
# These are accumulated while acquiring other qualities.
|
||||||
HEADLESS_SKELETON = 0
|
HEADLESS_SKELETON = 0
|
||||||
|
|
||||||
|
# Hinterland Scrip
|
||||||
|
HINTERLAND_SCRIP = 50
|
||||||
|
|
||||||
|
# Crate of Incorruptible Biscuits
|
||||||
|
INCORRUPTIBLE_BISCUITS = 250
|
||||||
|
|
||||||
|
# Inkling of Identity
|
||||||
|
INKLING_OF_IDENTITY = 10
|
||||||
|
|
||||||
|
# A Custom-Engraved Skull
|
||||||
|
# Feast of the Exceptional Rose, sent by one player and accepted by another
|
||||||
|
ENGRAVED_SKULL = 2*ACTION + 200*INKLING_OF_IDENTITY
|
||||||
|
|
||||||
# Nevercold Brass Sliver
|
# Nevercold Brass Sliver
|
||||||
NEVERCOLD_BRASS = 1
|
NEVERCOLD_BRASS = 1
|
||||||
|
|
||||||
|
# Pentagrammic Skull
|
||||||
|
# Upwards
|
||||||
|
PENTAGRAMMIC_SKULL = 9*ACTION
|
||||||
|
|
||||||
|
# Hand-picked Peppercaps
|
||||||
|
PEPPERCAPS = HINTERLAND_SCRIP
|
||||||
|
|
||||||
# Knob of Scintillack
|
# Knob of Scintillack
|
||||||
SCINTILLACK = 250
|
SCINTILLACK = 250
|
||||||
|
|
||||||
# Searing Enigma
|
# Searing Enigma
|
||||||
SEARING_ENIGMA = 6250
|
SEARING_ENIGMA = 6250
|
||||||
|
|
||||||
|
# Carved Ball of Stygian Ivory
|
||||||
|
STYGIAN_IVORY = 250
|
||||||
|
|
||||||
# Preserved Surface Blooms
|
# Preserved Surface Blooms
|
||||||
SURFACE_BLOOMS = 250
|
SURFACE_BLOOMS = 250
|
||||||
|
|
||||||
|
@ -105,6 +148,18 @@ class Value(enum.Enum):
|
||||||
# Helicon House
|
# Helicon House
|
||||||
FLOURISHING_RIBCAGE = ACTION + HUMAN_RIBCAGE + THORNED_RIBCAGE
|
FLOURISHING_RIBCAGE = ACTION + HUMAN_RIBCAGE + THORNED_RIBCAGE
|
||||||
|
|
||||||
|
# Time Remaining in the Woods
|
||||||
|
# Compel Ghillie, 5 at a time
|
||||||
|
TIME_REMAINING_IN_THE_WOODS = (ACTION + 4*COLLATED_RESEARCH)/5
|
||||||
|
|
||||||
|
# Observation: Fox
|
||||||
|
# Balmoral Woods
|
||||||
|
FOX_OBSERVATION = 10*ACTION + 8*TIME_REMAINING_IN_THE_WOODS
|
||||||
|
|
||||||
|
# Doubled Skull
|
||||||
|
# Keeper of the Marigold Menagerie
|
||||||
|
DOUBLED_SKULL = ACTION + FOX_OBSERVATION
|
||||||
|
|
||||||
# Nodule of Trembling Amber
|
# Nodule of Trembling Amber
|
||||||
TREMBLING_AMBER = 1250
|
TREMBLING_AMBER = 1250
|
||||||
|
|
||||||
|
@ -112,6 +167,10 @@ class Value(enum.Enum):
|
||||||
# Helicon House
|
# Helicon House
|
||||||
RIBCAGE_WITH_EIGHT_SPINES = ACTION + 3*SEARING_ENIGMA + THORNED_RIBCAGE + 3*TREMBLING_AMBER
|
RIBCAGE_WITH_EIGHT_SPINES = ACTION + 3*SEARING_ENIGMA + THORNED_RIBCAGE + 3*TREMBLING_AMBER
|
||||||
|
|
||||||
|
# Rubbery Skull
|
||||||
|
# Flute Street, including travel due to quality cap
|
||||||
|
RUBBERY_SKULL = 25*ACTION
|
||||||
|
|
||||||
# Rumour of the Upper River
|
# Rumour of the Upper River
|
||||||
RUMOUR_OF_THE_UPPER_RIVER = 250
|
RUMOUR_OF_THE_UPPER_RIVER = 250
|
||||||
|
|
||||||
|
@ -122,6 +181,18 @@ class Value(enum.Enum):
|
||||||
# Nodule of Warm Amber
|
# Nodule of Warm Amber
|
||||||
WARM_AMBER = 10
|
WARM_AMBER = 10
|
||||||
|
|
||||||
|
# Horned Skull
|
||||||
|
# Ealing Gardens Butcher
|
||||||
|
HORNED_SKULL = ACTION + 1000*BONE_FRAGMENT + 5*WARM_AMBER
|
||||||
|
|
||||||
|
# Plated Skull
|
||||||
|
# Ealing Gardens Butcher
|
||||||
|
PLATED_SKULL = ACTION + 1750*BONE_FRAGMENT + INCORRUPTIBLE_BISCUITS + 25*WARM_AMBER
|
||||||
|
|
||||||
|
# Sabre-toothed Skull
|
||||||
|
# Ealing Gardens Butcher
|
||||||
|
SABRE_TOOTHED_SKULL = ACTION + 4900*BONE_FRAGMENT + 125*WARM_AMBER
|
||||||
|
|
||||||
# Warbler Skeleton
|
# Warbler Skeleton
|
||||||
# Ealing Gardens Butcher
|
# Ealing Gardens Butcher
|
||||||
WARBLER_SKELETON = ACTION + 130*BONE_FRAGMENT + 2*WARM_AMBER
|
WARBLER_SKELETON = ACTION + 130*BONE_FRAGMENT + 2*WARM_AMBER
|
||||||
|
@ -387,41 +458,143 @@ class Torso(enum.Enum):
|
||||||
|
|
||||||
# Actions that are taken immediately after starting a skeleton.
|
# Actions that are taken immediately after starting a skeleton.
|
||||||
class Skull(enum.Enum):
|
class Skull(enum.Enum):
|
||||||
BRASS_SKULL = Action("Affix a Bright Brass Skull to your (Skeleton Type)", cost = 6450 + Value.ACTION.value, value = 6500, skulls_needed = -1, skulls = 1, implausibility = 2)
|
BAPTIST_SKULL = Action(
|
||||||
|
"Duplicate the skull of John the Baptist, if you can call that a skull",
|
||||||
|
cost = Value.ACTION.value + 500*Value.BONE_FRAGMENT.value + 10*Value.PEPPERCAPS.value,
|
||||||
|
value = 1500,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
counter_church = 2
|
||||||
|
)
|
||||||
|
|
||||||
# No consistent source
|
BRASS_SKULL = Action(
|
||||||
# EYELESS_SKULL = Action("Affix an Eyeless Skull to your (Skeleton Type)", cost = cp_model.INT32_MAX, value = 3000, skulls_needed = -1, skulls = 1, menace = 2)
|
"Affix a Bright Brass Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.BRASS_SKULL.value + 200*Value.NEVERCOLD_BRASS.value,
|
||||||
|
value = 6500,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
implausibility = 2
|
||||||
|
)
|
||||||
|
|
||||||
# Feast of the Exceptional Rose, 200 Inklings of Identity, action to send and receive it
|
CORAL_SKULL = Action(
|
||||||
# ENGRAVED_SKULL = Action("Affix a Custom-Engraved Skull to your (Skeleton Type)", cost = 2000 + Value.ACTION.value*2, value = 10000, skulls_needed = -1, skulls = 1, exhaustion = 2)
|
"Affix a Skull in Coral to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.CORAL_SKULL.value + Value.SCINTILLACK.value,
|
||||||
|
value = 1750,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
amalgamy = 2
|
||||||
|
)
|
||||||
|
|
||||||
HORNED_SKULL = Action("Affix a Horned Skull to your (Skeleton Type)", cost = 1050 + Value.ACTION.value*2, value = 1250, skulls_needed = -1, skulls = 1, antiquity = 1, menace = 2)
|
DOUBLED_SKULL = Action(
|
||||||
|
"Affix a Doubled Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.DOUBLED_SKULL.value,
|
||||||
|
value = 6250,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 2,
|
||||||
|
amalgamy = 1,
|
||||||
|
antiquity = 2
|
||||||
|
)
|
||||||
|
|
||||||
SABRE_TOOTHED_SKULL = Action("Affix a Sabre-toothed Skull to your (Skeleton Type)", cost = 6150 + Value.ACTION.value*2, value = 6250, skulls_needed = -1, skulls = 1, antiquity = 1, menace = 1)
|
# Adds Exhaustion
|
||||||
|
# ENGRAVED_SKULL = Action(
|
||||||
|
# "Affix a Custom-Engraved Skull to your (Skeleton Type)",
|
||||||
|
# cost = Value.ACTION.value + Value.ENGRAVED_SKULL.value,
|
||||||
|
# value = 10000,
|
||||||
|
# skulls_needed = -1,
|
||||||
|
# skulls = 1,
|
||||||
|
# exhaustion = 2
|
||||||
|
# )
|
||||||
|
|
||||||
# Upwards
|
EYELESS_SKULL = Action(
|
||||||
PENTAGRAMMIC_SKULL = Action("Affix a Pentagrammic Skull to your (Skeleton Type)", cost = Value.ACTION.value*10, value = 1250, skulls_needed = -1, skulls = 1, amalgamy = 2, menace = 1)
|
"Affix an Eyeless Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.EYELESS_SKULL.value,
|
||||||
|
value = 3000,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
menace = 2
|
||||||
|
)
|
||||||
|
|
||||||
PLATED_SKULL = Action("Affix a Plated Skull to your (Skeleton Type)", cost = 2250 + Value.ACTION.value*2, value = 2500, skulls_needed = -1, skulls = 1, menace = 2)
|
HORNED_SKULL = Action(
|
||||||
|
"Affix a Horned Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.HORNED_SKULL.value,
|
||||||
|
value = 1250,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
antiquity = 1,
|
||||||
|
menace = 2
|
||||||
|
)
|
||||||
|
|
||||||
# Flute Street, including travel due to quality cap
|
# Seeking the Name of Mr. Eaten
|
||||||
RUBBERY_SKULL = Action("Affix a Rubbery Skull to your (Skeleton Type)", cost = Value.ACTION.value*26, value = 600, skulls_needed = -1, skulls = 1, amalgamy = 1)
|
# OWN_SKULL = Action(
|
||||||
|
# "Duplicate your own skull and affix it here",
|
||||||
|
# cost = Value.ACTION.value + 1000*Value.BONE_FRAGMENT.value,
|
||||||
|
# value = -250,
|
||||||
|
# skulls_needed = -1,
|
||||||
|
# skulls = 1
|
||||||
|
# )
|
||||||
|
|
||||||
# OWN_SKULL = Action("Duplicate your own skull and affix it here", cost = 1000 + Value.ACTION.value, value = -250, skulls_needed = -1, skulls = 1)
|
PENTAGRAMMIC_SKULL = Action(
|
||||||
|
"Affix a Pentagrammic Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.PENTAGRAMMIC_SKULL.value,
|
||||||
|
value = 1250,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
amalgamy = 2,
|
||||||
|
menace = 1
|
||||||
|
)
|
||||||
|
|
||||||
BAPTIST_SKULL = Action("Duplicate the skull of John the Baptist, if you can call that a skull", cost = 1000 + Value.ACTION.value, value = 1500, skulls_needed = -1, skulls = 1, counter_church = 2)
|
PLATED_SKULL = Action(
|
||||||
|
"Affix a Plated Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.PLATED_SKULL.value,
|
||||||
|
value = 2500,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
menace = 2
|
||||||
|
)
|
||||||
|
|
||||||
# Persephone, 6 actions (Favours: the Docks) for 2 Esteem of the Guild
|
RUBBERY_SKULL = Action(
|
||||||
CORAL_SKULL = Action("Affix a Skull in Coral to your (Skeleton Type)", cost = Value.ACTION.value*25/3, value = 1750, skulls_needed = -1, skulls = 1, amalgamy = 2)
|
"Affix a Rubbery Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.RUBBERY_SKULL.value,
|
||||||
|
value = 600,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
amalgamy = 1
|
||||||
|
)
|
||||||
|
|
||||||
VAKE_SKULL = Action("Duplicate the Vake's skull and use it to decorate your (Skeleton Type)", cost = 6000 + Value.ACTION.value, value = 6500, skulls_needed = -1, skulls = 1, menace = 3)
|
SABRE_TOOTHED_SKULL = Action(
|
||||||
|
"Affix a Sabre-toothed Skull to your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.SABRE_TOOTHED_SKULL.value,
|
||||||
|
value = 6250,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
antiquity = 1,
|
||||||
|
menace = 1
|
||||||
|
)
|
||||||
|
|
||||||
# VICTIM_SKULL = Action("Cap this with a victim’s skull", cost = Value.ACTION.value, value = 250, skulls_needed = -1, skulls = 1)
|
STYGIAN_IVORY = Action(
|
||||||
|
"Use a Carved Ball of Stygian Ivory to cap off your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + Value.STYGIAN_IVORY.value,
|
||||||
|
value = 250,
|
||||||
|
skulls_needed = -1
|
||||||
|
)
|
||||||
|
|
||||||
# Balmoral Woods (also gives Thorned Ribcage)
|
VAKE_SKULL = Action(
|
||||||
DOUBLED_SKULL = Action("Affix a Doubled Skull to your (Skeleton Type)", cost = 2000 + Value.ACTION.value*14, value = 6250, skulls_needed = -1, skulls = 2, amalgamy = 1, antiquity = 2)
|
"Duplicate the Vake's skull and use it to decorate your (Skeleton Type)",
|
||||||
|
cost = Value.ACTION.value + 6000*Value.BONE_FRAGMENT.value,
|
||||||
|
value = 6500,
|
||||||
|
skulls_needed = -1,
|
||||||
|
skulls = 1,
|
||||||
|
menace = 3
|
||||||
|
)
|
||||||
|
|
||||||
STYGIAN_IVORY = Action("Use a Carved Ball of Stygian Ivory to cap off your (Skeleton Type)", cost = 250 + Value.ACTION.value, value = 250, skulls_needed = -1)
|
# Licentiate
|
||||||
|
# VICTIM_SKULL = Action(
|
||||||
|
# "Cap this with a victim’s skull",
|
||||||
|
# cost = Value.ACTION.value,
|
||||||
|
# value = 250,
|
||||||
|
# skulls_needed = -1,
|
||||||
|
# skulls = 1
|
||||||
|
# )
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.value)
|
return str(self.value)
|
||||||
|
|
Loading…
Reference in New Issue