Home · skill · Weighstone_Status

Properties

nature
Status

Referenced by

Raw data
{
  "id": "Weighstone_Status",
  "nature": "Status",
  "texts": {},
  "anim": {},
  "steps": [],
  "flags": [],
  "mastery": [],
  "props": {
    "status": {
      "types": [
        {
          "type": "Buff"
        }
      ],
      "stackingPolicy": 2,
      "persistant": true,
      "statusFlags": 1
    }
  },
  "vars": {},
  "script": "var weaponTypes = [ItemType.Shield, ItemType.Mace, ItemType.DualMaces, ItemType.GreatMace, ItemType.Fists];\n\nfunction onStart(ctx) {\n\tremoveStatus(owner, Skill.Whetstone_Status);\n}\n\nfunction onRegUpdate(dt) {\n\tvar equipped = false;\n\tfor (t in weaponTypes) {\n\t\townerHero?.loadout.equipment.doOnAllItems((i, c) -> {\n\t\t\tif (i.isType(t))\n\t\t\t\tequipped = true;\n\t\t});\n\t}\n\tif (equipped)\n\t\ttryAddStatus();\n\telse\n\t\ttryRemoveStatus();\n}\n\nfunction onStop(ctx) {\n\ttryRemoveStatus();\n}\n\nfunction tryRemoveStatus() {\n\tremoveStatuses(owner, s -> s.kind == Skill.ItemStatus && s.getSourceItem() == status.getSourceItem());\n}\n\nfunction tryAddStatus() {\n\tvar alreadyAdded = false;\n\tif (owner.statuses != null) {\n\t\tfor (s in owner.statuses) {\n\t\t\tif (s.kind == Skill.ItemStatus && s.getSourceItem() == status.getSourceItem()) {\n\t\t\t\talreadyAdded = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (!alreadyAdded)\n\t\taddStatus(owner, Skill.ItemStatus);\n}",
  "_xrefs": [
    {
      "from_sheet": "item",
      "from_id": "Weightstone",
      "via_field": "props"
    }
  ]
}