Skill Cooldown Placeholder/Conditions do not function correctly when Cooldown is defined inline
Demonstration of issue, also applies to cooldown conditions. Cast test-cooldown-inline and test-cooldown twice each for comparison.
test-cooldown-inline:
Skills:
- skill{s=test-cooldown-inline-exec;cooldown=12} @self
test-cooldown-inline-exec:
OnCooldownSkill: test-cooldown-ocd
Skills:
- message{m="Casted"} @self
test-cooldown-inline-ocd:
Skills:
- aura{d=80;i=5;
ot=[
- message{m="<caster.skill.test-cooldown-inline-exec.cooldown>"}
]} @self
# - message{m="<caster.skill.test-cooldown-inline-exec.cooldown>"} @self
# Will Not Show Cooldown, despite the skill being on cooldown from the inline skill cast
test-cooldown:
Cooldown: 12
OnCooldownSkill: test-cooldown-ocd
Skills:
- message{m="Casted"} @self
test-cooldown-ocd:
Skills:
- aura{d=80;i=5;
ot=[
- message{m="<caster.skill.test-cooldown.cooldown>"}
]} @self
# - message{m="<caster.skill.test-cooldown.cooldown>"} @self
# Will show cooldown
Another issue is needing to make a different onCooldownSkill for every single skill which is castable as <caster.skill.[someskill].cooldown> requires you define the skill name, and you can't put a mm placeholder inside another mm placeholder. (Would be cool if you could though)
To fix, implementing a placeholder like <skill.var.cooldown-duration> which fetches the latest cooldown "upwards" from the current skill tree would allow for the creation of a single cooldown skill to display if an item/skill is on cooldown.