Mercurial > sypikslang
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), + )