ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/arch/dev/scripts/update_monster.pl
Revision: 1.1
Committed: Mon Feb 6 20:26:11 2006 UTC (18 years, 5 months ago) by root
Content type: text/plain
Branch point for: UPSTREAM, MAIN
Log Message:
Initial revision

File Contents

# Content
1 #!/usr/bin/perl
2
3 for ($i=0; $i<=$#ARGV; $i++) {
4 if (!rename("$ARGV[$i]", "$ARGV[$i].bak")) {
5 print STDERR "Unable to rename file $ARGV[$i]\n";
6 next;
7 }
8 print "Processing $ARGV[$i]\n";
9 open(IN,"<$ARGV[$i].bak");
10 open(OUT,">$ARGV[$i]");
11 while (<IN>) {
12 $in = $_;
13 if (/^end\s*$/) {
14 print OUT "$body_info" if ($body_info ne "");
15 print OUT "$weapon_info" if ($weapon_info ne "");
16 print OUT "$wand" if ($wand ne "");
17 $body_info="";
18 $weapon_info="";
19 $wand="";
20 }
21 if (/^Object (.*)$/) {
22 $body_info="";
23 $weapon_info="";
24 $wand="";
25 }
26 elsif (/^can_use_shield\s+1/) {
27 $weapon_info="body_arm 2\n";
28 }
29 elsif (/^can_use_bow\s+1/) {
30 $weapon_info="body_arm 2\n";
31 }
32 elsif (/^can_use_weapon\s+1/) {
33 $weapon_info="body_arm 2\n";
34 }
35 elsif (/^can_use_wand\s+1/) {
36 $wand="body_range 1\n";
37 }
38 elsif (/^can_use_rod\s+1/) {
39 $wand="body_range 1\n";
40 }
41 elsif (/^can_use_horn\s+1/) {
42 $wand="body_range 1\n";
43 }
44 elsif (/^can_use_armour\s+1/) {
45 $body_info .= "body_torso 1\nbody_head 1\nbody_shoulder 1\nbody_foot 2\nbody_wrist 2\nbody_hand 2\nbody_waist 1\n";
46 }
47 elsif (/^can_use_ring\s+1/) {
48 $body_info .="body_finger 2\n";
49 }
50 elsif (/^can_use_skill\s+1/) {
51 $body_info .="body_skill 1\n";
52 }
53
54 print OUT $in;
55 }
56 close(OUT);
57 close(IN);
58 unlink("$ARGV[$i].bak");
59 }