1 | #!/opt/bin/perl |
1 | #!/opt/bin/perl |
|
|
2 | |
|
|
3 | # |
|
|
4 | # This file is part of Deliantra, the Roguelike Realtime MMORPG. |
|
|
5 | # |
|
|
6 | # Copyright (©) 2005,2006,2007,2008,2009 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
|
|
7 | # |
|
|
8 | # Deliantra is free software: you can redistribute it and/or modify it under |
|
|
9 | # the terms of the Affero GNU General Public License as published by the |
|
|
10 | # Free Software Foundation, either version 3 of the License, or (at your |
|
|
11 | # option) any later version. |
|
|
12 | # |
|
|
13 | # This program is distributed in the hope that it will be useful, |
|
|
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
16 | # GNU General Public License for more details. |
|
|
17 | # |
|
|
18 | # You should have received a copy of the Affero GNU General Public License |
|
|
19 | # and the GNU General Public License along with this program. If not, see |
|
|
20 | # <http://www.gnu.org/licenses/>. |
|
|
21 | # |
|
|
22 | # The authors can be reached via e-mail to <support@deliantra.net> |
|
|
23 | # |
2 | |
24 | |
3 | my %ARG = @ARGV; |
25 | my %ARG = @ARGV; |
4 | |
26 | |
5 | use List::Util; |
27 | use List::Util; |
6 | |
28 | |
7 | # todo: gather dynamically |
29 | # todo: gather dynamically |
8 | my @kw = qw( |
30 | my @kw = qw( |
9 | no_pass |
|
|
10 | walk_on |
|
|
11 | walk_off |
|
|
12 | fly_on |
|
|
13 | fly_off |
|
|
14 | flying |
|
|
15 | |
|
|
16 | gender |
31 | gender |
|
|
32 | hintmode |
17 | attack_skill |
33 | attack_skill |
18 | ranged_skill |
34 | ranged_skill |
19 | |
35 | |
20 | ac |
36 | ac |
21 | activate_on_push |
37 | activate_on_push |
… | |
… | |
113 | is_blind |
129 | is_blind |
114 | is_buildable |
130 | is_buildable |
115 | is_cauldron |
131 | is_cauldron |
116 | is_dust |
132 | is_dust |
117 | is_floor |
133 | is_floor |
|
|
134 | is_transparent_floor |
118 | is_hilly |
135 | is_hilly |
119 | is_lightable |
136 | is_lightable |
120 | is_thrown |
137 | is_thrown |
121 | is_turnable |
138 | is_turnable |
122 | is_used_up |
139 | is_used_up |
… | |
… | |
155 | name_pl |
172 | name_pl |
156 | neutral |
173 | neutral |
157 | no_attack |
174 | no_attack |
158 | no_damage |
175 | no_damage |
159 | no_drop |
176 | no_drop |
160 | no_fix_player |
|
|
161 | no_magic |
177 | no_magic |
162 | no_pick |
178 | no_pick |
163 | no_skill_ident |
179 | no_skill_ident |
164 | no_steal |
180 | no_steal |
165 | no_strength |
181 | no_strength |
… | |
… | |
169 | oid |
185 | oid |
170 | one_hit |
186 | one_hit |
171 | only_attack |
187 | only_attack |
172 | other_arch |
188 | other_arch |
173 | overlay_floor |
189 | overlay_floor |
|
|
190 | owner |
174 | path_attuned |
191 | path_attuned |
175 | path_denied |
192 | path_denied |
176 | path_repelled |
193 | path_repelled |
177 | perm_exp |
194 | perm_exp |
178 | pick_up |
195 | pick_up |
179 | player_sold |
196 | player_sold |
180 | pow |
197 | pow |
181 | precious |
198 | precious |
182 | protected |
199 | protected |
|
|
200 | is_quad |
183 | race |
201 | race |
184 | random_move |
202 | random_move |
185 | random_movement |
203 | random_movement |
|
|
204 | random_speed |
186 | randomitems |
205 | randomitems |
187 | range |
206 | range |
188 | range_modifier |
207 | range_modifier |
189 | reflect_missile |
208 | reflect_missile |
190 | reflect_spell |
209 | reflect_spell |
… | |
… | |
222 | skill |
241 | skill |
223 | slaying |
242 | slaying |
224 | sleep |
243 | sleep |
225 | slow_move |
244 | slow_move |
226 | sound |
245 | sound |
227 | sound_die |
246 | sound_destroy |
228 | smoothlevel |
247 | smoothlevel |
229 | sp |
248 | sp |
230 | speed |
249 | speed |
231 | speed_left |
250 | speed_left |
|
|
251 | sl |
232 | splitting |
252 | splitting |
233 | stand_still |
253 | stand_still |
234 | startequip |
254 | startequip |
235 | state |
255 | state |
236 | stealth |
256 | stealth |
237 | str |
257 | str |
238 | subtype |
258 | subtype |
|
|
259 | tag |
239 | tear_down |
260 | tear_down |
240 | title |
261 | title |
241 | tooltype |
|
|
242 | treasure_env |
262 | treasure_env |
243 | type |
263 | type |
244 | unaggressive |
264 | unaggressive |
245 | undead |
265 | undead |
246 | unique |
266 | unique |
… | |
… | |
282 | outdoor |
302 | outdoor |
283 | tile_path_1 |
303 | tile_path_1 |
284 | tile_path_2 |
304 | tile_path_2 |
285 | tile_path_3 |
305 | tile_path_3 |
286 | tile_path_4 |
306 | tile_path_4 |
|
|
307 | tile_path_5 |
|
|
308 | tile_path_6 |
287 | |
309 | |
288 | file_format_version |
310 | file_format_version |
289 | |
|
|
290 | temp |
|
|
291 | pressure |
|
|
292 | humid |
|
|
293 | windspeed |
|
|
294 | winddir |
|
|
295 | sky |
|
|
296 | |
311 | |
297 | map |
312 | map |
298 | savebed_map |
313 | savebed_map |
299 | bed_x |
314 | bed_x |
300 | bed_y |
315 | bed_y |
… | |
… | |
324 | longname |
339 | longname |
325 | jail_map |
340 | jail_map |
326 | jail_x |
341 | jail_x |
327 | jail_y |
342 | jail_y |
328 | portal_map |
343 | portal_map |
329 | portal_x |
|
|
330 | portal_y |
|
|
331 | fallback |
344 | fallback |
332 | nomore |
345 | nomore |
333 | |
346 | |
334 | chance |
347 | chance |
335 | mods |
348 | mods |
… | |
… | |
365 | change_name |
378 | change_name |
366 | change_title |
379 | change_title |
367 | change_slaying |
380 | change_slaying |
368 | yes |
381 | yes |
369 | no |
382 | no |
|
|
383 | |
|
|
384 | max_level |
|
|
385 | |
|
|
386 | authour |
|
|
387 | size |
|
|
388 | index |
370 | ); |
389 | ); |
371 | |
390 | |
372 | open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h" |
391 | open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h" |
373 | or die "$ARGV{GPERF}: $!"; |
392 | or die "$ARGV{GPERF}: $!"; |
374 | |
393 | |