From bcef57d2b664bae54c377d5a8b9842cd9dcb5eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20G=C3=B6ransson?= Date: Tue, 22 Feb 2011 19:47:27 +0000 Subject: [PATCH] Promod LIVE V2.11 release --- compile.bat | 2 +- compile_fastfile.bat | 4 +- ...~80s_econ_glass_spc-rgb&80s_e~29444396.iwi | Bin 0 -> 44 bytes localizedstrings/cgame.str | 16 + maps/mp/_destructible.gsc | 157 +--- maps/mp/_destructible_types.gsc | 8 - maps/mp/_explosive_barrels.gsc | 12 +- maps/mp/_flashgrenades.gsc | 3 +- maps/mp/_load.gsc | 8 +- maps/mp/gametypes/_class.gsc | 50 +- maps/mp/gametypes/_gameobjects.gsc | 247 ++---- maps/mp/gametypes/_globallogic.gsc | 777 +++++++++-------- maps/mp/gametypes/_healthoverlay.gsc | 3 - maps/mp/gametypes/_hud_message.gsc | 16 +- maps/mp/gametypes/_menus.gsc | 272 +++--- maps/mp/gametypes/_promod.gsc | 124 ++- maps/mp/gametypes/_quickmessages.gsc | 481 ++++------- maps/mp/gametypes/_rank.gsc | 2 +- maps/mp/gametypes/_scoreboard.gsc | 8 +- maps/mp/gametypes/_spawnlogic.gsc | 1 - maps/mp/gametypes/_spectating.gsc | 25 +- maps/mp/gametypes/_teams.gsc | 20 +- maps/mp/gametypes/_weapons.gsc | 50 -- maps/mp/gametypes/dm.gsc | 2 - maps/mp/gametypes/dom.gsc | 4 - maps/mp/gametypes/koth.gsc | 5 - maps/mp/gametypes/sab.gsc | 14 +- maps/mp/gametypes/sd.gsc | 64 +- maps/mp/gametypes/war.gsc | 2 - maps/mp/mp_backlot.gsc | 2 + maps/mp/mp_bloc.gsc | 2 + maps/mp/mp_bog.gsc | 2 + maps/mp/mp_broadcast.gsc | 2 + maps/mp/mp_carentan.gsc | 2 + maps/mp/mp_cargoship.gsc | 2 + maps/mp/mp_citystreets.gsc | 2 + maps/mp/mp_convoy.gsc | 2 + maps/mp/mp_countdown.gsc | 2 + maps/mp/mp_crash.gsc | 2 + maps/mp/mp_crash_snow.gsc | 2 + maps/mp/mp_creek.gsc | 2 + maps/mp/mp_crossfire.gsc | 2 + maps/mp/mp_farm.gsc | 2 + maps/mp/mp_killhouse.gsc | 2 + maps/mp/mp_overgrown.gsc | 2 + maps/mp/mp_pipeline.gsc | 2 + maps/mp/mp_shipment.gsc | 2 + maps/mp/mp_showdown.gsc | 2 + maps/mp/mp_strike.gsc | 2 + maps/mp/mp_vacant.gsc | 2 + mod.csv | 5 +- pb/pbsvuser.cfg | 2 + pb/promod_iwd_md5.cfg | 1 + iwd.cfg => pb/stock_iwd_md5.cfg | 0 promod.str | 37 - promod/client.gsc | 185 +---- promod/comp.gsc | 24 +- promod/customStatsTable.csv | 1 + promod/dvarmon.gsc | 37 +- promod/header.gsc | 47 -- promod/messagecenter.gsc | 19 - promod/modes.gsc | 22 +- promod/readyup.gsc | 520 ++++++------ promod/scorebot.gsc | 70 +- promod/servercheck.gsc | 83 +- promod/setvariables.gsc | 6 +- promod/shoutcast.gsc | 109 ++- promod/stratmode.gsc | 155 +++- promod/strattime.gsc | 52 +- promod/timeout.gsc | 111 ++- promod_ruleset/custom_public.gsc | 20 +- readme.txt | 216 +++-- server.cfg | 12 +- server_setup.txt | 20 +- sound/promod/defused.mp3 | Bin 28002 -> 0 bytes sound/promod/defused.wav | Bin 0 -> 71656 bytes sound/promod/destroyed.mp3 | Bin 23822 -> 0 bytes sound/promod/destroyed.wav | Bin 0 -> 60408 bytes sound/promod/planted.mp3 | Bin 25494 -> 0 bytes sound/promod/planted.wav | Bin 0 -> 65158 bytes soundaliases/promod.csv | 8 +- ui_mp/auto_update.menu | 2 +- ui_mp/cac_ingame.inc | 785 +++++++++--------- ui_mp/cac_loadout_ingame.inc | 58 +- ui_mp/controls_multi.menu | 64 +- ui_mp/hud.menu | 302 +++++-- ui_mp/main.menu | 3 +- ui_mp/options_multi.menu | 21 +- ui_mp/scriptmenus/changeclass_marines_mw.menu | 7 +- ui_mp/scriptmenus/changeclass_opfor_mw.menu | 7 +- ui_mp/scriptmenus/class.menu | 3 +- ui_mp/scriptmenus/demo.menu | 73 ++ ui_mp/scriptmenus/quickpromod.menu | 21 +- ui_mp/scriptmenus/quickpromodgfx.menu | 2 - ui_mp/scriptmenus/scoreboard.menu | 32 +- ui_mp/scriptmenus/shoutcast.menu | 25 +- ui_mp/scriptmenus/shoutcast_map.menu | 3 +- ui_mp/scriptmenus/shoutcast_setup.inc | 25 + ui_mp/scriptmenus/shoutcast_setup.menu | 168 ++-- ui_mp/scriptmenus/shoutcast_setup_binds.menu | 110 +++ ui_mp/scriptmenus/team_marinesopfor.menu | 14 +- .../team_marinesopfor_flipped.menu | 14 +- ui_mp/tactical_map.inc | 135 +-- ui_mp/tactical_map_s.inc | 136 +-- ui_mp/wm_quickmessage.menu | 2 - weapons/mp/ak47_mp | 2 +- weapons/mp/ak47_silencer_mp | 2 +- weapons/mp/ak74u_mp | 2 +- weapons/mp/ak74u_silencer_mp | 2 +- weapons/mp/beretta_mp | 2 +- weapons/mp/beretta_silencer_mp | 2 +- weapons/mp/colt45_mp | 2 +- weapons/mp/colt45_silencer_mp | 2 +- weapons/mp/deserteagle_mp | 2 +- weapons/mp/deserteaglegold_mp | 2 +- weapons/mp/flash_grenade_mp | 1 + weapons/mp/g36c_mp | 2 +- weapons/mp/g36c_silencer_mp | 2 +- weapons/mp/g3_mp | 2 +- weapons/mp/g3_silencer_mp | 2 +- weapons/mp/m1014_mp | 2 +- weapons/mp/m14_mp | 2 +- weapons/mp/m14_silencer_mp | 2 +- weapons/mp/m16_mp | 2 +- weapons/mp/m16_silencer_mp | 2 +- weapons/mp/m40a3_mp | 2 +- weapons/mp/m4_mp | 2 +- weapons/mp/m4_silencer_mp | 2 +- weapons/mp/mp44_mp | 2 +- weapons/mp/mp5_mp | 2 +- weapons/mp/mp5_silencer_mp | 2 +- weapons/mp/remington700_mp | 2 +- weapons/mp/usp_mp | 2 +- weapons/mp/usp_silencer_mp | 2 +- weapons/mp/uzi_mp | 2 +- weapons/mp/uzi_silencer_mp | 2 +- weapons/mp/winchester1200_mp | 2 +- 137 files changed, 3092 insertions(+), 3164 deletions(-) create mode 100644 images/~80s_econ_glass_spc-rgb&80s_e~29444396.iwi create mode 100644 localizedstrings/cgame.str create mode 100644 pb/pbsvuser.cfg create mode 100644 pb/promod_iwd_md5.cfg rename iwd.cfg => pb/stock_iwd_md5.cfg (100%) delete mode 100644 promod.str delete mode 100644 promod/header.gsc delete mode 100644 sound/promod/defused.mp3 create mode 100644 sound/promod/defused.wav delete mode 100644 sound/promod/destroyed.mp3 create mode 100644 sound/promod/destroyed.wav delete mode 100644 sound/promod/planted.mp3 create mode 100644 sound/promod/planted.wav create mode 100644 ui_mp/scriptmenus/demo.menu create mode 100644 ui_mp/scriptmenus/shoutcast_setup.inc create mode 100644 ui_mp/scriptmenus/shoutcast_setup_binds.menu create mode 100644 weapons/mp/flash_grenade_mp diff --git a/compile.bat b/compile.bat index bdb4e82..25ecd38 100644 --- a/compile.bat +++ b/compile.bat @@ -8,7 +8,7 @@ @echo off -SET mod_name=promodlive210 +SET mod_name=promodlive211 SET work_directory=%~dp0 cd %work_directory% diff --git a/compile_fastfile.bat b/compile_fastfile.bat index a3f735a..ec9d31b 100644 --- a/compile_fastfile.bat +++ b/compile_fastfile.bat @@ -11,6 +11,7 @@ SET work_directory=%~dp0 cd %work_directory% +xcopy localizedstrings ..\..\raw\english\localizedstrings\ /SY xcopy maps ..\..\raw\maps\ /SY xcopy promod ..\..\raw\promod\ /SY xcopy shock ..\..\raw\shock\ /SY @@ -19,12 +20,11 @@ xcopy soundaliases ..\..\raw\soundaliases\ /SY xcopy ui_mp ..\..\raw\ui_mp\ /SY copy mod.csv ..\..\zone_source /Y -copy promod.str ..\..\raw\english\localizedstrings /Y cd ..\..\bin linker_pc.exe -language english -compress -cleanup mod -verbose -cd ..\mods\promodlive210 +cd ..\mods\promodlive211 copy ..\..\zone\english\mod.ff pause diff --git a/images/~80s_econ_glass_spc-rgb&80s_e~29444396.iwi b/images/~80s_econ_glass_spc-rgb&80s_e~29444396.iwi new file mode 100644 index 0000000000000000000000000000000000000000..350b93d21e7c5b2c0709b867568eafe69f19a7e5 GIT binary patch literal 44 lcmeYa&t&6eU;#o#1|0?l1{omc0pdUZ|NjRHfdP;O1^|-*2XX)a literal 0 HcmV?d00001 diff --git a/localizedstrings/cgame.str b/localizedstrings/cgame.str new file mode 100644 index 0000000..e963579 --- /dev/null +++ b/localizedstrings/cgame.str @@ -0,0 +1,16 @@ +// Copyright (c) 2009-2017 Andreas Göransson +// Copyright (c) 2009-2017 Indrek Ardel +// +// This file is part of Call of Duty 4 Promod. +// +// Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. +// Terms of license can be found in LICENSE.md document bundled with the project. + +VERSION "1" +CONFIG "C:\trees\cod3\cod3\bin\StringEd.cfg" +FILENOTES "" + +REFERENCE SPECTATORS +LANG_ENGLISH "Shoutcaster" + +ENDMARKER \ No newline at end of file diff --git a/maps/mp/_destructible.gsc b/maps/mp/_destructible.gsc index cc209bf..8010647 100644 --- a/maps/mp/_destructible.gsc +++ b/maps/mp/_destructible.gsc @@ -10,7 +10,6 @@ #include maps\mp\_utility; #include common_scripts\utility; -#using_animtree( "vehicles" ); init() { level.destructibleSpawnedEntsLimit = 25; @@ -23,8 +22,6 @@ init() destructible_create( type, health, validAttackers, validDamageZone, validDamageCause ) { - assert( isdefined( type ) ); - if( !isdefined( level.destructible_type ) ) level.destructible_type = []; @@ -46,11 +43,8 @@ destructible_create( type, health, validAttackers, validDamageZone, validDamageC destructible_part( tagName, modelName, health, noDraw, validDamageZone, validDamageCause, alsoDamageParent, physicsOnExplosion ) { destructibleIndex = ( level.destructible_type.size - 1 ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts.size ) ); partIndex = level.destructible_type[ destructibleIndex ].parts.size; - assert( partIndex > 0 ); stateIndex = 0; @@ -68,9 +62,6 @@ destructible_state( tagName, modelName, health, noDraw, validDamageZone, validDa destructible_fx( tagName, fxName, useTagAngles ) { - assert( isdefined( tagName ) ); - assert( isdefined( fxName ) ); - if ( !isdefined( useTagAngles ) ) useTagAngles = true; @@ -78,12 +69,6 @@ destructible_fx( tagName, fxName, useTagAngles ) partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "fx_filename" ] = fxName; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "fx_tag" ] = tagName; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "fx_useTagAngles" ] = useTagAngles; @@ -91,21 +76,10 @@ destructible_fx( tagName, fxName, useTagAngles ) destructible_loopfx( tagName, fxName, loopRate ) { - assert( isdefined( tagName ) ); - assert( isdefined( fxName ) ); - assert( isdefined( loopRate ) ); - assert( loopRate > 0 ); - destructibleIndex = ( level.destructible_type.size - 1 ); partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "loopfx_filename" ] = fxName; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "loopfx_tag" ] = tagName; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "loopfx_rate" ] = loopRate; @@ -113,36 +87,20 @@ destructible_loopfx( tagName, fxName, loopRate ) destructible_healthdrain( amount, interval ) { - assert( isdefined( amount ) ); - destructibleIndex = ( level.destructible_type.size - 1 ); partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "healthdrain_amount" ] = amount; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "healthdrain_interval" ] = interval; } destructible_sound( soundAlias, soundCause ) { - assert( isdefined( soundAlias ) ); - destructibleIndex = ( level.destructible_type.size - 1 ); partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - if ( !isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "sound" ] ) ) { level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "sound" ] = []; @@ -156,18 +114,10 @@ destructible_sound( soundAlias, soundCause ) destructible_loopsound( soundAlias, loopsoundCause ) { - assert( isdefined( soundAlias ) ); - destructibleIndex = ( level.destructible_type.size - 1 ); partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - if ( !isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "loopsound" ] ) ) { level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "loopsound" ] = []; @@ -179,38 +129,12 @@ destructible_loopsound( soundAlias, loopsoundCause ) level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "loopsoundCause" ][ index ] = loopsoundCause; } -destructible_anim( animName, animTree, animType ) -{ - assert( isdefined( anim ) ); - assert( isdefined( animtree ) ); - - destructibleIndex = ( level.destructible_type.size - 1 ); - partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); - stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "anim" ] = animName; - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "animTree" ] = animtree; - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "animType" ] = animType; -} - destructible_physics() { destructibleIndex = ( level.destructible_type.size - 1 ); partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "physics" ] = true; } @@ -220,12 +144,6 @@ destructible_explode( force_min, force_max, range, mindamage, maxdamage ) partIndex = ( level.destructible_type[ destructibleIndex ].parts.size - 1 ); stateIndex = ( level.destructible_type[ destructibleIndex ].parts[ partIndex ].size - 1 ); - assert( isdefined( level.destructible_type ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ] ) ); - assert( isdefined( level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ] ) ); - level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "explode_force_min" ] = force_min; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "explode_force_max" ] = force_max; level.destructible_type[ destructibleIndex ].parts[ partIndex ][ stateIndex ].v[ "explode_range" ] = range; @@ -235,11 +153,6 @@ destructible_explode( force_min, force_max, range, mindamage, maxdamage ) destructible_info( partIndex, stateIndex, tagName, modelName, health, noDraw, validDamageZone, validDamageCause, alsoDamageParent, physicsOnExplosion ) { - assert( isdefined( partIndex ) ); - assert( isdefined( stateIndex ) ); - assert( isdefined( level.destructible_type ) ); - assert( level.destructible_type.size > 0 ); - if ( isDefined( modelName ) ) modelName = toLower( modelName ); @@ -288,7 +201,6 @@ precache_destructibles() setup_destructibles() { destuctableInfo = undefined; - assertEx( isdefined( self.destructible_type ), "Destructible object with targetname 'destructible' does not have a 'destructible_type' key/value" ); self.destuctableInfo = maps\mp\_destructible_types::makeType( self.destructible_type ); @@ -327,7 +239,7 @@ setup_destructibles() } } - if( self.classname != "script_vehicle" ) + if( self.classname != "script_vehicle" ) self setCanDamage( true ); self thread destructible_think(); } @@ -360,14 +272,10 @@ destructible_think() self.damageOwner = attacker; type = getDamageType( type ); - assert( isdefined( type ) ); - assert( isdefined( modelName ) ); if ( modelName == "" ) - { - assert( isdefined( self.model ) ); modelName = self.model; - } + if ( isdefined( tagName ) && tagName == "" ) { if ( isdefined( partName ) && partName != "" && partName != "tag_body" ) @@ -395,7 +303,7 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta partIndex = -1; stateIndex = -1; - assert( isdefined( self.model ) ); + if ( ( tolower( modelName ) == tolower( self.model ) ) && ( !isdefined( tagName ) ) ) { modelName = self.model; @@ -417,7 +325,6 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta break; } } - assert( stateIndex >= 0 ); if ( partIndex < 0 ) return; @@ -446,17 +353,13 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta self.destructible_parts[ partIndex ].v[ "health" ] = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "health" ]; updateHealthValue = false; - validAttacker = self isAttackerValid( partIndex, stateIndex, attacker ); - if ( validAttacker ) + validDamageCause = self isValidDamageCause( partIndex, stateIndex, damageType ); + if ( validDamageCause ) { - validDamageCause = self isValidDamageCause( partIndex, stateIndex, damageType ); - if ( validDamageCause ) - { - if ( damageType == "melee" || damageType == "impact" ) - damage = 100000; + if ( damageType == "melee" || damageType == "impact" ) + damage = 100000; - self.destructible_parts[ partIndex ].v[ "health" ] -= damage; - } + self.destructible_parts[ partIndex ].v[ "health" ] -= damage; } if ( self.destructible_parts[ partIndex ].v[ "health" ] > 0 ) @@ -502,7 +405,6 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "fx" ] ) ) { - assert( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "fx_tag" ] ) ); fx = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "fx" ]; fx_tag = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "fx_tag" ]; self notify( "FX_State_Change" + partIndex ); @@ -518,7 +420,6 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "loopfx" ] ) ) { - assert( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "loopfx_tag" ] ) ); loopfx = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "loopfx" ]; loopfx_tag = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "loopfx_tag" ]; loopRate = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "loopfx_rate" ]; @@ -526,18 +427,6 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta self thread loopfx_onTag( loopfx, loopfx_tag, loopRate, partIndex ); } - if ( !isdefined( self.exploded ) && isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "anim" ] ) ) - { - animName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "anim" ]; - animTree = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "animTree" ]; - if ( !isdefined( self.animsApplied ) ) - self.animsApplied = []; - self.animsApplied[ self.animsApplied.size ] = animName; - - if ( !partIndex ) - self thread explodeAnim(); - } - if ( !isdefined( self.exploded ) && isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "sound" ] ) ) { for( i = 0 ; i < level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "sound" ].size ; i++ ) @@ -577,15 +466,12 @@ destructible_update_part( damage, modelName, tagName, point, direction_vec, atta if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "healthdrain_amount" ] ) ) { self notify( "Health_Drain_State_Change" + partIndex ); - healthdrain_amount = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "healthdrain_amount" ]; - healthdrain_interval = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "healthdrain_interval" ]; - healthdrain_modelName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "modelName" ]; - healthdrain_tagName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "tagName" ]; + healthdrain_amount = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "healthdrain_amount" ]; + healthdrain_interval = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "healthdrain_interval" ]; + healthdrain_modelName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "modelName" ]; + healthdrain_tagName = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "tagName" ]; if ( healthdrain_amount > 0 ) - { - assert( ( isdefined( healthdrain_interval ) ) && ( healthdrain_interval > 0 ) ); self thread health_drain( healthdrain_amount, healthdrain_interval, partIndex, healthdrain_modelName, healthdrain_tagName ); - } } if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ actionStateIndex ].v[ "explode_force_min" ] ) ) @@ -625,7 +511,6 @@ destructible_splash_damage( damage, point, direction_vec, attacker, damageType ) if ( isdefined( level.destructible_type[ self.destuctableInfo ].parts[ i ][ j ].v[ "modelName" ] ) ) { modelName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ j ].v[ "modelName" ]; - assert( isdefined( modelName ) ); if ( !i ) { @@ -635,7 +520,6 @@ destructible_splash_damage( damage, point, direction_vec, attacker, damageType ) else { tagName = level.destructible_type[ self.destuctableInfo ].parts[ i ][ j ].v[ "tagName" ]; - assert( isdefined( tagName ) ); d = distance( point, self getTagOrigin( tagName ) ); } @@ -676,11 +560,6 @@ isValidSoundCause( soundCauseVar, partIndex, stateIndex, soundIndex, damageType return false; } -isAttackerValid( partIndex, stateIndex, attacker ) -{ - return true; -} - isValidDamageCause( partIndex, stateIndex, damageType ) { validType = level.destructible_type[ self.destuctableInfo ].parts[ partIndex ][ stateIndex ].v[ "validDamageCause" ]; @@ -749,10 +628,9 @@ health_drain( amount, interval, partIndex, modelName, tagName ) explode( partIndex, force_min, force_max, range, mindamage, maxdamage ) { - assert( isdefined( force_min ) ); - assert( isdefined( force_max ) ); if ( isdefined( self.exploded ) ) return; + self.exploded = true; if(self.classname == "script_vehicle") @@ -829,13 +707,4 @@ hideapart( tagName ) showapart( tagName ) { self showpart( tagName ); -} - -explodeAnim() -{ - self moveZ( 16, 0.3, 0, 0.2 ); - self rotatePitch( 10, 0.3, 0, 0.2 ); - wait 0.3; - self moveZ( -16, 0.3, 0.15, 0 ); - self rotatePitch( -10, 0.3, 0.15, 0 ); } \ No newline at end of file diff --git a/maps/mp/_destructible_types.gsc b/maps/mp/_destructible_types.gsc index ab6bab3..da62c56 100644 --- a/maps/mp/_destructible_types.gsc +++ b/maps/mp/_destructible_types.gsc @@ -9,7 +9,6 @@ */ #include maps\mp\_destructible; -#using_animtree( "vehicles" ); makeType( destructibleType ) { @@ -100,12 +99,10 @@ makeType( destructibleType ) vehicle_small_hatch( "white" ); break; default: - assertMsg( "Destructible object 'destructible_type' key/value of '" + destructibleType + "' is not valid" ); break; } infoIndex = getInfoIndex( destructibleType ); - assert( infoIndex >= 0 ); return infoIndex; } @@ -140,7 +137,6 @@ vehicle_80s_sedan1( color ) destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false ); destructible_sound( "car_explode" ); destructible_explode( 4000, 5000, 375, 20, 300 ); - destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 9999 ); destructible_state( undefined, "vehicle_80s_sedan1_" + color + "_destroyed", undefined, 32, "no_melee" ); tag = "tag_hood"; @@ -239,7 +235,6 @@ vehicle_80s_wagon1( color ) destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false ); destructible_sound( "car_explode" ); destructible_explode( 4000, 5000, 250, 20, 300 ); - destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 9999 ); destructible_state( undefined, "vehicle_80s_wagon1_" + color + "_destroyed", undefined, 32, "no_melee" ); tag = "tag_hood"; @@ -348,7 +343,6 @@ vehicle_80s_hatch1( color ) destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false ); destructible_sound( "car_explode" ); destructible_explode( 4000, 5000, 250, 20, 300 ); - destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 9999 ); destructible_state( undefined, "vehicle_80s_hatch1_" + color + "_destroyed", undefined, 32, "no_melee" ); tag = "tag_hood"; @@ -441,7 +435,6 @@ vehicle_small_wagon( color ) destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false ); destructible_sound( "car_explode" ); destructible_explode( 4000, 5000, 250, 20, 300 ); - destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 9999 ); destructible_state( undefined, "vehicle_small_wagon_" + color + "_destroyed", undefined, 32, "no_melee" ); tag = "tag_hood"; @@ -534,7 +527,6 @@ vehicle_small_hatch( color ) destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false ); destructible_sound( "car_explode" ); destructible_explode( 4000, 5000, 250, 20, 300 ); - destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 9999 ); destructible_state( undefined, "vehicle_small_hatch_" + color + "_destroyed", undefined, 32, "no_melee" ); tag = "tag_hood"; diff --git a/maps/mp/_explosive_barrels.gsc b/maps/mp/_explosive_barrels.gsc index 9f659bc..0c52e90 100644 --- a/maps/mp/_explosive_barrels.gsc +++ b/maps/mp/_explosive_barrels.gsc @@ -19,15 +19,15 @@ main() qBarrels = true; if (qBarrels) { - level.breakables_fx["barrel"]["explode"] = loadfx ("props/barrelExp"); + level.breakables_fx["barrel"]["explode"] = loadfx ("props/barrelExp"); level.breakables_fx["barrel"]["burn_start"] = loadfx ("props/barrel_ignite"); - level.breakables_fx["barrel"]["burn"] = loadfx ("props/barrel_fire_top"); + level.breakables_fx["barrel"]["burn"] = loadfx ("props/barrel_fire_top"); } oilspill = getentarray ("oil_spill","targetname"); if(isdefined(oilspill) && oilspill.size > 0) { - level.breakables_fx["oilspill"]["burn"] = loadfx ("props/barrel_fire"); - level.breakables_fx["oilspill"]["spark"] = loadfx("impacts/small_metalhit_1"); + level.breakables_fx["oilspill"]["burn"] = loadfx ("props/barrel_fire"); + level.breakables_fx["oilspill"]["spark"] = loadfx("impacts/small_metalhit_1"); } level.barrelExpSound = "explo_metal_rand"; @@ -351,10 +351,8 @@ getstruct(name, type) if(!isdefined(array)) return undefined; if(array.size > 1) - { - assertMsg ("getstruct used for more than one struct of type " + type + " called " + name +"."); return undefined; - } + return array[0]; } diff --git a/maps/mp/_flashgrenades.gsc b/maps/mp/_flashgrenades.gsc index 912c1e3..a4b3ce1 100644 --- a/maps/mp/_flashgrenades.gsc +++ b/maps/mp/_flashgrenades.gsc @@ -70,8 +70,7 @@ monitorFlash() else rumbleduration = 0.25; - assert(isdefined(self.pers["team"])); - if (level.teamBased && isdefined(attacker) && isdefined(attacker.pers["team"]) && attacker.pers["team"] == self.pers["team"] && attacker != self) + if (level.teamBased && isdefined(attacker) && isdefined(attacker.pers["team"]) && isdefined(self.pers["team"]) && attacker.pers["team"] == self.pers["team"] && attacker != self) { if(!level.friendlyfire) continue; diff --git a/maps/mp/_load.gsc b/maps/mp/_load.gsc index 5b27722..e49b361 100644 --- a/maps/mp/_load.gsc +++ b/maps/mp/_load.gsc @@ -13,8 +13,6 @@ main( bScriptgened, bCSVgened, bsgenabled ) { - thread promod\servercheck::main(); - level._loadStarted = true; struct_class_init(); @@ -32,6 +30,10 @@ main( bScriptgened, bCSVgened, bsgenabled ) thread maps\mp\_destructables::init(); thread maps\mp\_destructible::init(); + thread promod\dvarmon::main(); + thread promod\servercheck::main(); + thread promod\modes::monitorMode(); + VisionSetNight( "default_night" ); level.createFX_enabled = 0; @@ -63,7 +65,6 @@ main( bScriptgened, bCSVgened, bsgenabled ) break; default: - assert( p == 5 ); triggertype = "trigger_damage"; break; } @@ -194,7 +195,6 @@ setupExploders() else ent.v[ "fxid" ] = exploder.script_fxid; ent.v[ "exploder" ] = exploder.script_exploder; - assertEx( isdefined( exploder.script_exploder ), "Exploder at origin " + exploder.origin + " has no script_exploder" ); if ( !isdefined( ent.v[ "delay" ] ) ) ent.v[ "delay" ] = 0; diff --git a/maps/mp/gametypes/_class.gsc b/maps/mp/gametypes/_class.gsc index 23f173c..9807f6c 100644 --- a/maps/mp/gametypes/_class.gsc +++ b/maps/mp/gametypes/_class.gsc @@ -142,10 +142,7 @@ giveLoadout( team, class ) } } - if( class == "assault" ) - self setMoveSpeedScale( 0.95 ); - else - self setMoveSpeedScale( 1.0 ); + self setMoveSpeedScale( ( 1.0 - 0.05 * int( class == "assault" ) ) * !int( isDefined( level.strat_over ) && !level.strat_over ) ); } preserveClass( class ) @@ -157,13 +154,6 @@ preserveClass( class ) CLASS_GRENADE = ""; CLASS_CAMO = ""; - CLASS_PRIMARY_VALUE = ""; - CLASS_PRIMARY_ATTACHMENT_VALUE = ""; - CLASS_SECONDARY_VALUE = ""; - CLASS_SECONDARY_ATTACHMENT_VALUE = ""; - CLASS_GRENADE_VALUE = ""; - CLASS_CAMO_VALUE = ""; - if ( class == "assault" ) { CLASS_PRIMARY = "ASSAULT_PRIMARY"; @@ -172,13 +162,6 @@ preserveClass( class ) CLASS_SECONDARY_ATTACHMENT = "ASSAULT_SECONDARY_ATTACHMENT"; CLASS_GRENADE = "ASSAULT_GRENADE"; CLASS_CAMO = "ASSAULT_CAMO"; - - CLASS_PRIMARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary"], 0 ) ); - CLASS_PRIMARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary_attachment"], 0 ) ); - CLASS_SECONDARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary"], 0 ) ); - CLASS_SECONDARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary_attachment"], 0 ) ); - CLASS_GRENADE_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_grenade"], 0 ) ); - CLASS_CAMO_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_camo"], 0 ) ); } else if ( class == "specops" ) { @@ -188,13 +171,6 @@ preserveClass( class ) CLASS_SECONDARY_ATTACHMENT = "SPECOPS_SECONDARY_ATTACHMENT"; CLASS_GRENADE = "SPECOPS_GRENADE"; CLASS_CAMO = "SPECOPS_CAMO"; - - CLASS_PRIMARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary"], 0 ) ); - CLASS_PRIMARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary_attachment"], 0 ) ); - CLASS_SECONDARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary"], 0 ) ); - CLASS_SECONDARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary_attachment"], 0 ) ); - CLASS_GRENADE_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_grenade"], 0 ) ); - CLASS_CAMO_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_camo"], 0 ) ); } else if ( class == "demolitions" ) { @@ -204,13 +180,6 @@ preserveClass( class ) CLASS_SECONDARY_ATTACHMENT = "DEMOLITIONS_SECONDARY_ATTACHMENT"; CLASS_GRENADE = "DEMOLITIONS_GRENADE"; CLASS_CAMO = "DEMOLITIONS_CAMO"; - - CLASS_PRIMARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary"], 0 ) ); - CLASS_PRIMARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary_attachment"], 0 ) ); - CLASS_SECONDARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary"], 0 ) ); - CLASS_SECONDARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary_attachment"], 0 ) ); - CLASS_GRENADE_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_grenade"], 0 ) ); - CLASS_CAMO_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_camo"], 0 ) ); } else if ( class == "sniper" ) { @@ -220,15 +189,15 @@ preserveClass( class ) CLASS_SECONDARY_ATTACHMENT = "SNIPER_SECONDARY_ATTACHMENT"; CLASS_GRENADE = "SNIPER_GRENADE"; CLASS_CAMO = "SNIPER_CAMO"; - - CLASS_PRIMARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary"], 0 ) ); - CLASS_PRIMARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary_attachment"], 0 ) ); - CLASS_SECONDARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary"], 0 ) ); - CLASS_SECONDARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary_attachment"], 0 ) ); - CLASS_GRENADE_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_grenade"], 0 ) ); - CLASS_CAMO_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_camo"], 0 ) ); } + CLASS_PRIMARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary"], 0 ) ); + CLASS_PRIMARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_primary_attachment"], 0 ) ); + CLASS_SECONDARY_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary"], 0 ) ); + CLASS_SECONDARY_ATTACHMENT_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_secondary_attachment"], 0 ) ); + CLASS_GRENADE_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_grenade"], 0 ) ); + CLASS_CAMO_VALUE = int( tablelookup( "promod/customStatsTable.csv", 1, self.pers[class]["loadout_camo"], 0 ) ); + self set_config( CLASS_PRIMARY, CLASS_PRIMARY_VALUE ); self set_config( CLASS_PRIMARY_ATTACHMENT, CLASS_PRIMARY_ATTACHMENT_VALUE ); self set_config( CLASS_SECONDARY, CLASS_SECONDARY_VALUE ); @@ -250,6 +219,7 @@ onPlayerConnecting() if ( !isDefined( player.pers["class"] ) ) player.pers["class"] = undefined; + player.class = player.pers["class"]; } } @@ -259,7 +229,7 @@ setClass( newClass ) self setClientDvar( "loadout_curclass", newClass ); self.curClass = newClass; - self thread promod\shoutcast::setShoutClass(); + thread promod\shoutcast::setShoutClass(); } cac_modified_damage( victim, attacker, damage, meansofdeath ) diff --git a/maps/mp/gametypes/_gameobjects.gsc b/maps/mp/gametypes/_gameobjects.gsc index e5c09aa..7ccbc76 100644 --- a/maps/mp/gametypes/_gameobjects.gsc +++ b/maps/mp/gametypes/_gameobjects.gsc @@ -80,7 +80,6 @@ onPlayerSpawned() self.carryObject = undefined; self.claimTrigger = undefined; self.canPickupObject = true; - self.disabledWeapon = 0; self.killedInUse = undefined; } } @@ -119,8 +118,6 @@ createCarryObject( ownerTeam, trigger, visuals, offset ) trigger.baseOrigin = trigger.origin; carryObject.trigger = trigger; - carryObject.useWeapon = undefined; - if ( !isDefined( offset ) ) offset = (0,0,0); @@ -155,7 +152,6 @@ createCarryObject( ownerTeam, trigger, visuals, offset ) carryObject.isResetting = false; carryObject.interactTeam = "none"; - carryObject.allowWeapons = false; carryObject.worldIcons = []; carryObject.carrierVisible = false; @@ -232,17 +228,9 @@ pickupObjectDelay( origin ) setPickedUp( player ) { - if ( isDefined( player.carryObject ) ) - { - if ( isDefined( self.onPickupFailed ) ) - self [[self.onPickupFailed]]( player ); - - return; - } - player giveObject( self ); - self setCarrier( player ); + self.carrier = player; for ( i = 0; i < self.visuals.size; i++ ) self.visuals[i] hide(); @@ -326,26 +314,17 @@ updateCarryObjectOrigin() giveObject( object ) { - assert( !isDefined( self.carryObject ) ); - self.carryObject = object; self thread trackCarrier(); - if ( !object.allowWeapons ) - { - self _disableWeapon(); - self thread manualDropThink(); - } - if ( isDefined( object.carryIcon ) ) { self.carryIcon = createIcon( object.carryIcon, 50, 50 ); - - if ( !object.allowWeapons ) - self.carryIcon setPoint( "CENTER", "CENTER", 0, 60 ); - else - self.carryIcon setPoint( "CENTER", "CENTER", 223, 167 ); + self.carryIcon setPoint( "CENTER", "CENTER", 223, 167 ); } + + if ( isDefined( level.scorebot ) && level.scorebot ) + level thread maps\mp\gametypes\_globallogic::updateTeamStatus(); } returnHome() @@ -359,6 +338,7 @@ returnHome() self.visuals[i].angles = self.visuals[i].baseAngles; self.visuals[i] show(); } + self.trigger.origin = self.trigger.baseOrigin; self.curOrigin = self.trigger.origin; @@ -374,28 +354,6 @@ returnHome() self.isResetting = false; } -setPosition( origin, angles ) -{ - self.isResetting = true; - - for ( i = 0; i < self.visuals.size; i++ ) - { - self.visuals[i].origin = self.origin; - self.visuals[i].angles = self.angles; - self.visuals[i] show(); - } - self.trigger.origin = origin; - - self.curOrigin = self.trigger.origin; - - self clearCarrier(); - - updateWorldIcons(); - updateCompassIcons(); - - self.isResetting = false; -} - setDropped() { self.isResetting = true; @@ -427,9 +385,7 @@ setDropped() dropAngles = vectortoangles( forward ); } else - { dropAngles = (0,tempAngle,0); - } for ( i = 0; i < self.visuals.size; i++ ) { @@ -467,29 +423,19 @@ setDropped() self.isResetting = false; } -setCarrier( carrier ) -{ - self.carrier = carrier; - - self thread updateVisibilityAccordingToRadar(); -} - clearCarrier() { if ( !isdefined( self.carrier ) ) return; self.carrier takeObject( self ); - + self.carrier.carryObject = undefined; self.carrier = undefined; - - self notify("carrier_cleared"); } pickupTimeout() { self endon ( "pickup_object" ); - self endon ( "stop_pickup_timeout" ); wait 0.05; @@ -537,10 +483,8 @@ takeObject( object ) if ( object.triggerType == "proximity" ) self thread pickupObjectDelay( object.trigger.origin ); - if ( !object.allowWeapons ) - { - self _enableWeapon(); - } + if ( isDefined( level.scorebot ) && level.scorebot ) + level thread maps\mp\gametypes\_globallogic::updateTeamStatus(); } trackCarrier() @@ -562,27 +506,6 @@ trackCarrier() } } -manualDropThink() -{ - level endon ( "game_ended" ); - - self endon ( "disconnect" ); - self endon ( "death" ); - self endon ( "drop_object" ); - - for(;;) - { - while ( self attackButtonPressed() || self fragButtonPressed() || self secondaryOffhandButtonPressed() || self meleeButtonPressed() ) - wait 0.05; - - while ( !self attackButtonPressed() && !self fragButtonPressed() && !self secondaryOffhandButtonPressed() && !self meleeButtonPressed() ) - wait 0.05; - - if ( isDefined( self.carryObject ) && !self useButtonPressed() ) - self.carryObject thread setDropped(); - } -} - createUseObject( ownerTeam, trigger, visuals, offset ) { useObject = spawnStruct(); @@ -604,6 +527,7 @@ createUseObject( ownerTeam, trigger, visuals, offset ) visuals[i].baseOrigin = visuals[i].origin; visuals[i].baseAngles = visuals[i].angles; } + useObject.visuals = visuals; if ( !isDefined( offset ) ) @@ -681,7 +605,10 @@ useObjectUseThink() { self.trigger waittill ( "trigger", player ); - if ( !isAlive( player ) || ( isDefined(player.attaching) && player.attaching ) || !self canInteractWith( player.pers["team"] ) || !player isOnGround() || !player isTouching( self.trigger ) ) + while ( isDefined( player ) && player isTouching( self.trigger ) && !player isOnGround() ) + wait 0.05; + + if ( !isAlive( player ) || !self canInteractWith( player.pers["team"] ) || !player isTouching( self.trigger ) || !player useButtonPressed() ) continue; if ( isDefined( self.keyObject ) && (!isDefined( player.carryObject ) || player.carryObject != self.keyObject ) ) @@ -701,7 +628,7 @@ useObjectUseThink() result = self useHoldThink( player ); - if ( isDefined( self.onEndUse ) ) + if ( isDefined( self.onEndUse ) && isDefined( player ) ) self [[self.onEndUse]]( team, player, result ); } @@ -715,7 +642,6 @@ useObjectUseThink() getEarliestClaimPlayer() { - assert( self.claimTeam != "none" ); team = self.claimTeam; earliestPlayer = self.claimPlayer; @@ -835,8 +761,6 @@ proxTriggerThink() setClaimTeam( newTeam ) { - assert( newTeam != self.claimTeam ); - if ( self.claimTeam == "none" && getTime() - self.lastClaimTime > 1000 ) self.curProgress = 0; else if ( newTeam != "none" && newTeam != self.lastClaimTeam ) @@ -869,7 +793,7 @@ triggerTouchThink( object ) self.touchTriggers[object.entNum] = object.trigger; - while ( isAlive( self ) && self isTouching( object.trigger ) && !level.gameEnded ) + while ( isDefined( self ) && isAlive( self ) && self isTouching( object.trigger ) && !level.gameEnded ) { self updateProxBar( object, false ); wait 0.05; @@ -954,27 +878,12 @@ updateUseRate() self.useRate = numClaimants; } -attachUseModel() -{ - self endon("death"); - self endon("disconnect"); - self endon("done_using"); - - wait 1.3; - - self attach( "prop_suitcase_bomb", "tag_inhand", true ); - self.attachedUseModel = "prop_suitcase_bomb"; -} - useHoldThink( player ) { - player notify ( "use_hold" ); - player linkTo( self.trigger ); player clientClaimTrigger( self.trigger ); player.claimTrigger = self.trigger; - lastWeapon = player getCurrentWeapon(); - + player linkTo( self.trigger ); player _disableWeapon(); self.curProgress = 0; @@ -983,13 +892,7 @@ useHoldThink( player ) player thread personalUseBar( self ); - result = useHoldThinkLoop( player, lastWeapon ); - - if ( isDefined( player ) ) - { - player detachUseModels(); - player notify( "done_using" ); - } + result = useHoldThinkLoop( player ); if ( isdefined( result ) && result ) return true; @@ -998,7 +901,6 @@ useHoldThink( player ) { player.claimTrigger = undefined; player _enableWeapon(); - player unlink(); if ( !isAlive( player ) ) player.killedInUse = true; @@ -1009,16 +911,7 @@ useHoldThink( player ) return false; } -detachUseModels() -{ - if ( isDefined( self.attachedUseModel ) ) - { - self detach( self.attachedUseModel, "tag_inhand" ); - self.attachedUseModel = undefined; - } -} - -useHoldThinkLoop( player, lastWeapon ) +useHoldThinkLoop( player ) { level endon ( "game_ended" ); self endon("disabled"); @@ -1028,7 +921,7 @@ useHoldThinkLoop( player, lastWeapon ) maxWaitTime = 1.5; - while( isAlive( player ) && player isTouching( self.trigger ) && player useButtonPressed() && !player.throwingGrenade && !player meleeButtonPressed() && self.curProgress < self.useTime && (self.useRate || waitForWeapon) && !(waitForWeapon && timedOut > maxWaitTime) ) + while( isDefined( player ) && isAlive( player ) && player isTouching( self.trigger ) && player useButtonPressed() && !player.throwingGrenade && !player meleeButtonPressed() && self.curProgress < self.useTime && (self.useRate || waitForWeapon) && !(waitForWeapon && timedOut > maxWaitTime) ) { timedOut += 0.05; @@ -1088,6 +981,12 @@ personalUseBar( object ) wait 0.05; } + if ( level.gameEnded ) + { + self _enableWeapon(); + self unlink(); + } + useBar destroyElem(); useBarText destroyElem(); } @@ -1226,8 +1125,6 @@ updateCompassIcon( relativeTeam, showIcon ) for ( i = 0; i < updateTeams.size; i++ ) { showIconThisTeam = showIcon; - if ( !showIconThisTeam && shouldShowCompassDueToRadar( updateTeams[i] ) ) - showIconThisTeam = true; objId = self.objIDAllies; if ( updateTeams[i] == "axis" ) @@ -1282,26 +1179,6 @@ getUpdateTeams( relativeTeam ) return updateTeams; } -shouldShowCompassDueToRadar( team ) -{ - if ( !isdefined( self.carrier ) ) - return false; - - return getTeamRadar(team); -} - -updateVisibilityAccordingToRadar() -{ - self endon("death"); - self endon("carrier_cleared"); - - for(;;) - { - level waittill("radar_status_change"); - self updateCompassIcons(); - } -} - setOwnerTeam( team ) { self.ownerTeam = team; @@ -1357,9 +1234,7 @@ setModelVisibility( visibility ) { self.visuals[i] show(); if ( self.visuals[i].classname == "script_brushmodel" || self.visuals[i].classname == "script_model" ) - { self.visuals[i] thread makeSolid(); - } } } else @@ -1398,11 +1273,6 @@ makeSolid() } } -setCarrierVisible( relativeTeam ) -{ - self.carrierVisible = relativeTeam; -} - setCanUse( relativeTeam ) { self.useTeam = relativeTeam; @@ -1513,60 +1383,53 @@ canInteractWith( team ) return false; default: - assertEx( 0, "invalid interactTeam" ); return false; } } -isTeam( team ) +_disableWeapon() { - switch( team ) - { - case "neutral": - case "allies": - case "axis": - case "any": - case "none": - return true; - } - return false; -} + self allowsprint(false); + self allowjump(false); + self setMoveSpeedScale( 0 ); -isRelativeTeam( relativeTeam ) -{ - switch( relativeTeam ) - { - case "friendly": - case "enemy": - case "any": - case "none": - return true; - } - return false; + self disableweapons(); + + self thread xunlink(); } -_disableWeapon() +xunlink() { - self.disabledWeapon++; - self disableWeapons(); + self endon("disconnect"); + + wait 0.05; + self unlink(); } _enableWeapon() { - self.disabledWeapon--; + self endon("disconnect"); + + self enableweapons(); - if ( !self.disabledWeapon ) - self enableWeapons(); + wait 0.05; + + self allowsprint(true); + self allowjump(true); + self setMoveSpeedScale( 1.0 - 0.05 * int( isDefined( self.pers["class"] ) && self.pers["class"] == "assault" ) ); } getEnemyTeam( team ) { - if ( team == "neutral" ) - return "none"; - else if ( team == "allies" ) - return "axis"; - else - return "allies"; + switch(team) + { + case "allies": + return "axis"; + case "axis": + return "allies"; + default: + return "none"; + } } getNextObjID() diff --git a/maps/mp/gametypes/_globallogic.gsc b/maps/mp/gametypes/_globallogic.gsc index 5faaa89..81289f4 100644 --- a/maps/mp/gametypes/_globallogic.gsc +++ b/maps/mp/gametypes/_globallogic.gsc @@ -28,6 +28,8 @@ init() level.script = toLower( getDvar( "mapname" ) ); level.gametype = toLower( getDvar( "g_gametype" ) ); + checkRestartMap(); + level.otherTeam["allies"] = "axis"; level.otherTeam["axis"] = "allies"; @@ -46,7 +48,6 @@ init() precacheString( &"MP_ROUNDEND" ); precacheString( &"MP_INTERMISSION" ); precacheString( &"MP_SWITCHING_SIDES" ); - precacheString( &"MP_FRIENDLY_FIRE_WILL_NOT" ); precacheString( &"MP_CONNECTED" ); level.halftimeType = "halftime"; @@ -65,7 +66,6 @@ init() level.inOvertime = false; - level.dropTeam = getdvarint( "sv_maxclients" ); level.players = []; registerDvars(); @@ -308,14 +308,14 @@ matchStartTimer() visionSetNaked( "mpIntro", 0 ); matchStartText = createServerFontString( "objective", 1.5 ); - matchStartText setPoint( "CENTER", "CENTER", 0, -20 ); + matchStartText setPoint( "CENTER", "CENTER", 0, -60 ); matchStartText.sort = 1001; matchStartText setText( game["strings"]["match_starting_in"] ); matchStartText.foreground = false; matchStartText.hidewheninmenu = true; matchStartTimer = createServerTimer( "objective", 1.4 ); - matchStartTimer setPoint( "CENTER", "CENTER", 0, 0 ); + matchStartTimer setPoint( "CENTER", "CENTER", 0, -45 ); matchStartTimer setTimer( level.prematchPeriod ); matchStartTimer.sort = 1001; matchStartTimer.foreground = false; @@ -367,7 +367,6 @@ spawnPlayer() self.maxhealth = maps\mp\gametypes\_tweakables::getTweakableValue( "player", "maxhealth" ); self.health = self.maxhealth; - self.friendlydamage = undefined; self.hasSpawned = true; self.spawnTime = getTime(); self.afk = false; @@ -392,22 +391,15 @@ spawnPlayer() prof_begin( "spawnPlayer_postUTS" ); - assert( isValidClass( self.class ) ); self maps\mp\gametypes\_class::giveLoadout( self.team, self.class ); - if ( level.inPrematchPeriod && game["promod_do_readyup"]) - { + if ( level.inPrematchPeriod && game["promod_do_readyup"] ) self freezeControls( true ); - self setClientDvar( "scr_objectiveText", getObjectiveHintText( self.pers["team"] ) ); - } else if ( level.inPrematchPeriod ) { self freezeControls( true ); - self setClientDvar( "scr_objectiveText", getObjectiveHintText( self.pers["team"] ) ); - team = self.pers["team"]; - thread maps\mp\gametypes\_hud_message::oldNotifyMessage( game["strings"][team + "_name"], undefined, game["icons"][team], game["colors"][team] ); } else @@ -418,28 +410,33 @@ spawnPlayer() { team = self.team; thread maps\mp\gametypes\_hud_message::oldNotifyMessage( game["strings"][team + "_name"], undefined, game["icons"][team], game["colors"][team] ); - self setClientDvar( "scr_objectiveText", getObjectiveHintText( self.pers["team"] ) ); } } + if ( isDefined( level.strat_over ) && !level.strat_over ) + { + self allowsprint(false); + self allowjump(false); + self setMoveSpeedScale( 0 ); + } + prof_end( "spawnPlayer_postUTS" ); waittillframeend; self notify( "spawned_player" ); if ( isDefined( game["state"] ) && game["state"] == "postgame" ) - { - assert( !level.intermission ); self freezePlayerForRoundEnd(); - } waittillframeend; - self.statusicon = ""; + if ( !isDefined( level.rdyup ) || !level.rdyup ) + self.statusicon = ""; + + self thread promod\shoutcast::main(); + self thread promod\shoutcast::assignShoutID(); - self promod\shoutcast::assignShoutID(); - self thread promod\shoutcast::setShoutClass(); - self thread promod\shoutcast::updateHealthbar(); + thread promod\shoutcast::setShoutClass(); } spawnSpectator( origin, angles ) @@ -466,10 +463,17 @@ in_spawnSpectator( origin, angles ) self.killcamentity = -1; self.archivetime = 0; self.psoffsettime = 0; - self.friendlydamage = undefined; if(self.pers["team"] == "spectator") - self.statusicon = ""; + { + if ( !isDefined( level.rdyup ) || !level.rdyup ) + self.statusicon = ""; + + if ( !isDefined( self.freelook ) ) + self thread monitorFreeLook(); + + self thread promod\shoutcast::assignShoutID(); + } maps\mp\gametypes\_spectating::setSpectatePermissions(); @@ -517,20 +521,141 @@ waveSpawnTimer() } } +freeLook( condition ) +{ + if ( getDvarInt( "scr_game_spectatetype" ) == 1 ) + { + if ( condition ) + wait 0.1; + + for ( i = 0; i < level.players.size; i++ ) + { + player = level.players[i]; + if ( player.pers["team"] == "spectator" ) + { + if ( !isDefined( player.freelook ) || !player.freelook ) + player allowSpectateTeam( "freelook", condition ); + } + } + } +} + +monitorFreeLook() +{ + self.freelook = true; + + self thread checkADS(); + self thread checkAttack(); + self thread checkMelee(); +} + +checkMelee() +{ + self endon("disconnect"); + self endon("joined_team"); + + waittillframeend; + + for(;;) + { + if ( self meleeButtonPressed() ) + { + self notify ( "stop_follow" ); + self.freelook = true; + self.spectatorlast = undefined; + } + + while ( self meleeButtonPressed() ) + { + wait 0.05; + continue; + } + + wait 0.05; + } +} + +checkAttack() +{ + self endon("disconnect"); + self endon("joined_team"); + + waittillframeend; + + for(;;) + { + if ( self attackButtonPressed() ) + { + for ( i = 0; i < level.players.size; i++ ) + { + players = level.players[i]; + + if ( isAlive( players ) && ( ( players.pers["team"] == "allies" || players.pers["team"] == "axis" ) ) ) + { + self notify ( "stop_follow" ); + self.freelook = false; + break; + } + } + } + + while ( self attackButtonPressed() ) + { + wait 0.05; + continue; + } + + wait 0.05; + } +} + +checkADS() +{ + self endon("disconnect"); + self endon("joined_team"); + + waittillframeend; + + for(;;) + { + while( !self adsButtonPressed() ) + wait 0.05; + + for ( i = 0; i < level.players.size; i++ ) + { + players = level.players[i]; + + if ( isAlive( players ) && ( ( players.pers["team"] == "allies" || players.pers["team"] == "axis" ) ) ) + { + self notify ( "stop_follow" ); + self.freelook = false; + break; + } + } + + while( self adsButtonPressed() ) + wait 0.05; + } +} + default_onSpawnSpectator( origin, angles) { + thread freeLook( false ); + if( isDefined( origin ) && isDefined( angles ) ) { self spawn(origin, angles); + thread freeLook( true ); return; } spawnpointname = "mp_global_intermission"; spawnpoints = getentarray(spawnpointname, "classname"); - assert( spawnpoints.size ); spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(spawnpoints); self spawn(spawnpoint.origin, spawnpoint.angles); + + thread freeLook( true ); } spawnIntermission() @@ -549,7 +674,6 @@ spawnIntermission() self.killcamentity = -1; self.archivetime = 0; self.psoffsettime = 0; - self.friendlydamage = undefined; [[level.onSpawnIntermission]](); self setDepthOfField( 0, 128, 512, 4000, 6, 1.8 ); @@ -678,12 +802,13 @@ endGame( winner, endReasonText ) if ( isDefined( player.pers["team"] ) && player.pers["team"] == "spectator" ) continue; - player setClientDvars( "ui_hud_hardcore", 1, + player setClientDvars( + "ui_hud_hardcore", 1, "cg_drawSpectatorMessages", 0, "g_compassShowEnemies", 0 ); } - level thread [[level.promod_hud_header_create]](); + level thread header(); if ( hitRoundLimit() || hitScoreLimit() ) roundEndWait( level.roundEndDelay / 2 ); @@ -698,15 +823,6 @@ endGame( winner, endReasonText ) if ( roundSwitching && level.teamBased ) { - level.swap_score = true; - - old_score = game["teamScores"]["allies"]; - game["teamScores"]["allies"] = game["teamScores"]["axis"]; - game["teamScores"]["axis"] = old_score; - - game["allies_timeout_called"] = 0; - game["axis_timeout_called"] = 0; - for ( i = 0; i < level.players.size; i++ ) { player = level.players[i]; @@ -714,10 +830,12 @@ endGame( winner, endReasonText ) if( player.pers["team"] == "spectator" ) { if( game["attackers"] == "allies" && game["defenders"] == "axis" ) - player setClientDvars( "shout_scores_attack", game["teamScores"]["allies"], + player setClientDvars( + "shout_scores_attack", game["teamScores"]["allies"], "shout_scores_defence", game["teamScores"]["axis"] ); else - player setClientDvars( "shout_scores_attack", game["teamScores"]["axis"], + player setClientDvars( + "shout_scores_attack", game["teamScores"]["axis"], "shout_scores_defence", game["teamScores"]["allies"] ); } @@ -765,6 +883,13 @@ endGame( winner, endReasonText ) } } + old_score = game["teamScores"]["allies"]; + game["teamScores"]["allies"] = game["teamScores"]["axis"]; + game["teamScores"]["axis"] = old_score; + + game["allies_timeout_called"] = 0; + game["axis_timeout_called"] = 0; + thread maps\mp\gametypes\_promod::updateClassAvailability( "allies" ); thread maps\mp\gametypes\_promod::updateClassAvailability( "axis" ); @@ -834,7 +959,6 @@ endGame( winner, endReasonText ) level.players[i] setclientdvar("g_compassShowEnemies", 0); waittillframeend; } - level.gracePeriod = 4; } if ( !hitRoundLimit() && !hitScoreLimit() ) @@ -889,7 +1013,8 @@ endGame( winner, endReasonText ) else player thread maps\mp\gametypes\_hud_message::outcomeNotify( winner, endReasonText ); - player setClientDvars( "ui_hud_hardcore", 1, + player setClientDvars( + "ui_hud_hardcore", 1, "cg_drawSpectatorMessages", 0, "g_compassShowEnemies", 0 ); } @@ -1127,7 +1252,7 @@ menuAutoAssign() self.class = undefined; self.pers["team"] = assignment; self.team = assignment; - self setClientDvar( "loadout_curclass", "" ); + self setClientDvar( "loadout_curclass", "" ); self updateObjectiveText(); @@ -1136,15 +1261,18 @@ menuAutoAssign() else self.sessionteam = "none"; - if ( !isAlive( self ) ) - self.statusicon = "hud_status_dead"; - else - self.statusicon = ""; + if ( !isDefined( level.rdyup ) || !level.rdyup ) + { + if ( !isAlive( self ) ) + self.statusicon = "hud_status_dead"; + else + self.statusicon = ""; + } self notify("joined_team"); self notify("end_respawn"); - self.monitoring = undefined; + self.freelook = undefined; if( self.pers["team"] == "allies" && oldTeam != self.pers["team"] ) { @@ -1161,12 +1289,14 @@ menuAutoAssign() iPrintLN(self.name + " Joined Attack"); } - if ( oldTeam != self.pers["team"] && ( self.pers["team"] == "allies" || self.pers["team"] == "axis" ) ) + for ( i = 0; i < level.players.size; i++ ) + if ( level.players[i].pers["team"] == "spectator" ) + level.players[i] thread promod\shoutcast::resetShoutcast(); + + if ( oldTeam != self.pers["team"] && ( oldTeam == "allies" || oldTeam == "axis" ) ) thread maps\mp\gametypes\_promod::updateClassAvailability( oldTeam ); - self setClientDvars( "g_compassShowEnemies", 0, - "r_contrast", 1, - "r_brightness", 0 ); + self setClientDvar("g_compassShowEnemies", 0); self beginClassChoice(); @@ -1195,7 +1325,8 @@ closeMenus() beginClassChoice( forceNewChoice ) { - assert( self.pers["team"] == "axis" || self.pers["team"] == "allies" ); + if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) + return; team = self.pers["team"]; self openMenu( game[ "menu_changeclass_" + team ] ); @@ -1203,6 +1334,9 @@ beginClassChoice( forceNewChoice ) menuAllies() { + if ( self.pers["team"] == "allies" ) + return; + self closeMenus(); if ( !isDefined( self.switching ) ) @@ -1240,7 +1374,7 @@ menuAllies() self.class = undefined; self.pers["team"] = "allies"; self.team = "allies"; - self setClientDvar( "loadout_curclass", "" ); + self setClientDvar( "loadout_curclass", "" ); } self updateObjectiveText(); @@ -1250,12 +1384,20 @@ menuAllies() else self.sessionteam = "none"; + if ( !isDefined( level.rdyup ) || !level.rdyup ) + { + if ( !isAlive( self ) ) + self.statusicon = "hud_status_dead"; + else + self.statusicon = ""; + } + self setclientdvar("g_scriptMainMenu", game["menu_class_allies"]); self notify("joined_team"); self notify("end_respawn"); - self.monitoring = undefined; + self.freelook = undefined; if( game["attackers"] == "allies" && game["defenders"] == "axis" && !self.switching ) iprintln(self.name + " Joined Attack"); @@ -1269,9 +1411,7 @@ menuAllies() if ( oldTeam == "axis" ) thread maps\mp\gametypes\_promod::updateClassAvailability( oldTeam ); - self setClientDvars( "g_compassShowEnemies", 0, - "r_contrast", 1, - "r_brightness", 0 ); + self setClientDvar("g_compassShowEnemies", 0); } if ( !self.switching ) @@ -1282,6 +1422,9 @@ menuAllies() menuAxis() { + if ( self.pers["team"] == "axis" ) + return; + self closeMenus(); if ( !isDefined( self.switching ) ) @@ -1319,7 +1462,7 @@ menuAxis() self.class = undefined; self.pers["team"] = "axis"; self.team = "axis"; - self setClientDvar( "loadout_curclass", "" ); + self setClientDvar( "loadout_curclass", "" ); } self updateObjectiveText(); @@ -1329,12 +1472,20 @@ menuAxis() else self.sessionteam = "none"; + if ( !isDefined( level.rdyup ) || !level.rdyup ) + { + if ( !isAlive( self ) ) + self.statusicon = "hud_status_dead"; + else + self.statusicon = ""; + } + self setclientdvar("g_scriptMainMenu", game["menu_class_axis"]); self notify("joined_team"); self notify("end_respawn"); - self.monitoring = undefined; + self.freelook = undefined; if( game["attackers"] == "allies" && game["defenders"] == "axis" && !self.switching ) iprintln(self.name + " Joined Defence"); @@ -1348,9 +1499,7 @@ menuAxis() if ( oldTeam == "allies" ) thread maps\mp\gametypes\_promod::updateClassAvailability( oldTeam ); - self setClientDvars( "g_compassShowEnemies", 0, - "r_contrast", 1, - "r_brightness", 0 ); + self setClientDvar("g_compassShowEnemies", 0); } if ( !self.switching ) @@ -1371,9 +1520,10 @@ menuKillspec() self.pers["class"] = undefined; self.class = undefined; - self iprintln("Choose a class to respawn."); + self iprintln("Choose a class to respawn"); self setClientDvar("loadout_curclass", ""); - self thread [[level.spawnSpectator]](); + self thread [[level.spawnSpectator]]( self.origin, self.angles ); + thread maps\mp\gametypes\_promod::updateClassAvailability( self.pers["team"] ); self notify( "killspec" ); @@ -1385,6 +1535,9 @@ menuKillspec() menuSpectator() { + if ( self.pers["team"] == "spectator" ) + return; + self closeMenus(); self openMenu(game["menu_shoutcast"]); @@ -1404,23 +1557,23 @@ menuSpectator() self.class = undefined; self.pers["team"] = "spectator"; self.team = "spectator"; - self setClientDvar( "loadout_curclass", "" ); + self setClientDvar( "loadout_curclass", "" ); self updateObjectiveText(); self.sessionteam = "spectator"; - [[level.spawnSpectator]](); + self thread [[level.spawnSpectator]]( self.origin, self.angles ); if( game["attackers"] == "allies" && game["defenders"] == "axis" ) - self setClientDvars( "shout_scores_attack", game["teamScores"]["allies"], - "shout_scores_defence", game["teamScores"]["axis"], - "shout_attack_name", "Attack", - "shout_defence_name", "Defence" ); + self setClientDvars("shout_scores_attack", game["teamScores"]["allies"], + "shout_scores_defence", game["teamScores"]["axis"], + "shout_attack_name", "Attack", + "shout_defence_name", "Defence" ); else - self setClientDvars( "shout_scores_attack", game["teamScores"]["axis"], - "shout_scores_defence", game["teamScores"]["allies"], - "shout_attack_name", "Defence", - "shout_defence_name", "Attack" ); + self setClientDvars("shout_scores_attack", game["teamScores"]["axis"], + "shout_scores_defence", game["teamScores"]["allies"], + "shout_attack_name", "Defence", + "shout_defence_name", "Attack" ); self setclientdvar( "g_scriptMainMenu", game["menu_shoutcast"] ); @@ -1434,9 +1587,7 @@ menuSpectator() if ( oldTeam == "allies" || oldTeam == "axis" ) thread maps\mp\gametypes\_promod::updateClassAvailability( oldTeam ); - self setClientDvars( "g_compassShowEnemies", 1, - "r_contrast", 1, - "r_brightness", 0 ); + self setClientDvar("g_compassShowEnemies", 1); } } @@ -1457,7 +1608,6 @@ removeDisconnectedPlayerFromPlacement() return; level.placement["all"][ numPlayers - 1 ] = undefined; - assert( level.placement["all"].size == numPlayers - 1 ); updateTeamPlacement(); @@ -1470,7 +1620,6 @@ removeDisconnectedPlayerFromPlacement() player = level.placement["all"][i]; player notify( "update_outcome" ); } - } updatePlacement() @@ -1557,9 +1706,6 @@ givePlayerScore( event, player, victim ) default_onPlayerScore( event, player, victim ) { score = maps\mp\gametypes\_rank::getScoreInfoValue( event ); - - assert( isDefined( score ) ); - player.pers["score"] += score; } @@ -1627,8 +1773,6 @@ default_onTeamScore( event, team, player, victim ) { score = maps\mp\gametypes\_rank::getScoreInfoValue( event ); - assert( isDefined( score ) ); - otherTeam = level.otherTeam[team]; if ( game["teamScores"][team] > game["teamScores"][otherTeam] ) @@ -1668,10 +1812,12 @@ sendUpdatedTeamScores() if( player.pers["team"] == "spectator" ) { if( game["attackers"] == "allies" && game["defenders"] == "axis" ) - player setClientDvars( "shout_scores_attack", game["teamScores"]["allies"], + player setClientDvars( + "shout_scores_attack", game["teamScores"]["allies"], "shout_scores_defence", game["teamScores"]["axis"] ); else - player setClientDvars( "shout_scores_attack", game["teamScores"]["axis"], + player setClientDvars( + "shout_scores_attack", game["teamScores"]["axis"], "shout_scores_defence", game["teamScores"]["allies"] ); } } @@ -1789,30 +1935,25 @@ updateTeamStatus() level.everExisted["axis"] = true; for( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - if( player.pers["team"] == "allies" || player.pers["team"] == "axis" ) - player setClientDvars( "allies_alive", level.aliveCount["allies"], - "axis_alive", level.aliveCount["axis"] ); - } + if( level.players[i].pers["team"] == "allies" || level.players[i].pers["team"] == "axis" ) + level.players[i] setClientDvars("self_alive", level.aliveCount[level.players[i].pers["team"]], + "opposing_alive", level.aliveCount[maps\mp\gametypes\_gameobjects::getEnemyTeam(level.players[i].pers["team"])] ); if ( isDefined( level.scorebot ) && level.scorebot ) { level.allies_team = ""; level.axis_team = ""; - for( i = 0; i < level.players.size; i++ ) + players = getentarray("player","classname"); + for( i = 0; i < players.size; i++ ) { - player = level.players[i]; - if ( player.sessionstate == "playing" ) - player_alive = 1; - else - player_alive = 0; + player = players[i]; + playerstring = "" + player.name + "" + int( isAlive( player ) ) + "" + player.kills + "" + player.assists + "" + player.deaths + "" + int(isDefined(player.carryObject)); if ( player.pers["team"] == "allies" ) - level.allies_team += "" + player.name + "" + player_alive + "" + player.kills + "" + player.assists + "" + player.deaths; + level.allies_team += playerstring; else if ( player.pers["team"] == "axis" ) - level.axis_team += "" + player.name + "" + player_alive + "" + player.kills + "" + player.assists + "" + player.deaths; + level.axis_team += playerstring; } if ( level.allies_team == "" ) @@ -1849,6 +1990,7 @@ playTickingSound() { self endon("death"); self endon("stop_ticking"); + level endon("game_ended"); for(;;) @@ -1935,7 +2077,6 @@ getTimePassed() return (level.timerPauseTime - level.startTime) - level.discardTime; else return (gettime() - level.startTime) - level.discardTime; - } pauseTimer() @@ -1958,7 +2099,12 @@ resumeTimer() openMainMenu() { - wait 1; + maxwait = 0; + while ( !level.players.size && maxwait <= 1 ) + { + wait 0.05; + maxwait += 0.05; + } for ( i = 0; i < level.players.size; i++ ) { @@ -1971,9 +2117,25 @@ openMainMenu() } } +checkRestartMap() +{ + if ( getDvar( "o_gametype" ) == "" ) + setDvar( "o_gametype", level.gametype ); + + if ( getDvar( "o_gametype" ) != level.gametype ) + { + setDvar( "o_gametype", level.gametype ); + + maprot = getDvar( "sv_maprotationcurrent" ); + new_maprot = "map " + level.script + " " + maprot; + setDvar( "sv_maprotationcurrent", new_maprot ); + exitLevel( false ); + } +} + startGame() { - level thread [[level.promod_hud_header_create]](); + level thread header(); thread gameTimer(); level.timerStopped = true; @@ -1991,6 +2153,7 @@ startGame() if ( isDefined( game["promod_do_readyup"] ) && game["promod_do_readyup"] ) { + thread disableBombsites(); thread promod\readyup::main(); return; } @@ -2000,8 +2163,8 @@ startGame() if ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) { - level thread promod\readyup::disableBombsites(); - level thread promod\stratmode::main(); + thread disableBombsites(); + thread promod\stratmode::main(); setDvar( "g_deadChat", 1 ); SetClientNameMode( "auto_change" ); setGameEndTime( 0 ); @@ -2009,8 +2172,6 @@ startGame() } else if ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" ) setDvar( "g_deadChat", 0 ); - else - setDvar( "g_deadChat", 1 ); if ( isDefined( level.timeout_over ) && !level.timeout_over ) return; @@ -2035,10 +2196,14 @@ startGame() player setclientdvar("g_compassShowEnemies", 1); } } - level thread promod\readyup::disableBombsites(); - level.timeLimitOverride = true; - setGameEndTime( 0 ); - level.gracePeriod = 0; + + thread disableBombsites(); + + if(game["PROMOD_MATCH_MODE"] != "pub") + { + level.timeLimitOverride = true; + setGameEndTime( 0 ); + } } level notify("prematch_over"); @@ -2068,20 +2233,68 @@ startGame() game["promod_in_timeout"] = 0; - if ( !isDefined( game["PROMOD_KNIFEROUND"] ) || !game["PROMOD_KNIFEROUND"] ) + if ( !isDefined( game["PROMOD_KNIFEROUND"] ) || !game["PROMOD_KNIFEROUND"] || game["PROMOD_MATCH_MODE"] == "pub" ) thread timeLimitClock(); thread gracePeriod(); } +header() +{ + if ( isDefined( game["state"] ) && game["state"] == "postgame" ) + wait 0.75; + + promod_ver = newHudElem(); + promod_ver.x = -7; + promod_ver.y = 35; + promod_ver.horzAlign = "right"; + promod_ver.vertAlign = "top"; + promod_ver.alignX = "right"; + promod_ver.alignY = "middle"; + promod_ver.fontScale = 1.4; + promod_ver.hidewheninmenu = true; + promod_ver.color = (0.8, 1, 1); + promod_ver setText( game["PROMOD_VERSION"] ); + + promod_mode = newHudElem(); + promod_mode.x = -7; + promod_mode.y = 50; + promod_mode.horzAlign = "right"; + promod_mode.vertAlign = "top"; + promod_mode.alignX = "right"; + promod_mode.alignY = "middle"; + promod_mode.fontScale = 1.4; + promod_mode.hidewheninmenu = true; + promod_mode.color = (1,1,0); + promod_mode setText( game["PROMOD_MODE_HUD"] ); + + level waittill( "header_destroy" ); + + if ( isDefined( promod_ver ) ) + promod_ver destroy(); + + if ( isDefined( promod_mode ) ) + promod_mode destroy(); +} + +disableBombsites() +{ + if ( level.gametype == "sd" && isDefined( level.bombZones ) ) + for ( j = 0; j < level.bombZones.size; j++ ) + level.bombZones[j] maps\mp\gametypes\_gameobjects::disableObject(); +} + prematchPeriod() { - makeDvarServerInfo( "ui_hud_hardcore", 1 ); - setDvar( "ui_hud_hardcore", 1 ); level endon( "game_ended" ); if ( level.prematchPeriod > 0 && isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] != "match" && game["PROMOD_MATCH_MODE"] != "strat" ) - matchStartTimer(); + { + if ( getDvarInt( "promod_allow_strattime" ) && isDefined( game["CUSTOM_MODE"] ) && game["CUSTOM_MODE"] && level.gametype == "sd" ) + matchStartTimerSkip(); + else + matchStartTimer(); + } else matchStartTimerSkip(); @@ -2091,16 +2304,7 @@ prematchPeriod() { level.players[i] freezeControls( false ); level.players[i] enableWeapons(); - - hintMessage = getObjectiveHintText( level.players[i].pers["team"] ); - if ( !isDefined( hintMessage ) || !level.players[i].hasSpawned ) - continue; - - level.players[i] setClientDvar( "scr_objectiveText", hintMessage ); - level.players[i] thread maps\mp\gametypes\_hud_message::hintMessage( hintMessage ); } - - setDvar( "ui_hud_hardcore", level.hardcoreMode ); } gracePeriod() @@ -2150,16 +2354,7 @@ TimeUntilWaveSpawn( minimumWait ) return (timeOfSpawn - gettime()) / 1000; } -TeamKillDelay() -{ - teamkills = self.pers["teamkills"]; - if ( level.minimumAllowedTeamKills < 0 || teamkills <= level.minimumAllowedTeamKills ) - return 0; - exceeded = (teamkills - level.minimumAllowedTeamKills); - return maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillspawndelay" ) * exceeded; -} - -TimeUntilSpawn( includeTeamkillDelay ) +TimeUntilSpawn() { if ( ( level.inGracePeriod && !self.hasSpawned ) || ( isDefined( level.rdyup ) && level.rdyup ) || ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) ) return 0; @@ -2171,10 +2366,7 @@ TimeUntilSpawn( includeTeamkillDelay ) if ( isDefined( result ) ) respawnDelay = result; else - respawnDelay = getDvarInt( "scr_" + level.gameType + "_playerrespawndelay" ); - - if ( includeTeamkillDelay && self.teamKillPunish ) - respawnDelay += TeamKillDelay(); + respawnDelay = getDvarInt( "scr_" + level.gameType + "_playerrespawndelay" ); } waveBased = (getDvarInt( "scr_" + level.gameType + "_waverespawndelay" ) > 0); @@ -2208,14 +2400,8 @@ maySpawn() spawnClient( timeAlreadyPassed ) { - assert( isDefined( self.team ) ); - assert( isValidClass( self.class ) ); - if ( !self maySpawn() ) { - currentorigin = self.origin; - currentangles = self.angles; - shouldShowRespawnMessage = true; if ( ( level.roundLimit > 1 && game["roundsplayed"] >= (level.roundLimit - 1) ) || ( level.scoreLimit > 1 && level.teambased && game["teamScores"]["allies"] >= level.scoreLimit - 1 && game["teamScores"]["axis"] >= level.scoreLimit - 1 ) ) shouldShowRespawnMessage = false; @@ -2223,14 +2409,15 @@ spawnClient( timeAlreadyPassed ) if ( shouldShowRespawnMessage ) { setLowerMessage( game["strings"]["spawn_next_round"] ); - self thread removeSpawnMessageShortly( 3 ); + self thread removeSpawnMessageShortly(); } - self thread [[level.spawnSpectator]]( currentorigin + (0, 0, 60), currentangles ); + self thread [[level.spawnSpectator]]( self.origin, self.angles ); return; } if ( self.waitingToSpawn ) return; + self.waitingToSpawn = true; self waitAndSpawnClient( timeAlreadyPassed ); @@ -2250,40 +2437,13 @@ waitAndSpawnClient( timeAlreadyPassed ) spawnedAsSpectator = false; - if ( self.teamKillPunish ) - { - teamKillDelay = TeamKillDelay(); - if ( teamKillDelay > timeAlreadyPassed ) - { - teamKillDelay -= timeAlreadyPassed; - timeAlreadyPassed = 0; - } - else - { - timeAlreadyPassed -= teamKillDelay; - teamKillDelay = 0; - } - - if ( teamKillDelay > 0 ) - { - setLowerMessage( &"MP_FRIENDLY_FIRE_WILL_NOT", teamKillDelay ); - - self thread respawn_asSpectator( self.origin + (0, 0, 60), self.angles ); - spawnedAsSpectator = true; - - wait teamKillDelay; - } - - self.teamKillPunish = false; - } - if ( !isdefined( self.waveSpawnIndex ) && isdefined( level.wavePlayerSpawnIndex[self.team] ) ) { self.waveSpawnIndex = level.wavePlayerSpawnIndex[self.team]; level.wavePlayerSpawnIndex[self.team]++; } - timeUntilSpawn = TimeUntilSpawn( false ); + timeUntilSpawn = TimeUntilSpawn(); if ( timeUntilSpawn > timeAlreadyPassed ) { timeUntilSpawn -= timeAlreadyPassed; @@ -2329,11 +2489,12 @@ waitAndSpawnClient( timeAlreadyPassed ) waitForTimeOrNotify( time, notifyname ) { + self endon("disconnect"); self endon( notifyname ); wait time; } -removeSpawnMessageShortly( delay ) +removeSpawnMessageShortly() { self endon("disconnect"); @@ -2341,7 +2502,7 @@ removeSpawnMessageShortly( delay ) self endon("end_respawn"); - wait delay; + wait 2; self clearLowerMessage( 2.0 ); } @@ -2409,21 +2570,21 @@ Callback_StartGameType() if( game["attackers"] == "allies" && game["defenders"] == "axis" ) { - game["strings"]["allies_name"] = &"PROMOD_ATTACK_NAME"; - game["strings"]["axis_name"] = &"PROMOD_DEFENCE_NAME"; - game["strings"]["allies_eliminated"] = &"PROMOD_ATTACK_ELIMINATED"; - game["strings"]["axis_eliminated"] = &"PROMOD_DEFENCE_ELIMINATED"; - game["strings"]["allies_forfeited"] = &"PROMOD_ATTACK_FORFEITED"; - game["strings"]["axis_forfeited"] = &"PROMOD_DEFENCE_FORFEITED"; + game["strings"]["allies_name"] = "Attack"; + game["strings"]["axis_name"] = "Defence"; + game["strings"]["allies_eliminated"] = "Attack eliminated"; + game["strings"]["axis_eliminated"] = "Defence eliminated"; + game["strings"]["allies_forfeited"] = "Attack forfeited"; + game["strings"]["axis_forfeited"] = "Defence forfeited"; } else { - game["strings"]["allies_name"] = &"PROMOD_DEFENCE_NAME"; - game["strings"]["axis_name"] = &"PROMOD_ATTACK_NAME"; - game["strings"]["allies_eliminated"] = &"PROMOD_DEFENCE_ELIMINATED"; - game["strings"]["axis_eliminated"] = &"PROMOD_ATTACK_ELIMINATED"; - game["strings"]["allies_forfeited"] = &"PROMOD_DEFENCE_FORFEITED"; - game["strings"]["axis_forfeited"] = &"PROMOD_ATTACK_FORFEITED"; + game["strings"]["allies_name"] = "Defence"; + game["strings"]["axis_name"] = "Attack"; + game["strings"]["allies_eliminated"] = "Defence eliminated"; + game["strings"]["axis_eliminated"] = "Attack eliminated"; + game["strings"]["allies_forfeited"] = "Defence forfeited"; + game["strings"]["axis_forfeited"] = "Attack forfeited"; } switch ( game["allies"] ) @@ -2488,8 +2649,8 @@ Callback_StartGameType() if ( !isDefined( game["promod_scorebot_ticker_buffer"] ) ) { - setDvar( "promod_scorebot_ticker_num", -1 ); - game["promod_scorebot_ticker_buffer"] = -1; + setDvar( "promod_scorebot_ticker_num", 0 ); + game["promod_scorebot_ticker_buffer"] = 0; } game["promod_scorebot_ticker_buffer"] += "map" + getDvar("mapname") + "" + level.gametype; @@ -2516,9 +2677,6 @@ Callback_StartGameType() level.useStartSpawns = true; - setdvar( "scr_teamKillPunishCount", 0 ); - level.minimumAllowedTeamKills = -1; - thread maps\mp\gametypes\_promod::init(); thread maps\mp\gametypes\_class::init(); thread maps\mp\gametypes\_rank::init(); @@ -2537,22 +2695,15 @@ Callback_StartGameType() thread maps\mp\gametypes\_objpoints::init(); thread maps\mp\gametypes\_gameobjects::init(); thread maps\mp\gametypes\_spawnlogic::init(); - - thread deletePickups(); - - thread promod\dvarmon::main(); - thread promod\modes::monitorMode(); - thread promod\scorebot::main(); - - if ( level.teamBased ) - thread maps\mp\gametypes\_friendicons::init(); - thread maps\mp\gametypes\_hud_message::init(); thread maps\mp\gametypes\_quickmessages::init(); + thread promod\scorebot::main(); + stringNames = getArrayKeys( game["strings"] ); for ( i = 0; i < stringNames.size; i++ ) - precacheString( game["strings"][stringNames[i]] ); + if(!isstring(game["strings"][stringNames[i]])) + precacheString( game["strings"][stringNames[i]] ); level.maxPlayerCount = 0; level.playerCount["allies"] = 0; @@ -2605,12 +2756,12 @@ Callback_StartGameType() [[level.onStartGameType]](); - level.promod_hud_header_create = promod\header::create; - thread promod\messagecenter::main(); deletePlacedEntity("misc_turret"); + thread deletePickups(); + thread startGame(); level thread updateGameTypeDvars(); @@ -2663,8 +2814,6 @@ checkRoundSwitch() if ( !level.roundSwitch || level.gametype == "dm" ) return false; - assert( game["roundsplayed"] > 0 ); - if ( game["roundsplayed"] % level.roundswitch == 0 ) { if ( ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" || getDvarInt( "promod_allow_readyup" ) && isDefined( game["CUSTOM_MODE"] ) && game["CUSTOM_MODE"] ) && game["promod_first_readyup_done"] ) @@ -2691,39 +2840,32 @@ Callback_PlayerConnect() self.statusicon = "hud_status_connecting"; self waittill( "begin" ); waittillframeend; - self.statusicon = ""; + + if ( !isDefined( self ) ) + return; level notify( "connected", self ); + if ( !isDefined( level.rdyup ) || !level.rdyup ) + self.statusicon = ""; + if( !isdefined( self.pers["score"] ) ) iPrintLn( &"MP_CONNECTED", self.name ); - lpselfnum = self getEntityNumber(); - lpGuid = self getGuid(); - logPrint("J;" + lpGuid + ";" + lpselfnum + ";" + self.name + "\n"); + logPrint("J;" + self getGuid() + ";" + self getEntityNumber() + ";" + self.name + "\n"); if ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" ) self setClientDvar( "promod_hud_website", "" ); else self setClientDvar( "promod_hud_website", getDvar( "promod_hud_website" ) ); - if ( level.hardcoreMode ) - self setClientDvars( "cg_drawTalk", 3, - "cg_drawCrosshair", 0, - "cg_hudGrenadeIconMaxRangeFrag", 0 ); - else - self setClientDvars( "cg_drawCrosshair", 1, - "cg_hudGrenadeIconMaxRangeFrag", 250 ); - - self setClientDvars( "cg_drawSpectatorMessages", 1, - "fx_drawClouds", 0, - "ui_hud_hardcore", getDvar( "ui_hud_hardcore" ), - "cg_hudGrenadeIconHeight", 25, - "cg_hudGrenadeIconWidth", 25, - "cg_hudGrenadeIconOffset", 50, - "cg_hudGrenadePointerHeight", 12, - "cg_hudGrenadePointerWidth", 25, - "cg_hudGrenadePointerPivot", "12 27" ); + self setClientDvars("cg_hudGrenadeIconMaxRangeFrag", int(!level.hardcoreMode)*250, + "cg_drawcrosshair", int(!level.hardcoreMode), + "cg_drawSpectatorMessages", 1, + "ui_hud_hardcore", level.hardcoreMode, + "fx_drawClouds", 0, + "ui_showmenuonly", "", + "self_ready", "" ); self initPersStat( "score" ); self.score = self.pers["score"]; @@ -2744,9 +2886,6 @@ Callback_PlayerConnect() self.assists = self getPersStat( "assists" ); self initPersStat( "teamkills" ); - self.teamKillPunish = false; - if ( level.minimumAllowedTeamKills >= 0 && self.pers["teamkills"] > level.minimumAllowedTeamKills ) - self thread reduceTeamKillsOverTime(); self.lastGrenadeSuicideTime = -1; @@ -2781,16 +2920,16 @@ Callback_PlayerConnect() self.team = "none"; self.sessionstate = "dead"; - self setClientDvars( "loadout_curclass", "", - "r_contrast", 0, - "r_brightness", -1 ); + self setClientDvar("loadout_curclass", ""); self updateObjectiveText(); [[level.spawnSpectator]](); - self thread promod\client::main(); - self thread maps\mp\gametypes\_promod::initClassLoadouts(); + self thread promod\client::use_config(); + + thread maps\mp\gametypes\_promod::updateClassAvailability( "allies" ); + thread maps\mp\gametypes\_promod::updateClassAvailability( "axis" ); self setclientdvar( "g_scriptMainMenu", game["menu_team"] ); self openMenu( game["menu_team"] ); @@ -2799,7 +2938,7 @@ Callback_PlayerConnect() { self.sessionteam = self.pers["team"]; - if ( !isAlive( self ) ) + if ( ( !isDefined( level.rdyup ) || !level.rdyup ) && !isAlive( self ) ) self.statusicon = "hud_status_dead"; self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); @@ -2832,14 +2971,9 @@ Callback_PlayerDisconnect() { self removePlayerOnDisconnect(); - if ( isDefined( self.score ) && isDefined( self.pers["team"] ) ) - level.dropTeam += 1; - [[level.onPlayerDisconnect]](); - lpselfnum = self getEntityNumber(); - lpGuid = self getGuid(); - logPrint("Q;" + lpGuid + ";" + lpselfnum + ";" + self.name + "\n"); + logPrint("Q;" + self getGuid() + ";" + self getEntityNumber() + ";" + self.name + "\n"); for ( i = 0; i < level.players.size; i++ ) { @@ -2899,7 +3033,7 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s self.iDFlags = iDFlags; self.iDFlagsTime = getTime(); - if ( (isDefined( game["state"] ) && game["state"] == "postgame") || self.sessionteam == "spectator" || ( isDefined( self.canDoCombat ) && !self.canDoCombat ) || ( isDefined( eAttacker ) && isPlayer( eAttacker ) && isDefined( eAttacker.canDoCombat ) && !eAttacker.canDoCombat ) || ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" && isDefined( self.flying ) && self.flying ) ) + if ( ( isDefined( game["state"] ) && game["state"] == "postgame" ) || self.sessionteam == "spectator" || ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" && isDefined( self.flying ) && self.flying ) || ( isDefined( level.strat_over ) && !level.strat_over ) || ( isDefined( level.bombDefused ) && level.bombDefused ) || ( isDefined( level.bombExploded ) && level.bombExploded && self.pers["team"] == game["attackers"] ) ) return; prof_begin( "Callback_PlayerDamage flags/tweaks" ); @@ -2907,21 +3041,24 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s if ( level.rdyup && isDefined( eAttacker ) && isPlayer( eAttacker ) && eAttacker != self ) { if ( !isDefined( eAttacker.ruptally ) ) + { eAttacker.ruptally = 0; + eAttacker setclientdvar("self_kills", 0); + } if ( eAttacker.ruptally < 0 ) + { eAttacker.ruptally = 0; + eAttacker setclientdvar("self_kills", 0); + } if ( !isDefined( self.ruptally ) ) self.ruptally = -1; - if ( self.ruptally < 0) + if ( self.ruptally < 0 ) return; } - if ( isDefined( level.strat_over ) && !level.strat_over || isDefined( level.bombDefused ) && level.bombDefused || isDefined( level.bombExploded ) && level.bombExploded && self.pers["team"] == game["attackers"] ) - return; - if( !isDefined( vDir ) ) iDFlags |= level.iDFLAGS_NO_KNOCKBACK; @@ -2973,9 +3110,7 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s if(iDamage < 1) iDamage = 1; - eAttacker.friendlydamage = true; eAttacker finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - eAttacker.friendlydamage = undefined; } else if ( level.friendlyfire == 3 && isAlive( eAttacker ) ) { @@ -2985,9 +3120,7 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s iDamage = 1; self finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - eAttacker.friendlydamage = true; eAttacker finishPlayerDamageWrapper(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime); - eAttacker.friendlydamage = undefined; } friendly = true; @@ -3037,7 +3170,6 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s prof_begin( "Callback_PlayerDamage log" ); damagestring = ""; - unitstring = ""; metrestring = ""; if ( isDefined( sHitLoc ) && sHitLoc != "none") @@ -3063,43 +3195,32 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s else if( isSubStr( sHitLoc, "hand" ) ) damagestring = "hand"; - unitstring = distance(self.origin, eAttacker.origin); - metrestring = unitstring * 0.0254; + metrestring = distance(self.origin, eAttacker.origin) * 0.0254; } if ( isDefined( eAttacker ) && isPlayer( eAttacker ) ) { - if ( eAttacker != self && ( isDefined( level.rdyup ) && level.rdyup || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) ) + if ( eAttacker != self && ( level.rdyup || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) && isDefined( sHitLoc ) ) { - if ( isDefined( sHitLoc ) && sHitLoc != "none" ) - { - eAttacker iprintln("You inflicted " + "^2" + iDamage + "^7 damage at a distance of " + "^2" + metrestring + "^7 metres in the " + "^2" + damagestring + "^7 to " + self.name); - self iprintln(eAttacker.name + " inflicted " + "^1" + iDamage + "^7 damage at a distance of " + "^1" + metrestring + "^7 metres in the " + "^1" + damagestring + "^7 to you"); - } - else if ( isDefined( sHitLoc ) && sHitLoc == "none" ) + if ( sHitLoc == "none" ) { eAttacker iprintln("You inflicted " + "^2" + iDamage + "^7 damage to " + self.name); self iprintln(eAttacker.name + " inflicted " + "^1" + iDamage + "^7 damage to you"); } + else + { + eAttacker iprintln("You inflicted " + "^2" + iDamage + "^7 damage at a distance of " + "^2" + metrestring + "^7 metres in the " + "^2" + damagestring + "^7 to " + self.name); + self iprintln(eAttacker.name + " inflicted " + "^1" + iDamage + "^7 damage at a distance of " + "^1" + metrestring + "^7 metres in the " + "^1" + damagestring + "^7 to you"); + } } - else if ( eAttacker == self && ( isDefined( level.rdyup ) && level.rdyup || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) ) - { - if ( isDefined( sHitLoc ) && sHitLoc == "none" ) - self iprintln("You inflicted ^1" + iDamage + "^7 damage to yourself"); - } - } - else if ( isDefined( level.rdyup ) && level.rdyup || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) - { - if ( sMeansOfDeath == "MOD_FALLING" ) + else if ( eAttacker == self && ( level.rdyup || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) && isDefined( sHitLoc ) && sHitLoc == "none" ) self iprintln("You inflicted ^1" + iDamage + "^7 damage to yourself"); } + else if ( (level.rdyup || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat") && sMeansOfDeath == "MOD_FALLING" ) + self iprintln("You inflicted ^1" + iDamage + "^7 damage to yourself"); if( self.sessionstate != "dead" ) { - lpselfnum = self getEntityNumber(); - lpselfname = self.name; - lpselfteam = self.pers["team"]; - lpselfGuid = self getGuid(); lpattackerteam = ""; if( isPlayer( eAttacker ) ) @@ -3117,7 +3238,7 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s lpattackerteam = "world"; } - logPrint("D;" + lpselfGuid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + lpattackGuid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n"); + logPrint("D;" + self getGuid() + ";" + self getEntityNumber() + ";" + self.pers["team"] + ";" + self.name + ";" + lpattackGuid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n"); } prof_end( "Callback_PlayerDamage log" ); @@ -3146,7 +3267,7 @@ damageShellshockAndRumble( eInflictor, sWeapon, sMeansOfDeath, iDamage ) Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration) { - if (!isDefined( level.rdyup ) ) + if ( !isDefined( level.rdyup ) ) level.rdyup = false; self endon( "spawned" ); @@ -3168,15 +3289,19 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi else obituary(self, attacker, sWeapon, sMeansOfDeath); - if ( !isDefined( level.strat_over ) || level.strat_over ) + if ( (!isDefined( level.strat_over ) || level.strat_over) && (!isDefined( game["promod_do_readyup"] ) || !game["promod_do_readyup"]) ) self maps\mp\gametypes\_weapons::dropWeaponForDeath( attacker ); self.sessionstate = "dead"; - self.statusicon = "hud_status_dead"; + if ( !isDefined( level.rdyup ) || !level.rdyup ) + self.statusicon = "hud_status_dead"; if (level.rdyup && isDefined( attacker.pers ) && ( attacker != self ) ) + { attacker.ruptally++; + attacker setclientdvar("self_kills", attacker.ruptally); + } if (!level.rdyup) { @@ -3189,12 +3314,8 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi } } - lpselfnum = self getEntityNumber(); - lpselfname = self.name; lpattackGuid = ""; lpattackname = ""; - lpselfteam = self.pers["team"]; - lpselfguid = self getGuid(); lpattackerteam = ""; lpattacknum = -1; @@ -3239,9 +3360,6 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi if ( sMeansOfDeath == "MOD_SUICIDE" && sHitLoc == "none" && self.throwingGrenade ) self.lastGrenadeSuicideTime = gettime(); } - - if( isDefined( self.friendlydamage ) ) - self iPrintLn(&"MP_FRIENDLY_FIRE_WILL_NOT"); } else { @@ -3259,8 +3377,6 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi attacker.pers["teamkills"] += 1.0; - attacker.teamkillsThisRound++; - if ( maps\mp\gametypes\_tweakables::getTweakableValue( "team", "teamkillpointloss" ) ) { scoreSub = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" ); @@ -3311,10 +3427,7 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi { player = self.attackers[j]; - if ( !isDefined( player ) ) - continue; - - if ( player == attacker ) + if ( !isDefined( player ) || player == attacker ) continue; player thread processAssist( self ); @@ -3339,16 +3452,12 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi lpattackname = ""; lpattackerteam = "world"; - if ( isDefined( attacker ) && isDefined( attacker.team ) && (attacker.team == "axis" || attacker.team == "allies") ) + if ( isDefined( attacker ) && isDefined( attacker.team ) && (attacker.team == "axis" || attacker.team == "allies") && attacker.team != self.pers["team"] ) { - if ( attacker.team != self.pers["team"] ) - { - killedByEnemy = true; - if ( level.teamBased ) - giveTeamScore( "kill", attacker.team, attacker, self ); - } + killedByEnemy = true; + if ( level.teamBased ) + giveTeamScore( "kill", attacker.team, attacker, self ); } - } if ( !isDefined( self.switching_teams ) ) @@ -3368,19 +3477,13 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi sHeadshot = int(sMeansOfDeath == "MOD_HEAD_SHOT"); if ( isDefined( level.scorebot ) && level.scorebot && !level.rdyup ) - game["promod_scorebot_ticker_buffer"] += "kill" + lpattackname + "" + scWeapon + "" + lpselfname + "" + sHeadshot; + game["promod_scorebot_ticker_buffer"] += "kill" + lpattackname + "" + scWeapon + "" + self.name + "" + sHeadshot; - logPrint( "K;" + lpselfguid + ";" + lpselfnum + ";" + lpselfteam + ";" + lpselfname + ";" + lpattackguid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n" ); + logPrint( "K;" + self getGuid() + ";" + self getEntityNumber() + ";" + self.pers["team"] + ";" + self.name + ";" + lpattackguid + ";" + lpattacknum + ";" + lpattackerteam + ";" + lpattackname + ";" + sWeapon + ";" + iDamage + ";" + sMeansOfDeath + ";" + sHitLoc + "\n" ); level thread updateTeamStatus(); - body = self clonePlayer( deathAnimDuration ); - if ( self isOnLadder() || self isMantling() ) - body startRagDoll(); - - thread delayStartRagdoll( body, sHitLoc, vDir, sWeapon, eInflictor, sMeansOfDeath ); - - self.body = body; + self clonePlayer( deathAnimDuration ); self thread [[level.onPlayerKilled]](eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration); @@ -3411,7 +3514,7 @@ Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDi if ( !self.cancelKillcam && doKillcam && level.killcam ) { livesLeft = !(level.numLives && !self.pers["lives"]); - timeUntilSpawn = TimeUntilSpawn( true ); + timeUntilSpawn = TimeUntilSpawn(); willRespawnImmediately = livesLeft && (timeUntilSpawn <= 0); self maps\mp\gametypes\_killcam::killcam( lpattacknum, killcamentity, sWeapon, postDeathDelay, psOffsetTime, willRespawnImmediately, timeUntilRoundEnd(), [], attacker ); @@ -3491,26 +3594,6 @@ waitForTimeOrNotifies( desiredDelay ) return waitedTime; } -reduceTeamKillsOverTime() -{ - timePerOneTeamkillReduction = 20.0; - reductionPerSecond = 1.0 / timePerOneTeamkillReduction; - - for(;;) - { - if ( isAlive( self ) ) - { - self.pers["teamkills"] -= reductionPerSecond; - if ( self.pers["teamkills"] < level.minimumAllowedTeamKills ) - { - self.pers["teamkills"] = level.minimumAllowedTeamKills; - break; - } - } - wait 1; - } -} - processAssist( killedplayer ) { self endon("disconnect"); @@ -3528,7 +3611,7 @@ processAssist( killedplayer ) givePlayerScore( "assist", self, killedplayer ); - if (!isDefined( level.rdyup ) ) + if ( !isDefined( level.rdyup ) ) level.rdyup = false; if ( isDefined( level.scorebot ) && level.scorebot && !level.rdyup ) @@ -3597,36 +3680,4 @@ getObjectiveHintText( team ) return ""; return game["strings"]["objective_hint_"+team]; -} - -delayStartRagdoll( ent, sHitLoc, vDir, sWeapon, eInflictor, sMeansOfDeath ) -{ - if ( isDefined( ent ) ) - { - deathAnim = ent getcorpseanim(); - if ( animhasnotetrack( deathAnim, "ignore_ragdoll" ) ) - return; - } - - wait 0.2; - - if ( !isDefined( ent ) || ent isRagDoll() ) - return; - - deathAnim = ent getcorpseanim(); - - startFrac = 0.35; - - if ( animhasnotetrack( deathAnim, "start_ragdoll" ) ) - { - times = getnotetracktimes( deathAnim, "start_ragdoll" ); - if ( isDefined( times ) ) - startFrac = times[0]; - } - - waitTime = startFrac * getanimlength( deathAnim ); - wait waitTime; - - if ( isDefined( ent ) ) - ent startragdoll( 1 ); } \ No newline at end of file diff --git a/maps/mp/gametypes/_healthoverlay.gsc b/maps/mp/gametypes/_healthoverlay.gsc index 7e91e1b..9fc979d 100644 --- a/maps/mp/gametypes/_healthoverlay.gsc +++ b/maps/mp/gametypes/_healthoverlay.gsc @@ -91,10 +91,7 @@ playerHealthRegen() self endon("end_healthregen"); if ( self.health <= 0 ) - { - assert( !isalive( self ) ); return; - } maxhealth = self.health; oldhealth = maxhealth; diff --git a/maps/mp/gametypes/_hud_message.gsc b/maps/mp/gametypes/_hud_message.gsc index 6bed88a..2ce7d7f 100644 --- a/maps/mp/gametypes/_hud_message.gsc +++ b/maps/mp/gametypes/_hud_message.gsc @@ -222,9 +222,7 @@ showNotifyMessage( notifyData ) self.notifyIcon.alpha = 0; } else - { waitRequireVisibility( duration ); - } self notify ( "notifyMessageDone" ); self.doingNotify = false; @@ -244,6 +242,8 @@ showNotifyMessage( notifyData ) waitRequireVisibility( waitTime ) { + self endon("disconnect"); + interval = 0.05; while ( !self canReadText() ) @@ -369,32 +369,24 @@ teamOutcomeNotify( winner, isRound, endReasonText, delay ) outcomeTitle.glowColor = (0.2, 0.3, 0.7); outcomeTitle setText( game["strings"]["halftime"] ); outcomeTitle.color = (1, 1, 1); - - winner = "allies"; } else if ( winner == "intermission" ) { outcomeTitle.glowColor = (0.2, 0.3, 0.7); outcomeTitle setText( game["strings"]["intermission"] ); outcomeTitle.color = (1, 1, 1); - - winner = "allies"; } else if ( winner == "roundend" ) { outcomeTitle.glowColor = (0.2, 0.3, 0.7); outcomeTitle setText( game["strings"]["roundend"] ); outcomeTitle.color = (1, 1, 1); - - winner = "allies"; } else if ( winner == "overtime" ) { outcomeTitle.glowColor = (0.2, 0.3, 0.7); outcomeTitle setText( game["strings"]["overtime"] ); outcomeTitle.color = (1, 1, 1); - - winner = "allies"; } else if ( winner == "tie" ) { @@ -404,8 +396,6 @@ teamOutcomeNotify( winner, isRound, endReasonText, delay ) else outcomeTitle setText( game["strings"]["draw"] ); outcomeTitle.color = (1, 1, 1); - - winner = "allies"; } else if ( isDefined( self.pers["team"] ) && winner == team ) { @@ -470,7 +460,7 @@ teamOutcomeNotify( winner, isRound, endReasonText, delay ) rightScore.archived = false; rightScore setPulseFX( 100, duration, 1000 ); - if ( isDefined( level.swap_score ) && level.swap_score ) + if ( winner == "halftime" ) { leftIcon MoveOverTime( 2.5 ); leftIcon setPoint( "TOP", "BOTTOM", 60, spacing ); diff --git a/maps/mp/gametypes/_menus.gsc b/maps/mp/gametypes/_menus.gsc index e9e30b8..1323086 100644 --- a/maps/mp/gametypes/_menus.gsc +++ b/maps/mp/gametypes/_menus.gsc @@ -24,23 +24,36 @@ init() game["menu_shoutcast_setup"] = "shoutcast_setup"; game["menu_callvote"] = "callvote"; game["menu_muteplayer"] = "muteplayer"; - + game["menu_quickcommands"] = "quickcommands"; + game["menu_quickstatements"] = "quickstatements"; + game["menu_quickresponses"] = "quickresponses"; + game["menu_quickpromod"] = "quickpromod"; + game["menu_quickpromodgfx"] = "quickpromodgfx"; + game["menu_demo"] = "demo"; + + precacheMenu("quickcommands"); + precacheMenu("quickstatements"); + precacheMenu("quickresponses"); + precacheMenu("quickpromod"); + precacheMenu("quickpromodgfx"); precacheMenu("scoreboard"); - precacheMenu(game["menu_team"]); - precacheMenu(game["menu_team_flipped"]); - precacheMenu(game["menu_class_allies"]); - precacheMenu(game["menu_changeclass_allies"]); - precacheMenu(game["menu_class_axis"]); - precacheMenu(game["menu_changeclass_axis"]); - precacheMenu(game["menu_class"]); - precacheMenu(game["menu_changeclass"]); - precacheMenu(game["menu_changeclass_offline"]); - precacheMenu(game["menu_callvote"]); - precacheMenu(game["menu_muteplayer"]); - precacheMenu(game["menu_shoutcast"]); - precacheMenu(game["menu_shoutcast_map"]); - precacheMenu(game["menu_shoutcast_setup"]); + precacheMenu("team_marinesopfor"); + precacheMenu("team_marinesopfor_flipped"); + precacheMenu("class_marines"); + precacheMenu("changeclass_marines_mw"); + precacheMenu("class_opfor"); + precacheMenu("changeclass_opfor_mw"); + precacheMenu("class"); + precacheMenu("changeclass_mw"); + precacheMenu("changeclass_offline"); + precacheMenu("callvote"); + precacheMenu("muteplayer"); + precacheMenu("shoutcast"); + precacheMenu("shoutcast_map"); + precacheMenu("shoutcast_setup"); + precacheMenu("shoutcast_setup_binds"); precacheMenu("echo"); + precacheMenu("demo"); level thread onPlayerConnect(); } @@ -63,27 +76,8 @@ onMenuResponse() { self waittill("menuresponse", menu, response); - if ( response == "back" ) - { - if (self.team == "none") - continue; - - self closeMenu(); - self closeInGameMenu(); - - if ( menu == "changeclass_mw" && isDefined( self.pers["class"] ) ) - { - self maps\mp\gametypes\_promod::setClassChoice( self.pers["class"] ); - self maps\mp\gametypes\_promod::menuAcceptClass( "go" ); - } - - if ( menu == "changeclass_mw" && self.pers["team"] == "allies" ) - self openMenu( game["menu_changeclass_allies"] ); - else if ( menu == "changeclass_mw" && self.pers["team"] == "axis" ) - self openMenu( game["menu_changeclass_axis"] ); - + if ( !isDefined( self.pers["team"] ) ) continue; - } if( getSubStr( response, 0, 7 ) == "loadout" ) { @@ -91,112 +85,142 @@ onMenuResponse() continue; } - if( menu == "echo" ) + switch( response ) { - k = strtok(response, "_"); - buf = ""; - for(i=0;i 10 ) + self thread maps\mp\gametypes\_quickmessages::setFollowSpec( ( int( response ) - 10 ) ); + else + self thread maps\mp\gametypes\_quickmessages::setFollow( response ); + } continue; - self maps\mp\gametypes\_promod::setClassChoice( response ); - self closeMenu(); - self closeInGameMenu(); - self openMenu( game["menu_changeclass"] ); - continue; + case "quickcommands": + case "quickstatements": + case "quickresponses": + maps\mp\gametypes\_quickmessages::doQuickMessage( menu, int(response)-1 ); + continue; + + case "quickpromod": + maps\mp\gametypes\_quickmessages::quickpromod( response ); + continue; + + case "quickpromodgfx": + maps\mp\gametypes\_quickmessages::quickpromodgfx( response ); + continue; } - else if( menu == game["menu_changeclass"] ) - self maps\mp\gametypes\_promod::menuAcceptClass( response ); - else if( menu == game["menu_shoutcast_setup"] ) - self maps\mp\gametypes\_quickmessages::setFollow( response ); - - if( menu == game["menu_quickcommands"] ) - maps\mp\gametypes\_quickmessages::quickcommands(response); - else if(menu == game["menu_quickstatements"]) - maps\mp\gametypes\_quickmessages::quickstatements(response); - else if(menu == game["menu_quickresponses"]) - maps\mp\gametypes\_quickmessages::quickresponses(response); - else if(menu == game["menu_quickpromod"]) - thread maps\mp\gametypes\_quickmessages::quickpromod(response); - else if(menu == game["menu_quickpromodgfx"]) - maps\mp\gametypes\_quickmessages::quickpromodgfx(response); } } \ No newline at end of file diff --git a/maps/mp/gametypes/_promod.gsc b/maps/mp/gametypes/_promod.gsc index 534f5d5..83d3100 100644 --- a/maps/mp/gametypes/_promod.gsc +++ b/maps/mp/gametypes/_promod.gsc @@ -107,6 +107,7 @@ onPlayerConnect() for(;;) { level waittill( "connecting", player ); + player thread initClassLoadouts(); player thread updateServerDvars(); } } @@ -117,6 +118,8 @@ setClassChoice( classType ) self.class = classType; self setClientDvar( "loadout_class", classType ); + + self initClassLoadouts(); self setDvarsFromClass( classType ); switch ( classType ) @@ -194,15 +197,12 @@ setServerDvarDefault( dvarName, setVal, minVal, maxVal ) level.serverDvars[dvarName] = setVal; } -setServerInfoDvarDefault( dvarName, setVal, minVal, maxVal ) +initClassLoadouts() { - makeDvarServerInfo( dvarName, setVal ); + self endon ("disconnect"); - setVal = setDvarDefault( dvarName, setVal, minVal, maxVal ); -} + wait 0.05; -initClassLoadouts() -{ self initLoadoutForClass( "assault" ); self initLoadoutForClass( "specops" ); self initLoadoutForClass( "demolitions" ); @@ -228,51 +228,60 @@ initLoadoutForClass( classType ) CLASS_GRENADE = SSALC + "_GRENADE"; CLASS_CAMO = SSALC + "_CAMO"; - if ( !self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, CLASS_PRIMARY, 0 ) ) ) ) - self.pers[classType]["loadout_primary"] = getDvar( "class_" + classType + "_primary" ); - else if ( validClass( classType, get_config( CLASS_PRIMARY ), "loadout_primary" ) ) - self.pers[classType]["loadout_primary"] = get_config( CLASS_PRIMARY ); - else - self.pers[classType]["loadout_primary"] = getDvar( "class_" + classType + "_primary" ); + if ( !isDefined( self.pers[classType] ) || !isDefined( self.pers[classType]["loadout_primary"] ) ) + { + if ( validClass( classType, get_config( CLASS_PRIMARY ), "loadout_primary" ) ) + self.pers[classType]["loadout_primary"] = get_config( CLASS_PRIMARY ); + else + self.pers[classType]["loadout_primary"] = getDvar( "class_" + classType + "_primary" ); + } - if ( !self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, CLASS_PRIMARY_ATTACHMENT, 0 ) ) ) ) - self.pers[classType]["loadout_primary_attachment"] = getDvar( "class_" + classType + "_primary_attachment" ); - else if ( validClass( classType, get_config( CLASS_PRIMARY_ATTACHMENT ), "loadout_primary_attachment" ) ) - self.pers[classType]["loadout_primary_attachment"] = get_config( CLASS_PRIMARY_ATTACHMENT ); - else - self.pers[classType]["loadout_primary_attachment"] = getDvar( "class_" + classType + "_primary_attachment" ); + if ( !isDefined( self.pers[classType] ) || !isDefined( self.pers[classType]["loadout_primary_attachment"] ) ) + { + if ( validClass( classType, get_config( CLASS_PRIMARY_ATTACHMENT ), "loadout_primary_attachment" ) ) + self.pers[classType]["loadout_primary_attachment"] = get_config( CLASS_PRIMARY_ATTACHMENT ); + else + self.pers[classType]["loadout_primary_attachment"] = getDvar( "class_" + classType + "_primary_attachment" ); + } - if ( !self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, CLASS_SECONDARY, 0 ) ) ) ) - self.pers[classType]["loadout_secondary"] = getDvar( "class_" + classType + "_secondary" ); - else if ( validClass( classType, get_config( CLASS_SECONDARY ), "loadout_secondary" ) ) - self.pers[classType]["loadout_secondary"] = get_config( CLASS_SECONDARY ); - else - self.pers[classType]["loadout_secondary"] = getDvar( "class_" + classType + "_secondary" ); + if ( !isDefined( self.pers[classType] ) || !isDefined( self.pers[classType]["loadout_secondary"] ) ) + { + if ( validClass( classType, get_config( CLASS_SECONDARY ), "loadout_secondary" ) ) + self.pers[classType]["loadout_secondary"] = get_config( CLASS_SECONDARY ); + else + self.pers[classType]["loadout_secondary"] = getDvar( "class_" + classType + "_secondary" ); + } - if ( !self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, CLASS_SECONDARY_ATTACHMENT, 0 ) ) ) ) - self.pers[classType]["loadout_secondary_attachment"] = getDvar( "class_" + classType + "_secondary_attachment" ); - else if ( validClass( classType, get_config( CLASS_SECONDARY_ATTACHMENT ), "loadout_secondary_attachment" ) ) - self.pers[classType]["loadout_secondary_attachment"] = get_config( CLASS_SECONDARY_ATTACHMENT ); - else - self.pers[classType]["loadout_secondary_attachment"] = getDvar( "class_" + classType + "_secondary_attachment" ); + if ( !isDefined( self.pers[classType] ) || !isDefined( self.pers[classType]["loadout_secondary_attachment"] ) ) + { + if ( validClass( classType, get_config( CLASS_SECONDARY_ATTACHMENT ), "loadout_secondary_attachment" ) ) + self.pers[classType]["loadout_secondary_attachment"] = get_config( CLASS_SECONDARY_ATTACHMENT ); + else + self.pers[classType]["loadout_secondary_attachment"] = getDvar( "class_" + classType + "_secondary_attachment" ); + } - if ( !self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, CLASS_GRENADE, 0 ) ) ) ) - self.pers[classType]["loadout_grenade"] = getDvar( "class_" + classType + "_grenade" ); - else if ( validClass( classType, get_config( CLASS_GRENADE ), "loadout_grenade" ) ) - self.pers[classType]["loadout_grenade"] = get_config( CLASS_GRENADE ); - else - self.pers[classType]["loadout_grenade"] = getDvar( "class_" + classType + "_grenade" ); + if ( !isDefined( self.pers[classType] ) || !isDefined( self.pers[classType]["loadout_grenade"] ) ) + { + if ( validClass( classType, get_config( CLASS_GRENADE ), "loadout_grenade" ) ) + self.pers[classType]["loadout_grenade"] = get_config( CLASS_GRENADE ); + else + self.pers[classType]["loadout_grenade"] = getDvar( "class_" + classType + "_grenade" ); + } - if ( !self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, CLASS_CAMO, 0 ) ) ) ) - self.pers[classType]["loadout_camo"] = getDvar( "class_" + classType + "_camo" ); - else if ( validClass( classType, get_config( CLASS_CAMO ), "loadout_camo" ) ) - self.pers[classType]["loadout_camo"] = get_config( CLASS_CAMO ); - else - self.pers[classType]["loadout_camo"] = getDvar( "class_" + classType + "_camo" ); + if ( !isDefined( self.pers[classType] ) || !isDefined( self.pers[classType]["loadout_camo"] ) ) + { + if ( validClass( classType, get_config( CLASS_CAMO ), "loadout_camo" ) ) + self.pers[classType]["loadout_camo"] = get_config( CLASS_CAMO ); + else + self.pers[classType]["loadout_camo"] = getDvar( "class_" + classType + "_camo" ); + } } validClass( classType, preServed, type ) { + if ( preServed == "" ) + return false; + loadout_primary = ""; loadout_primary_attachment = ""; loadout_secondary = ""; @@ -385,12 +394,15 @@ setDvarsFromClass( classType ) processLoadoutResponse( respString ) { + if ( !isDefined( self.pers["class"] ) ) + return; + commandTokens = strTok( respString, "," ); for ( i = 0; i < commandTokens.size; i++ ) { subTokens = strTok( commandTokens[i], ":" ); - if( subTokens.size <= 1 ) + if( subTokens.size < 2 ) return; switch ( subTokens[0] ) @@ -499,36 +511,22 @@ verifyClassChoice( teamName, classType ) { if ( teamName == "allies" || teamName == "axis" ) { - if ( !getDvarInt( "class_" + classType + "_limit" ) ) - return false; - if ( isDefined( self.pers["class"] ) && self.pers["class"] == classType ) return true; game[teamName + "_" + classType + "_count"] = 0; for ( i = 0; i < level.players.size; i++ ) - { - player = level.players[i]; - - if ( player.team == self.team && isDefined( player.class ) && player.class == classType ) + if ( level.players[i].team == teamName && isDefined( level.players[i].class ) && level.players[i].class == classType ) game[teamName + "_" + classType + "_count"]++; - } - - if ( getDvarInt( "class_" + classType + "_limit" ) > 0 ) - { - if ( game[teamName + "_" + classType + "_count"] >= getDvarInt( "class_" + classType + "_limit" ) ) - return false; - } - return true; + return ( game[teamName + "_" + classType + "_count"] < getDvarInt( "class_" + classType + "_limit" ) ); } + + return false; } updateClassAvailability( teamName ) { - if ( teamName != "allies" && teamName != "axis" ) - return; - game[teamName + "_assault_count"] = 0; game[teamName + "_specops_count"] = 0; game[teamName + "_demolitions_count"] = 0; @@ -570,12 +568,12 @@ menuAcceptClass( response ) if ( self.sessionstate == "playing" ) { - if ( level.inGracePeriod && !self.hasDoneCombat || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" || isDefined( level.rdyup ) && level.rdyup || isDefined( level.strat_over ) && !level.strat_over ) + if ( level.inGracePeriod && isDefined( self.hasDoneCombat ) && !self.hasDoneCombat && isDefined( game["PROMOD_KNIFEROUND"] ) && !game["PROMOD_KNIFEROUND"] || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" || isDefined( level.rdyup ) && level.rdyup || isDefined( level.strat_over ) && !level.strat_over ) self maps\mp\gametypes\_class::giveLoadout( self.pers["team"], self.pers["class"] ); else { if ( !isDefined( response) || response != "apply" ) - self iPrintLnBold( game["strings"]["change_class"] ); + self iprintlnbold( game["strings"]["change_class"] ); self setClientDvar( "loadout_curclass", self.pers["class"] ); } diff --git a/maps/mp/gametypes/_quickmessages.gsc b/maps/mp/gametypes/_quickmessages.gsc index 49c782c..ae7ed24 100644 --- a/maps/mp/gametypes/_quickmessages.gsc +++ b/maps/mp/gametypes/_quickmessages.gsc @@ -10,230 +10,88 @@ init() { - game["menu_quickcommands"] = "quickcommands"; - game["menu_quickstatements"] = "quickstatements"; - game["menu_quickresponses"] = "quickresponses"; - game["menu_quickpromod"] = "quickpromod"; - game["menu_quickpromodgfx"] = "quickpromodgfx"; - - precacheMenu(game["menu_quickcommands"]); - precacheMenu(game["menu_quickstatements"]); - precacheMenu(game["menu_quickresponses"]); - precacheMenu(game["menu_quickpromod"]); - precacheMenu(game["menu_quickpromodgfx"]); - precacheHeadIcon("talkingicon"); - - precacheString( &"QUICKMESSAGE_FOLLOW_ME" ); - precacheString( &"QUICKMESSAGE_MOVE_IN" ); - precacheString( &"QUICKMESSAGE_FALL_BACK" ); - precacheString( &"QUICKMESSAGE_SUPPRESSING_FIRE" ); - precacheString( &"QUICKMESSAGE_ATTACK_LEFT_FLANK" ); - precacheString( &"QUICKMESSAGE_ATTACK_RIGHT_FLANK" ); - precacheString( &"QUICKMESSAGE_HOLD_THIS_POSITION" ); - precacheString( &"QUICKMESSAGE_REGROUP" ); - precacheString( &"QUICKMESSAGE_ENEMY_SPOTTED" ); - precacheString( &"QUICKMESSAGE_ENEMIES_SPOTTED" ); - precacheString( &"QUICKMESSAGE_IM_IN_POSITION" ); - precacheString( &"QUICKMESSAGE_AREA_SECURE" ); - precacheString( &"QUICKMESSAGE_GRENADE" ); - precacheString( &"QUICKMESSAGE_SNIPER" ); - precacheString( &"QUICKMESSAGE_NEED_REINFORCEMENTS" ); - precacheString( &"QUICKMESSAGE_HOLD_YOUR_FIRE" ); - precacheString( &"QUICKMESSAGE_YES_SIR" ); - precacheString( &"QUICKMESSAGE_NO_SIR" ); - precacheString( &"QUICKMESSAGE_IM_ON_MY_WAY" ); - precacheString( &"QUICKMESSAGE_SORRY" ); - precacheString( &"QUICKMESSAGE_GREAT_SHOT" ); - precacheString( &"QUICKMESSAGE_TOOK_LONG_ENOUGH" ); - precacheString( &"QUICKMESSAGE_ARE_YOU_CRAZY" ); - precacheString( &"QUICKMESSAGE_WATCH_SIX" ); - precacheString( &"QUICKMESSAGE_COME_ON" ); + level.saytext[0] = &"QUICKMESSAGE_FOLLOW_ME"; + level.saytext[1] = &"QUICKMESSAGE_MOVE_IN"; + level.saytext[2] = &"QUICKMESSAGE_FALL_BACK"; + level.saytext[3] = &"QUICKMESSAGE_SUPPRESSING_FIRE"; + level.saytext[4] = &"QUICKMESSAGE_ATTACK_LEFT_FLANK"; + level.saytext[5] = &"QUICKMESSAGE_ATTACK_RIGHT_FLANK"; + level.saytext[6] = &"QUICKMESSAGE_HOLD_THIS_POSITION"; + level.saytext[7] = &"QUICKMESSAGE_REGROUP"; + level.saytext[8] = &"QUICKMESSAGE_ENEMY_SPOTTED"; + level.saytext[9] = &"QUICKMESSAGE_ENEMIES_SPOTTED"; + level.saytext[10] = &"QUICKMESSAGE_IM_IN_POSITION"; + level.saytext[11] = &"QUICKMESSAGE_AREA_SECURE"; + level.saytext[12] = &"QUICKMESSAGE_WATCH_SIX"; + level.saytext[13] = &"QUICKMESSAGE_SNIPER"; + level.saytext[14] = &"QUICKMESSAGE_NEED_REINFORCEMENTS"; + level.saytext[15] = &"QUICKMESSAGE_YES_SIR"; + level.saytext[16] = &"QUICKMESSAGE_NO_SIR"; + level.saytext[17] = &"QUICKMESSAGE_IM_ON_MY_WAY"; + level.saytext[18] = &"QUICKMESSAGE_SORRY"; + level.saytext[19] = &"QUICKMESSAGE_GREAT_SHOT"; + level.saytext[20] = &"QUICKMESSAGE_COME_ON"; + for(i=0;i<21;i++) precacheString(level.saytext[i]); + level.soundalias = strtok("followme|movein|fallback|suppressfire|attackleftflank|attackrightflank|holdposition|regroup|enemyspotted|enemiesspotted|iminposition|areasecure|watchsix|sniper|needreinforcements|yessir|nosir|onmyway|sorry|greatshot|comeon", "|"); } -quickcommands(response) +getSoundPrefixForTeam() { - self endon ( "disconnect" ); - - if(!isdefined(self.pers["team"]) || self.pers["team"] == "spectator" || isdefined(self.spamdelay)) - return; - - soundalias = ""; - saytext = ""; - - switch(response) + a = ""; + if ( self.pers["team"] == "allies" ) { - case "1": - soundalias = "mp_cmd_followme"; - saytext = &"QUICKMESSAGE_FOLLOW_ME"; - break; - - case "2": - soundalias = "mp_cmd_movein"; - saytext = &"QUICKMESSAGE_MOVE_IN"; - break; - - case "3": - soundalias = "mp_cmd_fallback"; - saytext = &"QUICKMESSAGE_FALL_BACK"; - break; - - case "4": - soundalias = "mp_cmd_suppressfire"; - saytext = &"QUICKMESSAGE_SUPPRESSING_FIRE"; - break; - - case "5": - soundalias = "mp_cmd_attackleftflank"; - saytext = &"QUICKMESSAGE_ATTACK_LEFT_FLANK"; - break; - - case "6": - soundalias = "mp_cmd_attackrightflank"; - saytext = &"QUICKMESSAGE_ATTACK_RIGHT_FLANK"; - break; - - case "7": - soundalias = "mp_cmd_holdposition"; - saytext = &"QUICKMESSAGE_HOLD_THIS_POSITION"; - break; - - case "8": - soundalias = "mp_cmd_regroup"; - saytext = &"QUICKMESSAGE_REGROUP"; - break; - - default: - soundalias = ""; + if ( game["allies"] == "sas" ) + a = "UK"; + else + a = "US"; } - - if ( soundalias == "" ) - return; - - self.spamdelay = true; - - self saveHeadIcon(); - self doQuickMessage(soundalias, saytext); - - wait 3; - self.spamdelay = undefined; - self restoreHeadIcon(); -} - -quickstatements(response) -{ - self endon ( "disconnect" ); - - if(!isdefined(self.pers["team"]) || self.pers["team"] == "spectator" || isdefined(self.spamdelay)) - return; - - soundalias = ""; - saytext = ""; - - switch(response) + else { - case "1": - soundalias = "mp_stm_enemyspotted"; - saytext = &"QUICKMESSAGE_ENEMY_SPOTTED"; - break; - - case "2": - soundalias = "mp_stm_enemiesspotted"; - saytext = &"QUICKMESSAGE_ENEMIES_SPOTTED"; - break; - - case "3": - soundalias = "mp_stm_iminposition"; - saytext = &"QUICKMESSAGE_IM_IN_POSITION"; - break; - - case "4": - soundalias = "mp_stm_areasecure"; - saytext = &"QUICKMESSAGE_AREA_SECURE"; - break; - - case "5": - soundalias = "mp_stm_watchsix"; - saytext = &"QUICKMESSAGE_WATCH_SIX"; - break; - - case "6": - soundalias = "mp_stm_sniper"; - saytext = &"QUICKMESSAGE_SNIPER"; - break; - - case "7": - soundalias = "mp_stm_needreinforcements"; - saytext = &"QUICKMESSAGE_NEED_REINFORCEMENTS"; - break; + if ( game["axis"] == "russian" ) + a = "RU"; + else + a = "AB"; } - - if ( soundalias == "" ) - return; - - self.spamdelay = true; - - self saveHeadIcon(); - self doQuickMessage(soundalias, saytext); - - wait 3; - self.spamdelay = undefined; - self restoreHeadIcon(); + return a+"_"; } -quickresponses(response) +doQuickMessage( t, i ) { - self endon ( "disconnect" ); - - if(!isdefined(self.pers["team"]) || self.pers["team"] == "spectator" || isdefined(self.spamdelay)) - return; - - soundalias = ""; - saytext = ""; - - switch(response) + if( self.sessionstate == "playing" && isdefined(self.pers["team"]) && self.pers["team"] != "spectator" && !isdefined(self.spamdelay) ) { - case "1": - soundalias = "mp_rsp_yessir"; - saytext = &"QUICKMESSAGE_YES_SIR"; - break; - - case "2": - soundalias = "mp_rsp_nosir"; - saytext = &"QUICKMESSAGE_NO_SIR"; - break; + maxsize = 7; + offset = 8; + type = "stm"; - case "3": - soundalias = "mp_rsp_onmyway"; - saytext = &"QUICKMESSAGE_IM_ON_MY_WAY"; - break; - - case "4": - soundalias = "mp_rsp_sorry"; - saytext = &"QUICKMESSAGE_SORRY"; - break; - - case "5": - soundalias = "mp_rsp_greatshot"; - saytext = &"QUICKMESSAGE_GREAT_SHOT"; - break; + if(t == "quickcommands") + { + maxsize = 8; + offset = 0; + type = "cmd"; + } + else if(t == "quickresponses") + { + maxsize = 6; + offset = 15; + type = "rsp"; + } + if( i >= 0 && i < maxsize ) + { + self.spamdelay = true; - case "6": - soundalias = "mp_rsp_comeon"; - saytext = &"QUICKMESSAGE_COME_ON"; - break; + self playSound( self getSoundPrefixForTeam()+"mp_"+type+"_"+level.soundalias[offset+i] ); + saytext = level.saytext[offset+i]; + if(isdefined(level.QuickMessageToAll) && level.QuickMessageToAll) + self sayAll( saytext ); + else + { + self sayTeam( saytext ); + self pingPlayer(); + } + wait 3; + self.spamdelay = undefined; + } } - - if ( soundalias == "" ) - return; - - self.spamdelay = true; - - self saveHeadIcon(); - self doQuickMessage(soundalias, saytext); - - wait 3; - self.spamdelay = undefined; - self restoreHeadIcon(); } quickpromod(response) @@ -243,73 +101,59 @@ quickpromod(response) switch(response) { case "1": - self thread promod\timeout::Timeout_Call(); + if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) + return; + + self thread promod\timeout::timeoutCall(); break; case "2": - if ( self.sessionstate != "playing" || ( !isDefined( self.isBombCarrier ) || !self.isBombCarrier ) || isDefined( self.isPlanting ) && self.isPlanting ) - return; - - self.carryObject thread maps\mp\gametypes\_gameobjects::setDropped(); - self.isBombCarrier = false; + if ( self.sessionstate == "playing" && (!isDefined( self.isPlanting ) || !self.isPlanting) && !level.gameEnded && isDefined( self.carryObject ) ) + self.carryObject thread maps\mp\gametypes\_gameobjects::setDropped(); break; case "3": self suicide(); break; - case "silencer": - if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) - return; - - if ( !isDefined( self.pers["class"] ) ) - return; - - classType = self.pers["class"]; - primaryWeap = self.pers[classType]["loadout_primary"]; - - if ( !getDvarInt( "attach_allow_" + classType + "_silencer" ) ) - return; + case "4": + a = "en"; + if ( self promod\client::toggle("PROMOD_RECORD") ) + a = "dis"; + self iprintln("Record reminder has been "+a+"abled"); + break; - if ( primaryWeap == "mp44" || classType == "sniper" || classType == "demolitions" ) + case "silencer": + if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" || !isDefined( self.pers["class"] ) || !getDvarInt( "attach_allow_" + self.pers["class"] + "_silencer" ) || self.pers[self.pers["class"]]["loadout_primary"] == "mp44" || self.pers["class"] == "sniper" || self.pers["class"] == "demolitions" ) return; - if ( self.pers[classType]["loadout_primary_attachment"] != "silencer" ) + attach = "none"; + if(self.pers[self.pers["class"]]["loadout_primary_attachment"] == "none") { - self.pers[classType]["loadout_primary_attachment"] = "silencer"; + attach = "silencer"; self iprintln("Silencer attached"); } else - { - self.pers[classType]["loadout_primary_attachment"] = "none"; self iprintln("Silencer detached"); - } + + self.pers[self.pers["class"]]["loadout_primary_attachment"] = attach; self maps\mp\gametypes\_promod::menuAcceptClass( "go" ); break; case "grenade": - if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) - return; - - if ( !isDefined( self.pers["class"] ) ) + if ( self.pers["team"] != "axis" && self.pers["team"] != "allies" || !isDefined( self.pers["class"] ) ) return; classType = self.pers["class"]; - if ( self.pers[classType]["loadout_grenade"] == "smoke_grenade" ) + if ( self.pers[classType]["loadout_grenade"] == "smoke_grenade" && getDvarInt( "weap_allow_flash_grenade" ) ) { - if ( !getDvarInt( "weap_allow_flash_grenade" ) ) - return; - self.pers[classType]["loadout_grenade"] = "flash_grenade"; self iprintln("Flash selected"); } - else if ( self.pers[classType]["loadout_grenade"] == "flash_grenade" ) + else if ( self.pers[classType]["loadout_grenade"] == "flash_grenade" && getDvarInt( "weap_allow_smoke_grenade" ) ) { - if ( !getDvarInt( "weap_allow_smoke_grenade" ) ) - return; - self.pers[classType]["loadout_grenade"] = "smoke_grenade"; self iprintln("Smoke selected"); } @@ -323,7 +167,7 @@ quickpromod(response) case "specops": case "demolitions": case "sniper": - if ( ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) || ( isDefined(self.pers["class"]) && response == self.pers["class"] ) ) + if ( ( self.pers["team"] != "axis" && self.pers["team"] != "allies" ) ) return; if ( !self maps\mp\gametypes\_promod::verifyClassChoice( self.pers["team"], response ) ) @@ -332,26 +176,36 @@ quickpromod(response) return; } + if ( !isDefined( self.pers["class"] ) || self.pers["class"] != response ) + self iprintln(chooseClassName(response)+" selected"); + self maps\mp\gametypes\_promod::setClassChoice( response ); self maps\mp\gametypes\_promod::menuAcceptClass(); - self iprintln(chooseClassName(response)+" selected"); break; case "X": if ( self.pers["team"] == "axis" || self.pers["team"] == "allies" ) self openMenu( game["menu_changeclass_" + self.pers["team"] ] ); - else if ( self.pers["team"] == "spectator" ) + break; + + case "shoutcaster": + if ( self.pers["team"] == "spectator" ) self openMenu( game["menu_shoutcast"] ); - else - return; + break; + + case "overview": + if ( self.pers["team"] == "spectator" ) + self openmenu( game["menu_shoutcast_map"] ); break; case "controls": self openMenu("quickpromod"); break; + case "graphics": - self openmenu("quickpromodgfx"); + self openMenu("quickpromodgfx"); break; + case "killspec": self [[level.killspec]](); break; @@ -365,33 +219,36 @@ quickpromodgfx(response) switch(response) { case "1": - self thread promod\client::toggle_sunlight(); + self promod\client::setsunlight(self promod\client::loopthrough("PROMOD_SUNLIGHT", 2)); break; case "2": - self thread promod\client::toggle_filmtweak(); + self setclientdvar("r_filmusetweaks", self promod\client::toggle("PROMOD_FILMTWEAK")); break; case "3": - self thread promod\client::toggle_texture(); + self setclientdvar("r_texfilterdisable", self promod\client::toggle("PROMOD_TEXTURE")); break; case "4": - self thread promod\client::toggle_normalmap(); + self setclientdvar("r_normalmap", self promod\client::toggle("PROMOD_NORMALMAP")); break; case "5": - self thread promod\client::toggle_fovscale(); + self setclientdvar("cg_fovscale", 1 + int(!self promod\client::toggle("PROMOD_FOVSCALE")) * 0.125); break; case "6": - self thread promod\client::toggle_gfxblur(); + self setclientdvar("r_blur", 0.2 * self promod\client::loopthrough("PROMOD_GFXBLUR", 5)); break; } } chooseClassName( classname ) { + if ( !isDefined( classname ) ) + return ""; + switch( classname ) { case "assault": @@ -409,18 +266,17 @@ chooseClassName( classname ) setFollow( response ) { - if ( self.pers["team"] != "spectator" ) - return; + self endon ( "disconnect" ); num = -1; for ( i = 0; i < level.players.size; i++ ) { players = level.players[i]; if ( isDefined( players.shoutNumber ) && int( response ) && isAlive( players ) && ( ( players.pers["team"] == "allies" && players.shoutNumber == int( response ) ) || ( ( players.pers["team"] == "axis" && players.shoutNumber == ( int( response ) -5 ) ) ) ) ) - { - num = players getEntityNumber(); - break; - } + { + num = players getEntityNumber(); + break; + } } if ( num == -1 ) @@ -448,72 +304,71 @@ setFollow( response ) } } - self.spectatorclient = num; + wait 0.05; if ( num != -1 ) { - wait 0.05; - self.spectatorclient = -1; + self notify ( "stop_follow" ); + + self.spectatorclient = num; + self.spectatorlast = num; + self.freelook = false; + self thread resetSpec(); } } -doQuickMessage( soundalias, saytext ) +setFollowSpec( response ) { - if(self.sessionstate != "playing") - return; + self notify ( "followspec" ); + self endon ( "followspec" ); - if ( self.pers["team"] == "allies" ) - { - if ( game["allies"] == "sas" ) - prefix = "UK_"; - else - prefix = "US_"; - } - else - { - if ( game["axis"] == "russian" ) - prefix = "RU_"; - else - prefix = "AB_"; - } + self endon ( "disconnect" ); + self endon ( "joined_team" ); + self endon ( "stop_follow" ); - if(isdefined(level.QuickMessageToAll) && level.QuickMessageToAll) - { - self.headiconteam = "none"; - self.headicon = "talkingicon"; + num = -1; + o_num = -1; - self playSound( prefix+soundalias ); - self sayAll(saytext); - } - else + name = ""; + o_name = ""; + for (;;) { - if(self.sessionteam == "allies") - self.headiconteam = "allies"; - else if(self.sessionteam == "axis") - self.headiconteam = "axis"; + for ( i = 0; i < level.players.size; i++ ) + { + players = level.players[i]; + if ( isDefined( players.spectatorlast ) && isDefined( players.specNumber ) && players != self && players.pers["team"] == "spectator" && players.specNumber == int( response ) ) + { + num = players.spectatorlast; + name = players.name; + break; + } + } - self.headicon = "talkingicon"; + wait 0.05; - self playSound( prefix+soundalias ); - self sayTeam( saytext ); - self pingPlayer(); - } -} + if ( num != o_num && num != -1 ) + { + o_num = num; + self.spectatorclient = num; + self.spectatorlast = num; + self.freelook = false; + self thread resetSpec(); -saveHeadIcon() -{ - if(isdefined(self.headicon)) - self.oldheadicon = self.headicon; + if ( name != o_name ) + { + o_name = name; + self iprintln("You are following " + name); + } + } - if(isdefined(self.headiconteam)) - self.oldheadiconteam = self.headiconteam; + wait 0.05; + } } -restoreHeadIcon() +resetSpec() { - if(isdefined(self.oldheadicon)) - self.headicon = self.oldheadicon; + self endon ( "disconnect" ); - if(isdefined(self.oldheadiconteam)) - self.headiconteam = self.oldheadiconteam; + wait 0.05; + self.spectatorclient = -1; } \ No newline at end of file diff --git a/maps/mp/gametypes/_rank.gsc b/maps/mp/gametypes/_rank.gsc index 60a4634..0553551 100644 --- a/maps/mp/gametypes/_rank.gsc +++ b/maps/mp/gametypes/_rank.gsc @@ -92,7 +92,7 @@ onPlayerSpawned() self.hud_rankscroreupdate.vertAlign = "middle"; self.hud_rankscroreupdate.alignX = "center"; self.hud_rankscroreupdate.alignY = "middle"; - self.hud_rankscroreupdate.x = 0; + self.hud_rankscroreupdate.x = 0; self.hud_rankscroreupdate.y = -60; self.hud_rankscroreupdate.font = "default"; self.hud_rankscroreupdate.fontscale = 2.0; diff --git a/maps/mp/gametypes/_scoreboard.gsc b/maps/mp/gametypes/_scoreboard.gsc index 3398efe..dbf961f 100644 --- a/maps/mp/gametypes/_scoreboard.gsc +++ b/maps/mp/gametypes/_scoreboard.gsc @@ -46,13 +46,13 @@ init() if ( game["attackers"] == "allies" && game["defenders"] == "axis" ) { - setdvar("g_TeamName_Allies", &"PROMOD_ATTACK_NAME"); - setdvar("g_TeamName_Axis", &"PROMOD_DEFENCE_NAME"); + setdvar("g_TeamName_Allies", "Attack"); + setdvar("g_TeamName_Axis", "Defence"); } else { - setdvar("g_TeamName_Allies", &"PROMOD_DEFENCE_NAME"); - setdvar("g_TeamName_Axis", &"PROMOD_ATTACK_NAME"); + setdvar("g_TeamName_Allies", "Defence"); + setdvar("g_TeamName_Axis", "Attack"); } setdvar("g_ScoresColor_Spectator", "0.25 0.25 0.25"); diff --git a/maps/mp/gametypes/_spawnlogic.gsc b/maps/mp/gametypes/_spawnlogic.gsc index ab08f63..a5cdab4 100644 --- a/maps/mp/gametypes/_spawnlogic.gsc +++ b/maps/mp/gametypes/_spawnlogic.gsc @@ -262,7 +262,6 @@ getAllAlliedAndEnemyPlayers( obj ) } else { - assert( self.pers["team"] == "axis" ); obj.allies = level.alivePlayers["axis"]; obj.enemies = level.alivePlayers["allies"]; } diff --git a/maps/mp/gametypes/_spectating.gsc b/maps/mp/gametypes/_spectating.gsc index abb1d17..70d1ffd 100644 --- a/maps/mp/gametypes/_spectating.gsc +++ b/maps/mp/gametypes/_spectating.gsc @@ -82,7 +82,6 @@ getOtherTeam( team ) setSpectatePermissions() { team = self.sessionteam; - spectateType = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "spectatetype" ); switch( spectateType ) @@ -91,7 +90,7 @@ setSpectatePermissions() self allowSpectateTeam( "allies", false ); self allowSpectateTeam( "axis", false ); self allowSpectateTeam( "freelook", false ); - self allowSpectateTeam( "none", true ); + self allowSpectateTeam( "none", false ); break; case 1: if ( !level.teamBased ) @@ -101,18 +100,25 @@ setSpectatePermissions() self allowSpectateTeam( "none", true ); self allowSpectateTeam( "freelook", true ); } - else if ( isDefined( team ) && (team == "allies" || team == "axis") ) + else if ( isDefined( team ) && ( team == "allies" || team == "axis" ) ) { self allowSpectateTeam( team, true ); self allowSpectateTeam( getOtherTeam( team ), false ); self allowSpectateTeam( "freelook", false ); self allowSpectateTeam( "none", false ); } - else + else if ( isDefined( team ) && ( team == "spectator" ) ) { self allowSpectateTeam( "allies", true ); self allowSpectateTeam( "axis", true ); self allowSpectateTeam( "freelook", true ); + self allowSpectateTeam( "none", true ); + } + else + { + self allowSpectateTeam( "allies", false ); + self allowSpectateTeam( "axis", false ); + self allowSpectateTeam( "freelook", false ); self allowSpectateTeam( "none", false ); } break; @@ -120,16 +126,7 @@ setSpectatePermissions() self allowSpectateTeam( "allies", true ); self allowSpectateTeam( "axis", true ); self allowSpectateTeam( "freelook", true ); - self allowSpectateTeam( "none", false ); + self allowSpectateTeam( "none", true ); break; } - - if ( isDefined( team ) && (team == "axis" || team == "allies") ) - { - if ( isdefined(level.spectateOverride[team].allowFreeSpectate) ) - self allowSpectateTeam( "freelook", true ); - - if (isdefined(level.spectateOverride[team].allowEnemySpectate)) - self allowSpectateTeam( getOtherTeam( team ), true ); - } } \ No newline at end of file diff --git a/maps/mp/gametypes/_teams.gsc b/maps/mp/gametypes/_teams.gsc index aeafe77..9e51e79 100644 --- a/maps/mp/gametypes/_teams.gsc +++ b/maps/mp/gametypes/_teams.gsc @@ -10,17 +10,13 @@ init() { - if(game["allies"] == "marines") precacheShader("mpflag_american"); - - precacheShader("mpflag_russian"); - precacheShader("mpflag_spectator"); - setPlayerModels(); } setPlayerModels() { game["allies_model"] = []; + game["axis_model"] = []; alliesCharSet = tableLookup( "mp/mapsTable.csv", 0, getDvar( "mapname" ), 1 ); if ( !isDefined( alliesCharSet ) || alliesCharSet == "" ) @@ -42,8 +38,6 @@ setPlayerModels() if ( game["allies_soldiertype"] == "desert" ) { - assert( game["allies"] == "marines" ); - mptype\mptype_ally_cqb::precache(); mptype\mptype_ally_sniper::precache(); mptype\mptype_ally_engineer::precache(); @@ -58,8 +52,6 @@ setPlayerModels() } else if ( game["allies_soldiertype"] == "urban" ) { - assert( game["allies"] == "sas" ); - mptype\mptype_ally_urban_sniper::precache(); mptype\mptype_ally_urban_support::precache(); mptype\mptype_ally_urban_assault::precache(); @@ -74,8 +66,6 @@ setPlayerModels() } else { - assert( game["allies"] == "sas" ); - mptype\mptype_ally_woodland_assault::precache(); mptype\mptype_ally_woodland_recon::precache(); mptype\mptype_ally_woodland_sniper::precache(); @@ -91,16 +81,12 @@ setPlayerModels() if ( game["axis_soldiertype"] == "desert" ) { - assert( game["axis"] == "opfor" || game["axis"] == "arab" ); - mptype\mptype_axis_cqb::precache(); mptype\mptype_axis_sniper::precache(); mptype\mptype_axis_engineer::precache(); mptype\mptype_axis_rifleman::precache(); mptype\mptype_axis_support::precache(); - game["axis_model"] = []; - game["axis_model"]["SNIPER"] = mptype\mptype_axis_sniper::main; game["axis_model"]["SUPPORT"] = mptype\mptype_axis_support::main; game["axis_model"]["ASSAULT"] = mptype\mptype_axis_rifleman::main; @@ -109,8 +95,6 @@ setPlayerModels() } else if ( game["axis_soldiertype"] == "urban" ) { - assert( game["allies"] == "sas" ); - mptype\mptype_axis_urban_sniper::precache(); mptype\mptype_axis_urban_support::precache(); mptype\mptype_axis_urban_assault::precache(); @@ -125,8 +109,6 @@ setPlayerModels() } else { - assert( game["allies"] == "sas" ); - mptype\mptype_axis_woodland_rifleman::precache(); mptype\mptype_axis_woodland_cqb::precache(); mptype\mptype_axis_woodland_sniper::precache(); diff --git a/maps/mp/gametypes/_weapons.gsc b/maps/mp/gametypes/_weapons.gsc index 77a9256..d8aaab6 100644 --- a/maps/mp/gametypes/_weapons.gsc +++ b/maps/mp/gametypes/_weapons.gsc @@ -48,7 +48,6 @@ init() precacheItem( "destructible_car" ); precacheShellShock( "default" ); thread maps\mp\_flashgrenades::main(); - thread maps\mp\_entityheadicons::init(); level thread onPlayerConnect(); } @@ -74,14 +73,6 @@ onPlayerSpawned() } } -isHackWeapon( weapon ) -{ - if ( weapon == "briefcase_bomb_mp" ) - return true; - - return false; -} - dropWeaponForDeath( attacker ) { weapon = self getCurrentWeapon(); @@ -130,9 +121,6 @@ dropWeaponForDeath( attacker ) item ItemWeaponSetAmmo( clipAmmo, stockAmmo ); - item.owner = self; - item.ownersattacker = attacker; - if( !isDefined(game["PROMOD_MATCH_MODE"]) || game["PROMOD_MATCH_MODE"] != "match" || (game["PROMOD_MATCH_MODE"] == "match" && level.gametype != "sd") || game["promod_do_readyup"] ) item thread deletePickupAfterAWhile(); } @@ -149,39 +137,6 @@ deletePickupAfterAWhile() self delete(); } -getItemWeaponName() -{ - classname = self.classname; - assert( getsubstr( classname, 0, 7 ) == "weapon_" ); - weapname = getsubstr( classname, 7 ); - return weapname; -} - -getFragGrenadeCount() -{ - if ( level.hardcoreMode ) - grenadetype = "frag_grenade_short_mp"; - else - grenadetype = "frag_grenade_mp"; - - count = self getammocount(grenadetype); - return count; -} - -getSmokeGrenadeCount() -{ - grenadetype = "smoke_grenade_mp"; - count = self getammocount(grenadetype); - return count; -} - -getFlashGrenadeCount() -{ - grenadetype = "flash_grenade_mp"; - count = self getammocount(grenadetype); - return count; -} - watchGrenadeUsage() { self endon( "death" ); @@ -204,15 +159,10 @@ beginGrenadeTracking() self endon ( "death" ); self endon ( "disconnect" ); - startTime = getTime(); - self waittill ( "grenade_fire", grenade, weaponName ); if ( weaponName == "frag_grenade_mp" || weaponName == "frag_grenade_short_mp" ) - { grenade thread maps\mp\gametypes\_shellshock::grenade_earthQuake(); - grenade.originalOwner = self; - } self.throwingGrenade = false; } diff --git a/maps/mp/gametypes/dm.gsc b/maps/mp/gametypes/dm.gsc index eb8ff21..e9e3e3d 100644 --- a/maps/mp/gametypes/dm.gsc +++ b/maps/mp/gametypes/dm.gsc @@ -16,8 +16,6 @@ main() level.onStartGameType = ::onStartGameType; level.onSpawnPlayer = ::onSpawnPlayer; - - game["dialog"]["gametype"] = "freeforall"; } onStartGameType() diff --git a/maps/mp/gametypes/dom.gsc b/maps/mp/gametypes/dom.gsc index ba69417..a6935c1 100644 --- a/maps/mp/gametypes/dom.gsc +++ b/maps/mp/gametypes/dom.gsc @@ -165,8 +165,6 @@ onSpawnPlayer() spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random(level.spawn_allies_start); } - assert( isDefined(spawnpoint) ); - self spawn(spawnpoint.origin, spawnpoint.angles); } @@ -361,8 +359,6 @@ onUse( player ) level.useStartSpawns = false; - assert( team != "neutral" ); - if ( oldTeam == "neutral" ) { otherTeam = getOtherTeam( team ); diff --git a/maps/mp/gametypes/koth.gsc b/maps/mp/gametypes/koth.gsc index 4c080f2..d3c6ec6 100644 --- a/maps/mp/gametypes/koth.gsc +++ b/maps/mp/gametypes/koth.gsc @@ -407,7 +407,6 @@ onRadioCapture( player ) if ( isDefined( level.scorebot ) && level.scorebot ) game["promod_scorebot_ticker_buffer"] += "hq_captured" + player.name; - } onRadioDestroy( player ) @@ -440,7 +439,6 @@ onRadioDestroy( player ) if ( isDefined( level.scorebot ) && level.scorebot ) game["promod_scorebot_ticker_buffer"] += "hq_destroyed" + player.name; - } DestroyHQAfterTime( time ) @@ -503,8 +501,6 @@ onSpawnPlayer() if ( !isDefined( spawnpoint ) ) spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( level.spawn_all ); - assert( isDefined(spawnpoint) ); - self.lowerMessageOverride = undefined; self spawn( spawnpoint.origin, spawnpoint.angles ); @@ -647,7 +643,6 @@ PickRadioToSpawn() bestradio = radio; } } - assert( isdefined( bestradio ) ); level.prevradio2 = level.prevradio; level.prevradio = bestradio; diff --git a/maps/mp/gametypes/sab.gsc b/maps/mp/gametypes/sab.gsc index 7f8cf29..9757352 100644 --- a/maps/mp/gametypes/sab.gsc +++ b/maps/mp/gametypes/sab.gsc @@ -226,7 +226,6 @@ onSpawnPlayer() { self.isPlanting = false; self.isDefusing = false; - self.isBombCarrier = false; spawnteam = self.pers["team"]; @@ -256,8 +255,6 @@ onSpawnPlayer() self setClientDvar( "g_compassShowEnemies", 1 ); } - assert( isDefined(spawnpoint) ); - self spawn( spawnpoint.origin, spawnpoint.angles ); } @@ -300,7 +297,6 @@ sabotage() level.sabBomb.objIDPingEnemy = true; level.sabBomb.onPickup = ::onPickup; level.sabBomb.onDrop = ::onDrop; - level.sabBomb.allowWeapons = true; level.sabBomb.objPoints["allies"].archived = true; level.sabBomb.objPoints["axis"].archived = true; level.sabBomb.autoResetTime = 60.0; @@ -386,8 +382,6 @@ onPickup( player ) excludeList[0] = player; - player.isBombCarrier = true; - if ( team == self maps\mp\gametypes\_gameobjects::getOwnerTeam() ) { printOnTeamArg( &"MP_EXPLOSIVES_RECOVERED_BY", team, player ); @@ -460,15 +454,12 @@ onUse( player ) if ( !self maps\mp\gametypes\_gameobjects::isFriendlyTeam( player.pers["team"] ) ) { - level notify ( "bomb_planted" ); - if ( !level.hardcoreMode ) iPrintLn( &"MP_EXPLOSIVES_PLANTED_BY", player.name ); maps\mp\gametypes\_globallogic::givePlayerScore( "plant", player ); - for ( i = 0; i < level.players.size; i++ ) - level.players[i] playLocalSound("promod_planted"); + playSoundOnPlayers("promod_planted"); player thread [[level.onXPEvent]]( "plant" ); level thread bombPlanted( self, player.pers["team"] ); @@ -494,8 +485,7 @@ onUse( player ) maps\mp\gametypes\_globallogic::givePlayerScore( "defuse", player ); - for ( i = 0; i < level.players.size; i++ ) - level.players[i] playLocalSound("promod_defused"); + playSoundOnPlayers("promod_defused"); player thread [[level.onXPEvent]]( "defuse" ); level thread bombDefused( self ); diff --git a/maps/mp/gametypes/sd.gsc b/maps/mp/gametypes/sd.gsc index 166a660..c878740 100644 --- a/maps/mp/gametypes/sd.gsc +++ b/maps/mp/gametypes/sd.gsc @@ -150,7 +150,6 @@ onSpawnPlayer() { self.isPlanting = false; self.isDefusing = false; - self.isBombCarrier = false; if ( self.pers["team"] == game["attackers"] ) spawnPointName = "mp_sd_spawn_attacker"; @@ -167,7 +166,6 @@ onSpawnPlayer() } spawnPoints = getEntArray( spawnPointName, "classname" ); - assert( spawnPoints.size ); spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random( spawnPoints ); self spawn( spawnpoint.origin, spawnpoint.angles ); @@ -175,30 +173,6 @@ onSpawnPlayer() level notify ( "spawned_player" ); } -onPlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration) -{ - thread checkAllowSpectating(); -} - -checkAllowSpectating() -{ - wait 0.05; - - update = false; - if ( !level.aliveCount[ game["attackers"] ] ) - { - level.spectateOverride[game["attackers"]].allowEnemySpectate = 1; - update = true; - } - if ( !level.aliveCount[ game["defenders"] ] ) - { - level.spectateOverride[game["defenders"]].allowEnemySpectate = 1; - update = true; - } - if ( update ) - maps\mp\gametypes\_spectating::updateSpectateSettings(); -} - sd_endGame( winningTeam, endReasonText ) { if ( isdefined( winningTeam ) ) @@ -263,7 +237,7 @@ bombs() precacheModel( "prop_suitcase_bomb" ); visuals[0] setModel( "prop_suitcase_bomb" ); - if ( !level.multiBomb && isDefined( game["promod_do_readyup"] ) && !game["promod_do_readyup"] && isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] != "strat" ) + if ( !level.multiBomb && !game["promod_do_readyup"] && !game["promod_timeout_called"] && !game["PROMOD_KNIFEROUND"] && isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] != "strat" ) { level.sdBomb = maps\mp\gametypes\_gameobjects::createCarryObject( game["attackers"], trigger, visuals, (0,0,32) ); level.sdBomb maps\mp\gametypes\_gameobjects::allowCarry( "friendly" ); @@ -271,7 +245,6 @@ bombs() level.sdBomb maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", "waypoint_bomb" ); level.sdBomb maps\mp\gametypes\_gameobjects::setVisibleTeam( "friendly" ); level.sdBomb maps\mp\gametypes\_gameobjects::setCarryIcon( "hud_suitcase_bomb" ); - level.sdBomb.allowWeapons = true; level.sdBomb.onPickup = ::onPickup; level.sdBomb.onDrop = ::onDrop; } @@ -321,7 +294,6 @@ bombs() level.bombZones[level.bombZones.size] = bombZone; bombZone.bombDefuseTrig = getent( visuals[0].target, "targetname" ); - assert( isdefined( bombZone.bombDefuseTrig ) ); bombZone.bombDefuseTrig.origin += (0,0,-10000); bombZone.bombDefuseTrig.label = label; } @@ -397,8 +369,6 @@ onUsePlantObject( player ) if ( !self maps\mp\gametypes\_gameobjects::isFriendlyTeam( player.pers["team"] ) ) { - level notify ( "bomb_planted" ); - if ( !level.hardcoreMode ) iPrintLn( &"MP_EXPLOSIVES_PLANTED_BY", player.name ); @@ -428,23 +398,19 @@ onUseDefuseObject( player ) if ( level.gameEnded || level.bombExploded ) return; - level notify( "bomb_defused" ); + level thread bombDefused(); + self maps\mp\gametypes\_gameobjects::disableObject(); + + playSoundOnPlayers("promod_defused"); if ( !level.hardcoreMode ) iPrintLn( &"MP_EXPLOSIVES_DEFUSED_BY", player.name ); maps\mp\gametypes\_globallogic::givePlayerScore( "defuse", player ); - self maps\mp\gametypes\_gameobjects::disableObject(); - - for ( i = 0; i < level.players.size; i++ ) - level.players[i] playLocalSound("promod_defused"); - player thread [[level.onXPEvent]]( "defuse" ); - level thread bombDefused(); if ( isDefined( level.scorebot ) && level.scorebot ) game["promod_scorebot_ticker_buffer"] += "defused_by" + player.name; - } onDrop( player ) @@ -461,13 +427,11 @@ onDrop( player ) self maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", "waypoint_bomb" ); if ( !level.bombPlanted ) - maps\mp\_utility::playSoundOnPlayers( game["bomb_dropped_sound"], game["attackers"] ); + playSoundOnPlayers( game["bomb_dropped_sound"], game["attackers"] ); } onPickup( player ) { - player.isBombCarrier = true; - self maps\mp\gametypes\_gameobjects::set3DIcon( "friendly", "waypoint_defend" ); if ( !level.bombDefused ) @@ -479,7 +443,7 @@ onPickup( player ) game["promod_scorebot_ticker_buffer"] += "pickup_bomb" + player.name; } - maps\mp\_utility::playSoundOnPlayers( game["bomb_recovered_sound"], game["attackers"] ); + playSoundOnPlayers( game["bomb_recovered_sound"], game["attackers"] ); } bombPlanted( destroyedObj, player ) @@ -551,8 +515,6 @@ bombPlanted( destroyedObj, player ) if ( level.gameEnded || level.bombDefused ) return; - level notify ( "bomb_exploded" ); - level.bombExploded = true; if ( isDefined( level.scorebot ) && level.scorebot ) @@ -579,17 +541,16 @@ bombPlanted( destroyedObj, player ) setGameEndTime( 0 ); - for ( i = 0; i < level.players.size; i++ ) - level.players[i] playLocalSound("promod_destroyed"); + playSoundOnPlayers("promod_destroyed"); - wait 0.5; + wait 0.05; sd_endGame( game["attackers"], game["strings"]["target_destroyed"] ); } BombTimerWait() { - level endon("bomb_exploded"); + level endon("game_ended"); level endon("bomb_defused"); wait level.bombTimer; @@ -608,11 +569,12 @@ bombDefused() { level.tickingObject maps\mp\gametypes\_globallogic::stopTickingSound(); level.bombDefused = true; - setDvar( "ui_bomb_timer", 0 ); + level notify("bomb_defused"); setGameEndTime( 0 ); + setDvar( "ui_bomb_timer", 0 ); - wait 0.5; + wait 0.05; sd_endGame( game["defenders"], game["strings"]["bomb_defused"] ); } \ No newline at end of file diff --git a/maps/mp/gametypes/war.gsc b/maps/mp/gametypes/war.gsc index a55c917..e694b1d 100644 --- a/maps/mp/gametypes/war.gsc +++ b/maps/mp/gametypes/war.gsc @@ -78,9 +78,7 @@ onSpawnPlayer() spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints ); } else - { spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random( spawnPoints ); - } } else { diff --git a/maps/mp/mp_backlot.gsc b/maps/mp/mp_backlot.gsc index 529545c..4e18ad8 100644 --- a/maps/mp/mp_backlot.gsc +++ b/maps/mp/mp_backlot.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1.3; } \ No newline at end of file diff --git a/maps/mp/mp_bloc.gsc b/maps/mp/mp_bloc.gsc index 593302e..6ccd897 100644 --- a/maps/mp/mp_bloc.gsc +++ b/maps/mp/mp_bloc.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 0.9; } \ No newline at end of file diff --git a/maps/mp/mp_bog.gsc b/maps/mp/mp_bog.gsc index 8058876..9b8406d 100644 --- a/maps/mp/mp_bog.gsc +++ b/maps/mp/mp_bog.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 0.8; } \ No newline at end of file diff --git a/maps/mp/mp_broadcast.gsc b/maps/mp/mp_broadcast.gsc index 83f2dbf..c20a813 100644 --- a/maps/mp/mp_broadcast.gsc +++ b/maps/mp/mp_broadcast.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1.4; } \ No newline at end of file diff --git a/maps/mp/mp_carentan.gsc b/maps/mp/mp_carentan.gsc index 34edd71..a22ab7b 100644 --- a/maps/mp/mp_carentan.gsc +++ b/maps/mp/mp_carentan.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "urban"; game["axis_soldiertype"] = "urban"; + + level.sunlight = 0.75; } \ No newline at end of file diff --git a/maps/mp/mp_cargoship.gsc b/maps/mp/mp_cargoship.gsc index 741117b..69a3f2b 100644 --- a/maps/mp/mp_cargoship.gsc +++ b/maps/mp/mp_cargoship.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.3; } \ No newline at end of file diff --git a/maps/mp/mp_citystreets.gsc b/maps/mp/mp_citystreets.gsc index deb4de5..faabea6 100644 --- a/maps/mp/mp_citystreets.gsc +++ b/maps/mp/mp_citystreets.gsc @@ -20,5 +20,7 @@ main() game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + level.sunlight = 0.78; + maps\mp\_explosive_barrels::main(); } \ No newline at end of file diff --git a/maps/mp/mp_convoy.gsc b/maps/mp/mp_convoy.gsc index 09a3273..a0a5254 100644 --- a/maps/mp/mp_convoy.gsc +++ b/maps/mp/mp_convoy.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1.6; } \ No newline at end of file diff --git a/maps/mp/mp_countdown.gsc b/maps/mp/mp_countdown.gsc index f6ec358..29b85a5 100644 --- a/maps/mp/mp_countdown.gsc +++ b/maps/mp/mp_countdown.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.5; } \ No newline at end of file diff --git a/maps/mp/mp_crash.gsc b/maps/mp/mp_crash.gsc index 23d824c..52494fb 100644 --- a/maps/mp/mp_crash.gsc +++ b/maps/mp/mp_crash.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1.3; } \ No newline at end of file diff --git a/maps/mp/mp_crash_snow.gsc b/maps/mp/mp_crash_snow.gsc index b80a3fe..62600ed 100644 --- a/maps/mp/mp_crash_snow.gsc +++ b/maps/mp/mp_crash_snow.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 0.25; } \ No newline at end of file diff --git a/maps/mp/mp_creek.gsc b/maps/mp/mp_creek.gsc index 77ea5a8..f6596db 100644 --- a/maps/mp/mp_creek.gsc +++ b/maps/mp/mp_creek.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.5; } \ No newline at end of file diff --git a/maps/mp/mp_crossfire.gsc b/maps/mp/mp_crossfire.gsc index 18be624..4bfc90c 100644 --- a/maps/mp/mp_crossfire.gsc +++ b/maps/mp/mp_crossfire.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1; } \ No newline at end of file diff --git a/maps/mp/mp_farm.gsc b/maps/mp/mp_farm.gsc index 0ae28f2..a4d8077 100644 --- a/maps/mp/mp_farm.gsc +++ b/maps/mp/mp_farm.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1; } \ No newline at end of file diff --git a/maps/mp/mp_killhouse.gsc b/maps/mp/mp_killhouse.gsc index 6d08783..c9bff5e 100644 --- a/maps/mp/mp_killhouse.gsc +++ b/maps/mp/mp_killhouse.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.5; } \ No newline at end of file diff --git a/maps/mp/mp_overgrown.gsc b/maps/mp/mp_overgrown.gsc index e4ac7e2..30b8f08 100644 --- a/maps/mp/mp_overgrown.gsc +++ b/maps/mp/mp_overgrown.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.1; } \ No newline at end of file diff --git a/maps/mp/mp_pipeline.gsc b/maps/mp/mp_pipeline.gsc index 39f8f87..da91da2 100644 --- a/maps/mp/mp_pipeline.gsc +++ b/maps/mp/mp_pipeline.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.15; } \ No newline at end of file diff --git a/maps/mp/mp_shipment.gsc b/maps/mp/mp_shipment.gsc index c774457..3398460 100644 --- a/maps/mp/mp_shipment.gsc +++ b/maps/mp/mp_shipment.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.3; } \ No newline at end of file diff --git a/maps/mp/mp_showdown.gsc b/maps/mp/mp_showdown.gsc index 2bcc358..7058676 100644 --- a/maps/mp/mp_showdown.gsc +++ b/maps/mp/mp_showdown.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1.6; } \ No newline at end of file diff --git a/maps/mp/mp_strike.gsc b/maps/mp/mp_strike.gsc index 2dd6005..0e688bf 100644 --- a/maps/mp/mp_strike.gsc +++ b/maps/mp/mp_strike.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "desert"; game["axis_soldiertype"] = "desert"; + + level.sunlight = 1; } \ No newline at end of file diff --git a/maps/mp/mp_vacant.gsc b/maps/mp/mp_vacant.gsc index a463b73..76dc70c 100644 --- a/maps/mp/mp_vacant.gsc +++ b/maps/mp/mp_vacant.gsc @@ -19,4 +19,6 @@ main() game["defenders"] = "axis"; game["allies_soldiertype"] = "woodland"; game["axis_soldiertype"] = "woodland"; + + level.sunlight = 1.3; } \ No newline at end of file diff --git a/mod.csv b/mod.csv index 561bf4c..83f3ed5 100644 --- a/mod.csv +++ b/mod.csv @@ -6,19 +6,21 @@ # Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. # Terms of license can be found in LICENSE.md document bundled with the project. -localize,promod +localize,cgame menufile,ui_mp/scriptmenus/changeclass_marines_mw.menu menufile,ui_mp/scriptmenus/changeclass_mw.menu menufile,ui_mp/scriptmenus/changeclass_opfor_mw.menu menufile,ui_mp/scriptmenus/class.menu menufile,ui_mp/scriptmenus/echo.menu +menufile,ui_mp/scriptmenus/demo.menu menufile,ui_mp/scriptmenus/quickpromod.menu menufile,ui_mp/scriptmenus/quickpromodgfx.menu menufile,ui_mp/scriptmenus/scoreboard.menu menufile,ui_mp/scriptmenus/shoutcast.menu menufile,ui_mp/scriptmenus/shoutcast_map.menu menufile,ui_mp/scriptmenus/shoutcast_setup.menu +menufile,ui_mp/scriptmenus/shoutcast_setup_binds.menu menufile,ui_mp/scriptmenus/team_marinesopfor.menu menufile,ui_mp/scriptmenus/team_marinesopfor_flipped.menu menufile,ui_mp/promod.txt @@ -100,7 +102,6 @@ rawfile,maps/mp/mp_vacant.gsc rawfile,promod/client.gsc rawfile,promod/comp.gsc rawfile,promod/dvarmon.gsc -rawfile,promod/header.gsc rawfile,promod/messagecenter.gsc rawfile,promod/modes.gsc rawfile,promod/readyup.gsc diff --git a/pb/pbsvuser.cfg b/pb/pbsvuser.cfg new file mode 100644 index 0000000..8082f63 --- /dev/null +++ b/pb/pbsvuser.cfg @@ -0,0 +1,2 @@ +pb_sv_load stock_iwd_md5.cfg // stock-iwd checksum control, remove the "//" to enable and put stock_iwd_md5.cfg in your pb folder +pb_sv_load promod_iwd_md5.cfg // promod-iwd-file checksum control, remove the "//" to enable and put promod_iwd_md5.cfg in your pb folder \ No newline at end of file diff --git a/pb/promod_iwd_md5.cfg b/pb/promod_iwd_md5.cfg new file mode 100644 index 0000000..630eed2 --- /dev/null +++ b/pb/promod_iwd_md5.cfg @@ -0,0 +1 @@ +pb_sv_md5tool a "" v mods/promodlive211/promodlive211.iwd SZ277746 AT0 LEN2048 DF6AE844D938F85B63C3F725CB6A3A22 \ No newline at end of file diff --git a/iwd.cfg b/pb/stock_iwd_md5.cfg similarity index 100% rename from iwd.cfg rename to pb/stock_iwd_md5.cfg diff --git a/promod.str b/promod.str deleted file mode 100644 index bf3460b..0000000 --- a/promod.str +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2009-2017 Andreas Göransson -// Copyright (c) 2009-2017 Indrek Ardel -// -// This file is part of Call of Duty 4 Promod. -// -// Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. -// Terms of license can be found in LICENSE.md document bundled with the project. - -VERSION "1" -CONFIG "C:\trees\cod3\cod3\bin\StringEd.cfg" -FILENOTES "" - -REFERENCE ATTACK_NAME -LANG_ENGLISH "Attack" - -REFERENCE DEFENCE_NAME -LANG_ENGLISH "Defence" - -REFERENCE ATTACK_ELIMINATED -LANG_ENGLISH "Attack eliminated" - -REFERENCE DEFENCE_ELIMINATED -LANG_ENGLISH "Defence eliminated" - -REFERENCE ATTACK_FORFEITED -LANG_ENGLISH "Attack forfeited" - -REFERENCE DEFENCE_FORFEITED -LANG_ENGLISH "Defence forfeited" - -REFERENCE MPUI_NO_ATTACHMENT -LANG_ENGLISH "1. No Attachment" - -REFERENCE MPUI_SILENCER -LANG_ENGLISH "2. Silencer" - -ENDMARKER \ No newline at end of file diff --git a/promod/client.gsc b/promod/client.gsc index 060b44c..704c42e 100644 --- a/promod/client.gsc +++ b/promod/client.gsc @@ -8,19 +8,6 @@ Terms of license can be found in LICENSE.md document bundled with the project. */ -main() -{ - self.pers["PROMOD_CACHE_SUNLIGHT"] = get_config( "PROMOD_SUNLIGHT" ); - self.pers["PROMOD_CACHE_TEXTURE"] = get_config( "PROMOD_TEXTURE" ); - self.pers["PROMOD_CACHE_FILMTWEAK"] = get_config( "PROMOD_FILMTWEAK" ); - self.pers["PROMOD_CACHE_FOVSCALE"] = get_config( "PROMOD_FOVSCALE" ); - self.pers["PROMOD_CACHE_NORMALMAP"] = get_config( "PROMOD_NORMALMAP" ); - self.pers["PROMOD_CACHE_GFXBLUR"] = get_config( "PROMOD_GFXBLUR" ); - self.pers["PROMOD_CACHE_FIRSTTIME"] = get_config( "PROMOD_FIRSTTIME" ); - - self use_config(); -} - get_config( dataName ) { return self getStat( int( tableLookup( "promod/customStatsTable.csv", 1, dataName, 0 ) ) ); @@ -29,179 +16,77 @@ get_config( dataName ) set_config( dataName, value ) { self setStat( int( tableLookup( "promod/customStatsTable.csv", 1, dataName, 0 ) ), value ); - self use_config(); -} - -toggle_sunlight() -{ - if ( !self.pers["PROMOD_CACHE_SUNLIGHT"] ) - self.pers["PROMOD_CACHE_SUNLIGHT"] = 1; - else if ( self.pers["PROMOD_CACHE_SUNLIGHT"] == 1 ) - self.pers["PROMOD_CACHE_SUNLIGHT"] = 2; - else - self.pers["PROMOD_CACHE_SUNLIGHT"] = 0; - - self set_config( "PROMOD_SUNLIGHT", self.pers["PROMOD_CACHE_SUNLIGHT"] ); -} - -toggle_filmtweak() -{ - if ( !self.pers["PROMOD_CACHE_FILMTWEAK"] ) - self.pers["PROMOD_CACHE_FILMTWEAK"] = 1; - else - self.pers["PROMOD_CACHE_FILMTWEAK"] = 0; - - self set_config( "PROMOD_FILMTWEAK", self.pers["PROMOD_CACHE_FILMTWEAK"] ); -} - -toggle_fovscale() -{ - if ( !self.pers["PROMOD_CACHE_FOVSCALE"] ) - self.pers["PROMOD_CACHE_FOVSCALE"] = 1; - else - self.pers["PROMOD_CACHE_FOVSCALE"] = 0; - - self set_config( "PROMOD_FOVSCALE", self.pers["PROMOD_CACHE_FOVSCALE"] ); -} - -toggle_texture() -{ - if ( !self.pers["PROMOD_CACHE_TEXTURE"] ) - self.pers["PROMOD_CACHE_TEXTURE"] = 1; - else - self.pers["PROMOD_CACHE_TEXTURE"] = 0; - - self set_config( "PROMOD_TEXTURE", self.pers["PROMOD_CACHE_TEXTURE"] ); + return value; } -toggle_normalmap() +toggle(name) { - if ( !self.pers["PROMOD_CACHE_NORMALMAP"] ) - self.pers["PROMOD_CACHE_NORMALMAP"] = 1; - else - self.pers["PROMOD_CACHE_NORMALMAP"] = 0; - - self set_config( "PROMOD_NORMALMAP", self.pers["PROMOD_CACHE_NORMALMAP"] ); + return self set_config( name, int(!self get_config(name)) ); } -toggle_gfxblur() +loopthrough(name, limit) { - if ( self.pers["PROMOD_CACHE_GFXBLUR"] < 5 ) - self.pers["PROMOD_CACHE_GFXBLUR"]++; - else - self.pers["PROMOD_CACHE_GFXBLUR"] = 0; - - self set_config( "PROMOD_GFXBLUR", self.pers["PROMOD_CACHE_GFXBLUR"] ); + value = self get_config(name)+1; + if(value > limit) value = 0; + return self set_config(name, value); } -use_config() +setsunlight(n) { - if ( !self.pers["PROMOD_CACHE_SUNLIGHT"] ) - self setClientDvars( "r_lighttweaksunlight", 1.2, - "sunlight", 1.2 ); - else if ( self.pers["PROMOD_CACHE_SUNLIGHT"] == 1 ) + sl = 0; + slsetting = "Off"; + if ( !n ) { sl = 1.2; - switch(getDvar("mapname")) - { - case "mp_backlot": - case "mp_cargoship": - case "mp_crash": - case "mp_shipment": - case "mp_vacant": - sl = 1.3; - break; - case "mp_bloc": - sl = 0.9; - break; - case "mp_bog": - sl = 0.8; - break; - case "mp_broadcast": - sl = 1.4; - break; - case "mp_carentan": - sl = 0.75; - break; - case "mp_citystreets": - sl = 0.78; - break; - case "mp_convoy": - case "mp_showdown": - sl = 1.6; - break; - case "mp_countdown": - case "mp_creek": - case "mp_killhouse": - sl = 1.5; - break; - case "mp_crash_snow": - sl = 0.25; - break; - case "mp_crossfire": - case "mp_farm": - case "mp_strike": - sl = 1; - break; - case "mp_overgrown": - sl = 1.1; - break; - case "mp_pipeline": - sl = 1.15; - break; - } - self setClientDvars( "r_lighttweaksunlight", sl, - "sunlight", "Stock" ); + slsetting = 1.2; } - else - self setClientDvars( "r_lighttweaksunlight", 0, - "sunlight", "Off" ); - - if ( !self.pers["PROMOD_CACHE_FOVSCALE"] ) - self setClientDvar( "cg_fovscale", 1.125 ); - else - self setClientDvar( "cg_fovscale", 1 ); - - if ( !self.pers["PROMOD_CACHE_GFXBLUR"] ) - self setClientDvar( "r_blur", 0 ); - else if ( self.pers["PROMOD_CACHE_GFXBLUR"] == 1 ) - self setClientDvar( "r_blur", 0.2 ); - else if ( self.pers["PROMOD_CACHE_GFXBLUR"] == 2 ) - self setClientDvar( "r_blur", 0.4 ); - else if ( self.pers["PROMOD_CACHE_GFXBLUR"] == 3 ) - self setClientDvar( "r_blur", 0.6 ); - else if ( self.pers["PROMOD_CACHE_GFXBLUR"] == 4 ) - self setClientDvar( "r_blur", 0.8 ); - else if ( self.pers["PROMOD_CACHE_GFXBLUR"] == 5 ) - self setClientDvar( "r_blur", 1 ); + else if ( n == 1 && isDefined(level.sunlight) ) + { + slsetting = "Stock"; + sl = level.sunlight; + } + self setclientdvars("r_lighttweaksunlight", sl, "sunlight", slsetting); +} +use_config() +{ + self setsunlight(self get_config("PROMOD_SUNLIGHT")); self setClientDvars( "aim_automelee_enabled", 0, "aim_automelee_range", 0, "dynent_active", 0, "snaps", 30, "cg_nopredict", 0, + "cg_crosshairenemycolor", 0, "sm_enable", 0, "r_dlightlimit", 0, "r_lodscalerigid", 1, "r_lodscaleskinned", 1, "cg_drawcrosshairnames", 0, + "cg_descriptivetext", 0, "cg_viewzsmoothingmin", 1, "cg_viewzsmoothingmax", 16, "cg_viewzsmoothingtime", 0.1, "cg_huddamageiconheight", 64, "cg_huddamageiconwidth", 128, + "cg_huddamageiconinscope", 0, + "cg_huddamageiconoffset", 128, + "cg_huddamageicontime", 2000, + "ragdoll_enable", 0, "r_filmtweakinvert", 0, "r_desaturation", 0, "r_dlightlimit", 0, "r_fog", 0, "r_specularcolorscale", 0, - "r_zfeather", 1, + "r_zfeather", 0, "fx_drawclouds", 0, "rate", 25000, "cl_maxpackets", 100, "developer", 0, - "r_normalmap", self.pers["PROMOD_CACHE_NORMALMAP"], - "r_texfilterdisable", self.pers["PROMOD_CACHE_TEXTURE"], - "r_filmusetweaks", self.pers["PROMOD_CACHE_FILMTWEAK"] ); + "phys_gravity", -800, + "r_normalmap", self get_config("PROMOD_NORMALMAP"), + "r_texfilterdisable", self get_config("PROMOD_TEXTURE"), + "r_filmusetweaks", self get_config("PROMOD_FILMTWEAK"), + "r_blur", 0.2*self get_config("PROMOD_GFXBLUR"), + "cg_fovscale", 1+int(!self get_config("PROMOD_FOVSCALE"))*0.125); } \ No newline at end of file diff --git a/promod/comp.gsc b/promod/comp.gsc index b9ad423..7103a65 100644 --- a/promod/comp.gsc +++ b/promod/comp.gsc @@ -25,10 +25,10 @@ main() setDvar( "scr_dom_numlives", 0 ); setDvar( "scr_dom_playerrespawndelay", 7 ); setDvar( "scr_dom_roundlimit", 2 ); + setDvar( "scr_dom_roundswitch", 1 ); setDvar( "scr_dom_scorelimit", 0 ); setDvar( "scr_dom_timelimit", 15 ); setDvar( "scr_dom_waverespawndelay", 0 ); - setDvar( "scr_dom_roundswitch", 1 ); setDvar( "koth_autodestroytime", 120 ); setDvar( "koth_capturetime", 20 ); @@ -61,9 +61,9 @@ main() setDvar( "scr_war_playerrespawndelay", 0 ); setDvar( "scr_war_roundlimit", 2 ); setDvar( "scr_war_scorelimit", 0 ); + setDvar( "scr_war_roundswitch", 1 ); setDvar( "scr_war_timelimit", 15 ); setDvar( "scr_war_waverespawndelay", 0 ); - setDvar( "scr_war_roundswitch", 1 ); setDvar( "scr_dm_numlives", 0 ); setDvar( "scr_dm_playerrespawndelay", 0 ); @@ -115,6 +115,10 @@ main() setDvar( "attach_allow_pistol_none", 1 ); setDvar( "attach_allow_pistol_silencer", 1 ); + setDvar( "weap_allow_flash_grenade", 1 ); + setDvar( "weap_allow_frag_grenade", 1 ); + setDvar( "weap_allow_smoke_grenade", 1 ); + setDvar( "class_assault_primary", "ak47" ); setDvar( "class_assault_primary_attachment", "none" ); setDvar( "class_assault_secondary", "deserteagle" ); @@ -143,9 +147,8 @@ main() setDvar( "class_sniper_grenade", "smoke_grenade" ); setDvar( "class_sniper_camo", "camo_none" ); + setDvar( "scr_team_fftype", 1 ); setDvar( "scr_team_teamkillpointloss", 5 ); - setDvar( "scr_team_teamkillspawndelay", 0 ); - setDvar( "scr_game_deathpointloss", 0 ); setDvar( "scr_game_suicidepointloss", 0 ); setDvar( "scr_player_suicidespawndelay", 0 ); @@ -154,14 +157,10 @@ main() setDvar( "bg_fallDamageMinHeight", 140 ); setDvar( "bg_fallDamageMaxHeight", 350 ); - setDvar( "scr_game_matchstarttime", 5 ); + setDvar( "scr_game_matchstarttime", 10 ); setDvar( "scr_enable_hiticon", 2 ); setDvar( "scr_enable_scoretext", 1 ); - setDvar( "weap_allow_flash_grenade", 1 ); - setDvar( "weap_allow_frag_grenade", 1 ); - setDvar( "weap_allow_smoke_grenade", 1 ); - setDvar( "logfile", 1 ); setDvar( "g_log", "games_mp.log" ); setDvar( "g_logSync", 0 ); @@ -177,16 +176,15 @@ main() setDvar( "sv_reconnectlimit", 3 ); setDvar( "sv_timeout", 240 ); setDvar( "sv_zombietime", 2 ); - setDvar( "sv_floodprotect", 1 ); + setDvar( "sv_floodprotect", 4 ); setDvar( "sv_kickBanTime", 0 ); setDvar( "sv_disableClientConsole", 0 ); setDvar( "sv_voice", 0 ); + setDvar( "sv_clientarchive", 1 ); + setDvar( "timescale", 1 ); setDvar( "g_allowVote", 0 ); setDvar( "scr_game_allowkillcam", 0 ); setDvar( "scr_game_spectatetype", 1 ); - setDvar( "scr_team_fftype", 1 ); - setDvar( "scr_drawfriend", 1 ); setDvar( "scr_hardcore", 0 ); - setDvar( "g_maxDroppedWeapons", 16 ); } \ No newline at end of file diff --git a/promod/customStatsTable.csv b/promod/customStatsTable.csv index 0437a6c..7f4d11f 100644 --- a/promod/customStatsTable.csv +++ b/promod/customStatsTable.csv @@ -6,6 +6,7 @@ # Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. # Terms of license can be found in LICENSE.md document bundled with the project. +0,PROMOD_RECORD 1,PROMOD_SUNLIGHT 2,PROMOD_TEXTURE 3,PROMOD_FILMTWEAK diff --git a/promod/dvarmon.gsc b/promod/dvarmon.gsc index 8412e35..dda5a2c 100644 --- a/promod/dvarmon.gsc +++ b/promod/dvarmon.gsc @@ -12,7 +12,11 @@ main() { level endon ( "restarting" ); - dvars = strTok( "scr_team_fftype|scr_enable_hiticon|class_assault_allowdrop|class_assault_limit|class_demolitions_allowdrop|class_demolitions_limit|class_sniper_allowdrop|class_sniper_limit|class_specops_limit|class_specops_allowdrop|scr_game_allowkillcam|scr_drawfriend|scr_game_spectatetype|scr_" + level.gametype + "_timelimit|scr_" + level.gametype + "_numlives|scr_" + level.gametype + "_playerrespawndelay|scr_hardcore|scr_" + level.gametype + "_roundswitch|scr_sd_multibomb|scr_sab_hotpotato|scr_" + level.gametype + "_bombtimer|scr_" + level.gametype + "_defusetime|scr_" + level.gametype + "_planttime|koth_autodestroytime|koth_delayplayer|koth_destroytime|koth_spawnDelay|koth_spawntime", "|" ); + level thread dvarHistory(); + + level.dvarmon = []; + + dvars = strTok( "class_assault_allowdrop|class_assault_limit|class_assault_primary|class_demolitions_allowdrop|class_demolitions_limit|class_demolitions_primary|class_sniper_allowdrop|class_sniper_limit|class_sniper_primary|class_specops_allowdrop|class_specops_limit|class_specops_primary|scr_game_allowkillcam|scr_game_spectatetype|scr_" + level.gametype + "_timelimit|scr_" + level.gametype + "_numlives|scr_" + level.gametype + "_playerrespawndelay|scr_" + level.gametype + "_roundswitch|scr_" + level.gametype + "_bombtimer|scr_" + level.gametype + "_defusetime|scr_" + level.gametype + "_planttime|scr_hardcore|scr_sd_multibomb|scr_sab_hotpotato|scr_team_fftype|scr_enable_hiticon|koth_autodestroytime|koth_delayplayer|koth_destroytime|koth_spawnDelay|koth_spawntime", "|" ); current_values = []; for( d = 0; d < dvars.size; d++ ) @@ -20,14 +24,41 @@ main() for(;;) { - wait 1; for ( c = 0; c < dvars.size; c++ ) { if ( getDvar(dvars[c]) != current_values[c] ) { - iPrintLn("^1Warning: ^3DVAR Change Detected: ^1" + dvars[c] + " ^3--> ^1" + getDvar(dvars[c])); + level.dvarmon[level.dvarmon.size] = "^1" + dvars[c] + " ^3" + current_values[c] + " ^1--> ^3" + getDvar(dvars[c]); + iprintln("^1Warning: ^3DVAR Change Detected: ^1" + dvars[c] + " ^3" + current_values[c] + " ^1--> ^3" + getDvar(dvars[c])); current_values[c] = getDvar(dvars[c]); + + if ( isSubStr( dvars[c], "_limit" ) ) + { + thread maps\mp\gametypes\_promod::updateClassAvailability( "allies" ); + thread maps\mp\gametypes\_promod::updateClassAvailability( "axis" ); + } } } + + wait 0.05; + } +} + +dvarHistory() +{ + level endon ( "restarting" ); + + wait 0.1; + + if ( isDefined( level.rdyup ) && level.rdyup ) + { + for(;!isDefined( game["state"] ) || game["state"] != "postgame";wait 0.5){} + if ( level.dvarmon.size ) + { + iprintln("^3DVAR Change History:"); + + for ( i = 0; i < level.dvarmon.size; i++ ) + iprintln(level.dvarmon[i]); + } } } \ No newline at end of file diff --git a/promod/header.gsc b/promod/header.gsc deleted file mode 100644 index c52f2b2..0000000 --- a/promod/header.gsc +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (c) 2009-2017 Andreas Göransson - Copyright (c) 2009-2017 Indrek Ardel - - This file is part of Call of Duty 4 Promod. - - Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. - Terms of license can be found in LICENSE.md document bundled with the project. -*/ - -create() -{ - if ( isDefined( game["state"] ) && game["state"] == "postgame" ) - wait 0.75; - - promod_ver = newHudElem(); - promod_ver.x = -7; - promod_ver.y = 35; - promod_ver.horzAlign = "right"; - promod_ver.vertAlign = "top"; - promod_ver.alignX = "right"; - promod_ver.alignY = "middle"; - promod_ver.fontScale = 1.4; - promod_ver.hidewheninmenu = true; - promod_ver.color = (0.8, 1, 1); - promod_ver setText( game["PROMOD_VERSION"] ); - - promod_mode = newHudElem(); - promod_mode.x = -7; - promod_mode.y = 50; - promod_mode.horzAlign = "right"; - promod_mode.vertAlign = "top"; - promod_mode.alignX = "right"; - promod_mode.alignY = "middle"; - promod_mode.fontScale = 1.4; - promod_mode.hidewheninmenu = true; - promod_mode.color = (1,1,0); - promod_mode setText( game["PROMOD_MODE_HUD"] ); - - level waittill( "header_destroy" ); - - if ( isDefined( promod_ver ) ) - promod_ver destroy(); - - if ( isDefined( promod_mode ) ) - promod_mode destroy(); -} \ No newline at end of file diff --git a/promod/messagecenter.gsc b/promod/messagecenter.gsc index 572fe27..da7a3a5 100644 --- a/promod/messagecenter.gsc +++ b/promod/messagecenter.gsc @@ -73,8 +73,6 @@ Run_Messages() if (message == "<*nextmap*>") message = Get_Next_Map(); - else if (message == "<*gtrules*>") - message = GameTypeRules(); if (!isDefined(message)) { @@ -104,19 +102,6 @@ Run_Messages() } } -GameTypeRules() -{ - if (!isdefined(level.gametype) || level.gametype == "") - return undefined; - - message = getDvar("promod_mc_rules_" + level.gametype); - - if (message == "") - return undefined; - else - return message; -} - Get_Next_Map() { maprot = ""; @@ -201,18 +186,14 @@ strip(s) return ""; for(;i0) i--; for(j=0;j<=i;j++) - { s3 += s2[j]; - } return s3; } \ No newline at end of file diff --git a/promod/modes.gsc b/promod/modes.gsc index fa4d74b..d7e9e8a 100644 --- a/promod/modes.gsc +++ b/promod/modes.gsc @@ -16,6 +16,7 @@ main() mode = "comp_public"; setDvar( "promod_mode", mode ); } + setMode(mode); } @@ -87,7 +88,7 @@ monitorMode() mode = toLower( getDvar( "promod_mode" ) ); cheats = getDvarInt( "sv_cheats" ); - if ( mode != o_mode || cheats != o_cheats ) + if ( mode != o_mode ) { if ( isDefined( game["state"] ) && game["state"] == "postgame" ) { @@ -98,21 +99,30 @@ monitorMode() if ( validMode( mode ) ) { level notify ( "restarting" ); + iPrintLN( "Changing To Mode: ^1" + mode + "\nPlease Wait While It Loads..." ); setMode( mode ); + wait 2; + map_restart( false ); - return; + setDvar( "promod_mode", mode ); } else { if ( isDefined( mode ) && mode != "" ) iPrintLN( "Error Changing To Mode: ^1" + mode + "\nSyntax:\nmatch|knockout_lan|pb_hc_knife_1v1|2v2_mr#,\nNormal Modes: comp_public, comp_public_hc, custom_public, strat" ); + setDvar( "promod_mode", o_mode ); } } + else if ( cheats != o_cheats ) + { + map_restart( false ); + break; + } - wait 0.5; + wait 0.1; } } @@ -176,7 +186,6 @@ setMode( mode ) break; case "knockout": knockout_mode = 1; - game["PROMOD_STRATTIME"] = 10; game["PROMOD_MATCH_MODE"] = "match"; break; case "lan": @@ -218,11 +227,16 @@ setMode( mode ) else if ( game["PROMOD_MATCH_MODE"] == "match" ) game["PROMOD_MODE_HUD"] += "^4Match"; + if( game["PROMOD_KNIFEROUND"] && game["PROMOD_MATCH_MODE"] == "match" ) + game["PROMOD_MODE_HUD"] += " ^5Knife"; + if ( game["LAN_MODE"] ) { setDvar( "g_antilag", 0 ); setDvar( "g_smoothClients", 0 ); game["PROMOD_MODE_HUD"] += " ^4LAN"; + if( knockout_mode ) + game["PROMOD_STRATTIME"] = 10; } if ( game["HARDCORE_MODE"] ) diff --git a/promod/readyup.gsc b/promod/readyup.gsc index bffbd9c..b529a80 100644 --- a/promod/readyup.gsc +++ b/promod/readyup.gsc @@ -12,366 +12,354 @@ main() { - if ( !game["promod_first_readyup_done"] && !game["promod_timeout_called"] ) - sb_text = "1st_half_ready_up"; - else if ( game["promod_first_readyup_done"] && !game["promod_timeout_called"] ) - sb_text = "2nd_half_ready_up"; - else - sb_text = "timeout_ready_up"; if ( isDefined( level.scorebot ) && level.scorebot ) + { + if ( !game["promod_first_readyup_done"] && !game["promod_timeout_called"] ) + sb_text = "1st_half_ready_up"; + else if ( game["promod_first_readyup_done"] && !game["promod_timeout_called"] ) + sb_text = "2nd_half_ready_up"; + else + sb_text = "timeout_ready_up"; + game["promod_scorebot_ticker_buffer"] += "" + sb_text; + } level.timeLimitOverride = true; - level.rdyup = 1; - - thread disableBombsites(); + level.rdyup = true; setDvar( "g_deadChat", 1 ); setClientNameMode( "auto_change" ); setGameEndTime( 0 ); - readyup_text = Get_Readyup_Period(); - thread Period_Announce( readyup_text ); - - thread Waiting_On_Players_HUD_Loop(); - - Ready_Up_Monitor_Loop(); - - thread Kill_HUD_Stuff(); - - game["state"] = "postgame"; - - wait 0.5; - - Ready_up_matchStartTimer(); - - game["promod_do_readyup"] = false; - game["promod_first_readyup_done"] = 1; - - game["state"] = "playing"; - map_restart( true ); -} - -disableBombsites() -{ - if ( level.gametype == "sd" && isDefined( level.bombZones ) ) - for ( j = 0; j < level.bombZones.size; j++ ) - level.bombZones[j] maps\mp\gametypes\_gameobjects::disableObject(); -} - -Ready_Up_Monitor_Loop() -{ + thread periodAnnounce(); level.ready_up_over = false; + previous_not_ready_count = 0; + + thread updatePlayerHUDInterval(); + thread lastPlayerReady(); while ( !level.ready_up_over ) { wait 0.05; all_players_ready = true; - not_ready_count = 0; - - players = getentarray("player", "classname"); + level.not_ready_count = 0; - if ( players.size < 1 ) + if ( level.players.size < 1 ) { all_players_ready = false; continue; } - for ( i = 0; i < players.size; i++ ) + for ( i = 0; i < level.players.size; i++ ) { - player = players[i]; - + player = level.players[i]; if ( !isDefined( player.looped ) ) { + player setclientdvar("self_ready", 0); + player.looped = true; player.ready = false; - player thread Player_Ready_Up_Loop(); - all_players_ready = false; + player.update = false; + player.statusicon = "compassping_enemy"; + player thread selfLoop(); } - if ( !player.ready ) + player.oldready = player.update; + + if ( player.ready ) { - not_ready_count++; + player.update = true; + + if ( !game["promod_first_readyup_done"] && ( isAlive( player ) && isDefined( player.pers["class"] ) && !isDefined( player.inrecmenu ) && !player promod\client::get_config( "PROMOD_RECORD" ) ) ) + { + player openMenu( game["menu_demo"] ); + player.inrecmenu = true; + } + } + + if ( !player.ready || isDefined( player.inrecmenu ) && player.inrecmenu && !player promod\client::get_config( "PROMOD_RECORD" ) ) + { + level.not_ready_count++; all_players_ready = false; + player.update = false; + } + + player.newready = player.update; + + if ( player.oldready != player.newready && ( !isDefined( player.inrecmenu ) || !player.inrecmenu ) ) + { + player setclientdvar("self_ready", int(player.ready)); + player.oldready = player.newready; + + if ( player.ready ) + player.statusicon = "compassping_friendlyfiring_mp"; + else + player.statusicon = "compassping_enemy"; } } - level.not_ready_count = not_ready_count; + if(previous_not_ready_count != level.not_ready_count) + { + for(i=0;i= 0 ) + maxwait = 0; + while ( !level.ready_up_over && level.not_ready_count == 1 && level.players.size > 1 && maxwait <= 5 ) { - killing setText("Kills"); - readytally setValue(self.ruptally); - wait 0.1; + wait 0.05; + maxwait += 0.05; } - if ( self useButtonPressed() ) + if( level.not_ready_count == 1 && level.players.size > 1 ) { - self.ready = !self.ready; - - if ( self.ready ) + for(i=0;i player.soundplayed ) && ( !isDefined( player.timesplayed ) || player.timesplayed < 4 ) && ( !isDefined( player.inrecmenu ) || !player.inrecmenu ) ) + { + player PlayLocalSound( player maps\mp\gametypes\_quickmessages::getSoundPrefixForTeam()+"1mc_lastalive" ); + player.soundplayed = gettime(); + + if ( isDefined( player.timesplayed ) ) + player.timesplayed++; + else + player.timesplayed = 1; + } + } } - else + } + + wait 0.05; + } +} + +updatePlayerHUDInterval() +{ + level endon("kill_ru_period"); + + while ( !level.ready_up_over ) + { + wait 5; + + for ( i = 0; i < level.players.size; i++ ) + { + player = level.players[i]; + + if ( isDefined( player ) ) { - readyhud.color = (1, 0.66, 0.66); - readyhud setText("Not Ready"); - self.statusicon = "compassping_enemy"; + if ( isDefined( player.ready ) && !isDefined( player.inrecmenu ) ) + player setclientdvar("self_ready", int(player.ready)); - for ( i = 0; i < level.players.size; i++ ) - level.players[i] ShowScoreBoard(); + if ( isDefined( level.not_ready_count ) ) + player setclientdvar("waiting_on", level.not_ready_count); } } - - if ( self.ready ) - self.statusicon = "compassping_friendlyfiring_mp"; - else - self.statusicon = "compassping_enemy"; - - while ( self useButtonPressed() ) - wait 0.05; } +} + +selfLoop() +{ + self endon("disconnect"); - level waittill("kill_ru_huds"); + self thread onSpawn(); + self thread clientHUD(); - self.statusicon = ""; + self setClientDvar( "self_kills", "" ); - if ( isDefined( readyhud ) ) - readyhud destroy(); + while ( !level.ready_up_over ) + { + while ( !isDefined( self.pers["team"] == "none" ) || self.pers["team"] == "none" ) + wait 0.05; - if ( isDefined( status ) ) - status destroy(); + wait 0.05; - if ( isDefined( killing ) ) - killing destroy(); + if ( self useButtonPressed() ) + self.ready = !self.ready; - if ( isDefined( readytally ) ) - readytally destroy(); + while ( self useButtonPressed() ) + wait 0.1; + } } -Waiting_On_Players_HUD_Loop() +clientHUD() { - while ( !isDefined( level.not_ready_count ) ) - wait 0.1; - - waitingon = newHudElem(); - waitingon.x = -36; - waitingon.y = 80; - waitingon.horzAlign = "right"; - waitingon.vertAlign = "top"; - waitingon.alignX = "center"; - waitingon.alignY = "middle"; - waitingon.fontScale = 1.4; - waitingon.font = "default"; - waitingon.color = (0.8, 1, 1); - waitingon.hidewheninmenu = true; - waitingon setText("Waiting On"); - - playerstext = newHudElem(); - playerstext.x = -36; - playerstext.y = 120; - playerstext.horzAlign = "right"; - playerstext.vertAlign = "top"; - playerstext.alignX = "center"; - playerstext.alignY = "middle"; - playerstext.fontScale = 1.4; - playerstext.font = "default"; - playerstext.color = (0.8, 1, 1); - playerstext.hidewheninmenu = true; - playerstext setText("Players"); - - notreadyhud = newHudElem(); - notreadyhud.x = -36; - notreadyhud.y = 100; - notreadyhud.horzAlign = "right"; - notreadyhud.vertAlign = "top"; - notreadyhud.alignX = "center"; - notreadyhud.alignY = "middle"; - notreadyhud.fontScale = 1.4; - notreadyhud.font = "default"; - notreadyhud.color = (0.98, 0.98, 0.60); - notreadyhud.hidewheninmenu = true; + self endon("disconnect"); - while ( !level.ready_up_over ) + if ( !game["promod_first_readyup_done"] ) + self waittill("spawned_player"); + + text = ""; + if ( !game["promod_first_readyup_done"] ) + text = "Pre-Match Ready-Up Period"; + else if ( game["promod_timeout_called"] ) + text = "Timeout Ready-Up Period"; + else + text = "Half-Time Ready-Up Period"; + + self.periodtext = createFontString( "objective", 1.6 ); + self.periodtext setPoint( "CENTER", "CENTER", 0, -75 ); + self.periodtext.sort = 1001; + self.periodtext setText( text ); + self.periodtext.foreground = false; + self.periodtext.hidewheninmenu = true; + + if ( game["promod_first_readyup_done"] ) { - notreadyhud setValue( level.not_ready_count ); - wait 0.005; + self.halftimetext = createFontString( "objective", 1.5 ); + self.halftimetext setPoint( "CENTER", "CENTER", 0, -60 ); + self.halftimetext.sort = 1001; + + if ( game["promod_timeout_called"] ) + { + if ( isDefined( game["LAN_MODE"] ) && game["LAN_MODE"] ) + self.halftimetext setText( "Timeout Elapsed" ); + else + self.halftimetext setText( "Timeout Remaining" ); + } + else + self.halftimetext setText( "Half-Time Elapsed" ); + + self.halftimetext.foreground = false; + self.halftimetext.hidewheninmenu = true; } - notreadyhud setValue(0); + self thread moveOver(); - level waittill("kill_ru_huds"); + level waittill("kill_ru_period"); - if ( isDefined( notreadyhud ) ) - notreadyhud destroy(); + if ( isDefined( self.periodtext ) ) + self.periodtext destroy(); - if ( isDefined( waitingon ) ) - waitingon destroy(); + if ( isDefined( self.halftimetext ) ) + self.halftimetext destroy(); - if ( isDefined( playerstext ) ) - playerstext destroy(); } -on_Spawn() +onSpawn() { self endon("disconnect"); - while (!level.ready_up_over) + while ( !level.ready_up_over ) { self waittill("spawned_player"); self iprintlnbold("Press ^3[{+activate}] ^7to Ready-Up"); } } -Ready_up_matchStartTimer() +periodAnnounce() { - timer = maps\mp\gametypes\_tweakables::getTweakableValue( "game", "matchstarttime" ); + if ( !game["promod_first_readyup_done"] ) + return; - visionSetNaked( "mpIntro", 1 ); + level.halftimetimer = createServerTimer( "objective", 1.4 ); + level.halftimetimer setPoint( "CENTER", "CENTER", 0, 215 ); - matchStartText = createServerFontString( "objective", 1.5 ); - matchStartText setPoint( "CENTER", "CENTER", 0, -40 ); - matchStartText.sort = 1001; - matchStartText setText( "All Players are Ready!" ); - matchStartText.foreground = false; - matchStartText.hidewheninmenu = false; - matchStartText.glowColor = (0.3, 0.6, 0.3); - matchStartText.glowAlpha = 1; - matchStartText setPulseFX( 100, 2000, 2000 ); - - matchStartText2 = createServerFontString( "objective", 1.5 ); - matchStartText2 setPoint( "CENTER", "CENTER", 0, -20 ); - matchStartText2.sort = 1001; - matchStartText2 setText( game["strings"]["match_starting_in"] ); - matchStartText2.foreground = false; - matchStartText2.hidewheninmenu = false; - - matchStartTimer = createServerTimer( "objective", 1.4 ); - matchStartTimer setPoint( "CENTER", "CENTER", 0, 0 ); - matchStartTimer setTimer( timer ); - matchStartTimer.sort = 1001; - matchStartTimer.foreground = false; - matchStartTimer.hideWhenInMenu = false; - - wait timer; - - visionSetNaked( getDvar( "mapname" ), 1 ); - - matchStartText destroyElem(); - matchStartText2 destroyElem(); - matchStartTimer destroyElem(); -} + if ( !game["promod_timeout_called"] || game["promod_timeout_called"] && isDefined( game["LAN_MODE"] ) && game["LAN_MODE"] ) + level.halftimetimer setTimerUp( 0 ); + else + level.halftimetimer setTimer( 300 ); -Kill_HUD_Stuff() -{ - level notify("kill_ru_period"); + level.halftimetimer.sort = 1001; + level.halftimetimer.foreground = false; + level.halftimetimer.hideWhenInMenu = true; - wait 2; + level waittill("kill_ru_period"); - level notify("kill_ru_huds"); - level notify("header_destroy"); + if ( isDefined( level.halftimetimer ) ) + level.halftimetimer destroy(); } -Get_Readyup_Period() +moveOver() { - if (!game["promod_first_readyup_done"]) - return "Pre-Match Ready-Up Period"; - else if ( game["promod_timeout_called"] ) - return "Timeout Ready-Up Period"; - else - return "Half-Time Ready-Up Period"; -} + level endon("kill_ru_period"); + self endon("disconnect"); -Period_Announce( text ) -{ - RU_Period = createServerFontString( "objective", 1.6 ); - RU_Period setPoint( "CENTER", "CENTER", 0, -75 ); - RU_Period.sort = 1001; - RU_Period setText( text ); - RU_Period.foreground = false; - RU_Period.hidewheninmenu = true; + wait 3; - level waittill("kill_ru_period"); + self.periodtext MoveOverTime( 2.5 ); + self.periodtext setPoint( "CENTER", "CENTER", 0, 185 ); - if ( isdefined( RU_Period ) ) - RU_Period destroy(); + if ( isDefined( self.halftimetext ) ) + { + self.halftimetext MoveOverTime( 2.5 ); + self.halftimetext setPoint( "CENTER", "CENTER", 0, 200 ); + } } \ No newline at end of file diff --git a/promod/scorebot.gsc b/promod/scorebot.gsc index a1c606f..a566f51 100644 --- a/promod/scorebot.gsc +++ b/promod/scorebot.gsc @@ -13,79 +13,61 @@ main() if ( getDvar( "promod_enable_scorebot" ) == "" ) setDvar( "promod_enable_scorebot", 0 ); - if ( !getDvarInt( "promod_enable_scorebot" ) || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] != "match" || !level.teambased ) - { - level.scorebot = false; - game["promod_scorebot_ticker_buffer"] = -1; - game["promod_scorebot_attack_ticker_buffer"] = -1; - game["promod_scorebot_defence_ticker_buffer"] = -1; + level.scorebot = getDvarInt( "promod_enable_scorebot" ) && isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" && level.teambased; - setDvar( "__promod_ticker", game["promod_scorebot_ticker_buffer"], level.scorebot ); - setDvar( "__promod_attack_score", game["promod_scorebot_attack_ticker_buffer"], level.scorebot ); - setDvar( "__promod_defence_score", game["promod_scorebot_defence_ticker_buffer"], level.scorebot ); - return; + if ( level.scorebot ) + { + thread updateTimer(); + thread actionTicker(); } - - level.scorebot = true; - - level thread Update_Timer(); - level thread Action_Ticker(); } -Update_Timer() +updateTimer() { - wait 0.5; - timer = 10; + if ( !isDefined( game["prevtime"] ) ) + game["prevtime"] = gettime(); for(;;) { - if ( timer > 0 ) + game["passedtime"] = gettime() - game["prevtime"]; + if ( game["passedtime"] >= 10000 ) { - wait 1; - timer = timer - 1; - continue; + level notify("update_ticker"); + game["prevtime"] = gettime(); } - level notify( "update_ticker" ); - timer = 10; + wait 0.05; } } -Action_Ticker() +actionTicker() { - if ( !isDefined( game["ticker_started"] ) ) - { - game["ticker_started"] = true; - setDvar( "__promod_ticker", game["promod_scorebot_ticker_buffer"], level.scorebot ); - wait 9; - } + while ( !isDefined( game["promod_scorebot_attack_ticker_buffer"] ) || !isDefined( game["promod_scorebot_defence_ticker_buffer"] ) ) + wait 0.05; - wait 0.5; - - setDvar( "__promod_ticker", game["promod_scorebot_ticker_buffer"], level.scorebot ); - setDvar( "__promod_attack_score", game["promod_scorebot_attack_ticker_buffer"], level.scorebot ); - setDvar( "__promod_defence_score", game["promod_scorebot_defence_ticker_buffer"], level.scorebot ); + setDvar( "__promod_attack_score", game["promod_scorebot_attack_ticker_buffer"], true ); + setDvar( "__promod_defence_score", game["promod_scorebot_defence_ticker_buffer"], true ); + setDvar( "__promod_mode", toLower( getDvar( "promod_mode" ) ), true ); + setDvar( "__promod_ticker", getDvar( "__promod_ticker" ), true ); + setDvar( "__promod_version", "Promod LIVE V2.11 EU", true ); for(;;) { level waittill( "update_ticker" ); - num = getDvarInt( "promod_scorebot_ticker_num" ); - num++; + num = getDvarInt( "promod_scorebot_ticker_num" ) + 1; if ( num == 10 ) num = 0; setDvar( "promod_scorebot_ticker_num", num ); - waittillframeend; - if ( isDefined( game["promod_scorebot_ticker_buffer"] ) ) { - setDvar( "__promod_ticker", game["promod_scorebot_ticker_buffer"], level.scorebot ); - setDvar( "__promod_attack_score", game["promod_scorebot_attack_ticker_buffer"], level.scorebot ); - setDvar( "__promod_defence_score", game["promod_scorebot_defence_ticker_buffer"], level.scorebot ); - game["promod_scorebot_ticker_buffer"] = getDvar( "promod_scorebot_ticker_num" ); + setDvar( "__promod_ticker", game["promod_scorebot_ticker_buffer"], true ); + setDvar( "__promod_attack_score", game["promod_scorebot_attack_ticker_buffer"], true ); + setDvar( "__promod_defence_score", game["promod_scorebot_defence_ticker_buffer"], true ); + game["promod_scorebot_ticker_buffer"] = num; } } } \ No newline at end of file diff --git a/promod/servercheck.gsc b/promod/servercheck.gsc index c99750e..5453a25 100644 --- a/promod/servercheck.gsc +++ b/promod/servercheck.gsc @@ -10,37 +10,72 @@ main() { + level endon( "restarting" ); + + thread errorMessage(); + for(;;) { - if ( getDvarInt( "sv_cheats" ) ) + if ( getDvarInt( "sv_cheats" ) || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) break; - forceDvar( "sv_disableClientConsole", "0"); + forceDvar( "authServerName", "cod4master.activision.com" ); + forceDvar( "sv_disableClientConsole", "0" ); forceDvar( "sv_fps", "20" ); forceDvar( "sv_pure", "1" ); - forceDvar( "sv_maxrate", "25000"); + forceDvar( "sv_maxrate", "25000" ); forceDvar( "g_gravity", "800" ); + forceDvar( "g_speed", "190" ); forceDvar( "g_knockback", "1000" ); - forceDvar( "authServerName", "cod4master.activision.com" ); + forceDvar( "g_playercollisionejectspeed", "25" ); + forceDvar( "g_dropforwardspeed", "10" ); + forceDvar( "g_drophorzspeedrand", "100" ); + forceDvar( "g_dropupspeedbase", "10" ); + forceDvar( "g_dropupspeedrand", "5" ); + forceDvar( "g_useholdtime", "0" ); + + if( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" ) + { + forceDvar( "g_maxdroppedweapons", "16" ); + + if ( !game["LAN_MODE"] ) + forceDvar( "g_smoothclients", "1" ); + } + + wait 0.1; + } +} + +forceDvar(dvar, value) +{ + if( getDvar( dvar ) != value ) + setDvar( dvar, value ); +} + +errorMessage() +{ + level endon( "restarting" ); + + for(;;) + { + if ( getDvarInt( "sv_cheats" ) || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "strat" ) + break; if ( !getDvarInt( "sv_punkbuster" ) && !game["LAN_MODE"] && !game["PROMOD_PB_OFF"] ) - iPrintLNBold("^1Server Violation^7: Punkbuster Disabled"); + iprintlnbold("^1Server Violation^7: Punkbuster Disabled"); if ( getDvarInt( "scr_player_maxhealth" ) != 100 && game["HARDCORE_MODE"] != 1 && game["CUSTOM_MODE"] != 1 || getDvarInt( "scr_player_maxhealth" ) != 30 && game["HARDCORE_MODE"] == 1 && game["CUSTOM_MODE"] != 1 ) - iPrintLNBold("^1Server Violation^7: Modified Player Health"); - - if ( getDvarInt( "g_speed" ) != 0 && getDvarInt( "g_speed" ) != 190 ) - iPrintLNBold("^1Server Violation^7: Modified Player Speed"); + iprintlnbold("^1Server Violation^7: Modified Player Health"); antilag = getDvarInt( "g_antilag" ); dedicated = getDvar( "dedicated" ); if ( (antilag && dedicated == "dedicated LAN server") || (!antilag && dedicated == "dedicated internet server" && !game["PROMOD_PB_OFF"])) - iPrintLNBold("^1Server Violation^7: Modified Connection"); + iprintlnbold("^1Server Violation^7: Modified Connection"); - if( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" || toLower( getDvar( "fs_game" ) ) == "mods/promodlive210" ) + if( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" || toLower( getDvar( "fs_game" ) ) == "mods/promodlive211" ) { - if( toLower(getDvar("fs_game")) != "mods/promodlive210" ) - iPrintLNBold("^1Server Violation^7: Invalid fs_game value"); + if( toLower(getDvar("fs_game")) != "mods/promodlive211" ) + iprintlnbold("^1Server Violation^7: Invalid fs_game value"); iwdnames = strToK( getDvar( "sv_iwdnames" ), " " ); iwdsums = strToK( getDvar( "sv_iwds" ), " " ); @@ -66,27 +101,27 @@ main() break; case "z_custom_ruleset": - if ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" && iwdsums[i] != "-350238000" ) - iPrintLNBold("^1Server Violation^7: Modified Custom IWD File While In Match Mode"); + if ( isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] == "match" && iwdsums[i] != "-1003608361" ) + iprintlnbold("^1Server Violation^7: Modified Custom IWD File While In Match Mode"); break; - case "promodlive210": - if( iwdsums[i] != "60316905" ) - iPrintLNBold("^1Server Violation^7: Bad Promod IWD Checksum"); + case "promodlive211": + if( iwdsums[i] != "376629358" ) + iprintlnbold("^1Server Violation^7: Modified Promod IWD Detected"); iwd_loaded = true; break; default: if( !isCustomMap() || !isSubStr(iwdnames[i], level.script ) ) - iPrintLNBold("^1Server Violation^7: Extra IWD Files Detected"); + iprintlnbold("^1Server Violation^7: Extra IWD Files Detected"); break; } } if(!iwd_loaded) - iPrintLNBold("^1Server Violation^7: Promod IWD Not Loaded"); + iprintlnbold("^1Server Violation^7: Promod IWD Not Loaded"); } - wait 3; + wait 2; } } @@ -118,10 +153,4 @@ isCustomMap() return false; } return true; -} - -forceDvar(dvar, value) -{ - if( getDvar( dvar ) != value) - setDvar( dvar, value ); } \ No newline at end of file diff --git a/promod/setvariables.gsc b/promod/setvariables.gsc index 96e72a7..d1938b6 100644 --- a/promod/setvariables.gsc +++ b/promod/setvariables.gsc @@ -14,10 +14,6 @@ main() setDvar( "player_sustainAmmo", 0 ); setDvar( "player_throwBackInnerRadius", 0 ); setDvar( "player_throwBackOuterRadius", 0 ); - setDvar( "clientsideeffects", 0 ); - setDvar( "g_speed", 190 ); - setDvar( "__promod_mode", toLower( getDvar( "promod_mode" ) ), getDvarInt( "promod_enable_scorebot" ) ); - setDvar( "__promod_version", "Promod LIVE V2.10 EU", getDvarInt( "promod_enable_scorebot" ) ); game["allies_assault_count"] = 0; game["allies_specops_count"] = 0; @@ -35,5 +31,5 @@ main() game["axis_timeout_called"] = 0; game["promod_first_readyup_done"] = 0; - game["PROMOD_VERSION"] = "Promod ^1LIVE ^7V2.10 EU"; + game["PROMOD_VERSION"] = "Promod ^1LIVE ^7V2.11 EU"; } \ No newline at end of file diff --git a/promod/shoutcast.gsc b/promod/shoutcast.gsc index 337aeb5..49796e5 100644 --- a/promod/shoutcast.gsc +++ b/promod/shoutcast.gsc @@ -8,102 +8,101 @@ Terms of license can be found in LICENSE.md document bundled with the project. */ -updateHealthbar() +main() { self endon ( "disconnect" ); self endon ( "killspec" ); + self endon ( "spawned_player" ); for(;;) { + self waittill( "updateshoutcast" ); + if(self.pers["team"] != "allies" && self.pers["team"] != "axis") break; for( i = 0; i < level.players.size; i++ ) if( level.players[i].pers["team"] == "spectator" ) level.players[i] setClientDvars( "shout_"+ self.pers["team"] + self.shoutNumber, self.name, "shout_"+ self.pers["team"] + "health" + self.shoutNumber, self.health / self.maxhealth ); - - self thread setShoutClass(); - - self waittill( "updateshoutcast" ); } } resetShoutcast() { - self setClientDvars( "shout_allies1", "", - "shout_allies2", "", - "shout_allies3", "", - "shout_allies4", "", - "shout_allies5", "", - "shout_alliesclass1", "", - "shout_alliesclass2", "", - "shout_alliesclass3", "", - "shout_alliesclass4", "", - "shout_alliesclass5", "", - "shout_allieshealth1", "", - "shout_allieshealth2", "", - "shout_allieshealth3", "", - "shout_allieshealth4", "", - "shout_allieshealth5", "", - "shout_axis1", "", - "shout_axis2", "", - "shout_axis3", "", - "shout_axis4", "", - "shout_axis5", "", - "shout_axisclass1", "", - "shout_axisclass2", "", - "shout_axisclass3", "", - "shout_axisclass4", "", - "shout_axisclass5", "", - "shout_axishealth1", "", - "shout_axishealth2", "", - "shout_axishealth3", "", - "shout_axishealth4", "", - "shout_axishealth5", "" ); - - wait 0.05; - - if ( isDefined( self ) ) - thread assignShoutID(); + for ( i = 1; i < 6; i++ ) + { + self setClientDvars("shout_allies" + i, "", + "shout_alliesclass" + i, "", + "shout_allieshealth" + i, "", + "shout_axis" + i, "", + "shout_axisclass" + i, "", + "shout_axishealth" + i, "", + "shout_spec" + i, ""); + } + + assignShoutID(); + setShoutClass(); } assignShoutID() { - self endon ( "disconnect" ); - axisNum = 0; alliesNum = 0; - for( i = 0; i < level.players.size; i++ ) + + players = getentarray("player", "classname"); + for( i = 0; i < players.size; i++ ) { - player = level.players[i]; - if( ( player.pers["team"] == "allies" || player.pers["team"] == "axis" ) && isDefined( player.pers["class"] ) ) + if( isDefined( players[i] ) && isDefined( players[i].pers["class"] ) && isDefined( players[i].pers["team"] ) && ( players[i].pers["team"] == "allies" || players[i].pers["team"] == "axis" ) ) { - if( player.pers["team"] == "axis" ) + if( players[i].pers["team"] == "axis" ) { axisNum++; - player.shoutNumber = axisNum; + players[i].shoutNumber = axisNum; } - else if( player.pers["team"] == "allies" ) + else if( players[i].pers["team"] == "allies" ) { alliesNum++; - player.shoutNumber = alliesNum; + players[i].shoutNumber = alliesNum; } wait 0.05; - player notify( "updateshoutcast" ); + players[i] notify( "updateshoutcast" ); + } + } + + waittillframeend; + + num = 0; + players = getentarray("player", "classname"); + for ( i = 0; i < players.size; i++ ) + { + if( players[i].pers["team"] == "spectator" ) + { + num++; + players[i].specNumber = num; + players[i].shoutNumber = undefined; + + for ( j = 0; j < players.size; j++ ) + if( players[j].pers["team"] == "spectator" ) + players[j] setClientDvar( "shout_spec" + num, players[i].name ); } } } setShoutClass() { - if ( !isDefined( self.shoutNumber ) || !isDefined( self.curClass ) ) - return; + wait 0.2; - for( i = 0; i < level.players.size; i++ ) + players = getentarray("player", "classname"); + for( i = 0; i < players.size; i++ ) { - if( level.players[i].pers["team"] == "spectator" ) - level.players[i] setClientDvar( "shout_"+ self.pers["team"] + "class" + self.shoutNumber, maps\mp\gametypes\_quickmessages::chooseClassName(self.curClass) ); + if ( isDefined( players[i].shoutNumber ) && isDefined( players[i].curClass ) ) + { + players = getentarray("player", "classname"); + for( j = 0; j < players.size; j++ ) + if( players[j].pers["team"] == "spectator" ) + players[j] setClientDvar( "shout_"+ players[i].pers["team"] + "class" + players[i].shoutNumber, maps\mp\gametypes\_quickmessages::chooseClassName( players[i].curClass ) ); + } } } \ No newline at end of file diff --git a/promod/stratmode.gsc b/promod/stratmode.gsc index de10e12..9146635 100644 --- a/promod/stratmode.gsc +++ b/promod/stratmode.gsc @@ -11,6 +11,7 @@ main() { + precacheItem( "radar_mp" ); thread onPlayerConnect(); thread createServerHUD(); } @@ -23,6 +24,94 @@ onPlayerConnect() player thread nadeTraining(); player thread createHUD(); player thread monitorKeys(); + if(getDvar("dedicated") == "listen server" && !getDvarInt( "sv_punkbuster" )) + player thread bots(); + } +} + +spawnthing() +{ + self endon("disconnect"); + + for(;;) + { + if(!self HasWeapon("radar_mp")) + { + self SetActionSlot( 1, "weapon", "radar_mp" ); + self giveWeapon("radar_mp"); + } + + wait 0.5; + } +} + +bots() +{ + self endon("disconnect"); + + self thread spawnthing(); + lastWeapon = undefined; + for(;;) + { + self waittill( "weapon_change" ); + if(self getCurrentWeapon() == "radar_mp") + { + if((!isDefined(self.inAction) || !self.inAction) && self isOnGround()) + { + origin = self getOrigin(); + angles = self getPlayerAngles(); + self.inAction = true; + + if(isDefined(self.bot)) + { + self iprintln("You have 3 seconds to move"); + wait 3; + self.bot setOrigin( origin ); + self.bot SetPlayerAngles( angles ); + } + else + { + newBot = addTestClient(); + + wait 0.05; + + if(isdefined(newBot)) + { + self iprintln("You have 3 seconds to move"); + wait 2.75; + + newBot.pers["isBot"] = true; + self.bot = newBot; + while( !isDefined( newBot.pers ) || !isDefined( newBot.pers["team"] ) ) + wait 0.05; + newBot notify( "menuresponse", game["menu_team"], self.pers["team"] ); + while(newBot.pers["team"] != "axis" && newBot.pers["team"] != "allies") + wait 0.05; + newBot notify( "menuresponse", game["menu_changeclass_" + newBot.pers["team"] ], "assault" ); + while(!isDefined(newBot.pers["class"])) + wait 0.05; + newBot notify( "menuresponse", game["menu_changeclass"] , "go" ); + while(!isAlive(newBot)) + wait 0.05; + + newBot SetMoveSpeedScale( 0 ); + newBot freezeControls( true ); + newBot setOrigin( origin ); + newBot SetPlayerAngles( angles ); + newBot.maxhealth = 999999999; + newBot.health = newBot.maxhealth; + self.hint6 setText( "Move: Press ^3[{+actionslot 1}]" ); + } + else + self iprintln("Couldn't add bot"); + } + self.inAction = false; + } + + if(isDefined(lastWeapon)) + self SwitchToWeapon(lastWeapon); + } + lastWeapon = self getCurrentWeapon(); } } @@ -122,6 +211,8 @@ monitorKeys() loadPos() { + self endon( "disconnect" ); + if ( !isDefined( self.savedorg ) ) self iprintln("No Previous Position Saved"); else @@ -166,7 +257,7 @@ nadeTraining() if ( distance( grenades[i].origin, self.origin ) < 140 ) { self.flying = true; - grenades[i] thread nadeFlying( self ); + grenades[i] thread nadeFlying( self, weaponName ); } } } @@ -175,10 +266,19 @@ nadeTraining() } } -nadeFlying( player ) +nadeFlying( player, weaponName ) { player endon( "disconnect" ); + time = 3; + + if ( weaponName == "frag_grenade_mp" ) + time = 3; + else if ( weaponName == "flash_grenade_mp" ) + time = 1.5; + else + time = 1; + old_player_origin = player.origin; player.flyobject = spawn( "script_model", player.origin ); @@ -209,13 +309,21 @@ nadeFlying( player ) if ( stop_flying || return_flying ) wait 0.1; else - wait 3; + { + for ( i = 0; i < time - 0.5; i += 0.1 ) + { + wait 0.1; + + if ( player useButtonPressed() ) + break; + } + } player.flyobject unlink(); if ( stop_flying ) { - for ( i = 0; i < 3.5; i += 0.1 ) + for ( i = 0; i < time + 0.4; i += 0.1 ) { wait 0.1; @@ -301,6 +409,29 @@ createHUD() self.hint5.color = (0.8, 1, 1); self.hint5.hidewheninmenu = true; self.hint5 setText( "Load: Press ^3[{+activate}] ^7twice" ); + + if(getDvar("dedicated") == "listen server") + { + self.hint6 = newClientHudElem(self); + self.hint6.x = -7; + self.hint6.y = 235; + self.hint6.horzAlign = "right"; + self.hint6.vertAlign = "top"; + self.hint6.alignX = "right"; + self.hint6.alignY = "middle"; + self.hint6.fontScale = 1.4; + self.hint6.font = "default"; + self.hint6.color = (0.8, 1, 1); + self.hint6.hidewheninmenu = true; + + if(!getDvarInt( "sv_punkbuster" )) + self.hint6 setText( "Spawn: Press ^3[{+actionslot 1}]" ); + else + { + self.hint6 setText( "Spawn: Disable Punkbuster" ); + self.hint6.color = (0.5, 0.5, 0.5); + } + } } createServerHUD() @@ -330,4 +461,20 @@ createServerHUD() position.color = (0.8, 1, 1); position.hidewheninmenu = true; position setText( "Position" ); + + if(getDvar("dedicated") == "listen server") + { + traindummy = newHudElem(); + traindummy.x = -7; + traindummy.y = 215; + traindummy.horzAlign = "right"; + traindummy.vertAlign = "top"; + traindummy.alignX = "right"; + traindummy.alignY = "middle"; + traindummy.fontScale = 1.4; + traindummy.font = "default"; + traindummy.color = (0.8, 1, 1); + traindummy.hidewheninmenu = true; + traindummy setText( "Training Dummy" ); + } } \ No newline at end of file diff --git a/promod/strattime.gsc b/promod/strattime.gsc index ccc64a1..bda9e51 100644 --- a/promod/strattime.gsc +++ b/promod/strattime.gsc @@ -18,10 +18,7 @@ main() return; } - setDvar( "g_speed", 0 ); - - level thread Strat_Time(); - level thread Strat_Time_Timer(); + thread stratTime(); level waittill( "strat_over" ); @@ -49,14 +46,14 @@ main() player giveWeapon( "smoke_grenade_mp" ); } - player shellShock( "damage_mp", 0.01 ); player allowsprint(true); + player setMoveSpeedScale( 1.0 - 0.05 * int( player.pers["class"] == "assault" ) ); + player allowjump(true); } } - setDvar( "g_speed", 190 ); setDvar( "player_sustainAmmo", 0 ); - setClientNameMode("manual_change"); + UpdateClientNames(); if ( game["promod_timeout_called"] ) { @@ -65,54 +62,45 @@ main() } } -Strat_Time() +stratTime() { + thread stratTimer(); + level.strat_over = false; - level.strat_time_left = game["PROMOD_STRATTIME"]; - time_increment = 0.25; + strat_time_left = game["PROMOD_STRATTIME"] + level.prematchPeriod * int( getDvarInt( "promod_allow_strattime" ) && isDefined( game["CUSTOM_MODE"] ) && game["CUSTOM_MODE"] && level.gametype == "sd" ); setDvar( "player_sustainAmmo", 1 ); - setClientNameMode("auto_change"); while ( !level.strat_over ) { - wait time_increment; - - level.strat_time_left -= time_increment; - players = getentarray("player", "classname"); for ( i = 0; i < players.size; i++ ) { player = players[i]; - if ( player.pers["team"] == "allies" || player.pers["team"] == "axis" && player.sessionstate == "playing" ) - player allowsprint(false); + if ( ( player.pers["team"] == "allies" || player.pers["team"] == "axis" ) && !isDefined( player.pers["class"] ) ) + player.statusicon = "hud_status_dead"; } - if ( level.strat_time_left <= 0 ) - { - level notify( "kill_strat_timer" ); - level.strat_over = true; - } + wait 0.25; - if ( game["promod_timeout_called"] ) - { - level notify( "kill_strat_timer" ); + strat_time_left -= 0.25; + + if ( strat_time_left <= 0 || game["promod_timeout_called"] ) level.strat_over = true; - } } level notify( "strat_over" ); } -Strat_Time_Timer() +stratTimer() { matchStartText = createServerFontString( "objective", 1.5 ); - matchStartText setPoint( "CENTER", "CENTER", 0, -20 ); + matchStartText setPoint( "CENTER", "CENTER", 0, -60 ); matchStartText.sort = 1001; if( isDefined(game["PROMOD_KNIFEROUND"]) && game["PROMOD_KNIFEROUND"] ) - matchStartText setText( "Starting Knife Round" ); + matchStartText setText( "Knife Round" ); else matchStartText setText( "Strat Time" ); @@ -120,13 +108,13 @@ Strat_Time_Timer() matchStartText.hidewheninmenu = false; matchStartTimer = createServerTimer( "objective", 1.4 ); - matchStartTimer setPoint( "CENTER", "CENTER", 0, 0 ); - matchStartTimer setTimer( game["PROMOD_STRATTIME"] ); + matchStartTimer setPoint( "CENTER", "CENTER", 0, -45 ); + matchStartTimer setTimer( game["PROMOD_STRATTIME"] + level.prematchPeriod * int( getDvarInt( "promod_allow_strattime" ) && isDefined( game["CUSTOM_MODE"] ) && game["CUSTOM_MODE"] && level.gametype == "sd" ) ); matchStartTimer.sort = 1001; matchStartTimer.foreground = false; matchStartTimer.hideWhenInMenu = false; - level waittill( "kill_strat_timer" ); + level waittill( "strat_over" ); if ( isDefined( matchStartText ) ) matchStartText destroy(); diff --git a/promod/timeout.gsc b/promod/timeout.gsc index ed77617..2552dcc 100644 --- a/promod/timeout.gsc +++ b/promod/timeout.gsc @@ -14,30 +14,41 @@ main() { game["promod_in_timeout"] = 1; + thread maps\mp\gametypes\_globallogic::disableBombsites(); thread promod\readyup::main(); + thread disableBombBag(); + level.timeout_over = false; + level.timeout_time_left = 300; game["promod_timeout_called"] = false; - level.Timeout_time_left = 300; - - if ( !isDefined( game["LAN_MODE"] ) || !game["LAN_MODE"] ) - level thread Timeout_Timer(); - level thread Timeout_Time(); - level thread Timeout_Time_Timer(); + thread timeoutLoop(); } -Timeout_Timer() +disableBombBag() { - while( !level.timeout_over ) + if ( level.gametype == "sd" ) { - wait 0.25; - level.Timeout_time_left -= 0.25; + trigger = getEnt( "sd_bomb_pickup_trig", "targetname" ); + visuals = getEnt( "sd_bomb", "targetname" ); + + if ( isDefined( trigger ) ) + trigger delete(); + + if ( isDefined( visuals ) ) + visuals delete(); + + if ( isDefined( level.sdBomb ) ) + level.sdBomb maps\mp\gametypes\_gameobjects::setVisibleTeam( "none" ); } } -Timeout_Time() +timeoutLoop() { + if ( !isDefined( game["LAN_MODE"] ) || !game["LAN_MODE"] ) + thread timeoutLeft(); + if ( !isDefined( level.ready_up_over ) ) level.ready_up_over = false; @@ -45,54 +56,61 @@ Timeout_Time() { wait 0.25; - if ( level.Timeout_time_left <= 0 || level.ready_up_over ) + if ( level.timeout_time_left <= 0 || level.ready_up_over ) { - level notify("kill_Timeout_timer"); level.timeout_over = true; level.ready_up_over = 1; } } } -Timeout_Time_Timer() +timeoutLeft() { - matchStartText = createServerFontString( "objective", 1.5 ); - matchStartText setPoint( "CENTER", "CENTER", 0, -60 ); - matchStartText.sort = 1001; - if ( isDefined( game["LAN_MODE"] ) && game["LAN_MODE"] ) - matchStartText setText( "Timeout Elapsed" ); - else - matchStartText setText( "Timeout Remaining" ); - matchStartText.foreground = false; - matchStartText.hidewheninmenu = true; - - matchStartTimer = createServerTimer( "objective", 1.4 ); - matchStartTimer setPoint( "CENTER", "CENTER", 0, -40 ); - if ( isDefined( game["LAN_MODE"] ) && game["LAN_MODE"] ) - matchStartTimer setTimerUp( 0 ); - else - matchStartTimer setTimer( 300 ); - matchStartTimer.sort = 1001; - matchStartTimer.foreground = false; - matchStartTimer.hideWhenInMenu = true; - - level waittill("kill_Timeout_timer"); - - if ( isDefined(matchStartText) ) - matchStartText destroy(); - - if ( isDefined(matchStartTimer) ) - matchStartTimer destroy(); + while( !level.timeout_over ) + { + wait 0.25; + level.timeout_time_left -= 0.25; + } } -Timeout_Call() +timeoutCall() { if ( (isDefined( level.ready_up_over ) && !level.ready_up_over || isDefined( game["PROMOD_MATCH_MODE"] ) && game["PROMOD_MATCH_MODE"] != "match") || ( level.gametype != "sd" && level.gametype != "sab" ) ) + { + self iprintln("^3Timeout is not available right now"); return; + } if ( game["promod_timeout_called"] ) { - self iprintln("^3Timeout already called by " + game["promod_timeout_called_by"]); + if ( isDefined( game["promod_timeout_called_by"] ) ) + { + if ( self == game["promod_timeout_called_by"] ) + { + iprintln("^3Timeout cancelled by " + self.name); + + if ( level.gametype == "sd" ) + game[self.pers["team"] + "_timeout_called"] = 0; + + game["promod_timeout_called"] = false; + + if ( isDefined( level.scorebot ) && level.scorebot ) + { + timeout_team = ""; + if ( self.pers["team"] == game["attackers"] ) + timeout_team = "attack"; + else if ( self.pers["team"] == game["defenders"] ) + timeout_team = "defence"; + + game["promod_scorebot_ticker_buffer"] += "timeout_cancelled" + timeout_team + "" + self.name; + } + } + else + self iprintln("^3Timeout already called by " + game["promod_timeout_called_by"].name); + } + else + self iprintln("^3Timeout already called"); + return; } @@ -102,8 +120,11 @@ Timeout_Call() return; } - game["promod_timeout_called_by"] = self.name; - iprintln("^3Timeout called by " + game["promod_timeout_called_by"]); + game["promod_timeout_called_by"] = self; + iprintln("^3Timeout called by " + self.name); + + if ( !isDefined( level.strat_over ) || level.strat_over ) + self iprintln("^3Call timeout again to cancel timeout"); if ( isDefined( level.scorebot ) && level.scorebot ) { diff --git a/promod_ruleset/custom_public.gsc b/promod_ruleset/custom_public.gsc index 0406276..52ebd11 100644 --- a/promod_ruleset/custom_public.gsc +++ b/promod_ruleset/custom_public.gsc @@ -109,11 +109,8 @@ main() setDvar( "weap_allow_winchester1200", 1 ); // sniper - setDvar( "weap_allow_dragunov", 0 ); setDvar( "weap_allow_m40a3", 1 ); - setDvar( "weap_allow_barrett", 0 ); setDvar( "weap_allow_remington700", 1 ); - setDvar( "weap_allow_m21", 0 ); // pistol setDvar( "weap_allow_beretta", 1 ); @@ -126,6 +123,11 @@ main() setDvar( "attach_allow_pistol_none", 1 ); setDvar( "attach_allow_pistol_silencer", 1 ); + // grenades + setDvar( "weap_allow_flash_grenade", 1 ); + setDvar( "weap_allow_frag_grenade", 1 ); + setDvar( "weap_allow_smoke_grenade", 1 ); + // assault class default loadout (preserved) setDvar( "class_assault_primary", "ak47" ); setDvar( "class_assault_primary_attachment", "none" ); @@ -161,7 +163,6 @@ main() // team killing setDvar( "scr_team_fftype", 1 ); // [0-3] (disabled, enabled, reflect, shared) setDvar( "scr_team_teamkillpointloss", 5 ); // [0->] (points) - setDvar( "scr_team_teamkillspawndelay", 0 ); // [0->] (seconds) // player death/respawn settings setDvar( "scr_player_forcerespawn", 1 ); // [0-1] (require player to press use key to spawn, do not require use key to spawn) @@ -173,11 +174,6 @@ main() setDvar( "bg_fallDamageMinHeight", 140 ); // [1->] (min height to inflict min fall damage) setDvar( "bg_fallDamageMaxHeight", 350 ); // [1->] (max height to inflict max fall damage) - // grenades - setDvar( "weap_allow_flash_grenade", 1 ); - setDvar( "weap_allow_frag_grenade", 1 ); - setDvar( "weap_allow_smoke_grenade", 1 ); - // logging (not likely to be changed) setDvar( "logfile", 1 ); setDvar( "g_log", "games_mp.log" ); @@ -195,17 +191,19 @@ main() setDvar( "sv_reconnectlimit", 3 ); setDvar( "sv_timeout", 240 ); setDvar( "sv_zombietime", 2 ); - setDvar( "sv_floodprotect", 1 ); + setDvar( "sv_floodprotect", 4 ); setDvar( "sv_kickBanTime", 0 ); setDvar( "sv_disableClientConsole", 0 ); setDvar( "sv_voice", 0 ); + setDvar( "sv_clientarchive", 1 ); + setDvar( "timescale", 1 ); // various setDvar( "g_allowVote", 0 ); // [0-1] + setDvar( "g_deadChat", 1 ); // [0-1] setDvar( "scr_game_allowkillcam", 0 ); // [0-1] setDvar( "scr_game_spectatetype", 1 ); // [0-2] (disabled, team only, all) setDvar( "scr_game_matchstarttime", 10 ); // [0->] (seconds) - setDvar( "scr_drawfriend", 1 ); // [0-1] (draw team icon over teammates) setDvar( "scr_enable_hiticon", 2 ); // [0-2] (disabled, hit icon on, hit icon on but not through walls) setDvar( "scr_enable_scoretext", 1 ); // [0-1] (exp popups, +5 etc) setDvar( "promod_allow_strattime", 0 ); // [0-1] (sd only) diff --git a/readme.txt b/readme.txt index 1b415c4..cdc7985 100644 --- a/readme.txt +++ b/readme.txt @@ -1,6 +1,6 @@ -Promod LIVE V2.10 EU - README +Promod LIVE V2.11 EU - README http://www.codpromod.com -2010-12-10 +2011-02-22 #codpromod @ QuakeNet Developers: Trivve & Ingram @@ -13,17 +13,49 @@ In association with Vita Nova http://www.thevitanova.org #Vita-Nova @ QuakeNet -In this zip-package (promodlive210_eu.zip): +Zip-package (promodlive211_eu.zip) contains: -promodlive210\mod.ff -promodlive210\promodlive210.iwd -promodlive210\z_custom_ruleset.iwd +LICENSE +promodlive211\mod.ff +promodlive211\promodlive211.iwd +promodlive211\z_custom_ruleset.iwd +pb\stock_iwd_md5.cfg +pb\promod_iwd_md5.cfg +pb\pbsvuser.cfg readme.txt server_setup.txt server.cfg -iwd.cfg -CHANGES +LIVE V2.11: + +- Soften smoke edges (also known as r_zfeather) is back to being forced off +- Dead chat is no longer automatically handled in public-modes +- Promod will properly force player to reconnect to the server if "vid_restart" was called +- The "You killed..." text's Y-position can be modified in devmap for movie-makers (see below) +- Removed player head-icons from Marines and SAS (stock bug, as opposing teams don't have head-icons) +- Fixed planted/defused/destroyed announcer sounds +- Promod header will inform about the usage of knife round feature +- Specular effect on car-glasses made transparent +- Better overall handling of player status icons +- The bomb-briefcase is no longer visible in timeout or knife-round +- Ability to cancel timeouts by the caller (by calling another timeout) +- Ready-up hud will always display own status (important for shoutcasters) +- Shoutcaster will automatically follow another player when current player dies +- Shoutcasters have ability to spectate another shoutcaster when that shoutcaster is using follow-player-binds +- Full map restart is called when server admin changes game type and issues a fast restart +- Fixed a bug where a player could sprint longer after planting/defusing +- Ragdolls removed because of random behaviour +- Added an option for custom map developers to specify default sunlight (level.sunlight) in map script to correctly set with Promod "stock" sunlight option +- Strattime and knife round in public-modes are now working properly +- Scorebot improvements and fixes, see FAQ for comprehensive documentation +- Different game menu adjustments +- Dvar-monitor will now display both the old and the new value when change is detected +- Before a match starts, a list of dvar changes during ready-up mode is displayed +- Some additions to strictly forced server settings +- Fixed several issues with bomb-drop +- Added training-dummy feature for strat mode, which will only work on listen/local servers with PunkBuster turned off +- Added a record-menu which will popup once a player is ready, this menu can optionally be disabled in the quickmessage menu: B-4-5 +- Added a sound notification to the last player to ready-up LIVE V2.10: @@ -54,38 +86,6 @@ LIVE V2.04: - Small fix in the scorebot - Weapon class availability fixed on halftime -LIVE V2.03: - -After one hotfix and several release candidates: - -- Added delay in the end of the round for movie-makers -- Several minor bugs fixed -- Prevention for "spec-nading" -- Updated promod modes -- Forcing for maxpackets (100) removed, it's now possible to use 60 - 100 (some regions need this, if leagues need fixed values, use punkbuster scripts to force) -- Team auto-balancing has been removed, which was causing severe issues, for instance HUD-disappearing and invariability bug -- The in-game stats has been removed, due to big inaccuracies in values - -Big thanks to the community for reporting bugs and other issues. -Especially thanks to paradox-, and other that we might forgot. Also thanks to giunuz and SirXenos for extensive bug testing. - -LIVE V2: - -Except various bug fixes and code-enhancements: - -- Fully functional shoutcaster overlay for all resolutions and aspect ratios -- Class loadouts are preserved in the rank file -- Class related binds -- Enhanced client- and server-security -- Small changes/improvements to the hud and menus -- Players left-HUD is rebuilt and therefore possible to get rid of for those nice-looking frag-movies -- Full Hardcore-mode support, including support for all gametypes, HC mode will also use cook-nades -- Red enemy crosshair glitch through smoke fixed -- Added a strat mode (promod_mode strat) with nadetraining possibility, similar to AM4PAM -- Client-side scorebot functionality implemented, similar to the PAM4 ditto. -- Disabled ammo-sharing between SMG-class and M9 Beretta, as well as reduced weapon switch on M16 -- All taunt sounds removed - FAQ Q: What about the hardcore, and support for all gametypes, how do I use them? @@ -94,11 +94,11 @@ A: For a complete list of "promod_modes", see below. Q: Can the rulesets be customized to fit my needs? A: Promod has always been about an unified ruleset. Therefore they only thing you can change in the regular match-modes is mr-rating (SD and SAB only). -Q: I want to run my own custom promod-server with skins etc, how? -A: In order to run your own custom promod-server you'll need to change the fs_game to anything besides "mods/promodlive210" as well as not using match-modes. You will now be able to modify the Promod IWDs and add additional iwd-files. +Q: I want to run my own custom Promod-server with skins etc, how? +A: In order to run your own custom Promod-server you'll need to change the fs_game to anything besides "mods/promodlive211" as well as not using match-modes. You will now be able to modify the Promod IWDs and add additional iwd-files. Q: Can I use this mod as a movie mod? -A: Yes, you can! Commands (which are important for movie-making) are only forced on the clients once connected (with one exception, see below). Demos needs to be loaded using devmap before starting a demo ("devmap mp_crash;disconnect"). If you only having black screen, change "r_contrast" to "1" as well as "r_brightness" to "0". +A: Yes, you can! Commands (which are important for movie-making) are only forced on the clients once connected. Demos needs to be loaded using devmap before starting a demo ("devmap mp_crash;disconnect"). Q: How do I get the scorebot running? A: See below how to enable scorebot. @@ -106,23 +106,29 @@ A: See below how to enable scorebot. Q: Class related binds, how do they work? A: See below for a list of commands. +Q: What's the difference between the EU and NE version of Promod? +A: The NE version of Promod has rate and cl_maxpackets settings unlocked and radar does not display enemy indicators while shooting. NE stands for Non-Europe. + Q: My question is not answered here. A: Easiest way to contact us is via mail or join #codpromod @ QuakeNet. +Q: How do I get the training-dummy to work? +A: First put up a local home-hosted server without PB (start game, launch Promod 2.11 from the mods-menu and load a map with the console or menu). The default button for spawning a bot is the "N" button (bind X "+actionslot 1"). + PROMOD MODES -The promod_mode dvar follows a specific syntax. However the game accepts the bits between underscores (_) in any order. +The promod_mode dvar follows a specific syntax. However the game accepts the bits between underscores ( _ ) in any order. match: standard match mode, conflicts with knockout mode. Round limit = mr#*2 knockout: knockout match mode, conflicts with standard match mode. Score limit = mr#+1 mr#: maxrounds - see above for use. Default is 10. Works only in Search & Destroy and Sabotage. -lan: lan mode - g_antilag 0, punkbuster messages turned off. Conflicts with pb mode. +lan: lan mode - g_antilag 0, PunkBuster messages turned off. Conflicts with pb mode. hc: hardcore mode (disables some HUD elements and reduces health level to 30). knife: knife round - adds a knife round and an extra ready-up mode to Search & Destroy matches. 1v1/2v2: used for 1v1 and 2v2 matches, disables Demolitions and Sniper classes. -pb: disables punkbuster warnings for online modes. Conflicts with lan mode. +pb: disables PunkBuster warnings for online modes. Conflicts with lan mode. -For example "promod_mode match_mr10_knife_pb" will enable knife round and disable punkbuster warnings in standard maxrounds 10 mode. +For example "promod_mode match_mr10_knife_pb" will enable knife round and disable PunkBuster warnings in standard maxrounds 10 mode. There are also some other modes: @@ -133,13 +139,71 @@ strat SCOREBOT -To enable scorebot, add this line to your server-config: +The "ticker" is updating events every 10 seconds, each event is starting with a number from 0-10. +Messages are delimited by the "SOH" character (start of header). +To enable scorebot, add this line to the server-config: seta promod_enable_scorebot "1" +Static info: + +attack_score "SOH" player_name "SOH" player_alive "SOH" player_kills "SOH" player_assists "SOH" player_deaths "SOH" player_bombcarrier +defence_score "SOH" player_name "SOH" player_alive "SOH" player_kills "SOH" player_assists "SOH" player_deaths "SOH" player_bombcarrier + +Ticker events: + +"SOH" "round_winner" "SOH" winners "SOH" attack_score "SOH" defence_score +"SOH" "map_complete" "SOH" "attack" "SOH" attack_score "SOH" "defence" "SOH" defence_score +"SOH" "knife_round" +"SOH" start_text "SOH" starting_round +"SOH" "map" "SOH" mapname "SOH" gametype +"SOH" "kill" "SOH" killer_name "SOH" weapon "SOH" killed_name "SOH" headshot +"SOH" "assist_by" "SOH" player_name +"SOH" rdy_text +"SOH" "timeout_cancelled" "SOH" timeout_team "SOH" player_name +"SOH" "timeout_called" "SOH" timeout_team "SOH" player_name +"SOH" "captured" label "SOH" player_name //dom +"SOH" "hq_captured" "SOH" player_name //hq +"SOH" "hq_destroyed" "SOH" player_name //hq +"SOH" "pickup_bomb" "SOH" player_name //sab, sd +"SOH" "dropped_bomb" "SOH" player_name //sab, sd +"SOH" "defused_by" "SOH" player_name //sab, sd +"SOH" "bomb_exploded" //sab, sd + +Definitions: + +attack_score = score of the attacking side, integer +defence_score = score of the defending side, integer +player_name = name of the player +player_alive = if player is alive, integer +player_assists = number of assists, integer +player_deaths = number of deaths, integer +player_bombcarrier = if player is carrying bomb, integer +winners = attack, defence or tie +start_text = "1st_half_started", "2nd_half_started", "match_resumed" (from timeout), "round_start" +starting_round = the round starting, integer +mapname = the map name in "mp_" format +gametype = the gametype in short format +killer_name = the name of the killer +weapon = weapon used by the killer +killed_name = the name of the player who got killed +headshot = if it was a headshot, integer +rdy_text = 1st_half_ready_up, 2nd_half_ready_up, timeout_ready_up +timeout_team = the team of the player who made a timeout +label = A, B, C etc + +Broadcasted dvars: + +__promod_attack_score +__promod_defence_score +__promod_mode +__promod_ticker +__promod_version + FORCED COMMANDS All these dvars are forced by Promod (automatically), make sure they stay untouched/within range to avoid being punished! +Note that these does not apply to Shoutcasters. dynent_active 0 rate 25000 @@ -149,51 +213,73 @@ r_dlightLimit 0 r_lodscalerigid 1 r_lodscaleskinned 1 r_filmtweakInvert 0 -r_zfeather 1 +r_zfeather 0 cg_viewzsmoothingmin 1 cg_viewzsmoothingmax 16 cg_viewzsmoothingtime 0.1 cg_huddamageiconheight 64 cg_huddamageiconwidth 128 +cg_huddamageiconinscope 0 +cg_huddamageiconoffset 128 +cg_huddamageicontime 2000 developer 0 +phys_gravity -800 com_maxfps 40 - 250 cl_maxpackets 60 - 100 compassplayerwidth EQUAL TO compassplayerheight compassfriendlywidth EQUAL TO compassfriendlyheight +DEMO VIEWING + +There are some special dvars made to control hud-elements for demo/movie purposes. +They will only work in maps loaded with cheats. Don't forget the "set" prefix to add new dvars in the console. + +These include: + +promod_movie_hidescorebar // [0-1] (hides the mini-scorebar completely including timer) +promod_centermessage_position // [x+-] (overrides default Y-position of the "You killed..." text) + CLASS BINDS -You can bind them via the in-game menu. (Controls - Multiplayer Controls…) +It is possible to bind these via the in-game menu (Controls - Multiplayer Controls...). Alternatively you can manually bind them in the console/config. bind [KEY] [COMMAND] -openscriptmenu quickpromod silencer //toggles silencer on/off on the primary weapon -openscriptmenu quickpromod grenade //toggles between flash/smoke-grenade +Commands: + openscriptmenu quickpromod assault openscriptmenu quickpromod specops openscriptmenu quickpromod demolitions openscriptmenu quickpromod sniper +openscriptmenu quickpromod silencer //toggles silencer on/off on the primary weapon +openscriptmenu quickpromod grenade //toggles between flash/smoke-grenade SHOUTCASTER BINDS -You can bind them via the Shoutcaster main-menu. +You can bind them via the in-game menu (Shoutcast Setup). Alternatively you can manually bind them in the console/config. bind [KEY] [COMMAND] +Commands: + openscriptmenu shoutcast_setup number openscriptmenu shoutcast_setup assault openscriptmenu shoutcast_setup specops openscriptmenu shoutcast_setup demolitions openscriptmenu shoutcast_setup sniper -Number being 1-10, it's very easy to understand which player corresponds the correct number. -1-5 symbolizes players on Attacking side from top to down looking at the shoutcaster-bars. +Number being 1-10 for players, it's very easy to understand which player corresponds the correct number. +1-5 symbolizes players on Attacking side from top to bottom looking at the Shoutcaster-bars. 6-10 same goes here, players on Defending side. -Putting the class instead of a number will cycle through players using that class. +If you set the number higher than 10 (11+) you will be able to follow another Shoutcaster. +This requires the Shoutcaster you want to follow was using the player-binds to follow that player. +You will get a confirmation message which Shoutcaster you are following. + +Setting a class (lowercase) instead of a number will cycle through players using that class. CUSTOM MAPS @@ -202,9 +288,21 @@ For example map "mp_dahman_b3" contains a file called "mp_dahman_b3.iwd" and the NOTES FOR SERVER-ADMINS AND SERVER-HOSTING COMPANIES -The dvar fs_game "mods/promodlive210" is forced for match-servers and do not rename any files or modify contents of them. -We recommend using the iwd.cfg which you can put in the pb-folder, it contains checksums for the stock iwd-files for preventing custom skins and such and can be loaded by typing "rcon pb_sv_load iwd.cfg". -However custom servers with skins etc. must use something else than "mods/promodlive210" for example "mods/promodlive210_custom", it's not restricted and you are free to modify files as well. +The dvar fs_game "mods/promodlive211" is forced for match-servers and do not rename any files or modify contents of them. +However custom servers with skins etc. must use something else than "mods/promodlive211" for example "mods/promodlive211_custom", it's not restricted and you are free to modify files as well. + +Included with Promod is two PunkBuster MD5 configs, "stock_iwd_md5.cfg" and "promod_iwd_md5.cfg" which you can put in the pb-folder on your server, it contains checksums for the stock IWD-files as well as Promod-IWD for use with PunkBuster MD5 facility to prevent custom skins and other forms of cheating and abusing and can be loaded in-game by typing "\rcon pb_sv_load stock_iwd_md5.cfg" and "\rcon pb_sv_load promod_iwd_md5.cfg". + +In order to be automatically-executed, the list of checks needs to be included into the automatically-executed PunkBuster configuration files on your server (pbsv.cfg or pbsvuser.cfg): + +pb_sv_load stock_iwd_md5.cfg +pb_sv_load promod_iwd_md5.cfg // match-server only + +In case your server doesn't have any pbsv.cfg file, go in-game and type: "\rcon pb_sv_writecfg". Depending on if your server is streaming to any third-party anti-cheat site(s) you may or may not already have a pbsvuser.cfg, if you don't you can just copy all three files included to your server's PB-folder, or if the file exist add above lines to it. + +We STRONGLY encourage use of these MD5-checks! (This goes for leagues as well!) + +Due to several game engine exploits, we recommend to specify the rcon-password in the command-line of your server. If this is not possible, rename the server-config to something other than server.cfg, which would make finding rcon password more difficult. On another note of security, the IWD-file "z_custom_ruleset.iwd" is now running integrity checks if server is running match-mode which means you have to decide whether the server should run "promod_mode custom_public" or not. If you later want to run match-modes you will have to use the original unmodified "z_custom_ruleset.iwd" supplied in this package. Sorry for any inconvenience caused. \ No newline at end of file diff --git a/server.cfg b/server.cfg index 29bbfc1..05ee00f 100644 --- a/server.cfg +++ b/server.cfg @@ -1,4 +1,4 @@ -// promod live v2 - sample server config v1.2 +// promod live v2 - sample server config v1.3 // for public ruleset customizations, see z_custom_ruleset.iwd // info strings @@ -7,15 +7,15 @@ sets _Email "" sets _Website "" sets _Location "" sets _Irc "" -sets sv_hostname "" +sets sv_hostname "Another Promod ^1LIVE ^7V2.11 ^7Server is Born" // password settings -set rcon_password "" // remote console password +//set rcon_password "" // read server_setup.txt why we don't specify rcon password here set sv_privatePassword "" // private slots password set g_password "" // server password // player slots, maxclients - privateclients = public slots -set sv_maxclients 12 // maximum number of clients +set sv_maxclients "12" // maximum number of clients set sv_privateclients "" // number of private slots // client download settings @@ -29,6 +29,4 @@ set sv_mapRotation "gametype war map mp_backlot gametype dom map mp_crash gamety // promod settings set promod_mode "custom_public" // promod mode, for a list of promod modes see attached readme -set promod_enable_scorebot "0" // match-modes only - -//pb_sv_load iwd.cfg // stock-iwd checksum control, remove the "//" to enable and put iwd.cfg in your pb folder \ No newline at end of file +set promod_enable_scorebot "0" // match-modes only \ No newline at end of file diff --git a/server_setup.txt b/server_setup.txt index b38faa1..ea91103 100644 --- a/server_setup.txt +++ b/server_setup.txt @@ -8,7 +8,21 @@ dedicated [0-3] (listen, LAN, internet) net_ip [xxx.xxx.xxx.xxx] net_port [1-65535] (standard is 28960) - +set dedicated 2 +set net_ip localhost +set net_port 28960 +set sv_punkbuster 1 +set fs_game mods/promodlive210 +exec server.cfg +map_rotate + +set dedicated 2 +set net_ip localhost +set net_port 28960 +set sv_punkbuster 1 +set fs_game mods/promodlive211 +exec server.cfg +set rcon_password password +map_rotate -Make sure you put the server config (server.cfg) in the main-folder. -Included is also a iwd.cfg which you can put in the pb-folder, it contains checksums for the stock iwd-files for preventing custom skins and such and can be loaded by typing "\rcon pb_sv_load iwd.cfg". \ No newline at end of file +Make sure you put the server config (server.cfg) in the main-folder or specify correct path to it. +Please note that we also define the rcon password to the server here to prevent someone from downloading your config from server and thus view ("hack") your rcon password. + +The dvar fs_game "mods/promodlive211" is forced for match-servers and do not rename any files or modify contents of them. +However custom servers with skins etc. must use something else than "mods/promodlive211" for example "mods/promodlive211_custom", it's not restricted and you are free to modify files as well. + +Included with Promod is two PunkBuster MD5 configs, "stock_iwd_md5.cfg" and "promod_iwd_md5.cfg" which you can put in the pb-folder on your server, it contains checksums for the stock IWD-files as well as Promod-IWD for use with PunkBuster MD5 facility to prevent custom skins and other forms of cheating and abusing and can be loaded in-game by typing "\rcon pb_sv_load stock_iwd_md5.cfg" and "\rcon pb_sv_load promod_iwd_md5.cfg". + +In order to be automatically-executed, the list of checks needs to be included into the automatically-executed PunkBuster configuration files on your server (pbsv.cfg or pbsvuser.cfg): + +pb_sv_load stock_iwd_md5.cfg +pb_sv_load promod_iwd_md5.cfg // match-server only + +In case your server doesn't have any pbsv.cfg, go in-game and type: "\rcon pb_sv_writecfg". Depending on if your server is streaming to any third-party anti-cheat site(s) you may or may not already have a pbsvuser.cfg, if you don't you can just copy all three files included to your servers PB-folder, or if the file exist add above lines to it. + +We STRONGLY encourage use of these MD5-checks! (This goes for leagues as well!) \ No newline at end of file diff --git a/sound/promod/defused.mp3 b/sound/promod/defused.mp3 deleted file mode 100644 index f8e969163478a9104deb0f15dfac898c5424c1cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28002 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 diff --git a/sound/promod/defused.wav b/sound/promod/defused.wav new file mode 100644 index 0000000000000000000000000000000000000000..5f25952e289eedd02b8b872e652e19fb8e4449ea GIT binary patch literal 71656 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

JpbHhOgffw>$R9;sf&& zq7x=x3GkW#`QMo6=UwDvVzHNfoO*=1h1jg~7A@ndS|`^R)Q+nWRct8ym-X{sS<1`w z+d1m2#0)|j?eG4-$*KF(EHh?hyXN06QI^}*avQg{W8CAy1#*&R5X7_EF)o-SS{c|> z0&n9Qrwg7zeujbP0_}p|1>X$WHx&xIIgLN1Fl0wyCh(Q_jk9+za(ZOjV1C0W-e4i? zD!rGy6G_%OD9j}9L>C3EysO-UUBk^^>Y8gFRC!dSmYytJp1&h+f1YDLE&qC6K;EI; zgxrt02H;LMx9DX_ZPnNM>bC7YZw8sXEBy6RiuxD4khqJUa?_C(W;N@wrw5Q>9u{FGx-*;i@3@>eyq>Y# zZKl_hO92Ze{^xJ%pEP0KxDFc@XFDYyPQxkK7DYS1wQpkEhen^8r=^~Gb!onTbN&>h z1ZKR>=4LEQ``@3($pJqj|Gv%mo%J(EUK<~d^AHgk9Iriy)~0%^bGfD}_l!@X1?YrMfQ=Yh#4YuIs< ztGSzj+Z1{%oZDu8XRYRW|lC&(~nc`!F)}q z{IfVovOJ@fju_O9yv-uJA(us5Ke+jFJYb>I)zePjxM z`KbNqaXx7j5#5tiOFiXOnOa1WTo%rdg)5J!j>-8llE8V?d+aY@I-3YfMj8F1?HTp9 zjYpcNba(YH=C<~49|{yuR69uf=_E6XyU>>r@X~*~ON8eFKf$yGv#sa5%^aFBH2?JK z%pLS?8#YGAQ&&w(Oxip9zw~We;y)~koOLQPV%p-Vrzd@%^wodq_$uIeI&AdV@F#me zd7r*da%c1p*R}_3QC1!}mO0?^zjM+E7?th!xH%d0Kj>+^cf1Vpml{<=mR_^|j4A+oL*cI>vR(>QM|- z^Grn-(xVk`Zy{|vVyXR z1Ga}IyG-9UZI^qrg_%oxu17F|**@$ef6bZ|Tli`h0R3t9DcClHSoFEnhBjl`qwmqQx{j zLs!$i=H-@utV8YgJ2p7GyPqE4JV6{#7vvUH5!f&>X@Zl_KJRHh;oc8CZaE4qD~+bI zZ5d+fEAlcBxn8b4s*I4V;BOox_wMWPX&u-2tM(hnM~=>)nYA|EC4GB_QC3a%)|_#< znYsCS<^?fDjU`c)b8BxjvRd$FY0K&kb)T4jUiL@rjNO8g$teaGEZ*8?I+)lyIPdh- z`2G#P64dYiY2ulHXQAUFUPqpqo;2-Q==@3PK~Do&fscKO-do*?P6f7P%MYeahLsF& zavbW4Kh?cd-j`VN9}o8RE$+$gn%@!7>eKkK)~I@ZWoE^y$_Z6oHCPQ^>s+5!U)E6B zh_rs~Jl{KKFmPn&Xq2#6@>sq{U7#gkL$DKil-x%ZQ6&r&J%N>I&}`txxy6}h;A3!x z{Xgbg114uXr;ELg_J&HPOlI{Nd?#Nc5-=-u6V5;~@g0~{{CxEDaB3f84 zMxXs=sdOc2Ep?rL{QZPoTfc2H+c9Bt(7Fe)7v}1szfa#BwQ}aK$o!DAJ}u6lY>!$z zH@{(AM>~QnRps-QeY}>NHS@}!6{5Ly=@UCj1JO=-0!Dvp*MFA6Ub7o9F%S9H4ITmDGCaiP9wVQFYZdsSH7?54D~kgkqi zA1-}lxlkYv!2~FYR=_YdNZ~-{vu$QOs$Aus44)*wa{u{($AXfBmrThGKOBin?+ZIR znHd^9i5-#@yb;7y%=NkL`OE#T^KV6=9X*E1y=%D|4!A>ZUc*+RnFgI%2vKdOe3E{Hemz z!e&8)g(%~lm(vRv#pS~fT`;M;Y% z`C7~O#AJjU(cXEPvu8w`hHnh% z7*BL2T0Jl-VMCNa+)7Cj+!)&1`?7^oJG1m*K0hZi>tY)AXJxYPt7VekXWFL)pN@Zt z`Iel#|JSxZy{WzFqd8SYlPeT;HZ3zcZuIMi-wVj{EX`@;e^g8MYLggC#4Zc?jfCzm z$1!}~_`UI`1xf=J`I}En_RXK5@p1J|9XIMW=ycXD(6Zg6%J4Zek-C|XhV4=3OLb$) zVbg(u?(H3oEh`$=)*h}5DT^#VRXDN0Cx3I^lf3l&t%amwcIoW$UzL?rnYEJ}G%bX# zn|)gc@nOYilJKIOs5L|?N!w^{EE`UV=>e-JHVf^89ju%ZU4FYpxJSEZxU)SHJPXHx zK&x>+9<$s#+Jll4-~aWX3ZVF&5D7 z(e>0f)DN_?6kpm|x;Q@juO1>*jaO&t9~1p6Sf6>C>l*L&t(seB;MQJMFNkvz%s{XQ-vWBaT5W+EjVy z*m&+pms#7|rmMBoiiqN#yzZQ!?0K0FGT)_#rX5f7|403|HMKsqH7z>hW7e$PlLgXJ zb@jOhq!sO~?4=FyMx(?V<&CO^`bY3gk{Lab6~@_Rl4JhK`nugLM-!KMuBEOsU7cMF zT&6oucG~A~*LJdXu|>UEi0MBt-#^BfNQonqLU#I@YK|gC8Ysd??+m*S`f-mAobP+u zeW^XCRo#-?x~1(&+v`?Rt5xg&+TM4#b0l42CsSS5Mbn{DjutwwN}_m zd=D~_xR`RE-om`e78$JM@Ql`&-Z5ueowD|}*=)1M#=s`srpUJ2F4SSO!xnpnot;gz zb(WQzwTE@N%LyGZA#$&_Gn6}g0mt zI*WRbJcCZBPh;Y&19Tqw2=xkeCR4y5vDGXM?E#a*Y^DE?=0%%AgUDHg2gK<_Tf%E_ z)EP)Hep*|seS%$tCg_tSqreg+6VbGvu_Wy*#Y53D@ls6{K}=7gY$gnoM6_U&G)sHS z&%l2+)oh1tqI;e1YyZQ3e4j9%2A?fHtbh+e=Y#eKrue?`n(7(tSwC*Q=Oec^7Y~Qa zHa{#xMh?siq+Db_l&7DkNtbmCmhvtSKJ7c%S=8#=9NYAv;crbu#rGmrUQ}*(UT4vy zl5r)wiG$cb=^XC4+8@>*(fhLNUZ;I`Sj3K?*2y-R4%b{NodazLjh)yY>`~4JlZ_ll#w%hk z+>B_+733I%pjs*{6rGlI%B>~eM_Bz<{YwTsM>BaGZcg_S(03fWqk7BwuJ^DyPIX`% z>$=dY<9gA!;Ytu$ks&No!i_uNv)8GlA!eFz3KVuyIB;Anun|z+) zNHHN_M**`KCty$T35XY98JFYF@Wa}BIuW)N;{wiVg+2hQ1*VgufLhvy?}8>HnJ66{ zk6eMo_)TI6@f0P1w47LoE(0`*He@>@gWHjZ$bCWwtR~Dvp8+C9o8D5N1z63;_1Wsz z(pR!z@ci&cIbN|r;h`9mFOpA}bqNWg17pTwYw$#TTD(LyPnM+Q>wK`aup3%Q+)4_e zMNwN=18k!4chmD`R0}JcB8UIEKJXNHczCRHx$J&_oXLbIzJl?-u5TSs$3)kIo_9R& zyWOybEj}1!ambvz271PK(tMbPb!dCk66HVX3eoWBI$r0{^}&w=L)|`YOPaJ7I0?` zCJfyhzB3ZaJ39J)Y_6zJvOu1%_@^{cgKS6LBb4=u-8Z2{+U(namgcJHy%noKZUY_!zU#@5SfgOQrPj(nWDkhzrojQ))92GrCo zB~j5Xc`KYerr_`Ae;R!{oX`EepcBhUDooKJ)K+mAXaP?5? z;D@1|Bb$Vmq!x-7@@cYz@<-}J`fzw5YEIliUO|net)-o$&8KBBy$vs!oHOp>tYv*> zl^Hsk&9=I39&Faj*=cyoaEQ~-Sz@$;<8C|#=qIu4AmG-vXHePwOjBkaZ6ZZPYD8lR zap+658=S3)D~WfqDV=;5HIQ`H!L?GLSUr2w=%plNmTi zX9T^#^BIfTg@6LWgC9cA2{)m&*hv(_st_YW81@BAhTfuV+6%@(l%fq*{E;Ro^KoPS zc%4{fEBUE>qnf5%s}#u0B_HK)#Ro_K@qTgZMnZ%`B6EJg@YBATLj|KLBEi_gA(y`P zfpLOvr6YC}X2MReGvz0hN8L$tA*~}Fq$hCZ*=k(AyLY%Vo&P!xINf(M_M9|+hewo? zx!oPx3-;D-uAYT%kDaI3e6x6OmS{Z3U@843!3uc?_}_bxO}LBZg>0T=y~tKb89Op; z+dtB^ru{|x($3_r{+`}$ywkNaw|!q*TN|@2yH(rj-5S)^+|KHf_x$OfKFAw7FP6Y=f-5ECVebnNz?B_9#{kbq#JD3K$w1yfk=hu!-BjO&ElRQik;-3wfSA z8V>`$o`)ip_?eh1(u<}_AIs({zNj8*Xc{wZjCQv^99JU;3E{+Uq8HJGoIp8AeMW<5 z0%{_on$|>jVmL9rv$70S?Cl0W*tzr+S_8G4N~e}lm1F`#_aXnYN zmUJ;YV>^y?#I&z(OKbVm6yLO}DXqDsqqgfzPj+`u*Uw%*E^l}S?>f(DIAgG3a5ry? zc#Q&9?^DT?XEk%+Nb*_gQ__ASj=m(nW?CEG<4iEFH9BMJ4=gzcY(Ln9TVJvYvnJcb z*j};QWPjSe&#uyTk}bm)vwmomYrfy4grhMqFnGYWVd>~cDD#QNXcW8zI*Gs4FVs9y zZjv9C6bsWq97@&Lo3RJ{qdeD<9mDfS_#;z!UwI|Nr-x)ivxjH$lKHNJ=Yk-iQe+5x zyvJoT3<-{uT9YC(XMpy*9ki+Pc0J$gzIS)*V3Nn}OL{rkoT; zc|$k^`K!X@eEmZt5`Br3X!o;;}f)|+UbCXAcfaMy8(ZEuVx%@RtzX}w7%+AIi_Z*YgGYw z8fJ)pLF7Ntz9+L}iB33(WpFa=ql5I8(e|d_?$p?BQ6O02txKD~0QXdQr6Kgfvjj5Z8%T zi)_Vb6jK$~73)=za=olZ6AH!_Pi3y=p85!W9IP{7P`Lg-TtKoUEI@Cei(naHKXD)V z6s?cwKz&ZzLRHbC>9-h3jH`?rjE^iSErD`^UPo`IyD?&@Ig|ui8##iaqTUCqO{K(4 z)DX;DPebF;`)E30J`$%d)B5N)K}1vwKhZ|Z-)Ib>oe&eds&SG>NtN0xSfZb!-LBap zPLYSezd`QCAN3CPZH=Y=FPx;0)Qranq-D@btO2oCY*ybUEsH z=w97y-FNID9!eM?JjQS9r26j&nIs}ig50$U>N$W4at7arj_QJtK;$QuN=ic4>bbz+ z!A2bjH}R$VNJviHMP5lTK?_wIbp+HJeoyOx=P45P!TJttDd9X|Y|PT0)^CACust+e zUxShLUo~d|@n52^!Pi2t)>bxGbsv39=p}_h+vH~z_G(1;fqDYP6d1HsJ6~ftB&675(=ObLAF>?t!nI|<8>9#TkI${9yTSKlY+>0j0)y5 zgVm;?rgZRZwUXsTPh$BS>rGCYc9<&6Uzt9)Sa05D`q;Rf$TrBhk$!1OMeEFXb5_9U66X0>YB7oB$nQg$H)p~(PLAFA;CYu zp145%s3!~W2`m+3a1cq0=g5x8DC&!ZH6|G2C5FR+&{kp%Ae|X1l(OBre8PWhYsweQ zO}AXPoN%9#0X6H7Dm(MGu4`m^0 zGyNJ_HdIY|C%ve+sA?WNBe#SD5g#mDcS+QQZGPehy%$J z>(GUv=LlZ#Y8ZvX^!=*)gnH5m(m6C0ve6yFClm6O!-_=hHDxL8LzRDZ zhyXU7{Q|!9Ba*D9>pam9+UJTP?L~MO+^q~0?vOcXgc<^gh7zP5;t*Xv%%nb~25C>I zLc~L&2xuN}Po?NEd(`dGb&N3_j&Bzi=-oDgCBilmeM z03l4TB`kar)q&!N({+QIO86&5N@&OLt0>~rawZsIN)Z8MqP(F>hKiAFWH0#cl(hEckKTak+RA&Y6tDYewU^gDzV#3__Ks)G8Gea+|!Gncu*=q6(qeU-sIFcWyj z04{HehFV5UL)lbMI!X>lt+8~~4}B@L2%Ci zHsBa{7tR+ikWfVSN(bzo3LVKDBT5}4#@K#Xthy*Ys6Hjg)?KBsagmZK#U$J1U>3@N zVL$C9%@6fkXajj7RjvG}3d1y-W%TdlY04`^U$_px#N2@t=LcGMq|m2imS?Wq!52d zold3c!*ut=*F~{d1ob5qq0S;KP#jjS(M={e8U<1}%f;duk{N1e$}W?K%uUKWa!c(w z=pQSY-3MihcJl_Xod*9Il^e3uu>)MOgyrK}U`f=*jm2<#<m^@;ue`3kT?NAqv{=PH z-gm@9S0xXneujQ`T@%j5PD2*~jVeU?Lwa9#4xT|NVmhj3_c0YJB%Gq99Ve{TofS`^ z1+(75q0Fc92Yfo{yQfX=kRQs5(L|yr>4A~8Q4Gq3i$y8?dgv*jC46KX7=+7T_D;v$ zI57LENwn})*KM$FWvH2m#45b>p)?vR2U#Vh4(WUBwFXvn`Wa=O_)eq0AlPc2@gGVJ z`f4bpbxf0La9hnJ1rxEMeL5P`m*&i_Yu^BO!%68+MS%PeY-u1jz00UV%Xq;3D!Y!H z;jGq%4n2fk8zV#?&K`?y5uaPGiB(N!Bswz08C~nC1mbpvGH?N5;=p3c4E)pB7@|S_ zczMu1!wQ4%mNATjg7^F@U`1SpF!YD{0#OZd1Lv^GB~FZ5$x{<3L=ROaK3lP1?5biu z;VkPPF&RPV^9T$XOE_7uUtY<~G~PRE)_VYO+cq0twJRIiGMuj944JVnn%(K1(E=Q_ zCId!eOxi$eXRHobQmrBl_P0o@zDwRSyDWH48u&u*F`)@I3`8R9q?01W21LW3!FDrtctLic5FL)Uh0N)Vw7 z-$ppg;+B&WY^`H-pBnL|4H5{@U(O=a1nJK~6V+LX5nN}o4;fV~)_)s0EV3|2=LAyt zV^pqKevdVi;~=e-Jciq(e68I234L_bk?SRHCKj@fm@mQFg@&x>;t9e<7Qf+HB%00i z;a$B_nz<&CO!1L;RElo2ewN;({<1b;NHt&aqnh2ag_JucZ#ZnKlkN!bo6-hx)xR429r;P!oK~YI@CwfolXe`bOhxMgnM}>>je0 z7H5=2vf=&}hccC{cV<<@`z?mbAUA*N82%sef?`Nc2YKoPJxIty# z8z%bC@(A4kDI_WS5}IOZp*GLWtPM`Lx|jaezOa7eO0@G98s{>4W-=d|q`7Wl&uI?q zc#S+~}v8Qg7Qaa=+z3x)OW>-R*i+6~xk!mbR@9KFNerY{&jO zwPihS-dW$c^M&Vh9WTugCPF@{&01qhGqVfd zt;v-K4_|}QoWz7QWf*R%;7iKX1R|IIn0i##E?+}J)LwipZb3e!l9~0h&o?o7-z+T6 zh86LoCDfs=dGcuUx5gh0>jrN2S~0dz4>*0b{yvg6U@2V09JbX{7f8JNqu>LqBMj7P zwHR(Xtz_F1%qObJ1I|O`>Q4-&tEFXBe^}Ej_@rSOHH7g+{i()maGRsENsr=_fj7y$ zb{TKbc8rZ^w@RYKQSc|EpPpr)g!-gBp-z%vn&_^@UypS2p9-oBUQdwP_e#H2zv)gv z^|sHv%`H#$yH)sc{hWq^Iw+4ujQZ{lu0@mGMvV)H^@5vXYteR&HEl>xq}>NxX%*m^ z%1kLAeE~J${>WnZqGAB~}35~XHWM_lY`u36wtXZ~xwhD{Q9lZR}(X)gT7N>mTSa9FbUX}QPB7^zc zv6PiRwy@_|`+)9$6VG|r8HZ zawgUHk2Xi1%d$bMq^nQ|5*3Ev=|)VDB=ctU=d`PihF zSFDSqERgJ=G#gx$ewS`BFj1%Ws~j>7I~yS)&8(!$Oj>2sgFeO(IEVB_v`EsepCLPB zETBuJY?Q6Ub#K%P{R;EXm?7VKbPcuEEl1rhc|_>tHc@S@G|Cu2;ruD_M4y;@Yd(k` zveqb#G-K9w5?@KF%RA)Fz(k9S^jp0Xm=lc$g*k|l?LK6w-R^i;6QIUi$M|Eprr1mu zXRG;Go+6hU-!*}L*z29cd)2eDQ;m;Qt=3jvd(eXe*SSIBa!!gxHC!P!9Lg2OXx{DA6!*$bwffR5AgSJKstB}NIf7ceZW7WyDP z_+^TdaR;$p>?)8`nQwg)Bk-QOYfJrg=xk8Lzhe%>Q$<-{0m@OubMQFllV)9|w zg5X0+Q+Er!NsmdH+Ii#wqK$Nib|$XYWimL-N78TnILa|rkbXMMMT&$Mq=tkv10{2c zIt;s@iC10LoJ9E!zc94V2R;C8(%?oy^LG;6Kq(;X)VGMNMyDkM8R_!Q+DpddRiU$s%51n)s5x_9d7N{;TA$zJLq!7}s>{6feu45B|7 z{0gn3+(3&ByI^nOc&$C-5y23j$)2n@IZ80eq<+`5v8y5Oa4meq5hYw7YC_B4Khix$ z36{MQvLK0(s&7+XHCd&W51BB`n3gb2+bmh9{z*Due2C;R7BJkUJc#B|oES}{PcmEX zVGWogA_vqSnr+JCs&LEFAYlvzLAq4aL78aaM3{>)G)}T5ghaEQ%&Y2l)i~uZwTL~*WE&%$uuByt zouDsdJ~SI+e$+kZCrTQr?M5pM-y6Oboa_>tQvn+$I0L7&Y&8)FL?@PCE6|j zg}MWOrvswZf5*sByoRBks)zN@sar_aq8H-bnvd8g#xQH6e(q@D=nh0_^pxGBSS2vl zWnpW{VuMsOc4Y{ zlLl#dNP?h1o)2g%FLX`VDkuRpg(fJDt9ziEdN%wGDZ%fkTcxLT(e(Y)89FQ7K47yb zA)>Gbiy+c)C$$DXgDpWGaHc_v#=77oWG+M_(n4biEdWWMnF}8!nbp^*pozM@VtxIGvkz7-Q%)L>KyYe3SIM zas_&xWJ?&t@5%ni6NnEf6Y)sBt%fcy1J;XO&_=b1szZAb|3tcvn5gC}D|C19gTSEc z2Dq9Qz%M!-O2N6@B5Xz;<97HGOn4i19g9WPhzvS`AB3JjH=rNLPIxo40pUZxF#%kT{sjhK8<>E5;x}Ml)SLJM z*{mPaU&1c{;;}#BENEqypaW1o+=_n2ujp<;Oei0)+%G|17y~~J+2Jp+=U_iG4qFbN zhYkXJ=vI6`l!R-s#lRGL22;TA0g-^1dO)du&elPXb`#yHR83U`d|1OhzK~uvA8Y%3F`oRYF}{{cqR{m9stj30;GXB zkReoo-+<1*&!8{Rdw36Y5Sj~Evz5>)C>}&Akl-fB6xd#W<7SW-v=Xw0ZiDN9p^pE* zO8f`@5sv}plAU-r)`>ZSox4Y%c6VbFaSJ>aTY{NmR4gCM1^(Do;JZP?T};eZ}VE6Y&826sVUzY&9SxUjnb& zz|O==U?!dqjM-1{Uw8mC4f+P`!54u+wiRCjzlLVxG`I>r1)YFG;B@F3pe3Y%^Ii-sgIu5?oQE?(R7WFl5eI_L9)bOvGtdw)O4oze z*P!FjZ733sfQP_4GBgXSf>e+edJUO_Bku*}mkjEY0OjNR@p60s{H`Sq;d1OPRtpTb z-PlrK{T`1c0UzyYVD=3JB>&UE5R(TMrI~mruq4j`uHPy6O?(tkf%VvF;6*M4zgY{; zbPc$2A{-C9z!}gVNC6!Nd*1JnXuui&2RkDfh#T5&PKc~m^BYJ`UI5r!z!5(8N*fop~ti)jT3)mhG^?4$5>a0XIPYfVrKXi3S?1!xqn2hQ+r{2tiLb;J9C zciI$x3tF-QSi?D3D6pcJ>blVD3GqfA!V>r0ns@d`;Nt8H-Qy9A6tWU>I?J~U>E<3Ey9L? zt#~c=49mqTz;_k{YjzB9d0zw8=H>WRyZ~IAA9Mxuv=6vBu!w(v!r&F~Kj;nA44nmS z>m=xF!LT0Gs~%baZ-6ht$6+tH2P%YqLp8wYT@6ZdJLCkJ0Gl@%jAfre-};61f?c>m z;0iy7d0{Gj2(}V4#LD&0^#Ne#K%-v-EX#2igcX5W`-4pdW6oXR;XaDVu`8hF&7n%r z{_F8+V9d<~Jv#-syRU<@iG|DHUidnwKPPw#+zFc@1AunD4Y;L`!PTH9*TWjnGlGCs zdouXWMA#NCg*w1_*FaOjsM!R@lM9d|a7TlTQt)mC*yk~UBEZ&_C+H$a4)}4Mrt4=rv#Q>-bUpG@b=UsCoGRb#x`*Q50GDRdx5wB$JDT zLoj4PjsPkNs9XwWK_Wq}5Cl{LDnwY38+L)PEOLnPSU?Gf3J8L7DH<097BmQPAq2$; z>WW|@q9#C`B$GM1yXx)Fe*Jy(&2;z7)O%I^>i=K8dhar9CF9&{{2u4=a#+!6us7fF zem=(MVL4i(&iMt*RjF8qn@yXE5X*HAwc7LXth_)Y@Qp&MqzYK7T4sHOu3$HDB^B^B zUP*oVbF6ul@myHaH>nNp;7LOA4IWR+baU|yK0imF=yaO)|1q#v4HOj^X~{BIf7iL9o40H7B_MeDxlv5Ymh`P2e_7ciG7&gGP#OKcA*k|UKev~Jkwv$8vb2p zh*o6CQu+nsD}qt5TolPkm_H7}#wnh}ijw8Wm>ph3J@zl;0BWX}(Rz2b-bABOkG_Yq zQqJO;I$NeO9&X^+;iy(p#~aMXa0rT7ZjCs|Nvc*XM`rx-;)atX+VfU%#AN3?8C3aPWq!}U$^QDhDl;yNC(LQ` zes_sk#Ct`Zr$OItl&BK^(3r$bD|8vw6n~)IaIZOw)9cMVKkkj4;+I zkt7lxQxW?bw$ZNDV`Byx%XybQ#qRH07rQfNTI8s`)9t~9@kKm_i%qZG6T8OqW#kgw zYu@Y3vHFR)NCO3AXWu?~6|=gspOig~AP;uVhC0gC)KaaBEl`d20ykL{c_=)wDaqY0 zSI`gEOW_4P$m;n=jb~QODtCC~(NKb@3VY)#6c{WVT8e?Eh;(ITMZbjhB20@^bLHuC%+=FNsTuK5fmn`_+u~ zO^-hBKH}3nzVUd|UaOg}()Jn)^|G+Ec35xv3hcXsSt1&^>3^in^VeUsUop+dHqUdx zh3ZMCDcp*)yW})$5VPYAIn=bkLW|vpnx)e8)(fN4ygOQkn)2->alb^cavZ4)G&ig2 z13nJls5=oEZdZlwG#)UnxJMg5y|%SsuJ=;P0qV(p>EU|6w}*G-A8t&@E)R_j-Is7) zbT-~mOX$AHsbA}@*0$g2Xzq;W26sir@p$h9D^6^8)7)$)QEa0*k=ACiClR~k=eDTx zWkjpgJK;v7T$jg}xXS{rH7ur^Cs!X9S8&gFfuWovuPVlDe#E;*9So$apT!;KJ~LgX zHDm@-yxqJ`uqI&z6~w)$JB6P~{5CW^sVuR(zjH#0m1Xty9MHqU zy`zq&PvQ*wW6E&yQC)po{DV%Lz%kpb-yojwq{r+L6~QWRiLdaFmr<=M-K{YWIJKb# zjv1RBf5hmlgQ2;`KaICkTcaqH+$cN&-@VDFuBs)O%npeQ`hnl1JuFY=~YTN}nSZn3KDLrzJIrRt(9%@xVn?%V2!uhiWT zy6$AilJFvLs&U)7^8y#qMhNgV=z+=#rewH`Nv+ zldIkP)z@mR|0{jMPP1R4rLjY0UBdzX(b|XlR3oj2no=55&2z>CyJuW0@uy%XUyYH- ziLxe|;k>8sE}&9^z&D-sn$M>wC(hbypyd&C!SSUt$tPL-2dmAC;5ZnwiFYx!?WL@u;lWjz)HL zt$sax3@gBirnJ@wRJnL8DNLlVwo#HmQGu%%&5$Gh}o98LE&j^<~_EKHr3J`Z&i3QQJFptBl&5*+n3{94vyl%{$8GuvK)0U3ZkdY-d39K&96{b)hO@s zxO$$u6m>5SMc$X)#jDYo)X6=le>0X)3(We9o$n**&K^~!pQXLtlXMr@V^B}Dr|IUh zgSw)B;<-9axK_0pCwJ%zx&Z6_9prDkKv#>ire&S=K5Nu~k#%sZz?NP>yjQa8^A(#{ z^cv56>+i;w{B-04*KhxeIvGPm5mwkWzLcL!3g@X}U(O0A|oVpDXHYHvL*JBuh*S-s#&o4uBC)tRBb zbxzVk`Ke_a8{KkOnnPk9_k`Sg+z(Zfs`IWBUEB-sDEvi!1&&&%&$*?lN#x4O@*<+4 z8hN{zEIt$|?l{cv1gw^;YPm|4^Bux+qpm4V(pI4FRy@f$tQONw{t9c!4QiKrkJv0< zphHfz`Ztz^rz2KvoL<2lb*dooSI$6WZzAyPQL%=5;B03gm3p2CUe`va!Up!1VPuq3 zdX+-fe;|y#T%;>?qR6$PB1=37|JX^Y)6F>(3`)ogqTF0>Aa|hLE~FD0G9Z^O(lAQ+7gs3l zoJ3sl7WN|#i(ft>hsu>S0I2Lw>Iv*y3h+ff3QqihsGvFGWjYRI`574gdY~&MtL4YQ zlzqS_H_^MWq3P;4yeci^+p?SZln3!BJr0=cd%aI>RA1>rDi*I&4e)G^?yKL??eVTF z59F`4L(Roy?nPbsBjCBs;FR+?m)ZiAAEJqLhTj6d9L_`dXQ047@FBcT&(r;Q9YvbE z19AGOlsbxelnw4yKu?ObVwji@PWd-#Lz2eO4PHc(L^DJ^cM{FO!}G}x%vYAsCXGB*Y)+QL_S@7dx>HM*{i&hr7^NAnM)VuLNH~l*_;O6I`sg?W!f6Lv_+FO|XJQ(Usu*&aHb!azQwt=rgf{WZ49Pb}s)-8d~ z)&Ko8M}XV=z{gNRDf}Y4C}$xMq?MEJ;BJ0<63{w3`E+#6a43cu(fw_Y2@r zSxC8%`yLvCkQVgydbRIJJaD5c+`Wm_}hCaT8R*r$)dojk! zpo7nN3(mdIv(c8{*+o2ZDjfx9xe6b^2FA`X9H$|j0rqwknm6(LZ*mcO?=?uB1j$-M zKUI9o|8wipHOP6Ze|o_mF%RtcLkRH~0p zKtOPKcx2?cbBy@-K!_MR4%|-(%#NeHeWv%x%6xBQ`-t|9tkWSSkDiG~Wmd>1&A=cf+V}Z7 zDnc{xtM+HFS_RHA@)Hu!pX8uo{o#RQDJ;#|^eXR+3}e>b$s@vP>yqU_Yr2dx>>LgN zRj;A!WaDJH7x4Wsf&mz$+>X>56C@0P8IqGD`RdjEru}hgsS$yV_b!{`sfHNqafAp0 zC=rB04>6sIKcF%A^-0rEM(`2{(z*NOy*o?)b5^5vxKKIJq-`rdO@H+aknrd{q9rAB zsQ%aB{vvUf&S)c1v+jyR&z*?$wK|k)5?~){pbH+PiMQ8T?|7 zxqk6r{^K_pMU&a(bm>^@angF zN6e)KQqkL6p^v+M&1=RxnRcc>So?A*&=_-FWg`6P=O?$!4}QLQ`1tYTe|6i9Y=re( zI2t{0<*MG!R`|F5M3sreR|}PSw&5Tecc4N+*jRs9#((+${dzYr1n`;<+4j7$4=N4C zWB541F@39{S}3qIFj|9%3?PTwAk=lDBx!^Ad^<#&HR-SV1lio<1Mhjbm9_ zd>>WLf`4P3A8^N9zjH5o;mI;<*u1+R+0GI=esi#Lh*HmlOzMGHgu4fLgV;e|CPN}H zlPZjvVFWK+d<@f16=Yp7u)mvQ1DA$i2BIWcU=ruATW@~-I>+psj+lf2to!64ED2I$ z|0X{LZV+!RKoJ5d_xr%$AOq^}(fxq)L>L{6<@oh)?I%?cFv5u?QfVC9P%0m_m>UWu z*;7ftIMN|$0I3g-KL%l=x&4i?5P+a6xxU61-=8$VDJK< zmToRiFc%{UkKzWd#h4;cU|=SrmY+dN>eB;cID-IEr5F*w+yhSFonOC3xjBUpb~coW zbSoa#Z~p=KL&%dwi|2T}1Q0h#qG(VIy1mwM%GQ2aOo^l3#>V(lKK;0H;{X%VIk2}J zAzi&Ikmx@Tb0$=^Q$!%~`7x#i^4js>Y$<@gY0`u;CKlw1&yuES=tfW@T7;LzYz5rv z6}@B4N2Iw(RFZBU8RrNo=qsf$M65))@z}6+D&Tpmz-1smH&TfKVX?HXk41IF0*y#_ zQv{zlftjWxH)$0<2(N6JAt6G@4CwngNji2tMbz;?P+cl$T+F_i-+%g7%aBe(U;>Mw zz7-dkCU*3(hSsQLjYqgHtIJL-&A7sPArQ?h_A{$&cg)(oZGEyU+|&I-j1;i|M|k{x zuHpS`!+vd`yF$(|-J4KA>B=iCbWkl#)6iTyE>qTHr?@cl-dy~WH-6Vx?4oxwoEPC| z-K}uVv{ZhvsH3AZ;2&cG3p)@0bpN{WxJmI^bm0{hqvM(ixqhx4eoE?x>&H*dO&xbE z%y(>3o!HPDx3hH@$nr?+QA~5K?raQeii|AMU0ABdR+ks#V~Rz^{=<&`5OUcyc80tz z&=6#l#>9KYG`I^?mCvTJ6xMdVUQT|=C-tP2kA`}9Nht=;Sy2ZlekcaD^^qSy#0TZ( z_4YQ+M%5e7rhWFOCYe&5uv82u=K1x}K35C+FcO_EXYA_R*9rZBMN7=6a3 zzbrmV4FpN#Z6n-R15K9AB5b5nx+S?n;Lc$Hb*ZR(cIb-%EpaQw&W2!0Ob(O{Yz{l` z6!w>S3|DpxgB33#0R{PBi?Gm6YlSbRf?qgdtG(h-acL!1F@4!a&3$inhfT%S=&e=b z1~BJPyu2IA3*le3MrrAtnhLEIn#nwVdUw6ssr^Uc?sTJ|b%vQ#XivcG=N!+2=3{qf z6|6PeO`pD4Omb4ad;f;(Vt!a|O1z-_q2vhlkJlfosGOjF^h$oYyZEsE+06;n2;Cb- zPc2TV9C`RYYN$RVPp3qEZthj=>svfbOZUau4+Z1zHO>{ro84$KxnKC9GhnIy|HY^M z2b@12{t&Xq;Cv)rd*njoA7?hPF}!HiFJkgI*vPxrd3I{xcU*(3LK3mtTu7VY|^CO}6j@{A= zh3!6Hc+MdPw=Y1=N*!YP&aZCZ&05-UL>#qo@utIRO#(2Wp&$<1>w68dX5~$(bUgW1 zMz%m9%dsNmRl1QQ;Y{jK%A{s^kHR>^K{Ke)sCe8hKhJ){qEwS$#qNMqn|^;2BGZ>| zzZuk9H6XKv-w9b`Prepi76zVa+SeP;kN6<&r}i$sE>Gi|OHj)$a@;|2_zbNBUU&bF zV5-vvxBSR(bmY~?d|3rJ;)~Ry4V^1#o;f4l1lP;$?ZSoC`3{%79tQgdsyGH}qHCy1 z@QJEf_LMU5=jzwarO0XIVp;8?O45U{D%M6x;6wMSt&k_x<9T^@7GIkbE_p30w6g}g zWYu=Bqg_G->yMZ>4Y{!!>os`|)pm7hiyFNSycSXH*uoULTX?9O&%e|ALx`pvd6K_) z1^|?jf`iq#rWnt2N6e3FR>mLx9xW$$rq0!-kj9k5eFiSz?1GGJ3C$ zUh;O`%5ezJcD{jFm3KSJez~xq%!Q?r#iaYBl99KwU1A>(I(w(LU2VNoFk0P6A*i~H%PDta*Vdz7EVw(v)R5s zCe(@yQ}FD07JeY3S8$0=er}mv zo+cbEIeo5i{^QlRzdjEgj*lk(`1SRxMf!9fzxltr!9Rq2ifI|Zhcm#-GGUiboKysg z!3Ek#Sz6JCAj28^be`NHbPL2d9%+IC| zE3>EE%U}8}Tsh{l2FLjo>5whQHJ;d-gl+rg{ z%(x420+3SjKzJ|5y|C4OfefXKv{$UrjZ6(sSX=hlRv_cJVn6$`idc{#@OU-^Qwo1iOyBRZ0Q~U}Tn= zRilxymG=(Fs?C|jLnxW01(#jslDIc`%g|%D=X?XUlg)FR3T1i7VHsx|XMj)AF#gil53&OG!G@sHE zMydUDG8-W z?(X22ToeGcifsoQg0RaOUd%${FhD)$Rd~jBl|6;ckb!6M`>bkY%#@FQM(ihM;}#KT zHL?{0lMC)loYoK;3uI*(DYCU{t0_V*cG%ZgZ;Y8)WmvEXe%4&TVDspLsX8Su$s((1 z^u4rVcDEPC*jDegtBj&?T>1%l(~k_%j{9?j!$(RqI-+jg5jrGaz%zXK@qKJw103HT z=!?}b8{l%v4h!EZuT%G(p(!i3ukoS=c~J4V0o3qaW>hp_9IO%1g~!Q`d{^Gk4Pc7h~z3)Q+- zpO)!m%aa*y-7czb23a3ZY^&y@eg6@;qj$;CeEFw)omgIW_5Q5{ZjDpxk8*7ejCShU zCPilxSOr$dU14rahBC!0r+i?mH({)RT%SJqg`6Hmds^FBS5g-g5dekSwECDF{9n8<7Ts|h-IBD_@2xf(I;Mu6@eDIVAy!0f2 z>KujeYAwhkGx>RvIR*jAv0eaqSl4)Y$|35Ef4K5M-(G1H%2=LA6o6qO@S#}yK$I>q zyk#+2T^K;2sKXIr(%a(-ITXzDD1bxKHco7FHbY7eWYyna%@^2C!A$ew$@8XtXav{s z`v^%m27fn}02t&-R59#HQ4B~0rC}LUS58i7EwkV>X=qRCu8#qeGe~L-%EU9U@401o zr9(EpcZnL1BP8R?dJIw&?33(Na|(9yvdp zV}(%Omf<{Fi6#Cv>m%U@Um)t>U9E_XKkgZ`q5eq*lgTm5QN9^UfiVit#=!y}#HWUSj9EJz{lyo%dFfJ5vwcJ>R zt3g8)>xjaiO;VLY%v1ccMF0=D550~pVnvnSHSYd$ec2GdQAp6I6s!TWm7NO}m@sIx zk1Z5Stct5aX#mN!uJZmf)rMO#+{&VSv9**FQ#P_Z#fb?IDY8Nqv$B$;(k&>2`qp}o zMBB7THfP(&`jCufGqal#sVI)Bvckc^7iqZ-gTvuR@15Bk`lXabsRk~{)Czsc!p8F% zZkD3K1M2NPFL61&jrZ&x2RWHG`kYU*ZSYXf;sCV_(Zf=?&c=vwd>h_cV1<5@JA6tt zj z_Q!qP8^7Glzk~A!(;q@^?*q>RRy?hzu?v^DiVngt3Yex{P~Q@aU2LjMjvAC4ta(oFK_fhb`^Yr*V|!xy|PEXzQ$<47hsL3r3#rv1cVZ=J$Ds49ZN6HUlP<0%)xXw%_*+5tiMr| zdt?OYZhrStFvtSldbOqxEyaC@yLN$f#V~uC|Eh7Ei2sk=f%iAyWSh#e#iG=3ck{O< z@xuzr(D`aXWI@DS{14g6q_c&%Jt=RwYANJ#JBw#2sI#3mJ5_vHtw$3$+SH52$v5AM zHJ5m${8V;){??i8v27ao$lHADQSwVWovPOHnGMN_PVUpr<#bA2NRWJ20x?onI^cgv=3iFyhmcFLhtHw=9wj8c$7wIT zWbY8`c)tpintJ4xk$^FiF!f*rK@W=2Y6sepwqvXT3zWTaTN&j|p9?$%s?;(2r}Di) zTB`Hm7mK(U7Bxhuq^lt;db(|CI3{H6^q=P#~=OYdzR3cVWXIFT1?QhNU4q08I= zhT1y9;^6PXn|%OO|UQ%p5QlxPHF{#A;pyb+-q&sEu+3*2zA^9C%>K{v*gu54hUg^V zi5UP2!U;tW0!uB?XW9O%UVxA1S z=`9ymMuI9WcD2?YRgVxhFx;|XWIorrBZ}2Bi^r3x4{8rlEeQhXjRP|)Og zelsvs+BU998UQKNN^))yPO$M+N5D|36wFkT`8ybSkcU8;gn2`$gG`f*T1cRvh?Iz; z%ngcL={X(amRhR6!5cQ?txRwx1RC{dAg$IA&Z_tOiT&)vy!sh^7#3YMQ#*K9Klo$z zU`x%5YK_b$Yx9t`!?;_R$g2eut#O})%VcxcpHDW8T~5F{ofnqRhzZN+|415NZXP-q zWK|RqBPFU#;?*&Vv=h60=f3Rm1rIT1NU!a+>hOj;tp&TKfxi=1(WD#gmH{J`kyl?f zQ+DTnsFp{T*`Okme}>moSVot838#zKC_e6ZWBi2OY(4+O;FYdj$gZxR5#l)vY5+9TqlGln zwbFhjfD}q{H1)yg;Sr?Kx6iYH+Ys}2R`f&VUMOHcYfS^qL&`-@gJexKMCE8?E6$O0|F7M(PkT7t+h|izTZ5puWPq` zLkJTE4hUMjvctU2YqXC1D7ThuyvaAexp8OlnO~pyM6$J&jZkr!8VPY_Y#Ox5^GhhxNJ4=m~1yz=P&*%#bVoyN4C)&v2HeuDr6{B z#)8OFYi$Gf^Zc>q?3TUq5tf0BSOZ zB}04B6Cx~>ortU@r5#wA&=2I(FoaZzZH`1qR>Psj{(yqgYAQQtUwLFH2A1tV+2xhc zU!9b4mCTGUZHxKx>|#%*;^{=+oO{8(Ukh&79=;g47&S?6a#i`nBmC;uce=*w-X6-Y z?_koeE!+PD^gr?;mPZE1;~9W4D>MgU-Zlwf?_HZRog9M<89WnczLZ(*ujm7y8*huR zygg!o6~YK!sN~Cxn){G7O!jKHubFMm2@a<^8he@awh;HZ(Iy>vi>>xWbLAojja3b#2`hE}ceCN80}UQQy%!-Rxf4}nZe|tF>ACC;&_LV2(G)d}7 zy;ZidJ@>0@z?$ro`qbwkQbK~`yaKNQa%@8pkU(MZQjZT2^&t7v>Hs^Z?Qfsquv_(W zS&4$Y;*Du>#${FO-tJdB`-hSe3Pwmea`1s~ve1CFWP+8mKeyX*wc37vffN0KKrSTP zXb@#U7Iw=o#y>1Xmo}~<@Tw%!&OwOvLjjmDjxY=_oA=qoHW=Uyk(wQ+N@V_`O)FeL zWIeE7Ead}77g}Ejg+6dUFiw2G-i=E9>+e4_8nZX!P0g>(R4S>KgKw7aKE|Dw=J_ z-fMQ8YvVVYJNS(2sQxX3)nQj3*61b`H0oIWJNXOH9*=w{Cm@{p!4%4bR>MVyA)AL`b0ihn+tv(=4Rddq~7^s)D2d}_#nprve&Hr5OTqexRD*Zf&B-7 z|84u@Q4LA@OK=^woT`Zn|8VuxMUpP&#_t;P{n-|@Q0CLZ~MBOaPVPq|adX(qS( zvgLN{DwhCmrIKN4`V9Rw9g`55nx*W!ze7Fix<~M*0nE3np z-xE7>G(suOqxoKa4Vye7v{X;NeTEMg@?l`nU4DHaShY8oaUDNIuN#DNUDRA`Ly@2T zwaBz@KW1ZTq@ZJ0+%Ts_xUwynv7?IM&$qSukGbdHvHc-L)9?rdyI$bbAl0(tU*vQ(=6Q~d%qEBv2YY&HpY7cfs|JyND?Inp>iV1gz|Z!kT6_bM7p9+_c7Q@LM55ORiHyCOW;l@ zlNm~(%uuvS`zXA5_?fi3Mx3!pBwor4R(T-Spr0;}PCwg+W#nW!_}b$UF;rg_6qG1X zwh_M4;tdcb>I(v7qU@jB=BvugDX9nOexJ`>B#z;!God_-a#8%l&MP9T4sd#`>lvl& z=jP~B*QJXT9}8HXIiS&T@I~(V(|J?1Q`+3_WiRrEw?L?CzGqKQq_#KtcXd7aCeXc5 z<88ac7?W#~x|wpAAEP9O77UqAtj~RT%(f7bbFDV~VAHM&!hyba(X^108*{%WK6!4| zpI)3+-ZyzPn^XBjlVXwWt9r7l*g=*1r_b0O+UYWTs_r;Rc^v)Wb&;5}1A(18F89uh z@2{|9F44K6m67AsP7NXpT4Vp7B>f@eR%}3pzCI`pr~|?nLXiHrVL7mh`6_XVdP#&{ z2BOWDOCeab(v-dfl%rslFaXZr8;TcT3<-kUtBg4AoD{|**`b2Zi9Y>!d7!Z&!~lTM z)2PMT#|#GzmO?XQ6U8Q#*A;)4?ad(!;{YDd@kSCdM_l==e@SfPi(0k?2++ID8(NtwK{wKBu;OQq>`rdNRjA_KT6?iIw9$r zTPlyaQLKIKI^MgahW1q=H_%35X-Y6K)*YWcZ`7&!`#w3@Hc%?o^(Qg+)^B%+Y*g7Y zJLHOMvo&nwhrR?G3Mf7_OXJxKIo>H^;g_nv(9wIb)-3e;sguxZ-nA>#B^VCSC!xW) zS{j4r0RS0Xcu9bff)rpY+M@!%;4qM-Bvi`)W@h>gjJU@x^MZMj*fB6NHA8F;w^~rm z?F1viO$jD*BG^rs1c^PEtmFCw${bT>s_>2YSDkXYp{bN&wu9RV|LJt=l8qRL+S4C1(;K%pRG!H??)U|qcDGAcN0tq|Wjf>C&tAa!^aM{h`vPN4#i-TF$#jOvy>seEl0@FF+A4CHx7bC9Xq75r z#tcM8`-LSWf<SqFWTzz9ugz8Q09P%wn zs9)GH!w>CKaWKE}lkZ;qzPnJTgkrL~q$Mmrp_>O}%*;QcaObh;PN(gM$9Dpmw3S1u zb5=hE&dqWfT_<YSjG@mqTD>9nEp=oP_n z%E968p68Fw8=MgGAH!k<3u2`Vyatg4ze3xYpOy*V+wOfxd=~V!=i-Od&!5ht6dRi{V$~~F`Tg#*#$%qpR+a|Ee|>)i5$CF?{I6{O zIUD^UTKTCr!*%YFS9`9Pi=!qe_VcbVnp~Tn}5*lx<`{N z=ftV^HuK>t=L*wI9vCSxmewAbJ!mjTWB^Da)+siki%-*UzZYzLR?;fQ81qM=hB)Bo zmm!Y6kbCRgm5Tx6=$D+hAN=@+|5-?>d{l7BcpT?KGZar^P?zw1R9LUq;AnMa zw&u(0j#H{yKV1nVLvD~FgMcO>^y46EWc$m?D6h41%Wd1&@=vKsP`w5W{fV(Mx(N*X zWFO7^UvCcn`1N*VVCwXF45gS^oZ|}|ulA~`4gpX>^pt%+uR&8>4z$KNP=_u}jvX<_ z&|;+!)}^MShzw8*EKy&&Zw6bYZJ;fWWyKZvep~tS?dPvwg+0khF(|CqlqwoumX*cE zDkMval@bj03Pn+Gz1~k2j0JSoB@|GKqxwLU)5?>57I{8YBkloawW>c=3MW%Z8^eL( z>E6{)B;B|gL-7Vw!T83v{gU1Xn&BOiDr?DinZfyD&iB3cY@BZnE`X^87OPcsJ_Sy>huL_% z79=W2XAvB;sh=|W1@Toa07SCs${e7_sIcnEh0)*dC6c{=oO?l9B-03Pv7a;k zdR(gQrsVanHWxcIUC$kVeYok^jnYnCI(_g%F_=%YD}20kkuPuL#8SXDqVTDH^eGM{ zru6Jik@`Z|3vFa?peVB3^;A~sD-nq_(-YZ2k}T4stvW-V_gPUvStI9H&*KZe2Y9rfadu*4Rd3LKW+T}~uJ)cs_7QPhV8vLNk20Yml(egy5 z+49Eqx-VjbIxfO1Gfr1>v;RXK_fNa|xA%WeL+5Q7fTyR7(E7*KA$<6BQq-tDKGf&= z3AlVxKlStA8f+ZicV7TMVBIm03IFgD9FidFyr9k@i?1XX6l_QVursAHbo+q^t|KHu z8I1mW!H7ss50Wf}*6*#mURV%ot%fTwU?hbEWkix#5}!24ZM9D_(J4h6Y=n9XOvsKO zs0PwGT-7Nt3e$BJ5?TRXvDP#Tq?BbVY!HNMjMoEj({f^1tq8=djeNrhJtHLmZL=U= zd4j{n0Kw(KjETu~xqH>Dl0X_h7=yOxZ3$J;<9=qUwED^YqKnd)YU+&_>z<^WOYJAz z1EE9G_aKfxt0I1Rc-rN>vwEUurS=dSUat_z@7>BfXcjw^ku@%w#FAFKFds`^a(Uu% zPWMvD*qC?v{90cA-E`jAtvBCoY6b~h&s2VtuoK;C0WCjis+sR)gsF z$qV28QGXM1|C11f&Ia9gxyWbfKV*P#$CY}EiH%i9u>rF^ln|Ax%xlm092Chd{eV(R z*iTO^wy`8jFJNKRtJFGgea8B9C9%&sGn1q*8?!!PQEC0L8x-z;sSbp3wblmOZG@t7^ukA`3#n zL%@>wxP(;|RJ?3`XTMQWj0xSpG+h~lIe>t|ydiP2UKJY?@PS!g*V)!i=GCP2xS_&L zaXuxV){hoLPMM=&frWwY$ABj5&5vHiYv3$&21^QC zi{05e?-mc#nKzBEJJ05}DnNlq#BHBgUR&|f`DgNh%N(Y{Ujj#B3|x|6=!}3>0oFpM z{Q&kcX-q?Eu-kc{1cs=OVIZI#fSLhlTz31mKNf&-cqVXJZ7olLiRMqF`NwO#>ozA@ zFK8tgcMFD8ZZF3R_x|2QdK%_o%dhUNK*b#qU+q%q1Fm1k^Js8F+d5dYImIZ-=;IQm9Pm zkkHDp1D95XK_m+vDHVTQpx_9A8-OW1X82l)U1|wC_%S+N<$Fxd11Ghw17*{_%ZN&^hPUlM9`GrvC~Y{t$BAq*XCSTz0W8hKl=3k?BX| z^0WmD{aGh;%;!?W8edXY7JCXTZ+U;HYiU<3Pd2WWe>oDYZ)uzRK5uYwHL1x}qapX` zJ?Yyp9RgGM49wIb^I3bOe`i9D{ZbMz$(FXF@4&ALyNpxe;4Z<{6j{*_#OeLN@|KYA zlYEU!MbG2Iv*vQ-Z?H;XK6r?1HJ10_L`w{ZC?cj1%wM$;TIWyHB>w{tWJ8?(bIL1fHPil|0JSJH+mgkYP zU)pzg2#YSF&|+QTEgz(xy>Ke*F0wNob5LgI7E0Xbvc3|b9PsME`~P<7=MSM19kc@K zeLFTl{?hFfcic6ZI{3XQoU~(uYoVp(C6`Z;!Hy#z1+QE{nmZ|_K1v$fXN?zHxLphn zecGrr=X7S(Sn(#pr8^GLIBZW{C&7WXKT4!460B#aBt_qHhF2D4&;kUjgDuMBCFheA z79H$FQ2s}MXEB0m$*3Trp82*l6=wdNte9yHki>bdrRSe@M|mF$TGU`LZt&OJGh!UQ zY)I4dhme2<=JbHD2O5--_IlqJWJ*5ulTT|HpA?F(7TDs8%f}~Z3J~dF4{vy6DIMyP zA&3hg*@CuE&uhHWt!0M5ts;sv#TKJ=n!l_f$nU77WHlZ(W7bD6^~+M8yFw4IwD1KV zQ#(4;_csBofj`idrR$|LZ?rTi=(^-g2Qv2 zQdTbOzkPlD{V{{cT ze*Jy?E}e@xflj5`<-fAk&3OFtd2?jpywK^F;VAEGfb@ho+1W5onV8`%BBTrZOcK9c zN@RtJX#wWqelKiTo2s_4 zyJ_l>yomb>Nzv#8F#bN#URYKL;Sw+BJY$?>wZ}B<)v8^rP8)I;<1Mr(Wg`)z(vs+t zQaZF&B&5xcm#6&>gb>0E;5PI93lG}Hg2YEUx8be+-bRt!UpOD77 zA4e08&rlOhx0TYwGF7ZySu)x((nGSme$nP`u4P>f?%kSYD&}i97hXwxB<~#2u(R=O zw$2kBr&lO!TnYSPUKXxa)$zi~Ah1%pGmj_yQ9=T5mT*q%|1zTcLx_s}T{xZg)T@du z66^BX3I)!EP3r@ti}*#v_!~#%$K{c0%v$}eM$?R#Sy)nrX&s9Z`x+OJQ##Ky_XSER zq@aK_MT-#MHfXUt0AUD}&LSgXp?H|rbf5hGisV<}=GbSQnu;o5|I5A)@cItZ6QAAR z!Ns)X0kMMbhoO#>5*e|}pmiOkCW*yw(m@j?MU7;HLc#<0KK2=(pxKhakfG`n;AM(! zuU%Sjfy5S zWzlEf6mOXhR0PIGO2Ya6meM~7DbtexD{VgNz{-A;-xASdJ?}yUG){xLdh~K5%n*kv z=eXnEzEvi9DKHhoT{90Naq?%bWWC5DYCMb@jTc5PYD_6ln`*}$n<-|34D?wo6lnd7 z%i&7-Tp^hJxHTy=)LXj7TDr&-5sNv1R?SWy@X%l~>`KgYZuWqPrq@M~E$Ekl0nCcJ z@oIC&fJBdyzBQ zgi8pZ9{d&v|7?9s-UPcKR7Rhd z-`{c!%Ng?E-Z#rnX;zJ&tT__O%#NNu=TWok!384=xQK91RuB^0ehDUu>Jq@$t$q{ z0`}C5J{EE!BQ6b47*B;L_k$_eQ+=N%-|NUIx^i7TYHg@0hWCDFdR;3UMc?72R4t!|Ark*>OItnAtLlaz6)EhOvb%fXVn?03(J zovaU5FL}a0FPil{n$f$+OD`C5d2v|lp2gQ%wGR(Q{!$osd9)wcS`aJ?zNK2jPV>ky zqdEuwNCXI`tFX;l5+j(u<5WwKvWa&I}IqA8q00vdiL@Du! z0d>*or0SqYtnWl8Z6ZMOp@dUekB05VAzPP_PkwL9ifg8&&142-)ejbD4(&XvQK*XE zow#<))?GUy|BRhp=dJtylO_EjL`c3I=z(AL zNl=4E-U|U!q`sJi6;(oA&_|%Z5mt5zkYV1IBga0%6WI7m1pGnEM=!vd{1{cfr4`D9=Mx&?(Ar$(_O=7=}beiZl0e1r#PwB@abxsnp4jN9DrI5 zc?-bX!YaVemS);|PT5^#0!%I-yXls%12>QKDR{e*w`HU+4cj zV0ScD|1#Ct6nV3fCR!)8>=!#aBZ$=WGUMt*uG}??xTJ2A^ml3Mzg*n!;~zp+9U?g* zkLS;We6po2w_nSbQ*hr^zycnsLR5=+o3HA7eWrv=l!WYRr;v@O@%a#_k%~SOp=$Kn zs~i`-{};csX>DmHuYO{C+t{u456-%larP^Kixu!&pA#$6yuNLOFiv}$2x4RU1o#g4 zig}xs7#3&ed8NFU;aI8!Q$}RN=6I6~@7n44xRuPe-Lb1dHcs5$n;*$K({WT#45aMh z*^1_q9Z>Z7DZ`9ewc*dSP%|k`nHysLHc= zsjoB`sTKaxgN?ziA^hZ$qL!f zz6_%WXkKypd1_;{c62m>6o%>Ri-4z7re%nDjXp*MHe)JuNR!KSl4)qImxj_tlcc@U z7$z6=CnWpDQgf1HY@C(kEs;cK?k#^OXW@>k$~!!%OGK;-3CO6QiUl+xh8h*VQ?r8O zp}BWBRk>}r<4t3aA6|sp3mRx8V%F*#EK=LYCJDY>nsHA|1z8lLfOt-(U0 z3I-iCe498EdF|`mXgDoaMSurnFdy@_BR98UQt&E9^@sy+?H%gzde=q^XGVDME4jQt zE3mQL-TpD<&-@2-EoyxSB;Rf(8Ie@;eN(!kBN^wD4$OAGYB;Jbt|F6wJkQ?cau}Lf z|H>%myK#2;=OOz4p_1``Q2j&5aTm>kZeO{j=%$P@-OCWjFlwwdIH>LniLymN@MCEh zi(Yz;%M~nhN(sbG7qH|2ZQX%cokFl<=s+Ng7QtH-55>WJ)Je*#;rN_spto}E0F;9a z$AYl2KDx?tU-7Y@?pQpbw^y0lLpN$}RA+D$!6f+7;Q+b;yIs~>>;+92R26i_ggAc_ z%s_U-fJB~NpcF;}24kx`hAxPmIu>eChIlEHc_2CItpjs*AmtF>8O=&?VaJnpG>2(k6;?(qLzwYp>&Oi_RWL|wqKdf zaa4__g@{q?--T)aEz9~t=mbXRJZQT>7pB17SdJ}g7-D3cO@F#=0LkV7f~9c@$tKk$ z$t8qx|6zqTBhJyQg=VpS?_i|!gIji*mnpSs1c3Fhfwx3zyg?iaKw%tKM{G_EY#8Lg z8@&z#;l#=iBY`}~$U$WW1P2vBArR6K&pAWxQgT$sPz<_&jT)SEF0Zo{#rc1k3H63y zoJab?f`BG527}pg#r>t!J~>7ojkpz4#*77l(_*q?;DyiVl`F>BbLnn-G=KWUoV$r^ zoiH+DNMB^|C-e9LP60skP^r__gN(xy>tg9Wc<}q4-y6`on##^tjK6M@d)05d_<2VO z{U(U@p}B>l_P!VUVo>MNk<&MdYKs~suVl$bTYub2M7CQjw7FQkTn~FUqTjT1*kKGflS*_RoZQ%Ad%>EGacz^V_)aM~aMBYYuV1Ui8$5T-1 z&qY0PoWI3-aCv@$@(-f5Hr~EQlX*^ariif0)>yK{D?{;(M~K#9@=z9r8w_mCPLPA`b?0^~!V)^?C zC0au%kgKJJQb=O>J0akO)R21QXzg`t_$}+g*RtidGSRg$43+wVIEdk7u_;$c5@7a6 z0C&vI7c$)7XjHVbRes%Ks4=4=s8C4Qoi|V=n(|B1)A@jCBmsiJ2_b=?0W5)p9*T4UA@m|5O$7BE69^C> zH0juAB2tthMUg{76EL7O3!5gmXLv+Zer^c)8z`Nsy~f!Q3U3WHD0$CIYFikkcsK0SXg;Kq?I#W~c!M zxOJ92D%gdG9HW9o$-U1-609kNd*hUNpYG!_oNWang&dGD#IU;u zWGt)-0wZ?Xm5D%Pw@Zo;cz}AD3~-T}T3vr!5*i4<$LkQwy>`u2z@kx>iEasTS+*Kb zDIkow+s!bzl(v6cv2!&)%uu*hnmsEj?x9Di3ylXSbsNko3~A0qvO4Xx)BU64Q(?we zGrYQzgS*q$SCyMv97p%ay$WoNmzG!|Yu&WL6=wHdc3GQ>|Bzy5u-4FV4{Tbqa(uEd zhf80!$-QVc-C1_bnoMrcB36%^ytL)xkMAJe0TT`L(259NV`3|Vx6=icM5zr6F=l`o3a69RRmBpyT_sDitN1wwCWQ;-k{5_p~?31T3P z!a+>GCtx-O%`aYK%<@W#(S#TTWKY4giJ!x}j8T*Q_Jshr2ppBE4RPJ+>m?*p*L6t5 zJl?!S@Ki!iRaD*!{$Mt-mBD|>A1Q9c(Rz~tAr7ZA(GU#W1E>zjGSPesh-GO6a)ffP zv=&nsaSYL@nCfUv!zeae+N@=I1npG;Kb)!p+vRPRmjF)qMl<@p+ZGLS&GRb8TAuJ5 z9l8Mf(p1@f=x$MH*yt!*f3)Nw<-4I>%1=5u57)na^=#KITwi}OFsOREpN(60wY#F5q~wUWYd->VD0{E%R(qLhvovr0&_A{pJ?;B{=D4>AIYrrJ zLgqc56}i%-LQOP1n2D&DxS6sOaAY_)-hMyWr_avaP*sAHU~*bPxTLQ#y%BQT2d`%yW5UodyHPDa3?S2 zDv>C8|KK@h<5@gfMg{#LjW3S=(u{Ddr?^wJR7TTV<|nvY*Zx_ z)Uz4B_CPCW8p<#+=TNQ&CFB(Pdv-ZsJ`=4HAT5XPtt6n6lMpH!vgP-509tz(;2ndf zXPkHw2S_Sh%$SsTF-G3olxdr)A47QnS1LOI4a}-Rs6jOx%*@z_)Up6nfMlIn%PWw( ze@c}=RNCX}dd=XW*6U+?-ZvK7k%#ddSHkt(TCS6&_RD8uA0GHM=-u}Zn``UMf$Os>mJ)=^3r*0WAzCO+l%~IzH3IxJIJ~*8=C=*;OBe@ zEl_%fI-fTZW0A8vD-xr=4NGzo84gLA|4r9Ieke`z?yYd6w3p8VFAaQ1h`QlR^)PU% z&MT5>+^2>TNV!Fz=0pgI%E!x7hKzmT+-g>?`tF`p(;V7 zg$GFZ#gXD9qFeNV5_m&GXK`QwcWtRaCsWWra~v%ycxkmKjvilMRgu6zz2h2zPyuED z7BF9iQ}LjmqXE-KBj^Ag^XO9WM0KR}QG(^zW^=$7V0msw{aSQWEa%jn<|fNeCxU}@ zgPV803R%{g+I+Klz^8`rNPB3gVY92l>7%aJ)y#v33b~t?^MgW7Zj3h$jyG1XEq%iu z?jrA%esGI!1|pKT8!JE(@oSVvYA7i@@?5|B&agIt)lY$)OeguapI+5_Sgy*vmP3QSq=e!y9qeNF>!Ik^2MQ!!h zPTK#uqhyPaH{6>9_*|#}2l>dvX%P*95(&a+LWcBcKs}o{V&H=gmnB#V>i{V z5=NOphuNItC=h2o<*f|L5%Qx;jt#G;`i@{sO2~a$a zi#%P7$>zHQQJE}50>dy;si32mrZy@GC%=TMZ?YZJ|7-S=UCsT* z4%sn(t;DF&(2a9$7Z!YSPAIfyPJilV@A|r<`kb_cR@I7K89u7~tK`_H@uR4ZDND^6 znn`Z@!Njqg+&)l^6#D-Fo=Rusjm*d+I zK{pF-xc(-MCukplUH8f(0o26+FOW?75db5O*}M$bjvJIFo1{P`=#}bBOo$^8`Q~;} zeXA(gri}k{3h5!abw!Ocm(tT-Y@zssCM`an$qw4YI6UTHS z8di*y-#9tXNy+bC5{zBK`0Jh@l>PERvh>uhj0N$_?KW5ad)k_>l@gz527a^%RgPB3 zcP&3()P^fQXJ=#kycT-S<=ms6OYLL|Np|7`(VzQf+|N!qSLIFim~Vghh1XzZygTTb z)c{s%^?C7?Ci|H2tU>pD(^r02(L<~jdQ~x=P{pr`| ze=ly?}aYupyL zn<%xTWV#kCj8qGTlj6*}$+|c}Hy-&8(nEfW>^jH;Bo>)^ zRW?h@PCsM_O1Fst^WPoOU4UI8eIHJUV|8;y&gdrKC_)Ox=C>-^c9`F?bm|xz?{_y) z;|LbS5(9K=ylbx*xEJ+rB&vJed(x}!xAwld+HRo=;aWb9o%-fc?R@5jKzm^ZcdvbX zVBOB*O`k&R&-q;+6s-(B_m!bW##eQmYu&!OJiDuYrg!CWTjb9hw@zw=M0|TUmEXVW zQhq56O`pfjr48tNP{sO9T!${h&u)IG&D}Wr{qss&=(n5yytmtukTcsmX2%2%AeuWV zVEVvF!mpiSJ650a*)>H;450&_1G3tO;21L z2eR-26CI)URM-;DyP@-aI=9iR%EX}uaa5V1RTYGH1iIpk+nTm>G0EBvM5A1z<-NlG z^cnecdtx1F+65!bKAK(s_+|q} z^DLGyGevpbdsXqb)x+{Rt6k4$H7AaE-rc4gS<{|Cl&Nmn!YG5rO46`9eCQnzBl2?L4Gq$!TrL!}#}dWiD*Yc^pdp1);kuCoY#oEl4PZc=H`w`-ph2 z3^gBtc&g@mGzTmK!Ab_0i|kUvAJUaf%xUr26C)_s!61DbODT@ZrkC)xmF3d5Ctn>? zj@W^HOG1+E15!G71@$T@Wl;}pyK;kX+5VhvGH&1Ty2QUKwKzYb*{sc@Rp#|Co^W*R zB74KtSZc1ojU8`MKo*O+5Ct@}(w99tQqh>YG-L39if|ZeYB4`)J$d13&Xe+?am~V` zjg`SFn_bPN4?c?AS{w^Maj+K4XFH}*huszXBX2&+Hn%E@>Tr0E`k)_MW;c2E=Hrpc zCXF|9{%`iCJL5g-2gu{qKa4mNwbePBL(vu0FM^u}YyQD_x<$wvXNLq{ng$T2#YPo? z)&w=-ND#v*mtN2Tt4}7UpqShrM{~4(tO-BiJ7Wzq4=a`QR+V*Jgv&B?KH7G{sXJxp zm2w2N(&jTdYVO?$BdH96wm0LJ1LoHl;D+Og3;Gks0Egmwd#zMuI5lOW2R}Xdqfcn24V0*qpKaAeRoltXfZ$(I)%6@XAT*1RPFad6)Qzigj@l zjrX8aH$A_65Q132T!=);PKKA#Fh{8J3b9}j z2#WQ~#A$1W=#Vmrm+GjVHv_mnJ~5J~-DTm|P>`y3q_*E4``dqy|It)}JP6>k-r-Z5 yoS{|yA?M(~&x3Cf0sw@}fII-;FKF+NDEXiE-#r8WL+JMx{fE%Md%FK0&;KtoMJZSS diff --git a/sound/promod/destroyed.wav b/sound/promod/destroyed.wav new file mode 100644 index 0000000000000000000000000000000000000000..b69f67f4abd126c8b96c7b37ab2c7c091453f305 GIT binary patch literal 60408 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 literal 0 HcmV?d00001 diff --git a/sound/promod/planted.mp3 b/sound/promod/planted.mp3 deleted file mode 100644 index 79df87020d6b07481560f86e7e5e99a01bccdf9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25494 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 diff --git a/sound/promod/planted.wav b/sound/promod/planted.wav new file mode 100644 index 0000000000000000000000000000000000000000..742f423c11a243c734654863595b5fd6417788ef GIT binary patch literal 65158 zcmb6AWn5I<_XiB`bEXHFp}V^z6cH3LKx_=`7Q5Taxa{uk?vBesMHEp{38lLk7?|!l zvG4u+KQEs9?ah4PGjqw*xfIDdnA8(uB7odLT8P0!tNFcoq-7)VjF4ECn12}y48caTaf5NC0n=yc zmg+|6{?p#l)T{aG>uPW95uKmTM|(iCL33MOq>5J+$Z2_+`n`Uk$=&!#$JI2c>~$J* zDDYyu!~Ug}gpEZ{2pB5`eDA#IgM+7xj7+^9yTRR_yPq-4E;mwwgn zUTa_*x}VO4ol z?5-(p`_j3gWp251(b|HnKiA7vRSd7{Q#Gj7UnwGXlXY@Y^SHY1CMU@p!)%t7{hg3a zqd80Gt-3$4IP41jtixY*!>xLVc&1@Sdit*Z-60d4XY!Vi2}-}tlU)*B7$u=IEjg`ry`)+Uwl49^=AYV(^&Q&_AB;jwfvrY)D6cA64j*$lYOe z{uwS8tsgVqk#`OCs#9_o$(zny?blmRwU)G|h^BTirL!f=#LgWF9a)lNx=e6}UugTy zF~RAplatc`ds3jZzAilE^u%+yAM`ovGSVuIUZP8syLZ14FYmh2J+OO<*s9&XkzGBs zjQT?sEh@ArYA?F;r>Hcb(x+xk?W@|K^|D4&)0_s!TC3V6b(@-7JEnBUOE!yBI!ql! z-B%S^@;CA!lFW|I4!*8W@W(0Pt1c|LJ0MfY?mS$!U0&s|tJjWESH|$uV*CCLdg;=| zDN?=`g?2cpHexfaYpmZhOd45tl=6)!2pi4q#y0AXccj+BCXQk%813N|eWOo!;?0O6 zkB?SemhZ-&v@<{0{c^yM;EW)>`%u9~Y^Qdm^jcSY=Tz~!ju|b=hNX2ujV+yvR4UUt z@{wV>{9x=1v@hT(aKl0cWmK)O&WRcmQXpn{##o|m!SJ(XTR3_b#KZnh2r1a ziw{*DYZ)ZrD3g^jiWjnUX+U>t*Ld-k?(33#$+_-dqORr#4Q`V44(=n_YkgNJ(pK4B zXvoR$S9Y818@_OOk8uY^ol2S#KEb_!`ADT}scTr(jniAL%k4EBSL45uKHV2JFQAFJ z5C5buZ5>?UQ)X)Xr28&h74o~!*+f~?KCd0zfktE(umU$u>qT1T)9`x z~1hh`G(#rOo(+SHCGbu(-Cv{h@La-F>T^%&Rtaoo+w zU%u;|R@*$XPO|5D4h!lPHa=vnkIM0i)otc2>Z1OYw6m?Wen8!Z#&VH^tVnfUGf=7T z9^RJSu)lU^eMmcBoeFYnlARshE;@;=*E2kb#|GS3NgT#6ao<~S5_ns+F%yZ2>e=Fk zrlYlzs)U-MwUUM%O-~vR*X2}fF7Ya|`b`!ODvzqMZP2%T?fNNckoA@=Bz}9krBh36 zR{t8)?2)6N+`LV9!E^c`(~O*X12bIGs-u6q`SLns7whLVrnZ|+_qeSrJ33pUYp`vM zX!Y&BuREu@)n(Omq9VJ7FaBZ*wr>xc*IS(QzE42#WM`bcgBEe_*{l5a#0JN8^i+hG zy0mka8U}O+iwBCPiu!g;YMNi2Usn6~cID2d37w;46_N?<9`z?HJF7rTm2wf|xJzE> zy}0OpnMt}nYoj~@zkAepOz>w%_K4roXKxHUpu+9|KGd{XA?p~`m{93fvAG6oj_ABA zwrwBPm{={SYOmf{H?^s~JzL_dUyc8;(K_CD+A3`09$_p-5iSpA;1#@oY#%z8Ifn^U z*gB1KM_Nm8bA7#Ut!r8G-}@zf%5PWtln*W72Jxs<$?T)!(WPuIn!{s8%rx zA{#S?t%_e2HvU0yIsDljW*OnVE%o36=JK7HyE5)3Mg=^!IV){$XsB^)`la54vW0Dy zsE)z4Z)&XTB%<%K$gTq|gDUfic2r<(+YPw=+7Pn0X<$~;(CEEBMw@}0+14K&&j

&A{m(Tk=}wNtCYs;yhb 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 250 || dvarint( com_maxfps ) < 40 || dvarint( cl_maxpackets ) != 100 || dvarint( rate ) != 25000 || dvarint( dynent_active ) || dvarfloat( cg_hudDamageIconWidth ) != 128 || dvarfloat( cg_hudDamageIconHeight ) != 64 || dvarfloat( cg_viewZSmoothingMin ) != 1 || dvarfloat( cg_viewZSmoothingMax ) != 16 || dvarfloat( cg_viewZSmoothingTime ) != 0.1 || dvarint( r_filmtweakInvert ) || dvarint( r_dlightlimit ) || dvarfloat( r_lodscalerigid ) != 1 || dvarfloat( r_lodscaleskinned ) != 1 || dvarint( sm_enable ) || dvarint( cg_nopredict ) || dvarint( developer ) ) || dvarint( r_zfeather ) != 1 ) -#define DVAR_ENFORCER ( !dvarint( sv_cheats ) && ALLIES_AXIS && ( dvarint( com_maxfps ) > 250 || dvarint( com_maxfps ) < 40 || dvarint( cl_maxpackets ) != 100 || dvarint( rate ) != 25000 || dvarint( dynent_active ) || dvarfloat( cg_hudDamageIconWidth ) != 128 || dvarfloat( cg_hudDamageIconHeight ) != 64 || dvarfloat( cg_viewZSmoothingMin ) != 1 || dvarfloat( cg_viewZSmoothingMax ) != 16 || dvarfloat( cg_viewZSmoothingTime ) != 0.1 || dvarint( r_filmtweakInvert ) || dvarint( r_dlightlimit ) || dvarfloat( r_lodscalerigid ) != 1 || dvarfloat( r_lodscaleskinned ) != 1 || dvarint( sm_enable ) || dvarint( cg_nopredict ) || dvarint( developer ) || dvarint( r_zfeather ) != 1 || dvarfloat( compassplayerwidth ) != dvarfloat( compassplayerheight ) || dvarfloat( compassfriendlywidth ) != dvarfloat( compassfriendlyheight ) || dvarint( aim_automelee_enabled ) ) ) +#define DVAR_ENFORCER ( !dvarint( sv_cheats ) && team( name ) != "TEAM_SPECTATOR" && ( dvarint( com_maxfps ) > 250 || dvarint( com_maxfps ) < 40 || dvarint( cl_maxpackets ) != 100 || dvarint( rate ) != 25000 || dvarint( dynent_active ) || dvarfloat( cg_hudDamageIconWidth ) != 128 || dvarfloat( cg_hudDamageIconHeight ) != 64 || dvarint( cg_huddamageiconinscope ) || dvarfloat( cg_huddamageiconoffset ) != 128 || dvarint( cg_huddamageicontime ) != 2000 || dvarfloat( cg_viewZSmoothingMin ) != 1 || dvarfloat( cg_viewZSmoothingMax ) != 16 || dvarfloat( cg_viewZSmoothingTime ) != 0.1 || dvarint( r_filmtweakInvert ) || dvarint( r_dlightlimit ) || dvarfloat( r_lodscalerigid ) != 1 || dvarfloat( r_lodscaleskinned ) != 1 || dvarint( sm_enable ) || dvarint( cg_nopredict ) || dvarint( developer ) || dvarint( r_zfeather ) || dvarfloat( phys_gravity ) != "-800" ) ) +#define DVAR_ENFORCER_NOSND ( !dvarint( sv_cheats ) && team( name ) != "TEAM_SPECTATOR" && ( dvarint( aim_automelee_enabled ) || dvarfloat( compassplayerwidth ) != dvarfloat( compassplayerheight ) || dvarfloat( compassfriendlywidth ) != dvarfloat( compassfriendlyheight ) ) ) +#define DVAR_BLANK ( dvarString( ui_showmenuonly ) == "" ) #define HUD_ALPHA 0.65 #define HUD_FOREGROUND_ALPHA 0.75 #define ENFORCE( condition, txt, position ) \ itemDef \ { \ - rect 0 0 1 1 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \ - exp rect Y( position ); \ + rect 0 position 1 1 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \ origin 107 0 \ forecolor 1 0 0 1 \ backcolor 1 0 0 1 \ exp text( txt ); \ textfont UI_FONT_OBJECTIVE \ - textscale 0.60 \ + textscale 0.5 \ textalign ITEM_ALIGN_CENTER \ textstyle ITEM_TEXTSTYLE_SHADOWEDMORE \ visible when( condition ) \ @@ -51,7 +50,7 @@ } \ itemDef \ { \ - rect 0 0 1 1 HB_RECT 1 \ + rect 0 0 1 1 HB_RECT 1 \ origin 0 0 \ exp rect X( (2*int(dvarName == "allies")-1) * 5 - 2* int(dvarName == "axis") ); \ exp rect Y( 223 + n * 18 ); \ @@ -116,7 +115,7 @@ name "MantleHint" rect 0 105 40 40 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER fullScreen 0 - visible when( !dvarInt( ui_hud_hardcore ) ) + visible when( !dvarInt( ui_hud_hardcore ) && NOT_SPECTATING ) itemDef { @@ -125,7 +124,7 @@ textscale TEXTSIZE_SMALL textstyle ITEM_TEXTSTYLE_SHADOWED ownerdraw CG_MANTLE_HINT - visible when( NOT_SPECTATING ) + visible 1 decoration } } @@ -135,7 +134,7 @@ name "Cursorhints" rect 0 60 40 40 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER fullScreen 0 - visible when( !dvarInt( ui_hud_hardcore ) && !ui_active() ) + visible when( !dvarInt( ui_hud_hardcore ) && !ui_active() && NOT_SPECTATING ) itemDef { @@ -144,7 +143,7 @@ textscale TEXTSIZE_SMALL textstyle ITEM_TEXTSTYLE_SHADOWED ownerdraw CG_CURSORHINT - visible when( NOT_SPECTATING ) + visible 1 decoration } } @@ -154,7 +153,7 @@ name "InvalidCmdHint" rect 0 -150 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER fullScreen 0 - visible 1 + visible when( NOT_SPECTATING ) itemDef { @@ -164,7 +163,7 @@ textstyle ITEM_TEXTSTYLE_SHADOWED ownerdraw CG_INVALID_CMD_HINT textfont UI_FONT_NORMAL - visible when( NOT_SPECTATING ) + visible 1 decoration } } @@ -199,7 +198,7 @@ name "Compass_old" rect RECT_COMPASS fullScreen 0 - visible when ( DVAR_ENFORCER == false && !inkillcam() && !flashbanged() && !ui_active() && !scoped() && (dvarString( createfx ) != "on") && (!dvarint( ui_hud_hardcore ) || dvarInt( g_compassShowEnemies ) ) ); + visible when ( !inkillcam() && !flashbanged() && !ui_active() && !scoped() && DVAR_BLANK && (!dvarint( ui_hud_hardcore ) || dvarInt( g_compassShowEnemies ) ) ); itemDef { @@ -286,14 +285,165 @@ } } + menuDef + { + name "DPad" + backcolor 1 1 1 1 + background "$levelBriefing" + rect FULLSCREEN_WIDE + style WINDOW_STYLE_FILLED + fullScreen MENU_FALSE + visible when( team( name ) == "TEAM_FREE" && dvarString( g_gametype ) != "dm" ) + } + menuDef { name "xpbar" fullScreen 0 - visible when( DVAR_ENFORCER_SOUND ); + visible when( DVAR_ENFORCER ); soundloop "weap_ak47_fire_plr" } + menuDef + { + name "FullScreenMap" + fullScreen 0 + visible when( dvarString( self_ready ) != "" && !ui_active() ); + + itemDef + { + rect -37 88 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Waiting On" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.8 1 1 1 + visible 1 + decoration + } + itemDef + { + rect -37 108 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + exp text(dvarint(waiting_on)) + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.98 0.98 0.6 1 + visible 1 + decoration + } + itemDef + { + rect -37 128 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Players" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.8 1 1 1 + visible when( dvarInt( waiting_on ) > 1 ) + decoration + } + itemDef + { + rect -37 128 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Player" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.8 1 1 1 + visible when( dvarInt( waiting_on ) < 2 ) + decoration + } + itemDef + { + rect -37 153 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Status" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.8 1 1 1 + visible 1 + decoration + } + itemDef + { + rect -37 168 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Ready" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.73 0.99 0.73 1 + visible when ( dvarInt( self_ready ) ) + decoration + } + itemDef + { + rect -37 168 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Not Ready" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 1.00 0.66 0.66 1 + visible when ( !dvarInt( self_ready ) ) + decoration + } + itemDef + { + rect -37 318 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Killing" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.8 1 1 1 + visible when ( dvarString( self_kills ) == "" && team( name ) != "TEAM_SPECTATOR" ) + decoration + } + itemDef + { + rect -37 333 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Disabled" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 1 0.66 0.66 1 + visible when ( dvarString( self_kills ) == "" && team( name ) != "TEAM_SPECTATOR" ) + decoration + } + itemDef + { + rect -37 318 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + text "Kills" + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 0.8 1 1 1 + visible when ( dvarString( self_kills ) != "" && team( name ) != "TEAM_SPECTATOR" ) + decoration + } + itemDef + { + rect -37 333 2 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + exp text(dvarint(self_kills)) + textalign ITEM_ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale 0.35 + textfont UI_FONT_DEFAULT + forecolor 1 0.66 0.66 1 + visible when ( dvarString( self_kills ) != "" && team( name ) != "TEAM_SPECTATOR" ) + decoration + } + } + #define SCORE_OFFSET_X 4 #define SCORE_OFFSET_Y 2 @@ -713,10 +863,9 @@ menuDef { name "weaponinfo" - rect BOTTOM_RECT_X BOTTOM_RECT_Y 0 0 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM - exp rect Y( BOTTOM_RECT_Y - 10 ); + rect BOTTOM_RECT_X (BOTTOM_RECT_Y - 10) 0 0 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM fullScreen 0 - visible when( !inkillcam() && !dvarBool( ammoCounterHide ) && !flashbanged() && !ui_active() && !dvarint( ui_hud_hardcore ) && NOT_SPECTATING && ALLIES_AXIS ); + visible when( !inkillcam() && !dvarBool( ammoCounterHide ) && !flashbanged() && !ui_active() && !dvarint( ui_hud_hardcore ) && DVAR_BLANK && team( name ) != "TEAM_SPECTATOR" && NOT_SPECTATING ); itemDef { @@ -733,7 +882,7 @@ itemDef { name "clipGraphic" - rect (WEAPINFO_X - 33) (WEAPINFO_Y + 32 -6) 1 1 + rect (WEAPINFO_X - 33) (WEAPINFO_Y + 26) 1 1 forecolor 1 1 1 HUD_ALPHA ownerdraw CG_PLAYER_WEAPON_AMMO_CLIP_GRAPHIC visible when ( !dvarint( cg_drawBreathHint ) ) @@ -812,77 +961,21 @@ menuDef { name "amitalking" - backcolor 1 1 1 1 - background "$levelBriefing" - rect FULLSCREEN_WIDE - style WINDOW_STYLE_FILLED - fullScreen MENU_FALSE - visible when( DVAR_ENFORCER ) - - ENFORCE( dvarint( cl_maxpackets ) != 100, "SET CL_MAXPACKETS TO 100", -200 ); - ENFORCE( dvarint( r_dlightlimit ), "SET R_DLIGHTLIMIT TO 0", -175 ); - ENFORCE( dvarint( com_maxfps ) < 40 || dvarint( com_maxfps ) > 250, "SET COM_MAXFPS WITHIN 40-250", -150 ); - ENFORCE( dvarfloat( r_lodscaleskinned ) != 1, "SET R_LODSCALESKINNED TO 1", -50 ); - ENFORCE( dvarfloat( r_lodscalerigid ) != 1, "SET R_LODSCALERIGID TO 1", -175 ); - ENFORCE( dvarint( rate ) != 25000, "SET RATE TO 25000", -100 ); - ENFORCE( dvarint( dynent_active ), "SET DYNENT_ACTIVE TO 0", -75 ); - ENFORCE( dvarfloat( cg_hudDamageIconHeight ) != 64, "SET CG_HUDDAMAGEICONHEIGHT TO 64", -50 ); - ENFORCE( dvarfloat( cg_hudDamageIconWidth ) != 128, "SET CG_HUDDAMAGEICONWIDTH TO 128", -25 ); - ENFORCE( dvarfloat( cg_viewZSmoothingMin ) != 1 || dvarfloat( cg_viewZSmoothingMax ) != 16 || dvarfloat( cg_viewZSmoothingTime ) != 0.1, "SET CG_VIEWZSMOOTHING VALUES TO STOCK", 0 ); - ENFORCE( dvarint( r_filmtweakInvert ), "SET R_FILMTWEAKINVERT TO 0", 25 ); - ENFORCE( dvarint( sm_enable ), "SET SM_ENABLE TO 0", 50 ); - ENFORCE( dvarint( cg_nopredict ), "SET CG_NOPREDICT TO 0", 75 ); - ENFORCE( dvarfloat( compassplayerwidth ) != dvarfloat( compassplayerheight ), "SET COMPASSPLAYERHEIGHT/WIDTH EQUAL", 100 ); - ENFORCE( dvarfloat( compassfriendlywidth ) != dvarfloat( compassfriendlyheight ), "SET COMPASSFRIENDLYHEIGHT/WIDTH EQUAL", 125 ); - ENFORCE( dvarint( developer ), "SET DEVELOPER TO 0", 150 ); - ENFORCE( dvarint( aim_automelee_enabled ), "PLEASE RECONNECT TO THE SERVER", 175 ); - ENFORCE( dvarint( r_zfeather ) != 1, "SET R_ZFEATHER TO 1", 50 ); - } - - menuDef - { - name "talkers" rect 0 45 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM fullScreen 0 - visible when ( DVAR_ENFORCER == false && dvarint( hud_enable ) && !dvarint( ui_hud_hardcore ) && !ui_active() ) + visible when ( dvarint( hud_enable ) && !dvarint( ui_hud_hardcore ) && !ui_active() && DVAR_BLANK && ( team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS" ) ) itemDef { rect -60 -107 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM origin 0 0 forecolor 0.73 0.99 0.73 1 - exp text( dvarint(allies_alive) ); - textfont TEXTSIZE_SMALL - textscale 0.48 - textalign ITEM_ALIGN_CENTER - textstyle ITEM_TEXTSTYLE_SHADOWED - visible when ( (team( name ) == "TEAM_ALLIES" ) ) - decoration - } - itemDef - { - rect -29 -107 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM - origin 0 0 - forecolor 1 0.66 0.66 1 - exp text( dvarint(axis_alive) ); - textfont TEXTSIZE_SMALL - textscale 0.48 - textalign ITEM_ALIGN_CENTER - textstyle ITEM_TEXTSTYLE_SHADOWED - visible when ( (team( name ) == "TEAM_ALLIES" ) ) - decoration - } - itemDef - { - rect -60 -107 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM - origin 0 0 - forecolor 0.73 0.99 0.73 1 - exp text( dvarint(axis_alive) ); + exp text( dvarint(self_alive) ); textfont TEXTSIZE_SMALL textscale 0.48 textalign ITEM_ALIGN_CENTER textstyle ITEM_TEXTSTYLE_SHADOWED - visible when ( (team( name ) == "TEAM_AXIS" ) ) + visible 1 decoration } itemDef @@ -890,16 +983,50 @@ rect -29 -107 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM origin 0 0 forecolor 1 0.66 0.66 1 - exp text( dvarint(allies_alive) ); + exp text( dvarint(opposing_alive) ); textfont TEXTSIZE_SMALL textscale 0.48 textalign ITEM_ALIGN_CENTER textstyle ITEM_TEXTSTYLE_SHADOWED - visible when ( (team( name ) == "TEAM_AXIS" ) ) + visible 1 decoration } } + menuDef + { + name "talkers" + backcolor 1 1 1 1 + background "$levelBriefing" + rect FULLSCREEN_WIDE + style WINDOW_STYLE_FILLED + fullScreen MENU_FALSE + visible when( DVAR_ENFORCER || DVAR_ENFORCER_NOSND ) + + ENFORCE( dvarint( cl_maxpackets ) != 100, "SET CL_MAXPACKETS TO 100", -210 ); + ENFORCE( dvarint( r_dlightlimit ), "SET R_DLIGHTLIMIT TO 0", -190 ); + ENFORCE( dvarint( com_maxfps ) < 40 || dvarint( com_maxfps ) > 250, "SET COM_MAXFPS WITHIN 40-250", -170 ); + ENFORCE( dvarfloat( r_lodscaleskinned ) != 1, "SET R_LODSCALESKINNED TO 1", -150 ); + ENFORCE( dvarfloat( r_lodscalerigid ) != 1, "SET R_LODSCALERIGID TO 1", -130 ); + ENFORCE( dvarint( rate ) != 25000, "SET RATE TO 25000", -110 ); + ENFORCE( dvarint( dynent_active ), "SET DYNENT_ACTIVE TO 0", -90 ); + ENFORCE( dvarfloat( cg_hudDamageIconHeight ) != 64, "SET CG_HUDDAMAGEICONHEIGHT TO 64", -70 ); + ENFORCE( dvarfloat( cg_hudDamageIconWidth ) != 128, "SET CG_HUDDAMAGEICONWIDTH TO 128", -50 ); + ENFORCE( dvarint( cg_huddamageiconinscope ), "SET CG_HUDDAMAGEICONINSCOPE TO 0", -30 ); + ENFORCE( dvarfloat( cg_huddamageiconoffset ) != 128, "SET CG_HUDDAMAGEICONOFFSET TO 128", -10 ); + ENFORCE( dvarint( cg_huddamageicontime ) != 2000, "SET CG_HUDDAMAGEICONTIME TO 2000", 10 ); + ENFORCE( dvarfloat( cg_viewZSmoothingMin ) != 1 || dvarfloat( cg_viewZSmoothingMax ) != 16 || dvarfloat( cg_viewZSmoothingTime ) != 0.1, "SET CG_VIEWZSMOOTHING VALUES TO STOCK", 30 ); + ENFORCE( dvarint( r_filmtweakInvert ), "SET R_FILMTWEAKINVERT TO 0", 50 ); + ENFORCE( dvarint( sm_enable ), "SET SM_ENABLE TO 0", 70 ); + ENFORCE( dvarint( cg_nopredict ), "SET CG_NOPREDICT TO 0", 90 ); + ENFORCE( dvarfloat( compassplayerwidth ) != dvarfloat( compassplayerheight ), "SET COMPASSPLAYERHEIGHT/WIDTH EQUAL", 110 ); + ENFORCE( dvarfloat( compassfriendlywidth ) != dvarfloat( compassfriendlyheight ), "SET COMPASSFRIENDLYHEIGHT/WIDTH EQUAL", 130 ); + ENFORCE( dvarint( developer ), "SET DEVELOPER TO 0", 150 ); + ENFORCE( dvarint( r_zfeather ), "SET R_ZFEATHER TO 0", 170 ); + ENFORCE( dvarfloat( phys_gravity ) != "-800", "SET PHYS_GRAVITY TO -800", 190 ); + ENFORCE( dvarint( aim_automelee_enabled ), "PLEASE RECONNECT TO THE SERVER", 210 ); + } + menuDef { name "killcam" @@ -944,9 +1071,10 @@ menuDef { name "CenterObituary" - rect 0 180 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER + rect 0 0 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER fullScreen 0 visible 1 + exp rect Y(180 + dvarInt(sv_cheats) * dvarint(promod_centermessage_position)); itemDef { @@ -1028,7 +1156,7 @@ name "gamemessages" rect 6 -65 10 10 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_BOTTOM fullScreen 0 - visible when( !inkillcam() ); + visible when( !inkillcam() && dvarint( ui_hud_obituaries ) && !ui_active() ); itemDef { @@ -1040,7 +1168,7 @@ textstyle ITEM_TEXTSTYLE_SHADOWED textalign ITEM_ALIGN_LEFT textscale (TEXTSIZE_SMALL*0.75) - visible when ( dvarint( ui_hud_obituaries ) && !ui_active() ); + visible 1 } } @@ -1049,7 +1177,7 @@ name "boldgamemessages" rect 0 -60 10 10 HORIZONTAL_ALIGN_CENTER_SAFEAREA VERTICAL_ALIGN_CENTER_SAFEAREA fullScreen 0 - visible when( !inkillcam() ); + visible when( !inkillcam() && dvarint( ui_hud_obituaries ) && !ui_active() ); itemDef { @@ -1061,7 +1189,7 @@ textstyle ITEM_TEXTSTYLE_SHADOWED textalign ITEM_ALIGN_CENTER textscale 0.417 - visible when ( dvarint( ui_hud_obituaries ) && !ui_active() ); + visible 1 } } @@ -1070,7 +1198,7 @@ name "subtitles" rect 200 400 10 10 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP fullScreen 0 - visible when( !inkillcam() ); + visible when( !inkillcam() && dvarint( ui_hud_obituaries ) && !ui_active() && !dvarint( ui_hud_hardcore ) ); itemDef { @@ -1082,7 +1210,7 @@ textstyle ITEM_TEXTSTYLE_SHADOWED textalign ITEM_ALIGN_LEFT textscale TEXTSIZE_SMALL - visible when ( dvarint( ui_hud_obituaries ) && !ui_active() && !dvarint( ui_hud_hardcore ) ); + visible 1 } } } \ No newline at end of file diff --git a/ui_mp/main.menu b/ui_mp/main.menu index 4b304dc..1bc390b 100644 --- a/ui_mp/main.menu +++ b/ui_mp/main.menu @@ -9,7 +9,6 @@ */ #include "ui/menudef.h" -#include "ui_mp/common_macro.inc" #define CHOICE_X_START 0 #define CHOICE_Y_START 192 @@ -87,7 +86,7 @@ forecolor 1 1 1 1 style WINDOW_STYLE_SHADER background "logo_cod2" - visible when( !localvarBool( ui_hideBack ) ); + visible when( !localvarBool( ui_hideBack ) ); decoration } diff --git a/ui_mp/options_multi.menu b/ui_mp/options_multi.menu index f15ed83..18f0591 100644 --- a/ui_mp/options_multi.menu +++ b/ui_mp/options_multi.menu @@ -10,7 +10,7 @@ #include "ui/menudef.h" #include "ui_mp/common_macro.inc" -#define OPTIONS_STYLE 1 +#define OPTIONS_STYLE 1 #include "ui_mp/menustyle.inc" #include "ui/choices_setup_common.menu" @@ -21,32 +21,17 @@ fullScreen 0 rect 0 0 640 480 focusColor COLOR_FOCUSED - soundloop "" onOpen { setLocalVarBool ui_hideBack 1; exec "setfromdvar ui_name name"; exec "setfromdvar ui_sensitivity sensitivity"; - - close options_look; - close options_move; - close options_shoot; - close options_graphics; - close options_sound; - close options_game; - close options_view; - close options_defaults; - close options_driverinfo; - close options_credits; - close options_graphics_defaults; - close options_graphics_texture; - close options_control_defaults; } onClose { setLocalVarBool ui_hideBack 0; exec "setfromdvar name ui_name"; - exec "setfromdvar ui_sensitivity sensitivity"; + exec "setfromdvar sensitivity ui_sensitivity"; } onESC { @@ -79,7 +64,5 @@ CHOICE_DVARFLOATLIST( 38, "Max FPS", com_maxfps, { "100 FPS" 100 "125 FPS" 125 "200 FPS" 200 "250 FPS" 250 }, ;) CHOICE_DVARYESNO( 39, "Draw Mini-Scorebar", cg_voiceIconSize, ; ) CHOICE_DVAREDIT( 40, "Mouse Sensitivity", ui_sensitivity, ; ) - - CHOICE_KEYBINDHELP } } diff --git a/ui_mp/scriptmenus/changeclass_marines_mw.menu b/ui_mp/scriptmenus/changeclass_marines_mw.menu index 1873f51..0d55664 100644 --- a/ui_mp/scriptmenus/changeclass_marines_mw.menu +++ b/ui_mp/scriptmenus/changeclass_marines_mw.menu @@ -9,7 +9,6 @@ */ #include "ui/menudef.h" -#include "ui_mp/common_macro.inc" #define CHOICE_SIZE_X #define CHOICE_SIZE_Y 22 @@ -44,12 +43,12 @@ blurWorld 7.0 onOpen { + focusFirst; setLocalVarString ui_team "marines" - scriptMenuResponse "classavailability"; } onEsc { - scriptMenuResponse "back"; + close self; } itemDef @@ -95,7 +94,7 @@ CHOICE_BUTTON_VIS( 4, "4. Sniper", scriptMenuResponse "sniper";, when( dvarBool( allies_allow_sniper ) || dvarString( loadout_curclass ) == "sniper" ) ) CHOICE_DBUTTON_VIS( 4, "4. Sniper", when( !dvarBool( allies_allow_sniper ) && dvarString( loadout_curclass ) != "sniper" ) ) - CHOICE_BUTTON( 6, "5. Killspec", scriptMenuResponse "killspec"; ) + CHOICE_BUTTON( 6, "5. Spectate Team", scriptMenuResponse "killspec"; ) execKey "1" { scriptMenuResponse "assault"; } execKey "2" { scriptMenuResponse "specops"; } diff --git a/ui_mp/scriptmenus/changeclass_opfor_mw.menu b/ui_mp/scriptmenus/changeclass_opfor_mw.menu index 3d630cb..0b08b63 100644 --- a/ui_mp/scriptmenus/changeclass_opfor_mw.menu +++ b/ui_mp/scriptmenus/changeclass_opfor_mw.menu @@ -9,7 +9,6 @@ */ #include "ui/menudef.h" -#include "ui_mp/common_macro.inc" #define CHOICE_SIZE_X #define CHOICE_SIZE_Y 22 @@ -44,12 +43,12 @@ blurWorld 7.0 onOpen { + focusFirst; setLocalVarString ui_team "opfor" - scriptMenuResponse "classavailability"; } onEsc { - scriptMenuResponse "back"; + close self; } itemDef @@ -95,7 +94,7 @@ CHOICE_BUTTON_VIS( 4, "4. Sniper", scriptMenuResponse "sniper";, when( dvarBool( axis_allow_sniper ) || dvarString( loadout_curclass ) == "sniper" ) ) CHOICE_DBUTTON_VIS( 4, "4. Sniper", when( !dvarBool( axis_allow_sniper ) && dvarString( loadout_curclass ) != "sniper" ) ) - CHOICE_BUTTON( 6, "5. Killspec", scriptMenuResponse "killspec"; ) + CHOICE_BUTTON( 6, "5. Spectate Team", scriptMenuResponse "killspec"; ) execKey "1" { scriptMenuResponse "assault"; } execKey "2" { scriptMenuResponse "specops"; } diff --git a/ui_mp/scriptmenus/class.menu b/ui_mp/scriptmenus/class.menu index cbdee87..e7a29f5 100644 --- a/ui_mp/scriptmenus/class.menu +++ b/ui_mp/scriptmenus/class.menu @@ -42,7 +42,7 @@ } onEsc { - scriptMenuResponse "back"; + close self; } itemDef @@ -119,7 +119,6 @@ #define BACK_OPEN; #include "ui_mp/navcontrols.inc" - #include "ui_mp/teamicon.inc" #undef CHOICE_X_START diff --git a/ui_mp/scriptmenus/demo.menu b/ui_mp/scriptmenus/demo.menu new file mode 100644 index 0000000..45619e7 --- /dev/null +++ b/ui_mp/scriptmenus/demo.menu @@ -0,0 +1,73 @@ +/* + Copyright (c) 2009-2017 Andreas Göransson + Copyright (c) 2009-2017 Indrek Ardel + + This file is part of Call of Duty 4 Promod. + + Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. + Terms of license can be found in LICENSE.md document bundled with the project. +*/ + +#include "ui/menudef.h" + + +#include "ui_mp/menustyle.inc" +#include "ui/choices_setup_common.menu" + +#include "ui_mp/popupstyle.inc" +#include "ui/choices_setup_popmenu.menu" + +#undef CHOICE_HORIZONTAL_ALIGN +#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER +#undef CHOICE_VERTICAL_ALIGN +#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_CENTER + +#undef CHOICE_SIZE_X +#define CHOICE_SIZE_X 325 + +#undef CHOICE_SIZE_Y +#define CHOICE_SIZE_Y 18 + +#undef CHOICE_POPUP_TITLE_HEIGHT +#define CHOICE_POPUP_TITLE_HEIGHT 20 + +{ + menuDef + { + CENTER_POPUP_SETUP_ONOPEN( demo, 5, ;, setDvar ui_demo "record "; setfocus demo;, 1 ) + + CHOICE_POPMENU_TITLE( "Record Demo" ) + CHOICE_POPMENU_SUBTITLE( " Note: Don't remove 'record' in front of the demo name" ) + + name "demo" + + onClose + { + scriptMenuResponse "demo"; + } + + itemDef + { + name demo + type ITEM_TYPE_EDITFIELD + text "Demo Name:" + dvar "ui_demo" + rect CHOICE_ORIGIN( 3 ) (CHOICE_SIZE_X) 20 + origin 0 -12 + textaligny 0 + textalignx 1 + maxpaintchars 30 + textalign ITEM_ALIGN_MIDDLE_LEFT + textfont UI_FONT_NORMAL + textscale TEXTSIZE_SMALL + forecolor .9 .9 .9 1 + style WINDOW_STYLE_FILLED + backcolor 0 0 0 .3 + visible 1 + accept { exec "stoprecord"; exec "vstr ui_demo"; close self } + } + + CHOICE_BUTTON( 4, "Start Recording", exec "stoprecord"; exec "vstr ui_demo"; close self ) + CHOICE_BUTTON( 5, "Cancel", close self; ) + } +} \ No newline at end of file diff --git a/ui_mp/scriptmenus/quickpromod.menu b/ui_mp/scriptmenus/quickpromod.menu index ac8b062..1d5b0b8 100644 --- a/ui_mp/scriptmenus/quickpromod.menu +++ b/ui_mp/scriptmenus/quickpromod.menu @@ -11,8 +11,6 @@ #include "ui/menudef.h" #include "ui_mp/common_macro.inc" -#define CHOICE_GROUP "quickpromod" - #include "ui_mp/menustyle.inc" #include "ui/choices_setup_common.menu" @@ -97,12 +95,29 @@ textstyle ITEM_TEXTSTYLE_SHADOWED textscale TEXTSIZE_SMALL textaligny 8 - text "4. Killspec" + text "4. Spectate Team" visible 1 decoration } execKey "4" { scriptMenuResponse "killspec"; close quickpromod } + itemDef + { + name "window" + group ingamebox + rect 16 84 0 0 + origin ORIGIN_QUICKMESSAGEWINDOW + forecolor 1 1 1 1 + textfont UI_FONT_NORMAL + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale TEXTSIZE_SMALL + textaligny 8 + text "5. Record Reminder" + visible 1 + decoration + } + execKey "5" { scriptMenuResponse "4"; close quickpromod } + itemDef { name "window" diff --git a/ui_mp/scriptmenus/quickpromodgfx.menu b/ui_mp/scriptmenus/quickpromodgfx.menu index e501613..dcc44f4 100644 --- a/ui_mp/scriptmenus/quickpromodgfx.menu +++ b/ui_mp/scriptmenus/quickpromodgfx.menu @@ -11,8 +11,6 @@ #include "ui/menudef.h" #include "ui_mp/common_macro.inc" -#define CHOICE_GROUP "quickpromodgfx" - #include "ui_mp/menustyle.inc" #include "ui/choices_setup_common.menu" diff --git a/ui_mp/scriptmenus/scoreboard.menu b/ui_mp/scriptmenus/scoreboard.menu index ca7fa5b..5eed463 100644 --- a/ui_mp/scriptmenus/scoreboard.menu +++ b/ui_mp/scriptmenus/scoreboard.menu @@ -151,7 +151,7 @@ textscale 0.4 textalign ITEM_ALIGN_LEFT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") ) + visible when ( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") ) decoration } itemDef @@ -163,7 +163,7 @@ textscale 0.4 textalign ITEM_ALIGN_LEFT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") ) + visible when ( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") ) decoration } itemDef @@ -175,7 +175,7 @@ textscale 0.4 textalign ITEM_ALIGN_LEFT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( team( name ) == "TEAM_FREE" ) + visible when ( team( name ) == "TEAM_FREE" ) decoration } itemDef @@ -205,7 +205,7 @@ textscale 0.4 textalign ITEM_ALIGN_LEFT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") ) + visible when ( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") ) decoration } itemDef @@ -217,7 +217,7 @@ textscale TEXTSIZE_SMALL textalign ITEM_ALIGN_CENTER textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") && team( score ) > otherteam( score ) && timeLeft() % 8 > 3 && !isIntermission() ) + visible when( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") && team( score ) > otherteam( score ) && timeLeft() % 8 > 3 && !isIntermission() ) decoration } itemDef @@ -229,7 +229,7 @@ textscale TEXTSIZE_SMALL textalign ITEM_ALIGN_CENTER textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") && team( score ) < otherteam( score ) && timeLeft() % 8 > 3 && !isIntermission() ) + visible when( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") && team( score ) < otherteam( score ) && timeLeft() % 8 > 3 && !isIntermission() ) decoration } itemDef @@ -241,7 +241,7 @@ textscale TEXTSIZE_SMALL textalign ITEM_ALIGN_CENTER textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") && team( score ) == otherteam( score ) && timeLeft() % 8 > 3 && !isIntermission() ) + visible when( (team( name ) == "TEAM_ALLIES" || team( name ) == "TEAM_AXIS") && team( score ) == otherteam( score ) && timeLeft() % 8 > 3 && !isIntermission() ) decoration } itemDef @@ -253,7 +253,7 @@ textscale TEXTSIZE_SMALL textalign ITEM_ALIGN_CENTER textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when( (timeLeft() % 8 < 4 || timeLeft() < 0) && !isIntermission() ) + visible when( (timeLeft() % 8 < 4 || timeLeft() < 0) && !isIntermission() ) decoration } itemDef @@ -265,7 +265,7 @@ textscale 0.4 textalign ITEM_ALIGN_LEFT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( team( name ) == "TEAM_SPECTATOR" ) + visible when ( team( name ) == "TEAM_SPECTATOR" ) decoration } itemDef @@ -277,24 +277,24 @@ textscale 0.4 textalign ITEM_ALIGN_LEFT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( team( name ) == "TEAM_SPECTATOR" ) + visible when ( team( name ) == "TEAM_SPECTATOR" ) decoration } itemDef { - rect 0 4 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + rect -3 4 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP origin 0 22 exp text ( secondsAsCountdown( timeLeft() ) ); textfont UI_FONT_OBJECTIVE textscale 0.4 textalign ITEM_ALIGN_RIGHT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE - visible when ( timeLeft() >= 30 ); + visible when ( timeLeft() >= 60 ); decoration } itemDef { - rect 0 4 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + rect -3 4 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP origin 0 22 exp text ( secondsAsCountdown( timeLeft() ) ); textfont UI_FONT_OBJECTIVE @@ -302,12 +302,12 @@ textalign ITEM_ALIGN_RIGHT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE forecolor 1 0.75 0 1 - visible when ( timeLeft() >= 10 && timeLeft() < 30 ); + visible when ( timeLeft() >= 10 && timeLeft() < 60 ); decoration } itemDef { - rect 0 4 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP + rect -3 4 1 1 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP origin 0 22 exp text ( secondsAsCountdown( timeLeft() ) ); textfont UI_FONT_OBJECTIVE @@ -315,7 +315,7 @@ textalign ITEM_ALIGN_RIGHT textstyle ITEM_TEXTSTYLE_SHADOWEDMORE forecolor 1 0.5 0 1 - visible when ( timeLeft() >= 0 && timeLeft() < 10 ); + visible when ( timeLeft() >= 0 && timeLeft() < 10 ); decoration } } diff --git a/ui_mp/scriptmenus/shoutcast.menu b/ui_mp/scriptmenus/shoutcast.menu index fc286b1..32c06a0 100644 --- a/ui_mp/scriptmenus/shoutcast.menu +++ b/ui_mp/scriptmenus/shoutcast.menu @@ -9,9 +9,6 @@ */ #include "ui/menudef.h" -#include "ui_mp/common_macro.inc" - -#define CHOICE_GROUP "shoutcast" #define CHOICE_SIZE_X 150 #define CHOICE_SIZE_Y 22 @@ -37,10 +34,6 @@ focuscolor COLOR_FOCUSED style WINDOW_STYLE_EMPTY blurWorld 0 - onOpen - { - setLocalVarString ui_team "shoutcast" - } itemDef { @@ -68,7 +61,7 @@ } CHOICE_MENU_TITLE( "Shoutcast" ) - #define BACK_ENABLE 1 + #define BACK_OPEN; #include "ui_mp/navcontrols.inc"; @@ -78,13 +71,13 @@ #undef CHOICE_HORIZONTAL_ALIGN #define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER - CHOICE_BUTTON_VIS( 1, "Spectate", close self;, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 2, "Shoutcast Setup", scriptMenuResponse "shoutcast_setup";, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 3, "Overview Map", close self; open shoutcast_map; setDvar cl_bypassMouseInput "1";, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 4, "Promod Graphics", open quickpromodgfx;, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 5, "@MPUI_CHANGE_TEAM", scriptMenuResponse "changeteam";, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 6, "@MENU_CONTROLS", close self; open main_controls;, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 7, "@MENU_OPTIONS", close self; open main_options; execnow "set ui_allow_graphic_change 0";, when( dvarString( cl_bypassMouseInput ) != "1" ) ) - CHOICE_BUTTON_VIS( 8, "@MPUI_LEAVE_GAME", open popup_endgame, when( dvarString( cl_bypassMouseInput ) != "1" ) ) + CHOICE_BUTTON( 1, "Spectate", close self; ) + CHOICE_BUTTON( 2, "Shoutcast Setup", scriptMenuResponse "shoutcast_setup"; ) + CHOICE_BUTTON( 3, "Overview Map", close self; open shoutcast_map; setDvar cl_bypassMouseInput "1"; ) + CHOICE_BUTTON( 4, "Promod Graphics", open quickpromodgfx; ) + CHOICE_BUTTON( 5, "@MPUI_CHANGE_TEAM", scriptMenuResponse "changeteam"; ) + CHOICE_BUTTON( 6, "@MENU_CONTROLS", close self; open main_controls; ) + CHOICE_BUTTON( 7, "@MENU_OPTIONS", close self; open main_options; execnow "set ui_allow_graphic_change 0"; ) + CHOICE_BUTTON( 8, "@MPUI_LEAVE_GAME", open popup_endgame; ) } } \ No newline at end of file diff --git a/ui_mp/scriptmenus/shoutcast_map.menu b/ui_mp/scriptmenus/shoutcast_map.menu index a125306..a9abecf 100644 --- a/ui_mp/scriptmenus/shoutcast_map.menu +++ b/ui_mp/scriptmenus/shoutcast_map.menu @@ -23,10 +23,9 @@ focuscolor COLOR_FOCUSED style WINDOW_STYLE_EMPTY blurWorld 7.0 - onEsc { - close self; open shoutcast; + close self; } onClose { diff --git a/ui_mp/scriptmenus/shoutcast_setup.inc b/ui_mp/scriptmenus/shoutcast_setup.inc new file mode 100644 index 0000000..94b7a0f --- /dev/null +++ b/ui_mp/scriptmenus/shoutcast_setup.inc @@ -0,0 +1,25 @@ +/* + Copyright (c) 2009-2017 Andreas Göransson + Copyright (c) 2009-2017 Indrek Ardel + + This file is part of Call of Duty 4 Promod. + + Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. + Terms of license can be found in LICENSE.md document bundled with the project. +*/ + +#define BACK_OPEN; +#include "ui_mp/navcontrols.inc" + +#define STATUS( classname ) dvarString( ( "shout_alliesclass1" ) == classname || dvarString( "shout_alliesclass2" ) == classname || dvarString( "shout_alliesclass3" ) == classname || dvarString( "shout_alliesclass4" ) == classname || dvarString( "shout_alliesclass5" ) == classname || dvarString( "shout_axisclass1" ) == classname || dvarString( "shout_axisclass2" ) == classname || dvarString( "shout_axisclass3" ) == classname || dvarString( "shout_axisclass4" ) == classname || dvarString( "shout_axisclass5" ) == classname ) + +CHOICE_MENU_TITLE( "Shoutcast Setup" ) + +#undef CHOICE_X_START +#define CHOICE_X_START -247 + +#undef CHOICE_HORIZONTAL_ALIGN +#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER + +CHOICE_BUTTON( 14, "Players...", close self; open shoutcast_setup ) +CHOICE_BUTTON( 15, "Binds...", close self; open shoutcast_setup_binds ) \ No newline at end of file diff --git a/ui_mp/scriptmenus/shoutcast_setup.menu b/ui_mp/scriptmenus/shoutcast_setup.menu index 5ebf0d8..d595349 100644 --- a/ui_mp/scriptmenus/shoutcast_setup.menu +++ b/ui_mp/scriptmenus/shoutcast_setup.menu @@ -9,31 +9,13 @@ */ #include "ui/menudef.h" -#include "ui_mp/common_macro.inc" - -#define CHOICE_SIZE_X -#define CHOICE_SIZE_Y 22 #define CHOICE_X_START 0 -#define CHOICE_Y_START 34 - -#define CHOICE_SEP_OFFSET_Y -2 +#define CHOICE_Y_START 31 #include "ui_mp/menustyle.inc" #include "ui/choices_setup_common.menu" -#undef BUTTON_BG_COLOR -#define BUTTON_BG_COLOR 0 0 0 0 - -#define MENU_LOCKED_COLOR 0.25 0.25 0.25 1 - -#define ORIGIN_BUTTON_BACK 52 438 -#define ORIGIN_MENU_TREE 54 64 -#define ORIGIN_MENU_TITLE_MARINES 178 64 -#define ORIGIN_MENU_TITLE_OPFOR 170 64 -#define TREE_COLOR 1 1 1 0.5 -#define LABEL_TEXT_COLOR 0.7 0.75 0.75 1 - { menuDef { @@ -41,10 +23,13 @@ rect 0 0 640 480 focuscolor COLOR_FOCUSED style WINDOW_STYLE_EMPTY - blurWorld 0 + onOpen + { + focusFirst; + } onEsc { - close self; open shoutcast; + close self; } itemDef @@ -72,81 +57,78 @@ decoration } - CHOICE_MENU_TITLE( "Shoutcast Setup" ) - - #define BACK_OPEN; - #include "ui_mp/navcontrols.inc" - #include "ui_mp/teamicon.inc" + #include "ui_mp/scriptmenus/shoutcast_setup.inc" CHOICE_SECTION_TITLE( 1, dvarString("shout_attack_name") ) - CHOICE_BUTTON_VIS( 2, "1. " + dvarString("shout_allies1") + " (" + dvarString("shout_alliesclass1") + ")", scriptMenuResponse "1", when( dvarString("shout_allies1") != "" && dvarString("shout_alliesclass1") != "" ) ) - CHOICE_BUTTON_VIS( 3, "2. " + dvarString("shout_allies2") + " (" + dvarString("shout_alliesclass2") + ")", scriptMenuResponse "2", when( dvarString("shout_allies2") != "" && dvarString("shout_alliesclass2") != "" ) ) - CHOICE_BUTTON_VIS( 4, "3. " + dvarString("shout_allies3") + " (" + dvarString("shout_alliesclass3") + ")", scriptMenuResponse "3", when( dvarString("shout_allies3") != "" && dvarString("shout_alliesclass3") != "" ) ) - CHOICE_BUTTON_VIS( 5, "4. " + dvarString("shout_allies4") + " (" + dvarString("shout_alliesclass4") + ")", scriptMenuResponse "4", when( dvarString("shout_allies4") != "" && dvarString("shout_alliesclass4") != "" ) ) - CHOICE_BUTTON_VIS( 6, "5. " + dvarString("shout_allies5") + " (" + dvarString("shout_alliesclass5") + ")", scriptMenuResponse "5", when( dvarString("shout_allies5") != "" && dvarString("shout_alliesclass5") != "" ) ) + + CHOICE_BUTTON_VIS( 2, "1. " + dvarString("shout_allies1") + " (" + dvarString("shout_alliesclass1") + ")", scriptMenuResponse "1", when( dvarString("shout_allies1") != "" && dvarString("shout_allieshealth1") != "0" ) ) + CHOICE_BUTTON_VIS( 3, "2. " + dvarString("shout_allies2") + " (" + dvarString("shout_alliesclass2") + ")", scriptMenuResponse "2", when( dvarString("shout_allies2") != "" && dvarString("shout_allieshealth2") != "0" ) ) + CHOICE_BUTTON_VIS( 4, "3. " + dvarString("shout_allies3") + " (" + dvarString("shout_alliesclass3") + ")", scriptMenuResponse "3", when( dvarString("shout_allies3") != "" && dvarString("shout_allieshealth3") != "0" ) ) + CHOICE_BUTTON_VIS( 5, "4. " + dvarString("shout_allies4") + " (" + dvarString("shout_alliesclass4") + ")", scriptMenuResponse "4", when( dvarString("shout_allies4") != "" && dvarString("shout_allieshealth4") != "0" ) ) + CHOICE_BUTTON_VIS( 6, "5. " + dvarString("shout_allies5") + " (" + dvarString("shout_alliesclass5") + ")", scriptMenuResponse "5", when( dvarString("shout_allies5") != "" && dvarString("shout_allieshealth5") != "0" ) ) + + CHOICE_DBUTTON_VIS( 2, "1. " + dvarString("shout_allies1") + " (" + dvarString("shout_alliesclass1") + ")", when( dvarString("shout_allies1") != "" && dvarString("shout_allieshealth1") == "0" ) ) + CHOICE_DBUTTON_VIS( 3, "2. " + dvarString("shout_allies2") + " (" + dvarString("shout_alliesclass2") + ")", when( dvarString("shout_allies2") != "" && dvarString("shout_allieshealth2") == "0" ) ) + CHOICE_DBUTTON_VIS( 4, "3. " + dvarString("shout_allies3") + " (" + dvarString("shout_alliesclass3") + ")", when( dvarString("shout_allies3") != "" && dvarString("shout_allieshealth3") == "0" ) ) + CHOICE_DBUTTON_VIS( 5, "4. " + dvarString("shout_allies4") + " (" + dvarString("shout_alliesclass4") + ")", when( dvarString("shout_allies4") != "" && dvarString("shout_allieshealth4") == "0" ) ) + CHOICE_DBUTTON_VIS( 6, "5. " + dvarString("shout_allies5") + " (" + dvarString("shout_alliesclass5") + ")", when( dvarString("shout_allies5") != "" && dvarString("shout_allieshealth5") == "0" ) ) + + CHOICE_DBUTTON_VIS( 2, "1. No Player", when( dvarString("shout_allies1") == "" ) ) + CHOICE_DBUTTON_VIS( 3, "2. No Player", when( dvarString("shout_allies2") == "" ) ) + CHOICE_DBUTTON_VIS( 4, "3. No Player", when( dvarString("shout_allies3") == "" ) ) + CHOICE_DBUTTON_VIS( 5, "4. No Player", when( dvarString("shout_allies4") == "" ) ) + CHOICE_DBUTTON_VIS( 6, "5. No Player", when( dvarString("shout_allies5") == "" ) ) CHOICE_SECTION_TITLE( 7, dvarString("shout_defence_name") ) - CHOICE_BUTTON_VIS( 8, "6. " + dvarString("shout_axis1") + " (" + dvarString("shout_axisclass1") + ")", scriptMenuResponse "6", when( dvarString("shout_axis1") != "" && dvarString("shout_axisclass1") != "" ) ) - CHOICE_BUTTON_VIS( 9, "7. " + dvarString("shout_axis2") + " (" + dvarString("shout_axisclass2") + ")", scriptMenuResponse "7", when( dvarString("shout_axis2") != "" && dvarString("shout_axisclass2") != "" ) ) - CHOICE_BUTTON_VIS( 10, "8. " + dvarString("shout_axis3") + " (" + dvarString("shout_axisclass3") + ")", scriptMenuResponse "8", when( dvarString("shout_axis3") != "" && dvarString("shout_axisclass3") != "" ) ) - CHOICE_BUTTON_VIS( 11, "9. " + dvarString("shout_axis4") + " (" + dvarString("shout_axisclass4") + ")", scriptMenuResponse "9", when( dvarString("shout_axis4") != "" && dvarString("shout_axisclass4") != "" ) ) - CHOICE_BUTTON_VIS( 12, "0. " + dvarString("shout_axis5") + " (" + dvarString("shout_axisclass5") + ")", scriptMenuResponse "10", when( dvarString("shout_axis5") != "" && dvarString("shout_axisclass5") != "" ) ) - - #undef CHOICE_X_START - #define CHOICE_X_START 250 - - #undef CHOICE_Y_START - #define CHOICE_Y_START -230 - - CHOICE_BIND( 13, "Player 1:", "openscriptmenu shoutcast_setup 1", ; ) - CHOICE_BIND( 14, "Player 2:", "openscriptmenu shoutcast_setup 2", ; ) - CHOICE_BIND( 15, "Player 3:", "openscriptmenu shoutcast_setup 3", ; ) - CHOICE_BIND( 16, "Player 5:", "openscriptmenu shoutcast_setup 4", ; ) - CHOICE_BIND( 17, "Player 5:", "openscriptmenu shoutcast_setup 5", ; ) - CHOICE_BIND( 19, "Player 1:", "openscriptmenu shoutcast_setup 6", ; ) - CHOICE_BIND( 20, "Player 2:", "openscriptmenu shoutcast_setup 7", ; ) - - #undef CHOICE_X_START - #define CHOICE_X_START 0 - - #undef CHOICE_Y_START - #define CHOICE_Y_START 250 - - CHOICE_BIND( 21, "Player 3:", "openscriptmenu shoutcast_setup 8", ; ) - CHOICE_BIND( 22, "Player 4:", "openscriptmenu shoutcast_setup 9", ; ) - CHOICE_BIND( 23, "Player 5:", "openscriptmenu shoutcast_setup 10", ; ) - - #undef CHOICE_X_START - #define CHOICE_X_START -250 - - CHOICE_SECTION_TITLE( 24, "Class" ) - CHOICE_BUTTON( 25, "Cycle Assault Players", scriptMenuResponse "assault"; ) - CHOICE_BUTTON( 26, "Cycle Spec Ops Players", scriptMenuResponse "specops"; ) - CHOICE_BUTTON( 27, "Cycle Demolitions Players", scriptMenuResponse "demolitions"; ) - CHOICE_BUTTON( 28, "Cycle Sniper Players", scriptMenuResponse "sniper"; ) - - #undef CHOICE_X_START - #define CHOICE_X_START 0 - - #undef CHOICE_Y_START - #define CHOICE_Y_START 154 - - CHOICE_BIND( 29, "Assault:", "openscriptmenu shoutcast_setup assault", ; ) - CHOICE_BIND( 30, "Spec Ops:", "openscriptmenu shoutcast_setup specops", ; ) - CHOICE_BIND( 31, "Demolitions:", "openscriptmenu shoutcast_setup demolitions", ; ) - CHOICE_BIND( 32, "Sniper:", "openscriptmenu shoutcast_setup sniper", ; ) - - CHOICE_KEYBINDHELP - - execKey "1" { scriptMenuResponse "1"; } - execKey "2" { scriptMenuResponse "2"; } - execKey "3" { scriptMenuResponse "3"; } - execKey "4" { scriptMenuResponse "4"; } - execKey "5" { scriptMenuResponse "5"; } - execKey "6" { scriptMenuResponse "6"; } - execKey "7" { scriptMenuResponse "7"; } - execKey "8" { scriptMenuResponse "8"; } - execKey "9" { scriptMenuResponse "9"; } - execKey "0" { scriptMenuResponse "10"; } + + CHOICE_BUTTON_VIS( 8, "6. " + dvarString("shout_axis1") + " (" + dvarString("shout_axisclass1") + ")", scriptMenuResponse "6", when( dvarString("shout_axis1") != "" && dvarString("shout_axishealth1") != "0" ) ) + CHOICE_BUTTON_VIS( 9, "7. " + dvarString("shout_axis2") + " (" + dvarString("shout_axisclass2") + ")", scriptMenuResponse "7", when( dvarString("shout_axis2") != "" && dvarString("shout_axishealth2") != "0" ) ) + CHOICE_BUTTON_VIS( 10, "8. " + dvarString("shout_axis3") + " (" + dvarString("shout_axisclass3") + ")", scriptMenuResponse "8", when( dvarString("shout_axis3") != "" && dvarString("shout_axishealth3") != "0" ) ) + CHOICE_BUTTON_VIS( 11, "9. " + dvarString("shout_axis4") + " (" + dvarString("shout_axisclass4") + ")", scriptMenuResponse "9", when( dvarString("shout_axis4") != "" && dvarString("shout_axishealth4") != "0" ) ) + CHOICE_BUTTON_VIS( 12, "0. " + dvarString("shout_axis5") + " (" + dvarString("shout_axisclass5") + ")", scriptMenuResponse "10", when( dvarString("shout_axis5") != "" && dvarString("shout_axishealth5") != "0" ) ) + + CHOICE_DBUTTON_VIS( 8, "6. " + dvarString("shout_axis1") + " (" + dvarString("shout_axisclass1") + ")", when( dvarString("shout_axis1") != "" && dvarString("shout_axishealth1") == "0" ) ) + CHOICE_DBUTTON_VIS( 9, "7. " + dvarString("shout_axis2") + " (" + dvarString("shout_axisclass2") + ")", when( dvarString("shout_axis2") != "" && dvarString("shout_axishealth2") == "0" ) ) + CHOICE_DBUTTON_VIS( 10, "8. " + dvarString("shout_axis3") + " (" + dvarString("shout_axisclass3") + ")", when( dvarString("shout_axis3") != "" && dvarString("shout_axishealth3") == "0" ) ) + CHOICE_DBUTTON_VIS( 11, "9. " + dvarString("shout_axis4") + " (" + dvarString("shout_axisclass4") + ")", when( dvarString("shout_axis4") != "" && dvarString("shout_axishealth4") == "0" ) ) + CHOICE_DBUTTON_VIS( 12, "0. " + dvarString("shout_axis5") + " (" + dvarString("shout_axisclass5") + ")", when( dvarString("shout_axis5") != "" && dvarString("shout_axishealth5") == "0" ) ) + + CHOICE_DBUTTON_VIS( 8, "6. No Player", when( dvarString("shout_axis1") == "" ) ) + CHOICE_DBUTTON_VIS( 9, "7. No Player", when( dvarString("shout_axis2") == "" ) ) + CHOICE_DBUTTON_VIS( 10, "8. No Player", when( dvarString("shout_axis3") == "" ) ) + CHOICE_DBUTTON_VIS( 11, "9. No Player", when( dvarString("shout_axis4") == "" ) ) + CHOICE_DBUTTON_VIS( 12, "0. No Player", when( dvarString("shout_axis5") == "" ) ) + + CHOICE_SECTION_TITLE( 21, "Shoutcaster" ) + + CHOICE_BUTTON_VIS( 22, dvarString("shout_spec1"), scriptMenuResponse "11", when( dvarString("shout_spec1") != "" && dvarString("shout_spec1") != dvarString("name") ) ) + CHOICE_BUTTON_VIS( 23, dvarString("shout_spec2"), scriptMenuResponse "12", when( dvarString("shout_spec2") != "" && dvarString("shout_spec2") != dvarString("name") ) ) + CHOICE_BUTTON_VIS( 24, dvarString("shout_spec3"), scriptMenuResponse "13", when( dvarString("shout_spec3") != "" && dvarString("shout_spec3") != dvarString("name") ) ) + CHOICE_BUTTON_VIS( 25, dvarString("shout_spec4"), scriptMenuResponse "14", when( dvarString("shout_spec4") != "" && dvarString("shout_spec4") != dvarString("name") ) ) + CHOICE_BUTTON_VIS( 26, dvarString("shout_spec5"), scriptMenuResponse "15", when( dvarString("shout_spec5") != "" && dvarString("shout_spec5") != dvarString("name") ) ) + + CHOICE_DBUTTON_VIS( 22, dvarString("shout_spec1"), when( dvarString("shout_spec1") != "" && dvarString("shout_spec1") == dvarString("name") ) ) + CHOICE_DBUTTON_VIS( 23, dvarString("shout_spec2"), when( dvarString("shout_spec2") != "" && dvarString("shout_spec2") == dvarString("name") ) ) + CHOICE_DBUTTON_VIS( 24, dvarString("shout_spec3"), when( dvarString("shout_spec3") != "" && dvarString("shout_spec3") == dvarString("name") ) ) + CHOICE_DBUTTON_VIS( 25, dvarString("shout_spec4"), when( dvarString("shout_spec4") != "" && dvarString("shout_spec4") == dvarString("name") ) ) + CHOICE_DBUTTON_VIS( 26, dvarString("shout_spec5"), when( dvarString("shout_spec5") != "" && dvarString("shout_spec5") == dvarString("name") ) ) + + CHOICE_DBUTTON_VIS( 22, "No Shoutcaster", when( dvarString("shout_spec1") == "" ) ) + CHOICE_DBUTTON_VIS( 23, "No Shoutcaster", when( dvarString("shout_spec2") == "" ) ) + CHOICE_DBUTTON_VIS( 24, "No Shoutcaster", when( dvarString("shout_spec3") == "" ) ) + CHOICE_DBUTTON_VIS( 25, "No Shoutcaster", when( dvarString("shout_spec4") == "" ) ) + CHOICE_DBUTTON_VIS( 26, "No Shoutcaster", when( dvarString("shout_spec5") == "" ) ) + + CHOICE_SECTION_TITLE( 27, "Class" ) + + CHOICE_BUTTON_VIS( 28, "Cycle Assault Players", scriptMenuResponse "assault", when( STATUS( "assault" ) ) ) + CHOICE_BUTTON_VIS( 29, "Cycle Spec Ops Players", scriptMenuResponse "specops", when( STATUS( "spec ops" ) ) ) + CHOICE_BUTTON_VIS( 30, "Cycle Demolitions Players", scriptMenuResponse "demolitions", when( STATUS( "demolitions" ) ) ) + CHOICE_BUTTON_VIS( 31, "Cycle Sniper Players", scriptMenuResponse "sniper", when( STATUS( "sniper" ) ) ) + + CHOICE_DBUTTON_VIS( 28, "Cycle Assault Players", when( STATUS( "assault" ) == "false" ) ) + CHOICE_DBUTTON_VIS( 29, "Cycle Spec Ops Players", when( STATUS( "spec ops" ) == "false" ) ) + CHOICE_DBUTTON_VIS( 30, "Cycle Demolitions Players", when( STATUS( "demolitions" ) == "false" ) ) + CHOICE_DBUTTON_VIS( 31, "Cycle Sniper Players", when( STATUS( "sniper" ) == "false" ) ) } } \ No newline at end of file diff --git a/ui_mp/scriptmenus/shoutcast_setup_binds.menu b/ui_mp/scriptmenus/shoutcast_setup_binds.menu new file mode 100644 index 0000000..5fa6e91 --- /dev/null +++ b/ui_mp/scriptmenus/shoutcast_setup_binds.menu @@ -0,0 +1,110 @@ +/* + Copyright (c) 2009-2017 Andreas Göransson + Copyright (c) 2009-2017 Indrek Ardel + + This file is part of Call of Duty 4 Promod. + + Call of Duty 4 Promod is licensed under Promod Modder Ethical Public License. + Terms of license can be found in LICENSE.md document bundled with the project. +*/ + +#include "ui/menudef.h" +#include "ui_mp/common_macro.inc" + +#define CHOICE_SEP_1 31 + +#define CHOICE_X_START 0 +#define CHOICE_Y_START 31 + +#include "ui_mp/menustyle.inc" +#include "ui/choices_setup_common.menu" + +{ + menuDef + { + name "shoutcast_setup_binds" + rect 0 0 640 480 + focuscolor COLOR_FOCUSED + style WINDOW_STYLE_EMPTY + onEsc + { + close self; + } + + itemDef + { + style WINDOW_STYLE_FILLED + rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN + backcolor 0 0 0 0.75 + visible 1 + decoration + } + itemDef + { + style WINDOW_STYLE_SHADER + rect 0 0 854 75 HORIZONTAL_ALIGN_FULLSCREEN 0 + background "gradient_top" + visible 1 + decoration + } + itemDef + { + style WINDOW_STYLE_SHADER + rect 0 405 854 75 HORIZONTAL_ALIGN_FULLSCREEN 0 + background "gradient_bottom" + visible 1 + decoration + } + + #include "ui_mp/scriptmenus/shoutcast_setup.inc" + + CHOICE_SECTION_TITLE( 1, dvarString("shout_attack_name") ) + + CHOICE_BIND( 2, "Player 1", "openscriptmenu shoutcast_setup 1", ; ) + CHOICE_BIND( 3, "Player 2", "openscriptmenu shoutcast_setup 2", ; ) + CHOICE_BIND( 4, "Player 3", "openscriptmenu shoutcast_setup 3", ; ) + CHOICE_BIND( 5, "Player 4", "openscriptmenu shoutcast_setup 4", ; ) + CHOICE_BIND( 6, "Player 5", "openscriptmenu shoutcast_setup 5", ; ) + + CHOICE_SECTION_TITLE( 7, dvarString("shout_defence_name") ) + + CHOICE_BIND( 8, "Player 1", "openscriptmenu shoutcast_setup 6", ; ) + CHOICE_BIND( 9, "Player 2", "openscriptmenu shoutcast_setup 7", ; ) + CHOICE_BIND( 10, "Player 3", "openscriptmenu shoutcast_setup 8", ; ) + CHOICE_BIND( 11, "Player 4", "openscriptmenu shoutcast_setup 9", ; ) + CHOICE_BIND( 12, "Player 5", "openscriptmenu shoutcast_setup 10", ; ) + + CHOICE_SECTION_TITLE( 21, "Shoutcaster" ) + + CHOICE_BIND( 22, "Shoutcaster 1", "openscriptmenu shoutcast_setup 11", ; ) + CHOICE_BIND( 23, "Shoutcaster 2", "openscriptmenu shoutcast_setup 12", ; ) + CHOICE_BIND( 24, "Shoutcaster 3", "openscriptmenu shoutcast_setup 13", ; ) + CHOICE_BIND( 25, "Shoutcaster 4", "openscriptmenu shoutcast_setup 14", ; ) + CHOICE_BIND( 26, "Shoutcaster 5", "openscriptmenu shoutcast_setup 15", ; ) + + CHOICE_SECTION_TITLE( 27, "Class" ) + + CHOICE_BIND( 28, "Assault", "openscriptmenu shoutcast_setup assault", ; ) + CHOICE_BIND( 29, "Spec Ops", "openscriptmenu shoutcast_setup specops", ; ) + CHOICE_BIND( 30, "Demolitions", "openscriptmenu shoutcast_setup demolitions", ; ) + CHOICE_BIND( 31, "Sniper", "openscriptmenu shoutcast_setup sniper", ; ) + + CHOICE_SEPARATOR( CHOICE_SEP_1 ) + + CHOICE_BIND( 32, "Shoutcaster Menu", "openscriptmenu quickpromod shoutcaster", ; ) + CHOICE_BIND( 33, "Overview Map", "openscriptmenu quickpromod overview", ; ) + + CHOICE_KEYBINDHELP + + execKey "1" { scriptMenuResponse "1"; } + execKey "2" { scriptMenuResponse "2"; } + execKey "3" { scriptMenuResponse "3"; } + execKey "4" { scriptMenuResponse "4"; } + execKey "5" { scriptMenuResponse "5"; } + execKey "6" { scriptMenuResponse "6"; } + execKey "7" { scriptMenuResponse "7"; } + execKey "8" { scriptMenuResponse "8"; } + execKey "9" { scriptMenuResponse "9"; } + execKey "0" { scriptMenuResponse "10"; } + } +} \ No newline at end of file diff --git a/ui_mp/scriptmenus/team_marinesopfor.menu b/ui_mp/scriptmenus/team_marinesopfor.menu index a953637..b0d9691 100644 --- a/ui_mp/scriptmenus/team_marinesopfor.menu +++ b/ui_mp/scriptmenus/team_marinesopfor.menu @@ -36,9 +36,13 @@ style WINDOW_STYLE_EMPTY blurWorld 7.0 legacySplitScreenScale + onOpen + { + focusFirst; + } onEsc { - scriptMenuResponse "back"; + close self; } itemDef @@ -68,7 +72,7 @@ CHOICE_MENU_TITLE( "@MPUI_CHOOSE_TEAM" ) - #define BACK_ENABLE 0 + #define BACK_OPEN; #include "ui_mp/navcontrols.inc"; #include "ui_mp/tactical_map.inc"; @@ -84,11 +88,13 @@ CHOICE_BUTTON_VIS( 2, "2. Defence", play "mouse_click"; scriptMenuResponse "axis";, when( team( name ) == "TEAM_ALLIES" || team(name) == "TEAM_FREE" || team(name) == "TEAM_SPECTATOR" ) ) CHOICE_DBUTTON_VIS( 2, "2. Defence", when( team( name ) == "TEAM_AXIS" ) ) - CHOICE_BUTTON_EX( 3, "3. Auto-Assign", play "mouse_click"; scriptMenuResponse "autoassign";, name "auto_assign" ) + CHOICE_BUTTON( 3, "3. Auto-Assign", play "mouse_click"; scriptMenuResponse "autoassign"; ) CHOICE_SEPARATOR( CHOICE_SEP_1 ) - CHOICE_BUTTON( 4, "4. Shoutcaster", scriptMenuResponse "shoutcast"; ) + CHOICE_BUTTON_VIS( 4, "4. Shoutcaster", scriptMenuResponse "shoutcast";, when( team( name ) != "TEAM_SPECTATOR" ) ) + CHOICE_DBUTTON_VIS( 4, "4. Shoutcaster", when( team( name ) == "TEAM_SPECTATOR" ) ) + CHOICE_BUTTON_VIS( 5, "@MPUI_LEAVE_GAME", open popup_endgame, when( team( name ) == "TEAM_FREE" ) ) execKey "1" { scriptMenuResponse "allies"; } diff --git a/ui_mp/scriptmenus/team_marinesopfor_flipped.menu b/ui_mp/scriptmenus/team_marinesopfor_flipped.menu index e67b2cd..7af0964 100644 --- a/ui_mp/scriptmenus/team_marinesopfor_flipped.menu +++ b/ui_mp/scriptmenus/team_marinesopfor_flipped.menu @@ -36,9 +36,13 @@ style WINDOW_STYLE_EMPTY blurWorld 7.0 legacySplitScreenScale + onOpen + { + focusFirst; + } onEsc { - scriptMenuResponse "back"; + close self; } itemDef @@ -68,7 +72,7 @@ CHOICE_MENU_TITLE( "@MPUI_CHOOSE_TEAM" ) - #define BACK_ENABLE 0 + #define BACK_OPEN; #include "ui_mp/navcontrols.inc"; #include "ui_mp/tactical_map.inc"; @@ -84,11 +88,13 @@ CHOICE_BUTTON_VIS( 2, "2. Defence", play "mouse_click"; scriptMenuResponse "axis";, when( team( name ) == "TEAM_AXIS" || team(name) == "TEAM_FREE" || team(name) == "TEAM_SPECTATOR" ) ) CHOICE_DBUTTON_VIS( 2, "2. Defence", when( team( name ) == "TEAM_ALLIES" ) ) - CHOICE_BUTTON_EX( 3, "3. Auto-Assign", play "mouse_click"; scriptMenuResponse "autoassign";, name "auto_assign" ) + CHOICE_BUTTON( 3, "3. Auto-Assign", play "mouse_click"; scriptMenuResponse "autoassign"; ) CHOICE_SEPARATOR( CHOICE_SEP_1 ) - CHOICE_BUTTON( 4, "4. Shoutcaster", scriptMenuResponse "shoutcast"; ) + CHOICE_BUTTON_VIS( 4, "4. Shoutcaster", scriptMenuResponse "shoutcast";, when( team( name ) != "TEAM_SPECTATOR" ) ) + CHOICE_DBUTTON_VIS( 4, "4. Shoutcaster", when( team( name ) == "TEAM_SPECTATOR" ) ) + CHOICE_BUTTON_VIS( 5, "@MPUI_LEAVE_GAME", open popup_endgame, when( team( name ) == "TEAM_FREE" ) ) execKey "1" { scriptMenuResponse "allies"; } diff --git a/ui_mp/tactical_map.inc b/ui_mp/tactical_map.inc index 4a5a981..539e0c3 100644 --- a/ui_mp/tactical_map.inc +++ b/ui_mp/tactical_map.inc @@ -18,70 +18,81 @@ #define UI_MAP_NAME "@"+tablelookup("mp/mapsTable.csv",0,dvarString(mapname),3) #define MAP_OFFSET 0 21 - itemDef - { - name "mini_map2" - rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compass_map_default" - ownerdraw CG_PLAYER_FULLMAP_MAP - visible 1 - decoration - } +itemDef +{ + name "mini_map2" + rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compass_map_default" + ownerdraw CG_PLAYER_FULLMAP_MAP + visible 1 + decoration +} - itemDef - { - style WINDOW_STYLE_SHADER - name "mini_map2_overlay" - rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP - origin MAP_OFFSET - forecolor 1 1 1 1 - exp material( tableLookup( "mp/mapsTable.csv", 0, dvarString( mapname ), 7 ) ) - visible 1 - decoration - } +itemDef +{ + style WINDOW_STYLE_SHADER + name "mini_map2_overlay" + rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP + origin MAP_OFFSET + forecolor 1 1 1 1 + exp material( tableLookup( "mp/mapsTable.csv", 0, dvarString( mapname ), 7 ) ) + visible 1 + decoration +} - itemDef - { - name "compasspointers2" - rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP - origin MAP_OFFSET - forecolor 1 1 1 1 - background "objective_line" - ownerdraw CG_PLAYER_FULLMAP_POINTERS - visible 1 - decoration - } - itemDef - { - name "compassfriendlies2" - rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compassping_friendly" - ownerdraw CG_PLAYER_FULLMAP_FRIENDS - visible 1 - decoration - } - itemDef - { - name "compassenemies2" - rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compassping_enemy" - ownerdraw CG_PLAYER_FULLMAP_ENEMIES - visible when( dvarInt( g_compassShowEnemies ) ); - decoration - } +itemDef +{ + name "compasspointers2" + rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP + origin MAP_OFFSET + forecolor 1 1 1 1 + background "objective_line" + ownerdraw CG_PLAYER_FULLMAP_POINTERS + visible 1 + decoration +} +itemDef +{ + name "compassfriendlies2" + rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compassping_friendly" + ownerdraw CG_PLAYER_FULLMAP_FRIENDS + visible 1 + decoration +} +itemDef +{ + name "compassenemies2" + rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compassping_enemy" + ownerdraw CG_PLAYER_FULLMAP_ENEMIES + visible when( dvarInt( g_compassShowEnemies ) ); + decoration +} +itemDef +{ + name "compassplayer2" + rect ORIGIN_MAP_FRAME MAP_WIDTH MAP_WIDTH RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compassping_player" + ownerdraw CG_PLAYER_FULLMAP_PLAYER + visible when( team( name ) != "TEAM_FREE" ) + decoration +} - PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME (-(MAP_WIDTH)) 20 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 5 0, "white", 0 0 0 0.3, 0, 0, 0 0 0 0 ) - PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME (-(MAP_WIDTH)) 20 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 5 0, "gradient_fadein", 0.9 0.95 1 0.4, 0, 0, 0 0 0 0 ) +PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME (-(MAP_WIDTH)) 20 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 5 0, "white", 0 0 0 0.3, 0, 0, 0 0 0 0 ) +PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME (-(MAP_WIDTH)) 20 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 5 0, "gradient_fadein", 0.9 0.95 1 0.4, 0, 0, 0 0 0 0 ) - UI_EDGE_REVERSE( ORIGIN_MAP_FRAME, RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 0, 0, 0 0 0 0.3 ) - UI_EDGE_REVERSE( ORIGIN_MAP_FRAME, RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 0, 0, 0.9 0.95 1 0.4 ) +UI_EDGE_REVERSE( ORIGIN_MAP_FRAME, RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 0, 0, 0 0 0 0.3 ) +UI_EDGE_REVERSE( ORIGIN_MAP_FRAME, RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 0, 0, 0.9 0.95 1 0.4 ) - PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME (-(MAP_WIDTH2)) 6 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 0 (MAP_HEIGHT-6), "gradient_fadein",0.9 0.95 1 0.35, 0, 0, 0 0 0 0 ) - PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME -80 20 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, (MAP_WIDTH-78) 0, "ui_perforation", 1 1 1 1, 0, 0, 0 0 0 0 ) - PREPROC_TEXT_DRAW_ALIGNED_EXP( ORIGIN_MAP_FRAME MAP_WIDTH 0 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 5 20, UI_MAP_NAME, TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_LEFT, 1 1 1 0.7 ) \ No newline at end of file +PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME (-(MAP_WIDTH2)) 6 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 0 (MAP_HEIGHT-6), "gradient_fadein",0.9 0.95 1 0.35, 0, 0, 0 0 0 0 ) +PREPROC_SHADER_DRAW_ALIGNED( ORIGIN_MAP_FRAME -80 20 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, (MAP_WIDTH-78) 0, "ui_perforation", 1 1 1 1, 0, 0, 0 0 0 0 ) +PREPROC_TEXT_DRAW_ALIGNED_EXP( ORIGIN_MAP_FRAME MAP_WIDTH 0 RIGHTITEM_ALIGN VERTICAL_ALIGN_TOP, 5 20, UI_MAP_NAME, TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_LEFT, 1 1 1 0.7 ) \ No newline at end of file diff --git a/ui_mp/tactical_map_s.inc b/ui_mp/tactical_map_s.inc index 70a8a97..9dbf093 100644 --- a/ui_mp/tactical_map_s.inc +++ b/ui_mp/tactical_map_s.inc @@ -8,72 +8,72 @@ Terms of license can be found in LICENSE.md document bundled with the project. */ - #define MAP_OFFSET 0 0 - #define FULL_SCREEN 0 30 640 420 +#define MAP_OFFSET 0 0 +#define FULL_SCREEN 0 30 640 420 - itemDef - { - name "mini_map2" - rect FULL_SCREEN - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compass_map_default" - ownerdraw CG_PLAYER_FULLMAP_MAP - visible 1 - decoration - } - itemDef - { - style WINDOW_STYLE_SHADER - name "mini_map2_overlay" - rect FULL_SCREEN - origin MAP_OFFSET - forecolor 1 1 1 1 - exp material( tableLookup( "mp/mapsTable.csv", 0, dvarString( mapname ), 7 ) ) - visible 1 - decoration - } - itemDef - { - name "compasspointers2" - rect FULL_SCREEN - origin MAP_OFFSET - forecolor 1 1 1 1 - background "objective_line" - ownerdraw CG_PLAYER_FULLMAP_POINTERS - visible 1 - decoration - } - itemDef - { - name "compassfriendlies2" - rect FULL_SCREEN - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compassping_friendly" - ownerdraw CG_PLAYER_FULLMAP_FRIENDS - visible 1 - decoration - } - itemDef - { - name "compassenemies2" - rect FULL_SCREEN - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compassping_enemy" - ownerdraw CG_PLAYER_FULLMAP_ENEMIES - visible 1 - decoration - } - itemDef - { - name "compassplayer2" - rect FULL_SCREEN - origin MAP_OFFSET - forecolor 1 1 1 1 - background "compassping_player" - ownerdraw CG_PLAYER_FULLMAP_PLAYER - visible 1 - decoration - } \ No newline at end of file +itemDef +{ + name "mini_map2" + rect FULL_SCREEN + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compass_map_default" + ownerdraw CG_PLAYER_FULLMAP_MAP + visible 1 + decoration +} +itemDef +{ + style WINDOW_STYLE_SHADER + name "mini_map2_overlay" + rect FULL_SCREEN + origin MAP_OFFSET + forecolor 1 1 1 1 + exp material( tableLookup( "mp/mapsTable.csv", 0, dvarString( mapname ), 7 ) ) + visible 1 + decoration +} +itemDef +{ + name "compasspointers2" + rect FULL_SCREEN + origin MAP_OFFSET + forecolor 1 1 1 1 + background "objective_line" + ownerdraw CG_PLAYER_FULLMAP_POINTERS + visible 1 + decoration +} +itemDef +{ + name "compassfriendlies2" + rect FULL_SCREEN + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compassping_friendly" + ownerdraw CG_PLAYER_FULLMAP_FRIENDS + visible 1 + decoration +} +itemDef +{ + name "compassenemies2" + rect FULL_SCREEN + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compassping_enemy" + ownerdraw CG_PLAYER_FULLMAP_ENEMIES + visible 1 + decoration +} +itemDef +{ + name "compassplayer2" + rect FULL_SCREEN + origin MAP_OFFSET + forecolor 1 1 1 1 + background "compassping_player" + ownerdraw CG_PLAYER_FULLMAP_PLAYER + visible 1 + decoration +} \ No newline at end of file diff --git a/ui_mp/wm_quickmessage.menu b/ui_mp/wm_quickmessage.menu index 15c4553..a4a4119 100644 --- a/ui_mp/wm_quickmessage.menu +++ b/ui_mp/wm_quickmessage.menu @@ -11,8 +11,6 @@ #include "ui/menudef.h" #include "ui_mp/common_macro.inc" -#define CHOICE_GROUP "quickmessage" - #include "ui_mp/menustyle.inc" #include "ui/choices_setup_common.menu" diff --git a/weapons/mp/ak47_mp b/weapons/mp/ak47_mp index ed6f686..c081919 100644 --- a/weapons/mp/ak47_mp +++ b/weapons/mp/ak47_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_AK47\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak47_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.085\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\60\hipViewKickYawMax\-60\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\60\adsViewKickYawMax\-60\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak47_mp\gunModel2\viewmodel_ak47_mp_brock\gunModel3\viewmodel_ak47_mp_bshdwl\gunModel4\viewmodel_ak47_mp_bwmrpt\gunModel5\viewmodel_ak47_mp_cmdtgr\gunModel6\viewmodel_ak47_mp_stagger\gunModel7\viewmodel_ak47_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak47\worldModel2\weapon_ak47_mp_brock\worldModel3\weapon_ak47_mp_bshdwl\worldModel4\weapon_ak47_mp_bwmrpt\worldModel5\weapon_ak47_mp_cmdtgr\worldModel6\weapon_ak47_mp_stagger\worldModel7\weapon_ak47_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak47_idle\emptyIdleAnim\\fireAnim\viewmodel_ak47_fire\lastShotAnim\viewmodel_ak47_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak47_reload\reloadEmptyAnim\viewmodel_ak47_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak47_pullout\dropAnim\viewmodel_ak47_putaway\firstRaiseAnim\viewmodel_ak47_first_time_pullout\altRaiseAnim\viewmodel_ak47_pullout\altDropAnim\viewmodel_ak47_putaway\quickRaiseAnim\viewmodel_ak47_pullout_quick\quickDropAnim\viewmodel_ak47_putaway_quick\emptyRaiseAnim\viewmodel_ak47_pullout\emptyDropAnim\viewmodel_ak47_putaway\sprintInAnim\viewmodel_ak47_sprint_in\sprintLoopAnim\viewmodel_ak47_sprint_loop\sprintOutAnim\viewmodel_ak47_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak47_fire_ads\adsLastShotAnim\viewmodel_ak47_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak47_ADS_up\adsDownAnim\viewmodel_ak47_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_ak47_fire_npc\fireSoundPlayer\weap_ak47_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_swing_large\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak47_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak47_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak47\killIcon\hud_icon_ak47\dpadIcon\\ammoCounterIcon\hud_icon_ak47\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\15\hideTags\tag_reflex_sight +WEAPONFILE\displayName\WEAPON_AK47\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak47_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.085\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\60\hipViewKickYawMax\-60\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\60\adsViewKickYawMax\-60\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak47_mp\gunModel2\viewmodel_ak47_mp_brock\gunModel3\viewmodel_ak47_mp_bshdwl\gunModel4\viewmodel_ak47_mp_bwmrpt\gunModel5\viewmodel_ak47_mp_cmdtgr\gunModel6\viewmodel_ak47_mp_stagger\gunModel7\viewmodel_ak47_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak47\worldModel2\weapon_ak47_mp_brock\worldModel3\weapon_ak47_mp_bshdwl\worldModel4\weapon_ak47_mp_bwmrpt\worldModel5\weapon_ak47_mp_cmdtgr\worldModel6\weapon_ak47_mp_stagger\worldModel7\weapon_ak47_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak47_idle\emptyIdleAnim\\fireAnim\viewmodel_ak47_fire\lastShotAnim\viewmodel_ak47_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak47_reload\reloadEmptyAnim\viewmodel_ak47_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak47_pullout\dropAnim\viewmodel_ak47_putaway\firstRaiseAnim\viewmodel_ak47_first_time_pullout\altRaiseAnim\viewmodel_ak47_pullout\altDropAnim\viewmodel_ak47_putaway\quickRaiseAnim\viewmodel_ak47_pullout_quick\quickDropAnim\viewmodel_ak47_putaway_quick\emptyRaiseAnim\viewmodel_ak47_pullout\emptyDropAnim\viewmodel_ak47_putaway\sprintInAnim\viewmodel_ak47_sprint_in\sprintLoopAnim\viewmodel_ak47_sprint_loop\sprintOutAnim\viewmodel_ak47_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak47_fire_ads\adsLastShotAnim\viewmodel_ak47_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak47_ADS_up\adsDownAnim\viewmodel_ak47_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_ak47_fire_npc\fireSoundPlayer\weap_ak47_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_swing_large\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak47_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak47_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak47\killIcon\hud_icon_ak47\dpadIcon\\ammoCounterIcon\hud_icon_ak47\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\15\hideTags\tag_reflex_sight tag_acog tag_ak47_mount\notetrackSoundMap\weap_ak47_lift_plr weap_ak47_lift_plr weap_ak47_clipout_plr weap_ak47_clipout_plr diff --git a/weapons/mp/ak47_silencer_mp b/weapons/mp/ak47_silencer_mp index 082cf23..05de1b1 100644 --- a/weapons/mp/ak47_silencer_mp +++ b/weapons/mp/ak47_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_AK47\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak47_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.085\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\60\hipViewKickYawMax\-6\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\60\adsViewKickYawMax\-60\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak47_and_silencer_mp\gunModel2\viewmodel_ak47_and_silencer_mp_brock\gunModel3\viewmodel_ak47_and_silencer_mp_bshdwl\gunModel4\viewmodel_ak47_and_silencer_mp_bwmrpt\gunModel5\viewmodel_ak47_and_silencer_mp_cmdtgr\gunModel6\viewmodel_ak47_and_silencer_mp_stagger\gunModel7\viewmodel_ak47_gold_and_silencer_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak47_silencer\worldModel2\weapon_ak47SD_mp_brock\worldModel3\weapon_ak47sd_mp_bwmrpt\worldModel4\weapon_ak47sd_mp_bwmrpt\worldModel5\weapon_ak47sd_mp_cmdtgr\worldModel6\weapon_ak47sd_mp_stagger\worldModel7\weapon_ak47_silencer_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak47_idle\emptyIdleAnim\\fireAnim\viewmodel_ak47_fire\lastShotAnim\viewmodel_ak47_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak47_reload\reloadEmptyAnim\viewmodel_ak47_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak47_pullout\dropAnim\viewmodel_ak47_putaway\firstRaiseAnim\viewmodel_ak47_first_time_pullout\altRaiseAnim\viewmodel_ak47_pullout\altDropAnim\viewmodel_ak47_putaway\quickRaiseAnim\viewmodel_ak47_pullout_quick\quickDropAnim\viewmodel_ak47_putaway_quick\emptyRaiseAnim\viewmodel_ak47_pullout\emptyDropAnim\viewmodel_ak47_putaway\sprintInAnim\viewmodel_ak47_sprint_in\sprintLoopAnim\viewmodel_ak47_sprint_loop\sprintOutAnim\viewmodel_ak47_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak47_fire_ads\adsLastShotAnim\viewmodel_ak47_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak47_ADS_up\adsDownAnim\viewmodel_ak47_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_swing_large\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak47_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak47_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak47\killIcon\hud_icon_ak47\dpadIcon\\ammoCounterIcon\hud_icon_ak47\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\15\hideTags\\notetrackSoundMap\weap_ak47_lift_plr weap_ak47_lift_plr +WEAPONFILE\displayName\WEAPON_AK47\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak47_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.085\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\60\hipViewKickYawMax\-6\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\60\adsViewKickYawMax\-60\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak47_and_silencer_mp\gunModel2\viewmodel_ak47_and_silencer_mp_brock\gunModel3\viewmodel_ak47_and_silencer_mp_bshdwl\gunModel4\viewmodel_ak47_and_silencer_mp_bwmrpt\gunModel5\viewmodel_ak47_and_silencer_mp_cmdtgr\gunModel6\viewmodel_ak47_and_silencer_mp_stagger\gunModel7\viewmodel_ak47_gold_and_silencer_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak47_silencer\worldModel2\weapon_ak47SD_mp_brock\worldModel3\weapon_ak47sd_mp_bwmrpt\worldModel4\weapon_ak47sd_mp_bwmrpt\worldModel5\weapon_ak47sd_mp_cmdtgr\worldModel6\weapon_ak47sd_mp_stagger\worldModel7\weapon_ak47_silencer_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak47_idle\emptyIdleAnim\\fireAnim\viewmodel_ak47_fire\lastShotAnim\viewmodel_ak47_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak47_reload\reloadEmptyAnim\viewmodel_ak47_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak47_pullout\dropAnim\viewmodel_ak47_putaway\firstRaiseAnim\viewmodel_ak47_first_time_pullout\altRaiseAnim\viewmodel_ak47_pullout\altDropAnim\viewmodel_ak47_putaway\quickRaiseAnim\viewmodel_ak47_pullout_quick\quickDropAnim\viewmodel_ak47_putaway_quick\emptyRaiseAnim\viewmodel_ak47_pullout\emptyDropAnim\viewmodel_ak47_putaway\sprintInAnim\viewmodel_ak47_sprint_in\sprintLoopAnim\viewmodel_ak47_sprint_loop\sprintOutAnim\viewmodel_ak47_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak47_fire_ads\adsLastShotAnim\viewmodel_ak47_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak47_ADS_up\adsDownAnim\viewmodel_ak47_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_swing_large\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak47_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak47_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak47\killIcon\hud_icon_ak47\dpadIcon\\ammoCounterIcon\hud_icon_ak47\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\15\hideTags\\notetrackSoundMap\weap_ak47_lift_plr weap_ak47_lift_plr weap_ak47_clipout_plr weap_ak47_clipout_plr weap_ak47_clipin_plr weap_ak47_clipin_plr weap_ak47_chamber_plr weap_ak47_chamber_plr diff --git a/weapons/mp/ak74u_mp b/weapons/mp/ak74u_mp index 709aaba..21db188 100644 --- a/weapons/mp/ak74u_mp +++ b/weapons/mp/ak74u_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_AK74U\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.45 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak74u_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\1500\playerDamage\50\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1.4\locTorsoUpper\1.4\locTorsoLower\1.2\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.078\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-20\hipViewKickPitchMax\65\hipViewKickYawMin\65\hipViewKickYawMax\-65\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-20\adsViewKickPitchMax\65\adsViewKickYawMin\65\adsViewKickYawMax\-65\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak74u_mp\gunModel2\viewmodel_ak74u_mp_brock\gunModel3\viewmodel_ak74u_mp_bshdwl\gunModel4\viewmodel_ak74u_mp_bwmrpt\gunModel5\viewmodel_ak74u_mp_cmdtgr\gunModel6\viewmodel_ak74u_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak74u\worldModel2\weapon_ak74u_mp_brock\worldModel3\weapon_ak74u_mp_bshdwl\worldModel4\weapon_ak74u_mp_bwmrpt\worldModel5\weapon_ak74u_mp_cmdtgr\worldModel6\weapon_ak74u_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak74u_idle\emptyIdleAnim\\fireAnim\viewmodel_ak74u_fire\lastShotAnim\viewmodel_ak74u_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak74u_reload\reloadEmptyAnim\viewmodel_ak74u_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak74u_pullout\dropAnim\viewmodel_ak74u_putaway\firstRaiseAnim\viewmodel_ak74u_pullout_first\altRaiseAnim\viewmodel_ak74u_pullout\altDropAnim\viewmodel_ak74u_putaway\quickRaiseAnim\viewmodel_ak74u_pullout_quick\quickDropAnim\viewmodel_ak74u_putaway_quick\emptyRaiseAnim\viewmodel_ak74u_pullout\emptyDropAnim\viewmodel_ak74u_putaway\sprintInAnim\viewmodel_ak74u_sprint_in\sprintLoopAnim\viewmodel_ak74u_sprint_loop\sprintOutAnim\viewmodel_ak74u_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak74u_fire_ads\adsLastShotAnim\viewmodel_ak74u_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak74u_ADS_up\adsDownAnim\viewmodel_ak74u_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_ak74_fire_npc\fireSoundPlayer\weap_ak74_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_ak74_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak74_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak74_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak74u\killIcon\hud_icon_ak74u\dpadIcon\\ammoCounterIcon\hud_icon_ak74u\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\smg_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\12\hideTags\tag_reflex_sight +WEAPONFILE\displayName\WEAPON_AK74U\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.45 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak74u_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\1500\playerDamage\50\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1.4\locTorsoUpper\1.4\locTorsoLower\1.2\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.078\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-20\hipViewKickPitchMax\65\hipViewKickYawMin\65\hipViewKickYawMax\-65\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-20\adsViewKickPitchMax\65\adsViewKickYawMin\65\adsViewKickYawMax\-65\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak74u_mp\gunModel2\viewmodel_ak74u_mp_brock\gunModel3\viewmodel_ak74u_mp_bshdwl\gunModel4\viewmodel_ak74u_mp_bwmrpt\gunModel5\viewmodel_ak74u_mp_cmdtgr\gunModel6\viewmodel_ak74u_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak74u\worldModel2\weapon_ak74u_mp_brock\worldModel3\weapon_ak74u_mp_bshdwl\worldModel4\weapon_ak74u_mp_bwmrpt\worldModel5\weapon_ak74u_mp_cmdtgr\worldModel6\weapon_ak74u_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak74u_idle\emptyIdleAnim\\fireAnim\viewmodel_ak74u_fire\lastShotAnim\viewmodel_ak74u_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak74u_reload\reloadEmptyAnim\viewmodel_ak74u_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak74u_pullout\dropAnim\viewmodel_ak74u_putaway\firstRaiseAnim\viewmodel_ak74u_pullout_first\altRaiseAnim\viewmodel_ak74u_pullout\altDropAnim\viewmodel_ak74u_putaway\quickRaiseAnim\viewmodel_ak74u_pullout_quick\quickDropAnim\viewmodel_ak74u_putaway_quick\emptyRaiseAnim\viewmodel_ak74u_pullout\emptyDropAnim\viewmodel_ak74u_putaway\sprintInAnim\viewmodel_ak74u_sprint_in\sprintLoopAnim\viewmodel_ak74u_sprint_loop\sprintOutAnim\viewmodel_ak74u_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak74u_fire_ads\adsLastShotAnim\viewmodel_ak74u_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak74u_ADS_up\adsDownAnim\viewmodel_ak74u_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_ak74_fire_npc\fireSoundPlayer\weap_ak74_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_ak74_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak74_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak74_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak74u\killIcon\hud_icon_ak74u\dpadIcon\\ammoCounterIcon\hud_icon_ak74u\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\smg_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\12\hideTags\tag_reflex_sight tag_acog tag_ak47_mount\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_ak47_lift_plr weap_ak47_lift_plr diff --git a/weapons/mp/ak74u_silencer_mp b/weapons/mp/ak74u_silencer_mp index 8d59194..306db0f 100644 --- a/weapons/mp/ak74u_silencer_mp +++ b/weapons/mp/ak74u_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_AK74U\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.45 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak74u_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\700\playerDamage\50\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1.4\locTorsoUpper\1.4\locTorsoLower\1.2\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.075\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-20\hipViewKickPitchMax\65\hipViewKickYawMin\65\hipViewKickYawMax\-65\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-20\adsViewKickPitchMax\65\adsViewKickYawMin\65\adsViewKickYawMax\-65\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak74u_silencer\gunModel2\viewmodel_ak74usd_mp_brock\gunModel3\viewmodel_ak74usd_mp_bshdwl\gunModel4\viewmodel_ak74usd_mp_bwmrpt\gunModel5\viewmodel_ak74usd_mp_cmdtgr\gunModel6\viewmodel_ak74usd_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak74u_supressed\worldModel2\weapon_ak74usd_mp_brock\worldModel3\weapon_ak74usd_mp_bshdwl\worldModel4\weapon_ak74usd_mp_bwmrpt\worldModel5\weapon_ak74usd_mp_cmdtgr\worldModel6\weapon_ak74usd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak74u_idle\emptyIdleAnim\\fireAnim\viewmodel_ak74u_fire\lastShotAnim\viewmodel_ak74u_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak74u_reload\reloadEmptyAnim\viewmodel_ak74u_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak74u_pullout\dropAnim\viewmodel_ak74u_putaway\firstRaiseAnim\viewmodel_ak74u_pullout_first\altRaiseAnim\viewmodel_ak74u_pullout\altDropAnim\viewmodel_ak74u_putaway\quickRaiseAnim\viewmodel_ak74u_pullout_quick\quickDropAnim\viewmodel_ak74u_putaway_quick\emptyRaiseAnim\viewmodel_ak74u_pullout\emptyDropAnim\viewmodel_ak74u_putaway\sprintInAnim\viewmodel_ak74u_sprint_in\sprintLoopAnim\viewmodel_ak74u_sprint_loop\sprintOutAnim\viewmodel_ak74u_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak74u_fire_ads\adsLastShotAnim\viewmodel_ak74u_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak74u_ADS_up\adsDownAnim\viewmodel_ak74u_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_ak74_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak74_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak74_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak74u\killIcon\hud_icon_ak74u\dpadIcon\\ammoCounterIcon\hud_icon_ak74u\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_AK74U\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.45 × 39 mm\maxAmmo\180\startAmmo\90\clipName\ak74u_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\700\playerDamage\50\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1.4\locTorsoUpper\1.4\locTorsoLower\1.2\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.075\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.25\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\1\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-20\hipViewKickPitchMax\65\hipViewKickYawMin\65\hipViewKickYawMax\-65\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-20\adsViewKickPitchMax\65\adsViewKickYawMin\65\adsViewKickYawMax\-65\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_ak74u_silencer\gunModel2\viewmodel_ak74usd_mp_brock\gunModel3\viewmodel_ak74usd_mp_bshdwl\gunModel4\viewmodel_ak74usd_mp_bwmrpt\gunModel5\viewmodel_ak74usd_mp_cmdtgr\gunModel6\viewmodel_ak74usd_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_ak74u_supressed\worldModel2\weapon_ak74usd_mp_brock\worldModel3\weapon_ak74usd_mp_bshdwl\worldModel4\weapon_ak74usd_mp_bwmrpt\worldModel5\weapon_ak74usd_mp_cmdtgr\worldModel6\weapon_ak74usd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_ak74u_idle\emptyIdleAnim\\fireAnim\viewmodel_ak74u_fire\lastShotAnim\viewmodel_ak74u_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_ak74u_reload\reloadEmptyAnim\viewmodel_ak74u_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_ak74u_pullout\dropAnim\viewmodel_ak74u_putaway\firstRaiseAnim\viewmodel_ak74u_pullout_first\altRaiseAnim\viewmodel_ak74u_pullout\altDropAnim\viewmodel_ak74u_putaway\quickRaiseAnim\viewmodel_ak74u_pullout_quick\quickDropAnim\viewmodel_ak74u_putaway_quick\emptyRaiseAnim\viewmodel_ak74u_pullout\emptyDropAnim\viewmodel_ak74u_putaway\sprintInAnim\viewmodel_ak74u_sprint_in\sprintLoopAnim\viewmodel_ak74u_sprint_loop\sprintOutAnim\viewmodel_ak74u_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_ak74u_fire_ads\adsLastShotAnim\viewmodel_ak74u_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_ak74u_ADS_up\adsDownAnim\viewmodel_ak74u_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_ak74_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_ak74_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_ak74_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_ak74u\killIcon\hud_icon_ak74u\dpadIcon\\ammoCounterIcon\hud_icon_ak74u\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_ak47_lift_plr weap_ak47_lift_plr weap_ak47_clipout_plr weap_ak47_clipout_plr weap_ak47_clipin_plr weap_ak47_clipin_plr diff --git a/weapons/mp/beretta_mp b/weapons/mp/beretta_mp index 7b1ebf0..d93efc8 100644 --- a/weapons/mp/beretta_mp +++ b/weapons/mp/beretta_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_BERETTA\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm\maxAmmo\90\startAmmo\45\clipName\beretta_mp\clipSize\15\shotCount\1\dropAmmoMin\1\dropAmmoMax\15\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\250\minDamageRange\500\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.5\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.1\adsTransOutTime\0.1\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\15\hipViewKickPitchMax\35\hipViewKickYawMin\25\hipViewKickYawMax\-25\hipViewKickCenterSpeed\750\adsViewKickPitchMin\15\adsViewKickPitchMax\35\adsViewKickYawMin\25\adsViewKickYawMax\-25\adsViewKickCenterSpeed\750\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_beretta_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_beretta\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_beretta_idle\emptyIdleAnim\viewmodel_beretta_idle\fireAnim\viewmodel_beretta_fire\lastShotAnim\viewmodel_beretta_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_beretta_reload\reloadEmptyAnim\viewmodel_beretta_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_beretta_pullout\dropAnim\viewmodel_beretta_putaway\firstRaiseAnim\viewmodel_beretta_pullout\altRaiseAnim\viewmodel_beretta_pullout\altDropAnim\viewmodel_beretta_putaway\quickRaiseAnim\viewmodel_beretta_pullout\quickDropAnim\viewmodel_beretta_putaway\emptyRaiseAnim\viewmodel_beretta_pullout_empty\emptyDropAnim\viewmodel_beretta_putaway_empty\sprintInAnim\viewmodel_beretta_sprint_in\sprintLoopAnim\viewmodel_beretta_sprint_loop\sprintOutAnim\viewmodel_beretta_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_beretta_fire_ads\adsLastShotAnim\viewmodel_beretta_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_beretta_ADS_up\adsDownAnim\viewmodel_beretta_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m9_fire_npc\fireSoundPlayer\weap_m9_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m9_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m9_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m9_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m9beretta\killIcon\hud_icon_m9beretta\dpadIcon\\ammoCounterIcon\hud_icon_m9beretta\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_m9_clipout_plr weap_m9_clipout_plr +WEAPONFILE\displayName\WEAPON_BERETTA\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm\maxAmmo\90\startAmmo\45\clipName\beretta_mp\clipSize\15\shotCount\1\dropAmmoMin\1\dropAmmoMax\15\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\250\minDamageRange\500\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.5\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.1\adsTransOutTime\0.1\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\15\hipViewKickPitchMax\35\hipViewKickYawMin\25\hipViewKickYawMax\-25\hipViewKickCenterSpeed\750\adsViewKickPitchMin\15\adsViewKickPitchMax\35\adsViewKickYawMin\25\adsViewKickYawMax\-25\adsViewKickCenterSpeed\750\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_beretta_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_beretta\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_beretta_idle\emptyIdleAnim\viewmodel_beretta_idle\fireAnim\viewmodel_beretta_fire\lastShotAnim\viewmodel_beretta_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_beretta_reload\reloadEmptyAnim\viewmodel_beretta_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_beretta_pullout\dropAnim\viewmodel_beretta_putaway\firstRaiseAnim\viewmodel_beretta_pullout\altRaiseAnim\viewmodel_beretta_pullout\altDropAnim\viewmodel_beretta_putaway\quickRaiseAnim\viewmodel_beretta_pullout\quickDropAnim\viewmodel_beretta_putaway\emptyRaiseAnim\viewmodel_beretta_pullout_empty\emptyDropAnim\viewmodel_beretta_putaway_empty\sprintInAnim\viewmodel_beretta_sprint_in\sprintLoopAnim\viewmodel_beretta_sprint_loop\sprintOutAnim\viewmodel_beretta_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_beretta_fire_ads\adsLastShotAnim\viewmodel_beretta_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_beretta_ADS_up\adsDownAnim\viewmodel_beretta_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m9_fire_npc\fireSoundPlayer\weap_m9_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m9_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m9_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m9_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m9beretta\killIcon\hud_icon_m9beretta\dpadIcon\\ammoCounterIcon\hud_icon_m9beretta\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_m9_clipout_plr weap_m9_clipout_plr weap_m9_clipin_plr weap_m9_clipin_plr weap_m9_chamber_plr weap_m9_chamber_plr melee_knife_stab melee_knife_stab \ No newline at end of file diff --git a/weapons/mp/beretta_silencer_mp b/weapons/mp/beretta_silencer_mp index 393608b..4b0fab5 100644 --- a/weapons/mp/beretta_silencer_mp +++ b/weapons/mp/beretta_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_BERETTA\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm \maxAmmo\90\startAmmo\45\clipName\beretta_silencer_mp\clipSize\15\shotCount\1\dropAmmoMin\1\dropAmmoMax\15\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\150\minDamageRange\350\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.5\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.1\adsTransOutTime\0.1\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\15\hipViewKickPitchMax\35\hipViewKickYawMin\25\hipViewKickYawMax\-25\hipViewKickCenterSpeed\750\adsViewKickPitchMin\15\adsViewKickPitchMax\35\adsViewKickYawMin\25\adsViewKickYawMax\-25\adsViewKickCenterSpeed\750\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_beretta_and_silencer_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_beretta_silencer\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_beretta_idle\emptyIdleAnim\viewmodel_beretta_idle\fireAnim\viewmodel_beretta_fire\lastShotAnim\viewmodel_beretta_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_beretta_reload\reloadEmptyAnim\viewmodel_beretta_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_beretta_pullout\dropAnim\viewmodel_beretta_putaway\firstRaiseAnim\viewmodel_beretta_pullout\altRaiseAnim\viewmodel_beretta_pullout\altDropAnim\viewmodel_beretta_putaway\quickRaiseAnim\viewmodel_beretta_pullout\quickDropAnim\viewmodel_beretta_putaway\emptyRaiseAnim\viewmodel_beretta_pullout_empty\emptyDropAnim\viewmodel_beretta_putaway_empty\sprintInAnim\viewmodel_beretta_sprint_in\sprintLoopAnim\viewmodel_beretta_sprint_loop\sprintOutAnim\viewmodel_beretta_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_beretta_fire_ads\adsLastShotAnim\viewmodel_beretta_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_beretta_ADS_up\adsDownAnim\viewmodel_beretta_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45sd_fire_npc\fireSoundPlayer\weap_usp45sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m9_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m9_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m9_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m9beretta\killIcon\hud_icon_m9beretta\dpadIcon\\ammoCounterIcon\hud_icon_m9beretta\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_m9_clipout_plr weap_m9_clipout_plr +WEAPONFILE\displayName\WEAPON_BERETTA\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm \maxAmmo\90\startAmmo\45\clipName\beretta_silencer_mp\clipSize\15\shotCount\1\dropAmmoMin\1\dropAmmoMax\15\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\150\minDamageRange\350\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.5\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.1\adsTransOutTime\0.1\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\15\hipViewKickPitchMax\35\hipViewKickYawMin\25\hipViewKickYawMax\-25\hipViewKickCenterSpeed\750\adsViewKickPitchMin\15\adsViewKickPitchMax\35\adsViewKickYawMin\25\adsViewKickYawMax\-25\adsViewKickCenterSpeed\750\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.25\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_beretta_and_silencer_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_beretta_silencer\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_beretta_idle\emptyIdleAnim\viewmodel_beretta_idle\fireAnim\viewmodel_beretta_fire\lastShotAnim\viewmodel_beretta_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_beretta_reload\reloadEmptyAnim\viewmodel_beretta_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_beretta_pullout\dropAnim\viewmodel_beretta_putaway\firstRaiseAnim\viewmodel_beretta_pullout\altRaiseAnim\viewmodel_beretta_pullout\altDropAnim\viewmodel_beretta_putaway\quickRaiseAnim\viewmodel_beretta_pullout\quickDropAnim\viewmodel_beretta_putaway\emptyRaiseAnim\viewmodel_beretta_pullout_empty\emptyDropAnim\viewmodel_beretta_putaway_empty\sprintInAnim\viewmodel_beretta_sprint_in\sprintLoopAnim\viewmodel_beretta_sprint_loop\sprintOutAnim\viewmodel_beretta_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_beretta_fire_ads\adsLastShotAnim\viewmodel_beretta_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_beretta_ADS_up\adsDownAnim\viewmodel_beretta_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45sd_fire_npc\fireSoundPlayer\weap_usp45sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m9_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m9_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m9_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m9beretta\killIcon\hud_icon_m9beretta\dpadIcon\\ammoCounterIcon\hud_icon_m9beretta\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_m9_clipout_plr weap_m9_clipout_plr weap_m9_clipin_plr weap_m9_clipin_plr weap_m9_chamber_plr weap_m9_chamber_plr melee_knife_stab melee_knife_stab diff --git a/weapons/mp/colt45_mp b/weapons/mp/colt45_mp index a390b9a..362e176 100644 --- a/weapons/mp/colt45_mp +++ b/weapons/mp/colt45_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_COLT45\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\64\startAmmo\32\clipName\colt45_mp\clipSize\8\shotCount\1\dropAmmoMin\1\dropAmmoMax\8\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\350\minDamageRange\900\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1100\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1100\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.2\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_colt45_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_colt1911_black\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_colt45_idle\emptyIdleAnim\viewmodel_colt45_idle\fireAnim\viewmodel_colt45_fire\lastShotAnim\viewmodel_colt45_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_colt45_reload\reloadEmptyAnim\viewmodel_colt45_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_colt45_pullout2\dropAnim\viewmodel_colt45_putaway\firstRaiseAnim\viewmodel_colt45_pullout2\altRaiseAnim\viewmodel_colt45_pullout2\altDropAnim\viewmodel_colt45_putaway\quickRaiseAnim\viewmodel_colt45_pullout2\quickDropAnim\viewmodel_colt45_putaway\emptyRaiseAnim\viewmodel_colt45_pullout2\emptyDropAnim\viewmodel_colt45_putaway\sprintInAnim\viewmodel_colt45_sprint_in\sprintLoopAnim\viewmodel_colt45_sprint_loop\sprintOutAnim\viewmodel_colt45_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_colt45_fire_ads\adsLastShotAnim\viewmodel_colt45_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_colt45_ADS_up\adsDownAnim\viewmodel_colt45_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m1911colt45_fire_npc\fireSoundPlayer\weap_m1911colt45_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m1911colt45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m1911colt_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m1911colt_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_colt_45\killIcon\hud_icon_colt_45\dpadIcon\\ammoCounterIcon\hud_icon_colt_45\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\1:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_COLT45\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\64\startAmmo\32\clipName\colt45_mp\clipSize\8\shotCount\1\dropAmmoMin\1\dropAmmoMax\8\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\350\minDamageRange\900\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1100\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1100\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.2\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_colt45_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_colt1911_black\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_colt45_idle\emptyIdleAnim\viewmodel_colt45_idle\fireAnim\viewmodel_colt45_fire\lastShotAnim\viewmodel_colt45_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_colt45_reload\reloadEmptyAnim\viewmodel_colt45_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_colt45_pullout2\dropAnim\viewmodel_colt45_putaway\firstRaiseAnim\viewmodel_colt45_pullout2\altRaiseAnim\viewmodel_colt45_pullout2\altDropAnim\viewmodel_colt45_putaway\quickRaiseAnim\viewmodel_colt45_pullout2\quickDropAnim\viewmodel_colt45_putaway\emptyRaiseAnim\viewmodel_colt45_pullout2\emptyDropAnim\viewmodel_colt45_putaway\sprintInAnim\viewmodel_colt45_sprint_in\sprintLoopAnim\viewmodel_colt45_sprint_loop\sprintOutAnim\viewmodel_colt45_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_colt45_fire_ads\adsLastShotAnim\viewmodel_colt45_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_colt45_ADS_up\adsDownAnim\viewmodel_colt45_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m1911colt45_fire_npc\fireSoundPlayer\weap_m1911colt45_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m1911colt45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m1911colt_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m1911colt_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_colt_45\killIcon\hud_icon_colt_45\dpadIcon\\ammoCounterIcon\hud_icon_colt_45\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\1:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_m1911colt_clift_plr weap_m1911colt_clift_plr weap_m1911colt_clipout_plr weap_m1911colt_clipout_plr weap_m1911colt_clipin_plr weap_m1911colt_clipin_plr diff --git a/weapons/mp/colt45_silencer_mp b/weapons/mp/colt45_silencer_mp index c3a1b56..17f6438 100644 --- a/weapons/mp/colt45_silencer_mp +++ b/weapons/mp/colt45_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_COLT45\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\64\startAmmo\32\clipName\colt45_silencer_mp\clipSize\8\shotCount\1\dropAmmoMin\1\dropAmmoMax\8\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\250\minDamageRange\500\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1100\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1100\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.2\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_colt45_and_silencer_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_colt1911_silencer\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_colt45_idle\emptyIdleAnim\viewmodel_colt45_idle\fireAnim\viewmodel_colt45_fire\lastShotAnim\viewmodel_colt45_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_colt45_reload\reloadEmptyAnim\viewmodel_colt45_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_colt45_pullout2\dropAnim\viewmodel_colt45_putaway\firstRaiseAnim\viewmodel_colt45_pullout2\altRaiseAnim\viewmodel_colt45_pullout2\altDropAnim\viewmodel_colt45_putaway\quickRaiseAnim\viewmodel_colt45_pullout2\quickDropAnim\viewmodel_colt45_putaway\emptyRaiseAnim\viewmodel_colt45_pullout2\emptyDropAnim\viewmodel_colt45_putaway\sprintInAnim\viewmodel_colt45_sprint_in\sprintLoopAnim\viewmodel_colt45_sprint_loop\sprintOutAnim\viewmodel_colt45_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_colt45_fire_ads\adsLastShotAnim\viewmodel_colt45_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_colt45_ADS_up\adsDownAnim\viewmodel_colt45_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45sd_fire_npc\fireSoundPlayer\weap_usp45sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m1911colt45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m1911colt_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m1911colt_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_colt_45\killIcon\hud_icon_colt_45\dpadIcon\\ammoCounterIcon\hud_icon_pistol\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\0\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_COLT45\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\64\startAmmo\32\clipName\colt45_silencer_mp\clipSize\8\shotCount\1\dropAmmoMin\1\dropAmmoMax\8\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\250\minDamageRange\500\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.63\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\6\hipSpreadDuckedMax\5\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1100\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1100\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.2\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_colt45_and_silencer_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_colt1911_silencer\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_colt45_idle\emptyIdleAnim\viewmodel_colt45_idle\fireAnim\viewmodel_colt45_fire\lastShotAnim\viewmodel_colt45_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_colt45_reload\reloadEmptyAnim\viewmodel_colt45_reload_empty2\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_colt45_pullout2\dropAnim\viewmodel_colt45_putaway\firstRaiseAnim\viewmodel_colt45_pullout2\altRaiseAnim\viewmodel_colt45_pullout2\altDropAnim\viewmodel_colt45_putaway\quickRaiseAnim\viewmodel_colt45_pullout2\quickDropAnim\viewmodel_colt45_putaway\emptyRaiseAnim\viewmodel_colt45_pullout2\emptyDropAnim\viewmodel_colt45_putaway\sprintInAnim\viewmodel_colt45_sprint_in\sprintLoopAnim\viewmodel_colt45_sprint_loop\sprintOutAnim\viewmodel_colt45_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_colt45_fire_ads\adsLastShotAnim\viewmodel_colt45_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_colt45_ADS_up\adsDownAnim\viewmodel_colt45_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45sd_fire_npc\fireSoundPlayer\weap_usp45sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_m1911colt45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m1911colt_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m1911colt_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_colt_45\killIcon\hud_icon_colt_45\dpadIcon\\ammoCounterIcon\hud_icon_pistol\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\0\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_m1911colt_clift_plr weap_m1911colt_clift_plr weap_m1911colt_clipout_plr weap_m1911colt_clipout_plr weap_m1911colt_clipin_plr weap_m1911colt_clipin_plr diff --git a/weapons/mp/deserteagle_mp b/weapons/mp/deserteagle_mp index 5edb63a..d946e8e 100644 --- a/weapons/mp/deserteagle_mp +++ b/weapons/mp/deserteagle_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_DESERTEAGLE\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.357 Magnum\maxAmmo\42\startAmmo\21\clipName\deserteagle_mp\clipSize\7\shotCount\1\dropAmmoMin\1\dropAmmoMax\7\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\30\meleeDamage\135\maxDamageRange\350\minDamageRange\1200\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.96\reloadEmptyTime\2.1\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.43\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.5\hipSpreadProneMin\1\hipSpreadMax\4\hipSpreadDuckedMax\3\hipSpreadProneMax\2\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\60\hipViewKickPitchMax\80\hipViewKickYawMin\-40\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\60\adsViewKickPitchMax\80\adsViewKickYawMin\-40\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.16\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_desert_eagle\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_desert_eagle_silver\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_desert_eagle_idle\emptyIdleAnim\viewmodel_desert_eagle_idle\fireAnim\viewmodel_desert_eagle_fire\lastShotAnim\viewmodel_desert_eagle_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_desert_eagle_reload\reloadEmptyAnim\viewmodel_desert_eagle_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_desert_eagle_pullout\dropAnim\viewmodel_desert_eagle_putaway\firstRaiseAnim\viewmodel_desert_eagle_pullout\altRaiseAnim\viewmodel_desert_eagle_pullout\altDropAnim\viewmodel_desert_eagle_putaway\quickRaiseAnim\viewmodel_desert_eagle_pullout\quickDropAnim\viewmodel_desert_eagle_putaway\emptyRaiseAnim\viewmodel_desert_eagle_pullout\emptyDropAnim\viewmodel_desert_eagle_putaway\sprintInAnim\viewmodel_desert_eagle_sprint_in\sprintLoopAnim\viewmodel_desert_eagle_sprint_loop\sprintOutAnim\viewmodel_desert_eagle_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_desert_eagle_ADS_fire\adsLastShotAnim\viewmodel_desert_eagle_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_desert_eagle_ADS_up\adsDownAnim\viewmodel_desert_eagle_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_deserteagle_fire_npc\fireSoundPlayer\weap_deserteagle_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_deserteagle_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_de50_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_de50_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_desert_eagle\killIcon\hud_icon_desert_eagle\dpadIcon\\ammoCounterIcon\hud_icon_desert_eagle\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_DESERTEAGLE\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.357 Magnum\maxAmmo\42\startAmmo\21\clipName\deserteagle_mp\clipSize\7\shotCount\1\dropAmmoMin\1\dropAmmoMax\7\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\30\meleeDamage\135\maxDamageRange\350\minDamageRange\1200\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.96\reloadEmptyTime\2.1\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.43\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.5\hipSpreadProneMin\1\hipSpreadMax\4\hipSpreadDuckedMax\3\hipSpreadProneMax\2\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\60\hipViewKickPitchMax\80\hipViewKickYawMin\-40\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\60\adsViewKickPitchMax\80\adsViewKickYawMin\-40\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.16\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_desert_eagle\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_desert_eagle_silver\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_desert_eagle_idle\emptyIdleAnim\viewmodel_desert_eagle_idle\fireAnim\viewmodel_desert_eagle_fire\lastShotAnim\viewmodel_desert_eagle_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_desert_eagle_reload\reloadEmptyAnim\viewmodel_desert_eagle_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_desert_eagle_pullout\dropAnim\viewmodel_desert_eagle_putaway\firstRaiseAnim\viewmodel_desert_eagle_pullout\altRaiseAnim\viewmodel_desert_eagle_pullout\altDropAnim\viewmodel_desert_eagle_putaway\quickRaiseAnim\viewmodel_desert_eagle_pullout\quickDropAnim\viewmodel_desert_eagle_putaway\emptyRaiseAnim\viewmodel_desert_eagle_pullout\emptyDropAnim\viewmodel_desert_eagle_putaway\sprintInAnim\viewmodel_desert_eagle_sprint_in\sprintLoopAnim\viewmodel_desert_eagle_sprint_loop\sprintOutAnim\viewmodel_desert_eagle_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_desert_eagle_ADS_fire\adsLastShotAnim\viewmodel_desert_eagle_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_desert_eagle_ADS_up\adsDownAnim\viewmodel_desert_eagle_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_deserteagle_fire_npc\fireSoundPlayer\weap_deserteagle_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_deserteagle_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_de50_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_de50_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_desert_eagle\killIcon\hud_icon_desert_eagle\dpadIcon\\ammoCounterIcon\hud_icon_desert_eagle\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_de50_clift_plr weap_de50_clift_plr weap_de50_clipout_plr weap_de50_clipout_plr weap_de50_clipin_plr weap_de50_clipin_plr diff --git a/weapons/mp/deserteaglegold_mp b/weapons/mp/deserteaglegold_mp index e6cfd84..a29803a 100644 --- a/weapons/mp/deserteaglegold_mp +++ b/weapons/mp/deserteaglegold_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_DESERTEAGLEGOLD\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.357 Magnum\maxAmmo\42\startAmmo\21\clipName\deserteaglegold_mp\clipSize\7\shotCount\1\dropAmmoMin\1\dropAmmoMax\7\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\30\meleeDamage\135\maxDamageRange\350\minDamageRange\1200\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.96\reloadEmptyTime\2.1\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.43\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.5\hipSpreadProneMin\1\hipSpreadMax\4\hipSpreadDuckedMax\3\hipSpreadProneMax\2\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\60\hipViewKickPitchMax\80\hipViewKickYawMin\-40\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\60\adsViewKickPitchMax\80\adsViewKickYawMin\-40\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.16\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_desert_eagle_gold_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_desert_eagle_gold\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_desert_eagle_idle\emptyIdleAnim\viewmodel_desert_eagle_idle\fireAnim\viewmodel_desert_eagle_fire\lastShotAnim\viewmodel_desert_eagle_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_desert_eagle_reload\reloadEmptyAnim\viewmodel_desert_eagle_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_desert_eagle_pullout\dropAnim\viewmodel_desert_eagle_putaway\firstRaiseAnim\viewmodel_desert_eagle_pullout\altRaiseAnim\viewmodel_desert_eagle_pullout\altDropAnim\viewmodel_desert_eagle_putaway\quickRaiseAnim\viewmodel_desert_eagle_pullout\quickDropAnim\viewmodel_desert_eagle_putaway\emptyRaiseAnim\viewmodel_desert_eagle_pullout\emptyDropAnim\viewmodel_desert_eagle_putaway\sprintInAnim\viewmodel_desert_eagle_sprint_in\sprintLoopAnim\viewmodel_desert_eagle_sprint_loop\sprintOutAnim\viewmodel_desert_eagle_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_desert_eagle_ADS_fire\adsLastShotAnim\viewmodel_desert_eagle_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_desert_eagle_ADS_up\adsDownAnim\viewmodel_desert_eagle_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_deserteagle_fire_npc\fireSoundPlayer\weap_deserteagle_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_deserteagle_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_de50_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_de50_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_desert_eagle\killIcon\hud_icon_desert_eagle\dpadIcon\\ammoCounterIcon\hud_icon_desert_eagle\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\0\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_DESERTEAGLEGOLD\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.357 Magnum\maxAmmo\42\startAmmo\21\clipName\deserteaglegold_mp\clipSize\7\shotCount\1\dropAmmoMin\1\dropAmmoMax\7\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\30\meleeDamage\135\maxDamageRange\350\minDamageRange\1200\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.96\reloadEmptyTime\2.1\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.43\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.15\adsTransOutTime\0.15\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.5\hipSpreadProneMin\1\hipSpreadMax\4\hipSpreadDuckedMax\3\hipSpreadProneMax\2\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\100\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\60\hipViewKickPitchMax\80\hipViewKickYawMin\-40\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\60\adsViewKickPitchMax\80\adsViewKickYawMin\-40\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.16\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_desert_eagle_gold_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_desert_eagle_gold\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_desert_eagle_idle\emptyIdleAnim\viewmodel_desert_eagle_idle\fireAnim\viewmodel_desert_eagle_fire\lastShotAnim\viewmodel_desert_eagle_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_desert_eagle_reload\reloadEmptyAnim\viewmodel_desert_eagle_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_desert_eagle_pullout\dropAnim\viewmodel_desert_eagle_putaway\firstRaiseAnim\viewmodel_desert_eagle_pullout\altRaiseAnim\viewmodel_desert_eagle_pullout\altDropAnim\viewmodel_desert_eagle_putaway\quickRaiseAnim\viewmodel_desert_eagle_pullout\quickDropAnim\viewmodel_desert_eagle_putaway\emptyRaiseAnim\viewmodel_desert_eagle_pullout\emptyDropAnim\viewmodel_desert_eagle_putaway\sprintInAnim\viewmodel_desert_eagle_sprint_in\sprintLoopAnim\viewmodel_desert_eagle_sprint_loop\sprintOutAnim\viewmodel_desert_eagle_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_desert_eagle_ADS_fire\adsLastShotAnim\viewmodel_desert_eagle_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_desert_eagle_ADS_up\adsDownAnim\viewmodel_desert_eagle_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_deserteagle_fire_npc\fireSoundPlayer\weap_deserteagle_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_deserteagle_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_de50_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_de50_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_desert_eagle\killIcon\hud_icon_desert_eagle\dpadIcon\\ammoCounterIcon\hud_icon_desert_eagle\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\0\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_de50_clift_plr weap_de50_clift_plr weap_de50_clipout_plr weap_de50_clipout_plr weap_de50_clipin_plr weap_de50_clipin_plr diff --git a/weapons/mp/flash_grenade_mp b/weapons/mp/flash_grenade_mp new file mode 100644 index 0000000..388a53b --- /dev/null +++ b/weapons/mp/flash_grenade_mp @@ -0,0 +1 @@ +WEAPONFILE\weaponType\grenade\weaponClass\grenade\offhandClass\Flash Grenade\impactType\none\inventoryType\offhand\displayName\WEAPON_FLASH_GRENADE\modeName\\playerAnimType\grenade\AIOverlayDescription\\gunModel\viewmodel_m84\handModel\viewmodel_base_viewhands\isHandModelOverridable\1\idleAnim\viewmodel_m84_idle\emptyIdleAnim\viewmodel_m84_idle\fireAnim\viewmodel_m84_throw\holdFireAnim\viewmodel_m84_pullpin\lastShotAnim\viewmodel_m84_throw\detonateAnim\\meleeAnim\viewmodel_m84_idle\meleeChargeAnim\\raiseAnim\viewmodel_m84_idle\dropAnim\viewmodel_m84_idle\firstRaiseAnim\\altRaiseAnim\viewmodel_m84_idle\altDropAnim\viewmodel_m84_idle\quickRaiseAnim\\quickDropAnim\\emptyRaiseAnim\\emptyDropAnim\\sprintInAnim\\sprintLoopAnim\\sprintOutAnim\\nightVisionWearAnim\\nightVisionRemoveAnim\\autoAimRange\0\aimAssistRange\0\aimAssistRangeAds\0\moveSpeedScale\1.2\sprintDurationScale\1\lowAmmoWarningThreshold\0.33\damage\15\meleeDamage\135\fireDelay\0.15\meleeDelay\0.1\meleeChargeDelay\0\fireTime\0.7\holdFireTime\0.6\detonateTime\0.1\detonateDelay\0.1\meleeTime\0.66\meleeChargeTime\0\reloadTime\2\dropTime\0\raiseTime\0\altDropTime\0\altRaiseTime\0\quickDropTime\0.5\quickRaiseTime\0.5\firstRaiseTime\0.5\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.5\sprintLoopTime\0.5\sprintOutTime\0.5\nightVisionWearTime\0.5\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\fuseTime\1.5\aiFuseTime\2\stickiness\Don't stick\hasDetonator\0\timedDetonation\1\rotate\1\holdButtonToThrow\0\freezeMovementWhenFiring\0\clipOnly\1\hipIdleAmount\80\hipIdleSpeed\0\idleCrouchFactor\0.5\idleProneFactor\0.15\parallelDefaultBounce\0.5\parallelBarkBounce\0.6\parallelBrickBounce\0.6\parallelCarpetBounce\0.6\parallelClothBounce\0.2\parallelConcreteBounce\0.6\parallelDirtBounce\0.45\parallelFleshBounce\0.2\parallelFoliageBounce\0.05\parallelGlassBounce\0.4\parallelGrassBounce\0.35\parallelGravelBounce\0.5\parallelIceBounce\0.6\parallelMetalBounce\0.6\parallelMudBounce\0.2\parallelPaperBounce\0.2\parallelPlasterBounce\0.5\parallelRockBounce\0.6\parallelSandBounce\0.3\parallelSnowBounce\0.2\parallelWaterBounce\0.2\parallelWoodBounce\0.6\parallelAsphaltBounce\0.6\parallelCeramicBounce\0.5\parallelPlasticBounce\0.5\parallelRubberBounce\0.5\parallelCushionBounce\0.5\parallelFruitBounce\0.5\parallelPaintedMetalBounce\0.5\perpendicularDefaultBounce\0.25\perpendicularBarkBounce\0.25\perpendicularBrickBounce\0.25\perpendicularCarpetBounce\0.25\perpendicularClothBounce\0.2\perpendicularConcreteBounce\0.25\perpendicularDirtBounce\0.225\perpendicularFleshBounce\0.2\perpendicularFoliageBounce\0.05\perpendicularGlassBounce\0.2\perpendicularGrassBounce\0.15\perpendicularGravelBounce\0.25\perpendicularIceBounce\0.3\perpendicularMetalBounce\0.25\perpendicularMudBounce\0.1\perpendicularPaperBounce\0.2\perpendicularPlasterBounce\0.25\perpendicularRockBounce\0.25\perpendicularSandBounce\0.1\perpendicularSnowBounce\0.1\perpendicularWaterBounce\0.2\perpendicularWoodBounce\0.25\perpendicularAsphaltBounce\0.25\perpendicularCeramicBounce\0.5\perpendicularPlasticBounce\0.5\perpendicularRubberBounce\0.5\perpendicularCushionBounce\0.5\perpendicularFruitBounce\0.5\perpendicularPaintedMetalBounce\0.5\swayMaxAngle\30\swayLerpSpeed\6\swayPitchScale\0.1\swayYawScale\0.1\swayHorizScale\0.1\swayVertScale\0.1\swayShellShockScale\5\worldModel\weapon_m84_flashbang_grenade\knifeModel\\worldKnifeModel\\ammoName\flashgrenade\maxAmmo\4\startAmmo\1\clipName\flashgrenade\clipSize\4\sharedAmmoCapName\WEAPON_FLASHGRENADE\sharedAmmoCap\4\dropAmmoMin\1\dropAmmoMax\1\pickupSound\grenade_pickup\pickupSoundPlayer\grenade_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\pullbackSound\weap_fraggrenade_pin\pullbackSoundPlayer\weap_fraggrenade_pin\fireSound\weap_fraggrenade_fire\fireSoundPlayer\weap_fraggrenade_fire\lastShotSound\\lastShotSoundPlayer\\meleeSwipeSound\\meleeSwipeSoundPlayer\\reloadSound\\reloadSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\detonateSound\\detonateSoundPlayer\\raiseSound\\raiseSoundPlayer\\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\bounceSound\grenade_bounce\reticleCenter\reticle_center_cross\reticleSide\\reticleCenterSize\32\reticleSideSize\16\reticleMinOfs\4\altWeapon\\blocksProne\0\cookOffHold\0\hudIcon\hud_us_flashgrenade\killIcon\\dpadIcon\\ammoCounterIcon\\hudIconRatio\1:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\None\flipKillIcon\1\standMoveF\0\standMoveR\1\standMoveU\-1.5\standRotP\0\standRotY\0\standRotR\0\duckedOfsF\-2\duckedOfsR\2\duckedOfsU\-0.2\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\proneOfsF\-6\proneOfsR\3.5\proneOfsU\0.8\proneMoveF\0\proneMoveR\1\proneMoveU\-1.5\proneRotP\0\proneRotY\0\proneRotR\0\posMoveRate\4\posProneMoveRate\10\standMoveMinSpeed\110\duckedMoveMinSpeed\60\proneMoveMinSpeed\0\posRotRate\5\posProneRotRate\10\standRotMinSpeed\110\duckedRotMinSpeed\60\proneRotMinSpeed\0\explosionRadius\800\explosionRadiusMin\200\explosionInnerDamage\0\explosionOuterDamage\0\damageConeAngle\180\projectileSpeed\940\projectileSpeedUp\120\projectileSpeedForward\0\projectileModel\projectile_m84_flashbang_grenade\projExplosionType\flashbang\projExplosionEffect\explosions/flashbang\projExplosionEffectForceNormalUp\0\projExplosionSound\flashbang_explode_default\projectileTrail\none\projectileTrailTime\1\projectileTrailRadius\32\projImpactExplode\0\adsDofStart\0\adsDofEnd\0\notetrackSoundMap\ \ No newline at end of file diff --git a/weapons/mp/g36c_mp b/weapons/mp/g36c_mp index 8a6e8e7..5ceaaf3 100644 --- a/weapons/mp/g36c_mp +++ b/weapons/mp/g36c_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_G36C\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\g36c_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.08\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.1\reloadEmptyTime\2.967\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.4\altDropTime\0\altRaiseTime\0.66\quickDropTime\0.25\quickRaiseTime\0.76\firstRaiseTime\0.5\emptyDropTime\0.25\emptyRaiseTime\0.4\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0\swayVertScale\0.15\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.05\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_g36c_mp\gunModel2\viewmodel_g36c_mp_brock\gunModel3\viewmodel_g36c_mp_bshdwl\gunModel4\viewmodel_g36c_mp_bwmrpt\gunModel5\viewmodel_g36c_mp_cmdtgr\gunModel6\viewmodel_g36c_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g36_mp\worldModel2\weapon_g36_mp_brock\worldModel3\weapon_g36_mp_bshdwl\worldModel4\weapon_g36_mp_bwmrpt\worldModel5\weapon_g36_mp_cmdtgr\worldModel6\weapon_g36_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_g36_idle\emptyIdleAnim\\fireAnim\viewmodel_g36_fire\lastShotAnim\viewmodel_g36_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_g36_reload\reloadEmptyAnim\viewmodel_g36_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_g36_pullout\dropAnim\viewmodel_g36_putaway_fast\firstRaiseAnim\viewmodel_g36_pullout\altRaiseAnim\viewmodel_g36_pullout\altDropAnim\viewmodel_g36_putaway_fast\quickRaiseAnim\viewmodel_g36_pullout_fast\quickDropAnim\viewmodel_g36_putaway_fast\emptyRaiseAnim\viewmodel_g36_pullout\emptyDropAnim\viewmodel_g36_putaway_fast\sprintInAnim\viewmodel_g36_sprint_in\sprintLoopAnim\viewmodel_g36_sprint_loop\sprintOutAnim\viewmodel_g36_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_g36_fire_ads\adsLastShotAnim\viewmodel_g36_idle\adsRechamberAnim\\adsUpAnim\viewmodel_g36_ironsites_ADS_up\adsDownAnim\viewmodel_g36_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_g36c_fire_npc\fireSoundPlayer\weap_g36c_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g36c_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g36_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g36_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g36c_mp\killIcon\hud_icon_g36c_mp\dpadIcon\\ammoCounterIcon\hud_icon_g36c_mp\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\tag_acog +WEAPONFILE\displayName\WEAPON_G36C\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\g36c_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.08\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.1\reloadEmptyTime\2.967\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.4\altDropTime\0\altRaiseTime\0.66\quickDropTime\0.25\quickRaiseTime\0.76\firstRaiseTime\0.5\emptyDropTime\0.25\emptyRaiseTime\0.4\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0\swayVertScale\0.15\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.05\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_g36c_mp\gunModel2\viewmodel_g36c_mp_brock\gunModel3\viewmodel_g36c_mp_bshdwl\gunModel4\viewmodel_g36c_mp_bwmrpt\gunModel5\viewmodel_g36c_mp_cmdtgr\gunModel6\viewmodel_g36c_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g36_mp\worldModel2\weapon_g36_mp_brock\worldModel3\weapon_g36_mp_bshdwl\worldModel4\weapon_g36_mp_bwmrpt\worldModel5\weapon_g36_mp_cmdtgr\worldModel6\weapon_g36_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_g36_idle\emptyIdleAnim\\fireAnim\viewmodel_g36_fire\lastShotAnim\viewmodel_g36_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_g36_reload\reloadEmptyAnim\viewmodel_g36_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_g36_pullout\dropAnim\viewmodel_g36_putaway_fast\firstRaiseAnim\viewmodel_g36_pullout\altRaiseAnim\viewmodel_g36_pullout\altDropAnim\viewmodel_g36_putaway_fast\quickRaiseAnim\viewmodel_g36_pullout_fast\quickDropAnim\viewmodel_g36_putaway_fast\emptyRaiseAnim\viewmodel_g36_pullout\emptyDropAnim\viewmodel_g36_putaway_fast\sprintInAnim\viewmodel_g36_sprint_in\sprintLoopAnim\viewmodel_g36_sprint_loop\sprintOutAnim\viewmodel_g36_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_g36_fire_ads\adsLastShotAnim\viewmodel_g36_idle\adsRechamberAnim\\adsUpAnim\viewmodel_g36_ironsites_ADS_up\adsDownAnim\viewmodel_g36_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_g36c_fire_npc\fireSoundPlayer\weap_g36c_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g36c_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g36_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g36_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g36c_mp\killIcon\hud_icon_g36c_mp\dpadIcon\\ammoCounterIcon\hud_icon_g36c_mp\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\tag_acog tag_g36_scope tag_reflex_sight\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_g36_lift_plr weap_g36_lift_plr diff --git a/weapons/mp/g36c_silencer_mp b/weapons/mp/g36c_silencer_mp index 196cbb6..196fe5d 100644 --- a/weapons/mp/g36c_silencer_mp +++ b/weapons/mp/g36c_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_G36C\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\g36c_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.08\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.1\reloadEmptyTime\2.967\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.4\altDropTime\0\altRaiseTime\0.66\quickDropTime\0.25\quickRaiseTime\0.76\firstRaiseTime\0.5\emptyDropTime\0.25\emptyRaiseTime\0.4\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\70\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.2\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_g36c_silencer\gunModel2\viewmodel_g36csd_mp_brock\gunModel3\viewmodel_g36csd_mp_bshdwl\gunModel4\viewmodel_g36csd_mp_bwmrpt\gunModel5\viewmodel_g36csd_mp_cmdtgr\gunModel6\viewmodel_g36csd_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g36csd_mp\worldModel2\weapon_g36csd_mp_brock\worldModel3\weapon_g36csd_mp_bshdwl\worldModel4\weapon_g36csd_mp_bwmrpt\worldModel5\weapon_g36csd_mp_cmdtgr\worldModel6\weapon_g36csd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_g36_idle\emptyIdleAnim\\fireAnim\viewmodel_g36_fire\lastShotAnim\viewmodel_g36_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_g36_reload\reloadEmptyAnim\viewmodel_g36_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_g36_pullout\dropAnim\viewmodel_g36_putaway_fast\firstRaiseAnim\viewmodel_g36_pullout\altRaiseAnim\viewmodel_g36_pullout\altDropAnim\viewmodel_g36_putaway_fast\quickRaiseAnim\viewmodel_g36_pullout_fast\quickDropAnim\viewmodel_g36_putaway_fast\emptyRaiseAnim\viewmodel_g36_pullout\emptyDropAnim\viewmodel_g36_putaway_fast\sprintInAnim\viewmodel_g36_sprint_in\sprintLoopAnim\viewmodel_g36_sprint_loop\sprintOutAnim\viewmodel_g36_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_g36_fire_ads\adsLastShotAnim\viewmodel_g36_idle\adsRechamberAnim\\adsUpAnim\viewmodel_g36_ironsites_ADS_up\adsDownAnim\viewmodel_g36_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g36c_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g36_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g36_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g36c_mp\killIcon\hud_icon_g36c_mp\dpadIcon\\ammoCounterIcon\hud_icon_g36c_mp\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_G36C\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\g36c_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.08\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.1\reloadEmptyTime\2.967\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.4\altDropTime\0\altRaiseTime\0.66\quickDropTime\0.25\quickRaiseTime\0.76\firstRaiseTime\0.5\emptyDropTime\0.25\emptyRaiseTime\0.4\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\70\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.2\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_g36c_silencer\gunModel2\viewmodel_g36csd_mp_brock\gunModel3\viewmodel_g36csd_mp_bshdwl\gunModel4\viewmodel_g36csd_mp_bwmrpt\gunModel5\viewmodel_g36csd_mp_cmdtgr\gunModel6\viewmodel_g36csd_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g36csd_mp\worldModel2\weapon_g36csd_mp_brock\worldModel3\weapon_g36csd_mp_bshdwl\worldModel4\weapon_g36csd_mp_bwmrpt\worldModel5\weapon_g36csd_mp_cmdtgr\worldModel6\weapon_g36csd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_g36_idle\emptyIdleAnim\\fireAnim\viewmodel_g36_fire\lastShotAnim\viewmodel_g36_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_g36_reload\reloadEmptyAnim\viewmodel_g36_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_g36_pullout\dropAnim\viewmodel_g36_putaway_fast\firstRaiseAnim\viewmodel_g36_pullout\altRaiseAnim\viewmodel_g36_pullout\altDropAnim\viewmodel_g36_putaway_fast\quickRaiseAnim\viewmodel_g36_pullout_fast\quickDropAnim\viewmodel_g36_putaway_fast\emptyRaiseAnim\viewmodel_g36_pullout\emptyDropAnim\viewmodel_g36_putaway_fast\sprintInAnim\viewmodel_g36_sprint_in\sprintLoopAnim\viewmodel_g36_sprint_loop\sprintOutAnim\viewmodel_g36_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_g36_fire_ads\adsLastShotAnim\viewmodel_g36_idle\adsRechamberAnim\\adsUpAnim\viewmodel_g36_ironsites_ADS_up\adsDownAnim\viewmodel_g36_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g36c_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g36_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g36_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g36c_mp\killIcon\hud_icon_g36c_mp\dpadIcon\\ammoCounterIcon\hud_icon_g36c_mp\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_g36_lift_plr weap_g36_lift_plr weap_g36_clipout_plr weap_g36_clipout_plr weap_g36_clipin_plr weap_g36_clipin_plr diff --git a/weapons/mp/g3_mp b/weapons/mp/g3_mp index 4352a63..27c8016 100644 --- a/weapons/mp/g3_mp +++ b/weapons/mp/g3_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_G3\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\1\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\g3_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.75\reloadEmptyTime\3.75\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.85\altDropTime\0.55\altRaiseTime\0.85\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.1\emptyDropTime\0.6\emptyRaiseTime\0.85\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\0\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_G3_mp\gunModel2\viewmodel_G3_mp_brock\gunModel3\viewmodel_G3_mp_bshdwl\gunModel4\viewmodel_G3_mp_bwmrpt\gunModel5\viewmodel_G3_mp_cmdtgr\gunModel6\viewmodel_G3_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g3\worldModel2\weapon_G3_mp_brock\worldModel3\weapon_G3_mp_bshdwl\worldModel4\weapon_G3_mp_bwmrpt\worldModel5\weapon_G3_mp_cmdtgr\worldModel6\weapon_G3_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_G3_idle\emptyIdleAnim\viewmodel_G3_idle\fireAnim\viewmodel_G3_fire\lastShotAnim\viewmodel_G3_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_G3_reload\reloadEmptyAnim\viewmodel_G3_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_G3_pullout\dropAnim\viewmodel_G3_putaway\firstRaiseAnim\viewmodel_G3_first_time_pullout\altRaiseAnim\viewmodel_G3_pullout\altDropAnim\viewmodel_G3_putaway\quickRaiseAnim\viewmodel_G3_quick_pullout\quickDropAnim\viewmodel_G3_quick_putaway\emptyRaiseAnim\viewmodel_G3_pullout\emptyDropAnim\viewmodel_G3_putaway\sprintInAnim\viewmodel_G3_sprint_in\sprintLoopAnim\viewmodel_G3_sprint_loop\sprintOutAnim\viewmodel_G3_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_G3_ADS_fire\adsLastShotAnim\viewmodel_G3_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_G3_ADS_up\adsDownAnim\viewmodel_G3_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_g3_fire_npc\fireSoundPlayer\weap_g3_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g3_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g3_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g3_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g3\killIcon\hud_icon_g3\dpadIcon\\ammoCounterIcon\hud_icon_g3\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog +WEAPONFILE\displayName\WEAPON_G3\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\1\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\g3_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.75\reloadEmptyTime\3.75\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.85\altDropTime\0.55\altRaiseTime\0.85\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.1\emptyDropTime\0.6\emptyRaiseTime\0.85\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\0\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_G3_mp\gunModel2\viewmodel_G3_mp_brock\gunModel3\viewmodel_G3_mp_bshdwl\gunModel4\viewmodel_G3_mp_bwmrpt\gunModel5\viewmodel_G3_mp_cmdtgr\gunModel6\viewmodel_G3_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g3\worldModel2\weapon_G3_mp_brock\worldModel3\weapon_G3_mp_bshdwl\worldModel4\weapon_G3_mp_bwmrpt\worldModel5\weapon_G3_mp_cmdtgr\worldModel6\weapon_G3_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_G3_idle\emptyIdleAnim\viewmodel_G3_idle\fireAnim\viewmodel_G3_fire\lastShotAnim\viewmodel_G3_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_G3_reload\reloadEmptyAnim\viewmodel_G3_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_G3_pullout\dropAnim\viewmodel_G3_putaway\firstRaiseAnim\viewmodel_G3_first_time_pullout\altRaiseAnim\viewmodel_G3_pullout\altDropAnim\viewmodel_G3_putaway\quickRaiseAnim\viewmodel_G3_quick_pullout\quickDropAnim\viewmodel_G3_quick_putaway\emptyRaiseAnim\viewmodel_G3_pullout\emptyDropAnim\viewmodel_G3_putaway\sprintInAnim\viewmodel_G3_sprint_in\sprintLoopAnim\viewmodel_G3_sprint_loop\sprintOutAnim\viewmodel_G3_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_G3_ADS_fire\adsLastShotAnim\viewmodel_G3_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_G3_ADS_up\adsDownAnim\viewmodel_G3_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_g3_fire_npc\fireSoundPlayer\weap_g3_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g3_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g3_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g3_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g3\killIcon\hud_icon_g3\dpadIcon\\ammoCounterIcon\hud_icon_g3\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog tag_ak47_mount tag_reflex_sight\notetrackSoundMap\weap_g3_lift_plr weap_g3_lift_plr weap_g3_clipout_plr weap_g3_clipout_plr diff --git a/weapons/mp/g3_silencer_mp b/weapons/mp/g3_silencer_mp index fb02436..f912fa6 100644 --- a/weapons/mp/g3_silencer_mp +++ b/weapons/mp/g3_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_G3\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\1\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\g3_silencer_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.75\reloadEmptyTime\3.75\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.85\altDropTime\0.55\altRaiseTime\0.85\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.1\emptyDropTime\0.6\emptyRaiseTime\0.85\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\0\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_G3_silencer\gunModel2\viewmodel_g3_and_silencer_mp_brock\gunModel3\viewmodel_g3_and_silencer_mp_bshdwl\gunModel4\viewmodel_g3_and_sliencer_mp_bwmrpt\gunModel5\viewmodel_g3_and_silencer_mp_cmdtgr\gunModel6\viewmodel_g3_and_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g3_silencer\worldModel2\weapon_g3SD_mp_brock\worldModel3\weapon_g3SD_mp_bshdwl\worldModel4\weapon_g3SD_mp_bwmrpt\worldModel5\weapon_g3SD_mp_cmdtgr\worldModel6\weapon_g3SD_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_G3_idle\emptyIdleAnim\viewmodel_G3_idle\fireAnim\viewmodel_G3_fire\lastShotAnim\viewmodel_G3_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_G3_reload\reloadEmptyAnim\viewmodel_G3_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_G3_pullout\dropAnim\viewmodel_G3_putaway\firstRaiseAnim\viewmodel_G3_first_time_pullout\altRaiseAnim\viewmodel_G3_pullout\altDropAnim\viewmodel_G3_putaway\quickRaiseAnim\viewmodel_G3_quick_pullout\quickDropAnim\viewmodel_G3_quick_putaway\emptyRaiseAnim\viewmodel_G3_pullout\emptyDropAnim\viewmodel_G3_putaway\sprintInAnim\viewmodel_G3_sprint_in\sprintLoopAnim\viewmodel_G3_sprint_loop\sprintOutAnim\viewmodel_G3_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_G3_ADS_fire\adsLastShotAnim\viewmodel_G3_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_G3_ADS_up\adsDownAnim\viewmodel_G3_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g3_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g3_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g3_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g3\killIcon\hud_icon_g3\dpadIcon\\ammoCounterIcon\hud_icon_g3\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0.2\adsDofEnd\9.9\hideTags\\notetrackSoundMap\weap_g3_lift_plr weap_g3_lift_plr +WEAPONFILE\displayName\WEAPON_G3\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\1\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\g3_silencer_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.75\reloadEmptyTime\3.75\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.85\altDropTime\0.55\altRaiseTime\0.85\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.1\emptyDropTime\0.6\emptyRaiseTime\0.85\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\0\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\50\hipViewKickYawMax\-50\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\50\adsViewKickYawMax\-50\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_G3_silencer\gunModel2\viewmodel_g3_and_silencer_mp_brock\gunModel3\viewmodel_g3_and_silencer_mp_bshdwl\gunModel4\viewmodel_g3_and_sliencer_mp_bwmrpt\gunModel5\viewmodel_g3_and_silencer_mp_cmdtgr\gunModel6\viewmodel_g3_and_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_g3_silencer\worldModel2\weapon_g3SD_mp_brock\worldModel3\weapon_g3SD_mp_bshdwl\worldModel4\weapon_g3SD_mp_bwmrpt\worldModel5\weapon_g3SD_mp_cmdtgr\worldModel6\weapon_g3SD_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_G3_idle\emptyIdleAnim\viewmodel_G3_idle\fireAnim\viewmodel_G3_fire\lastShotAnim\viewmodel_G3_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_G3_reload\reloadEmptyAnim\viewmodel_G3_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_G3_pullout\dropAnim\viewmodel_G3_putaway\firstRaiseAnim\viewmodel_G3_first_time_pullout\altRaiseAnim\viewmodel_G3_pullout\altDropAnim\viewmodel_G3_putaway\quickRaiseAnim\viewmodel_G3_quick_pullout\quickDropAnim\viewmodel_G3_quick_putaway\emptyRaiseAnim\viewmodel_G3_pullout\emptyDropAnim\viewmodel_G3_putaway\sprintInAnim\viewmodel_G3_sprint_in\sprintLoopAnim\viewmodel_G3_sprint_loop\sprintOutAnim\viewmodel_G3_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_G3_ADS_fire\adsLastShotAnim\viewmodel_G3_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_G3_ADS_up\adsDownAnim\viewmodel_G3_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_g3_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_g3_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_g3_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_g3\killIcon\hud_icon_g3\dpadIcon\\ammoCounterIcon\hud_icon_g3\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0.2\adsDofEnd\9.9\hideTags\\notetrackSoundMap\weap_g3_lift_plr weap_g3_lift_plr weap_g3_clipout_plr weap_g3_clipout_plr weap_g3_clipin_plr weap_g3_clipin_plr weap_g3_chamber_plr weap_g3_chamber_plr diff --git a/weapons/mp/m1014_mp b/weapons/mp/m1014_mp index 491d4da..9d4f7b3 100644 --- a/weapons/mp/m1014_mp +++ b/weapons/mp/m1014_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_BENELLI\modeName\\playerAnimType\other\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\spread\penetrateType\small\impactType\shotgun\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\0\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\80\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\12 gauge\maxAmmo\40\startAmmo\20\clipName\m1014_mp\clipSize\4\shotCount\8\dropAmmoMin\1\dropAmmoMax\4\reloadAmmoAdd\1\reloadStartAdd\1\damage\30\minDamage\10\meleeDamage\135\maxDamageRange\300\minDamageRange\600\playerDamage\30\locNone\1\locHelmet\1\locHead\1\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.2\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.567\reloadEmptyTime\0.567\reloadStartTime\1\reloadEndTime\0.36\reloadAddTime\0.25\reloadStartAddTime\0.6\rechamberTime\0\rechamberBoltTime\0.55\dropTime\0.43\raiseTime\0.75\altDropTime\0\altRaiseTime\0.6\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.6\emptyDropTime\0.43\emptyRaiseTime\0.75\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-100\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\220\proneRotR\-300\proneOfsF\-0.5\proneOfsR\2\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.8\idleProneFactor\0.4\adsSpread\5.5\adsAimPitch\-0.1\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.5\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\5\hipSpreadDuckedMin\5\hipSpreadProneMin\5\hipSpreadMax\5\hipSpreadDuckedMax\5\hipSpreadProneMax\5\hipSpreadFireAdd\0\hipSpreadTurnAdd\0\hipSpreadMoveAdd\0.1\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\50\hipGunKickPitchMax\60\hipGunKickYawMin\-30\hipGunKickYawMax\30\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\35\adsGunKickPitchMax\45\adsGunKickYawMin\-25\adsGunKickYawMax\25\adsGunKickAccel\260\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\50\adsGunKickStaticDecay\10\hipViewKickPitchMin\85\hipViewKickPitchMax\95\hipViewKickYawMin\-45\hipViewKickYawMax\45\hipViewKickCenterSpeed\1000\adsViewKickPitchMin\85\adsViewKickPitchMax\95\adsViewKickYawMin\-45\adsViewKickYawMax\45\adsViewKickCenterSpeed\1000\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\8\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.2\fightDist\720\maxDist\680\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_benelli_m4_mp\gunModel2\viewmodel_benelli_m4_mp_brock\gunModel3\viewmodel_benelli_m4_mp_bshdwl\gunModel4\viewmodel_benelli_m4_mp_bwmrpt\gunModel5\viewmodel_benelli_m4_mp_cmdtgr\gunModel6\viewmodel_benelli_m4_mp_stagger\gunModel7\viewmodel_benelli_m4_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_benelli_super_90\worldModel2\weapon_benelli_super_90_mp_brock\worldModel3\weapon_benelli_super_90_mp_bshdwl\worldModel4\weapon_benelli_super_90_mp_bwmrpt\worldModel5\weapon_benelli_super_90_mp_cmdtgr\worldModel6\weapon_benelli_super_90_mp_stagger\worldModel7\weapon_benelli_super_90_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_benelliM4_idle\emptyIdleAnim\viewmodel_benelliM4_idle\fireAnim\viewmodel_benelliM4_fire\lastShotAnim\viewmodel_benelliM4_fire_last\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_benelliM4_reload_loop\reloadEmptyAnim\\reloadStartAnim\viewmodel_benelliM4_reload_intro\reloadEndAnim\viewmodel_benelliM4_reload_out\raiseAnim\viewmodel_benelliM4_pullout\dropAnim\viewmodel_benelliM4_putaway\firstRaiseAnim\viewmodel_benelliM4_pullout\altRaiseAnim\viewmodel_benelliM4_pullout\altDropAnim\viewmodel_benelliM4_putaway\quickRaiseAnim\viewmodel_benelliM4_pullout_quick\quickDropAnim\viewmodel_benelliM4_putaway_quick\emptyRaiseAnim\viewmodel_benelliM4_pullout\emptyDropAnim\viewmodel_benelliM4_putaway\sprintInAnim\viewmodel_benelliM4_sprint_in\sprintLoopAnim\viewmodel_benelliM4_sprint_loop\sprintOutAnim\viewmodel_benelliM4_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_benelliM4_fire_ads\adsLastShotAnim\viewmodel_benelliM4_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_benelliM4_ADS_up\adsDownAnim\viewmodel_benelliM4_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/shotgun_view\worldShellEjectEffect\shellejects/shotgun\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m1014_fire_npc\fireSoundPlayer\weap_m1014_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m1014_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m4benelli_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m4benelli_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_benelli_m4\killIcon\hud_icon_benelli_m4\dpadIcon\\ammoCounterIcon\hud_icon_benelli_m4\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Shotgun\flipKillIcon\1\fireRumble\shotgun_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\0\hideTags\tag_foregrip +WEAPONFILE\displayName\WEAPON_BENELLI\modeName\\playerAnimType\other\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\spread\penetrateType\small\impactType\shotgun\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\0\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\80\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\12 gauge\maxAmmo\40\startAmmo\20\clipName\m1014_mp\clipSize\4\shotCount\8\dropAmmoMin\1\dropAmmoMax\4\reloadAmmoAdd\1\reloadStartAdd\1\damage\30\minDamage\10\meleeDamage\135\maxDamageRange\300\minDamageRange\600\playerDamage\30\locNone\1\locHelmet\1\locHead\1\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.2\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.567\reloadEmptyTime\0.567\reloadStartTime\1\reloadEndTime\0.36\reloadAddTime\0.25\reloadStartAddTime\0.6\rechamberTime\0\rechamberBoltTime\0.55\dropTime\0.43\raiseTime\0.75\altDropTime\0\altRaiseTime\0.6\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.6\emptyDropTime\0.43\emptyRaiseTime\0.75\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-100\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\220\proneRotR\-300\proneOfsF\-0.5\proneOfsR\2\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.8\idleProneFactor\0.4\adsSpread\5.5\adsAimPitch\-0.1\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.5\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\5\hipSpreadDuckedMin\5\hipSpreadProneMin\5\hipSpreadMax\5\hipSpreadDuckedMax\5\hipSpreadProneMax\5\hipSpreadFireAdd\0\hipSpreadTurnAdd\0\hipSpreadMoveAdd\0.1\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\50\hipGunKickPitchMax\60\hipGunKickYawMin\-30\hipGunKickYawMax\30\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\35\adsGunKickPitchMax\45\adsGunKickYawMin\-25\adsGunKickYawMax\25\adsGunKickAccel\260\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\50\adsGunKickStaticDecay\10\hipViewKickPitchMin\85\hipViewKickPitchMax\95\hipViewKickYawMin\-45\hipViewKickYawMax\45\hipViewKickCenterSpeed\1000\adsViewKickPitchMin\85\adsViewKickPitchMax\95\adsViewKickYawMin\-45\adsViewKickYawMax\45\adsViewKickCenterSpeed\1000\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\8\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.2\fightDist\720\maxDist\680\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_benelli_m4_mp\gunModel2\viewmodel_benelli_m4_mp_brock\gunModel3\viewmodel_benelli_m4_mp_bshdwl\gunModel4\viewmodel_benelli_m4_mp_bwmrpt\gunModel5\viewmodel_benelli_m4_mp_cmdtgr\gunModel6\viewmodel_benelli_m4_mp_stagger\gunModel7\viewmodel_benelli_m4_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_benelli_super_90\worldModel2\weapon_benelli_super_90_mp_brock\worldModel3\weapon_benelli_super_90_mp_bshdwl\worldModel4\weapon_benelli_super_90_mp_bwmrpt\worldModel5\weapon_benelli_super_90_mp_cmdtgr\worldModel6\weapon_benelli_super_90_mp_stagger\worldModel7\weapon_benelli_super_90_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_benelliM4_idle\emptyIdleAnim\viewmodel_benelliM4_idle\fireAnim\viewmodel_benelliM4_fire\lastShotAnim\viewmodel_benelliM4_fire_last\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_benelliM4_reload_loop\reloadEmptyAnim\\reloadStartAnim\viewmodel_benelliM4_reload_intro\reloadEndAnim\viewmodel_benelliM4_reload_out\raiseAnim\viewmodel_benelliM4_pullout\dropAnim\viewmodel_benelliM4_putaway\firstRaiseAnim\viewmodel_benelliM4_pullout\altRaiseAnim\viewmodel_benelliM4_pullout\altDropAnim\viewmodel_benelliM4_putaway\quickRaiseAnim\viewmodel_benelliM4_pullout_quick\quickDropAnim\viewmodel_benelliM4_putaway_quick\emptyRaiseAnim\viewmodel_benelliM4_pullout\emptyDropAnim\viewmodel_benelliM4_putaway\sprintInAnim\viewmodel_benelliM4_sprint_in\sprintLoopAnim\viewmodel_benelliM4_sprint_loop\sprintOutAnim\viewmodel_benelliM4_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_benelliM4_fire_ads\adsLastShotAnim\viewmodel_benelliM4_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_benelliM4_ADS_up\adsDownAnim\viewmodel_benelliM4_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/shotgun_view\worldShellEjectEffect\shellejects/shotgun\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m1014_fire_npc\fireSoundPlayer\weap_m1014_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m1014_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m4benelli_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m4benelli_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_benelli_m4\killIcon\hud_icon_benelli_m4\dpadIcon\\ammoCounterIcon\hud_icon_benelli_m4\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Shotgun\flipKillIcon\1\fireRumble\shotgun_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\0\hideTags\tag_foregrip tag_reflex_sight\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_m4benelli_start_plr weap_m4benelli_start_plr weap_m4benelli_loop_plr weap_m4benelli_loop_plr diff --git a/weapons/mp/m14_mp b/weapons/mp/m14_mp index 7f953cc..ce62034 100644 --- a/weapons/mp/m14_mp +++ b/weapons/mp/m14_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M14\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\m14_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\1\damage\50\minDamage\40\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\30\locNone\1\locHelmet\1.5\locHead\1.5\locNeck\1.5\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.06\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\1\rechamberBoltTime\0\dropTime\0.7\raiseTime\0.8\altDropTime\0.75\altRaiseTime\0.1\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.8\emptyDropTime\0.7\emptyRaiseTime\0.8\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\40\hipViewKickPitchMax\80\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1200\adsViewKickPitchMin\40\adsViewKickPitchMax\80\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1200\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m14_mp\gunModel2\viewmodel_m14_mp_brock\gunModel3\viewmodel_m14_mp_bshdwl\gunModel4\viewmodel_m14_mp_bwmrpt\gunModel5\viewmodel_m14_mp_cmdtgr\gunModel6\viewmodel_m14_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m14_scout_mp\worldModel2\weapon_m14_scout_mp_brock\worldModel3\weapon_m14_scout_mp_bshdwl\worldModel4\weapon_m14_scout_mp_bwmrpt\worldModel5\weapon_m14_scout_mp_cmdtgr\worldModel6\weapon_m14_scout_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M14_idle\emptyIdleAnim\viewmodel_M14_idle\fireAnim\viewmodel_M14_fire\lastShotAnim\viewmodel_M14_last_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M14_reload\reloadEmptyAnim\viewmodel_M14_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M14_pullout\dropAnim\viewmodel_M14_putaway\firstRaiseAnim\viewmodel_M14_pullout\altRaiseAnim\viewmodel_M14_pullout\altDropAnim\viewmodel_M14_putaway\quickRaiseAnim\viewmodel_M14_pullout_quick\quickDropAnim\viewmodel_M14_putaway_quick\emptyRaiseAnim\viewmodel_M14_pullout\emptyDropAnim\viewmodel_M14_putaway\sprintInAnim\viewmodel_M14_sprint_in\sprintLoopAnim\viewmodel_M14_sprint_loop\sprintOutAnim\viewmodel_M14_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M14_fire_ads\adsLastShotAnim\viewmodel_M14_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M14_ironsites_ADS_up\adsDownAnim\viewmodel_M14_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m14sniper_fire_npc\fireSoundPlayer\weap_m14sniper_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m14sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m14sniper_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m14sniper_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m14\killIcon\hud_icon_m14\dpadIcon\\ammoCounterIcon\hud_icon_m14\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\TAG_ACOG +WEAPONFILE\displayName\WEAPON_M14\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\m14_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\1\damage\50\minDamage\40\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\30\locNone\1\locHelmet\1.5\locHead\1.5\locNeck\1.5\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.06\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\1\rechamberBoltTime\0\dropTime\0.7\raiseTime\0.8\altDropTime\0.75\altRaiseTime\0.1\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.8\emptyDropTime\0.7\emptyRaiseTime\0.8\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\40\hipViewKickPitchMax\80\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1200\adsViewKickPitchMin\40\adsViewKickPitchMax\80\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1200\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m14_mp\gunModel2\viewmodel_m14_mp_brock\gunModel3\viewmodel_m14_mp_bshdwl\gunModel4\viewmodel_m14_mp_bwmrpt\gunModel5\viewmodel_m14_mp_cmdtgr\gunModel6\viewmodel_m14_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m14_scout_mp\worldModel2\weapon_m14_scout_mp_brock\worldModel3\weapon_m14_scout_mp_bshdwl\worldModel4\weapon_m14_scout_mp_bwmrpt\worldModel5\weapon_m14_scout_mp_cmdtgr\worldModel6\weapon_m14_scout_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M14_idle\emptyIdleAnim\viewmodel_M14_idle\fireAnim\viewmodel_M14_fire\lastShotAnim\viewmodel_M14_last_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M14_reload\reloadEmptyAnim\viewmodel_M14_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M14_pullout\dropAnim\viewmodel_M14_putaway\firstRaiseAnim\viewmodel_M14_pullout\altRaiseAnim\viewmodel_M14_pullout\altDropAnim\viewmodel_M14_putaway\quickRaiseAnim\viewmodel_M14_pullout_quick\quickDropAnim\viewmodel_M14_putaway_quick\emptyRaiseAnim\viewmodel_M14_pullout\emptyDropAnim\viewmodel_M14_putaway\sprintInAnim\viewmodel_M14_sprint_in\sprintLoopAnim\viewmodel_M14_sprint_loop\sprintOutAnim\viewmodel_M14_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M14_fire_ads\adsLastShotAnim\viewmodel_M14_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M14_ironsites_ADS_up\adsDownAnim\viewmodel_M14_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m14sniper_fire_npc\fireSoundPlayer\weap_m14sniper_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m14sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m14sniper_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m14sniper_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m14\killIcon\hud_icon_m14\dpadIcon\\ammoCounterIcon\hud_icon_m14\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\TAG_ACOG TAG_REFLEX_SIGHT \notetrackSoundMap\melee_knife_stab melee_knife_stab weap_m14sniper_lift_plr weap_m14sniper_lift_plr diff --git a/weapons/mp/m14_silencer_mp b/weapons/mp/m14_silencer_mp index 91889ac..247b94c 100644 --- a/weapons/mp/m14_silencer_mp +++ b/weapons/mp/m14_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M14\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\2500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\m14_silencer_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\1\damage\50\minDamage\40\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\30\locNone\1\locHelmet\1.5\locHead\1.5\locNeck\1.5\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.06\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\1\rechamberBoltTime\0\dropTime\0.7\raiseTime\0.8\altDropTime\0.75\altRaiseTime\0.1\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.8\emptyDropTime\0.7\emptyRaiseTime\0.8\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\40\hipViewKickPitchMax\80\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1200\adsViewKickPitchMin\40\adsViewKickPitchMax\80\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1200\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m14SD_mp\gunModel2\viewmodel_m14SD_mp_brock\gunModel3\viewmodel_m14SD_mp_bshdwl\gunModel4\viewmodel_m14SD_mp_bwmrpt\gunModel5\viewmodel_m14SD_mp_cmdtgr\gunModel6\viewmodel_m14SD_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m14SD_scout\worldModel2\weapon_m14SD_scout_brock\worldModel3\weapon_m14SD_scout_bshdwl\worldModel4\weapon_m14SD_scout_bwmrpt\worldModel5\weapon_m14SD_scout_cmdtgr\worldModel6\weapon_m14SD_scout_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M14_idle\emptyIdleAnim\viewmodel_M14_idle\fireAnim\viewmodel_M14_fire\lastShotAnim\viewmodel_M14_last_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M14_reload\reloadEmptyAnim\viewmodel_M14_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M14_pullout\dropAnim\viewmodel_M14_putaway\firstRaiseAnim\viewmodel_M14_pullout\altRaiseAnim\viewmodel_M14_pullout\altDropAnim\viewmodel_M14_putaway\quickRaiseAnim\viewmodel_M14_pullout_quick\quickDropAnim\viewmodel_M14_putaway_quick\emptyRaiseAnim\viewmodel_M14_pullout\emptyDropAnim\viewmodel_M14_putaway\sprintInAnim\viewmodel_M14_sprint_in\sprintLoopAnim\viewmodel_M14_sprint_loop\sprintOutAnim\viewmodel_M14_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M14_fire_ads\adsLastShotAnim\viewmodel_M14_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M14_ironsites_ADS_up\adsDownAnim\viewmodel_M14_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m14sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m14sniper_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m14sniper_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m14\killIcon\hud_icon_m14\dpadIcon\\ammoCounterIcon\hud_icon_m14\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_M14\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\2500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\120\startAmmo\60\clipName\m14_silencer_mp\clipSize\20\shotCount\1\dropAmmoMin\1\dropAmmoMax\20\reloadAmmoAdd\0\reloadStartAdd\1\damage\50\minDamage\40\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\30\locNone\1\locHelmet\1.5\locHead\1.5\locNeck\1.5\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.5\reloadEmptyTime\3.06\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\1\rechamberBoltTime\0\dropTime\0.7\raiseTime\0.8\altDropTime\0.75\altRaiseTime\0.1\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.8\emptyDropTime\0.7\emptyRaiseTime\0.8\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\4\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\40\hipViewKickPitchMax\80\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1200\adsViewKickPitchMin\40\adsViewKickPitchMax\80\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1200\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.12\adsSwayVertScale\0.25\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m14SD_mp\gunModel2\viewmodel_m14SD_mp_brock\gunModel3\viewmodel_m14SD_mp_bshdwl\gunModel4\viewmodel_m14SD_mp_bwmrpt\gunModel5\viewmodel_m14SD_mp_cmdtgr\gunModel6\viewmodel_m14SD_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m14SD_scout\worldModel2\weapon_m14SD_scout_brock\worldModel3\weapon_m14SD_scout_bshdwl\worldModel4\weapon_m14SD_scout_bwmrpt\worldModel5\weapon_m14SD_scout_cmdtgr\worldModel6\weapon_m14SD_scout_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M14_idle\emptyIdleAnim\viewmodel_M14_idle\fireAnim\viewmodel_M14_fire\lastShotAnim\viewmodel_M14_last_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M14_reload\reloadEmptyAnim\viewmodel_M14_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M14_pullout\dropAnim\viewmodel_M14_putaway\firstRaiseAnim\viewmodel_M14_pullout\altRaiseAnim\viewmodel_M14_pullout\altDropAnim\viewmodel_M14_putaway\quickRaiseAnim\viewmodel_M14_pullout_quick\quickDropAnim\viewmodel_M14_putaway_quick\emptyRaiseAnim\viewmodel_M14_pullout\emptyDropAnim\viewmodel_M14_putaway\sprintInAnim\viewmodel_M14_sprint_in\sprintLoopAnim\viewmodel_M14_sprint_loop\sprintOutAnim\viewmodel_M14_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M14_fire_ads\adsLastShotAnim\viewmodel_M14_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M14_ironsites_ADS_up\adsDownAnim\viewmodel_M14_ironsites_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m14sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m14sniper_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m14sniper_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m14\killIcon\hud_icon_m14\dpadIcon\\ammoCounterIcon\hud_icon_m14\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\12\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_m14sniper_lift_plr weap_m14sniper_lift_plr weap_m14sniper_clipout_plr weap_m14sniper_clipout_plr weap_m14sniper_clipin_plr weap_m14sniper_clipin_plr diff --git a/weapons/mp/m16_mp b/weapons/mp/m16_mp index 2ca8819..21f7bab 100644 --- a/weapons/mp/m16_mp +++ b/weapons/mp/m16_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M16\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\3-Round Burst\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m16_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.065\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2\reloadEmptyTime\2.365\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.5\raiseTime\0.35\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.3\quickRaiseTime\0.75\firstRaiseTime\0.5\emptyDropTime\0.5\emptyRaiseTime\0.35\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\70\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\45\hipViewKickYawMax\-45\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\45\adsViewKickYawMax\-45\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m16_mp\gunModel2\viewmodel_m16_mp_brock\gunModel3\viewmodel_m16_mp_bshdwl\gunModel4\viewmodel_m16_mp_bwmrpt\gunModel5\viewmodel_m16_mp_cmdtgr\gunModel6\viewmodel_m16_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m16_mp\worldModel2\weapon_m16_mp_brock\worldModel3\weapon_m16_mp_bshdwl\worldModel4\weapon_m16_mp_bwmrpt\worldModel5\weapon_m16_mp_cmdtgr\worldModel6\weapon_m16_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_m16_idle\emptyIdleAnim\\fireAnim\viewmodel_m16_fire\lastShotAnim\viewmodel_m16_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_m16_reload\reloadEmptyAnim\viewmodel_m16_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_m16_pullout\dropAnim\viewmodel_m16_putaway\firstRaiseAnim\viewmodel_m16_pullout\altRaiseAnim\viewmodel_m16_pullout\altDropAnim\viewmodel_m16_putaway\quickRaiseAnim\viewmodel_m16_pullout_quick\quickDropAnim\viewmodel_m16_putaway\emptyRaiseAnim\viewmodel_m16_pullout\emptyDropAnim\viewmodel_m16_putaway\sprintInAnim\viewmodel_m16_sprint_in\sprintLoopAnim\viewmodel_m16_sprint_loop\sprintOutAnim\viewmodel_m16_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_m16_fire_ads\adsLastShotAnim\viewmodel_m16_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_m16_ADS_up\adsDownAnim\viewmodel_m16_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m16_fire_npc\fireSoundPlayer\weap_m16_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m16_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m16_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m16_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m16a4_grenade\killIcon\hud_icon_m16a4_grenade\dpadIcon\\ammoCounterIcon\hud_icon_m16a4\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\tag_acog +WEAPONFILE\displayName\WEAPON_M16\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\3-Round Burst\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m16_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.065\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2\reloadEmptyTime\2.365\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.5\raiseTime\0.35\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.3\quickRaiseTime\0.75\firstRaiseTime\0.5\emptyDropTime\0.5\emptyRaiseTime\0.35\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\70\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\45\hipViewKickYawMax\-45\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\45\adsViewKickYawMax\-45\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m16_mp\gunModel2\viewmodel_m16_mp_brock\gunModel3\viewmodel_m16_mp_bshdwl\gunModel4\viewmodel_m16_mp_bwmrpt\gunModel5\viewmodel_m16_mp_cmdtgr\gunModel6\viewmodel_m16_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m16_mp\worldModel2\weapon_m16_mp_brock\worldModel3\weapon_m16_mp_bshdwl\worldModel4\weapon_m16_mp_bwmrpt\worldModel5\weapon_m16_mp_cmdtgr\worldModel6\weapon_m16_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_m16_idle\emptyIdleAnim\\fireAnim\viewmodel_m16_fire\lastShotAnim\viewmodel_m16_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_m16_reload\reloadEmptyAnim\viewmodel_m16_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_m16_pullout\dropAnim\viewmodel_m16_putaway\firstRaiseAnim\viewmodel_m16_pullout\altRaiseAnim\viewmodel_m16_pullout\altDropAnim\viewmodel_m16_putaway\quickRaiseAnim\viewmodel_m16_pullout_quick\quickDropAnim\viewmodel_m16_putaway\emptyRaiseAnim\viewmodel_m16_pullout\emptyDropAnim\viewmodel_m16_putaway\sprintInAnim\viewmodel_m16_sprint_in\sprintLoopAnim\viewmodel_m16_sprint_loop\sprintOutAnim\viewmodel_m16_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_m16_fire_ads\adsLastShotAnim\viewmodel_m16_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_m16_ADS_up\adsDownAnim\viewmodel_m16_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m16_fire_npc\fireSoundPlayer\weap_m16_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m16_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m16_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m16_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m16a4_grenade\killIcon\hud_icon_m16a4_grenade\dpadIcon\\ammoCounterIcon\hud_icon_m16a4\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\tag_acog tag_reflex_sight\notetrackSoundMap\weap_m16_lift_plr weap_m16_lift_plr weap_m16_clipout_plr weap_m16_clipout_plr weap_m16_clipin_plr weap_m16_clipin_plr diff --git a/weapons/mp/m16_silencer_mp b/weapons/mp/m16_silencer_mp index 01cd0d9..39d9820 100644 --- a/weapons/mp/m16_silencer_mp +++ b/weapons/mp/m16_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M16\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\3-Round Burst\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m16_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.065\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2\reloadEmptyTime\2.365\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.5\raiseTime\0.35\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.3\quickRaiseTime\0.75\firstRaiseTime\0.5\emptyDropTime\0.5\emptyRaiseTime\0.35\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\70\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\45\hipViewKickYawMax\-45\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\45\adsViewKickYawMax\-45\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m16_and_silencer_mp\gunModel2\viewmodel_m16_and_silencer_mp_brock\gunModel3\viewmodel_m16_and_silencer_mp_bshdwl\gunModel4\viewmodel_m16_and_silencer_mp_bwmrpt\gunModel5\viewmodel_m16_and_silencer_mp_cmdtgr\gunModel6\viewmodel_m16_and_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m16_silencer_mp\worldModel2\weapon_m16sd_mp_brock\worldModel3\weapon_m16sd_mp_bshdwl\worldModel4\weapon_m16sd_mp_bwmrpt\worldModel5\weapon_m16sd_mp_cmdtgr\worldModel6\weapon_m16sd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_m16_idle\emptyIdleAnim\\fireAnim\viewmodel_m16_fire\lastShotAnim\viewmodel_m16_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_m16_reload\reloadEmptyAnim\viewmodel_m16_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_m16_pullout\dropAnim\viewmodel_m16_putaway\firstRaiseAnim\viewmodel_m16_pullout\altRaiseAnim\viewmodel_m16_pullout\altDropAnim\viewmodel_m16_putaway\quickRaiseAnim\viewmodel_m16_pullout_quick\quickDropAnim\viewmodel_m16_putaway\emptyRaiseAnim\viewmodel_m16_pullout\emptyDropAnim\viewmodel_m16_putaway\sprintInAnim\viewmodel_m16_sprint_in\sprintLoopAnim\viewmodel_m16_sprint_loop\sprintOutAnim\viewmodel_m16_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_m16_fire_ads\adsLastShotAnim\viewmodel_m16_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_m16_ADS_up\adsDownAnim\viewmodel_m16_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m16_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m16_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m16_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m16a4_grenade\killIcon\hud_icon_m16a4_grenade\dpadIcon\\ammoCounterIcon\hud_icon_m16a4\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\\notetrackSoundMap\weap_m16_lift_plr weap_m16_lift_plr +WEAPONFILE\displayName\WEAPON_M16\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\3-Round Burst\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m16_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.065\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2\reloadEmptyTime\2.365\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.5\raiseTime\0.35\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.3\quickRaiseTime\0.75\firstRaiseTime\0.5\emptyDropTime\0.5\emptyRaiseTime\0.35\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\70\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\60\hipViewKickYawMin\45\hipViewKickYawMax\-45\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\60\adsViewKickYawMin\45\adsViewKickYawMax\-45\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m16_and_silencer_mp\gunModel2\viewmodel_m16_and_silencer_mp_brock\gunModel3\viewmodel_m16_and_silencer_mp_bshdwl\gunModel4\viewmodel_m16_and_silencer_mp_bwmrpt\gunModel5\viewmodel_m16_and_silencer_mp_cmdtgr\gunModel6\viewmodel_m16_and_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m16_silencer_mp\worldModel2\weapon_m16sd_mp_brock\worldModel3\weapon_m16sd_mp_bshdwl\worldModel4\weapon_m16sd_mp_bwmrpt\worldModel5\weapon_m16sd_mp_cmdtgr\worldModel6\weapon_m16sd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_m16_idle\emptyIdleAnim\\fireAnim\viewmodel_m16_fire\lastShotAnim\viewmodel_m16_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_m16_reload\reloadEmptyAnim\viewmodel_m16_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_m16_pullout\dropAnim\viewmodel_m16_putaway\firstRaiseAnim\viewmodel_m16_pullout\altRaiseAnim\viewmodel_m16_pullout\altDropAnim\viewmodel_m16_putaway\quickRaiseAnim\viewmodel_m16_pullout_quick\quickDropAnim\viewmodel_m16_putaway\emptyRaiseAnim\viewmodel_m16_pullout\emptyDropAnim\viewmodel_m16_putaway\sprintInAnim\viewmodel_m16_sprint_in\sprintLoopAnim\viewmodel_m16_sprint_loop\sprintOutAnim\viewmodel_m16_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_m16_fire_ads\adsLastShotAnim\viewmodel_m16_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_m16_ADS_up\adsDownAnim\viewmodel_m16_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m16_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m16_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m16_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m16a4_grenade\killIcon\hud_icon_m16a4_grenade\dpadIcon\\ammoCounterIcon\hud_icon_m16a4\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\\notetrackSoundMap\weap_m16_lift_plr weap_m16_lift_plr weap_m16_clipout_plr weap_m16_clipout_plr weap_m16_clipin_plr weap_m16_clipin_plr weap_m16_chamber_close_plr weap_m16_chamber_close_plr diff --git a/weapons/mp/m40a3_mp b/weapons/mp/m40a3_mp index b5952a3..ff1c52f 100644 --- a/weapons/mp/m40a3_mp +++ b/weapons/mp/m40a3_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M40A3\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\1\aimDownSight\1\rechamberWhileAds\0\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\2500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\40\startAmmo\20\clipName\m40a3_mp\clipSize\5\shotCount\1\dropAmmoMin\1\dropAmmoMax\5\reloadAmmoAdd\1\reloadStartAdd\1\damage\70\minDamage\70\meleeDamage\135\maxDamageRange\4000\minDamageRange\5000\playerDamage\30\locNone\1\locHelmet\4.5\locHead\4.5\locNeck\4.5\locTorsoUpper\4.5\locTorsoLower\4.5\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.05\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.43333\reloadEmptyTime\0.15\reloadStartTime\1.13\reloadEndTime\0.76666\reloadAddTime\0.26\reloadStartAddTime\0.96\rechamberTime\1\rechamberBoltTime\0.65\dropTime\0.66\raiseTime\0.9\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.9\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.4\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\15\adsZoomInFrac\0.05\adsZoomOutFrac\0.05\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3.8\hipSpreadDuckedMin\3.4\hipSpreadProneMin\3\hipSpreadMax\8\hipSpreadDuckedMax\7\hipSpreadProneMax\6.5\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\80\hipViewKickPitchMax\100\hipViewKickYawMin\50\hipViewKickYawMax\-55\hipViewKickCenterSpeed\500\adsViewKickPitchMin\10\adsViewKickPitchMax\65\adsViewKickYawMin\50\adsViewKickYawMax\-55\adsViewKickCenterSpeed\500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0\adsSwayYawScale\0\adsSwayHorizScale\0\adsSwayVertScale\0\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\scope_overlay_m40a3\adsOverlayShaderLowRes\scope_overlay_m40a3_low_res\adsOverlayReticle\crosshair\adsOverlayWidth\480\adsOverlayHeight\480\gunModel\viewmodel_m40a3_mp\gunModel2\viewmodel_m40a3_mp_brock\gunModel3\viewmodel_m40a3_mp_bshdwl\gunModel4\viewmodel_m40a3_mp_bwmrpt\gunModel5\viewmodel_m40a3_mp_cmdtgr\gunModel6\viewmodel_m40a3_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m40a3\worldModel2\weapon_m40a3_mp_brock\worldModel3\weapon_m40a3_mp_bshdwl\worldModel4\weapon_m40a3_mp_bwmrpt\worldModel5\weapon_m40a3_mp_cmdtgr\worldModel6\weapon_m40a3_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M40a3_idle\emptyIdleAnim\\fireAnim\viewmodel_M40a3_fire\lastShotAnim\viewmodel_M40a3_fire\rechamberAnim\viewmodel_M40a3_rechamber\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M40a3_reload_loop\reloadEmptyAnim\viewmodel_M40a3_reload_loop\reloadStartAnim\viewmodel_M40a3_reload_intro\reloadEndAnim\viewmodel_M40a3_reload_out\raiseAnim\viewmodel_M40a3_pullout\dropAnim\viewmodel_M40a3_putaway\firstRaiseAnim\viewmodel_M40a3_pullout\altRaiseAnim\viewmodel_M40a3_pullout\altDropAnim\viewmodel_M40a3_putaway\quickRaiseAnim\viewmodel_M40a3_pullout_quick\quickDropAnim\viewmodel_M40a3_putaway_quick\emptyRaiseAnim\viewmodel_M40a3_pullout\emptyDropAnim\viewmodel_M40a3_putaway\sprintInAnim\viewmodel_M40a3_sprint_in\sprintLoopAnim\viewmodel_M40a3_sprint_loop\sprintOutAnim\viewmodel_M40a3_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M40a3_fire\adsLastShotAnim\viewmodel_M40a3_fire\adsRechamberAnim\viewmodel_M40a3_rechamber\adsUpAnim\viewmodel_M40a3_ADS_up\adsDownAnim\viewmodel_M40a3_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m40a3sniper_fire_npc\fireSoundPlayer\weap_m40a3sniper_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m40a3sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\weap_m40a3sniper_rechamber_npc\rechamberSoundPlayer\weap_m40a3sniper_rechamber_plr\reloadSound\weap_m40a3sniper_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m40a3sniper_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m40a3\killIcon\hud_icon_m40a3\dpadIcon\\ammoCounterIcon\hud_icon_m40a3\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\ShortMagazine\flipKillIcon\1\fireRumble\sniper_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\4\adsDofEnd\30\hideTags\tag_acog\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_M40A3\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\1\aimDownSight\1\rechamberWhileAds\0\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\2500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\40\startAmmo\20\clipName\m40a3_mp\clipSize\5\shotCount\1\dropAmmoMin\1\dropAmmoMax\5\reloadAmmoAdd\1\reloadStartAdd\1\damage\70\minDamage\70\meleeDamage\135\maxDamageRange\4000\minDamageRange\5000\playerDamage\30\locNone\1\locHelmet\4.5\locHead\4.5\locNeck\4.5\locTorsoUpper\4.5\locTorsoLower\4.5\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.05\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.43333\reloadEmptyTime\0.15\reloadStartTime\1.13\reloadEndTime\0.76666\reloadAddTime\0.26\reloadStartAddTime\0.96\rechamberTime\1\rechamberBoltTime\0.65\dropTime\0.66\raiseTime\0.9\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.9\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.4\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\15\adsZoomInFrac\0.05\adsZoomOutFrac\0.05\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3.8\hipSpreadDuckedMin\3.4\hipSpreadProneMin\3\hipSpreadMax\8\hipSpreadDuckedMax\7\hipSpreadProneMax\6.5\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\80\hipViewKickPitchMax\100\hipViewKickYawMin\50\hipViewKickYawMax\-55\hipViewKickCenterSpeed\500\adsViewKickPitchMin\10\adsViewKickPitchMax\65\adsViewKickYawMin\50\adsViewKickYawMax\-55\adsViewKickCenterSpeed\500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0\adsSwayYawScale\0\adsSwayHorizScale\0\adsSwayVertScale\0\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\scope_overlay_m40a3\adsOverlayShaderLowRes\scope_overlay_m40a3_low_res\adsOverlayReticle\crosshair\adsOverlayWidth\480\adsOverlayHeight\480\gunModel\viewmodel_m40a3_mp\gunModel2\viewmodel_m40a3_mp_brock\gunModel3\viewmodel_m40a3_mp_bshdwl\gunModel4\viewmodel_m40a3_mp_bwmrpt\gunModel5\viewmodel_m40a3_mp_cmdtgr\gunModel6\viewmodel_m40a3_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m40a3\worldModel2\weapon_m40a3_mp_brock\worldModel3\weapon_m40a3_mp_bshdwl\worldModel4\weapon_m40a3_mp_bwmrpt\worldModel5\weapon_m40a3_mp_cmdtgr\worldModel6\weapon_m40a3_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M40a3_idle\emptyIdleAnim\\fireAnim\viewmodel_M40a3_fire\lastShotAnim\viewmodel_M40a3_fire\rechamberAnim\viewmodel_M40a3_rechamber\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M40a3_reload_loop\reloadEmptyAnim\viewmodel_M40a3_reload_loop\reloadStartAnim\viewmodel_M40a3_reload_intro\reloadEndAnim\viewmodel_M40a3_reload_out\raiseAnim\viewmodel_M40a3_pullout\dropAnim\viewmodel_M40a3_putaway\firstRaiseAnim\viewmodel_M40a3_pullout\altRaiseAnim\viewmodel_M40a3_pullout\altDropAnim\viewmodel_M40a3_putaway\quickRaiseAnim\viewmodel_M40a3_pullout_quick\quickDropAnim\viewmodel_M40a3_putaway_quick\emptyRaiseAnim\viewmodel_M40a3_pullout\emptyDropAnim\viewmodel_M40a3_putaway\sprintInAnim\viewmodel_M40a3_sprint_in\sprintLoopAnim\viewmodel_M40a3_sprint_loop\sprintOutAnim\viewmodel_M40a3_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M40a3_fire\adsLastShotAnim\viewmodel_M40a3_fire\adsRechamberAnim\viewmodel_M40a3_rechamber\adsUpAnim\viewmodel_M40a3_ADS_up\adsDownAnim\viewmodel_M40a3_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m40a3sniper_fire_npc\fireSoundPlayer\weap_m40a3sniper_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m40a3sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\weap_m40a3sniper_rechamber_npc\rechamberSoundPlayer\weap_m40a3sniper_rechamber_plr\reloadSound\weap_m40a3sniper_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m40a3sniper_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m40a3\killIcon\hud_icon_m40a3\dpadIcon\\ammoCounterIcon\hud_icon_m40a3\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\ShortMagazine\flipKillIcon\1\fireRumble\sniper_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\4\adsDofEnd\30\hideTags\tag_acog\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_m40a3sniper_start_plr weap_m40a3sniper_start_plr weap_m40a3sniper_loop_plr weap_m40a3sniper_loop_plr weap_m40a3sniper_end_plr weap_m40a3sniper_end_plr diff --git a/weapons/mp/m4_mp b/weapons/mp/m4_mp index 0c58855..d395c93 100644 --- a/weapons/mp/m4_mp +++ b/weapons/mp/m4_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M4_CARBINE\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m4_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.07\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.03\reloadEmptyTime\2.36\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.75\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.85\emptyDropTime\0.45\emptyRaiseTime\0.75\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\50\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\50\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_M4_mp\gunModel2\viewmodel_M4_mp_brock\gunModel3\viewmodel_M4_mp_bshdwl\gunModel4\viewmodel_M4_mp_bwmrpt\gunModel5\viewmodel_M4_mp_cmdtgr\gunModel6\viewmodel_M4_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m4_mp\worldModel2\weapon_m4_mp_brock\worldModel3\weapon_m4_mp_bshdwl\worldModel4\weapon_m4_mp_bwmrpt\worldModel5\weapon_m4_mp_cmdtgr\worldModel6\weapon_m4_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\weapon_m16_clip\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M4_idle\emptyIdleAnim\viewmodel_M4_idle\fireAnim\viewmodel_M4_fire\lastShotAnim\viewmodel_M4_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M4_reload\reloadEmptyAnim\viewmodel_M4_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M4_pullout\dropAnim\viewmodel_M4_putaway\firstRaiseAnim\viewmodel_m4_first_time_pullout\altRaiseAnim\viewmodel_M4_idle\altDropAnim\viewmodel_M4_idle\quickRaiseAnim\viewmodel_M4silencer_quick_pullout\quickDropAnim\viewmodel_M4silencer_quick_putaway\emptyRaiseAnim\viewmodel_M4_pullout\emptyDropAnim\viewmodel_M4_putaway\sprintInAnim\viewmodel_M4_sprint_in\sprintLoopAnim\viewmodel_M4_sprint_loop\sprintOutAnim\viewmodel_M4_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M4_fire_ads\adsLastShotAnim\viewmodel_M4_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M4_iron_ADS_up\adsDownAnim\viewmodel_M4_iron_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4carbine_fire_npc\fireSoundPlayer\weap_m4carbine_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m4carbine_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m4carbine_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m4carbine_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m4carbine\killIcon\hud_icon_m4carbine\dpadIcon\\ammoCounterIcon\hud_icon_m4carbine\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\tag_acog +WEAPONFILE\displayName\WEAPON_M4_CARBINE\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m4_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.07\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.03\reloadEmptyTime\2.36\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.75\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.85\emptyDropTime\0.45\emptyRaiseTime\0.75\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\50\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\50\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_M4_mp\gunModel2\viewmodel_M4_mp_brock\gunModel3\viewmodel_M4_mp_bshdwl\gunModel4\viewmodel_M4_mp_bwmrpt\gunModel5\viewmodel_M4_mp_cmdtgr\gunModel6\viewmodel_M4_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m4_mp\worldModel2\weapon_m4_mp_brock\worldModel3\weapon_m4_mp_bshdwl\worldModel4\weapon_m4_mp_bwmrpt\worldModel5\weapon_m4_mp_cmdtgr\worldModel6\weapon_m4_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\weapon_m16_clip\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M4_idle\emptyIdleAnim\viewmodel_M4_idle\fireAnim\viewmodel_M4_fire\lastShotAnim\viewmodel_M4_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M4_reload\reloadEmptyAnim\viewmodel_M4_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M4_pullout\dropAnim\viewmodel_M4_putaway\firstRaiseAnim\viewmodel_m4_first_time_pullout\altRaiseAnim\viewmodel_M4_idle\altDropAnim\viewmodel_M4_idle\quickRaiseAnim\viewmodel_M4silencer_quick_pullout\quickDropAnim\viewmodel_M4silencer_quick_putaway\emptyRaiseAnim\viewmodel_M4_pullout\emptyDropAnim\viewmodel_M4_putaway\sprintInAnim\viewmodel_M4_sprint_in\sprintLoopAnim\viewmodel_M4_sprint_loop\sprintOutAnim\viewmodel_M4_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M4_fire_ads\adsLastShotAnim\viewmodel_M4_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M4_iron_ADS_up\adsDownAnim\viewmodel_M4_iron_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4carbine_fire_npc\fireSoundPlayer\weap_m4carbine_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m4carbine_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m4carbine_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m4carbine_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m4carbine\killIcon\hud_icon_m4carbine\dpadIcon\\ammoCounterIcon\hud_icon_m4carbine\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\tag_acog tag_g36_scope tag_reflex_sight\notetrackSoundMap\weap_m4carbine_clipout_plr weap_m4carbine_clipout_plr weap_m4carbine_clipin_plr weap_m4carbine_clipin_plr diff --git a/weapons/mp/m4_silencer_mp b/weapons/mp/m4_silencer_mp index 7756236..de46a7a 100644 --- a/weapons/mp/m4_silencer_mp +++ b/weapons/mp/m4_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_M4_CARBINE\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m4_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.07\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.03\reloadEmptyTime\2.36\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.75\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.85\emptyDropTime\0.45\emptyRaiseTime\0.75\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\50\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\50\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m4_and_silencer_mp\gunModel2\viewmodel_m4_and_silencer_mp_brock\gunModel3\viewmodel_m4_and_silencer_mp_bshdwl\gunModel4\viewmodel_m4_and_silencer_mp_bwmrpt\gunModel5\viewmodel_m4_and_silencer_mp_cmdtgr\gunModel6\viewmodel_m4_and_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m4_silencer_mp\worldModel2\weapon_m4sd_mp_brock\worldModel3\weapon_m4sd_mp_bshdwl\worldModel4\weapon_m4sd_mp_bwmrpt\worldModel5\weapon_m4sd_mp_cmdtgr\worldModel6\weapon_m4sd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\weapon_m16_clip\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M4_idle\emptyIdleAnim\viewmodel_M4_idle\fireAnim\viewmodel_M4_fire\lastShotAnim\viewmodel_M4_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M4_reload\reloadEmptyAnim\viewmodel_M4_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M4_pullout\dropAnim\viewmodel_M4_putaway\firstRaiseAnim\viewmodel_m4_first_time_pullout\altRaiseAnim\viewmodel_M4_idle\altDropAnim\viewmodel_M4_idle\quickRaiseAnim\viewmodel_M4silencer_quick_pullout\quickDropAnim\viewmodel_M4silencer_quick_putaway\emptyRaiseAnim\viewmodel_M4_pullout\emptyDropAnim\viewmodel_M4_putaway\sprintInAnim\viewmodel_M4_sprint_in\sprintLoopAnim\viewmodel_M4_sprint_loop\sprintOutAnim\viewmodel_M4_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M4_fire_ads\adsLastShotAnim\viewmodel_M4_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M4_iron_ADS_up\adsDownAnim\viewmodel_M4_iron_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m4carbine_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m4carbine_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m4carbine_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m4carbine\killIcon\hud_icon_m4carbine\dpadIcon\\ammoCounterIcon\hud_icon_m4carbine\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\\notetrackSoundMap\weap_m4carbine_clipout_plr weap_m4carbine_clipout_plr +WEAPONFILE\displayName\WEAPON_M4_CARBINE\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\5.56 × 45 mm NATO\maxAmmo\180\startAmmo\90\clipName\m4_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\500\minDamageRange\1000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.07\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.03\reloadEmptyTime\2.36\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.75\altDropTime\0\altRaiseTime\0.35\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.85\emptyDropTime\0.45\emptyRaiseTime\0.75\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1.5\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-30\hipViewKickPitchMax\50\hipViewKickYawMin\40\hipViewKickYawMax\-40\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-30\adsViewKickPitchMax\50\adsViewKickYawMin\40\adsViewKickYawMax\-40\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.14\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_m4_and_silencer_mp\gunModel2\viewmodel_m4_and_silencer_mp_brock\gunModel3\viewmodel_m4_and_silencer_mp_bshdwl\gunModel4\viewmodel_m4_and_silencer_mp_bwmrpt\gunModel5\viewmodel_m4_and_silencer_mp_cmdtgr\gunModel6\viewmodel_m4_and_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_m4_silencer_mp\worldModel2\weapon_m4sd_mp_brock\worldModel3\weapon_m4sd_mp_bshdwl\worldModel4\weapon_m4sd_mp_bwmrpt\worldModel5\weapon_m4sd_mp_cmdtgr\worldModel6\weapon_m4sd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\weapon_m16_clip\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_M4_idle\emptyIdleAnim\viewmodel_M4_idle\fireAnim\viewmodel_M4_fire\lastShotAnim\viewmodel_M4_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_M4_reload\reloadEmptyAnim\viewmodel_M4_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_M4_pullout\dropAnim\viewmodel_M4_putaway\firstRaiseAnim\viewmodel_m4_first_time_pullout\altRaiseAnim\viewmodel_M4_idle\altDropAnim\viewmodel_M4_idle\quickRaiseAnim\viewmodel_M4silencer_quick_pullout\quickDropAnim\viewmodel_M4silencer_quick_putaway\emptyRaiseAnim\viewmodel_M4_pullout\emptyDropAnim\viewmodel_M4_putaway\sprintInAnim\viewmodel_M4_sprint_in\sprintLoopAnim\viewmodel_M4_sprint_loop\sprintOutAnim\viewmodel_M4_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_M4_fire_ads\adsLastShotAnim\viewmodel_M4_fire_ads\adsRechamberAnim\\adsUpAnim\viewmodel_M4_iron_ADS_up\adsDownAnim\viewmodel_M4_iron_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_m4silenced_fire_npc\fireSoundPlayer\weap_m4silenced_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_m4carbine_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_m4carbine_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_m4carbine_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_m4carbine\killIcon\hud_icon_m4carbine\dpadIcon\\ammoCounterIcon\hud_icon_m4carbine\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\2\adsDofEnd\8\hideTags\\notetrackSoundMap\weap_m4carbine_clipout_plr weap_m4carbine_clipout_plr weap_m4carbine_clipin_plr weap_m4carbine_clipin_plr weap_m4carbine_chamber_close_plr weap_m4carbine_chamber_close_plr weap_ak47_chamber_plr weap_ak47_chamber_plr diff --git a/weapons/mp/mp44_mp b/weapons/mp/mp44_mp index c69fecd..f0bb5f3 100644 --- a/weapons/mp/mp44_mp +++ b/weapons/mp/mp44_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_MP44\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.92 x 33 mm\maxAmmo\180\startAmmo\90\clipName\mp44_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.75\reloadEmptyTime\3.5\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-40\hipViewKickPitchMax\80\hipViewKickYawMin\70\hipViewKickYawMax\-70\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-40\adsViewKickPitchMax\80\adsViewKickYawMin\70\adsViewKickYawMax\-70\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.05\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_mp44_mp\gunModel2\viewmodel_mp44_mp_brock\gunModel3\viewmodel_mp44_mp_bshdwl\gunModel4\viewmodel_mp44_mp_bwmrpt\gunModel5\viewmodel_mp44_mp_cmdtgr\gunModel6\viewmodel_mp44_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mp44\worldModel2\weapon_mp44_mp_brock\worldModel3\weapon_mp44_mp_bshdwl\worldModel4\weapon_mp44_mp_bwmrpt\worldModel5\weapon_mp44_mp_cmdtgr\worldModel6\weapon_mp44_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_mp44_idle\emptyIdleAnim\\fireAnim\viewmodel_mp44_fire\lastShotAnim\viewmodel_mp44_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_mp44_reload\reloadEmptyAnim\viewmodel_mp44_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_mp44_pullout\dropAnim\viewmodel_mp44_putaway\firstRaiseAnim\viewmodel_mp44_first_time_pullout\altRaiseAnim\viewmodel_mp44_pullout\altDropAnim\viewmodel_mp44_putaway\quickRaiseAnim\viewmodel_mp44_quick_pullout\quickDropAnim\viewmodel_mp44_quick_putaway\emptyRaiseAnim\viewmodel_mp44_pullout\emptyDropAnim\viewmodel_mp44_putaway\sprintInAnim\viewmodel_mp44_sprint_in\sprintLoopAnim\viewmodel_mp44_sprint_loop\sprintOutAnim\viewmodel_mp44_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_mp44_ADS_fire\adsLastShotAnim\viewmodel_mp44_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_mp44_ADS_up\adsDownAnim\viewmodel_mp44_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_mp44_fire_npc\fireSoundPlayer\weap_mp44_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_mp44_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_mp44_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_mp44_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mp44\killIcon\hud_icon_mp44\dpadIcon\\ammoCounterIcon\hud_icon_mp44\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\2:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\20\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_MP44\modeName\\playerAnimType\autorifle\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\medium\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\1000\aimAssistRangeAds\1500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\8\gunMaxYaw\25\lowAmmoWarningThreshold\0.33\ammoName\7.92 x 33 mm\maxAmmo\180\startAmmo\90\clipName\mp44_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\30\meleeDamage\135\maxDamageRange\1500\minDamageRange\2000\playerDamage\100\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.75\reloadEmptyTime\3.5\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.5\reloadStartAddTime\0\rechamberTime\0\rechamberBoltTime\0\dropTime\0.6\raiseTime\0.95\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\1.4\emptyDropTime\0.6\emptyRaiseTime\0.95\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\6\posRotRate\6\duckedMoveF\-1\duckedMoveR\0\duckedMoveU\-1\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-160\proneMoveR\3\proneMoveU\-120\proneRotP\0\proneRotY\300\proneRotR\-300\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.25\adsTransBlendTime\0.1\adsReloadTransTime\0.45\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\50\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\7\hipSpreadDuckedMax\6\hipSpreadProneMax\5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\5\hipGunKickPitchMax\-15\hipGunKickYawMin\5\hipGunKickYawMax\-5\hipGunKickAccel\800\hipGunKickSpeedMax\2000\hipGunKickSpeedDecay\16\hipGunKickStaticDecay\20\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\800\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\32\adsGunKickStaticDecay\40\hipViewKickPitchMin\-40\hipViewKickPitchMax\80\hipViewKickYawMin\70\hipViewKickYawMax\-70\hipViewKickCenterSpeed\1500\adsViewKickPitchMin\-40\adsViewKickPitchMax\80\adsViewKickYawMin\70\adsViewKickYawMax\-70\adsViewKickCenterSpeed\1500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.05\adsSwayVertScale\0.25\fightDist\720\maxDist\590\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\150\adsOverlayHeight\150\gunModel\viewmodel_mp44_mp\gunModel2\viewmodel_mp44_mp_brock\gunModel3\viewmodel_mp44_mp_bshdwl\gunModel4\viewmodel_mp44_mp_bwmrpt\gunModel5\viewmodel_mp44_mp_cmdtgr\gunModel6\viewmodel_mp44_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mp44\worldModel2\weapon_mp44_mp_brock\worldModel3\weapon_mp44_mp_bshdwl\worldModel4\weapon_mp44_mp_bwmrpt\worldModel5\weapon_mp44_mp_cmdtgr\worldModel6\weapon_mp44_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_mp44_idle\emptyIdleAnim\\fireAnim\viewmodel_mp44_fire\lastShotAnim\viewmodel_mp44_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_mp44_reload\reloadEmptyAnim\viewmodel_mp44_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_mp44_pullout\dropAnim\viewmodel_mp44_putaway\firstRaiseAnim\viewmodel_mp44_first_time_pullout\altRaiseAnim\viewmodel_mp44_pullout\altDropAnim\viewmodel_mp44_putaway\quickRaiseAnim\viewmodel_mp44_quick_pullout\quickDropAnim\viewmodel_mp44_quick_putaway\emptyRaiseAnim\viewmodel_mp44_pullout\emptyDropAnim\viewmodel_mp44_putaway\sprintInAnim\viewmodel_mp44_sprint_in\sprintLoopAnim\viewmodel_mp44_sprint_loop\sprintOutAnim\viewmodel_mp44_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_mp44_ADS_fire\adsLastShotAnim\viewmodel_mp44_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_mp44_ADS_up\adsDownAnim\viewmodel_mp44_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_mp44_fire_npc\fireSoundPlayer\weap_mp44_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_mp44_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_mp44_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_mp44_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mp44\killIcon\hud_icon_mp44\dpadIcon\\ammoCounterIcon\hud_icon_mp44\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\2:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\assault_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\3\adsDofEnd\20\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_mp44_lift_plr weap_mp44_lift_plr weap_mp44_clipout_plr weap_mp44_clipout_plr weap_mp44_clipin_plr weap_mp44_clipin_plr diff --git a/weapons/mp/mp5_mp b/weapons/mp/mp5_mp index e06bf73..6a77fe8 100644 --- a/weapons/mp/mp5_mp +++ b/weapons/mp/mp5_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_MP5\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\180\startAmmo\90\clipName\mp5_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\1500\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1.4\locTorsoUpper\1.4\locTorsoLower\1.2\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.075\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.33\reloadEmptyTime\3.3\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.77\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.666\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.666\emptyDropTime\0.25\emptyRaiseTime\0.666\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-30\hipViewKickPitchMax\70\hipViewKickYawMin\70\hipViewKickYawMax\-80\hipViewKickCenterSpeed\1700\adsViewKickPitchMin\-30\adsViewKickPitchMax\70\adsViewKickYawMin\70\adsViewKickYawMax\-80\adsViewKickCenterSpeed\1700\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.15\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_mp5_mp\gunModel2\viewmodel_mp5_mp_brock\gunModel3\viewmodel_mp5_mp_bshdwl\gunModel4\viewmodel_mp5_mp_bwmrpt\gunModel5\viewmodel_mp5_mp_cmdtgr\gunModel6\viewmodel_mp5_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mp5\worldModel2\weapon_mp5_mp_brock\worldModel3\weapon_mp5_mp_bshdwl\worldModel4\weapon_mp5_mp_bwmrpt\worldModel5\weapon_mp5_mp_cmdtgr\worldModel6\weapon_mp5_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_mp5_idle\emptyIdleAnim\\fireAnim\viewmodel_mp5_fire\lastShotAnim\viewmodel_mp5_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_mp5_reload\reloadEmptyAnim\viewmodel_mp5_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_mp5_pullout\dropAnim\viewmodel_mp5_putaway\firstRaiseAnim\viewmodel_mp5_pullout\altRaiseAnim\viewmodel_mp5_pullout\altDropAnim\viewmodel_mp5_putaway\quickRaiseAnim\viewmodel_mp5_pullout_quick\quickDropAnim\viewmodel_mp5_putaway_quick\emptyRaiseAnim\viewmodel_mp5_pullout\emptyDropAnim\viewmodel_mp5_putaway\sprintInAnim\viewmodel_mp5_sprint_in\sprintLoopAnim\viewmodel_mp5_sprint_loop\sprintOutAnim\viewmodel_mp5_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_mp5_ads_fire\adsLastShotAnim\viewmodel_mp5_fire\adsRechamberAnim\\adsUpAnim\viewmodel_mp5_ads_up\adsDownAnim\viewmodel_mp5_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_mp5_fire_npc\fireSoundPlayer\weap_mp5_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_mp5_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_mp5_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_mp5_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mp5\killIcon\hud_icon_mp5\dpadIcon\\ammoCounterIcon\hud_icon_mp5\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\smg_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog +WEAPONFILE\displayName\WEAPON_MP5\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\180\startAmmo\90\clipName\mp5_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\50\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\1500\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1.4\locTorsoUpper\1.4\locTorsoLower\1.2\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.075\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.33\reloadEmptyTime\3.3\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.77\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.666\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.666\emptyDropTime\0.25\emptyRaiseTime\0.666\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-30\hipViewKickPitchMax\70\hipViewKickYawMin\70\hipViewKickYawMax\-80\hipViewKickCenterSpeed\1700\adsViewKickPitchMin\-30\adsViewKickPitchMax\70\adsViewKickYawMin\70\adsViewKickYawMax\-80\adsViewKickCenterSpeed\1700\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.15\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_mp5_mp\gunModel2\viewmodel_mp5_mp_brock\gunModel3\viewmodel_mp5_mp_bshdwl\gunModel4\viewmodel_mp5_mp_bwmrpt\gunModel5\viewmodel_mp5_mp_cmdtgr\gunModel6\viewmodel_mp5_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mp5\worldModel2\weapon_mp5_mp_brock\worldModel3\weapon_mp5_mp_bshdwl\worldModel4\weapon_mp5_mp_bwmrpt\worldModel5\weapon_mp5_mp_cmdtgr\worldModel6\weapon_mp5_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_mp5_idle\emptyIdleAnim\\fireAnim\viewmodel_mp5_fire\lastShotAnim\viewmodel_mp5_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_mp5_reload\reloadEmptyAnim\viewmodel_mp5_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_mp5_pullout\dropAnim\viewmodel_mp5_putaway\firstRaiseAnim\viewmodel_mp5_pullout\altRaiseAnim\viewmodel_mp5_pullout\altDropAnim\viewmodel_mp5_putaway\quickRaiseAnim\viewmodel_mp5_pullout_quick\quickDropAnim\viewmodel_mp5_putaway_quick\emptyRaiseAnim\viewmodel_mp5_pullout\emptyDropAnim\viewmodel_mp5_putaway\sprintInAnim\viewmodel_mp5_sprint_in\sprintLoopAnim\viewmodel_mp5_sprint_loop\sprintOutAnim\viewmodel_mp5_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_mp5_ads_fire\adsLastShotAnim\viewmodel_mp5_fire\adsRechamberAnim\\adsUpAnim\viewmodel_mp5_ads_up\adsDownAnim\viewmodel_mp5_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_mp5_fire_npc\fireSoundPlayer\weap_mp5_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_mp5_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_mp5_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_mp5_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mp5\killIcon\hud_icon_mp5\dpadIcon\\ammoCounterIcon\hud_icon_mp5\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\smg_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog tag_ak47_mount tag_reflex_sight\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_mp5_clipout_plr weap_mp5_clipout_plr diff --git a/weapons/mp/mp5_silencer_mp b/weapons/mp/mp5_silencer_mp index dc579e6..5aa15de 100644 --- a/weapons/mp/mp5_silencer_mp +++ b/weapons/mp/mp5_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_MP5\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\180\startAmmo\90\clipName\mp5_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\1500\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.075\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.33\reloadEmptyTime\3.3\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.77\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.666\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.666\emptyDropTime\0.25\emptyRaiseTime\0.666\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-30\hipViewKickPitchMax\70\hipViewKickYawMin\70\hipViewKickYawMax\-80\hipViewKickCenterSpeed\1700\adsViewKickPitchMin\-30\adsViewKickPitchMax\70\adsViewKickYawMin\70\adsViewKickYawMax\-80\adsViewKickCenterSpeed\1700\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.15\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_mp5_silencer_mp\gunModel2\viewmodel_mp5_silencer_mp_brock\gunModel3\viewmodel_mp5_silencer_mp_bshdwl\gunModel4\viewmodel_mp5_silencer_mp_bwmrpt\gunModel5\viewmodel_mp5_silencer_mp_cmdtgr\gunModel6\viewmodel_mp5_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mp5sd\worldModel2\weapon_mp5sd_mp_brock\worldModel3\weapon_mp5sd_mp_bshdwl\worldModel4\weapon_mp5sd_mp_bwmrpt\worldModel5\weapon_mp5sd_mp_cmdtgr\worldModel6\weapon_mp5sd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_mp5_sd_idle\emptyIdleAnim\\fireAnim\viewmodel_mp5_sd_fire\lastShotAnim\viewmodel_mp5_sd_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_mp5_sd_reload\reloadEmptyAnim\viewmodel_mp5_sd_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_mp5_sd_pullout\dropAnim\viewmodel_mp5_sd_putaway\firstRaiseAnim\viewmodel_mp5_sd_pullout\altRaiseAnim\viewmodel_mp5_sd_pullout\altDropAnim\viewmodel_mp5_sd_putaway\quickRaiseAnim\viewmodel_mp5_sd_pullout\quickDropAnim\viewmodel_mp5_sd_putaway\emptyRaiseAnim\viewmodel_mp5_sd_pullout\emptyDropAnim\viewmodel_mp5_sd_putaway\sprintInAnim\viewmodel_mp5_sd_sprint_in\sprintLoopAnim\viewmodel_mp5_sd_sprint_loop\sprintOutAnim\viewmodel_mp5_sd_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_mp5_sd_ads_fire\adsLastShotAnim\viewmodel_mp5_sd_fire\adsRechamberAnim\\adsUpAnim\viewmodel_mp5_sd_ads_up\adsDownAnim\viewmodel_mp5_sd_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_mp5sd_fire_npc\fireSoundPlayer\weap_mp5sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_mp5_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_mp5_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_mp5_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mp5\killIcon\hud_icon_mp5\dpadIcon\\ammoCounterIcon\hud_icon_mp5\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab +WEAPONFILE\displayName\WEAPON_MP5\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\180\startAmmo\90\clipName\mp5_silencer_mp\clipSize\30\shotCount\1\dropAmmoMin\1\dropAmmoMax\30\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\5\meleeDamage\135\maxDamageRange\1\minDamageRange\1500\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.075\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.33\reloadEmptyTime\3.3\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.77\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.25\raiseTime\0.666\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.666\emptyDropTime\0.25\emptyRaiseTime\0.666\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-30\hipViewKickPitchMax\70\hipViewKickYawMin\70\hipViewKickYawMax\-80\hipViewKickCenterSpeed\1700\adsViewKickPitchMin\-30\adsViewKickPitchMax\70\adsViewKickYawMin\70\adsViewKickYawMax\-80\adsViewKickCenterSpeed\1700\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.15\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_mp5_silencer_mp\gunModel2\viewmodel_mp5_silencer_mp_brock\gunModel3\viewmodel_mp5_silencer_mp_bshdwl\gunModel4\viewmodel_mp5_silencer_mp_bwmrpt\gunModel5\viewmodel_mp5_silencer_mp_cmdtgr\gunModel6\viewmodel_mp5_silencer_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mp5sd\worldModel2\weapon_mp5sd_mp_brock\worldModel3\weapon_mp5sd_mp_bshdwl\worldModel4\weapon_mp5sd_mp_bwmrpt\worldModel5\weapon_mp5sd_mp_cmdtgr\worldModel6\weapon_mp5sd_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_mp5_sd_idle\emptyIdleAnim\\fireAnim\viewmodel_mp5_sd_fire\lastShotAnim\viewmodel_mp5_sd_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_mp5_sd_reload\reloadEmptyAnim\viewmodel_mp5_sd_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_mp5_sd_pullout\dropAnim\viewmodel_mp5_sd_putaway\firstRaiseAnim\viewmodel_mp5_sd_pullout\altRaiseAnim\viewmodel_mp5_sd_pullout\altDropAnim\viewmodel_mp5_sd_putaway\quickRaiseAnim\viewmodel_mp5_sd_pullout\quickDropAnim\viewmodel_mp5_sd_putaway\emptyRaiseAnim\viewmodel_mp5_sd_pullout\emptyDropAnim\viewmodel_mp5_sd_putaway\sprintInAnim\viewmodel_mp5_sd_sprint_in\sprintLoopAnim\viewmodel_mp5_sd_sprint_loop\sprintOutAnim\viewmodel_mp5_sd_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_mp5_sd_ads_fire\adsLastShotAnim\viewmodel_mp5_sd_fire\adsRechamberAnim\\adsUpAnim\viewmodel_mp5_sd_ads_up\adsDownAnim\viewmodel_mp5_sd_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_mp5sd_fire_npc\fireSoundPlayer\weap_mp5sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_smg_npc\emptyFireSoundPlayer\weap_dryfire_smg_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_mp5_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_mp5_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_mp5_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mp5\killIcon\hud_icon_mp5\dpadIcon\\ammoCounterIcon\hud_icon_mp5\hudIconRatio\2:1\killIconRatio\2:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_mp5sd_clipout_plr weap_mp5sd_clipout_plr weap_mp5sd_clipin_plr weap_mp5sd_clipin_plr weap_mp5sd_chamber_plr weap_mp5sd_chamber_plr \ No newline at end of file diff --git a/weapons/mp/remington700_mp b/weapons/mp/remington700_mp index 5e06c46..cc41ba7 100644 --- a/weapons/mp/remington700_mp +++ b/weapons/mp/remington700_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_REMINGTON700\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\1\aimDownSight\1\rechamberWhileAds\0\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\2500\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\32\startAmmo\16\clipName\remington700_mp\clipSize\4\shotCount\1\dropAmmoMin\1\dropAmmoMax\4\reloadAmmoAdd\1\reloadStartAdd\1\damage\70\minDamage\70\meleeDamage\135\maxDamageRange\4000\minDamageRange\5000\playerDamage\30\locNone\1\locHelmet\4.5\locHead\4.5\locNeck\4.5\locTorsoUpper\4.5\locTorsoLower\4.5\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.05\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.43333\reloadEmptyTime\0.15\reloadStartTime\1.13\reloadEndTime\0.7666\reloadAddTime\0.26\reloadStartAddTime\0.96\rechamberTime\1\rechamberBoltTime\0.65\dropTime\0.66\raiseTime\0.9\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.9\emptyDropTime\0.66\emptyRaiseTime\0.9\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.4\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\15\adsZoomInFrac\0.05\adsZoomOutFrac\0.05\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3.8\hipSpreadDuckedMin\3.4\hipSpreadProneMin\3\hipSpreadMax\8\hipSpreadDuckedMax\7\hipSpreadProneMax\6.5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\80\hipViewKickPitchMax\100\hipViewKickYawMin\-50\hipViewKickYawMax\-55\hipViewKickCenterSpeed\500\adsViewKickPitchMin\30\adsViewKickPitchMax\85\adsViewKickYawMin\70\adsViewKickYawMax\-75\adsViewKickCenterSpeed\500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0\adsSwayYawScale\0\adsSwayHorizScale\0\adsSwayVertScale\0\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\scope_overlay_m40a3\adsOverlayShaderLowRes\scope_overlay_m40a3_low_res\adsOverlayReticle\crosshair\adsOverlayWidth\480\adsOverlayHeight\480\gunModel\viewmodel_remington700_mp\gunModel2\viewmodel_remington700_mp_brock\gunModel3\viewmodel_remington700_mp_bshdwl\gunModel4\viewmodel_remington700_mp_bwmrpt\gunModel5\viewmodel_remington700_mp_cmdtgr\gunModel6\viewmodel_remington700_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_remington700\worldModel2\weapon_remington700_mp_brock\worldModel3\weapon_remington700_mp_bshdwl\worldModel4\weapon_remington700_mp_bwmrpt\worldModel5\weapon_remington700_mp_cmdtgr\worldModel6\weapon_remington700_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_remington_idle\emptyIdleAnim\\fireAnim\viewmodel_remington_fire\lastShotAnim\viewmodel_remington_fire\rechamberAnim\viewmodel_remington_rechamber\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_remington_reload_loop\reloadEmptyAnim\viewmodel_remington_reload_loop\reloadStartAnim\viewmodel_remington_reload_intro\reloadEndAnim\viewmodel_remington_reload_out\raiseAnim\viewmodel_remington_pullout\dropAnim\viewmodel_remington_putaway\firstRaiseAnim\viewmodel_remington_pullout\altRaiseAnim\viewmodel_remington_pullout\altDropAnim\viewmodel_remington_putaway\quickRaiseAnim\viewmodel_remington_quick_pullout\quickDropAnim\viewmodel_remington_quick_putaway\emptyRaiseAnim\viewmodel_remington_pullout\emptyDropAnim\viewmodel_remington_putaway\sprintInAnim\viewmodel_remington_sprint_in\sprintLoopAnim\viewmodel_remington_sprint_loop\sprintOutAnim\viewmodel_remington_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_remington_fire\adsLastShotAnim\viewmodel_remington_fire\adsRechamberAnim\viewmodel_remington_rechamber\adsUpAnim\viewmodel_remington_ADS_up\adsDownAnim\viewmodel_remington_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_rem700sniper_fire_npc\fireSoundPlayer\weap_rem700sniper_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_rem700sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\weap_rem700_rechamber_npc\rechamberSoundPlayer\weap_rem700_rechamber_plr\reloadSound\weap_rem700_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_rem700_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_remington700\killIcon\hud_icon_remington700\dpadIcon\\ammoCounterIcon\hud_icon_sniperrifle\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\ShortMagazine\flipKillIcon\1\fireRumble\\meleeImpactRumble\\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog\notetrackSoundMap\weap_rem700_start_plr weap_rem700_start_plr +WEAPONFILE\displayName\WEAPON_REMINGTON700\modeName\\playerAnimType\sniper\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\rifle\penetrateType\large\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\1\armorPiercing\0\boltAction\1\aimDownSight\1\rechamberWhileAds\0\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\2500\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\gunMaxPitch\30\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\7.62 × 51 mm NATO\maxAmmo\32\startAmmo\16\clipName\remington700_mp\clipSize\4\shotCount\1\dropAmmoMin\1\dropAmmoMax\4\reloadAmmoAdd\1\reloadStartAdd\1\damage\70\minDamage\70\meleeDamage\135\maxDamageRange\4000\minDamageRange\5000\playerDamage\30\locNone\1\locHelmet\4.5\locHead\4.5\locNeck\4.5\locTorsoUpper\4.5\locTorsoLower\4.5\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.05\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.43333\reloadEmptyTime\0.15\reloadStartTime\1.13\reloadEndTime\0.7666\reloadAddTime\0.26\reloadStartAddTime\0.96\rechamberTime\1\rechamberBoltTime\0.65\dropTime\0.66\raiseTime\0.9\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.9\emptyDropTime\0.66\emptyRaiseTime\0.9\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-2.2\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.5\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-55\proneMoveR\3\proneMoveU\-145\proneRotP\0\proneRotY\220\proneRotR\-200\proneOfsF\-2\proneOfsR\1.5\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0\idleCrouchFactor\1\idleProneFactor\1\adsSpread\0\adsAimPitch\0\adsTransInTime\0.25\adsTransOutTime\0.4\adsTransBlendTime\0.1\adsReloadTransTime\0.6\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\15\adsZoomInFrac\0.05\adsZoomOutFrac\0.05\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3.8\hipSpreadDuckedMin\3.4\hipSpreadProneMin\3\hipSpreadMax\8\hipSpreadDuckedMax\7\hipSpreadProneMax\6.5\hipSpreadFireAdd\0.6\hipSpreadTurnAdd\0\hipSpreadMoveAdd\5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1.05\hipSpreadProneDecay\1.1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\80\hipGunKickPitchMax\85\hipGunKickYawMin\-35\hipGunKickYawMax\35\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\600\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\100\adsGunKickStaticDecay\100\hipViewKickPitchMin\80\hipViewKickPitchMax\100\hipViewKickYawMin\-50\hipViewKickYawMax\-55\hipViewKickCenterSpeed\500\adsViewKickPitchMin\30\adsViewKickPitchMax\85\adsViewKickYawMin\70\adsViewKickYawMax\-75\adsViewKickCenterSpeed\500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0\adsSwayYawScale\0\adsSwayHorizScale\0\adsSwayVertScale\0\fightDist\720\maxDist\730\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\scope_overlay_m40a3\adsOverlayShaderLowRes\scope_overlay_m40a3_low_res\adsOverlayReticle\crosshair\adsOverlayWidth\480\adsOverlayHeight\480\gunModel\viewmodel_remington700_mp\gunModel2\viewmodel_remington700_mp_brock\gunModel3\viewmodel_remington700_mp_bshdwl\gunModel4\viewmodel_remington700_mp_bwmrpt\gunModel5\viewmodel_remington700_mp_cmdtgr\gunModel6\viewmodel_remington700_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_remington700\worldModel2\weapon_remington700_mp_brock\worldModel3\weapon_remington700_mp_bshdwl\worldModel4\weapon_remington700_mp_bwmrpt\worldModel5\weapon_remington700_mp_cmdtgr\worldModel6\weapon_remington700_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_remington_idle\emptyIdleAnim\\fireAnim\viewmodel_remington_fire\lastShotAnim\viewmodel_remington_fire\rechamberAnim\viewmodel_remington_rechamber\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_remington_reload_loop\reloadEmptyAnim\viewmodel_remington_reload_loop\reloadStartAnim\viewmodel_remington_reload_intro\reloadEndAnim\viewmodel_remington_reload_out\raiseAnim\viewmodel_remington_pullout\dropAnim\viewmodel_remington_putaway\firstRaiseAnim\viewmodel_remington_pullout\altRaiseAnim\viewmodel_remington_pullout\altDropAnim\viewmodel_remington_putaway\quickRaiseAnim\viewmodel_remington_quick_pullout\quickDropAnim\viewmodel_remington_quick_putaway\emptyRaiseAnim\viewmodel_remington_pullout\emptyDropAnim\viewmodel_remington_putaway\sprintInAnim\viewmodel_remington_sprint_in\sprintLoopAnim\viewmodel_remington_sprint_loop\sprintOutAnim\viewmodel_remington_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_remington_fire\adsLastShotAnim\viewmodel_remington_fire\adsRechamberAnim\viewmodel_remington_rechamber\adsUpAnim\viewmodel_remington_ADS_up\adsDownAnim\viewmodel_remington_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/rifle_view\worldShellEjectEffect\shellejects/rifle\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_rem700sniper_fire_npc\fireSoundPlayer\weap_rem700sniper_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_rem700sniper_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\weap_rem700_rechamber_npc\rechamberSoundPlayer\weap_rem700_rechamber_plr\reloadSound\weap_rem700_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_rem700_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_remington700\killIcon\hud_icon_remington700\dpadIcon\\ammoCounterIcon\hud_icon_sniperrifle\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\ShortMagazine\flipKillIcon\1\fireRumble\\meleeImpactRumble\\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog\notetrackSoundMap\weap_rem700_start_plr weap_rem700_start_plr weap_rem700_loop_plr weap_rem700_loop_plr weap_rem700_end_plr weap_rem700_end_plr weap_rem700_rechamber_plr weap_rem700_rechamber_plr diff --git a/weapons/mp/usp_mp b/weapons/mp/usp_mp index 552083d..240bbf0 100644 --- a/weapons/mp/usp_mp +++ b/weapons/mp/usp_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_USP\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\72\startAmmo\36\clipName\usp_mp\clipSize\12\shotCount\1\dropAmmoMin\1\dropAmmoMax\12\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\450\minDamageRange\1000\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.625\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\8\hipSpreadDuckedMax\8\hipSpreadProneMax\8\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\0\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1000\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1000\swayMaxAngle\5\swayLerpSpeed\4\swayPitchScale\0.1\swayYawScale\0.1\swayHorizScale\0.3\swayVertScale\0.5\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.1\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_usp_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_USP\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_USP_idle\emptyIdleAnim\viewmodel_USP_idle\fireAnim\viewmodel_USP_fire\lastShotAnim\viewmodel_USP_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_USP_reload\reloadEmptyAnim\viewmodel_USP_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_USP_pullout2\dropAnim\viewmodel_USP_putaway\firstRaiseAnim\viewmodel_USP_pullout2\altRaiseAnim\viewmodel_USP_pullout2\altDropAnim\viewmodel_USP_putaway\quickRaiseAnim\viewmodel_USP_pullout2\quickDropAnim\viewmodel_USP_putaway\emptyRaiseAnim\viewmodel_USP_pullout2\emptyDropAnim\viewmodel_USP_putaway\sprintInAnim\viewmodel_USP_sprint_in\sprintLoopAnim\viewmodel_USP_sprint_loop\sprintOutAnim\viewmodel_USP_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_USP_fire_ads\adsLastShotAnim\viewmodel_USP_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_USP_ADS_up\adsDownAnim\viewmodel_USP_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45_fire_npc\fireSoundPlayer\weap_usp45_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_usp45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_usp45_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_usp45_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_usp_45\killIcon\hud_icon_usp_45\dpadIcon\\ammoCounterIcon\hud_icon_usp_45\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_usp45_clipout_plr weap_usp45_clipout_plr +WEAPONFILE\displayName\WEAPON_USP\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\72\startAmmo\36\clipName\usp_mp\clipSize\12\shotCount\1\dropAmmoMin\1\dropAmmoMax\12\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\450\minDamageRange\1000\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.625\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\8\hipSpreadDuckedMax\8\hipSpreadProneMax\8\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\0\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1000\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1000\swayMaxAngle\5\swayLerpSpeed\4\swayPitchScale\0.1\swayYawScale\0.1\swayHorizScale\0.3\swayVertScale\0.5\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.1\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_usp_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_USP\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_USP_idle\emptyIdleAnim\viewmodel_USP_idle\fireAnim\viewmodel_USP_fire\lastShotAnim\viewmodel_USP_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_USP_reload\reloadEmptyAnim\viewmodel_USP_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_USP_pullout2\dropAnim\viewmodel_USP_putaway\firstRaiseAnim\viewmodel_USP_pullout2\altRaiseAnim\viewmodel_USP_pullout2\altDropAnim\viewmodel_USP_putaway\quickRaiseAnim\viewmodel_USP_pullout2\quickDropAnim\viewmodel_USP_putaway\emptyRaiseAnim\viewmodel_USP_pullout2\emptyDropAnim\viewmodel_USP_putaway\sprintInAnim\viewmodel_USP_sprint_in\sprintLoopAnim\viewmodel_USP_sprint_loop\sprintOutAnim\viewmodel_USP_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_USP_fire_ads\adsLastShotAnim\viewmodel_USP_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_USP_ADS_up\adsDownAnim\viewmodel_USP_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45_fire_npc\fireSoundPlayer\weap_usp45_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_usp45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_usp45_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_usp45_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_usp_45\killIcon\hud_icon_usp_45\dpadIcon\\ammoCounterIcon\hud_icon_usp_45\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\pistol_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_usp45_clipout_plr weap_usp45_clipout_plr weap_usp45_clipin_plr weap_usp45_clipin_plr weap_m9_chamber_plr weap_m9_chamber_plr weap_usp45_lift_plr weap_usp45_lift_plr diff --git a/weapons/mp/usp_silencer_mp b/weapons/mp/usp_silencer_mp index b61f04b..6385c87 100644 --- a/weapons/mp/usp_silencer_mp +++ b/weapons/mp/usp_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_USP\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\72\startAmmo\36\clipName\usp_silencer_mp\clipSize\12\shotCount\1\dropAmmoMin\1\dropAmmoMax\12\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\250\minDamageRange\650\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.625\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\8\hipSpreadDuckedMax\8\hipSpreadProneMax\8\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\0\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1000\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1000\swayMaxAngle\5\swayLerpSpeed\4\swayPitchScale\0.1\swayYawScale\0.1\swayHorizScale\0.3\swayVertScale\0.5\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.1\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_usp_silencer_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_usp_silencer\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_USP_idle\emptyIdleAnim\viewmodel_USP_idle\fireAnim\viewmodel_USP_fire\lastShotAnim\viewmodel_USP_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_USP_reload\reloadEmptyAnim\viewmodel_USP_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_USP_pullout2\dropAnim\viewmodel_USP_putaway\firstRaiseAnim\viewmodel_USP_pullout2\altRaiseAnim\viewmodel_USP_pullout2\altDropAnim\viewmodel_USP_putaway\quickRaiseAnim\viewmodel_USP_pullout2\quickDropAnim\viewmodel_USP_putaway\emptyRaiseAnim\viewmodel_USP_pullout2\emptyDropAnim\viewmodel_USP_putaway\sprintInAnim\viewmodel_USP_sprint_in\sprintLoopAnim\viewmodel_USP_sprint_loop\sprintOutAnim\viewmodel_USP_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_USP_fire_ads\adsLastShotAnim\viewmodel_USP_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_USP_ADS_up\adsDownAnim\viewmodel_USP_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45sd_fire_npc\fireSoundPlayer\weap_usp45sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_usp45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_usp45_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_usp45_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_usp_45\killIcon\hud_icon_usp_45\dpadIcon\\ammoCounterIcon\hud_icon_usp_45\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_usp45_clipout_plr weap_usp45_clipout_plr +WEAPONFILE\displayName\WEAPON_USP\modeName\\playerAnimType\pistol\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\pistol\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Single Shot\twoHanded\0\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\600\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\2\gunMaxYaw\8\lowAmmoWarningThreshold\0.33\ammoName\.45 ACP\maxAmmo\72\startAmmo\36\clipName\usp_silencer_mp\clipSize\12\shotCount\1\dropAmmoMin\1\dropAmmoMax\12\reloadAmmoAdd\0\reloadStartAdd\0\damage\40\minDamage\20\meleeDamage\135\maxDamageRange\250\minDamageRange\650\playerDamage\150\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.1\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\1.625\reloadEmptyTime\1.917\reloadStartTime\0\reloadEndTime\0\reloadAddTime\1.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.45\raiseTime\0.55\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.25\emptyDropTime\0.45\emptyRaiseTime\0.25\sprintInTime\0.3\sprintLoopTime\0.6\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\1\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\0\standRotMinSpeed\0\posMoveRate\5\posRotRate\6\duckedMoveF\0\duckedMoveR\1\duckedMoveU\-2\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.8\duckedOfsR\1.2\duckedOfsU\-1\duckedMoveMinSpeed\0\duckedRotMinSpeed\0\proneMoveF\-20\proneMoveR\-25\proneMoveU\-95\proneRotP\0\proneRotY\270\proneRotR\-300\proneOfsF\2\proneOfsR\2\proneOfsU\-1.6\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\1\idleCrouchFactor\0.8\idleProneFactor\0.6\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.15\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\65\adsZoomInFrac\0.42\adsZoomOutFrac\0.08\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\3\hipSpreadDuckedMin\2.5\hipSpreadProneMin\2\hipSpreadMax\8\hipSpreadDuckedMax\8\hipSpreadProneMax\8\hipSpreadFireAdd\1\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4.5\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\0\hipGunKickPitchMax\0\hipGunKickYawMin\0\hipGunKickYawMax\0\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\0\adsGunKickPitchMax\0\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\0\adsGunKickSpeedMax\0\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\50\hipViewKickPitchMin\25\hipViewKickPitchMax\45\hipViewKickYawMin\35\hipViewKickYawMax\-35\hipViewKickCenterSpeed\1000\adsViewKickPitchMin\25\adsViewKickPitchMax\45\adsViewKickYawMin\35\adsViewKickYawMax\-35\adsViewKickCenterSpeed\1000\swayMaxAngle\5\swayLerpSpeed\4\swayPitchScale\0.1\swayYawScale\0.1\swayHorizScale\0.3\swayVertScale\0.5\swayShellShockScale\5\adsSwayMaxAngle\6\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.1\adsSwayVertScale\0.25\fightDist\720\maxDist\250\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\4\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_usp_silencer_mp\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_usp_silencer\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_USP_idle\emptyIdleAnim\viewmodel_USP_idle\fireAnim\viewmodel_USP_fire\lastShotAnim\viewmodel_USP_lastfire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_USP_reload\reloadEmptyAnim\viewmodel_USP_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_USP_pullout2\dropAnim\viewmodel_USP_putaway\firstRaiseAnim\viewmodel_USP_pullout2\altRaiseAnim\viewmodel_USP_pullout2\altDropAnim\viewmodel_USP_putaway\quickRaiseAnim\viewmodel_USP_pullout2\quickDropAnim\viewmodel_USP_putaway\emptyRaiseAnim\viewmodel_USP_pullout2\emptyDropAnim\viewmodel_USP_putaway\sprintInAnim\viewmodel_USP_sprint_in\sprintLoopAnim\viewmodel_USP_sprint_loop\sprintOutAnim\viewmodel_USP_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_USP_fire_ads\adsLastShotAnim\viewmodel_USP_lastfire\adsRechamberAnim\\adsUpAnim\viewmodel_USP_ADS_up\adsDownAnim\viewmodel_USP_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_usp45sd_fire_npc\fireSoundPlayer\weap_usp45sd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_usp45_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_usp45_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_usp45_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_usp_45\killIcon\hud_icon_usp_45\dpadIcon\\ammoCounterIcon\hud_icon_usp_45\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\8\adsDofEnd\12\hideTags\\notetrackSoundMap\weap_usp45_clipout_plr weap_usp45_clipout_plr weap_usp45_clipin_plr weap_usp45_clipin_plr weap_m9_chamber_plr weap_m9_chamber_plr weap_usp45_lift_plr weap_usp45_lift_plr diff --git a/weapons/mp/uzi_mp b/weapons/mp/uzi_mp index 83973a3..bbd7053 100644 --- a/weapons/mp/uzi_mp +++ b/weapons/mp/uzi_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_UZI\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\192\startAmmo\96\clipName\uzi_mp\clipSize\32\shotCount\1\dropAmmoMin\1\dropAmmoMax\32\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\750\minDamageRange\1000\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.063\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.4\reloadEmptyTime\3.5\reloadStartTime\0\reloadEndTime\0\reloadAddTime\2.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.42\raiseTime\0.8\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.55\firstRaiseTime\0.8\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-50\hipViewKickPitchMax\80\hipViewKickYawMin\75\hipViewKickYawMax\-75\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-50\adsViewKickPitchMax\80\adsViewKickYawMin\75\adsViewKickYawMax\-75\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.3\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_miniUZI_mp\gunModel2\viewmodel_miniUZI_mp_brock\gunModel3\viewmodel_miniUZI_mp_bshdwl\gunModel4\viewmodel_miniUZI_mp_bwmrpt\gunModel5\viewmodel_miniUZI_mp_cmdtgr\gunModel6\viewmodel_miniUZI_mp_stagger\gunModel7\viewmodel_miniUZI_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mini_uzi\worldModel2\weapon_mini_uzi_mp_brock\worldModel3\weapon_mini_uzi_mp_bshdwl\worldModel4\weapon_mini_uzi_mp_bwmrpt\worldModel5\weapon_mini_uzi_mp_cmdtgr\worldModel6\weapon_mini_uzi_mp_stagger\worldModel7\weapon_mini_uzi_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_miniUZI_idle\emptyIdleAnim\viewmodel_miniUZI_idle\fireAnim\viewmodel_miniUZI_fire\lastShotAnim\viewmodel_miniUZI_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_miniUZI_reload\reloadEmptyAnim\viewmodel_miniUZI_attachment_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_miniUZI_pullout\dropAnim\viewmodel_miniUZI_putaway\firstRaiseAnim\viewmodel_miniUZI_pullout\altRaiseAnim\viewmodel_miniUZI_pullout\altDropAnim\viewmodel_miniUZI_putaway\quickRaiseAnim\viewmodel_miniUZI_pullout\quickDropAnim\viewmodel_miniUZI_putaway\emptyRaiseAnim\viewmodel_miniUZI_pullout\emptyDropAnim\viewmodel_miniUZI_putaway\sprintInAnim\viewmodel_miniUZI_sprint_in\sprintLoopAnim\viewmodel_miniUZI_sprint_loop\sprintOutAnim\viewmodel_miniUZI_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_miniUZI_ADS_fire\adsLastShotAnim\viewmodel_miniUZI_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_miniUZI_ADS_up\adsDownAnim\viewmodel_miniUZI_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_miniuzi_fire_npc\fireSoundPlayer\weap_miniuzi_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_miniuzi_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_miniuzi_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_miniuzi_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mini_uzi\killIcon\hud_icon_mini_uzi\dpadIcon\\ammoCounterIcon\hud_icon_mini_uzi\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\smg_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog +WEAPONFILE\displayName\WEAPON_UZI\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\192\startAmmo\96\clipName\uzi_mp\clipSize\32\shotCount\1\dropAmmoMin\1\dropAmmoMax\32\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\750\minDamageRange\1000\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.063\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.4\reloadEmptyTime\3.5\reloadStartTime\0\reloadEndTime\0\reloadAddTime\2.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.42\raiseTime\0.8\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.55\firstRaiseTime\0.8\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-50\hipViewKickPitchMax\80\hipViewKickYawMin\75\hipViewKickYawMax\-75\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-50\adsViewKickPitchMax\80\adsViewKickYawMin\75\adsViewKickYawMax\-75\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.3\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_miniUZI_mp\gunModel2\viewmodel_miniUZI_mp_brock\gunModel3\viewmodel_miniUZI_mp_bshdwl\gunModel4\viewmodel_miniUZI_mp_bwmrpt\gunModel5\viewmodel_miniUZI_mp_cmdtgr\gunModel6\viewmodel_miniUZI_mp_stagger\gunModel7\viewmodel_miniUZI_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mini_uzi\worldModel2\weapon_mini_uzi_mp_brock\worldModel3\weapon_mini_uzi_mp_bshdwl\worldModel4\weapon_mini_uzi_mp_bwmrpt\worldModel5\weapon_mini_uzi_mp_cmdtgr\worldModel6\weapon_mini_uzi_mp_stagger\worldModel7\weapon_mini_uzi_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_miniUZI_idle\emptyIdleAnim\viewmodel_miniUZI_idle\fireAnim\viewmodel_miniUZI_fire\lastShotAnim\viewmodel_miniUZI_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_miniUZI_reload\reloadEmptyAnim\viewmodel_miniUZI_attachment_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_miniUZI_pullout\dropAnim\viewmodel_miniUZI_putaway\firstRaiseAnim\viewmodel_miniUZI_pullout\altRaiseAnim\viewmodel_miniUZI_pullout\altDropAnim\viewmodel_miniUZI_putaway\quickRaiseAnim\viewmodel_miniUZI_pullout\quickDropAnim\viewmodel_miniUZI_putaway\emptyRaiseAnim\viewmodel_miniUZI_pullout\emptyDropAnim\viewmodel_miniUZI_putaway\sprintInAnim\viewmodel_miniUZI_sprint_in\sprintLoopAnim\viewmodel_miniUZI_sprint_loop\sprintOutAnim\viewmodel_miniUZI_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_miniUZI_ADS_fire\adsLastShotAnim\viewmodel_miniUZI_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_miniUZI_ADS_up\adsDownAnim\viewmodel_miniUZI_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_miniuzi_fire_npc\fireSoundPlayer\weap_miniuzi_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_miniuzi_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_miniuzi_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_miniuzi_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mini_uzi\killIcon\hud_icon_mini_uzi\dpadIcon\\ammoCounterIcon\hud_icon_mini_uzi\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\smg_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_acog tag_ak47_mount tag_reflex_sight\notetrackSoundMap\weap_miniuzi_lift_plr weap_miniuzi_lift_plr weap_miniuzi_clipout_plr weap_miniuzi_clipout_plr diff --git a/weapons/mp/uzi_silencer_mp b/weapons/mp/uzi_silencer_mp index 40f02a4..fc8c147 100644 --- a/weapons/mp/uzi_silencer_mp +++ b/weapons/mp/uzi_silencer_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_UZI\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\192\startAmmo\96\clipName\uzi_silencer_mp\clipSize\32\shotCount\1\dropAmmoMin\1\dropAmmoMax\32\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\350\minDamageRange\700\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.063\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.4\reloadEmptyTime\3.5\reloadStartTime\0\reloadEndTime\0\reloadAddTime\2.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.42\raiseTime\0.8\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.55\firstRaiseTime\0.8\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-50\hipViewKickPitchMax\80\hipViewKickYawMin\75\hipViewKickYawMax\-75\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-50\adsViewKickPitchMax\80\adsViewKickYawMin\75\adsViewKickYawMax\-75\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.3\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_miniUZI_silencer\gunModel2\viewmodel_miniUZI_supressed_mp_brock\gunModel3\viewmodel_miniUZI_supressed_mp_bshdwl\gunModel4\viewmodel_miniUZI_supressed_mp_bwmrpt\gunModel5\viewmodel_miniUZI_supressed_mp_cmdtgr\gunModel6\viewmodel_miniUZI_supressed_mp_stagger\gunModel7\viewmodel_miniuzi_supressed_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mini_uzi_silencer\worldModel2\weapon_mini_uzi_sd_mp_brock\worldModel3\weapon_mini_uzi_sd_mp_bshdwl\worldModel4\weapon_mini_uzi_sd_mp_bwmrpt\worldModel5\weapon_mini_uzi_sd_mp_cmdtgr\worldModel6\weapon_mini_uzi_sd_mp_stagger\worldModel7\weapon_mini_uzi_silencer_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_miniUZI_idle\emptyIdleAnim\viewmodel_miniUZI_idle\fireAnim\viewmodel_miniUZI_fire\lastShotAnim\viewmodel_miniUZI_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_miniUZI_reload\reloadEmptyAnim\viewmodel_miniUZI_attachment_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_miniUZI_pullout\dropAnim\viewmodel_miniUZI_putaway\firstRaiseAnim\viewmodel_miniUZI_pullout\altRaiseAnim\viewmodel_miniUZI_pullout\altDropAnim\viewmodel_miniUZI_putaway\quickRaiseAnim\viewmodel_miniUZI_pullout\quickDropAnim\viewmodel_miniUZI_putaway\emptyRaiseAnim\viewmodel_miniUZI_pullout\emptyDropAnim\viewmodel_miniUZI_putaway\sprintInAnim\viewmodel_miniUZI_sprint_in\sprintLoopAnim\viewmodel_miniUZI_sprint_loop\sprintOutAnim\viewmodel_miniUZI_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_miniUZI_ADS_fire\adsLastShotAnim\viewmodel_miniUZI_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_miniUZI_ADS_up\adsDownAnim\viewmodel_miniUZI_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_miniuzisd_fire_npc\fireSoundPlayer\weap_miniuzisd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_miniuzi_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_miniuzi_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_miniuzi_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mini_uzi\killIcon\hud_icon_mini_uzi\dpadIcon\\ammoCounterIcon\hud_icon_mini_uzi\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\\notetrackSoundMap\weap_miniuzi_lift_plr weap_miniuzi_lift_plr +WEAPONFILE\displayName\WEAPON_UZI\modeName\\playerAnimType\smg\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\smg\penetrateType\small\impactType\bullet_small\inventoryType\primary\fireType\Full Auto\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\0\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\0\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\1\autoAimRange\0\aimAssistRange\750\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\6\gunMaxYaw\6\lowAmmoWarningThreshold\0.33\ammoName\9 × 19 mm Luger\maxAmmo\192\startAmmo\96\clipName\uzi_silencer_mp\clipSize\32\shotCount\1\dropAmmoMin\1\dropAmmoMax\32\reloadAmmoAdd\0\reloadStartAdd\0\damage\30\minDamage\20\meleeDamage\135\maxDamageRange\350\minDamageRange\700\playerDamage\30\locNone\1\locHelmet\1.4\locHead\1.4\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.063\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\2.4\reloadEmptyTime\3.5\reloadStartTime\0\reloadEndTime\0\reloadAddTime\2.2\reloadStartAddTime\0\rechamberTime\0.1\rechamberBoltTime\0\dropTime\0.42\raiseTime\0.8\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.55\firstRaiseTime\0.8\emptyDropTime\0.5\emptyRaiseTime\0.5\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.5\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-50\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\280\proneRotR\-300\proneOfsF\0\proneOfsR\1.5\proneOfsU\0\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.9\idleCrouchFactor\0.75\idleProneFactor\0.4\adsSpread\0\adsAimPitch\0\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.3\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.7\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\2\hipSpreadDuckedMin\1.75\hipSpreadProneMin\1.5\hipSpreadMax\5\hipSpreadDuckedMax\4.5\hipSpreadProneMax\4\hipSpreadFireAdd\0.52\hipSpreadTurnAdd\0\hipSpreadMoveAdd\4\hipSpreadDecayRate\4\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\35\hipGunKickPitchMax\40\hipGunKickYawMin\-25\hipGunKickYawMax\25\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\100\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\75\adsGunKickPitchMin\5\adsGunKickPitchMax\15\adsGunKickYawMin\-5\adsGunKickYawMax\10\adsGunKickAccel\700\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\35\adsGunKickStaticDecay\10\hipViewKickPitchMin\-50\hipViewKickPitchMax\80\hipViewKickYawMin\75\hipViewKickYawMax\-75\hipViewKickCenterSpeed\1600\adsViewKickPitchMin\-50\adsViewKickPitchMax\80\adsViewKickYawMin\75\adsViewKickYawMax\-75\adsViewKickCenterSpeed\1600\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.3\adsSwayVertScale\0.2\fightDist\720\maxDist\340\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\8\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_miniUZI_silencer\gunModel2\viewmodel_miniUZI_supressed_mp_brock\gunModel3\viewmodel_miniUZI_supressed_mp_bshdwl\gunModel4\viewmodel_miniUZI_supressed_mp_bwmrpt\gunModel5\viewmodel_miniUZI_supressed_mp_cmdtgr\gunModel6\viewmodel_miniUZI_supressed_mp_stagger\gunModel7\viewmodel_miniuzi_supressed_gold_mp\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_mini_uzi_silencer\worldModel2\weapon_mini_uzi_sd_mp_brock\worldModel3\weapon_mini_uzi_sd_mp_bshdwl\worldModel4\weapon_mini_uzi_sd_mp_bwmrpt\worldModel5\weapon_mini_uzi_sd_mp_cmdtgr\worldModel6\weapon_mini_uzi_sd_mp_stagger\worldModel7\weapon_mini_uzi_silencer_gold\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_miniUZI_idle\emptyIdleAnim\viewmodel_miniUZI_idle\fireAnim\viewmodel_miniUZI_fire\lastShotAnim\viewmodel_miniUZI_fire\rechamberAnim\\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_miniUZI_reload\reloadEmptyAnim\viewmodel_miniUZI_attachment_reload_empty\reloadStartAnim\\reloadEndAnim\\raiseAnim\viewmodel_miniUZI_pullout\dropAnim\viewmodel_miniUZI_putaway\firstRaiseAnim\viewmodel_miniUZI_pullout\altRaiseAnim\viewmodel_miniUZI_pullout\altDropAnim\viewmodel_miniUZI_putaway\quickRaiseAnim\viewmodel_miniUZI_pullout\quickDropAnim\viewmodel_miniUZI_putaway\emptyRaiseAnim\viewmodel_miniUZI_pullout\emptyDropAnim\viewmodel_miniUZI_putaway\sprintInAnim\viewmodel_miniUZI_sprint_in\sprintLoopAnim\viewmodel_miniUZI_sprint_loop\sprintOutAnim\viewmodel_miniUZI_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_miniUZI_ADS_fire\adsLastShotAnim\viewmodel_miniUZI_ADS_fire\adsRechamberAnim\\adsUpAnim\viewmodel_miniUZI_ADS_up\adsDownAnim\viewmodel_miniUZI_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/pistol_view\worldShellEjectEffect\shellejects/pistol\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_miniuzisd_fire_npc\fireSoundPlayer\weap_miniuzisd_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_pistol_npc\emptyFireSoundPlayer\weap_dryfire_pistol_plr\meleeSwipeSound\melee_swing_small\meleeSwipeSoundPlayer\melee_miniuzi_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\weap_miniuzi_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_miniuzi_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_mini_uzi\killIcon\hud_icon_mini_uzi\dpadIcon\\ammoCounterIcon\hud_icon_mini_uzi\hudIconRatio\1:1\killIconRatio\1:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Magazine\flipKillIcon\1\fireRumble\silencer_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\\notetrackSoundMap\weap_miniuzi_lift_plr weap_miniuzi_lift_plr weap_miniuzi_clipout_plr weap_miniuzi_clipout_plr weap_miniuzi_clipin_plr weap_miniuzi_clipin_plr weap_miniuzi_chamber_plr weap_miniuzi_chamber_plr diff --git a/weapons/mp/winchester1200_mp b/weapons/mp/winchester1200_mp index 7951709..671aef6 100644 --- a/weapons/mp/winchester1200_mp +++ b/weapons/mp/winchester1200_mp @@ -1,4 +1,4 @@ -WEAPONFILE\displayName\WEAPON_WINCHESTER1200\modeName\\playerAnimType\other\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\spread\penetrateType\small\impactType\shotgun\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\1\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\80\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\12 gauge\maxAmmo\56\startAmmo\28\clipName\winchester1200_mp\clipSize\7\shotCount\8\dropAmmoMin\1\dropAmmoMax\7\reloadAmmoAdd\1\reloadStartAdd\1\damage\40\minDamage\10\meleeDamage\135\maxDamageRange\300\minDamageRange\500\playerDamage\30\locNone\1\locHelmet\1\locHead\1\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.283\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.567\reloadEmptyTime\0.567\reloadStartTime\1\reloadEndTime\0.767\reloadAddTime\0.25\reloadStartAddTime\0.6\rechamberTime\0.467\rechamberBoltTime\0\dropTime\0.33\raiseTime\0.625\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.625\emptyDropTime\0.33\emptyRaiseTime\0.65\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-100\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\220\proneRotR\-300\proneOfsF\-0.5\proneOfsR\2\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.8\idleProneFactor\0.4\adsSpread\5.5\adsAimPitch\-0.1\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.5\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\4\hipSpreadDuckedMin\4\hipSpreadProneMin\4\hipSpreadMax\4\hipSpreadDuckedMax\4\hipSpreadProneMax\4\hipSpreadFireAdd\0\hipSpreadTurnAdd\0\hipSpreadMoveAdd\0.1\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\50\hipGunKickPitchMax\60\hipGunKickYawMin\-30\hipGunKickYawMax\30\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\35\adsGunKickPitchMax\45\adsGunKickYawMin\-25\adsGunKickYawMax\25\adsGunKickAccel\260\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\50\adsGunKickStaticDecay\10\hipViewKickPitchMin\95\hipViewKickPitchMax\100\hipViewKickYawMin\-75\hipViewKickYawMax\-85\hipViewKickCenterSpeed\500\adsViewKickPitchMin\95\adsViewKickPitchMax\100\adsViewKickYawMin\-75\adsViewKickYawMax\-85\adsViewKickCenterSpeed\500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.2\adsSwayVertScale\0.25\fightDist\720\maxDist\680\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_winchester1200_mp\gunModel2\viewmodel_winchester1200_mp_brock\gunModel3\viewmodel_winchester1200_mp_bshdwl\gunModel4\viewmodel_winchester1200_mp_bwmrpt\gunModel5\viewmodel_winchester1200_mp_cmdtgr\gunModel6\viewmodel_winchester1200_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_winchest1200\worldModel2\weapon_winchest1200_mp_brock\worldModel3\weapon_winchest1200_mp_bshdwl\worldModel4\weapon_winchest1200_mp_bwmrpt\worldModel5\weapon_winchest1200_mp_cmdtgr\worldModel6\weapon_winchest1200_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_winchester_idle\emptyIdleAnim\viewmodel_winchester_idle\fireAnim\viewmodel_winchester_fire\lastShotAnim\viewmodel_winchester_fire\rechamberAnim\viewmodel_winchester_rechamber\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_winchester_reload_loop\reloadEmptyAnim\\reloadStartAnim\viewmodel_winchester_reload_intro\reloadEndAnim\viewmodel_winchester_reload_end\raiseAnim\viewmodel_winchester_pullout_quick\dropAnim\viewmodel_winchester_putaway_quick\firstRaiseAnim\viewmodel_winchester_pullout_quick\altRaiseAnim\viewmodel_winchester_pullout_quick\altDropAnim\viewmodel_winchester_putaway_quick\quickRaiseAnim\viewmodel_winchester_pullout_quick\quickDropAnim\viewmodel_winchester_putaway_quick\emptyRaiseAnim\viewmodel_winchester_pullout\emptyDropAnim\viewmodel_winchester_putaway\sprintInAnim\viewmodel_winchester_sprint_in\sprintLoopAnim\viewmodel_winchester_sprint_loop\sprintOutAnim\viewmodel_winchester_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_winchester_fire_ads\adsLastShotAnim\viewmodel_winchester_fire\adsRechamberAnim\viewmodel_winchester_rechamber\adsUpAnim\viewmodel_winchester_ADS_up\adsDownAnim\viewmodel_winchester_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/shotgun_view\worldShellEjectEffect\shellejects/shotgun\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_winch1200_fire_npc\fireSoundPlayer\weap_winch1200_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_winch1200_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\weap_winch1200_pump_npc\rechamberSoundPlayer\\reloadSound\weap_winch1200_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_winch1200_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_winchester_1200\killIcon\hud_icon_winchester_1200\dpadIcon\\ammoCounterIcon\hud_icon_winchester_1200\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Shotgun\flipKillIcon\1\fireRumble\shotgun_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_ak47_mount +WEAPONFILE\displayName\WEAPON_WINCHESTER1200\modeName\\playerAnimType\other\altWeapon\\AIOverlayDescription\\weaponType\bullet\weaponClass\spread\penetrateType\small\impactType\shotgun\inventoryType\primary\fireType\Single Shot\twoHanded\1\rifleBullet\0\armorPiercing\0\boltAction\1\aimDownSight\1\rechamberWhileAds\1\noPartialReload\0\segmentedReload\1\adsFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\enhanced\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\0\laserSightDuringNightvision\0\blocksProne\0\silenced\0\autoAimRange\0\aimAssistRange\600\aimAssistRangeAds\1000\enemyCrosshairRange\0\crosshairColorChange\0\moveSpeedScale\1\adsMoveSpeedScale\2\sprintDurationScale\1\gunMaxPitch\80\gunMaxYaw\15\lowAmmoWarningThreshold\0.33\ammoName\12 gauge\maxAmmo\56\startAmmo\28\clipName\winchester1200_mp\clipSize\7\shotCount\8\dropAmmoMin\1\dropAmmoMax\7\reloadAmmoAdd\1\reloadStartAdd\1\damage\40\minDamage\10\meleeDamage\135\maxDamageRange\300\minDamageRange\500\playerDamage\30\locNone\1\locHelmet\1\locHead\1\locNeck\1\locTorsoUpper\1\locTorsoLower\1\locRightArmUpper\1\locRightArmLower\1\locRightHand\1\locLeftArmUpper\1\locLeftArmLower\1\locLeftHand\1\locRightLegUpper\1\locRightLegLower\1\locRightFoot\1\locLeftLegUpper\1\locLeftLegLower\1\locLeftFoot\1\locGun\0\fireTime\0.283\fireDelay\0\meleeTime\0.8\meleeChargeTime\1.16\meleeDelay\0.13\meleeChargeDelay\0.16\reloadTime\0.567\reloadEmptyTime\0.567\reloadStartTime\1\reloadEndTime\0.767\reloadAddTime\0.25\reloadStartAddTime\0.6\rechamberTime\0.467\rechamberBoltTime\0\dropTime\0.33\raiseTime\0.625\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.75\firstRaiseTime\0.625\emptyDropTime\0.33\emptyRaiseTime\0.65\sprintInTime\0.3\sprintLoopTime\0.7\sprintOutTime\0.3\nightVisionWearTime\0\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\standMoveF\0\standMoveR\0\standMoveU\-1.7\standRotP\0\standRotY\0\standRotR\0\standMoveMinSpeed\80\standRotMinSpeed\80\posMoveRate\6\posRotRate\6\duckedMoveF\0\duckedMoveR\0\duckedMoveU\-1.7\duckedRotP\0\duckedRotY\0\duckedRotR\0\duckedOfsF\-0.1\duckedOfsR\0.8\duckedOfsU\-0.2\duckedMoveMinSpeed\20\duckedRotMinSpeed\20\proneMoveF\-100\proneMoveR\3\proneMoveU\-105\proneRotP\0\proneRotY\220\proneRotR\-300\proneOfsF\-0.5\proneOfsR\2\proneOfsU\0.8\posProneMoveRate\25\posProneRotRate\30\proneMoveMinSpeed\0\proneRotMinSpeed\0\hipIdleAmount\30\adsIdleAmount\0\hipIdleSpeed\1\adsIdleSpeed\0.8\idleCrouchFactor\0.8\idleProneFactor\0.4\adsSpread\5.5\adsAimPitch\-0.1\adsTransInTime\0.2\adsTransOutTime\0.2\adsTransBlendTime\0.1\adsReloadTransTime\0.5\adsCrosshairInFrac\1\adsCrosshairOutFrac\0.2\adsZoomFov\55\adsZoomInFrac\0.5\adsZoomOutFrac\0.4\adsBobFactor\0\adsViewBobMult\0\adsViewErrorMin\0\adsViewErrorMax\0\hipSpreadStandMin\4\hipSpreadDuckedMin\4\hipSpreadProneMin\4\hipSpreadMax\4\hipSpreadDuckedMax\4\hipSpreadProneMax\4\hipSpreadFireAdd\0\hipSpreadTurnAdd\0\hipSpreadMoveAdd\0.1\hipSpreadDecayRate\5\hipSpreadDuckedDecay\1\hipSpreadProneDecay\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\50\hipGunKickPitchMax\60\hipGunKickYawMin\-30\hipGunKickYawMax\30\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\35\adsGunKickPitchMax\45\adsGunKickYawMin\-25\adsGunKickYawMax\25\adsGunKickAccel\260\adsGunKickSpeedMax\600\adsGunKickSpeedDecay\50\adsGunKickStaticDecay\10\hipViewKickPitchMin\95\hipViewKickPitchMax\100\hipViewKickYawMin\-75\hipViewKickYawMax\-85\hipViewKickCenterSpeed\500\adsViewKickPitchMin\95\adsViewKickPitchMax\100\adsViewKickYawMin\-75\adsViewKickYawMax\-85\adsViewKickCenterSpeed\500\swayMaxAngle\20\swayLerpSpeed\4\swayPitchScale\-1\swayYawScale\-1\swayHorizScale\0.3\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\2\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.2\adsSwayVertScale\0.25\fightDist\720\maxDist\680\aiVsAiAccuracyGraph\\aiVsPlayerAccuracyGraph\\reticleCenter\\reticleSide\reticle_side_small\reticleCenterSize\3\reticleSideSize\8\reticleMinOfs\0\hipReticleSidePos\0\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayWidth\220\adsOverlayHeight\220\gunModel\viewmodel_winchester1200_mp\gunModel2\viewmodel_winchester1200_mp_brock\gunModel3\viewmodel_winchester1200_mp_bshdwl\gunModel4\viewmodel_winchester1200_mp_bwmrpt\gunModel5\viewmodel_winchester1200_mp_cmdtgr\gunModel6\viewmodel_winchester1200_mp_stagger\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_base_viewhands\worldModel\weapon_winchest1200\worldModel2\weapon_winchest1200_mp_brock\worldModel3\weapon_winchest1200_mp_bshdwl\worldModel4\weapon_winchest1200_mp_bwmrpt\worldModel5\weapon_winchest1200_mp_cmdtgr\worldModel6\weapon_winchest1200_mp_stagger\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\worldClipModel\\knifeModel\viewmodel_knife\worldKnifeModel\weapon_parabolic_knife\idleAnim\viewmodel_winchester_idle\emptyIdleAnim\viewmodel_winchester_idle\fireAnim\viewmodel_winchester_fire\lastShotAnim\viewmodel_winchester_fire\rechamberAnim\viewmodel_winchester_rechamber\meleeAnim\viewmodel_M4m203_knife_melee_1\meleeChargeAnim\viewmodel_M4m203_knife_melee_2\reloadAnim\viewmodel_winchester_reload_loop\reloadEmptyAnim\\reloadStartAnim\viewmodel_winchester_reload_intro\reloadEndAnim\viewmodel_winchester_reload_end\raiseAnim\viewmodel_winchester_pullout_quick\dropAnim\viewmodel_winchester_putaway_quick\firstRaiseAnim\viewmodel_winchester_pullout_quick\altRaiseAnim\viewmodel_winchester_pullout_quick\altDropAnim\viewmodel_winchester_putaway_quick\quickRaiseAnim\viewmodel_winchester_pullout_quick\quickDropAnim\viewmodel_winchester_putaway_quick\emptyRaiseAnim\viewmodel_winchester_pullout\emptyDropAnim\viewmodel_winchester_putaway\sprintInAnim\viewmodel_winchester_sprint_in\sprintLoopAnim\viewmodel_winchester_sprint_loop\sprintOutAnim\viewmodel_winchester_sprint_out\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_winchester_fire_ads\adsLastShotAnim\viewmodel_winchester_fire\adsRechamberAnim\viewmodel_winchester_rechamber\adsUpAnim\viewmodel_winchester_ADS_up\adsDownAnim\viewmodel_winchester_ADS_down\viewFlashEffect\\worldFlashEffect\\viewShellEjectEffect\shellejects/shotgun_view\worldShellEjectEffect\shellejects/shotgun\viewLastShotEjectEffect\\worldLastShotEjectEffect\\worldClipDropEffect\\pickupSound\weap_pickup\pickupSoundPlayer\weap_pickup\ammoPickupSound\\ammoPickupSoundPlayer\\fireSound\weap_winch1200_fire_npc\fireSoundPlayer\weap_winch1200_fire_plr\lastShotSound\\lastShotSoundPlayer\\emptyFireSound\weap_dryfire_rifle_npc\emptyFireSoundPlayer\weap_dryfire_rifle_plr\meleeSwipeSound\melee_swing_large\meleeSwipeSoundPlayer\melee_winch1200_swing_plr\meleeHitSound\\meleeMissSound\\rechamberSound\weap_winch1200_pump_npc\rechamberSoundPlayer\\reloadSound\weap_winch1200_reload_npc\reloadSoundPlayer\\reloadEmptySound\weap_winch1200_reload_npc\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\altSwitchSound\\altSwitchSoundPlayer\\raiseSound\weap_raise\raiseSoundPlayer\weap_raise_plr\firstRaiseSound\\firstRaiseSoundPlayer\\putawaySound\\putawaySoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\hudIcon\hud_icon_winchester_1200\killIcon\hud_icon_winchester_1200\dpadIcon\\ammoCounterIcon\hud_icon_winchester_1200\hudIconRatio\4:1\killIconRatio\4:1\dpadIconRatio\4:1\ammoCounterIconRatio\4:1\ammoCounterClip\Shotgun\flipKillIcon\1\fireRumble\shotgun_fire\meleeImpactRumble\defaultweapon_melee\adsDofStart\0\adsDofEnd\10\hideTags\tag_ak47_mount tag_reflex_sight tag_foregrip\notetrackSoundMap\melee_knife_stab melee_knife_stab weap_winch1200_start_plr weap_winch1200_start_plr