Home · skill · KoboldOverseer_MadRun

Properties

status
WIP
type
Skill
nature
Spell
cooldown
15
duration
2.4
steps
on=0visuals={"fxs":[{"set":"State_Burning","space":0,"props":{},"flags":12,"attachName":"CoalBag"}]}props={"castFlags":6}type=3duration=8delay=1.4id=Runon=0props={}type=13duration=-1delay=1.4on=0props={"loop":{"tick":0.5,"flags":2}}id=Looprange=2duration=7delay=2on=13props={"area":{"travelTime":2,"telegraph":0},"position":{"random":{"range":6,"maxZDiff":3,"minRange":3}},"canRepeat":true}type=4visuals={"bellFx":{"from":0,"set":"Projectile_Charcoal","startObj":"CoalBag","height":4,"to":1},"fxs":[{"set":"Charcoal_AOE_Ground","space":1,"props":{},"flags":16}]}range=2effects=[{"effect":0,"scaling":[{"ratio":0.4,"atb":"FoePower"}],"affinity":"Fire","flags":0}]id=Areaon=7props={}id=EndRun
flags
CanMove

Referenced by

Raw data
{
  "status": "WIP",
  "id": "KoboldOverseer_MadRun",
  "type": "Skill",
  "nature": "Spell",
  "texts": {},
  "anim": {
    "ref": "Scream"
  },
  "cooldown": 15,
  "duration": 2.4,
  "steps": [
    {
      "on": 0,
      "visuals": {
        "fxs": [
          {
            "set": "State_Burning",
            "space": 0,
            "props": {},
            "flags": 12,
            "attachName": "CoalBag"
          }
        ]
      },
      "props": {
        "castFlags": 6
      },
      "type": 3,
      "duration": 8,
      "delay": 1.4,
      "id": "Run"
    },
    {
      "on": 0,
      "props": {},
      "type": 13,
      "duration": -1,
      "delay": 1.4
    },
    {
      "on": 0,
      "props": {
        "loop": {
          "tick": 0.5,
          "flags": 2
        }
      },
      "id": "Loop",
      "range": 2,
      "duration": 7,
      "delay": 2
    },
    {
      "on": 13,
      "props": {
        "area": {
          "travelTime": 2,
          "telegraph": 0
        },
        "position": {
          "random": {
            "range": 6,
            "maxZDiff": 3,
            "minRange": 3
          }
        },
        "canRepeat": true
      },
      "type": 4,
      "visuals": {
        "bellFx": {
          "from": 0,
          "set": "Projectile_Charcoal",
          "startObj": "CoalBag",
          "height": 4,
          "to": 1
        },
        "fxs": [
          {
            "set": "Charcoal_AOE_Ground",
            "space": 1,
            "props": {},
            "flags": 16
          }
        ]
      },
      "range": 2,
      "effects": [
        {
          "effect": 0,
          "scaling": [
            {
              "ratio": 0.4,
              "atb": "FoePower"
            }
          ],
          "affinity": "Fire",
          "flags": 0
        }
      ],
      "id": "Area"
    },
    {
      "on": 7,
      "props": {},
      "id": "EndRun"
    }
  ],
  "aiProps": {
    "pickPrio": 1,
    "minTimeInCombat": 5
  },
  "flags": [
    "CanMove"
  ],
  "mastery": [],
  "props": {},
  "vars": {
    "range": 20
  },
  "script": "var chaoticRunStartPos = null;\nvar nextRunPick = -1.;\nvar minRunTime = 0.5;\nvar maxRunTime = 1.5;\nfunction startChaoticRun() {\n    chaoticRunStartPos = owner.position;\n    nextRunPick = -1.;\n}\n\nfunction endChaoticRun() {\n    if(isServer && chaoticRunStartPos != null)\n        owner.forceMoveTo(owner.position); // End in place\n    chaoticRunStartPos = null;\n}\n\nfunction onStop(ctx) {\n    endChaoticRun();\n}\n\nfunction onUpdate(dt) {\n    chaoticRunUpdate(dt);\n}\n\nfunction onStepTick(step) {\n\tif(!isServer) return;\n\tif(step.kind == Steps.Loop) {\n\t\tplayStep(Steps.Area);\n\t}\n}\n\nfunction chaoticRunUpdate(dt) {\n    if(!isServer || chaoticRunStartPos == null)\n        return;\n    if(elapsedTime > nextRunPick) {\n        var runTime = random(minRunTime, maxRunTime);\n        nextRunPick = elapsedTime + runTime;\n        var radius = runTime * getAtb(owner, Attribute.SprintSpeed);\n        var targetPos = getRandomGroundPos(owner, radius * 1.2, radius * 1.1, 1.6, 0, 360, (pos) -> p3DDist(pos, chaoticRunStartPos) < vars.range);\n        owner.forceMoveTo(targetPos, true);\n    }\n}\n\nfunction onStep(s) {\n    switch(s.kind) {\n        case Steps.Run:\n            startChaoticRun();\n        case Steps.EndRun:\n            endChaoticRun();\n        default:\n    }\n}",
  "_xrefs": [
    {
      "from_sheet": "unit",
      "from_id": "Kobold_Z1W_Caster",
      "via_field": "skills"
    },
    {
      "from_sheet": "unit",
      "from_id": "Kobold_Z1W_Caster_2",
      "via_field": "skills"
    },
    {
      "from_sheet": "unit",
      "from_id": "Kobold_Z2W_Caster",
      "via_field": "skills"
    },
    {
      "from_sheet": "unit",
      "from_id": "Kobold_Ratsar_Caster",
      "via_field": "skills"
    },
    {
      "from_sheet": "unit",
      "from_id": "Kobold_Z2D_Caster",
      "via_field": "skills"
    },
    {
      "from_sheet": "unit",
      "from_id": "Kobold_Z1D_FS_Caster",
      "via_field": "skills"
    }
  ]
}