3 my %CONS = ( # producing building
4 r => ["rally point", 'pm'],
6 my %UNIT = ( # any unit
10 my %UNITF = ( # fighter
11 p => ["patrol", 'pm'],
15 a => ["attack", 'pm'],
18 b => ["burrow", 'ci'],
22 g => ["gather", 'pm'],
23 c => ["return cargo", 'pm'],
30 desc => 'Protoss Probe',
32 b => ["build structure", 'me modePb'],
33 v => ["build adv$sign{_}anced structure", 'me modePv'],
36 desc => 'Protoss Probe build',
37 n => ["nexus", 'mo modePbn'],
39 a => ["assimi$sign{_}lator", 'me'],
40 g => ["gate$sign{_}way", 'mo modePbg'],
41 f => ["forge", 'mv modePbf'],
42 c => ["photon cannon", 'me'],
43 y => ["cyber$sign{_}netics core", 'mv modePby'],
44 b => ["shield batt$sign{_}ery", 'me modePbb'],
47 desc => 'Protoss Nexus',
49 p => ["probe", 'co modeP'],
52 desc => 'Protoss Gateway',
54 z => ["zealot", 'co'],
55 d => ["dragoon", 'cp'],
56 t => ["high templar", 'cp modePbgt'],
57 k => ["dark templar", 'cp modePbgk'],
60 desc => 'Protoss High Templar',
62 t => ["psionic storm", 'ci'],
63 l => ["halluci$sign{_}nation", 'ci'],
64 r => ["archon warp", 'cp'],
67 desc => 'Protoss Dark Templar',
68 %UNIT, %UNITF, %UNITA,
69 r => ["dark archon meld", 'cp modePbgkr'],
72 desc => 'Protoss Dark Archon',
74 f => ["feed$sign{_}back", 'pm'],
75 c => ["mind control", 'ci'],
76 e => ["mael$sign{_}strom", 'ci'],
79 desc => 'Protoss Forge',
80 w => ["ground weap$sign{_}on$sign{_}s", 'mv'],
81 a => ["ground armor", 'mv'],
82 s => ["plasma shields", 'mv'],
85 desc => 'Protoss Cybernetics Core',
86 w => ["air weap$sign{_}on$sign{_}s", 'mv'],
87 a => ["air armor", 'mv'],
88 s => ["dragoon range", 'mv'],
91 desc => 'Protoss Shield Battery',
92 r => ["recharge shields", 'pm'],
95 desc => 'Protoss Probe advanced build',
96 r => ["robotics facility", 'mo modePvr'],
97 s => ["stargate", 'mo modePvs'],
98 c => ["citadel of adun", 'mv modePvc'],
99 b => ["support bay", 'mv modePvb'],
100 f => ["fleet beacon", 'mv modePvf'],
101 t => ["templar archives", 'mv modePvt'],
102 o => ["observa$sign{_}tory", 'mv modePvo'],
103 a => ["arbiter tribunal", 'mv modePva'],
106 desc => 'Protoss Robotics facility',
108 s => ["shuttle", 'co'],
109 o => ["observer", 'cp'],
110 v => ["reaver", 'cp modePvrv'],
113 desc => 'Protoss Reaver',
114 %UNIT, %UNITF, %UNITA,
115 r => ["scarab", 'co'],
118 desc => 'Protoss Stargate',
120 s => ["scout", 'co'],
121 c => ["carrier", 'cp modePvsc'],
122 a => ["arbiter", 'cp modePvsa'],
123 o => ["corsair", 'co modePvso ext'],
126 desc => 'Protoss Carrier',
127 %UNIT, %UNITF, %UNITA,
128 i => ["inter$sign{_}ceptor", 'co'],
131 desc => 'Protoss Arbiter',
132 %UNIT, %UNITF, %UNITA,
134 t => ["statis field"],
137 desc => 'Protoss Corsair',
138 %UNIT, %UNITF, %UNITA,
139 d => ["disrup$sign{_}tion web", 'ci'],
142 l => ["leg en$sign{_}hancem$sign{_}ent$sign{_}s", 'mv'],
145 s => ["scarab damage", 'mv'],
146 c => ["reaver capacity", 'mv'],
147 g => ["gravitic drive", 'mv'],
150 a => ["apial sensors", 'mv'],
151 g => ["gravitic thrust$sign{_}ers", 'mv'],
152 c => ["carrier capacity", 'mv'],
153 d => ["disrup$sign{_}tion web", 'mv ext'],
154 j => ["argus jewel", 'mv'],
157 desc => 'Protoss Templar Archives',
158 t => ["psionic storm", 'mv'],
159 h => ["halluci$sign{_}nation", 'mv'],
160 k => ["khayda$sign{_}rin amul$sign{_}et", 'mv'],
161 # c => ["mind control?", 'mv'], #TODO
162 e => ["mael$sign{_}strom", 'mv'],
163 t => ["argus talisman", 'mv'],
166 desc => 'Protoss Observatory',
167 g => ["gravitic booster", 'mv'],
168 s => ["sensor array", 'mv'],
171 desc => 'Protoss Arbiter Tribunal',
172 r => ["recall", 'mv'],
173 s => ["stasis field", 'mv'],
174 k => ["khayda$sign{_}rin core", 'mv'],
178 desc => 'Zerg Larva',
179 d => ["drone", 'co modeZd'],
180 z => ["zergling", 'cp'],
181 o => ["overlord", 'co modeZo'],
182 h => ["hydra$sign{_}lisk", 'cp modeZh'],
183 q => ["queen", 'mv modeZq'],
186 desc => 'Zerg Drone',
187 %UNIT, %UNITH, %UNITB,
188 b => ["basic mutat$sign{_}ion", 'me modeZdb'],
189 v => ["advance$sign{_}d mutat$sign{_}ion", 'me modeZdv'],
192 desc => 'Zerg basic Drone mutation',
193 h => ["hatche$sign{_}ry", 'mo modeZdbh'],
194 c => ["creep colony", 'mo modeZdbc'],
195 e => ["extrac$sign{_}tor", 'me'],
196 s => ["spawning pool", 'mv modeZdbs'],
197 v => ["evolution chamber", 'mv modeZdbv'],
198 d => ["hydra$sign{_}lisk den", 'mv modeZdbd'],
201 desc => 'Zerg Hatchery',
203 b => ["burrow", 'me'],
204 s => ["select larvae", 'pm modeZ'],
205 l => ["lair", 'mo modeZdbhl'],
210 b => ["burrow", 'me'],
211 v => ["ventral sacs", 'mv'],
212 a => ["antennae", 'mv'],
213 p => ["pneumatized carapace", 'mv'],
214 h => ["hive", 'mo modeZdbhlh'],
219 b => ["burrow", 'me'],
220 v => ["ventral sacs", 'mv'],
221 a => ["antennae", 'mv'],
222 p => ["pneumatized carapace", 'mv'],
225 desc => 'Zerg Spawning Pool',
226 m => ["metabol boost", 'mv'],
227 a => ["adrenal glands", 'mv'],
230 m => ["melee attack$sign{_}s", 'mv'],
231 a => ["missile attack$sign{_}s", 'mv'],
232 c => ["carapace", 'mv'],
235 desc => 'Zerg Hydralisk Den',
236 m => ["muscular augments", 'mv'],
237 g => ["grooved spines", 'mv'],
238 l => ["lurker aspect", 'mv'],
241 desc => 'Zerg advanced Drone mutation',