PDA

View Full Version : Advanced PC tools extension



Ikael
August 25th, 2011, 22:51
I made this small extension for Savage Worlds v3.1 that adds support for exporting pre-generated player character to modules. Exported characters are complete copy of original so you can setup these characters fully, export and put them in use without need add missing character information in new campaigns.

In addition I added support for exporting and importing individual player character to single XML file. This is alternative way for moving characters from campaign to another.

Gamemaster's character selection view has been updated slightly by adding new Menu button, for importing XML character. Also there is own frame for pre-generated characters. When you have exported character to module, and you open that module in your campaign, all pre-generated character will be listed in this frame. Gamemaster can thereafter include pre-generated character in the campaign by dragging-and-dropping them to character selection list. Export window has also been updated slightly by adding the option to export "Pre-generated characters".

Hopefully people will find this useful.

PS: Changes in the original code are very small and it would be very easy to include these features to core SW ruleset.

phantomwhale
August 28th, 2011, 05:53
v3.2 will have pre-gen support for modules already, but sounds like you've done something slightly different here to the implementation I've coded, so I'll try and take a look and see if it'll play well or improve what's there (which I dare say it will). Nice one.

Ikael
August 28th, 2011, 10:19
Here are the changes that were made to existing windowclasses and scripts. You can also found out which windowclasses belongs to which original file.
This will help people who want to embed it into their ruleset

IMPORTANT: This extension actually should work for any other ruleset that's d20/foundation ruleset based. All you need to do is remove the <ruleset> restriction tag from extension.xml . Alternatively the way how to embed it into the ruleset is similar. However I won't guarantee that it would work out of the box, but according to my experience these windowclasses and scripts are the very same in most d20/foundation based rulesets and they are also untouched in most cases. Be sure to backup your ruleset before doing anything that you are not sure of.



export_categoryentry --> utility_export.xml
-------------------------------------------
Changes: window's script was altered to contain
new importsource variable


export --> utility_export.xml
-------------------------------------------
Changes: no changes here, it's only inside
extension to make it use revised scripts
(export.lua and export_list.lua)


charactersheetlistentry --> utility.xml
-------------------------------------------
Changes: Added new registered item in window for
exporting characters to XML files


pregensmall --> utility.xml
-------------------------------------------
totally new windowclass


charactersheetlist --> utility.xml
-------------------------------------------
Changes: Added the pregen frame and menu-button


export.lua
-------------------------------------------
Changes: addExportNode function was revised and
all sources where it was called.


export_list.lua
-------------------------------------------
Changes: addCategories function was revised that
each item contains also the setImportName call.
Difference between import and export names is that
you can set one database nodename as input (import)
that will be read from the root databasenode and
it will be exported using the export as databasenode.
It's only used by pregens where you define charsheet
as input source and export it to pregen source.


export_tokens.lua
-------------------------------------------
Changes: no changes here (this actually could be
left out from extension)


utility_pregenlist.lua
-------------------------------------------
totally new script

phantomwhale
September 16th, 2011, 00:31
Thanks for the breakdown, I've had a look and it fits nicely in with what I'd already written; whereas I'd gone with allowing NPCs to drag and drop onto the PC selector, which copies the NPC into the PC list, you've gone with exporting actual PC entries into a module.

Your approach works better for PC fields that NPCs don't normally have (you'd have to hack the module XML to put them in under my approach). Drag and Drop NPCs does allow quick conversion of allies / henchman to fully fledged PCs too. So together, it's gonna be a nice offering.

And I'd added the export / import PC stuff from XML files as slash commands, so adding them in as menu options on the PC selector too makes a lot of sense.

Overall, made a few changes, but should get most of it into the v3.2 release. Cheers for the efforts and nice explanation of what changes there are, really helped with integration.

phantomwhale
October 10th, 2011, 13:32
Ok, this might get bumped back to v3.3 now in order to get 3.2 released this year.

Have added an item to the wishlist, for anyone keen to see this get into the next, next release : http://savagefgii.idea.informer.com/proj/?ia=33672