--[[ | 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/barney.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.HasHealthRegeneration = true -- Can the SNPC regenerate its health? ENT.HealthRegenerationAmount = 1 -- How much should the health increase after every delay? ENT.HealthRegenerationDelay = VJ_Set(0.35,0.35) -- How much time until the health increases ENT.HullType = HULL_HUMAN --------------------------------------------------------------------------------------------------------------------------------------------- ENT.VJ_NPC_Class = {"CLASS_PLAYER_ALLY"} -- NPCs with the same class with be allied to each other ENT.FriendsWithAllPlayerAllies = true -- Should this SNPC be friends with all other player allies that are running on VJ Base? ENT.BloodColor = "Red" -- The blood type, this will determine what it should use (decal, particle, etc.) ENT.AnimTbl_MeleeAttack = {"vjseq_MeleeAttack01"} -- Melee Attack Animations ENT.TimeUntilMeleeAttackDamage = 0.7 -- This counted in seconds | This calculates the time until it hits something ENT.FootStepTimeRun = 0.25 -- Next foot step sound when it is running ENT.FootStepTimeWalk = 0.5 -- Next foot step sound when it is walking ENT.HasGrenadeAttack = true -- Should the SNPC have a grenade attack? ENT.AnimTbl_GrenadeAttack = {ACT_RANGE_ATTACK_THROW} -- Grenade Attack Animations ENT.TimeUntilGrenadeIsReleased = 0.87 -- Time until the grenade is released ENT.GrenadeAttackAttachment = "anim_attachment_RH" -- The attachment that the grenade will spawn at ENT.HasOnPlayerSight = true -- Should do something when it sees the enemy? Example: Play a sound ENT.BecomeEnemyToPlayer = true -- Should the friendly SNPC become enemy towards the player if it's damaged by a player? -- ====== Flinching Code ====== -- ENT.CanFlinch = 1 -- 0 = Don't flinch | 1 = Flinch at any damage | 2 = Flinch only from certain damages -- ====== File Path Variables ====== -- -- Leave blank if you don't want any sounds to play ENT.SoundTbl_FootStep = {"npc/footsteps/hardboot_generic1.wav","npc/footsteps/hardboot_generic2.wav","npc/footsteps/hardboot_generic3.wav","npc/footsteps/hardboot_generic4.wav","npc/footsteps/hardboot_generic5.wav","npc/footsteps/hardboot_generic6.wav","npc/footsteps/hardboot_generic8.wav"} ENT.SoundTbl_Idle = { "vo/streetwar/sniper/ba_hauntsme.wav", } ENT.SoundTbl_IdleDialogue = { "vo/k_lab/ba_itsworking04.wav", "vo/streetwar/sniper/ba_hearcat.wav", "vj_hlr/hl2_npc/ep1/c17/ba_knowevac.wav", } ENT.SoundTbl_IdleDialogueAnswer = { "vo/k_lab/ba_saidlasttime.wav", "vj_hlr/hl2_npc/ep1/c17/ba_deceiving01.wav", } ENT.SoundTbl_CombatIdle = { "vo/npc/barney/ba_goingdown.wav", "vo/streetwar/rubble/ba_damnitall.wav", "vj_hlr/hl2_npc/ep1/c17/ba_comeon01.wav", "vj_hlr/hl2_npc/ep1/c17/ba_herewego.wav", } ENT.SoundTbl_OnReceiveOrder = { "vo/npc/barney/ba_imwithyou.wav", } ENT.SoundTbl_FollowPlayer = { "vo/npc/barney/ba_imwithyou.wav", "vo/npc/barney/ba_letsdoit.wav", "vo/npc/barney/ba_letsgo.wav", "vo/npc/barney/ba_oldtimes.wav", "vo/k_lab2/ba_goodnews_c.wav", "vo/streetwar/nexus/ba_thenletsgo.wav", "vo/streetwar/sniper/ba_letsgetgoing.wav", } ENT.SoundTbl_UnFollowPlayer = { "vo/npc/barney/ba_hurryup.wav", "vo/k_lab/ba_dontblameyou.wav", "vo/k_lab/ba_geethanks.wav", "vo/k_lab/ba_getoutofsight02.wav", "vo/k_lab/ba_goodluck02.wav", "vo/trainyard/ba_goodluck01.wav", "vo/trainyard/ba_meetyoulater01.wav", "vo/streetwar/nexus/ba_seeyou.wav", "vj_hlr/hl2_npc/ep1/c17/ba_areyousure.wav", "vj_hlr/hl2_npc/ep1/c17/ba_dontletmedown.wav", "vj_hlr/hl2_npc/ep1/c17/ba_donttakelong.wav", "vj_hlr/hl2_npc/ep1/c17/ba_ifyousayso.wav", "vo/streetwar/rubble/ba_seeya.wav", } ENT.SoundTbl_MoveOutOfPlayersWay = { "vo/k_lab/ba_whoops.wav", } ENT.SoundTbl_MedicBeforeHeal = {} ENT.SoundTbl_MedicAfterHeal = {} ENT.SoundTbl_MedicReceiveHeal = {} ENT.SoundTbl_OnPlayerSight = { "vo/npc/barney/ba_followme01.wav", "vo/npc/barney/ba_followme02.wav", "vo/npc/barney/ba_followme03.wav", "vo/npc/barney/ba_followme05.wav", "vo/k_lab/ba_thereyouare.wav", "vo/trainyard/ba_heygordon.wav", "vo/trainyard/ba_rememberme.wav", "vo/streetwar/rubble/ba_gordon.wav", "vj_hlr/hl2_npc/ep1/c17/ba_greeting01.wav", } ENT.SoundTbl_Investigate = { "vo/npc/barney/ba_danger02.wav", "vo/k_lab/ba_whatthehell.wav", } ENT.SoundTbl_LostEnemy = { "vo/k_lab/ba_whatthehell.wav", } ENT.SoundTbl_Alert = { "vo/npc/barney/ba_bringiton.wav", "vo/npc/barney/ba_hereitcomes.wav", "vo/npc/barney/ba_heretheycome01.wav", "vo/npc/barney/ba_heretheycome02.wav", "vo/npc/barney/ba_openfiregord.wav", "vo/npc/barney/ba_uhohheretheycome.wav", "vo/k_lab2/ba_incoming.wav", } ENT.SoundTbl_CallForHelp = { "vo/npc/barney/ba_gordonhelp.wav", "vo/npc/barney/ba_littlehelphere.wav", "vo/streetwar/nexus/ba_surrounded.wav", "vo/streetwar/rubble/ba_helpmeout.wav", "vo/streetwar/sniper/ba_overhere.wav", } ENT.SoundTbl_BecomeEnemyToPlayer = { "vj_hlr/hl2_npc/barney/ba_fuckyou.wav" } ENT.SoundTbl_Suppressing = { "vj_hlr/hl2_npc/barney/ba_fuckyou.wav", } ENT.SoundTbl_WeaponReload = { "vo/npc/barney/ba_covermegord.wav", "vo/npc/barney/ba_damnit.wav", "vo/k_lab/ba_getitoff01.wav", } ENT.SoundTbl_BeforeMeleeAttack = {} ENT.SoundTbl_MeleeAttack = {} ENT.SoundTbl_MeleeAttackExtra = {} ENT.SoundTbl_MeleeAttackMiss = {} ENT.SoundTbl_GrenadeAttack = {} ENT.SoundTbl_OnGrenadeSight = { "vo/npc/barney/ba_damnit.wav", "vo/npc/barney/ba_duck.wav", "vo/npc/barney/ba_getaway.wav", "vo/npc/barney/ba_getdown.wav", "vo/npc/barney/ba_getoutofway.wav", "vo/npc/barney/ba_grenade01.wav", "vo/npc/barney/ba_grenade02.wav", "vo/npc/barney/ba_lookout.wav", "vo/k_lab/ba_headhumper02.wav", "vo/k_lab/ba_thingaway02.wav", } ENT.SoundTbl_OnDangerSight = { "vo/npc/barney/ba_damnit.wav", "vo/npc/barney/ba_duck.wav", "vo/npc/barney/ba_getaway.wav", "vo/npc/barney/ba_getdown.wav", "vo/npc/barney/ba_getoutofway.wav", "vo/npc/barney/ba_lookout.wav", "vo/k_lab/ba_headhumper02.wav", "vo/k_lab/ba_thingaway02.wav", } ENT.SoundTbl_OnKilledEnemy = { "vo/npc/barney/ba_downyougo.wav", "vo/npc/barney/ba_gotone.wav", "vo/npc/barney/ba_laugh01.wav", "vo/npc/barney/ba_laugh02.wav", "vo/npc/barney/ba_laugh03.wav", "vo/npc/barney/ba_laugh04.wav", "vo/npc/barney/ba_losttouch.wav", "vo/npc/barney/ba_ohyeah.wav", "vo/npc/barney/ba_yell.wav", "vo/streetwar/nexus/ba_alldown.wav", "vo/streetwar/nexus/ba_done.wav", "vo/streetwar/sniper/ba_onedownonetogo.wav", "vj_hlr/hl2_npc/ep1/c17/ba_hellyeah.wav", "vj_hlr/hl2_npc/ep1/c17/ba_ohyeah01.wav", "vj_hlr/hl2_npc/ep1/c17/ba_woo.wav", "vj_hlr/hl2_npc/ep1/c17/ba_yeah01.wav", } ENT.SoundTbl_AllyDeath = { "vo/k_lab/ba_cantlook.wav", "vo/k_lab/ba_guh.wav", "vo/streetwar/rubble/ba_damnitall.wav", } ENT.SoundTbl_Pain = { "vo/npc/barney/ba_damnit.wav", "vo/npc/barney/ba_pain01.wav", "vo/npc/barney/ba_pain02.wav", "vo/npc/barney/ba_pain03.wav", "vo/npc/barney/ba_pain04.wav", "vo/npc/barney/ba_pain05.wav", "vo/npc/barney/ba_pain06.wav", "vo/npc/barney/ba_pain07.wav", "vo/npc/barney/ba_pain08.wav", "vo/npc/barney/ba_pain09.wav", "vo/npc/barney/ba_pain10.wav", "vo/npc/barney/ba_wounded01.wav", "vo/npc/barney/ba_wounded02.wav", "vo/npc/barney/ba_wounded03.wav", } ENT.SoundTbl_DamageByPlayer = { "vo/k_lab/ba_notime.wav", "vo/k_lab/ba_notimetofool01.wav", "vo/k_lab/ba_notimetofool02.wav", "vo/k_lab/ba_pissinmeoff.wav", "vo/k_lab/ba_pushinit.wav", } ENT.SoundTbl_Death = { "vo/npc/barney/ba_no01.wav", "vo/npc/barney/ba_no02.wav", "vo/npc/barney/ba_ohshit03.wav", } -- Specific alert sounds local sdAlertHuman = {"vo/npc/barney/ba_soldiers.wav"} local sdAlertGunship = {"vj_hlr/hl2_npc/ep1/c17/ba_wrinkleship.wav"} local sdAlertAPC = {"vj_hlr/hl2_npc/ep1/c17/ba_ohmanapc.wav"} local sdAlertStrider = {"vj_hlr/hl2_npc/ep1/c17/ba_kiddingstrider.wav","vj_hlr/hl2_npc/ep1/c17/ba_takedownstrider.wav"} local sdAlertDropShip = {"vo/streetwar/nexus/ba_uhohdropships.wav"} local sdAlertHeadcrab = {"vo/npc/barney/ba_headhumpers.wav"} local sdAlertTurret = {"vo/npc/barney/ba_turret.wav"} --[[ UNUSED -- Complementing the player "vo/k_lab/ba_sarcastic01.wav", "vo/k_lab/ba_sarcastic02.wav", "vo/k_lab/ba_sarcastic03.wav", "vo/streetwar/sniper/ba_returnhero.wav", "vj_hlr/hl2_npc/ep1/c17/ba_asskicking.wav", "vj_hlr/hl2_npc/ep1/c17/ba_goodjob.wav", "vj_hlr/hl2_npc/ep1/c17/ba_gordoniknow.wav", "vj_hlr/hl2_npc/ep1/c17/ba_nicework.wav", "vj_hlr/hl2_npc/ep1/c17/ba_tellemdoc.wav", "vj_hlr/hl2_npc/ep1/c17/ba_yougothim.wav", -- Soldier with RPG "vj_hlr/hl2_npc/ep1/c17/ba_soldierrpg.wav", "vj_hlr/hl2_npc/ep1/c17/ba_luckydog.wav", -- You lucky dog youuuuuuuuuuuu ]]-- ENT.GeneralSoundPitch1 = 100 --------------------------------------------------------------------------------------------------------------------------------------------- function ENT:CustomOnDoKilledEnemy(ent, attacker, inflictor) self:VJ_ACT_PLAYACTIVITY("vjseq_cheer1", false, false, false, 0, {vTbl_SequenceInterruptible=true}) end --------------------------------------------------------------------------------------------------------------------------------------------- function ENT:CustomOnAlert(ent) if math.random(1, 2) == 1 && ent:IsNPC() then if ent.IsVJBaseSNPC_Human == true then self:PlaySoundSystem("Alert", sdAlertHuman) return elseif ent:Classify() == CLASS_COMBINE_GUNSHIP then self:PlaySoundSystem("Alert", sdAlertGunship) return elseif ent:GetClass() == "npc_apcdriver" then self:PlaySoundSystem("Alert", sdAlertAPC) return elseif ent:GetClass() == "npc_strider" or ent:GetClass() == "npc_vj_hlr2_com_strider" then self:PlaySoundSystem("Alert", sdAlertStrider) return elseif ent:GetClass() == "npc_combinedropship" then self:PlaySoundSystem("Alert", sdAlertDropShip) return elseif ent.VJTags[VJ_TAG_HEADCRAB] or ent:GetClass() == "npc_headcrab" or ent:GetClass() == "npc_headcrab_black" or ent:GetClass() == "npc_headcrab_fast" then self:PlaySoundSystem("Alert", sdAlertHeadcrab) return elseif ent:Classify() == CLASS_MACHINE or ent.VJTags[VJ_TAG_TURRET] or ent:GetClass() == "npc_turret_floor" then self:PlaySoundSystem("Alert", sdAlertTurret) return end end end