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:
Jeremy Saklad 2021-08-03 12:43:41 -05:00
parent 5aa070f989
commit ed9cde4b01
Signed by: Jeremy Saklad
GPG Key ID: 9CA2149583EDBF84
2 changed files with 151 additions and 147 deletions

View File

@ -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."""

150
data/buyers.py Normal file
View File

@ -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)