I have been using TW5 to document my campaign. Nothing fancy, just tags
and lists, etc. Now, I want to document the GURPS
<http://www.sjgames.com/gurps/details.html> spells that I have been
creating. Sorry for the long example, but I wanted to give as much
context as possible.
Here is what the spells would look like in GURPS:
“Magic MIssile 1”
Innate Attack (crushing) 1d-1, 3.5
Cosmic, no roll required, +100%
Increased 1/2D, 5x, +10% 1/2D 10 yds
Reduced Range, x1/5, -20% Max 20 yds
Spell w/components, -50%
[40%/5]
“Magic MIssile 2”
Innate Attack (crushing) 1d+1, 6.5
Cosmic, no roll required, +100%
Increased 1/2D, 5x, +10% 1/2D 10 yds
Reduced Range, x1/5, -20% Max 20 yds
Spell w/components, -50%
[40%/10]
I had 3 design goals:
Hide the information on how the spell was "built", using the GURPS rules,
unless the player specifically wanted to read it. This would reduce the
clutter.
Be able to "find all spells that cost 5"
Be able to "find all variants of 'Magic Missile"
I figured the best way to model this would be using a data tiddlers and a
template. Searching the group, I found a way to hide the "build"
information so that it doesn't clutter up the interface. The template
tiddler is:
BasicSpellFormat
<$button class="tc-btn-visible" popup=<<qualify "$:/temp/popup1">>>
//{{##spell}}// ''{{##damage}}'' {{##range}} [{{##cost}}]
</$button>
<$reveal type="nomatch" state=<<qualify "$:/temp/popup1">> text=""><br>
{{##build}}
</$reveal>
And the data tiddlers are:
MagicMissileData1
{
"spell":"Magic Missile",
"damage":"1d-1 cr",
"range":"(1/2D: 10 yds, Max: 20 yds)",
"cost":5,"build":"Innate Attack (crushing) 1d+1, 6.5<br> Cosmic, no
roll required, +100%<br> Increased 1/2D, 5x, +10% 1/2D 10
yds<br> Reduced Range, x1/5, -20% Max 20 yds<br> Spell
w/components, -50%<br> [40%/10]"
}
and
MagicMissileData2
{
"spell":"Magic Missile",
"damage":"1d+1 cr",
"range":"(1/2D: 10 yds, Max: 20 yds)",
"cost":10,"build":"Innate Attack (crushing) 1d+1, 6.5<br> Cosmic, no
roll required, +100%<br> Increased 1/2D, 5x, +10% 1/2D 10
yds<br> Reduced Range, x1/5, -20% Max 20 yds<br> Spell
w/components, -50%<br> [40%/10]"
}
And the final tiddlers are
[[Magic Missile 1]]
{{MagicMissileData1||BasicSpellFormat}}
and
[[Magic Missile 2]]
{{MagicMissileData2||BasicSpellFormat}}
It looks like this (when expanded):
*My questions:*
1. Is there a better way to encode newlines (and non-breaking spaces) into
the "build" index data? Having to type "<br>;nbsp; " for each new
line is a lot of redundant work. I know I can't put newlines in a
dictionary data tiddler, but it also seems that I cannot encode newlines in
a JSON data tiddler either. I could live with using an escape character
sequence ("\n"), but I couldn't figure out how to parse the data in the
template tiddler. All I could do was output the data ({{##build}}), so I
had to encode the raw HTML into the data itself (not ideal). Can I use a
"filter", or write some javascript?
2. How would I list all tiddlers for "all spells that cost 5" or "all
variants of 'Magic Missile'"? Have I made it too complex? I went with
this approach because if I just used plain tiddlers with a few custom
fields (i.e. "cost" and "name"), I would have to copy and paste the button
code into each tiddler, and I was trying to save myself all of that
copy/pasting.
I have more questions, but I shall refrain for now. Any help would, of
course, be greatly appreciated.
Chris
P.S. I am a 20+yr Java programmer, so I am not afraid of a little syntax
;-) I just don't know what it is.
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/97f0e4b4-f6f7-401e-8b01-4ec289add4ed%40googlegroups.com.