Skill #23607001

Impact Tentacle

Summons a single Tentacle on one random side of the deck, which will unleash an impact skill after several seconds, dealing ample damage, which will be evenly spread among all hit players. If this skill doesn't hit the player, it will deal massive damage in a major area.

Level 1

##23607001

Cost 0 | Attack

ID 23607001

Formulas & functions

CommonFun links

冲击触手Lv 1 | damage

Formula source

function CommonFun.calcDamage_8047(srcUser, targetUser, params, damageParam, logger)
  local Str = srcUser:GetProperty("Str")
  local Dex = srcUser:GetProperty("Dex")
  local Luk = srcUser:GetProperty("Luk")
  local Atk = srcUser:GetProperty("Atk")
  local AtkPer = srcUser:GetProperty("AtkPer")
  local DamIncrease = srcUser:GetProperty("DamIncrease")
  local IgnoreDef = 0
  local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
  local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
  if targetUser.boss or targetUser.mini then
    IgnoreDef = IgnoreDef1
  else
    IgnoreDef = IgnoreDef1 + IgnoreDef2
  end
  if 1 <= IgnoreDef then
    IgnoreDef = 1
  end
  local Refine = srcUser:GetProperty("Refine")
  local AttrEffect = targetUser:GetProperty("AttrEffect")
  local bits = CommonFun.getBits(AttrEffect)
  local Def2 = targetUser:GetProperty("Def")
  local DefPer2 = targetUser:GetProperty("DefPer")
  local Vit2 = targetUser:GetProperty("Vit")
  local VitPer2 = targetUser:GetProperty("VitPer")
  local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
  local LongRangeDamReduc2 = targetUser:GetProperty("LongRangeDamReduc")
  local RefineDamReduc = targetUser:GetProperty("RefineDamReduc")
  local damChangePer = damageParam.damChangePer
  local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
  local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
  local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
  local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
  local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
  local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
  local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
  local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
  local BaseAtk = Dex * 2 + math.floor(Dex * Dex / 100) + math.floor(Str / 5) + math.floor(Luk / 5)
  local AtkFinal = (Atk * (1 + AtkPer) * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
  local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
  local count = params.hitedCount
  local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - LongRangeDamReduc2) - Vit2 * (1 + VitPer2)) / count
  if A <= 1 then
    return 1
  end
  return A
end

Skill JSON (Level 1)

{
  "id": 23607001,
  "NameZh": "冲击触手",
  "Level": 1,
  "Icon": "skill_10025001",
  "Cost": 0,
  "Desc": [
    {
      "id": 23607001,
      "params": [
        100
      ]
    }
  ],
  "SkillType": "Attack",
  "Camps": "Enemy",
  "Launch_Range": 99,
  "Fire_EP": 3,
  "Target_EP": 3,
  "Attack_EP": 2,
  "Logic": "SkillForwardRect",
  "Logic_Param": {
    "current_dir": 1,
    "distance": 20,
    "forward_offset": 0,
    "immune_taunt": 1,
    "range_num": 12,
    "width": 16
  },
  "Damage": [
    {
      "damChangePer": 100,
      "elementparam": 3,
      "type": 8047
    }
  ],
  "DamTime": {
    "type": 1,
    "value": 1
  },
  "AttackAct": [
    "attack"
  ],
  "description": {
    "chinesesimplified": "##23607001",
    "english": "##23607001",
    "german": "##23607001",
    "portuguese": "##23607001",
    "spanish": "##23607001"
  }
}