ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/doc/playbook-html/gods-extract
Revision: 1.2
Committed: Thu Sep 7 21:43:23 2006 UTC (17 years, 8 months ago) by pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
State: FILE REMOVED
Log Message:
Moved documents to doc/historic

File Contents

# Content
1
2 # parse the crossfire -m8 output
3
4 BEGIN {
5 crosscmd = crosscmd " 2>&1";
6 god = 0;
7 while (crosscmd | getline buff == 1) {
8 if(buff ~ /GOD/) { god++; gift[god] =0; name[god] = get_entry(buff,2," "); }
9 if(!god) continue;
10 if(buff ~ /enemy:/) enemy[god] = get_entry(buff,2," ");
11 if(buff ~ /aligned/) aligned[god] = get_entry(buff,2," ");
12 if(buff ~ /enemy_race/) erace[god] = get_entry(buff,2," ");
13 if(buff ~ /servant/) servant[god] = get_entry(get_entry(get_entry(buff,2,": "),1,")"),2"(");
14 if(buff ~ /Attacks:/) atype[god] = get_entry(get_entry(buff,2,": "),1,")");
15 if(buff ~ /Immune:/) immune[god] = get_entry(get_entry(buff,2,": "),1,")");
16 if(buff ~ /Prot:/) prot[god] = get_entry(get_entry(buff,2,": "),1,")");
17 if(buff ~ /Vuln:/) vuln[god] = get_entry(get_entry(buff,2,": "),1,")");
18 if(buff ~ /Attuned:/) attuned[god] = get_entry(get_entry(buff,2,": "),1,")");
19 if(buff ~ /Repelled:/) repelled[god] = get_entry(get_entry(buff,2,": "),1,")");
20 if(buff ~ /Denied:/) denied[god] = get_entry(get_entry(buff,2,": "),1,")");
21 if(buff ~ /Desc:/) desc[god] = get_entry(get_entry(buff,2,": "),1,",");
22 if(buff ~ /Priest/ || gift[god]) {
23 if(!buff) continue;
24 special[god,gift[god]++] = buff;
25 }
26 # printf(" %s \n", buff);
27 }
28 close(crosscmd);
29 for(i=1;i<=god;i++) {
30 printf("<table border=1 cellpadding=3 width=100%%><tr><th width=20%%>%s</th><td>%s</td></tr>\n", name[i], capitalize(desc[i]));
31 if(enemy[i]) printf("<tr><td>Enemy cult:</td><td>%s</td></tr>\n", enemy[i]);
32 # if(servant[i]) printf("<tr><td>Servant:</td><td>%s</td></tr>\n ", servant[i]);
33 if(aligned[i]) prt_var("<tr><td>Aligned race(s):",aligned[i],",",3);
34 if(erace[i]) prt_var("<tr><td>Enemy race(s): ",erace[i],",",3);
35 if(atype[i]) prt_var("<tr><td>Attacktype(s): ",atype[i],",",3);
36 if(immune[i]) prt_var("<tr><td>Immunity: ",immune[i],",",3);
37 if(prot[i]) prt_var("<tr><td>Protected: ",prot[i],",",3);
38 if(vuln[i]) prt_var("<tr><td>Vulnerable: ",vuln[i],",",3);
39 if(attuned[i]) prt_var("<tr><td>Attuned: ",attuned[i],",",3);
40 if(repelled[i]) prt_var("<tr><td>Repelled: ",repelled[i],",",3);
41 if(denied[i]) prt_var("<tr><td>Denied: ",denied[i],",",3);
42 for(j=1;j<gift[i];j++) {
43 if(j==1) printf("<tr><td>Added gifts/limits:</td><td> ");
44 if (j!=1) print(", ");
45 printf("%s",special[i,j]);
46 }
47 if (gift[i]!=0) print("</td></tr>\n");
48 print("</table><p>");
49 }
50 }
51
52 function prt_var (hstr,vstr,sep,len) {
53 printf("%s </td><td> ",hstr); prtlong(vstr,sep,len);
54 }
55
56
57 function get_entry (str,start,sep) {
58 nr = split(str, var, sep);
59 for(k=start;k<=nr;k++) {
60 if(var[k]==" ") continue;
61 break;
62 }
63 while(var[k] ~ /_/ ) { sub("_", " ", var[k]); }
64 return var[k];
65 }
66
67 function prtlong (str,sep,max) {
68 nr = split(str, var, sep);
69 printf("\n");
70 for(l=1;l<=nr;l++) {
71 if(var[l] == "(null)") var[l] = "None";
72 if(l==nr) printf("%s </td></tr>\n",capitalize(var[l]));
73 else printf("%s,",capitalize(var[l]));
74 }
75 }
76
77 function capitalize(str) {
78 return toupper(substr(str, 1, 1)) substr(str, 2);
79 }
80