Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function SWEP:GetFireSound()
- local SND_NAME = self:GetSilenced() and self.Primary.Fire_S or self.Primary.Fire
- return SND_NAME
- end
- local distance = 1024
- function SWEP:HandleReverb(player)
- if self:GetSilenced() == true then
- return
- end
- local vecOrigin = player:GetShootPos()
- local vecAiming = player:GetAimVector()
- local vecAngles = vecAiming:Angle()
- -- Detect by traces
- local traces = {}
- local length = 0
- local directions = {
- vecAngles:Right(), -- right
- vecAngles:Right() *-1, -- left
- vecAngles:Up(), -- up
- vecAngles:Up() *-1, -- down
- vecAngles:Forward(), -- forward
- vecAngles:Forward() *-1, -- backward
- }
- for _,direction in pairs(directions) do
- local trace = {}
- trace.start = vecOrigin
- trace.endpos = vecOrigin + (direction * distance)
- trace.filter = player
- local traceRes = util.TraceLine(trace)
- table.insert(traces,traceRes)
- end
- for _,traceRes in pairs(traces) do
- length = length + (vecOrigin - traceRes.HitPos):Length()
- end
- local layer,reflection
- if length > 2500 then
- layer = "BTB_REVERB.LayerUrban"
- reflection = "BTB_REVERB.ReflectionUrban"
- else
- layer = "BTB_REVERB.LayerIndoor"
- reflection = "BTB_REVERB.ReflectionIndoor"
- end
- if self.Type == "Sniper Rifle" then
- layer = "BTB_REVERB.ReflectionSniper"
- end
- if self.Type == "Pistol" or self.Type == "Revolver" then
- layer = "BTB_REVERB.ReflectionUrbanPistol"
- end
- self:EmitSoundPredicted(layer)
- self:EmitSoundPredicted(reflection)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement