This commit is contained in:
lifestorm
2024-08-05 18:40:29 +03:00
parent 9f505a0646
commit c6d9b6f580
8044 changed files with 1853472 additions and 21 deletions

View File

@@ -0,0 +1,217 @@
--[[
| 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()
pk_pills.register("ep1_advisorpod",{
printName="Advisor Pod",
side="hl_combine",
type="phys",
model="models/advisorpod.mdl",
default_rp_cost=12000,
camera={
dist=500
},
health=5,
onlyTakesExplosiveDamage=true,
seqInit="idlefly",
driveType="fly",
driveOptions={
speed=60,
rotation2=90,
rocketMode=true
},
attack={
mode= "trigger",
func= function(ply,ent)
pk_pills.apply(ply,"ep2_advisor")
ent:PillSound("breakout")
end
},
damageFromWater=-1,
sounds={
loop_move="npc/combine_gunship/gunship_engine_loop3.wav",
breakout="ambient/materials/cartrap_explode_impact1.wav"
},
trail={
texture="trails/physbeam.vmt",
width=200
}
})
pk_pills.register("ep1_ministrider",{
printName="Ministrider",
side="hl_combine",
type="ply",
model="models/ministrider.mdl",
default_rp_cost=8000,
camera={
offset=Vector(0,0,100),
dist=150
},
hull=Vector(60,60,100),
anims={
default={
idle="idle1",
walk="walk_all",
run="canter_all",
melee="meleeleft"
}
},
sounds={
melee={"npc/ministrider/alert2.wav","npc/ministrider/alert4.wav"},
melee_hit=pk_pills.helpers.makeList("npc/zombie/claw_strike#.wav",3),
shoot="weapons/ar2/fire1.wav",
step={"npc/ministrider/ministrider_footstep2.wav","npc/ministrider/ministrider_footstep5.wav"}
},
aim={
attachment="MiniGun",
fixTracers=true,
simple=true
},
attack={
mode= "auto",
func=pk_pills.common.shoot,
delay=.1,
damage=10,
spread=.02,
tracer="AR2Tracer"
},
attack2={
mode="trigger",
func = pk_pills.common.melee,
//animCount=3,
delay=1,
range=75,
dmg=75
},
movePoseMode="yaw",
moveSpeed={
walk=200,
run=500
},
jumpPower=0,
health=300,
noFallDamage=true
})
pk_pills.register("ep1_rollermine_orange",{
parent="rollermine",
printName="Orange Rollermine",
side=false,
subMats = {
[0]="models/roller/rollermine_hacked",
[1]="models/roller/rollermine_gloworange"
},
default_rp_cost=4000
})
/*
4 = models/roller/rollermine_gloworange
6 = models/roller/rollermine_glowred
*/
pk_pills.register("ep1_rollermine_red",{
parent="ep1_rollermine_orange",
printName="Red Rollermine",
side="wild",
subMats = {
[0]="models/roller/rollermine_splode",
[1]="models/roller/rollermine_glowred"
},
})
pk_pills.register("ep1_zombine",{
parent="zombie",
printName="Zombine",
model="models/zombie/zombie_soldier.mdl",
default_rp_cost=8000,
anims={
default={
walk="walk_all",
run="run_all",
nade="pullgrenade"
},
nade={
idle="idle_grenade",
walk="walk_all_grenade",
run="run_all_grenade"
}
},
moveSpeed={
run=200
},
sounds={
melee=pk_pills.helpers.makeList("npc/zombine/zombine_charge#.wav",2),
nade=pk_pills.helpers.makeList("npc/zombine/zombine_readygrenade#.wav",2)
},
attack={
func= function(ply,ent,tbl) if !ent.forceAnimSet then pk_pills.common.melee(ply,ent,tbl) end end
},
attack2={
mode="trigger",
func= function(ply,ent)
if !ent.forceAnimSet then
ent:PillAnim("nade",true)
ent:PillSound("nade")
ent.forceAnimSet="nade"
local nade=ents.Create("npc_grenade_frag")
nade:SetPos(ply:GetPos())
nade:SetParent(ent:GetPuppet())
nade:Spawn()
nade:Fire("setparentattachment","grenade_attachment", 0)
nade:Fire("SetTimer","6",0)
nade:CallOnRemove("NadeSplodeKillPlayer",function()
if IsValid(ent) then ply:Kill() end
end)
ent:PillFilterCam(nade)
end
end
}
})
pk_pills.register("ep1_vort_blue",{
parent="vort",
printName="Transcendent Vortigaunt",
visColor=Color(120,70,210),
default_rp_cost=16000,
superpowers=true,
anims={
default={teleport="todefend"}
},
sounds={
ranged_fire="beams/beamstart5.wav",
teleport="ambient/machines/teleport4.wav"
},
reload=function(ply,ent)
if !ply:OnGround() or ent.cloaked then return end
ent:PillAnim("teleport",true)
timer.Simple(1,function()
if !IsValid(ent) then return end
local tracein={}
tracein.maxs=Vector(16,16,72)
tracein.mins=Vector(-16,-16,0)
tracein.start=ply:EyePos()
tracein.endpos=ply:EyePos()+ply:EyeAngles():Forward()*9999
tracein.filter = {ply,ent,ent:GetPuppet()}
local traceout= util.TraceHull(tracein)
ply:SetPos(traceout.HitPos)
ent:PillSound("teleport")
end)
end,
health=1000
})

View File

@@ -0,0 +1,386 @@
--[[
| 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()
pk_pills.register("ep2_hunter",{
printName="Hunter",
side="hl_combine",
type="ply",
model="models/hunter.mdl",
default_rp_cost=9000,
camera={
offset=Vector(0,0,100),
dist=150
},
hull=Vector(60,60,100),
anims={
default={
idle="idle1",
walk="walk_all",
run="canter_all",
jump="jump",
glide="jump_idle",
melee1="meleeleft",
melee2="meleert",
melee3="melee_02"
}
},
sounds={
melee=pk_pills.helpers.makeList("npc/ministrider/hunter_defendstrider#.wav",3),
melee_hit=pk_pills.helpers.makeList("npc/zombie/claw_strike#.wav",3),
shoot="npc/ministrider/ministrider_fire1.wav",
step=pk_pills.helpers.makeList("npc/ministrider/ministrider_footstep#.wav",5)
},
aim={
attachment="MiniGunBase",
simple=true
},
attack={
mode= "auto",
func=function(ply,ent)
ent:PillSound("shoot",true)
local f = ents.Create("hunter_flechette")
f:SetPos(ply:GetShootPos()+ply:EyeAngles():Forward()*80)
f:SetVelocity(ply:EyeAngles():Forward()*2000+VectorRand()*10)
f:SetAngles(ply:EyeAngles())
f:Spawn()
end,
delay=.1
},
attack2={
mode="trigger",
func = pk_pills.common.melee,
animCount=3,
delay=.5,
range=75,
dmg=25
},
movePoseMode="yaw",
moveSpeed={
walk=200,
run=500
},
jumpPower=400,
health=300,
noFallDamage=true
})
pk_pills.register("ep2_antlion_worker",{
parent="antlion",
printName="Antlion Worker",
model="models/antlion_worker.mdl",
default_rp_cost=6000,
options=false,
reload= function(ply,ent)
ent:PillAnim("spit",true)
timer.Simple(.5,function()
if !IsValid(ply) then return end
for i=1,5 do
local n=math.random(3)
local s = ents.Create("grenade_spit")
s:SetPos(ply:GetShootPos()+ply:EyeAngles():Forward()*100+Vector(0,0,50))
s:SetVelocity(ply:EyeAngles():Forward()*800+Vector(0,0,400)+VectorRand()*20)
s:Spawn()
if n==1 then
s:SetModel("models/spitball_medium.mdl")
elseif n==2 then
s:SetModel("models/spitball_small.mdl")
end
end
end)
end,
aim={nocrosshair=false},
anims={
default={
spit="spit"
}
}
})
pk_pills.register("ep2_cturret",{
parent="cturret",
printName="Rebel Turret",
side=false,
default_rp_cost=3000,
options=function() return {
{visMat="models/combine_turrets/floor_turret/floor_turret_citizen"},
{visMat="models/combine_turrets/floor_turret/floor_turret_citizen4"}
} end,
})
pk_pills.register("ep2_guardian",{
parent="antlion_guard",
printName="Ancient Guardian",
default_rp_cost=11000,
visMat="Models/antlion_guard/antlionGuard2",
attack={
dmg=100
},
charge={
dmg=200
}
})
pk_pills.register("ep2_vort_scientist",{
parent="vort",
printName="Vortigaunt Scientist",
model="models/vortigaunt_doctor.mdl",
})
pk_pills.register("ep2_sniper",{
parent="csoldier",
printName="Combine Sniper",
default_rp_cost=7000,
//model="models/Combine_Super_Soldier.mdl",
//ammo={AR2AltFire=6},
//health=300
loadout={"pill_wep_csniper"}
})
pk_pills.register("ep2_inventor",{
printName="The Inventor",
type="ply",
model="models/magnusson.mdl",
default_rp_cost=10000,
anims={
default={
idle="lineidle02",
walk="walk_all",
run="run_all",
crouch="Crouch_idleD",
crouch_walk="Crouch_walk_aLL",
glide="jump_holding_glide",
jump="jump_holding_jump",
g_attack="gesture_shoot_smg1",
g_reload="gesture_reload_smg1"
},
smg={
idle="Idle_SMG1_Aim_Alert",
walk="walkAIMALL1",
run="run_alert_aiming_all",
crouch="crouch_aim_smg1",
crouch_walk="Crouch_walk_aiming_all"
},
ar2={
idle="idle_angry_Ar2",
walk="walkAIMALL1_ar2",
run="run_aiming_ar2_all",
crouch="crouch_aim_smg1",
crouch_walk="Crouch_walk_aiming_all",
g_attack="gesture_shoot_ar2",
g_reload="gesture_reload_ar2"
},
shotgun={
idle="Idle_Angry_Shotgun",
walk="walkAIMALL1_ar2",
run="run_aiming_ar2_all",
crouch="crouch_aim_smg1",
crouch_walk="Crouch_walk_aiming_all",
g_attack="gesture_shoot_shotgun",
g_reload="gesture_reload_ar2"
}
},
aim={
xPose="aim_yaw",
yPose="aim_pitch"
},
moveSpeed={
walk=60,
run=200,
ducked=40
},
loadout={"pill_wep_holstered","weapon_smg1","pill_wep_magnade"},
ammo={SMG1=100},
health=1000,
validHoldTypes={"smg","ar2","shotgun","grenade"},
movePoseMode="yaw"
})
pk_pills.register("ep2_grub",{
printName="Grub",
side="antlion",
type="ply",
model="models/antlion_grub.mdl",
default_rp_cost=400,
camera={
offset=Vector(0,0,5),
dist=80
},
hull=Vector(30,30,15),
anims={},
moveSpeed={
walk=30,
run=60
},
jumpPower=0,
health=20
})
pk_pills.register("ep2_gnome",{
printName="Garden Gnome",
type="ply",
model="models/props_junk/gnome.mdl",
default_rp_cost=1000,
camera={
offset=Vector(0,0,15),
dist=80
},
hull=Vector(10,10,30),
anims={},
moveSpeed={
walk=60,
run=120
},
attack={
mode="trigger",
func=function(ply,ent)
ent:PillSound("laugh")
end
},
sounds={
laugh=pk_pills.helpers.makeList("vo/ravenholm/madlaugh0#.wav",4),
laugh_pitch=140
},
noragdoll=true,
jumpPower=150,
health=80,
noFallDamage=true
})
pk_pills.register("ep2_advisor",{
printName="Enhanced Advisor",
parent="advisor",
model="models/birdbrainswagtrain/episodic/advisor.mdl",
default_rp_cost=10000,
aim={},
attack={
mode="trigger",
func=function(ply,ent)
if ent:GetSequence()!=ent:LookupSequence("idle") then return end
ent:PillAnim("melee",true)
timer.Simple(.7,function()
if !IsValid(ent) then return end
local tr = util.TraceHull({
start=ent:GetPos(),
endpos=ent:GetPos()+ent:GetAngles():Forward()*200,
filter={ent},
mins=Vector(-25,-25,-25),
maxs=Vector(25,25,25)
})
if IsValid(tr.Entity) then
local dmg=DamageInfo()
dmg:SetAttacker(ply)
dmg:SetInflictor(ent)
dmg:SetDamageType(DMG_SLASH)
dmg:SetDamage(50)
tr.Entity:TakeDamageInfo(dmg)
ent:PillSound("hit")
end
end)
timer.Simple(1.2,function()
if !IsValid(ent) then return end
ent:PillAnim("idle",true)
end)
end
},
attack2={
mode="trigger",
func=function(ply,ent)
if ent:GetSequence()!=ent:LookupSequence("idle") then return end
ent:PillAnim("grab",true)
timer.Simple(.7,function()
if !IsValid(ent) then return end
local tr = util.TraceHull({
start=ent:GetPos(),
endpos=ent:GetPos()+ent:GetAngles():Forward()*200,
filter={ent},
mins=Vector(-25,-25,-25),
maxs=Vector(25,25,25)
})
if IsValid(tr.Entity) and not tr.Entity:IsFlagSet(FL_GODMODE) then
local mdl_ent = pk_pills.getMappedEnt(tr.Entity) or tr.Entity
mdl_ent = mdl_ent.subModel or mdl_ent
mdl_ent = mdl_ent.GetPuppet and mdl_ent:GetPuppet() or mdl_ent
if mdl_ent:LookupBone("ValveBiped.Bip01_Spine4") then
local mdl_name = mdl_ent:GetModel()
if tr.Entity:IsPlayer() then
tr.Entity:KillSilent()
else
tr.Entity:Remove()
end
local attachment=ents.Create("pill_attachment_body")
attachment.model = mdl_name
attachment:SetPos(ent:GetPos())
attachment:SetParent(ent)
attachment:Spawn()
ent.brainsucked=true
else
ent.brainsucked=false
end
else
ent.brainsucked=false
end
if !ent.brainsucked then
ent:PillAnim("fail",true)
end
end)
timer.Simple(2.3,function()
if !IsValid(ent) or !ent.brainsucked then return end
ent:PillSound("brainsuck")
local effectdata = EffectData()
effectdata:SetOrigin(ent:LocalToWorld(Vector(75,0,-20)))
effectdata:SetNormal(ent:GetAngles():Forward())
effectdata:SetMagnitude(1)
effectdata:SetScale(10)
effectdata:SetColor(0)
effectdata:SetFlags(3)
util.Effect("bloodspray",effectdata)
end)
timer.Simple(5,function()
if !IsValid(ent) then return end
ent:PillAnim("idle",true)
end)
end
},
reload=function(ply,ent)
local traceres = util.QuickTrace(ent:GetPos(),ply:EyeAngles():Forward()*99999,{ply,ent})
local blast = ents.Create("pill_advisor_blast")
blast:SetPos(traceres.HitPos)
blast:SetOwner(ply)
blast:Spawn()
ent:PillSound("blast")
end,
sounds={
brainsuck="physics/flesh/flesh_squishy_impact_hard3.wav",
blast="npc/advisor/advisor_blast1.wav"
}
})