Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. LinkLuaModifier("modifier_item_mystic_ring", "items/item_mystic_ring" , 0)
  2.  
  3. item_mystic_ring = class({})
  4.  
  5. function item_mystic_ring:GetIntrinsicModifierName() return "modifier_item_mystic_ring" end
  6.  
  7.  function item_mystic_ring:OnOwnerDied()
  8.     if IsServer() then
  9.         local mod = self:GetCaster():FindModifierByName("modifier_item_mystic_ring")
  10.        
  11.         if mod then
  12.             mod:SetStackCount(mod:GetStackCount() / 2)
  13.         end
  14.     end
  15. end
  16.  
  17. modifier_item_mystic_ring = class({})
  18.  
  19. function modifier_item_mystic_ring:IsPurgable() return false end
  20. function modifier_item_mystic_ring:IsHidden()   return false end
  21. function modifier_item_mystic_ring:RemoveOnDeath() return false end
  22. function modifier_item_mystic_ring:DeclareFunctions()
  23.     return {
  24.         MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE,
  25.         MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE,
  26.         MODIFIER_PROPERTY_STATS_INTELLECT_BONUS,
  27.         MODIFIER_PROPERTY_STATS_AGILITY_BONUS,
  28.         MODIFIER_PROPERTY_STATS_STRENGTH_BONUS,
  29.         MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS,
  30.         MODIFIER_PROPERTY_MANA_REGEN_CONSTANT,
  31.         MODIFIER_PROPERTY_MANACOST_PERCENTAGE,
  32.         MODIFIER_EVENT_ON_HERO_KILLED,
  33.     }
  34. end
  35.  
  36.  
  37. function modifier_item_mystic_ring:GetModifierSpellAmplify_Percentage() return self:GetAbility():GetSpecialValueFor("bonus_amp") end
  38. function modifier_item_mystic_ring:GetModifierBonusStats_Strength() return self:GetAbility():GetSpecialValueFor("bonus_strength") end
  39. function modifier_item_mystic_ring:GetModifierBonusStats_Intellect() return self:GetAbility():GetSpecialValueFor("bonus_intellect") end
  40. function modifier_item_mystic_ring:GetModifierBonusStats_Agility() return self:GetAbility():GetSpecialValueFor("bonus_agility") end
  41. function modifier_item_mystic_ring:GetModifierPercentageManacost() return self:GetAbility():GetSpecialValueFor("bonus_mana_cost_reduction") end
  42. function modifier_item_mystic_ring:GetModifierPhysicalArmorBonus() return self:GetAbility():GetSpecialValueFor("bonus_armor") end
  43. function modifier_item_mystic_ring:GetModifierConstantManaRegen() return self:GetAbility():GetSpecialValueFor("bonus_mana_regen") end
  44. function modifier_item_mystic_ring:GetModifierPercentageCooldown() return self:GetStackCount() * (self:GetAbility():GetSpecialValueFor("bonus_cooldown_reduction_per_soul") or 1) end
  45. function modifier_item_mystic_ring:GetModifierSpellAmplify_Percentage() return self:GetStackCount() * (self:GetAbility():GetSpecialValueFor("bonus_amp_per_soul") or 1) end
  46. function modifier_item_mystic_ring:OnHeroKilled(params)
  47.     if params.target:GetTeam() ~= self:GetParent():GetTeam() then
  48.         if params.attacker == self:GetParent() then
  49.             if self:GetStackCount() < 10 then
  50.             self:SetStackCount(self:GetStackCount() + 1)
  51.             end
  52.         end
  53.     end
  54. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement