for (ch = combat_list; ch; ch = next_combat_list) {
next_combat_list = ch->next_fighting;
if (FIGHTING(ch) == NULL || ch->in_room != FIGHTING(ch)->in_room) {
stop_fighting(ch);
continue;
}
if (IS_NPC(ch)) {
if (GET_MOB_WAIT(ch) > 0) {
GET_MOB_WAIT(ch) -= PULSE_VIOLENCE;
continue;
}
GET_MOB_WAIT(ch) = 0;
if (GET_POS(ch) < POS_FIGHTING) {
GET_POS(ch) = POS_FIGHTING;
act("$n scrambles to $s feet!", TRUE, ch, 0, 0, TO_ROOM);
}
}
if (GET_POS(ch) < POS_FIGHTING) {
send_to_char("You can't fight while sitting!!\r\n", ch);
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, "");
if((GET_SKILL(ch, SKILL_SECOND) > 0)) {
if(GET_SKILL(ch, SKILL_SECOND) > number(1,200)-15*GET_LEVEL(ch) )
if(FIGHTING(ch));
hit(ch, FIGHTING(ch), TYPE_UNDEFINED);
}
if((GET_SKILL(ch, SKILL_THIRD) > 0)) {
if(GET_SKILL(ch, SKILL_THIRD) > number(1,200)-10*GET_LEVEL(ch) )
if(FIGHTING(ch));
hit(ch, FIGHTING(ch), TYPE_UNDEFINED);
}
if((GET_SKILL(ch, SKILL_HEXA) > 0)) {
if(GET_SKILL(ch, SKILL_HEXA) > number(1,200)-5*GET_LEVEL(ch) )
if(FIGHTING(ch));
hit(ch, FIGHTING(ch), TYPE_UNDEFINED);
}
}
}
This archive was generated by hypermail 2b30 : 12/07/00 PST