Hi all, I'm having a bit of trouble trying to get this file to compile. In class.c I've added several new classes and I get the following error when I make: class.c: In function `invalid class`: class.c:2043: parse error before `==` class.c:2043: parse error before `)` class.c:2053: warning: control reaches end of non-void function I've included the stat abils due to the `==` being in those, and no where near `invalid_class`. /* * Roll the 6 stats for a character... each stat is made of the sum of * the best 3 out of 4 rolls of a 6-sided die. Each class then decides * which priority will be given for the best to worst stats. */ void roll_real_abils(struct char_data * ch) { int i, j, k, temp; ubyte table[6]; ubyte rolls[4]; for (i = 0; i < 6; i++) table[i] = 0; for (i = 0; i < 6; i++) { for (j = 0; j < 4; j++) rolls[j] = number(1, 6); temp = rolls[0] + rolls[1] + rolls[2] + rolls[3] - MIN(rolls[0], MIN(rolls[1], MIN(rolls[2], rolls[3]))); for (k = 0; k < 6; k++) if (table[k] < temp) { temp ^= table[k]; table[k] ^= temp; temp ^= table[k]; } } ch->real_abils.str_add = 0; switch (GET_CLASS(ch)) { case CLASS_MAGIC_USER: case CLASS_RENEGADE: case CLASS_WHITE_ROBE_WIZARD: case CLASS_RED_ROBE_WIZARD: case CLASS_BLACK_ROBE_WIZARD: ch->real_abils.intel = table[0]; ch->real_abils.wis = table[1]; ch->real_abils.dex = table[2]; ch->real_abils.str = table[3]; ch->real_abils.con = table[4]; ch->real_abils.cha = table[5]; break; case CLASS_CLERIC: ch->real_abils.wis = table[0]; ch->real_abils.intel = table[1]; ch->real_abils.str = table[2]; ch->real_abils.dex = table[3]; ch->real_abils.con = table[4]; ch->real_abils.cha = table[5]; break; case CLASS_DRUID: ch->real_abils.wis = table[0]; ch->real_abils.intel = table[1]; ch->real_abils.cha = table[2]; ch->real_abils.str = table[3]; ch->real_abils.dex = table[4]; ch->real_abils.con = table[5]; break; case CLASS_THIEF: ch->real_abils.dex = table[0]; ch->real_abils.str = table[1]; ch->real_abils.con = table[2]; ch->real_abils.intel = table[3]; ch->real_abils.wis = table[4]; ch->real_abils.cha = table[5]; break; case CLASS_BARD: ch->real_abils.dex = table[0]; ch->real_abils.intel = table[1]; ch->real_abils.cha = table[2]; ch->real_abils.wis = table[3]; ch->real_abils.con = table[4]; ch->real_abils.str = table[5]; break; case CLASS_WARRIOR: ch->real_abils.str = table[0]; ch->real_abils.dex = table[1]; ch->real_abils.con = table[2]; ch->real_abils.wis = table[3]; ch->real_abils.intel = table[4]; ch->real_abils.cha = table[5]; if (ch->real_abils.str == 18) ch->real_abils.str_add = number(0, 100); break; case CLASS_BARBARIAN: ch->real_abils.con = table[0]; ch->real_abils.str = table[1]; ch->real_abils.dex = table[2]; ch->real_abils.wis = table[3]; ch->real_abils.intel = table[4]; ch->real_abils.cha = table[5]; if (ch->real_abils.str == 18) ch->real_abils.str_add = number(0, 100); break; case CLASS_KNIGHT: ch->real_abils.str = table[0]; ch->real_abils.wis = table[1]; ch->real_abils.con = table[2]; ch->real_abils.dex = table[3]; ch->real_abils.intel = table[4]; ch->real_abils.cha = table[5]; if (ch->real_abils.str == 18) ch->real_abils.str_add = number(0, 100); break; case CLASS_PALADIN: ch->real_abils.cha = table[0]; ch->real_abils.wis = table[1]; ch->real_abils.con = table[2]; ch->real_abils.str = table[3]; ch->real_abils.intel = table[4]; ch->real_abils.dex = table[5]; if (ch->real_abils.str == 18) ch->real_abils.str_add = number(0, 100); break; case CLASS_RANGER: ch->real_abils.str = table[0]; ch->real_abils.wis = table[1]; ch->real_abils.con = table[2]; ch->real_abils.dex = table[3]; ch->real_abils.intel = table[4]; ch->real_abils.cha = table[5]; if (ch->real_abils.str == 18) ch->real_abils.str_add = number(0, 100); break; } ch->aff_abils = ch->real_abils; } /* * invalid_class is used by handler.c to determine if a piece of equipment is * usable by a particular class, based on the ITEM_ANTI_{class} bitvectors. */ int invalid_class(struct char_data *ch, struct obj_data *obj) { if ((IS_OBJ_STAT(obj, ITEM_ANTI_MAGIC_USER) && IS_MAGIC_USER(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_RENEGADE) && IS_RENEGADE(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_WHITE_ROBE_WIZARD) && IS_WHITE_ROBE_WIZARD(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_RED_ROBE_WIZARD) && IS_RED_ROBE_WIZARD(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_BLACK_ROBE_WIZARD) && IS_BLACK_ROBE_WIZARD(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_CLERIC) && IS_CLERIC(ch)) || /* 2043 */ (IS_OBJ_STAT(obj, ITEM_ANTI_DRUID) && IS_DRUID(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_WARRIOR) && IS_WARRIOR(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_BARBARIAN) && IS_BARBARIAN(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_KNIGHT) && IS_KNIGHT(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_PALADIN) && IS_PALADIN(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_THIEF) && IS_THIEF(ch)) || (IS_OBJ_STAT(obj, ITEM_ANTI_BARD) && IS_BARD(ch))) return 1; else return 0; } Any help on this will be appreciated....I've been looking so much my eyes are starting to bug out. Matt +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT