X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fw_fireball.qc;h=7d9ef6c04e3a39b937899414abe51c0cee345a59;hb=30e9db455abe691a3560555a989beb382b3b2531;hp=508a8ba1a04123726fcc8b4ce490ed684f1404ef;hpb=d15a2b33681ddfeb3d734846505fd55339ac4054;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_fireball.qc b/qcsrc/server/w_fireball.qc index 508a8ba1a..7d9ef6c04 100644 --- a/qcsrc/server/w_fireball.qc +++ b/qcsrc/server/w_fireball.qc @@ -28,7 +28,7 @@ void W_Fireball_Explode (void) // 2. bfg effect // NOTE: this cannot be made warpzone aware by design. So, better intentionally ignore warpzones here. for(e = findradius(self.origin, autocvar_g_balance_fireball_primary_bfgradius); e; e = e.chain) - if(e != self.realowner) if(e.takedamage == DAMAGE_AIM) if(e.classname != "player" || !self.realowner || IsDifferentTeam(e, self)) + if(e != self.realowner) if(e.takedamage == DAMAGE_AIM) if(!IS_PLAYER(e) || !self.realowner || IsDifferentTeam(e, self)) { // can we see fireball? traceline(e.origin + e.view_ofs, self.origin, MOVE_NORMAL, e); @@ -73,7 +73,7 @@ void W_Fireball_LaserPlay(float dt, float dist, float damage, float edgedamage, RandomSelection_Init(); for(e = WarpZone_FindRadius(self.origin, dist, TRUE); e; e = e.chain) - if(e != self.realowner) if(e.takedamage == DAMAGE_AIM) if(e.classname != "player" || !self.realowner || IsDifferentTeam(e, self)) + if(e != self.realowner) if(e.takedamage == DAMAGE_AIM) if(!IS_PLAYER(e) || !self.realowner || IsDifferentTeam(e, self)) { p = e.origin; p_x += e.mins_x + random() * (e.maxs_x - e.mins_x); @@ -374,6 +374,24 @@ float w_fireball(float req) { self.fireball_primarytime = time; } + else if (req == WR_SUICIDEMESSAGE) + { + if(w_deathtype & HITTYPE_SECONDARY) + return WEAPON_FIREBALL_SUICIDE_FIREMINE; + else + return WEAPON_FIREBALL_SUICIDE_BLAST; + } + else if (req == WR_KILLMESSAGE) + { + if(w_deathtype & HITTYPE_SECONDARY) + { + return WEAPON_FIREBALL_MURDER_FIREMINE; + } + else + { + return WEAPON_FIREBALL_MURDER_BLAST; + } + } return TRUE; } #endif @@ -399,34 +417,7 @@ float w_fireball(float req) { precache_sound("weapons/fireball_impact2.wav"); } - else if (req == WR_SUICIDEMESSAGE) - { - if(w_deathtype & HITTYPE_SECONDARY) - w_deathtypestring = _("%s forgot about some firemine"); - else - w_deathtypestring = _("%s should have used a smaller gun"); - } - else if (req == WR_KILLMESSAGE) - { - if(w_deathtype & HITTYPE_SECONDARY) - { - w_deathtypestring = _("%s fatefully ignored %s's firemine"); - } - else - { - if(w_deathtype & HITTYPE_BOUNCE) - { - if(w_deathtype & HITTYPE_SPLASH) // BFG effect - w_deathtypestring = _("%s could not hide from %s's fireball"); - else // laser - w_deathtypestring = _("%s saw the pretty lights of %s's fireball"); - } - else if(w_deathtype & HITTYPE_SPLASH) - w_deathtypestring = _("%s got too close to %s's fireball"); - else - w_deathtypestring = _("%s tasted %s's fireball"); - } - } + return TRUE; } #endif