[TOOL] DnD 4E NPC Importer from DDI to maptools

Links to gaming-related tools and external resources. Feel free to promote your (RPG-related) sites here.

Moderators: dorpond, trevor, Azhrei

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

[TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Greetings, this entry is about my campaign file which can be used to import NPCs from Dungeons and Dragons Insider (DDI)
More on What it Does
-It is meant to completely configure a token ("completely" is based on how I use them as a DM)
- Right now, it is NPC only, not for Player tokens, Player powers, Traps/Hazards, etc. But it does work pretty hard on the powers NPCs have.
-This imports the token for use in Rumble's "Fat" framework. http://forums.rptools.net/viewtopic.php?f=58&t=16440
-Lastly: It also outputs parsed information to chat. So if you are not using the Rumble Framework, you can write your own parser and copy/paste the neatly arranged text output for use in any other framework. The hard part was properly gathering the info and that's on me. :)
Moving on..

On the plus side, I added even more import capability thanks to early feedback from Deadolus.
On the minus side, the multi-power (powers where a single power is split into several unique powers) needs to be re-tooled.
Still, I have found that most of the time (80%) an NPC token is imported that requires no configuration (for my needs).
Most recent video - Version 3:
http://www.youtube.com/watch?v=cHCkHp5d ... e=youtu.be

To Use:
Either watch the tutorial here:
http://youtu.be/9MhV-4Uv-R0
...or follow the instructions below.
Instructions
Step 1:
Open Maptools build 89 (haven't gone back to test with b87) with these settings Xmx 1024M Xms 64M Xss 12M (thats Max Mem 1024, Min mem 64, and Stack Size 12)
Yeah, Stack Size 12, -haven't tested it with less yet, and this is to create tokens, not play a session.
Step 2:
In the token: Lib:RegExParser (the one that has an image of Longshot on it) there is a macro called "Longshots Import Monster"
Move macro button "Longshots Import Monster" to the Campaign Window.
Make Sure Apply to Selected Tokens is checked, and I recommend Hot Key F8.
Step 3:
Drag on your image to be used as a token. With it selected, run the Longshots Import Monster from the campaign window. Or just hit F8 if you took my advice. If the import window pops up, you're doing good so far.
Step 3:
Log on to your DDI account and choose the NPC you want to import from the Compendium. Right-click (yeah, these are PC instructions, not Mac) on the name, and choose to Open link in new tab\window. This is required.
Step 4:
Go to the tab/window where you see the NPC stat sheet. Right-click on that page, look for View Page source on the pop-up menu, and select it. This is really really required, and your almost done. If you did this right, you will see the page's HTML code, which appears as a big mess, but for the importer, it's gold.
Step 5:
Select All, Copy (control + A, then control + C, but you knew that, right?).
Step 6:
Back in Maptools, paste that mess into the Import window and hit Save. A little processing window should pop up, and say "Complete" when done. Hit ok to close the window.

You have imported the NPC. If the Stat Sheet was not too weird, you might not even need to configure it further.
Sample of how the parser works:
Sample
If a power says something like:
Recharge ImageImageImage . The Nasty Thingy hits a target, it is dazed (save ends), and if bloodied, it is also stunned until the Thingy's next turn. Allies that the Thingy can see gain 5 temporary hit points, and gain a +2 bonus to Will until the end of their next turn. Blinded creatures are not affected. A zone that tickles all creatures that enter it will be created here until the end of the encounter.

What it will do is;
Recharge ImageImageImage .
-Read those dice images and make a Recharge power 4,5,6
The Nasty Thingy hits a target, it is dazed (save ends),
-Add a Dazed state effect with Save Ends expiration to the Hit Effects
Blinded creatures are not affected.
-Completely ignore the Blinded reference since that was not meant to blind anyone.
Allies that the Thingy can see gain 5 temporary hit points,
-Add an entry for Allies within 40 squares (cause I used 40 to hopefully catch-all when it says "it can see") to gain 5 Temp HP.
and gain a +2 bonus to Will until the end of their next turn.
-Add a +2 bonus to Will until the End of Target's Next Turn effect to Allies effects
A zone that tickles all creatures that enter it will be created here until the end of the encounter.
-Add a Reminder effect to the Allies effects with description: Monster's name plus Power name with expiration End of the Encounter to remind you about the zone.
and if bloodied, it is also stunned until the Thingy's next turn.
-It will not add the Stunned in this power.
-It will create an additional power (Auto-Hit) in the Free/No Action group with the same name and -Stunned tacked on. The Always Effect description will say: The Nasty Thingy hits a target, it is dazed (save ends), and if bloodied, it is also stunned until the Thingy's next turn. And it will expire at the End of Your Next Turn (because you are the Thingy, so it's your next turn). This way, should the character be bloodied, you click the additional Stunned macro. Or just ignore it if not.
All I ask is that you send me creatures that fail to import to save me the task of running hundreds through the importer to see what breaks it.
Oh, and if it's not too much trouble, copy/paste the names of what you imported into a list. Be nice to know what worked too. :)
This work is adapted from Rumble's Framework V5, adapted from JamesManhattan's work.

Lastly, What it doesn't do or isn't finish with yet:
WIDDOIFWY
If Keywords include MOUNT, then RIDER becomes ALLY when parsing powers
Make MM3 and NonMM3 chat output the same
Version info
Version 1:
The original importer with stuff I can't remember yet I assure you it was totally awesome.

Version 2:
Added 2 rudementary Character sheet options for tokens.
They are almost a direct port of what was on the compendium.

Version 3
Added MM3 features: Linking for 2ndary powers. Much improved sub-power/multi-power importing
Macros Second Wind and Improvised Attacks removed from import. Action Point macro removed if NPC has none.
Colored Stats sheets
To Come: same as MM3 but for non- MM3. Will update instructional video
Attachments
LongshotImporter_v3_00.cmpgn
Version 3
Added MM3 features:
Linking for 2ndary powers.
Much improved sub-power/multi-power importing
Colored Stats sheets
removal of unnecessary macros
(3.26 MiB) Downloaded 685 times
LongshotImporter_v2_2.cmpgn
Version 2v_2
Note: This is the OLDER version. Use this if 3 is broken somehow -which I haven't heard that it is so far. I have noticed v2_2 being downloaded and I am not sure why.

Changes and new features have brought this to Version 2.
Added 2 rudementary Character sheet options for tokens.
They are almost a direct port of what was on the compendium.
(3.26 MiB) Downloaded 154 times
Last edited by Longshot on Wed Jan 06, 2016 3:23 pm, edited 16 times in total.

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Deadolus wrote:On the Zombie Mangler.
The power Flailing Strike was setup as an Immediate interrupt, and should be a Immediate reaction.
Both MM3 and Non-MM3 formats capture Immediate types. For MM3 formats, I added the immediate type in the ToolTip Trigger line
Deadolus wrote: On the Blade Swarm Guardian
The Vulnerable 10 against close and area attacks was setup as Vulnerable 5.
The Vulnerable now pulls the Swarm vulnerable value from the statsheet instead of assuming 5, though 5 is the default if none is found. Always meant to get back to that, thanks Deadolus.
Deadolus wrote:Another question... the data we paste (the HTML code). Is it stored on the token? Would be nice to be able to reference the data as a pop-up.
MM3 formats: Saved the HTML code to the token. Added a macro that calls that to a frame. First time working with frames, so it is overly simple at the present. Will add one for Non-MM3 formatted NPCs.
Longshot wrote:Oh, and yeah, that extra reminder is ticking me off. Will get rid of that.
Have not yet gotten rid of that.
Deadolus wrote:Been working on the Vampire Lord Berserker

His Blood Drain power has "Melee 1" as the range, but should be "Melee 1 (one creature granting combat advantage to the berserker)"
Also (small thing); Healing should be range 0 (not 1).
Healing range changes to zero if it only heals itself.
Have not addressed the additional range information yet.
Deadolus wrote:The Flaming Broadsword power's Crit damage was missing the "+58". Not a very critical hit without it.
Funny story: what it is doing is actually correct. At some point, Rumble made the framework use the crit dice as an addition to the pre-calculated max die roll. The normal damage dice are 4d10+18, which maxed out is where the 58 comes from. So when you do the 4d10 bonus crit damage, you only need to add that to the crit field. It calculates the 58, then adds the 4d10. True story :)
Longshot wrote: Oops, I'd better make those Failed Saving throws and After Effects not personal. Otherwise it won't apply to target.
Made those Failed Saving throws and After Effects not personal. It applies to target.

