Hook naming
The included code gives an error, and it turns out it is because it's using hook names based on strings starting with a capital letter. When changed to all lowercase, it works. Is this a bug or a limitation of hook names?
(set: $SB to 0)
(set: $skills to (dm: "Athletics", 1, "Artifice", 1, "Intuition", 1, "Communication", 1, "Observation", 1, "Scholarship", 1))
Available Skill Bonuses = [$SB]<availbonus|
(for: each _skill, ...(datanames: $skills))[
_skill = {(link-repeat: "-")[
(if: _skill of $skills is > 0)[
(set: _skill of $skills to it -1)
(if: _skill of $skills is 0)[(set: _skill of $skills to -2)]
(set: $SB to it +1)
(replace: "?"+_skill)[(print: _skill of $skills)]
(replace: ?availbonus)[$SB]
]]} (hook: _skill)[(print: _skill of $skills)]{(link-repeat: "+")[
(if: $SB > 0 and _skill of $skills < 3)[
(set: _skill of $skills to it +1)
(if: _skill of $skills < 1)[(set: _skill of $skills to 1)]
(set: $SB to it -1)
(replace: "?"+_skill)[(print: _skill of $skills)]
(replace: ?availbonus)[$SB]
]]}