• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

My tweaks to support Themes

Daphne Pfister

Well-known member
See this thread for newer versions of this framework.
I've updated these to work with 3.16 data files and support User.FeatureChk -- I've removed the older 3.14 / 3.15 files. Also added sample Harper Agent and Pack Outcasts themes. The Harper Agent further in the thread is an older version that does the pin a different way.
3.16c adds support for bootstrap encounter, daily and utility powers

This is my tweaks to the 4e data files to support themes, in case they are of interest to anyone. Note that they do not do any importing from the DDI site, but require manual entry. This set of changes just adds a background tab, support for Theme Features and Powers as well as the editor changes necessary to add such. A bare minimum sample theme is included.

Installation:

Easy way - Replace files from the zip file.
  1. Grab the 4e_themes_3.16c.zip file from this attachment.
  2. Start HeroLab, launch in 4e. Choose the menu Tools -> Explore Folders -> Game System Data Folder. ( Might say directory under windows not sure )
  3. Unpack the zip file and place the files in the folder/directory that just opened.
  4. Restart HeroLab, it should recompile the files and you should now be able to add themes.

Hard way - Patch files ( Windows might require cygwin or Microsoft's Unix tools )
  1. Grab the 4e_themes_3.16c_patch.txt file from this attachment.
  2. Open a terminal window.
  3. Change to the 4e data directory. You can find the path using Tools -> Explore Folders -> Game System Data Folder menu mentioned in the easy way. On Mac's this will be ~/Library/Application\ Support/Hero\ Lab/Data/4e.
    Code:
    cd ~/Library/Application\ Support/Hero\ Lab/Data/4e
  4. Apply the patch
    Code:
    patch -p1 < ~/Downloads/4e_themes_3.16c_patch.txt

I'm giving up all my rights to any of the changes I made, so if Lone Wolf wishes they can just borrow what ever they want from them, especially since they are heavily based on what already exists.

To add a new theme.

  • Pick a go 6 letter id for the them, e.g. PacOut
  • Launch the editor in HeroLab using Tools -> Launch Editor menu.
  • Create a new user data file. File -> New Data File
  • Create the starter theme features. It's best to create the theme features before the theme itself so that you can bootstrap them easily. Most themes have a level 1, level 5 and level 10 feature.
    • Select the "Theme Feature" tab in the editor.
    • Click the "New (Blank)" button to start a new feature.
    • Give it an id such as "ftPacOut1".
    • Set Level requirement to 1.
    • Use name to the theme name followed by "Starting Feature" for the name of the feature.
    • If the feature provides a power create the power like normal, but leave the Level Requirement blank and set the power class to "Theme Power". Then add the power to the bootstrap for that feature.
    • Add the rest of the details about the feature as needed then save the feature.
    • Click the "Test Now!" button so that you can add this feature through the "Choose" buttons for the bootstraps later.
  • Now create the level 5 and level 10 theme features.
    • Click the "New (Blank)" button to start a new feature.
    • Give it an id such as "ftPacOut5".
    • Set Level requirement to 5 or 10
    • Use name to the theme name followed by "Level 5 Feature" or "Level 10 Feature" for the name of the feature.
    • Add powers similar to how they were added for the Starter Feature.
    • Add the rest of the details about the feature as needed then save the feature.
    • Click the "Test Now!" button so that you can add this feature through the "Choose" buttons for the bootstraps later.
    • Repeat for the level 10 feature.
  • For the theme itself, go to the new "Theme" tab and add a theme. You can take a look at the "Sample Theme" here if you wish by copying it.
  • Open the bootstraps window and add the id's for the three theme features there. ( No need for conditions to handle levels, the system will take care of that automatically. ) Assuming that you compiled the data files with the features in them already or used "Test Now!" on each one the name of the feature should appear in the bootstrap list along with the thing id.
  • Add any other background details as necessary and the save the theme.
  • Again click "Test Now!" to make it easier to add dependencies on this theme to the utility powers.
  • Add the optional utility powers.
    • Create these as if they were normal powers, but use the "Power Theme" field to make the powers as requiring the new theme.
    • Add the Level Requirement to the level, and set the Power Type to "Utility Power".
    • Save and repeat for each utility power giving them unique ids. Example "pwPacOut2".
    • Then "Test Now!"
    • repeat for each of the available utility powers.
  • Then just save the data file into a user file and it should be available to characters.

Where to find themes ported by other users.
  • MagicSN's .user files: MagicSN has implement several themes you can find them in the thread. In order to keep the thread clean, please keep discussion here.
  • cryptoknight's forum: cryptoknight has forum with a large number of theme user files.

Edit: Rewrote instructions to match 3.16 data files
 

Attachments

Last edited:
Oh, this is great! I'll see if there's anything I can do to get it working in Windows. Thanks for sharing, my players will be very pleased :D
 
These instructions are for the old version, which is attached. See the first post for the new versions and updated instructions.

Here is the subset of only the changed files with the patched already applied, plus the new tab_theme.dat and thing_themes.dat files. Just unzip into the 4e data directory.

To add a new theme.

Pick a go 6 letter id for the them, e.g. PacOut

First launch the editor

Then create the theme features. It's best to create the theme features before the theme itself so that you can bootstrap them easily. Most themes have a level 1, level 5 and level 10 feature.
Click the "New (Blank)" button to start a new feature. Give it an id such as "ftPacOut1". Set Level requirement to 1. The name to the theme name followed by "Starting Feature". If the feature provides a power create the power like normal, but leave the Level Requirement blank and set the power class to "Theme Power". Then add the power to the bootstrap for that feature.
Add the rest of the details about the feature as needed then save the feature. Click the "Test Now!" button so that you can add this feature through the "Choose" buttons for the bootstraps later.

Repeat for the level 5 and level 10 features.

For the theme itself, you can either copy an existing background using New ( Copy ) or create the theme from scratch. Most of the themes will already exists as backgrounds if you used the downloader.

Check the "Is a theme?" check box.

Open the bootstraps window and add the id's for the three theme features there. ( No need for conditions to handle levels, the system will take care of that automatically. ) Assuming that you compiled the data files with the features in them already or used "Test Now!" on each one the name of the feature should appear in the bootstrap list along with the thing id.

Add any other background details as necessary and the save the theme. Again click "Test Now!" to make it easier to add dependencies on this theme to the utility powers.

Next add the optional utility powers. Create these as if they were normal powers, but the Power Class field should be set to "Theme Power". And the Level Requirement to the level, and the Power Type to "Utility Power".

Click the "Pick-reqs" button to add the theme as a requirement to be able to choose the power. Click the add pick requirement button. The "Is Error?" and "Highlight Panel?" should be already checked. So just put the theme id in the field next to the choose button, or you can pick the thing from the choose button if you used the "Test Now!" button.

Save and repeat for each utility power giving them unique ids. Example "pwPacOut2". Then "Test Now!", repeat for each of the available utility powers.

Then just save the data file into a user file and it should be available to characters.

( Hopefully bundling them up like this is okay, since the definitions.dat file listed the 4e system files as public domain. )
 

Attachments

Last edited:
Well that's just beautiful :D Thank you! I've just finished testing it with a real theme, and it's working perfectly.

It's a shame HeroLab doesn't support multiple backgrounds, and therefore themes have to replace backgrounds - but background are so simple, it's hardly a big deal. Thanks so much for sharing!
 
Glad it worked for you. Was a fun little project, especially learning how to make new tabs and customize the output so that theme features all showed up in the right place etc.

For the themes I was playing with ( Neverwinter ) as far as I know all required the associated background to be picked, so I just combined the two for simplicity. Are there themes that don't require specific backgrounds? If so I can split them up.

Edit: I'm looking at splitting them up. Note that this might require replacing themes as backgrounds with themes as themes. I'll try to do it in a way that allows you to do a gradual switch without invalidate any of the portfolios.

Edit 2: I'm mostly done with my next series of tweaks. I'm just trying to figure out how to find tune the dependency checking a little. The way I've got it right now is that I can make a theme require a background. But I would like this requirement to work more like magic weapon requirements, where if a something with a required background is picked and no background is currently selected that the error message show up at the background field instead of at the field that required the background. ( Didn't end up doing this bit )

Edit 3: Here is the patch file to go from v1 on my tweaks to v2. I'm going to replace the files above as well as tweak the notes. To use this version you will need to replace the background created for the old version with themes which is a new tab in the editor. There is also now a "Power Theme" field that can be used instead of setting Power Class to "Theme Power" and adding a required tagged for the theme. Also character sheets should now show the theme power with the Theme name instead of just "Theme Power" after that switch.
 

Attachments

Last edited:
Ah, I'm not surprised they did something more rigid with it in Neverwinter. As best I understand, most themes are not attached to a background - I certainly can't find any mention of it in Darksun, where they first showed up. The real point is, technically HeroLab should allow you to select multiple backgrounds for a character, and then require you to choose the benefit from only one of them.

I always figured the HL devs left it out because it's a pretty unimportant aspect of character building - there's no reason you couldn't just write in additional backgrounds, if they don't need to have a mechanical effect.

In any case, these changes look really exciting, and it would be super awesome if you can post the patched files like last time :D
 
I'm a total newbie with the editor, and I need help keying a certain Theme in, "Harper Agent," to be exact. Any help in this will be greatly appreciated.
 
Harper Agent

I'm a total newbie with the editor, and I need help keying a certain Theme in, "Harper Agent," to be exact. Any help in this will be greatly appreciated.