Need to go to bed. Will continue soon. Feel free to make more suggestions.

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Could not connect to RPtools website last night. Maintenance?

Though not uploaded yet:
  • I finished the Char sheet so that it displays for both MM3 and Non-MM3 format NPCs
    I've made it so you can get an individual frame per creature if you want to view more than one at a time.
    I've made it so you can reuse the same frame and load only the creature you are selecting at any given time.
    I've put some code to add more description of a target in the range text, i.e. Melee 2, one dazed creature
Still to do: fix the Reminders that are added to Allies for something that ends on "Its" next turn where IT indicates the enemy not the ally. This will go into version 2.1

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Longshot wrote:
Longshot wrote:Oh, and yeah, that extra reminder is ticking me off. Will get rid of that.
Have not yet gotten rid of that.
Have gotten rid of that.

Sadly, I did it by just assuming that it's next turn is always a target's next turn. I think that is a safe bet. If it fails me too often, I will think up some smarter code to help it decide better.

Meanwhile, the major additions I said I made are in v2.1 as promised.

User avatar
Deadolus
Giant
Posts: 166
Joined: Wed May 19, 2010 12:51 pm
Location: Waterloo, Ontario, Canada

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Deadolus »

Great stuff, I'll test later this weekend.

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Created new and updated tutorial video.
Found a bug, fixed it (failed saves were adding their effects into the main power they came from).
Version 2.2 is uploaded.

