Skip to main content
All skills

Inner Demon

Passive

Your next WeaponSkill has no cooldown but costs you 50% of your remaining Health (30s cooldown).

cooldown30s
duration
steps

Granted by

Raw data

type
WeaponPassive
nature
Passive
Cooldown
30s
id
Staff_SummonDemon_Passive
raw data
{
  "id": "Staff_SummonDemon_Passive",
  "gfx": {
    "x": 18,
    "y": 2,
    "file": "UI/icons/atlas_weapon_Staff_96PX.png",
    "size": 48,
    "width": 2,
    "height": 2
  },
  "anim": {},
  "type": 24,
  "vars": {
    "var1": 0.5
  },
  "flags": 0,
  "props": {
    "rankOverride": [
      {
        "props": {
          "cooldown": 20
        },
        "minRank": 2
      }
    ]
  },
  "steps": [],
  "texts": {
    "desc": "Your next [WeaponSkill] has no cooldown but costs you ::var1%:: of your remaining [Health] (::cooldown:: cooldown).",
    "name": "Inner Demon",
    "rankDescs": [
      {
        "desc": "Cooldown reduced to ::cooldown::.",
        "flags": 1
      },
      {
        "desc": "If the [WeaponSkill] used is one of this weapon, you gain a [Shield] absorbing an amount equal to the [Health] cost.",
        "flags": 0
      }
    ]
  },
  "nature": 5,
  "script": "function onSkillProc(ctx) {\n\tif (!isInCooldown() && ctx.isWeaponSkill) {\n\t\twait(0, () -> {\n\t\t\tif (isSkillInCooldown(ctx.skillId)) {\n\t\t\t\tconsumeCooldown();\n\t\t\t\tremoveStatus(owner, Skill.Staff_SummonDemon_Passive_Buff);\n\t\t\t\tvar cost = owner.health * vars.var1;\n\t\t\t\tpayLife(cost);\n\t\t\t\twait(0, () -> {\n\t\t\t\t\tif ((ctx.baseSkill.kind == Skill.Staff_SummonDemon_Skill1 || ctx.baseSkill.kind == Skill.Staff_SummonDemon_Skill2) && rank >= 3) {\n\t\t\t\t\t\tvar s = addStatus(owner, Skill.Staff_SummonDemon_Passive_Shield);\n\t\t\t\t\t\ts.setShield(cost);\n\t\t\t\t\t}\n\t\t\t\t\tctx.skill.resetCooldown();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction onRegUpdate(dt) {\n\tif (!isInCooldown()) {\n\t\taddStatus(owner, Skill.Staff_SummonDemon_Passive_Buff);\n\t}\n}",
  "status": 2,
  "mastery": [],
  "cooldown": 30
}