Home · skill · PurifiedHeart_Proc

Your next Weapon Skill releases a lightning bolt dealing 150% Faith + 150% Intellect.

Properties

nature
Status
duration
20
steps
on=13props={"projectile":{"base":"MissileHoming","variant":0,"fxSet":"Projectile_Electric_Big","activationDelay":0.2,"appearDelay":0.2}}type=7id=Projectileon=2props={}effects=[{"effect":0,"scaling":[{"ratio":1.5,"atb":"Faith"},{"ratio":1.5,"atb":"Intellect"}],"affinity":"Magic","flags":0}]type=0
Raw data
{
  "gfx": {
    "file": "UI/Portraits/Items/GearTrinket/Items_Loot_Trinket_Trinket_pearl_02.prefab.png",
    "size": 256,
    "x": 0,
    "y": 0
  },
  "id": "PurifiedHeart_Proc",
  "nature": "Status",
  "texts": {
    "name": "Purified Heart",
    "desc": "Your next [WeaponSkill] releases a lightning  bolt dealing ::dmg::."
  },
  "anim": {},
  "duration": 20,
  "steps": [
    {
      "on": 13,
      "props": {
        "projectile": {
          "base": "MissileHoming",
          "variant": 0,
          "fxSet": "Projectile_Electric_Big",
          "activationDelay": 0.2,
          "appearDelay": 0.2
        }
      },
      "type": 7,
      "id": "Projectile"
    },
    {
      "on": 2,
      "props": {},
      "effects": [
        {
          "effect": 0,
          "scaling": [
            {
              "ratio": 1.5,
              "atb": "Faith"
            },
            {
              "ratio": 1.5,
              "atb": "Intellect"
            }
          ],
          "affinity": "Magic",
          "flags": 0
        }
      ],
      "type": 0
    }
  ],
  "flags": [],
  "mastery": [],
  "props": {
    "enableCond": {
      "flags": 2
    },
    "status": {
      "types": [
        {
          "type": "Buff"
        }
      ]
    }
  },
  "vars": {
    "var1": 1
  },
  "script": "function onSkillProc(ctx) {\n\tif( ctx.skill.isWeaponSkill() ) {\n\n    var fanRadius = 2.5;\n    var fanAmplitude = 240;\n    var shotDelay = 0.1;\n\n\tvar target = getActiveSkill()?.aimTarget;\n\tif (target == null) target = owner.getTarget();\n\n    var count = 1;\n\n    if (target != null) {\n        var projStep = getStepById(Steps.Projectile);\n        var startPos = projStep.getProjectileStart();\n\n        var interProgress = 1 / (count+1);\n        for (i in 0...count) {\n            var pos = startPos;\n            if (count > 1) {\n                pos = p3DAdd(startPos, getFanFacingPos((i+1) * interProgress, fanAmplitude, fanRadius, p2DTo3D( p2DSub(target.pos2D, owner.pos2D)) ) );\n            }\n            wait(i * shotDelay, function() {\n                projStep.generateProjectile(target, pos);\n            });\n        }\n    }\n\tstop();\n\t}\n}"
}