Home · skill · Weighstone_Status
Properties
- nature
- Status
Referenced by
item (1)
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"
}
]
}