User avatar
Deadolus
Giant
Posts: 166
Joined: Wed May 19, 2010 12:51 pm
Location: Waterloo, Ontario, Canada

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Deadolus »

Sorry I have been MIA. Life got busy. I see we are up to version 2.2 Good stuff.

A little off topic here (my apologies). I am building a token for a power that Conjures a creature. Conjuration's us the Creator’s Defenses.

Is there an easy way to point or build the token stats with another token? For example, pull the token in to the framework, and run a macro that updates AC, and such to match the other token? Or, have the token's states point to the properties of another token?

This would avoid having to update the token every time the PC's stats change.

Thoughts?

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Hmm, worth looking into. I'll check on that.

User avatar
Deadolus
Giant
Posts: 166
Joined: Wed May 19, 2010 12:51 pm
Location: Waterloo, Ontario, Canada

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Deadolus »

Hello again,

So back from a two-three week hiatus... Building Hespotherad... Few issues found.

The Venom Within power had three macros configured, but only needed two. A macro called Venom Within --See Also-Venom Within-Secondary Attack, was just an Auto attack power with Effect text of "--See Also-Venom Within-Secondary Attack". Given there was a Primary and Secondary Attack built, I don't think this Auto one was needed. Not sure if that is a bug, or just something you built as a personal preference?

I configured the first attack Venom Within macro to link to the Secondary Attack always. Other than that, both it and the Secondary Attack were built perfectly.

One other anomaly was on the Sickening Mist power. The target gains vulnerable 15 poison (save ends)... But a Reminder state was applied instead of the vulnerability.

Toxic Gaze.. (and I don't think you can fix this), was setup without a Recharge number... The text reads "Recharge 4, or 3 while bloodied". You put that text in the Special text box... about as good as you can do with that. (Just a comment, nothing to fix here).

Nothing else needed adjusting in a otherwise complicated text block. Good stuff!

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Thanks for another great report, will look into the issues for that token :)

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

So, looked into it, and that should be fixed in the next thing I am going to do, which is an overhaul of the power parsing.

I was going to do it anyway, but that means that particular token's fix will be longer than a night's work away.

Please still send anything you find, I should be able to tell if issues will be caught in the next update or can be patch-fixed right away.

User avatar
Deadolus
Giant
Posts: 166
Joined: Wed May 19, 2010 12:51 pm
Location: Waterloo, Ontario, Canada

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Deadolus »

Hope you are well Longshot. Here are a few little things.

Bugbear Jailer Captain's power Intimidating Sneer...
Power was setup with "each creature in the burst".
Should be one creature...
Power reads: Close burst 5 (one creature in the burst)
~~~~
Same token, Predatory Command Aura...
I added 5 damage
Power reads: When an enemy in the aura is hit by an attack while granting the attacker combat advantage, the enemy takes 5 extra damage from the attack.
(More of a preference thing than a bug)
~~~~~~~~~~~~~~~~~~~~~~~
Also, I love the Character Sheet macro... I wonder if you could set it to a 68 width, and the Sort Prefix=8? I have been renaming it "Char Sheet" so the text does not wrap.
~~~~~~~~~~~~~~~~~~~~~~~

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Deadolus wrote: Power was setup with "each creature in the burst".
Should be one creature...
Power reads: Close burst 5 (one creature in the burst)
Actually, that is a limitation of the framework. Due to your input, the tooltip now correctly states the "One creature in the burst" part, but the framework does not support that choice in the burst (either each enemy, or each creature, in the burst). The tool tip is designed to show the framework setting in addition to the Target Affect text that I(or perhaps "we") have added.

Deadolus wrote: I added 5 damage
Power reads: When an enemy in the aura is hit by an attack while granting the attacker combat advantage, the enemy takes 5 extra damage from the attack.
That falls under my future items list, specifically Adding Conditional Support. I have "If" situations processed, but have not yet added "When" or "While". The importer only knows at this point that the aura power does not hit unless certain conditions are met, and has not been coded to create a conditional damage power.
Deadolus wrote: I wonder if you could set it to a 68 width, and the Sort Prefix=8? I have been renaming it "Char Sheet" so the text does not wrap.
Done. Since I am in the process or rebuilding the power processing (about 1/3 through), I'll just send you the updated library. Import this over the current one.

Actually, I have paused the import work briefly to modify the framework. I am adding a damage type section to attacks so I can toggle on and off damage types when players switch on things like swords that can change their output to fire damage, maces that can change their damage to radiant, that sort of thing. So, might be a bit longer before version 3 is out.
Attachments
Lib_RegExParser_v2_3.rptok
Changed Charsheet button values.
(139.05 KiB) Downloaded 128 times
Last edited by Longshot on Thu Jul 11, 2013 8:13 am, edited 1 time in total.

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Total side note here: but Ha! Finished sooner than I thought.
Attack Power with damage type
Damage Type Sample
Damage Type Sample
DamageTypeSample.JPG (75.59 KiB) Viewed 4428 times
It pre-checks the boxes with the power's inherent damage. But now when they break out all their friggen "change-the-damage-to-radiant" gear once undead show up, I can just change the damage types.

Hmm, might even add one more checkbox to update (replace) the power's normal damage types with what is checked to save another step, but that could be risky.

Longshot
Giant
Posts: 117
Joined: Tue Feb 22, 2011 8:59 am
Location: Honolulu, Hi.

Re: [TOOL] DnD 4E NPC Importer from DDI to maptools

Post by Longshot »

Longshot wrote:
Deadolus wrote:Is there an easy way to point or build the token stats with another token? For example, pull the token in to the framework, and run a macro that updates AC, and such to match the other token? Or, have the token's states point to the properties of another token?
Hmm, worth looking into. I'll check on that.
So long story short, I was checking on the above issue when I started looking more into the PC side of things. I realized I might be able to add that to the importer. PC importing, that is.

Seemed actually easier, so I am writing that now. So far, I can grab the following:
Name, Level, size, defenses, skills (broken into trained, misc), saving throw reminders, and resists.

Let you know more as I make it.

Post Reply

Return to “Links & External Resources”