[nexuiz-commits] r7578 - in branches/nexuiz-2.0: . data data/qcsrc/client data/qcsrc/server data/scripts misc/netradiant-NexuizPack/nexuiz.game/data

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Tue Sep 1 02:53:37 EDT 2009


Author: div0
Date: 2009-09-01 02:53:37 -0400 (Tue, 01 Sep 2009)
New Revision: 7578

Modified:
   branches/nexuiz-2.0/.patchsets
   branches/nexuiz-2.0/data/qcsrc/client/projectile.qc
   branches/nexuiz-2.0/data/qcsrc/server/constants.qh
   branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qc
   branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qh
   branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc
   branches/nexuiz-2.0/data/qcsrc/server/g_triggers.qc
   branches/nexuiz-2.0/data/qcsrc/server/t_items.qc
   branches/nexuiz-2.0/data/qcsrc/server/t_plats.qc
   branches/nexuiz-2.0/data/qcsrc/server/t_teleporters.qc
   branches/nexuiz-2.0/data/scripts/entities.def
   branches/nexuiz-2.0/data/weapons.cfg
   branches/nexuiz-2.0/data/weaponsHavoc.cfg
   branches/nexuiz-2.0/data/weaponsNexrun.cfg
   branches/nexuiz-2.0/misc/netradiant-NexuizPack/nexuiz.game/data/entities.def
Log:
r7563 | lordhavoc | 2009-08-30 16:45:16 -0400 (Sun, 30 Aug 2009) | 2 lines
made items transparent when awaiting respawn, not invisible
r7568 | fruitiex | 2009-08-31 10:53:09 -0400 (Mon, 31 Aug 2009) | 2 lines
add sv_gameplayfix_delayprojectiles 0 to nexrun
r7569 | lordhavoc | 2009-08-31 11:17:32 -0400 (Mon, 31 Aug 2009) | 2 lines
fix transparent items behavior for teamed items
r7573 | div0 | 2009-09-01 02:44:39 -0400 (Tue, 01 Sep 2009) | 2 lines
teleport bit for projectiles
r7574 | div0 | 2009-09-01 02:45:20 -0400 (Tue, 01 Sep 2009) | 2 lines
honor teleport bit
r7575 | div0 | 2009-09-01 02:46:01 -0400 (Tue, 01 Sep 2009) | 2 lines
fix typo
r7576 | div0 | 2009-09-01 02:47:37 -0400 (Tue, 01 Sep 2009) | 2 lines
spawnflag 256 on most damageable entities = ignore splash damage
r7577 | div0 | 2009-09-01 02:47:54 -0400 (Tue, 01 Sep 2009) | 2 lines
entities.def merge


Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/.patchsets	2009-09-01 06:53:37 UTC (rev 7578)
@@ -1,2 +1,2 @@
 master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-7513,7516-7525,7528-7531,7534-7562,7565-7565
+revisions_applied = 1-7513,7516-7525,7528-7531,7534-7563,7565-7569,7573-7577

Modified: branches/nexuiz-2.0/data/qcsrc/client/projectile.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/client/projectile.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/client/projectile.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -254,7 +254,7 @@
 			self.move_velocity = self.velocity;
 		}
 
-		if(time == self.spawntime || self.count & 0x80)
+		if(time == self.spawntime || (self.count & 0x80) || (f & 0x20))
 			self.trail_oldorigin = self.origin;
 	}
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/constants.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/constants.qh	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/constants.qh	2009-09-01 06:53:37 UTC (rev 7578)
@@ -1,5 +1,10 @@
-string CVAR_CHECK_DEFAULT = "f65221846eecbdf910cfb40f5839ac0d";
-string CVAR_CHECK_WEAPONS = "795fd7178fcb71cfccda2f230f231fdd";
+<<<<<<< .working
+string CVAR_CHECK_DEFAULT = "ff6f4ae047891b3b61ecfc5b3d3b38b4";
+string CVAR_CHECK_WEAPONS = "a7ca57b891d66754b856e24e5c1745e3";
+=======
+string CVAR_CHECK_DEFAULT = "ff6f4ae047891b3b61ecfc5b3d3b38b4";
+string CVAR_CHECK_WEAPONS = "a7ca57b891d66754b856e24e5c1745e3";
+>>>>>>> .merge-right.r7577
 
 float	FALSE					= 0;
 float	TRUE					= 1;
@@ -166,3 +171,5 @@
 float NUM_PLAYERSKINS_TEAMPLAY = 3;
 
 float ASSAULT_VALUE_INACTIVE = 1000;
