From: Mircea Kitsune Date: Mon, 4 Oct 2010 12:55:01 +0000 (+0300) Subject: First step toward a mine delayed detonation. Not ready yet X-Git-Tag: xonotic-v0.1.0preview~307^2~33^2~34 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=61d06a2a1385085bf4eb23e528e966659756d3d7;p=xonotic%2Fxonotic-data.pk3dir.git First step toward a mine delayed detonation. Not ready yet --- diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index a3d6a0e2a..5c2c315c2 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -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 diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index 8709bd195..89ca1f2ad 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -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)