71 lines
3.4 KiB
Lua
71 lines
3.4 KiB
Lua
local weaponBlacklist = {"grenade","teargas","molotov","sniper","rocket launcher","rocket launcher hs","flamethrower","satchel","bomb","spraycan","fire extinguisher","camera"}
|
|
local weaponBlacklistDualWield = {"minigun","rifle"}
|
|
|
|
local weapons = {"grenade","teargas","molotov","colt 45","silenced","deagle","shotgun","sawed-off","combat shotgun","uzi","mp5","ak-47","m4","tec-9","rifle","sniper","rocket launcher","rocket launcher hs","flamethrower","minigun","satchel","bomb","spraycan","fire extinguisher","camera"}
|
|
local weaponDefaultDualWield = {"colt 45","sawed-off","uzi","tec-9"}
|
|
local weaponSkills = {"poor","std","pro"}
|
|
local weaponProperties = {"weapon_range","target_range","accuracy","damage","maximum_clip_ammo","move_speed","anim_loop_start","anim_loop_stop","anim_loop_bullet_fire","anim2_loop_start","anim2_loop_stop","anim2_loop_bullet_fire","anim_breakout_time","flag_aim_no_auto","flag_aim_arm","flag_aim_1st_person","flag_aim_free","flag_move_and_aim","flag_move_and_shoot","flag_type_throw","flag_type_heavy","flag_type_constant","flag_type_dual","flag_anim_reload","flag_anim_crouch","flag_anim_reload_loop","flag_anim_reload_long","flag_shot_slows","flag_shot_rand_speed","flag_shot_anim_abrupt","flag_shot_expands"}
|
|
|
|
function isInList(haystack,needle)
|
|
for _,i in ipairs(haystack) do
|
|
if i == needle then return true end
|
|
end
|
|
return false
|
|
end
|
|
|
|
for _,weapon in ipairs(weapons) do
|
|
if not isInList(weaponBlacklist,weapon) then
|
|
setJetpackWeaponEnabled(weapon,true)
|
|
for _,property in ipairs(weaponProperties) do
|
|
for _,skill in ipairs(weaponSkills) do
|
|
setWeaponProperty(weapon,skill,property,getOriginalWeaponProperty(weapon,"pro",property))
|
|
end
|
|
end
|
|
|
|
for _,skill in ipairs(weaponSkills) do
|
|
setWeaponProperty(weapon,skill,"flag_aim_arm",true)
|
|
end
|
|
|
|
if not isInList(weaponBlacklistDualWield,weapon) then
|
|
setWeaponProperty(weapon,"pro","flag_type_dual",true)
|
|
setWeaponProperty(weapon,"pro","accuracy",getOriginalWeaponProperty(
|
|
weapon,"pro","accuracy") * 1.5)
|
|
setWeaponProperty(weapon,"pro","maximum_clip_ammo",getOriginalWeaponProperty(
|
|
weapon,"pro","maximum_clip_ammo") * 2)
|
|
end
|
|
end
|
|
for _,skill in ipairs(weaponSkills) do
|
|
setWeaponProperty(weapon,skill,"flag_move_and_aim",true)
|
|
setWeaponProperty(weapon,skill,"flag_move_and_shoot",true)
|
|
setWeaponProperty(weapon,skill,"flag_type_heavy",false)
|
|
end
|
|
end
|
|
|
|
for _,skill in ipairs(weaponSkills) do
|
|
setWeaponProperty("sniper",skill,"flag_type_heavy",true)
|
|
setWeaponProperty("rocket launcher",skill,"flag_type_heavy",true)
|
|
setWeaponProperty("rocket launcher hs",skill,"flag_type_heavy",true)
|
|
end
|
|
|
|
for _,weapon in ipairs(weaponDefaultDualWield) do
|
|
setWeaponProperty(weapon,"poor","flag_type_dual",false)
|
|
setWeaponProperty(weapon,"std","flag_type_dual",false)
|
|
setWeaponProperty(weapon,"poor","maximum_clip_ammo",getOriginalWeaponProperty(
|
|
weapon,"std","maximum_clip_ammo"))
|
|
setWeaponProperty(weapon,"std","maximum_clip_ammo",getOriginalWeaponProperty(
|
|
weapon,"std","maximum_clip_ammo"))
|
|
setWeaponProperty(weapon,"pro","maximum_clip_ammo",getOriginalWeaponProperty(
|
|
weapon,"pro","maximum_clip_ammo"))
|
|
end
|
|
|
|
addEventHandler("onResourceStop",resourceRoot,function()
|
|
for _,weapon in ipairs(weapons) do
|
|
if not isInList(weaponBlacklist,weapon) then
|
|
for _,property in ipairs(weaponProperties) do
|
|
for _,skill in ipairs(weaponSkills) do
|
|
setWeaponProperty(weapon,skill,property,getOriginalWeaponProperty(weapon,skill,property))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end) |