+
+float DOOR_NOSPLASH = 256; // generic anti-splashdamage spawnflag

Modified: branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -2,6 +2,7 @@
 
 float CSQCProjectile_SendEntity(entity to, float sf)
 {
+	// note: flag 0x20 = no trail please
 	sf = sf & 0x3F;
 
 	if(self.csqcprojectile_clientanimate)
@@ -72,6 +73,15 @@
 	}
 }
 
+void UpdateCSQCProjectileAfterTeleport(entity e)
+{
+	if(e.SendEntity == CSQCProjectile_SendEntity)
+	{
+		// send new origin data and mark as teleported
+		e.SendFlags |= 0x21;
+	}
+}
+
 .void(void) csqcprojectile_oldthink;
 .float csqcprojectile_oldnextthink;
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qh	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/csqcprojectile.qh	2009-09-01 06:53:37 UTC (rev 7578)
@@ -2,5 +2,6 @@
 
 void CSQCProjectile(entity e, float clientanimate, float type, float docull);
 void UpdateCSQCProjectile(entity e);
+void UpdateCSQCProjectileAfterTeleport(entity e);
 void UpdateCSQCProjectileNextFrame(entity e);
 void CSQCProjectile_Check(entity e);

Modified: branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/func_breakable.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -172,6 +172,9 @@
 {
 	if(self.state == 1)
 		return;
+	if(self.spawnflags & DOOR_NOSPLASH)
+		if(!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH))
+			return;
 	if(self.team)
 		if(attacker.team == self.team)
 			return;

Modified: branches/nexuiz-2.0/data/qcsrc/server/g_triggers.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_triggers.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_triggers.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -210,6 +210,9 @@
 {
 	if (!self.takedamage)
 		return;
+	if(self.spawnflags & DOOR_NOSPLASH)
+		if(!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH))
+			return;
 	self.health = self.health - damage;
 	if (self.health <= 0)
 	{

Modified: branches/nexuiz-2.0/data/qcsrc/server/t_items.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/t_items.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/t_items.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -41,10 +41,49 @@
 
 .float max_armorvalue;
 
+void Item_Show (entity e, float mode)
+{
+	if (mode > 0)
+	{
+		// make the item look normal, and be touchable
+		e.model = e.mdl;
+		e.solid = SOLID_TRIGGER;
+		e.effects = e.effects - (e.effects & (EF_ADDITIVE | EF_FULLBRIGHT));
+		//e.colormod = '0 0 0';
+		e.alpha = 0;
+
+		// special cases
+		if (e.strength_finished || e.invincible_finished)
+			e.effects = e.effects | EF_ADDITIVE | EF_FULLBRIGHT;
+		if (cvar("g_fullbrightitems"))
+			e.effects = e.effects | EF_FULLBRIGHT;
+	}
+	else if (mode < 0)
+	{
+		// hide the item completely
+		e.model = string_null;
+		e.solid = SOLID_NOT;
+		e.effects = e.effects - (e.effects & (EF_ADDITIVE | EF_FULLBRIGHT));
+		//e.colormod = '0 0 0';
+		e.alpha = 0;
+	}
+	else
+	{
+		// make the item translucent green and not touchable
+		e.model = e.mdl;
+		e.solid = SOLID_NOT;
+		e.effects = e.effects | EF_ADDITIVE | EF_FULLBRIGHT;
+		//e.colormod = '0.2 1 0.2';
+		e.alpha = 0.1;
+	}
+
+	// relink entity (because solid may have changed)
+	setorigin(e, e.origin);
+}
+
 void Item_Respawn (void)
 {
-	self.model = self.mdl;		// restore original model
-	self.solid = SOLID_TRIGGER;	// allow it to be touched again
+	Item_Show(self, 1);
 	if(!g_minstagib && self.items == IT_STRENGTH)
 		sound (self, CHAN_TRIGGER, "misc/strength_respawn.wav", VOL_BASE, ATTN_NORM);	// play respawn sound
 	else if(!g_minstagib && self.items == IT_INVINCIBLE)
@@ -133,11 +172,13 @@
 
 void Item_ScheduleRespawn(entity e)
 {
+	Item_Show(e, 0);
 	Item_ScheduleRespawnIn(e, ITEM_RESPAWNTIME(e));
 }
 
 void Item_ScheduleInitialRespawn(entity e)
 {
+	Item_Show(e, 0);
 	Item_ScheduleRespawnIn(e, game_starttime - time + ITEM_RESPAWNTIME_INITIAL(e));
 }
 
@@ -392,13 +433,17 @@
 		return;
 	else
 	{
-		self.solid = SOLID_NOT;
-		self.model = string_null;
 		if(self.team)
 		{
 			RandomSelection_Init();
-			for(head = world; (head = findfloat(head, team, self.team)); ) if(head.flags & FL_ITEM)
-				RandomSelection_Add(head, 0, string_null, head.cnt, 0);
+			for(head = world; (head = findfloat(head, team, self.team)); )
+			{
+				if(head.flags & FL_ITEM)
+				{
+					Item_Show(head, -1);
+					RandomSelection_Add(head, 0, string_null, head.cnt, 0);
+				}
+			}
 			e = RandomSelection_chosen_ent;
 		}
 		else
@@ -420,50 +465,33 @@
 			RandomSelection_Add(head, 0, string_null, head.cnt, 0);
 		e = RandomSelection_chosen_ent;
 		e.state = 0;
+		Item_Show(e, 1);
 
 		for(head = world; (head = findfloat(head, team, self.team)); ) if(head.flags & FL_ITEM)
 		{
 			if(head != e)
 			{
 				// make it a non-spawned item
-				head.solid = SOLID_NOT;
-				head.model = string_null;
+				Item_Show(head, -1);
 				head.state = 1; // state 1 = initially hidden item
 			}
 			head.effects &~= EF_NODRAW;
 		}
 
 		if(e.flags & FL_POWERUP) // do not spawn powerups initially!
-		{
-			e.solid = SOLID_NOT;
-			e.model = string_null;
 			Item_ScheduleInitialRespawn(e);
-		}
 	}
 }
 
 void Item_Reset()
 {
-	if(self.state == 1)
-	{
-		self.model = string_null;
-		self.solid = SOLID_NOT;
-	}
-	else
-	{
-		self.model = self.mdl;
-		self.solid = SOLID_TRIGGER;
-	}
+	Item_Show(self, !self.state);
 	setorigin (self, self.origin);
 	self.think = SUB_Null;
 	self.nextthink = 0;
 
 	if(self.flags & FL_POWERUP) // do not spawn powerups initially!
-	{
-		self.solid = SOLID_NOT;
-		self.model = string_null;
 		Item_ScheduleInitialRespawn(self);
-	}
 }
 
 // Savage: used for item garbage-collection
@@ -600,7 +628,6 @@
 		self.reset = SUB_Remove;
 		// it's a dropped weapon
 		self.movetype = MOVETYPE_TOSS;
-		self.solid = SOLID_TRIGGER;
 		// Savage: remove thrown items after a certain period of time ("garbage collection")
 		self.think = RemoveItem;
 		self.nextthink = time + 60;
@@ -623,7 +650,6 @@
 			self.movetype = MOVETYPE_NONE;
 		else
 			self.movetype = MOVETYPE_TOSS;
-		self.solid = SOLID_TRIGGER;
 		// do item filtering according to game mode and other things
 		if (!self.noalign)
 		{
@@ -804,9 +830,7 @@
 		self.colormap = 1024; // color shirt=0 pants=0 grey
 	}
 
-	if (cvar("g_fullbrightitems"))
-		self.effects = self.effects | EF_FULLBRIGHT;
-
+	Item_Show(self, 1);
 	self.state = 0;
 	if(self.team)
 	{
@@ -816,11 +840,7 @@
 		InitializeEntity(self, Item_FindTeam, INITPRIO_FINDTARGET);
 	}
 	else if(self.flags & FL_POWERUP) // do not spawn powerups initially!
-	{
-		self.solid = SOLID_NOT;
-		self.model = string_null;
 		Item_ScheduleInitialRespawn(self);
-	}
 }
 
 /* replace items in minstagib
@@ -865,7 +885,6 @@
 	// replace with invis
 	if (itemid == IT_STRENGTH)
 	{
-		self.effects = EF_ADDITIVE;
 		self.strength_finished = 30;
 		StartItem ("models/items/g_strength.md3",
 			"misc/powerup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
@@ -883,7 +902,6 @@
 	// replace with speed
 	if (itemid == IT_INVINCIBLE)
 	{
-		self.effects = EF_ADDITIVE;
 		self.invincible_finished = 30;
 		StartItem ("models/items/g_invincible.md3",
 			"misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
@@ -1223,7 +1241,6 @@
 	} else {
 		precache_sound("weapons/strength_fire.wav");
 		self.strength_finished = 30;
-		self.effects = EF_ADDITIVE;
 		StartItem ("models/items/g_strength.md3", "misc/powerup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Strength Powerup", IT_STRENGTH, 0, FL_POWERUP, generic_pickupevalfunc, 100000);
 	}
 }
@@ -1239,7 +1256,6 @@
 		minstagib_items(IT_INVINCIBLE);
 	} else {
 		self.invincible_finished = 30;
-		self.effects = EF_ADDITIVE;
 		StartItem ("models/items/g_invincible.md3", "misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Shield", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, 100000);
 	}
 }

Modified: branches/nexuiz-2.0/data/qcsrc/server/t_plats.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/t_plats.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/t_plats.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -551,6 +551,9 @@
 
 void button_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
+	if(self.spawnflags & DOOR_NOSPLASH)
+		if(!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH))
+			return;
 	self.health = self.health - damage;
 	if (self.health <= 0)
 	{
@@ -867,6 +870,9 @@
 void door_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
 	local entity oself;
+	if(self.spawnflags & DOOR_NOSPLASH)
+		if(!(DEATH_ISSPECIAL(deathtype)) && (deathtype & HITTYPE_SPLASH))
+			return;
 	self.health = self.health - damage;
 	if (self.health <= 0)
 	{

Modified: branches/nexuiz-2.0/data/qcsrc/server/t_teleporters.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/t_teleporters.qc	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/qcsrc/server/t_teleporters.qc	2009-09-01 06:53:37 UTC (rev 7578)
@@ -79,7 +79,7 @@
 	player.velocity = to_velocity;
 	BITXOR_ASSIGN(player.effects, EF_TELEPORT_BIT);
 
-	UpdateCSQCProjectile(player);
+	UpdateCSQCProjectileAfterTeleport(player);
 
 	if(player.classname == "player")
 	{

Modified: branches/nexuiz-2.0/data/scripts/entities.def
===================================================================
--- branches/nexuiz-2.0/data/scripts/entities.def	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/scripts/entities.def	2009-09-01 06:53:37 UTC (rev 7578)
@@ -30,7 +30,7 @@
 noise1: Sound to be played to all players when the control point is captured.  Also good for an announcer voice ("Red Team has captured a control point")
 */
 
-/*QUAKED func_assault_destructible (.5 0 .5) ?
+/*QUAKED func_assault_destructible (.5 0 .5) ? - - - - - - - - NOSPLASH
 This is a brush model which can be damaged. Once triggered it's active and will happily receive damage players inflict upon it. Once all health is consumed it'll disappear and trigger the targeted entity/entities. As damage is received the brush model will be tinted in an increasingly visible flavor of red to give visible feedback.
 -------- KEYS --------
 health: The damage this trigger can take
@@ -57,6 +57,8 @@
 debrisfadetime: how long debris takes to fade
 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
 debrisskin: skin number of debris
+-------- SPAWNFLAGS --------
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED func_assault_wall (.5 0 .5) ?
@@ -81,7 +83,7 @@
 Y_AXIS: entity will bob along the Y axis.
 */
 
-/*QUAKED func_button (0 .5 .8) ? 
+/*QUAKED func_button (0 .5 .8) ? - - - - - - - - NOSPLASH
 When a button is touched by a player, it moves in the direction set by the "angle" key, triggers all its targets, stays pressed by an amount of time set by the "wait" key, then returns to it's original position where it can be operated again.
 -------- KEYS --------
 angle: determines the direction in which the button will move (up = -1, down = -2).
@@ -93,9 +95,11 @@
 wait: number of seconds button stays pressed (default 1, -1 = return immediately).
 lip: lip remaining at end of move (default 4 units).
 health: (default 0) if set to any non-zero value, the button must take damage (any amount) to activate.
+-------- SPAWNFLAGS --------
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
-/*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE
+/*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE - - NOSPLASH
 Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.
 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches. Note however that for linked doors to work properly, it is necessary that ALL linked doors have SOME volume of common area (that is, there must be a point that is part of ALL doors).
 -------- KEYS --------
@@ -115,9 +119,10 @@
 START_OPEN: causes the door to move to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or damage triggered doors).
 DOOR_DONT_LINK: the door won't link with another door it touches
 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
-/*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN BIDIR DOOR_DONT_LINK BIDIR_IN_DOWN - TOGGLE X_AXIS Y_AXIS
+/*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN BIDIR DOOR_DONT_LINK BIDIR_IN_DOWN - TOGGLE X_AXIS Y_AXIS NOSPLASH
 Normal rotating door entity that opens by rotating around an axis (default: Z). Use an origin brush to specify the rotation axis.
 By default, the door will activate when player walks close to it or when damage is inflicted to it.
 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches.
@@ -141,6 +146,7 @@
 START_OPEN: causes the door to move to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or damage triggered doors).
 DOOR_DONT_LINK: the door won't link with another door it touches
 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED func_door_secret (0 .5 .8) ? OPEN_ONCE 1ST_LEFT 1ST_DOWN NO_SHOOT ALWAYS_SHOOT
@@ -984,7 +990,7 @@
 falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)
 */
 
