Rocky's Sorrow
Lvl: 1 Ensemble CD: 60 sec Skill Delay: 2 sec SP: 200

Ensemble Skill, prevents all opponents within 5m from being able to use skills (Only effective against enemies in the wild),performance lasts 60 sec. Uses 18 SP each sec,must be performed with other Bards in the team who have also learned this skill,Skill Lv. is rounded down (The Skill Lv. of both Bard and Dancer's/2), must have a Whip-type weapon equipped

Aesir

• Rocky’s Sorrow - Curse Reduces ASPD of enemies affected by [Rocky's Sorrow] Ensemble by 5% (Bard Dancer’s Ensemble Skill, Aeisr Monument effects can stack)

Enemy 6

function CommonFun.calcBuff_6(srcUser, targetUser, a, b, c, d, lv)
  if srcUser == nil or targetUser == nil then
    return 0
  end
  local MaxHp = targetUser:GetProperty("MaxHp")
  local A = MaxHp * (a + c) + b
  if 0 < A or a == 0 then
    return A
  end
  if srcUser:GetNpcID() == 0 and targetUser:HasBuffID(160000_BOSS_IMMUNE_EFFECT_:MAX_STACK_0) and targetUser.boss == false and targetUser.mini == false then
    return 0
  end
  if srcUser:GetNpcID() == 0 and (targetUser.boss or targetUser.mini) then
    local Vit = srcUser:GetProperty("Vit")
    local MAtk = srcUser:GetProperty("MAtk")
    local MAtkPer = srcUser:GetProperty("MAtkPer")
    local Refine = srcUser:GetProperty("Refine")
    local MRefine = srcUser:GetProperty("MRefine")
    local Def2 = targetUser:GetProperty("Def")
    local DefPer2 = targetUser:GetProperty("DefPer")
    local MDef2 = targetUser:GetProperty("MDef")
    local MDefPer2 = targetUser:GetProperty("MDefPer")
    local Vit2 = targetUser:GetProperty("Vit")
    local VitPer2 = targetUser:GetProperty("VitPer")
    local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
    local RefineDamReduc = targetUser:GetProperty("RefineDamReduc")
    local Int2 = targetUser:GetProperty("Int")
    local IntPer2 = targetUser:GetProperty("IntPer")
    local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
    local RefineMDamReduc = targetUser:GetProperty("RefineMDamReduc")
    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 MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
    local IgnoreDef = srcUser:GetProperty("IgnoreDef")
    if 1 <= IgnoreDef then
      IgnoreDef = 1
    end
    local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
    if 1 <= IgnoreMDef then
      IgnoreMDef = 1
    end
    local raceparam = 1
    local srcRace = srcUser.race
    local targetRace = targetUser.race
    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
      targetRace = 2
    end
    if targetUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and targetUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
    elseif targetUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
      srcRace = 2
    end
    if nil == CommonFun.RaceProps[targetRace] then
      return 0
    end
    if nil == CommonFun.RaceProps[srcRace] then
      return 0
    end
    local raceInc = srcUser:GetProperty(CommonFun.RaceProps[targetRace][1])
    local raceRed = targetUser:GetProperty(CommonFun.RaceProps[srcRace][2])
    local raceparam = 1 + raceInc - raceRed
    if raceparam <= 0.1 then
      raceparam = 0.1
    end
    local MAtkFinal = MAtk * (1 + MAtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * raceparam
    local AtkFinal = Atk * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * raceparam
    if MAtkFinal <= AtkFinal then
      local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
      A = (AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * a * 100 * (1 - RefineDamReduc) * (1 + DamIncrease) - Vit2 * (1 + VitPer2) + b
    else
      local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
      A = (MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * a * 100 * (1 - RefineMDamReduc) * (1 + MDamIncrease) - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2) + b
    end
  end
  local AttrFunction = srcUser:GetProperty("AttrFunction")
  local bitfunc = CommonFun.getBits(AttrFunction)
  if (targetUser.boss or targetUser.mini or targetUser.changelinepunish) and (targetUser.zoneType == 1 or targetUser.zoneType == 22) and targetUser.noPunishBoss == false and bitfunc[CommonFun.AttrFunction.JustInViceZone] == 1 and targetUser.isBossFromBranch == false then
    A = 0
  end
  if targetUser.boss and targetUser.zoneType == 22 and CommonFun.CheckStormBossMiss(targetUser, srcUser) then
    A = 0
  end
  if targetUser:GetNpcID() == 30043_YEAR or targetUser:GetNpcID() == 280303_WILDNESS_SPIRIT_BEAST or targetUser:GetNpcID() == 56008_GOMORA or targetUser:GetNpcID() == 56009_BALTAN or targetUser:GetNpcID() == 56010_GOLZA or targetUser:GetNpcID() == 56011_BEMSTAR or targetUser:GetNpcID() == 56012_ELEKING or targetUser:GetNpcID() == 56013_KING_JOE then
    A = -1
  end
  if targetUser:DamageAlways1() then
    A = -1
  end
  return A
end

Enemy

{
  "id": 113,
  "BuffName": "Guardian Aura",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      114
    ],
    "type": "AddBuff"
  }
}

Enemy

{
  "id": 114,
  "BuffName": "Guardian Aura",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  }
}

Enemy

{
  "id": 143,
  "BuffName": "Proposal buff",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      144,
      145
    ],
    "type": "AddBuff"
  }
}

Enemy

{
  "id": 144,
  "BuffName": "Proposal buff",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "type": "LoseTarget",
    "no_mvp": 1,
    "no_mini": 1
  }
}

Enemy

{
  "id": 145,
  "BuffName": "Proposal buff",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "type": "AttrChange",
    "AttrEffect2": [
      9
    ]
  }
}

Enemy

{
  "id": 173,
  "BuffDesc": "Sage Time",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Player stats after switching lines",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "AttrFunction": 4
  }
}

Enemy

{
  "id": 203,
  "BuffName": "Arrow Shower (quest)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      204,
      205
    ],
    "Odds": 100,
    "type": "AddBuff"
  }
}

Enemy

{
  "id": 204,
  "BuffName": "Arrow Shower (quest special effect)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffStateID": 204
}

Enemy

{
  "id": 205,
  "BuffName": "Arrow Shower Damage (quest)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      206
    ],
    "Odds": 100,
    "type": "AddBuff"
  }
}

Enemy

{
  "id": 206,
  "BuffName": "Arrow Shower Damage (quest)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "Hp": {
      "a": -0.2,
      "b": 0,
      "type": 6
    },
    "type": "HpReduce"
  }
}

Enemy

{
  "id": 300,
  "BuffDesc": "Turtle Petrification",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "301",
  "BuffRate": {
    "Odds": 100
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "MoveSpd": -0.5
  },
  "BuffStateID": 85110
}

Enemy

{
  "id": 1340,
  "BuffDesc": "Size control decreases by 50%",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Normal Precision Stone",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "ShapeAtkPer": 0.5
  }
}

Enemy

{
  "id": 1351,
  "BuffName": "Expert Precision Stone (delete Precision Stone)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      1340
    ],
    "type": "DelBuff"
  }
}

Enemy

{
  "id": 1360,
  "BuffDesc": "Fire Dmg Taken -50%",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Fire Resist Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeFireDamPer": 0.5
  }
}

Enemy

{
  "id": 1361,
  "BuffName": "Fire Resist Alloy (delete other alloys)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      1370,
      1380,
      1390,
      1400,
      1410,
      1420,
      1430
    ],
    "type": "DelBuff"
  }
}

Enemy

{
  "id": 1370,
  "BuffDesc": "Water Dmg Taken -50%",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Ice Resist Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeWaterDamPer": 0.5
  }
}

Enemy

{
  "id": 1380,
  "BuffDesc": "Earth Dmg Taken -50%",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Earth Resist Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeEarthDamPer": 0.5
  }
}

Enemy

{
  "id": 1390,
  "BuffDesc": "Wind Dmg Taken -50%",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Hurricane Resist Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeWindDamPer": 0.5
  }
}

Enemy

{
  "id": 1400,
  "BuffDesc": "Immunize all fire damage",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Fire Immunity Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeFireDamPer": 1
  }
}

Enemy

{
  "id": 1410,
  "BuffDesc": "Immunize all water damage",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Ice Immunity Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeWaterDamPer": 1
  }
}

Enemy

{
  "id": 1411,
  "BuffName": "Ice Immunity Alloy (delete other alloys)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "id": [
      1360,
      1370,
      1380,
      1390,
      1400,
      1420,
      1430
    ],
    "type": "DelBuff"
  }
}

Enemy

{
  "id": 1420,
  "BuffDesc": "Immunize all earth damage",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Earth Immunity Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeEarthDamPer": 1
  }
}

Enemy

{
  "id": 1430,
  "BuffDesc": "Immunize all wind damage",
  "BuffIcon": "skillbuff_commonbuff",
  "BuffName": "Hurricane Immunity Alloy",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "IconType": 1,
  "BuffEffect": {
    "type": "AttrChange",
    "BeWindDamPer": 1
  }
}

Enemy

{
  "id": 10000,
  "BuffName": "Create character HP Regen",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "Hp": {
      "type": 5
    },
    "type": "HpRecover",
    "value": 0,
    "disable": 1
  }
}

Enemy

{
  "id": 10001,
  "BuffName": "Create character MP restore",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "Sp": {
      "type": 7
    },
    "type": "SpRecover",
    "value": 0,
    "disable": 1
  }
}

Enemy

{
  "id": 10002,
  "BuffName": "Training Dummy HP Regen",
  "BuffRate": {
    "Odds": 100
  },
  "Condition": {
    "type": "BeAttack",
    "all_skill": 1
  },
  "BuffEffect": {
    "id": [
      10003
    ],
    "type": "AddBuff"
  }
}

