mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 21:33:46 +03:00
468 lines
18 KiB
Lua
468 lines
18 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 ErrorNoHalt = ErrorNoHalt
|
|
local baseclass = baseclass
|
|
local setmetatable = setmetatable
|
|
local SERVER = SERVER
|
|
local string = string
|
|
local table = table
|
|
local util = util
|
|
|
|
module( "player_manager" )
|
|
|
|
-- Stores a table of valid player models
|
|
local ModelList = {}
|
|
local ModelListRev = {}
|
|
local HandNames = {}
|
|
|
|
--[[---------------------------------------------------------
|
|
Utility to add models to the acceptable model list
|
|
-----------------------------------------------------------]]
|
|
function AddValidModel( name, model )
|
|
|
|
ModelList[ name ] = model
|
|
ModelListRev[ string.lower( model ) ] = name
|
|
|
|
end
|
|
|
|
--
|
|
-- Valid hands
|
|
--
|
|
function AddValidHands( name, model, skin, body, matchBodySkin )
|
|
|
|
HandNames[ name ] = { model = model, skin = skin or 0, body = body or "0000000", matchBodySkin = matchBodySkin or false }
|
|
|
|
end
|
|
|
|
--[[---------------------------------------------------------
|
|
Return list of all valid player models
|
|
-----------------------------------------------------------]]
|
|
function AllValidModels( )
|
|
return ModelList
|
|
end
|
|
|
|
|
|
--[[---------------------------------------------------------
|
|
Translate the simple name of a model
|
|
into the full model name
|
|
-----------------------------------------------------------]]
|
|
function TranslatePlayerModel( name )
|
|
|
|
if ( ModelList[ name ] != nil ) then
|
|
return ModelList[ name ]
|
|
end
|
|
|
|
return "models/player/kleiner.mdl"
|
|
end
|
|
|
|
-- Translate from the full model name to simple model name
|
|
function TranslateToPlayerModelName( model )
|
|
|
|
model = string.lower( model )
|
|
|
|
if ( ModelListRev[ model ] != nil ) then
|
|
return ModelListRev[ model ]
|
|
end
|
|
|
|
return "kleiner"
|
|
end
|
|
|
|
--
|
|
-- Translate hands based on model
|
|
--
|
|
function TranslatePlayerHands( name )
|
|
|
|
if ( HandNames[ name ] != nil ) then
|
|
return HandNames[ name ]
|
|
end
|
|
|
|
return { model = "models/weapons/c_arms_citizen.mdl", skin = 0, body = "100000000" }
|
|
end
|
|
|
|
--[[---------------------------------------------------------
|
|
Compile a list of valid player models
|
|
-----------------------------------------------------------]]
|
|
|
|
AddValidModel( "alyx", "models/player/alyx.mdl" )
|
|
AddValidHands( "alyx", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "barney", "models/player/barney.mdl" )
|
|
AddValidHands( "barney", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "breen", "models/player/breen.mdl" )
|
|
AddValidHands( "breen", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "charple", "models/player/charple.mdl" )
|
|
AddValidHands( "charple", "models/weapons/c_arms_citizen.mdl", 2, "0000000" )
|
|
|
|
AddValidModel( "chell", "models/player/p2_chell.mdl" )
|
|
AddValidHands( "chell", "models/weapons/c_arms_chell.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "corpse", "models/player/corpse1.mdl" )
|
|
AddValidHands( "corpse", "models/weapons/c_arms_citizen.mdl", 2, "0000000" )
|
|
|
|
AddValidModel( "combine", "models/player/combine_soldier.mdl" )
|
|
AddValidHands( "combine", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "combineprison", "models/player/combine_soldier_prisonguard.mdl" )
|
|
AddValidHands( "combineprison", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "combineelite", "models/player/combine_super_soldier.mdl" )
|
|
AddValidHands( "combineelite", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "eli", "models/player/eli.mdl" )
|
|
AddValidHands( "eli", "models/weapons/c_arms_citizen.mdl", 1, "0000000" )
|
|
|
|
AddValidModel( "gman", "models/player/gman_high.mdl" )
|
|
AddValidHands( "gman", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "kleiner", "models/player/kleiner.mdl" )
|
|
AddValidHands( "kleiner", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "monk", "models/player/monk.mdl" )
|
|
AddValidHands( "monk", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "mossman", "models/player/mossman.mdl" )
|
|
AddValidHands( "mossman", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "mossmanarctic", "models/player/mossman_arctic.mdl" )
|
|
AddValidHands( "mossmanarctic", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "odessa", "models/player/odessa.mdl" )
|
|
AddValidHands( "odessa", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "police", "models/player/police.mdl" )
|
|
AddValidHands( "police", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "policefem", "models/player/police_fem.mdl" )
|
|
AddValidHands( "policefem", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "magnusson", "models/player/magnusson.mdl" )
|
|
AddValidHands( "magnusson", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "stripped", "models/player/soldier_stripped.mdl" )
|
|
AddValidHands( "stripped", "models/weapons/c_arms_hev.mdl", 2, "0000000" )
|
|
|
|
AddValidModel( "zombie", "models/player/zombie_classic.mdl" )
|
|
AddValidHands( "zombie", "models/weapons/c_arms_citizen.mdl", 2, "0000000" )
|
|
|
|
AddValidModel( "zombiefast", "models/player/zombie_fast.mdl" )
|
|
AddValidHands( "zombiefast", "models/weapons/c_arms_citizen.mdl", 2, "0000000" )
|
|
|
|
AddValidModel( "female01", "models/player/Group01/female_01.mdl" )
|
|
AddValidHands( "female01", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "female02", "models/player/Group01/female_02.mdl" )
|
|
AddValidHands( "female02", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "female03", "models/player/Group01/female_03.mdl" )
|
|
AddValidHands( "female03", "models/weapons/c_arms_citizen.mdl", 1, "0000000" )
|
|
AddValidModel( "female04", "models/player/Group01/female_04.mdl" )
|
|
AddValidHands( "female04", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "female05", "models/player/Group01/female_05.mdl" )
|
|
AddValidHands( "female05", "models/weapons/c_arms_citizen.mdl", 1, "0000000" )
|
|
AddValidModel( "female06", "models/player/Group01/female_06.mdl" )
|
|
AddValidHands( "female06", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "female07", "models/player/Group03/female_01.mdl" )
|
|
AddValidHands( "female07", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "female08", "models/player/Group03/female_02.mdl" )
|
|
AddValidHands( "female08", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "female09", "models/player/Group03/female_03.mdl" )
|
|
AddValidHands( "female09", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
AddValidModel( "female10", "models/player/Group03/female_04.mdl" )
|
|
AddValidHands( "female10", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "female11", "models/player/Group03/female_05.mdl" )
|
|
AddValidHands( "female11", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
AddValidModel( "female12", "models/player/Group03/female_06.mdl" )
|
|
AddValidHands( "female12", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
|
|
AddValidModel( "male01", "models/player/Group01/male_01.mdl" )
|
|
AddValidHands( "male01", "models/weapons/c_arms_citizen.mdl", 1, "0000000" )
|
|
AddValidModel( "male02", "models/player/Group01/male_02.mdl" )
|
|
AddValidHands( "male02", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "male03", "models/player/Group01/male_03.mdl" )
|
|
AddValidHands( "male03", "models/weapons/c_arms_citizen.mdl", 1, "0000000" )
|
|
AddValidModel( "male04", "models/player/Group01/male_04.mdl" )
|
|
AddValidHands( "male04", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "male05", "models/player/Group01/male_05.mdl" )
|
|
AddValidHands( "male05", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "male06", "models/player/Group01/male_06.mdl" )
|
|
AddValidHands( "male06", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "male07", "models/player/Group01/male_07.mdl" )
|
|
AddValidHands( "male07", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "male08", "models/player/Group01/male_08.mdl" )
|
|
AddValidHands( "male08", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "male09", "models/player/Group01/male_09.mdl" )
|
|
AddValidHands( "male09", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "male10", "models/player/Group03/male_01.mdl" )
|
|
AddValidHands( "male10", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
AddValidModel( "male11", "models/player/Group03/male_02.mdl" )
|
|
AddValidHands( "male11", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "male12", "models/player/Group03/male_03.mdl" )
|
|
AddValidHands( "male12", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
AddValidModel( "male13", "models/player/Group03/male_04.mdl" )
|
|
AddValidHands( "male13", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "male14", "models/player/Group03/male_05.mdl" )
|
|
AddValidHands( "male14", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "male15", "models/player/Group03/male_06.mdl" )
|
|
AddValidHands( "male15", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "male16", "models/player/Group03/male_07.mdl" )
|
|
AddValidHands( "male16", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "male17", "models/player/Group03/male_08.mdl" )
|
|
AddValidHands( "male17", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "male18", "models/player/Group03/male_09.mdl" )
|
|
AddValidHands( "male18", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
|
|
AddValidModel( "medic01", "models/player/Group03m/male_01.mdl" )
|
|
AddValidHands( "medic01", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
AddValidModel( "medic02", "models/player/Group03m/male_02.mdl" )
|
|
AddValidHands( "medic02", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic03", "models/player/Group03m/male_03.mdl" )
|
|
AddValidHands( "medic03", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
AddValidModel( "medic04", "models/player/Group03m/male_04.mdl" )
|
|
AddValidHands( "medic04", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic05", "models/player/Group03m/male_05.mdl" )
|
|
AddValidHands( "medic05", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "medic06", "models/player/Group03m/male_06.mdl" )
|
|
AddValidHands( "medic06", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic07", "models/player/Group03m/male_07.mdl" )
|
|
AddValidHands( "medic07", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic08", "models/player/Group03m/male_08.mdl" )
|
|
AddValidHands( "medic08", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic09", "models/player/Group03m/male_09.mdl" )
|
|
AddValidHands( "medic09", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic10", "models/player/Group03m/female_01.mdl" )
|
|
AddValidHands( "medic10", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "medic11", "models/player/Group03m/female_02.mdl" )
|
|
AddValidHands( "medic11", "models/weapons/c_arms_refugee.mdl", 0, "0000000" )
|
|
AddValidModel( "medic12", "models/player/Group03m/female_03.mdl" )
|
|
AddValidHands( "medic12", "models/weapons/c_arms_refugee.mdl", 1, "0000000" )
|
|
AddValidModel( "medic13", "models/player/Group03m/female_04.mdl" )
|
|
AddValidHands( "medic13", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "medic14", "models/player/Group03m/female_05.mdl" )
|
|
AddValidHands( "medic14", "models/weapons/c_arms_refugee.mdl", 0, "0100000" )
|
|
AddValidModel( "medic15", "models/player/Group03m/female_06.mdl" )
|
|
AddValidHands( "medic15", "models/weapons/c_arms_refugee.mdl", 1, "0100000" )
|
|
|
|
AddValidModel( "refugee01", "models/player/Group02/male_02.mdl" )
|
|
AddValidHands( "refugee01", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "refugee02", "models/player/Group02/male_04.mdl" )
|
|
AddValidHands( "refugee02", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "refugee03", "models/player/Group02/male_06.mdl" )
|
|
AddValidHands( "refugee03", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "refugee04", "models/player/Group02/male_08.mdl" )
|
|
AddValidHands( "refugee04", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
|
|
--
|
|
-- Game specific player models! (EP2, CSS, DOD)
|
|
-- Moving them to here since we're now shipping all required files / fallbacks
|
|
|
|
AddValidModel( "magnusson", "models/player/magnusson.mdl" )
|
|
AddValidHands( "magnusson", "models/weapons/c_arms_citizen.mdl", 0, "0000000" )
|
|
AddValidModel( "skeleton", "models/player/skeleton.mdl" )
|
|
AddValidHands( "skeleton", "models/weapons/c_arms_citizen.mdl", 2, "0000000" )
|
|
AddValidModel( "zombine", "models/player/zombie_soldier.mdl" )
|
|
AddValidHands( "zombine", "models/weapons/c_arms_combine.mdl", 0, "0000000" )
|
|
|
|
AddValidModel( "hostage01", "models/player/hostage/hostage_01.mdl" )
|
|
AddValidModel( "hostage02", "models/player/hostage/hostage_02.mdl" )
|
|
AddValidModel( "hostage03", "models/player/hostage/hostage_03.mdl" )
|
|
AddValidModel( "hostage04", "models/player/hostage/hostage_04.mdl" )
|
|
|
|
AddValidModel( "css_arctic", "models/player/arctic.mdl" )
|
|
AddValidHands( "css_arctic", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_gasmask", "models/player/gasmask.mdl" )
|
|
AddValidHands( "css_gasmask", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_guerilla", "models/player/guerilla.mdl" )
|
|
AddValidHands( "css_guerilla", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_leet", "models/player/leet.mdl" )
|
|
AddValidHands( "css_leet", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_phoenix", "models/player/phoenix.mdl" )
|
|
AddValidHands( "css_phoenix", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_riot", "models/player/riot.mdl" )
|
|
AddValidHands( "css_riot", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_swat", "models/player/swat.mdl" )
|
|
AddValidHands( "css_swat", "models/weapons/c_arms_cstrike.mdl", 0, "10000000" )
|
|
AddValidModel( "css_urban", "models/player/urban.mdl" )
|
|
AddValidHands( "css_urban", "models/weapons/c_arms_cstrike.mdl", 7, "10000000" )
|
|
|
|
AddValidModel( "dod_german", "models/player/dod_german.mdl" )
|
|
AddValidHands( "dod_german", "models/weapons/c_arms_dod.mdl", 0, "10000000" )
|
|
AddValidModel( "dod_american", "models/player/dod_american.mdl" )
|
|
AddValidHands( "dod_american", "models/weapons/c_arms_dod.mdl", 1, "10000000" )
|
|
|
|
|
|
--
|
|
-- Player Class Stuff
|
|
--
|
|
|
|
local Type = {}
|
|
|
|
function GetPlayerClasses()
|
|
|
|
return table.Copy( Type )
|
|
|
|
end
|
|
|
|
local function LookupPlayerClass( ply )
|
|
|
|
local id = ply:GetClassID()
|
|
if ( id == 0 ) then return end
|
|
|
|
--
|
|
-- Check the cache
|
|
--
|
|
local plyClass = ply.m_CurrentPlayerClass
|
|
if ( plyClass && plyClass.Player == ply ) then
|
|
if ( plyClass.ClassID == id && plyClass.Func ) then return plyClass end -- current class is still good, behave normally
|
|
if ( plyClass.ClassChanged ) then plyClass:ClassChanged() end -- the class id changed, remove the old class
|
|
end
|
|
|
|
--
|
|
-- No class, lets create one
|
|
--
|
|
local classname = util.NetworkIDToString( id )
|
|
if ( !classname ) then return end
|
|
|
|
--
|
|
-- Get that type. Fail if we don't have the type.
|
|
--
|
|
local t = Type[ classname ]
|
|
if ( !t ) then return end
|
|
|
|
local newClass = {
|
|
Player = ply,
|
|
ClassID = id,
|
|
Func = function() end
|
|
}
|
|
|
|
setmetatable( newClass, { __index = t } )
|
|
|
|
ply.m_CurrentPlayerClass = newClass
|
|
|
|
-- TODO: We probably want to reset previous DTVar stuff on the player
|
|
newClass.Player:InstallDataTable()
|
|
newClass:SetupDataTables()
|
|
newClass:Init()
|
|
return newClass
|
|
|
|
end
|
|
|
|
function RegisterClass( name, tab, base )
|
|
|
|
Type[ name ] = tab
|
|
|
|
--
|
|
-- If we have a base method then hook
|
|
-- it up in the meta table
|
|
--
|
|
if ( base ) then
|
|
|
|
if ( !Type[ name ] ) then ErrorNoHalt( "RegisterClass - deriving " .. name .. " from unknown class " .. base .. "!\n" ) end
|
|
setmetatable( Type[ name ], { __index = Type[ base ] } )
|
|
|
|
end
|
|
|
|
if ( SERVER ) then
|
|
util.AddNetworkString( name )
|
|
end
|
|
|
|
--
|
|
-- drive methods cooperate with the baseclass system
|
|
-- /lua/includes/modules/baseclass.lua
|
|
--
|
|
baseclass.Set( name, Type[ name ] )
|
|
|
|
end
|
|
|
|
function SetPlayerClass( ply, classname )
|
|
|
|
if ( !Type[ classname ] ) then ErrorNoHalt( "SetPlayerClass - attempt to use unknown player class " .. classname .. "!\n" ) end
|
|
|
|
local id = util.NetworkStringToID( classname )
|
|
ply:SetClassID( id )
|
|
|
|
-- Initialize the player class so the datatable and everything is set up
|
|
-- This probably could be done better
|
|
LookupPlayerClass( ply )
|
|
|
|
end
|
|
|
|
function GetPlayerClass( ply )
|
|
|
|
local id = ply:GetClassID()
|
|
if ( id == 0 ) then return end
|
|
|
|
return util.NetworkIDToString( id )
|
|
|
|
end
|
|
|
|
function GetPlayerClassTable( ply )
|
|
|
|
local id = ply:GetClassID()
|
|
if ( id == 0 ) then return end
|
|
|
|
local ct = Type[ util.NetworkIDToString( id ) ]
|
|
if ( !ct ) then return end
|
|
|
|
return table.Copy( ct )
|
|
|
|
end
|
|
|
|
function ClearPlayerClass( ply )
|
|
|
|
ply:SetClassID( 0 )
|
|
|
|
end
|
|
|
|
function RunClass( ply, funcname, ... )
|
|
|
|
local class = LookupPlayerClass( ply )
|
|
if ( !class ) then return end
|
|
|
|
local func = class[ funcname ]
|
|
if ( !func ) then ErrorNoHalt( "Function " .. funcname .. " not found on player class!\n" ) return end
|
|
|
|
return func( class, ... )
|
|
|
|
end
|
|
|
|
--
|
|
-- Should be called on spawn automatically to set the variables below
|
|
-- This is called in the base gamemode :PlayerSpawn function
|
|
--
|
|
function OnPlayerSpawn( ply, transiton )
|
|
|
|
local class = LookupPlayerClass( ply )
|
|
if ( !class ) then return end
|
|
|
|
ply:SetSlowWalkSpeed( class.SlowWalkSpeed )
|
|
ply:SetWalkSpeed( class.WalkSpeed )
|
|
ply:SetRunSpeed( class.RunSpeed )
|
|
ply:SetCrouchedWalkSpeed( class.CrouchedWalkSpeed )
|
|
ply:SetDuckSpeed( class.DuckSpeed )
|
|
ply:SetUnDuckSpeed( class.UnDuckSpeed )
|
|
ply:SetJumpPower( class.JumpPower )
|
|
ply:AllowFlashlight( class.CanUseFlashlight )
|
|
ply:ShouldDropWeapon( class.DropWeaponOnDie )
|
|
ply:SetNoCollideWithTeammates( class.TeammateNoCollide )
|
|
ply:SetAvoidPlayers( class.AvoidPlayers )
|
|
|
|
if ( !transiton ) then
|
|
ply:SetMaxHealth( class.MaxHealth )
|
|
ply:SetMaxArmor( class.MaxArmor )
|
|
ply:SetHealth( class.StartHealth )
|
|
ply:SetArmor( class.StartArmor )
|
|
end
|
|
|
|
end
|