X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_grenadelauncher.qc;h=21bc9afbd461c27944756ee4cd9a46c61ac910d5;hb=6018d119b3c9f4e54d6d21f6339948708c83d83f;hp=7a405d30bc1d430742d85461f35f6590808755c1;hpb=738e2ebdf9d63a4957f1d9883558bd6bc09cbfcd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_grenadelauncher.qc b/qcsrc/server/w_grenadelauncher.qc index 7a405d30b..21bc9afbd 100644 --- a/qcsrc/server/w_grenadelauncher.qc +++ b/qcsrc/server/w_grenadelauncher.qc @@ -20,7 +20,7 @@ void W_Grenade_Explode (void) if(self.movetype == MOVETYPE_NONE) self.velocity = self.oldvelocity; - RadiusDamage (self, self.realowner, autocvar_g_balance_grenadelauncher_primary_damage, autocvar_g_balance_grenadelauncher_primary_edgedamage, autocvar_g_balance_grenadelauncher_primary_radius, world, autocvar_g_balance_grenadelauncher_primary_force, self.projectiledeathtype, other); + RadiusDamage (self, self.realowner, autocvar_g_balance_grenadelauncher_primary_damage, autocvar_g_balance_grenadelauncher_primary_edgedamage, autocvar_g_balance_grenadelauncher_primary_radius, world, world, autocvar_g_balance_grenadelauncher_primary_force, self.projectiledeathtype, other); remove (self); } @@ -40,7 +40,7 @@ void W_Grenade_Explode2 (void) if(self.movetype == MOVETYPE_NONE) self.velocity = self.oldvelocity; - RadiusDamage (self, self.realowner, autocvar_g_balance_grenadelauncher_secondary_damage, autocvar_g_balance_grenadelauncher_secondary_edgedamage, autocvar_g_balance_grenadelauncher_secondary_radius, world, autocvar_g_balance_grenadelauncher_secondary_force, self.projectiledeathtype, other); + RadiusDamage (self, self.realowner, autocvar_g_balance_grenadelauncher_secondary_damage, autocvar_g_balance_grenadelauncher_secondary_edgedamage, autocvar_g_balance_grenadelauncher_secondary_radius, world, world, autocvar_g_balance_grenadelauncher_secondary_force, self.projectiledeathtype, other); remove (self); } @@ -50,13 +50,11 @@ void W_Grenade_Damage (entity inflictor, entity attacker, float damage, float de if (self.health <= 0) return; - if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, 0)) // no exceptions + if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, -1)) // no exceptions return; // g_projectiles_damage says to halt self.health = self.health - damage; - print(strcat("grenade health ", ftos(self.health), " after ", ftos(damage), " damage... (at time: ", ftos(time), ")\n")); - if (self.health <= 0) W_PrepareExplosionByDamage(attacker, self.use); } @@ -169,7 +167,7 @@ void W_Grenade_Touch2 (void) void W_Grenade_Attack (void) { - local entity gren; + entity gren; W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_grenadelauncher_primary_ammo, autocvar_g_balance_grenadelauncher_reload_ammo); @@ -202,6 +200,7 @@ void W_Grenade_Attack (void) gren.damageforcescale = autocvar_g_balance_grenadelauncher_primary_damageforcescale; gren.event_damage = W_Grenade_Damage; gren.damagedbycontents = TRUE; + gren.missile_flags = MIF_SPLASH | MIF_ARC; W_SETUPPROJECTILEVELOCITY_UP(gren, g_balance_grenadelauncher_primary); gren.angles = vectoangles (gren.velocity); @@ -217,7 +216,7 @@ void W_Grenade_Attack (void) void W_Grenade_Attack2 (void) { - local entity gren; + entity gren; W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_grenadelauncher_secondary_ammo, autocvar_g_balance_grenadelauncher_reload_ammo); @@ -249,6 +248,7 @@ void W_Grenade_Attack2 (void) gren.damageforcescale = autocvar_g_balance_grenadelauncher_secondary_damageforcescale; gren.event_damage = W_Grenade_Damage; gren.damagedbycontents = TRUE; + gren.missile_flags = MIF_SPLASH | MIF_ARC; W_SETUPPROJECTILEVELOCITY_UP(gren, g_balance_grenadelauncher_secondary); gren.angles = vectoangles (gren.velocity); @@ -353,13 +353,13 @@ float w_glauncher(float req) else if (req == WR_CHECKAMMO1) { ammo_amount = self.ammo_rockets >= autocvar_g_balance_grenadelauncher_primary_ammo; - ammo_amount += self.weapon_load[WEP_GRENADE_LAUNCHER] >= autocvar_g_balance_grenadelauncher_primary_ammo; + ammo_amount += self.(weapon_load[WEP_GRENADE_LAUNCHER]) >= autocvar_g_balance_grenadelauncher_primary_ammo; return ammo_amount; } else if (req == WR_CHECKAMMO2) { ammo_amount = self.ammo_rockets >= autocvar_g_balance_grenadelauncher_secondary_ammo; - ammo_amount += self.weapon_load[WEP_GRENADE_LAUNCHER] >= autocvar_g_balance_grenadelauncher_secondary_ammo; + ammo_amount += self.(weapon_load[WEP_GRENADE_LAUNCHER]) >= autocvar_g_balance_grenadelauncher_secondary_ammo; return ammo_amount; } else if (req == WR_RELOAD) @@ -367,7 +367,7 @@ float w_glauncher(float req) W_Reload(min(autocvar_g_balance_grenadelauncher_primary_ammo, autocvar_g_balance_grenadelauncher_secondary_ammo), autocvar_g_balance_grenadelauncher_reload_ammo, autocvar_g_balance_grenadelauncher_reload_time, "weapons/reload.wav"); } return TRUE; -}; +} #endif #ifdef CSQC float w_glauncher(float req) @@ -387,9 +387,9 @@ float w_glauncher(float req) else if (req == WR_SUICIDEMESSAGE) { if(w_deathtype & HITTYPE_SECONDARY) - w_deathtypestring = _("%s tried out his own grenade"); + w_deathtypestring = _("%s didn't see their own grenade"); else - w_deathtypestring = _("%s detonated"); + w_deathtypestring = _("%s blew themself up with their grenadelauncher"); } else if (req == WR_KILLMESSAGE) {