FareverDB
?

Luon Discharge

Ulserous_LuonDischarge in Skills

Prepare to cast hail of Light projectiles, dealing [.55FP] Magic damage to players.

id
Ulserous_LuonDischarge
dur
0
type
11
flags
0
nature
3
script
var castCount = 0; function onStep(s) { if(s.kind == Steps.AreasCast) { castCount = 0; var castStep = getStepById(Steps.AreasCast); var totalDuration = castStep.duration; var timeBetweenFires = totalDuration / vars.var1; var areaRand = Steps.AreaRandom; var areaTarget = Steps.AreaTarget; for(i in 0...round(vars.var1)) { castCount++; var areaStep = areaRand; if((castCount % round(vars.var2)) == 0) areaStep = areaTarget; wait(i*timeBetweenFires, function() { playStep(areaStep); }); } } }
status
0
cooldown
20
duration
23
__ignoreLoc__
true
Raw data
{
  "id": "Ulserous_LuonDischarge",
  "dur": 0,
  "anim": {
    "file": "Anim/Herald/Anim_Herald_Common_Discharge_Start.fbx"
  },
  "type": 11,
  "vars": {
    "var1": 10,
    "var2": 15
  },
  "flags": 0,
  "props": {},
  "steps": [
    {
      "id": "InitialCast",
      "on": 0,
      "type": 3,
      "delay": 0,
      "props": {},
      "duration": 3
    },
    {
      "on": 0,
      "type": 11,
      "delay": 2,
      "props": {},
      "visuals": {
        "fxs": [
          {
            "set": "Light_Cast_Hand",
            "flags": 8,
            "props": {
              "offset": {
                "x": -2,
                "y": -2,
                "z": 0,
                "height": 0
              }
            },
            "scale": 0.65,
            "space": 0,
            "attachName": "B_Palm_L"
          }
        ]
      },
      "duration": 3
    },
    {
      "id": "Channel",
      "on": 7,
      "type": 3,
      "props": {
        "castFlags": 12
      },
      "duration": 20
    },
    {
      "id": "Loop",
      "on": 12,
      "cond": {
        "step": "InitialCast"
      },
      "type": 3,
      "delay": 0,
      "props": {
        "startSteps": [
          {
            "step": "ProjectileCast",
            "force": true,
            "overrideDelay": 2
          }
        ]
      },
      "visuals": {
        "fxs": [
          {
            "set": "Light_Cast_LuonDischarge",
            "flags": 24,
            "props": {},
            "space": 2
          }
        ],
        "playAnims": [
          {
            "anim": {
              "file": "Anim/Herald/Anim_Herald_Common_Discharge_Cast.fbx",
              "loop": true,
              "blend": 0.1
            }
          }
        ]
      },
      "duration": 2
    },
    {
      "id": "ProjectileCast",
      "on": 12,
      "cond": {
        "step": "Loop"
      },
      "type": 11,
      "delay": 0,
      "props": {
        "startSteps": [
          {
            "step": "Loop",
            "force": true,
            "overrideDelay": 1.23
          },
          {
            "step": "Attack",
            "force": true,
            "overrideDelay": 1.23
          }
        ]
      },
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "file": "Anim/Herald/Anim_Herald_Common_Discharge_Salve.fbx",
              "loop": false,
              "blend": 0.2
            }
          }
        ]
      },
      "duration": 1.23
    },
    {
      "id": "AreasCast",
      "on": 12,
      "cond": {
        "step": "Loop"
      },
      "type": 11,
      "delay": 0,
      "props": {
        "startSteps": [
          {
            "step": "Loop",
            "force": true,
            "overrideDelay": 1.23
          },
          {
            "step": "Attack",
            "force": true,
            "overrideDelay": 1.23
          }
        ]
      },
      "duration": 1.23
    },
    {
      "id": "AreaRandom",
      "on": 8,
      "cond": {
        "step": "Loop"
      },
      "type": 5,
      "delay": 0,
      "props": {
        "position": {
          "random": {
            "range": 60,
            "maxZDiff": 3,
            "minRange": 2
          }
        },
        "startSteps": [
          {
            "step": "Loop",
            "force": true,
            "startSteps": [
              {
                "step": "Loop",
                "force": true,
                "overrideDelay": 0.75
              },
              {
                "step": "Attack",
                "force": true,
                "overrideDelay": 0.75
              }
            ],
            "overrideDelay": 1.23
          }
        ],
        "targetSkill": "Ulserous_LuonDischargeArea"
      },
      "duration": 1.23
    },
    {
      "id": "AreaTarget",
      "on": 8,
      "cond": {
        "step": "Loop"
      },
      "type": 5,
      "delay": 0,
      "props": {
        "position": {
          "origin": 1,
          "random": {
            "range": 1,
            "maxZDiff": 3
          }
        },
        "startSteps": [
          {
            "step": "Loop",
            "force": true,
            "overrideDelay": 1.23
          }
        ],
        "targetSkill": "Ulserous_LuonDischargeArea"
      },
      "duration": 1.23
    },
    {
      "id": "Attack",
      "on": 2,
      "type": 0,
      "props": {
        "position": {
          "origin": 2,
          "groundSnap": true
        }
      },
      "range": 40,
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "baseVal": 0,
          "scaling": [
            {
              "atb": "FoePower",
              "ratio": 0.5
            }
          ],
          "affinity": "Light"
        }
      ],
      "duration": 0
    },
    {
      "on": 7,
      "cond": {
        "step": "Channel"
      },
      "type": 11,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "file": "Anim/Herald/Anim_Herald_Common_Discharge_End.fbx"
            }
          }
        ]
      }
    }
  ],
  "texts": {
    "desc": "Prepare to cast hail of Light projectiles, dealing [.55FP] Magic damage to players.",
    "name": "Luon Discharge"
  },
  "nature": 3,
  "script": "var castCount = 0;\nfunction onStep(s) {\n    if(s.kind == Steps.AreasCast) {\n        castCount = 0;\n        var castStep = getStepById(Steps.AreasCast);\n        var totalDuration = castStep.duration;\n        var timeBetweenFires = totalDuration / vars.var1;\n        var areaRand = Steps.AreaRandom;\n        var areaTarget = Steps.AreaTarget;\n        for(i in 0...round(vars.var1)) {\n            castCount++;\n            var areaStep = areaRand;\n            if((castCount % round(vars.var2)) == 0)\n                areaStep = areaTarget;\n            wait(i*timeBetweenFires, function() {\n                playStep(areaStep);\n            });\n        }\n    }\n}",
  "status": 0,
  "aiProps": {
    "pickPrio": 10
  },
  "mastery": [],
  "cooldown": 20,
  "duration": 23,
  "__ignoreLoc__": true
}