add sborka

This commit is contained in:
2026-03-31 10:27:04 +03:00
commit f5e5f56c84
2345 changed files with 382127 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
ENT.Type = "anim"
ENT.Base = "base_entity"
ENT.PrintName = "item"
ENT.Author = "Krede"
function ENT:PhysicsCollide( cdata, obj )
if( SERVER ) then
local line = {}
line.start = self:GetPos()
line.endpos = line.start + ( ( cdata.HitPos - line.start ) * 2 )
line.filter = {self}
local tr = util.TraceLine( line )
if IsValid(tr.Entity) then
tr.Entity:TakeDamage(10, self:GetNWEntity("Owner"), self:GetNWEntity("Owner"))
end
if tr.HitSky or !tr.HitWorld or cdata.HitNormal.z < 0 then
self:SetNWBool("Useless", true)
SafeRemoveEntityDelayed( self, 2 )
local phys = self:GetPhysicsObject()
if IsValid(phys) then
phys:EnableGravity(true)
end
return
end
-- Impact Effects
local effectdata = EffectData()
effectdata:SetOrigin( cdata.HitPos )
effectdata:SetNormal( cdata.HitNormal )
util.Effect( "ManhackSparks", effectdata )
self:EmitSound("weapons/iceaxe/iceaxe_impact1.wav", 75, 100)
if self:GetNWBool("Useless") then return end
self:SetAngles( cdata.HitNormal:Angle() + Angle(90,0,0) )
self:SetPos( cdata.HitPos - cdata.HitNormal*12 )
self:SetNotSolid(true)
if cdata.HitNormal.z == 0 then
self:SetNWVector("HitNormal", cdata.HitNormal)
elseif cdata.HitNormal.z == 1 then
local norm = cdata.HitNormal
norm.z = 0
self:SetNWVector("HitNormal", norm)
self:SetNWBool("MultiAngle", true)
else
local norm = cdata.HitNormal
norm.z = 0
self:SetNWVector("HitNormal", norm)
end
local phys = self:GetPhysicsObject()
if IsValid(phys) and !IsValid(cdata.HitEntity) and !self.Weld then
phys:EnableMotion(false)
end
self:SetCollisionGroup(COLLISION_GROUP_DEBRIS)
self:SetNWBool("Stuck", true)
self:SetNWFloat("ExpirationTime", CurTime() + 300)
SafeRemoveEntityDelayed(self, 300)
local pos = self:GetPos()
local line = {}
line.start = pos
line.endpos = pos + Vector(0,0,-16000)
line.filter = {}
for k,sent in pairs(ents.GetAll()) do
table.insert(line.filter, sent)
end
local tr = util.TraceLine( line )
self:SetNWVector("DownHit", tr.HitPos)
end
end