FareverDB

Shell of the Devourer

Shield_OrbitWater_P in Skills

Your [ComboAttack]s and [AttackBlock]s grant you a stack of Water Infusion. At 4 stacks, your next [AttackBlock] is empowered, dealing 250% Faith Magic to nearby enemies.

id
Shield_OrbitWater_P
type
24
flags
0
nature
5
script
function onGameBeat(b, hit) { if( b == GameBeat.AttackBlock ) { // Wait next frame so block doesn't trigger the block status. if( !hasStatus(owner, Skill.Shield_OrbitWater_P_StatusBlockBuffed) ) { wait(0, () -> { addWaterInfusion(); }); } } } function onInflictHit(hit) { if( hit.isFinalCombo && hit.isFirstHit) { addWaterInfusion(); } } function addWaterInfusion() { if( !hasStatus(owner, Skill.Shield_OrbitWater_P_StatusBlockBuffed) ) { addStatus(owner, Skill.Shield_OrbitWater_P_Status); } } function onInflictDamage(dmg) { if( dmg.hitCount == 1 && dmg.skillId == Skill.Shield_OrbitWater_P_StatusBlockBuffed ) { reduceCooldown(Skill.Shield_OrbitWater_S1, vars.dur1); } }
status
2
Raw data
{
  "id": "Shield_OrbitWater_P",
  "gfx": {
    "x": 14,
    "y": 0,
    "file": "UI/icons/atlas_weapon_Shield_96PX.png",
    "size": 48,
    "width": 2,
    "height": 2
  },
  "anim": {},
  "type": 24,
  "vars": {
    "dur1": 5,
    "var1": 2
  },
  "flags": 0,
  "props": {
    "rankOverride": [
      {
        "props": {
          "cooldown": 35
        },
        "minRank": 2
      }
    ]
  },
  "steps": [],
  "texts": {
    "desc": "Your [ComboAttack]s and [AttackBlock]s grant you a stack of ::ref_name::.\nAt ::ref1_stacks:: stacks, your next [AttackBlock] is empowered, dealing ::ref2_dmg:: to nearby enemies.",
    "name": "Shell of the Devourer",
    "refs": {
      "ref": "Shield_OrbitWater_P_Status",
      "ref2": "Shield_OrbitWater_P_StatusBlockBuffed",
      "ref3": "Shield_OrbitWater_S1"
    },
    "rankDescs": [
      {
        "desc": "Requires ::ref1_stacks:: stacks.",
        "rank": 2,
        "flags": 1
      },
      {
        "desc": "When this deals damage, it reduces the cooldown of ::ref3_name:: by ::dur1::.",
        "rank": 3,
        "flags": 0
      }
    ]
  },
  "nature": 5,
  "script": "function onGameBeat(b, hit) {\n\tif( b == GameBeat.AttackBlock ) {\n\t\t// Wait next frame so block doesn't trigger the block status.\n\t\tif( !hasStatus(owner, Skill.Shield_OrbitWater_P_StatusBlockBuffed) ) {\n\t\t\twait(0, () -> {\n\t\t\t\taddWaterInfusion();\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction onInflictHit(hit) {\n\tif( hit.isFinalCombo && hit.isFirstHit) {\n\t\taddWaterInfusion();\n\t}\n}\n\nfunction addWaterInfusion() {\n\tif( !hasStatus(owner, Skill.Shield_OrbitWater_P_StatusBlockBuffed) ) {\n\t\taddStatus(owner, Skill.Shield_OrbitWater_P_Status);\n\t}\n}\n\nfunction onInflictDamage(dmg) {\n\tif( dmg.hitCount == 1 && dmg.skillId == Skill.Shield_OrbitWater_P_StatusBlockBuffed ) {\n\t\treduceCooldown(Skill.Shield_OrbitWater_S1, vars.dur1);\n\t}\n}",
  "status": 2,
  "mastery": []
}