This commit is contained in:
lifestorm
2024-08-04 23:54:45 +03:00
parent 8064ba84d8
commit 6a58f406b1
7522 changed files with 4011896 additions and 15 deletions

View 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

View 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

View 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

View 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

View 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

View 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