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
|
# Cartographer's Hoard
|
||||||
CARTOGRAPHERS_HOARD = 31250
|
CARTOGRAPHERS_HOARD = 31250
|
||||||
|
|
||||||
|
# Favours: The Church
|
||||||
|
# Various opportunity cards
|
||||||
|
CHURCH_FAVOURS = ACTION
|
||||||
|
|
||||||
# Collection Note: There's a 'Package' in London
|
# Collection Note: There's a 'Package' in London
|
||||||
# Station VIII Lab
|
# Station VIII Lab
|
||||||
COLLECTION_NOTE = ACTION
|
COLLECTION_NOTE = ACTION
|
||||||
|
@ -61,6 +65,10 @@ class Value(enum.Enum):
|
||||||
# Ealing Gardens Butcher, 2 at a time
|
# Ealing Gardens Butcher, 2 at a time
|
||||||
CRUSTACEAN_PINCER = (ACTION + DEEP_ZEE_CATCH)/2
|
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
|
# Favours: The Docks
|
||||||
# Various opportunity cards
|
# Various opportunity cards
|
||||||
DOCK_FAVOURS = ACTION
|
DOCK_FAVOURS = ACTION
|
||||||
|
@ -69,6 +77,18 @@ class Value(enum.Enum):
|
||||||
# No consistent source
|
# No consistent source
|
||||||
EYELESS_SKULL = cp_model.INT32_MAX
|
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
|
# Five-Pointed Ribcage
|
||||||
# Upwards
|
# Upwards
|
||||||
FIVE_POINTED_RIBCAGE = 9*ACTION + CARTOGRAPHERS_HOARD
|
FIVE_POINTED_RIBCAGE = 9*ACTION + CARTOGRAPHERS_HOARD
|
||||||
|
@ -92,6 +112,10 @@ class Value(enum.Enum):
|
||||||
# Anning and Daughters
|
# Anning and Daughters
|
||||||
FOSSILISED_FORELIMB = 50*HINTERLAND_SCRIP
|
FOSSILISED_FORELIMB = 50*HINTERLAND_SCRIP
|
||||||
|
|
||||||
|
# Hedonist
|
||||||
|
# Handsome Townhouse, 3cp at a time
|
||||||
|
HEDONIST_CP = ACTION/3
|
||||||
|
|
||||||
# Human Arm
|
# Human Arm
|
||||||
# These are accumulated while acquiring other qualities.
|
# These are accumulated while acquiring other qualities.
|
||||||
HUMAN_ARM = 0
|
HUMAN_ARM = 0
|
||||||
|
@ -110,6 +134,10 @@ class Value(enum.Enum):
|
||||||
# Ealing Gardens statue, 2 at a time
|
# Ealing Gardens statue, 2 at a time
|
||||||
IVORY_HUMERUS = (ACTION + 4*BOHEMIAN_FAVOURS)/2
|
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
|
# Knotted Humerus
|
||||||
# These are accumulated while acquiring other qualities.
|
# These are accumulated while acquiring other qualities.
|
||||||
KNOTTED_HUMERUS = 0
|
KNOTTED_HUMERUS = 0
|
||||||
|
@ -117,6 +145,14 @@ class Value(enum.Enum):
|
||||||
# Nevercold Brass Sliver
|
# Nevercold Brass Sliver
|
||||||
NEVERCOLD_BRASS = 1
|
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
|
# Pentagrammic Skull
|
||||||
# Upwards
|
# Upwards
|
||||||
PENTAGRAMMIC_SKULL = 9*ACTION
|
PENTAGRAMMIC_SKULL = 9*ACTION
|
||||||
|
@ -164,6 +200,10 @@ class Value(enum.Enum):
|
||||||
# Plain of Thirsty Grasses
|
# Plain of Thirsty Grasses
|
||||||
PALAEONTOLOGICAL_DISCOVERY = (ACTION + 140*SURVEY)/6
|
PALAEONTOLOGICAL_DISCOVERY = (ACTION + 140*SURVEY)/6
|
||||||
|
|
||||||
|
# Helical Thighbone
|
||||||
|
# Results of Excavation, 6 at a time
|
||||||
|
HELICAL_THIGH = (2*PALAEONTOLOGICAL_DISCOVERY)/6
|
||||||
|
|
||||||
# Leviathan Frame
|
# Leviathan Frame
|
||||||
# Results of Excavation
|
# Results of Excavation
|
||||||
LEVIATHAN_FRAME = 25*PALAEONTOLOGICAL_DISCOVERY
|
LEVIATHAN_FRAME = 25*PALAEONTOLOGICAL_DISCOVERY
|
||||||
|
@ -206,6 +246,10 @@ class Value(enum.Enum):
|
||||||
# Expedition at Station VIII
|
# Expedition at Station VIII
|
||||||
PRISMATIC_FRAME = ACTION + OIL_OF_COMPANIONSHIP + 98*RUMOUR_OF_THE_UPPER_RIVER
|
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
|
# Nodule of Warm Amber
|
||||||
WARM_AMBER = 10
|
WARM_AMBER = 10
|
||||||
|
|
||||||
|
@ -241,6 +285,10 @@ class Value(enum.Enum):
|
||||||
# Laboratory Research
|
# Laboratory Research
|
||||||
SKELETON_WITH_SEVEN_NECKS = 16*ACTION + 1000*NEVERCOLD_BRASS + WARBLER_SKELETON
|
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.
|
# Adds a fully-reified implication using an intermediate Boolean variable.
|
||||||
def NewIntermediateBoolVar(self, name, expression, domain):
|
def NewIntermediateBoolVar(self, name, expression, domain):
|
||||||
|
@ -650,6 +698,16 @@ class Appendage(enum.Enum):
|
||||||
amalgamy = 1
|
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(
|
BAT_WING = Action(
|
||||||
"Add a Bat Wing to your (Skeleton Type)",
|
"Add a Bat Wing to your (Skeleton Type)",
|
||||||
cost = Value.ACTION.value + Value.BAT_WING.value,
|
cost = Value.ACTION.value + Value.BAT_WING.value,
|
||||||
|
@ -667,6 +725,32 @@ class Appendage(enum.Enum):
|
||||||
menace = 1
|
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(
|
FOSSILISED_FORELIMB = Action(
|
||||||
"Apply a Fossilised Forelimb to your (Skeleton Type)",
|
"Apply a Fossilised Forelimb to your (Skeleton Type)",
|
||||||
cost = Value.ACTION.value + Value.FOSSILISED_FORELIMB.value,
|
cost = Value.ACTION.value + Value.FOSSILISED_FORELIMB.value,
|
||||||
|
@ -676,6 +760,15 @@ class Appendage(enum.Enum):
|
||||||
antiquity = 2
|
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(
|
HUMAN_ARM = Action(
|
||||||
"Join a Human Arm to your (Skeleton Type)",
|
"Join a Human Arm to your (Skeleton Type)",
|
||||||
cost = Value.ACTION.value + Value.HUMAN_ARM.value,
|
cost = Value.ACTION.value + Value.HUMAN_ARM.value,
|
||||||
|
@ -685,6 +778,14 @@ class Appendage(enum.Enum):
|
||||||
menace = -1
|
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(
|
IVORY_HUMERUS = Action(
|
||||||
"Apply an Ivory Humerus to your (Skeleton Type)",
|
"Apply an Ivory Humerus to your (Skeleton Type)",
|
||||||
cost = Value.ACTION.value + Value.IVORY_HUMERUS.value,
|
cost = Value.ACTION.value + Value.IVORY_HUMERUS.value,
|
||||||
|
@ -693,6 +794,15 @@ class Appendage(enum.Enum):
|
||||||
arms = 1
|
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(
|
KNOTTED_HUMERUS = Action(
|
||||||
"Apply a Knotted Humerus to your (Skeleton Type)",
|
"Apply a Knotted Humerus to your (Skeleton Type)",
|
||||||
cost = Value.ACTION.value + Value.KNOTTED_HUMERUS.value,
|
cost = Value.ACTION.value + Value.KNOTTED_HUMERUS.value,
|
||||||
|
@ -712,6 +822,23 @@ class Appendage(enum.Enum):
|
||||||
menace = 1
|
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):
|
def __str__(self):
|
||||||
return str(self.value)
|
return str(self.value)
|
||||||
|
|
||||||
|
@ -750,28 +877,6 @@ def create_data_model():
|
||||||
data['zoological_mania'] = Declaration.AMPHIBIAN
|
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] + [
|
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
|
# 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 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),
|
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