mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 21:33:46 +03:00
Upload
This commit is contained in:
103
lua/entities/npc_vj_hlrdc_keller/init.lua
Normal file
103
lua/entities/npc_vj_hlrdc_keller/init.lua
Normal file
@@ -0,0 +1,103 @@
|
||||
--[[
|
||||
| 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("shared.lua")
|
||||
include('shared.lua')
|
||||
/*-----------------------------------------------
|
||||
*** Copyright (c) 2012-2023 by DrVrej, All rights reserved. ***
|
||||
No parts of this code or any of its contents may be reproduced, copied, modified or adapted,
|
||||
without the prior written consent of the author, unless otherwise indicated for stand-alone materials.
|
||||
-----------------------------------------------*/
|
||||
ENT.Model = {"models/vj_hlr/decay/wheelchair_sci.mdl"} -- The game will pick a random model from the table when the SNPC is spawned | Add as many as you want
|
||||
ENT.StartHealth = 100
|
||||
ENT.VJC_Data = {
|
||||
ThirdP_Offset = Vector(10, 0, -20), -- The offset for the controller when the camera is in third person
|
||||
FirstP_Bone = "Bip01 Head", -- If left empty, the base will attempt to calculate a position for first person
|
||||
FirstP_Offset = Vector(3, 0, 3.3), -- The offset for the controller when the camera is in first person
|
||||
FirstP_ShrinkBone = false, -- Should the bone shrink? Useful if the bone is obscuring the player's view
|
||||
}
|
||||
ENT.IsMedicSNPC = false -- Is this SNPC a medic? Does it heal other friendly friendly SNPCs, and players(If friendly)
|
||||
|
||||
/*
|
||||
-- Can't reach player, unfollow
|
||||
vj_hlr/hl1_npc/keller/dk_stop0.wav
|
||||
vj_hlr/hl1_npc/keller/dk_stop1.wav
|
||||
vj_hlr/hl1_npc/keller/dk_stop2.wav
|
||||
|
||||
-- vj_hlr/hl1_npc/keller/dk_01_cascade.wav ---> vj_hlr/hl1_npc/keller/dk_01_gottodeal.wav
|
||||
-- vj_hlr/hl1_npc/keller/dk_01_needspect.wav ---> vj_hlr/hl1_npc/keller/dk_04_excellent.wav
|
||||
vj_hlr/hl1_npc/keller/dk_04_ididit.wav
|
||||
vj_hlr/hl1_npc/keller/dk_04_interfere.wav
|
||||
-- vj_hlr/hl1_npc/keller/dk_04_otherdamp.wav ---> vj_hlr/hl1_npc/keller/dk_12_whenstart.wav
|
||||
vj_hlr/hl1_npc/keller/dk_furher.wav
|
||||
vj_hlr/hl1_npc/keller/dk_kellerfrog.wav
|
||||
vj_hlr/hl1_npc/keller/dk_leads1.wav
|
||||
vj_hlr/hl1_npc/keller/dk_leads2.wav
|
||||
|
||||
vj_hlr/hl1_npc/keller/wheelchair_jog.wav
|
||||
vj_hlr/hl1_npc/keller/wheelchair_run.wav
|
||||
vj_hlr/hl1_npc/keller/wheelchair_walk.wav
|
||||
*/
|
||||
|
||||
-- Custom
|
||||
ENT.Keller_WheelChair = true
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
function ENT:SCI_CustomOnInitialize()
|
||||
self.SoundTbl_FootStep = {"vj_hlr/hl1_npc/keller/wheelchair_walk.wav"}
|
||||
self.SoundTbl_Idle = {"vj_hlr/hl1_npc/keller/dk_idle0.wav","vj_hlr/hl1_npc/keller/dk_idle1.wav","vj_hlr/hl1_npc/keller/dk_idle3.wav","vj_hlr/hl1_npc/keller/dk_idle4.wav","vj_hlr/hl1_npc/keller/dk_04_letssee.wav"}
|
||||
self.SoundTbl_IdleDialogue = {"vj_hlr/hl1_npc/keller/dk_01_kleiner.wav","vj_hlr/hl1_npc/keller/dk_hevchair.wav","vj_hlr/hl1_npc/keller/dk_idle2.wav","vj_hlr/hl1_npc/keller/dk_rugurinate.wav"}
|
||||
self.SoundTbl_IdleDialogueAnswer = {"vj_hlr/hl1_npc/keller/dk_iknowyouare.wav","vj_hlr/hl1_npc/keller/dk_stare0.wav"}
|
||||
self.SoundTbl_CombatIdle = {"vj_hlr/hl1_npc/keller/dk_help0.wav","vj_hlr/hl1_npc/keller/dk_help1.wav","vj_hlr/hl1_npc/keller/dk_help2.wav","vj_hlr/hl1_npc/keller/dk_fear0.wav","vj_hlr/hl1_npc/keller/dk_fear1.wav","vj_hlr/hl1_npc/keller/dk_fear2.wav","vj_hlr/hl1_npc/keller/dk_fear3.wav","vj_hlr/hl1_npc/keller/dk_fear4.wav","vj_hlr/hl1_npc/keller/dk_fear5.wav","vj_hlr/hl1_npc/keller/dk_fear6.wav"}
|
||||
self.SoundTbl_FollowPlayer = {"vj_hlr/hl1_npc/keller/dk_stare1.wav","vj_hlr/hl1_npc/keller/dk_stare2.wav","vj_hlr/hl1_npc/keller/dk_04_goonway.wav","vj_hlr/hl1_npc/keller/dk_04_onwaythen.wav","vj_hlr/hl1_npc/keller/dk_leads0.wav","vj_hlr/hl1_npc/keller/dk_ok0.wav","vj_hlr/hl1_npc/keller/dk_ok1.wav","vj_hlr/hl1_npc/keller/dk_ok2.wav"}
|
||||
self.SoundTbl_UnFollowPlayer = {"vj_hlr/hl1_npc/keller/dk_plfear2.wav","vj_hlr/hl1_npc/keller/dk_wait0.wav","vj_hlr/hl1_npc/keller/dk_wait1.wav","vj_hlr/hl1_npc/keller/dk_wait2.wav","vj_hlr/hl1_npc/keller/dk_wait3.wav"}
|
||||
self.SoundTbl_OnPlayerSight = {"vj_hlr/hl1_npc/keller/dk_hello0.wav","vj_hlr/hl1_npc/keller/dk_hello1.wav","vj_hlr/hl1_npc/keller/dk_hello2.wav","vj_hlr/hl1_npc/keller/dk_hello3.wav","vj_hlr/hl1_npc/keller/dk_hello4.wav","vj_hlr/hl1_npc/keller/dk_01_late.wav","vj_hlr/hl1_npc/keller/dk_newstuff.wav"}
|
||||
self.SoundTbl_Alert = {"vj_hlr/hl1_npc/keller/dk_04_monsters.wav","vj_hlr/hl1_npc/keller/dk_help0.wav","vj_hlr/hl1_npc/keller/dk_help1.wav","vj_hlr/hl1_npc/keller/dk_help2.wav"}
|
||||
self.SoundTbl_BecomeEnemyToPlayer = {"vj_hlr/hl1_npc/keller/dk_screwyou.wav"}
|
||||
self.SoundTbl_OnGrenadeSight = {"vj_hlr/hl1_npc/keller/dk_fear0.wav","vj_hlr/hl1_npc/keller/dk_fear1.wav","vj_hlr/hl1_npc/keller/dk_fear2.wav","vj_hlr/hl1_npc/keller/dk_fear3.wav","vj_hlr/hl1_npc/keller/dk_fear4.wav","vj_hlr/hl1_npc/keller/dk_fear5.wav","vj_hlr/hl1_npc/keller/dk_fear6.wav"}
|
||||
self.SoundTbl_OnDangerSight = {"vj_hlr/hl1_npc/keller/dk_fear0.wav","vj_hlr/hl1_npc/keller/dk_fear1.wav","vj_hlr/hl1_npc/keller/dk_fear2.wav","vj_hlr/hl1_npc/keller/dk_fear3.wav","vj_hlr/hl1_npc/keller/dk_fear4.wav","vj_hlr/hl1_npc/keller/dk_fear5.wav","vj_hlr/hl1_npc/keller/dk_fear6.wav"}
|
||||
self.SoundTbl_AllyDeath = {"vj_hlr/hl1_npc/keller/dk_condolences.wav"}
|
||||
self.SoundTbl_Pain = {"vj_hlr/hl1_npc/keller/dk_pain1.wav","vj_hlr/hl1_npc/keller/dk_pain2.wav","vj_hlr/hl1_npc/keller/dk_pain3.wav","vj_hlr/hl1_npc/keller/dk_pain4.wav","vj_hlr/hl1_npc/keller/dk_pain5.wav","vj_hlr/hl1_npc/keller/dk_pain6.wav","vj_hlr/hl1_npc/keller/dk_pain7.wav"}
|
||||
self.SoundTbl_DamageByPlayer = {"vj_hlr/hl1_npc/keller/dk_plfear0.wav","vj_hlr/hl1_npc/keller/dk_plfear1.wav","vj_hlr/hl1_npc/keller/dk_plfear3.wav","vj_hlr/hl1_npc/keller/dk_scared0.wav","vj_hlr/hl1_npc/keller/dk_scared1.wav","vj_hlr/hl1_npc/keller/dk_scared2.wav"}
|
||||
self.SoundTbl_Death = {"vj_hlr/hl1_npc/keller/dk_die1.wav","vj_hlr/hl1_npc/keller/dk_die2.wav","vj_hlr/hl1_npc/keller/dk_die3.wav","vj_hlr/hl1_npc/keller/dk_die3.wav","vj_hlr/hl1_npc/keller/dk_die4.wav","vj_hlr/hl1_npc/keller/dk_die5.wav","vj_hlr/hl1_npc/keller/dk_die6.wav","vj_hlr/hl1_npc/keller/dk_die7.wav"}
|
||||
|
||||
self.AnimTbl_Death = {ACT_DIESIMPLE}
|
||||
end
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
function ENT:Controller_Initialize(ply, controlEnt)
|
||||
ply:ChatPrint("JUMP: Stand up")
|
||||
function controlEnt:CustomOnKeyBindPressed(key)
|
||||
if key == IN_JUMP && !self.VJCE_NPC:IsBusy() then
|
||||
self.VJCE_NPC:SetState(VJ_STATE_ONLY_ANIMATION_CONSTANT)
|
||||
self.VJCE_NPC:VJ_ACT_PLAYACTIVITY(ACT_STAND, true, false, false, 0, {
|
||||
-- Already done through event, but also here to make sure it's killed!
|
||||
OnFinish = function(interrupted, anim)
|
||||
if self.VJCE_NPC.Dead then return end
|
||||
self.VJCE_NPC.HasDeathAnimation = false
|
||||
self.VJCE_NPC:TakeDamage(self.VJCE_NPC:Health(), self.VJCE_NPC, self.VJCE_NPC)
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
function ENT:CustomOnDeath_BeforeCorpseSpawned(dmginfo, hitgroup)
|
||||
if self:GetBodygroup(0) == 1 then
|
||||
self.Keller_WheelChair = false
|
||||
end
|
||||
self:SetBodygroup(0, 1)
|
||||
self:SetPos(self:GetPos() + self:GetUp()*5)
|
||||
end
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
function ENT:CustomOnDeath_AfterCorpseSpawned(dmginfo, hitgroup, corpseEnt)
|
||||
VJ_HLR_ApplyCorpseEffects(self, corpseEnt)
|
||||
if self.Keller_WheelChair == true then
|
||||
self:CreateExtraDeathCorpse("prop_physics", "models/vj_hlr/decay/wheelchair.mdl")
|
||||
end
|
||||
end
|
||||
18
lua/entities/npc_vj_hlrdc_keller/shared.lua
Normal file
18
lua/entities/npc_vj_hlrdc_keller/shared.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
--[[
|
||||
| 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/
|
||||
--]]
|
||||
|
||||
ENT.Base = "npc_vj_hlr1_scientist"
|
||||
ENT.Type = "ai"
|
||||
ENT.PrintName = "Dr. Richard Keller"
|
||||
ENT.Author = "DrVrej"
|
||||
ENT.Contact = "http://steamcommunity.com/groups/vrejgaming"
|
||||
ENT.Purpose = "Spawn it and fight with it!"
|
||||
ENT.Instructions = "Click on the spawnicon to spawn it."
|
||||
ENT.Category = "Half-Life Resurgence"
|
||||
Reference in New Issue
Block a user