mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 13:23:46 +03:00
98 lines
3.1 KiB
Lua
98 lines
3.1 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/
|
|
--]]
|
|
|
|
|
|
local ActIndex = {
|
|
[ "pistol" ] = ACT_HL2MP_IDLE_PISTOL,
|
|
[ "smg" ] = ACT_HL2MP_IDLE_SMG1,
|
|
[ "grenade" ] = ACT_HL2MP_IDLE_GRENADE,
|
|
[ "ar2" ] = ACT_HL2MP_IDLE_AR2,
|
|
[ "shotgun" ] = ACT_HL2MP_IDLE_SHOTGUN,
|
|
[ "rpg" ] = ACT_HL2MP_IDLE_RPG,
|
|
[ "physgun" ] = ACT_HL2MP_IDLE_PHYSGUN,
|
|
[ "crossbow" ] = ACT_HL2MP_IDLE_CROSSBOW,
|
|
[ "melee" ] = ACT_HL2MP_IDLE_MELEE,
|
|
[ "slam" ] = ACT_HL2MP_IDLE_SLAM,
|
|
[ "normal" ] = ACT_HL2MP_IDLE,
|
|
[ "fist" ] = ACT_HL2MP_IDLE_FIST,
|
|
[ "melee2" ] = ACT_HL2MP_IDLE_MELEE2,
|
|
[ "passive" ] = ACT_HL2MP_IDLE_PASSIVE,
|
|
[ "knife" ] = ACT_HL2MP_IDLE_KNIFE,
|
|
[ "duel" ] = ACT_HL2MP_IDLE_DUEL,
|
|
[ "camera" ] = ACT_HL2MP_IDLE_CAMERA,
|
|
[ "magic" ] = ACT_HL2MP_IDLE_MAGIC,
|
|
[ "revolver" ] = ACT_HL2MP_IDLE_REVOLVER
|
|
}
|
|
|
|
--[[---------------------------------------------------------
|
|
Name: SetWeaponHoldType
|
|
Desc: Sets up the translation table, to translate from normal
|
|
standing idle pose, to holding weapon pose.
|
|
-----------------------------------------------------------]]
|
|
function SWEP:SetWeaponHoldType( t )
|
|
|
|
t = string.lower( t )
|
|
local index = ActIndex[ t ]
|
|
|
|
if ( index == nil ) then
|
|
Msg( "SWEP:SetWeaponHoldType - ActIndex[ \"" .. t .. "\" ] isn't set! (defaulting to normal)\n" )
|
|
t = "normal"
|
|
index = ActIndex[ t ]
|
|
end
|
|
|
|
self.ActivityTranslate = {}
|
|
self.ActivityTranslate[ ACT_MP_STAND_IDLE ] = index
|
|
self.ActivityTranslate[ ACT_MP_WALK ] = index + 1
|
|
self.ActivityTranslate[ ACT_MP_RUN ] = index + 2
|
|
self.ActivityTranslate[ ACT_MP_CROUCH_IDLE ] = index + 3
|
|
self.ActivityTranslate[ ACT_MP_CROUCHWALK ] = index + 4
|
|
self.ActivityTranslate[ ACT_MP_ATTACK_STAND_PRIMARYFIRE ] = index + 5
|
|
self.ActivityTranslate[ ACT_MP_ATTACK_CROUCH_PRIMARYFIRE ] = index + 5
|
|
self.ActivityTranslate[ ACT_MP_RELOAD_STAND ] = index + 6
|
|
self.ActivityTranslate[ ACT_MP_RELOAD_CROUCH ] = index + 6
|
|
self.ActivityTranslate[ ACT_MP_JUMP ] = index + 7
|
|
self.ActivityTranslate[ ACT_RANGE_ATTACK1 ] = index + 8
|
|
self.ActivityTranslate[ ACT_MP_SWIM ] = index + 9
|
|
|
|
-- "normal" jump animation doesn't exist
|
|
if ( t == "normal" ) then
|
|
self.ActivityTranslate[ ACT_MP_JUMP ] = ACT_HL2MP_JUMP_SLAM
|
|
end
|
|
|
|
self:SetupWeaponHoldTypeForAI( t )
|
|
|
|
end
|
|
|
|
-- Default hold pos is the pistol
|
|
SWEP:SetWeaponHoldType( "pistol" )
|
|
|
|
--[[---------------------------------------------------------
|
|
Name: weapon:TranslateActivity()
|
|
Desc: Translate a player's Activity into a weapon's activity
|
|
So for example, ACT_HL2MP_RUN becomes ACT_HL2MP_RUN_PISTOL
|
|
Depending on how you want the player to be holding the weapon
|
|
-----------------------------------------------------------]]
|
|
function SWEP:TranslateActivity( act )
|
|
|
|
if ( self:GetOwner():IsNPC() ) then
|
|
if ( self.ActivityTranslateAI[ act ] ) then
|
|
return self.ActivityTranslateAI[ act ]
|
|
end
|
|
return -1
|
|
end
|
|
|
|
if ( self.ActivityTranslate[ act ] != nil ) then
|
|
return self.ActivityTranslate[ act ]
|
|
end
|
|
|
|
return -1
|
|
|
|
end
|