-/*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS
+/*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS - - - - - - NOSPLASH
 Variable sized repeatable trigger.  Must be targeted at one or more entities.  If "health" is set, the trigger must be killed to activate each time.
 -------- KEYS --------
 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
@@ -1002,9 +1008,10 @@
 -------- SPAWNFLAGS --------
 NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead)
 ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items)
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
-/*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH
+/*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH - - - - - - - NOSPLASH
 Variable sized repeatable trigger.  Must be targeted at one or more entities.  If "health" is set, the trigger must be killed to activate each time.
 Basically, it's a use-once trigger_multiple.
 -------- KEYS --------
@@ -1018,6 +1025,7 @@
 killtarget: remove all entities with this targetname when triggered
 -------- SPAWNFLAGS --------
 NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead)
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED trigger_push (1 .5 0) ? - - INVERT_TEAM
@@ -1432,7 +1440,7 @@
 ONLOAD: create a first entity on map load
 */
 
-/*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE
+/*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH
 This is a brush model which can be damaged.
 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
 When triggered, it resets to full health, and unbreaks.
@@ -1464,6 +1472,7 @@
 -------- SPAWNFLAGS --------
 DISABLED: do not allow damaging this until it is first activated
 INDICATE: indicate amount of damage already taken by coloring
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED trigger_relay_if (0 1 0) (-8 -8 -8) (8 8 8) NEGATE

Modified: branches/nexuiz-2.0/data/weapons.cfg
===================================================================
--- branches/nexuiz-2.0/data/weapons.cfg	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/weapons.cfg	2009-09-01 06:53:37 UTC (rev 7578)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit weaponsHavoc.cfg too.
 
-set cvar_check_weapons 795fd7178fcb71cfccda2f230f231fdd
+set cvar_check_weapons a7ca57b891d66754b856e24e5c1745e3
 
 // NOTE: this only replaces weapons on the map
 // use g_start_weapon_* to also replace the on-startup weapons!

Modified: branches/nexuiz-2.0/data/weaponsHavoc.cfg
===================================================================
--- branches/nexuiz-2.0/data/weaponsHavoc.cfg	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/weaponsHavoc.cfg	2009-09-01 06:53:37 UTC (rev 7578)
@@ -1,4 +1,4 @@
-set cvar_check_weapons 795fd7178fcb71cfccda2f230f231fdd
+set cvar_check_weapons a7ca57b891d66754b856e24e5c1745e3
 
 // NOTE: this only replaces weapons on the map
 // use g_start_weapon_* to also replace the on-startup weapons!

Modified: branches/nexuiz-2.0/data/weaponsNexrun.cfg
===================================================================
--- branches/nexuiz-2.0/data/weaponsNexrun.cfg	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/data/weaponsNexrun.cfg	2009-09-01 06:53:37 UTC (rev 7578)
@@ -9,3 +9,5 @@
 
 g_balance_powerup_invincible_takedamage 0
 g_balance_powerup_invincible_time 999
+
+sv_gameplayfix_delayprojectiles 0

Modified: branches/nexuiz-2.0/misc/netradiant-NexuizPack/nexuiz.game/data/entities.def
===================================================================
--- branches/nexuiz-2.0/misc/netradiant-NexuizPack/nexuiz.game/data/entities.def	2009-09-01 06:47:54 UTC (rev 7577)
+++ branches/nexuiz-2.0/misc/netradiant-NexuizPack/nexuiz.game/data/entities.def	2009-09-01 06:53:37 UTC (rev 7578)
@@ -30,7 +30,7 @@
 noise1: Sound to be played to all players when the control point is captured.  Also good for an announcer voice ("Red Team has captured a control point")
 */
 
