Add Action values for buyers
This will allow buyers to be variable rather than fixed, and increase the orthogonality of the code.
This commit is contained in:
		
							parent
							
								
									06929bd7b2
								
							
						
					
					
						commit
						52a509bd19
					
				| @ -369,29 +369,6 @@ setattr(cp_model.CpModel, 'AddGeneralMultiplicationEquality', AddGeneralMultipli | ||||
| del AddGeneralMultiplicationEquality | ||||
| 
 | ||||
| 
 | ||||
| # A way to convert a skeleton into revenue. | ||||
| class Buyer(enum.Enum): | ||||
|     A_PALAEONTOLOGIST_WITH_HOARDING_PROPENSITIES = auto() | ||||
|     A_NAIVE_COLLECTOR = auto() | ||||
|     A_FAMILIAR_BOHEMIAN_SCULPTRESS = auto() | ||||
|     A_PEDAGOGICALLY_INCLINED_GRANDMOTHER = auto() | ||||
|     A_THEOLOGIAN_OF_THE_OLD_SCHOOL = auto() | ||||
|     AN_ENTHUSIAST_OF_THE_ANCIENT_WORLD = auto() | ||||
|     MRS_PLENTY = auto() | ||||
|     A_TENTACLED_SERVANT = auto() | ||||
|     AN_INVESTMENT_MINDED_AMBASSADOR = auto() | ||||
|     A_TELLER_OF_TERRORS = auto() | ||||
|     A_TENTACLED_ENTREPRENEUR = auto() | ||||
|     AN_AUTHOR_OF_GOTHIC_TALES = auto() | ||||
|     A_ZAILOR_WITH_PARTICULAR_INTERESTS = auto() | ||||
|     A_RUBBERY_COLLECTOR = auto() | ||||
|     A_CONSTABLE = auto() | ||||
|     AN_ENTHUSIAST_IN_SKULLS = auto() | ||||
|     A_DREARY_MIDNIGHTER = auto() | ||||
|     THE_DUMBWAITER_OF_BALMORAL = auto() | ||||
| 
 | ||||
| BUYER = Buyer.AN_ENTHUSIAST_IN_SKULLS | ||||
| 
 | ||||
| # An action that affects a skeleton's qualities. | ||||
| class Action: | ||||
|     def __init__(self, name, cost, torso_style = None, value = 0, skulls_needed = 0, limbs_needed = 0, tails_needed = 0, skulls = 0, arms = 0, legs = 0, tails = 0, wings = 0, fins = 0, tentacles = 0, amalgamy = 0, antiquity = 0, menace = 0, implausibility = 0, counter_church = 0, exhaustion = 0): | ||||
| @ -1056,6 +1033,104 @@ class Embellishment(enum.Enum): | ||||
|         return str(self.value) | ||||
| 
 | ||||
| 
 | ||||
| # A way to convert a skeleton into revenue. | ||||
| class Buyer(enum.Enum): | ||||
|     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 | ||||
|             ) | ||||
| 
 | ||||
|     THE_DUMBWAITER_OF_BALMORAL = Action( | ||||
|             "Export the Skeleton of a Neathy Bird", | ||||
|             cost = Cost.ACTION.value | ||||
|             ) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|         return str(self.value) | ||||
| 
 | ||||
| BUYER = Buyer.AN_ENTHUSIAST_IN_SKULLS | ||||
| 
 | ||||
| 
 | ||||
| # Which skeleton attribute is currently boosted. | ||||
| class Fluctuation(enum.Enum): | ||||
|     ANTIQUITY = 1 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user