Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 23d6d6a5dee1b3891a423795f4b554c6 > files > 88

crossfire-1.0.0-3mdk.ppc.rpm


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 ~ /max_carry\[/) {
			get_values(buff);
		        for(i=1;i<=30;i++) carry[i]=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],carry[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];
        }
}