Here's a snippet of code for those of you that want to add the menu options to edit a mob's stats in medit. This will not affect your .mob files in any way. This part of the code was just not produced. Adding stats (physical/mental ability scores) to Oasis OLC's medit: olc.h (with other MEDIT_x stuff): #define MEDIT_ABIL_STR 35 #define MEDIT_ABIL_ADD 36 #define MEDIT_ABIL_INT 37 #define MEDIT_ABIL_WIS 38 #define MEDIT_ABIL_DEX 39 #define MEDIT_ABIL_CON 40 #define MEDIT_ABIL_CHR 41 medit.c (medit_disp_menu): After your last menu item, but before Quit: "%sS%s) Stats : Str/Add Int Wis Dex Con Chr\r\n" " %s%3d%s/%s%3d %3d %3d %3d %3d %3d%s\r\n" ...and appropriately with the other args: grn, nrm, cyn, GET_STR(mob), nrm, cyn, GET_ADD(mob), GET_INT(mob), GET_WIS(mob), GET_DEX(mob), GET_CON(mob), GET_CHA(mob), nrm, medit.c (medit_parse): Right before default of the second switch: case 's': case 'S': OLC_MODE(d) = MEDIT_ABIL_STR; send_to_char("\r\nEnter Strength (not %) : ", d->character); return; After case MEDIT_ALIGNMENT's break: case MEDIT_ABIL_STR: i = atoi(arg); GET_STR(OLC_MOB(d)) = MAX(3, MIN(25, i ? i : 11)); send_to_char("\r\nEnter Percentile for Strength : ", d->character); OLC_MODE(d) = MEDIT_ABIL_ADD; return; case MEDIT_ABIL_ADD: GET_ADD(OLC_MOB(d)) = (GET_STR(OLC_MOB(d)) == 18) ? MAX(0, MIN(100, atoi(arg ))) : 0; send_to_char("\r\nEnter Intelligence : ", d->character); OLC_MODE(d) = MEDIT_ABIL_INT; return; case MEDIT_ABIL_INT: i = atoi(arg); GET_INT(OLC_MOB(d)) = MAX(3, MIN(25, i ? i : 11)); send_to_char("\r\nEnter Wisdom : ", d->character); OLC_MODE(d) = MEDIT_ABIL_WIS; return; case MEDIT_ABIL_WIS: i = atoi(arg); GET_WIS(OLC_MOB(d)) = MAX(3, MIN(25, i ? i : 11)); send_to_char("\r\nEnter Dexterity : ", d->character); OLC_MODE(d) = MEDIT_ABIL_DEX; return; case MEDIT_ABIL_DEX: i = atoi(arg); GET_DEX(OLC_MOB(d)) = MAX(3, MIN(25, i ? i : 11)); send_to_char("\r\nEnter Constitution : ", d->character); OLC_MODE(d) = MEDIT_ABIL_CON; return; case MEDIT_ABIL_CON: i = atoi(arg); GET_CON(OLC_MOB(d)) = MAX(3, MIN(25, i ? i : 11)); send_to_char("\r\nEnter Charisma : ", d->character); OLC_MODE(d) = MEDIT_ABIL_CHR; return; case MEDIT_ABIL_CHR: i = atoi(arg); GET_CHA(OLC_MOB(d)) = MAX(3, MIN(25, i ? i : 11)); break; If you enter a zero at these prompts, the stat will be set to 11 to save disk space (since 11 is default). The exception is StrAdd of course, which can go from 0 to 100, but I restricted it just to the 18 strength (out of the book). Rick +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST