- 7 Май 2016
- 75
- 0
Кто-нибудь может ответить почему данный модифиер не добавляет атаку:
На герое отображается, но урона не дает, проверял разными способами, изменял значения на огромные числа, а также принтом:
Выводит стандартный урон героя. Хотя судя по модифиеру, должен добавить 50% от текущей атаки.
Также пробовал со скоростью бега -> таже проблема.
У меня есть еще один луа модифиер, который вешается со старта на каждом герое:
Но он работает отлично.
Добавляю еще одну проперти в модифиер:
В статусе модифиер продолжает отображатся, но и хп не дает. Беда.
Новая информация: Перезапустил тулзы, ничего не менял, теперь когда накладываю этот модидфиер на героя, тулзы просто зависают , без какой либо ошибки.
Код:
modifier_damage_two = class({})
function modifier_damage_two:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
}
return funcs
end
function modifier_damage_two:GetModifierPreAttack_BonusDamage()
if IsServer() then
local hero_damage = self:GetParent():GetAverageTrueAttackDamage()
local bonus_damage = math.ceil(hero_damage * 0.5)
return bonus_damage
end
end
function modifier_damage_two:GetAttributes()
return MODIFIER_ATTRIBUTE_PERMANENT
end
function modifier_damage_two:IsHidden()
return false
end
function modifier_damage_two:IsPurgable()
return false
end
На герое отображается, но урона не дает, проверял разными способами, изменял значения на огромные числа, а также принтом:
Код:
local damage = hHero:GetAverageTrueAttackDamage()
DebugPrint(damage)
Также пробовал со скоростью бега -> таже проблема.
У меня есть еще один луа модифиер, который вешается со старта на каждом герое:
Код:
modifier_custom_stats = class({})
function modifier_custom_stats:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE,
MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT,
MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT,
MODIFIER_PROPERTY_EVASION_CONSTANT,
MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS,
MODIFIER_PROPERTY_HEALTH_BONUS,
MODIFIER_PROPERTY_MANA_BONUS,
MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE,
MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK,
}
return funcs
end
function modifier_custom_stats:GetModifierBaseAttack_BonusDamage()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local str = GameMode.HERO_STATS_TABLE[TableInt][1]
local bonus_damage = str * 1.0
return bonus_damage
end
end
function modifier_custom_stats:GetModifierManaBonus()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local int = GameMode.HERO_STATS_TABLE[TableInt][3]
local bonus_mana = int * 7
return bonus_mana
end
end
function modifier_custom_stats:GetModifierHealthBonus()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local def = GameMode.HERO_STATS_TABLE[TableInt][5]
local bonus_hp = def * 5
return bonus_hp
end
end
function modifier_custom_stats:GetModifierPreAttack_CriticalStrike()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local str = GameMode.HERO_STATS_TABLE[TableInt][1]
local agi = GameMode.HERO_STATS_TABLE[TableInt][2]
local crit_mult = str * 0.5
local crit_number = RandomInt(1,100)
local crit_chance = 4 + agi * 0.06
if crit_number <= crit_chance then
return crit_mult + 110
end
end
end
function modifier_custom_stats:GetModifierPhysical_ConstantBlock()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local def = GameMode.HERO_STATS_TABLE[TableInt][5]
local int = GameMode.HERO_STATS_TABLE[TableInt][3]
local block_damage = def * 2
local block_number = RandomInt(1,100)
local block_chance = 4 + int * 0.09
if block_number <= block_chance then
return block_damage + 10
end
end
end
function modifier_custom_stats:GetModifierMoveSpeedBonus_Constant()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local spd = GameMode.HERO_STATS_TABLE[TableInt][4]
local ms_bonus = spd * 0.55
return ms_bonus
end
end
function modifier_custom_stats:GetModifierAttackSpeedBonus_Constant()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local spd = GameMode.HERO_STATS_TABLE[TableInt][4]
local as_bonus = spd * 0.42
return as_bonus
end
end
function modifier_custom_stats:GetModifierEvasion_Constant()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local agi = GameMode.HERO_STATS_TABLE[TableInt][2]
local evasion = 5 + agi * 0.07
return evasion
end
end
function modifier_custom_stats:GetModifierPhysicalArmorBonus()
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local TableInt = player + 1
local def = GameMode.HERO_STATS_TABLE[TableInt][5]
local armor = def * 0.08
return armor
end
end
function modifier_custom_stats:GetAttributes()
return MODIFIER_ATTRIBUTE_PERMANENT
end
function modifier_custom_stats:IsHidden()
return true
end
function modifier_custom_stats:IsPurgable()
return false
end
Добавляю еще одну проперти в модифиер:
Код:
function modifier_damage_two:GetModifierHealthBonus()
if IsServer() then
local health = 500
return health
end
end
Новая информация: Перезапустил тулзы, ничего не менял, теперь когда накладываю этот модидфиер на героя, тулзы просто зависают , без какой либо ошибки.
Последнее редактирование модератором: