[nexuiz-commits] r7499 - in trunk/data: . models/onslaught qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Aug 23 10:38:47 EDT 2009


Author: mand1nga
Date: 2009-08-23 10:38:47 -0400 (Sun, 23 Aug 2009)
New Revision: 7499

Removed:
   trunk/data/models/onslaught/boom.md3
Modified:
   trunk/data/effectinfo.txt
   trunk/data/qcsrc/server/mode_onslaught.qc
Log:
New awesome effects for Onslaught


Modified: trunk/data/effectinfo.txt
===================================================================
--- trunk/data/effectinfo.txt	2009-08-23 14:37:52 UTC (rev 7498)
+++ trunk/data/effectinfo.txt	2009-08-23 14:38:47 UTC (rev 7499)
@@ -3960,3 +3960,94 @@
 liquidfriction 3
 originjitter 10 10 25
 velocityjitter 656 656 912
+
+// fire effect which expands then slows
+effect onslaught_generator_gib_explode
+notunderwater
+count 34
+type static
+tex 48 55
+color 0x8f0d00 0xff5a00
+size 20 26
+sizeincrease 45
+alpha 128 256 356
+bounce 1.5
+airfriction 5
+liquidfriction 8
+originjitter 8 8 8
+velocityjitter 286 286 286
+
+// smoke
+effect onslaught_generator_gib_explode
+type alphastatic
+notunderwater
+tex 0 8
+count 12
+size 1 10
+sizeincrease 90
+gravity -0.3
+alpha 200 500 600
+velocityjitter 244 244 244
+airfriction 5
+color 0x000000 0x111111
+bounce 2
+
+// underwater bubbles
+effect onslaught_generator_gib_explode
+underwater
+count 32
+type bubble
+tex 62 62
+color 0x404040 0x808080
+size 3 3
+alpha 128 256 64
+gravity -0.125
+bounce 1.5
+liquidfriction 0.25
+originjitter 16 16 16
+velocityjitter 96 96 96
+
+// fire effect which expands then slows
+effect onslaught_generator_gib_flame
+notunderwater
+count 30
+type static
+tex 48 55
+color 0x8f0d00 0xff5a00
+size 5 10
+sizeincrease 25
+alpha 128 256 356
+gravity -0.5
+airfriction 5
+liquidfriction 8
+originjitter 3 3 3
+velocityjitter 86 86 86
+// smoke
+effect onslaught_generator_gib_flame
+type alphastatic
+notunderwater
+tex 0 8
+count 2
+size 10 20
+sizeincrease 30
+gravity -0.8
+alpha 200 500 600
+velocityjitter 44 44 44
+airfriction 5
+color 0x000000 0x111111
+bounce 2
+
+// underwater bubbles
+effect onslaught_generator_gib_flame
+underwater
+count 32
+type bubble
+tex 62 62
+color 0x404040 0x808080
+size 3 3
+alpha 128 256 64
+gravity -0.125
+bounce 1.5
+liquidfriction 0.25
+originjitter 16 16 16
+velocityjitter 96 96 96
\ No newline at end of file

Deleted: trunk/data/models/onslaught/boom.md3
===================================================================
(Binary files differ)

Modified: trunk/data/qcsrc/server/mode_onslaught.qc
===================================================================
--- trunk/data/qcsrc/server/mode_onslaught.qc	2009-08-23 14:37:52 UTC (rev 7498)
+++ trunk/data/qcsrc/server/mode_onslaught.qc	2009-08-23 14:38:47 UTC (rev 7499)
@@ -18,35 +18,6 @@
 
 .string model1, model2, model3;
 
