Thanks, that worked a treat. One small issue is that it's still erroring if an immortal is in the room with nohassle.
I tried adding:
Code:
if %temp.pref(NO_HASS)%
eval temp %temp.next_in_room%
continue
end
into the while loop without success. mdamage, mechoaround and msend error out and the trigger doesn't fire on mortals at all if an Imm is in the room with nohassle.
Code:
[ Mob (Mictlantecuhtli, God of the Dead, VNum 2109):: msend: victim (}10000001) does not exist ]
[ Mob (Mictlantecuhtli, God of the Dead, VNum 2109):: mechoaround: victim (}10000001) does not exist]
[ Mob (Mictlantecuhtli, God of the Dead, VNum 2109):: mdamage: victim (}10000001) does not exist ]
I've looked high and low in the dg_*.c files and can't tease out a reason why. In an object trigger a similar if statement with a level prohibition works to prevent the trigger firing on immortals with nohassle.
In my game NPC attacks may target the room (drawing non-combat characters into combat), but nohassle bypasses the attacks from targeting the Immortal. For safety sake I'd like nohassle to bypass the spec as well.
Thoughts on how to make nohassle and the spec work together?
Thanks!
Edit:
The NPC can hit itself with the trigger:
Code:
An icy wind eminating from Mictlantecuhtli, God of the Dead blasts Mictlantecuhtli, God of the Dead!
I tried adding the following into the while loop:
Code:
if !%temp.is_pc%
eval temp %temp.next_in_room%
continue
end
It seems like the %temp% == %self% block didn't do it either. This behavior only happens when there is more than 1 NPC in the room.
I'm kinda confused at this point.