mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 05:43:46 +03:00
Upload
This commit is contained in:
132
addons/pillpack/lua/weapons/pill_wep_alyxgun.lua
Normal file
132
addons/pillpack/lua/weapons/pill_wep_alyxgun.lua
Normal file
@@ -0,0 +1,132 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
AddCSLuaFile()
|
||||
SWEP.ViewModel = "models/weapons/c_arms_citizen.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_alyx_gun.mdl"
|
||||
SWEP.Primary.ClipSize = 30
|
||||
SWEP.Primary.DefaultClip = 30
|
||||
SWEP.Primary.Automatic = true
|
||||
SWEP.Primary.Ammo = "smg1"
|
||||
SWEP.Secondary.ClipSize = -1
|
||||
SWEP.Secondary.DefaultClip = -1
|
||||
SWEP.Secondary.Automatic = false
|
||||
SWEP.Secondary.Ammo = "none"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.AdminSpawnable = true
|
||||
SWEP.PrintName = "Alyx's Gun"
|
||||
SWEP.Category = "Pill Pack Weapons"
|
||||
SWEP.Slot = 1
|
||||
|
||||
function SWEP:SetupDataTables()
|
||||
self:NetworkVar("Int", 0, "Mode")
|
||||
end
|
||||
|
||||
function SWEP:Initialize()
|
||||
self:SetHoldType("pistol")
|
||||
self:SetMode(0)
|
||||
end
|
||||
|
||||
function SWEP:PrimaryAttack()
|
||||
if (not self:CanPrimaryAttack()) then return end
|
||||
local spread = .01
|
||||
|
||||
if self:GetMode() == 0 then
|
||||
spread = .02
|
||||
elseif self:GetMode() == 1 then
|
||||
spread = .06
|
||||
end
|
||||
|
||||
local bullet = {}
|
||||
bullet.Num = 1
|
||||
bullet.Src = self.Owner:GetShootPos()
|
||||
bullet.Dir = self.Owner:GetAimVector()
|
||||
bullet.Spread = Vector(spread, spread, 0)
|
||||
bullet.Tracer = 1
|
||||
bullet.TracerName = "Tracer"
|
||||
bullet.Force = 5
|
||||
|
||||
if self:GetMode() == 0 then
|
||||
bullet.Damage = 10
|
||||
elseif self:GetMode() == 1 then
|
||||
bullet.Damage = 5
|
||||
else
|
||||
bullet.Damage = 50
|
||||
end
|
||||
|
||||
self:ShootEffects()
|
||||
self.Owner:FireBullets(bullet)
|
||||
|
||||
if SERVER then
|
||||
sound.Play("npc/sniper/echo1.wav", self:GetPos(), 100, 100, 1)
|
||||
|
||||
if self:GetMode() == 0 then
|
||||
sound.Play("weapons/pistol/pistol_fire2.wav", self:GetPos(), 100, 100, 1)
|
||||
elseif self:GetMode() == 1 then
|
||||
sound.Play("weapons/smg1/smg1_fireburst1.wav", self:GetPos(), 100, 100, 1)
|
||||
else
|
||||
sound.Play("weapons/357/357_fire2.wav", self:GetPos(), 100, 100, 1)
|
||||
end
|
||||
end
|
||||
|
||||
self:TakePrimaryAmmo(1)
|
||||
local delay = 1
|
||||
|
||||
if self:GetMode() == 0 then
|
||||
delay = .3
|
||||
elseif self:GetMode() == 1 then
|
||||
delay = .1
|
||||
end
|
||||
|
||||
self:SetNextPrimaryFire(CurTime() + delay)
|
||||
end
|
||||
|
||||
function SWEP:SecondaryAttack()
|
||||
if CLIENT then return end
|
||||
|
||||
if self:GetMode() < 2 then
|
||||
self:SetMode(self:GetMode() + 1)
|
||||
else
|
||||
self:SetMode(0)
|
||||
end
|
||||
|
||||
if self:GetMode() == 0 then
|
||||
self.Owner:ChatPrint("Pistol Mode")
|
||||
self:SetHoldType("pistol")
|
||||
self:PillAnim("weapon_pistol")
|
||||
elseif self:GetMode() == 1 then
|
||||
self.Owner:ChatPrint("SMG Mode")
|
||||
self:SetHoldType("smg")
|
||||
self:PillAnim("weapon_smg")
|
||||
elseif self:GetMode() == 2 then
|
||||
self.Owner:ChatPrint("Rifle Mode")
|
||||
self:SetHoldType("ar2")
|
||||
self:PillAnim("weapon_rifle")
|
||||
end
|
||||
|
||||
self.Owner:EmitSound("weapons/smg1/switch_single.wav")
|
||||
end
|
||||
|
||||
function SWEP:Reload()
|
||||
if self.ReloadingTime and CurTime() <= self.ReloadingTime then return end
|
||||
|
||||
if (self:Clip1() < self.Primary.ClipSize and self.Owner:GetAmmoCount(self.Primary.Ammo) > 0) then
|
||||
self:EmitSound("weapons/pistol/pistol_reload1.wav")
|
||||
self:DefaultReload(ACT_VM_RELOAD)
|
||||
self.ReloadingTime = CurTime() + 1
|
||||
self:SetNextPrimaryFire(CurTime() + 1)
|
||||
end
|
||||
end
|
||||
|
||||
function SWEP:PillAnim(anim)
|
||||
if IsValid(self.pill_proxy) then
|
||||
self.pill_proxy:ResetSequence(self.pill_proxy:LookupSequence(anim))
|
||||
end
|
||||
end
|
||||
59
addons/pillpack/lua/weapons/pill_wep_annabelle.lua
Normal file
59
addons/pillpack/lua/weapons/pill_wep_annabelle.lua
Normal file
@@ -0,0 +1,59 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
AddCSLuaFile()
|
||||
SWEP.ViewModel = "models/weapons/c_arms_citizen.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_annabelle.mdl"
|
||||
SWEP.Primary.ClipSize = 2
|
||||
SWEP.Primary.DefaultClip = 2
|
||||
SWEP.Primary.Automatic = false
|
||||
SWEP.Primary.Ammo = "357"
|
||||
SWEP.Secondary.ClipSize = -1
|
||||
SWEP.Secondary.DefaultClip = -1
|
||||
SWEP.Secondary.Automatic = false
|
||||
SWEP.Secondary.Ammo = "none"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.AdminSpawnable = true
|
||||
SWEP.PrintName = "Annabelle"
|
||||
SWEP.Category = "Pill Pack Weapons"
|
||||
SWEP.Slot = 3
|
||||
|
||||
function SWEP:Initialize()
|
||||
self:SetHoldType("crossbow")
|
||||
end
|
||||
|
||||
function SWEP:PrimaryAttack()
|
||||
if (not self:CanPrimaryAttack()) then return end
|
||||
local bullet = {}
|
||||
bullet.Num = 1
|
||||
bullet.Src = self.Owner:GetShootPos()
|
||||
bullet.Dir = self.Owner:GetAimVector()
|
||||
bullet.Spread = Vector(.01, .01, 0)
|
||||
bullet.Tracer = 1
|
||||
bullet.TracerName = "Tracer"
|
||||
bullet.Force = 5
|
||||
bullet.Damage = 50
|
||||
self:ShootEffects()
|
||||
self.Owner:FireBullets(bullet)
|
||||
self:EmitSound("weapons/shotgun/shotgun_fire6.wav")
|
||||
self:TakePrimaryAmmo(1)
|
||||
self:SetNextPrimaryFire(CurTime() + .5)
|
||||
end
|
||||
|
||||
function SWEP:Reload()
|
||||
if self.ReloadingTime and CurTime() <= self.ReloadingTime then return end
|
||||
|
||||
if (self:Clip1() < self.Primary.ClipSize and self.Owner:GetAmmoCount(self.Primary.Ammo) > 0) then
|
||||
self:EmitSound("weapons/shotgun/shotgun_reload1.wav")
|
||||
self:DefaultReload(ACT_VM_RELOAD)
|
||||
self.ReloadingTime = CurTime() + 1
|
||||
self:SetNextPrimaryFire(CurTime() + 1)
|
||||
end
|
||||
end
|
||||
35
addons/pillpack/lua/weapons/pill_wep_holstered.lua
Normal file
35
addons/pillpack/lua/weapons/pill_wep_holstered.lua
Normal file
@@ -0,0 +1,35 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
--SWEP.base = "weapon_base"
|
||||
AddCSLuaFile()
|
||||
SWEP.ViewModel = "models/weapons/c_arms_citizen.mdl"
|
||||
SWEP.WorldModel = ""
|
||||
SWEP.Primary.ClipSize = -1
|
||||
SWEP.Primary.DefaultClip = -1
|
||||
SWEP.Primary.Automatic = false
|
||||
SWEP.Primary.Ammo = "none"
|
||||
SWEP.Secondary.ClipSize = -1
|
||||
SWEP.Secondary.DefaultClip = -1
|
||||
SWEP.Secondary.Automatic = false
|
||||
SWEP.Secondary.Ammo = "none"
|
||||
--[[SWEP.Spawnable=true
|
||||
SWEP.AdminSpawnable=true]]
|
||||
SWEP.PrintName = "Holstered"
|
||||
|
||||
function SWEP:Initialize()
|
||||
self:SetHoldType("normal")
|
||||
end
|
||||
|
||||
function SWEP:PrimaryAttack()
|
||||
end
|
||||
|
||||
function SWEP:SecondaryAttack()
|
||||
end
|
||||
137
addons/pillpack/lua/weapons/pill_wep_morphgun.lua
Normal file
137
addons/pillpack/lua/weapons/pill_wep_morphgun.lua
Normal file
@@ -0,0 +1,137 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
AddCSLuaFile()
|
||||
SWEP.ViewModel = "models/weapons/c_toolgun.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_toolgun.mdl"
|
||||
SWEP.Primary.ClipSize = -1
|
||||
SWEP.Primary.DefaultClip = -1
|
||||
SWEP.Primary.Automatic = false
|
||||
SWEP.Primary.Ammo = "none"
|
||||
SWEP.Secondary.ClipSize = -1
|
||||
SWEP.Secondary.DefaultClip = -1
|
||||
SWEP.Secondary.Automatic = false
|
||||
SWEP.Secondary.Ammo = "none"
|
||||
SWEP.PrintName = "Morph Gun"
|
||||
|
||||
function SWEP:SetupDataTables()
|
||||
self:NetworkVar("String", 1, "Form")
|
||||
self:NetworkVar("Int", 1, "Mode")
|
||||
end
|
||||
|
||||
function SWEP:Initialize()
|
||||
self:SetHoldType("pistol")
|
||||
self.nextreload = 0
|
||||
end
|
||||
|
||||
function SWEP:PrimaryAttack()
|
||||
if SERVER and self.Owner:IsAdmin() then
|
||||
local ply = self.Owner:GetEyeTrace().Entity
|
||||
|
||||
if ply:GetClass() == "pill_ent_phys" then
|
||||
ply:EmitSound("npc/manhack/bat_away.wav")
|
||||
ply = ply:GetPillUser()
|
||||
elseif not ply:IsPlayer() then
|
||||
return
|
||||
else
|
||||
ply:EmitSound("npc/manhack/bat_away.wav")
|
||||
end
|
||||
|
||||
local mode = self:GetMode()
|
||||
|
||||
if mode == 0 then
|
||||
mode = "force"
|
||||
elseif mode == 1 then
|
||||
mode = "lock-life"
|
||||
elseif mode == 2 then
|
||||
mode = "lock-map"
|
||||
elseif mode == 3 then
|
||||
mode = "lock-perma"
|
||||
end
|
||||
|
||||
pk_pills.apply(ply, self:GetForm(), mode)
|
||||
self.Owner:EmitSound("weapons/airboat/airboat_gun_energy2.wav")
|
||||
end
|
||||
end
|
||||
|
||||
function SWEP:SecondaryAttack()
|
||||
if SERVER and self.Owner:IsAdmin() then
|
||||
local ply = self.Owner:GetEyeTrace().Entity
|
||||
|
||||
if ply:GetClass() == "pill_ent_phys" then
|
||||
ply:EmitSound("npc/manhack/bat_away.wav")
|
||||
ply = ply:GetPillUser()
|
||||
elseif not ply:IsPlayer() then
|
||||
return
|
||||
else
|
||||
ply:EmitSound("npc/manhack/bat_away.wav")
|
||||
end
|
||||
|
||||
pk_pills.restore(ply, true)
|
||||
self.Owner:EmitSound("weapons/airboat/airboat_gun_energy2.wav")
|
||||
end
|
||||
end
|
||||
|
||||
function SWEP:Reload()
|
||||
if SERVER and self.Owner:IsAdmin() and CurTime() > self.nextreload then
|
||||
local n = self:GetMode()
|
||||
|
||||
if n < 3 then
|
||||
n = n + 1
|
||||
else
|
||||
n = 0
|
||||
end
|
||||
|
||||
if n == 0 then
|
||||
self.Owner:ChatPrint("FORCE MODE: Players will be forced to morph but can still change back.")
|
||||
elseif n == 1 then
|
||||
self.Owner:ChatPrint("LIFELOCK MODE: The player will be locked in the pill until they die.")
|
||||
elseif n == 2 then
|
||||
self.Owner:ChatPrint("MAPLOCK MODE: The player will be locked in the pill until the map changes.")
|
||||
elseif n == 3 then
|
||||
self.Owner:ChatPrint("PERMALOCK MODE: Players will be locked in the pill forever.")
|
||||
end
|
||||
|
||||
self:SetMode(n)
|
||||
self.nextreload = CurTime() + 1
|
||||
self.Owner:EmitSound("weapons/slam/mine_mode.wav")
|
||||
end
|
||||
end
|
||||
|
||||
function SWEP:OnDrop()
|
||||
self:Remove()
|
||||
end
|
||||
|
||||
if CLIENT then
|
||||
local matScreen = Material("models/weapons/v_toolgun/screen")
|
||||
|
||||
function SWEP:ViewModelDrawn(ent)
|
||||
local matBg = Material("pills/" .. self:GetForm() .. ".png")
|
||||
matScreen:SetTexture("$basetexture", matBg:GetTexture("$basetexture"))
|
||||
local n = self:GetMode()
|
||||
local color
|
||||
|
||||
if n == 0 then
|
||||
color = Color(0, 255, 0)
|
||||
elseif n == 1 then
|
||||
color = Color(255, 255, 0)
|
||||
elseif n == 2 then
|
||||
color = Color(255, 150, 0)
|
||||
elseif n == 3 then
|
||||
color = Color(255, 0, 0)
|
||||
end
|
||||
|
||||
local ap = ent:GetAttachment(ent:LookupAttachment("muzzle"))
|
||||
cam.Start3D(EyePos(), EyeAngles())
|
||||
render.SetMaterial(Material("sprites/light_glow02_add"))
|
||||
render.DrawSprite(ap.Pos, 20, 20, color)
|
||||
cam.End3D()
|
||||
end
|
||||
end
|
||||
61
addons/pillpack/lua/weapons/pill_wep_pro.lua
Normal file
61
addons/pillpack/lua/weapons/pill_wep_pro.lua
Normal file
@@ -0,0 +1,61 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
AddCSLuaFile()
|
||||
--Made by SkyLight http://steamcommunity.com/id/_I_I_I_I_I/, had to be indented manually because copy/pasta from github didn't. Copy pastad of Parakeet's code.
|
||||
--Formatted and edited by Parakeet
|
||||
SWEP.ViewModel = "models/weapons/c_arms_citizen.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_snip_awp.mdl"
|
||||
SWEP.Primary.ClipSize = 1
|
||||
SWEP.Primary.DefaultClip = 1
|
||||
SWEP.Primary.Automatic = false
|
||||
SWEP.Primary.Ammo = "357"
|
||||
SWEP.Secondary.ClipSize = -1
|
||||
SWEP.Secondary.DefaultClip = -1
|
||||
SWEP.Secondary.Automatic = false
|
||||
SWEP.Secondary.Ammo = "none"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.AdminSpawnable = true
|
||||
SWEP.PrintName = "Professional Rifle"
|
||||
SWEP.Category = "Pill Pack Weapons"
|
||||
SWEP.Slot = 3
|
||||
|
||||
function SWEP:Initialize()
|
||||
self:SetHoldType("pistol")
|
||||
end
|
||||
|
||||
function SWEP:PrimaryAttack()
|
||||
if (not self:CanPrimaryAttack()) then return end
|
||||
local bullet = {}
|
||||
bullet.Num = 1
|
||||
bullet.Src = self.Owner:GetShootPos()
|
||||
bullet.Dir = self.Owner:GetAimVector()
|
||||
bullet.Spread = Vector(.001, .001, 0)
|
||||
bullet.Tracer = 1
|
||||
bullet.TracerName = "Tracer"
|
||||
bullet.Force = 9001
|
||||
bullet.Damage = 9001
|
||||
self:ShootEffects()
|
||||
self.Owner:FireBullets(bullet)
|
||||
self.Owner:EmitSound("birdbrainswagtrain/pro" .. math.random(11) .. ".wav")
|
||||
self.Owner:EmitSound("weapons/awp/awp1.wav")
|
||||
self:TakePrimaryAmmo(1)
|
||||
end
|
||||
|
||||
function SWEP:Reload()
|
||||
if self.ReloadingTime and CurTime() <= self.ReloadingTime then return end
|
||||
|
||||
if (self:Clip1() < self.Primary.ClipSize and self.Owner:GetAmmoCount(self.Primary.Ammo) > 0) then
|
||||
self:EmitSound("weapons/awp/awp_bolt.wav")
|
||||
self:DefaultReload(ACT_VM_RELOAD)
|
||||
self.ReloadingTime = CurTime() + 2
|
||||
self:SetNextPrimaryFire(CurTime() + 2)
|
||||
end
|
||||
end
|
||||
80
addons/pillpack/lua/weapons/pill_wep_translocator.lua
Normal file
80
addons/pillpack/lua/weapons/pill_wep_translocator.lua
Normal file
@@ -0,0 +1,80 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
AddCSLuaFile()
|
||||
SWEP.ViewModel = "models/weapons/c_irifle.mdl"
|
||||
SWEP.WorldModel = "models/weapons/w_irifle.mdl"
|
||||
SWEP.Primary.ClipSize = -1
|
||||
SWEP.Primary.DefaultClip = -1
|
||||
SWEP.Primary.Automatic = false
|
||||
SWEP.Primary.Ammo = "none"
|
||||
SWEP.Secondary.ClipSize = -1
|
||||
SWEP.Secondary.DefaultClip = -1
|
||||
SWEP.Secondary.Automatic = false
|
||||
SWEP.Secondary.Ammo = "none"
|
||||
SWEP.Spawnable = true
|
||||
SWEP.AdminSpawnable = true
|
||||
SWEP.PrintName = "Translocator"
|
||||
SWEP.Category = "Pill Pack Weapons"
|
||||
SWEP.Slot = 3
|
||||
|
||||
function SWEP:SetupDataTables()
|
||||
self:NetworkVar("Entity", 1, "Target")
|
||||
end
|
||||
|
||||
function SWEP:Initialize()
|
||||
self:SetHoldType("ar2")
|
||||
end
|
||||
|
||||
function SWEP:PrimaryAttack()
|
||||
if CLIENT or not IsValid(self:GetTarget()) then return end
|
||||
local tr = self.Owner:GetEyeTrace()
|
||||
self:GetTarget():SetPos(tr.HitPos + tr.HitNormal * self:GetTarget():BoundingRadius())
|
||||
|
||||
if self:GetTarget():GetPhysicsObjectCount() > 0 then
|
||||
self:GetTarget():PhysWake()
|
||||
end
|
||||
|
||||
if self:GetTarget():IsPlayer() then
|
||||
self:GetTarget():SetMoveType(MOVETYPE_WALK)
|
||||
end
|
||||
|
||||
self:GetTarget():EmitSound("beams/beamstart5.wav")
|
||||
self.Owner:EmitSound("npc/roller/mine/rmine_taunt1.wav")
|
||||
self:SetNextPrimaryFire(CurTime() + 1)
|
||||
end
|
||||
|
||||
function SWEP:SecondaryAttack()
|
||||
if CLIENT then return end
|
||||
local tr = self.Owner:GetEyeTrace()
|
||||
|
||||
if not tr.Entity or tr.Entity:IsWorld() or not hook.Call("PhysgunPickup", GAMEMODE, self.Owner, tr.Entity) then
|
||||
self.Owner:EmitSound("buttons/button10.wav")
|
||||
self:SetTarget(nil)
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
self:EmitSound("buttons/blip1.wav")
|
||||
self:SetTarget(tr.Entity)
|
||||
end
|
||||
|
||||
function SWEP:DrawHUD()
|
||||
if not IsValid(self:GetTarget()) then return end
|
||||
|
||||
halo.Render{
|
||||
Ents = {self:GetTarget()},
|
||||
Color = Color(0, 255, 255),
|
||||
BlurX = 10,
|
||||
BlurY = 10,
|
||||
DrawPasses = 2,
|
||||
IgnoreZ = true
|
||||
}
|
||||
end
|
||||
Reference in New Issue
Block a user