-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
act.offensive.c, lines 2163 - 2185
**for (mob = world[ch->in_room].people; mob; mob = next_mob) {
next_mob = #mob->next_in_room;**
I think this is causing the attacker to go through the stack in the room and then switch target to the last victim in the room. Not sure what variable needs to be created so it causes the attacker to return to the target it was initially fighting.
/* Basic area attack check */
if (!area_attack_target(ch, mob))
continue;
/* If I just entered plain "hitall", don't attack bystanders who aren't
* aggro to me */
if (!battling_my_group(ch, mob) && !hit_all && !is_aggr_to(mob, ch))
continue;
if (!MOB_FLAGGED(mob, MOB_ILLUSORY))
realvictims = TRUE;
if (success) {
if (damage_evasion(mob, ch, 0, physical_damtype(ch))) {
damage_evasion_message(ch, mob, equipped_weapon(ch), physical_damtype(ch));
set_fighting(mob, ch, TRUE);
} else if (subcmd == SCMD_TANTRUM && number(0, 1))
hit(ch, mob, SKILL_BAREHAND);
else
attack(ch, mob);
Metadata
Metadata
Assignees
Labels
No labels