[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