//
// print the message
//
- if (activator.classname == "player" && self.message != "")
+ if (IS_PLAYER(activator) && self.message != "")
{
- if(clienttype(activator) == CLIENTTYPE_REAL)
+ if(IS_REAL_CLIENT(activator))
{
centerprint (activator, self.message);
- if (!self.noise)
+ if (self.noise == "")
play2(activator, "misc/talk.wav");
}
}
if (self.classname == "trigger_secret")
{
- if (self.enemy.classname != "player")
+ if not(IS_PLAYER(self.enemy))
return;
found_secrets = found_secrets + 1;
WriteByte (MSG_ALL, SVC_FOUNDSECRET);
else
{ // we can't just remove (self) here, because this is a touch function
// called wheil C code is looping through area links...
- self.touch = SUB_Null;
+ self.touch = func_null;
}
}
self.takedamage = DAMAGE_YES;
self.solid = SOLID_BBOX;
}
- self.think = SUB_Null;
+ self.think = func_null;
+ self.nextthink = 0;
self.team = self.team_saved;
}
void delay_reset()
{
- self.think = SUB_Null;
+ self.think = func_null;
+ self.nextthink = 0;
}
void spawnfunc_trigger_delay()
if (self.count != 0)
{
- if (activator.classname == "player"
+ if (IS_PLAYER(activator)
&& (self.spawnflags & SPAWNFLAG_NOMESSAGE) == 0)
{
if (self.count >= 4)
return;
}
- if (activator.classname == "player"
+ if (IS_PLAYER(activator)
&& (self.spawnflags & SPAWNFLAG_NOMESSAGE) == 0)
centerprint(activator, "Sequence completed!");
self.enemy = activator;
void trigger_hurt_use()
{
- if(activator.classname == "player")
+ if(IS_PLAYER(activator))
self.enemy = activator;
else
self.enemy = world; // let's just destroy it, if taking over is too much work
entity own;
own = self.enemy;
- if(own.classname != "player")
+ if not(IS_PLAYER(own))
{
own = self;
self.enemy = world; // I still hate you all
Damage (other, self, own, self.dmg, DEATH_HURTTRIGGER, other.origin, '0 0 0');
}
}
- else
+ else if(other.damagedbytriggers)
{
- if (!other.owner)
+ if(other.takedamage)
{
- if (other.items & IT_KEY1 || other.items & IT_KEY2) // reset flag
- {
- EXACTTRIGGER_TOUCH;
- other.pain_finished = min(other.pain_finished, time + 2);
- }
- else if (other.classname == "rune") // reset runes
- {
- EXACTTRIGGER_TOUCH;
- other.nextthink = min(other.nextthink, time + 1);
- }
+ EXACTTRIGGER_TOUCH;
+ Damage(other, self, self, self.dmg, DEATH_HURTTRIGGER, other.origin, '0 0 0');
}
}
self.enemy = world; // I hate you all
if (!self.dmg)
self.dmg = 1000;
- if (!self.message)
+ if (self.message == "")
self.message = "was in the wrong place";
- if (!self.message2)
+ if (self.message2 == "")
self.message2 = "was thrown into a world of hurt by";
// self.message = "someone like %s always gets wrongplaced";
if (other.iscreature)
{
if (other.takedamage)
+ if (!other.deadflag)
if (other.triggerhealtime < time)
{
EXACTTRIGGER_TOUCH;
void target_speaker_use_off();
void target_speaker_use_activator()
{
- if(clienttype(activator) != CLIENTTYPE_REAL)
+ if not(IS_REAL_CLIENT(activator))
return;
string snd;
if(substring(self.noise, 0, 1) == "*")
if(self.colormod == '0 0 0')
if(!self.alpha)
self.colormod = '1 0 0';
- if(!self.message)
+ if(self.message == "")
self.message = "saw the light";
- if (!self.message2)
+ if (self.message2 == "")
self.message2 = "was pushed into a laser by";
if(!self.scale)
self.scale = 1;
return;
}
+ str = min(self.radius, vlen(self.origin - other.origin));
+
if(self.falloff == 1)
str = (str / self.radius) * self.strength;
else if(self.falloff == 2)
return;
if(vs.message == "")
return;
- if(pl.classname != "player")
+ if not(IS_PLAYER(pl))
return;
if(gameover)
return;
magicear_matched = FALSE;
- dotrigger = ((source.classname == "player") && (source.deadflag == DEAD_NO) && ((ear.radius == 0) || (vlen(source.origin - ear.origin) <= ear.radius)));
+ dotrigger = ((IS_PLAYER(source)) && (source.deadflag == DEAD_NO) && ((ear.radius == 0) || (vlen(source.origin - ear.origin) <= ear.radius)));
domatch = ((ear.spawnflags & 32) || dotrigger);
if not(domatch)