Raw data
{
"status": "WIP",
"gfx": {
"file": "UI/Placeholder/Icons_Resources.png",
"size": 48,
"x": 36,
"y": 38,
"width": 2,
"height": 2
},
"id": "Mokshi_Leaves",
"type": "Skill",
"nature": "Attack",
"texts": {
"name": "Sharp Leaves"
},
"anim": {
"file": "Anim/Faerie/_Boss_Mokshi/Anim_Faerie_Mokshi_SharpLeaves.fbx",
"speed": 0.6
},
"cooldown": 25,
"duration": 1,
"steps": [
{
"on": 0,
"props": {
"rotation": {
"limiter": 320
}
},
"type": 13,
"duration": 2
},
{
"on": 0,
"props": {
"castFlags": 8
},
"type": 3,
"duration": 2
},
{
"on": 0,
"props": {},
"type": 11,
"id": "GenerateProjectiles",
"delay": 0.2
},
{
"props": {
"projectile": {
"base": "MissileStraight",
"activationDelay": 2,
"fxSet": "Projectile_Honey_Shuriken_Spawn",
"followTime": 0.1,
"collisionRadius": 0.5,
"speed": 25,
"scale": 1,
"hitFilter": 1,
"aimStyle": 0
}
},
"on": 8,
"id": "Projectile",
"type": 7,
"range": 500
},
{
"on": 7,
"visuals": {
"playAnims": [
{
"anim": {
"file": "Anim/Faerie/_Boss_Mokshi/Anim_Faerie_Mokshi_SharpLeaves.fbx",
"startFrame": 35,
"blend": 0.2
}
}
]
},
"props": {},
"type": 11,
"delay": -0.4
},
{
"on": 2,
"props": {},
"effects": [
{
"effect": 0,
"scaling": [
{
"ratio": 0.7,
"atb": "FoePower"
}
],
"affinity": "Physical",
"flags": 0
}
],
"type": 0
}
],
"aiProps": {
"castMaxRange": 30,
"pickPrio": 5,
"targetCount": [
0
]
},
"flags": [],
"mastery": [],
"props": {
"needTarget": true
},
"vars": {
"var1": 3
},
"script": "var spawnRadius = 6;\nvar spawnDelay = 0.2;\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\tif( owner.phase == 3 ) {\n\t\t\t\tnb = 6;\n\t\t\t}\n\t\t\tvar count = round(nb);\n var interProgress = 1 / (count);\n var pos = projStep.getProjectileStart();\n var targetsLeft = copyArray(getAITargets());\n var rotProgress = owner.rotationZ / PI;\n\t\t\tif( targetsLeft.length > 0 ) {\n\t\t\t\tfor(i in 0...count) {\n\t\t\t\t\tvar tPos = p3DAdd(pos, getCircleFacingPos(rotProgress + interProgress * i, spawnRadius, owner.getUp()));\n\t\t\t\t\tvar target = findMin(targetsLeft, (t) -> p3DDist(t.position, pos));\n\t\t\t\t\ttargetsLeft.remove(target);\n\t\t\t\t\tif( targetsLeft.length == 0 )\n\t\t\t\t\t\ttargetsLeft = copyArray(getAITargets());\n\n\t\t\t\t\twait(i * spawnDelay, function() {\n\t\t\t\t\t\tprojStep.generateProjectile(target, tPos);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n default:\n }\n}",
"_xrefs": [
{
"from_sheet": "unit",
"from_id": "Mokshi",
"via_field": "skills"
}
]
}