FareverDB

Night Salvo

Phrixes_NightSalvo in Skills
id
Phrixes_NightSalvo
type
11
flags
32
nature
3
script
var timeBetweenProjectiles = 0.2; function onStep(s) { if(s.kind == Steps.CastEnd) { var projStep = getStepById(Steps.Projectile); var skillTargets = getAITargets(); var targetCount = skillTargets.length; for(i in 0...targetCount) { var t = skillTargets[i]; wait(i*timeBetweenProjectiles, function() { projStep.generateProjectile(t); }); } wait(targetCount*timeBetweenProjectiles, () -> stop()); } }
cooldown
5
duration
2
Raw data
{
  "id": "Phrixes_NightSalvo",
  "gfx": {
    "x": 36,
    "y": 38,
    "file": "UI/Placeholder/Icons_Resources.png",
    "size": 48,
    "width": 2,
    "height": 2
  },
  "anim": {
    "ref": "Cast",
    "speed": 0.6
  },
  "type": 11,
  "vars": {},
  "flags": 32,
  "props": {},
  "steps": [
    {
      "on": 0,
      "type": 13,
      "props": {},
      "duration": 2
    },
    {
      "on": 0,
      "type": 3,
      "props": {},
      "duration": 2
    },
    {
      "on": 0,
      "type": 11,
      "props": {},
      "visuals": {
        "fxs": [
          {
            "set": "Chaos_Aura",
            "props": {},
            "space": 0,
            "attachName": "B_Pelvis"
          },
          {
            "set": "Chaos_Cast",
            "props": {},
            "space": 0,
            "attachName": "ATTACH_World_Weapon_R"
          }
        ]
      },
      "duration": 2
    },
    {
      "on": 0,
      "type": 11,
      "delay": 0.5,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "ref": "Cast",
              "loop": true,
              "blend": 0.15
            }
          }
        ]
      }
    },
    {
      "on": 7,
      "type": 11,
      "delay": -0.75,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "ref": "CastProjectile",
              "blend": 0.1,
              "speed": 1
            }
          }
        ]
      }
    },
    {
      "on": 7,
      "type": 11,
      "delay": -0.12,
      "props": {},
      "visuals": {
        "fxs": [
          {
            "set": "Chaos_Blast",
            "props": {
              "offset": {
                "x": 5,
                "y": 0,
                "z": 0,
                "height": 0
              }
            },
            "scale": 1,
            "space": 2,
            "attachName": "ATTACH_World_Weapon_R"
          }
        ]
      }
    },
    {
      "on": 7,
      "type": 24,
      "props": {},
      "duration": 1.2
    },
    {
      "on": 7,
      "type": 11,
      "delay": -1.25,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "ref": "MagicCast",
              "loop": false
            }
          }
        ]
      }
    },
    {
      "id": "CastEnd",
      "on": 7,
      "type": 11,
      "props": {}
    },
    {
      "id": "Projectile",
      "on": 8,
      "type": 7,
      "props": {
        "projectile": {
          "base": "MissileStraight",
          "fxSet": "Projectile_Chaos_Big",
          "speed": 50,
          "aimStyle": 4
        }
      },
      "range": 80
    },
    {
      "on": 2,
      "type": 0,
      "props": {
        "position": {
          "origin": 2
        }
      },
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "baseVal": 0,
          "scaling": [
            {
              "atb": "FoePower",
              "ratio": 0.5
            }
          ],
          "affinity": "Chaos"
        }
      ]
    }
  ],
  "texts": {
    "name": "Night Salvo"
  },
  "nature": 3,
  "script": "var timeBetweenProjectiles = 0.2;\n\nfunction onStep(s) {\n    if(s.kind == Steps.CastEnd) {\n        var projStep = getStepById(Steps.Projectile);\n\t\tvar skillTargets = getAITargets();\n        var targetCount = skillTargets.length;\n\n        for(i in 0...targetCount) {\n            var t = skillTargets[i];\n            wait(i*timeBetweenProjectiles, function() {\n                projStep.generateProjectile(t);\n            });\n        }\n        wait(targetCount*timeBetweenProjectiles, () -> stop());\n    }\n}",
  "mastery": [],
  "cooldown": 5,
  "duration": 2
}