Move Cost enumeration to different file
Having a single extremely large file harms readability. To solve this problem, the Cost enumeration is now in a distinct file.
This commit is contained in:
parent
f13497e9b8
commit
27add1aa47
|
@ -11,6 +11,8 @@ from os import cpu_count
|
||||||
|
|
||||||
from ortools.sat.python import cp_model
|
from ortools.sat.python import cp_model
|
||||||
|
|
||||||
|
from data.costs import Cost
|
||||||
|
|
||||||
# This multiplier is applied to the profit margin to avoid losing precision due to rounding.
|
# This multiplier is applied to the profit margin to avoid losing precision due to rounding.
|
||||||
PROFIT_MARGIN_MULTIPLIER = 10000000
|
PROFIT_MARGIN_MULTIPLIER = 10000000
|
||||||
|
|
||||||
|
@ -21,313 +23,6 @@ MAXIMUM_ATTRIBUTE = 100
|
||||||
DIFFICULTY_SCALER = 0.6
|
DIFFICULTY_SCALER = 0.6
|
||||||
|
|
||||||
|
|
||||||
class Cost(Enum):
|
|
||||||
"""The number of pennies needed to produce a quality."""
|
|
||||||
|
|
||||||
# This is your baseline EPA: the pennies you could generate using an action for a generic grind.
|
|
||||||
ACTION = 400
|
|
||||||
|
|
||||||
# Antique Mystery
|
|
||||||
ANTIQUE_MYSTERY = 1250
|
|
||||||
|
|
||||||
# Favours: Bohemians
|
|
||||||
# Various opportunity cards
|
|
||||||
BOHEMIAN_FAVOURS = ACTION
|
|
||||||
|
|
||||||
# Bone Fragment
|
|
||||||
BONE_FRAGMENT = 1
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Volume of Collated Research
|
|
||||||
COLLATED_RESEARCH = 250
|
|
||||||
|
|
||||||
# Deep-Zee Catch
|
|
||||||
# Spear-fishing at the bottom of the Evenlode, 7 at a time
|
|
||||||
DEEP_ZEE_CATCH = ACTION/7
|
|
||||||
|
|
||||||
# Crustacean Pincer
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Extraordinary Implication
|
|
||||||
EXTRAORDINARY_IMPLICATION = 250
|
|
||||||
|
|
||||||
# Eyeless Skull
|
|
||||||
# No consistent source
|
|
||||||
EYELESS_SKULL = cp_model.INT32_MAX/2
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# These are accumulated while acquiring other qualities.
|
|
||||||
HEADLESS_SKELETON = 0
|
|
||||||
|
|
||||||
# Hinterland Scrip
|
|
||||||
HINTERLAND_SCRIP = 50
|
|
||||||
|
|
||||||
# Fossilised Forelimb
|
|
||||||
# Anning and Daughters
|
|
||||||
FOSSILISED_FORELIMB = 55*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
|
|
||||||
|
|
||||||
# Incisive Observation
|
|
||||||
INCISIVE_OBSERVATION = 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
|
|
||||||
|
|
||||||
# Ivory Humerus
|
|
||||||
# Ealing Gardens statue, 2 at a time
|
|
||||||
IVORY_HUMERUS = (ACTION + 4*BOHEMIAN_FAVOURS)/2
|
|
||||||
|
|
||||||
# Jade Fragment
|
|
||||||
JADE_FRAGMENT = 1
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Nevercold Brass Sliver
|
|
||||||
NEVERCOLD_BRASS = 1
|
|
||||||
|
|
||||||
# Obsidian Chitin Tail
|
|
||||||
# No consistent source
|
|
||||||
OBSIDIAN_TAIL = cp_model.INT32_MAX/2
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Penny
|
|
||||||
PENNY = 1
|
|
||||||
|
|
||||||
# Bright Brass Skull
|
|
||||||
# Merrigans Exchange
|
|
||||||
BRASS_SKULL = 6250*PENNY
|
|
||||||
|
|
||||||
# Pentagrammic Skull
|
|
||||||
# Upwards
|
|
||||||
PENTAGRAMMIC_SKULL = 9*ACTION
|
|
||||||
|
|
||||||
# Hand-picked Peppercaps
|
|
||||||
PEPPERCAPS = HINTERLAND_SCRIP
|
|
||||||
|
|
||||||
# Revisionist Historical Narrative
|
|
||||||
# Waswood
|
|
||||||
REVISIONIST_NARRATIVE = ACTION + 4*EXTRAORDINARY_IMPLICATION + INCISIVE_OBSERVATION
|
|
||||||
|
|
||||||
# Knob of Scintillack
|
|
||||||
SCINTILLACK = 250
|
|
||||||
|
|
||||||
# Searing Enigma
|
|
||||||
SEARING_ENIGMA = 6250
|
|
||||||
|
|
||||||
# Carved Ball of Stygian Ivory
|
|
||||||
STYGIAN_IVORY = 250
|
|
||||||
|
|
||||||
# Preserved Surface Blooms
|
|
||||||
SURFACE_BLOOMS = 250
|
|
||||||
|
|
||||||
# Consignment of Scintillack Snuff
|
|
||||||
# Laboratory Manufacturing
|
|
||||||
SCINTILLACK_SNUFF = (ACTION + 8*SCINTILLACK + SURFACE_BLOOMS)/2
|
|
||||||
|
|
||||||
# Elation at Feline Oration
|
|
||||||
# Pinnock
|
|
||||||
ELATION_AT_FELINE_ORATION = ACTION + 2*ANTIQUE_MYSTERY + COLLECTION_NOTE + 2*SCINTILLACK_SNUFF
|
|
||||||
|
|
||||||
# Oil of Companionship
|
|
||||||
# Station VIII Lab
|
|
||||||
OIL_OF_COMPANIONSHIP = ACTION + ELATION_AT_FELINE_ORATION
|
|
||||||
|
|
||||||
# Survey of the Neath's Bones
|
|
||||||
# Laboratory Research
|
|
||||||
SURVEY = 6*ACTION/25
|
|
||||||
|
|
||||||
# Plaster Tail Bones
|
|
||||||
# Carpenter's Granddaughter, 2 at a time
|
|
||||||
PLASTER_TAIL_BONES = (ACTION + 10*SURVEY)/2
|
|
||||||
|
|
||||||
# Human Ribcage
|
|
||||||
# Ealing Gardens
|
|
||||||
HUMAN_RIBCAGE = ACTION + 15*SURVEY
|
|
||||||
|
|
||||||
# Palaeontological Discovery
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Thorned Ribcage
|
|
||||||
# Iron-Toothed Terror Bird
|
|
||||||
THORNED_RIBCAGE = 6*ACTION
|
|
||||||
|
|
||||||
# Flourishing Ribcage
|
|
||||||
# Helicon House
|
|
||||||
FLOURISHING_RIBCAGE = ACTION + HUMAN_RIBCAGE + THORNED_RIBCAGE
|
|
||||||
|
|
||||||
# Time Remaining in the Woods
|
|
||||||
# Compel Ghillie, 7 at a time
|
|
||||||
TIME_REMAINING_IN_THE_WOODS = (ACTION + 4*COLLATED_RESEARCH)/7
|
|
||||||
|
|
||||||
# Observation: Red Deer
|
|
||||||
# Balmoral Woods
|
|
||||||
DEER_OBSERVATION = 13*ACTION + 12*TIME_REMAINING_IN_THE_WOODS
|
|
||||||
|
|
||||||
# Mammoth Ribcage
|
|
||||||
# Keeper of the Marigold Menagerie
|
|
||||||
MAMMOTH_RIBCAGE = ACTION + DEER_OBSERVATION
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Observation: Grouse
|
|
||||||
# Balmoral Woods
|
|
||||||
GROUSE_OBSERVATION = 9*ACTION + 8*TIME_REMAINING_IN_THE_WOODS
|
|
||||||
|
|
||||||
# Skeleton with Seven Necks
|
|
||||||
# Keeper of the Marigold Menagerie
|
|
||||||
SKELETON_WITH_SEVEN_NECKS = ACTION + GROUSE_OBSERVATION
|
|
||||||
|
|
||||||
# Nodule of Trembling Amber
|
|
||||||
TREMBLING_AMBER = 1250
|
|
||||||
|
|
||||||
# Ribcage with a Bouquet of Eight Spines
|
|
||||||
# Helicon House
|
|
||||||
RIBCAGE_WITH_EIGHT_SPINES = ACTION + 3*SEARING_ENIGMA + SKELETON_WITH_SEVEN_NECKS + 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 = 250
|
|
||||||
|
|
||||||
# Jet Black Stinger
|
|
||||||
# Hunting with Sophia's, 5 at a time
|
|
||||||
BLACK_STINGER = (ACTION + 5*RUMOUR_OF_THE_UPPER_RIVER)/5
|
|
||||||
|
|
||||||
# Prismatic Frame
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Albatross Wing
|
|
||||||
# Ealing Gardens Butcher, 2 at a time
|
|
||||||
ALBATROSS_WING = (ACTION + 2000*BONE_FRAGMENT + 25*WARM_AMBER)/2
|
|
||||||
|
|
||||||
# Bat Wing
|
|
||||||
# Ealing Gardens Butcher, 2 at a time
|
|
||||||
BAT_WING = (ACTION + 100*BONE_FRAGMENT + 2*WARM_AMBER)/2
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Wing of a Young Terror Bird
|
|
||||||
# Ealing Gardens Butcher, 2 at a time
|
|
||||||
TERROR_BIRD_WING = (ACTION + 100*BONE_FRAGMENT + 25*WARM_AMBER)/2
|
|
||||||
|
|
||||||
# Tomb-Lion's Tail
|
|
||||||
# Ealing Gardens Butcher
|
|
||||||
TOMB_LION_TAIL = ACTION + 200*BONE_FRAGMENT + 2*WARM_AMBER
|
|
||||||
|
|
||||||
# Warbler Skeleton
|
|
||||||
# Ealing Gardens Butcher
|
|
||||||
WARBLER_SKELETON = ACTION + 130*BONE_FRAGMENT + 2*WARM_AMBER
|
|
||||||
|
|
||||||
# Withered Tentacle
|
|
||||||
# Helicon House, 3 at a time
|
|
||||||
WITHERED_TENTACLE = (ACTION + 5*WARM_AMBER)/3
|
|
||||||
|
|
||||||
|
|
||||||
def NewIntermediateBoolVar(self, name, expression, domain):
|
def NewIntermediateBoolVar(self, name, expression, domain):
|
||||||
"""Add a fully-reified implication using an intermediate Boolean variable."""
|
"""Add a fully-reified implication using an intermediate Boolean variable."""
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,311 @@
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from ortools.sat.python import cp_model
|
||||||
|
|
||||||
|
class Cost(Enum):
|
||||||
|
"""The number of pennies needed to produce a quality."""
|
||||||
|
|
||||||
|
# This is your baseline EPA: the pennies you could generate using an action for a generic grind.
|
||||||
|
ACTION = 400
|
||||||
|
|
||||||
|
# Antique Mystery
|
||||||
|
ANTIQUE_MYSTERY = 1250
|
||||||
|
|
||||||
|
# Favours: Bohemians
|
||||||
|
# Various opportunity cards
|
||||||
|
BOHEMIAN_FAVOURS = ACTION
|
||||||
|
|
||||||
|
# Bone Fragment
|
||||||
|
BONE_FRAGMENT = 1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Volume of Collated Research
|
||||||
|
COLLATED_RESEARCH = 250
|
||||||
|
|
||||||
|
# Deep-Zee Catch
|
||||||
|
# Spear-fishing at the bottom of the Evenlode, 7 at a time
|
||||||
|
DEEP_ZEE_CATCH = ACTION/7
|
||||||
|
|
||||||
|
# Crustacean Pincer
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Extraordinary Implication
|
||||||
|
EXTRAORDINARY_IMPLICATION = 250
|
||||||
|
|
||||||
|
# Eyeless Skull
|
||||||
|
# No consistent source
|
||||||
|
EYELESS_SKULL = cp_model.INT32_MAX/2
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# These are accumulated while acquiring other qualities.
|
||||||
|
HEADLESS_SKELETON = 0
|
||||||
|
|
||||||
|
# Hinterland Scrip
|
||||||
|
HINTERLAND_SCRIP = 50
|
||||||
|
|
||||||
|
# Fossilised Forelimb
|
||||||
|
# Anning and Daughters
|
||||||
|
FOSSILISED_FORELIMB = 55*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
|
||||||
|
|
||||||
|
# Incisive Observation
|
||||||
|
INCISIVE_OBSERVATION = 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
|
||||||
|
|
||||||
|
# Ivory Humerus
|
||||||
|
# Ealing Gardens statue, 2 at a time
|
||||||
|
IVORY_HUMERUS = (ACTION + 4*BOHEMIAN_FAVOURS)/2
|
||||||
|
|
||||||
|
# Jade Fragment
|
||||||
|
JADE_FRAGMENT = 1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Nevercold Brass Sliver
|
||||||
|
NEVERCOLD_BRASS = 1
|
||||||
|
|
||||||
|
# Obsidian Chitin Tail
|
||||||
|
# No consistent source
|
||||||
|
OBSIDIAN_TAIL = cp_model.INT32_MAX/2
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Penny
|
||||||
|
PENNY = 1
|
||||||
|
|
||||||
|
# Bright Brass Skull
|
||||||
|
# Merrigans Exchange
|
||||||
|
BRASS_SKULL = 6250*PENNY
|
||||||
|
|
||||||
|
# Pentagrammic Skull
|
||||||
|
# Upwards
|
||||||
|
PENTAGRAMMIC_SKULL = 9*ACTION
|
||||||
|
|
||||||
|
# Hand-picked Peppercaps
|
||||||
|
PEPPERCAPS = HINTERLAND_SCRIP
|
||||||
|
|
||||||
|
# Revisionist Historical Narrative
|
||||||
|
# Waswood
|
||||||
|
REVISIONIST_NARRATIVE = ACTION + 4*EXTRAORDINARY_IMPLICATION + INCISIVE_OBSERVATION
|
||||||
|
|
||||||
|
# Knob of Scintillack
|
||||||
|
SCINTILLACK = 250
|
||||||
|
|
||||||
|
# Searing Enigma
|
||||||
|
SEARING_ENIGMA = 6250
|
||||||
|
|
||||||
|
# Carved Ball of Stygian Ivory
|
||||||
|
STYGIAN_IVORY = 250
|
||||||
|
|
||||||
|
# Preserved Surface Blooms
|
||||||
|
SURFACE_BLOOMS = 250
|
||||||
|
|
||||||
|
# Consignment of Scintillack Snuff
|
||||||
|
# Laboratory Manufacturing
|
||||||
|
SCINTILLACK_SNUFF = (ACTION + 8*SCINTILLACK + SURFACE_BLOOMS)/2
|
||||||
|
|
||||||
|
# Elation at Feline Oration
|
||||||
|
# Pinnock
|
||||||
|
ELATION_AT_FELINE_ORATION = ACTION + 2*ANTIQUE_MYSTERY + COLLECTION_NOTE + 2*SCINTILLACK_SNUFF
|
||||||
|
|
||||||
|
# Oil of Companionship
|
||||||
|
# Station VIII Lab
|
||||||
|
OIL_OF_COMPANIONSHIP = ACTION + ELATION_AT_FELINE_ORATION
|
||||||
|
|
||||||
|
# Survey of the Neath's Bones
|
||||||
|
# Laboratory Research
|
||||||
|
SURVEY = 6*ACTION/25
|
||||||
|
|
||||||
|
# Plaster Tail Bones
|
||||||
|
# Carpenter's Granddaughter, 2 at a time
|
||||||
|
PLASTER_TAIL_BONES = (ACTION + 10*SURVEY)/2
|
||||||
|
|
||||||
|
# Human Ribcage
|
||||||
|
# Ealing Gardens
|
||||||
|
HUMAN_RIBCAGE = ACTION + 15*SURVEY
|
||||||
|
|
||||||
|
# Palaeontological Discovery
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Thorned Ribcage
|
||||||
|
# Iron-Toothed Terror Bird
|
||||||
|
THORNED_RIBCAGE = 6*ACTION
|
||||||
|
|
||||||
|
# Flourishing Ribcage
|
||||||
|
# Helicon House
|
||||||
|
FLOURISHING_RIBCAGE = ACTION + HUMAN_RIBCAGE + THORNED_RIBCAGE
|
||||||
|
|
||||||
|
# Time Remaining in the Woods
|
||||||
|
# Compel Ghillie, 7 at a time
|
||||||
|
TIME_REMAINING_IN_THE_WOODS = (ACTION + 4*COLLATED_RESEARCH)/7
|
||||||
|
|
||||||
|
# Observation: Red Deer
|
||||||
|
# Balmoral Woods
|
||||||
|
DEER_OBSERVATION = 13*ACTION + 12*TIME_REMAINING_IN_THE_WOODS
|
||||||
|
|
||||||
|
# Mammoth Ribcage
|
||||||
|
# Keeper of the Marigold Menagerie
|
||||||
|
MAMMOTH_RIBCAGE = ACTION + DEER_OBSERVATION
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Observation: Grouse
|
||||||
|
# Balmoral Woods
|
||||||
|
GROUSE_OBSERVATION = 9*ACTION + 8*TIME_REMAINING_IN_THE_WOODS
|
||||||
|
|
||||||
|
# Skeleton with Seven Necks
|
||||||
|
# Keeper of the Marigold Menagerie
|
||||||
|
SKELETON_WITH_SEVEN_NECKS = ACTION + GROUSE_OBSERVATION
|
||||||
|
|
||||||
|
# Nodule of Trembling Amber
|
||||||
|
TREMBLING_AMBER = 1250
|
||||||
|
|
||||||
|
# Ribcage with a Bouquet of Eight Spines
|
||||||
|
# Helicon House
|
||||||
|
RIBCAGE_WITH_EIGHT_SPINES = ACTION + 3*SEARING_ENIGMA + SKELETON_WITH_SEVEN_NECKS + 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 = 250
|
||||||
|
|
||||||
|
# Jet Black Stinger
|
||||||
|
# Hunting with Sophia's, 5 at a time
|
||||||
|
BLACK_STINGER = (ACTION + 5*RUMOUR_OF_THE_UPPER_RIVER)/5
|
||||||
|
|
||||||
|
# Prismatic Frame
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Albatross Wing
|
||||||
|
# Ealing Gardens Butcher, 2 at a time
|
||||||
|
ALBATROSS_WING = (ACTION + 2000*BONE_FRAGMENT + 25*WARM_AMBER)/2
|
||||||
|
|
||||||
|
# Bat Wing
|
||||||
|
# Ealing Gardens Butcher, 2 at a time
|
||||||
|
BAT_WING = (ACTION + 100*BONE_FRAGMENT + 2*WARM_AMBER)/2
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Wing of a Young Terror Bird
|
||||||
|
# Ealing Gardens Butcher, 2 at a time
|
||||||
|
TERROR_BIRD_WING = (ACTION + 100*BONE_FRAGMENT + 25*WARM_AMBER)/2
|
||||||
|
|
||||||
|
# Tomb-Lion's Tail
|
||||||
|
# Ealing Gardens Butcher
|
||||||
|
TOMB_LION_TAIL = ACTION + 200*BONE_FRAGMENT + 2*WARM_AMBER
|
||||||
|
|
||||||
|
# Warbler Skeleton
|
||||||
|
# Ealing Gardens Butcher
|
||||||
|
WARBLER_SKELETON = ACTION + 130*BONE_FRAGMENT + 2*WARM_AMBER
|
||||||
|
|
||||||
|
# Withered Tentacle
|
||||||
|
# Helicon House, 3 at a time
|
||||||
|
WITHERED_TENTACLE = (ACTION + 5*WARM_AMBER)/3
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue