Move Buyer to different file
Since the main script is no longer using Action directly, it is no longer imported.
This commit is contained in:
parent
5aa070f989
commit
ed9cde4b01
|
@ -13,12 +13,12 @@ from ortools.sat.python import cp_model
|
||||||
|
|
||||||
from data.adjustments import Adjustment
|
from data.adjustments import Adjustment
|
||||||
from data.appendages import Appendage
|
from data.appendages import Appendage
|
||||||
|
from data.buyers import Buyer
|
||||||
from data.costs import Cost
|
from data.costs import Cost
|
||||||
from data.declarations import Declaration
|
from data.declarations import Declaration
|
||||||
from data.embellishments import Embellishment
|
from data.embellishments import Embellishment
|
||||||
from data.skulls import Skull
|
from data.skulls import Skull
|
||||||
from data.torsos import Torso
|
from data.torsos import Torso
|
||||||
from objects.action import Action
|
|
||||||
|
|
||||||
# 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
|
||||||
|
@ -73,152 +73,6 @@ cp_model.CpModel.AddGeneralMultiplicationEquality = AddGeneralMultiplicationEqua
|
||||||
del AddGeneralMultiplicationEquality
|
del AddGeneralMultiplicationEquality
|
||||||
|
|
||||||
|
|
||||||
class Buyer(Enum):
|
|
||||||
"""An action that converts a skeleton into revenue."""
|
|
||||||
|
|
||||||
A_PALAEONTOLOGIST_WITH_HOARDING_PROPENSITIES = Action(
|
|
||||||
"Sell a complete skeleton to the Bone Hoarder",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_NAIVE_COLLECTOR = Action(
|
|
||||||
"Sell your Skeleton to a Naive Collector",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_FAMILIAR_BOHEMIAN_SCULPTRESS = Action(
|
|
||||||
"Sell your Skeleton to the Sculptress",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_PEDAGOGICALLY_INCLINED_GRANDMOTHER = Action(
|
|
||||||
"Sell your skeleton to a Pedagogically Inclined Grandmother",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_THEOLOGIAN_OF_THE_OLD_SCHOOL = Action(
|
|
||||||
"Sell your Skeleton to the Theologian of the Old School",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
AN_ENTHUSIAST_OF_THE_ANCIENT_WORLD = Action(
|
|
||||||
"Sell your skeleton to an Enthusiast of the Ancient World",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
MRS_PLENTY = Action(
|
|
||||||
"Sell a complete skeleton to Mrs Plenty",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_TENTACLED_SERVANT = Action(
|
|
||||||
"Sell him your amalgamous skeleton",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
AN_INVESTMENT_MINDED_AMBASSADOR = Action(
|
|
||||||
"Sell your skeleton to the Ambassador",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_TELLER_OF_TERRORS = Action(
|
|
||||||
"Sell your skeleton to the Teller of Terrors",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_TENTACLED_ENTREPRENEUR = Action(
|
|
||||||
"Sell to the Tentacled Entrepreneur",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
AN_AUTHOR_OF_GOTHIC_TALES = Action(
|
|
||||||
"Sell to an Author of Gothic Tales",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_ZAILOR_WITH_PARTICULAR_INTERESTS = Action(
|
|
||||||
"Sell your skeleton to a Zailor",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_RUBBERY_COLLECTOR = Action(
|
|
||||||
"Sell to an Enthusiast of a Rubbery Menace",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_CONSTABLE = Action(
|
|
||||||
"Sell to a Constable",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
AN_ENTHUSIAST_IN_SKULLS = Action(
|
|
||||||
"Sell to the Cranial Enthusiast",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_DREARY_MIDNIGHTER = Action(
|
|
||||||
"Sell to the Dreary Midnighter",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_COLOURFUL_PHANTASIST_BAZAARINE = Action(
|
|
||||||
"Sell an amalgamous skeleton as a work of Bazaarine art",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_COLOURFUL_PHANTASIST_NOCTURNAL = Action(
|
|
||||||
"Sell a menacing skeleton as a work of Nocturnal art",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
A_COLOURFUL_PHANTASIST_CELESTIAL = Action(
|
|
||||||
"Sell an antique skeleton as a work of Celestial art",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
AN_INGENUOUS_MALACOLOGIST = Action(
|
|
||||||
"Sell him a tentacle-laden skeleton",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
AN_ENTERPRISING_BOOT_SALESMAN = Action(
|
|
||||||
"Sell to the Enterprising Boot Salesman",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
THE_DUMBWAITER_OF_BALMORAL = Action(
|
|
||||||
"Export the Skeleton of a Neathy Bird",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
THE_CARPENTERS_GRANDDAUGHTER = Action(
|
|
||||||
"Impress her with your own constructions",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
THE_TRIFLING_DIPLOMAT_ANTIQUITY = Action(
|
|
||||||
"Sell the Diplomat an antique skeleton",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
THE_TRIFLING_DIPLOMAT_BIRD = Action(
|
|
||||||
"Sell the Diplomat a fossil bird",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
THE_TRIFLING_DIPLOMAT_FISH = Action(
|
|
||||||
"Sell the Diplomat a fossil fish",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
THE_TRIFLING_DIPLOMAT_INSECT = Action(
|
|
||||||
"Sell the Diplomat a fossil insect",
|
|
||||||
cost = Cost.ACTION.value
|
|
||||||
)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return str(self.value)
|
|
||||||
|
|
||||||
class Fluctuation(Enum):
|
class Fluctuation(Enum):
|
||||||
"""Which skeleton attribute is currently boosted."""
|
"""Which skeleton attribute is currently boosted."""
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from data.costs import Cost
|
||||||
|
from objects.action import Action
|
||||||
|
|
||||||
|
class Buyer(Enum):
|
||||||
|
"""An action that converts a skeleton into revenue."""
|
||||||
|
|
||||||
|
A_PALAEONTOLOGIST_WITH_HOARDING_PROPENSITIES = Action(
|
||||||
|
"Sell a complete skeleton to the Bone Hoarder",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_NAIVE_COLLECTOR = Action(
|
||||||
|
"Sell your Skeleton to a Naive Collector",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_FAMILIAR_BOHEMIAN_SCULPTRESS = Action(
|
||||||
|
"Sell your Skeleton to the Sculptress",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_PEDAGOGICALLY_INCLINED_GRANDMOTHER = Action(
|
||||||
|
"Sell your skeleton to a Pedagogically Inclined Grandmother",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_THEOLOGIAN_OF_THE_OLD_SCHOOL = Action(
|
||||||
|
"Sell your Skeleton to the Theologian of the Old School",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
AN_ENTHUSIAST_OF_THE_ANCIENT_WORLD = Action(
|
||||||
|
"Sell your skeleton to an Enthusiast of the Ancient World",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
MRS_PLENTY = Action(
|
||||||
|
"Sell a complete skeleton to Mrs Plenty",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_TENTACLED_SERVANT = Action(
|
||||||
|
"Sell him your amalgamous skeleton",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
AN_INVESTMENT_MINDED_AMBASSADOR = Action(
|
||||||
|
"Sell your skeleton to the Ambassador",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_TELLER_OF_TERRORS = Action(
|
||||||
|
"Sell your skeleton to the Teller of Terrors",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_TENTACLED_ENTREPRENEUR = Action(
|
||||||
|
"Sell to the Tentacled Entrepreneur",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
AN_AUTHOR_OF_GOTHIC_TALES = Action(
|
||||||
|
"Sell to an Author of Gothic Tales",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_ZAILOR_WITH_PARTICULAR_INTERESTS = Action(
|
||||||
|
"Sell your skeleton to a Zailor",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_RUBBERY_COLLECTOR = Action(
|
||||||
|
"Sell to an Enthusiast of a Rubbery Menace",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_CONSTABLE = Action(
|
||||||
|
"Sell to a Constable",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
AN_ENTHUSIAST_IN_SKULLS = Action(
|
||||||
|
"Sell to the Cranial Enthusiast",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_DREARY_MIDNIGHTER = Action(
|
||||||
|
"Sell to the Dreary Midnighter",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_COLOURFUL_PHANTASIST_BAZAARINE = Action(
|
||||||
|
"Sell an amalgamous skeleton as a work of Bazaarine art",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_COLOURFUL_PHANTASIST_NOCTURNAL = Action(
|
||||||
|
"Sell a menacing skeleton as a work of Nocturnal art",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
A_COLOURFUL_PHANTASIST_CELESTIAL = Action(
|
||||||
|
"Sell an antique skeleton as a work of Celestial art",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
AN_INGENUOUS_MALACOLOGIST = Action(
|
||||||
|
"Sell him a tentacle-laden skeleton",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
AN_ENTERPRISING_BOOT_SALESMAN = Action(
|
||||||
|
"Sell to the Enterprising Boot Salesman",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
THE_DUMBWAITER_OF_BALMORAL = Action(
|
||||||
|
"Export the Skeleton of a Neathy Bird",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
THE_CARPENTERS_GRANDDAUGHTER = Action(
|
||||||
|
"Impress her with your own constructions",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
THE_TRIFLING_DIPLOMAT_ANTIQUITY = Action(
|
||||||
|
"Sell the Diplomat an antique skeleton",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
THE_TRIFLING_DIPLOMAT_BIRD = Action(
|
||||||
|
"Sell the Diplomat a fossil bird",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
THE_TRIFLING_DIPLOMAT_FISH = Action(
|
||||||
|
"Sell the Diplomat a fossil fish",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
THE_TRIFLING_DIPLOMAT_INSECT = Action(
|
||||||
|
"Sell the Diplomat a fossil insect",
|
||||||
|
cost = Cost.ACTION.value
|
||||||
|
)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return str(self.value)
|
Loading…
Reference in New Issue