]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Some quick work on a feature for the minelayer which plays a sound at the end of...
authorSamual <samual@xonotic.org>
Mon, 7 Feb 2011 07:49:37 +0000 (02:49 -0500)
committerSamual <samual@xonotic.org>
Mon, 7 Feb 2011 07:49:37 +0000 (02:49 -0500)
balance25.cfg
balanceLeeStricklin.cfg
balanceSamual.cfg
balanceXonotic.cfg
balancetZork.cfg
qcsrc/server/autocvars.qh
qcsrc/server/w_minelayer.qc

index da8c00bfbffb83fcdae0b6752448f554a984d6d3..864d169c3baa3d23ff3a00fbfb28ee0b2a278b5b 100644 (file)
@@ -343,6 +343,7 @@ set g_balance_minelayer_radius 175
 set g_balance_minelayer_proximityradius 150
 set g_balance_minelayer_speed 750
 set g_balance_minelayer_lifetime 60
+set g_balance_minelayer_lifetime_countdown 0
 set g_balance_minelayer_refire 1.5
 set g_balance_minelayer_animtime 0.4
 set g_balance_minelayer_ammo 5
index 24bca821a83b9bd16dac9b06c41067963da5e535..547a040ae2ab0b32652f1210e10891156c603961 100644 (file)
@@ -343,6 +343,7 @@ set g_balance_minelayer_radius 175
 set g_balance_minelayer_proximityradius 150
 set g_balance_minelayer_speed 750
 set g_balance_minelayer_lifetime 60
+set g_balance_minelayer_lifetime_countdown 0
 set g_balance_minelayer_refire 1.3
 set g_balance_minelayer_animtime 0.4
 set g_balance_minelayer_ammo 5
index d476d74919473ca32e50f0684df6c7f554c01cad..1aeea25914e84c694a633bc59d3f4bfd34297c5d 100644 (file)
@@ -342,7 +342,8 @@ set g_balance_minelayer_force 250
 set g_balance_minelayer_radius 175
 set g_balance_minelayer_proximityradius 150
 set g_balance_minelayer_speed 750
-set g_balance_minelayer_lifetime 60
+set g_balance_minelayer_lifetime 3
+set g_balance_minelayer_lifetime_countdown 0.5
 set g_balance_minelayer_refire 1.5
 set g_balance_minelayer_animtime 0.4
 set g_balance_minelayer_ammo 5
index 5fbe291fe9cb65cc46e573b6f47bf92e709084b1..d3f3fba9c4fd6bb3e84e8efeb4dbf8e4138433c3 100644 (file)
@@ -343,6 +343,7 @@ set g_balance_minelayer_radius 175
 set g_balance_minelayer_proximityradius 150
 set g_balance_minelayer_speed 750
 set g_balance_minelayer_lifetime 60
+set g_balance_minelayer_lifetime_countdown 0
 set g_balance_minelayer_refire 1.5
 set g_balance_minelayer_animtime 0.3
 set g_balance_minelayer_ammo 5
index 7d9c1ed37ba936f7857bb5bcd0c540135b5f10a7..ed8ea42d58d687ea2a77f4e3053c2d7c9b20bd18 100644 (file)
@@ -343,6 +343,7 @@ set g_balance_minelayer_radius 175
 set g_balance_minelayer_proximityradius 150
 set g_balance_minelayer_speed 750
 set g_balance_minelayer_lifetime 60
+set g_balance_minelayer_lifetime_countdown 0
 set g_balance_minelayer_refire 1.5
 set g_balance_minelayer_animtime 0.4
 set g_balance_minelayer_ammo 5
index de7b4ecf853fa19d86da84960c678e977a9ba96e..28f218cdc4c8ec885fbc892143d00834f18b3c4a 100644 (file)
@@ -419,6 +419,7 @@ float autocvar_g_balance_minelayer_edgedamage;
 float autocvar_g_balance_minelayer_force;
 float autocvar_g_balance_minelayer_health;
 float autocvar_g_balance_minelayer_lifetime;
+float autocvar_g_balance_minelayer_lifetime_countdown;
 float autocvar_g_balance_minelayer_limit;
 float autocvar_g_balance_minelayer_protection;
 float autocvar_g_balance_minelayer_proximityradius;
index 07589cf0d4a14d99e3bf264d5aeef8a384bbb751..1d2b5c8024d57b1be9b382e7a66b9d34854a347e 100644 (file)
@@ -131,16 +131,14 @@ void W_Mine_Think (void)
        entity head;
 
        self.nextthink = time;
-       if (time > self.cnt)
+       if ((time > self.cnt) && (!self.mine_time))
        {
-               other = world;
-               self.projectiledeathtype |= HITTYPE_BOUNCE;
-               W_Mine_Explode();
-               return;
+               spamsound (self, CHAN_PROJECTILE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
+               self.mine_time = time + autocvar_g_balance_minelayer_lifetime_countdown;
        }
 
        // a player's mines shall explode if he disconnects or dies
-       // TODO: Do this on team change too
+       // TODO: Do this on team change too -- Samual: But isn't a player killed when they switch teams?
        if(self.owner.classname != "player" || self.owner.deadflag != DEAD_NO)
        {
                other = world;
@@ -165,7 +163,10 @@ void W_Mine_Think (void)
 
        // explode if it's time to
        if(self.mine_time && time >= self.mine_time)
+       {
                W_Mine_ProximityExplode();
+               return;
+       }
 
        // remote detonation
        if (self.owner.weapon == WEP_MINE_LAYER)
@@ -247,7 +248,7 @@ void W_Mine_Attack (void)
        mine.touch = W_Mine_Touch;
        mine.think = W_Mine_Think;
        mine.nextthink = time;
-       mine.cnt = time + autocvar_g_balance_minelayer_lifetime;
+       mine.cnt = time + (autocvar_g_balance_minelayer_lifetime - autocvar_g_balance_minelayer_lifetime_countdown);
        mine.flags = FL_PROJECTILE;
 
        CSQCProjectile(mine, TRUE, PROJECTILE_MINE, TRUE);