PDA

View Full Version : Exalted Ruleset



Lithl
June 10th, 2009, 08:18
So, I've been working on an Exalted ruleset to use with my gaming group, but I figured some people in this community might be interested in it as well. Concerned about the licensing issues, I sent an email to White Wolf/CCP; I'm not certain that they exatly understood what I was asking, but the response was basically "Follow our Dark Pack rules"

With that in mind, I've added the Dark Pack copyright notice to the chat window on launch. With just the WW copyright notice, it seemed to me that the notice was implying that FG was owned by them as well, so I've also included the notice on the page footer here, so that everything was clear. (Hopefully anyone using FG would realize it's not owned by WW/CCP, but just in case!)

Because I've never done any work on FG rulesets before, I'm trying to do this in baby steps, and I'll be releasing incremental versions with extra features.

Exalted Ruleset v1.0
download link (https://sites.google.com/site/fgexalted/downloads/repo/Exalted2ev1.0.zip?attredirects=0)

This version is just like a paper sheet, with a few exceptions:
Specialties are specifically limited to 3 dots; while the real sheets have 5 dots for Specialties, the rules state that they cap at 3
Extra space! Specialties, Backgrounds, and Charms are all on windowlists, so you can add more without just making notes on the back of your paper. Weapons, Anima, and Virtue Flaw are all on multiline stringfields, so you can use as much space as you need. -0, -1, and -2 health levels are in windowlists so you can always have room for more when you take Ox-Body Technique.

At this time, only Solars are available, there is only one page, and nothing is calculated for you. It's as an electronic version of the normal character sheet.

Also of note, this is built on top of the nWoD ruleset. I've removed a number of things making it obviously nWoD, but not everything (ultimately, it will be all Exalted :)). Of particular note is the dice rolling: the modifier stack adds extra dice rather than adding to the total (as is proper for the Storyteller system), but it calculates successes according to nWoD rules, rather than Exalted rules.

Planned Features
Correctly implemented dice roller for Exalted
Lunar, Sidereal, Abyssal, Terrestrial, and Infernal character sheets
(nWoD has a very nice template for this character sheet switching, which I'll end up modifying for my use)
More Exalted-centric images
Exalted combat tracker
(May be implemented as a separate UI object than the standard combat tracker, I haven't looked into it at all yet)

I will NOT be releasing modules for this ruleset, as I believe that they would violate the Dark Pack rules.

Oberoten
June 12th, 2009, 07:55
So can I post this on the Wiki?

- Obe

PneumaPilot
June 12th, 2009, 15:52
I'm downloading it immediately! Can't wait to see what you've done!

PneumaPilot
June 12th, 2009, 16:30
Awesome! I really like it!

You should modify the minimum and maximum size of the sheet though, so that all of it is visible when you open the sheet.

Also, it would probably be helpful to put some of the stuff on separate pages. I know it would at least be a good idea to have a large section on another page for possessions.

Also, can Essence not go above 6? I can't remember, and I was wondering at the size of the Essence dots, since you could easily fit 10 normal size dots in that space.

One of the easiest image changes is the desktop. Just take the D20 ruleset example and change that dragon to the Exalted compass rose or something and voila! Also, you could change the wooden (or bulletin board) backdrop to green jade or something. That would look cool, although it might be an aweful color clash with some of the other elements - I don't know...

PneumaPilot
June 12th, 2009, 16:38
Replace your chat_chat.lua onDiceLanded function with this and the dice roller will work Exalted style.


function onDiceLanded(draginfo)
if draginfo.isType("dice") then
for i = 1, draginfo.getSlotCount() do
draginfo.setSlot(i);
dicelist = draginfo.getDieList();

local entry = {};
entry.font = "systemfont";
entry.icon = "indicator_casterprep";

if dicelist then
local dicecount=table.maxn(dicelist);
local successes=0;
local tens={};
local nines={};
local eights={};
local sevens={};
local sixes={};
local fives={};
local fours={};
local threes={};
local twos={};
local ones={};

local reform={};

for c = 1, dicecount do
if dicelist[c].result==10 then
successes=successes+2;
table.insert(tens,c);
elseif dicelist[c].result==9 then
successes=successes+1;
table.insert(nines,c);
elseif dicelist[c].result==8 then
successes=successes+1;
table.insert(eights,c);
elseif dicelist[c].result==7 then
successes=successes+1;
table.insert(sevens,c);
elseif dicelist[c].result==6 then
table.insert(sixes,c);
elseif dicelist[c].result==5 then
table.insert(fives,c);
elseif dicelist[c].result==4 then
table.insert(fours,c);
elseif dicelist[c].result==3 then
table.insert(threes,c);
elseif dicelist[c].result==2 then
table.insert(twos,c);
elseif dicelist[c].result==1 then
table.insert(ones,c);
end
end

for c = 1, table.maxn(tens) do
table.insert(reform,dicelist[tens[c]]);
end
for c = 1, table.maxn(nines) do
table.insert(reform,dicelist[nines[c]]);
end
for c = 1, table.maxn(eights) do
table.insert(reform,dicelist[eights[c]]);
end
for c = 1, table.maxn(sevens) do
table.insert(reform,dicelist[sevens[c]]);
end
for c = 1, table.maxn(sixes) do
table.insert(reform,dicelist[sixes[c]]);
end
for c = 1, table.maxn(fives) do
table.insert(reform,dicelist[fives[c]]);
end
for c = 1, table.maxn(fours) do
table.insert(reform,dicelist[fours[c]]);
end
for c = 1, table.maxn(threes) do
table.insert(reform,dicelist[threes[c]]);
end
for c = 1, table.maxn(twos) do
table.insert(reform,dicelist[twos[c]]);
end
for c = 1, table.maxn(ones) do
table.insert(reform,dicelist[ones[c]]);
end

draginfo.setDieList(reform);

entry.text = "Success: " .. successes;
entry.dice = reform;

if User.isHost() then
entry.sender = GmIdentityManager.getCurrent();
else
entry.sender = User.getIdentityLabel();
end
else
entry.text = "No dice left to roll.";
end

deliverMessage(entry);
return true;

end
end

end

Lithl
June 12th, 2009, 21:41
So can I post this on the Wiki?

- Obe
Sure thing.


You should modify the minimum and maximum size of the sheet though, so that all of it is visible when you open the sheet.

Also, it would probably be helpful to put some of the stuff on separate pages. I know it would at least be a good idea to have a large section on another page for possessions.
I did try that, but I didn't try very hard. When I discovered that the sheet would scroll, I stopped bothering, with more important stuff to work on.

I do plan to make multiple pages, I'm just taking this one step at a time :)


Also, can Essence not go above 6? I can't remember, and I was wondering at the size of the Essence dots, since you could easily fit 10 normal size dots in that space.
Yes, Essence can (theoretically) go up to 10, though a character must be at least 100 years old before they can possibly get Essence 6. Essence values higher than 6 are really for NPCs, in most cases.

There's a few problems that I had with the Essence value: the first was that putting 10 dots in a row simply didn't look good. I could make two rows of 5, but I was also trying to mimic the normal sheet as closely as possible.

The second problem I had was that, for characters with Essence 6 or higher, all of their Attributes and Abilities are no longer limited to 5, but rather limited to their Essence score, and there isn't really any practical space for another 5 dots for each of those values. I'm open to recommendations of that, though!


Also, on my local copy I've got the successes working correctly for Exalted already. And your suggestion doesn't include the possibility for botches :p
(A roll with 0 successes and N 1s is a Nx botch). Although I do need to come up with a nice way to deal with damage rolls, where 10s don't count double and you can't botch.

Another issue I'm wondering how to deal with is Sidereal Astrology, which can change the target number for rolls, rather than always being 7.

Lithl
June 14th, 2009, 10:15
Download Page (https://sites.google.com/site/fgexalted/Downloads)

Changes from previous version:
Added Lunar, Sidereal, Abyssal, Terrestrial, and Infernal versions of the sheet. The character sheet still operates as if it's a simple piece of paper, however.
Changed the nWoD success calculation to Exalted calculation, and fixed the extra dice from the modifier to display properly
Added a second modifier box for Target numbers. It defaults to 7, and should only be changed when dealing with Sidereal Astrology.
Holding [Shift] while rolling will make the roll a damage roll: 10s will not count double, and you cannot botch. The color of the two modifier boxes will change to red to indicate this while you hold down the [Shift] key.

PneumaPilot
June 14th, 2009, 13:54
Awesome, you've been working hard! I can't wait to see the new changes!

Blue Haven
June 15th, 2009, 11:06
Great Job! now you only have to change the skin ;) just wondeful :)

Lithl
June 15th, 2009, 15:18
now you only have to change the skin ;)
Hah! "Only" :p

Lithl
June 16th, 2009, 07:03
Version 3.0 is Available (https://sites.google.com/site/fgexalted/Downloads)

Additions:
Smart dotstats: dot-based statistics will fill in correctly by clicking on the value you really want; no more clicking every dot in between. The dotstats will also accept number data drops onto them.
[Ctrl] inverts the die reveal flag. I believe the foundation ruleset has [Ctrl] just setting the die reveal flag to true, but being able to invert it on the fly is much more useful, I think
Desktop art!

Known bugs:
The "favored" checkbox for Specialties does not respond to mouse clicks

PneumaPilot:
I seem to recall seeing you complain about not liking the way you implemented dots in your nWoD ruleset? If you're interested in my implementation, look for the following:
<windowclass name="dot"> in charsheet_classes.xml, line 224
<template name="dotstat"> in common_templates.xml, line 505
scripts/template_dotstat.lua
<dotstat name="str"> in charsheet_page1.xml, line 1157
Of particular note: make sure you include <datasource> in the dotstat, or it won't save (it's a windowlist, after all), make sure you specify a value for <maxdots> (or else the max will be 0), and if you accidentally set maxdots too high and open the sheet, the only way to get rid of the extra dots will be to delete the database nodes through Lua

PneumaPilot
June 20th, 2009, 22:53
Thanks, joshuha has been working on that part of the nWoD set too, and I just today incorporated his changes into my copy.

What I would like to know is how you pulled all the non-D10 dice to that little pile in the top right corner.

Also, since you seem to know how to put that awesome little box down by the modifier box that changes the target success number, do you know if there's a way to put little checkboxes down there? (I'm trying to put a test in for 10-again, 9-again, and 8-again) I haven't messed around with stuff on the desktop like that before.

In critique (and don't get me wrong, I'm blown away by your Exalted project), I would still say that the front page probably needs to be broken into two pages, because scrolling the charactersheet as a whole just feels clunky (not to mention all of those windowlist controls that like to hikack the mousewheel and throw off what you're trying to do).

Also, and I'm sure this is something you eventually want to do, the character sheet backgrounds should change color when you select a new Exalt-type.

Awesome job, man! You and joshuha have inspired me to get back to work on my own ruleset. I want to get it finished.

PneumaPilot
June 20th, 2009, 23:09
Nevermind. I just found how you did both of those things, and I'm already working on it.

Lithl
June 21st, 2009, 01:16
In critique (and don't get me wrong, I'm blown away by your Exalted project), I would still say that the front page probably needs to be broken into two pages, because scrolling the charactersheet as a whole just feels clunky (not to mention all of those windowlist controls that like to hikack the mousewheel and throw off what you're trying to do).
Yeah. Since the character sheet can't go taller than 768px, I can't just make the sheet large enough to fit everything; the version I've got on my PC has it shrunk down enough to fit without scrolling.

The main tab I want to leave as close to the normal sheet as possible, but I'm currently working on more in-depth tabs for things that can't be expressed on the sheet nicely (like inventory and combos, for example)

Lithl
June 23rd, 2009, 02:58
So, I'm working on sub-pages to go into more detail on various parts of the character sheet. I'm currently working on a tab for Backgrounds, but I'm not sure how to handle Familiar.

What do you think would be better:
- a windowlist of generic stats, which you can set necessary stats for the familiar
- a separate minisheet for the familiar, with all stats available
- a full sheet for the familiar (high-level familiars could conceivably be taught Charms and Sorcery), and if so, should I bother handling it at all or just let players build a second sheet?
- something else?

Edit: Additionally, should I worry about the possibility of a character with multiple familiars...?

Lithl
June 30th, 2009, 10:55
Downloads page (https://sites.google.com/site/fgexalted/Downloads)

Version 4.0 adds a number of tabs to the character sheet, though none of the data is linked between pages.

Also added is a new command: /hr, which outputs High Realm script to the chat. See the High Realm (https://sites.google.com/site/fgexalted/High-Realm) page on the project website for full details.

Despite adding several new tabs and three distinct fonts to this version, the download size has actually gone down by about a megabyte, due to removing unused files.

Arclightop
July 1st, 2009, 01:38
Im having trouble getting images to show up. Im copying the files to the images folder under the campaign, but they dont show up when I open up that campaign in FGII. The same images will show up in campaigns I have created using the other rulesets.

Lithl
July 1st, 2009, 07:14
Thanks for bringing it up. I've found where the problem lies (I removed the "images" window from the nWoD ruleset, instead of the "sketches" window... the two are identical in basically every way but name)

As a quick fix, you can simply change the name of the images folder to sketches, and it should work.

Arclightop
July 1st, 2009, 18:43
Thanks much, that worked great.

Lithl
July 9th, 2009, 03:00
Along with the normal release, for 5.0 I've also released an installer for a PAK version of the ruleset, still available on the normal Downloads Page (https://sites.google.com/site/fgexalted/Downloads), as before.

Changes from version 4.0:
Backgrounds, Charms, and Weapons on the main tab of the character sheet are now for display only. Editing the appropriate lists on other sub pages will update the display on the first page.
The Combat Tracker has been altered to behave as a battle wheel for Exalted. At the moment it's a bit ugly, but simply set a tick value in the Initiative box for each combatant. Press the Next Tick button as the combat time progresses; whenever the global tick reaches the next action of a combatant, players will be notified in the chat window. If the combatant has a token, the token will be displayed along with the message.
The NPC window has been updated to incorporate <dotstat>s, as well as to better reflect what's relevant for Exalted.

Arkhem
July 27th, 2009, 20:21
Hi. I'm VERY new to this, and I would love to make some custom modules (for my own personal use of course) for this ruleset. I have set up a test file which appears in the module activation box within the ruleset, however I can not seem to get the file to appear in the library. Are there any other files that I must modify in order to have the file appear in the library?

Sorry if this has been asked before elsewhere, I searched but I couldn't find exactly what I was looking for.

Thanks in advance.

Griogre
July 27th, 2009, 21:14
The name inside the db.xlm or common.xml must *exactly* match the name in the three line definition file, including case.

IE if the definition file says:



<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<name>Shaintar Player</name>
<author>Talisman Studios 2008</author>
<ruleset>SavageWorlds</ruleset>
</root>


The first few lines of the module files must match the name, IE:


<?xml version="1.0" encoding="ISO-8859-1"?>
<root version="2.0">
<library>
<shaintarplayer static="true">
<name type="string">Shaintar Player</name>
<categoryname type="string">Shaintar</categoryname>
<entries>....
</shaintarplayer>
</library>

... lots of stuff

</root>

Arkhem
July 27th, 2009, 21:29
Thanks, I'll double check.

Arkhem
July 28th, 2009, 00:29
Ok, well it looks like it's all ok. I used a file from the warhammer ruleset as a base for this file, and everything loads just fine in that ruleset, just not in the Exalted one. Could the problem be that I used the Warhammer code and didn't start from scratch?

Griogre
July 28th, 2009, 01:39
Do you see the ruleset defintion in the 5th line of the definition file? In the example above that ruleset would be SavageWorlds. This line has to either match the name of the ruleset you are using (exactly), or the ruleset needs to accept modules from a different named ruleset. Thus generally speaking library modules are unique to one ruleset.

Arkhem
July 28th, 2009, 03:27
I believe so, here's my definition file:


<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<name>Solar Charms</name>
<author>Arkhem</author>
<ruleset>Exalted 2e v5.0</ruleset>
</root>

And here's the beginning of my client.xml file:


<?xml version="1.0" encoding="ISO-8859-1"?>
<root version="2.0">

<library>
<solarcharms static="true">
<name type="string">Solar Charms</name>
<categoryname type="string">Book of Three Circles</categoryname>

<entries>
<excellencies>
<librarylink type="windowreference">
<class>referenceindex</class>
<recordname>..</recordname>
</librarylink>
<name type="string">Excellencies and Related Charms</name>
<index>

According to the XML editor I am using, everything is closed up tight and should be working. And, as stated above, it does work on the Warhammer Ruleset.

Griogre
July 28th, 2009, 06:03
The folder for you Exalted ruleset is called Exaluted 2e v5.0? Try taking the spaces out of the ruleset name.

Arkhem
July 28th, 2009, 16:49
ok, tried that. Still Nothing. There must be something wrong with the code. I just can't figure out why it would work fine in one ruleset but not the other. Oh well, I guess I'll just keep plugging away and see what happens.
Thanks for trying.

Lithl
July 28th, 2009, 18:22
The Book of Three Circles contains Solar Excellencies? :P

Arkhem
July 28th, 2009, 18:42
This is all just a test thus far. Kind of a proof of concept to see if I could do it before I really got into content. I suppose that the name will change once I really figure out how I'm gonna do this. If I were to post the entire code I'm using (with the copywritten stuff removed) would you guys mind taking a look?

Tenian
July 28th, 2009, 18:51
If it shows in the module activation window but opening it doesn't show in the library, that's usually some sort of XML error within the module.

If it works in one ruleset but not in another, then XML is not likely to be the problem. It could be the underlying XML classes for the library of the warhammer ruleset and the exalted ruleset are different.

Maybe you should try modifying a d20/foundation module (it should just be a matter of altering the definiton file) to show up in the exalted/warhammer rulesets. Most rulesets contain a lot of the d20 code in them.

Arkhem
July 28th, 2009, 18:59
Great. I'll give that a try. Thanks.

Arkhem
July 28th, 2009, 19:29
Ok, here is a very pared down version of the code for the definition and client files. Most of the content is removed, but the overall structure is intact. If no one sees any problems I suppose I'l try using a CSRD file as a base. Thanks.


<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<name>Solar Charms</name>
<author>Arkhem</author>
<ruleset>Exalted2ev5.0</ruleset>
</root>




<?xml version="1.0" encoding="ISO-8859-1"?>
<root version="2.0">

<library>
<solarcharms static="true">
<name type="string">Solar Charms</name>
<categoryname type="string">Charms and Sorcery</categoryname>

<entries>
<excellencies>
<librarylink type="windowreference">
<class>referenceindex</class>
<recordname>..</recordname>
</librarylink>
<name type="string">Excellencies and Related Charms</name>
<index>

<excellency1>
<listlink type="windowreference">
<class>referencetextwide</class>
<recordname>..</recordname>
</listlink>
<name type="string">First (Ability) Excellency </name>
<text type="formattedtext">
<p><b>Cost:</b> text</p>
<p><b>Minimums:</b>text</p>
<p><b>Type:</b> text</p>
<p><b>Keywords:</b> text</p>
<p><b>Duration:</b> Instant</p>
<p><b>Prerequisite Charms:</b> text</p>
<p>text</p>
<p>text</p>
<p>text</p>
</text>
</excellency1>

</index>
</excellencies>

<archery>
<librarylink type="windowreference">
<class>referenceindex</class>
<recordname>..</recordname>
</librarylink>
<name type="string">Archery Charms</name>
<index>

<nowind>
<listlink type="windowreference">
<class>referencetextwide</class>
<recordname>..</recordname>
</listlink>
<name type="string">There Is No Wind </name>
<text type="formattedtext">
<p><b>Cost:</b> text</p>
<p><b>Minimums:</b> text</p>
<p><b>Type:</b> text</p>
<p><b>Keywords:</b> text</p>
<p><b>Duration:</b> text</p>
<p><b>Prerequisite Charms:</b> tet</p>
<p><b>3m:</b> text</p>
<p><b>5m:</b> text</p>
</text>
</nowind>

</index>
</archery>
</entries>
</solarcharms>
</library>
</root>

Foen
July 29th, 2009, 06:35
Does the ruleset name (Exalted2ev5.0) match *exactly* the name of the ruleset directory, including case?

Tenian
July 29th, 2009, 11:50
Are periods allowed in ruleset names? I know they are used as delimiters in recordnames.

Arkhem
July 29th, 2009, 15:33
Alright, I'll change the ruleset name and see what happens.
Thanks.

Lithl
July 29th, 2009, 17:33
This is all just a test thus far. Kind of a proof of concept to see if I could do it before I really got into content.
Don't worry about me, I'm just messin' with ya. I haven't looked into making modules at all yet, so you're ahead of me as far as that goes ;)

Arkhem
July 30th, 2009, 04:44
Hey, no offense taken man.
I'm just swinging in the dark here, but could the issue be that all the XML in the exalted ruleset uses a root 3.0 while all of the other rulesets use a root 2.0? I only started learning about XML last week, so I have very little idea what I am talking about.

Lithl
July 30th, 2009, 16:51
As far as I know, the version attribute in the root tag doesn't actually hold much meaning. (If it does, it's a function of how FG handles the XML, not of XML itself)

The version on a root tag in any given XML file reflects the head revision in my SVN repository for the ruleset for that file. This is why not all of them list the same "version": The version number is updated when the file is changed in my version control system.

Arkhem
July 30th, 2009, 17:28
Well, I hate to say it, but I'm beginning to think there might be something wrong with the ruleset. I just can't get anything to open in the library at all, no matter where the file came from. They all appear in the module selection frame, but refuse to show up in the library. Has anyone else tried to make any modules for this ruleset successfully?

Tenian
July 30th, 2009, 18:01
Actually the root tag does hold meaning. Using a value of 2.0 versus 2.2 changes the way tags used across modules are handled. There should be a post somewhere.

Try matching it to the ruleset and see what it does. Alternatively....consider a mass search and replace on the ruleset dropping the version to 2.2 (the highest version I know FGII supports).

Arkhem
July 30th, 2009, 19:17
Thanks Tenian, that was it. All of the XML files in the ruleset were a mishmash of root versions ranging from 3.0 to 4.4. I went through each one and changed them to 2.0 and now everything is working fine. Thanks to everyone for their advice and help. I appreciate it.

Arkhem
July 30th, 2009, 19:44
Of course now none of the librarylinks in the file are working....
How do people do this day in and day out? Damn, my head feels like it's about to explode.

Griogre
July 30th, 2009, 20:21
I would second Tenian's suggestion and use root 2.2 not 2.0 - 2.0 is for older rulesets for backward compatibility. Newer rulesets are usually better off with 2.2.

Arkhem
July 30th, 2009, 20:53
I switched all the files to 2.2, and now I'm back to nothing appearing in the library again. And yes, I switched the file itself to 2.2 as well. Any thoughts?

Arkhem
July 30th, 2009, 21:15
So as I understand it this:


<root version="2.2">

is the only thing I need to change to change the version #, right?

Arkhem
July 31st, 2009, 00:26
As it stands now, I have determined that by updating the library.xml file to version 2.2 from 2.0 all of a sudden the library entries disappear. When I change it back to 2.0, the files are again visible in the library, however any links to later entries seem broken. The same library file works just fine in any other ruleset I have ported it too. This leads me to believe that the is a problem with the scripts in the ruleset which will not allow the links to function. I am now way way out of my element. Even more so than before. Any suggestions would be appreciated.
Thanks.

Oberoten
July 31st, 2009, 09:59
Check if the ruleset uses root 2.0 and change that to 2.2 ?

- Obe

Arkhem
July 31st, 2009, 16:18
Oberoten,
Thanks for the suggestion, but i tried that. Initially the ruleset was version 3.0 to 4.4. Each file had a different version #. I tried changing them all to 2.0, which got the files to the library but would not allow link functionality. Then I tried changing everything to 2.2, which again removed the files form the library.
I am stumped.

Tenian
July 31st, 2009, 16:26
What version is the module? Make sure it's XML files root versions match the ruleset root version (or are lower).

Arkhem
July 31st, 2009, 16:34
Tenian,
I have tried setting the module's version # to 2.0 and 2.2 respectively. It doesn't seem to make a difference, but I'll try again. Maybe I missed something...

Arkhem
July 31st, 2009, 16:40
Nope, no joy. Regardless of the version of the mod file, if the library.xml file is changed to 2.2 the mod files no longer show up in the library, but when I change it back to 2.0 all of the links are broken. Doh.

Zeus
July 31st, 2009, 18:01
Nope, no joy. Regardless of the version of the mod file, if the library.xml file is changed to 2.2 the mod files no longer show up in the library, but when I change it back to 2.0 all of the links are broken. Doh.
Here's the post that I believe Tenian is refering to:

https://www.fantasygrounds.com/forums/showthread.php?t=8972&highlight=root+version

Tenian
July 31st, 2009, 18:07
What exactly happens when you say "the links are broken" do you get an error in chat saying it can't locate them, a console message, an empty window, or just nothing when you click on them?

Arkhem
July 31st, 2009, 18:22
I appreciate the link, but I'm not sure how it helps me. Could someone please explain?

Arkhem
July 31st, 2009, 18:38
What I'm trying to do is set up a group of entries with the following structure:

Book Title (left column of library)
Ability Name (right column of library)
Charm Name List (New Window)
Charm Detail (New Window)

Well, when I changed the XML version of the Library.xml file to 2.0 the book title appeared in the left column, and when I clicked that the Ability names appeared in the right column. (If I leave the Library,xml file at version 3.0 or change it to 2.2 nothing appears in the library). However, when I click on the ability names (which should open another file with listed links to the individual charms), nothing happens.

Sorry if that was rambling. I tried to be as clear as possible.

Tenian
July 31st, 2009, 19:03
Do you have the console open (/console) when you are testing this? Some non-fatal errors are reported to the console.

Otherwise it sounds like you are missing a windowclass. You should confirm that the class of your links actually exists within your ruleset. Based on the information above, that would be the class for "Charm Name List"

Arkhem
July 31st, 2009, 19:34
I'll double check, but I believe I got it working fine in both the Warhammer ruleset and the d20 ruleset. It's only the Exalted ruleset I can't make it work for.

Griogre
July 31st, 2009, 19:40
The problem is the ruleset was using the root version for ruleset versions instead of FG levels so the ruleset is like 3.4 or something - which really isn't valid.

As that link that zephp posted pointed out, the difference between 2.0 and 2.2 is that lists sharing the same names are not merged from different sources. This was not an obvious problem with the d20 ruleset. Pretty much all rulesets were really built using parts of the d20 ruleset. I'm pretty sure even the foundation uses root 2.0 for it's desktop classes.

In particular almost all rulesets use the windowclasses for the top level books on the desktop. By pushing his root version up to 3.x or so Lihn has said he is using the 2.2 windowclass style for his top level book lists (including the library one) which probably weren't really used.

I'm guessing this because you say your 2.0 versions work. Thus I would suggest you change your module root version back to 2.0 and go into the ruleset base.xml file and those dealing with the FG desktop and change the root version back to 2.0. Or maybe you can ask Lihn to put out a new version? I don't think he meant to trigger the 2.2 functionallity.

Zeus
July 31st, 2009, 20:04
The problem is the ruleset was using the root version for ruleset versions instead of FG levels so the ruleset is like 3.4 or something - which really isn't valid.

As that link that zephp posted pointed out, the difference between 2.0 and 2.2 is that lists sharing the same names are not merged from different sources. This was not an obvious problem with the d20 ruleset. Pretty much all rulesets were really built using parts of the d20 ruleset. I'm pretty sure even the foundation uses root 2.0 for it's desktop classes.

In particular almost all rulesets use the windowclasses for the top level books on the desktop. By pushing his root version up to 3.x or so Lihn has said he is using the 2.2 windowclass style for his top level book lists (including the library one) which probably weren't really used.

I'm guessing this because you say your 2.0 versions work. Thus I would suggest you change your module root version back to 2.0 and go into the ruleset base.xml file and those dealing with the FG desktop and change the root version back to 2.0. Or maybe you can ask Lihn to put out a new version? I don't think he meant to trigger the 2.2 functionallity.

Looking at Goblin King's post again it would seem adding the <useallmodules /> element to the list definition of the module would also enable the older 2.0 functionality regardless of the root version being set to 2.2.

Griogre
July 31st, 2009, 20:12
True, but I am also not exactly sure how FG treats a root version of greater than 2.2, but it wouldn't hurt to try zephp's suggestion.

Arkhem
July 31st, 2009, 20:13
Does that mean just add that code to the definition file anywhere within the root?

Lithl
July 31st, 2009, 21:38
Well dang, guys, I'm sorry. I didn't realize the root version did, in fact, mean something (and apparently something important!)

I will, of course, fix it :)

Edit: The 5.0 download has been updated to reflect the change - all the XML files are now using version="2.2"

Arkhem
August 1st, 2009, 00:02
Thanks, I'll give it a try.

Edit: I hate to say it, but it's still not working. Man, I am getting frustrated.
Lithl, would you mind if I emailed you the .mod file and you could see if it works on your installation?

Arkhem
August 1st, 2009, 01:05
Lithl, did you in any way change the window attributes in such a way that they might not open using code based on another ruleset?

Griogre
August 1st, 2009, 01:42
Arkhem, remember the limitation to using something built for another ruleset is that the rulesets use the same internal data structure at least for what is in your module - or it won't work. You can almost always get text to work but much else usually doesn't.

Arkhem
August 1st, 2009, 02:02
Ok, I understand, so how do I go about writing something specifically for the Exalted Ruleset? I am an XML novice, and don't really know what I would need to change to make it compatible.

Griogre
August 1st, 2009, 03:11
What type of data do you want in your library module? Just text? Or npcs, ect?

Arkhem
August 1st, 2009, 03:19
Just text.
Actually, there's an example of the code I am presently using on page 4 of this thread.

Arkhem
August 4th, 2009, 16:17
Hi, hope everyone had a good weekend.

After studying the code I cannibalized I have come to think that the problem lies here:



<librarylink type="windowreference">
<class>referenceindex</class>
<recordname>..</recordname>
</librarylink>


since the link appears but won't open a new window, I assume it has something to do with the new window parameters of the ruleset. Anyone have any idea how I might fix this?

Griogre
August 4th, 2009, 19:31
That is an inline link. As policy I would recommend you avoid inline librarylinks. This is because you can't crosslink to inline library links and it takes about zero effort more to make real links instead of inline ones. The only time I would really recommend using inline is where you have mixed data in a list and you want each item in the list to call itself appropriately.

In plain English the two dots means the data for that link is suppose to be included directly below the record name structured for a referencenindex window.

To fix it you have two choices: 1) add the data below the recordname (which I don't recommend). 2) change the ".." to a real path to where you have the data input. Below are some examples.

Inline library link example (note I used referenceinlineindex instead of referenceindex but the structure is similar):


<knowledgeSkills>
<librarylink type="windowreference">
<class>referenceinlineindex</class>
<recordname>..</recordname>
</librarylink>
<name type="string">Identifying Monster Knowledges</name>
<index>
<combatKnowlege>
<name type="string">Identifying Monsters</name>
<text type="formattedtext">
<p>
<u>Creatures identified by each knowledge:</u>
</p>
<list>
<li>
<b>Arcana</b> - constructs, dragons, magical beasts
</li>
<li>
<b>Dungeoneering</b> - aberrations, oozes
</li>
<li>
<b>Local</b> - humanoids
</li>
<li>
<b>Nature</b> - animals, fey, giants, monstrous humanoids, plants, vermin
</li>
<li>
<b>Religion</b> - undead
</li>
<li>
<b>The Planes</b> - outsiders, elementals
</li>
</list>
<p>
<b>Knowledge Check </b>- you can use the appropriate knowledge to identify monsters and their special powers or vulnerabilities. In general, the DC of such a check equals 10 + the monster's HD. A successful check allows you to remember a bit of useful information about that monster. For every 5 points by which your check result exceeds the DC, you recall another piece of useful information.
</p>
</text>
</combatKnowlege>
</index>
</knowledgeSkills>

Non inline example, Library link section:


… other library links

<Section20Characters>
<librarylink type="windowreference">
<class>referenceindex</class>
<recordname>reference.characters@50F Player Guide</recordname>
</librarylink>
<name type="string">Characters</name>
</Section20Characters>

… other library links

Notice how the recordname is referring to a path now to a reference section of a player module - in this case the 50 Fathom Player Guide

Section with the actual data:


<reference>
… other data

<characters>
<name type="string">Characters</name>
<description type="formattedtext">
<h>Common Character Types</h>
<p>
Making heroes for <i>50 Fathoms</i> is as easy … ect
</p>
</description>
<index>
<Sec01Races>
<listlink type="windowreference">
<class>referenceinlineindex</class>
<recordname>reference.races@50F Player Guide</recordname>
</listlink>
<name type="string">Races</name>
</Sec01Races>
<Sec02Hinderances>
<listlink type="windowreference">
<class>referenceindex</class>
<recordname>hindranceLinks.hindrances@50F Player Guide</recordname>
</listlink>
<name type="string">New Hindrances</name>
</Sec02Hinderances>
... other sections
</index>

Note the indexes call other data in the same reference section in the example above “races”
and in a different section called hinderanceLinks

<races>
<name type="string">Races</name>
<index>
<atani>
<name type="string">Atani</name>
<text type="formattedtext">
<p>
Atani are… ect rest of the text for the race
</p>
</text>
</atani>

… data for the other races

</index>
</races>

… other data

</reference>

… other data

<hindranceLinks static="true">
<hindrances>
<name type="string">New Hindrances</name>
<index>

... list of hinderances links

</index>
</hindrances>
</hindranceLinks>

… other data

That was an elaborate example from a module I made a while ago for a production level module. You don’t need to be that elaborate but what I was trying to show is that you can control the flow of data and recall different pieces. The race data is a good example. You can see how it was included as part of a link at the bottom of the Character section in that index. But it was also called directly in that module with its own librarylink:



<Section22Races>
<librarylink type="windowreference">
<class>referenceinlineindex</class>
<recordname>reference.races@50F Player Guide</recordname>
</librarylink>
<name type="string"> Races</name>
</Section22Races>


If I’d used inline text for the racal data I would have had to repeat it twice which is never a good idea. For what you were doing you probabaly just want to use a library link like the one above to point to your data.

Arkhem
August 4th, 2009, 20:01
Thank you very much for the detailed response. I will study it and see where it leads me.
My concern is that I've tried associating just about every module I have from every ruleset I have (3.5E, CSRD, Castles & Crusades and Warhammer) and not a single one open beyond the initial Table of Contents" bunch of links. Regardless, I'll read your post carefully.

Griogre
August 4th, 2009, 21:51
I have not looked at the Exaulted ruleset. Bear in mind there is no reason the maker has to use the same class names as most rulesets (which are really legacies of the original d20 ruleset that came with FG1). If he renamed the class names to something else other than things like referanceindex, referancetext, ect those links will never work unless you use the classnames he used. To find out if this is the case you would have to look at the ruleset class definitions.

Lithl
August 5th, 2009, 01:03
Arkhem: The library window is essentially copied from the d20 ruleset, because the New World of Darkness ruleset mine is based on didn't have a library window.

Most class names in the Exalted ruleset are either holdovers from the nWoD ruleset, or made from scratch by me. I don't know how many of those match with the d20 ruleset, but I imagine many are different.

Arkhem
August 5th, 2009, 03:24
Woot! I figured it out!
Turns out that the base.xml file was missing the following line:


<includefile source="reference.xml" />

All I had to do was put it in and now it seems to be working fine.
Thanks, everyone for all the help.
Griogre, I'm going to try to set up my new file as you suggested.
Thanks!

Arkhem
August 6th, 2009, 16:22
Ok, for anyone else interested in making library modules for this ruleset there are two things you need to do to make them work:

A. make sure that the Library.xml file has an xml version number of 2.0. For some reason library books won't show up if the version number is set to 2.2.

B. Open the base.xml file in the ruleset and add the line


<includefile source="reference.xml" />

directly under the line


<includefile source="library.xml" />

Since the exalted ruleset is based on the nWoD ruleset (which did/does not have a library) the creators of the nWoD set must have removed this file, which tells FG how links and windows should work and open in the library.

Just thought I'd sum up real quickly for those who don't feel like reading the whole thread.

Again, thanks to everyone who helped me out. I really appreciate it.

Tenian
August 6th, 2009, 16:46
Actually reference.xml just tells FGII how to handle the classes within it. You could have library links to classes contained in other files and the links would work.

Foen
August 6th, 2009, 16:58
A. make sure that the Library.xml file has an xml version number of 2.0. For some reason library books won't show up if the version number is set to 2.2.


Version number 2.2 tells the FG engine only to use data from the current 'context' and not to include similar data from reference modules. This is useful to stop duplication of sub-lists (such as weapons on NPCs) but is unhelpful for top-level lists (including the main library book list). You *can* use 2.2, but you have to edit the left-hand windowlist definition to include the tag <useallmodules />.

The issue is explained here:

https://www.fantasygrounds.com/forums/showthread.php?t=8972&highlight=root+version

Stuart

Zeus
August 6th, 2009, 17:57
Version number 2.2 tells the FG engine only to use data from the current 'context' and not to include similar data from reference modules. This is useful to stop duplication of sub-lists (such as weapons on NPCs) but is unhelpful for top-level lists (including the main library book list). You *can* use 2.2, but you have to edit the left-hand windowlist definition to include the tag <useallmodules />.

The issue is explained here:

https://www.fantasygrounds.com/forums/showthread.php?t=8972&highlight=root+version

Stuart

2.4 is also now supported as of the new 2.4.5 release of FGII.

Foen
August 6th, 2009, 18:24
I think that 2.4 is used in base.xml only, and controls backwards-compatibility across the whole ruleset.

Lithl
September 12th, 2009, 23:24
Just piping up that I still exist. I haven't done much with this ruleset recently, due to several factors (including trying to get my gaming buddies to get their **** together and decide what FG licenses they want so we can order them as a bundle... if I can actually get FG licenses to them, they'll end up as my guinea pigs), but I haven't abandoned the project.

Blue Haven
September 13th, 2009, 14:01
...my guinea pigs), but I haven't abandoned the project.

Lol do you have Guinea pigs?? so do i :) cool ;)