FareverDB

Power Expulsion

Phrixes_PowerExpulsion in Skills
id
Phrixes_PowerExpulsion
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); }); } } }
cooldown
40
duration
1
Raw data
{
  "id": "Phrixes_PowerExpulsion",
  "gfx": {
    "x": 36,
    "y": 38,
    "file": "UI/Placeholder/Icons_Resources.png",
    "size": 48,
    "width": 2,
    "height": 2
  },
  "anim": {
    "ref": "CastStart",
    "blend": 0.1
  },
  "type": 11,
  "vars": {
    "var1": 17142,
    "var2": 15
  },
  "flags": 0,
  "props": {},
  "steps": [
    {
      "on": 0,
      "type": 11,
      "delay": 0.5,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "file": "Anim/Heavy/Staff/Anim_Heavy_Staff_ConjureLoopStart.fbx"
            }
          }
        ]
      }
    },
    {
      "on": 0,
      "type": 11,
      "props": {
        "castFlags": 8
      },
      "range": "",
      "visuals": {
        "fxs": [
          {
            "set": "Chaos_Cast",
            "flags": 8,
            "props": {},
            "space": 0,
            "attachName": "ATTACH_Local_Weapon_R"
          }
        ]
      },
      "duration": 1200
    },
    {
      "on": 0,
      "type": 3,
      "delay": 1.4,
      "props": {
        "castFlags": 8
      },
      "range": "",
      "visuals": {
        "fxs": [
          {
            "set": "Chaos_Cast",
            "flags": 8,
            "props": {},
            "space": 0,
            "attachName": "ATTACH_Local_Weapon_R"
          }
        ],
        "playAnims": [
          {
            "anim": {
              "file": "Anim/Heavy/Staff/Anim_Heavy_Staff_ConjureLoop.fbx",
              "loop": true
            }
          }
        ]
      },
      "duration": 1200
    },
    {
      "on": 0,
      "type": 17,
      "props": {
        "position": {
          "element": "Phrixes_ArenaCenter"
        }
      }
    },
    {
      "id": "AreasCast",
      "on": 0,
      "type": 11,
      "delay": 2,
      "props": {},
      "duration": 1200
    },
    {
      "id": "AreaRandom",
      "on": 8,
      "type": 5,
      "props": {
        "position": {
          "random": {
            "range": 60,
            "maxZDiff": 3,
            "minRange": 2
          }
        },
        "targetSkill": "Phrixes_PowerExpulsionArea"
      }
    },
    {
      "id": "AreaTarget",
      "on": 8,
      "type": 5,
      "props": {
        "position": {
          "origin": 1,
          "random": {
            "range": 1,
            "maxZDiff": 3
          }
        },
        "targetSkill": "Phrixes_PowerExpulsionArea"
      }
    },
    {
      "on": 2,
      "type": 0,
      "props": {
        "position": {
          "origin": 2,
          "groundSnap": true
        }
      },
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "baseVal": 0,
          "scaling": [
            {
              "atb": "FoePower",
              "ratio": 0.5
            }
          ],
          "affinity": "Chaos"
        }
      ]
    }
  ],
  "texts": {
    "name": "Power Expulsion"
  },
  "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}",
  "aiProps": {
    "pickPrio": 10
  },
  "mastery": [],
  "cooldown": 40,
  "duration": 1
}