{"id":15996319,"url":"https://github.com/zkat/ironsworn-mechanics","last_synced_at":"2025-10-21T04:31:37.082Z","repository":{"id":239391147,"uuid":"799386887","full_name":"zkat/ironsworn-mechanics","owner":"zkat","description":"Various support utilities and some custom rendering for mechanics in Ironsworn-family games (Starforged, Sundered Isles, etc).","archived":true,"fork":false,"pushed_at":"2024-05-12T23:04:25.000Z","size":336,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-16T14:18:27.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zkat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-12T01:32:40.000Z","updated_at":"2024-07-08T09:36:47.000Z","dependencies_parsed_at":"2024-05-12T19:27:04.533Z","dependency_job_id":null,"html_url":"https://github.com/zkat/ironsworn-mechanics","commit_stats":null,"previous_names":["zkat/ironsworn-mechanic-blocks","zkat/ironsworn-mechanics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkat%2Fironsworn-mechanics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkat%2Fironsworn-mechanics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkat%2Fironsworn-mechanics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkat%2Fironsworn-mechanics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zkat","download_url":"https://codeload.github.com/zkat/ironsworn-mechanics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237436475,"owners_count":19309910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T07:41:29.647Z","updated_at":"2025-10-21T04:31:31.700Z","avatar_url":"https://github.com/zkat.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ironsworn Mechanics Plugin\n\nThis plugin provides a few utilities and some custom rendering for\nIronsworn-family games, making the experience feel more like a virtual\ntabletop.\n\n## Supported Mechanics\n\n### Mechanic Code Fences\n\nThis plugin renders a [KDL](https://kdl.dev/) block into a formatted\nIronsworn/Starforged mechanics block, with nice styling and all that.\n\nIt takes an Obsidian note that looks like this:\n\n\u003cimg src=\"img/mechanics-raw.png\" width=\"800\"\u003e\n\nand turns it into this:\n\n\u003cimg src=\"img/mechanics-rendered.png\" width=\"800\"\u003e\n\n#### `move`\n\nDeclares a new move. A single ``mechanics`` block can contain multiple of\nthese nodes.\n\n##### Arguments\n\n- `moveName`: the name of the move\n\n##### Example\n\n````kdl\n```mechanics\nmove \"Face Danger\" {\n    roll action=6 stat=3 adds=0 vs1=8 vs2=9\n    - \"ouch\"\n}\nmove \"Endure Harm\" {\n    - \"-1 health\"\n    roll action=3 stat=4 adds=0 vs1=3 vs2=5\n}\n```\n````\n\n#### `-` (dash)\n\nAdds an \"arbitrary\" text entry under the move. You can put anything in here.\n\nParent: `move`\n\n##### Arguments\n\n- `text`: the text to display\n\n##### Example\n\n```kdl\n- \"Oh man that was interesting\"\n- \"+progress on the vow to get macdonalds\"\n```\n\n#### `roll`\n\nAdds a regular roll to the move.\n\nParent: `move`\n\n##### Properties\n\n- `action`: the value of the action die\n- `stat`: the value of the stat to add\n- `adds`: the total value of the adds\n- `vs1`: the first challenge die\n- `vs2`: the second challenge die\n\n##### Example\n\n```kdl\n// This will be rendered as a Weak Hit\nroll action-die=3 stat=2 adds=1 score=6 challenge1=3 challenge2=7\n```\n\n#### `progress-roll`\n\nAdds a progress roll to the move.\n\nParent: `move`\n\n##### Properties\n\n- `score`: the number of filled track boxes the progress move is rolling against\n- `vs1`: the first challenge die\n- `vs2`: the second challenge die\n\n##### Example\n\n```kdl\n// This will render as a Miss on progress\nprogress-roll score=5 challenge1=6 challenge2=7\n```\n\n#### `reroll`\n\nRerolls one or more dice from a previous roll in the same move. The move's\nresult will be automatically updated.\n\nParent: `move`\n\n##### Properties\n\n- `action` (optional): the new value of the action die\n- `vs1` (optional): the new value of the first challenge die\n- `vs2` (optional): the new value of the second challenge die\n\n##### Example\n\n```kdl\nmove \"Face Danger\" {\n    // weak hit (score = 6)\n    roll action=3 stat=2 adds=1 vs1=3 vs2=7\n\n    // strong hit (score = 9)\n    reroll action=6 vs1=5\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzkat%2Fironsworn-mechanics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzkat%2Fironsworn-mechanics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzkat%2Fironsworn-mechanics/lists"}