FareverDB
?

Spore_Skill

Spore_Skill in Skills
id
Spore_Skill
type
11
flags
0
nature
3
script
var spawnRadius = 4; var spawnDelay = 0; function onStep(s) { switch(s.kind) { case Steps.GenerateProjectiles: var projStep = getStepById(Steps.Projectile); var nb = vars.var1; var count = round(nb); var interProgress = 1 / (count); var pos = projStep.getProjectileStart(); var rotProgress = owner.rotationZ / PI; for(i in 0...count) { var tPos = p3DAdd(pos, getCircleFacingPos(rotProgress + interProgress * i, spawnRadius, owner.getUp())); wait(i * spawnDelay, function() { projStep.generateProjectile(owner, tPos); }); } case Steps.LaunchProjectiles: s.curCtx?.activateProjectiles(); default: } } function onStop(ctx) { ctx.killProjectiles(); }
status
5
cooldown
15
duration
7.5
Raw data
{
  "id": "Spore_Skill",
  "anim": {
    "ref": "CastStart"
  },
  "type": 11,
  "vars": {
    "var1": 3
  },
  "flags": 0,
  "props": {
    "needTarget": true
  },
  "steps": [
    {
      "on": 0,
      "type": 13,
      "props": {
        "rotation": {
          "limiter": 320
        }
      },
      "duration": 5
    },
    {
      "on": 0,
      "type": 3,
      "props": {
        "castFlags": 8
      },
      "duration": 6
    },
    {
      "on": 0,
      "type": 11,
      "delay": 0.56,
      "props": {},
      "visuals": {
        "playAnims": [
          {
            "anim": {
              "ref": "Cast",
              "loop": true
            }
          }
        ]
      }
    },
    {
      "on": 0,
      "type": 11,
      "delay": 0.5,
      "props": {},
      "visuals": {
        "fxs": [
          {
            "set": "Hit_Spark_Loop",
            "flags": 9,
            "props": {
              "offset": {
                "x": 0,
                "y": 0,
                "z": 0,
                "height": 0
              }
            },
            "scale": 0.3,
            "space": 0,
            "attachName": "B_ROOT"
          }
        ]
      },
      "duration": 1.2
    },
    {
      "id": "GenerateProjectiles",
      "on": 0,
      "delay": 1,
      "props": {}
    },
    {
      "id": "Projectile",
      "on": 8,
      "type": 7,
      "props": {
        "projectile": {
          "base": "Orbitter",
          "fxSet": "Projectile_Spark_Big",
          "orbit": {
            "height": 2.3,
            "radius": 20,
            "radiusCurve": [
              0,
              0.2,
              -0.240663547126972,
              -1.08970911670967,
              0.0788436226413465,
              0.360048594717381,
              0.401746902905042,
              1.1103073621269,
              -0.0931693951244853,
              2.99264962978901e-17,
              0.104554861458488,
              0.00249631573124431,
              0.800614150604516,
              0.00443404026850053,
              -0.152162727884793,
              0.488434050373675,
              -0.5,
              0
            ]
          },
          "scale": 0.5,
          "speed": 100,
          "lifetime": 6,
          "hitFilter": 1,
          "activationDelay": 1
        }
      }
    },
    {
      "id": "LaunchProjectiles",
      "on": 0,
      "delay": 3,
      "props": {}
    },
    {
      "on": 0,
      "type": 11,
      "delay": 2,
      "props": {},
      "visuals": {
        "fxs": [
          {
            "set": "Spark_Blast",
            "props": {
              "offset": {
                "x": 0,
                "y": 0,
                "z": 2,
                "height": 0
              }
            },
            "scale": 1
          },
          {
            "set": "Spark_Aura",
            "flags": 9,
            "props": {},
            "attachName": "B_ROOT"
          }
        ],
        "playAnims": [
          {
            "anim": {
              "ref": "CastProjectile"
            }
          }
        ]
      },
      "duration": 0.3
    },
    {
      "on": 2,
      "type": 0,
      "props": {},
      "effects": [
        {
          "flags": 0,
          "effect": 0,
          "scaling": [
            {
              "atb": "FoePower",
              "ratio": 0.85
            }
          ],
          "affinity": "Spark"
        }
      ]
    }
  ],
  "texts": {},
  "nature": 3,
  "script": "var spawnRadius = 4;\nvar spawnDelay = 0;\nfunction onStep(s) {\n    switch(s.kind) {\n        case Steps.GenerateProjectiles:\n            var projStep = getStepById(Steps.Projectile);\n\t\t\tvar nb = vars.var1;\n\t\t\tvar count =  round(nb);\n            var interProgress = 1 / (count);\n            var pos = projStep.getProjectileStart();\n            var rotProgress = owner.rotationZ / PI;\n            for(i in 0...count) {\n                var tPos = p3DAdd(pos, getCircleFacingPos(rotProgress + interProgress * i, spawnRadius, owner.getUp()));\n                wait(i * spawnDelay, function() {\n                    projStep.generateProjectile(owner, tPos);\n                });\n            }\n        case Steps.LaunchProjectiles:\n            s.curCtx?.activateProjectiles();\n        default:\n    }\n}\n\nfunction onStop(ctx) {\n    ctx.killProjectiles();\n}",
  "status": 5,
  "aiProps": {
    "castMaxRange": 4
  },
  "mastery": [],
  "cooldown": 15,
  "duration": 7.5
}