Guest User

DST: ArcheryMod z_quiver.lua fix 03.15.21

a guest
Mar 15th, 2021
876
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.78 KB | None | 0 0
  1. local function quiverfn()
  2.   local inst = CreateEntity()
  3.   local trans = inst.entity:AddTransform()
  4.   local anim = inst.entity:AddAnimState()
  5.   local netw = inst.entity:AddNetwork()
  6.  
  7.   MakeInventoryPhysics(inst)
  8.  
  9.   anim:SetBank("quiver")
  10.   anim:SetBuild("swap_quiver")
  11.   anim:PlayAnimation("anim")
  12.  
  13.   inst:AddTag("quiver")
  14.  
  15.   inst.entity:SetPristine()
  16.  
  17.   if TheWorld.ismastersim then
  18.     inst:AddComponent("inspectable")
  19.  
  20.     inst:AddComponent("inventoryitem")
  21.     inst.components.inventoryitem.cangoincontainer = true
  22.     inst.components.inventoryitem.imagename = "quiver"
  23.     inst.components.inventoryitem.atlasname = "images/inventoryimages/quiver.xml"
  24.  
  25.     inst:AddComponent("container")
  26.     inst.components.container.WidgetSetup = ARCHERYFUNCS.MyWidgetSetup
  27.     inst.replica.container.WidgetSetup = ARCHERYFUNCS.MyWidgetSetup_replica
  28.  
  29.     -- inst:DoTaskInTime(0, function(inst) inst.components.container:WidgetSetup(inst.prefab, quiverwidgetparams) end)
  30.     inst.components.container:WidgetSetup(inst.prefab, quiverwidgetparams)
  31.  
  32.     local origOpen = inst.components.container.Open
  33.     inst.components.container.Open = function(self, doer)
  34.       origOpen(self, doer)
  35.       SpecialQuiverWidgetFn(self, doer)
  36.     end
  37.  
  38.     inst:AddComponent("equippable")
  39.     inst.components.equippable.equipslot = EQUIPSLOTS.QUIVER
  40.     inst.components.equippable:SetOnEquip( OnEquipQuiver )
  41.     inst.components.equippable:SetOnUnequip( OnUnequipQuiver )
  42.  
  43.     inst:AddComponent("zupalexsrangedweapons")
  44.  
  45.     MakeHauntableLaunch(inst)
  46.   end
  47.   if not TheWorld.ismastersim then
  48.     inst.OnEntityReplicated = function(inst)
  49.  
  50.       inst.replica.inventoryitem.cangoincontainer = true
  51.       inst.replica.inventoryitem.imagename = "quiver"
  52.       inst.replica.inventoryitem.atlasname = "images/inventoryimages/quiver.xml"
  53.  
  54.       inst.replica.container.WidgetSetup = ARCHERYFUNCS.MyWidgetSetup
  55.       inst.replica.container.WidgetSetup = ARCHERYFUNCS.MyWidgetSetup_replica
  56.       inst.replica.container:WidgetSetup(inst.prefab, quiverwidgetparams)
  57.  
  58.       local origOpen = inst.replica.container.Open
  59.       inst.replica.container.Open = function(self, doer)
  60.         origOpen(self, doer)
  61.         SpecialQuiverWidgetFn(self, doer)
  62.       end
  63.  
  64.       inst.replica.equippable.equipslot = EQUIPSLOTS.QUIVER
  65.  
  66.       MakeHauntableLaunch(inst)
  67.  
  68.     end
  69.     return inst
  70.        
  71.   end
  72.  
  73.   inst:DoTaskInTime(0, function(inst)
  74.       inst.replica.container.WidgetSetup = ARCHERYFUNCS.MyWidgetSetup_replica
  75.       inst.replica.container:WidgetSetup(inst.prefab, quiverwidgetparams)
  76.  
  77.       local origReplicaOpen = inst.replica.container.Open
  78.       inst.replica.container.Open = function(self, doer)
  79.         origReplicaOpen(self, doer)
  80.         SpecialQuiverWidgetFn(self, doer)
  81.       end
  82.     end)
  83.  
  84.   return inst
  85.  
  86. end
Advertisement
Add Comment
Please, Sign In to add comment