Re: Wherein prof.ebral and I discuss node referencing systems
At this stage we probably now have a better understanding of what the other guy's stuff is doing, although you probably need to figure out mine more and I suggest grabbing a character sheet I have been working on; I will have to host the file somewhere. You'll need a copy of the 1.8.0+ developer version but I think you have that already? So we can now move on to talking about an idealised system in terms of what outcomes we'd like to see.
But I'll answer the queries you had about mine as we go along of course.
prof.ebral wrote:
I hate to keep bringing this up, so this is the last time I am going to pro-actively bring this up. I noticed you have underscores by all your Skill names. You do that so users can append their PC name or a shorthand version of it, correct?
Oh good god no. That would be primitive name-mangling. I suppose to a certain extent I can see your point. The reason that I put the _ in front is to indicate this is basically a node that you'll never want to send to chat like a private variable. And in particular because it corresponds to a node you really do want to send to chat with the same name.
Specifically I want my die rollers to all have an individual name so I can type it into chat. Now you've gone for a list node on yours I see so there's no individual name for each skill, save, or attribute check die roll for you I suppose. That's one way of doing it but it means you can't specify the individual die roll from the list. At best you specify the list, bring up the Use dialog and then manually select from the drop list. Then you have to hit "send" separately. Many steps.
Incidentally I made it so when you double-click on a list control you automatically send to chat so that saves you one step. I don't yet have it closing the Use dialog on you afterwards.
Anyway the point is I find all that a lot of work compared to simply typing the word "Swim" hitting return and there's your swim dieroller sent to chat. Or else I click on the mini in the map and select it from the menu, "Skills" / "Swim" and it's done.
Now to be able to specify these items like that they need to be named so I have to have them in separate nodes not a list. Currently my mini right-click menu plugin will see a list node as just one menu item. It will try to send the value of it to chat. That actually works without asking for a selection as the list recalls what was selected last. This is fine for lists that have static values but not for a way of short-cutting a lot of die-rolls. I guess i never use lists myself. Really you'd want some lists to have a separate entry for each of their choices on the menu. Or else you could pop-up the Use dialog just for that list box when you hit the menu for it.
Again for typing in a word to chat the list box doesn't work too well. I used to have it so you could bring up the Use dialog by typing "U <name of node>" but i never used it so I took it out.
Yes I am getting to the point of your question.
Because I think the character sheet works best with each die roll as a separate node I have two nodes with similar names in my sheet. Namely the die roll node and the numeric value associated with it. For example "Will" is the Will saving throw but "_Will" is the value added to the d20 roll for the Will save. You type "Will" into chat to get the dieroll, but you'd need to use "_Will" if you were adding bonuses. I can't have them called the same because I want to try and have uniquely named single-word nodes for ease of references. (It's not
necessary but I want it that way). Hence the need to make the second node name a little different.
My intuition here is that what is needed is a separation of the UI and the data so that you have a new node maybe that is called a "value" and this value can't be sent to chat by the user easily. It doesn't show up in the Use dialog, it isn't appearing in the mini-right-click menu, you can't get it by typing into chat. Only by going to the tree can you get it. But any references within a node are assumed to refer to it, and any bonuses are assumed to refer to it and not the exactly same named node that has a dieroller. So there's two kinds of nodes UI and data. The UI nodes can be "seen" by the user and the data nodes can be seen by the internal references.
But for now I have one named with an underscore. In fact for the abilities there are even more related nodes so I end up with Strength, _Strength, Str and Str_Base all doing slightly different things but that's down to the complexity of the D&D bonus system which really does have three different concepts there (or more).
Instead of _Will I could have called it eg. Will_add or Will_bonus. But I can't call it "Skill Check" or "Saving Throw" as there's one for each save.
Especially if I get node-name completion working better (start typing Wi and hit tab) -- oh you need the right plugin to get that to work and I haven't checked it in yet. But if I do that "Wi" tab Iget this:
Quote:
** Multiple matches found: Will, Wisdom, Wis_Base, Wild Shape, Wis
So OK fair enough Will and Wisdom start the same but I don't want "Wild Shape" because that only applies to another PC (so my list needs to be PC sensisitve) and Wis and Wis_Base should somehow have a status of "not interesting to the user; for internal use only".
Quote:
I keep finding conflicts with names in your nodes.
In fact, the conflicting is so bad that if I have one duplicate node name the whole global system becomes broken, unless I Un-Index the duplicate node. Is that a design flaw?
You mean it goes red? That would be a design flaw in the character sheet not the OpenRPG. You don't want two nodes with the same full path. Until we decide that full paths won't be supported which would badly break old sheets. but why would you ever want two exactly same named nodes in the same container? I don't really understand what problem you are trying to describe here. if you have one red named node it won't screw up any other node. That's the whole point. It's red to say "I found this bad boy that would have messed you up so I took it out of consideration for references".
You shouldn't have to unindex (make red) a node because the system will do that for you. The only time you'd want to do that is if you have a good reason for a name to be the same and want to specify which will be "seen" by references.
At any rate feel free to ask more questions about my system because I don't think you have got the ideas quite down yet. However let us also move on to talking about what we'd like in a system.