8c4af9cc54870be1b51b0ec1ef661852bd61326d
[sheet.git] / starcraft.inc.pl
1 use utf8;
2
3 my %CONS = ( # producing building
4         r => ["rally point", 'pm'],
5 );
6 my %UNIT = ( # any unit
7         m => ["move", 'pm'],
8         s => ["stop", 'pm'],
9 );
10 my %UNITF = ( # fighter
11         p => ["patrol", 'pm'],
12         h => ["hold", 'pm'],
13 );
14 my %UNITA = (
15         a => ["attack", 'pm'],
16 );
17 my %UNITB = (
18         b => ["burrow", 'ci'],
19 );
20 my %UNITH = (
21         %UNITA,
22         g => ["gather", 'pm'],
23         c => ["return cargo", 'pm'],
24 );
25
26 '' => {
27 },
28
29 P => {
30         desc => 'Protoss Probe',
31         %UNIT, %UNITH,
32         b => ["build structure", 'me modePb'],
33         v => ["build adv$sign{_}anced structure", 'me modePv'],
34 },
35 Pb => {
36         desc => 'Protoss Probe build',
37         n => ["nexus", 'mo modePbn'],
38         p => ["pylon", 'me'],
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'],
45 },
46 Pbn => {
47         desc => 'Protoss Nexus',
48         %CONS,
49         p => ["probe", 'co modeP'],
50 },
51 Pbg => {
52         desc => 'Protoss Gateway',
53         %CONS,
54         z => ["zealot", 'co'],
55         d => ["dragoon", 'cp'],
56         t => ["high templar", 'cp modePbgt'],
57         k => ["dark templar", 'cp modePbgk'],
58 },
59 Pbgt => {
60         desc => 'Protoss High Templar',
61         %UNIT, %UNITF,
62         t => ["psionic storm", 'ci'],
63         l => ["halluci$sign{_}nation", 'ci'],
64         r => ["archon warp", 'cp'],
65 },
66 Pbgk => {
67         desc => 'Protoss Dark Templar',
68         %UNIT, %UNITF, %UNITA,
69         r => ["dark archon meld", 'cp modePbgkr'],
70 },
71 Pbgkr => {
72         desc => 'Protoss Dark Archon',
73         %UNIT, %UNITF,
74         f => ["feed$sign{_}back", 'pm'],
75         c => ["mind control", 'ci'],
76         e => ["mael$sign{_}strom", 'ci'],
77 },
78 Pbf => {
79         desc => 'Protoss Forge',
80         w => ["ground weap$sign{_}on$sign{_}s", 'mv'],
81         a => ["ground armor", 'mv'],
82         s => ["plasma shields", 'mv'],
83 },
84 Pby => {
85         desc => 'Protoss Cybernetics Core',
86         w => ["air weap$sign{_}on$sign{_}s", 'mv'],
87         a => ["air armor", 'mv'],
88         s => ["dragoon range", 'mv'],
89 },
90 Pbb => {
91         desc => 'Protoss Shield Battery',
92         r => ["recharge shields", 'pm'],
93 },
94 Pv => {
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'],
104 },
105 Pvr => {
106         desc => 'Protoss Robotics facility',
107         %CONS,
108         s => ["shuttle", 'co'],
109         o => ["observer", 'cp'],
110         v => ["reaver", 'cp modePvrv'],
111 },
112 Pvrv => {
113         desc => 'Protoss Reaver',
114         %UNIT, %UNITF, %UNITA,
115         r => ["scarab", 'co'],
116 },
117 Pvs => {
118         desc => 'Protoss Stargate',
119         %CONS,
120         s => ["scout", 'co'],
121         c => ["carrier", 'cp modePvsc'],
122         a => ["arbiter", 'cp modePvsa'],
123         o => ["corsair", 'co modePvso ext'],
124 },
125 Pvsc => {
126         desc => 'Protoss Carrier',
127         %UNIT, %UNITF, %UNITA,
128         i => ["inter$sign{_}ceptor", 'co'],
129 },
130 Pvsa => {
131         desc => 'Protoss Arbiter',
132         %UNIT, %UNITF, %UNITA,
133         r => ["recall"],
134         t => ["statis field"],
135 },
136 Pvso => {
137         desc => 'Protoss Corsair',
138         %UNIT, %UNITF, %UNITA,
139         d => ["disrup$sign{_}tion web", 'ci'],
140 },
141 Pvc => {
142         l => ["leg en$sign{_}hancem$sign{_}ent$sign{_}s", 'mv'],
143 },
144 Pvb => {
145         s => ["scarab damage", 'mv'],
146         c => ["reaver capacity", 'mv'],
147         g => ["gravitic drive", 'mv'],
148 },
149 Pvf => {
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'],
155 },
156 Pvt => {
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'],
164 },
165 Pvo => {
166         desc => 'Protoss Observatory',
167         g => ["gravitic booster", 'mv'],
168         s => ["sensor array", 'mv'],
169 },
170 Pva => {
171         desc => 'Protoss Arbiter Tribunal',
172         r => ["recall", 'mv'],
173         s => ["stasis field", 'mv'],
174         k => ["khayda$sign{_}rin core", 'mv'],
175 },
176
177 Z => {
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'],
184 },
185 Zd => {
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'],
190 },
191 Zdb => {
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'],
199 },
200 Zdbh => {
201         desc => 'Zerg Hatchery',
202         %CONS,
203         b => ["burrow", 'me'],
204         s => ["select larvae", 'pm modeZ'],
205         l => ["lair", 'mo modeZdbhl'],
206 },
207 Zdbhl => {
208         desc => 'Zerg Lair',
209         %CONS,
210         b => ["burrow", 'me'],
211         v => ["ventral sacs", 'mv'],
212         a => ["antennae", 'mv'],
213         p => ["pneumatized carapace", 'mv'],
214         h => ["hive", 'mo modeZdbhlh'],
215 },
216 modeZdbhlh => {
217         desc => 'Zerg Hive',
218         %CONS,
219         b => ["burrow", 'me'],
220         v => ["ventral sacs", 'mv'],
221         a => ["antennae", 'mv'],
222         p => ["pneumatized carapace", 'mv'],
223 },
224 Zdbs => {
225         desc => 'Zerg Spawning Pool',
226         m => ["metabol boost", 'mv'],
227         a => ["adrenal glands", 'mv'],
228 },
229 Zdbv => {
230         m => ["melee attack$sign{_}s", 'mv'],
231         a => ["missile attack$sign{_}s", 'mv'],
232         c => ["carapace", 'mv'],
233 },
234 Zdbd => {
235         desc => 'Zerg Hydralisk Den',
236         m => ["muscular augments", 'mv'],
237         g => ["grooved spines", 'mv'],
238         l => ["lurker aspect", 'mv'],
239 },
240 Zdv => {
241         desc => 'Zerg advanced Drone mutation',
242 },
243