I have a half-baked attempt at the same. It's on its 4th iteration now, and still doesn't reach its raison d'ĂȘtre. Let me share what little I can.
I started on MiniScript because there is a minuscule yet non-zero chance that it might be considered for Flare. Don't bother. I only found disadvantages, obstacles and frustration. I turned to JS in a browser. I'm not fond of JS either, but it is the most widely deployed environment around. Since you are reading this, you already have all you need.
At first I started parsing Flare's item files, but then I realized that only the Empyrean Campaign has an items.txt. Which meant that there was no need to. As a human defining items it's so much easier to work in a spreadsheet, and it so happens that parsing that was also easier. Just c&p the spreadsheets' contents into textareas and work on the data from there. Then you can output a whole items.txt, which is also easier to generate than to parse.
I realized a lot of things along the way, some of which escape me as I write this. For instance, if one wants modifiers that override a base stat, modifiers that multiply it, and modifiers that add/stack, one has to come up with pretty complicated rules to keep the output consistent and repeatable (I stuck to additive modifiers only). If you want your modifiers to get a value from an interval, you'll have to come up with a notation. Multi-valued attributes are still an unsolved problem for me. I mean, for ex., a modifier that raises all of damage and accuracy (a fairly common modifier). For many reasons it is best to define and store and treat them as separate entries, but then I have yet to come up with a way to apply them as a whole.
Then comes the combining. The basic operation is a cross product between modifiers and items. I have them match on item_type and equip_flags. As a cross product, you'll end up with powerful modifiers attached to lesser items. That's undesirable, and the deprecated item level attribute may serve to manage that. I haven't dealt with that yet. Things get more complicated when/if you want combining rules to define qualities. As in, basal quality items have none, quality A gets 1 or 2 modifiers, quality B gets 3 or 4, etc.; and which are available for which. That was what I was tackling lately.
And I say "was", because with the value-from-intervals thing, and the unmanaged cross product, there are much more powerful items, with more modifiers and more variation, than regular items. I hadn't worried. I remembered vaguely, from my initial exploration of the engine, a loot system for that. Then I went to have a look. And saw that it comes close to having to declare every single drop chance for every single item for every single time and place that it may get dropped. That took out all of my momentum.
I don't know if I just need a break, or if I'm going to retake the work. But some of the ideas may be of interest to you, perhaps even a bit useful.
Thanks, Danimal. I've been giving some thought to our little concern. You managed to clarify to me number 5 even as you went in a different direction. Regarding 3 & 7:
3) That's not what I meant, but how to declare, for instance, dealing melee+mental damage in an Empyrean setting. Or, in a D&D setting, piercing+bludgeoning. It could be done with bonus, but I wondered if it could be declared as base damage. I wasn't at my clearest. The opposite situation is interesting too: absorption of, say, mental damage alone.
7) Yup, at least not headed "stats". Your very example shows bonus=dmg_melee_min,100 which is a power effect type. Other examples from Empyrean's level_8_unique.txt: bonus=fire_resist,35 (another power effect type), bonus=speed,125 (likely either of the core stat "speed" or the power effect type "speed", although there's also a power attribute "speed" but it's about missile speed and these are Escape Boots). I suspect that bonus can take "stats" and at least some power effect types... but which ones?
Nice going! I am starting a similar effort, but have not begun to get my hands dirty yet. I started by slowly refining my concepts, classes, setting, etc. So right now all I have are tables and notes. I hope that I can reach the point where you are now. It sure is a lot of work, and making heads and tails out of the Flare files is a challenge. But I expect to see how it all fits together once (if?) I get down to it. And perhaps credit some of your assets ;)
Enough for an introduction. Your idea sounds manageable in complexity as the creation of items goes, and easy to follow while playing. But I share your fear. Such a method will run out of combinations quickly and you out of names even faster, for the level of variety that I understand you have in mind.
My suggestion would be for you to leave it at that, however, so as to not bog down your progress. It is, as I understand, fairly easy to add more items later.
When I was going through what the engine offered, and got to the items, my thought was that it would be possible to write a script to generate them. Not within the engine, just to automate the combining into a file for it. I may still get to share that, but don't wait for me, you are far too much ahead.
I have a half-baked attempt at the same. It's on its 4th iteration now, and still doesn't reach its raison d'ĂȘtre. Let me share what little I can.
I started on MiniScript because there is a minuscule yet non-zero chance that it might be considered for Flare. Don't bother. I only found disadvantages, obstacles and frustration. I turned to JS in a browser. I'm not fond of JS either, but it is the most widely deployed environment around. Since you are reading this, you already have all you need.
At first I started parsing Flare's item files, but then I realized that only the Empyrean Campaign has an items.txt. Which meant that there was no need to. As a human defining items it's so much easier to work in a spreadsheet, and it so happens that parsing that was also easier. Just c&p the spreadsheets' contents into textareas and work on the data from there. Then you can output a whole items.txt, which is also easier to generate than to parse.
I realized a lot of things along the way, some of which escape me as I write this. For instance, if one wants modifiers that override a base stat, modifiers that multiply it, and modifiers that add/stack, one has to come up with pretty complicated rules to keep the output consistent and repeatable (I stuck to additive modifiers only). If you want your modifiers to get a value from an interval, you'll have to come up with a notation. Multi-valued attributes are still an unsolved problem for me. I mean, for ex., a modifier that raises all of damage and accuracy (a fairly common modifier). For many reasons it is best to define and store and treat them as separate entries, but then I have yet to come up with a way to apply them as a whole.
Then comes the combining. The basic operation is a cross product between modifiers and items. I have them match on item_type and equip_flags. As a cross product, you'll end up with powerful modifiers attached to lesser items. That's undesirable, and the deprecated item level attribute may serve to manage that. I haven't dealt with that yet. Things get more complicated when/if you want combining rules to define qualities. As in, basal quality items have none, quality A gets 1 or 2 modifiers, quality B gets 3 or 4, etc.; and which are available for which. That was what I was tackling lately.
And I say "was", because with the value-from-intervals thing, and the unmanaged cross product, there are much more powerful items, with more modifiers and more variation, than regular items. I hadn't worried. I remembered vaguely, from my initial exploration of the engine, a loot system for that. Then I went to have a look. And saw that it comes close to having to declare every single drop chance for every single item for every single time and place that it may get dropped. That took out all of my momentum.
I don't know if I just need a break, or if I'm going to retake the work. But some of the ideas may be of interest to you, perhaps even a bit useful.
Nice! Thanks again
Thanks, dorkster. I'm trying to think of ways to get the most out of what there is.
With the answers of both and more file tinkering I am clear on all of the seven.
I could tack down this to the Reference if you'd like.
Thanks, Danimal. I've been giving some thought to our little concern. You managed to clarify to me number 5 even as you went in a different direction. Regarding 3 & 7:
3) That's not what I meant, but how to declare, for instance, dealing melee+mental damage in an Empyrean setting. Or, in a D&D setting, piercing+bludgeoning. It could be done with bonus, but I wondered if it could be declared as base damage. I wasn't at my clearest. The opposite situation is interesting too: absorption of, say, mental damage alone.
7) Yup, at least not headed "stats". Your very example shows bonus=dmg_melee_min,100 which is a power effect type. Other examples from Empyrean's level_8_unique.txt: bonus=fire_resist,35 (another power effect type), bonus=speed,125 (likely either of the core stat "speed" or the power effect type "speed", although there's also a power attribute "speed" but it's about missile speed and these are Escape Boots). I suspect that bonus can take "stats" and at least some power effect types... but which ones?
Nice going! I am starting a similar effort, but have not begun to get my hands dirty yet. I started by slowly refining my concepts, classes, setting, etc. So right now all I have are tables and notes. I hope that I can reach the point where you are now. It sure is a lot of work, and making heads and tails out of the Flare files is a challenge. But I expect to see how it all fits together once (if?) I get down to it. And perhaps credit some of your assets ;)
Enough for an introduction. Your idea sounds manageable in complexity as the creation of items goes, and easy to follow while playing. But I share your fear. Such a method will run out of combinations quickly and you out of names even faster, for the level of variety that I understand you have in mind.
My suggestion would be for you to leave it at that, however, so as to not bog down your progress. It is, as I understand, fairly easy to add more items later.
When I was going through what the engine offered, and got to the items, my thought was that it would be possible to write a script to generate them. Not within the engine, just to automate the combining into a file for it. I may still get to share that, but don't wait for me, you are far too much ahead.