I've been dabbling with the circle30bpl16-dg7a-oasis2.0 archive from the ftp site and I have come up with the following crash... Whenever a mortal character "kills" another mob, the mud crashes. I have narrowed down the error (as best I think I know how to) to fight.c in the raw_kill or die methods. void die(struct char_data * ch, struct char_data * killer) { gain_exp(ch, -(GET_EXP(ch) / 2)); if (!IS_NPC(ch)) { REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_KILLER); REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_THIEF); } raw_kill(ch, killer); <------- } If I remove or modify the line above I get no crash but no corpse and objects left behind. void raw_kill(struct char_data * ch, struct char_data * killer) { if (FIGHTING(ch)) stop_fighting(ch); while (ch->affected) affect_remove(ch, ch->affected); if (killer) { if (death_mtrigger(ch, killer)) death_cry(ch); } else death_cry(ch); make_corpse(ch); <-------- extract_char(ch); <-------- } If I comment out either of these two lines I don't get a crash but a whole slew of attempt to damage a corpse messages. Has anyone else run into this problem? It has been driving me crazy. +------------------------------------------------------------+ | 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/10/01 PDT