- 20 Сен 2014
- 440
- 1
- Проект
- Survival in Taiga XE
Сделал вроде всё правильно, но абилка работает не совсем как надо, суть абилки - реген маны в секунду допустим утром абилка регенет 0,6 мп а ночью 1,2. На данный момент абилка регенет утром 0,6 и ночью
Пробовал после применения RemoveModifierByName в lua
Код:
"testmp"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityTextureName" "skill_1"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"mana_per_second_day" "0.6"
}
"02"
{
"var_type" "FIELD_INTEGER"
"mana_per_second_night" "1.2"
}
}
"Modifiers"
{
"mana_regen_datadriven"
{
"IsHidden" "1"
"Passive" "1"
"ThinkInterval" "1"
"OnIntervalThink"
{
"RunScript"
{
"ScriptFile" "mana_regen.lua"
"Function" "ManaInSec"
}
}
}
"mana_regen_day"
{
"Passive" "1"
"IsPurgable" "0"
"IsHidden" "1"
"Properties"
{
"MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE" "%mana_per_second_day"
}
}
"mana_regen_night"
{
"Passive" "1"
"IsPurgable" "0"
"IsHidden" "1"
"Properties"
{
"MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE" "%mana_per_second_night"
}
}
}
}
Код:
function ManaInSec(keys)
local caster = keys.caster
local target = keys.target
local ability = keys.ability
if GameRules:IsDaytime() then
ability:ApplyDataDrivenModifier(keys.caster, keys.caster, "mana_regen_day", {duration = 1})
elseif not GameRules:IsDaytime() then
ability:ApplyDataDrivenModifier(keys.caster, keys.caster, "mana_regen_night", {duration = 1})
end
end
Последнее редактирование модератором: