comparison gamelib/schematics.py @ 148:3abb05f7e720

More science juggling.
author Jeremy Thurgood <firxen@gmail.com>
date Fri, 11 May 2012 16:39:17 +0200
parents 2587f8c34f84
children 372d886f9e70
comparison
equal deleted inserted replaced
147:3d24b18d1785 148:3abb05f7e720
19 'AQUATIC', 19 'AQUATIC',
20 'INTELLIGENCE', 20 'INTELLIGENCE',
21 'AI', 21 'AI',
22 ) 22 )
23 23
24 K = 1000
25 M = 1000 * K
26
24 27
25 class Schematic(Science): 28 class Schematic(Science):
26 # For all Schematics 29 # For all Schematics
27 SCIENCE_TYPE = 'schematic' 30 SCIENCE_TYPE = 'schematic'
28 31
93 CATEGORIES = (cat.HAND_WEAPON,) 96 CATEGORIES = (cat.HAND_WEAPON,)
94 PREREQUISITES = ( 97 PREREQUISITES = (
95 (research.Electrickery, 1), 98 (research.Electrickery, 1),
96 ) 99 )
97 100
98 BASE_POWER = 10 101 BASE_POWER = 15
102 POWER_INCREMENT = 3
103 PRODUCTION_RELIABILITY = 0.7
99 104
100 105
101 class TeslaTank(Schematic): 106 class TeslaTank(Schematic):
102 NAME = "tesla tank" 107 NAME = "tesla tank"
103 COST = 40000 108 COST = 40 * K
104 CATEGORIES = (cat.VEHICLE,) 109 CATEGORIES = (cat.VEHICLE,)
105 PREREQUISITES = ( 110 PREREQUISITES = (
106 (research.Electrickery, 5), 111 (research.Electrickery, 5),
107 (research.Robotics, 1), 112 (research.Robotics, 1),
108 ) 113 )
109 114
110 BASE_POWER = 100 115 BASE_POWER = 100
111 POWER_INCREMENT = 10 116 POWER_INCREMENT = 10
112
113
114 class DoomsdayVirus(Schematic):
115 NAME = "doomsday virus"
116 COST = 100000
117 CATEGORIES = (cat.DOOMSDAY_DEVICE, cat.PATHOGEN)
118 PREREQUISITES = (
119 (research.Biogenetics, 5),
120 )
121 117
122 118
123 class PropagandaMachine(Schematic): 119 class PropagandaMachine(Schematic):
124 NAME = "propaganda machine" 120 NAME = "propaganda machine"
125 COST = 1000 121 COST = 1000
126 CATEGORIES = (cat.MIND_CONTROL,) 122 CATEGORIES = (cat.MIND_CONTROL,)
127 PREREQUISITES = ( 123 PREREQUISITES = (
128 (research.Psychology, 2), 124 (research.Psychology, 2),
129 ) 125 )
130 126
127 BASE_POWER = 10
128 POWER_INCREMENT = 2
129
131 130
132 class GiantSquid(Schematic): 131 class GiantSquid(Schematic):
133 NAME = "giant squid" 132 NAME = "giant squid"
134 COST = 50000 133 COST = 50 * K
135 CATEGORIES = (cat.BEAST, cat.AQUATIC) 134 CATEGORIES = (cat.BEAST, cat.AQUATIC)
136 PREREQUISITES = ( 135 PREREQUISITES = (
137 (research.MarineBiology, 20), 136 (research.MarineBiology, 20),
138 (research.Biogenetics, 15), 137 (research.Biogenetics, 15),
139 ) 138 )
140 139
140 BASE_POWER = 200
141 POWER_INCREMENT = 20
142
141 143
142 class SharksWithFrickinLasers(Schematic): 144 class SharksWithFrickinLasers(Schematic):
143 NAME = "sharks with frickin' lasers" 145 NAME = "sharks with frickin' lasers"
144 COST = 20000 146 COST = 15 * K
145 CATEGORIES = (cat.BEAST, cat.AQUATIC) 147 CATEGORIES = (cat.BEAST, cat.AQUATIC)
146 PREREQUISITES = ( 148 PREREQUISITES = (
147 (research.MarineBiology, 10), 149 (research.MarineBiology, 10),
148 (research.Lasers, 7), 150 (research.Lasers, 7),
149 ) 151 )
150 152
151 153 BASE_POWER = 75
152 class GiantRobot(Schematic): 154 POWER_INCREMENT = 10
153 NAME = "giant robot"
154 COST = 2500000
155 CATEGORIES = (cat.DOOMSDAY_DEVICE, cat.AI)
156 PREREQUISITES = (
157 (research.Robotics, 15),
158 (research.ArtificialIntelligence, 10),
159 )
160 155
161 156
162 class ObservationDrone(Schematic): 157 class ObservationDrone(Schematic):
163 NAME = "observation drone" 158 NAME = "observation drone"
164 COST = 6000 159 COST = 6000
165 CATEGORIES = (cat.INTELLIGENCE,) 160 CATEGORIES = (cat.INTELLIGENCE,)
166 PREREQUISITES = ( 161 PREREQUISITES = (
167 (research.Robotics, 3), 162 (research.Robotics, 3),
168 ) 163 )
169 164
165 BASE_POWER = 25
166 POWER_INCREMENT = 5
167
170 168
171 class SpySatellite(Schematic): 169 class SpySatellite(Schematic):
172 NAME = "spy satellite" 170 NAME = "spy satellite"
173 COST = 100000 171 COST = 100 * K
174 CATEGORIES = (cat.INTELLIGENCE,) 172 CATEGORIES = (cat.INTELLIGENCE,)
175 PREREQUISITES = ( 173 PREREQUISITES = (
176 (research.Rocketry, 5), 174 (research.Rocketry, 5),
177 (research.Space, 1), 175 (research.Space, 1),
178 ) 176 )
179 177
180 178 BASE_POWER = 250
181 class OrbitalLaserPlatform(Schematic): 179 POWER_INCREMENT = 50
182 NAME = "orbital laser platform"
183 COST = 10000000
184 CATEGORIES = (cat.DOOMSDAY_DEVICE,)
185 PREREQUISITES = (
186 (SpySatellite, 3),
187 (research.Lasers, 15),
188 (research.Space, 5),
189 )
190 180
191 181
192 class TacticalAI(Schematic): 182 class TacticalAI(Schematic):
193 NAME = "tactical AI" 183 NAME = "tactical AI"
194 COST = 10000 184 COST = 10 * K
195 CATEGORIES = (cat.AI, cat.INTELLIGENCE) 185 CATEGORIES = (cat.AI, cat.INTELLIGENCE)
196 PREREQUISITES = ( 186 PREREQUISITES = (
197 (research.ArtificialIntelligence, 3), 187 (research.ArtificialIntelligence, 3),
198 ) 188 )
199 189
203 COST = 300 193 COST = 300
204 CATEGORIES = (cat.HAND_WEAPON,) 194 CATEGORIES = (cat.HAND_WEAPON,)
205 PREREQUISITES = ( 195 PREREQUISITES = (
206 (research.Lasers, 2), 196 (research.Lasers, 2),
207 ) 197 )
198
199
200 class DoomsdayVirus(Schematic):
201 NAME = "doomsday virus"
202 COST = 100 * K
203 CATEGORIES = (cat.DOOMSDAY_DEVICE, cat.PATHOGEN)
204 PREREQUISITES = (
205 (research.Biogenetics, 5),
206 )
207
208 BASE_POWER = 1000
209 POWER_INCREMENT = 500
210
211 PRODUCTION_RELIABILITY = 0.6
212
213
214 class GiantRobot(Schematic):
215 NAME = "giant robot"
216 COST = int(1.5 * M)
217 CATEGORIES = (cat.DOOMSDAY_DEVICE, cat.AI)
218 PREREQUISITES = (
219 (research.Robotics, 15),
220 (research.ArtificialIntelligence, 10),
221 )
222
223 BASE_POWER = 700
224 POWER_INCREMENT = 300
225
226 PRODUCTION_RELIABILITY = 0.7
227
228
229 class OrbitalLaserPlatform(Schematic):
230 NAME = "orbital laser platform"
231 COST = 10 * M
232 CATEGORIES = (cat.DOOMSDAY_DEVICE,)
233 PREREQUISITES = (
234 (SpySatellite, 3),
235 (research.Lasers, 15),
236 (research.Space, 5),
237 )
238
239 BASE_POWER = 1500
240 POWER_INCREMENT = 200