Hi all.. First of all, thanks to all of you who helped out on the Object in object thingie, I finally got it solved. :) A new thing I pondered over on my way through the Ideas list is a Bearhug skill. Oki I think to meself, this one is easy! Nearly as Easy as can get. (Ohhh.. I should learn other things on the way there.. :) Bearhug is essentially just stopping both PC and opponent for x amount of rounds. This of course would be adjusted with the WAIT_STATE call. Or at least that was what I thought. The Code is looking like this right now : ACMD(do_bearhug) { struct char_data *victim; one_argument(argument, arg); if (!*arg && !FIGHTING(ch)) { send_to_char("Bearhug who?\r\n", ch); return; } if(!IS_NPC(ch)) if(!check_for_skill(ch, SKILL_BEARHUG)) return; one_argument(argument, arg); if (!(victim = get_char_room_vis(ch, arg))) { if (FIGHTING(ch)) { victim = FIGHTING(ch); } else { send_to_char("Bearhug who?\r\n", ch); return; } } if (GET_SKILL(ch, SKILL_BEARHUG) > number(1, 101) || GET_LEVEL(ch) >= LVL_IMMORT || (IS_NPC(ch)) { if(!IS_NPC(ch)) improve_skill(ch, SKILL_BEARHUG); act("$n grabs $N in a mighty bearhug.", FALSE, ch, 0, victim, TO_NOTVICT); act("$n holds you in a mighty bearhug.", FALSE, ch, 0, victim, TO_VICT); act("You hold $N in a mighty bearhug.", FALSE, ch, 0, victim, TO_CHAR); if (!IS_NPC(ch)) damage(ch, victim, GET_STR(ch) + GET_LEVEL(ch), TYPE_UNDEFINED, NO_WEAPON); else damage(ch, victim, GET_STR(ch) + GET_LEVEL(ch) * 1.5, TYPE_UNDEFINED, NO_WEAPON WAIT_STATE(victim, PULSE_VIOLENCE * 4); WAIT_STATE(ch, PULSE_VIOLENCE * 4); } else { act("$n tries to hold $N, but fails miserably", FALSE, ch, 0, victim, TO_NOTV act("$n tries to hold You, but fails miserably", FALSE, ch, 0, victim, TO_VIC act("You try to hold $N, but fail miserably", FALSE, ch, 0, victim, TO_CHAR); WAIT_STATE(ch, PULSE_VIOLENCE * 2); } } If I put the lines like this WAIT_STATE(victim, PULSE_VIOLENCE * 4); WAIT_STATE(ch, PULSE_VIOLENCE * 4); then it's victim getting to wait 4 Rounds of violence, whereas WAIT_STATE(ch, PULSE_VIOLENCE * 4); WAIT_STATE(victim, PULSE_VIOLENCE * 4); Will put the Char waiting for 4 rounds. Question is pretty simple, is it somehting I have done wrong and overlooked it, or is this plain impossible?? /Serces +------------------------------------------------------------+ | 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/08/00 PST