Home · unit · Nepsilon

Nepsilon, Envoy of Emperor Nephisto in the land of Skover, doesn’t dislike humans personally. She’s just tasked with ensuring all areas previously inhabited by them are now inhabited by Nepsids.

Properties

type
Manfish
faction
Manfish
inherit
lvl
5
models
ref=ManfishBossR1template=0weapon=Character/Weapon/Relic/Manfish/Relic_Manfish_OysterShell_01.prefab
skills
skill=ManfishBoss_Autoflags=0phaseBlacklist=[]props={}skill=Aquatic Eruptionflags=0phaseBlacklist=[]props={}skill=Water Breathflags=1phaseBlacklist=[]props={}skill=ManfishBoss_WaterBreathStunflags=1phaseBlacklist=[]props={}
moveSetBase
ManFish
stats
levelScaling=[]flags=0attribute=Vitalitymultiplier=0.6
sequences
id=WaterBreathcomment=Moves to Point A and uses the Water Breath skillanimOverrides=[]
flags
Boss
Raw data
{
  "gfx": {
    "file": "UI/Portraits/Units/ManfishBossR1-R(Relic_Manfish_OysterShell_01).png",
    "size": 256,
    "x": 0,
    "y": 0
  },
  "id": "Nepsilon",
  "type": "Manfish",
  "faction": "Manfish",
  "inherit": [
    {
      "ref": "D_Base_Elite"
    }
  ],
  "texts": {
    "desc": "Nepsilon, Envoy of Emperor Nephisto in the land of Skover, doesn’t dislike humans personally. She’s just tasked with ensuring all areas previously inhabited by them are now inhabited by Nepsids.",
    "name": "Nepsilon"
  },
  "lvl": 5,
  "models": [
    {
      "ref": "ManfishBossR1",
      "template": 0,
      "weapon": "Character/Weapon/Relic/Manfish/Relic_Manfish_OysterShell_01.prefab"
    }
  ],
  "parts": {},
  "skills": [
    {
      "skill": "ManfishBoss_Auto",
      "flags": 0,
      "phaseBlacklist": [],
      "props": {}
    },
    {
      "skill": "ManfishBoss_Aoe",
      "flags": 0,
      "phaseBlacklist": [],
      "props": {}
    },
    {
      "skill": "ManfishBoss_WaterBreath",
      "flags": 1,
      "phaseBlacklist": [],
      "props": {}
    },
    {
      "skill": "ManfishBoss_WaterBreathStun",
      "flags": 1,
      "phaseBlacklist": [],
      "props": {}
    }
  ],
  "talentTrees": [],
  "moveSetBase": "ManFish",
  "stats": [
    {
      "levelScaling": [],
      "flags": 0,
      "attribute": "Vitality",
      "multiplier": 0.6
    }
  ],
  "props": {
    "phases": {
      "list": [
        {
          "props": {}
        },
        {
          "healthThreshold": 0.7,
          "entrySequence": "WaterBreath",
          "props": {}
        },
        {
          "healthThreshold": 0.4,
          "entrySequence": "WaterBreath",
          "props": {}
        }
      ]
    },
    "bossLootTable": "Nepsilon",
    "lootTable": "Nepsilon_LT2"
  },
  "sequences": [
    {
      "id": "WaterBreath",
      "comment": "Moves to Point A  and uses the Water Breath skill",
      "animOverrides": []
    }
  ],
  "flags": [
    "Boss"
  ],
  "vars": {
    "var1": 30,
    "var2": 1
  },
  "script": "var waterBreathSkill = Skill.ManfishBoss_WaterBreath;\n\nvar nextCrabSpawn = 0.;\nvar crabPoints = [];\nvar activeCrabs = [];\n\nfunction initCrabPoints() {\n\tclear(crabPoints);\n\taddCrabSpawn(\"CrabA\");\n\taddCrabSpawn(\"CrabB\");\n\taddCrabSpawn(\"CrabC\");\n\taddCrabSpawn(\"CrabD\");\n\taddCrabSpawn(\"CrabE\");\n\taddCrabSpawn(\"CrabF\");\n\ttrace(\"Added \" + crabPoints.length + \" crab spawns\");\n}\n\nfunction canBlockRotation() {\n\treturn !isFree() && currentSequence != null;\n}\n\nfunction onEnterCombat() {\n\tinitCrabPoints();\n}\n\nfunction onLeaveCombat() {\n\tclearCrabs();\n}\n\nfunction onCombatUpdate(dt) {\n\tupdateCrabs(dt);\n}\n\nfunction onEnterSequence(seq) {\n\tswitch(seq) {\n\t\tcase Sequences.WaterBreath:\n\t\t\tmoveTo(\"A\");\n\t\tdefault:\n\t}\n}\n\nfunction onReachMoveTarget() {\n\tswitch(currentSequence) {\n\t\tcase Sequences.WaterBreath:\n\t\t\tlookTowards(\"B\", 0.5);\n\t\t\tforceCast(waterBreathSkill);\n\t\tdefault:\n\t}\n}\n\nfunction onSkillEnd(skill, cancel) {\n\tswitch(currentSequence) {\n\t\tcase Sequences.WaterBreath:\n\t\t\tif(isSkill(skill, waterBreathSkill))\n\t\t\t\tleaveSequence();\n\t\tdefault:\n\t}\n}\n\n\n\nfunction addCrabSpawn(name) {\n\tvar pt = getPoint(name);\n\tif(pt != null)\n\t\tcrabPoints.push(pt);\n}\n\nfunction updateCrabs(dt) {\n\tfilterOut(activeCrabs, c -> c.isDead());\n\tfor(c in activeCrabs) {\n\t\tif(unit.targetUnit != null && c.target == null)\n\t\t\tc.aggroUnit(unit.targetUnit);\n\t}\n}\n\nfunction clearCrabs() {\n\tfor(c in activeCrabs) {\n\t\tdisbandFoe(c);\n\t}\n\tclear(activeCrabs);\n}"
}