FareverDB

Sink to the Bottom

Fists_WaterUppercut_C in Skills

Delivers a strong punch dealing 30% Dexterity + 30% Intellect Physical to an enemy and reduces the cooldown of one random [WeaponSkill] by 0.5.

id
Fists_WaterUppercut_C
type
4
flags
0
nature
1
script
function onFirstHit(hit) { if( rank >= 3 && checkProba(vars.chance)) { playStep(Steps.HitProc, hit.target); } var randomWeaponSkill = owner.skills.filter(s -> s.isWeaponSkill() && s.isInCooldown()); if (randomWeaponSkill.length > 0) { var random = pickRandom(randomWeaponSkill); random.reduceCooldown(vars.dur1); } } function onDamageEval(hit) { if (rank >= 2) { hit.critDmgMult += vars.var1; } }
status
2
duration
0.7
Raw data
{
  "id": "Fists_WaterUppercut_C",
  "gfx": {
    "x": 4,
    "y": 0,
    "file": "UI/icons/atlas_weapon_Fists_96PX.png",
    "size": 48,
    "width": 2,
    "height": 2
  },
  "anim": {
    "ref": "AttackCombo",
    "blend": 0.1,
    "speed": 1,
    "startFrame": 0
  },
  "type": 4,
  "vars": {
    "dur1": 0.5,
    "var1": 0.25,
    "chance": 0.25
  },
  "flags": 0,
  "props": {
    "hit": {
      "camShake": 10
    }
  },
  "steps": [
    {
      "on": 0,
      "type": 14,
      "props": {},
      "duration": 0.4
    },
    {
      "on": 0,
      "type": 8,
      "delay": 0.1,
      "props": {
        "move": {
          "direction": [
            0
          ],
          "dashSmoothing": 1
        }
      },
      "range": 2,
      "duration": 0.3
    },
    {
      "on": 0,
      "type": 8,
      "delay": 0.3,
      "props": {
        "move": {
          "direction": [
            0
          ],
          "dashSmoothing": 1
        }
      },
      "range": 3,
      "duration": 0.2
    },
    {
      "on": 0,
      "type": 11,
      "delay": 0.38,
      "props": {},
      "visuals": {
        "ref": "AttackCombo",
        "blend": 0.1,
        "speed": 1,
        "camShake": 70,
        "playAnims": [
          {
            "anim": {
              "ref": "AttackCombo",
              "blend": 0,
              "speed": 1,
              "startFrame": 14
            }
          }
        ],
        "startFrame": 0
      }
    },
    {
      "on": 0,
      "type": 0,
      "delay": 0.38,
      "props": {
        "area": {
          "shape": [
            2,
            160
          ]
        }
      },
      "range": 3,
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "baseVal": 0,
          "scaling": [
            {
              "atb": "Dexterity",
              "ratio": 0.3
            },
            {
              "atb": "Intellect",
              "ratio": 0.3
            }
          ],
          "affinity": "Physical"
        }
      ]
    },
    {
      "id": "HitProc",
      "on": 13,
      "type": 0,
      "delay": 0.1,
      "props": {
        "area": {
          "shape": [
            2,
            160
          ]
        }
      },
      "range": 3,
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "baseVal": 0,
          "scaling": [
            {
              "atb": "Dexterity",
              "ratio": 0.3
            },
            {
              "atb": "Intellect",
              "ratio": 0.3
            }
          ],
          "affinity": "Physical"
        }
      ]
    }
  ],
  "texts": {
    "desc": "Delivers a strong punch dealing ::dmg:: to an enemy and reduces the cooldown of one random [WeaponSkill] by ::dur1::.",
    "name": "Sink to the Bottom",
    "refs": {
      "ref": "Fists_WaterUppercut_C_CritStatus"
    },
    "rankDescs": [
      {
        "desc": "Deals ::var1%:: increased critical damage.",
        "rank": 2,
        "flags": 0
      },
      {
        "desc": "Has a ::chance:: chance to attack twice.",
        "rank": 3,
        "flags": 0
      }
    ]
  },
  "nature": 1,
  "script": "function onFirstHit(hit) {\n\tif( rank >= 3 && checkProba(vars.chance)) {\n\t\tplayStep(Steps.HitProc, hit.target);\n\t}\n\tvar randomWeaponSkill = owner.skills.filter(s -> s.isWeaponSkill() && s.isInCooldown());\n\tif (randomWeaponSkill.length > 0) {\n\t\tvar random = pickRandom(randomWeaponSkill);\n\t\trandom.reduceCooldown(vars.dur1);\n\t}\n}\n\nfunction onDamageEval(hit) {\n\tif (rank >= 2) {\n\t\thit.critDmgMult += vars.var1;\n\t}\n}",
  "status": 2,
  "mastery": [],
  "duration": 0.7
}