{
"id": "Mokshi_Leaves",
"gfx": {
"x": 36,
"y": 38,
"file": "UI/Placeholder/Icons_Resources.png",
"size": 48,
"width": 2,
"height": 2
},
"anim": {
"file": "Anim/Faerie/_Boss_Mokshi/Anim_Faerie_Mokshi_SharpLeaves.fbx",
"speed": 0.6
},
"type": 11,
"vars": {
"var1": 3
},
"flags": 0,
"props": {
"needTarget": true
},
"steps": [
{
"on": 0,
"type": 13,
"props": {
"rotation": {
"limiter": 320
}
},
"duration": 2
},
{
"on": 0,
"type": 3,
"props": {
"castFlags": 8
},
"duration": 2
},
{
"id": "GenerateProjectiles",
"on": 0,
"type": 11,
"delay": 0.2,
"props": {}
},
{
"id": "Projectile",
"on": 8,
"type": 7,
"props": {
"projectile": {
"base": "MissileStraight",
"fxSet": "Projectile_Honey_Shuriken_Spawn",
"scale": 1,
"speed": 25,
"aimStyle": 0,
"hitFilter": 1,
"followTime": 0.1,
"activationDelay": 2,
"collisionRadius": 0.5
}
},
"range": 500
},
{
"on": 7,
"type": 11,
"delay": -0.4,
"props": {},
"visuals": {
"playAnims": [
{
"anim": {
"file": "Anim/Faerie/_Boss_Mokshi/Anim_Faerie_Mokshi_SharpLeaves.fbx",
"blend": 0.2,
"startFrame": 35
}
}
]
}
},
{
"on": 2,
"type": 0,
"props": {},
"effects": [
{
"flags": 0,
"effect": 0,
"scaling": [
{
"atb": "FoePower",
"ratio": 0.7
}
],
"affinity": "Physical"
}
]
}
],
"texts": {
"name": "Sharp Leaves"
},
"nature": 0,
"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}",
"status": 0,
"aiProps": {
"pickPrio": 5,
"targetCount": [
0
],
"castMaxRange": 30
},
"mastery": [],
"cooldown": 25,
"duration": 1
}