Enhanced DO_CONSIDER Beta1 Here is an updated version of the consider command. It will compare your stats, both default and eq based and give you a much more accurate view of your chances in battle. -----------------------------[ Step One ]----------------------------- /* Replace your old do_consider in act.informative.c with this */ /* enhanced do_consider beta1 */ ACMD(do_consider) { struct char_data *victim; int diff; one_argument(argument, buf); if (!*buf) { send_to_char("Consider killing who?\r\n", ch); return; } if (!(victim = get_char_vis(ch, buf, FIND_CHAR_ROOM))) { send_to_char("Consider killing who?\r\n", ch); return; } if (victim == ch) { send_to_char("Easy! Very easy indeed!\r\n", ch); return; } if (GET_LEVEL(victim) >= LVL_IMMORT && !IS_NPC(victim)) { send_to_char("Would you like to borrow a cross and a shovel?\r\n", ch); return; } diff = (GET_LEVEL(victim) - GET_LEVEL(ch)); *buf = '\0'; strcat(buf, "\r\n"); strcat(buf, " You Enemy\r\n"); if (diff <= -10) sprintf(buf + strlen(buf), "Experience: &n%5d&n &GWaste of effort&n\r\n", GET_LEVEL(ch)); else if (diff <= -5) sprintf(buf + strlen(buf), "Experience: &n%5d&n &GWay Too Easy!&n\r\n", GET_LEVEL(ch)); else if (diff <= -2) sprintf(buf + strlen(buf), "Experience: &n%5d&n &gPiece of Cake!&n\r\n", GET_LEVEL(ch)); else if (diff <= -1) sprintf(buf + strlen(buf), "Experience: &n%5d&n &gFairly Easy&n\r\n", GET_LEVEL(ch)); else if (diff == 0) sprintf(buf + strlen(buf), "Experience: &n%5d&n &wA Perfect Match!&n\r\n", GET_LEVEL(ch)); else if (diff <= 1) sprintf(buf + strlen(buf), "Experience: &n%5d&n &WYou would need some luck!&n\r\n", GET_LEVEL(ch)); else if (diff <= 2) sprintf(buf + strlen(buf), "Experience: &n%5d&n &WYou would need a lot of luck!&n\r\n", GET_LEVEL(ch)); else if (diff <= 3) sprintf(buf + strlen(buf), "Experience: &n%5d&n &rYou would need a lot of luck and some great spells!&n\r\n", GET_LEVEL(ch)); else if (diff <= 5) sprintf(buf + strlen(buf), "Experience: &n%5d&n &rDo you feel lucky, punk?&n\r\n", GET_LEVEL(ch)); else if (diff <= 10) sprintf(buf + strlen(buf), "Experience: &n%5d&n &rAre you mad!?&n\r\n", GET_LEVEL(ch)); else if (diff <= 100) sprintf(buf + strlen(buf), "Experience: &n%5d&n &RYou ARE mad!&n\r\n", GET_LEVEL(ch)); else if (diff >= 100) sprintf(buf + strlen(buf), "Experience: &n%5d&n &RYou ARE mad!&n\r\n", GET_LEVEL(ch)); send_to_char(buf, ch); *buf = '\0'; diff = (GET_HIT(victim) - GET_HIT(ch)); if (diff <= -10) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &GWaste of effort&n\r\n", GET_HIT(ch)); else if (diff <= -5) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &GWay Too Easy!&n\r\n", GET_HIT(ch)); else if (diff <= -2) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &gPiece of Cake!&n\r\n", GET_HIT(ch)); else if (diff <= -1) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &gFairly Easy&n\r\n", GET_HIT(ch)); else if (diff == 0) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &wA Perfect Match!&n\r\n", GET_HIT(ch)); else if (diff <= 1) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &WYou would need some luck!&n\r\n", GET_HIT(ch)); else if (diff <= 2) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &WYou would need a lot of luck!&n\r\n", GET_HIT(ch)); else if (diff <= 3) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &rYou would need a lot of luck and some great spells!&n\r\n", GET_HIT(ch)); else if (diff <= 5) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &rDo you feel lucky, punk?&n\r\n", GET_HIT(ch)); else if (diff <= 10) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &rAre you mad!?&n\r\n", GET_HIT(ch)); else if (diff <= 100) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &RYou ARE mad!&n\r\n", GET_HIT(ch)); else if (diff >= 100) sprintf(buf + strlen(buf), "Vitality: &n%5d&n &RYou ARE mad!&n\r\n", GET_HIT(ch)); send_to_char(buf, ch); *buf = '\0'; diff = (GET_DAMROLL(victim) - GET_DAMROLL(ch)); if (diff <= -10) sprintf(buf + strlen(buf), "Power: &n%5d&n &GWaste of effort&n\r\n", GET_DAMROLL(ch)); else if (diff <= -5) sprintf(buf + strlen(buf), "Power: &n%5d&n &GWay Too Easy!&n\r\n", GET_DAMROLL(ch)); else if (diff <= -2) sprintf(buf + strlen(buf), "Power: &n%5d&n &gPiece of Cake!&n\r\n", GET_DAMROLL(ch)); else if (diff <= -1) sprintf(buf + strlen(buf), "Power: &n%5d&n &gFairly Easy&n\r\n", GET_DAMROLL(ch)); else if (diff == 0) sprintf(buf + strlen(buf), "Power: &n%5d&n &wA Perfect Match!&n\r\n", GET_DAMROLL(ch)); else if (diff <= 1) sprintf(buf + strlen(buf), "Power: &n%5d&n &WYou would need some luck!&n\r\n", GET_DAMROLL(ch)); else if (diff <= 2) sprintf(buf + strlen(buf), "Power: &n%5d&n &WYou would need a lot of luck!&n\r\n", GET_DAMROLL(ch)); else if (diff <= 3) sprintf(buf + strlen(buf), "Power: &n%5d&n &rYou would need a lot of luck and some great spells!&n\r\n", GET_DAMROLL(ch)); else if (diff <= 5) sprintf(buf + strlen(buf), "Power: &n%5d&n &rDo you feel lucky, punk?&n\r\n", GET_DAMROLL(ch)); else if (diff <= 10) sprintf(buf + strlen(buf), "Power: &n%5d&n &rAre you mad!?&n\r\n", GET_DAMROLL(ch)); else if (diff <= 100) sprintf(buf + strlen(buf), "Power: &n%5d&n &RYou ARE mad!&n\r\n", GET_DAMROLL(ch)); else if (diff >= 100) sprintf(buf + strlen(buf), "Power: &n%5d&n &RYou ARE mad!&n\r\n", GET_DAMROLL(ch)); send_to_char(buf, ch); *buf = '\0'; diff = (GET_HITROLL(victim) * 7 - GET_DAMROLL(ch) * 7); if (diff <= -10) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &GWaste of effort&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= -5) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &GWay Too Easy!&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= -2) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &gPiece of Cake!&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= -1) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &gFairly Easy&n\r\n", GET_HITROLL(ch) * 7); else if (diff == 0) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &wA Perfect Match!&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= 1) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &WYou would need some luck!&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= 2) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &WYou would need a lot of luck!&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= 3) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &rYou would need a lot of luck and some great spells!&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= 5) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &rDo you feel lucky, punk?&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= 10) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &rAre you mad!?&n\r\n", GET_HITROLL(ch) * 7); else if (diff <= 100) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &RYou ARE mad!&n\r\n", GET_HITROLL(ch) * 7); else if (diff >= 100) sprintf(buf + strlen(buf), "Accuracy: &n%5d&n &RYou ARE mad!&n\r\n", GET_HITROLL(ch) * 7); send_to_char(buf, ch); *buf = '\0'; diff = (GET_EXP(victim) / 100000 - GET_EXP(ch) / 100000); if (diff <= -10) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &GWaste of effort&n\r\n", GET_EXP(ch) / 100000); else if (diff <= -5) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &GWay Too Easy!&n\r\n", GET_EXP(ch) / 100000); else if (diff <= -2) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &gPiece of Cake!&n\r\n", GET_EXP(ch) / 100000); else if (diff <= -1) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &gFairly Easy&n\r\n", GET_EXP(ch) / 100000); else if (diff == 0) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &wA Perfect Match!&n\r\n", GET_EXP(ch) / 100000); else if (diff <= 1) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &WYou would need some luck!&n\r\n", GET_EXP(ch) / 100000); else if (diff <= 2) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &WYou would need a lot of luck!&n\r\n", GET_EXP(ch) / 100000); else if (diff <= 3) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &rYou would need a lot of luck and some great spells!&n\r\n", GET_EXP(ch) / 100000); else if (diff <= 5) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &rDo you feel lucky, punk?&n\r\n", GET_EXP(ch) / 100000); else if (diff <= 10) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &rAre you mad!?&n\r\n", GET_EXP(ch) / 100000); else if (diff <= 100) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &RYou ARE mad!&n\r\n", GET_EXP(ch) / 100000); else if (diff >= 100) sprintf(buf + strlen(buf), "Attack Experience: &n%5d&n &RYou ARE mad!&n\r\n", GET_EXP(ch) / 100000); send_to_char(buf, ch); *buf = '\0'; diff = (GET_HIT(victim) + (GET_DAMROLL(victim) + (GET_HITROLL(victim)) - GET_HIT(ch) + GET_DAMROLL(ch) + (GET_HITROLL(ch)))); sprintf(buf + strlen(buf), "Estimation of Success:\r\n"); if (diff <= -10) sprintf(buf + strlen(buf), "&GWhy do you even bother?\r\n"); else if (diff <= -5) sprintf(buf + strlen(buf), "&GGo for it, it will be easy!&n\r\n"); else if (diff <= -2) sprintf(buf + strlen(buf), "&gThere should not be any problem winning.&n\r\n"); else if (diff <= -1) sprintf(buf + strlen(buf), "&gIt will be farily easy.&n\r\n"); else if (diff == 0) sprintf(buf + strlen(buf), "&wThis will be a fair fight!&n\r\n"); else if (diff <= 1) sprintf(buf + strlen(buf), "&WSome luck would be needed!&n\r\n"); else if (diff <= 2) sprintf(buf + strlen(buf), "&WAlot of luck will be needed!&n\r\n"); else if (diff <= 3) sprintf(buf + strlen(buf), "&rI hope you have got a cleric!&n\r\n"); else if (diff <= 5) sprintf(buf + strlen(buf), "&rMaybe you should reconsider?&n\r\n"); else if (diff <= 10) sprintf(buf + strlen(buf), "&rHold on! .. are you crazy?&n\r\n"); else if (diff <= 100) sprintf(buf + strlen(buf), "&RYou ARE crazy, this is too much for you!&n\r\n"); else if (diff >= 100) sprintf(buf + strlen(buf), "&RYou ARE crazy, this is too much for you!&n\r\n"); send_to_char(buf, ch); *buf = '\0'; } /* end of enhanced do_consider beta1 */ ---------------------------------------------------------------------- Do whatever you want with this piece of code. Enjoy it, hate it, smash it, remake it...... If you decide to use it, please send me a mail, including the address to your mud. A line in your credit file is of course also appreciated / Hugor (hugor@freebox.com)