Annotation of early-roguelike/srogue/rgdata.c, Revision 1.1
1.1 ! rubenllo 1: /*
! 2: * Super-Rogue
! 3: * Copyright (C) 1984 Robert D. Kindelberger
! 4: * All rights reserved.
! 5: *
! 6: * See the file LICENSE.TXT for full copyright and licensing information.
! 7: */
! 8:
! 9: #include "global.c"
! 10:
! 11: main(argc,argv)
! 12: char **argv;
! 13: int argc;
! 14: {
! 15: char *ptr;
! 16: int i, j, k;
! 17: struct magic_item *mi;
! 18: struct init_weps *wp;
! 19: struct init_armor *ar;
! 20: struct monster *mo;
! 21: FILE *fo;
! 22:
! 23: /*
! 24: * write to desired output file
! 25: */
! 26: if (argc > 1) {
! 27: fo = fopen(argv[1], "w");
! 28: if (fo == NULL) {
! 29: printf("%s: %s not writable\n",argv[0],argv[1]);
! 30: exit(1);
! 31: }
! 32: }
! 33: else
! 34: fo = stdout;
! 35:
! 36: /*
! 37: * print total chances for armor, weapons, food, scrolls, etc
! 38: */
! 39: fprintf(fo,"\n\n\n\n\n\n");
! 40: fprintf(fo,"\t ITEM GENERAL INFO\n\n\n");
! 41: fprintf(fo,"NAME\t\tCHANCE\t\tWEIGHT\n\n");
! 42: for (mi = &things[0]; mi < &things[NUMTHINGS]; mi++) {
! 43: fprintf(fo,"%s\t\t",mi->mi_name);
! 44: i = mi->mi_prob / 10;
! 45: j = mi->mi_prob % 10;
! 46: fprintf(fo,"%2d.%1d %%\t\t",i,j);
! 47: i = mi->mi_wght / 10;
! 48: j = mi->mi_wght % 10;
! 49: if (i == 0 && j == 0)
! 50: fprintf(fo,"%3s\n","*");
! 51: else
! 52: fprintf(fo,"%3d.%1d lbs\n",i,j);
! 53: }
! 54: fprintf(fo,"\n\n\n\n\n\n\nNOTES - * means that weight depends on which one of that item type\n");
! 55: fprintf(fo," - All items weigh 20%% more when cursed\n");
! 56:
! 57: /*
! 58: * print stuff about potions
! 59: */
! 60: fprintf(fo,"\n\n\n\n\n\n");
! 61: fprintf(fo,"\t\t POTION INFO\n\n\n");
! 62: fprintf(fo,"NAME\t\t\t\tCHANCE\t\tWORTH\n\n");
! 63: for (mi = &p_magic[0]; mi < &p_magic[MAXPOTIONS]; mi++) {
! 64: fprintf(fo,"%s\t",mi->mi_name);
! 65: k = strlen(mi->mi_name);
! 66: if (k < 8)
! 67: ptr = "\t\t\t";
! 68: else if (k >= 16)
! 69: ptr = "\t";
! 70: else
! 71: ptr = "\t\t";
! 72: fprintf(fo,"%s", ptr);
! 73: i = mi->mi_prob / 10;
! 74: j = mi->mi_prob % 10;
! 75: fprintf(fo,"%2d.%1d %%\t\t",i,j);
! 76: fprintf(fo,"%3d\n",mi->mi_worth);
! 77: }
! 78: fprintf(fo,"\n\n\n\n\nNOTE - All potions weigh 0.5 lbs\n");
! 79:
! 80:
! 81: /*
! 82: * print stuff about scrolls
! 83: */
! 84: fprintf(fo,"\n\n\n\n\n\n");
! 85: fprintf(fo,"\t\t SCROLL INFO\n\n\n");
! 86: fprintf(fo,"NAME\t\t\t\tCHANCE\t\tWORTH\n\n");
! 87: for (mi = &s_magic[0]; mi < &s_magic[MAXSCROLLS]; mi++) {
! 88: fprintf(fo,"%s\t",mi->mi_name);
! 89: k = strlen(mi->mi_name);
! 90: if (k < 8)
! 91: ptr = "\t\t\t";
! 92: else if (k >= 16)
! 93: ptr = "\t";
! 94: else
! 95: ptr = "\t\t";
! 96: fprintf(fo,"%s", ptr);
! 97: i = mi->mi_prob / 10;
! 98: j = mi->mi_prob % 10;
! 99: fprintf(fo,"%2d.%1d %%\t\t",i,j);
! 100: fprintf(fo,"%3d\n",mi->mi_worth);
! 101: }
! 102: fprintf(fo,"\n\n\n\n\nNOTE - All scrolls weigh 3.0 lbs\n");
! 103:
! 104:
! 105: /*
! 106: * print stuff about rings
! 107: */
! 108: fprintf(fo,"\n\n\n\n\n\n");
! 109: fprintf(fo,"\t\t RING INFO\n\n\n");
! 110: fprintf(fo,"NAME\t\t\t\tCHANCE\t\tWORTH\n\n");
! 111: for (mi = &r_magic[0]; mi < &r_magic[MAXRINGS]; mi++) {
! 112: fprintf(fo,"%s\t",mi->mi_name);
! 113: k = strlen(mi->mi_name);
! 114: if (k < 8)
! 115: ptr = "\t\t\t";
! 116: else if (k >= 16)
! 117: ptr = "\t";
! 118: else
! 119: ptr = "\t\t";
! 120: fprintf(fo,"%s", ptr);
! 121: i = mi->mi_prob / 10;
! 122: j = mi->mi_prob % 10;
! 123: fprintf(fo,"%2d.%1d %%\t\t",i,j);
! 124: fprintf(fo,"%3d\n",mi->mi_worth);
! 125: }
! 126: fprintf(fo,"\n\n\n\n\nNOTE - All rings weigh 0.5 lbs\n");
! 127:
! 128:
! 129: /*
! 130: * print stuff about sticks
! 131: */
! 132: fprintf(fo,"\n\n\n\n\n\n");
! 133: fprintf(fo,"\t\t STAFF/WAND INFO\n\n\n");
! 134: fprintf(fo,"NAME\t\t\t\tCHANCE\t\tWORTH\n\n");
! 135: for (mi = &ws_magic[0]; mi < &ws_magic[MAXSTICKS]; mi++) {
! 136: fprintf(fo,"%s\t",mi->mi_name);
! 137: k = strlen(mi->mi_name);
! 138: if (k < 8)
! 139: ptr = "\t\t\t";
! 140: else if (k >= 16)
! 141: ptr = "\t";
! 142: else
! 143: ptr = "\t\t";
! 144: fprintf(fo,"%s", ptr);
! 145: i = mi->mi_prob / 10;
! 146: j = mi->mi_prob % 10;
! 147: fprintf(fo,"%2d.%1d %%\t\t",i,j);
! 148: fprintf(fo,"%3d\n",mi->mi_worth);
! 149: }
! 150: fprintf(fo,"\n\n\n\n\nNOTES - All wands weigh 6.0 lbs\n");
! 151: fprintf(fo," - All staffs weigh 10.0 lbs\n");
! 152: fprintf(fo," - Wands contain from 4 to 8 charges\n");
! 153: fprintf(fo," - Staffs contain from 5 to 12 charges\n");
! 154: fprintf(fo," - Sticks of light have an additional 7 to 15 charges\n");
! 155:
! 156:
! 157: /*
! 158: * print armor info
! 159: */
! 160: fprintf(fo,"\n\n\n\n\n\n");
! 161: fprintf(fo,"\t\t\t\tARMOR INFO\n\n\n");
! 162: fprintf(fo,"NAME\t\t\t\tAC\tCHANCE\t\tWORTH\t\tWEIGHT\n\n");
! 163: for (ar = &armors[0]; ar < &armors[MAXARMORS]; ar++) {
! 164: fprintf(fo,"%s\t",ar->a_name);
! 165: k = strlen(ar->a_name);
! 166: if (k < 8)
! 167: ptr = "\t\t\t";
! 168: else if (k >= 16)
! 169: ptr = "\t";
! 170: else
! 171: ptr = "\t\t";
! 172: fprintf(fo,"%s", ptr);
! 173: fprintf(fo,"%2d\t",ar->a_class);
! 174: fprintf(fo,"%2d %%\t\t",ar->a_prob);
! 175: fprintf(fo,"%3d\t\t",ar->a_worth);
! 176: fprintf(fo,"%2d lbs\n",ar->a_wght / 10);
! 177: }
! 178: fprintf(fo,"\n\n\n\n\nNOTE - All armor becomes 50%% lighter when blessed\n");
! 179:
! 180:
! 181: /*
! 182: * print stuff about weapons
! 183: */
! 184: fprintf(fo,"\n\n\n\n\n\n");
! 185: fprintf(fo,"\t\t\t\t\tWEAPON INFO\n\n\n");
! 186: fprintf(fo,
! 187: "NAME\t\t\tHIT DAMAGE\tHURL DAMAGE\tWORTH\t\tWEIGHT\n\n");
! 188: for (wp = &weaps[0]; wp < &weaps[MAXWEAPONS]; wp++) {
! 189: fprintf(fo,"%s\t",wp->w_name);
! 190: k = strlen(wp->w_name);
! 191: if (k < 8)
! 192: ptr = "\t\t";
! 193: else if (k >= 16)
! 194: ptr = "";
! 195: else
! 196: ptr = "\t";
! 197: fprintf(fo,"%s", ptr);
! 198: ptr = wp->w_dam;
! 199: i = *ptr - '0';
! 200: j = 0;
! 201: ptr += 2;
! 202: while (*ptr != NULL) {
! 203: j = j * 10 + (*ptr - '0');
! 204: ++ptr;
! 205: }
! 206: j *= i;
! 207: fprintf(fo," %d to %d\t",i,j);
! 208: ptr = wp->w_hrl;
! 209: i = *ptr - '0';
! 210: j = 0;
! 211: ptr += 2;
! 212: while (*ptr != NULL) {
! 213: j = j * 10 + (*ptr - '0');
! 214: ++ptr;
! 215: }
! 216: j *= i;
! 217: fprintf(fo," %d to %d\t",i,j);
! 218: fprintf(fo,"%4d\t\t",wp->w_worth);
! 219: i = wp->w_wght / 10;
! 220: j = wp->w_wght % 10;
! 221: fprintf(fo,"%2d.%1d lbs\n",i,j);
! 222: }
! 223: fprintf(fo,"\n\n\n\n\nNOTE - All weapons become 50%% lighter when blessed\n");
! 224:
! 225:
! 226: /*
! 227: * print stuff about the monsters
! 228: */
! 229: }
CVSweb