Items respawn in coop as in deathmatch. Removed reference to monster_vomit. Shamblers explode when casting lightning while waist-deep in water.

This commit is contained in:
Josh K 2016-12-01 22:52:27 -05:00
parent 5057de2c6a
commit 6803517819
3 changed files with 13 additions and 10 deletions

2
ai.qc
View File

@ -298,8 +298,6 @@ local float rsnd;
sound (self, CHAN_VOICE, "hknight/sight1.wav", 1, ATTN_NORM);
else if (self.classname == "monster_tarbaby")
sound (self, CHAN_VOICE, "blob/sight1.wav", 1, ATTN_NORM);
else if (self.classname == "monster_vomit")
sound (self, CHAN_VOICE, "vomitus/v_sight1.wav", 1, ATTN_NORM);
else if (self.classname == "monster_enforcer")
{
rsnd = rint(random() * 3);

View File

@ -2,17 +2,16 @@ void() W_SetCurrentAmmo;
/* ALL LIGHTS SHOULD BE 0 1 0 IN COLOR ALL OTHER ITEMS SHOULD
BE .8 .3 .4 IN COLOR */
void() SUB_regen =
{
self.model = self.mdl; // restore original model
self.solid = SOLID_TRIGGER; // allow it to be touched again
sound (self, CHAN_VOICE, "items/itembk2.wav", 1, ATTN_NORM); // play respawn sound
setorigin (self, self.origin);
particle( self.origin, '0.1 0.1 0.1', 244, 100 );
self.effects = self.effects | EF_MUZZLEFLASH;
};
/*QUAKED noclass (0 0 0) (-8 -8 -8) (8 8 8)
prints a warning message when spawned
*/
@ -193,7 +192,7 @@ void() health_touch =
{
if (deathmatch != 2) // deathmatch 2 is the silly old rules
{
if (deathmatch)
if (deathmatch || coop)
self.nextthink = time + 20;
self.think = SUB_regen;
}
@ -218,7 +217,7 @@ void() item_megahealth_rot =
// just blindly subtract the flag off
other.items = other.items - (other.items & IT_SUPERHEALTH);
if (deathmatch == 1) // deathmatch 2 is silly old rules
if (deathmatch == 1 || coop) // deathmatch 2 is silly old rules
{
self.nextthink = time + 20;
self.think = SUB_regen;
@ -272,7 +271,7 @@ void() armor_touch =
self.solid = SOLID_NOT;
self.model = string_null;
if (deathmatch == 1)
if (deathmatch == 1 || coop)
self.nextthink = time + 20;
self.think = SUB_regen;
@ -674,7 +673,7 @@ local float best;
// remove it in single player, or setup for respawning in deathmatch
self.model = string_null;
self.solid = SOLID_NOT;
if (deathmatch == 1)
if (deathmatch == 1 || coop)
self.nextthink = time + 30;
self.think = SUB_regen;
@ -1091,7 +1090,7 @@ void() powerup_touch =
sprint (other, self.netname);
sprint (other,"\n");
if (deathmatch)
if (deathmatch || coop)
{
self.mdl = self.model;

View File

@ -200,6 +200,12 @@ void() CastLightning =
org = self.origin + '0 0 40';
if ( pointcontents( org - '0 0 20' ) == CONTENT_WATER )
{
T_Damage( self, self, self, 700 );
return;
}
dir = self.enemy.origin + '0 0 16' - org;
dir = normalize (dir);