diff gamelib/schematics.py @ 85:182fce9f70b6

Propaganda! Also, a fix to blueprint breakthroughs.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 09 May 2012 20:02:28 +0200
parents 52913ba12988
children c57b5b46d3e0
line wrap: on
line diff
--- a/gamelib/schematics.py	Wed May 09 18:12:01 2012 +0200
+++ b/gamelib/schematics.py	Wed May 09 20:02:28 2012 +0200
@@ -4,11 +4,18 @@
 from gamelib.game_base import Science
 
 
-# Kinds of schematic.
-HAND_WEAPON = 'hand weapon'
-VEHICLE = 'vehicle'
-DOOMSDAY_DEVICE = 'doomsday device'
-PATHOGEN = 'pathogen'
+class SchematicCategorySet(object):
+    def __init__(self, *categories):
+        for cat in categories:
+            setattr(self, cat, cat.lower().replace('_', ' '))
+
+cat = SchematicCategorySet(
+    'HAND_WEAPON',
+    'VEHICLE',
+    'DOOMSDAY_DEVICE',
+    'PATHOGEN',
+    'MIND_CONTROL',
+    )
 
 
 class Schematic(Science):
@@ -51,9 +58,9 @@
 
 
 class MachineGun(Schematic):
-    NAME = "Machine gun"
+    NAME = "machine gun"
     COST = 100
-    CATEGORIES = (HAND_WEAPON,)
+    CATEGORIES = (cat.HAND_WEAPON,)
     STARTING_PRODUCT = True
 
     def __init__(self, points=0):
@@ -67,27 +74,36 @@
 
 
 class LightningGun(Schematic):
-    NAME = "Lightning gun"
+    NAME = "lightning gun"
     COST = 300
-    CATEGORIES = (HAND_WEAPON,)
+    CATEGORIES = (cat.HAND_WEAPON,)
     PREREQUISITES = (
         (research.Tesla, 1),
         )
 
 
 class TeslaTank(Schematic):
-    NAME = "Tesla tank"
+    NAME = "tesla tank"
     COST = 1000
-    CATEGORIES = (VEHICLE,)
+    CATEGORIES = (cat.VEHICLE,)
     PREREQUISITES = (
         (research.Tesla, 3),
         )
 
 
 class DoomsdayVirus(Schematic):
-    NAME = "Doomsday virus"
+    NAME = "doomsday virus"
     COST = 100000
-    CATEGORIES = (DOOMSDAY_DEVICE, PATHOGEN)
+    CATEGORIES = (cat.DOOMSDAY_DEVICE, cat.PATHOGEN)
     PREREQUISITES = (
         (research.Biogenetics, 5),
         )
+
+
+class PropagandaMachine(Schematic):
+    NAME = "propaganda machine"
+    COST = 1000
+    CATEGORIES = (cat.MIND_CONTROL)
+    PREREQUISITES = (
+        (research.Psychology, 2),
+        )