X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_minelayer.qc;h=4d98f0c91cd50927abfecdacd53c1b82c6a35dec;hb=19a4a52c42e00347a51b62ff1e5adcadecda31e0;hp=1012f9a81a82ab14059516f1d858bf9c8bdb79ba;hpb=22042893e4c8ce0f178043ace460c7831c3df4d2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index 1012f9a81..4d98f0c91 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer")) +REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer")) #else #ifdef SVQC void W_Mine_Think (void); @@ -149,7 +149,7 @@ void W_Mine_ProximityExplode () float W_Mine_Count(entity e) { - float minecount; + float minecount = 0; entity mine; for(mine = world; (mine = find(mine, classname, "mine")); ) if(mine.realowner == e) minecount += 1; @@ -267,7 +267,7 @@ void W_Mine_Attack (void) if(W_Mine_Count(self) >= autocvar_g_balance_minelayer_limit) { // the refire delay keeps this message from being spammed - sprint(self, strcat("You cannot place more than ^2", ftos(autocvar_g_balance_minelayer_limit), " ^7mines at a time\n") ); + sprint(self, strcat("minelayer: You cannot place more than ^2", ftos(autocvar_g_balance_minelayer_limit), " ^7mines at a time\n") ); play2(self, "weapons/unavailable.wav"); return; } @@ -308,6 +308,7 @@ void W_Mine_Attack (void) mine.nextthink = time; mine.cnt = time + (autocvar_g_balance_minelayer_lifetime - autocvar_g_balance_minelayer_lifetime_countdown); mine.flags = FL_PROJECTILE; + mine.missile_flags = MIF_SPLASH | MIF_ARC | MIF_PROXY; CSQCProjectile(mine, TRUE, PROJECTILE_MINE, TRUE); @@ -325,12 +326,10 @@ void W_Mine_Attack (void) self.minelayer_mines = W_Mine_Count(self); } -void spawnfunc_weapon_minelayer (void); // defined in t_items.qc - float W_PlacedMines(float detonate) { entity mine; - float minfound; + float minfound = 0; for(mine = world; (mine = find(mine, classname, "mine")); ) if(mine.realowner == self) { @@ -511,7 +510,7 @@ float w_minelayer(float req) W_Reload(autocvar_g_balance_minelayer_ammo, autocvar_g_balance_minelayer_reload_ammo, autocvar_g_balance_minelayer_reload_time, "weapons/reload.wav"); } return TRUE; -}; +} #endif #ifdef CSQC float w_minelayer(float req) @@ -529,7 +528,10 @@ float w_minelayer(float req) precache_sound("weapons/mine_exp.wav"); } else if (req == WR_SUICIDEMESSAGE) - w_deathtypestring = _("%s exploded"); + if(w_deathtype & HITTYPE_BOUNCE) // (remote detonation) + w_deathtypestring = _("%s blew themself up with their minelayer"); + else + w_deathtypestring = _("%s forgot about their mine"); else if (req == WR_KILLMESSAGE) { if(w_deathtype & HITTYPE_BOUNCE) // (remote detonation)