[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