diff --git a/Core.lua b/Core.lua
index 9d2f07c462..fb1517d5ba 100644
--- a/Core.lua
+++ b/Core.lua
@@ -271,6 +271,7 @@ function restoration:Init()
"cane", --Santa's Workshop
"brb", --Brooklyn Bank
"mus", --The Diamond
+ "born", --Biker 1
"run", --Heat Street
"ranc", --Midland Ranch
"sah", --Shacklethorne
@@ -341,8 +342,7 @@ function restoration:Init()
"vit", --White House
"nmh", --No Mercy
"des", --Henry's Rock
- "bph", --Hell's Island
- "born", --Biker 1
+ "bph", --Hell's Island
"fex", --Buluc's Mansion
--Skirmish heists below
"skmc_mad",
diff --git a/addMISC.xml b/addMISC.xml
index fd44634fa1..76a8bde97b 100644
--- a/addMISC.xml
+++ b/addMISC.xml
@@ -1,5 +1,7 @@
+
+
diff --git a/addSC.xml b/addSC.xml
index 647647c604..af4fa5a76a 100644
--- a/addSC.xml
+++ b/addSC.xml
@@ -945,8 +945,11 @@
-
-
+
+
+
+
+
@@ -967,6 +970,11 @@
+
+
+
+
+
diff --git a/addhudmisc.xml b/addhudmisc.xml
index d536bcbc10..afcfc3ee49 100644
--- a/addhudmisc.xml
+++ b/addhudmisc.xml
@@ -55,6 +55,7 @@
+
diff --git a/assets/guis/textures/restoration/mission_briefing/shayu.texture b/assets/guis/textures/restoration/mission_briefing/shayu.texture
new file mode 100644
index 0000000000..c3ed3d73a8
Binary files /dev/null and b/assets/guis/textures/restoration/mission_briefing/shayu.texture differ
diff --git a/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx.sequence_manager b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx.sequence_manager
new file mode 100644
index 0000000000..5c8e78a982
Binary files /dev/null and b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx.sequence_manager differ
diff --git a/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx.unit b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx.unit
new file mode 100644
index 0000000000..44c2c7b99b
--- /dev/null
+++ b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx.unit
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx_dummy.unit b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx_dummy.unit
new file mode 100644
index 0000000000..5584b2a7d5
--- /dev/null
+++ b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_phalanx/ene_acc_shield_phalanx_dummy.unit
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip.sequence_manager b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip.sequence_manager
new file mode 100644
index 0000000000..18f51a20eb
Binary files /dev/null and b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip.sequence_manager differ
diff --git a/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip.unit b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip.unit
new file mode 100644
index 0000000000..94ca6f208b
--- /dev/null
+++ b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip.unit
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip_dummy.unit b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip_dummy.unit
new file mode 100644
index 0000000000..a13221c0db
--- /dev/null
+++ b/assets/units/pd2_dlc_vip/characters/ene_acc_shield_vip/ene_acc_shield_vip_dummy.unit
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1.unit b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1.unit
index 4e6627d0b0..7650f65d1c 100644
--- a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1.unit
+++ b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1.unit
@@ -15,6 +15,10 @@
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1_husk.unit b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1_husk.unit
index c17fd64c07..77e4f6f488 100644
--- a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1_husk.unit
+++ b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1/ene_phalanx_1_husk.unit
@@ -14,9 +14,13 @@
+
+
+
+
-
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
index c93854a630..f2f59c5d67 100644
--- a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
+++ b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
@@ -5,7 +5,6 @@
-
@@ -16,6 +15,10 @@
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
index f47567d760..d38cace2b3 100644
--- a/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
+++ b/assets/units/pd2_dlc_vip/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
@@ -5,7 +5,7 @@
-
+
@@ -15,9 +15,13 @@
+
+
+
+
-
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1.unit b/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1.unit
index c821b67b2b..15a352ddef 100644
--- a/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1.unit
+++ b/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1.unit
@@ -15,6 +15,10 @@
+
+
+
+
diff --git a/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1_husk.unit b/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1_husk.unit
index ef1d83bc11..7e76719461 100644
--- a/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1_husk.unit
+++ b/assets/units/pd2_dlc_vip/characters/ene_vip_1/ene_vip_1_husk.unit
@@ -5,7 +5,7 @@
-
+
@@ -15,9 +15,13 @@
+
+
+
+
-
+
diff --git a/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit b/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
index a0ad1af181..afa1185d97 100644
--- a/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
+++ b/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
@@ -16,6 +16,10 @@
+
+
+
+
diff --git a/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit b/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
index d91c783e2c..bbc147fb31 100644
--- a/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
+++ b/assets/units/pd2_mod_halloween/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
@@ -15,6 +15,10 @@
+
+
+
+
diff --git a/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx.unit b/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx.unit
index 54715bfa1d..8b49c53a72 100644
--- a/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx.unit
+++ b/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx.unit
@@ -1,10 +1,29 @@
+
-
+
+
+
-
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx_dummy.unit b/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx_dummy.unit
new file mode 100644
index 0000000000..419f7b2dea
--- /dev/null
+++ b/assets/units/pd2_mod_reapers/characters/ene_acc_shield_akan_phalanx/ene_acc_shield_akan_phalanx_dummy.unit
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/units/pd2_mod_reapers/characters/ene_drak_hrt_2/ene_drak_hrt_2.object b/assets/units/pd2_mod_reapers/characters/ene_drak_hrt_2/ene_drak_hrt_2.object
index 293e6e5ee1..4a2d6f6676 100644
--- a/assets/units/pd2_mod_reapers/characters/ene_drak_hrt_2/ene_drak_hrt_2.object
+++ b/assets/units/pd2_mod_reapers/characters/ene_drak_hrt_2/ene_drak_hrt_2.object
@@ -196,7 +196,7 @@
-
-
+
diff --git a/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit b/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
index a411a81c05..6a0001d229 100644
--- a/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
+++ b/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault.unit
@@ -17,6 +17,10 @@
+
+
+
+
diff --git a/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit b/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
index f6e11087bc..29357bd383 100644
--- a/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
+++ b/assets/units/pd2_mod_reapers/characters/ene_phalanx_1_assault/ene_phalanx_1_assault_husk.unit
@@ -6,7 +6,7 @@
-
+
@@ -16,9 +16,13 @@
+
+
+
+
-
+
diff --git a/lua/managers/hud/HUDMissionBriefing.lua b/lua/managers/hud/HUDMissionBriefing.lua
index b938976067..aa6a6b26bf 100644
--- a/lua/managers/hud/HUDMissionBriefing.lua
+++ b/lua/managers/hud/HUDMissionBriefing.lua
@@ -749,8 +749,8 @@ function HUDMissionBriefing:set_contact_info(contact, interupt)
shatter = "guis/textures/restoration/mission_briefing/shatter",
akashic = "guis/textures/pd2/mission_briefing/hector/contact",
jiufeng = "guis/textures/restoration/mission_briefing/jiufeng",
- shayu = "guis/textures/restoration/mission_briefing/event", -- Maybe someday she get own portrait
- mcshay = "guis/textures/restoration/mission_briefing/mcshay",
+ shayu = "guis/textures/restoration/mission_briefing/shayu",
+ mcshay = "guis/textures/restoration/mission_briefing/mcshay",
blaine = "guis/textures/restoration/mission_briefing/blaine",
--Support for "Campaign Contract Sorting" mod (aka thanks OVK that you made random contractors and give them only 1 heist)
silkroad = "guis/textures/restoration/mission_briefing/locke",
@@ -778,8 +778,9 @@ function HUDMissionBriefing:set_contact_info(contact, interupt)
shatter = "guis/textures/restoration/mission_briefing/shatter_pattern",
akashic = "guis/textures/pd2/mission_briefing/hector/bd_pattern",
jiufeng = "guis/dlcs/chas/textures/pd2/mission_briefing/bd_pattern", --Maybe someday they'll make this unique.
- shayu = "guis/dlcs/chas/textures/pd2/mission_briefing/bd_pattern",
- mcshay = "guis/textures/pd2/mission_briefing/bain/bd_pattern",
+ shayu = "guis/textures/pd2/mission_briefing/interupt/bd_pattern", --Need to make unique patterns
+ mcshay = "guis/textures/pd2/mission_briefing/interupt/bd_pattern",
+ blaine = "guis/textures/pd2/mission_briefing/interupt/bd_pattern",
skirmish = "guis/textures/restoration/mission_briefing/shatter_pattern"
}
local pattern = "guis/textures/pd2/mission_briefing/".. contact .."/bd_pattern"
diff --git a/lua/sc/loc/loc.lua b/lua/sc/loc/loc.lua
index bb46785ef2..7d514c1c98 100644
--- a/lua/sc/loc/loc.lua
+++ b/lua/sc/loc/loc.lua
@@ -195,11 +195,13 @@ Hooks:Add("LocalizationManagerPostInit", "ResMod_english_Localization", function
["RestorationModSprintCancelTitleID"] = "Evasion Aced Sprint Cancels Reload",
["RestorationModSprintCancelDescID"] = "Toggle whether or not if *STARTING* a sprint will cancel any on-going reload when you have aced the \"Evasion\" skill. Reloading while actively sprinting is unaffected.",
["RestorationModQueuedShootingTitleID"] = "Buffer Fire Inputs",
- ["RestorationModQueuedShootingDescID"] = "Enable/disable fire input buffering for semi-auto weapons to assist with oversampling (sending inputs faster than the weapon can fire).",
- ["RestorationModQueuedShootingWindowTitleID"] = "Buffer Fire Input Sensitivity",
- ["RestorationModQueuedShootingWindowDescID"] = "Determines the window of time for your fire input to be buffered based on a % of the weapon's fire time delay. Higher value = earlier buffer",
- ["RestorationModQueuedShootingExcludeTitleID"] = "Buffer Inputs Fire Rate Limit",
+ ["RestorationModQueuedShootingDescID"] = "Enable/disable fire input buffering for semi-auto and weapons to assist with oversampling (sending inputs faster than the weapon can fire).",
+ ["RestorationModQueuedShootingWindowTitleID"] = "Single-Fire Buffer Sensitivity",
+ ["RestorationModQueuedShootingWindowDescID"] = "Determines the time window for your fire inputs to be buffered based on a % of the weapon's fire time delay. Higher value = earlier buffer",
+ ["RestorationModQueuedShootingExcludeTitleID"] = "Single-Fire Input Buffer Firerate Limit",
["RestorationModQueuedShootingExcludeDescID"] = "Limits the buffering of fire inputs to weapons that fire *above* the fire rate (RPM) set by this option.",
+ ["RestorationModQueuedShootingMidBurstTitleID"] = "Burstfire Mid-Burst Input Buffer",
+ ["RestorationModQueuedShootingMidBurstDescID"] = "Buffer fire inputs made *during* a burst.",
["RestorationModNoADSRecoilAnimsTitleID"] = "No ADS Recoil Animations",
["RestorationModNoADSRecoilAnimsDescID"] = "Enable/disable ADS recoil animations. Some weapons are not affected by this option (i.e. Manually operated guns, bows, flamethrowers)",
["RestorationModNoSwapOnReviveTitleID"] = "No Forced Weapon Swap on Revive",
@@ -939,6 +941,8 @@ Hooks:Add("LocalizationManagerPostInit", "ResMod_english_Localization", function
["menu_state_loading"] = "Loading",
["menu_state_ingame"] = "Ingame",
+ ["menu_description"] = "The Plan",
+
-- ///Stuff ripped from the various locale files we had ///
--Halloween Dozer Sword
@@ -1886,7 +1890,69 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_grenade_damage_control"] = "Hip Flask",
["bm_grenade_smoke_screen_grenade_desc"] = "Radius: #{skill_color}#4m## \nDuration: #{skill_color}#12s## \nFuse: #{skill_color}#1 second after remaining stationary## \n\nDrop one of these and you'll vanish in a cloud of smoke, leaving your enemies struggling to take aim at you.",
- --WEAPON & ATTACHMENT DESCRIPTIONS
+ --WEAPON & ATTACHMENT DESCRIPTIONS
+ --[[ MANUFACTURERS ]]
+ --In-Universe Manufacturer deets
+ --Crosskill/Corvus (Payday/OTWD) = Colt
+ --DSC [Defense System Crosskill] (PD2) = Saco Defense
+ --Simmons Armory (PD2) = Springfield Armory
+ --same acronym lol
+ --Bernetti = Beretta
+ --Chimano/Stryk = Glock
+ --SG = HK (Heckler Und Koch)
+ --Signature/FIK (PD2/OTWD + PD3) = Sig Sauer
+ --Signature = European Branches, FIK = American Branch?
+ --VF (OTWD + PD3) = FNH
+ --Lakner (PD2) = Walther
+ --Kang Arms (PD2) = Norinco
+ --Northwest (PD3) = China South Industries Group
+ --Touro = Taurus (lmao)
+ --LWI [Lion Weapon Inc.] (PD2) = Kel-Tec
+ --LWI was Taken from the incredibly hard to read text on the right side of the SUB2000
+ --ITI (OTWD) = IMI/IWI
+ --CR/TKA (PD2/OTWD) = CZ
+ --TTO [Tecci Tactical Operations] (PD2) = Taran Tactical
+ --Ferino (OTWD) = Franchi
+ --Moretti (PD2) = Benelli(?)
+ --Stefan (PD2) = Steyr
+ --Wasp = Magpul
+ --idunno
+ --Repeater/Eaton (PD2/OTWD) = Winchester
+ --Rangehitter (PD2) = Marlin
+ --"Rangehitter" was bummed off it's original "Bernetti Rangehitter" name as "Bernetti"/Beretta doesn't make the SBL
+
+ ["manufacturer_colt"] = "Crosskill",
+ ["manufacturer_saco"] = "DSC",
+ ["manufacturer_springfield"] = "Simmons",
+ ["manufacturer_sigusa"] = "FIK",
+ ["manufacturer_keltec"] = "LWI",
+ ["manufacturer_winchester"] = "Eaton",
+ ["manufacturer_marlin"] = "Rangehitter",
+ ["manufacturer_swesson"] = "J&M",
+
+ ["manufacturer_fnh"] = "VF",
+ ["manufacturer_sig"] = "Signature",
+ ["manufacturer_hk"] = "S&G",
+ ["manufacturer_walther"] = "Lakner",
+ ["manufacturer_steyr"] = "Stefan",
+ ["manufacturer_glock"] = "Chimano",
+
+ ["manufacturer_benelli"] = "Moretti",
+ ["manufacturer_franchi"] = "Ferino",
+ ["manufacturer_beretta"] = "Bernetti",
+
+ ["manufacturer_kalashnikov"] = "IZMHA",
+ ["manufacturer_tula"] = "IZMHA",
+ ["manufacturer_cz"] = "TKA",
+
+ ["manufacturer_imi"] = "ITI",
+
+ ["manufacturer_taurus"] = "Touro",
+
+ ["manufacturer_chinaindustries"] = "Northwest",
+ ["manufacturer_norinco"] = "Kang Arms",
+
+
--Contains anything that should always be set regardless of the weapon names option chosen like descriptions or Resmod added weapons and attachments
--[[ RESMOD WEAPONS + ATTACHMENTS ]]
--socom deez nuts--
@@ -1918,6 +1984,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
--10-0
["bm_wp_upg_i_tekna"] = "Tekna Burst Kit",
["bm_wp_upg_i_tekna_desc"] = "Locks this weapon to fire in #{risk}#3-round bursts##; pair it with a #{skill_color}#glaive## maybe?",
+ ["bm_wally_desc"] = "#{important_2}#Hey kiddo...##",
--AMR16--
["bm_wp_upg_i_m16a2"] = "AMR-16 B3 Kit",
["bm_wp_upg_i_m16a2_desc"] = "Trade full-auto for a #{skill_color}#3-round burst## setting. #{risk}#Burst#{skill_color}# fire rate is #{skill_color}#increased to 950 RPM.##",
@@ -2072,6 +2139,8 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
--SAA/Peacemaker
["bm_ap_weapon_peacemaker_sc_desc"] = "#{risk}#The greatest handgun ever made.##\n\n#{skill_color}#Can pierce body armor, multiple enemies, shields and thin walls.##\n\nCan be #{skill_color}#fanned for an increased fire rate## at the cost of #{important_1}#more recoil, reduced effective range and the inabilty to aim down your sights.##",
--CUSTOM PISTOLS
+ --M2019 Blaster
+ ["thatgun_desc"] = "It's the gun!\n\nYou know, that gun!\n\n#{skill_color}#Deals 50% of its damage through body armor and can pierce multiple enemies.##",
--Malorian 3516
["whydoyoucome"] = "The only one of its kind, made specially for rockerboy Johnny Silverhand.\n\n#{skill_color}#Can pierce multiple enemies and their body armor.\nRounds ricochet off surfaces while firing from the hip and pierce walls while aiming.\nWeapon Butt attacks shoot out a short ranged wave of fire.##",
--Colt Detective
@@ -2238,6 +2307,8 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
--Akimbo Krinkov
["bm_x_akmsu_sc_desc"] = "A small rifle useful for taking down big men. Not to be underestimated as this rifle can hold its own in just about any scenario.",
--CUSTOM ARs
+ --QBZ-191
+ ["bm_qbz191_sc_desc"] = "Next generation Chinese assault rifle chambered in 5.8x42mm.\n\n#{skill_color}#Deals 25% of its damage through body armor.##",
--AN-94/92
["bm_tilt_sc_desc"] = "#{risk}#The first 2 rounds of each trigger pull## are fired at #{skill_color}#3x the rate of fire.##",
--NV4
@@ -2400,38 +2471,6 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
if weapon_names <= 2 then --Resmod names
LocalizationManager:add_localized_strings({
- --In-Universe Manufacturer deets
-
- --Crosskill/Corvus (Payday/OTWD) = Colt
- --DSC [Defense System Crosskill] (PD2) = Saco Defense
- --Simmons Armory (PD2) = Springfield Armory
- --same acronym lol
- --Bernetti = Beretta
- --Chimano/Stryk = Glock
- --SG = HK (Heckler Und Koch)
- --Signature/FIK (PD2/OTWD + PD3) = Sig Sauer
- --Signature = European Branches, FIK = American Branch?
- --VF (OTWD + PD3) = FNH
- --Lakner (PD2) = Walther
- --Kang Arms (PD2) = Norinco
- --Northwest (PD3) = China South Industries Group
- --Public Defender (PD2) = Taurus (lmao)
- --LWI [Lion Weapon Inc.] (PD2) = Kel-Tec
- --LWI was Taken from the incredibly hard to read text on the right side of the SUB2000
- --ITI (OTWD) = IMI/IWI
- --CR/TKA (PD2/OTWD) = CZ
- --TTO [Tecci Tactical Operations] (PD2) = Taran Tactical
- --Ferino (OTWD) = Franchi
- --Moretti (PD2) = Benelli(?)
- --Stefan (PD2) = Steyr
- --Wasp = Magpul
- --idunno
- --Repeater/Eaton (PD2/OTWD) = Winchester
- --Combine the names into "Repeaton" maybe?
- --Rangehitter (PD2) = Marlin
- --"Rangehitter" was bummed off it's original "Bernetti Rangehitter" name as "Bernetti"/Beretta doesn't make the SBL
-
-
--[[ PISTOLS ]]
--Gecko Pistol
["bm_w_maxim9"] = "Magnus 9",
@@ -2494,6 +2533,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_wp_1911_m_big"] = "Casket Magazine",
--Crosskill Chunky
["bm_w_m1911"] = "Crosskill A1",
+ ["bm_w_x_m1911"] = "Price & MacTavish",
--Crosskill Guard
["bm_w_shrew"] = "Crosskill Guard",
["bm_w_x_shrew"] = "Barry & Paul",
@@ -2746,6 +2786,8 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
--Akimbo Krinkov
["bm_w_x_akmsu"] = "Akimbo Krinkovs",
--CUSTOM ARs
+ --QBZ-191
+ ["bm_w_pd3_qbz191"] = "Northwest B-9",
--AN-94/92
["bm_w_tilt"] = "KVK-99",
--HK G36
@@ -2878,9 +2920,11 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
LocalizationManager:add_localized_strings({
["bm_w_pl14"] = "WS-14",
+ ["bm_w_x_pl14"] = "Akimbo WS-14s",
["bm_w_g22c"] = "Chimano 22C",
["bm_w_x_g22c"] = "Akimbo Chimano 22Cs",
["bm_w_x_1911"] = "Akimbo Operator IIs",
+ ["bm_w_x_m1911"] = "Akimbo Crosskill A1s",
["bm_w_x_sparrow"] = "Akimbo Sparrows",
["bm_w_scar"] = "VF-7S",
["bm_w_scarl"] = "VF-6M",
@@ -4078,8 +4122,8 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_gameplay_res_5"] = "Cloakers can easily counter lone or cut off heisters.",
["loading_gameplay_res_6"] = "Cloakers deal direct health damage when they kick you. This can be reduced with Deflection or the Counter Strike skill.",
["loading_gameplay_res_7"] = "Green Bulldozers deal high amounts of damage and can often break even the heaviest of armors with a single shot.",
- ["loading_gameplay_res_8"] = "Saiga/Black Bulldozers trade damage for high rate of fire and boast an impressive drum magazine.",
- ["loading_gameplay_res_9"] = "LMG Dozers/Skulldozers lay down heavy suppressive fire and will fire until their belts are empty.",
+ ["loading_gameplay_res_8"] = "Saiga/Black Bulldozers trade damage for high rate of fire and boast an impressive drum magazine. They also run faster than other dozers but have much less health.",
+ ["loading_gameplay_res_9"] = "LMG Dozers/Skulldozers lay down heavy suppressive fire that knockbacks on close range and will fire until their belts are empty. Their top armor can take up more damage than regular dozer but move as slow as Titandozers.",
["loading_gameplay_res_10"] = "Benelli Shotgunner Dozers replace Minigun Dozers, high rate of fire and good damage. An unholy union of Green and Black dozers.",
["loading_gameplay_res_11"] = "Target priority is important. A Bulldozer of any type is worth more attention than a Light SWAT.",
["loading_gameplay_res_12"] = "On Death Sentence, Bulldozers enter a berserker rage when their glass visors are broken, increasing their damage by 10%.",
@@ -4103,37 +4147,39 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_new_units_res_title"] = "Restoration Unit Tips",
["loading_new_units_res_1"] = "OMNIA ASUs will provide damage bonuses to nearby allies marked by giving them Yellow laser attachments.",
["loading_new_units_res_2"] = "LPFs are weak to melee.",
- ["loading_new_units_res_3"] = "Lighter units will be Overhealed by the LPF. Overhealed enemies are outlined in purple.",
+ ["loading_new_units_res_3"] = "Lighter units will be overhealed by the LPF. Enemies are outlined in purple during overhealing process.",
["loading_new_units_res_4"] = "Titan Cloakers have advanced cloaking gear that renders them nearly invisible, but it still has the ambient hum of older models of standard Cloaker gear.",
["loading_new_units_res_5"] = "Titan Dozers prefer putting distance between them and their target to unleash the full potential of their railguns undisturbed.",
["loading_new_units_res_6"] = "Titan Snipers trade damage-per-shot and armor-piercing from their standard counterparts for a higher rate of fire and being able to shoot while moving.",
["loading_new_units_res_7"] = "Instead of using a laser sight, Titan Sniper shots leave behind purple tracers.",
- ["loading_new_units_res_8"] = "Titan Shields can only be pierced with the Thanatos, OVE9000 Saw when using Rip and Tear basic, and special AP rounds in Sentry Guns.",
+ ["loading_new_units_res_8"] = "Titan Shields can be pierced with the Thanatos, OVE9000 Saw when using Rip and Tear basic or with special AP rounds in Sentry Guns. Even shooting their shield long enough can make them drop it; beware of their sudden tactic change when it happens.",
["loading_new_units_res_9"] = "Captain Spring and Titan Dozers take bonus headshot damage at all times.",
["loading_new_units_res_10"] = "Titan Tasers fire electric rounds that severely restrict your movement temporarily, indicated by a blue UI overlay.",
["loading_new_units_res_11"] = "Veteran Cops will drop Tear Gas grenades on death when killed by anything but a headshot.",
["loading_new_units_res_12"] = "Veteran Cops move quickly making shots harder to land.",
["loading_new_units_res_13"] = "The Riot Gear clad Titan SWAT are somewhat resistant to melee.",
["loading_new_units_res_14"] = "Titan SWAT cannot be taken hostage or converted to fight on your side.",
- ["loading_new_units_res_15"] = "Titan SWAT boast LMGs and automatic shotguns.",
+ ["loading_new_units_res_15"] = "Titan SWAT boast LMGs and automatic shotguns that either push back or concusses the enemy.",
["loading_new_units_res_16"] = "The dreaded Bravo units spawn on Pro Jobs only, when a PONR is triggered. They are powerful no-nonsense enemies with enhanced body armor, and more powerful weapons.",
["loading_new_units_res_17"] = "Bravo units can throw frag grenades. Mind your surroundings when you see them flashing and emitting a beeping countdown.",
["loading_new_units_res_18"] = "AKAN fields their own Titan units called D-Series, developed by their R&D firm DRAK.",
["loading_new_units_res_19"] = "The Grenadier launches tear gas grenades at range with his underbarrel attachment, damaging players that stand in the cloud. On Death Sentence he instead comes armed with deadlier, stamina-draining nerve gas grenades.",
+ ["loading_new_units_res_20"] = "Titan Shields have flashbang panels mounted on their shields. As a panel charges up, you can shoot it to stop it, breaking it and briefly stunning the wielder in the process.",
--Captain Hints
["loading_captains_res_title"] = "Restoration Captain Tips",
- ["loading_captains_res_1"] = "To take Captain Summers down, target his crew first starting with Doc. He's unkillable until his entire crew is dead, and the other two are nearly invulnerable until Doc is dead.",
+ ["loading_captains_res_1"] = "Captain Summers' high damage resistance drops as each member of his crew is taken out. Target Doc first as he can heal the rest of his crew so long as he's standing.",
["loading_captains_res_2"] = "Don't hug Captain Summers. He WILL melt you with his flamethrower.",
- ["loading_captains_res_3"] = "Captain Spring can take a ton of damage but will eventually go down. Watch for his grenades and take advantage of his immobility.",
+ ["loading_captains_res_3"] = "Captain Spring can take a ton of damage but will eventually go down. Watch for his grenades and take advantage of his low mobility.",
["loading_captains_res_4"] = "Captain Spring throws Cluster HE grenades periodically.",
- ["loading_captains_res_5"] = "Captain Spring may be dangerous, but he is incredibly slow and has poor range.",
+ ["loading_captains_res_5"] = "Captain Spring may be dangerous due to his knockback capabilites but he is incredibly slow and has poor range.",
["loading_captains_res_6"] = "Captain Autumn will loudly taunt when he attacks.",
- ["loading_captains_res_7"] = "Unlike other Captains, the police will not announce Autumn's arrival, as to not ruin the element of surprise.",
- ["loading_captains_res_8"] = "Captain Autumn will progressively disable your deployables if he's allowed to stay undetected in the map for a while. Disabled deployables are outlined in purple and can only be restored if Autumn is found and defeated.",
+ ["loading_captains_res_7"] = "Unlike other Captains, the police will not announce Autumn's arrival as to not ruin his element of surprise.",
+ ["loading_captains_res_8"] = "Captain Autumn will progressively disable your deployables if he's allowed to stay undetected when active for a while. Disabled deployables are outlined in purple and can only be restored if Autumn is found and defeated.",
["loading_captains_res_9"] = "You will probably not beat Captain Autumn in a fist fight. Don't even try.",
- ["loading_captains_res_10"] = "Captain Winters is nearly immune to explosives and fire, and has strong bullet resistance, but is somewhat vulnerable to melee.",
- ["loading_captains_res_11"] = "Captain Winters' shield is completely unpierceable.",
+ ["loading_captains_res_10"] = "Captain Winters has a strong resistance to bullets and even stronger ones to explosives and fire. Despite that, he is somewhat vulnerable to melee.",
+ ["loading_captains_res_11"] = "Captain Winters' shield cannot be pierced but it will break after soaking up enough damage; like Titan Shields, beware of his second phase.",
["loading_captains_res_12"] = "Captain Winters will wander the map, healing and overhealing nearby enemies.",
+ ["loading_captains_res_13"] = "Captain Winters' shield has flashbang panels like those used by Titan Shields; just keep in mind his flashbang panels don't break after being shot.",
--Stealth Hints
["loading_stealth_res_title"] = "Restoration Stealth Tips",
["loading_stealth_res_1"] = "The security Command Post will send guards to investigate malfunctioning cameras, allowing it to be used as a lure.",
@@ -4393,6 +4439,10 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["mutator_quickscope360"] = "Eagle Eye",
["mutator_quickscope360_desc"] = "Snipers now aim their rifles 100% faster.",
["mutator_quickscope360_longdesc"] = "Snipers now aim their rifles 100% faster.",
+
+ ["mutator_goldfarbdozers"] = "Double Trouble",
+ ["mutator_goldfarbdozers_desc"] = "All Bulldozers that spawn will always deploy in pairs.",
+ ["mutator_goldfarbdozers_longdesc"] = "All Bulldozers that spawn will always deploy in pairs.",
--Crime spree modifier changes
["cn_crime_spree_brief"] = "A Crime Spree is an endless series of randomly selected heists, executed in succession. With each heist you complete, your Rank and Reward will increase! Each 20th or 26th rank you will need to choose a modifier and each 100th rank there is an increase to the risk level, that will make the next heists harder to complete. After risk level 600, the amount of i-frames that player have starts to decrease and bravo units begin to spawn normally.\n\n##If you invite your crew, make sure they started their own Crime Spree before joining in order to gain ranks and Rewards as well.##",
["menu_cs_next_modifier_forced"] = "",
@@ -4421,6 +4471,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["menu_cs_modifier_cloaker_tear_gas"] = "All HRT units have an additional 15% chance to become a ASU unit.",
["menu_cs_modifier_dozer_lmg"] = "Whenever a Green or Black Bulldozer spawns, there is a chance that it will be replaced by a Skulldozer.",
["menu_cs_modifier_10secondsresponsetime"] = "All police assaults now start at maximum intensity.",
+ ["menu_cs_modifier_dozerpairs"] = "Bulldozers will now always spawn in pairs.",
["bm_menu_skill"] = "Crew Boosts",
@@ -4592,7 +4643,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
--Iron Man
["menu_juggernaut_beta_sc"] = "Iron Man",
- ["menu_juggernaut_beta_desc_sc"] = "BASIC: #{owned}#$basic##\nYou can wear the #{skill_color}#Improved Combined Tactical Vest.##\n\nWhen you melee Shield enemies, they get staggered from the sheer force.\n\n#{risk}#NOTE:## #{important_1}#Captain Winters## #{risk}#cannot be staggered.##\n\nACE: #{owned}#$pro##\nYour armor recovers #{skill_color}#10%## faster.\n\nYour ranged weapons to have a chance to stagger Shield enemies when shooting their shield; chances are increased the higher the total damage of the weapon is.",
+ ["menu_juggernaut_beta_desc_sc"] = "BASIC: #{owned}#$basic##\nYou can wear the #{skill_color}#Improved Combined Tactical Vest.##\n\nWhen you melee Shield enemies, they get staggered from the sheer force.\n\n#{risk}#NOTE:## #{important_1}#Titan Shields## #{risk}#and## #{important_1}#Captain Winters## #{risk}#cannot be staggered.##\n\nACE: #{owned}#$pro##\nYour armor recovers #{skill_color}#10%## faster.\n\nYour ability to stagger shields is extended to your ranged weapons; chances are increased the higher the total damage of the weapon is.",
--[[ SUPPORT SUBTREE ]]--
--Scavenger
diff --git a/lua/sc/loc/locko.lua b/lua/sc/loc/locko.lua
index 76c5d9447b..886510c3f0 100644
--- a/lua/sc/loc/locko.lua
+++ b/lua/sc/loc/locko.lua
@@ -197,12 +197,14 @@ Hooks:Add("LocalizationManagerPostInit", "ResMod_english_Localization", function
["RestorationModAutoDMRsDescID"] = "반자동 및 완전 자동 발사 모드가 있는 모든 지정사수 소총에 완전 자동으로 설정할 지 여부를 전환합니다.",
["RestorationModSprintCancelTitleID"] = "위기모면 에이스 효과 전력 질주 시 재장전 취소",
["RestorationModSprintCancelDescID"] = "\"위기모면\" 스킬을 사용 중일때 전력 질주를 시작하면 진행 중인 재장전을 취소할지 여부를 설정합니다. 전력 질주 중에 재장전은 영향을 받지 않습니다.",
- ["RestorationModQueuedShootingTitleID"] = "발사 입력 버퍼",
- ["RestorationModQueuedShootingDescID"] = "오버샘플링(무기가 발사할 수 있는 것보다 빠르게 발사)을 지원하기 위해 반자동 무기에 대한 발사 입력 버퍼링을 활성화/비활성화합니다.",
- ["RestorationModQueuedShootingWindowTitleID"] = "발사 입력 대기 감도 버퍼",
- ["RestorationModQueuedShootingWindowDescID"] = "무기 발사 시간 지연의 %에 따라 버퍼링할 발사 입력 시간을 결정합니다. (높은 값 = 초기 버퍼)",
- ["RestorationModQueuedShootingExcludeTitleID"] = "발사 속도 입력 제한 버퍼",
- ["RestorationModQueuedShootingExcludeDescID"] = "이 옵션으로 설정한 발사 속도(RPM) *이상으로* 발사하는 무기에 대한 발사 입력의 버퍼링을 제한합니다.",
+ ["RestorationModQueuedShootingTitleID"] = "발사 선입력",
+ ["RestorationModQueuedShootingDescID"] = "오버샘플링(무기가 발사할 수 있는 것보다 빠르게 발사)을 지원하기 위해 반자동 및 무기의 발사 선입력을 활성화/비활성화합니다.",
+ ["RestorationModQueuedShootingWindowTitleID"] = "단발 선입력 감도",
+ ["RestorationModQueuedShootingWindowDescID"] = "무기 발사 시간 지연의 %에 따라 버퍼링되는 발사 선입력 시간 간격을 결정합니다. (높은 값 = 더 일찍 선입력)",
+ ["RestorationModQueuedShootingExcludeTitleID"] = "단발 선입력 발사 속도 제한",
+ ["RestorationModQueuedShootingExcludeDescID"] = "이 옵션으로 설정한 발사 속도(RPM) *이상으로* 발사하는 무기에 대한 발사 선입력의 버퍼링을 제한합니다.",
+ ["RestorationModQueuedShootingMidBurstTitleID"] = "점사 점사 선입력",
+ ["RestorationModQueuedShootingMidBurstDescID"] = "점사 도중에 만들어지는 버퍼 선입력을 결정합니다.",
["RestorationModNoADSRecoilAnimsTitleID"] = "조준 중 반동 애니메이션 없음",
["RestorationModNoADSRecoilAnimsDescID"] = "조준 중 반동 애니메이션을 활성화하거나 비활성화합니다. 일부 무기는 이 옵션의 영향을 받지 않습니다(예: 수동으로 작동하는 총, 활, 화염방사기).",
["RestorationModNoSwapOnReviveTitleID"] = "소생 시 강제 무기 교체 없음",
@@ -941,6 +943,8 @@ Hooks:Add("LocalizationManagerPostInit", "ResMod_english_Localization", function
["menu_state_lobby"] = "Lobby",
["menu_state_loading"] = "Loading",
["menu_state_ingame"] = "Ingame",
+
+ ["menu_description"] = "The Plan",
-- ///Stuff ripped from the various locale files we had ///
@@ -1470,17 +1474,21 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization", function(loc)
["bm_w_x_model3"] = "아킴보 Frenchman Model 87 리볼버",
["bm_x_model3_sc_desc"] = "이 쌍리볼버를 들고 정오에 당신의 내면에 있는 투덜거리는 자질을 끌어내고 경찰에게 듀얼을 도전하세요.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 적을 관통할 수 있습니다.##",
--Raging bull
- ["bm_rage_sc_desc"] = "매우 강력한 단거리 대포. 정렬하는 멍청이들을 맞추어 빠르게 쓰려트립니다.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 적 여러 명을 관통할 수 있습니다.##",
- ["bm_x_rage_sc_desc"] = "전혀 좋지도 않고 실용적이지도 않지만, 은행 강도 사건에서 이것들을 빼내서 경찰력을 압박하고 싶을 때 사용할 수 있습니다.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 적 여러 명을 관통할 수 있습니다.##",
+ ["bm_rage_sc_desc"] = "매우 강력한 단거리 대포. 정렬하는 멍청이들을 맞추어 빠르게 쓰려트립니다.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 다수의 적을 관통할 수 있습니다.##",
+ ["bm_x_rage_sc_desc"] = "전혀 좋지도 않고 실용적이지도 않지만, 은행 강도 사건에서 이것들을 빼내서 경찰력을 압박하고 싶을 때 사용할 수 있습니다.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 다수의 적을 관통할 수 있습니다.##",
--Castigo
["bm_chinchilla_sc_desc"] = "강력하고 정확하며 스타일리시합니다. DC에서 더 내구성이 강한 적들을 돌파하는 데 유용합니다.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 적을 관통할 수 있습니다.##",
["bm_x_chinchilla_sc_desc"] = "시카리오는 그의 마크가 다운되었는지 확인해야 하며, 이 2개가 이를 보장합니다.\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 적을 관통할 수 있습니다.##",
--RUS-12
- ["bm_rsh12_sc_desc"] = "한 손으로 대구경탄 싸기 시합의 절대적인 마지막 수단.\n\n#{skill_color}#방탄복과 여러 적, 방패 및 얇은 벽을 관통할 수 있습니다.##",
+ ["bm_rsh12_sc_desc"] = "한 손으로 대구경탄 싸기 시합의 절대적인 마지막 수단.\n\n#{skill_color}#방탄복과 다수의 적, 방패 및 얇은 벽을 관통할 수 있습니다.##",
--SAA/Peacemaker
["bm_w_peacemaker"] = "Peacemaker .45LC 리볼버",
- ["bm_ap_weapon_peacemaker_sc_desc"] = "#{risk}#인류 최고의 권총.##\n\n#{skill_color}#방탄복과 여러 적, 방패 및 얇은 벽을 관통할 수 있습니다.##\n\n#{important_1}#반동이 증가하고 유효 범위가 감소하고 조준을 할 수 없는 대신## #{skill_color}#발사 속도가 증가시키는## 팬링 기능이 있습니다.",
+ ["bm_ap_weapon_peacemaker_sc_desc"] = "#{risk}#인류 최고의 권총.##\n\n#{skill_color}#방탄복과 다수의 적, 방패 및 얇은 벽을 관통할 수 있습니다.##\n\n#{important_1}#반동이 증가하고 유효 범위가 감소하고 조준을 할 수 없는 대신## #{skill_color}#발사 속도가 증가시키는## 팬링 기능이 있습니다.",
--CUSTOM HANDGUNS
+ --M2019 Blaster
+ ["thatgun_desc"] = "이건 총이야!\n\n알잖아, 그 총!\n\n#{skill_color}#방탄복을 관통해 피해의 50%를 가하고 다수의 적을 관통할 수 있습니다.##",
+ --Malorian 3516
+ ["whydoyoucome"] = "로커보이 조니 실버핸드를 위한 특별히 제작된 유일한 총기입니다.\n\n#{skill_color}#다수의 적과 방탄복을 관통할 수 있습니다.\n탄은 지향 사격하는 동안 표면을 튕겨내고 조준하는 동안에는 벽을 관통합니다.\n개머리판으로 공격할 시 단거리를 가진 불길을 발사합니다.##",
--Px4
["bm_w_px4"] = "Bernetti Hx4 Canaan 권총",
--Browning Hi-Power
@@ -1702,6 +1710,9 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization", function(loc)
["bm_x_akmsu_sc_desc"] = "거물을 쓰러뜨리는 데 유용한 소형 소총. 이 소총은 거의 모든 시나리오에서 제 역할을 할 수 있기 때문에 과소평가해서는 안 됩니다.",
--CUSTOM ARs
+ --QBZ-191
+ ["bm_w_pd3_qbz191"] = "Northwest B-9 소총",
+ ["bm_qbz191_sc_desc"] = "5.8x42mm 구경탄을 사용하는 차세대 중국 돌격소총입니다.\n\n#{skill_color}#방탄복을 관통해 피해의 25%를 가합니다.##",
--AN-94/92
["bm_w_tilt"] = "KVK-99 소총",
["bm_tilt_sc_desc"] = "#{risk}#각 방아쇠의 처음 2발은## #{skill_color}#발사 속도의 3배로 발사합니다.##",
@@ -2525,7 +2536,39 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_grenade_copr_ability"] = "약병",
["bm_grenade_damage_control"] = "힙 플라스크",
["bm_grenade_smoke_screen_grenade_desc"] = "범위: #{skill_color}#4m## \n지속 시간: #{skill_color}#12초## \n기폭: #{skill_color}#정지 상태를 유지한 후 1초## \n\n이것 하나만 던지면, 연기 속으로 사라져서, 적이 당신을 제대로 조준하지 못하게 할 수 있습니다.",
-
+
+
+ ["manufacturer_colt"] = "Crosskill",
+ ["manufacturer_saco"] = "DSC",
+ ["manufacturer_springfield"] = "Simmons",
+ ["manufacturer_sigusa"] = "FIK",
+ ["manufacturer_keltec"] = "LWI",
+ ["manufacturer_winchester"] = "Eaton",
+ ["manufacturer_marlin"] = "Rangehitter",
+ ["manufacturer_swesson"] = "J&M",
+
+ ["manufacturer_fnh"] = "VF",
+ ["manufacturer_sig"] = "Signature",
+ ["manufacturer_hk"] = "S&G",
+ ["manufacturer_walther"] = "Lakner",
+ ["manufacturer_steyr"] = "Stefan",
+ ["manufacturer_glock"] = "Chimano",
+
+ ["manufacturer_benelli"] = "Moretti",
+ ["manufacturer_franchi"] = "Ferino",
+ ["manufacturer_beretta"] = "Bernetti",
+
+ ["manufacturer_kalashnikov"] = "IZMHA",
+ ["manufacturer_tula"] = "IZMHA",
+ ["manufacturer_cz"] = "TKA",
+
+ ["manufacturer_imi"] = "ITI",
+
+ ["manufacturer_taurus"] = "Touro",
+
+ ["manufacturer_chinaindustries"] = "Northwest",
+ ["manufacturer_norinco"] = "Kang Arms",
+
["bm_wp_wpn_fps_upg_scar_m203_buckshot"] = "40MM Buckshot Rounds",
["bm_wp_wpn_fps_upg_scar_m203_buckshot_desc"] = "Round loaded with 6 heavy pellets.\n\nTotal ammo: 15\nDamage: 360\nAccuracy: 40\nEffective range: 9M\nMaximum range: 18M",
@@ -2609,6 +2652,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_wp_1911_m_big"] = "캐스킷 탄창",
--Crosskill Chunky
["bm_w_m1911"] = "Crosskill A1",
+ ["bm_w_x_m1911"] = "프라이스 & 맥태비시",
--Crosskill Guard
["bm_w_shrew"] = "Crosskill Guard",
["bm_w_x_shrew"] = "베리 & 폴",
@@ -2660,9 +2704,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
--Derringer
["bm_w_derringer"] = "Derringer",
--Automag .44
- ["bm_w_amt"] = "Automag .44",
- --Malorian 3516
- ["whydoyoucome"] = "로커보이 조니 실버핸드를 위한 특별히 제작된 유일한 총기입니다.\n\n#{skill_color}#다수의 적과 방탄복을 관통할 수 있습니다.\n탄은 지향 사격하는 동안 표면을 튕겨내고 조준하는 동안에는 벽을 관통합니다.\n개머리판으로 공격할 시 단거리를 가진 불길을 발사합니다.##",
+ ["bm_w_amt"] = "Automag .44",
--Colt Detective
["bm_w_coltds"] = "Crosskill Investigator",
@@ -2989,9 +3031,11 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
LocalizationManager:add_localized_strings({
["bm_w_pl14"] = "WS-14",
+ ["bm_w_x_pl14"] = "아킴보 WS-14",
["bm_w_g22c"] = "Chimano 22C",
["bm_w_x_g22c"] = "아킴보 Chimano 22C",
["bm_w_x_1911"] = "아킴보 Operator II",
+ ["bm_w_x_m1911"] = "아킴보 Crosskill A1",
["bm_w_x_sparrow"] = "아킴보 Sparrow",
["bm_w_scar"] = "VF-7S",
["bm_w_scarl"] = "VF-6M",
@@ -4190,8 +4234,8 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_gameplay_res_5"] = "클로커는 혼자 있는 하이스터 혹은 하이스터를 가로막을 때 쉽게 반격합니다.",
["loading_gameplay_res_6"] = "클로커는 발로 차면 직접적인 체력 피해를 가합니다. 이것은 굴절 또는 반격 스킬로 감소시킬 수 있습니다.",
["loading_gameplay_res_7"] = "그린 불도저는 많은 양의 피해량을 입히고 종종 한 발로도 가장 무거운 방탄복을 부술 수도 있습니다.",
- ["loading_gameplay_res_8"] = "사이가/블랙 불도저는 피해량 대신 높은 연사력을 가지고 있으며 인상적인 드럼 탄창을 자랑합니다.",
- ["loading_gameplay_res_9"] = "경기관총 도저/스컬도저는 강력한 제압 사격을 가하고 탄통이 비워질 때까지 사격합니다.",
+ ["loading_gameplay_res_8"] = "사이가/블랙 불도저는 피해량 대신 높은 연사력을 가지고 있으며 인상적인 드럼 탄창을 자랑합니다. 또한 다른 불도저보다 빠르게 달려오지만 체력이 훨씬 낮습니다.",
+ ["loading_gameplay_res_9"] = "경기관총 도저/스컬도저는 근거리에서 밀칠 수 있는 강한 제압 사격을 가하고 탄통이 비워질 때까지 사격합니다. 이들의 상의 장갑은 일반 도저보다 더 많은 피해를 견뎌낼 수 있지만 타이탄 도저만큼 느리게 움직입니다.",
["loading_gameplay_res_10"] = "베넬리 샷거너 도저는 미니건 도저를 대체하며, 그린 도저와 블랙 도저를 부정하게 조합하여 높은 연사력과 높은 피해량을 가합니다.",
["loading_gameplay_res_11"] = "목표 우선순위가 중요합니다. 모든 타입의 불도저는 경무장 SWAT보다 더 주의할 가치가 있습니다.",
["loading_gameplay_res_12"] = "데스 센텐스에서 불도저는 바이저가 깨지면 버서커 분노 상태에 돌입하여 공격력을 10%만큼 증가시킵니다.",
@@ -4215,37 +4259,39 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_new_units_res_title"] = "레스토레이션 유닛 팁",
["loading_new_units_res_1"] = "옴니아 ASU는 주변 아군에게 노란색 레이저 부착물을 제공하여 피해량 보너스를 제공합니다.",
["loading_new_units_res_2"] = "LPF는 근접 공격에 약합니다.",
- ["loading_new_units_res_3"] = "경무장 유닛은 LPF에 의해 과치료됩니다. 과치료된 적은 보라색 테두리으로 표시됩니다.",
+ ["loading_new_units_res_3"] = "경무장 유닛은 LPF에게 과치료를 받을 수 있습니다. 과치료 받는 중인 적은 보라색 윤곽선으로 표시됩니다.",
["loading_new_units_res_4"] = "타이탄 클로커는 거의 보이지 않게 만드는 고급 은폐 장비를 가지고 있지만 여전히 표준 클로커 장비의 이전 모델의 주변 소음을 가지고 있습니다.",
["loading_new_units_res_5"] = "타이탄 도저는 방해받지 않고 레일건의 잠재력을 최대한 발휘하기 위해 목표물과 거리를 두는 것을 선호합니다.",
["loading_new_units_res_6"] = "타이탄 명사수는 더 높은 연사력과 이동 중에 사격할 수 있는 대신 표준품의 탄당 피해량과 방탄복 관통력을 교환했습니다.",
["loading_new_units_res_7"] = "타이탄 명사수는 레이저 사이트를 사용하지 않는 대신 사격하면 보라색 예광을 남깁니다.",
- ["loading_new_units_res_8"] = "타이탄 실드는 Thanatos 대물 저격소총, 찢고 죽인다 베이직을 찍었을때 OVE9000 톱, 센트리 건의 특수 철갑탄 탄으로만 뚫을 수 있습니다.",
+ ["loading_new_units_res_8"] = "타이탄 실드는 Thanatos 대물 저격소총, 찢고 죽인다 베이직을 찍었을때 OVE9000 톱, 센트리 건의 특수 철갑탄 탄으로 뚫을 수 있습니다. 방패를 충분히 오랫동안 쏘면 방패를 떨어질 수 있으므로, 방패를 떨이게 한 후 갑자기 바뀌는 전술 변화에 주의하세요.",
["loading_new_units_res_9"] = "캡틴 스프링과 타이탄 도저는 항상 추가 헤드샷 피해를 입습니다.",
["loading_new_units_res_10"] = "타이탄 테이저는 이동을 일시적으로 매우 감소되는 감전탄을 발사합니다. 맞으면 파란색 UI 오버레이로 표시됩니다.",
["loading_new_units_res_11"] = "베테랑 경찰은 헤드샷 이외의 어느것에 의해 죽을 경우 최루 가스를 떨어뜨립니다.",
["loading_new_units_res_12"] = "베테랑 경찰은 빠르게 움직여 맞추기 어렵게 만듭니다.",
["loading_new_units_res_13"] = "진압 장비를 착용한 타이탄 SWAT은 근접 공격에 저항을 다소 가지고 있습니다.",
["loading_new_units_res_14"] = "타이탄 SWAT은 인질로 잡거나 당신 편에 싸우도록 전향시킬 수도 없습니다.",
- ["loading_new_units_res_15"] = "타이탄 SWAT은 경기관총과 자동 산탄총로 무장했습니다.",
+ ["loading_new_units_res_15"] = "타이탄 SWAT은 적을 밀어내거나 충격을 유발하는 경기관총과 자동 산탄총로 무장했습니다.",
["loading_new_units_res_16"] = "위험한 브라보 유닛은 프로 잡에서 PONR이 트리거될 때만 생성됩니다. 그들은 강화된 방탄복과 더 강력한 무기를 갖춘 강력하고 무자비한 적입니다.",
["loading_new_units_res_17"] = "브라보 유닛은 파편 수류탄을 던질 수 있습니다. 주변이 깜박이고 경고음을 듣고 카운트다운되는 것을 주의하십시오.",
["loading_new_units_res_18"] = "아칸은 그의 연구개발 회사인 DRAK에서 개발한 D-시리즈라고 불리는 자체 타이탄 유닛을 배치합니다.",
["loading_new_units_res_19"] = "척탄병은 장착된 언더베럴을 사용하여 원거리에서 최루 가스 유탄을 발사하여 구름 속에 있는 플레이어에게 피해를 줍니다. 데스 센텐스에선 대신 더 치명적이고 스태미나를 소모하는 신경가스 유탄으로 무장합니다.",
-
+ ["loading_new_units_res_20"] = "타이탄 실드는 방패에 섬광 패널이 장착되어 있습니다. 패널이 충전 중일 때 패널을 쏘아 멈출 수 있으며, 그 과정에서 사용자를 잠시 기절시킬 수 있습니다.",
+ -- Captain Hints
["loading_captains_res_title"] = "레스토레이션 캡틴 팁",
- ["loading_captains_res_1"] = "캡틴 서머스를 쓰러뜨리려면 먼저 닥과 그의 팀원들부터 목표로 삼으십시오. 그는 그의 모든 팀원들이 죽을 때까지 죽일 수 없으며 다른 두 사람은 닥이 죽을 때까지는 거의 무적입니다.",
+ ["loading_captains_res_1"] = "캡틴 서머스의 높은 피해 저항력은 그의 팀원이 제거될 때마다 감소됩니다. 닥은 살아있는 동안 나머지 팀원을 치료할 수 있으므로 그를 먼저 목표로 삼으십시오.",
["loading_captains_res_2"] = "캡틴 서머스를 안아주지 마십시오. 그는 화염 방사기로 당신을 녹일 것입니다.",
- ["loading_captains_res_3"] = "캡틴 스프링은 엄청난 피해를 버틸 수 있지만 결국 쓰러질 것입니다. 그의 수류탄을 조심하고 느린 기동성을 이용하십시오.",
+ ["loading_captains_res_3"] = "캡틴 스프링은 엄청난 피해를 버틸 수 있지만 결국 쓰러질 것입니다. 그의 수류탄을 조심하고 그의 낮은 기동성을 이용하십시오.",
["loading_captains_res_4"] = "캡틴 스프링은 주기적으로 클러스터 고폭 수류탄을 던집니다.",
- ["loading_captains_res_5"] = "캡틴 스프링은 위험할 수 있지만 엄청나게 느리고 좋지 않은 사거리를 가지고 있습니다.",
+ ["loading_captains_res_5"] = "캡틴 스프링은 밀침 능력을 가고 있어 위험하지만 엄청나게 느리고 사거리가 좋지 않습니다.",
["loading_captains_res_6"] = "캡틴 어텀은 공격할 때 큰 소리로 도발합니다.",
- ["loading_captains_res_7"] = "다른 캡틴들과 달리 경찰은 기습 요소를 망치지 않기 위해 어텀의 도착을 알리지 않습니다.",
- ["loading_captains_res_8"] = "캡틴 어텀은 한동안 맵에서 들키지 않으면 당신의 배치물를 점진적으로 비활성화할 것입니다. 비활성화된 배치물은 보라색 테투리로 표시되어 있으며 어텀을 찾아 쓰려트린 경우에만 다시 사용할 수 있습니다.",
+ ["loading_captains_res_7"] = "다른 캡틴들과 달리 경찰은 어텀의 기습 요소를 망치지 않기 위해 어텀의 도착을 알리지 않습니다.",
+ ["loading_captains_res_8"] = "캡틴 어텀은 한동안 활동 중일때 발각되지 않았다면 당신의 배치물를 점진적으로 비활성화할 것입니다. 비활성화된 배치물은 보라색 윤곽선으로 표시되어 있으며 어텀을 찾아 쓰려트린 경우에만 다시 사용할 수 있습니다.",
["loading_captains_res_9"] = "주먹 싸움에서 캡틴 어텀을 이기지 못할 것입니다. 시도조차 하지도 마십시오.",
- ["loading_captains_res_10"] = "캡틴 윈터스는 폭발물과 불에 거의 면역이며 강력한 총알 저항을 갖고 있지만 근접 공격에 다소 취약합니다.",
- ["loading_captains_res_11"] = "캡틴 윈터스의 방패는 완전히 뚫을 수 없습니다.",
- ["loading_captains_res_12"] = "캡틴 윈터스는 맵을 돌아다니며 주변의 적들을 치료하거나 과치료합니다.",
+ ["loading_captains_res_10"] = "캡틴 윈터스는 총알 저항력이 더욱 강하고 폭발물과 불 저항력도 강합니다. 그럼에도 불구하고 근접 공격에는 다소 취약합니다.",
+ ["loading_captains_res_11"] = "캡틴 윈터스의 방패는 뚫을 수 없지만 충분한 피해를 흡수했다면 부서집니다. 타이탄 실드처럼 그의 두 번째 단계를 조심하세요.",
+ ["loading_captains_res_12"] = "캡틴 윈터스는 맵을 돌아다니며 주변의 적들을 치료하거나 과치료합니다.",
+ ["loading_captains_res_13"] = "캡틴 윈터스의 방패에는 타이탄 실드가 사용하는 것과 같은 섬광 패널이 있습니다. 그의 섬광 패널은 총에 맞아도 깨지지 않는다는 점을 명심하세요.",
--Stealth Hints
["loading_stealth_res_title"] = "레스토레이션 스텔스 팁",
["loading_stealth_res_1"] = "보안 경비 지휘소는 오작동하는 카메라를 조사하기 위해 경비원을 보내고 이를 이용해 미끼로 사용할 수 있습니다.",
@@ -4506,6 +4552,10 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["mutator_quickscope360"] = "독수리의 눈",
["mutator_quickscope360_desc"] = "저격수는 이제 소총을 100% 더 빠르게 조준합니다.",
["mutator_quickscope360_longdesc"] = "저격수는 이제 소총을 100% 더 빠르게 조준합니다.",
+
+ ["mutator_goldfarbdozers"] = "이중 문제",
+ ["mutator_goldfarbdozers_desc"] = "생성되는 모든 불도저는 항상 쌍으로 배치됩니다.",
+ ["mutator_goldfarbdozers_longdesc"] = "생성되는 모든 불도저는 항상 쌍으로 배치됩니다.",
--Crime spree modifier changes
["cn_crime_spree_brief"] = "크라임 스프리는 연속적으로 실행되는 무작위로 선택되는 하이스트의 끝없는 시리즈입니다. 하이스트를 완료할 때마다 등급과 보상이 증가합니다! 20 또는 26 등급마다 개조를 선택해야 하고 100 등급마다 리스크 레벨이 증가하므로 다음 습격을 완료하기가 더 어려워집니다. 리스크 레벨 600 이후에는 플레이어가 가지고 있는 무적 프레임의 양이 감소하기 시작하고 브라보 유닛이 정상적으로 스폰되기 시작합니다.\n\n##팀원을 초대하는 경우 랭크와 보상을 얻기 위해 합류하기 전에 자신만의 크라임 스프리를 시작했는지 확인하십시오.##",
["menu_cs_next_modifier_forced"] = "",
@@ -4534,6 +4584,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["menu_cs_modifier_cloaker_tear_gas"] = "모든 HRT 유닛은 15%의 추가 확률로 ASU 유닛이 됩니다.",
["menu_cs_modifier_dozer_lmg"] = "그린 또는 블랙 불도저가 생성될 때마다 스컬도저로 교체될 확률이 생깁니다.",
["menu_cs_modifier_10secondsresponsetime"] = "모든 경찰 습격은 이제 최대 강도로 시작됩니다.",
+ ["menu_cs_modifier_dozerpairs"] = "불도저는 이제 항상 쌍으로 스폰됩니다.",
["bm_menu_skill"] = "팀원 부스트",
@@ -4714,7 +4765,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
--Iron Man
["menu_juggernaut_beta_sc"] = "철인",
- ["menu_juggernaut_beta_desc_sc"] = "베이직: #{owned}#$basic##\n개량형 복합 전술 조끼를 착용할 수 있게 됩니다.\n\n실드를 근접 공격하면 넘어뜨립니다.\n\n#{risk}#참고: 이 효과는## #{important_1}#캡틴 윈터스를## #{risk}#넘어뜨릴 수 없습니다.##\n\n에이스: #{owned}#$pro##\n방탄력이 #{skill_color}#10%##만큼 더 빨리 회복됩니다.\n\n원거리 무기로 실드을 공격할 때 일정 확률로 넘어뜨릴 수 있습니다. 무기의 총 대미지가 높을수록 넉백 확률이 증가합니다.",
+ ["menu_juggernaut_beta_desc_sc"] = "베이직: #{owned}#$basic##\n개량형 복합 전술 조끼를 착용할 수 있게 됩니다.\n\n실드를 근접 공격하면 넘어뜨립니다.\n\n#{risk}#참고:## #{important_1}#타이탄 실드## #{risk}#와## #{important_1}#캡틴 윈터스##는 #{risk}#넘어뜨릴 수 없습니다.##\n\n에이스: #{owned}#$pro##\n방탄력이 #{skill_color}#10%##만큼 더 빨리 회복됩니다.\n\n실드를 넘어뜨리는 능력이 원거리 무기까지 확장되며, 무기의 총 데미지가 높을수록 확률이 높아집니다.",
--[[ SUPPORT SUBTREE ]]--
--Scavenger
diff --git a/lua/sc/loc/locru.lua b/lua/sc/loc/locru.lua
index 1cbf5b9198..5b3cd41699 100644
--- a/lua/sc/loc/locru.lua
+++ b/lua/sc/loc/locru.lua
@@ -881,6 +881,8 @@ Hooks:Add("LocalizationManagerPostInit", "ResMod_english_Localization", function
["menu_state_loading"] = "Загружается",
["menu_state_ingame"] = "В игре",
+
+ ["menu_description"] = "План",
-- ///Stuff ripped from the various locale files we had ///
--Halloween Dozer Sword
@@ -1124,6 +1126,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization", function(loc)
--10-0
["bm_wp_upg_i_tekna"] = "Набор 'Текна'",
["bm_wp_upg_i_tekna_desc"] = "Оружие стреляет только #{risk}#очередями##.",
+ ["bm_wally_desc"] = "#{important_2}#Эй, малой...##",
--AMR16--
["bm_wp_upg_i_m16a2"] = "Набор АМР-16 B3",
@@ -1417,9 +1420,11 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization", function(loc)
--["bm_w_derringer"] = "Деринжер",
--Automag .44
--["bm_w_amt"] = "Автомаг .44",
+ --M2019 Blaster
+ ["thatgun_desc"] = "Вот это волына!\n\nИменно та самая!\n\n#{skill_color}#Наносит 50% урона через броню и может пробивать врагов.##",
--Malorian 3516
--Киберсрань
- ["whydoyoucome"] = "The only one of its kind, made specially for rockerboy Johnny Silverhand.\n\n#{skill_color}#Can pierce multiple enemies and their body armor.\nRounds ricochet off surfaces while firing from the hip and pierce walls while aiming.\nWeapon Butt attacks shoot out a short ranged wave of fire.##",
+ ["whydoyoucome"] = "Единственный в своем роде, сделанный специально для Джонни Сильверхенда.\n\n#{skill_color}#Может пробивать врагов и их броню.\nВо время стрельбы от бедра пули будут рикошетить от поверхностей. Пули пробивают стены, если стрелять в режиме прицеливания.\nУдар прикладом выпускает волну огня в небольшом радиусе.##",
--Colt Detective
--["bm_w_coltds"] = "Кросскилл Детектив",
["bm_lemon_dmc_desc"] = "Мечтаете о скрытном и мощном револьвере? Мечты сбываются.\n\n#{skill_color}#Наносит двойной урон при атаке сзади.##",
@@ -2583,6 +2588,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_w_colt_1911"] = "Crosskill Operator II",
["bm_w_x_1911"] = "Mustang & Sally",
["bm_w_m1911"] = "Crosskill A1",
+ ["bm_w_x_m1911"] = "Price & MacTavish",
["bm_w_shrew"] = "Crosskill Guard",
["bm_w_x_shrew"] = "Barry & Paul",
["bm_w_usp"] = "Interceptor-45",
@@ -2630,7 +2636,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_w_x_scorpion"] = "Парные Cobra",
["bm_w_coal"] = "Tatonka",
["bm_w_vityaz"] = "AK Gen 21 Tactical",
- ["bm_w_shepheard"] = "FIK PC9"",
+ ["bm_w_shepheard"] = "FIK PC9",
["bm_w_mp5"] = "Compact-5",
["bm_w_x_mp5"] = "Парные Compact-5",
["bm_w_m45"] = "Swedish K",
@@ -2811,6 +2817,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_w_colt_1911"] = "Кросскилл Оператор II",
["bm_w_x_1911"] = "Мустанг и Сэлли",
["bm_w_m1911"] = "Кроскилл А1",
+ ["bm_w_x_m1911"] = "Прайс и МакТавиш",
["bm_w_shrew"] = "Кроскилл Гард",
["bm_w_x_shrew"] = "Барри и Пол",
["bm_w_usp"] = "Интерсептор-45",
@@ -2863,7 +2870,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Weapons", function(loc
["bm_w_x_scorpion"] = "Парные Кобры",
["bm_w_coal"] = "Татонка",
["bm_w_vityaz"] = "АК 21 Тактический",
- ["bm_w_shepheard"] = "ФИК ПС9"",
+ ["bm_w_shepheard"] = "ФИК ПС9",
["bm_w_mp5"] = "Компакт-5",
["bm_w_x_mp5"] = "Парные Компакт-5",
["bm_w_m45"] = "Карл M-45",
@@ -4227,8 +4234,8 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_gameplay_res_5"] = "Грабитель вдали от товарищей - идеальная цель для Клокеров.",
["loading_gameplay_res_6"] = "Клокеры наносят урон напрямую здоровью, когда атакуют пинком. Этот урон можно уменьшить, используя Стойкость или навык 'Контрудар'.",
["loading_gameplay_res_7"] = "Зеленые Бульдозеры наносят много урона и могут пробить даже самую тяжелую броню с одного выстрела.",
- ["loading_gameplay_res_8"] = "Черные Бульдозеры (Бульдозеры с Сайгой) обладают высокой скорострельностью и большим магазином.",
- ["loading_gameplay_res_9"] = "Дозеры с пулеметами/Скаллдозеры ведут огонь на поражение и не останавливаются, пока не отстреляют всю ленту.",
+ ["loading_gameplay_res_8"] = "Черные Бульдозеры (Бульдозеры с Сайгой) обладают высокой скорострельностью и большим магазином. Помимо этого они бегают быстрее всех дозеров.",
+ ["loading_gameplay_res_9"] = "Дозеры с пулеметами/Скаллдозеры ведут огонь на поражение и не останавливаются, пока не отстреляют всю ленту. Они передвигаются так же медленно, как и Титановые Дозеры.",
["loading_gameplay_res_10"] = "Дозеры с дробовиками Бенелли (Бенелли Дозеры) заменяют Дозеров с миниганами - у них и высокий урон, и высокая скорость стрельбы. Они совмещают опасность Зеленого и скорость Черного Дозеров.",
["loading_gameplay_res_11"] = "Приоритет целей важен. Бульдозеру явно стоит уделить больше внимания, чем обычному спецназовцу.",
["loading_gameplay_res_12"] = "На Смертном приговоре, Бульдозеры впадают в ярость, когда их стекло сломано, что увеличивает их урон на 10%.",
@@ -4251,13 +4258,13 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
--New Units Hints
["loading_new_units_res_title"] = "Restoration - советы о новых противниках",
["loading_new_units_res_1"] = "OMNIA ASU (агенты поддержки) усиливают урон товарищей при помощи желтых лазеров.",
- ["loading_new_units_res_2"] = "LPF получает больше урона от оружия ближнего боя.",
+ ["loading_new_units_res_2"] = "LPF получает больше урона от оружия ближнего боя. Враги помечены фиолетовым цветом, когда их лечит LPF.",
["loading_new_units_res_3"] = "Слабые противники получают дополнительное здоровье от LPF. В этом случае они помечаются фиолетовым цветом.",
["loading_new_units_res_4"] = "Титановые Клокеры обладают продвинутой экипировкой, которая делает их практически невидимыми, но издает такие же звуки, как экипировка стандартных Клокеров.",
["loading_new_units_res_5"] = "Титановые Дозеры предпочитают держать грабителей на расстоянии, чтобы выцелить их из своего Рельсотрона.",
["loading_new_units_res_6"] = "Титановые Снайперы не имеют высокого урона и пробития брони, как у их стандартных соратников, зато могут передвигаться и обладают высокой скоростью стрельбы.",
["loading_new_units_res_7"] = "Вместо лазеров, Титановые Снайперы используют фиолетовые трассеры.",
- ["loading_new_units_res_8"] = "Титановые щиты можно пробить только снайперской винтовкой Thanatos, пилой OVE9000 (с навыком 'Рвать и метать') и особыми бронебойными патронами у турелей.",
+ ["loading_new_units_res_8"] = "Титановые щиты можно пробить только снайперской винтовкой Thanatos (и ее эквиваленты), пилой OVE9000 (с навыком 'Рвать и метать') и особыми бронебойными патронами у турелей. Однако, щит можно сбить, если вести по нему продолжительный огонь.",
["loading_new_units_res_9"] = "Капитан Спринг и Титановые Дозеры всегда получают дополнительный урон в голову.",
["loading_new_units_res_10"] = "Титановые Тазеры используют электрические боеприпасы, которые ненадолго замедляют вас. Экран засветится синим, если он выстрелит в вас.",
["loading_new_units_res_11"] = "Копы-ветераны при смерти бросят слезоточивую гранату, если не убить их в голову.",
@@ -4269,6 +4276,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_new_units_res_17"] = "Отряды Браво используют осколочные гранаты. Обращайте внимание на их уникальные звук и эффект.",
["loading_new_units_res_18"] = "АКАН использует собственных Титановых юнитов - так называемая D-СЕРИЯ, разработанная корпорацией DRAK.",
["loading_new_units_res_19"] = "Гренадер использует гранаты со слезоточивым газом, которые наносят продолжительный урон игрокам, стоящим в облаке. На 'Смертном приговоре' он вооружен более смертоносным паралитическим газом, который также уменьшает выносливость.",
+ ["loading_new_units_res_20"] = "Титановые щиты могут ослепить вас, используя свой щит. Следите за красными огнями и звуками, которые издают щиты во время подготовки к вспышке. Вы можете выстрелить в световую панель во время зарядки, чтобы оглушить противника.",
--Captain Hints
["loading_captains_res_title"] = "Restoration - советы о капитанах",
["loading_captains_res_1"] = "Чтобы победить капитана Саммерса, нужно сначала обезвредить его команду, начиная с Дока. Саммерс будет неубиваем, пока вся его команда жива; остальные двое будут практически неуязвимы, пока жив Док.",
@@ -4281,7 +4289,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_captains_res_8"] = "Капитан Отем будет постепенно отключать ваше снаряжение, если дать ему оставаться незамеченным продолжительное время. Отключенное снаряжение помечено фиолетовым и будет восстановлено только после смерти Отема.",
["loading_captains_res_9"] = "Вряд ли у вас получится победить капитана Отема в кулачном бою. Не стоит пробовать.",
["loading_captains_res_10"] = "Капитан Винтерс практически неуязвим к взрывчатке и огню, обладает сильной защитой от пуль, но достаточно слаб в ближнем бою.",
- ["loading_captains_res_11"] = "Щит Капитана Винтерса совершенно невозможно пробить.",
+ ["loading_captains_res_11"] = "Щит Капитана Винтерса совершенно невозможно пробить, но вы можете попытаться выбить его из рук. Если будете вести продолжительный огонь по щиту, то Винтерс сбросит его и войдет в ярость.",
["loading_captains_res_12"] = "Капитан Винтерс двигается по карте, постоянно подлечивая врагов.",
--Stealth Hints
["loading_stealth_res_title"] = "Restoration - советы о стелсе",
@@ -4533,6 +4541,10 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["mutator_quickscope360"] = "Орлиный глаз",
["mutator_quickscope360_desc"] = "Снайперы теперь прицеливаются на 100% быстрее.",
["mutator_quickscope360_longdesc"] = "Снайперы теперь прицеливаются на 100% быстрее.",
+
+ ["mutator_goldfarbdozers"] = "Двойные неприятности",
+ ["mutator_goldfarbdozers_desc"] = "Все бульдозеры теперь появляются парами.",
+ ["mutator_goldfarbdozers_longdesc"] = "Все бульдозеры теперь появляются парами. Не влияет на заскриптованных бульдозеров.",
--Crime spree modifier changes
["cn_crime_spree_brief"] = "Серия преступлений - режим, в котором вас предстоит сыграть бесконечную серию ограблений, идущих подряд. С каждым пройденным ограблением, ваши Ранг и Награда буду повышаться! Каждый 20-й и 26-й ранг вам предстоит выбрать модификатор, а каждые 100 рангов повысится уровень риска, что сделает последующие ограбления сложнее. После 600 ранга, задержка на получение урона будет уменьшаться, и среди обычных врагов начнут появляться отряды Браво.\n\n##При игре с друзьями, не забудьте убедиться, что они начали свою Серию преступлений, или они не смогут получать Ранги и Награды.##",
["menu_cs_next_modifier_forced"] = "",
@@ -4561,6 +4573,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["menu_cs_modifier_cloaker_tear_gas"] = "Все агенты по спасению заложников получают дополнительный 15% шанс стать Титановыми агентами.",
["menu_cs_modifier_dozer_lmg"] = "Когда появляется Зеленый или Черный Бульдозер, есть шанс, что его заменит Скаллдозер.",
["menu_cs_modifier_10secondsresponsetime"] = "Полицейские штурмы сразу имеют максимальную интенсивность.",
+ ["menu_cs_modifier_dozerpairs"] = "Все бульдозеры теперь появляются парами.",
["bm_menu_skill"] = "Бонусы для команды",
@@ -4733,7 +4746,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
--Iron Man
["menu_juggernaut_beta_sc"] = "Железный человек",
- ["menu_juggernaut_beta_desc_sc"] = "БАЗОВЫЙ: #{owned}#$basic##\nОткрывает возможность носить #{skill_color}#Улучшенный комбинированный тактический бронежилет.##\n\nПри ударе Щитов оружием ближнего боя, они отбрасываются от вашей силы.\n\nПИКОВЫЙ: #{owned}#$pro##\nОгнестрельное оружие получает шанс отбросить Щиты. Шанс отбрасывания зависит от урона оружия.\n\nВаша броня восстанавливается на #{skill_color}#$skill_value_p1## быстрее.",
+ ["menu_juggernaut_beta_desc_sc"] = "БАЗОВЫЙ: #{owned}#$basic##\nОткрывает возможность носить #{skill_color}#Улучшенный комбинированный тактический бронежилет.##\n\nПри ударе Щитов оружием ближнего боя, они отбрасываются от вашей силы.\n#{risk}#Не работает против## #{important_1}#Титановых Щитов## #{risk}#и## #{important_1}#Капитана Винтерса.##\n\nПИКОВЫЙ: #{owned}#$pro##\nОгнестрельное оружие получает шанс отбросить Щиты. Шанс отбрасывания зависит от урона оружия.\n\nВаша броня восстанавливается на #{skill_color}#$skill_value_p1## быстрее.",
--[[ SUPPORT SUBTREE ]]--
--Scavenger
diff --git a/lua/sc/loc/loczh.lua b/lua/sc/loc/loczh.lua
index 4518fc33c5..2ae51c93c7 100644
--- a/lua/sc/loc/loczh.lua
+++ b/lua/sc/loc/loczh.lua
@@ -4345,6 +4345,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["loading_new_units_res_17"] = "Bravo临界反应部队的血量和伤害都比一般单位要强上许多,他们进攻时会频繁地投掷破片手雷,你最好不要只在一个小坑位上蹲太久。",
["loading_new_units_res_18"] = "阿肯拥有他自己的D项目系列泰坦部队。他们看起来不同但实际属性是相同的。他们的整体视觉效果和穿着特征也是基本一致的,因此你可以轻易地认出不同的兵种。",
["loading_new_units_res_19"] = "掷弹兵的武器有能发射催泪瓦斯的下挂件,站在瓦斯中的玩家会持续受到伤害。在\"死刑宣判\"难度下,他装备了更致命的、伤血更快且会迅速清空你耐力的毒气弹。",
+ ["loading_new_units_res_20"] = "Titan Shields utilizes flashes that will use against you. Watch for red lights and beeping sounds. You can shoot shield's flash panels to stun them as they charge.",
-- Captain Hints
["loading_captains_res_title"] = "恢复MOD劫匪小贴士(四季队长)",
["loading_captains_res_1"] = "要击败夏日队长,得先从他的医疗单位入手。夏日队长的队员死亡前,队长几乎是无敌的。而他的左右护法在医疗兵还活着时几乎是无懈可击的。",
@@ -4620,6 +4621,10 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["mutator_quickscope360"] = "Eagle Eye",
["mutator_quickscope360_desc"] = "Snipers now aim their rifles 100% faster.",
["mutator_quickscope360_longdesc"] = "Snipers now aim their rifles 100% faster.",
+
+ ["mutator_goldfarbdozers"] = "Double Firepower",
+ ["mutator_goldfarbdozers_desc"] = "All Bulldozers that spawn will always deploy in pairs.",
+ ["mutator_goldfarbdozers_longdesc"] = "All Bulldozers that spawn will always deploy in pairs.",
-- Crime spree modifier changes
["cn_crime_spree_brief"] = "\"罪无止境\"是一系列随机选取并需要连续完成的劫案组合。你完成的每次一次劫案都会为你增加罪无止境等级与奖励。每过20级或26级,你都需要选择一次附加难度因子;每过100级都会增加劫案的基础难度(如枪林弹雨到祸乱横行),这会使劫案更难完成。等级600之后,玩家的无敌帧将会逐渐减少,Bravo临界反应部队将会开始生成。\n\n##如果你想邀请你的好友一起玩,请先确保他们开始了罪无止境以一起获得等级和奖励##",
@@ -4648,6 +4653,7 @@ Hooks:Add("LocalizationManagerPostInit", "SC_Localization_Skills", function(loc)
["menu_cs_modifier_cloaker_smoke"] = "幻影特工现在有50%的概率在他们闪避时扔出一颗闪光弹。",
["menu_cs_modifier_cloaker_tear_gas"] = "所有人质救援队的单位都有额外15%的概率被替换为支援兵。",
["menu_cs_modifier_dozer_lmg"] = "每当有一只绿熊或黑熊被生成时,它都有概率被替换为一只骷髅熊。",
+ ["menu_cs_modifier_dozerpairs"] = "Bulldozers will now always spawn in pairs.",
["bm_menu_skill"] = "小队加成",
diff --git a/lua/sc/managers/mission/elementspawnenemydummy.lua b/lua/sc/managers/mission/elementspawnenemydummy.lua
index dc6eb04357..ed35b30104 100644
--- a/lua/sc/managers/mission/elementspawnenemydummy.lua
+++ b/lua/sc/managers/mission/elementspawnenemydummy.lua
@@ -2107,7 +2107,7 @@ local murkywater_normal_overkill = {
--fbi
["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi/ene_murkywater_light_fbi"] = "units/pd2_mod_sharks/characters/ene_fbi_swat_1/ene_fbi_swat_1",
- ["units/pd2_dlc_bph/characters/ene_murkywater_light_r870/ene_murkywater_light_r870"] = "units/pd2_mod_sharks/characters/ene_fbi_swat_2/ene_fbi_swat_2",
+ ["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi_r870/ene_murkywater_light_fbi_r870"] = "units/pd2_mod_sharks/characters/ene_fbi_swat_2/ene_fbi_swat_2",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_g36/ene_murkywater_heavy_g36"] = "units/pd2_mod_sharks/characters/ene_fbi_heavy_1/ene_fbi_heavy_1",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_shotgun/ene_murkywater_heavy_shotgun"] = "units/pd2_mod_sharks/characters/ene_fbi_heavy_r870/ene_fbi_heavy_r870",
@@ -2220,7 +2220,7 @@ local murkywater_mayhem = {
--fbi
["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi/ene_murkywater_light_fbi"] = "units/pd2_mod_sharks/characters/ene_fbi_swat_1/ene_fbi_swat_1",
- ["units/pd2_dlc_bph/characters/ene_murkywater_light_r870/ene_murkywater_light_r870"] = "units/pd2_mod_sharks/characters/ene_fbi_swat_2/ene_fbi_swat_2",
+ ["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi_r870/ene_murkywater_light_fbi_r870"] = "units/pd2_mod_sharks/characters/ene_fbi_swat_2/ene_fbi_swat_2",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_g36/ene_murkywater_heavy_g36"] = "units/pd2_mod_sharks/characters/ene_fbi_heavy_1/ene_fbi_heavy_1",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_shotgun/ene_murkywater_heavy_shotgun"] = "units/pd2_mod_sharks/characters/ene_fbi_heavy_r870/ene_fbi_heavy_r870",
@@ -2332,7 +2332,7 @@ local murkywater_deathwish = {
--fbi
["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi/ene_murkywater_light_fbi"] = "units/pd2_mod_sharks/characters/ene_city_swat_1/ene_city_swat_1",
- ["units/pd2_dlc_bph/characters/ene_murkywater_light_r870/ene_murkywater_light_r870"] = "units/pd2_mod_sharks/characters/ene_city_swat_2/ene_city_swat_2",
+ ["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi_r870/ene_murkywater_light_fbi_r870"] = "units/pd2_mod_sharks/characters/ene_city_swat_2/ene_city_swat_2",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_g36/ene_murkywater_heavy_g36"] = "units/pd2_mod_sharks/characters/ene_fbi_heavy_1/ene_fbi_heavy_1",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_shotgun/ene_murkywater_heavy_shotgun"] = "units/pd2_mod_sharks/characters/ene_fbi_heavy_r870/ene_fbi_heavy_r870",
@@ -2445,7 +2445,7 @@ local murkywater_hecu = {
--fbi
["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi/ene_murkywater_light_fbi"] = "units/pd2_mod_sharks/characters/ene_zeal_city_1/ene_zeal_city_1",
- ["units/pd2_dlc_bph/characters/ene_murkywater_light_r870/ene_murkywater_light_r870"] = "units/pd2_mod_sharks/characters/ene_zeal_city_2/ene_zeal_city_2",
+ ["units/pd2_dlc_bph/characters/ene_murkywater_light_fbi_r870/ene_murkywater_light_fbi_r870"] = "units/pd2_mod_sharks/characters/ene_zeal_city_2/ene_zeal_city_2",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_g36/ene_murkywater_heavy_g36"] = "units/pd2_mod_sharks/characters/ene_zeal_swat_heavy/ene_zeal_swat_heavy",
["units/pd2_dlc_bph/characters/ene_murkywater_heavy_shotgun/ene_murkywater_heavy_shotgun"] = "units/pd2_mod_sharks/characters/ene_zeal_swat_heavy_r870/ene_zeal_swat_heavy_r870",
diff --git a/lua/sc/managers/modifiersmanager.lua b/lua/sc/managers/modifiersmanager.lua
index fef8121937..266b315987 100644
--- a/lua/sc/managers/modifiersmanager.lua
+++ b/lua/sc/managers/modifiersmanager.lua
@@ -331,14 +331,12 @@ else
["units/payday2/characters/ene_fbi_swat_1_sc/ene_fbi_swat_1_sc"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/payday2/characters/ene_city_swat_1_sc/ene_city_swat_1_sc"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/pd2_mod_lapd/characters/ene_city_swat_1/ene_city_swat_1"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
- ["units/pd2_mod_fbi/characters/ene_city_swat_1/ene_city_swat_1"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/pd2_dlc_gitgud/characters/ene_zeal_city_1/ene_zeal_city_1"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/payday2/characters/ene_fbi_swat_3/ene_fbi_swat_3"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/pd2_mod_lapd/characters/ene_fbi_swat_3/ene_fbi_swat_3"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/payday2/characters/ene_city_swat_3_sc/ene_city_swat_3_sc"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/pd2_mod_lapd/characters/ene_city_swat_3/ene_city_swat_3"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
- ["units/pd2_mod_fbi/characters/ene_city_swat_3/ene_city_swat_3"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
["units/pd2_dlc_gitgud/characters/ene_zeal_city_3/ene_zeal_city_3"] = "units/pd2_mod_bravo/characters/ene_bravo_rifle/ene_bravo_rifle",
--Bravo Shotgun
@@ -346,7 +344,6 @@ else
["units/payday2/characters/ene_fbi_swat_2_sc/ene_fbi_swat_2_sc"] = "units/pd2_mod_bravo/characters/ene_bravo_shotgun/ene_bravo_shotgun",
["units/payday2/characters/ene_city_swat_2_sc/ene_city_swat_2_sc"] = "units/pd2_mod_bravo/characters/ene_bravo_shotgun/ene_bravo_shotgun",
["units/pd2_mod_lapd/characters/ene_city_swat_2/ene_city_swat_2"] = "units/pd2_mod_bravo/characters/ene_bravo_shotgun/ene_bravo_shotgun",
- ["units/pd2_mod_fbi/characters/ene_city_swat_2/ene_city_swat_2"] = "units/pd2_mod_bravo/characters/ene_bravo_shotgun/ene_bravo_shotgun",
["units/pd2_dlc_gitgud/characters/ene_zeal_city_2/ene_zeal_city_2"] = "units/pd2_mod_bravo/characters/ene_bravo_shotgun/ene_bravo_shotgun",
--Bravo LMG
diff --git a/lua/sc/managers/mutatorsmanager.lua b/lua/sc/managers/mutatorsmanager.lua
index c236d2b9cf..110283e850 100644
--- a/lua/sc/managers/mutatorsmanager.lua
+++ b/lua/sc/managers/mutatorsmanager.lua
@@ -44,6 +44,8 @@ function MutatorsManager:init()
MutatorQuickScope360:new(self),
MutatorCrazyTaser:new(self),
MutatorMasterDodger:new(self),
+ MutatorGoldfarbDozers:new(self),
+ --MutatorFactionsReplacer:new(self),
MutatorBirthday:new(self)
}
self._active_mutators = {}
diff --git a/lua/sc/managers/statisticsmanager.lua b/lua/sc/managers/statisticsmanager.lua
index a76307ed4b..342835d639 100644
--- a/lua/sc/managers/statisticsmanager.lua
+++ b/lua/sc/managers/statisticsmanager.lua
@@ -262,7 +262,14 @@ function StatisticsManager:init()
melee = 0,
explosion = 0,
tied = 0
- }
+ }
+ self._defaults.killed.phalanx_vip_break = {
+ count = 0,
+ head_shots = 0,
+ melee = 0,
+ explosion = 0,
+ tied = 0
+ }
self._defaults.killed.city_swat_guard = {
count = 0,
head_shots = 0,
diff --git a/lua/sc/modifiers/new/modifierdozerpairs.lua b/lua/sc/modifiers/new/modifierdozerpairs.lua
new file mode 100644
index 0000000000..213d243f39
--- /dev/null
+++ b/lua/sc/modifiers/new/modifierdozerpairs.lua
@@ -0,0 +1,139 @@
+--Just be careful of not meeting two Russian Titandozers
+ModifierDozerPairs = ModifierDozerPairs or class(BaseModifier)
+ModifierDozerPairs._type = "ModifierDozerPairs"
+ModifierDozerPairs.name_id = "none"
+ModifierDozerPairs.desc_id = "menu_cs_modifier_dozerpairs"
+
+
+function ModifierDozerPairs:init(data)
+ tweak_data.group_ai.enemy_spawn_groups.GREEN_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "FBI_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.GREEN_tank_DW,
+ rank = 3
+ },
+ {
+ unit = "boom_M4203",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_boom,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+
+ tweak_data.group_ai.enemy_spawn_groups.BLACK_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "BLACK_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.BLACK_tank_DW,
+ rank = 3
+ },
+ {
+ unit = "CS_tazer",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.DW_tazer,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+
+ tweak_data.group_ai.enemy_spawn_groups.SKULL_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "SKULL_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.SKULL_tank,
+ rank = 3
+ },
+ {
+ unit = "CS_tazer",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.DW_tazer,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_R870",
+ freq = 1,
+ amount_max = 3,
+ tactics = tweak_data.group_ai._tactics.ELITE_swat_shotgun,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+
+ tweak_data.group_ai.enemy_spawn_groups.TIT_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "TIT_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.TIT_tank,
+ rank = 3
+ },
+ {
+ unit = "GS_heavy_R870",
+ freq = 1,
+ amount_min = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_heavy_shotgun,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+end
\ No newline at end of file
diff --git a/lua/sc/mutators/new/mutatorfactionsreplacer.lua b/lua/sc/mutators/new/mutatorfactionsreplacer.lua
new file mode 100644
index 0000000000..f1265f5ce6
--- /dev/null
+++ b/lua/sc/mutators/new/mutatorfactionsreplacer.lua
@@ -0,0 +1,95 @@
+MutatorFactionsReplacer = MutatorFactionsReplacer or class(BaseMutator)
+MutatorFactionsReplacer._type = "MutatorFactionsReplacer"
+MutatorFactionsReplacer.name_id = "mutator_faction_replace"
+MutatorFactionsReplacer.desc_id = "mutator_faction_replace_desc"
+MutatorFactionsReplacer.has_options = true
+MutatorFactionsReplacer.reductions = {
+ money = 0,
+ exp = 0
+}
+MutatorFactionsReplacer.disables_achievements = false
+MutatorFactionsReplacer.categories = {
+ "enemies"
+}
+MutatorFactionsReplacer.icon_coords = {
+ 2,
+ 2
+}
+
+function MutatorFactionsReplacer:register_values(mutator_manager)
+ self:register_value("faction_replace", "america", "fr")
+end
+
+function MutatorFactionsReplacer:name(lobby_data)
+ local name = MutatorFactionsReplacer.super.name(self)
+
+ if self:_mutate_name("faction_replace") then
+ return string.format("%s - %s", name, managers.localization:text("menu_mutator_faction_replace_" .. tostring(self:value("faction_replace"))))
+ else
+ return name
+ end
+end
+
+function MutatorFactionsReplacer:get_faction_override()
+ return self:value("faction_replace")
+end
+
+function MutatorFactionsReplacer:setup_options_gui(node)
+ local params = {
+ callback = "_update_mutator_value",
+ name = "faction_selector_choice",
+ text_id = "menu_mutator_faction_replace",
+ filter = true,
+ update_callback = callback(self, self, "_update_faction")
+ }
+ local data_node = {
+ {
+ value = "america",
+ text_id = "menu_mutator_faction_replace_america",
+ _meta = "option"
+ },
+ {
+ value = "murkywater",
+ text_id = "menu_mutator_faction_replace_murkywater",
+ _meta = "option"
+ },
+ {
+ value = "russia",
+ text_id = "menu_mutator_faction_replace_russia",
+ _meta = "option"
+ },
+ {
+ value = "federales",
+ text_id = "menu_mutator_faction_replace_federales",
+ _meta = "option"
+ },
+ {
+ value = "zombie",
+ text_id = "menu_mutator_faction_replace_zombie",
+ _meta = "option"
+ },
+ {
+ value = "nypd",
+ text_id = "menu_mutator_faction_replace_nypd",
+ _meta = "option"
+ },
+ {
+ value = "lapd",
+ text_id = "menu_mutator_faction_replace_lapd",
+ _meta = "option"
+ },
+ type = "MenuItemMultiChoice"
+ }
+ local new_item = node:create_item(data_node, params)
+
+ new_item:set_value(self:get_faction_override())
+ node:add_item(new_item)
+
+ self._node = node
+
+ return new_item
+end
+
+function MutatorFactionsReplacer:_update_faction(item)
+ self:set_value("faction_replace", item:value())
+end
\ No newline at end of file
diff --git a/lua/sc/mutators/new/mutatorgoldfarbdozers.lua b/lua/sc/mutators/new/mutatorgoldfarbdozers.lua
new file mode 100644
index 0000000000..a125c346b3
--- /dev/null
+++ b/lua/sc/mutators/new/mutatorgoldfarbdozers.lua
@@ -0,0 +1,455 @@
+--Just be careful of not meeting two Russian Titandozers
+MutatorGoldfarbDozers = MutatorGoldfarbDozers or class(BaseMutator)
+MutatorGoldfarbDozers._type = "MutatorGoldfarbDozers"
+MutatorGoldfarbDozers.name_id = "mutator_goldfarbdozers"
+MutatorGoldfarbDozers.desc_id = "mutator_goldfarbdozers_desc"
+MutatorGoldfarbDozers.reductions = {
+ money = 0,
+ exp = 0
+}
+MutatorGoldfarbDozers.disables_achievements = false
+MutatorGoldfarbDozers.categories = {"crime_spree"}
+MutatorGoldfarbDozers.icon_coords = {
+ 6,
+ 4
+}
+
+function MutatorGoldfarbDozers:setup()
+ local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
+ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
+
+ --Dozer Pairs, not a pretty way to do it but it works
+ if difficulty_index <= 5 then
+ tweak_data.group_ai.enemy_spawn_groups.GREEN_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "FBI_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.GREEN_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_swat_rifle,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 6 then
+ tweak_data.group_ai.enemy_spawn_groups.GREEN_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "FBI_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.GREEN_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_swat_rifle,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 7 then
+ tweak_data.group_ai.enemy_spawn_groups.GREEN_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "FBI_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.GREEN_tank_DW,
+ rank = 3
+ },
+ {
+ unit = "boom_M4203",
+ freq = 0.5,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_boom,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.DW_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ else
+ tweak_data.group_ai.enemy_spawn_groups.GREEN_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "FBI_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.GREEN_tank_DW,
+ rank = 3
+ },
+ {
+ unit = "boom_M4203",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_boom,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ end
+
+ if difficulty_index <= 5 then
+ tweak_data.group_ai.enemy_spawn_groups.BLACK_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "BLACK_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.BLACK_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_swat_rifle,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 6 then
+ tweak_data.group_ai.enemy_spawn_groups.BLACK_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "BLACK_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.BLACK_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_swat_rifle,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 7 then
+ tweak_data.group_ai.enemy_spawn_groups.BLACK_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "BLACK_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.BLACK_tank_DW,
+ rank = 3
+ },
+ {
+ unit = "CS_tazer",
+ freq = 0.5,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.DW_tazer,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.DW_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ else
+ tweak_data.group_ai.enemy_spawn_groups.BLACK_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "BLACK_tank",
+ freq = 1,
+ amount_min = 1,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.BLACK_tank_DW,
+ rank = 3
+ },
+ {
+ unit = "CS_tazer",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.DW_tazer,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ end
+
+ if difficulty_index <= 5 then
+ tweak_data.group_ai.enemy_spawn_groups.SKULL_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "SKULL_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.SKULL_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_swat_M4",
+ freq = 1,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.FBI_swat_rifle,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 6 then
+ tweak_data.group_ai.enemy_spawn_groups.SKULL_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "SKULL_tank",
+ freq = 1,
+ amount_min = 1,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.SKULL_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_swat_M4",
+ freq = 1,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.FBI_swat_rifle,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 7 then
+ tweak_data.group_ai.enemy_spawn_groups.SKULL_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "SKULL_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.SKULL_tank,
+ rank = 3
+ },
+ {
+ unit = "CS_tazer",
+ freq = 0.5,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.DW_tazer,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_M4",
+ freq = 1,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.DW_swat_rifle,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ else
+ tweak_data.group_ai.enemy_spawn_groups.SKULL_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "SKULL_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.SKULL_tank,
+ rank = 3
+ },
+ {
+ unit = "CS_tazer",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.DW_tazer,
+ rank = 2
+ },
+ {
+ unit = "GS_swat_R870",
+ freq = 1,
+ amount_max = 3,
+ tactics = tweak_data.group_ai._tactics.ELITE_swat_shotgun,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ end
+
+ if difficulty_index <= 5 then
+ tweak_data.group_ai.enemy_spawn_groups.TIT_tanks = {
+ amount = {3, 4},
+ spawn = {
+ {
+ unit = "TIT_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.TIT_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_heavy_G36_w",
+ freq = 1,
+ amount_min = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_heavy,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 6 then
+ tweak_data.group_ai.enemy_spawn_groups.TIT_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "TIT_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.TIT_tank,
+ rank = 2
+ },
+ {
+ unit = "FBI_heavy_G36_w",
+ freq = 1,
+ amount_min = 1,
+ tactics = tweak_data.group_ai._tactics.FBI_heavy,
+ rank = 1
+ }
+ }
+ }
+ elseif difficulty_index == 7 then
+ tweak_data.group_ai.enemy_spawn_groups.TIT_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "TIT_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.TIT_tank,
+ rank = 3
+ },
+ {
+ unit = "GS_heavy_G36_w",
+ freq = 1,
+ amount_min = 1,
+ tactics = tweak_data.group_ai._tactics.MH_heavy,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ else
+ tweak_data.group_ai.enemy_spawn_groups.TIT_tanks = {
+ amount = {4, 5},
+ spawn = {
+ {
+ unit = "TIT_tank",
+ freq = 1,
+ amount_min = 2,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.TIT_tank,
+ rank = 3
+ },
+ {
+ unit = "GS_heavy_R870",
+ freq = 1,
+ amount_min = 1,
+ tactics = tweak_data.group_ai._tactics.ELITE_heavy_shotgun,
+ rank = 1
+ },
+ {
+ unit = "medic_M4",
+ freq = 0.75,
+ amount_max = 2,
+ tactics = tweak_data.group_ai._tactics.FBI_medic_flank,
+ rank = 2
+ }
+ }
+ }
+ end
+end
\ No newline at end of file
diff --git a/lua/sc/network/base/networkmanager.lua b/lua/sc/network/base/networkmanager.lua
index 876a432701..65379fc308 100644
--- a/lua/sc/network/base/networkmanager.lua
+++ b/lua/sc/network/base/networkmanager.lua
@@ -4,4 +4,11 @@
-- self:register_handler("RestorationMod__connection", RestorationMod__ConnectionNetworkHandler)
-- self:register_handler("RestorationMod__unit", RestorationMod__UnitNetworkHandler)
-- end
--- end)
\ No newline at end of file
+-- end)
+NetworkMatchMakingEPIC._BUILD_SEARCH_INTEREST_KEY = "restoration_12.2.2"
+NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY = "restoration_12.2.2"
+--Compatibility for BeardLib Editor just in case. Maybe need shift MM key stuff in networkmanager
+if BLE and BLE:RunningFix() then
+ NetworkMatchMakingEPIC._BUILD_SEARCH_INTEREST_KEY = NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY .. "_editor"
+ NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY = NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY .. "_editor"
+end
\ No newline at end of file
diff --git a/lua/sc/network/matchmaking/networkmatchmakingepic.lua b/lua/sc/network/matchmaking/networkmatchmakingepic.lua
deleted file mode 100644
index 7d6c0cae3a..0000000000
--- a/lua/sc/network/matchmaking/networkmatchmakingepic.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-NetworkMatchMakingEPIC._BUILD_SEARCH_INTEREST_KEY = "restoration_12.2.1"
---Compatibility for BeardLib Editor just in case. Maybe need shift MM key stuff in networkmanager
-if BLE and BLE:RunningFix() then
-NetworkMatchMakingEPIC._BUILD_SEARCH_INTEREST_KEY = NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY .. "_editor"
-end
\ No newline at end of file
diff --git a/lua/sc/network/matchmaking/networkmatchmakingsteam.lua b/lua/sc/network/matchmaking/networkmatchmakingsteam.lua
deleted file mode 100644
index c60890bb9a..0000000000
--- a/lua/sc/network/matchmaking/networkmatchmakingsteam.lua
+++ /dev/null
@@ -1,5 +0,0 @@
-NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY = "restoration_12.2.1"
---Compatibility for BeardLib Editor just in case
-if BLE and BLE:RunningFix() then
-NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY = NetworkMatchMakingSTEAM._BUILD_SEARCH_INTEREST_KEY .. "_editor"
-end
\ No newline at end of file
diff --git a/lua/sc/tweak_data/blackmarkettweakdata.lua b/lua/sc/tweak_data/blackmarkettweakdata.lua
index 372d23a312..8e04132678 100644
--- a/lua/sc/tweak_data/blackmarkettweakdata.lua
+++ b/lua/sc/tweak_data/blackmarkettweakdata.lua
@@ -1847,6 +1847,7 @@ function BlackMarketTweakData:_init_projectiles(tweak_data)
"underbarrel_electric_groza",
"underbarrel_m203_groza",
"copr_ability",
+ "xmas_snowball",
"poison_gas_grenade",
"launcher_poison",
"launcher_poison_ms3gl_conversion",
diff --git a/lua/sc/tweak_data/charactertweakdata.lua b/lua/sc/tweak_data/charactertweakdata.lua
index 7262323190..265e0cf929 100644
--- a/lua/sc/tweak_data/charactertweakdata.lua
+++ b/lua/sc/tweak_data/charactertweakdata.lua
@@ -2319,7 +2319,9 @@ function CharacterTweakData:_init_tank(presets)
--Skulldozers, More tanky but moves as slow as Titandozers
self.tank_skull = deep_clone(self.tank)
- self.tank_skull.dt_suppress = nil
+ self.tank_skull.dt_suppress = {
+ range = 300
+ }
self.tank_skull.HEALTH_INIT = 625
self.tank_skull.marshal_logic = true
self.tank_skull.move_speed = presets.move_speed.very_slow
@@ -2408,6 +2410,7 @@ function CharacterTweakData:_init_tank(presets)
self.tank_mini.headshot_dmg_mul = 15.625
self.tank_mini.weapon = deep_clone(presets.weapon.normal)
self.tank_mini.can_throw_frag = true
+ self.tank_mini.grenade_toss_chance = 0.4
self.tank_mini.spawn_sound_event = self._prefix_data_p1.bulldozer() .. "_entrance_elite"
table.insert(self._enemy_list, "tank_mini")
end
@@ -2424,6 +2427,7 @@ function CharacterTweakData:_init_tank_biker(presets)
self.tank_biker.use_radio = nil
self.tank_biker.no_omnia_heal = true
self.tank_biker.no_asu = true
+ self.tank_biker.move_speed = presets.move_speed.very_slow
table.insert(self._enemy_list, "tank_biker")
end
@@ -2733,7 +2737,7 @@ function CharacterTweakData:_init_phalanx_minion(presets)
self.phalanx_minion.damage.fire_pool_damage_mul = 0.25
self.phalanx_minion.damage.hurt_severity = presets.hurt_severities.no_hurts_no_tase
self.phalanx_minion.flammable = false
- self.phalanx_minion.damage.shield_knocked = true
+ self.phalanx_minion.damage.shield_knocked = false
self.phalanx_minion.priority_shout = "f31"
self.phalanx_minion.bot_priority_shout = "f31x_any"
self.phalanx_minion.move_speed = presets.move_speed.normal
@@ -2753,7 +2757,7 @@ function CharacterTweakData:_init_phalanx_minion(presets)
self.phalanx_minion.can_be_tased = false
self.phalanx_minion.immune_to_knock_down = true
self.phalanx_minion.immune_to_concussion = true
- self.phalanx_minion.damage.immune_to_knockback = false
+ self.phalanx_minion.damage.immune_to_knockback = true
self.phalanx_minion.spawn_sound_event_2 = "hos_shield_indication_sound_terminator_style" --that's a big ass name
self.phalanx_minion.suppression = nil
self.phalanx_minion.is_special = true
@@ -2783,7 +2787,7 @@ end
function CharacterTweakData:_init_phalanx_vip(presets)
self.phalanx_vip = deep_clone(self.phalanx_minion)
- self.phalanx_vip.tags = {"law", "shield", "special", "shield_titan", "captain"}
+ self.phalanx_vip.tags = {"law", "shield", "special", "shield_titan", "captain", "phalanx_vip"}
self.phalanx_vip.damage.shield_knocked = false
self.phalanx_vip.damage.immune_to_knockback = true
self.phalanx_vip.immune_to_knock_down = true
@@ -2840,14 +2844,46 @@ function CharacterTweakData:_init_phalanx_vip(presets)
self.phalanx_vip.captain_type = restoration.captain_types.winter
self.phalanx_vip.no_mutator_weapon_override = true
table.insert(self._enemy_list, "phalanx_vip")
+
+ --Winters, shield broken
+ self.phalanx_vip_break = deep_clone(self.phalanx_vip)
+ self.phalanx_vip_break.tags = {"law", "special", "captain"}
+ self.phalanx_vip_break.rotation_speed = 3
+ self.phalanx_vip_break.damage.hurt_severity = presets.hurt_severities.only_light_hurt_no_explode
+ self.phalanx_vip_break.dodge = presets.dodge.elite
+ self.phalanx_vip_break.move_speed = presets.move_speed.very_fast
+ self.phalanx_vip_break.can_throw_frag = true
+ self.phalanx_vip_break.grenade_cooldown = 12
+ self.phalanx_vip_break.grenade_toss_chance = 1
+ self.phalanx_vip_break.HEALTH_INIT = 140
+ self.phalanx_vip_break.headshot_dmg_mul = 2.5
+ self.phalanx_vip_break.allowed_stances = nil
+ self.phalanx_vip_break.allowed_poses = nil
+ self.phalanx_vip_break.no_equip_anim = nil
+ self.phalanx_vip_break.no_run_start = nil
+ self.phalanx_vip_break.no_run_stop = nil
+ self.phalanx_vip_break.always_face_enemy = nil
+ self.phalanx_vip_break.wall_fwd_offset = nil
+ self.phalanx_vip_break.damage.explosion_damage_mul = 0.40
+ self.phalanx_vip_break.damage.rocket_damage_mul = 0.40
+ self.phalanx_vip_break.damage.fire_pool_damage_mul = 0.20
+ self.phalanx_vip_break.damage.bullet_damage_mul = 0.45
+ self.phalanx_vip_break.damage.fire_damage_mul = 0.30
+ self.phalanx_vip_break.modify_health_on_tweak_change = true
+ self.phalanx_vip_break.announce_incomming = nil
+ self.phalanx_vip_break.marshal_logic = true
+ self.phalanx_vip_break.tmp_invulnerable_on_tweak_change = 15
+ table.insert(self._enemy_list, "phalanx_vip_break")
end
function CharacterTweakData:_init_spring(presets)
self.spring = deep_clone(self.tank)
- self.spring.tags = {"law", "custom", "special", "captain"}
+ self.spring.tags = {"law", "custom", "special", "captain", "spring"}
self.spring.move_speed = presets.move_speed.very_slow
self.spring.rage_move_speed = presets.move_speed.fast
self.spring.can_throw_frag = true
+ self.spring.grenade_cooldown = 12
+ self.spring.grenade_toss_chance = 1
self.spring.no_run_start = true
self.spring.no_run_stop = true
self.spring.no_retreat = true
@@ -2905,6 +2941,7 @@ function CharacterTweakData:_init_spring(presets)
--Headless Titandozer Boss
self.headless_hatman = deep_clone(self.spring)
+ self.headless_hatman.tags = {"law", "custom", "special", "captain", "headless_hatman"}
self.headless_hatman.speech_prefix_p1 = "cpa"
self.headless_hatman.speech_prefix_p2 = nil
self.headless_hatman.speech_prefix_count = nil
@@ -2989,7 +3026,7 @@ end
function CharacterTweakData:_init_autumn(presets)
self.autumn = deep_clone(presets.base)
- self.autumn.tags = {"law", "custom", "special", "customvo"}
+ self.autumn.tags = {"law", "custom", "special", "customvo", "autumn"}
self.autumn.experience = {}
self.autumn.damage.hurt_severity = presets.hurt_severities.no_hurts
self.autumn.weapon = deep_clone(presets.weapon.normal)
@@ -17832,11 +17869,6 @@ function CharacterTweakData:_set_overkill_290()
self.spring.dt_suppress = {
range = 2500
}
-
- --Skulldozers can now push back players
- self.tank_skull.dt_suppress = {
- range = 300
- }
self.autumn.damage.bullet_damage_mul = 0.45
self.presets.gang_member_damage.HEALTH_INIT = 175
diff --git a/lua/sc/tweak_data/crimespreetweakdata.lua b/lua/sc/tweak_data/crimespreetweakdata.lua
index c92a132072..983a67a23b 100644
--- a/lua/sc/tweak_data/crimespreetweakdata.lua
+++ b/lua/sc/tweak_data/crimespreetweakdata.lua
@@ -834,6 +834,13 @@ function CrimeSpreeTweakData:init_modifiers(tweak_data)
explosive_resist = {50, "add"}
}
},
+ --Dozers can now always spawn in pairs
+ {
+ id = "dozer_pairs",
+ class = "ModifierDozerPairs",
+ icon = "crime_spree_more_dozers",
+ data = {}
+ },
--MedicDozers have a 50% chance to replace other dozer types
{
id = "dozer_medic",
diff --git a/lua/sc/tweak_data/groupaitweakdata.lua b/lua/sc/tweak_data/groupaitweakdata.lua
index 074ec7f6cc..544054ac09 100644
--- a/lua/sc/tweak_data/groupaitweakdata.lua
+++ b/lua/sc/tweak_data/groupaitweakdata.lua
@@ -18835,7 +18835,71 @@ function GroupAITweakData:_init_task_data(difficulty_index, difficulty)
specular_mul = 1,
color = Vector3(255, 0, 0)
}
- }
+ },
+ phalanx_minion = {
+ flash_charge_stun_sound = "USM_Beep_Stop",
+ flash_charge_stun_effect = "effects/particles/explosions/explosion_flash_grenade",
+ flash_effect = "effects/payday2/particles/character/marshal_bright_light",
+ flash_charge_stun_sound_explosion = "no_sound",
+ flash_charge_timer = 3,
+ beep_effect = "effects/payday2/particles/character/marshal_red_light",
+ flash_charge_stun_range = 300,
+ beep_sound = "USM_Beep",
+ flash_range = 1200,
+ flash_charge_range = 1100,
+ flash_shape_radius = 120,
+ flash_charge_cooldown = 18,
+ flash_slotmask = "persons_no_players",
+ flash_shape = "cylinder",
+ flash_sound = "USM_Flash",
+ flash_range_min = 200,
+ flash_charge_stun_slotmask = "persons_no_players",
+ beep_speeds = {
+ 0.1,
+ 0.025
+ },
+ beep_light_data = {
+ type_str = "omni|specular",
+ range = 300,
+ beep_mul = 0.3,
+ falloff_exp = 0.5,
+ beep_fade_speed = 4,
+ specular_mul = 1,
+ color = Vector3(255, 0, 0)
+ }
+ },
+ phalanx_vip = {
+ flash_charge_stun_sound = "USM_Beep_Stop",
+ flash_charge_stun_effect = "effects/particles/explosions/explosion_flash_grenade",
+ flash_effect = "effects/payday2/particles/character/marshal_bright_light",
+ flash_charge_stun_sound_explosion = "no_sound",
+ flash_charge_timer = 1.5,
+ beep_effect = "effects/payday2/particles/character/marshal_red_light",
+ flash_charge_stun_range = 300,
+ beep_sound = "USM_Beep",
+ flash_range = 1200,
+ flash_charge_range = 1100,
+ flash_shape_radius = 120,
+ flash_charge_cooldown = 9,
+ flash_slotmask = "persons_no_players",
+ flash_shape = "cylinder",
+ flash_sound = "USM_Flash",
+ flash_range_min = 200,
+ flash_charge_stun_slotmask = "persons_no_players",
+ beep_speeds = {
+ 0.1,
+ 0.025
+ },
+ beep_light_data = {
+ type_str = "omni|specular",
+ range = 300,
+ beep_mul = 0.3,
+ falloff_exp = 0.5,
+ beep_fade_speed = 4,
+ specular_mul = 1,
+ color = Vector3(255, 0, 0)
+ }
+ }
}
self.flash_shields.default = self.flash_shields.marshal_shield
diff --git a/lua/sc/tweak_data/levelstweakdata.lua b/lua/sc/tweak_data/levelstweakdata.lua
index ea9779a22e..d9d82ca3eb 100644
--- a/lua/sc/tweak_data/levelstweakdata.lua
+++ b/lua/sc/tweak_data/levelstweakdata.lua
@@ -249,6 +249,7 @@ Hooks:PostHook( LevelsTweakData, "init", "SC_levels", function(self)
self.pal.ai_group_type = lapd
self.friend.ai_group_type = lapd
+ self.friend.package = {"packages/lvl_friend", "packages/miscassets"}
self.friend.player_style = "suit_sunny"
self.kenaz.ai_group_type = lapd
diff --git a/lua/sc/tweak_data/mutatortweakdata.lua b/lua/sc/tweak_data/mutatortweakdata.lua
index ebc8737a28..96a8b517ce 100644
--- a/lua/sc/tweak_data/mutatortweakdata.lua
+++ b/lua/sc/tweak_data/mutatortweakdata.lua
@@ -14,6 +14,10 @@ function MutatorTweakData:init_birthday(tweak_data)
buff_id = 2,
spawn_rate = 1
},
+ lpf = {
+ buff_id = 2,
+ spawn_rate = 1
+ },
shield = {
buff_id = 3,
spawn_rate = 2
diff --git a/lua/sc/tweak_data/skilltreetweakdata.lua b/lua/sc/tweak_data/skilltreetweakdata.lua
index 99ec419126..7140561f88 100644
--- a/lua/sc/tweak_data/skilltreetweakdata.lua
+++ b/lua/sc/tweak_data/skilltreetweakdata.lua
@@ -47,7 +47,7 @@ function SkillTreeTweakData:init(tweak_data)
"x_sr2",
"x_mp5",
"x_akmsu",
- "xmas_snowball",
+ --"xmas_snowball",
"akimbo_recoil_index_addend_1",
"akimbo_spread_index_addend_1",
"ecm_jammer_can_activate_feedback",
diff --git a/lua/sc/tweak_data/tipstweakdata.lua b/lua/sc/tweak_data/tipstweakdata.lua
index 10c06da868..71df078e3c 100644
--- a/lua/sc/tweak_data/tipstweakdata.lua
+++ b/lua/sc/tweak_data/tipstweakdata.lua
@@ -283,6 +283,12 @@ function TipsTweakData:init()
consoles = true,
category = "new_units_res"
},
+ {
+ cat_index = 20,
+ image = "enemy_tshield",
+ consoles = true,
+ category = "new_units_res"
+ },
{
cat_index = 1,
image = "enemy_summers",
@@ -355,6 +361,12 @@ function TipsTweakData:init()
consoles = true,
category = "captains_res"
},
+ {
+ cat_index = 13,
+ image = "enemy_winters_sc",
+ consoles = true,
+ category = "captains_res"
+ },
{
cat_index = 1,
image = "general_cameras",
diff --git a/lua/sc/tweak_data/tweakdata.lua b/lua/sc/tweak_data/tweakdata.lua
index 024b3d9f48..f2b967729b 100644
--- a/lua/sc/tweak_data/tweakdata.lua
+++ b/lua/sc/tweak_data/tweakdata.lua
@@ -63,21 +63,24 @@ tweak_data.grenade_launcher = {
tweak_data.shotgun = {
ads_move_speed_mult = 0.5,
- ads_moving_spread_mult = 1.5
+ ads_moving_spread_mult = 1.25
}
tweak_data.shotgun_light = {
- hipfire_spread_mult = 1.2,
- moving_spread_mult = 1.8
+ hipfire_spread_mult = 1.25,
+ --ads_multishot_spread_mult = 4,
+ moving_spread_mult = 1.5
}
tweak_data.shotgun_heavy = {
- hipfire_spread_mult = 0.5
+ hipfire_spread_mult = 0.45,
+ --ads_multishot_spread_mult = 0.9
}
tweak_data.shotgun_break = {
- hipfire_spread_mult = 1.2
+ hipfire_spread_mult = 1.15,
+ --ads_multishot_spread_mult = 1
}
tweak_data.shotgun_pistol = {
ads_move_speed_mult = 1.6,
- swap_bonus = 1.75
+ swap_bonus = 1.8
}
tweak_data.flamethrower = {
ads_move_speed_mult = 1,
@@ -155,7 +158,7 @@ tweak_data.assault_rifle = {
}
tweak_data.akimbo = {
- swap_bonus = 0.75,
+ swap_bonus = 0.8,
ads_move_speed_mult = 0.75,
ads_moving_spread_mult = 3,
hipfire_spread_mult = 2,
@@ -900,6 +903,7 @@ end
tweak_data.medic.disabled_units = {
"phalanx_vip",
+ "phalanx_vip_break",
"spring",
"headless_hatman",
"taser_summers",
diff --git a/lua/sc/tweak_data/upgradestweakdata.lua b/lua/sc/tweak_data/upgradestweakdata.lua
index 7ed7623013..5761c7804a 100644
--- a/lua/sc/tweak_data/upgradestweakdata.lua
+++ b/lua/sc/tweak_data/upgradestweakdata.lua
@@ -103,7 +103,8 @@ Hooks:PostHook(UpgradesTweakData, "init", "ResLevelTableInit", function(self, tw
"sparrow",
"x_sparrow",
"gator",
- "pl14"
+ "pl14",
+ "x_pl14"
}
},
l15 = {
diff --git a/lua/sc/tweak_data/weaponfactorytweakdata.lua b/lua/sc/tweak_data/weaponfactorytweakdata.lua
index 55b82ea277..349f86bb25 100644
--- a/lua/sc/tweak_data/weaponfactorytweakdata.lua
+++ b/lua/sc/tweak_data/weaponfactorytweakdata.lua
@@ -1472,7 +1472,7 @@ local grips = {
total_ammo_mod = per_pellet and -102 or -68,
damage = per_pellet and 0 or 15,
recoil = -20,
- spread = 12,
+ spread = 5,
spread_multi = {1, 1},
suppression = -1,
moving_spread = 0
@@ -1488,7 +1488,7 @@ local grips = {
can_shoot_through_wall = true,
ap_desc = "bm_ap_armor_80_weapon_sc_desc",
falloff_start_mult = 1.2,
- falloff_end_mult = 1.8,
+ falloff_end_mult = 1.5,
ads_speed_mult = 1.075
}
},
@@ -1502,7 +1502,7 @@ local grips = {
concealment = -3,
total_ammo_mod = per_pellet and -102 or -52,
damage = per_pellet and 0 or 15,
- spread = 12,
+ spread = 5,
spread_multi = {1, 1},
recoil = -20,
moving_spread = 0,
@@ -1519,7 +1519,7 @@ local grips = {
can_shoot_through_wall = true,
ap_desc = "bm_ap_armor_80_weapon_sc_desc",
falloff_start_mult = 1.2,
- falloff_end_mult = 1.8,
+ falloff_end_mult = 1.5,
ads_speed_mult = 1.075
}
},
@@ -1534,7 +1534,7 @@ local grips = {
total_ammo_mod = per_pellet and -102 or -68,
damage = per_pellet and 0 or 30,
recoil = -20,
- spread = 12,
+ spread = 5,
spread_multi = {1, 1},
moving_spread = 0,
suppression = -1
@@ -1553,7 +1553,7 @@ local grips = {
can_shoot_through_wall = true,
ap_desc = "bm_ap_weapon_sc_desc",
falloff_start_mult = 1.2,
- falloff_end_mult = 1.8,
+ falloff_end_mult = 1.5,
ads_speed_mult = 1.075
}
},
@@ -1565,7 +1565,7 @@ local grips = {
total_ammo_mod = per_pellet and -102 or -52,
damage = per_pellet and 0 or 30,
recoil = -20,
- spread = 12,
+ spread = 5,
spread_multi = {1, 1},
suppression = -1,
moving_spread = 0
@@ -1585,7 +1585,7 @@ local grips = {
can_shoot_through_titan_shield = true,
ap_desc = "bm_heavy_ap_no_mult_weapon_sc_desc",
falloff_start_mult = 1.2,
- falloff_end_mult = 1.8,
+ falloff_end_mult = 1.5,
ads_speed_mult = 1.075
}
},
@@ -2456,6 +2456,9 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_sights", "resmod_sights", function
self.parts.wpn_fps_upg_o_specter.stance_mod.wpn_fps_ass_stoner63a_rifle = {
translation = Vector3(0.015, 8, -3.52)
}
+ self.parts.wpn_fps_upg_o_specter.stance_mod.wpn_fps_ass_pd3_qbz191 = {
+ translation = Vector3(-0.009, 6, -3.5)
+ }
self.parts.wpn_fps_upg_o_specter.stance_mod.wpn_fps_ass_akilo_2022 = {
translation = Vector3(-0.016, -9.5, -2.787),
@@ -6710,6 +6713,25 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_g17", "resmod_g17", function(self)
self.parts.wpn_fps_pis_g17_ck.stats = { value = 1 }
self.parts.wpn_fps_pis_g17_ck.custom_stats = nil
self.parts.wpn_fps_pis_g17_ck.forbids = nil
+
+ self.parts.wpn_fps_pis_g17_s_mount = {
+ type = "shitass",
+ name_id = "none",
+ unit = "units/payday2/weapons/wpn_fps_pis_g18c/wpn_fps_pis_g18c"
+ ,
+ stats = {
+ value = 1
+ }
+ }
+ self.parts.wpn_fps_pis_g17_g_mount = {
+ type = "shitass2",
+ name_id = "none",
+ unit = "units/payday2/weapons/wpn_fps_pis_g22c/wpn_fps_pis_g22c"
+ ,
+ stats = {
+ value = 1
+ }
+ }
--Chimano 88 Part Additions
table.insert(self.wpn_fps_pis_g17.uses_parts, "wpn_fps_pis_g18c_g_ergo")
@@ -6718,6 +6740,17 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_g17", "resmod_g17", function(self)
table.insert(self.wpn_fps_pis_g17.uses_parts, "wpn_fps_upg_vg_ass_smg_verticalgrip")
table.insert(self.wpn_fps_pis_g17.uses_parts, "wpn_fps_upg_vg_ass_smg_stubby")
+ table.insert(self.wpn_fps_pis_g17.uses_parts, "wpn_fps_pis_g18c_s_stock")
+
+ self.wpn_fps_pis_g17.override.wpn_fps_pis_g18c_s_stock = {
+ adds = {"wpn_fps_pis_g17_s_mount"},
+ parent = "shitass"
+ }
+ self.wpn_fps_pis_g17.override.wpn_fps_pis_g18c_g_ergo = {
+ adds = {"wpn_fps_pis_g17_g_mount"},
+ parent = "shitass2"
+ }
+
self.wpn_fps_pis_g17_npc.override = deep_clone(self.wpn_fps_pis_g17.override)
self.wpn_fps_pis_g17_npc.uses_parts = deep_clone(self.wpn_fps_pis_g17.uses_parts)
@@ -6904,13 +6937,36 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_raging_bull", "resmod_raging_bull"
self.parts.wpn_fps_pis_rage_g_ergo.supported = true
self.parts.wpn_fps_pis_rage_g_ergo.stats = deep_clone(grips.recoil_1)
- self.wpn_fps_pis_rage.override = self.wpn_fps_pis_rage.override or {}
+ self.parts.wpn_fps_pis_rage_fl_mount = {
+ type = "shitass",
+ name_id = "bm_wp_judge_b_standard",
+ unit = "units/pd2_dlc_osa/weapons/wpn_fps_smg_x_cobray/wpn_fps_smg_x_cobray",
+ --unit = "units/pd2_dlc_rota/weapons/wpn_fps_sho_rota/wpn_fps_sho_rota",
+ stats = {
+ value = 1
+ }
+ }
--Bronco .44 Part Additions
table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
+ table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_m3x")
+ table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_crimson")
+ table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_x400v")
+ table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_laser")
+ table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_tlr1")
+ table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_perst")
+
+ self.wpn_fps_pis_rage.override = self.wpn_fps_pis_rage.override or {}
+ self.wpn_fps_pis_rage.override.wpn_fps_pis_usp_fl_adapter = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+ self.wpn_fps_pis_rage.override.wpn_fps_pis_2006m_fl_adapter = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
- --table.insert(self.wpn_fps_pis_rage.uses_parts, "wpn_fps_upg_fl_pis_x400v")
-
+ self.wpn_fps_pis_rage_npc.override = deep_clone(self.wpn_fps_pis_rage.override)
self.wpn_fps_pis_rage_npc.uses_parts = deep_clone(self.wpn_fps_pis_rage.uses_parts)
self.wpn_fps_pis_rage_primary = nil
@@ -7934,7 +7990,57 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_rpk", "resmod_rpk", function(self)
spread = 1,
recoil = -2
}
+
+ self.parts.wpn_fps_lmg_rpk_ak_unit = {
+ type = "shitass",
+ name_id = "none",
+ unit = "units/payday2/weapons/wpn_fps_ass_akm/wpn_fps_ass_akm"
+ ,
+ stats = {
+ value = 1
+ }
+ }
+ --RPK Part Additions
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_specter")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_aimpoint")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_docter")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_eotech")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_t1micro")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_cmore")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_aimpoint_2")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_cs")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_rx30")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_rx01")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_reflex")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_eotech_xps")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_uh")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_fc1")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_spot")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_bmg")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_tf90")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_poe")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_health")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_hamr")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_hamr_reddot")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_atibal")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_atibal_reddot")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_upg_ak_s_psl")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_lmg_rpk_m_ban")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_upg_ak_s_skfoldable")
+
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_ak_scopemount")
+
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_upg_ak_fg_combo3")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_fg_tapco")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_fg_midwest")
+ --table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_fg_krebs") -- Don't fit right, missing their respective unique attachment points
+ --table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_fg_trax")
+
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_m_quick")
+ table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_m_quad")
+
+
self.wpn_fps_lmg_rpk.adds = {
wpn_fps_upg_o_specter = { "wpn_fps_ak_extra_ris" },
wpn_fps_upg_o_aimpoint = { "wpn_fps_ak_extra_ris" },
@@ -8103,43 +8209,6 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_rpk", "resmod_rpk", function(self)
end
end
- --RPK Part Additions
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_specter")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_aimpoint")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_docter")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_eotech")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_t1micro")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_cmore")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_aimpoint_2")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_cs")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_rx30")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_rx01")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_reflex")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_eotech_xps")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_uh")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_fc1")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_spot")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_bmg")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_tf90")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_poe")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_health")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_hamr")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_atibal")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_upg_ak_s_psl")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_lmg_rpk_m_ban")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_upg_ak_s_skfoldable")
-
- --table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_o_ak_scopemount") -- doesn't work, missing "a_o_sm"
- --table.insert(self.wpn_fps_lmg_rpk_npc.uses_parts, "wpn_fps_upg_o_ak_scopemount")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_upg_ak_fg_combo3")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_fg_tapco")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_fg_midwest")
- --table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_fg_krebs") -- Don't fit right, missing their respective unique attachment points
- --table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_fg_trax")
-
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_m_quick")
- table.insert(self.wpn_fps_lmg_rpk.uses_parts, "wpn_fps_upg_ak_m_quad")
-
self.wpn_fps_lmg_rpk_npc.uses_parts = deep_clone(self.wpn_fps_lmg_rpk.uses_parts)
self.wpn_fps_lmg_rpk_npc.override = deep_clone(self.wpn_fps_lmg_rpk.override)
@@ -10634,7 +10703,12 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_spas12", "resmod_spas12", function
self.parts.wpn_fps_sho_s_spas12_folded.supported = true
self.parts.wpn_fps_sho_s_spas12_folded.stats = deep_clone(stocks.fold_nocheeks_stats)
self.parts.wpn_fps_sho_s_spas12_folded.custom_stats = deep_clone(stocks.fold_nocheeks_stats)
-
+ self.parts.wpn_fps_sho_s_spas12_folded.stance_mod = {
+ wpn_fps_sho_spas12 = {
+ translation = Vector3(0,6,0)
+ }
+ }
+
--No Stock
self.parts.wpn_fps_sho_s_spas12_nostock.pcs = {
10,
@@ -11820,6 +11894,10 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_modpack_m4_ak", "resmod_modpack_m4
translation = Vector3(-0.005, 15.5, -4.34)
}
+ self.parts.wpn_fps_upg_o_ak_scopemount.override.wpn_fps_upg_o_specter.stance_mod.wpn_fps_lmg_rpk = {
+ translation = Vector3(0.045, 17.5, -4.55)
+ }
+
self.parts.wpn_fps_upg_o_ak_scopemount.override.wpn_fps_upg_o_specter.stance_mod.wpn_fps_ass_akm_nomag = {
translation = Vector3(-0.005, 15.5, -4.6)
}
@@ -12551,16 +12629,22 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_x_g17", "resmod_x_g17", function(s
reload = -3
}
+ self.wpn_fps_pis_x_g17.override.wpn_fps_pis_g18c_s_stock = {
+ adds = {"wpn_fps_pis_g17_s_mount"},
+ parent = "shitass"
+ }
+ self.wpn_fps_pis_x_g17.override.wpn_fps_pis_g18c_g_ergo = {
+ adds = {"wpn_fps_pis_g17_g_mount"},
+ parent = "shitass2"
+ }
+
--Chimano 88 Part Additions
table.insert(self.wpn_fps_pis_x_g17.uses_parts, "wpn_fps_pis_g18c_g_ergo")
- table.insert(self.wpn_fps_pis_x_g17_npc.uses_parts, "wpn_fps_pis_g18c_g_ergo")
-
table.insert(self.wpn_fps_pis_x_g17.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
- table.insert(self.wpn_fps_pis_x_g17_npc.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
-
table.insert(self.wpn_fps_pis_x_g17.uses_parts, "wpn_fps_pis_g18c_co_1")
- table.insert(self.wpn_fps_pis_x_g17_npc.uses_parts, "wpn_fps_pis_g18c_co_1")
+ table.insert(self.wpn_fps_pis_x_g17.uses_parts, "wpn_fps_pis_g18c_s_stock")
+ self.wpn_fps_pis_x_g17_npc.override = deep_clone(self.wpn_fps_pis_x_g17.override)
self.wpn_fps_pis_x_g17_npc.uses_parts = deep_clone(self.wpn_fps_pis_x_g17.uses_parts)
end)
@@ -14215,6 +14299,18 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_pl14", "resmod_pl14", function(sel
end)
+Hooks:PostHook(WeaponFactoryTweakData, "_init_x_pl14", "resmod_x_pl14", function(self)
+
+ self.wpn_fps_pis_x_pl14.override.wpn_fps_pis_pl14_m_extended = {
+ stats = {
+ value = 1,
+ extra_ammo = 4,
+ concealment = -1
+ }
+ }
+
+end)
+
--Akimbo MP5
Hooks:PostHook(WeaponFactoryTweakData, "_init_x_mp5", "resmod_x_mp5", function(self)
@@ -15701,12 +15797,49 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_chinchilla", "resmod_chinchilla",
self.parts.wpn_fps_pis_chinchilla_g_death.supported = true
self.parts.wpn_fps_pis_chinchilla_g_death.stats = deep_clone(grips.recoil_1)
+ self.parts.wpn_fps_pis_chinchilla_fl_mount = {
+ type = "shitass",
+ name_id = "none",
+ unit = "units/pd2_dlc_osa/weapons/wpn_fps_smg_x_cobray/wpn_fps_smg_x_cobray",
+ stats = {
+ value = 1
+ }
+ }
+
+ table.insert(self.wpn_fps_pis_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_m3x")
+ table.insert(self.wpn_fps_pis_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_crimson")
+ table.insert(self.wpn_fps_pis_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_x400v")
+ table.insert(self.wpn_fps_pis_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_laser")
+ table.insert(self.wpn_fps_pis_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_tlr1")
+ table.insert(self.wpn_fps_pis_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_perst")
+
+ self.wpn_fps_pis_chinchilla.adds = self.wpn_fps_pis_chinchilla.adds or {}
+ self.wpn_fps_pis_chinchilla.override = self.wpn_fps_pis_chinchilla.override or {}
+
+ self.wpn_fps_pis_chinchilla.override.wpn_fps_pis_usp_fl_adapter = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+
end)
--Akimbo Castigo .44
Hooks:PostHook(WeaponFactoryTweakData, "_init_x_chinchilla", "resmod_x_chinchilla", function(self)
- --Nothing yet
+ table.insert(self.wpn_fps_pis_x_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_m3x")
+ table.insert(self.wpn_fps_pis_x_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_crimson")
+ table.insert(self.wpn_fps_pis_x_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_x400v")
+ table.insert(self.wpn_fps_pis_x_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_laser")
+ table.insert(self.wpn_fps_pis_x_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_tlr1")
+ table.insert(self.wpn_fps_pis_x_chinchilla.uses_parts, "wpn_fps_upg_fl_pis_perst")
+
+ self.wpn_fps_pis_x_chinchilla.adds = self.wpn_fps_pis_x_chinchilla.adds or {}
+ self.wpn_fps_pis_x_chinchilla.override = self.wpn_fps_pis_x_chinchilla.override or {}
+
+ self.wpn_fps_pis_x_chinchilla.override.wpn_fps_pis_usp_fl_adapter = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
end)
@@ -16397,6 +16530,10 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_x_g18c", "resmod_x_g18c", function
magazine_empty = "last_recoil"
}
+ table.insert(self.wpn_fps_pis_x_g18c.uses_parts, "wpn_fps_pis_g18c_s_stock")
+
+ self.wpn_fps_pis_x_g18c_npc.uses_parts = deep_clone(self.wpn_fps_pis_x_g18c.uses_parts)
+
end)
--Akimbo Raging Bulls
@@ -16410,6 +16547,9 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_x_rage", "resmod_x_rage", function
reload = "reload",
reload_not_empty = "reload"
}
+
+ self.wpn_fps_pis_x_rage.adds = {}
+
self.wpn_fps_pis_x_rage.override = {
wpn_fps_pis_rage_body_standard = {
animations = {
@@ -16432,13 +16572,22 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_x_rage", "resmod_x_rage", function
}
}
}
+
+ self.wpn_fps_pis_x_rage.override.wpn_fps_pis_2006m_fl_adapter = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+
table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
- table.insert(self.wpn_fps_pis_x_rage_npc.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
- table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_pis_g18c_co_1")
- table.insert(self.wpn_fps_pis_x_rage_npc.uses_parts, "wpn_fps_pis_g18c_co_1")
- table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_ns_pis_meatgrinder")
- table.insert(self.wpn_fps_pis_x_rage_npc.uses_parts, "wpn_fps_upg_ns_pis_meatgrinder")
-
+ table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_fl_pis_m3x")
+ table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_fl_pis_crimson")
+ table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_fl_pis_x400v")
+ table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_fl_pis_laser")
+ table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_fl_pis_tlr1")
+ table.insert(self.wpn_fps_pis_x_rage.uses_parts, "wpn_fps_upg_fl_pis_perst")
+
+ self.wpn_fps_pis_x_rage_npc.adds = deep_clone(self.wpn_fps_pis_x_rage.adds)
+ self.wpn_fps_pis_x_rage_npc.override = deep_clone(self.wpn_fps_pis_x_rage.override)
self.wpn_fps_pis_x_rage_npc.uses_parts = deep_clone(self.wpn_fps_pis_x_rage.uses_parts)
end)
@@ -17379,10 +17528,9 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_x_czech", "resmod_x_czech", functi
}
table.insert(self.wpn_fps_pis_x_czech.uses_parts, "wpn_fps_pis_g18c_co_1")
- table.insert(self.wpn_fps_pis_x_czech_npc.uses_parts, "wpn_fps_pis_g18c_co_1")
table.insert(self.wpn_fps_pis_x_czech.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
- table.insert(self.wpn_fps_pis_x_czech_npc.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
-
+ table.insert(self.wpn_fps_pis_x_czech.uses_parts, "wpn_fps_pis_czech_s_standard")
+
self.wpn_fps_pis_x_czech_npc.override = deep_clone(self.wpn_fps_pis_x_czech.override)
self.wpn_fps_pis_x_czech_npc.uses_parts = deep_clone(self.wpn_fps_pis_x_czech.uses_parts)
@@ -17540,10 +17688,9 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_x_stech", "resmod_x_stech", functi
end
end
- table.insert(self.wpn_fps_pis_x_stech.uses_parts, "wpn_fps_pis_g18c_co_1")
- table.insert(self.wpn_fps_pis_x_stech_npc.uses_parts, "wpn_fps_pis_g18c_co_1")
+ table.insert(self.wpn_fps_pis_x_stech.uses_parts, "wpn_fps_pis_g18c_co_1")
table.insert(self.wpn_fps_pis_x_stech.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
- table.insert(self.wpn_fps_pis_x_stech_npc.uses_parts, "wpn_fps_pis_g18c_co_comp_2")
+ table.insert(self.wpn_fps_pis_x_stech.uses_parts, "wpn_fps_pis_stech_s_standard")
self.wpn_fps_pis_x_stech_npc.override = deep_clone(self.wpn_fps_pis_x_stech.override)
self.wpn_fps_pis_x_stech_npc.uses_parts = deep_clone(self.wpn_fps_pis_x_stech.uses_parts)
@@ -18168,6 +18315,33 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_m1911", "resmod_m1911", function(s
end)
+Hooks:PostHook(WeaponFactoryTweakData, "_init_x_m1911", "resmod_x_m1911", function(self)
+
+ self.wpn_fps_pis_x_m1911.override.wpn_fps_pis_m1911_m_extended = {
+ stats = {
+ value = 3,
+ concealment = -1,
+ extra_ammo = 6,
+ reload = -1
+ }
+ }
+
+ self.wpn_fps_pis_x_m1911.override.wpn_fps_pis_1911_co_1 = {
+ a_obj = "a_ns",
+ parent = "barrel"
+ }
+ self.wpn_fps_pis_x_m1911.override.wpn_fps_pis_1911_co_2 = {
+ a_obj = "a_ns",
+ parent = "barrel"
+ }
+
+ table.insert(self.wpn_fps_pis_x_m1911.uses_parts, "wpn_fps_pis_1911_co_1")
+ table.insert(self.wpn_fps_pis_x_m1911.uses_parts, "wpn_fps_pis_1911_co_2")
+
+ self.wpn_fps_pis_x_m1911_npc.uses_parts = deep_clone(self.wpn_fps_pis_x_m1911.uses_parts)
+
+end)
+
--Mosconi 12G Tactical Shotgun
Hooks:PostHook(WeaponFactoryTweakData, "_init_m590", "resmod_m590", function(self)
@@ -18364,6 +18538,7 @@ Hooks:PostHook(WeaponFactoryTweakData, "_init_vityaz", "resmod_vityaz", function
self.parts.wpn_fps_smg_vityaz_s_short.custom_stats = deep_clone(stocks.remove_folder_stats)
self.wpn_fps_smg_vityaz.override = self.wpn_fps_smg_vityaz.override or {}
+
end)
@@ -21720,7 +21895,8 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
custom_stats = {
lock_burst = true,
tekna_burst = true,
- rof_mult = 2.1153846
+ rof_mult = 2.1153846,
+ alt_desc = "bm_wally_desc",
},
alt_icon = "guis/textures/pd2/blackmarket/icons/mods/wpn_fps_upg_i_autofire",
unit = "units/payday2/weapons/wpn_upg_dummy/wpn_upg_dummy",
@@ -22457,6 +22633,56 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
--[[ RJC9000'S MODS ]]
+ --RJC9000 and PlayBONK's PD3 QBZ-191
+ if self.parts.wpn_fps_ass_pd3_qbz191_irons_folded then
+ self.parts.wpn_fps_ass_pd3_qbz191_barrel.stats = {value = 0}
+ self.parts.wpn_fps_ass_pd3_qbz191_handguard.stats = {value = 0}
+ self.parts.wpn_fps_ass_pd3_qbz191_grip.stats = {value = 0}
+ self.parts.wpn_fps_ass_pd3_qbz191_magazine.stats = {value = 0}
+ self.parts.wpn_fps_ass_pd3_qbz191_stock.stats = {value = 0}
+
+ self.parts.wpn_fps_ass_pd3_qbz191_smag.supported = true
+ self.parts.wpn_fps_ass_pd3_qbz191_smag.stats = {
+ value = 2,
+ concealment = 1,
+ reload = 5,
+ extra_ammo = -10
+ }
+ self.parts.wpn_fps_ass_pd3_qbz191_smag.custom_stats = {
+ ads_speed_mult = 0.975
+ }
+ self.parts.wpn_fps_ass_pd3_qbz191_magazine_quick.supported = true
+ self.parts.wpn_fps_ass_pd3_qbz191_magazine_quick.stats = {
+ value = 2,
+ spread = -1,
+ concealment = -1,
+ reload = 3
+ }
+ self.parts.wpn_fps_ass_pd3_qbz191_magazine_quick.custom_stats = nil
+ self.parts.wpn_fps_ass_pd3_qbz191_xmag.supported = true
+ self.parts.wpn_fps_ass_pd3_qbz191_xmag.stats = {
+ extra_ammo = 10,
+ concealment = -1,
+ reload = -1
+ }
+ self.parts.wpn_fps_ass_pd3_qbz191_xmag.custom_stats = {
+ ads_speed_mult = 1.025
+ }
+
+ self.parts.wpn_fps_ass_pd3_qbz191_stock_extended.supported = true
+ self.parts.wpn_fps_ass_pd3_qbz191_stock_extended.stats = deep_clone(stocks.adj_hvy_rec_stats)
+ self.parts.wpn_fps_ass_pd3_qbz191_stock_extended.custom_stats = deep_clone(stocks.adj_hvy_rec_stats)
+
+ self.wpn_fps_ass_pd3_qbz191.override = self.wpn_fps_ass_pd3_qbz191.override or {}
+ self.wpn_fps_ass_pd3_qbz191.override.wpn_fps_upg_m4_s_standard = {
+ stats = {},
+ custom_stats = {}
+ }
+
+ self.wpn_fps_ass_pd3_qbz191_npc.uses_parts = deep_clone(self.wpn_fps_ass_pd3_qbz191.uses_parts)
+
+ end
+
--[[ GAMBYT'S MODS ]]
--Gambyt's Vanilla Mod Pack
@@ -22799,10 +23025,7 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
self.wpn_fps_shot_amr12.override.wpn_fps_m16_fg_standard = {
adds = {}
}
-
- table.insert(self.wpn_fps_shot_amr12.uses_parts, "wpn_fps_upg_i_singlefire")
- table.insert(self.wpn_fps_shot_amr12.uses_parts, "wpn_fps_upg_i_autofire")
-
+
self.wpn_fps_shot_amr12_npc.override = deep_clone(self.wpn_fps_shot_amr12.override)
self.wpn_fps_shot_amr12_npc.uses_parts = deep_clone(self.wpn_fps_shot_amr12.uses_parts)
@@ -31603,6 +31826,26 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
}
end
+ if self.parts.wpn_fps_pis_lapd_grip_pearl then
+
+ self.parts.wpn_fps_pis_lapd_body_standard.stance_mod = {
+ wpn_fps_pis_lapd = { translation = Vector3(0.15, 0, -0.65) }
+ }
+
+ self.parts.wpn_fps_pis_lapd_grip_cherry.supported = true
+ self.parts.wpn_fps_pis_lapd_grip_cherry.stats = deep_clone(grips.recoil_acc)
+ self.parts.wpn_fps_pis_lapd_grip_cherry.custom_stats = deep_clone(grips.recoil_acc)
+
+ self.parts.wpn_fps_pis_lapd_grip_pearl.supported = true
+ self.parts.wpn_fps_pis_lapd_grip_pearl.stats = deep_clone(grips.acc_1)
+ self.parts.wpn_fps_pis_lapd_grip_pearl.custom_stats = deep_clone(grips.acc_1)
+
+ self.parts.wpn_fps_pis_lapd_grip_polymer.supported = true
+ self.parts.wpn_fps_pis_lapd_grip_polymer.stats = deep_clone(grips.quickdraw_1)
+ self.parts.wpn_fps_pis_lapd_grip_polymer.custom_stats = deep_clone(grips.quickdraw_1)
+
+ end
+
--Make more attachments universally available, cartridge mismatching be damned
for factory_id, i in pairs(self) do
if self[factory_id] and self[factory_id .. "_npc"] and not self[factory_id].real_factory_id then
@@ -31666,7 +31909,9 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
"wpn_fps_ass_shak12_ns_muzzle",
"wpn_fps_upg_ak_ns_zenitco",
"wpn_fps_upg_ak_ns_jmac",
- "wpn_fps_snp_awp_ns_muzzle"
+ "wpn_fps_snp_awp_ns_muzzle",
+ "wpn_fps_lmg_hk51b_ns_jcomp",
+ "wpn_fps_lmg_kacchainsaw_ns_muzzle",
}
for _, part_id in ipairs(attachment_list) do
if not table.contains(self[factory_id].uses_parts, part_id) and self.parts[part_id] then
@@ -31693,7 +31938,8 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
"wpn_fps_smg_schakal_ns_silencer",
"wpn_fps_snp_msr_ns_suppressor",
"wpn_fps_snp_victor_ns_omega",
- "wpn_fps_upg_ak_ns_tgp"
+ "wpn_fps_upg_ak_ns_tgp",
+ "wpn_fps_lmg_kacchainsaw_ns_suppressor"
}
for _, part_id in ipairs(attachment_list) do
if not table.contains(self[factory_id].uses_parts, part_id) and self.parts[part_id] then
@@ -32338,6 +32584,92 @@ Hooks:PostHook( WeaponFactoryTweakData, "create_bonuses", "SC_mods", function(se
end
end
+ self.wpn_fps_lmg_rpk.override.wpn_fps_upg_o_ak_scopemount = {
+ adds = {
+ "wpn_fps_lmg_rpk_ak_unit"
+ },
+ override = deep_clone(self.parts.wpn_fps_upg_o_ak_scopemount.override)
+ }
+
+ for part_id, i in pairs(self.wpn_fps_lmg_rpk.override.wpn_fps_upg_o_ak_scopemount.override) do
+ self.wpn_fps_lmg_rpk.override.wpn_fps_upg_o_ak_scopemount.override[part_id].parent = "shitass"
+ end
+
+ for i, part_id in pairs(self.wpn_fps_lmg_rpk.uses_parts) do
+ if self.parts[part_id] and self.parts[part_id].type then
+ if self.parts[part_id].type == "vertical_grip" then
+ self.wpn_fps_lmg_rpk.override.wpn_fps_upg_o_ak_scopemount.override[part_id] = {
+ parent = "shitass"
+ }
+ end
+ end
+ end
+ self.wpn_fps_lmg_rpk_npc.override = deep_clone(self.wpn_fps_lmg_rpk.override)
+
+ for i, part_id in pairs(self.wpn_fps_pis_x_chinchilla.uses_parts) do
+ if self.parts[part_id] and self.parts[part_id].a_obj then
+ if self.parts[part_id].a_obj == "a_fl" then
+ self.wpn_fps_pis_x_chinchilla.adds[part_id] = {
+ "wpn_fps_pis_chinchilla_fl_mount","wpn_fps_pis_usp_fl_adapter"
+ }
+ self.wpn_fps_pis_x_chinchilla.override[part_id] = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+ end
+ end
+ end
+ self.wpn_fps_pis_x_chinchilla_npc.adds = deep_clone(self.wpn_fps_pis_x_chinchilla.adds)
+ self.wpn_fps_pis_x_chinchilla_npc.override = deep_clone(self.wpn_fps_pis_x_chinchilla.override)
+
+ for i, part_id in pairs(self.wpn_fps_pis_chinchilla.uses_parts) do
+ if self.parts[part_id] and self.parts[part_id].a_obj then
+ if self.parts[part_id].a_obj == "a_fl" then
+ self.wpn_fps_pis_chinchilla.adds[part_id] = {
+ "wpn_fps_pis_chinchilla_fl_mount","wpn_fps_pis_usp_fl_adapter"
+ }
+ self.wpn_fps_pis_chinchilla.override[part_id] = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+ end
+ end
+ end
+ self.wpn_fps_pis_chinchilla_npc.adds = deep_clone(self.wpn_fps_pis_chinchilla.adds)
+ self.wpn_fps_pis_chinchilla_npc.override = deep_clone(self.wpn_fps_pis_chinchilla.override)
+
+ for i, part_id in pairs(self.wpn_fps_pis_rage.uses_parts) do
+ if self.parts[part_id] and self.parts[part_id].a_obj then
+ if self.parts[part_id].a_obj == "a_fl" then
+ self.wpn_fps_pis_rage.adds[part_id] = {
+ "wpn_fps_pis_rage_fl_mount","wpn_fps_pis_usp_fl_adapter"
+ }
+ self.wpn_fps_pis_rage.override[part_id] = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+ end
+ end
+ end
+ self.wpn_fps_pis_rage_npc.adds = deep_clone(self.wpn_fps_pis_rage.adds)
+ self.wpn_fps_pis_rage_npc.override = deep_clone(self.wpn_fps_pis_rage.override)
+
+ for i, part_id in pairs(self.wpn_fps_pis_x_rage.uses_parts) do
+ if self.parts[part_id] and self.parts[part_id].a_obj then
+ if self.parts[part_id].a_obj == "a_fl" then
+ self.wpn_fps_pis_x_rage.adds[part_id] = {
+ "wpn_fps_pis_rage_fl_mount","wpn_fps_pis_2006m_fl_adapter"
+ }
+ self.wpn_fps_pis_x_rage.override[part_id] = {
+ parent = "shitass",
+ a_obj = "a_vg"
+ }
+ end
+ end
+ end
+ self.wpn_fps_pis_x_rage_npc.adds = deep_clone(self.wpn_fps_pis_x_rage.adds)
+ self.wpn_fps_pis_x_rage_npc.override = deep_clone(self.wpn_fps_pis_x_rage.override)
+
--GEN 1 LEGENDARY STUFF--
--Vlad's Rodina--
self.parts.wpn_fps_upg_vlad_rodina_legend = {
diff --git a/lua/sc/tweak_data/weapontweakdata.lua b/lua/sc/tweak_data/weapontweakdata.lua
index ffd356caef..7b132fb279 100644
--- a/lua/sc/tweak_data/weapontweakdata.lua
+++ b/lua/sc/tweak_data/weapontweakdata.lua
@@ -3235,8 +3235,8 @@ function WeaponTweakData:_init_stats()
}
--Multiplier for spread on multi-raycast weapons. This compensates for linear spread scaling which would otherwise cripple their multikill potential.
- self.stat_info.shotgun_spread_increase = per_pellet and 1.75 or 3.5
- self.stat_info.shotgun_spread_increase_ads = per_pellet and 2 or 1
+ self.stat_info.shotgun_spread_increase = 1.75
+ self.stat_info.shotgun_spread_increase_ads = 6
--Multiplier for spread on weapons that are still hipfired even while aiming (goes against the steelsight spread mult)
self.stat_info.hipfire_only_spread_increase = 0.25 / self.stat_info.stance_spread_mults.steelsight
@@ -3284,7 +3284,7 @@ function WeaponTweakData:_init_stats()
--Recoil multiplier. Used for stability.
self.stats.recoil = {}
for i = 0, 100, 1 do
- table.insert(self.stats.recoil, (math.lerp( 6, 0.65, i / 100 ) * 1))
+ table.insert(self.stats.recoil, (math.lerp( 7.5, 0.75, i / 100 ) * 1))
end
self.stats.value = {}
@@ -4025,14 +4025,25 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self[wep_id].tactical_reload = 1
self[wep_id].has_description = false
end
- tact_rel = {'x_deagle','x_1911','x_b92fs','jowi','x_usp','x_g17','x_g22c','x_packrat','x_shrew','x_breech','x_g18c','x_hs2000','x_p226','x_pl14','x_ppk','x_sparrow','x_legacy','x_czech','x_stech','x_holt','x_maxim9','x_type54','x_sko12' }
+ tact_rel = {'x_deagle','x_1911','x_b92fs','jowi','x_usp','x_g17','x_g22c','x_packrat','x_shrew','x_breech','x_g18c','x_hs2000','x_p226','x_pl14','x_ppk','x_sparrow','x_legacy','x_czech','x_stech','x_holt','x_maxim9','x_type54','x_m1911' }
for i, wep_id in ipairs(tact_rel) do
self[wep_id].tactical_reload = 2
self[wep_id].BURST_FIRE = 2
- self[wep_id].BURST_FIRE_RATE_MULTIPLIER = 2
+ self[wep_id].BURST_DELAY = 0.015
+ self[wep_id].BURST_FIRE_RATE_MULTIPLIER = 4
self[wep_id].categories = {"akimbo", "pistol"}
end
+ local akimbo_rev = {'x_rage','x_chinchilla','x_2006m','x_model3','x_judge',"x_korth"}
+ for i, wep_id in ipairs(akimbo_rev) do
+ self[wep_id].BURST_FIRE = 2
+ self[wep_id].BURST_DELAY = 0.015
+ self[wep_id].BURST_FIRE_RATE_MULTIPLIER = 4
+ self[wep_id].sounds.magazine_empty = nil
+ self[wep_id].categories = {"akimbo", "pistol"}
+ end
+ self.x_judge.categories = {"akimbo", "shotgun"}
+
tact_rel = {'x_sr2','x_mp5', 'x_coal', 'x_mp7', 'x_mp9', 'x_p90', 'x_polymer', 'x_schakal', 'x_scorpion', 'x_tec9','x_shepheard'}
for i, wep_id in ipairs(tact_rel) do
self[wep_id].tactical_reload = 2
@@ -4044,7 +4055,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self[wep_id].categories = {"akimbo", "assault_rifle"}
end
- local lock_em_up = {'colt_1911','usp','p226','g22c','glock_17','glock_18c','x_g18c','b92fs','ppk','mac10','x_mac10','deagle','x_deagle','x_1911','x_b92fs','jowi','g26','c96','x_c96','sterling','m1928','hs2000','rpg7','cobray','x_usp','x_g17','x_g22c','sparrow','x_sparrow','pl14','packrat','x_packrat','lemming','breech','erma','x_erma','shrew','x_shrew','stech','x_stech','czech','x_czech','maxim9','x_maxim9','holt','x_holt','m1911','beer','x_beer','type54','x_type54','legacy','x_legacy','coach','shepheard','x_shepheard','polymer','x_polymer','schakal','x_schakal','mp9','mp7','uzi','x_uzi','contender'}
+ local lock_em_up = {'colt_1911','usp','p226','g22c','glock_17','glock_18c','x_g18c','b92fs','ppk','mac10','x_mac10','deagle','x_deagle','x_1911','x_b92fs','jowi','g26','c96','x_c96','sterling','m1928','hs2000','rpg7','cobray','x_usp','x_g17','x_g22c','sparrow','x_sparrow','pl14','packrat','x_packrat','lemming','breech','erma','x_erma','shrew','x_shrew','stech','x_stech','czech','x_czech','maxim9','x_maxim9','holt','x_holt','m1911','x_m1911','beer','x_beer','type54','x_type54','legacy','x_legacy','coach','shepheard','x_shepheard','polymer','x_polymer','schakal','x_schakal','mp9','mp7','uzi','x_uzi','contender'}
for i, wep_id in ipairs(lock_em_up) do
self[ wep_id ].lock_slide = true
self[ wep_id ].sounds.magazine_empty = "wp_pistol_slide_lock"
@@ -4073,13 +4084,6 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.ching.lock_slide_alt = true
self.ching.sounds.magazine_empty = "ching_magazine_empty"
- local akimbo_rev = {'x_rage','x_chinchilla','x_2006m','x_model3','x_judge',"x_korth"}
- for i, wep_id in ipairs(akimbo_rev) do
- self[wep_id].BURST_FIRE = 2
- self[wep_id].BURST_FIRE_RATE_MULTIPLIER = 2
- self[wep_id].sounds.magazine_empty = nil
- end
-
local ap_50 = {
'asval','scar','contraband','fal','galil'
}
@@ -4130,7 +4134,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self[ wep_id ].damage_type = "pistol"
end
- recat = { "usp", "x_usp", "type54", "x_type54", "shrew", "x_shrew", "colt_1911", "x_1911", "m1911", "c96" }
+ recat = { "usp", "x_usp", "type54", "x_type54", "shrew", "x_shrew", "colt_1911", "x_1911", "m1911", "x_m1911", "c96" }
for i, wep_id in ipairs(recat) do
self[ wep_id ].recategorize = { "heavy_pis" }
self[ wep_id ].damage_type = "heavy_pistol"
@@ -4730,6 +4734,39 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_b92fs.timers.reload_exit_empty = 0.55
self.x_b92fs.timers.reload_exit_not_empty = 0.65
+ --Akimbo White Streak
+ self.x_pl14.has_description = true
+ self.x_pl14.desc_id = "bm_pl14_sc_desc"
+ self.x_pl14.fire_mode_data.fire_rate = 0.0882352
+ self.x_pl14.CLIP_AMMO_MAX = 30
+ self.x_pl14.AMMO_MAX = 150
+ self.x_pl14.kick = self.stat_info.kick_tables.left_recoil
+ self.x_pl14.supported = true
+ self.x_pl14.ads_speed = 0.140
+ self.x_pl14.damage_falloff = {
+ start_dist = 1700,
+ end_dist = 4000,
+ min_mult = 0.25
+ }
+ self.x_pl14.stats = {
+ damage = 24,
+ spread = 44,
+ recoil = 79,
+ spread_moving = 5,
+ zoom = 1,
+ concealment = 30,
+ suppression = 11,
+ alert_size = 2,
+ extra_ammo = 101,
+ total_ammo_mod = 200,
+ value = 1,
+ reload = 20
+ }
+ self.x_pl14.stats_modifiers = nil
+ self.x_pl14.panic_suppression_chance = 0.05
+ self.x_pl14.timers.reload_exit_empty = 0.55
+ self.x_pl14.timers.reload_exit_not_empty = 0.65
+
--Akimbo Holt 9mm
self.x_holt.has_description = true
self.x_holt.desc_id = "bm_x_holt_sc_desc"
@@ -4889,6 +4926,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_packrat.timers.reload_exit_empty = 0.55
self.x_packrat.timers.reload_exit_not_empty = 0.65
+
--Akimbo Chimano Custom
self.x_g22c.has_description = true
self.x_g22c.desc_id = "bm_x_g22c_sc_desc"
@@ -4924,7 +4962,6 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_g22c.timers.reload_exit_empty = 0.55
self.x_g22c.timers.reload_exit_not_empty = 0.65
-
--Akimbo Signature .40
self.x_p226.kick = self.stat_info.kick_tables.even_recoil
self.x_p226.CLIP_AMMO_MAX = 30
@@ -5655,6 +5692,41 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
--PRIMARIES
+ --Akimbo Crosskill Chunky
+ self.x_m1911.has_description = true
+ self.x_m1911.desc_id = "bm_m1911_sc_desc"
+ self.x_m1911.tactical_reload = 1
+ self.x_m1911.fire_mode_data.fire_rate = 0.10714285
+ self.x_m1911.CLIP_AMMO_MAX = 14
+ self.x_m1911.AMMO_MAX = 80
+ self.x_m1911.kick = self.stat_info.kick_tables.even_recoil
+ self.x_m1911.supported = true
+ self.x_m1911.ads_speed = 0.180
+ self.x_m1911.damage_falloff = {
+ start_dist = 1200,
+ end_dist = 3500,
+ min_mult = 0.2
+ }
+ self.x_m1911.stats = {
+ damage = 45,
+ spread = 51,
+ recoil = 75,
+ spread_moving = 5,
+ zoom = 1,
+ concealment = 28,
+ suppression = 9,
+ alert_size = 2,
+ extra_ammo = 101,
+ total_ammo_mod = 200,
+ value = 1,
+ reload = 20
+ }
+ self.x_m1911.stats_modifiers = nil
+ self.x_m1911.panic_suppression_chance = 0.05
+ self.x_m1911.reload_speed_multiplier = 1.075
+ self.x_m1911.timers.reload_exit_empty = 0.55
+ self.x_m1911.timers.reload_exit_not_empty = 0.65
+
--Akimbo Crosskill Guard
self.x_shrew.has_description = true
self.x_shrew.desc_id = "bm_x_shrew_sc_desc"
@@ -6604,8 +6676,8 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.chinchilla.can_shoot_through_enemy = true
self.chinchilla.can_shoot_through_enemy_unlim = true
self.chinchilla.reload_speed_multiplier = 1.12
- self.chinchilla.timers.reload_exit_empty = 0.5
- self.chinchilla.timers.reload_exit_not_empty = 0.5
+ self.chinchilla.timers.reload_exit_empty = 0.3
+ self.chinchilla.timers.reload_exit_not_empty = 0.3
--Deagle
--Back to secondary
@@ -10714,7 +10786,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.saiga.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.saiga.CLIP_AMMO_MAX = 5
self.saiga.AMMO_MAX = 80
- self.saiga.fire_mode_data.fire_rate = 0.12
+ self.saiga.fire_mode_data.fire_rate = 0.1333333
self.saiga.shake.fire_multiplier = 1
self.saiga.shake.fire_steelsight_multiplier = -1
self.saiga.kick = self.stat_info.kick_tables.right_kick
@@ -10722,13 +10794,13 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.saiga.ads_speed = 0.380
self.saiga.damage_falloff = {
start_dist = 300,
- end_dist = 2600,
+ end_dist = 2300,
min_mult = 0.5
}
self.saiga.stats = {
damage = 45,
- spread = 31,
- recoil = 49,
+ spread = 19,
+ recoil = 43,
spread_moving = 7,
zoom = 1,
concealment = 25,
@@ -10750,21 +10822,21 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.sko12.rays = 9
self.sko12.AMMO_MAX = 80
self.sko12.CLIP_AMMO_MAX = 25
- self.sko12.fire_mode_data.fire_rate = 0.1714285
+ self.sko12.fire_mode_data.fire_rate = 0.19047619
self.sko12.kick = self.stat_info.kick_tables.moderate_kick
self.sko12.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.sko12.FIRE_MODE = "single"
self.sko12.CAN_TOGGLE_FIREMODE = false
self.sko12.supported = true
- self.sko12.ads_speed = 0.500
+ self.sko12.ads_speed = 0.460
self.sko12.damage_falloff = {
- start_dist = 700,
+ start_dist = 600,
end_dist = 3000,
min_mult = 0.5
}
self.sko12.stats = {
damage = 45,
- spread = 41,
+ spread = 31,
recoil = 55,
spread_moving = 7,
zoom = 1,
@@ -10796,15 +10868,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.aa12.FIRE_MODE = "auto"
self.aa12.CAN_TOGGLE_FIREMODE = false
self.aa12.supported = true
- self.aa12.ads_speed = 0.440
+ self.aa12.ads_speed = 0.400
self.aa12.damage_falloff = {
- start_dist = 800,
+ start_dist = 700,
end_dist = 3200,
min_mult = 0.5
}
self.aa12.stats = {
damage = 45,
- spread = 39,
+ spread = 31,
recoil = 67,
spread_moving = 7,
zoom = 1,
@@ -10834,10 +10906,10 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.ultima.CLIP_AMMO_MAX = 7
self.ultima.AMMO_MAX = 80
self.ultima.use_data.selection_index = 2
- self.ultima.fire_mode_data.fire_rate = 0.142857
+ self.ultima.fire_mode_data.fire_rate = 0.181818181
self.ultima.kick = self.stat_info.kick_tables.moderate_kick
self.ultima.supported = true
- self.ultima.ads_speed = 0.340
+ self.ultima.ads_speed = 0.300
self.ultima.damage_falloff = {
start_dist = 700,
end_dist = 3000,
@@ -10845,8 +10917,8 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.ultima.stats = {
damage = 45,
- spread = 26,
- recoil = 43,
+ spread = 21,
+ recoil = 45,
spread_moving = 7,
zoom = 1,
concealment = 24,
@@ -10878,7 +10950,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.spas12.AMMO_MAX = 80
self.spas12.CLIP_AMMO_MAX = 6
self.spas12.CAN_TOGGLE_FIREMODE = false
- self.spas12.fire_mode_data.fire_rate = 0.1666667
+ self.spas12.fire_mode_data.fire_rate = 0.22222222
self.spas12.BURST_FIRE = 2
self.spas12.BURST_FIRE_RATE_MULTIPLIER = 5
self.spas12.BURST_FIRE_RECOIL_MULTIPLIER = 0.25
@@ -10887,7 +10959,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.spas12.BURST_DELAY = 0.250
self.spas12.kick = self.stat_info.kick_tables.left_kick
self.spas12.supported = true
- self.spas12.ads_speed = 0.400
+ self.spas12.ads_speed = 0.340
self.spas12.damage_falloff = {
start_dist = 800,
end_dist = 3300,
@@ -10895,8 +10967,8 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.spas12.stats = {
damage = 45,
- spread = 35,
- recoil = 53,
+ spread = 30,
+ recoil = 55,
spread_moving = 7,
zoom = 1,
concealment = 24,
@@ -10924,11 +10996,11 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.benelli.CLIP_AMMO_MAX = 5
self.benelli.rays = 9
self.benelli.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
- self.benelli.fire_mode_data.fire_rate = 0.15
+ self.benelli.fire_mode_data.fire_rate = 0.2
self.benelli.CAN_TOGGLE_FIREMODE = false
self.benelli.kick = self.stat_info.kick_tables.moderate_kick
self.benelli.supported = true
- self.benelli.ads_speed = 0.380
+ self.benelli.ads_speed = 0.320
self.benelli.damage_falloff = {
start_dist = 900,
end_dist = 3500,
@@ -10936,8 +11008,8 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.benelli.stats = {
damage = 45,
- spread = 40,
- recoil = 47,
+ spread = 35,
+ recoil = 49,
spread_moving = 7,
zoom = 1,
concealment = 22,
@@ -10965,14 +11037,14 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.basset.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.basset.CLIP_AMMO_MAX = 5
self.basset.AMMO_MAX = 40
- self.basset.fire_mode_data.fire_rate = 0.12
+ self.basset.fire_mode_data.fire_rate = 0.1333333
self.basset.kick = self.stat_info.kick_tables.moderate_left_kick
self.basset.panic_suppression_chance = 0.05
self.basset.supported = true
self.basset.ads_speed = 0.360
self.basset.damage_falloff = {
start_dist = 300,
- end_dist = 2600,
+ end_dist = 2100,
min_mult = 0.5
}
self.basset.stats = {
@@ -10980,9 +11052,9 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
total_ammo_mod = 200,
damage = 45,
alert_size = 2,
- spread = 31,
+ spread = 19,
spread_moving = 8,
- recoil = 51,
+ recoil = 41,
value = 1,
extra_ammo = 101,
reload = 20,
@@ -10999,12 +11071,12 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.striker.rays = 9
self.striker.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.striker.AMMO_MAX = 40
- self.striker.fire_mode_data.fire_rate = 0.1764705
+ self.striker.fire_mode_data.fire_rate = 0.1875
self.striker.CAN_TOGGLE_FIREMODE = false
self.striker.CLIP_AMMO_MAX = 12
self.striker.kick = self.stat_info.kick_tables.right_kick
self.striker.supported = true
- self.striker.ads_speed = 0.420
+ self.striker.ads_speed = 0.340
self.striker.damage_falloff = {
start_dist = 600,
end_dist = 3200,
@@ -11012,7 +11084,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.striker.stats = {
damage = 45,
- spread = 31,
+ spread = 22,
recoil = 43,
spread_moving = 7,
zoom = 1,
@@ -11034,10 +11106,10 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.rota.rays = 9
self.rota.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.rota.kick = self.stat_info.kick_tables.vertical_kick
- self.rota.fire_mode_data.fire_rate = 0.15
+ self.rota.fire_mode_data.fire_rate = 0.16667
self.rota.panic_suppression_chance = 0.05
self.rota.supported = true
- self.rota.ads_speed = 0.360
+ self.rota.ads_speed = 0.300
self.rota.damage_falloff = {
start_dist = 800,
end_dist = 3500,
@@ -11045,7 +11117,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.rota.stats = {
damage = 45,
- spread = 36,
+ spread = 26,
recoil = 41,
spread_moving = 7,
zoom = 1,
@@ -11080,7 +11152,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_judge.BURST_FIRE = 2
self.x_judge.AMMO_MAX = 60
self.x_judge.supported = true
- self.x_judge.ads_speed = 0.280
+ self.x_judge.ads_speed = 0.200
self.x_judge.damage_falloff = {
start_dist = 400,
end_dist = 2600,
@@ -11088,7 +11160,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.x_judge.stats = {
damage = 60,
- spread = 23,
+ spread = 43,
recoil = 53,
spread_moving = 5,
zoom = 1,
@@ -11126,15 +11198,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.m590.fire_rate_multiplier = 1.04166
self.m590.AMMO_MAX = 60
self.m590.supported = true
- self.m590.ads_speed = 0.380
+ self.m590.ads_speed = 0.320
self.m590.damage_falloff = {
- start_dist = 600,
- end_dist = 2500,
+ start_dist = 700,
+ end_dist = 2700,
min_mult = 0.3333
}
self.m590.stats = {
damage = 60,
- spread = 40,
+ spread = 60,
recoil = 45,
spread_moving = 6,
zoom = 1,
@@ -11179,15 +11251,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
ignore_always_play_anims = true
}
self.supernova.supported = true
- self.supernova.ads_speed = 0.360
+ self.supernova.ads_speed = 0.300
self.supernova.damage_falloff = {
- start_dist = 700,
- end_dist = 2800,
+ start_dist = 800,
+ end_dist = 3000,
min_mult = 0.3333
}
self.supernova.stats = {
damage = 60,
- spread = 48,
+ spread = 68,
recoil = 47,
spread_moving = 6,
zoom = 1,
@@ -11220,18 +11292,18 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.r870.kick = self.stat_info.kick_tables.vertical_kick
self.r870.single.fire_rate = 0.5
self.r870.fire_mode_data.fire_rate = 0.5
- self.r870.fire_rate_multiplier = 0.91666
+ self.r870.fire_rate_multiplier = 0.9583333
self.r870.AMMO_MAX = 60
self.r870.supported = true
- self.r870.ads_speed = 0.400
+ self.r870.ads_speed = 0.300
self.r870.damage_falloff = {
- start_dist = 800,
- end_dist = 3000,
+ start_dist = 900,
+ end_dist = 3300,
min_mult = 0.3333
}
self.r870.stats = {
damage = 60,
- spread = 42,
+ spread = 62,
recoil = 51,
spread_moving = 6,
zoom = 1,
@@ -11260,18 +11332,18 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.ksg.AMMO_MAX = 60
self.ksg.CLIP_AMMO_MAX = 14
self.ksg.fire_mode_data.fire_rate = 0.5
- self.ksg.fire_rate_multiplier = 0.83333
+ self.ksg.fire_rate_multiplier = 0.875
self.ksg.kick = self.stat_info.kick_tables.vertical_kick
self.ksg.supported = true
- self.ksg.ads_speed = 0.420
+ self.ksg.ads_speed = 0.340
self.ksg.damage_falloff = {
- start_dist = 600,
- end_dist = 2800,
+ start_dist = 700,
+ end_dist = 3000,
min_mult = 0.3333
}
self.ksg.stats = {
damage = 60,
- spread = 45,
+ spread = 65,
recoil = 41,
spread_moving = 7,
zoom = 1,
@@ -11313,15 +11385,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.m1897.BURST_FIRE_RANGE_MULTIPLIER = 0.66
self.m1897.AMMO_MAX = 60
self.m1897.supported = true
- self.m1897.ads_speed = 0.380
+ self.m1897.ads_speed = 0.280
self.m1897.damage_falloff = {
- start_dist = 900,
- end_dist = 3200,
+ start_dist = 1000,
+ end_dist = 3500,
min_mult = 0.3333
}
self.m1897.stats = {
damage = 60,
- spread = 51,
+ spread = 71,
recoil = 41,
spread_moving = 6,
zoom = 1,
@@ -11350,15 +11422,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.serbu.fire_mode_data.fire_rate = 0.5
self.serbu.kick = self.stat_info.kick_tables.moderate_kick
self.serbu.supported = true
- self.serbu.ads_speed = 0.360
+ self.serbu.ads_speed = 0.260
self.serbu.damage_falloff = {
- start_dist = 500,
- end_dist = 2200,
+ start_dist = 600,
+ end_dist = 2400,
min_mult = 0.3333
}
self.serbu.stats = {
damage = 60,
- spread = 36,
+ spread = 56,
recoil = 41,
spread_moving = 6,
zoom = 1,
@@ -11400,7 +11472,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.m37.kick = self.stat_info.kick_tables.right_kick
self.m37.panic_suppression_chance = 0.05
self.m37.supported = true
- self.m37.ads_speed = 0.380
+ self.m37.ads_speed = 0.280
self.m37.damage_falloff = {
start_dist = 700,
end_dist = 2800,
@@ -11408,7 +11480,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.m37.stats = {
damage = 60,
- spread = 43,
+ spread = 63,
recoil = 51,
spread_moving = 6,
zoom = 1,
@@ -11435,7 +11507,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.judge.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.judge.AMMO_MAX = 30
self.judge.supported = true
- self.judge.ads_speed = 0.280
+ self.judge.ads_speed = 0.200
self.judge.damage_falloff = {
start_dist = 400,
end_dist = 2600,
@@ -11443,7 +11515,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.judge.stats = {
damage = 60,
- spread = 33,
+ spread = 53,
recoil = 63,
spread_moving = 5,
zoom = 1,
@@ -11480,15 +11552,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.b682.sounds.fire_auto = "b682_fire"
self.b682.kick = self.stat_info.kick_tables.vertical_kick
self.b682.supported = true
- self.b682.ads_speed = 0.480
+ self.b682.ads_speed = 0.400
self.b682.damage_falloff = {
- start_dist = 900,
- end_dist = 3500,
+ start_dist = 1000,
+ end_dist = 4000,
min_mult = 0.25
}
self.b682.stats = {
damage = 90,
- spread = 61,
+ spread = 71,
recoil = 41,
spread_moving = 6,
zoom = 1,
@@ -11569,15 +11641,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.huntsman.fire_mode_data.fire_rate = 0.171428
self.huntsman.kick = self.stat_info.kick_tables.vertical_kick
self.huntsman.supported = true
- self.huntsman.ads_speed = 0.440
+ self.huntsman.ads_speed = 0.380
self.huntsman.damage_falloff = {
- start_dist = 600,
- end_dist = 2800,
+ start_dist = 700,
+ end_dist = 3200,
min_mult = 0.25
}
self.huntsman.stats = {
damage = 90,
- spread = 58,
+ spread = 66,
recoil = 43,
spread_moving = 6,
zoom = 1,
@@ -11614,15 +11686,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.coach.fire_mode_data = {}
self.coach.fire_mode_data.fire_rate = 0.171428
self.coach.supported = true
- self.coach.ads_speed = 0.440
+ self.coach.ads_speed = 0.380
self.coach.damage_falloff = {
- start_dist = 600,
- end_dist = 2700,
+ start_dist = 700,
+ end_dist = 3100,
min_mult = 0.25
}
self.coach.stats = {
damage = 90,
- spread = 58,
+ spread = 66,
recoil = 43,
spread_moving = 6,
zoom = 1,
@@ -12519,16 +12591,12 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
--[[ DISABLED SHIT NO ONE CARES ABOUT ]]--
- --Akimbo Crosskill Chunky
- --DISABLED
- self.x_m1911.use_data.selection_index = 5
-
--Akimbo VD-12
- --DISABLED
+ --DISABLED - ALREADY A PRIMARY
self.x_sko12.use_data.selection_index = 5
--Akimbo MP40
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_erma.use_data.selection_index = 5
--Akimbo CR805
@@ -12536,11 +12604,11 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_hajk.use_data.selection_index = 5
--Akimbo Kross Vertex
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_polymer.use_data.selection_index = 5
--Akimbo Jackal
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_schakal.use_data.selection_index = 5
--Akimbo Chicago typewriter
@@ -12552,7 +12620,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_cobray.use_data.selection_index = 5
--Akimbo Tatonka
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_coal.use_data.selection_index = 5
--Akimbo Spec Ops (Akimbo MP7)
@@ -12584,17 +12652,13 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_breech.use_data.selection_index = 5
--akimbo Broomstick
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_c96.use_data.selection_index = 5
--Akimbo Leo
--DISABLED--
self.x_hs2000.use_data.selection_index = 5
- --Akimbo White Streak
- --DISABLED--
- self.x_pl14.use_data.selection_index = 5
-
--Akimbo Gruber Kurz
--DISABLED--
self.x_ppk.use_data.selection_index = 5
@@ -12604,7 +12668,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_m45.use_data.selection_index = 5
--Akimbo Signature SMG
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_shepheard.use_data.selection_index = 5
--Akimbo M13
@@ -12612,15 +12676,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.x_legacy.use_data.selection_index = 5
--Akimbo Beretta Auto
- --DISABLED
+ --DISABLED - ALREADY A PRIMARY
self.x_beer.use_data.selection_index = 5
--Akimbo AK Gen 21 Tactical
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_vityaz.use_data.selection_index = 5
--Akimbo Miyaka 10
- --DISABLED--
+ --DISABLED - ALREADY A PRIMARY
self.x_pm9.use_data.selection_index = 5
@@ -12631,7 +12695,6 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
if self.shatters_fury then
self.shatters_fury.recategorize = { "heavy_pis", "handcannon" }
self.shatters_fury.damage_type = "heavy_pistol"
- self.shatters_fury.always_play_anims = true
self.shatters_fury.fire_mode_data.fire_rate = 0.2142857
self.shatters_fury.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps"
--if restoration.Options:GetValue("OTHER/ComboSounds") then
@@ -13100,7 +13163,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.amr12.AMMO_MAX = 80
self.amr12.tactical_reload = 1
self.amr12.CLIP_AMMO_MAX = 5
- self.amr12.fire_mode_data.fire_rate = 0.125
+ self.amr12.fire_mode_data.fire_rate = 0.17142857
self.amr12.FIRE_MODE = "single"
self.amr12.CAN_TOGGLE_FIREMODE = false
self.amr12.BURST_FIRE = false
@@ -13108,13 +13171,13 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.amr12.supported = true
self.amr12.ads_speed = 0.400
self.amr12.damage_falloff = {
- start_dist = 400,
+ start_dist = 500,
end_dist = 2800,
min_mult = 0.5
}
self.amr12.stats = {
damage = 45,
- spread = 31,
+ spread = 21,
recoil = 49,
zoom = 1,
concealment = 21,
@@ -13136,11 +13199,11 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.minibeck.damage_type = "shotgun"
self.minibeck.damage_type_single_ray = "sniper"
self.minibeck.tactical_reload = 1
- self.minibeck.fire_mode_data.fire_rate = 0.15789473
+ self.minibeck.fire_mode_data.fire_rate = 0.2
self.minibeck.CLIP_AMMO_MAX = 5
self.minibeck.AMMO_MAX = 40
self.minibeck.supported = true
- self.minibeck.ads_speed = 0.360
+ self.minibeck.ads_speed = 0.280
self.minibeck.damage_falloff = {
start_dist = 500,
end_dist = 3000,
@@ -13148,7 +13211,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
}
self.minibeck.stats = {
damage = 45,
- spread = 26,
+ spread = 22,
recoil = 69,
zoom = 1,
concealment = 25,
@@ -13188,15 +13251,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.beck.fire_rate_multiplier = 0.9166666
self.beck.AMMO_MAX = 60
self.beck.supported = true
- self.beck.ads_speed = 0.420
+ self.beck.ads_speed = 0.320
self.beck.damage_falloff = {
- start_dist = 700,
- end_dist = 3000,
+ start_dist = 800,
+ end_dist = 3300,
min_mult = 0.3333
}
self.beck.stats = {
damage = 60,
- spread = 45,
+ spread = 65,
recoil = 55,
spread_moving = 6,
zoom = 1,
@@ -13233,15 +13296,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.bs23.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.bs23.kick = self.stat_info.kick_tables.right_kick
self.bs23.supported = true
- self.bs23.ads_speed = 0.440
+ self.bs23.ads_speed = 0.400
self.bs23.damage_falloff = {
- start_dist = 700,
- end_dist = 3100,
+ start_dist = 800,
+ end_dist = 3600,
min_mult = 0.25
}
self.bs23.stats = {
damage = 90,
- spread = 51,
+ spread = 61,
recoil = 41,
spread_moving = 5,
zoom = 1,
@@ -13457,7 +13520,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.bdgr.timers.reload_exit_not_empty = 0.65
end
- if self.sgs then --Gambyt's Guerilla 308.
+ if self.sgs then --Gambyt's Guerilla .308
self.sgs.nato = true
self.sgs.categories = {
"snp",
@@ -13544,6 +13607,10 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
end
if self.qsho then
+ self.qsho.categories = { "shotgun" }
+ self.qsho.recategorize = { "break_shot" }
+ self.qsho.damage_type = "shotgun_heavy"
+ self.qsho.damage_type_single_ray = "anti_materiel"
self.qsho.should_reload_immediately = true
self.qsho.has_description = true
self.qsho.no_auto_anims = true
@@ -13551,15 +13618,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.qsho.AMMO_MAX = 20
self.qsho.kick = self.stat_info.kick_tables.vertical_kick
self.qsho.supported = true
- self.qsho.ads_speed = 0.440
+ self.qsho.ads_speed = 0.400
self.qsho.damage_falloff = {
- start_dist = 800,
- end_dist = 3000,
+ start_dist = 900,
+ end_dist = 3500,
min_mult = 0.25
}
self.qsho.stats = {
damage = 90,
- spread = 16,
+ spread = 26,
recoil = 41,
zoom = 1,
concealment = 25,
@@ -13708,7 +13775,46 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.czevo.panic_suppression_chance = 0.05
self.czevo.timers = deep_clone(self.shepheard.timers)
self.x_czevo.use_data.selection_index = 5
- end
+ end
+
+ if self.lapd then --Carl's M2019 Blaster
+ self.lapd.recategorize = {"heavy_pis", "handcannon"}
+ self.lapd.damage_type = "heavy_pistol"
+ self.lapd.desc_id = "thatgun_desc"
+ self.lapd.has_description = true
+ self.lapd.fire_mode_data.fire_rate = 0.24
+ self.lapd.CLIP_AMMO_MAX = 5
+ self.lapd.AMMO_MAX = 30
+ self.lapd.kick = self.stat_info.kick_tables.moderate_kick
+ self.lapd.supported = true
+ self.lapd.ads_speed = 0.200
+ self.lapd.damage_falloff = {
+ start_dist = 1500,
+ end_dist = 4800,
+ min_mult = 0.3
+ }
+ self.lapd.stats = {
+ damage = 60,
+ spread = 86,
+ recoil = 57,
+ spread_moving = 9,
+ zoom = 1,
+ concealment = 27,
+ suppression = 8,
+ alert_size = 2,
+ extra_ammo = 101,
+ total_ammo_mod = 200,
+ value = 1,
+ reload = 20
+ }
+ self.lapd.stats_modifiers = nil
+ self.lapd.panic_suppression_chance = 0.05
+ self.lapd.armor_piercing_chance = 0.5
+ self.lapd.can_shoot_through_enemy = true
+ self.lapd.can_shoot_through_enemy_unlim = true
+ self.lapd.sounds.fire2 = "rbull_fire"
+ self.lapd.timers = deep_clone(self.new_raging_bull.timers)
+ end
if self.akm_nomag then --Leather Dann's Early Access AK
self.akm_nomag.warsaw = true
@@ -13966,6 +14072,40 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.umd_launcher.always_play_anims = true
end
+ if self.sidewinder then --Cpone's Titanfall 2 Sidewinder SMR
+ self.sidewinder.categories = {
+ "grenade_launcher",
+ "raygun"
+ }
+ self.sidewinder.use_data.selection_index = 2
+ self.sidewinder.CLIP_AMMO_MAX = 20
+ self.sidewinder.AMMO_MAX = 80
+ self.sidewinder.fire_mode_data.fire_rate = 0.11111111
+ self.sidewinder.kick = self.stat_info.kick_tables.even_recoil
+ self.sidewinder.supported = true
+ self.sidewinder.ads_speed = 0.300
+ self.sidewinder.stats = {
+ damage = 45,
+ spread = 66,
+ recoil = 71,
+ zoom = 1,
+ concealment = 17,
+ alert_size = 2,
+ suppression = 6,
+ extra_ammo = 101,
+ total_ammo_mod = 200,
+ reload = 20,
+ value = 10
+ }
+ self.sidewinder.panic_suppression_chance = 0.05
+ self.sidewinder.timers.reload_exit_not_empty = 0.9
+ self.sidewinder.timers.reload_not_empty = 3.9
+ self.sidewinder.timers.reload_exit_empty = 0.9
+ self.sidewinder.timers.reload_empty = 3.9
+ self.sidewinder.always_hipfire = true
+ self.sidewinder.always_play_anims = true
+ end
+
if self.m712 then --Pawcio's M712
self.m712.categories = {"pistol"}
self.m712.recategorize = {"heavy_pis"}
@@ -14364,18 +14504,18 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.mp153.tactical_reload = 1
self.mp153.rays = 9
self.mp153.AMMO_MAX = 80
- self.mp153.fire_mode_data.fire_rate = 0.12
+ self.mp153.fire_mode_data.fire_rate = 0.1875
self.mp153.kick = self.stat_info.kick_tables.moderate_kick
self.mp153.supported = true
self.mp153.ads_speed = 0.400
self.mp153.damage_falloff = {
- start_dist = 600,
+ start_dist = 500,
end_dist = 3000,
min_mult = 0.5
}
self.mp153.stats = {
damage = 45,
- spread = 31,
+ spread = 21,
recoil = 51,
zoom = 1,
concealment = 21,
@@ -14394,7 +14534,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
end
if self.wmtx then --Pawcio's Widomaker TX
- self.wmtx.recategorize = { "light_shot" }
+ self.wmtx.recategorize = { "heavy_shot" }
self.wmtx.damage_type = "shotgun"
self.wmtx.damage_type_single_ray = "sniper"
self.wmtx.upgrade_blocks = nil
@@ -14409,15 +14549,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.wmtx.fire_mode_data.fire_rate = 0.5
self.wmtx.panic_suppression_chance = 0.05
self.wmtx.supported = true
- self.wmtx.ads_speed = 0.320
+ self.wmtx.ads_speed = 0.300
self.wmtx.damage_falloff = {
- start_dist = 600,
- end_dist = 3100,
+ start_dist = 700,
+ end_dist = 3500,
min_mult = 0.3333
}
self.wmtx.stats = {
damage = 60,
- spread = 34,
+ spread = 44,
recoil = 59,
spread_moving = 7,
zoom = 1,
@@ -14437,7 +14577,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
end
if self.jackhammer then --Pawcio's Jackhammer
- self.jackhammer.recategorize = { "light_shot" }
+ self.jackhammer.recategorize = { "heavy_shot" } --it's effectively semi auto
self.jackhammer.damage_type = "shotgun"
self.jackhammer.damage_type_single_ray = "sniper"
self.jackhammer.upgrade_blocks = nil
@@ -14454,13 +14594,13 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.jackhammer.supported = true
self.jackhammer.ads_speed = 0.400
self.jackhammer.damage_falloff = {
- start_dist = 900,
+ start_dist = 600,
end_dist = 3300,
min_mult = 0.5
}
self.jackhammer.stats = {
- damage = 45,
- spread = 31,
+ damage = 60,
+ spread = 41,
recoil = 53,
spread_moving = 7,
zoom = 1,
@@ -14488,7 +14628,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.quadbarrel.rays = 9
self.quadbarrel.kick = self.stat_info.kick_tables.vertical_kick
self.quadbarrel.AMMO_MAX = 40
- self.quadbarrel.sounds.stop_fire = "saiga_stop"
+ self.quadbarrel.sounds.stop_fire = "judge_x_fire"
self.quadbarrel.BURST_FIRE = 2
self.quadbarrel.BURST_DELAY = 0.75
self.quadbarrel.CAN_TOGGLE_FIREMODE = false
@@ -14498,7 +14638,7 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.quadbarrel.fire_mode_data = {}
self.quadbarrel.fire_mode_data.fire_rate = 0.171428
self.quadbarrel.supported = true
- self.quadbarrel.ads_speed = 0.500
+ self.quadbarrel.ads_speed = 0.420
self.quadbarrel.damage_falloff = {
start_dist = 500,
end_dist = 3000,
@@ -14543,10 +14683,10 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.ks23.CLIP_AMMO_MAX = 3
self.ks23.kick = self.stat_info.kick_tables.vertical_kick
self.ks23.supported = true
- self.ks23.ads_speed = 0.480
+ self.ks23.ads_speed = 0.440
self.ks23.damage_falloff = {
- start_dist = 700,
- end_dist = 3100,
+ start_dist = 800,
+ end_dist = 3600,
min_mult = 0.25
}
self.ks23.stats = {
@@ -14589,10 +14729,10 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.super.BURST_FIRE = false
self.super.fire_mode_data.fire_rate = 0.5
self.super.supported = true
- self.super.ads_speed = 0.400
+ self.super.ads_speed = 0.360
self.super.damage_falloff = {
- start_dist = 900,
- end_dist = 2800,
+ start_dist = 1000,
+ end_dist = 3200,
min_mult = 0.25
}
self.super.stats = {
@@ -16498,6 +16638,47 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.m4_usasoc.timers.reload_not_empty = 2.4
end
+ if self.pd3_qbz191 then --RJC9000 and PlayBONK's PAYDAY "THE SERVERS ARE DOWN! CAN'T PLAY, IDIOT" 3 QBZ-191
+ self.pd3_qbz191.categories = {
+ "assault_rifle",
+ "dmr"
+ }
+ self.pd3_qbz191.warsaw = true
+ self.pd3_qbz191.recategorize = { "light_ar" }
+ self.pd3_qbz191.desc_id = "bm_qbz191_sc_desc"
+ self.pd3_qbz191.has_description = true
+ self.pd3_qbz191.tactical_reload = 1
+ self.pd3_qbz191.AMMO_MAX = 150
+ self.pd3_qbz191.fire_mode_data.fire_rate = 0.08
+ self.pd3_qbz191.kick = self.stat_info.kick_tables.right_recoil
+ self.pd3_qbz191.supported = true
+ self.pd3_qbz191.ads_speed = 0.280
+ self.pd3_qbz191.damage_falloff = {
+ start_dist = 1400,
+ end_dist = 4500,
+ min_mult = 0.75
+ }
+ self.pd3_qbz191.stats = {
+ damage = 24,
+ spread = 78,
+ recoil = 75,
+ zoom = 1,
+ concealment = 22,
+ suppression = 8,
+ alert_size = 2,
+ extra_ammo = 101,
+ total_ammo_mod = 200,
+ value = 1,
+ reload = 20
+ }
+ self.pd3_qbz191.stats_modifiers = nil
+ self.pd3_qbz191.armor_piercing_chance = 0.25
+ self.pd3_qbz191.timers.reload_empty = 3.55
+ self.pd3_qbz191.timers.reload_exit_empty = 0.95
+ self.pd3_qbz191.timers.reload_exit_not_empty = 1.4
+ self.pd3_qbz191.panic_suppression_chance = 0.05
+ end
+
if self.malorian_3516 then --RJC9000 and PlayBONK's 2077 Silverhand
self.malorian_3516.recategorize = { "heavy_pis", "handcannon" }
self.malorian_3516.desc_id = "whydoyoucome"
@@ -17377,16 +17558,16 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.omni.AMMO_MAX = 60
self.omni.tactical_reload = 1
self.omni.CLIP_AMMO_MAX = 10
- self.omni.fire_mode_data.fire_rate = 0.12
+ self.omni.fire_mode_data.fire_rate = 0.15
self.omni.FIRE_MODE = "single"
self.omni.CAN_TOGGLE_FIREMODE = false
self.omni.BURST_FIRE = false
self.omni.kick = self.stat_info.kick_tables.moderate_kick
self.omni.supported = true
- self.omni.ads_speed = 0.320
+ self.omni.ads_speed = 0.240
self.omni.damage_falloff = {
- start_dist = 900,
- end_dist = 3200,
+ start_dist = 1000,
+ end_dist = 3000,
min_mult = 0.66667
}
self.omni.stats = {
@@ -17510,15 +17691,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.f500.CLIP_AMMO_MAX = 6
self.f500.AMMO_MAX = 30
self.f500.supported = true
- self.f500.ads_speed = 0.400
+ self.f500.ads_speed = 0.300
self.f500.damage_falloff = {
- start_dist = 800,
- end_dist = 3000,
+ start_dist = 900,
+ end_dist = 3300,
min_mult = 0.3333
}
self.f500.stats = {
damage = 60,
- spread = 41,
+ spread = 51,
recoil = 35,
spread_moving = 6,
zoom = 1,
@@ -17781,10 +17962,10 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
self.ashot.muzzleflash = "effects/payday2/particles/weapons/big_51b_auto_fps" --"effects/particles/shotgun/shotgun_gen"
self.ashot.rays = 9
self.ashot.supported = true
- self.ashot.ads_speed = 0.240
+ self.ashot.ads_speed = 0.220
self.ashot.damage_falloff = {
start_dist = 400,
- end_dist = 2200,
+ end_dist = 2500,
min_mult = 0.25
}
self.ashot.stats = {
@@ -18097,20 +18278,15 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
weap.rays = not weap.keep_rays and 1 or weap.rays
elseif weap.damage_falloff and weap.damage_falloff.start_dist and weap.rays and weap.damage_type and not table.contains(weap.categories, "flamethrower") then
weap.alt_shotgunraycast = weap.alt_shotgunraycast or true
- weap.ads_speed = weap.ads_speed - 0.1
if weap.recategorize and weap.damage_type == "shotgun" or weap.damage_type == "shotgun_heavy" then
if weap.recategorize[1] == "light_shot" and not table.contains(weap.categories, "shotgun_light") then
table.insert(weap.categories, "shotgun_light")
weap.ene_hs_mult = 0.5
elseif weap.recategorize[1] == "heavy_shot" and not table.contains(weap.categories, "shotgun_heavy") then
table.insert(weap.categories, "shotgun_heavy")
- weap.damage_falloff.start_dist = math.ceil( (weap.damage_falloff.start_dist / 100) * 1.1 ) * 100
- weap.damage_falloff.end_dist = math.ceil( (weap.damage_falloff.end_dist / 100) * 1.2 ) * 100
weap.ene_hs_mult = 0.65
elseif weap.recategorize[1] == "break_shot" and not table.contains(weap.categories, "shotgun_break") then
table.insert(weap.categories, "shotgun_break")
- weap.damage_falloff.start_dist = math.ceil( (weap.damage_falloff.start_dist / 100) * 1.1 ) * 100
- weap.damage_falloff.end_dist = math.ceil( (weap.damage_falloff.end_dist / 100) * 1.2 ) * 100
weap.ene_hs_mult = 0.8
end
end
@@ -18120,11 +18296,11 @@ Hooks:PostHook( WeaponTweakData, "init", "SC_weapons", function(self)
if weap.stats.damage == 30 then --Omni
weap.stats.damage = 90 --60
weap.damage_falloff.min_mult = 0.16667 --0.25
- weap.object_damage_mult = 0.5
+ weap.object_damage_mult = 0.25
elseif weap.stats.damage == 45 then --Auto
weap.stats.damage = 120 --90
weap.damage_falloff.min_mult = 0.15 --0.2
- weap.object_damage_mult = 0.5
+ weap.object_damage_mult = 0.25
elseif weap.stats.damage == 60 then --Pump
weap.stats.damage = 180 --120
weap.damage_falloff.min_mult = 0.13333 --0.2
diff --git a/lua/sc/units/enemies/actions/upper_body/copactionshoot.lua b/lua/sc/units/enemies/actions/upper_body/copactionshoot.lua
index 3866227fd7..faf3cbe81c 100644
--- a/lua/sc/units/enemies/actions/upper_body/copactionshoot.lua
+++ b/lua/sc/units/enemies/actions/upper_body/copactionshoot.lua
@@ -679,20 +679,14 @@ function CopActionShoot:update(t)
if self._throw_frag and self._ext_brain._throw_frag_t < t and 2000 >= target_dis and 500 <= target_dis then
local is_spring = self._ext_base._tweak_table == "spring"
+ local is_senator_armstrong = self._ext_base._tweak_table == "phalanx_vip_break"
local is_tank_mini = self._ext_base._tweak_table == "tank_mini"
- local frag_cooldown = 6 --This stuff should really be defined via tweakdata in the future.
- if is_spring then
- frag_cooldown = 12
- end
+ local frag_cooldown = self._common_data.char_tweak.grenade_cooldown or 6 --About time
- local frag_roll_chance = is_spring and 1 or 0.1
- if is_tank_mini then
- frag_roll_chance = 0.4
- end
+ local frag_roll_chance = self._common_data.char_tweak.grenade_toss_chance or 0.1
local frag_roll = math_random() <= frag_roll_chance
local grenade_type = is_spring and "cluster_fuck" or "bravo_frag"
-
-
+
self._ext_brain._throw_frag_t = t + frag_cooldown
if frag_roll then
@@ -704,6 +698,8 @@ function CopActionShoot:update(t)
if is_tank_mini then
self._unit:sound():say("g90", true, nil, true)
+ elseif is_senator_armstrong then
+ self._unit:sound():say("a01", true, nil, true)
else
self._unit:sound():say("use_gas", true, nil, true)
end
diff --git a/lua/sc/units/enemies/copbase.lua b/lua/sc/units/enemies/copbase.lua
index 21274f71a4..81e6dc4037 100644
--- a/lua/sc/units/enemies/copbase.lua
+++ b/lua/sc/units/enemies/copbase.lua
@@ -493,6 +493,9 @@ local weapons_map = {
[Idstring("units/payday2/characters/ene_murkywater_1/ene_murkywater_1"):key()] = {"ump", "m4", "r870", "scar_murky"},
[Idstring("units/payday2/characters/ene_murkywater_2/ene_murkywater_2"):key()] = {"ump", "m4", "r870", "scar_murky"},
[Idstring("units/pd2_dlc_berry/characters/ene_murkywater_no_light/ene_murkywater_no_light"):key()] = {"m4", "r870", "mp5", "scar_murky"},
+
+ --Commissar gets his precious RPK back from Russia
+ [Idstring("units/payday2/characters/ene_gang_mobster_boss/ene_gang_mobster_boss"):key()] = "rpk_lmg",
--Giving Friendly AI silenced pistols
[Idstring("units/pd2_dlc_spa/characters/npc_spa/npc_spa"):key()] = "beretta92",
diff --git a/lua/sc/units/enemies/copbrain.lua b/lua/sc/units/enemies/copbrain.lua
index 38af0dc796..2e6b6399ea 100644
--- a/lua/sc/units/enemies/copbrain.lua
+++ b/lua/sc/units/enemies/copbrain.lua
@@ -238,6 +238,7 @@ logic_variants.tank_black.attack = TankCopLogicAttack
logic_variants.tank_skull = clone(security_variant)
logic_variants.tank_skull.attack = TankCopLogicAttack
logic_variants.biker_guard = security_variant
+logic_variants.phalanx_vip_break = security_variant
logic_variants.phalanx_minion_assault = clone(security_variant)
logic_variants.phalanx_minion_assault.attack = ShieldLogicAttack
logic_variants.phalanx_minion_assault.intimidated = nil
diff --git a/lua/sc/units/enemies/copdamage.lua b/lua/sc/units/enemies/copdamage.lua
index e92752ce90..0678612bb1 100644
--- a/lua/sc/units/enemies/copdamage.lua
+++ b/lua/sc/units/enemies/copdamage.lua
@@ -1703,6 +1703,10 @@ function CopDamage:damage_melee(attack_data)
else
variant = 0
end
+
+ if attack_data.charge_lerp_value then
+ result.charge_lerp_value = attack_data.charge_lerp_value
+ end
local body_index = self._unit:get_body_index(attack_data.col_ray.body:name())
@@ -3324,7 +3328,7 @@ function CopDamage:_comment_death(attacker, killed_unit, special_comment)
PlayerStandard.say_line(attacker:sound(), "g31x_any")
elseif victim_base:has_tag("sniper") then
PlayerStandard.say_line(attacker:sound(), "g35x_any")
- elseif victim_base:has_tag("medic") then
+ elseif victim_base:has_tag("medic") or victim_base:has_tag("lpf") then
PlayerStandard.say_line(attacker:sound(), "g36x_any")
elseif victim_base:has_tag("custom") then
local delay = TimerManager:game():time() + 1
@@ -3353,7 +3357,7 @@ function CopDamage:_AI_comment_death(unit, killed_unit, special_comment)
unit:sound():say("g31x_any", true)
elseif victim_base:has_tag("sniper") then
unit:sound():say("g35x_any", true)
- elseif victim_base:has_tag("medic") then
+ elseif victim_base:has_tag("medic") or victim_base:has_tag("lpf") then
unit:sound():say("g36x_any", true)
elseif victim_base:has_tag("custom") then
local delay = TimerManager:game():time() + 1
diff --git a/lua/sc/units/enemies/copinventory.lua b/lua/sc/units/enemies/copinventory.lua
index 39ab612097..9d56d83904 100644
--- a/lua/sc/units/enemies/copinventory.lua
+++ b/lua/sc/units/enemies/copinventory.lua
@@ -28,4 +28,26 @@ function CopInventory:add_unit_by_name(new_unit_name, equip)
end
self:add_unit(new_unit, equip)
+
+
+ if self._unit:base()._tweak_table == "phalanx_minion" or self._unit:base()._tweak_table == "phalanx_minion_assault" then
+ self._shield_break_data = {
+ anim_global_switch = "cop",
+ tweak_table_name_switch = "city_swat_titan_assault",
+ weapon_switch_selection = 2,
+ hurt_data = {
+ hurt_type = "stagger"
+ }
+ }
+ elseif self._unit:base()._tweak_table == "phalanx_vip" then
+ self._shield_break_data = {
+ anim_global_switch = "cop",
+ tweak_table_name_switch = "phalanx_vip_break",
+ weapon_switch_selection = 2,
+ hurt_data = {
+ hurt_type = "hurt"
+ }
+ }
+ end
+
end
\ No newline at end of file
diff --git a/lua/sc/units/enemies/copmovement.lua b/lua/sc/units/enemies/copmovement.lua
index 329b5b2fe0..5406aa308f 100644
--- a/lua/sc/units/enemies/copmovement.lua
+++ b/lua/sc/units/enemies/copmovement.lua
@@ -58,6 +58,7 @@ action_variants.tank_black.walk = TankCopActionWalk
action_variants.tank_skull = clone(security_variant)
action_variants.tank_skull.walk = TankCopActionWalk
action_variants.biker_guard = security_variant
+action_variants.phalanx_vip_break = security_variant
action_variants.phalanx_minion_assault = clone(security_variant)
action_variants.phalanx_minion_assault.hurt = ShieldActionHurt
action_variants.phalanx_minion_assault.walk = ShieldCopActionWalk
@@ -325,7 +326,7 @@ function CopMovement:do_omnia(self)
"summers"
}
heal_range = 1600
- elseif self._unit:base()._tweak_table == "phalanx_vip" then
+ elseif self._unit:base()._tweak_table == "phalanx_vip" or self._unit:base()._tweak_table == "phalanx_vip_break" then
heal_range = 2000
heal_vo = "heal_chatter_winters"
end
diff --git a/lua/sc/units/enemies/logics/coplogicattack.lua b/lua/sc/units/enemies/logics/coplogicattack.lua
index 2a979358b8..ec748899be 100644
--- a/lua/sc/units/enemies/logics/coplogicattack.lua
+++ b/lua/sc/units/enemies/logics/coplogicattack.lua
@@ -169,7 +169,7 @@ function CopLogicAttack.aim_allow_fire(shoot, aim, data, my_data) -- doesn't rea
end
my_data.shield_knock_cooldown = data.t + math_random(12, 24)
- elseif data.unit:base()._tweak_table == "spring" or data.unit:base()._tweak_table == "phalanx_vip" then
+ elseif data.unit:base()._tweak_table == "spring" or data.unit:base()._tweak_table == "phalanx_vip" or data.unit:base()._tweak_table == "phalanx_vip_break" then
data.unit:sound():say("a05", true)
else
managers.groupai:state():chk_say_enemy_chatter(data.unit, data.m_pos, "contact")
diff --git a/lua/sc/units/enemies/logics/coplogicbase.lua b/lua/sc/units/enemies/logics/coplogicbase.lua
index dfc607b400..75a636c34d 100644
--- a/lua/sc/units/enemies/logics/coplogicbase.lua
+++ b/lua/sc/units/enemies/logics/coplogicbase.lua
@@ -309,7 +309,7 @@ function CopLogicBase._set_attention_obj(data, new_att_obj, new_reaction)
if AIAttentionObject.REACT_SHOOT <= new_reaction and new_att_obj.verified and contact_chatter_time_ok and (data.unit:anim_data().idle or data.unit:anim_data().move) and new_att_obj.is_person and data.char_tweak.chatter.contact then
if data.unit:anim_data().idle or data.unit:anim_data().move then
local tweak_table = data.unit:base()._tweak_table
- if tweak_table == "phalanx_vip" then
+ if tweak_table == "phalanx_vip" or tweak_table == "phalanx_vip_break" then
data.unit:sound():say("a01", true)
elseif tweak_table == "spring" then
data.unit:sound():say("a01", true)
diff --git a/lua/sc/units/enemies/logics/coplogictravel.lua b/lua/sc/units/enemies/logics/coplogictravel.lua
index 7da4ee2ba9..48811e986e 100644
--- a/lua/sc/units/enemies/logics/coplogictravel.lua
+++ b/lua/sc/units/enemies/logics/coplogictravel.lua
@@ -386,3 +386,23 @@ Hooks:PreHook(CopLogicTravel, "_on_destination_reached", "RR_on_destination_reac
managers.groupai:state():chk_say_enemy_chatter(data.unit, data.m_pos, math_random() > 0.5 and "ready" or "inpos") -- Ready! / I'm in position!
end
end)
+
+-- Fix enemies sometimes disappearing when they are told to retire
+-- Basically this function doesn't check if the retiring unit reached their actual retire spot
+local _on_destination_reached_original = CopLogicTravel._on_destination_reached
+function CopLogicTravel._on_destination_reached(data, ...)
+ local objective = data.objective
+ if objective.type == "flee" or objective.type == "defend_area" and objective.grp_objective and objective.grp_objective.type == "retire" then
+ local nav_seg = data.unit:movement():nav_tracker():nav_segment()
+ if objective.nav_seg == nav_seg or objective.area and objective.area.nav_segs[nav_seg] then
+ data.unit:brain():set_active(false)
+ data.unit:base():set_slot(data.unit, 0)
+ else
+ objective.in_place = true
+ data.logic.on_new_objective(data)
+ end
+ return
+ end
+
+ return _on_destination_reached_original(data, ...)
+end
diff --git a/lua/sc/units/player/playerstandard.lua b/lua/sc/units/player/playerstandard.lua
index d59a590a1e..c0d2da1ca1 100644
--- a/lua/sc/units/player/playerstandard.lua
+++ b/lua/sc/units/player/playerstandard.lua
@@ -26,7 +26,7 @@ local norecoil_blacklist = { --From Zdann
--Pistols
["peacemaker"] = true,
- ["model3"] = true
+ --["model3"] = true
}
local sound_buffer = BeardLib.Utils:FindMod("Megumin's Staff") and XAudio and blt.xaudio.setup() and XAudio.Buffer:new( BeardLib.Utils:FindMod("Megumin's Staff").ModPath .. "assets/soundbank/megumins_staff_charge.ogg")
@@ -284,13 +284,15 @@ function PlayerStandard:_check_action_throw_projectile(t, input)
end
--Here!
- local action_forbidden = not PlayerBase.USE_GRENADES or not self:_projectile_repeat_allowed() or self:chk_action_forbidden("interact") or self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self:is_deploying() or self:_changing_weapon() or self:_is_meleeing() or self:_is_using_bipod()
+ local action_forbidden = not PlayerBase.USE_GRENADES or not self:_projectile_repeat_allowed() or self:chk_action_forbidden("interact") or self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self:is_deploying() or self:_changing_weapon() or self:_is_meleeing() or self:_is_using_bipod() or self:_in_burst()
if action_forbidden then
return
end
self:_start_action_throw_projectile(t, input)
+ self._queue_fire = nil
+ self._queue_burst = nil
return true
end
@@ -307,20 +309,22 @@ function PlayerStandard:_check_action_throw_grenade(t, input)
end
--Here!
- local action_forbidden = not PlayerBase.USE_GRENADES or self:chk_action_forbidden("interact") or self._unit:base():stats_screen_visible() or self:_is_throwing_grenade() or self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self:is_deploying() or self:_changing_weapon() or self:_is_meleeing() or self:_is_using_bipod()
+ local action_forbidden = not PlayerBase.USE_GRENADES or self:chk_action_forbidden("interact") or self._unit:base():stats_screen_visible() or self:_is_throwing_grenade() or self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self:is_deploying() or self:_changing_weapon() or self:_is_meleeing() or self:_is_using_bipod() or self:_in_burst()
if action_forbidden then
return
end
self:_start_action_throw_grenade(t, input)
+ self._queue_fire = nil
+ self._queue_burst = nil
return action_wanted
end
function PlayerStandard:_action_interact_forbidden()
--Here!
- local action_forbidden = self:chk_action_forbidden("interact") or self._unit:base():stats_screen_visible() or self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self._ext_movement:has_carry_restriction() or self:is_deploying() or self:_changing_weapon() or self:_is_throwing_projectile() or self:_is_meleeing() or self:_on_zipline()
+ local action_forbidden = self:chk_action_forbidden("interact") or self._unit:base():stats_screen_visible() or self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self._ext_movement:has_carry_restriction() or self:is_deploying() or self:_changing_weapon() or self:_is_throwing_projectile() or self:_is_meleeing() or self:_on_zipline() or self:_in_burst()
return action_forbidden
end
@@ -369,6 +373,8 @@ function PlayerStandard:_check_action_melee(t, input)
local instant = tweak_data.blackmarket.melee_weapons[melee_entry].instant
self:_start_action_melee(t, input, instant)
+ self._queue_fire = nil
+ self._queue_burst = nil
--Stop chainsaw when no longer meleeing.
if input.btn_melee_release then
@@ -417,10 +423,12 @@ function PlayerStandard:_check_use_item(t, input)
--Here!
if action_wanted then
- local action_forbidden = self._use_item_expire_t or self:_interacting() or self:_changing_weapon() or self:_is_throwing_projectile() or self:_is_meleeing()
+ local action_forbidden = self._use_item_expire_t or self:_interacting() or self:_changing_weapon() or self:_is_throwing_projectile() or self:_is_meleeing() or self:_in_burst()
if not action_forbidden and managers.player:can_use_selected_equipment(self._unit) then
self:_start_action_use_item(t)
+ self._queue_burst = nil
+ self._queue_fire = nil
new_action = true
end
@@ -617,7 +625,7 @@ end
function PlayerStandard:_check_action_primary_attack(t, input)
local new_action = nil
- local action_wanted = input.btn_primary_attack_state or input.btn_primary_attack_release or self._queue_fire or self._spin_up_shoot
+ local action_wanted = input.btn_primary_attack_state or input.btn_primary_attack_release or input.real_input_pressed or self._queue_fire or self._spin_up_shoot
action_wanted = action_wanted or self:is_shooting_count()
action_wanted = action_wanted or self:_is_charging_weapon()
@@ -642,6 +650,19 @@ function PlayerStandard:_check_action_primary_attack(t, input)
force_ads_recoil_anims = nil
end
+ local queue_inputs = restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShooting")
+ local queue_window = restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShootingWindow") or 0.5
+ local queue_exlude = restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShootingExclude") or 0.6
+ local queue_mid_burst = restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShootingMidBurst")
+
+ if queue_inputs and weap_base:in_burst_mode() then
+ if queue_mid_burst and input.real_input_pressed then
+ self._queue_burst = true
+ end
+ else
+ self._queue_burst = nil
+ end
+
if weap_base:out_of_ammo() then
self._spin_up_shoot = nil
if input.btn_primary_attack_press then
@@ -696,20 +717,29 @@ function PlayerStandard:_check_action_primary_attack(t, input)
end
end
else
- if restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShooting") then
- if input.btn_primary_attack_press and fire_mode == "single" and not weap_base:in_burst_mode() and not weap_base:start_shooting_allowed() then
- local next_fire = weap_base:weapon_fire_rate() / weap_base:fire_rate_multiplier()
- local next_fire_last = weap_base._next_fire_allowed - next_fire
- local next_fire_delay = weap_base._next_fire_allowed - next_fire_last
- local next_fire_current_t = weap_base._next_fire_allowed - t
- local queue_window = restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShootingWindow") or 0.5
- local queue_exlude = (restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShootingExclude") and 60 / restoration.Options:GetValue("OTHER/WeaponHandling/QueuedShootingExclude")) or 0.6
- if queue_exlude >= next_fire and next_fire_current_t < next_fire_delay * queue_window then
- self._queue_fire = true
+ if queue_inputs then
+ if input.btn_primary_attack_press and fire_mode == "single" then
+ if not weap_base:in_burst_mode() and not weap_base:start_shooting_allowed() then
+ local next_fire = weap_base:weapon_fire_rate() / weap_base:fire_rate_multiplier()
+ local next_fire_last = weap_base._next_fire_allowed - next_fire
+ local next_fire_delay = weap_base._next_fire_allowed - next_fire_last
+ local next_fire_current_t = weap_base._next_fire_allowed - t
+ local next_fire_queue = 60 / queue_exlude
+
+ if next_fire_queue >= next_fire and next_fire_current_t < next_fire_delay * queue_window then
+ self._queue_fire = true
+ end
+ else
+ if (self:_in_burst() and queue_mid_burst) or not self:_in_burst() then
+ if input.real_input_pressed or not input.fake_attack then
+ self._queue_burst = true
+ end
+ end
end
end
else
self._queue_fire = nil
+ self._queue_burst = nil
end
self:_check_stop_shooting()
@@ -808,6 +838,10 @@ function PlayerStandard:_check_action_primary_attack(t, input)
self._queue_fire = nil
self._already_fired = true
+ if input.clear_queue then
+ self._queue_burst = nil
+ end
+
if weap_base._descope_on_fire then
self._d_scope_t = (weap_base._next_fire_allowed - t) * 0.7
end
@@ -834,8 +868,16 @@ function PlayerStandard:_check_action_primary_attack(t, input)
local fire_anim_offset2 = weap_base:weapon_tweak_data().fire_anim_offset2
local spin_up_semi = fire_mode == "single" and weap_base:weapon_tweak_data().spin_up_semi
if not spin_up_semi then
- if not self._state_data.in_steelsight or not weap_base:tweak_data_anim_play("fire_steelsight", weap_base:fire_rate_multiplier( ignore_rof_mult_anims ), fire_anim_offset, fire_anim_offset2) then
- weap_base:tweak_data_anim_play("fire", weap_base:fire_rate_multiplier( ignore_rof_mult_anims ), fire_anim_offset, fire_anim_offset2)
+ local second_gun_base = weap_base._second_gun and weap_base._second_gun:base()
+ local second_gun_turn = weap_base._second_turn
+ if second_gun_turn ~= true then
+ if not self._state_data.in_steelsight or not weap_base:tweak_data_anim_play("fire_steelsight", weap_base:fire_rate_multiplier( ignore_rof_mult_anims ), fire_anim_offset, fire_anim_offset2) then
+ weap_base:tweak_data_anim_play("fire", weap_base:fire_rate_multiplier( ignore_rof_mult_anims ), fire_anim_offset, fire_anim_offset2)
+ end
+ if second_gun_base then
+ second_gun_base:tweak_data_anim_stop("fire")
+ second_gun_base:tweak_data_anim_stop("fire_steelsight")
+ end
end
end
@@ -1051,6 +1093,8 @@ function PlayerStandard:_check_action_interact(t, input)
self._ext_camera:camera_unit():base():set_limits(80, 50)
end
self:_start_action_interact(t, input, timer, interact_object)
+ self._queue_burst = nil
+ self._queue_fire = nil
end
if not new_action then
@@ -1422,6 +1466,7 @@ function PlayerStandard:_start_action_running(t)
end
self._queue_fire = nil
+ self._queue_burst = nil
self._running_wanted = false
if (not self._state_data.shake_player_start_running or not self._ext_camera:shaker():is_playing(self._state_data.shake_player_start_running)) and managers.user:get_setting("use_headbob") then
@@ -2450,12 +2495,18 @@ function PlayerStandard:_update_burst_fire(t)
if burst_hipfire then
self:_interupt_action_steelsight(t)
end
- if self._equipped_unit:base():burst_rounds_remaining() or (self._equipped_unit:base():in_burst_mode() and self._equipped_unit:base()._auto_burst and not self._equipped_unit:base():clip_empty() and self._controller and self._controller:get_input_bool("primary_attack")) then
- self:_check_action_primary_attack(t, { btn_primary_attack_state = true, btn_primary_attack_press = true })
+ local input_pressed = self._controller and self._controller:get_input_pressed("primary_attack") == true or nil
+ local input_bool = self._controller and self._controller:get_input_bool("primary_attack")
+ local auto_burst = self._equipped_unit:base()._auto_burst
+ local queue_burst = not auto_burst and (self._queue_burst and not self:_in_burst())
+ local burst_complete = self._equipped_unit:base()._burst_rounds_remaining <= 0
+ if self._equipped_unit:base():burst_rounds_remaining() or queue_burst or (self._equipped_unit:base():in_burst_mode() and auto_burst and not self._equipped_unit:base():clip_empty() and input_bool) then
+ self:_check_action_primary_attack(t, { btn_primary_attack_state = true, btn_primary_attack_press = true, fake_attack = true, real_input_pressed = input_pressed, clear_queue = not auto_burst and burst_complete })
end
end
end
+
--Recoil used at the end of burst fire.
function PlayerStandard:force_recoil_kick(weap_base, shots_fired)
local recoil_multiplier = (weap_base:recoil() + weap_base:recoil_addend()) * weap_base:recoil_multiplier() * (shots_fired or 1)
@@ -2472,7 +2523,7 @@ function PlayerStandard:_check_action_deploy_bipod(t, input, autodeploy)
end
local is_leaning = TacticalLean and ((TacticalLean:GetLeanDirection() or TacticalLean:IsExitingLean()) and true) or nil
- action_forbidden = self._state_data.in_air or self._is_sliding or (autodeploy and self._move_dir) or is_leaning or self:_on_zipline() or self:_is_throwing_projectile() or self:_is_meleeing() or self:is_equipping() or self:_changing_weapon()
+ action_forbidden = self._state_data.in_air or self._is_sliding or (autodeploy and self._move_dir) or self:in_steelsight() or is_leaning or self:_on_zipline() or self:_is_throwing_projectile() or self:_is_meleeing() or self:is_equipping() or self:_changing_weapon()
local weapon = self._equipped_unit:base()
local bipod_part = managers.weapon_factory:get_parts_from_weapon_by_perk("bipod", weapon._parts)
@@ -3043,9 +3094,6 @@ function PlayerStandard:_do_melee_damage(t, bayonet_melee, melee_hit_ray, melee_
end
end
local defense_data = character_unit:character_damage():damage_melee(action_data)
- if defense_data then
- defense_data.charge_lerp_value = action_data.charge_lerp_value
- end
self:_check_melee_special_damage(col_ray, character_unit, defense_data, melee_entry)
self:_perform_sync_melee_damage(hit_unit, col_ray, action_data.damage, action_data.damage_effect)
@@ -3071,7 +3119,9 @@ function PlayerStandard:_check_melee_special_damage(col_ray, character_unit, def
end
local melee_tweak = tweak_data.blackmarket.melee_weapons[melee_entry]
local char_damage = character_unit:character_damage()
+ local fire_on_charge = melee_tweak and melee_tweak.stats.charge_bonus_fire
local charge_lerp_value = defense_data.charge_lerp_value
+ local charge_fire_check = (fire_on_charge and charge_lerp_value and charge_lerp_value > tweak_data.blackmarket.melee_weapons[melee_entry].stats.charge_bonus_start) or (not fire_on_charge and true)
if melee_tweak.random_special_effects then
local selector = WeightedSelector:new()
@@ -3101,7 +3151,6 @@ function PlayerStandard:_check_melee_special_damage(col_ray, character_unit, def
char_damage:damage_tase(action_data)
end
- local charge_fire_check = (tweak_data.blackmarket.melee_weapons[melee_entry].stats.charge_bonus_fire and charge_lerp_value and charge_lerp_value > tweak_data.blackmarket.melee_weapons[melee_entry].stats.charge_bonus_start) or (not tweak_data.blackmarket.melee_weapons[melee_entry].stats.charge_bonus_fire and true)
if melee_tweak.fire_dot_data and charge_fire_check and char_damage.damage_fire then
local action_data = {
variant = "fire",
@@ -3345,6 +3394,9 @@ function PlayerStandard:_start_action_reload(t)
end
end
+ self._queue_fire = nil
+ self._queue_burst = nil
+
--Drop My Mag compatibilty
--I might take the time to better integrate this into the reload timers so you're not instantly dropping a mag right when you reload
for _, weapon_base in ipairs({ weapon, weapon._second_gun and weapon._second_gun:base() }) do
@@ -3670,7 +3722,7 @@ function PlayerStandard:_check_action_cash_inspect(t, input)
return
end
- local action_forbidden = self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self:is_deploying() or self:_changing_weapon() or self:_is_throwing_projectile() or self:_is_meleeing() or self:_on_zipline() or self:running() or self:_is_reloading() or self:in_steelsight() or self:is_equipping() or self:shooting() or self:_is_cash_inspecting(t)
+ local action_forbidden = self:_interacting() and not managers.player:has_category_upgrade("player", "no_interrupt_interaction") or self:is_deploying() or self:_changing_weapon() or self:_is_throwing_projectile() or self:_is_meleeing() or self:_on_zipline() or self:running() or self:_is_reloading() or self:in_steelsight() or self:is_equipping() or self:shooting() or self:_is_cash_inspecting(t) or self:_in_burst()
if action_forbidden then
return
@@ -3686,6 +3738,7 @@ function PlayerStandard:_check_action_cash_inspect(t, input)
--Applys the anim weight
self._camera_unit:anim_state_machine():set_parameter(state, "alt_inspect", anim_weight)
+ self._equipped_unit:base():tweak_data_anim_play("inspect")
managers.player:send_message(Message.OnCashInspectWeapon)
end
@@ -3703,6 +3756,8 @@ function PlayerStandard:_start_action_unequip_weapon(t, data)
--self:_interupt_action_running(t)
self:_interupt_action_charging_weapon(t)
self._spin_up_shoot = nil
+ self._queue_burst = nil
+ self._queue_fire = nil
local result = self._ext_camera:play_redirect(self:get_animation("unequip"), speed_multiplier)
diff --git a/lua/sc/units/vehicles/animatedvehiclebase.lua b/lua/sc/units/vehicles/animatedvehiclebase.lua
index 4d3d786cfd..750a649ffb 100644
--- a/lua/sc/units/vehicles/animatedvehiclebase.lua
+++ b/lua/sc/units/vehicles/animatedvehiclebase.lua
@@ -18,7 +18,7 @@ Hooks:PostHook(AnimatedVehicleBase, "set_enabled", "woohoo_wow", function(self,
elseif self._unit:damage():has_sequence("mat_zeals") and difficulty == 8 then
self._unit:damage():run_sequence_simple("mat_zeals")
end
- elseif faction == "lapd" or faction == "fbi" or faction == "sfpd" then
+ elseif faction == "lapd" or faction == "fbi" then
if self._unit:damage():has_sequence("mat_blueswat") and difficulty < 5 then
self._unit:damage():run_sequence_simple("mat_blueswat")
elseif self._unit:damage():has_sequence("mat_fbi") and difficulty == 5 or difficulty == 6 then
diff --git a/lua/sc/units/weapons/akimboweaponbase.lua b/lua/sc/units/weapons/akimboweaponbase.lua
index 8bd894f7b5..0fbce3a831 100644
--- a/lua/sc/units/weapons/akimboweaponbase.lua
+++ b/lua/sc/units/weapons/akimboweaponbase.lua
@@ -15,11 +15,11 @@ else
if fire_mode_data then
fire_mode_data.original_fire_rate = fire_mode_data.original_fire_rate or fire_mode_data.fire_rate
- if tweak_data.weapon[self._name_id].FIRE_MODE and tweak_data.weapon[self._name_id].FIRE_MODE == "auto" then
+ --if tweak_data.weapon[self._name_id].FIRE_MODE and tweak_data.weapon[self._name_id].FIRE_MODE == "auto" then
fire_mode_data.fire_rate = fire_mode_data.original_fire_rate / 1.25
- else
- fire_mode_data.fire_rate = fire_mode_data.original_fire_rate / 1.75
- end
+ --else
+ -- fire_mode_data.fire_rate = fire_mode_data.original_fire_rate / 1.5
+ --end
end
end
diff --git a/lua/sc/units/weapons/newraycastweaponbase.lua b/lua/sc/units/weapons/newraycastweaponbase.lua
index 67d4547cae..509a4c8af7 100644
--- a/lua/sc/units/weapons/newraycastweaponbase.lua
+++ b/lua/sc/units/weapons/newraycastweaponbase.lua
@@ -218,7 +218,13 @@ function NewRaycastWeaponBase:conditional_accuracy_multiplier(current_state)
if full_steelsight then
if multi_ray then
mul = mul * tweak_data.weapon.stat_info.shotgun_spread_increase_ads or 1
+
+ for _, category in ipairs(self:categories()) do
+ local multishot_spread = tweak_data[category] and tweak_data[category].ads_multishot_spread_mult or 1
+ mul = mul * multishot_spread
+ end
end
+
if self:weapon_tweak_data().always_hipfire or self.AKIMBO then
mul = mul * tweak_data.weapon.stat_info.hipfire_only_spread_increase or 1
end
@@ -611,7 +617,7 @@ function NewRaycastWeaponBase:_update_stats_values(disallow_replenish, ammo_data
self._burst_fire_ads_spread_multiplier = self:weapon_tweak_data().BURST_FIRE_ADS_SPREAD_MULTIPLIER
self._burst_fire_range_multiplier = self:weapon_tweak_data().BURST_FIRE_RANGE_MULTIPLIER
--self._delayed_burst_recoil = self:weapon_tweak_data().DELAYED_BURST_RECOIL
- self._burst_delay = self:weapon_tweak_data().BURST_DELAY or (self.AKIMBO and 0.05) or 0.09
+ self._burst_delay = self:weapon_tweak_data().BURST_DELAY or (self.AKIMBO and 0.03) or 0.09
self._lock_burst = self:weapon_tweak_data().LOCK_BURST
if self._lock_burst then
self:_set_burst_mode(true, true)
@@ -1321,7 +1327,7 @@ end
local toggle_firemode_original = NewRaycastWeaponBase.toggle_firemode
function NewRaycastWeaponBase:toggle_firemode(...)
- return not self._macno and self._has_burst_fire and not self._locked_fire_mode and not self:gadget_overrides_weapon_functions() and self:_check_toggle_burst() or toggle_firemode_original(self, ...)
+ return self._burst_rounds_remaining <= 0 and not self._macno and self._has_burst_fire and not self._locked_fire_mode and not self:gadget_overrides_weapon_functions() and self:_check_toggle_burst() or toggle_firemode_original(self, ...)
end
function NewRaycastWeaponBase:can_reload()
diff --git a/lua/sc/units/weapons/npcraycastweaponbase.lua b/lua/sc/units/weapons/npcraycastweaponbase.lua
index 3f02663657..8be6269876 100644
--- a/lua/sc/units/weapons/npcraycastweaponbase.lua
+++ b/lua/sc/units/weapons/npcraycastweaponbase.lua
@@ -157,6 +157,20 @@ function NPCRaycastWeaponBase:_fire_raycast(user_unit, from_pos, direction, dmg_
return result
end
+function NPCRaycastWeaponBase:trigger_held(...)
+ local fired = nil
+
+ if self._next_fire_allowed <= Application:time() then
+ fired = self:fire(...)
+
+ if fired then
+ self._next_fire_allowed = self._next_fire_allowed + ((tweak_data.weapon[self._name_id].auto and tweak_data.weapon[self._name_id].auto.fire_rate) or 1)
+ end
+ end
+
+ return fired
+end
+
function NPCRaycastWeaponBase:_sound_autofire_end()
local tweak_sound = tweak_data.weapon[self._name_id].sounds
local sound_name = tweak_sound.prefix .. self._setup.user_sound_variant .. self._voice .. "_end"
diff --git a/main.xml b/main.xml
index 536919020d..7d51cda8b3 100644
--- a/main.xml
+++ b/main.xml
@@ -7,7 +7,7 @@
-
+
@@ -87,8 +87,6 @@
-
-
@@ -343,6 +341,7 @@
+
@@ -379,6 +378,8 @@
+
+
@@ -519,6 +520,7 @@
+
diff --git a/mod.txt b/mod.txt
index 485d187a64..855ce31d01 100644
--- a/mod.txt
+++ b/mod.txt
@@ -3,7 +3,7 @@
"description" : "This restores many HUD, Menu, and other functionality that were abandoned before the release of PAYDAY 2.",
"author" : "Rhynne, DoktorAkcel, SC, & The Restoration Mod Crew",
"contact" : "Join the official Steam group",
- "version" : "12.2.1",
+ "version" : "12.2.2",
"priority" : 46,
"blt_version" : 2,
"image" : "res.png",
diff --git a/packages/federales_diff/easy_wish_sc_federales.xml b/packages/federales_diff/easy_wish_sc_federales.xml
index 621c758e0e..15512a3f91 100644
--- a/packages/federales_diff/easy_wish_sc_federales.xml
+++ b/packages/federales_diff/easy_wish_sc_federales.xml
@@ -518,6 +518,7 @@
+
diff --git a/packages/federales_diff/overkill_145_sc_federales.xml b/packages/federales_diff/overkill_145_sc_federales.xml
index 4b8df305c8..d09ef2aab8 100644
--- a/packages/federales_diff/overkill_145_sc_federales.xml
+++ b/packages/federales_diff/overkill_145_sc_federales.xml
@@ -439,12 +439,13 @@
-
+
+
diff --git a/packages/federales_diff/overkill_290_sc_federales.xml b/packages/federales_diff/overkill_290_sc_federales.xml
index 0832a6ec9c..db37910c89 100644
--- a/packages/federales_diff/overkill_290_sc_federales.xml
+++ b/packages/federales_diff/overkill_290_sc_federales.xml
@@ -461,6 +461,7 @@
+
diff --git a/packages/federales_diff/overkill_sc_federales.xml b/packages/federales_diff/overkill_sc_federales.xml
index 6bfb12aa0b..da87ecad10 100644
--- a/packages/federales_diff/overkill_sc_federales.xml
+++ b/packages/federales_diff/overkill_sc_federales.xml
@@ -422,12 +422,13 @@
-
+
+
diff --git a/packages/federales_diff/skm_sc_federales.xml b/packages/federales_diff/skm_sc_federales.xml
index 7eb53246ab..8eb1e61449 100644
--- a/packages/federales_diff/skm_sc_federales.xml
+++ b/packages/federales_diff/skm_sc_federales.xml
@@ -573,8 +573,9 @@
+
-
+
diff --git a/packages/federales_diff/sm_wish_sc_federales.xml b/packages/federales_diff/sm_wish_sc_federales.xml
index 5f512feac3..442fec525c 100644
--- a/packages/federales_diff/sm_wish_sc_federales.xml
+++ b/packages/federales_diff/sm_wish_sc_federales.xml
@@ -482,6 +482,7 @@
+
diff --git a/packages/russia_diff/easy_wish_sc_russia.xml b/packages/russia_diff/easy_wish_sc_russia.xml
index eb054c72a5..4175459480 100644
--- a/packages/russia_diff/easy_wish_sc_russia.xml
+++ b/packages/russia_diff/easy_wish_sc_russia.xml
@@ -565,8 +565,9 @@
+
-
+
diff --git a/packages/russia_diff/overkill_145_sc_russia.xml b/packages/russia_diff/overkill_145_sc_russia.xml
index 3e978d6e85..68dfc2176e 100644
--- a/packages/russia_diff/overkill_145_sc_russia.xml
+++ b/packages/russia_diff/overkill_145_sc_russia.xml
@@ -465,12 +465,13 @@
-
+
+
diff --git a/packages/russia_diff/overkill_290_sc_russia.xml b/packages/russia_diff/overkill_290_sc_russia.xml
index 0e23e597a1..791542737f 100644
--- a/packages/russia_diff/overkill_290_sc_russia.xml
+++ b/packages/russia_diff/overkill_290_sc_russia.xml
@@ -503,6 +503,7 @@
+
diff --git a/packages/russia_diff/overkill_sc_russia.xml b/packages/russia_diff/overkill_sc_russia.xml
index b67553812a..0c8ee0ff81 100644
--- a/packages/russia_diff/overkill_sc_russia.xml
+++ b/packages/russia_diff/overkill_sc_russia.xml
@@ -450,12 +450,13 @@
-
+
+
diff --git a/packages/russia_diff/skm_sc_russia.xml b/packages/russia_diff/skm_sc_russia.xml
index 3fe3f7d1cf..ec40e3d291 100644
--- a/packages/russia_diff/skm_sc_russia.xml
+++ b/packages/russia_diff/skm_sc_russia.xml
@@ -648,6 +648,7 @@
+
diff --git a/packages/russia_diff/sm_wish_sc_russia.xml b/packages/russia_diff/sm_wish_sc_russia.xml
index b6d9c78ec3..6a9197ee54 100644
--- a/packages/russia_diff/sm_wish_sc_russia.xml
+++ b/packages/russia_diff/sm_wish_sc_russia.xml
@@ -503,6 +503,7 @@
+
diff --git a/req/mission_script/arena.lua b/req/mission_script/arena.lua
index 43b606e490..facf0726fa 100644
--- a/req/mission_script/arena.lua
+++ b/req/mission_script/arena.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1350
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1320
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1290
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 1260
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 1230
diff --git a/req/mission_script/arm_cro.lua b/req/mission_script/arm_cro.lua
index 7b57d05a14..cfe04bbe48 100644
--- a/req/mission_script/arm_cro.lua
+++ b/req/mission_script/arm_cro.lua
@@ -17,18 +17,12 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
gensec_dozer = "units/payday2/characters/ene_bulldozer_3_sc/ene_bulldozer_3_sc"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 740
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 660
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 630
+ ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 600
+ ponr_value = 540
end
return {
diff --git a/req/mission_script/arm_fac.lua b/req/mission_script/arm_fac.lua
index f3ca70b582..5053ec17c8 100644
--- a/req/mission_script/arm_fac.lua
+++ b/req/mission_script/arm_fac.lua
@@ -17,18 +17,12 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
gensec_dozer = "units/payday2/characters/ene_bulldozer_3_sc/ene_bulldozer_3_sc"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 740
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 660
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 630
+ ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 600
+ ponr_value = 540
end
return {
diff --git a/req/mission_script/arm_for.lua b/req/mission_script/arm_for.lua
index 9d0774aeb7..7671e36743 100644
--- a/req/mission_script/arm_for.lua
+++ b/req/mission_script/arm_for.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 960
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 1080
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 930
+ ponr_value = 1050
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 900
+ ponr_value = 1020
end
+
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
return {
--Pro Job PONR
[105046] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
-- restores unused sniper spawn
diff --git a/req/mission_script/arm_hcm.lua b/req/mission_script/arm_hcm.lua
index f1b34fa11e..4fa1fa9d3d 100644
--- a/req/mission_script/arm_hcm.lua
+++ b/req/mission_script/arm_hcm.lua
@@ -17,18 +17,12 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
gensec_dozer = "units/payday2/characters/ene_bulldozer_3_sc/ene_bulldozer_3_sc"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 740
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 660
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 630
+ ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 600
+ ponr_value = 540
end
return {
diff --git a/req/mission_script/arm_par.lua b/req/mission_script/arm_par.lua
index 5728057d35..d4e6bea2ea 100644
--- a/req/mission_script/arm_par.lua
+++ b/req/mission_script/arm_par.lua
@@ -17,18 +17,12 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
gensec_dozer = "units/payday2/characters/ene_bulldozer_3_sc/ene_bulldozer_3_sc"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 740
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 660
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 630
+ ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 600
+ ponr_value = 540
end
return {
diff --git a/req/mission_script/arm_und.lua b/req/mission_script/arm_und.lua
index 608bc6c791..b49e035197 100644
--- a/req/mission_script/arm_und.lua
+++ b/req/mission_script/arm_und.lua
@@ -17,18 +17,12 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
gensec_dozer = "units/payday2/characters/ene_bulldozer_3_sc/ene_bulldozer_3_sc"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 740
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 660
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 630
+ ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 600
+ ponr_value = 540
end
return {
diff --git a/req/mission_script/bex.lua b/req/mission_script/bex.lua
index ad94b9add0..00f34552d7 100644
--- a/req/mission_script/bex.lua
+++ b/req/mission_script/bex.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
@@ -98,5 +92,71 @@ return {
values = {
dialogue = "Play_loc_bex_109"
}
+ },
+ -- Disable server room reinforce
+ [101835] = {
+ values = {
+ enabled = false
+ }
+ },
+ -- Reinforce second floor above tellers
+ [100027] = {
+ reinforce = {
+ {
+ name = "teller_balcony1",
+ force = 2,
+ position = Vector3(1200, -2200, 400)
+ },
+ {
+ name = "teller_balcony2",
+ force = 2,
+ position = Vector3(-1200, -2200, 400)
+ }
+ }
+ },
+ -- Reinforce drill parts car on first break
+ [103346] = {
+ reinforce = {
+ {
+ name = "parts_car",
+ force = 2,
+ position = Vector3(3100, -1400, 0)
+ }
+ }
+ },
+ [103347] = {
+ reinforce = {
+ {
+ name = "parts_car",
+ force = 2,
+ position = Vector3(1600, 2100, 0)
+ }
+ }
+ },
+ [103352] = {
+ reinforce = {
+ {
+ name = "parts_car",
+ force = 2,
+ position = Vector3(1800, -2000, 0)
+ }
+ }
+ },
+ [103354] = {
+ reinforce = {
+ {
+ name = "parts_car",
+ force = 2,
+ position = Vector3(-1700, 3300, 0)
+ }
+ }
+ },
+ -- Disable parts reinforce when drill is done
+ [101829] = {
+ reinforce = {
+ {
+ name = "parts_car"
+ }
+ }
}
}
\ No newline at end of file
diff --git a/req/mission_script/big.lua b/req/mission_script/big.lua
index 4bc96021f2..4a05ba471b 100644
--- a/req/mission_script/big.lua
+++ b/req/mission_script/big.lua
@@ -1,34 +1,69 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1200
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1170
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1140
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 1080
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 1080
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1080
- elseif tweak_data:difficulty_to_index(difficulty) == 8 then
ponr_value = 1050
+ elseif tweak_data:difficulty_to_index(difficulty) == 8 then
+ ponr_value = 1020
end
-if Global.game_settings and Global.game_settings.one_down then
+if Global.game_settings and Global.game_settings.one_down then
+ timelock_normal = 300
+ timelock_fast = 270
+
if tweak_data:difficulty_to_index(difficulty) == 5 or tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 or tweak_data:difficulty_to_index(difficulty) == 8 then
australian_sniper = "units/pd2_dlc_vip/characters/ene_titan_sniper/ene_titan_sniper"
end
end
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
+
return {
--Pro Job PONR
[105790] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
[105845] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
+ --More timelock timer on Pro Jobs
+ [103137] = {
+ values = {
+ time = timelock_normal
+ }
+ },
+ [100170] = {
+ values = {
+ time = timelock_fast
+ }
+ },
--Titan Snipers replace FBI Heavy SWATs on Pro Jobs
[100940] = {
values = {
diff --git a/req/mission_script/born.lua b/req/mission_script/born.lua
index b3ccb9ce93..e71817dced 100644
--- a/req/mission_script/born.lua
+++ b/req/mission_script/born.lua
@@ -1,23 +1,65 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 960
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 930
+ ponr_value = 630
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 900
+ ponr_value = 600
end
return {
- --Pro Job PONR
- [100720] = {
- ponr = ponr_value
+ --Pro Job PONR
+ [100720] = {
+ ponr = ponr_value
+ },
+ -- Slow down roof and garage spawns
+ [100007] = {
+ values = {
+ interval = 15
+ }
+ },
+ [100128] = {
+ values = {
+ interval = 15
+ }
+ },
+ --Have Vest Biker beat up Mike
+ [100920] = {
+ values = {
+ enemy = "units/payday2/characters/ene_guard_biker_1/ene_guard_biker_1"
+ }
+ },
+ --Biker replacements
+ [100254] = {
+ values = {
+ enemy = "units/payday2/characters/ene_guard_biker_1/ene_guard_biker_1"
+ }
+ },
+ [100295] = {
+ values = {
+ enemy = "units/payday2/characters/ene_guard_biker_1/ene_guard_biker_1"
+ }
+ },
+ [100301] = {
+ values = {
+ enemy = "units/payday2/characters/ene_guard_biker_1/ene_guard_biker_1"
+ }
+ },
+ [100373] = {
+ values = {
+ enemy = "units/pd2_dlc_born/characters/ene_biker_female_1/ene_biker_female_1"
+ }
+ },
+ [100374] = {
+ values = {
+ enemy = "units/pd2_dlc_born/characters/ene_biker_female_3/ene_biker_female_3"
+ }
+ },
+ [100384] = {
+ values = {
+ enemy = "units/pd2_dlc_born/characters/ene_biker_female_2/ene_biker_female_2"
+ }
}
}
\ No newline at end of file
diff --git a/req/mission_script/bph.lua b/req/mission_script/bph.lua
index 031a231b12..827bc8c529 100644
--- a/req/mission_script/bph.lua
+++ b/req/mission_script/bph.lua
@@ -1,4 +1,19 @@
+local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
+local difficulty_index = tweak_data:difficulty_to_index(difficulty)
+local murky_guard = "units/pd2_mod_sharks/characters/ene_murky_cs_cop_r870/ene_murky_cs_cop_r870"
+
+ if Global.game_settings and Global.game_settings.one_down then
+ timelock = 150
+ murky_guard = "units/pd2_mod_sharks/characters/ene_murky_fbi_tank_r870/ene_murky_fbi_tank_r870"
+ end
+
return {
+ --More timelock timer on Pro Jobs
+ [101402] = {
+ values = {
+ time = timelock
+ }
+ },
-- restores some unused sniper spawns with their SOs
[100369] = {
values = {
@@ -41,9 +56,10 @@ return {
}
},
--murky spawn changes
+ --Spawn the dozer in security room (PJ only)
[101669] = {
values = {
- enemy = "units/pd2_mod_sharks/characters/ene_murky_cs_cop_r870/ene_murky_cs_cop_r870"
+ enemy = murky_guard
}
},
[101670] = {
diff --git a/req/mission_script/branchbank.lua b/req/mission_script/branchbank.lua
index 90e06e6d44..3da112e2aa 100644
--- a/req/mission_script/branchbank.lua
+++ b/req/mission_script/branchbank.lua
@@ -5,13 +5,7 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
bulldozer = "units/payday2/characters/ene_bulldozer_2_sc/ene_bulldozer_2_sc"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 900
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 840
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 720
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 660
diff --git a/req/mission_script/brb.lua b/req/mission_script/brb.lua
index c6b0231a6b..35c5b0f847 100644
--- a/req/mission_script/brb.lua
+++ b/req/mission_script/brb.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
diff --git a/req/mission_script/chas.lua b/req/mission_script/chas.lua
index f129156750..ef9cbdd91c 100644
--- a/req/mission_script/chas.lua
+++ b/req/mission_script/chas.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 600
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 540
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
+ ponr_value = 480
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
+ ponr_value = 420
end
return {
diff --git a/req/mission_script/chca.lua b/req/mission_script/chca.lua
index 2ebdc4ce7f..ed248f2ed9 100644
--- a/req/mission_script/chca.lua
+++ b/req/mission_script/chca.lua
@@ -1,16 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value_1 = 1050
- ponr_value_2 = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value_1 = 1020
- ponr_value_2 = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value_1 = 990
- ponr_value_2 = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value_1 = 960
ponr_value_2 = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
@@ -57,16 +48,22 @@ return {
},
[101469] = {
groups = {
- tac_shield_wall = false,
- tac_shield_wall_ranged = false,
- tac_shield_wall_charge = false
+ CS_shields = false,
+ FBI_shields = false,
+ FBI_shields_boom = false,
+ GS_shields = false,
+ GS_shields_boom = false,
+ GS_defend_shields = false
}
},
[101470] = {
groups = {
- tac_shield_wall = false,
- tac_shield_wall_ranged = false,
- tac_shield_wall_charge = false
+ CS_shields = false,
+ FBI_shields = false,
+ FBI_shields_boom = false,
+ GS_shields = false,
+ GS_shields_boom = false,
+ GS_defend_shields = false
}
}
}
\ No newline at end of file
diff --git a/req/mission_script/chew.lua b/req/mission_script/chew.lua
index 26949dfeb3..278476a7c6 100644
--- a/req/mission_script/chew.lua
+++ b/req/mission_script/chew.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 960
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 930
+ ponr_value = 630
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 900
+ ponr_value = 600
end
return {
diff --git a/req/mission_script/corp.lua b/req/mission_script/corp.lua
index f553522245..89891c5eae 100644
--- a/req/mission_script/corp.lua
+++ b/req/mission_script/corp.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 780
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 750
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 720
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 630
@@ -30,7 +24,7 @@ return {
{
name = "meetingroom2",
force = 2,
- position = Vector3(5300, 200, 900)
+ position = Vector3(5300, 2000, 900)
},
{
name = "admin",
diff --git a/req/mission_script/crimepunishlvl.lua b/req/mission_script/crimepunishlvl.lua
index 06df57e383..ae7c99e521 100644
--- a/req/mission_script/crimepunishlvl.lua
+++ b/req/mission_script/crimepunishlvl.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 750
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 720
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 630
diff --git a/req/mission_script/crojob2.lua b/req/mission_script/crojob2.lua
index 3c8d6ac420..b0e98d45d8 100644
--- a/req/mission_script/crojob2.lua
+++ b/req/mission_script/crojob2.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
diff --git a/req/mission_script/crojob3.lua b/req/mission_script/crojob3.lua
index 2c6987be39..0a52ff99ec 100644
--- a/req/mission_script/crojob3.lua
+++ b/req/mission_script/crojob3.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 750
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 720
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 630
diff --git a/req/mission_script/dah.lua b/req/mission_script/dah.lua
index f8eda0ce1d..18d43e4be6 100644
--- a/req/mission_script/dah.lua
+++ b/req/mission_script/dah.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 540
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 510
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 480
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 390
diff --git a/req/mission_script/des.lua b/req/mission_script/des.lua
index fe01c2f106..cd4037d5f9 100644
--- a/req/mission_script/des.lua
+++ b/req/mission_script/des.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
diff --git a/req/mission_script/dinner.lua b/req/mission_script/dinner.lua
index c2f6e460ac..6d67bf35f0 100644
--- a/req/mission_script/dinner.lua
+++ b/req/mission_script/dinner.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 330
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 300
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 270
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 240
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 180
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 210
+ ponr_value = 150
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 180
+ ponr_value = 120
end
return {
diff --git a/req/mission_script/election_day_2.lua b/req/mission_script/election_day_2.lua
index 671db3a78f..072efaaba2 100644
--- a/req/mission_script/election_day_2.lua
+++ b/req/mission_script/election_day_2.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
diff --git a/req/mission_script/election_day_3.lua b/req/mission_script/election_day_3.lua
index 80a7cb5776..bcc6426375 100644
--- a/req/mission_script/election_day_3.lua
+++ b/req/mission_script/election_day_3.lua
@@ -9,13 +9,7 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
jerome_dude = "units/payday2/characters/ene_city_guard_3/ene_city_guard_3"
end
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
diff --git a/req/mission_script/family.lua b/req/mission_script/family.lua
index d0bd07cbdb..5891ebe22f 100644
--- a/req/mission_script/family.lua
+++ b/req/mission_script/family.lua
@@ -1,19 +1,11 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 900
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 900
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 860
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 860
- elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 830
- elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 780
- end
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 360
+ elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 or tweak_data:difficulty_to_index(difficulty) == 8 then
+ ponr_value = 480
+ end
return {
--Pro Job PONR
@@ -25,5 +17,22 @@ return {
values = {
enabled = true
}
+ },
+ --disable the bad van escape spots
+ [100754] = {
+ values = {
+ enabled = false
+ }
+ },
+ [100755] = {
+ values = {
+ enabled = false
+ }
+ },
+ --Disable the SWAT Turret
+ [102124] = {
+ values = {
+ enabled = false
+ }
}
}
\ No newline at end of file
diff --git a/req/mission_script/fex.lua b/req/mission_script/fex.lua
index a75396162b..ef2fd72175 100644
--- a/req/mission_script/fex.lua
+++ b/req/mission_script/fex.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
+ ponr_value = 540
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
+ ponr_value = 480
end
return {
diff --git a/req/mission_script/firestarter_1_res.lua b/req/mission_script/firestarter_1_res.lua
index 8244583367..0edc0b3c70 100644
--- a/req/mission_script/firestarter_1_res.lua
+++ b/req/mission_script/firestarter_1_res.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1200
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1170
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1140
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 1080
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1080
+ ponr_value = 1050
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 1050
+ ponr_value = 1020
end
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
+
return {
--Pro Job PONR
[101791] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
}
}
\ No newline at end of file
diff --git a/req/mission_script/firestarter_2_res.lua b/req/mission_script/firestarter_2_res.lua
index 7d8de2d12f..7ed9ee4b99 100644
--- a/req/mission_script/firestarter_2_res.lua
+++ b/req/mission_script/firestarter_2_res.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
diff --git a/req/mission_script/firestarter_3_res.lua b/req/mission_script/firestarter_3_res.lua
index be130c5766..45dbd1b5be 100644
--- a/req/mission_script/firestarter_3_res.lua
+++ b/req/mission_script/firestarter_3_res.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 360
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 720
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 330
+ ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 300
+ ponr_value = 600
end
+
+ local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
return {
--Pro Job PONR
[100872] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
}
}
\ No newline at end of file
diff --git a/req/mission_script/four_stores.lua b/req/mission_script/four_stores.lua
index 6c7fe0389d..916ca2257c 100644
--- a/req/mission_script/four_stores.lua
+++ b/req/mission_script/four_stores.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 600
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 600
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 570
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 540
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 520
+ ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 480
+ ponr_value = 420
end
return {
diff --git a/req/mission_script/framing_frame_2.lua b/req/mission_script/framing_frame_2.lua
index 74a09cf6d3..e0cef7f2e4 100644
--- a/req/mission_script/framing_frame_2.lua
+++ b/req/mission_script/framing_frame_2.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 600
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
+ ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
+ ponr_value = 420
end
return {
diff --git a/req/mission_script/framing_frame_3.lua b/req/mission_script/framing_frame_3.lua
index e38ce495ef..af46019b2f 100644
--- a/req/mission_script/framing_frame_3.lua
+++ b/req/mission_script/framing_frame_3.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
@@ -50,6 +44,12 @@ return {
ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value * 2
},
+ --Disable unnecceary invulnerability for patrol guard
+ [105930] = {
+ values = {
+ invulnerable = false
+ }
+ },
-- Fix power cut SO delay and add some random delay
[104685] = {
values = {
diff --git a/req/mission_script/friend.lua b/req/mission_script/friend.lua
index 7941a00e28..fc8bf40c56 100644
--- a/req/mission_script/friend.lua
+++ b/req/mission_script/friend.lua
@@ -1,13 +1,8 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
+local amount_guards = 8
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 750
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 720
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 630
@@ -15,6 +10,16 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
ponr_value = 600
end
+ if tweak_data:difficulty_to_index(difficulty) == 8 then
+ amount_guards = 12
+ end
+
+ if Global.game_settings and Global.game_settings.one_down then
+ if tweak_data:difficulty_to_index(difficulty) == 8 then
+ enforcer_guard = "units/pd2_dlc_flat/characters/ene_gang_colombian_enforcer/ene_gang_colombian_enforcer"
+ end
+ end
+
return {
--Pro Job PONR
[100216] = {
@@ -60,6 +65,23 @@ return {
enabled = false --don't even try.....
}
},
+ --Force spawn all possible guards during Sosa fight (DS only)
+ [101725] = {
+ values = {
+ amount = amount_guards
+ }
+ },
+ --Spawn enforcers during Sosa fight on DS PJ
+ [101845] = {
+ values = {
+ enemy = enforcer_guard
+ }
+ },
+ [101868] = {
+ values = {
+ enemy = enforcer_guard
+ }
+ },
--You're Sosa's men, not undercover cops
[100852] = {
values = {
diff --git a/req/mission_script/glace.lua b/req/mission_script/glace.lua
index 4151b44b89..fed11b52f9 100644
--- a/req/mission_script/glace.lua
+++ b/req/mission_script/glace.lua
@@ -4,16 +4,10 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
if tweak_data:difficulty_to_index(difficulty) <= 7 then
bulldozer = "units/pd2_mod_nypd/characters/ene_bulldozer_1/ene_bulldozer_1"
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- bulldozer = "units/pd2_dlc_gitgud/characters/ene_bulldozer_minigun/ene_bulldozer_minigun"
+ bulldozer = "units/pd2_dlc_gitgud/characters/ene_zeal_bulldozer_3_sc/ene_zeal_bulldozer_3_sc"
end
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 540
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 510
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 480
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 390
diff --git a/req/mission_script/hox_2.lua b/req/mission_script/hox_2.lua
index c38435aaff..d3dabe9be8 100644
--- a/req/mission_script/hox_2.lua
+++ b/req/mission_script/hox_2.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 360
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 330
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 270
diff --git a/req/mission_script/hox_3.lua b/req/mission_script/hox_3.lua
index ae9fe8a2b4..bcd192b0e1 100644
--- a/req/mission_script/hox_3.lua
+++ b/req/mission_script/hox_3.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 740
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 710
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 680
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 650
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 600
diff --git a/req/mission_script/hunter_departure.lua b/req/mission_script/hunter_departure.lua
index c5d89cf6dd..8241653b06 100644
--- a/req/mission_script/hunter_departure.lua
+++ b/req/mission_script/hunter_departure.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 510
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 480
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 390
diff --git a/req/mission_script/hunter_party.lua b/req/mission_script/hunter_party.lua
index 45b8227f46..5083cbf06f 100644
--- a/req/mission_script/hunter_party.lua
+++ b/req/mission_script/hunter_party.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 510
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 480
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 390
diff --git a/req/mission_script/jewelry_store.lua b/req/mission_script/jewelry_store.lua
index e88057facd..0bc9c869e7 100644
--- a/req/mission_script/jewelry_store.lua
+++ b/req/mission_script/jewelry_store.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
+
+ if tweak_data:difficulty_to_index(difficulty) <= 4 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 600
- elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
- elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
+ ponr_value = 360
+ elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 or tweak_data:difficulty_to_index(difficulty) == 8 then
+ ponr_value = 420
end
return {
diff --git a/req/mission_script/jolly.lua b/req/mission_script/jolly.lua
index 3cba00e672..171e0706b7 100644
--- a/req/mission_script/jolly.lua
+++ b/req/mission_script/jolly.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 540
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 510
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 480
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 420
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 390
diff --git a/req/mission_script/kenaz.lua b/req/mission_script/kenaz.lua
index 0a60063ff8..854eea17c5 100644
--- a/req/mission_script/kenaz.lua
+++ b/req/mission_script/kenaz.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1200
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1170
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1140
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 1080
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1080
+ ponr_value = 1050
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 1050
+ ponr_value = 1020
end
local ponr_timer_player_mul = {
diff --git a/req/mission_script/mad.lua b/req/mission_script/mad.lua
index d405657732..d828adf0b3 100644
--- a/req/mission_script/mad.lua
+++ b/req/mission_script/mad.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
diff --git a/req/mission_script/mallcrasher.lua b/req/mission_script/mallcrasher.lua
index 69da0902b5..3410b0e794 100644
--- a/req/mission_script/mallcrasher.lua
+++ b/req/mission_script/mallcrasher.lua
@@ -1,18 +1,10 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 600
- elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
- elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
+ elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 or tweak_data:difficulty_to_index(difficulty) == 8 then
+ ponr_value = 480
end
return {
diff --git a/req/mission_script/man.lua b/req/mission_script/man.lua
index 592b40808c..f1e858d465 100644
--- a/req/mission_script/man.lua
+++ b/req/mission_script/man.lua
@@ -1,3 +1,12 @@
+local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
+local difficulty_index = tweak_data:difficulty_to_index(difficulty)
+
+if Global.game_settings and Global.game_settings.one_down then
+ if tweak_data:difficulty_to_index(difficulty) == 5 or tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 or tweak_data:difficulty_to_index(difficulty) == 8 then
+ australian_sniper = "units/pd2_dlc_vip/characters/ene_titan_sniper/ene_titan_sniper"
+ end
+end
+
return {
--flashlights, flashlights, flashlights!!!!!!!!!!
[100756] = {
@@ -5,5 +14,56 @@ return {
},
[101801] = {
flashlight = false
+ },
+ --Titan Snipers replace some SWAT Harassers on Pro Jobs
+ [103237] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [103236] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [103235] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [103234] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [103228] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [102097] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [102443] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [102446] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [102448] = {
+ values = {
+ enemy = australian_sniper
+ }
+ },
+ [102450] = {
+ values = {
+ enemy = australian_sniper
+ }
}
}
\ No newline at end of file
diff --git a/req/mission_script/mex.lua b/req/mission_script/mex.lua
index 2236353e1e..fbdf74d7dc 100644
--- a/req/mission_script/mex.lua
+++ b/req/mission_script/mex.lua
@@ -1,31 +1,57 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1650
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1620
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1590
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 1560
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 1530
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
ponr_value = 1500
end
+
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
return {
--Pro Job PONR
[101016] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
[103048] = {
groups = {
- tac_bull_rush = false,
- tac_shield_wall = false,
- tac_shield_wall_ranged = false,
- tac_shield_wall_charge = false
+ GREEN_tanks = false,
+ BLACK_tanks = false,
+ SKULL_tanks = false,
+ TIT_tanks = false,
+ CS_shields = false,
+ FBI_shields = false,
+ FBI_shields_boom = false,
+ GS_shields = false,
+ GS_shields_boom = false,
+ GS_defend_shields = false
}
},
--female/guard bikers
diff --git a/req/mission_script/mex_cooking.lua b/req/mission_script/mex_cooking.lua
index 8f34ca4d45..4a5c2a242f 100644
--- a/req/mission_script/mex_cooking.lua
+++ b/req/mission_script/mex_cooking.lua
@@ -1,10 +1,16 @@
return {
[103048] = {
groups = {
- tac_bull_rush = false,
- tac_shield_wall = false,
- tac_shield_wall_ranged = false,
- tac_shield_wall_charge = false
+ GREEN_tanks = false,
+ BLACK_tanks = false,
+ SKULL_tanks = false,
+ TIT_tanks = false,
+ CS_shields = false,
+ FBI_shields = false,
+ FBI_shields_boom = false,
+ GS_shields = false,
+ GS_shields_boom = false,
+ GS_defend_shields = false
}
}
}
\ No newline at end of file
diff --git a/req/mission_script/mia_1.lua b/req/mission_script/mia_1.lua
index 9d409721d2..8740bf96a3 100644
--- a/req/mission_script/mia_1.lua
+++ b/req/mission_script/mia_1.lua
@@ -1,23 +1,18 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 960
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 930
+ ponr_value = 540
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 900
+ ponr_value = 480
end
return {
- --Pro Job PONR
- [101289] = {
- ponr = ponr_value
- }
+ --Pro Job PONR
+ [101289] = {
+ ponr = ponr_value
+ }
}
\ No newline at end of file
diff --git a/req/mission_script/mia_2.lua b/req/mission_script/mia_2.lua
index 53a3755a2d..0f6ad58be8 100644
--- a/req/mission_script/mia_2.lua
+++ b/req/mission_script/mia_2.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 360
- elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 330
+ elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 300
+ ponr_value = 240
end
return {
diff --git a/req/mission_script/moon.lua b/req/mission_script/moon.lua
index 62a553a741..d785bc6288 100644
--- a/req/mission_script/moon.lua
+++ b/req/mission_script/moon.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 570
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 540
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 510
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 480
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 450
diff --git a/req/mission_script/mus.lua b/req/mission_script/mus.lua
index 6db69a8323..672465243f 100644
--- a/req/mission_script/mus.lua
+++ b/req/mission_script/mus.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 960
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 480
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 930
+ ponr_value = 540
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 900
+ ponr_value = 600
end
return {
diff --git a/req/mission_script/pal.lua b/req/mission_script/pal.lua
index d37906ac78..753e74ff90 100644
--- a/req/mission_script/pal.lua
+++ b/req/mission_script/pal.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 240
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 210
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 180
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 180
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 120
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 150
+ ponr_value = 90
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 120
+ ponr_value = 60
end
if Global.game_settings and Global.game_settings.one_down then
diff --git a/req/mission_script/pbr.lua b/req/mission_script/pbr.lua
index 1edb9441fc..724c381ca9 100644
--- a/req/mission_script/pbr.lua
+++ b/req/mission_script/pbr.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
@@ -17,7 +11,7 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
return {
--Pro Job PONR
- [100119] = {
+ [101774] = {
ponr = ponr_value
},
--replace most of the murkies with resmod versions
diff --git a/req/mission_script/pbr2.lua b/req/mission_script/pbr2.lua
index 67b9495f58..56a72afb17 100644
--- a/req/mission_script/pbr2.lua
+++ b/req/mission_script/pbr2.lua
@@ -2,18 +2,12 @@ local difficulty = Global.game_settings and Global.game_settings.difficulty or "
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
if Global.game_settings and Global.game_settings.one_down then
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 960
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 930
+ ponr_value = 540
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 900
+ ponr_value = 480
end
end
diff --git a/req/mission_script/pent.lua b/req/mission_script/pent.lua
index 28c66fa060..9c5d7d5e8d 100644
--- a/req/mission_script/pent.lua
+++ b/req/mission_script/pent.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1290
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1260
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1260
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 1230
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 1200
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1230
+ ponr_value = 1140
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 1200
+ ponr_value = 1080
end
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
+
return {
--Pro Job PONR
[101226] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
[103595] = {
diff --git a/req/mission_script/peta.lua b/req/mission_script/peta.lua
index 7e95388bee..664d461bdc 100644
--- a/req/mission_script/peta.lua
+++ b/req/mission_script/peta.lua
@@ -1,23 +1,3 @@
-local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
-local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 600
- elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
- elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
- end
-
-return {
- --Pro Job PONR
- [100059] = {
- ponr = ponr_value
- }
-}
\ No newline at end of file
+--[[
+ There's nothing for now
+]]--
\ No newline at end of file
diff --git a/req/mission_script/peta2.lua b/req/mission_script/peta2.lua
index 2de38d663e..b3cec7221a 100644
--- a/req/mission_script/peta2.lua
+++ b/req/mission_script/peta2.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1200
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1170
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1140
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 1080
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1080
+ ponr_value = 1050
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 1050
+ ponr_value = 1020
end
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
+
return {
--Pro Job PONR
[100580] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
[101217] = {
diff --git a/req/mission_script/pex.lua b/req/mission_script/pex.lua
index a4ba3b740a..e830892f26 100644
--- a/req/mission_script/pex.lua
+++ b/req/mission_script/pex.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
diff --git a/req/mission_script/pines.lua b/req/mission_script/pines.lua
index e546b971cf..20a5a3d00f 100644
--- a/req/mission_script/pines.lua
+++ b/req/mission_script/pines.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
-if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 700
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 590
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 560
diff --git a/req/mission_script/ranc.lua b/req/mission_script/ranc.lua
index 8bbb28806d..bc6d0e71bd 100644
--- a/req/mission_script/ranc.lua
+++ b/req/mission_script/ranc.lua
@@ -1,42 +1,51 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value_1 = 1650
- ponr_value_2 = 300
- ponr_value_3 = 900
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value_1 = 1620
- ponr_value_2 = 270
- ponr_value_3 = 870
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value_1 = 1590
- ponr_value_2 = 240
- ponr_value_3 = 840
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value_1 = 1560
- ponr_value_2 = 210
- ponr_value_3 = 840
+ ponr_value_2 = 840
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value_1 = 1530
- ponr_value_2 = 210
- ponr_value_3 = 810
+ ponr_value_2 = 810
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
ponr_value_1 = 1500
- ponr_value_2 = 180
- ponr_value_3 = 780
+ ponr_value_2 = 780
end
+
+local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
return {
--Pro Job PONR
[101425] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value_1
},
- [100622] = {
- ponr = ponr_value_2
- },
[100929] = {
- ponr = ponr_value_3
+ ponr_player_mul = ponr_timer_player_mul,
+ ponr = ponr_value_2
},
--fixes some spawn typos
[100683] = {
diff --git a/req/mission_script/rat.lua b/req/mission_script/rat.lua
index a8a22a5a83..e50657cd09 100644
--- a/req/mission_script/rat.lua
+++ b/req/mission_script/rat.lua
@@ -9,12 +9,12 @@ local difficulty_index = tweak_data:difficulty_to_index(difficulty)
return {
--Replace Heavy SWATs that spawn from the chopper with cloakers
- [101650] = {
+ [101571] = {
values = {
enemy = clonker
}
},
- [101651] = {
+ [101572] = {
values = {
enemy = clonker
}
diff --git a/req/mission_script/rvd1.lua b/req/mission_script/rvd1.lua
index ebe1d93206..a91031d8af 100644
--- a/req/mission_script/rvd1.lua
+++ b/req/mission_script/rvd1.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
diff --git a/req/mission_script/rvd2.lua b/req/mission_script/rvd2.lua
index a94fbfa7f0..83d6328324 100644
--- a/req/mission_script/rvd2.lua
+++ b/req/mission_script/rvd2.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
diff --git a/req/mission_script/sah.lua b/req/mission_script/sah.lua
index 5195fbb348..dcfb936049 100644
--- a/req/mission_script/sah.lua
+++ b/req/mission_script/sah.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 600
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 570
@@ -128,10 +122,16 @@ return {
interval = 60
},
groups = {
- tac_bull_rush = false,
- tac_shield_wall = false,
- tac_shield_wall_ranged = false,
- tac_shield_wall_charge = false
+ GREEN_tanks = false,
+ BLACK_tanks = false,
+ SKULL_tanks = false,
+ TIT_tanks = false,
+ CS_shields = false,
+ FBI_shields = false,
+ FBI_shields_boom = false,
+ GS_shields = false,
+ GS_shields_boom = false,
+ GS_defend_shields = false
}
},
--Made Locke less annoying
diff --git a/req/mission_script/shoutout_raid.lua b/req/mission_script/shoutout_raid.lua
index 8d39e4f5c1..49daf2890c 100644
--- a/req/mission_script/shoutout_raid.lua
+++ b/req/mission_script/shoutout_raid.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1650
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1620
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1590
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 1560
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 1260
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1530
+ ponr_value = 1230
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 1500
+ ponr_value = 1200
end
+local ponr_timer_player_mul = {
+ 1,
+ 0.9,
+ 0.8,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
+
return {
--Pro Job PONR
[102313] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
[106851] = {
diff --git a/req/mission_script/spa.lua b/req/mission_script/spa.lua
index 9260d8ca47..33bbf3ca06 100644
--- a/req/mission_script/spa.lua
+++ b/req/mission_script/spa.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 450
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 420
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 360
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 330
diff --git a/req/mission_script/tj_htsb.lua b/req/mission_script/tj_htsb.lua
new file mode 100644
index 0000000000..603ab9e6d3
--- /dev/null
+++ b/req/mission_script/tj_htsb.lua
@@ -0,0 +1,28 @@
+local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
+local difficulty_index = tweak_data:difficulty_to_index(difficulty)
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 720
+ elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
+ ponr_value = 660
+ elseif tweak_data:difficulty_to_index(difficulty) == 8 then
+ ponr_value = 600
+ end
+
+ if Global.game_settings and Global.game_settings.one_down then
+ if tweak_data:difficulty_to_index(difficulty) == 5 or tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 or tweak_data:difficulty_to_index(difficulty) == 8 then
+ vet_on_break = "units/payday2/characters/ene_veteran_cop_1/ene_veteran_cop_1"
+ end
+ end
+return {
+ --Pro Job PONR
+ [103669] = {
+ ponr = ponr_value
+ },
+ -- non bloddy vet cop probably smoking at the police station
+ [101606] = {
+ values = {
+ enemy = vet_on_break
+ }
+ }
+}
\ No newline at end of file
diff --git a/req/mission_script/ukrainian_job_res.lua b/req/mission_script/ukrainian_job_res.lua
index 94a14c2e06..e4b1542e2a 100644
--- a/req/mission_script/ukrainian_job_res.lua
+++ b/req/mission_script/ukrainian_job_res.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 660
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 600
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 570
+ ponr_value = 240
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 540
+ ponr_value = 180
end
return {
diff --git a/req/mission_script/vit.lua b/req/mission_script/vit.lua
index e0f8ce052d..92d1d5af37 100644
--- a/req/mission_script/vit.lua
+++ b/req/mission_script/vit.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 960
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 930
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
ponr_value = 900
end
+
+ local ponr_timer_player_mul = {
+ 1,
+ 0.8,
+ 0.6,
+ 0.4,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35
+}
return {
--Pro Job PONR
[102089] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
}
}
\ No newline at end of file
diff --git a/req/mission_script/watchdogs_1.lua b/req/mission_script/watchdogs_1.lua
index 0ce85635b6..c023bcb5a5 100644
--- a/req/mission_script/watchdogs_1.lua
+++ b/req/mission_script/watchdogs_1.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 750
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 720
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 690
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 660
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 630
@@ -20,6 +14,28 @@ return {
[102872] = {
ponr = ponr_value
},
+ [101687] = {
+ groups = {
+ GREEN_tanks = false,
+ BLACK_tanks = false,
+ SKULL_tanks = false,
+ TIT_tanks = false,
+ CS_shields = false,
+ FBI_shields = false,
+ FBI_shields_boom = false,
+ GS_shields = false,
+ GS_shields_boom = false,
+ GS_defend_shields = false
+ }
+ },
+ [102827] = {
+ groups = {
+ GREEN_tanks = false,
+ BLACK_tanks = false,
+ SKULL_tanks = false,
+ TIT_tanks = false
+ }
+ },
-- Delay SWAT response
[100327] = {
on_executed = {
diff --git a/req/mission_script/watchdogs_2.lua b/req/mission_script/watchdogs_2.lua
index 6a3048edc0..976e205ca0 100644
--- a/req/mission_script/watchdogs_2.lua
+++ b/req/mission_script/watchdogs_2.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1200
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1170
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 1140
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 1080
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 1080
+ ponr_value = 1050
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 1050
+ ponr_value = 1020
end
+
+ local ponr_timer_player_mul = {
+ 1,
+ 0.85,
+ 0.7,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65,
+ 0.65
+}
return {
- --Pro Job PONR
- [100324] = {
- ponr = ponr_value
+ --Pro Job PONR
+ [100324] = {
+ ponr_player_mul = ponr_timer_player_mul,
+ ponr = ponr_value
}
}
\ No newline at end of file
diff --git a/req/mission_script/welcome_to_the_jungle_1.lua b/req/mission_script/welcome_to_the_jungle_1.lua
index 86ebc52dd2..3fddfe90e7 100644
--- a/req/mission_script/welcome_to_the_jungle_1.lua
+++ b/req/mission_script/welcome_to_the_jungle_1.lua
@@ -1,18 +1,12 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 360
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 330
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
- ponr_value = 300
+ elseif tweak_data:difficulty_to_index(difficulty) <= 5 then
+ ponr_value = 240
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
- ponr_value = 270
+ ponr_value = 210
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
- ponr_value = 240
+ ponr_value = 180
end
return {
diff --git a/req/mission_script/welcome_to_the_jungle_2.lua b/req/mission_script/welcome_to_the_jungle_2.lua
index b2bbf31f2b..955b6fb56e 100644
--- a/req/mission_script/welcome_to_the_jungle_2.lua
+++ b/req/mission_script/welcome_to_the_jungle_2.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 630
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 600
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 570
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 540
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 510
diff --git a/req/mission_script/wwh.lua b/req/mission_script/wwh.lua
index 508b17cf77..8c2d31dd14 100644
--- a/req/mission_script/wwh.lua
+++ b/req/mission_script/wwh.lua
@@ -1,23 +1,43 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 1050
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 1020
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 990
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 960
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 930
elseif tweak_data:difficulty_to_index(difficulty) == 8 then
ponr_value = 900
end
+
+local ponr_timer_player_mul = {
+ 1,
+ 0.8,
+ 0.6,
+ 0.4,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35,
+ 0.35
+}
return {
--Pro Job PONR
[100914] = {
+ ponr_player_mul = ponr_timer_player_mul,
ponr = ponr_value
},
-- Gradually increase difficulty
diff --git a/req/mission_script/xmn_hox2.lua b/req/mission_script/xmn_hox2.lua
index c38435aaff..d3dabe9be8 100644
--- a/req/mission_script/xmn_hox2.lua
+++ b/req/mission_script/xmn_hox2.lua
@@ -1,13 +1,7 @@
local difficulty = Global.game_settings and Global.game_settings.difficulty or "normal"
local difficulty_index = tweak_data:difficulty_to_index(difficulty)
-
- if tweak_data:difficulty_to_index(difficulty) <= 2 then
- ponr_value = 390
- elseif tweak_data:difficulty_to_index(difficulty) == 3 then
- ponr_value = 360
- elseif tweak_data:difficulty_to_index(difficulty) == 4 then
- ponr_value = 330
- elseif tweak_data:difficulty_to_index(difficulty) == 5 then
+
+ if tweak_data:difficulty_to_index(difficulty) <= 5 then
ponr_value = 300
elseif tweak_data:difficulty_to_index(difficulty) == 6 or tweak_data:difficulty_to_index(difficulty) == 7 then
ponr_value = 270