Just a notes dump so far, note that I am fully supportive of your endeavors but I'm contractually obligated to be picky :
There's no need for a Render* template for most of this. It should be moved into SemanticPotionData and not bother with a hash table. The one complexity here is with rendering the recipe for the item, but this needs to be done in another way, really; one that isn't fully defined yet.
There needs to be a distinction between what an item is crafted by and what the item is, there doesn't need to be such a tight coupling between them. Namely, Cooking Potion, Spirit Hearing Water, and Likeability Potion are not actual potions. They don't function like potions and they're not used as potions. They're a cooking ingredient, quest item, and gift item, respectively. However, they are crafted by Potion Making, so they do need "concocted item" semantics but not potion semantics. This means that the SemanticPotionData can't necessarily set up any hash tables for rendering the crafting recipe, cause other categories of items will also need to have that setup.
I'm a little confused as to why we have Potion effect property as well as the others:
|potionEffect=Restores 100 HP
It seems like it's used for doing things like |potionEffect=Permanently increases [[Strength]] by 1 but part of SMW is to make information accessible to computers as well as humans, and this is not. I think it would be better to separate this effect out, as like potionIncreaseStat and potionIncreaseAmount.
With regard to how the skill exp potions work, I wonder if it would be more valuable to separate out that information as an effect, since it adds an effect to your character in the stats screen, and then link the potion via like potionCausesEffect, then you could do a template call to render the effect infmoration into the potion page.
|Posted by Kadalyn (administrator) on 4 August 2019 at 15:11.|
Edited by Kadalyn (administrator) on 4 August 2019 at 15:11.