Files
wnsrc/lua/entities/npc_vj_hlr1_hgrunt_serg/init.lua
lifestorm 94063e4369 Upload
2024-08-04 22:55:00 +03:00

74 lines
3.0 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("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/hl1/hassault.mdl"} -- The game will pick a random model from the table when the SNPC is spawned | Add as many as you want
ENT.StartHealth = 180
---------------------------------------------------------------------------------------------------------------------------------------------
ENT.AnimTbl_MeleeAttack = {ACT_MELEE_ATTACK1, ACT_MELEE_ATTACK_SWING}
ENT.TimeUntilGrenadeIsReleased = 1 -- Time until the grenade is released
ENT.AllowWeaponReloading = false -- If false, the SNPC will no longer reload
ENT.HasShootWhileMoving = false -- Can it shoot while moving?
ENT.MoveOrHideOnDamageByEnemy = false -- Should the SNPC move or hide when being damaged by an enemy?
ENT.HasWeaponBackAway = false -- Should the SNPC back away if the enemy is close?
ENT.SoundTbl_Breath = {"vj_hlr/hl1_npc/hassault/hw_spin.wav"}
ENT.BreathSoundLevel = 80
ENT.GeneralSoundPitch1 = 80
ENT.GeneralSoundPitch2 = 80
-- Custom
ENT.Serg_SpinUpT = 0
ENT.Serg_Type = 0
-- 0 = Default
-- 1 = Alpha
-- 2 = Alpha Melee
---------------------------------------------------------------------------------------------------------------------------------------------
function ENT:HECU_CustomOnThink()
-- Unlimited ammo
local curWeapon = self:GetActiveWeapon()
if IsValid(curWeapon) then
curWeapon:SetClip1(999)
end
-- For weapon spinning sound
if self.DoingWeaponAttack then
self.HasBreathSound = true
else
VJ_STOPSOUND(self.CurrentBreathSound)
self.HasBreathSound = false
end
-- Reset Alpha Sergeant's gun in case the melee animation gets cut off and draw event is never called!
if self:GetWeaponState() == VJ_WEP_STATE_HOLSTERED && self.AttackType != VJ_ATTACK_MELEE then
self:SetBodygroup(1, 0)
end
end
---------------------------------------------------------------------------------------------------------------------------------------------
function ENT:CustomOnWeaponAttack()
-- Do the weapon spin up routine
if CurTime() > self.Serg_SpinUpT then
local setTime = CurTime() + 0.9
self.NextChaseTime = setTime -- Make sure it won't chase
self.NextWeaponAttackT = setTime -- Make it not shoot for the given time
self.NextBreathSoundT = setTime -- For the spinning sound
self:VJ_ACT_PLAYACTIVITY(ACT_ARM, true, 0.9, true)
VJ_EmitSound(self, "vj_hlr/hl1_npc/hassault/hw_spinup.wav", 80)
self.Serg_SpinUpT = CurTime() + 4
end
end