first commit
This commit is contained in:
74
mod_slipgate/source/server/trigger_hurt.qc
Normal file
74
mod_slipgate/source/server/trigger_hurt.qc
Normal file
@@ -0,0 +1,74 @@
|
||||
/*==========
|
||||
hurt_touch
|
||||
|
||||
this was seriously bugged in id1. now correctly damages everything touching it.
|
||||
==========*/
|
||||
static void() hurt_touch =
|
||||
{
|
||||
force_retouch = 2;
|
||||
|
||||
if (other.takedamage)
|
||||
{
|
||||
if (other.hurt_time > time)
|
||||
return;
|
||||
Damage (other, self, self, self.dmg);
|
||||
other.hurt_time = time + self.wait;
|
||||
}
|
||||
};
|
||||
|
||||
/*QUAKED trigger_hurt (.5 .5 .5) ? X X X X X X X X NOT_IN_EASY NOT_IN_NORMAL NOT_IN_HARD NOT_IN_DM
|
||||
A trigger that damages anything alive that touches it.
|
||||
|
||||
Keys:
|
||||
dmg - damage to deal. default 5.
|
||||
wait - time in seconds between causing damage. default 1
|
||||
*/
|
||||
void() trigger_hurt =
|
||||
{
|
||||
self.touch = hurt_touch;
|
||||
SetPositiveDefault(dmg, 5);
|
||||
SetPositiveDefault(wait, 1);
|
||||
InitTrigger();
|
||||
};
|
||||
|
||||
/*==========
|
||||
void_touch
|
||||
==========*/
|
||||
static void() void_touch =
|
||||
{
|
||||
force_retouch = 2;
|
||||
|
||||
// just remove items and monsters
|
||||
if (other.flags & FL_ITEM || other.flags & FL_MONSTER)
|
||||
{
|
||||
remove(other);
|
||||
return;
|
||||
}
|
||||
|
||||
// insta kill players
|
||||
if (other.flags & FL_CLIENT)
|
||||
{
|
||||
// remove all armor
|
||||
other.items = other.items - (other.items & (IT_ARMOR1 | IT_ARMOR2 | IT_ARMOR3));
|
||||
other.armortype = other.armorvalue = 0;
|
||||
// remove pent
|
||||
other.items = other.items - other.items & IT_INVULNERABILITY;
|
||||
other.invincible_finished = other.invincible_time = other.invincible_sound = 0;
|
||||
|
||||
// black screen
|
||||
stuffcmd(other, "v_cshift 0 0 0 255\n");
|
||||
|
||||
Damage (other, self, self, other.health);
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
/*QUAKED trigger_void (.5 .5 .5) ? X X X X X X X X NOT_IN_EASY NOT_IN_NORMAL NOT_IN_HARD NOT_IN_DM
|
||||
A variable sized trigger designed for "void" areas that removes items, projectiles and monsters touching it.
|
||||
Always kills the player regardless of pentagram or armor.
|
||||
*/
|
||||
void() trigger_void =
|
||||
{
|
||||
self.touch = void_touch;
|
||||
InitTrigger();
|
||||
};
|
||||
Reference in New Issue
Block a user