r2582 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu May 17 14:16:23 EDT 2007


Author: div0
Date: 2007-05-17 14:16:23 -0400 (Thu, 17 May 2007)
New Revision: 2582

Modified:
   trunk/data/qcsrc/server/keyhunt.qc
Log:
keyhunt: dlight effect for end of round (capture, lost key)


Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc	2007-05-17 17:44:04 UTC (rev 2581)
+++ trunk/data/qcsrc/server/keyhunt.qc	2007-05-17 18:16:23 UTC (rev 2582)
@@ -35,6 +35,7 @@
 	return 0;
 }
 
+vector kh_average_teamcolor;
 entity kh_controller;
 float kh_tracking_enabled;
 float kh_teams;
@@ -302,18 +303,22 @@
 		case COLOR_TEAM1:
 			key.netname = "^1red key";
 			key.colormod = '103 0 0' * KH_KEY_BRIGHTNESS;
+			kh_average_teamcolor += key.colormod;
 			break;
 		case COLOR_TEAM2:
 			key.netname = "^4blue key";
 			key.colormod = '35 35 191' * KH_KEY_BRIGHTNESS;
+			kh_average_teamcolor += key.colormod;
 			break;
 		case COLOR_TEAM3:
 			key.netname = "^3yellow key";
 			key.colormod = '187 167 15' * KH_KEY_BRIGHTNESS;
+			kh_average_teamcolor += key.colormod;
 			break;
 		case COLOR_TEAM4:
 			key.netname = "^6pink key";
 			key.colormod = '139 79 107' * KH_KEY_BRIGHTNESS;
+			kh_average_teamcolor += key.colormod;
 			break;
 		default:
 			key.netname = "NETGIER key";
@@ -498,7 +503,7 @@
 void kh_WinnerTeam(float teem)
 {
 	// all key carriers get some points
-	vector firstorigin, lastorigin;
+	vector firstorigin, lastorigin, midpoint;
 	float first;
 	entity key;
 	float score;
@@ -521,11 +526,13 @@
 	bprint("^7 captured the keys for the ", ColoredTeamName(teem), "\n");
 
 	first = TRUE;
+	midpoint = '0 0 0';
 	FOR_EACH_KH_KEY(key)
 	{
 		vector thisorigin;
 
 		thisorigin = kh_AttachedOrigin(key);
+		midpoint += thisorigin;
 
 		if(!first)
 			te_lightning2(world, lastorigin, thisorigin);
@@ -538,6 +545,8 @@
 	{
 		te_lightning2(world, lastorigin, firstorigin);
 	}
+	midpoint *= 1 / kh_teams;
+	te_customflash(midpoint, 1000, 1, kh_average_teamcolor);
 
 	sound(world, CHAN_AUTO, kh_sound_capture, 1, ATTN_NONE);
 	kh_FinishRound();
@@ -611,6 +620,7 @@
 		bprint("The ", ColoredTeamName(teem), "^7 could not take care of the ", lostkey.netname, "\n");
 	}
 	sound(world, CHAN_AUTO, kh_sound_destroy, 1, ATTN_NONE);
+	te_tarexplosion(lostkey.origin);
 
 	kh_FinishRound();
 }
@@ -680,6 +690,7 @@
 		if(clienttype(player) == CLIENTTYPE_REAL)
 			centerprint_expire(player, CENTERPRIO_SPAM);
 
+	kh_average_teamcolor = '0 0 0';
 	for(i = 0; i < kh_teams; ++i)
 	{
 		teem = kh_Team_ByID(i);
@@ -698,6 +709,7 @@
 		//kh_Key_Spawn(my_player, 360 * i / kh_teams);
 		//kh_Key_Spawn(my_player, 360 * i / kh_teams);
 	}
+	kh_average_teamcolor *= 1 / kh_teams;
 
 	kh_tracking_enabled = FALSE;
 	kh_Controller_SetThink(cvar("g_balance_keyhunt_delay_tracking"), "Scanning frequency range...", kh_EnableTrackingDevice);




More information about the nexuiz-commits mailing list