server-1.12/doc/playbook/bonus-extract

65 lines
2.1 KiB
Plaintext

BEGIN {
# Read the array data from living.c
while ((getline buff < living_c) == 1) {
if (buff ~ /con_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) con[i]=array[i];
}
if (buff ~ /sp_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) sp[i]=array[i];
}
if (buff ~ /dex_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) ac[i]=-1*array[i];
}
if (buff ~ /dam_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) dam[i]=array[i];
}
if (buff ~ /float cha_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) {
diff = (array[i] - 1)/(array[i] + 1);
buy[i] = diff + 1;
sell[i] = 1 - diff;
}
}
if (buff ~ /speed_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) speed[i]= 1 + array[i];
}
if (buff ~ /thaco_bonus\[/) {
get_values(buff);
for(i=1;i<=30;i++) thaco[i]=array[i];
}
if (buff ~ /learn_spell\[/) {
get_values(buff);
for(i=1;i<=30;i++) learn[i]=array[i];
break;
}
}
# print it out
for(i=1; i<=30 ; i++) {
printf("%d & %s & %s & %s & %s & %s & %s & %s & %s & %6.3f/%6.3f \\\\ \n",i,
con[i],sp[i],ac[i],dam[i],thaco[i],"",speed[i],learn[i],buy[i],sell[i]);
}
close(living_c);
}
function get_values (buff) {
tind = 0;
while (1) {
getline buff < living_c;
# if(lev==1) getline buff < living_c;
if (buff ~ /};/)
break;
gsub("[ \t]*\"", "", buff);
nr = split(buff, val, ",");
for (i = 1; i<=nr ; i++)
if(val[i]!="") array[tind++]=val[i];
}
}