local unmissing_1 = { targetname = "fixgrenadeparticles", effect_name = "asplode_hoodoo_dust", start_active = "1", origin = "0, 0, -500000", } local unmissing_2 = { targetname = "fixgrenadeparticles", -- effect_name = "cinefx_goldrush_flash", effect_name = "asplode_hoodoo_flash", start_active = "1", origin = "0, 0, -500000", } local unmissing_3 = { targetname = "fixgrenadeparticles", effect_name = "asplode_hoodoo_embers", start_active = "1", origin = "0, 0, -500000", } ents.CreateWithKeys("info_particle_system", unmissing_1, true, true) ents.CreateWithKeys("info_particle_system", unmissing_2, true, true) ents.CreateWithKeys("info_particle_system", unmissing_3, true, true) function grenadetick(_, activator) local origin = activator:GetAbsOrigin() activator:PlaySound("=70|player/cyoa_pda_beep3.wav") util.ParticleEffect("powercore_flash_red", origin, nil, activator) end function grenadeparticle(_, activator) if activator ~= nil then -- заткнись нахуй local origin = activator:GetAbsOrigin() util.ParticleEffect("asplode_hoodoo_embers", origin, nil, nil) util.ParticleEffect("asplode_hoodoo_flash", origin, nil, nil) util.ParticleEffect("asplode_hoodoo_dust", origin, nil, nil) end end local damagefunc = function(player, damageinfo) local inflictor = damageinfo.Inflictor local wep = damageinfo.Weapon if damageinfo.DamageCustom == TF_DMG_CUSTOM_CANNONBALL_PUSH and inflictor ~= nil and inflictor.isgrenade == 1 then damageinfo.DamageCustom = TF_DMG_CUSTOM_NONE damageinfo.DamageType = 2050 damageinfo.Damage = 15 damageinfo.DamageForce = Vector(0,0,0) damageinfo.Attacker:PlaySoundToSelf("Weapon_LooseCannon.BallImpact") player:PlaySound("Weapon_LooseCannon.BallImpact") if wep:GetAttributeValue("throwable healing") == 1 then if player.m_bIsMiniBoss == 0 then player:StunPlayer(8, 1, TF_STUNFLAG_BONKSTUCK | TF_STUNFLAG_LIMITMOVEMENT | TF_STUNFLAG_SLOWDOWN, damageinfo.Attacker) elseif player.m_bIsMiniBoss == 1 then player:StunPlayer(1, 1, TF_STUNFLAG_BONKSTUCK | TF_STUNFLAG_LIMITMOVEMENT | TF_STUNFLAG_SLOWDOWN, damageinfo.Attacker) end end return true end end local damagefunc_ent = function(ent, damageinfo) local inflictor = damageinfo.Inflictor local wep = damageinfo.Weapon if damageinfo.DamageCustom == TF_DMG_CUSTOM_CANNONBALL_PUSH and inflictor ~= nil and inflictor.isgrenade == 1 then damageinfo.DamageCustom = TF_DMG_CUSTOM_NONE damageinfo.DamageType = 2 damageinfo.Damage = 15 damageinfo.DamageForce = Vector(0,0,0) ent:PlaySound("Metal_Box.BulletImpact") return true end end function OnPlayerConnected(player) player:AddCallback(ON_DAMAGE_RECEIVED_PRE, damagefunc) end ents.AddCreateCallback("tank*", function(ent) ent:AddCallback(ON_DAMAGE_RECEIVED_PRE, damagefunc_ent) end) ents.AddCreateCallback("obj*", function(ent) ent:AddCallback(ON_DAMAGE_RECEIVED_PRE, damagefunc_ent) end)