FareverDB

Spark Beam

Mage_RayOfSpark in Skills

Channels a powerful beam dealing 100% Intellect Magic over 2. Each tick regenerates ::atbgain:: [Spark].

id
Mage_RayOfSpark
type
17
flags
0
nature
3
script
function onInflictDamage(dmg) { if (dmg.stepId == Steps.ChannelTick && dmg.amount > 0) { if (hasMastery(Mastery.Mage_RayOfSpark_M2)) { setDynVal(3, dmg.amount * vars.var3); playStep(Steps.M2_Area, dmg.target); } if (hasMastery(Mastery.Mage_RayOfSpark_M3)) { setDynVal(2, dmg.amount * vars.var2); playStep(Steps.M3_SelfHeal, owner); } } } function onHit(hit) { if (hit.stepId == Steps.M2_Area && hit.target != ctx.aimTarget) { playStep(Steps.M2_HitDmg, hit.target); } }
status
0
cooldown
12
Raw data
{
  "id": "Mage_RayOfSpark",
  "gfx": {
    "x": 0,
    "y": 0,
    "file": "UI/icons/atlas_class_Mage_96PX.png",
    "size": 96
  },
  "anim": {
    "ref": "MageRayStart",
    "blend": 0.1
  },
  "type": 17,
  "vars": {
    "dur1": 2,
    "var3": 0.2
  },
  "flags": 0,
  "props": {
    "hit": {
      "shake": 3,
      "camShake": 2
    }
  },
  "steps": [
    {
      "id": "ChannelTick",
      "on": 0,
      "type": 22,
      "delay": 0.2,
      "props": {
        "loop": {
          "tick": 0.5,
          "flags": 3
        },
        "castFlags": 4
      },
      "range": 40,
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "scaling": [
            {
              "atb": "Intellect",
              "ratio": 1
            }
          ],
          "affinity": "Magic"
        }
      ],
      "visuals": {
        "hitFx": "NoFX",
        "linkFx": {
          "set": "Spark_Zap_Loop",
          "scale": 1.5,
          "startAttach": "B_Palm_L",
          "startRadius": 0.85
        }
      },
      "duration": "dur1"
    },
    {
      "on": 0,
      "type": 11,
      "delay": 0.2,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "ref": "MageRay",
              "loop": true,
              "blend": 0
            }
          }
        ]
      }
    },
    {
      "on": 0,
      "type": 11,
      "delay": 0.2,
      "props": {},
      "visuals": {
        "fxs": [
          {
            "set": "Spark_Blast_Launch",
            "props": {
              "offset": {
                "x": -0.65,
                "y": -0.65,
                "z": 0,
                "height": 0
              }
            },
            "scale": 1,
            "space": 0,
            "attachName": "B_Palm_L"
          }
        ]
      }
    },
    {
      "on": 0,
      "type": 14,
      "props": {
        "rotation": {
          "limiter": 5000,
          "direction": 1
        }
      },
      "duration": -1
    },
    {
      "on": 1,
      "type": 12,
      "props": {},
      "effects": [
        {
          "flags": 0,
          "effect": 3,
          "target": {
            "atb": "Spark"
          },
          "scaling": [
            {
              "atb": "MaxSpark",
              "ratio": 0.12
            }
          ]
        }
      ]
    },
    {
      "on": 1,
      "cond": {
        "mastery": "Mage_RayOfSpark_M1"
      },
      "type": 1,
      "props": {
        "status": {
          "ref": "Mage_RayOfSpark_Status"
        }
      },
      "range": "",
      "duration": 0.5
    },
    {
      "id": "M2_Area",
      "on": 13,
      "type": 4,
      "props": {
        "area": {
          "hitFilter": 1
        },
        "position": {
          "origin": 1
        }
      },
      "range": 5
    },
    {
      "id": "M2_HitDmg",
      "on": 13,
      "type": 6,
      "props": {},
      "effects": [
        {
          "flags": 0,
          "dynVal": 3,
          "effect": 0,
          "baseVal": 1,
          "scaling": [],
          "affinity": "Magic"
        }
      ]
    },
    {
      "id": "M3_SelfHeal",
      "on": 13,
      "cond": {
        "mastery": "Mage_RayOfSpark_M3"
      },
      "type": 12,
      "props": {},
      "effects": [
        {
          "flags": 0,
          "dynVal": 2,
          "effect": 1,
          "baseVal": 0,
          "scaling": []
        }
      ]
    }
  ],
  "texts": {
    "desc": "Channels a powerful beam dealing ::dmg:: over ::dur1::.\nEach tick regenerates ::atbgain:: [Spark].",
    "name": "Spark Beam",
    "refs": {
      "ref": "Slow"
    }
  },
  "nature": 3,
  "script": "function onInflictDamage(dmg) {\n\tif (dmg.stepId == Steps.ChannelTick && dmg.amount > 0) {\n\t\tif (hasMastery(Mastery.Mage_RayOfSpark_M2)) {\n\t\t\tsetDynVal(3, dmg.amount * vars.var3);\n\t\t\tplayStep(Steps.M2_Area, dmg.target);\n\t\t}\n\t\tif (hasMastery(Mastery.Mage_RayOfSpark_M3)) {\n\t\t\tsetDynVal(2, dmg.amount * vars.var2);\n\t\t\tplayStep(Steps.M3_SelfHeal, owner);\n\t\t}\n\t}\n}\nfunction onHit(hit) {\n\tif (hit.stepId == Steps.M2_Area && hit.target != ctx.aimTarget) {\n\t\tplayStep(Steps.M2_HitDmg, hit.target);\n\t}\n}",
  "status": 0,
  "mastery": [
    {
      "id": "Mage_RayOfSpark_M1",
      "gfx": {
        "x": 0,
        "y": 0,
        "file": "UI/Portraits/Items/Masteries/Mage_RayOfSpark/Mage_RayOfSpark_M1.png",
        "size": 256
      },
      "text": {
        "desc": "::name:: slows the enemy by ::ref_val1%:: for all the duration.",
        "name": "Frost Infusion"
      },
      " vars": {}
    },
    {
      "id": "Mage_RayOfSpark_M2",
      "gfx": {
        "x": 0,
        "y": 0,
        "file": "UI/Portraits/Items/Masteries/Mage_RayOfSpark/Mage_RayOfSpark_M2.png",
        "size": 256
      },
      "text": {
        "desc": "::name:: deals additional [Magic] damage to enemies close to the target equal to ::var3%:: of the damage dealt.",
        "name": "Lightning Infusion"
      },
      "vars": {
        "var3": 0.35
      }
    },
    {
      "id": "Mage_RayOfSpark_M3",
      "gfx": {
        "x": 0,
        "y": 0,
        "file": "UI/Portraits/Items/Masteries/Mage_RayOfSpark/Mage_RayOfSpark_M3.png",
        "size": 256
      },
      "text": {
        "desc": "::name:: heals you for ::var2%:: of the damage dealt.",
        "name": "Nature Infusion"
      },
      "vars": {
        "var2": 0.25
      }
    }
  ],
  "cooldown": 12
}