]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
First step toward a mine delayed detonation. Not ready yet
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 4 Oct 2010 12:55:01 +0000 (15:55 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 4 Oct 2010 12:55:01 +0000 (15:55 +0300)
balanceXonotic.cfg
qcsrc/server/w_minelayer.qc

index a3d6a0e2a312a19d0d18850f78b8c8a38b0f1d24..5c2c315c27280f329caa6fb1f41f8c9162dc5578 100644 (file)
@@ -319,6 +319,7 @@ set g_balance_minelayer_health 10
 set g_balance_minelayer_limit 4 // 0 disables the limit
 set g_balance_minelayer_damageforcescale 0
 set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time
+set g_balance_minelayer_time 1
 set g_balance_minelayer_remote_damage 45
 set g_balance_minelayer_remote_edgedamage 40
 set g_balance_minelayer_remote_radius 200
index 8709bd19510a0b7044ec80f48d1470ea9bf88546..89ca1f2ad2515ac63188a70a6b2788f778465da3 100644 (file)
@@ -3,7 +3,7 @@ REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 9, WEP_FLAG_NORMAL | WEP_TY
 #else
 #ifdef SVQC
 .float minelayer_detonate;
-.float mine_number;
+.float mine_number, mine_time;
 
 void spawnfunc_weapon_minelayer (void)
 {
@@ -99,10 +99,16 @@ void W_Mine_Think (void)
                if(head.classname == "player" && head.deadflag == DEAD_NO)
                if(head != self.owner)
                if(IsDifferentTeam(head, self.owner)) // don't detonate for team mates
-                       W_Mine_Explode();
+               {
+                       self.mine_time = time + cvar("g_balance_minelayer_time");
+               }
                head = head.chain;
        }
 
+       // explode if it's time
+       if(time >= self.mine_time)
+               W_Mine_Explode();
+
        // remote detonation
        if (self.owner.weapon == WEP_MINE_LAYER)
        if (self.owner.deadflag == DEAD_NO)