mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
Upload
This commit is contained in:
217
lua/autorun/include/pill_ep1.lua
Normal file
217
lua/autorun/include/pill_ep1.lua
Normal 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
|
||||
})
|
||||
386
lua/autorun/include/pill_ep2.lua
Normal file
386
lua/autorun/include/pill_ep2.lua
Normal 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"
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user