for fuck sake github fuck you

This commit is contained in:
relaxtakenotes 2023-06-04 13:35:06 +05:00
parent 9597909c73
commit c8624ef683

View file

@ -305,9 +305,7 @@ hook.Add("ShouldCollide", "NoPlayerCollisions", function(ent1, ent2)
if ent2.BRCollisionFunc then
return ent2:BRCollisionFunc(ent1)
else
if ent1.br_Fired or ent2.br_Fired then
return true
end
if (ent1.br_Fired and ent2.br_FiredBy == ent1) or (ent2.br_Fired and ent1.br_FiredBy == ent2) then return true end
return false
end
@ -316,10 +314,34 @@ hook.Add("ShouldCollide", "NoPlayerCollisions", function(ent1, ent2)
if ent2:IsPlayer() and ent1:IsNPC() then return true end
end)
local function calc_fov(src, dst)
local v_src = src:Forward()
local v_dst = dst:Forward()
local result = math.deg(math.acos(v_dst:Dot(v_src) / v_dst:Length()))
if result != result or (result == math.huge or result == -math.huge) then
result = 0
end
return result
end
// i was forced
hook.Add("EntityFireBullets", "thisengineismadebyacrackhead", function(ent, data)
hook.Add("EntityFireBullets", "thisengineismadebyacrackhead", function(ent, data)
if not IsValid(ent) or not isfunction(ent.GetShootPos) or not ent:IsPlayer() then return end
for i, ply in ipairs(player.GetAll()) do
if ply == ent then continue end
local fov = calc_fov(data.Dir:Angle(), (ply:GetShootPos() - data.Src):Angle())
if fov > 60 then continue end
ply.br_FiredBy = ent
timer.Simple(engine.TickInterval()*3, function() if IsValid(ply) then ply.br_FiredBy = nil end end)
end
ent.br_Fired = true
timer.Simple(engine.TickInterval()*2, function() if IsValid(ent) then ent.br_Fired = false end end)
timer.Simple(engine.TickInterval()*3, function() if IsValid(ent) then ent.br_Fired = false end end)
end)
hook.Add("PhysgunPickup", "AllowPlayerPickup", function(ply, ent)
@ -490,19 +512,4 @@ hook.Add("PlayerSpawn", "ResetStateTransition", function(ply, transition)
end)
end)
player_manager.RegisterClass("player_beatrun", PLAYER, "player_default")elf:GetSafetyRollTime() > CurTime()
end
hook.Add("PlayerSpawn", "ResetStateTransition", function(ply, transition)
timer.Simple(0, function()
if transition and IsValid(ply) then
ply:ResetParkourTimes()
ply:SetJumpPower(230)
ply:SetFOV(ply:GetInfoNum("Beatrun_FOV", 110))
ply:SetCanZoom(false)
ply.ClimbingTrace = nil
end
end)
end)
player_manager.RegisterClass("player_beatrun", PLAYER, "player_default")