Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AddCSLuaFile("cl_init.lua")
- AddCSLuaFile("shared.lua")
- include("shared.lua")
- AccessorFunc(ENT, "HasCollided", "HasCollided")
- AccessorFunc(ENT, "CollisionPosition", "CollisionPosition")
- AccessorFunc(ENT, "CollisionNormal", "CollisionNormal")
- hook.Add("TTTPrepareRound", "ValkyrieCameraCleanUp", function()
- for _, camera in pairs(ents.FindByClass("valkyrie_camera")) do
- camera:Remove()
- end
- end)
- function ENT:PhysicsCollide(colData, collider)
- local ent = colData.HitEntity
- if !ent:IsWorld() then self:DropToFloor() return end
- self:SetHasCollided(true)
- self:SetCollisionPosition(colData.HitPos)
- self:SetCollisionNormal(colData.HitNormal)
- local phys = self:GetPhysicsObject()
- if IsValid(phys) then
- phys:EnableMotion(false)
- end
- end
- function ENT:OnTakeDamage(damage)
- print("ENT:OnTakeDamage")
- print(damage)
- if (IsValid(self)) then
- self:SetHealth(self:Health() - damage:GetDamage())
- if (self:Health() <= 0) then
- local attacker = damage:GetAttacker()
- if (IsValid(attacker)) then
- self:SetPlacer(attacker)
- end
- self:Remove()
- end
- end
- end
- function ENT:Think()
- if IsValid(self) and self:GetHasCollided() then
- local phys = self:GetPhysicsObject()
- if IsValid(phys) then
- phys:EnableMotion(false)
- end
- local pos = self:GetCollisionPosition()
- local norm = self:GetCollisionNormal()
- local ang = norm:Angle()
- ang.p = ang.p - 90
- self:SetPos(pos)
- self:SetAngles(ang)
- self:SetHasCollided(false)
- self:SetCollisionPosition(nil)
- self:SetCollisionNormal(nil)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment