mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 21:33:46 +03:00
74 lines
3.0 KiB
Lua
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 |