magicear_matched = false;
- dotrigger = ((IS_PLAYER(source)) && (source.deadflag == DEAD_NO) && ((ear.radius == 0) || (vlen(source.origin - ear.origin) <= ear.radius)));
+ dotrigger = ((IS_PLAYER(source)) && (!IS_DEAD(source)) && ((ear.radius == 0) || (vdist(source.origin - ear.origin, <=, ear.radius))));
domatch = ((ear.spawnflags & 32) || dotrigger);
if (!domatch)
if(dotrigger)
{
- activator = source;
- setself(ear);
savemessage = self.message;
self.message = string_null;
- SUB_UseTargets();
+ SUB_UseTargets(ear, source, NULL);
self.message = savemessage;
- setself(this);
}
if(ear.netname != "")
if(dotrigger)
{
- activator = source;
- setself(ear);
savemessage = self.message;
self.message = string_null;
- SUB_UseTargets();
+ SUB_UseTargets(ear, source, NULL);
self.message = savemessage;
- setself(this);
}
if(ear.spawnflags & 16)