r2420 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Apr 30 12:36:45 EDT 2007
Author: div0
Date: 2007-04-30 12:36:45 -0400 (Mon, 30 Apr 2007)
New Revision: 2420
Modified:
trunk/data/qcsrc/server/keyhunt.qc
Log:
draw lines between connected keys
Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc 2007-04-30 16:24:47 UTC (rev 2419)
+++ trunk/data/qcsrc/server/keyhunt.qc 2007-04-30 16:36:45 UTC (rev 2420)
@@ -118,11 +118,21 @@
key.nextthink = time;
}
+vector kh_AttachedOrigin(entity e)
+{
+ if(e.tag_entity)
+ {
+ makevectors(e.tag_entity.angles);
+ return e.tag_entity.origin + e.origin_x * v_forward - e.origin_y * v_right + e.origin_z * v_up;
+ }
+ else
+ return e.origin;
+}
+
void kh_Key_Detach(entity key, float wpchange)
{
+ setorigin(key, kh_AttachedOrigin(key));
setattachment(key, world, "");
- makevectors(key.owner.angles);
- setorigin(key, key.owner.origin + key.origin_x * v_forward - key.origin_y * v_right + key.origin_z * v_up);
key.angles_y = key.owner.angles_y;
key.aiment = world;
key.flags = FL_ITEM;
@@ -248,7 +258,7 @@
bprint(player.netname, "^7 collected the ", key.netname, "\n");
kh_Key_AssignTo(key, player, TRUE);
- sound(key, CHAN_AUTO, kh_sound_collect, 1, ATTN_NONE);
+ sound(key, CHAN_AUTO, kh_sound_collect, 1, ATTN_NORM);
FOR_EACH_KH_KEY(key)
if(!key.owner || key.team != player.team)
@@ -276,7 +286,7 @@
key.pusher = player.pusher;
key.pushltime = player.pushltime;
}
- sound(world, CHAN_AUTO, kh_sound_drop, 1, ATTN_NONE);
+ sound(world, CHAN_AUTO, kh_sound_drop, 1, ATTN_NORM);
}
}
@@ -366,8 +376,9 @@
void kh_WinnerTeam(float teem)
{
// all key carriers get some points
+ vector firstorigin, lastorigin;
+ float first;
entity key;
- float first;
float score;
score = 1.0 / kh_teams;
first = TRUE;
@@ -382,6 +393,26 @@
first = FALSE;
}
}
+
+ first = TRUE;
+ FOR_EACH_KH_KEY(key)
+ {
+ vector thisorigin;
+
+ thisorigin = kh_AttachedOrigin(key);
+
+ if(!first)
+ te_lightning2(world, lastorigin, thisorigin);
+ lastorigin = thisorigin;
+ if(first)
+ firstorigin = thisorigin;
+ first = FALSE;
+ }
+ if(kh_teams > 2)
+ {
+ te_lightning2(world, lastorigin, firstorigin);
+ }
+
bprint("^7 captured the keys for the ", ColoredTeamName(teem), "\n");
sound(world, CHAN_AUTO, kh_sound_capture, 1, ATTN_NONE);
kh_FinishRound();
More information about the nexuiz-commits
mailing list