Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.02 KB | None | 0 0
  1. local _hts_PlayerInventory_init = PlayerInventory.init
  2.  
  3. function PlayerInventory:init(...)
  4.     _hts_PlayerInventory_init(self, ...)
  5.     self._gunshield_unit = nil
  6.     self.gun_shield_enabler = false
  7. end
  8.  
  9. local _hts_PlayerInventory_place_selection = PlayerInventory._place_selection
  10.  
  11. function PlayerInventory:_place_selection(selection_index, is_equip)
  12.     _hts_PlayerInventory_place_selection(self, selection_index, is_equip)
  13.     if not self:is_this_able_to_gunshield() then
  14.         return
  15.     end
  16.     if is_equip then
  17.         self:give_gunshield()
  18.     else
  19.         self:hide_gunshield()
  20.     end
  21. end
  22.  
  23. function PlayerInventory:get_gunshield_unit()
  24.     return self._gunshield_unit
  25. end
  26.  
  27. function PlayerInventory:check_gunshield_unit()
  28.     return self._gunshield_unit
  29. end
  30.  
  31. function PlayerInventory:give_gunshield()
  32.     if not self:is_this_able_to_gunshield() then
  33.         return
  34.     end
  35.     self:hide_gunshield()
  36.     local selection = self._available_selections[self._equipped_selection]
  37.     if not selection then
  38.         return
  39.     end
  40.     local equipped_primary = managers.blackmarket:equipped_primary()
  41.     local equipped_secondary = managers.blackmarket:equipped_secondary()
  42.     local weapon_unit = selection.unit
  43.     local factory_id = weapon_unit:base()._factory_id
  44.     local weapon_id = managers.weapon_factory:get_weapon_id_by_factory_id(factory_id)
  45.     local equipped_primary = managers.blackmarket:equipped_primary()
  46.     if equipped_primary.weapon_id == weapon_id and self.gun_shield_check() == true then
  47.             if (weapon_id ~= "predatorshield") and (weapon_id ~= "predatorshield_secondary") then
  48.             --local equipped_primary = managers.blackmarket:equipped_primary()
  49.             --local equipped_secondary = managers.blackmarket:equipped_secondary()
  50.                 if self.gun_shield_check() then
  51.                     if tweak_data.weapon[equipped_primary.weapon_id].category == "assault_rifle" or tweak_data.weapon[equipped_primary.weapon_id].category == "shotgun" or tweak_data.weapon[equipped_primary.weapon_id].category == "grenade_launcher" or tweak_data.weapon[equipped_primary.weapon_id].category == "snp" or tweak_data.weapon[equipped_primary.weapon_id].category == "lmg" then
  52.                     -- check here
  53.                     else
  54.                         return
  55.                     end
  56.                 end
  57.             end
  58.         if self.gun_shield_check() then
  59.             --log('gun_shield_enabler:'..tostring(self.gun_shield_enabler))
  60.         end
  61.         self.gun_shield_enabler = true
  62.         local weap_align_data = selection.use_data["equip"]
  63.         local align_place = self._align_places[weap_align_data.align_place]
  64.         self._gunshield_unit = true
  65.    
  66.     else if equipped_secondary.weapon_id == weapon_id and self.secondary_gun_shield_check() == true then
  67.             if (weapon_id ~= "predatorshield") and (weapon_id ~= "predatorshield_secondary") then
  68.                 --local equipped_primary = managers.blackmarket:equipped_primary()
  69.                 --local equipped_secondary = managers.blackmarket:equipped_secondary()
  70.                 if self.secondary_gun_shield_check() then
  71.                     if tweak_data.weapon[equipped_secondary.weapon_id].category == "shotgun" or tweak_data.weapon[equipped_secondary.weapon_id].category == "grenade_launcher" or tweak_data.weapon[equipped_secondary.weapon_id].category == "smg" then
  72.                     -- check here
  73.                     else
  74.                         return
  75.                     end
  76.                 end
  77.             end
  78.         if self.secondary_gun_shield_check() then
  79.             --log('gun_shield_enabler:'..tostring(self.gun_shield_enabler))
  80.         end
  81.         self.gun_shield_enabler = true
  82.         local weap_align_data = selection.use_data["equip"]
  83.         local align_place = self._align_places[weap_align_data.align_place]
  84.         self._gunshield_unit = true
  85.     else
  86.         return
  87.     end
  88.     end
  89. end
  90.  
  91. function PlayerInventory:hide_gunshield()
  92.     if not self:is_this_able_to_gunshield() then
  93.         return
  94.     end
  95.     if self._gunshield_unit then
  96.         self._gunshield_unit = false
  97.     end
  98. end
  99.  
  100. function PlayerInventory:is_this_able_to_gunshield()
  101.     local peer = managers.network:session():peer_by_unit(self._unit)
  102.     if peer and peer == managers.network:session():local_peer() then
  103.         return true
  104.     end
  105.     return false
  106. end
  107.  
  108. function PlayerInventory:gun_shield_enabled()
  109.     return self.gun_shield_enabler
  110. end
  111.  
  112. function PlayerInventory:gun_shield_check()
  113.     local equipped_primary = managers.blackmarket:equipped_primary()
  114.     if equipped_primary.weapon_id == weapon_id then
  115.         if tweak_data.weapon[equipped_primary.weapon_id].category == "assault_rifle" or tweak_data.weapon[equipped_primary.weapon_id].category == "shotgun" or tweak_data.weapon[equipped_primary.weapon_id].category == "grenade_launcher" or tweak_data.weapon[equipped_primary.weapon_id].category == "snp" or tweak_data.weapon[equipped_primary.weapon_id].category == "lmg" then
  116.             for index, value in ipairs(equipped_primary.blueprint) do
  117.                 if value == "wpn_fps_shield_v1" or value == "wpn_fps_shield_v2" or value == "wpn_fps_shield_v3" or value == "wpn_fps_shield_v4" or value == "wpn_fps_shield_ak" or value == "wpn_fps_shield_aug" or value == "wpn_fps_shield_m4" or value == "wpn_fps_shield_dmr" or value == "wpn_fps_shield_lr" or value == "wpn_fps_shield_bullpup" or value == "wpn_fps_shield_shotgun" or value == "wpn_fps_shield_lmg" then
  118.                     return true
  119.                 else
  120.                 return false
  121.                 end
  122.             end
  123.         else
  124.         return false
  125.         end
  126.     else
  127.     return false
  128.     end
  129. end
  130.  
  131. function PlayerInventory:secondary_gun_shield_check()
  132.     local equipped_secondary = managers.blackmarket:equipped_secondary()
  133.     if equipped_secondary.weapon_id == weapon_id then
  134.         if tweak_data.weapon[equipped_secondary.weapon_id].category == "shotgun" or tweak_data.weapon[equipped_secondary.weapon_id].category == "grenade_launcher" or tweak_data.weapon[equipped_secondary.weapon_id].category == "smg" then
  135.             for index, value in ipairs(equipped_primary.blueprint) do
  136.                 if value == "wpn_fps_shield_v1" or value == "wpn_fps_shield_v2" or value == "wpn_fps_shield_v3" or value == "wpn_fps_shield_v4" or value == "wpn_fps_shield_ak" or value == "wpn_fps_shield_aug" or value == "wpn_fps_shield_m4" or value == "wpn_fps_shield_dmr" or value == "wpn_fps_shield_lr" or value == "wpn_fps_shield_bullpup" or value == "wpn_fps_shield_shotgun" or value == "wpn_fps_shield_lmg" then
  137.                     return true
  138.                 else
  139.                 return false
  140.                 end
  141.             end
  142.         else
  143.         return false
  144.         end
  145.     else
  146.     return false
  147.     end
  148. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement