Jagged's HotFL Log Book

Discussion of your thoughts & requests, help for users and game specific configuration files for Character Tool

Moderators: dorpond, Azhrei

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Jagged's HotFL Log Book

Post by Jagged »

Jagged's Heroes of the Fallen Lands Log Book
I've been reading the adopter threads and investigating how the 4e game was put together so that I could start work on the HotFL book. I spent a little while wondering whether or not D&D Essentials should be a separate game. I am told the mechanics are the same but the character creation is somewhat simplified. I have also seen some argument as to whether or not characters are compatible, some say they are, some that characters from Essentials are over powered when running in the 4e game. I don't know (care?) but since it might be an option to run both in one campaign I decided to build HotFL as a source for the 4e game. This thread will be the log book for that work.

Work Environment:
  • I am running Eclipse Java EE IDE for Web Developers, Helios Service Release 2.
  • Subclipse 1.6.17 for SVN. There seems to be a dependancy issue with Subclipse and the Helios version of Eclipse. If you want to upgrade to Helios from an earlier version, DON'T. The subversion upgrade breaks. Unistall subclipse. Upgrade to Helios. Then do a clean subclipse install. See here
  • Runtime environment JDK 1.6.0_21
Project Install
I already had Maptool running in this environment so I had previously downloaded the common.build project from https://rptools.svn.sourceforge.net/svn ... uild/trunk. I also downloaded https://rptools.svn.sourceforge.net/svn ... tool/trunk and https://rptools.svn.sourceforge.net/svn ... /web/trunk.
If you are new to using Subclipse you download a new project by clicking File > New > Other > SVN > Checkout Projects from SVN. Click Next and use the urls above. If you don't get the SVN option then you need to install Subclipse, see the link above.

Running Chartool from within Eclipse
You may have seen another thread on this subject. When you launch Chartool it appears to look for the game files and then downloads them from rptools.net. The web project you have downloaded is a local copy of the relevant rptools.net directory. For Chartool to work from within Eclipse you need to construct the game files (Follow these instructions). I think you also need to reference the web project in your Chartools project properties. Right click your Chartool project folder, select Properties. Click "Java Build Path" and the "Source" tab. Add a Folder, use the folder name "web" and select the \src directory of the web project.

Providing you have successfully built the game files (as described here) you should be able to run the Chartool project from within Eclipse.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Adding a new source: hotFL
The data for all the existing sources used in the 4e game can be found here: chartool\resources\game\dnd4e\sources
The existing sources provide plenty of examples. If you look deeper into the \phb2\property\database directory you will see loads of .rpdat files. Open these using a text or xml editor to see what info they contain.

To create a new source I first have to put something into it! I decide the first thing would be the HotFLs version of "Human". Since I need the source to be compatible with the 4e game I won't be replacing their definition, I will be creating a second "Human" option. I've decided to call it "Human(e)". The differences are small so this should be an easy first step.
  • Create a new directory: chartool\resources\game\dnd4e\sources\hotfl
  • Create a new directory: chartool\resources\game\dnd4e\sources\hotfl\property
  • Create a new directory: chartool\resources\game\dnd4e\sources\hotfl\property\database
  • Create a new file: chartool\resources\game\dnd4e\sources\hotfl\property\properties.xml
  • Create a new file: chartool\resources\game\dnd4e\sources\phb2\property\database\race.rpdat
Now for the properties.xml file I just copied the one from chartool\resources\game\dnd4e\sources\phb2, edited to change the source description.
For the race.rpdat file I used the one from the 4e base game chartool\resources\game\dnd4e\property\database. I updated the source info on the 7th line and then deleted all the race data except for the human example. Then I changed the name data from "Human" to "Human(e)".

That should create a new race called "Human(e)" that behaves exactly the same a "Human". To test that I need to build my new source file and transfer it into my game directory.
  • Modify chartool\build.xml to build my source file.
  • Copy the source file to \Users\username\.chartool\game
To modify the build.xml I used the phb2 source as an example. After the appropriate phb2 section I added the following code:

Code: Select all

<uptodate property="dnd4e-hotfl.uptodate" targetfile="${web.gameSettings}/dnd4e-hotfl.rpgame">
	<srcfiles dir="${game.files}/dnd4e/sources/hotfl" excludes="java/**"/>
</uptodate>
and

Code: Select all

<target name="make-dnd4e-hotfl" unless="dnd4e-hotfl.uptodate" depends="game-up-to-date">
    <zip destfile="${web.gameSettings}/dnd4e-hotfl.rpgame" basedir="resources/game/dnd4e/sources/hotfl" update="true" excludes="sources/**, src/**"/>
    <propertyfile file="${web.gameVersions}">
      <entry key="dnd4e-hotfl.version" type="int" operation="+" value="1" default="0"/>
      <entry key="dnd4e-hotfl.name" value="Heroes of the Fallen Lands"/>
      <entry key="dnd4e-hotfl.parent" value="dnd4e"/>
    </propertyfile>
</target>
EDIT: 4-May-2011
You also need to add the new source name (dnd4e-hotfl) to the list of game versions so that it appears in the list of options for dnd4:

Code: Select all

    <target name="game-up-to-date">
    <propertyfile file="${web.gameVersions}">
        <entry key="games" value="d20fantasy, savageWorlds, hero, gurps, dnd4e, dnd4e-phb2, dnd4e-hotfl, dnd4e-av, dnd4e-primal-power, dnd4e-tk-macros, dnd4e-veggiesama-macros, pathfinder, eclipsePhase"/>
    </propertyfile>
END EDIT: 4-May-2011

Then added "make-dnd4e-hotfl" to the "build-game-files" dependancies on line 15. Hopefully that should be fairly straight forward :) Then run the ant build with the "build-game-files" target and it will build all the source files.

You should now have a new source file in the \Workspace\web\src\tools\inittool\gameSettings directory. Copy the new files: dnd4e-hotfl.rpgame and version.properties to your game directory: \Users\username\.chartool\game

You can now launch Chartool from within Eclipse. You will almost certainly not see your new source file straight away. Swap to the default game then swap back to 4e. You may even have to click "Browse" and load the "dnd4e-hotfl.rpgame" file from your game directory for it to appear. But once there the game should find it. However every time you copy a new file over you will have to "Reload the Current Game". Once the new source appears select it and new race "Human(e)" should appear. Selecting it should load the same defaults as "Human".
Last edited by Jagged on Wed May 04, 2011 3:59 pm, edited 2 times in total.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Next step is to change the defaults that are loaded when you select race "Human(e)". The last entry in the list of race properties is a modifierSetName. This links to a property set in the modifer.rpdat file.

The current value is <modifierSetName>race.human</modifierSetName>. If you look in the chartool\resources\game\dnd4e\property\database\modifier.rpdat file you will find a set of modifiers called race.human.0, race.human.1 etc all with a modifer set name of race.human. Using these as a basis I will create a unique set of HotFL
  • Copy chartool\resources\game\dnd4e\property\database\modifier.rpdat to chartool\resources\game\dnd4e\sources\hotfl\property\database\modifier.rpdat
  • Rename the source on line 7
  • delete all modifers except the race.human set
  • In the HotFL race file I change the name of the modifer set to race.humanE
  • In the HotFL modifers file I change all occurances of "race.human" to "race.humanE" i.e. <name>race.human.0</name> becomes <name>race.humanE.0</name> etc and <modifierSetName>race.human</modifierSetName> becomes <modifierSetName>race.humanE</modifierSetName>
  • I add a new modifer <name>race.humanE.3</name>. I am going to create one to add the race power "Heroic Effort"
I want to add the racial power "Heroic Effort" so I am going to create a power.rpdat file. As with the others I:
  • copied from chartool\resources\game\dnd4e\property\database director into the chartool\resources\game\dnd4e\sources\hotfl\property\database directory.
  • Renamed the source on line 7
  • Deleted all the existing powers.
  • Added a new one for Heroic Effort (see below)
For Heroic Effort I added the following

Code: Select all

  <!-- Racial Powers -->
  <power>
    <name>Heroic Effort</name>
    <kind>'Racial'</kind>
    <level>0</level>
    <source>Human(e)</source>
    <flavor>Your grim focus and unbridled energy means that failure is not an option.</flavor>
    <type>Encounter</type>
    <action>Immediate Interrupt</action>
    <attackTypeAndRange>'Personal'</attackTypeAndRange>
    <trigger>You miss with an attack or fail a saving throw.</trigger>
    <effect>You gain a +4 racial bonus to the attack roll or saving throw.</effect>
  </power>
Then updated the modifier "race.humanE.3" to the following:

Code: Select all

  <modifier>
    <name>race.humanE.3</name>
    <appliedTo>powers</appliedTo>
    <applies>eq(getIfExists("root.race.race.name", ""), source)</applies>
    <type>race</type>
    <modifierSetName>race.humanE</modifierSetName>
    <source>Human(e)</source>
    <bonus>'Heroic Effort'</bonus>
    <stack>false</stack>
  </modifier>
Now rebuild the game files, copy them to your game directory, then reload your game from within Chartool and when you select "Human(e)" as your race you should get +1 to will, fort, reflex and the racial power "Heroic Effort".

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Idea Note
When you select "Human(e)" I would quite like to select a racial feat that reminds you to add +2 to the ability score of your choice. In theory that should be possible but since there arn't any existing examples that add feats I am going to note that down as "Advanced" stuff and look at it later ;) It may require messing about with the 4e game file to add feats to the modifer look-ups? Not sure.

It should also be possible to create a feat that asks you to select an ability and then adds 2 to that score. But again I am going to note that down as "Advanced" and look at it later ;)

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

I am not planning on working my way methodically through the HotFL :shock: but will add the things I need for characters we are currently using. Fortunately for me they are all very low :) First on the list: Hoegarth, lvl 2 Mage.

Tasks to create Hoegarth include:
  • Create a "Mage" class. Again as with Human I don't want to clash with "Wizard"
  • Create any new powers. For example I know Magic Missile is different so I will create a Magic Missile(e) version.
  • Create a modifer set to install Mage class defaults
To create a new class I need first to create a class.rpdat file:
  • Copy the class.rpdat from chartool\resources\game\dnd4e\property\database to chartool\resources\game\dnd4e\sources\hotfl\property\database
  • Change the source on line 7
  • Delete all the existing class properties except Wizard, since that is almost exactly what we want.
  • Change the class name to Mage
  • Update the various class descriptions, fortunately they are all pretty close
Next I want to change the defaults that are loaded when you select the Mage class. Like I did with Human I am going to copy from the 4e game modifiers to the HotFL modifers:
  • From the chartool\resources\game\dnd4e\property\database\modifier.rpdat file find all the modifers belonging to the <modifierSetName>class.wizard</modifierSetName> set
  • Copy them to the chartool\resources\game\dnd4e\sources\hotfl\property\database\modifier.rpdat file
  • Change all occurances of "class.wizard" to "class.mage"
  • In the chartool\resources\game\dnd4e\sources\hotfl\property\database\class.rpdat file change the modifer set from "class.wizard" to "class.mage"
If you build and deploy your game files (remember to copy them to the game directory) you should now be able to select a Mage class and get the same default powers. However we want a different set of spells. We want to remove the existing ones and add Magic Missile:
  • Change the bonus listed in "class.mage.4" from <bonus>'Ghost Sound'</bonus> to<bonus>'Magic Missile'</bonus>
  • Delete "class.mage.5", "class.mage.6" & "class.mage.7"
Rebuild and deploy again, reload game files and when you select class "Mage" you should get Magic Missile as your default spell.

Unfortunately the Essentials version of Magic Missile is different so we need to create a new version of the spell:
  • From the 4e game power.rpdat (you know where that is now right?) find the magic missile spell and copy it into your HotFL power.rpdat file (and know where that is now right?)
  • Change the name to "Magic Missile(e)"
  • Change the bonus in the modifer "class.mage.4" to "Magic Missile(e)"
Rebuild, copy and reload your game files and selecting "Mage" should now start you off with "Magic Missile(e)".

Now need to add in the optional powers at this level. This is done exactly the same as adding the Magic Missile spell.
Added:
  • Cantrip: Suggestion
  • Lvl1 AT-Will: Magic Missile(e)
  • Lvl1 AT-Will: Arc Lightning
  • Lvl1 AT-Will: Beguiling Strands
  • Lvl1 AT-Will: Freezing Burst
  • Lvl1 AT-Will: Hypnotism
  • Lvl1 AT-Will: Phantasmal Assault
  • Lvl1 AT-Will: Phantasmal Cage
  • Lvl1 Encounter: Charm of Misplaced Wrath
  • Lvl1 Encounter: Illusionary Obstacles
  • Lvl1 Daily: Fountain of Flame
  • Lvl1 Daily: Phantom Chasm
  • Lvl2 Daily: Instant Friends
  • Lvl2 Encounter: Spectral Image
Last edited by Jagged on Sat Apr 23, 2011 2:51 pm, edited 1 time in total.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Going to add some feats for the three schools of magic.

Again I am going to copy the base file from the 4e game to the HotFL game.
  • Copy the file chartool\resources\game\dnd4e\property\database\feat.rpdat to chartool\resources\game\dnd4e\sources\hotfl\property\database\rpdat
  • Change the source description in line 7
  • Delete all the existing feats
  • Create 3 new feats, one for each school
I used and example class feat to get the prerequisit code. The feats I added looked as follows:

Code: Select all

  <!-- class abilities -->
  <feat>
    <name>Enchantment Apprentice [Mage]</name>
    <benefit>When one of your arcane enchantment powers allows you to pull, push, or slide a creature, the maximum distance of the forced movement increases by 2 squares.</benefit>
    <prerequisiteText>This is available to Mages from the Enchantment School.</prerequisiteText>
    <prerequisiteMet>eq(getIfExists("root.class.class.name", ""), "Mage")</prerequisiteMet>
  </feat>
  <feat>
    <name>Evocation Apprentice [Mage]</name>
    <benefit>When you roll damage for an arcane evocation power, if any of the dice come up with a result of 1, pick one of them, reroll it, and use the new result.</benefit>
    <prerequisiteText>This is available to Mages from the Evocation School.</prerequisiteText>
    <prerequisiteMet>eq(getIfExists("root.class.class.name", ""), "Mage")</prerequisiteMet>
  </feat>
  <feat>
    <name>Illusion Apprentice [Mage]</name>
    <benefit>When you hit a target with an arcane illusion power, the target takes a -2 penalty to the next attack roll it makes against you before the end of your next turn.</benefit>
    <prerequisiteText>This is available to Mages from the Illusion School.</prerequisiteText>
    <prerequisiteMet>eq(getIfExists("root.class.class.name", ""), "Mage")</prerequisiteMet>
  </feat>
My Mage also has the Staff Expertise feat. The basic bonus seems to be the same as "Weapon Proficiency" so I can reuse that (i.e. use the same modifier set) but give it a fixed value instead of a choice (which seems to be nicely built into the system ;) )

Code: Select all

  <!-- adventurer feats -->  
  <feat>
    <name>Staff Expertise</name>
    <benefit>You gain +1 feat bonus to the attack rolls of implement powers and weapon powers that you use with a staff.  This bonus increase to +2 at 11th level and +3 at 21st level.  In addition when you make a ranged attack or an area attack with a staff as an implement, you don't provoke opportunity attacks for doing so.  When you make a melee attack with a staff, the weapon's reach for that attack increase by 1.</benefit>
    <optionValue>Staff</optionValue>
    <modifierSetName>feat.weaponProficiency</modifierSetName>
  </feat>
Last edited by Jagged on Sun Apr 24, 2011 3:25 am, edited 1 time in total.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Question: I don't have the 4 books just the Essentials. Can anyone tell me if the 4 version of Burning Hands is the same as the essentials and does half damage if you miss?

Note: Until I hear otherwise I am going to assume it should do hald damage and will add that detail to the 4e definition.
Last edited by Jagged on Sun Apr 24, 2011 9:00 am, edited 1 time in total.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

That will do for the mage for now. The next thing I want to work on is a Warpriest:
  • Create a warpriest class in the class.rpdat
  • Create all the powers required for first level (if they don't already exist)
  • Load the defaults for the class
  • Create feats for Storm Domain and Sun Domain.
  • Auto load the associated Domain powers when adding the domain feat
To create the warpriest class I will just copy the Cleric from 4e. Change the name and modifier set to "warpriest" and update the proficiencies and bits of text:

Code: Select all

  <class>
    <name>Warpriest</name>
    <role>Leader. You lead by healing and shielding allies with your prayers, and by drawing on divine powers that improve your allies' attacks.</role>
    <powerSource>Divine. You have been invested with the authority to wield divine power on behalf of a deity, faith, or philosophy.</powerSource>
    <keyAbilities>Wisdom, Constitution</keyAbilities>
    <armorProficiencies>Cloth, Leather, Hide, Chainmail, Light Shield, Heavy Shield</armorProficiencies>
    <weaponProficiencies>Simple Melee, Simple Ranged</weaponProficiencies> 
    <bonusToDefense>+2 Will</bonusToDefense>
    <firstLevelHitPoints>12 + Constitution Score</firstLevelHitPoints>
    <firstLevelHitPointScript>12 + root.con.current</firstLevelHitPointScript>
    <hitPointsPerLevel>5</hitPointsPerLevel>
    <healingSurges>7 + root.con.currentMod</healingSurges>
    <trainedSkills><![CDATA[<html>
      Religion. Plus three from the list below: Arcana(Int), Diplomacy(Cha), Heal(Wis), 
      History(Int), Insight(Wis), Religion(Int)
    ]]></trainedSkills>  
    <buildOptions>Sun Domain, Storm Domain</buildOptions>
    <classFeatures>Channel Divinity, Healer's Lore, Healing Word, Ritual Casting</classFeatures>
    <modifierSetName>class.warpriest</modifierSetName>
    <implements>Holy Symbol</implements>
  </class>
Now look at the powers required:
  • Healing word already exists
  • Add Smite Undead
  • Add Nimbus of Holy Shielding
  • Add Lesser Aspect of Wrath
  • Add Levy of Judgment
  • Add Blessing of Wrath
  • Add Storm Hammer
  • Add Create Water
  • Add Thundering Steel
  • Add Storm Surge
  • Add Blessing of Battle
  • Add Brand of the Sun
  • Add Sun's Glow
  • Add Sun Burst
  • Add Soothing Light
Last edited by Jagged on Sun Apr 24, 2011 4:16 am, edited 2 times in total.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Question: Healing Word already exists. But it does not mention the additional dice at lvls 6, 11, 16, 21 and 26. Does 4e do that or is the Essentials version different?

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Okay, looking back at my list I need to load the defaults for the class. In the class definition I called the modifer set "class.warpriest". So I need to create a list of modifiers, like I did for the Mage. Again I will use the examples from 4e:
  • Open the file chartool\resources\game\dnd4e\property\database\modifier.rpdat
  • Find the "class.cleric" set
  • Copy them to chartool\resources\game\dnd4e\sources\hotfl\property\database\modifier.rpdat
  • Rename them "class.warpriest.0", "class.warpriest.1" etc and the modiferSet name to "class.warpriest"
That will create a set exactly the same as the cleric but the warpriest is slightly different:
  • Set class.warpriest.0 to add 1 to will (was 2)
  • Set class.warpriest.1 to add 1 to fortitude
  • Set class.warpriest.2 to weapon.proficient (same as class.cleric.1)
  • Set class.warpriest.3 to offhand.proficient (same as class.cleric.2)
  • Set class.warpriest.4 to armor.proficiencyPenalty (as cleric.class.3)
  • Set class.warpriest.5 to powers and 'Healing Word' (as cleric.class.6)
  • Set class.warpriest.6 to powers and 'Channel Divinity: Smite Undead'
Rebuild and deploy game files and test warpriest default powers.

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Next on the list is to create two feats to represent the abilities you get when you select your domain. Relatively straight forward except I am going to create a modifier set to add the spells for each domain.

Add the following to the feats file:

Code: Select all

  <feat>
    <name>Storm Domain [Warpriest]</name>
    <benefit>You gain resist 5 lightning and resist 5 thunder.  In addition, when you use Healing Word, the target also gains a +2 power bonus to the next damage roll he or she makes before the end of his or her next turn.  This bonus increase to +4 at 11th level and +6 at 21st.</benefit>
    <prerequisiteText>This is available to Warpriest initiates of the Storm God.</prerequisiteText>
    <prerequisiteMet>eq(getIfExists("root.class.class.name", ""), "Warpriest")</prerequisiteMet>
    <modifierSetName>class.warpriest.storm</modifierSetName>
  </feat>
  <feat>
    <name>Sun Domain [Warpriest]</name>
    <benefit>You gain a +2 bonus to death saving throws.  While within 5 squares of you, your allies also gain this bonus.  In addition, when you use your healing word, you or an ally in the burst regains 2 hit points.  The hit point increase to 4 at llth level and 6 at 21st.</benefit>
    <prerequisiteText>This is available to Warpriest initiates of the Storm God.</prerequisiteText>
    <prerequisiteMet>eq(getIfExists("root.class.class.name", ""), "Warpriest")</prerequisiteMet>
    <modifierSetName>class.warpriest.sun</modifierSetName>
  </feat>
Then create two modifier sets "class.warpriest.storm" and "class.warpriest.sun"
For Storm add:
  • Channel Divinity: Storm Surge (Storm)
  • Storm Domain: Blessing of Wrath
  • Storm Domain: Storm Hammer
  • Storm Domain: Create Water
  • Storm Domain: Thundering Steel
For Sun add:
  • Channel Divinity: Soothing Light (Sun)
  • Sun Domain: Blessing of Battle
  • Sun Domain: Brand of the Sun
  • Sun Domain: Sun's Glow (had to enclose that is double quotes because of the 's)
  • Sun Domain: Sun Burst

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Question: Is there a reason why Staffs/Staves as defined in the 4e game file don't do any damage? Essentials says they double for quarterstaffs, but the 4e game file doesn't list them any damage.

Note: I am going to add 1d8 damage to the staff definition in the 4e game. My copy anyway ;)

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

I have decided to jump back to my Mage to give him the Earthroot Staff he picked up during an adventure.

There seems to be three things involved in the definition of a madical item:
  • itemMagic.rpdat - this seems to contain a parent description for all variations of the item (+1, +2 etc) and doesn't seem to be used much.
  • weapon.rpdat - this is used to store all the variations (+1, +2 etc) and links to the modifier set
  • modifier.rpdat - this contains the modifier set associated with the weapons
To create the Earthroot Staffs I copied the "Magic Staff" item from the 4e game and renamed it "Earthroot Staff":
  • Copied the 4e itemMagic.rpdat file to the hotfl directory
  • Updated the source reference (in line 7) and deleted everything but the "Magic Staff" entry.
  • Renamed it <name>Earthroot Staff</name>
  • Copied the 4e weapon.rpdat file to the hotfl directory
  • Updated the source reference (in line 7) and deleted everything but the "Magic Staff+1" to "Magic Staff+6" entries.
  • Renamed them <name>Earthroot Staff +1</name> etc
  • Renamed the modifier set <modifierSetName>magic.weapon.earthroot</modifierSetName>
  • Copied the "magic.weapon.magicImplement" modifier set from the 4e game to the hotfl modifer.rpdat file
  • Renamed the modifiers to <name>magic.weapon.earthroot.0</name> , <name>magic.weapon.earthroot.1</name> etc
  • Renamed the modifier set <modifierSetName>magic.weapon.earthroot</modifierSetName>
I then built the game files to test the new items appear.

NOTE: While testing do not include items in characters you want to keep, because the can become unloadable if you change the references. Test them in a new empty tab.

Once the basic weapon worked okay, I then modified the various description to match the Earthroot staff:
  • Changed the level and price references in the itemMagic.rpdat file
  • Changed the descriptive text in the itemMagic.rpdat file
  • Changed the level references in the weapon.rpdat file
  • Changed the level references in the modifier.rpdat file
  • Changed the critical damage entries to <bonus>'Target restrained'</bonus>

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Testing the Staff Expertise doesn't work the way I expected. Using the example I picked just sets Staff Proficiency instead of +1 to attack rolls. After a bit of testing (in a blank tab) I have used the following definitions:

In feat.rpdat

Code: Select all

  <feat>
    <name>Staff Expertise</name>
    <benefit>You gain +1 feat bonus to the attack rolls of implement powers and weapon powers that you use with a staff.  This bonus increase to +2 at 11th level and +3 at 21st level.  In addition when you make a ranged attack or an area attack with a staff as an implement, you don't provoke opportunity attacks for doing so.  When you make a melee attack with a staff, the weapon's reach for that attack increase by 1.</benefit>
    <modifierSetName>feat.weaponStaffExpertise</modifierSetName>
  </feat>
In modifier.rpdat

Code: Select all

  <modifier>
    <name>feat.weaponStaffExpertise.0</name>
    <appliedTo>weapon.attackBonus</appliedTo>
    <applies>containsIgnoreCase(root.weapon.group, 'Staff')</applies>
    <modifierSetName>feat.weaponStaffExpertise</modifierSetName>
    <type>expertise</type>
    <bonus>if(lt(root.level, 11), 1, if(lt(root.level, 21), 2, 3))</bonus>
    <stack>true</stack>
  </modifier>

User avatar
Jagged
Great Wyrm
Posts: 1306
Joined: Mon Sep 15, 2008 9:27 am
Location: Bristol, UK

Re: Jagged's HotFL Log Book

Post by Jagged »

Next character I am looking at is an Elven Fighter.
The elf in Essentials is almost identical. Unfortunately "only" almost ;) 4e is +2 Dex and +2 Wis while Essentials is +2 Dex and +2 Int or Wis. Therefore I will make an Elf(e) version that is the same but adds the +2 to Int instead of Wis. Then you can use either depending on where you want the bonus.

Post Reply

Return to “CharacterTool”