
Touch of Heal
Lvl: 5
Heal
Skill Delay: 1 sec
Range: 9
Restores ( ( (BaseLv+M.Atk/100) ×25) ) HP to master and self. When the targets are undead monsters, the skill deals 100% Healing /2) Holy M.Dmg
Lvl: 4
Heal
Skill Delay: 1 sec
Range: 9
• Restores ( ( (BaseLv+M.Atk/100) ×20) ) HP to master and self. When the targets are undead monsters, the skill deals 100% Healing /2) Holy M.Dmg
Lvl: 3
Heal
Skill Delay: 1 sec
Range: 9
• Restores ( ( (BaseLv+M.Atk/100) ×15) ) HP to master and self. When the targets are undead monsters, the skill deals 100% Healing /2) Holy M.Dmg
Lvl: 2
Heal
Skill Delay: 1 sec
Range: 9
• Restores ( ( (BaseLv+M.Atk/100) ×10) ) HP to master and self. When the targets are undead monsters, the skill deals 100% Healing /2) Holy M.Dmg
Lvl: 1
Heal
Skill Delay: 1 sec
Range: 9
• Restores ( ( (BaseLv+M.Atk/100) ×5) ) HP to master and self. When the targets are undead monsters, the skill deals 100% Healing /2) Holy M.Dmg
Aesir
• Touch of Heal -Red Homunculus - Lif's [Touch of Heal] Healing effect +15%
Formula
function CommonFun.calcDamage_6104(srcUser, targetUser, params, damageParam, logger)
local BaseLv = srcUser.BaseLv
local HealEncPer = srcUser:GetProperty("HealEncPer")
local MAtk = srcUser:GetProperty("MAtk")
local enemy = srcUser:IsEnemy(targetUser)
local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
local Master = srcUser:GetMasterUser()
local RuneDamage = 1
if Master ~= nil then
local Num1 = Master:GetRunePoint(130050_AESIR_HOMUNCULUS_LIF_S_TOUCH_OF_HEAL_HEALING_EFFECT_15)
RuneDamage = 1 + 0.15 * Num1
end
local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
local targetDefElement = targetUser:GetProperty("DefAttr")
local BeHealEncPer2 = targetUser:GetProperty("BeHealEncPer")
local race2 = targetUser.race
if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
race2 = 3
end
if srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and srcUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
elseif srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
race2 = 2
end
local DefAttr2 = targetUser:GetProperty("DefAttr")
local AttrEffect = targetUser:GetProperty("AttrEffect2")
local bits = CommonFun.getBits(AttrEffect)
local damChangePer = damageParam.damChangePer
local damChangePer1 = damageParam.damChangePer1
local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
local A = ((math.floor(BaseLv + MAtk / 100) * damChangePer + 100) * (1 + HealEncPer) * (1 + BeHealEncPer2) + damChangePer1) * -1 * RuneDamage
local HealtoDam = targetUser:GetBuffLevel(129100_CURE_BARRIER_:MAX_STACK_0)
local DamRatio = 1
if targetUser:HasBuffID(129100_CURE_BARRIER_:MAX_STACK_0) then
DamRatio = -0.1 * HealtoDam
end
local HealReduce = targetUser:GetBuffLevel(136500_10783_:MAX_STACK_0)
if targetUser:HasBuffID(136500_10783_:MAX_STACK_0) then
DamRatio = 1 - (0.2 + 0.03 * HealReduce)
end
if enemy then
if DefAttr2 == 9 then
return A / 2 * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 * -1 * (1 + MDamIncrease)
else
return 0, 0
end
elseif DefAttr2 == 9 or bits[CommonFun.AttrEffect.PoisinDamNoUse] == 1 then
return -1
else
return A * DamRatio
end
end
Formula
{
"id": 436005,
"Cost": 1,
"Desc": [
{
"id": 436000,
"params": [
25,
100
]
}
],
"Icon": "skill_436001",
"Camps": "Friend|Enemy",
"Level": 5,
"Logic": "SkillNone",
"Damage": [
{
"type": 6104,
"damChangePer": 25,
"elementparam": 6,
"damChangePer1": 0
}
],
"DescId": "##171086",
"NameZh": "##169854",
"DamTime": {
"type": 1,
"value": 1
},
"DelayCD": 1,
"Fire_EP": 3,
"SE_cast": "Common/Magic_cast",
"AttackAct": [
"use_magic"
],
"Attack_EP": 0,
"SkillType": "Heal",
"Target_EP": 0,
"Logic_Param": {
"include_self": 1,
"select_target": 1
},
"Launch_Range": 9,
"AutoCondition": [
{
"type": 5,
"priority": 1,
"no_target": 1,
"teamvalue": 70
},
{
"type": 3,
"value": 70,
"priority": 1,
"no_target": 1
}
],
"NoTargetAutoCast": 1
}