Files
wnsrc/lua/autorun/ppp_include/pill_vorts.lua
lifestorm 9c918c46e5 Upload
2024-08-04 23:12:27 +03:00

101 lines
3.2 KiB
Lua

--[[
| 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("vort", {
printName = "Vortigaunt",
type = "ply",
model = "models/vortigaunt.mdl",
default_rp_cost = 8000,
voxSet = "vort",
camera = {
dist = 200
},
anims = {
default = {
idle = "Idle01",
walk = "Walk_all",
run = "Run_all",
melee1 = "MeleeHigh1",
melee2 = "MeleeHigh2",
melee3 = "MeleeHigh3",
melee4 = "MeleeLow",
attackRanged = "zapattack1"
}
},
sounds = {
melee = pk_pills.helpers.makeList("npc/vort/claw_swing#.wav", 2),
melee_hit = pk_pills.helpers.makeList("npc/zombie/claw_strike#.wav", 3),
loop_ranged_charge = "npc/vort/attack_charge.wav",
ranged_fire = "npc/vort/attack_shoot.wav",
step = pk_pills.helpers.makeList("npc/vort/vort_foot#.wav", 4)
},
aim = {
xPose = "head_yaw",
yPose = "head_pitch"
},
attack = {
mode = "trigger",
func = function(ply, ent)
local superpowers = ent.formTable.superpowers
ent:PillAnim("attackRanged", true)
ent:PillLoopSound("ranged_charge")
local puppet = ent:GetPuppet()
ParticleEffectAttach("vortigaunt_charge_token", PATTACH_POINT_FOLLOW, puppet, puppet:LookupAttachment("leftclaw"))
ParticleEffectAttach("vortigaunt_charge_token", PATTACH_POINT_FOLLOW, puppet, puppet:LookupAttachment("rightclaw"))
timer.Simple(1.5, function()
if not IsValid(ent) then return end
ent:PillLoopStop("ranged_charge")
ent:PillSound("ranged_fire")
local tr = ply:GetEyeTrace()
local attachment = puppet:GetAttachment(puppet:LookupAttachment("leftclaw"))
puppet:StopParticles()
if attachment then
util.ParticleTracerEx(superpowers and "weapon_combine_ion_cannon" or "vortigaunt_beam", attachment.Pos, tr.HitPos, true, puppet:EntIndex(), puppet:LookupAttachment("leftclaw"))
end
if superpowers then
ParticleEffect("weapon_combine_ion_cannon_explosion", tr.HitPos, Angle(0, 0, 0))
sound.Play("ambient/explosions/explode_1.wav", tr.HitPos, 75, 100, 1)
util.BlastDamage(ent, ply, tr.HitPos, 200, 400)
else
util.BlastDamage(ent, ply, tr.HitPos, 10, 400)
end
end)
end
},
attack2 = {
mode = "trigger",
func = pk_pills.common.melee,
animCount = 4,
delay = .5,
range = 40,
dmg = 25
},
movePoseMode = "yaw",
moveSpeed = {
walk = 100,
run = 300
},
duckBy = 0,
jumpPower = 0,
health = 120
})
pk_pills.register("vort_slave", {
parent = "vort",
side = "hl_combine",
printName = "Vortigaunt Slave",
model = "models/vortigaunt_slave.mdl"
})