Enemy

{
  "id": 10003,
  "BuffName": "Training Dummy HP Regen",
  "BuffRate": {
    "Odds": 100
  },
  "BuffType": {
    "isgain": 1,
    "isdisperse": 0
  },
  "BuffEffect": {
    "Hp": {
      "a": 1,
      "b": 0,
      "type": 6
    },
    "type": "HpRecover"
  }
}

Enemy

{
  "id": 90000,
  "BuffName": "Improve Concentration (Increase Agility, Dexterity)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "Agi": {
      "a": 1,
      "b": 0,
      "type": 1
    },
    "Dex": {
      "a": 1,
      "b": 0,
      "type": 1
    },
    "type": "AttrChange"
  }
}

Enemy

{
  "id": 90001,
  "BuffName": "Improve Concentration (increase Luck, Flee, Hit)",
  "BuffRate": {
    "Odds": 100
  },
  "BuffEffect": {
    "Agi": 10,
    "Cri": {
      "a": 1,
      "type": 61
    },
    "Dex": 10,
    "Luk": {
      "a": 1,
      "type": 61
    },
    "type": "AttrChange",
    "CriDamPer": {
      "a": 0.01,
      "type": 61
    }
  }
}

Enemy

{
  "id": 90002,
  "BuffName": "Improve Concentration (Stand still)",
  "BuffRate": {
    "Odds": 100
  },
  "Condition": {
    "type": "MoveLimit",
    "duration": 1,
    "limit_distance": 0
  },
  "BuffEffect": {
    "type": "AttrChange",
    "NormalAtkDam": {
      "a": 115,
      "b": 0.03,
      "c": -0.3,
      "type": 8
    }
  }
}

Enemy

{
  "id": 118770,
  "BuffDesc": "Prohibit Skill Usage",
  "BuffIcon": "skillbuff_1380001",
  "BuffName": "Rocky's Sorrow",
  "BuffRate": {
    "Odds": {
      "a": 0,
      "b": 100,
      "type": 3070
    }
  },
  "IconType": 2,
  "BuffEffect": {
    "id": [
      1361,
      1411,
      20002,
      50038,
      20004,
      90000,
      90001,
      90002,
      13,
      73,
      113,
      300,
      143,
      173,
      203,
      326,
      372,
      448,
      469,
      470,
      1312,
      1343,
      1347,
      1351,
      1355,
      1360,
      1397,
      1410,
      1446,
      10000,
      10001,
      10002
    ],
    "type": "LimitSkill",
    "IgnoreTarget": 1
  },
  "BuffStateID": 96040
}

Enemy

{
  "id": 118771,
  "BuffName": "Rocky's Sorrow (Decrease ASPD)",
  "BuffRate": {
    "Odds": {
      "a": 0,
      "b": 100,
      "type": 3070
    }
  },
  "BuffEffect": {
    "type": "AttrChange",
    "SkillASPD": {
      "a": 0,
      "b": 0,
      "c": 102032,
      "d": -0.05,
      "type": 3253
    },
    "calc_once": 1
  }
}

Formula

{
  "CD": 60,
  "id": 1380001,
  "Buff": {
    "enemy": [
      118770,
      118771
    ]
  },
  "Cost": 1,
  "Desc": [
    {
      "id": 1380000,
      "params": [
        18
      ]
    }
  ],
  "Icon": "skill_1380001",
  "Camps": "Friend|Enemy",
  "Level": 1,
  "Logic": "SkillSelfRange",
  "SE_bg": "Skill/RokisWeil",
  "DescId": "##170704",
  "EndAct": "use_magic2_Whip",
  "NameZh": "##158344",
  "DelayCD": 2,
  "Fire_EP": 3,
  "Pvp_buff": {
    "self": [
      118770
    ],
    "team": [
      118770
    ],
    "enemy": [
      118770,
      118771
    ],
    "friend": [
      118770
    ]
  },
  "AttackAct": [
    "use_magic2_Whip"
  ],
  "Attack_EP": 0,
  "Contidion": {
    "skillid": 1378005
  },
  "SE_attack": "Skill/attack2",
  "SkillCost": {
    "sp": 200
  },
  "SkillType": "Ensemble",
  "Target_EP": 3,
  "Logic_Param": {
    "count": 60,
    "range": 5,
    "cost_sp": 18,
    "interval": 1,
    "no_select": 1,
    "range_num": 15,
    "SkillStatus": {
      "time": 60
    },
    "isCountTrap": 1,
    "trap_effect": "RokisWeil_buff2,LowRange_B",
    "weapon_type": [
      260,
      270
    ],
    "partner_skillid": 1430,
    "fieldarea_cannot_immune": 1
  },
  "Launch_Range": 0,
  "PreCondition": {
    "ProType": 9
  }
}