-------------------------------------------------------------------------------
AuraAbility = class({})
function AuraAbility:GetAttributes()
return MODIFIER_ATTRIBUTE_MULTIPLE + MODIFIER_ATTRIBUTE_PERMANENT
end
function AuraAbility:IsHidden()
return false
end
function AuraAbility:IsPurgable()
return false
end
function AuraAbility:IsAura()
return true
end
function AuraAbility:GetAuraRadius()
return self.AOE
end
function AuraAbility:GetAuraSearchType()
return DOTA_UNIT_TARGET_BASIC + DOTA_UNIT_TARGET_HERO
end
function AuraAbility:GetAuraSearchTeam()
return DOTA_UNIT_TARGET_TEAM_FRIENDLY
end
function AuraAbility:GetAuraSearchFlags()
return DOTA_UNIT_TARGET_FLAG_INVULNERABLE
end
function AuraAbility:GetAuraDuration()
return 1
end
function AuraAbility:GetModifierAura()
return "R_EarthAura"
end
function AuraAbility:OnCreated(kv)
if IsServer() then
local x = self:GetCaster():FindAbilityByName("Shaman_R_EarthSkill")
self.AOE = x:GetLevelSpecialValueFor( "AOE",x:GetLevel() )
end
end
function AuraAbility:GetEffectAttachType()
return PATTACH_POINT_FOLLOW
end
function AuraAbility:GetEffectName()
return "particles/frostivus_gameplay/wraith_king_hellfire_eruption_tell.vpcf"
end
--------------------
--------------------
--------------------
R_EarthAura= class({})
function R_EarthAura:IsHidden()
return false
end
function R_EarthAura:OnCreated ()
if IsServer() then
local x = self:GetCaster():FindAbilityByName("Shaman_R_EarthSkill")
self.manaRestore = x:GetLevelSpecialValueFor( "ManaRestore",x:GetLevel() )/10000
self.heal = x:GetLevelSpecialValueFor( "Heal",x:GetLevel() ) /10000
self.HP = self:GetParent():GetMaxHealth()*self.heal
self.MP = self:GetParent():GetMaxMana() * self.manaRestore
self.AS = x:GetLevelSpecialValueFor( "AS",x:GetLevel() )
self.arm = x:GetLevelSpecialValueFor( "arm",x:GetLevel() )
self.res = x:GetLevelSpecialValueFor( "res",x:GetLevel() )
-- print ( "AS = ",self.AS )
end
end
function R_EarthAura:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS,
MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS,
MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT,
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS ,
MODIFIER_PROPERTY_MANA_REGEN_CONSTANT ,
MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT,
}
return funcs
end
function R_EarthAura:GetModifierConstantManaRegen ( params )
if self:GetParent():GetMana() >= 0 and self.MP ~= nil then
self:GetParent():SetMana( self:GetParent():GetMana() + self.MP)
end
return self.MP
end
function R_EarthAura:GetModifierConstantHealthRegen ( params )
if self.HP ~= nil then
self:GetParent():Heal(self.HP, self:GetCaster())
end
return self.HP
end
function R_EarthAura:GetModifierAttackSpeedBonus_Constant ( params )
return self.AS
end
function R_EarthAura:GetModifierPhysicalArmorBonus ( params )
-- print(" self.GetParent = ", self:GetParent():GetName())
-- print(" self.arm = ", self.arm)
-- return 11
return self.arm
end
function R_EarthAura:GetActivityTranslationModifiers( params )
print("GetActivityTranslationModifiers")
return "zzz"
end
function R_EarthAura:GetModifierMagicalResistanceBonus ( params )
return self.res
end
function R_EarthAura:GetEffectAttachType()
return PATTACH_OVERHEAD_FOLLOW
end
function R_EarthAura:GetEffectName()
return "particles/econ/items/earth_spirit/earth_spirit_ti6_boulder/espirit_ti6_rollingboulder_gather.vpcf"
end
function R_EarthAura:IsDebuff()
return false
end
function R_EarthAura:GetTexture()
return "Shaman/Shaman_R_EarthAura"
end
function R_EarthAura:GetAuraSearchType()
return DOTA_UNIT_TARGET_BASIC + DOTA_UNIT_TARGET_HERO
end
function R_EarthAura:GetAuraSearchTeam()
return DOTA_UNIT_TARGET_TEAM_FRIENDLY
end
function R_EarthAura:GetAuraSearchFlags()
return DOTA_UNIT_TARGET_FLAG_INVULNERABLE
end
-----------------
-----------------
-----------------
-----------------
-----------------
zzz= class({})
function zzz:IsHidden()
return false
end
function zzz:OnCreated ()
print ( "zzzzzz = " )
if IsServer() then
print ( "zzzzzz = " )
end
end
R_EarthAuraAncient= class({})
function R_EarthAuraAncient:IsHidden()
return false
end
function R_EarthAuraAncient:OnCreated ()
print ( "zzzzzz = " )
if IsServer() then
print ( "zzzzzz = " )
end
end
function R_EarthAuraAncient:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT,
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE,
MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE,
}
return funcs
end
function R_EarthAuraAncient:GetModifierAttackSpeedBonus_Constant()
return 150
end
function R_EarthAuraAncient:GetModifierPreAttack_BonusDamage()
return 200
end
function R_EarthAuraAncient:GetModifierIncomingDamage_Percentage()
if 1 then
return -50
else
return 0
end
end