From 60258d0a95eed27a3f687e3477882f235297a993 Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Thu, 28 Dec 2023 21:35:03 -0800 Subject: [PATCH] Staffs (upgraded): do alt weapon reload changes from weapon file Staffs (upgraded): move all alt weapon ammo to clip Staffs (upgraded): fix issues with melee weapons --- README.md | 2 +- scripts/zm/replaced/_zm_weap_staff_revive.gsc | 67 ------------------- scripts/zm/replaced/zm_tomb_main_quest.gsc | 17 ++++- scripts/zm/replaced/zm_tomb_utility.gsc | 46 +++++++++---- scripts/zm/zm_tomb/zm_tomb_reimagined.gsc | 1 - weapons/zm/staff_revive_zm | 13 ++++ 6 files changed, 63 insertions(+), 83 deletions(-) delete mode 100644 scripts/zm/replaced/_zm_weap_staff_revive.gsc create mode 100644 weapons/zm/staff_revive_zm diff --git a/README.md b/README.md index ca2b0b3a..6d70d3a0 100644 --- a/README.md +++ b/README.md @@ -365,7 +365,7 @@ * Max ammo no longer fills clip ammo * Upgraded: kill on any round * Upgraded: charged shots damage Panzersoldat -* Upgraded: decreased alt weapon reload time to 0.4 seconds +* Upgraded: decreased alt weapon fire time from 3 seconds to 0.5 seconds * Fire upgraded: charged shots no longer deal additional damage to Panzersoldat * Ice upgraded: fixed melee sound diff --git a/scripts/zm/replaced/_zm_weap_staff_revive.gsc b/scripts/zm/replaced/_zm_weap_staff_revive.gsc deleted file mode 100644 index 04724097..00000000 --- a/scripts/zm/replaced/_zm_weap_staff_revive.gsc +++ /dev/null @@ -1,67 +0,0 @@ -#include maps\mp\zombies\_zm_weap_staff_revive; -#include common_scripts\utility; -#include maps\mp\_utility; -#include maps\mp\zombies\_zm_utility; -#include maps\mp\zombies\_zm_net; -#include maps\mp\zm_tomb_utility; -#include maps\mp\zombies\_zm_laststand; - -watch_staff_revive_fired() -{ - self endon("disconnect"); - - while (true) - { - self waittill("missile_fire", e_projectile, str_weapon); - - if (!(str_weapon == "staff_revive_zm")) - continue; - - self thread staff_revive_impact_wait(); - - self thread staff_revive_reload(str_weapon); - } -} - -staff_revive_impact_wait() -{ - self waittill("projectile_impact", e_ent, v_explode_point, n_radius, str_name, n_impact); - - self thread staff_revive_impact(v_explode_point); -} - -staff_revive_reload(str_weapon) -{ - self endon("disconnect"); - - wait 0.4; - - ammo_clip = self getWeaponAmmoClip(str_weapon); - ammo_stock = self getWeaponAmmoStock(str_weapon); - - if (ammo_clip < 1 && ammo_stock >= 1) - { - self setWeaponAmmoClip(str_weapon, ammo_clip + 1); - self setWeaponAmmoStock(str_weapon, ammo_stock - 1); - return; - } - - while (1) - { - self waittill("weapon_change"); - - if (self getCurrentWeapon() == str_weapon) - { - ammo_clip = self getWeaponAmmoClip(str_weapon); - ammo_stock = self getWeaponAmmoStock(str_weapon); - - if (ammo_clip < 1 && ammo_stock >= 1) - { - self setWeaponAmmoClip(str_weapon, ammo_clip + 1); - self setWeaponAmmoStock(str_weapon, ammo_stock - 1); - } - - return; - } - } -} \ No newline at end of file diff --git a/scripts/zm/replaced/zm_tomb_main_quest.gsc b/scripts/zm/replaced/zm_tomb_main_quest.gsc index 9acfb742..69f7b99f 100644 --- a/scripts/zm/replaced/zm_tomb_main_quest.gsc +++ b/scripts/zm/replaced/zm_tomb_main_quest.gsc @@ -668,5 +668,20 @@ run_gramophone_door(str_vinyl_record) watch_staff_ammo_reload() { - // removed max ammo clip fill + self endon( "disconnect" ); + + while ( true ) + { + self waittill( "zmb_max_ammo" ); + + a_weapons = self getweaponslist(); + + foreach ( weapon in a_weapons ) + { + if ( issubstr( weapon, "staff_revive" ) ) + { + self setweaponammoclip( weapon, weaponclipsize( weapon ) ); + } + } + } } \ No newline at end of file diff --git a/scripts/zm/replaced/zm_tomb_utility.gsc b/scripts/zm/replaced/zm_tomb_utility.gsc index 83856e9a..1bbc99c1 100644 --- a/scripts/zm/replaced/zm_tomb_utility.gsc +++ b/scripts/zm/replaced/zm_tomb_utility.gsc @@ -111,12 +111,11 @@ capture_zombie_spawn_init(animname_set = 0) update_staff_accessories(n_element_index) { cur_melee = self get_player_melee_weapon(); - melee_to_keep = "knife_zm"; + melee_to_keep = get_melee_weapon_from_held(); + self.use_staff_melee = 0; if (!issubstr(cur_melee, "one_inch_punch")) { - self.use_staff_melee = 0; - if (n_element_index != 0) { staff_info = maps\mp\zm_tomb_craftables::get_staff_info_from_element_index(n_element_index); @@ -142,19 +141,23 @@ update_staff_accessories(n_element_index) current_weapon = self getcurrentweapon(); self takeweapon(cur_melee); - self takeweapon("held_" + cur_melee); self giveweapon(melee_to_keep); self set_player_melee_weapon(melee_to_keep); - self giveweapon("held_" + melee_to_keep); - if (!self hasweapon("equip_dieseldrone_zm")) + if (!self.use_staff_melee) { - self setactionslot(2, "weapon", "held_" + melee_to_keep); - } + self takeweapon("held_" + cur_melee); + self giveweapon("held_" + melee_to_keep); - if (is_melee_weapon(current_weapon)) - { - self switchtoweapon("held_" + melee_to_keep); + if (!self hasweapon("equip_dieseldrone_zm")) + { + self setactionslot(2, "weapon", "held_" + melee_to_keep); + } + + if (is_melee_weapon(current_weapon)) + { + self switchtoweapon("held_" + melee_to_keep); + } } } @@ -192,12 +195,29 @@ update_staff_accessories(n_element_index) } else { - self setweaponammostock("staff_revive_zm", 3); - self setweaponammoclip("staff_revive_zm", 1); + + self setweaponammostock("staff_revive_zm", weaponmaxammo("staff_revive_zm") - weaponclipsize("staff_revive_zm")); + self setweaponammoclip("staff_revive_zm", weaponclipsize("staff_revive_zm")); } } } +get_melee_weapon_from_held() +{ + melee_to_keep = "knife_zm"; + + foreach (weapon in self getweaponslist()) + { + if (getsubstr(weapon, 0, 5) == "held_") + { + melee_to_keep = getsubstr(weapon, 5); + break; + } + } + + return melee_to_keep; +} + get_punch_element_from_index(ind) { if (ind == 1) diff --git a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc index f5bc86fd..1d54e611 100644 --- a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc +++ b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc @@ -60,7 +60,6 @@ main() replaceFunc(maps\mp\zombies\_zm_weap_staff_fire::flame_damage_fx, scripts\zm\replaced\_zm_weap_staff_fire::flame_damage_fx); replaceFunc(maps\mp\zombies\_zm_weap_staff_fire::get_impact_damage, scripts\zm\replaced\_zm_weap_staff_fire::get_impact_damage); replaceFunc(maps\mp\zombies\_zm_weap_staff_lightning::staff_lightning_ball_kill_zombies, scripts\zm\replaced\_zm_weap_staff_lightning::staff_lightning_ball_kill_zombies); - replaceFunc(maps\mp\zombies\_zm_weap_staff_revive::watch_staff_revive_fired, scripts\zm\replaced\_zm_weap_staff_revive::watch_staff_revive_fired); } init() diff --git a/weapons/zm/staff_revive_zm b/weapons/zm/staff_revive_zm new file mode 100644 index 00000000..71b3175f --- /dev/null +++ b/weapons/zm/staff_revive_zm @@ -0,0 +1,13 @@ +WEAPONFILE\displayName\ZMWEAPON_STAFF_REVIVE\AIOverlayDescription\\modeName\\playerAnimType\staff\gunModel\t6_wpn_zmb_staff_revive_view\gunModel2\\gunModel3\\gunModel4\\gunModel5\\gunModel6\\gunModel7\\gunModel8\\gunModel9\\gunModel10\\gunModel11\\gunModel12\\gunModel13\\gunModel14\\gunModel15\\gunModel16\\handModel\viewmodel_hands_no_model\hideTags\\notetrackSoundMap\tesla_foley tesla_foley +tesla_switch_flip_off tesla_switch_flip_off +tesla_handle_pullback tesla_handle_pullback +tesla_clip_in tesla_clip_in +tesla_handle_release tesla_handle_release +tesla_switch_flip_on tesla_switch_flip_on +tesla_to_idle tesla_to_idle +bowie_swing bowie_swing +bowie_stab bowie_stab +bowie_pull bowie_pull +knife_stab_plr knife_stab_plr +knife_pull_plr knife_pull_plr +knife_slash_plr knife_slash_plr\idleAnim\viewmodel_zomb_staff_idle\idleAnimLeft\\emptyIdleAnim\viewmodel_zomb_staff_idle\emptyIdleAnimLeft\\fireIntroAnim\\fireAnim\viewmodel_zomb_staff_fire\fireAnimLeft\\holdFireAnim\\lastShotAnim\viewmodel_zomb_staff_fire\lastShotAnimLeft\\flourishAnim\\flourishAnimLeft\\detonateAnim\\rechamberAnim\\meleeAnim\\meleeAnimEmpty\\meleeAnim1\\meleeAnim2\\meleeAnim3\\meleeChargeAnim\\meleeChargeAnimEmpty\\reloadAnim\viewmodel_zomb_staff_idle\reloadAnimRight\\reloadAnimLeft\\reloadEmptyAnim\\reloadEmptyAnimLeft\\reloadStartAnim\\reloadEndAnim\\reloadQuickAnim\\reloadQuickEmptyAnim\\raiseAnim\viewmodel_zomb_staff_revive_pullout\dropAnim\viewmodel_zomb_staff_revive_putaway\firstRaiseAnim\viewmodel_zomb_staff_revive_pullout\altRaiseAnim\viewmodel_zomb_staff_revive_pullout\altDropAnim\viewmodel_zomb_staff_revive_putaway\quickRaiseAnim\viewmodel_zomb_staff_pullout_quick\quickDropAnim\viewmodel_zomb_staff_putaway_quick\emptyRaiseAnim\viewmodel_zomb_staff_revive_pullout\emptyDropAnim\viewmodel_zomb_staff_revive_putaway\sprintInAnim\viewmodel_zomb_staff_sprint_in\sprintLoopAnim\viewmodel_zomb_staff_sprint_loop\sprintOutAnim\viewmodel_zomb_staff_sprint_out\sprintInEmptyAnim\\sprintLoopEmptyAnim\\sprintOutEmptyAnim\\lowReadyInAnim\\lowReadyLoopAnim\\lowReadyOutAnim\\contFireInAnim\\contFireLoopAnim\\contFireOutAnim\\crawlInAnim\viewmodel_zomb_staff_crawl_in\crawlForwardAnim\viewmodel_zomb_staff_crawl_forward\crawlBackAnim\viewmodel_zomb_staff_crawl_back\crawlRightAnim\viewmodel_zomb_staff_crawl_right\crawlLeftAnim\viewmodel_zomb_staff_crawl_left\crawlOutAnim\viewmodel_zomb_staff_crawl_out\crawlEmptyInAnim\\crawlEmptyForwardAnim\\crawlEmptyBackAnim\\crawlEmptyRightAnim\\crawlEmptyLeftAnim\\crawlEmptyOutAnim\\deployAnim\\nightVisionWearAnim\\nightVisionRemoveAnim\\adsFireAnim\viewmodel_zomb_staff_ads_fire\adsLastShotAnim\viewmodel_zomb_staff_ads_fire\adsRechamberAnim\\adsUpAnim\viewmodel_zomb_staff_ads_up\adsDownAnim\viewmodel_zomb_staff_ads_down\adsUpOtherScopeAnim\\adsFireIntroAnim\\breakdownAnim\\dtp_in\viewmodel_zomb_staff_d2p_in\dtp_loop\viewmodel_zomb_staff_d2p_loop\dtp_out\viewmodel_zomb_staff_d2p_out\dtp_empty_in\\dtp_empty_loop\\dtp_empty_out\\slide_in\\mantleAnim\\sprintCameraAnim\\dtpInCameraAnim\\dtpLoopCameraAnim\\dtpOutCameraAnim\\mantleCameraAnim\\script\\weaponType\projectile\weaponClass\rocketlauncher\penetrateType\none\impactType\none\inventoryType\item\fireType\Full Auto\clipType\bottom\barrelType\Single\offhandClass\None\offhandSlot\None\viewFlashEffect\weapon/zmb_staff/fx_zmb_staff_revive_muz_flash_1p\worldFlashEffect\weapon/zmb_staff/fx_zmb_staff_revive_muz_flash_1p\barrelCooldownEffect\\barrelCooldownMinCount\0\viewFlashOffsetF\0\viewFlashOffsetR\0\viewFlashOffsetU\0\worldFlashOffsetF\0\worldFlashOffsetR\0\worldFlashOffsetU\0\pickupSound\wpn_tesla_pickup_npc\pickupSoundPlayer\wpn_tesla_pickup_plr\ammoPickupSound\wpn_ammo_pickup_npc\ammoPickupSoundPlayer\wpn_ammo_pickup_plr\projectileSound\wpn_revivestaff_proj_loop\pullbackSound\\pullbackSoundPlayer\\fireSound\wpn_revivestaff_fire_npc\crackSound\\whizbySound\\fireSoundPlayer\wpn_revivestaff_fire_plr\loopFireSound\\loopFireSoundPlayer\\loopFireEndSound\\loopFireEndSoundPlayer\\startFireSound\\stopFireSound\\killcamStartFireSound\\startFireSoundPlayer\\stopFireSoundPlayer\\killcamStartFireSoundPlayer\\lastShotSound\wpn_revivestaff_fire_npc\lastShotSoundPlayer\wpn_revivestaff_fire_plr\emptyFireSound\dryfire_rifle\emptyFireSoundPlayer\dryfire_rifle_plr\meleeSwipeSound\\meleeSwipeSoundPlayer\\meleeHitSound\\meleeMissSound\\rechamberSound\\rechamberSoundPlayer\\reloadSound\\reloadSoundPlayer\\reloadEmptySound\\reloadEmptySoundPlayer\\reloadStartSound\\reloadStartSoundPlayer\\reloadEndSound\\reloadEndSoundPlayer\\rotateLoopSound\\rotateLoopSoundPlayer\\rotateStopSound\\rotateStopSoundPlayer\\deploySound\\deploySoundPlayer\\finishDeploySound\\finishDeploySoundPlayer\\breakdownSound\\breakdownSoundPlayer\\finishBreakdownSound\\finishBreakdownSoundPlayer\\detonateSound\\detonateSoundPlayer\\nightVisionWearSound\\nightVisionWearSoundPlayer\\nightVisionRemoveSound\\nightVisionRemoveSoundPlayer\\raiseSound\wpn_tesla_raise_npc\raiseSoundPlayer\wpn_tesla_raise_plr\firstRaiseSound\wpn_tesla_1straise_npc\firstRaiseSoundPlayer\wpn_tesla_1straise_plr\altSwitchSound\\altSwitchSoundPlayer\\adsRaiseSoundPlayer\fly_generic_ads_plr\adsLowerSoundPlayer\fly_generic_ads_lower_plr\putawaySound\weap_putaway\putawaySoundPlayer\tesla_foley\overheatSound\\overheatSoundPlayer\\adsZoomSound\\shellCasing\\shellCasingPlayer\\bounceSound\\standMountedWeapdef\\crouchMountedWeapdef\\proneMountedWeapdef\\viewShellEjectEffect\\worldShellEjectEffect\\viewLastShotEjectEffect\\worldLastShotEjectEffect\\viewShellEjectOffsetF\0\viewShellEjectOffsetR\0\viewShellEjectOffsetU\0\worldShellEjectOffsetF\0\worldShellEjectOffsetR\0\worldShellEjectOffsetU\0\viewShellEjectRotationP\0\viewShellEjectRotationY\0\viewShellEjectRotationR\0\worldShellEjectRotationP\0\worldShellEjectRotationY\0\worldShellEjectRotationR\0\reticleCenter\hud_flamethrower_reticle\reticleSide\\reticleCenterSize\20\reticleSideSize\10\reticleMinOfs\0\activeReticleType\None\standMoveF\0\standMoveR\0.7\standMoveU\-1\standRotP\0\standRotY\0\standRotR\0\duckedOfsF\-0.1\duckedOfsR\1\duckedOfsU\-0.2\duckedMoveF\0\duckedMoveR\0.5\duckedMoveU\-1\duckedSprintOfsF\0\duckedSprintOfsR\0\duckedSprintOfsU\0\duckedSprintRotP\0\duckedSprintRotY\0\duckedSprintRotR\0\duckedSprintBobH\0\duckedSprintBobV\0\duckedSprintScale\0\sprintOfsF\0\sprintOfsR\0\sprintOfsU\0\sprintRotP\0\sprintRotY\0\sprintRotR\0\sprintBobH\0\sprintBobV\0\sprintScale\0.8\lowReadyOfsF\0\lowReadyOfsR\0\lowReadyOfsU\0\lowReadyRotP\0\lowReadyRotY\0\lowReadyRotR\0\rideOfsF\0\rideOfsR\0\rideOfsU\0\rideRotP\0\rideRotY\0\rideRotR\0\dtpOfsF\0\dtpOfsR\0\dtpOfsU\0\dtpRotP\0\dtpRotY\0\dtpRotR\0\dtpBobH\0\dtpBobV\0\dtpScale\1\mantleOfsF\0\mantleOfsR\0\mantleOfsU\0\mantleRotP\0\mantleRotY\0\mantleRotR\0\slideOfsF\0\slideOfsR\0\slideOfsU\0\slideRotP\0\slideRotY\0\slideRotR\0\duckedRotP\0\duckedRotY\0\duckedRotR\0\proneOfsF\0.5\proneOfsR\0\proneOfsU\-1\proneMoveF\0\proneMoveR\0\proneMoveU\0\proneRotP\0\proneRotY\2\proneRotR\-3\strafeMoveF\0\strafeMoveR\0\strafeMoveU\0\strafeRotP\0\strafeRotY\0\strafeRotR\0\posMoveRate\6\posProneMoveRate\25\standMoveMinSpeed\80\duckedMoveMinSpeed\20\proneMoveMinSpeed\0\posRotRate\8\posProneRotRate\30\standRotMinSpeed\80\duckedRotMinSpeed\20\proneRotMinSpeed\0\worldModel\t6_wpn_zmb_staff_world\worldModel2\\worldModel3\\worldModel4\\worldModel5\\worldModel6\\worldModel7\\worldModel8\\worldModel9\\worldModel10\\worldModel11\\worldModel12\\worldModel13\\worldModel14\\worldModel15\\worldModel16\\attachViewModel1\\attachViewModel2\\attachViewModel3\\attachViewModel4\\attachViewModel5\\attachViewModel6\\attachViewModel7\\attachViewModel8\\attachWorldModel1\\attachWorldModel2\\attachWorldModel3\\attachWorldModel4\\attachWorldModel5\\attachWorldModel6\\attachWorldModel7\\attachWorldModel8\\attachViewModelTag1\\attachViewModelTag2\\attachViewModelTag3\\attachViewModelTag4\\attachViewModelTag5\\attachViewModelTag6\\attachViewModelTag7\\attachViewModelTag8\\attachWorldModelTag1\\attachWorldModelTag2\\attachWorldModelTag3\\attachWorldModelTag4\\attachWorldModelTag5\\attachWorldModelTag6\\attachWorldModelTag7\\attachWorldModelTag8\\worldClipModel\\rocketModel\\mountedModel\\AdditionalMeleeModel\\fireTypeIcon\\hudIcon\hud_icon_40mm_grenade_mp\hudIconRatio\4:1\indicatorIcon\\indicatorIconRatio\1:1\ammoCounterIcon\hud_icon_40mm_grenade_mp\ammoCounterIconRatio\1:1\ammoCounterClip\None\startAmmo\0\ammoDisplayName\\ammoName\staff_gun\clipName\staff_gun\maxAmmo\0\clipSize\4\shotCount\0\sharedAmmoCapName\\sharedAmmoCap\0\unlimitedAmmo\0\ammoCountClipRelative\0\sharedAmmo\0\jamFireTime\0\overheatWeapon\0\overheatRate\60\cooldownRate\30\overheatEndVal\0\coolWhileFiring\0\fuelTankWeapon\0\tankLifeTime\0\damage\10000\minDamage\0\maxDamageRange\999999\minDamageRange\999999\damage2\0\damage3\0\damage4\0\damage5\0\damageRange2\0\damageRange3\0\damageRange4\0\damageRange5\0\damageDuration\0\damageInterval\0\playerDamage\0\meleeDamage\25\minPlayerDamage\0\destabilizationRateTime\0\destabilizationCurvatureMax\0\destabilizeDistance\0\fireDelay\0\meleeDelay\0.25\meleeChargeDelay\0\spinUpTime\0\spinDownTime\0\spinRate\0\spinLoopSound\\spinLoopSoundPlayer\\startSpinSound\\startSpinSoundPlayer\\stopSpinSound\\stopSpinSoundPlayer\\applySpinPitch\0\introFireTime\0\introFireLength\0\fireTime\0.5\flourishTime\0.5\lastFireTime\0\rechamberTime\0.1\rechamberBoltTime\0\holdFireTime\0\burstFireDelay\0\detonateTime\0\detonateDelay\0\meleeTime\0.7\meleeChargeTime\0\reloadTime\0\reloadShowRocketTime\0\reloadEmptyTime\0\reloadAddTime\0\reloadEmptyAddTime\0\reloadQuickAddTime\0\reloadQuickEmptyAddTime\0\reloadStartTime\0\reloadStartAddTime\0\reloadEndTime\0\reloadQuickTime\0\reloadQuickEmptyTime\0\dropTime\0.3\raiseTime\0.5\altDropTime\0\altRaiseTime\0\quickDropTime\0.25\quickRaiseTime\0.25\firstRaiseTime\0.5\emptyRaiseTime\0.5\emptyDropTime\0.5\sprintInTime\0.2\sprintLoopTime\0.7\sprintOutTime\0.3\lowReadyInTime\0.5\lowReadyLoopTime\0.5\lowReadyOutTime\0.5\contFireInTime\0\contFireLoopTime\0\contFireOutTime\0\dtpInTime\0.2\dtpLoopTime\0.7\dtpOutTime\0.25\crawlInTime\0.3\crawlForwardTime\1.1\crawlBackTime\1\crawlRightTime\1.2\crawlLeftTime\1.1\crawlOutFireTime\0.064\crawlOutTime\0.3\slideInTime\0.5\deployTime\0\breakdownTime\0\nightVisionWearTime\0.5\nightVisionWearTimeFadeOutEnd\0\nightVisionWearTimePowerUp\0\nightVisionRemoveTime\0.5\nightVisionRemoveTimePowerDown\0\nightVisionRemoveTimeFadeInStart\0\fuseTime\0\aifuseTime\0\lockOnRadius\60\lockOnSpeed\2000\requireLockonToFire\0\noAdsWhenMagEmpty\0\avoidDropCleanup\0\stackFire\0\stackFireSpread\15\stackFireAccuracyDecay\0\stackSound\\autoAimRange\500\aimAssistRange\3200\aimAssistRangeAds\3200\mountableWeapon\0\aimPadding\0\enemyCrosshairRange\320\crosshairColorChange\1\moveSpeedScale\1\adsMoveSpeedScale\1\sprintDurationScale\1\idleCrouchFactor\0.8\idleProneFactor\0.4\gunMaxPitch\2\gunMaxYaw\8\swayMaxAngle\10\swayLerpSpeed\5\swayPitchScale\0.1\swayYawScale\0.1\swayHorizScale\0.05\swayVertScale\0.1\swayShellShockScale\5\adsSwayMaxAngle\8\adsSwayLerpSpeed\6\adsSwayPitchScale\0.1\adsSwayYawScale\0.1\adsSwayHorizScale\0.04\adsSwayVertScale\0.12\meleeChargeRange\0\rifleBullet\0\armorPiercing\0\boltAction\0\shotsBeforeRechamber\0\useAltTagFlash\0\useAntiLagRewind\0\isCarriedKillstreakWeapon\0\aimDownSight\0\rechamberWhileAds\0\reloadWhileAds\0\adsViewErrorMin\0\adsViewErrorMax\0\clipOnly\0\canUseInVehicle\0\noDropsOrRaises\0\cookOffHold\0\adsFire\0\cancelAutoHolsterWhenEmpty\0\suppressAmmoReserveDisplay\1\laserSight\0\laserSightDuringNightvision\0\bayonet\0\dualWield\0\hideThirdPerson\0\explodeOnGround\0\throwBack\0\retrievable\0\dieOnRespawn\0\noThirdPersonDropsOrRaises\0\continuousFire\0\useAsMelee\0\antiQuickScope\0\noPing\1\forceBounce\0\useDroppedModelAsStowed\0\noQuickDropWhenEmpty\0\keepCrosshairWhenADS\1\useOnlyAltWeaoponHideTagsInAltMode\0\altWeaponAdsOnly\0\altWeaponDisableSwitching\0\killIcon\hud_icon_m16a4_grenade\killIconRatio\4:1\flipKillIcon\1\dpadIcon\zom_hud_staff_dpad_icon\dpadIconRatio\1:1\noAmmoOnDpadIcon\0\noPartialReload\0\segmentedReload\0\noADSAutoReload\0\reloadAmmoAdd\0\reloadStartAdd\0\attachmentUnique\\altWeapon\\DualWieldWeapon\\grenadeWeapon\\dropAmmoMin\150\dropAmmoMax\150\dropClipAmmoMin\0\dropClipAmmoMax\0\blocksProne\0\silenced\0\dualMag\0\infrared\0\tvguided\0\airburstWeapon\0\perks1\0\perks0\0\isRollingGrenade\0\useBallisticPrediction\0\isValuable\0\isTacticalInsertion\0\isReviveWeapon\1\bUseRigidBodyOnVehicle\0\showIndicator\0\explosionRadius\64\explosionRadiusMin\0\indicatorRadius\0\explosionInnerDamage\10000\explosionOuterDamage\10000\damageConeAngle\180\projectileSpeed\500\projectileSpeedRelativeUp\0\projectileSpeedUp\0\projectileSpeedForward\0\projectileTakeParentVel\0\projectileActivateDist\0\projectileLifetime\5\timeToAccelerate\0\projectileCurvature\0\projectileModel\tag_flash_none\projExplosionType\rocket\projExplosionEffect\\projExplosionEffectForceNormalUp\0\projExplosionEffect2\\projExplosionEffect2ForceNormalUp\0\projExplosionEffect3\\projExplosionEffect3ForceNormalUp\0\projExplosionEffect4\\projExplosionEffect4ForceNormalUp\0\projExplosionEffect5\\projExplosionEffect5ForceNormalUp\0\projExplosionSound\wpn_revivestaff_proj_impact\projDudEffect\\projDudSound\\projImpactExplode\1\sentientImpactExplode\0\explodeWhenStationary\0\bulletImpactExplode\0\mortarShellSound\\tankShellSound\\stickiness\Don't stick\rotateType\Rotate both axis, grenade style\hasDetonator\0\plantable\0\timedDetonation\0\noCrumpleMissile\0\rotate\0\keepRolling\0\holdButtonToThrow\0\offhandHoldIsCancelable\0\freezeMovementWhenFiring\0\lowAmmoWarningThreshold\0.33\explosionTag\\bDisallowAtMatchStart\0\isCameraSensor\0\isAcousticSensor\0\isLaserSensor\0\isHoldUseGrenade\0\parallelDefaultBounce\0.5\parallelAsphaltBounce\0.5\parallelBarkBounce\0.5\parallelBrickBounce\0.5\parallelCarpetBounce\0.5\parallelCeramicBounce\0.5\parallelClothBounce\0.5\parallelConcreteBounce\0.5\parallelCushionBounce\0.5\parallelDirtBounce\0.5\parallelFleshBounce\0.5\parallelFoliageBounce\0.5\parallelFruitBounce\0.5\parallelGlassBounce\0.5\parallelGrassBounce\0.5\parallelGravelBounce\0.5\parallelIceBounce\0.5\parallelMetalBounce\0.5\parallelMudBounce\0.5\parallelPaintedMetalBounce\0.5\parallelPaperBounce\0.5\parallelPlasterBounce\0.5\parallelPlasticBounce\0.5\parallelRockBounce\0.5\parallelRubberBounce\0.5\parallelSandBounce\0.5\parallelSnowBounce\0.5\parallelWaterBounce\0.5\parallelWoodBounce\0.5\parallelRiotShieldBounce\0.5\perpendicularDefaultBounce\0.5\perpendicularAsphaltBounce\0.5\perpendicularBarkBounce\0.5\perpendicularBrickBounce\0.5\perpendicularCarpetBounce\0.5\perpendicularCeramicBounce\0.5\perpendicularClothBounce\0.5\perpendicularConcreteBounce\0.5\perpendicularCushionBounce\0.5\perpendicularDirtBounce\0.5\perpendicularFleshBounce\0.5\perpendicularFoliageBounce\0.5\perpendicularFruitBounce\0.5\perpendicularGlassBounce\0.5\perpendicularGrassBounce\0.5\perpendicularGravelBounce\0.5\perpendicularIceBounce\0.5\perpendicularMetalBounce\0.5\perpendicularMudBounce\0.5\perpendicularPaintedMetalBounce\0.5\perpendicularPaperBounce\0.5\perpendicularPlasterBounce\0.5\perpendicularPlasticBounce\0.5\perpendicularRockBounce\0.5\perpendicularRubberBounce\0.5\perpendicularSandBounce\0.5\perpendicularSnowBounce\0.5\perpendicularWaterBounce\0.5\perpendicularWoodBounce\0.5\perpendicularRiotShieldBounce\0.5\projTrailEffect\maps/zombie_tomb/fx_tomb_veh_quadrotor_revive_health\projectileRed\1\projectileGreen\1\projectileBlue\1\guidedMissileType\None\maxSteeringAccel\3000\projIgnitionDelay\0\projIgnitionEffect\\projIgnitionSound\\tagFx_preparationEffect\\tagFlash_preparationEffect\\adsTransInTime\0.45\adsTransOutTime\0.4\adsIdleAmount\2\adsIdleSpeed\0.8\adsZoomFov1\65\adsZoomFov2\65\adsZoomFov3\65\adsZoomInFrac\0.75\adsZoomOutFrac\0.7\adsOverlayShader\\adsOverlayShaderLowRes\\adsOverlayReticle\none\adsOverlayInterface\None\adsOverlayWidth\220\adsOverlayHeight\220\adsOverlayAlphaScale\1\adsBobFactor\0.5\adsViewBobMult\0.25\holdBreathToSteady\0\adsAimPitch\0\adsCrosshairInFrac\0.09\adsCrosshairOutFrac\0.7\adsReloadTransTime\0.3\adsGunKickReducedKickBullets\0\adsGunKickReducedKickPercent\0\adsGunKickPitchMin\-35\adsGunKickPitchMax\-40\adsGunKickYawMin\0\adsGunKickYawMax\0\adsGunKickAccel\825\adsGunKickSpeedMax\2000\adsGunKickSpeedDecay\25\adsGunKickStaticDecay\100\adsViewKickPitchMin\40\adsViewKickPitchMax\55\adsViewKickMinMagnitude\0\adsViewKickYawMin\25\adsViewKickYawMax\-25\adsRecoilReductionRate\0\adsRecoilReductionLimit\0\adsRecoilReturnRate\0\adsViewKickCenterSpeed\1300\adsViewKickCenterDuckedScale\1\adsViewKickCenterProneScale\1\adsSpread\0\antiQuickScopeTime\0\antiQuickScopeScale\0\antiQuickScopeSpreadMultiplier\0\antiQuickScopeSpreadMax\0\antiQuickScopeSwayFactor\0\hipSpreadStandMin\0\hipSpreadDuckedMin\0\hipSpreadProneMin\0\hipSpreadMax\0\hipSpreadDuckedMax\0\hipSpreadProneMax\0\hipSpreadDecayRate\2.25\hipSpreadFireAdd\1\hipSpreadTurnAdd\0.25\hipSpreadMoveAdd\0.5\hipSpreadDuckedDecay\1.25\hipSpreadProneDecay\1.65\hipReticleSidePos\0\hipIdleAmount\30\hipIdleSpeed\1\hipGunKickReducedKickBullets\0\hipGunKickReducedKickPercent\0\hipGunKickPitchMin\-30\hipGunKickPitchMax\-35\hipGunKickYawMin\-2\hipGunKickYawMax\18\hipGunKickAccel\1000\hipGunKickSpeedMax\1200\hipGunKickSpeedDecay\100\hipGunKickStaticDecay\2\hipViewKickPitchMin\100\hipViewKickPitchMax\110\hipViewKickMinMagnitude\0\hipViewKickYawMin\30\hipViewKickYawMax\-60\hipViewKickCenterSpeed\1200\leftArc\0\rightArc\0\topArc\0\bottomArc\0\accuracy\0\aiSpread\0\playerSpread\0\maxVertTurnSpeed\0\maxHorTurnSpeed\0\minVertTurnSpeed\0\minHorTurnSpeed\0\pitchConvergenceTime\0\yawConvergenceTime\0\suppressionTime\0\maxRange\0\animHorRotateInc\0\playerPositionDist\0\stance\stand\useHintString\\dropHintString\\horizViewJitter\0\vertViewJitter\0\cameraShakeScale\0\cameraShakeDuration\0\cameraShakeRadius\0\explosionCameraShakeScale\0.5\explosionCameraShakeDuration\500\explosionCameraShakeRadius\512\fightDist\720\maxDist\680\aiVsAiAccuracyGraph\zombie_tesla.accu\aiVsPlayerAccuracyGraph\pistol.accu\locNone\1\locHelmet\4\locHead\4\locNeck\4\locTorsoUpper\1\locTorsoMid\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\fireRumble\lmg_fire\meleeImpactRumble\\reloadRumble\\explosionRumble\\tracerType\\enemyTracerType\\adsDofStart\0\adsDofEnd\11\scanSpeed\0\scanAccel\0\scanPauseTime\0\flameTableFirstPerson\\flameTableThirdPerson\\mmsWeapon\0\mmsInScope\0\mmsFOV\0\mmsAspect\0\mmsMaxDist\0\ikLeftHandIdlePosF\0\ikLeftHandIdlePosR\0\ikLeftHandIdlePosU\0\ikLeftHandOffsetF\-4.3\ikLeftHandOffsetR\0.1\ikLeftHandOffsetU\-1\ikLeftHandRotationP\26\ikLeftHandRotationY\0\ikLeftHandRotationR\0\usingLeftHandProneIK\0\ikLeftHandProneOffsetF\0\ikLeftHandProneOffsetR\0\ikLeftHandProneOffsetU\0\ikLeftHandProneRotationP\0\ikLeftHandProneRotationY\0\ikLeftHandProneRotationR\0\ikLeftHandUiViewerOffsetF\0\ikLeftHandUiViewerOffsetR\0\ikLeftHandUiViewerOffsetU\0\ikLeftHandUiViewerRotationP\0\ikLeftHandUiViewerRotationY\0\ikLeftHandUiViewerRotationR\0\parentWeaponName\staff_revive\doGibbing\0\maxGibDistance\0\altScopeADSTransInTime\0\altScopeADSTransOutTime\0\meleeSwipeEffect\\meleeImpactEffect\\meleeImpactNoBloodEffect\\throwBackType\\camo\camo_staff\customFloat0\0\customFloat1\0\customFloat2\0\customBool0\0\customBool1\0\customBool2\0\attachments\\attachmentUniques\ \ No newline at end of file