Just saw this. Harper Agent is one of the two theme's that I am using. I've attached how I did it with all of the descriptions, summary and flavor text removed. Hopefully that should be enough of a starting point. I was kinda of lazy in how I handled picking Harper Blessings. You will have to make sure that the "Harper Pin" is equipped to see some of the powers.

Edit: The attached file is an other version.
 

Attachments

Last edited:
Does this still work? I really want to get themes on my characters, but I'm unsure if this will do what I need. I don't relish the though of having to hand create the themes even after using this patch, but beggars can't be choosers I suppose.
 
Theme patch works against 3.16.

The 3.15 patch still work against 3.16 as none of the patched files have changed in 3.16. At one point I thought about doing a tweak to ddidownloader to get it to export the themes but since I'm not currently playing a 4e game haven't really had the itch to do so.
 
Other than an occasional LFR game I also don't have a regular 4e game, but recently I sat down at a con, and realized that themes have gotten interesting enough that hand-coding them in doesn't even bother me.

I wish Wolflair would just incorporate your patch, even if I have to type them all in by hand, it would at least get them in there :)

Thanks!
 
Hmmm having trouble with something like the Black-Hearted Knave.

It's level 1 trait is a bonus attack power (highest stat vs AC), triggered by shoving one of his friends at his intended enemy.

So I made the power and left the attack stat as none, and checked the boxes to have the physical or mental attribute selected, but while the validation says I must select an attribute, I can't find anywhere to do so.

Any tips?
 
Still struggling here.

I'm not sure if there's a panel missing to make selections based on the theme, or if I'm doing this wrong. Can you take a look?

Dude is a swordmage who multiclassed to wizard and took the Blackstaff Apprentice theme.

At level 5 it should give him access to 3 cantrips of his choice, I used the code from the Mage class (who also gets 3 picks out of 4 cantrips), and the validator says he needs to select, but I don't see a spot to select them. Did I miss something, or does the tweak need tweaking?

Thanks!
 

Attachments

I'll take a look, I noticed that you included Harper in your file, you might want to check my last post on the previous page where I had the full implementation of Harper just needing the description text pasted in. It includes updating the pin giving the blessing choices.
 
I set usrCandid1: component.Power & PowerLink.HarperPin1

This caused as choice of all the things that were of component.Power that had tag PowerLink.HarpenPin1 assigned.

Then I had a script that assigned the tag Helper.ChosenOpt to the chosen thing.

Though I think I like the way Mage cantrips work. Let me see if I can get User.FeatureChk working correctly. I think I broke it slightly with my changes, would allow me to work around a small hack I had to put into my patch.
 
Yah I can see how that wouldn't work anyway... I'd need to have all 4 powers show up with check boxes, similar to the class feature... :/
 
Okay I updated my patch so it supports the stuff necessary for such a feature. Check the first post for the updated files. Let me know if the stuff works for you. The sample Harper agent ( again sans description / flavor text ) has been updated to use FeatureChk so should be a good sample of how this works.

I've only done minimal testing and removed a bunch of other unrelated customizations I have, so hopefully didn't break anything in the process. I did leave some fixes in for character sheets, including one related to User.FeatureChk powers which would get printed on page two even if the feature wasn't checked.
 
Back
Top