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)
spawnfunc(trigger_magicear)
{
- self.enemy = magicears;
- magicears = self;
+ this.enemy = magicears;
+ magicears = this;
// actually handled in "say" processing
// spawnflags:
// movedir:
// for spawnflags 256, defines 'instrument+1 mintempo maxtempo' (zero component doesn't matter)
- self.movedir_x -= 1; // map to tuba instrument numbers
+ this.movedir_x -= 1; // map to tuba instrument numbers
}
#endif