-
-void onslaught_generator_boom_think()
-{
-	self.nextthink = time + 0.05;
-	if(self.frame > 14)
-	{
-		self.think = SUB_Remove;
-		return;
-	}
-	self.frame +=1;
-};
-
-void onslaught_generator_boom_spawn(vector org, float fscale)
-{
-	entity e;
-	e = spawn();
-	setmodel(e, "models/onslaught/boom.md3");
-	setorigin(e, org);
-
-	e.scale = fscale;
-	setsize(e, e.mins * e.scale, e.maxs * e.scale);
-	e.angles = randomvec() * 360;
-
-	e.effects = EF_NOSHADOW;
-
-	e.think = onslaught_generator_boom_think;
-	e.nextthink = time + 0.05;
-};
-
 void ons_gib_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector vforce)
 {
 	self.velocity = self.velocity + vforce;
@@ -55,22 +26,26 @@
 .float giblifetime;
 void ons_throwgib_think()
 {
-	local vector org;
+	float d;
 
 	self.nextthink = time + 0.05;
-	if(self.count > self.giblifetime)
+
+	d = self.giblifetime - time;
+
+	if(d<0)
 	{
 		self.think = SUB_Remove;
 		return;
 	}
-	if(self.count > self.giblifetime-10)
-		self.alpha -= 0.1;
-	org = self.origin + 20 * randomvec();
-	onslaught_generator_boom_spawn(org, random()*0.5+0.3);
-	self.count +=1;
+	if(d<1)
+		self.alpha = d;
+
+	if(d>2)
+	if(random()<0.6)
+		pointparticles(particleeffectnum("onslaught_generator_gib_flame"), self.origin, '0 0 0', 1);
 };
 
-void ons_throwgib(vector v_from, vector v_to, string smodel, float f_lifetime, float f_fadetime, float b_burn)
+void ons_throwgib(vector v_from, vector v_to, string smodel, float f_lifetime, float b_burn)
 {
 	local entity gib;
 
@@ -86,7 +61,7 @@
 	gib.effects = EF_LOWPRECISION;
 	gib.flags = FL_NOTARGET;
 	gib.velocity = v_to;
-	gib.giblifetime	= f_lifetime;
+	gib.giblifetime	= time + f_lifetime;
 
 	if (b_burn)
 	{
@@ -94,7 +69,7 @@
 		gib.nextthink = time + 0.05;
 	}
 	else
-		SUB_SetFade(gib, time + f_lifetime, 2);
+		SUB_SetFade(gib, gib.giblifetime, 2);
 };
 
 void onslaught_updatelinks()
@@ -574,18 +549,18 @@
 	{
 		i = random();
 		if(i < 0.3)
-			ons_throwgib(self.origin + '0 0 40', (100 * randomvec() - '1 1 1') * 11 + '0 0 20', "models/onslaught/gen_gib1.md3", 25, 1, 1);
+			ons_throwgib(self.origin + '0 0 40', (100 * randomvec() - '1 1 1') * 11 + '0 0 20', "models/onslaught/gen_gib1.md3", 6, TRUE);
 		else if(i > 0.7)
-			ons_throwgib(self.origin + '0 0 40', (100 * randomvec() - '1 1 1') * 12 + '0 0 20', "models/onslaught/gen_gib2.md3", 20, 1, 1);
+			ons_throwgib(self.origin + '0 0 40', (100 * randomvec() - '1 1 1') * 12 + '0 0 20', "models/onslaught/gen_gib2.md3", 6, TRUE);
 		else
-			ons_throwgib(self.origin + '0 0 40', (100 * randomvec() - '1 1 1') * 13 + '0 0 20', "models/onslaught/gen_gib3.md3", 15, 1, 1);
+			ons_throwgib(self.origin + '0 0 40', (100 * randomvec() - '1 1 1') * 13 + '0 0 20', "models/onslaught/gen_gib3.md3", 6, TRUE);
 	}
 
 	// Spawn fire balls
-	for(i=0;i < 6;++i)
+	for(i=0;i < 10;++i)
 	{
 		org = self.origin + randompos('-30 -30 -30' * i + '0 0 -20', '30 30 30' * i + '0 0 20');
-		onslaught_generator_boom_spawn(org, (6-i)/5+0.3);
+		pointparticles(particleeffectnum("onslaught_generator_gib_explode"), org, '0 0 0', 1);
 	}
 
 	// Short explosion sound + small explosion
@@ -716,11 +691,11 @@
 		sound(self, CHAN_TRIGGER, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
 		i = random();
 		if(i < 0.3)
-			ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib1.md3", 7, 1, 1);
+			ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib1.md3", 5, TRUE);
 		else if(i > 0.7)
-			ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib2.md3", 6, 1, 1);
+			ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib2.md3", 5, TRUE);
 		else
-			ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib3.md3", 5, 1, 1);
+			ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib3.md3", 5, TRUE);
 	}
 	else
 	{
@@ -737,7 +712,7 @@
 	//throw some gibs on damage
 	if(random() < damage/200+0.2)
 		if(random() < 0.5)
-			ons_throwgib(hitloc + '0 0 20', randomvec()*360, "models/onslaught/gen_gib1.md3", 1, 1, 0);
+			ons_throwgib(hitloc + '0 0 20', randomvec()*360, "models/onslaught/gen_gib1.md3", 5, FALSE);
 };
 
 // update links after a delay
@@ -936,7 +911,6 @@
 	precache_model("models/onslaught/generator_dmg8.md3");
 	precache_model("models/onslaught/generator_dmg9.md3");
 	precache_model("models/onslaught/generator_dead.md3");
-	precache_model("models/onslaught/boom.md3");
 	precache_model("models/onslaught/shockwave.md3");
 	precache_model("models/onslaught/shockwavetransring.md3");
 	precache_model("models/onslaught/gen_gib1.md3");
@@ -1072,13 +1046,13 @@
 			string t;
 			t = ColoredTeamName(attacker.team);
 			bprint(ColoredTeamName(self.team), " ", self.message, " control point destroyed by ", t, "\n");
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 25, "models/onslaught/controlpoint_icon_gib1.md3", 5, 1, 0);
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 45, "models/onslaught/controlpoint_icon_gib2.md3", 5, 1, 0);
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 45, "models/onslaught/controlpoint_icon_gib2.md3", 5, 1, 0);
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 5, 1, 0);
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 5, 1, 0);
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 5, 1, 0);
-			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 5, 1, 0);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 25, "models/onslaught/controlpoint_icon_gib1.md3", 3, FALSE);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 45, "models/onslaught/controlpoint_icon_gib2.md3", 3, FALSE);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 45, "models/onslaught/controlpoint_icon_gib2.md3", 3, FALSE);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 3, FALSE);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 3, FALSE);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 3, FALSE);
+			ons_throwgib(self.origin, (2 * randomvec() - '1 1 1') * 75, "models/onslaught/controlpoint_icon_gib4.md3", 3, FALSE);
 		}
 		self.owner.goalentity = world;
 		self.owner.islinked = FALSE;



More information about the nexuiz-commits mailing list