Move legs to Appendage enumeration
This continues the transition away from a single action list.
This commit is contained in:
parent
0a99b5e11b
commit
99afbb0534
@ -46,6 +46,10 @@ class Value(enum.Enum):
|
||||
# Cartographer's Hoard
|
||||
CARTOGRAPHERS_HOARD = 31250
|
||||
|
||||
# Favours: The Church
|
||||
# Various opportunity cards
|
||||
CHURCH_FAVOURS = ACTION
|
||||
|
||||
# Collection Note: There's a 'Package' in London
|
||||
# Station VIII Lab
|
||||
COLLECTION_NOTE = ACTION
|
||||
@ -61,6 +65,10 @@ class Value(enum.Enum):
|
||||
# Ealing Gardens Butcher, 2 at a time
|
||||
CRUSTACEAN_PINCER = (ACTION + DEEP_ZEE_CATCH)/2
|
||||
|
||||
# Femur of a Surface Deer
|
||||
# Dumbwaiter of Balmoral, 25 at a time
|
||||
DEER_FEMUR = ACTION/25
|
||||
|
||||
# Favours: The Docks
|
||||
# Various opportunity cards
|
||||
DOCK_FAVOURS = ACTION
|
||||
@ -69,6 +77,18 @@ class Value(enum.Enum):
|
||||
# No consistent source
|
||||
EYELESS_SKULL = cp_model.INT32_MAX
|
||||
|
||||
# Holy Relic of the Thigh of Saint Fiacre
|
||||
# Jericho Locks statue, 2 at a time
|
||||
FIACRE_THIGH = (ACTION + 4*CHURCH_FAVOURS)/2
|
||||
|
||||
# Fin Bones, Collected
|
||||
# Hunt and dissect Pinewood Shark, 40 at a time
|
||||
FIN_BONES = (11*ACTION)/40
|
||||
|
||||
# Amber-Crusted Fin
|
||||
# Helicon House
|
||||
AMBER_FIN = ACTION + 10*FIN_BONES
|
||||
|
||||
# Five-Pointed Ribcage
|
||||
# Upwards
|
||||
FIVE_POINTED_RIBCAGE = 9*ACTION + CARTOGRAPHERS_HOARD
|
||||
@ -92,6 +112,10 @@ class Value(enum.Enum):
|
||||
# Anning and Daughters
|
||||
FOSSILISED_FORELIMB = 50*HINTERLAND_SCRIP
|
||||
|
||||
# Hedonist
|
||||
# Handsome Townhouse, 3cp at a time
|
||||
HEDONIST_CP = ACTION/3
|
||||
|
||||
# Human Arm
|
||||
# These are accumulated while acquiring other qualities.
|
||||
HUMAN_ARM = 0
|
||||
@ -110,6 +134,10 @@ class Value(enum.Enum):
|
||||
# Ealing Gardens statue, 2 at a time
|
||||
IVORY_HUMERUS = (ACTION + 4*BOHEMIAN_FAVOURS)/2
|
||||
|
||||
# Femur of a Jurassic Beast
|
||||
# Brawling for yourself, large Bone Market crate, 12 at a time
|
||||
JURASSIC_FEMUR = (10*ACTION)/12
|
||||
|
||||
# Knotted Humerus
|
||||
# These are accumulated while acquiring other qualities.
|
||||
KNOTTED_HUMERUS = 0
|
||||
@ -117,6 +145,14 @@ class Value(enum.Enum):
|
||||
# Nevercold Brass Sliver
|
||||
NEVERCOLD_BRASS = 1
|
||||
|
||||
# Parabolan Orange-apple
|
||||
# Parabolan Base-camp, electricity and hedonism, 2 at a time
|
||||
ORANGE_APPLE = (2*ACTION + 100*BONE_FRAGMENT + 21*HEDONIST_CP)/2
|
||||
|
||||
# Ivory Femur
|
||||
# Bohemian Sculptress
|
||||
IVORY_FEMUR = ACTION + 750*BONE_FRAGMENT + 3*ORANGE_APPLE
|
||||
|
||||
# Pentagrammic Skull
|
||||
# Upwards
|
||||
PENTAGRAMMIC_SKULL = 9*ACTION
|
||||
@ -164,6 +200,10 @@ class Value(enum.Enum):
|
||||
# Plain of Thirsty Grasses
|
||||
PALAEONTOLOGICAL_DISCOVERY = (ACTION + 140*SURVEY)/6
|
||||
|
||||
# Helical Thighbone
|
||||
# Results of Excavation, 6 at a time
|
||||
HELICAL_THIGH = (2*PALAEONTOLOGICAL_DISCOVERY)/6
|
||||
|
||||
# Leviathan Frame
|
||||
# Results of Excavation
|
||||
LEVIATHAN_FRAME = 25*PALAEONTOLOGICAL_DISCOVERY
|
||||
@ -206,6 +246,10 @@ class Value(enum.Enum):
|
||||
# Expedition at Station VIII
|
||||
PRISMATIC_FRAME = ACTION + OIL_OF_COMPANIONSHIP + 98*RUMOUR_OF_THE_UPPER_RIVER
|
||||
|
||||
# Unidentified Thigh Bone
|
||||
# These are accumulated while acquiring other qualities.
|
||||
UNIDENTIFIED_THIGH = 0
|
||||
|
||||
# Nodule of Warm Amber
|
||||
WARM_AMBER = 10
|
||||
|
||||
@ -241,6 +285,10 @@ class Value(enum.Enum):
|
||||
# Laboratory Research
|
||||
SKELETON_WITH_SEVEN_NECKS = 16*ACTION + 1000*NEVERCOLD_BRASS + WARBLER_SKELETON
|
||||
|
||||
# Withered Tentacle
|
||||
# Helicon House, 3 at a time
|
||||
WITHERED_TENTACLE = (ACTION + 5*WARM_AMBER)/3
|
||||
|
||||
|
||||
# Adds a fully-reified implication using an intermediate Boolean variable.
|
||||
def NewIntermediateBoolVar(self, name, expression, domain):
|
||||
@ -650,6 +698,16 @@ class Appendage(enum.Enum):
|
||||
amalgamy = 1
|
||||
)
|
||||
|
||||
AMBER_FIN = Action(
|
||||
"Attach the Amber-Crusted Fin to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.AMBER_FIN.value,
|
||||
value = 1500,
|
||||
limbs_needed = -1,
|
||||
fins = 1,
|
||||
amalgamy = 1,
|
||||
menace = 1
|
||||
)
|
||||
|
||||
BAT_WING = Action(
|
||||
"Add a Bat Wing to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.BAT_WING.value,
|
||||
@ -667,6 +725,32 @@ class Appendage(enum.Enum):
|
||||
menace = 1
|
||||
)
|
||||
|
||||
DEER_FEMUR = Action(
|
||||
"Apply the Femur of a Surface Deer to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.DEER_FEMUR.value,
|
||||
value = 10,
|
||||
limbs_needed = -1,
|
||||
legs = 1,
|
||||
menace = -1
|
||||
)
|
||||
|
||||
# Counter-Church theology from this scales with torso style and is implemented separately
|
||||
FIACRE_THIGH = Action(
|
||||
"Affix Saint Fiacre's Thigh Relic to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.FIACRE_THIGH.value,
|
||||
value = 1250,
|
||||
limbs_needed = -1,
|
||||
legs = 1
|
||||
)
|
||||
|
||||
FIN_BONES = Action(
|
||||
"Put Fins on your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.FIN_BONES.value,
|
||||
value = 50,
|
||||
limbs_needed = -1,
|
||||
fins = 1
|
||||
)
|
||||
|
||||
FOSSILISED_FORELIMB = Action(
|
||||
"Apply a Fossilised Forelimb to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.FOSSILISED_FORELIMB.value,
|
||||
@ -676,6 +760,15 @@ class Appendage(enum.Enum):
|
||||
antiquity = 2
|
||||
)
|
||||
|
||||
HELICAL_THIGH = Action(
|
||||
"Affix the Helical Thighbone to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.HELICAL_THIGH.value,
|
||||
value = 300,
|
||||
limbs_needed = -1,
|
||||
legs = 1,
|
||||
amalgamy = 2
|
||||
)
|
||||
|
||||
HUMAN_ARM = Action(
|
||||
"Join a Human Arm to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.HUMAN_ARM.value,
|
||||
@ -685,6 +778,14 @@ class Appendage(enum.Enum):
|
||||
menace = -1
|
||||
)
|
||||
|
||||
IVORY_FEMUR = Action(
|
||||
"Apply an Ivory Femur to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.IVORY_FEMUR.value,
|
||||
value = 6500,
|
||||
limbs_needed = -1,
|
||||
legs = 1
|
||||
)
|
||||
|
||||
IVORY_HUMERUS = Action(
|
||||
"Apply an Ivory Humerus to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.IVORY_HUMERUS.value,
|
||||
@ -693,6 +794,15 @@ class Appendage(enum.Enum):
|
||||
arms = 1
|
||||
)
|
||||
|
||||
JURASSIC_THIGH = Action(
|
||||
"Apply a Jurassic Thigh Bone to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.JURASSIC_FEMUR.value,
|
||||
value = 300,
|
||||
limbs_needed = -1,
|
||||
legs = 1,
|
||||
antiquity = 1
|
||||
)
|
||||
|
||||
KNOTTED_HUMERUS = Action(
|
||||
"Apply a Knotted Humerus to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.KNOTTED_HUMERUS.value,
|
||||
@ -712,6 +822,23 @@ class Appendage(enum.Enum):
|
||||
menace = 1
|
||||
)
|
||||
|
||||
UNIDENTIFIED_THIGH = Action(
|
||||
"Apply an Unidentified Thigh Bone to your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.UNIDENTIFIED_THIGH.value,
|
||||
value = 100,
|
||||
limbs_needed = -1,
|
||||
legs = 1
|
||||
)
|
||||
|
||||
WITHERED_TENTACLE = Action(
|
||||
"Put a Withered Tentacle on your (Skeleton Type)",
|
||||
cost = Value.ACTION.value + Value.WITHERED_TENTACLE.value,
|
||||
value = 250,
|
||||
limbs_needed = -1,
|
||||
tentacles = 1,
|
||||
antiquity = -1
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.value)
|
||||
|
||||
@ -750,28 +877,6 @@ def create_data_model():
|
||||
data['zoological_mania'] = Declaration.AMPHIBIAN
|
||||
|
||||
data['actions'] = [torso.value for torso in Torso] + [skull.value for skull in Skull] + [appendage.value for appendage in Appendage] + [
|
||||
# Dumbwaiter of Balmoral, 25 at a time
|
||||
Action("Apply the Femur of a Surface Deer to your (Skeleton Type)", cost = Value.ACTION.value*1.04, value = 10, limbs_needed = -1, legs = 1, menace = -1),
|
||||
# Accumulated while trying to get other things
|
||||
Action("Apply an Unidentified Thigh Bone to your (Skeleton Type)", cost = Value.ACTION.value, value = 100, limbs_needed = -1, legs = 1),
|
||||
# Brawling, 12 at a time
|
||||
Action("Apply a Jurassic Thigh Bone to your (Skeleton Type)", cost = Value.ACTION.value*(11/6), value = 300, limbs_needed = -1, legs = 1, antiquity = 1),
|
||||
# Jericho Locks, 5 actions (Favours: the Church) for 2
|
||||
# Counter-Church theology from this scales with torso style and is implemented separately
|
||||
Action("Affix Saint Fiacre's Thigh Relic to your (Skeleton Type)", cost = Value.ACTION.value*3.5, value = 1250, limbs_needed = -1, legs = 1),
|
||||
# Palaeontological Discoveries, Plain of Thirsty Grasses
|
||||
Action("Affix the Helical Thighbone to your (Skeleton Type)", cost = Value.ACTION.value + Value.SURVEY.value*(70/9), value = 300, limbs_needed = -1, legs = 1, amalgamy = 2),
|
||||
# Parabolan Orange-Apples, Hedonist, 3cp/action
|
||||
Action("Apply an Ivory Femur to your (Skeleton Type)", cost = 900 + Value.ACTION.value*15.5, value = 6500, limbs_needed = -1, legs = 1),
|
||||
|
||||
# Hunt and dissect Pinewood Shark, 40 at a time
|
||||
Action("Put Fins on your (Skeleton Type)", cost = Value.ACTION.value*(51/40), value = 50, limbs_needed = -1, fins = 1),
|
||||
# Combination of 10 Fins
|
||||
Action("Attach the Amber-Crusted Fin to your (Skeleton Type)", cost = Value.ACTION.value*(15/4), value = 1500, limbs_needed = -1, fins = 1, amalgamy = 1, menace = 1),
|
||||
|
||||
# Helicon House, 3 at a time
|
||||
Action("Put a Withered Tentacle on your (Skeleton Type)", cost = 50/3 + Value.ACTION.value*4/3, value = 250, limbs_needed = -1, tentacles = 1, antiquity = -1),
|
||||
|
||||
# Carpenter's Granddaughter, 2 at a time
|
||||
Action("Apply Plaster Tail Bones to your (Skeleton Type)", cost = Value.ACTION.value*1.5 + Value.SURVEY.value*5, value = 250, tails_needed = -1, tails = 1, implausibility = 1),
|
||||
Action("Apply a Tomb-Lion's Tail to your (Skeleton Type)", cost = 220 + Value.ACTION.value*2, value = 250, tails_needed = -1, tails = 1, antiquity = 1),
|
||||
|
Loading…
Reference in New Issue
Block a user