mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
Upload
This commit is contained in:
493
lua/autorun/ppp_include/pill_resistance_heros.lua
Normal file
493
lua/autorun/ppp_include/pill_resistance_heros.lua
Normal file
@@ -0,0 +1,493 @@
|
||||
--[[
|
||||
| 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("dog", {
|
||||
printName = "Dog",
|
||||
type = "ply",
|
||||
model = "models/dog.mdl",
|
||||
default_rp_cost = 10000,
|
||||
camera = {
|
||||
dist = 300
|
||||
},
|
||||
hull = Vector(120, 120, 100),
|
||||
anims = {
|
||||
default = {
|
||||
idle = "idle01",
|
||||
walk = "walk_all",
|
||||
run = "run_all",
|
||||
melee = "throw"
|
||||
}
|
||||
},
|
||||
sounds = {
|
||||
melee = "npc/dog/dog_servo6.wav",
|
||||
melee_hit = pk_pills.helpers.makeList("physics/metal/metal_box_impact_hard#.wav", 3),
|
||||
step = pk_pills.helpers.makeList("npc/dog/dog_footstep#.wav", 4)
|
||||
},
|
||||
aim = {
|
||||
xPose = "head_yaw",
|
||||
yPose = "head_pitch"
|
||||
},
|
||||
reload = function(ply, ent)
|
||||
pk_pills.common.melee(ply, ent, {
|
||||
delay = .5,
|
||||
range = 150,
|
||||
dmg = 50
|
||||
})
|
||||
end,
|
||||
movePoseMode = "yaw",
|
||||
moveSpeed = {
|
||||
walk = 150,
|
||||
run = 500
|
||||
},
|
||||
jumpPower = 0,
|
||||
loadout = {"weapon_physcannon"},
|
||||
hideWeapons = true,
|
||||
health = 1200
|
||||
})
|
||||
|
||||
pk_pills.register("hero_infiltrator", {
|
||||
printName = "The Infiltrator",
|
||||
type = "ply",
|
||||
model = "models/barney.mdl",
|
||||
default_rp_cost = 10000,
|
||||
anims = {
|
||||
default = {
|
||||
idle = "idle_angry",
|
||||
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",
|
||||
change = "helmet_reveal"
|
||||
},
|
||||
smg = {
|
||||
idle = "Idle_SMG1_Aim_Alert",
|
||||
walk = "walkAIMALL1",
|
||||
run = "run_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_ar2", "weapon_shotgun", "weapon_smg1"},
|
||||
ammo = {
|
||||
AR2 = 100,
|
||||
Buckshot = 100,
|
||||
smg1 = 100
|
||||
},
|
||||
health = 1000,
|
||||
validHoldTypes = {"smg", "ar2", "shotgun"},
|
||||
movePoseMode = "yaw",
|
||||
flashlight = function(ply, ent)
|
||||
if not ply:IsOnGround() then return end
|
||||
ent:PillAnim("change", true)
|
||||
|
||||
if ent.disguised then
|
||||
ent.disguised = nil
|
||||
|
||||
timer.Simple(1, function()
|
||||
if IsValid(ent.disguise_faceplate) then
|
||||
ent.disguise_faceplate:Fire("setparentattachment", "faceplate_attachment", 0)
|
||||
end
|
||||
|
||||
if IsValid(ent) then
|
||||
pk_pills.setAiTeam(ply, "default")
|
||||
end
|
||||
end)
|
||||
|
||||
timer.Simple(2, function()
|
||||
if IsValid(ent.disguise_faceplate) then
|
||||
ent.disguise_faceplate:Remove()
|
||||
end
|
||||
|
||||
if IsValid(ent.disguise_helmet) then
|
||||
ent.disguise_helmet:Remove()
|
||||
end
|
||||
end)
|
||||
else --helmet_attachment faceplate_attachment
|
||||
ent.disguised = true
|
||||
ent.disguise_faceplate = ents.Create("prop_dynamic")
|
||||
ent.disguise_faceplate:SetModel("models/barneyhelmet_faceplate.mdl")
|
||||
ent.disguise_faceplate:SetPos(ply:GetPos())
|
||||
ent.disguise_faceplate:SetParent(ent:GetPuppet())
|
||||
ent.disguise_faceplate:Spawn()
|
||||
ent.disguise_faceplate:Fire("setparentattachment", "faceplate_attachment", 0)
|
||||
ent.disguise_helmet = ents.Create("prop_dynamic")
|
||||
ent.disguise_helmet:SetModel("models/barneyhelmet.mdl")
|
||||
ent.disguise_helmet:SetPos(ply:GetPos())
|
||||
ent.disguise_helmet:SetParent(ent:GetPuppet())
|
||||
ent.disguise_helmet:Spawn()
|
||||
ent.disguise_helmet:Fire("setparentattachment", "helmet_attachment", 0)
|
||||
|
||||
timer.Simple(1, function()
|
||||
if IsValid(ent.disguise_faceplate) then
|
||||
ent.disguise_faceplate:Fire("setparentattachment", "helmet_attachment", 0)
|
||||
end
|
||||
|
||||
if IsValid(ent) then
|
||||
pk_pills.setAiTeam(ply, "hl_infiltrator")
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
pk_pills.register("hero_monk", {
|
||||
printName = "The Monk",
|
||||
type = "ply",
|
||||
model = "models/monk.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"
|
||||
},
|
||||
crossbow = {
|
||||
idle = "Idle_SMG1_Aim_Alert",
|
||||
walk = "walkAIMALL1_ar2",
|
||||
run = "run_aiming_all",
|
||||
crouch = "crouch_aim_smg1",
|
||||
crouch_walk = "Crouch_walk_aiming_all",
|
||||
g_attack = "gesture_shoot_ar2",
|
||||
g_reload = "gesture_reload_ar2"
|
||||
}
|
||||
},
|
||||
aim = {
|
||||
xPose = "aim_yaw",
|
||||
yPose = "aim_pitch"
|
||||
},
|
||||
moveSpeed = {
|
||||
walk = 60,
|
||||
run = 200,
|
||||
ducked = 40
|
||||
},
|
||||
loadout = {"pill_wep_holstered", "weapon_shotgun", "pill_wep_annabelle"},
|
||||
ammo = {
|
||||
Buckshot = 100,
|
||||
["357"] = 100
|
||||
},
|
||||
health = 1000,
|
||||
validHoldTypes = {"smg", "ar2", "shotgun", "crossbow"},
|
||||
movePoseMode = "yaw"
|
||||
})
|
||||
|
||||
pk_pills.register("hero_overseer", {
|
||||
printName = "The Overseer",
|
||||
type = "ply",
|
||||
model = "models/gman_high.mdl",
|
||||
default_rp_cost = 20000,
|
||||
anims = {
|
||||
default = {
|
||||
idle = "idle",
|
||||
walk = "walk_all",
|
||||
run = "sprint_all", --pace_all
|
||||
crouch = "Crouch_idleD",
|
||||
crouch_walk = "Crouch_walk_aLL",
|
||||
glide = "jump_holding_glide",
|
||||
jump = "jump_holding_jump",
|
||||
melee = "swing",
|
||||
cloak = "open_door_away",
|
||||
teleport = "tiefidget"
|
||||
}
|
||||
},
|
||||
sounds = {
|
||||
--melee=pk_pills.helpers.makeList("npc/zombie/zo_attack#.wav",2),
|
||||
melee_hit = pk_pills.helpers.makeList("npc/zombie/claw_strike#.wav", 3),
|
||||
melee_miss = pk_pills.helpers.makeList("npc/zombie/claw_miss#.wav", 2),
|
||||
cloak = "buttons/combine_button1.wav",
|
||||
uncloak = "buttons/combine_button1.wav",
|
||||
teleport = "ambient/machines/teleport4.wav"
|
||||
},
|
||||
cloak = {
|
||||
max = -1
|
||||
},
|
||||
moveSpeed = {
|
||||
walk = 100,
|
||||
run = 1000,
|
||||
ducked = 40
|
||||
},
|
||||
jumpPower = 1000,
|
||||
movePoseMode = "yaw",
|
||||
health = 10000,
|
||||
noFallDamage = true,
|
||||
attack = {
|
||||
mode = "trigger",
|
||||
func = function(a, b, c)
|
||||
if not b.iscloaked then
|
||||
pk_pills.common.melee(a, b, c)
|
||||
end
|
||||
end,
|
||||
delay = .3,
|
||||
range = 40,
|
||||
dmg = 1000
|
||||
},
|
||||
attack2 = {
|
||||
mode = "trigger",
|
||||
func = function(ply, ent)
|
||||
if not ply:OnGround() then return end
|
||||
ent:PillAnim("cloak", true)
|
||||
|
||||
timer.Simple(1, function()
|
||||
if not IsValid(ent) then return end
|
||||
ent:ToggleCloak()
|
||||
end)
|
||||
end
|
||||
},
|
||||
--[[
|
||||
if ent.cloaked then
|
||||
ent.cloaked=nil
|
||||
|
||||
timer.Simple(1,function()
|
||||
if !IsValid(ent) then return end
|
||||
ent:PillSound("cloak")
|
||||
ent:GetPuppet():SetMaterial()
|
||||
ent:GetPuppet():DrawShadow(true)
|
||||
pk_pills.setAiTeam(ply,"default")
|
||||
end)
|
||||
else
|
||||
ent.cloaked=true
|
||||
|
||||
timer.Simple(1,function()
|
||||
if !IsValid(ent) or !IsValid(ent:GetPuppet()) then return end
|
||||
ent:PillSound("cloak")
|
||||
ent:GetPuppet():SetMaterial("Models/effects/vol_light001")
|
||||
ent:GetPuppet():DrawShadow(false)
|
||||
pk_pills.setAiTeam(ply,"harmless")
|
||||
end)
|
||||
end]]
|
||||
reload = function(ply, ent)
|
||||
if not ply:OnGround() then return end
|
||||
ent:PillAnim("teleport", true)
|
||||
|
||||
timer.Simple(1, function()
|
||||
if not 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
|
||||
})
|
||||
|
||||
pk_pills.register("hero_hacker", {
|
||||
printName = "The Hacker",
|
||||
type = "ply",
|
||||
model = "models/alyx.mdl",
|
||||
default_rp_cost = 10000,
|
||||
anims = {
|
||||
default = {
|
||||
idle = "idle_angry",
|
||||
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_aiming_all",
|
||||
crouch = "crouch_aim_smg1",
|
||||
crouch_walk = "Crouch_walk_aiming_all"
|
||||
},
|
||||
ar2 = {
|
||||
idle = "idle_ar2_aim",
|
||||
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_ar2_aim",
|
||||
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"
|
||||
},
|
||||
pistol = {
|
||||
idle = "Pistol_idle_aim",
|
||||
walk = "walk_aiming_p_all",
|
||||
run = "run_aiming_p_all"
|
||||
}
|
||||
},
|
||||
sounds = {
|
||||
hack = "buttons/blip1.wav",
|
||||
nohack = "buttons/button2.wav"
|
||||
},
|
||||
aim = {
|
||||
xPose = "aim_yaw",
|
||||
yPose = "aim_pitch"
|
||||
},
|
||||
moveSpeed = {
|
||||
walk = 60,
|
||||
run = 200,
|
||||
ducked = 40
|
||||
},
|
||||
loadout = {"pill_wep_holstered", "pill_wep_alyxgun", "weapon_shotgun"},
|
||||
ammo = {
|
||||
smg1 = 300
|
||||
},
|
||||
health = 1000,
|
||||
validHoldTypes = {"pistol", "smg", "ar2", "shotgun"},
|
||||
movePoseMode = "yaw",
|
||||
flashlight = function(ply, ent)
|
||||
local tr = ply:GetEyeTrace()
|
||||
local hackables = {"npc_turret_floor", "npc_rollermine", "npc_manhack"}
|
||||
|
||||
if (tr.HitPos:Distance(tr.StartPos) < 100 and table.HasValue(hackables, tr.Entity:GetClass())) and pk_pills.getAiTeam(tr.Entity) ~= "default" then
|
||||
pk_pills.setAiTeam(tr.Entity, "default")
|
||||
ent:PillSound("hack")
|
||||
|
||||
if tr.Entity:GetClass() ~= "npc_turret_floor" then
|
||||
tr.Entity:GetPhysicsObject():SetVelocity(ply:GetAimVector() * 100)
|
||||
end
|
||||
else
|
||||
ent:PillSound("nohack")
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
pk_pills.register("hero_physicist", {
|
||||
printName = "The Physicist",
|
||||
type = "ply",
|
||||
model = "models/Kleiner.mdl",
|
||||
default_rp_cost = 10000,
|
||||
anims = {
|
||||
default = {
|
||||
idle = "idle_angry",
|
||||
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_aiming_all",
|
||||
crouch = "crouch_aim_smg1",
|
||||
crouch_walk = "Crouch_walk_aiming_all"
|
||||
},
|
||||
ar2 = {
|
||||
idle = "idle_ar2_aim",
|
||||
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_ar2_aim",
|
||||
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_shotgun", "pill_wep_translocator"},
|
||||
ammo = {
|
||||
AR2 = 100,
|
||||
Buckshot = 100,
|
||||
smg1 = 100
|
||||
},
|
||||
health = 1000,
|
||||
validHoldTypes = {"smg", "ar2", "shotgun"},
|
||||
movePoseMode = "yaw"
|
||||
})
|
||||
Reference in New Issue
Block a user