-/*QUAKED func_assault_destructible (.5 0 .5) ?
+/*QUAKED func_assault_destructible (.5 0 .5) ? - - - - - - - - NOSPLASH
 This is a brush model which can be damaged. Once triggered it's active and will happily receive damage players inflict upon it. Once all health is consumed it'll disappear and trigger the targeted entity/entities. As damage is received the brush model will be tinted in an increasingly visible flavor of red to give visible feedback.
 -------- KEYS --------
 health: The damage this trigger can take
@@ -57,6 +57,8 @@
 debrisfadetime: how long debris takes to fade
 debrisdamageforcescale: how much debris is affected by damage force (e.g. explosions)
 debrisskin: skin number of debris
+-------- SPAWNFLAGS --------
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED func_assault_wall (.5 0 .5) ?
@@ -81,7 +83,7 @@
 Y_AXIS: entity will bob along the Y axis.
 */
 
-/*QUAKED func_button (0 .5 .8) ? 
+/*QUAKED func_button (0 .5 .8) ? - - - - - - - - NOSPLASH
 When a button is touched by a player, it moves in the direction set by the "angle" key, triggers all its targets, stays pressed by an amount of time set by the "wait" key, then returns to it's original position where it can be operated again.
 -------- KEYS --------
 angle: determines the direction in which the button will move (up = -1, down = -2).
@@ -93,9 +95,11 @@
 wait: number of seconds button stays pressed (default 1, -1 = return immediately).
 lip: lip remaining at end of move (default 4 units).
 health: (default 0) if set to any non-zero value, the button must take damage (any amount) to activate.
+-------- SPAWNFLAGS --------
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
-/*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE
+/*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK - - TOGGLE - - NOSPLASH
 Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.
 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches. Note however that for linked doors to work properly, it is necessary that ALL linked doors have SOME volume of common area (that is, there must be a point that is part of ALL doors).
 -------- KEYS --------
@@ -115,9 +119,10 @@
 START_OPEN: causes the door to move to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or damage triggered doors).
 DOOR_DONT_LINK: the door won't link with another door it touches
 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
-/*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN BIDIR DOOR_DONT_LINK BIDIR_IN_DOWN - TOGGLE X_AXIS Y_AXIS
+/*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN BIDIR DOOR_DONT_LINK BIDIR_IN_DOWN - TOGGLE X_AXIS Y_AXIS NOSPLASH
 Normal rotating door entity that opens by rotating around an axis (default: Z). Use an origin brush to specify the rotation axis.
 By default, the door will activate when player walks close to it or when damage is inflicted to it.
 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches.
@@ -141,6 +146,7 @@
 START_OPEN: causes the door to move to its destination when spawned, and operate in reverse.  It is used to temporarily or permanently close off an area when triggered (not useful for touch or damage triggered doors).
 DOOR_DONT_LINK: the door won't link with another door it touches
 TOGGLE: causes the door to wait in both the start and end states for a trigger event.
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED func_door_secret (0 .5 .8) ? OPEN_ONCE 1ST_LEFT 1ST_DOWN NO_SHOOT ALWAYS_SHOOT
@@ -984,7 +990,7 @@
 falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)
 */
 
-/*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS
+/*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS - - - - - - NOSPLASH
 Variable sized repeatable trigger.  Must be targeted at one or more entities.  If "health" is set, the trigger must be killed to activate each time.
 -------- KEYS --------
 health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)
@@ -1002,9 +1008,10 @@
 -------- SPAWNFLAGS --------
 NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead)
 ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items)
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
-/*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH
+/*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH - - - - - - - NOSPLASH
 Variable sized repeatable trigger.  Must be targeted at one or more entities.  If "health" is set, the trigger must be killed to activate each time.
 Basically, it's a use-once trigger_multiple.
 -------- KEYS --------
@@ -1018,6 +1025,7 @@
 killtarget: remove all entities with this targetname when triggered
 -------- SPAWNFLAGS --------
 NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead)
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED trigger_push (1 .5 0) ? - - INVERT_TEAM
@@ -1432,7 +1440,7 @@
 ONLOAD: create a first entity on map load
 */
 
-/*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE
+/*QUAKED func_breakable (1 0 0) ? DISABLED INDICATE - - - - - - NOSPLASH
 This is a brush model which can be damaged.
 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
 When triggered, it resets to full health, and unbreaks.
@@ -1464,6 +1472,7 @@
 -------- SPAWNFLAGS --------
 DISABLED: do not allow damaging this until it is first activated
 INDICATE: indicate amount of damage already taken by coloring
+NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
 /*QUAKED trigger_relay_if (0 1 0) (-8 -8 -8) (8 8 8) NEGATE



More information about the nexuiz-commits mailing list