I patched in DK's apr for second and third attack skills, and I'm having problems compiling. The error is really quit simple, I just don't actually know what it is or how I'm to fix it. I included the patch as an attachment so you all can see what I've done the stock Circle 3.0 code. Here's the error I get: fight.c: In function `perform_violence': fight.c:908: `apr' undeclared (first use this function) That's it. Obviously, It didn't like how apr is set up. But I don't know enuf yet to figure out where and what I am supposed to change/add. Any body able to point me in the right direction here? TIA Salvatore diff -c stock_src/class.c src/class.c *** stock_src/class.c Mon Dec 16 11:51:26 1996 --- src/class.c Mon Dec 16 12:08:12 1996 *************** *** 507,512 **** --- 507,513 ---- spell_level(SPELL_HARM, CLASS_CLERIC, 19); spell_level(SPELL_GROUP_HEAL, CLASS_CLERIC, 22); spell_level(SPELL_REMOVE_CURSE, CLASS_CLERIC, 26); + spell_level(SKILL_SECOND_ATTACK, CLASS_CLERIC, 28); /* THIEVES */ *************** *** 516,528 **** --- 517,533 ---- spell_level(SKILL_STEAL, CLASS_THIEF, 4); spell_level(SKILL_HIDE, CLASS_THIEF, 5); spell_level(SKILL_TRACK, CLASS_THIEF, 6); + spell_level(SKILL_SECOND_ATTACK, CLASS_THIEF, 8); + spell_level(SKILL_THIRD_ATTACK, CLASS_THIEF, 22); /* WARRIORS */ spell_level(SKILL_KICK, CLASS_WARRIOR, 1); spell_level(SKILL_RESCUE, CLASS_WARRIOR, 3); spell_level(SKILL_TRACK, CLASS_WARRIOR, 9); + spell_level(SKILL_SECOND_ATTACK, CLASS_WARRIOR, 10); spell_level(SKILL_BASH, CLASS_WARRIOR, 12); + spell_level(SKILL_THIRD_ATTACK, CLASS_WARRIOR, 16); } diff -c stock_src/fight.c src/fight.c *** stock_src/fight.c Mon Dec 16 11:51:26 1996 --- src/fight.c Mon Dec 16 12:20:04 1996 *************** *** 850,858 **** --- 850,860 ---- { struct char_data *ch; extern struct index_data *mob_index; + int apr; for (ch = combat_list; ch; ch = next_combat_list) { next_combat_list = ch->next_fighting; + apr = 0; if (FIGHTING(ch) == NULL || ch->in_room != FIGHTING(ch)->in_room) { stop_fighting(ch); *************** *** 876,883 **** continue; } ! hit(ch, FIGHTING(ch), TYPE_UNDEFINED); ! if (MOB_FLAGGED(ch, MOB_SPEC) && mob_index[GET_MOB_RNUM(ch)].func != NULL) ! (mob_index[GET_MOB_RNUM(ch)].func) (ch, ch, 0, ""); } } --- 878,914 ---- continue; } ! if (GET_SKILL(ch, SKILL_SECOND_ATTACK) >= number(1, 101)) { ! if (GET_SKILL(ch, SKILL_THIRD_ATTACK) >= number(1, 201)) apr++; ! apr++; ! } ! ! // increment apr by one for every attack they are supposed to get, ! // for the multiple attack skills, you should make sure they only ! // get a subsequent attack if they properly got the previous one. ! // For instance, you only get third attack if you are getting a ! // second attack. This doesn't need to be skill based, you can ! // easily make it based upon class/level... see the second example ! // below. ! // ! // if (AFF_FLAGGED(ch, AFF_HASTE)) ! // apr += number(0, 2); ! // ! // if (GET_CLASS(ch) == CLASS_WARRIOR && GET_LEVEL(ch) >= 10) ! // apr++; ! // ! // If apr is negative they get no attacks, if apr is 0 they get ! // one attack. APR has a range of -1 to 4, giving a minimum of ! // no attacks, to a maximum of 4. See the below line for changing ! // that (eg., MAX(-1, MIN(apr, 6)) means a max of 6). ! ! apr = MAX(-1, MIN(apr, 4)); ! ! if (apr >= 0) { ! for (; apr >= 0 && FIGHTING(ch); apr--) ! hit(ch, FIGHTING(ch), TYPE_UNDEFINED); ! if (MOB_FLAGGED(ch, MOB_SPEC) && mob_index[GET_MOB_RNUM(ch)].func != NULL) ! (mob_index[GET_MOB_RNUM(ch)].func) (ch, ch, 0, ""); ! } } } diff -c stock_src/spell_parser.c src/spell_parser.c *** stock_src/spell_parser.c Mon Dec 16 11:51:26 1996 --- src/spell_parser.c Mon Dec 16 12:06:45 1996 *************** *** 127,133 **** "sneak", "steal", "track", /* 140 */ ! "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 145 */ "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 150 */ "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 155 */ "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 160 */ --- 127,135 ---- "sneak", "steal", "track", /* 140 */ ! "second attack", ! "third attack", ! "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 145 */ "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 150 */ "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 155 */ "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", "!UNUSED!", /* 160 */ *************** *** 1022,1026 **** --- 1024,1030 ---- skillo(SKILL_SNEAK); skillo(SKILL_STEAL); skillo(SKILL_TRACK); + skillo(SKILL_SECOND_ATTACK); + skillo(SKILL_THIRD_ATTACK); } diff -c stock_src/spells.h src/spells.h *** stock_src/spells.h Mon Dec 16 11:51:26 1996 --- src/spells.h Mon Dec 16 11:53:50 1996 *************** *** 101,106 **** --- 101,108 ---- #define SKILL_SNEAK 138 /* Reserved Skill[] DO NOT CHANGE */ #define SKILL_STEAL 139 /* Reserved Skill[] DO NOT CHANGE */ #define SKILL_TRACK 140 /* Reserved Skill[] DO NOT CHANGE */ + #define SKILL_SECOND_ATTACK 141 // Second attack (DAK) + #define SKILL_THIRD_ATTACK 142 // Third attack (DAK) /* New skills may be added here up to MAX_SKILLS (200) */ +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST