Titanius Anglesmith |
eXaminator wrote:Is this for all monsters, or only for certain monsters? Does it work when you customize a monster on the monster tab?Hey Kyle, couldn't check out all new features, but this updates seems to rock... again ;)
BUT: I get a crash everytime I try to open the Monster Editor:
I've been getting it for all monsters.
Kyle Olson |
The ranger archetype Skirmisher can take Hunter's Tricks. One of these, Surprise Shift, allows the following:
(cut and paste from page 129 of APG)
"Surprise Shift (Ex): The ranger can move 5 feet as a swift action. This movement does not provoke attacks of opportunity and does not count as a 5-foot step."The description in both Combat Manager and Hero Lab shows this as a move action. I have posted the same bug report over on the HL forums, thought I should post it here as well.
This has apparently been errata'd. I haven't pulled updates on this text(because it's still a lot of work the way I do it). I'll get this fixed.
Kyle Olson |
Kyle Olson wrote:I've been getting it for all monsters.eXaminator wrote:Is this for all monsters, or only for certain monsters? Does it work when you customize a monster on the monster tab?Hey Kyle, couldn't check out all new features, but this updates seems to rock... again ;)
BUT: I get a crash everytime I try to open the Monster Editor:
I've found the problem. I'm not sure why it doesn't break on my other computer, but I'll be able to create a fix for it.
Kyle Olson |
Just a quick question: I can't seem to figure out what you mean by "Add links and coloring to initiative list". ^^
I love the Idle-function! The Drag and Drop features could use some usability work though (some way of indicating where the dragged item will end up by drawing a line between the other entries or something...)
The coloring is the HP 0 or less colors, just like on the main page combat list. To tell the truth I actually don't love this feature anymore the way it's implement, but it should be good for now. I probably should have a way to turn it off.
The links are the initiative linked characters.
The drag drop features have a couple of usability issues, but I wanted to get something out which allowed users to rearrange the list.
Laithoron |
132 crashed the first time I loaded that custom monster I sent you and clicked edit. I got a message that Windows was applying compatibility settings to it and to try running it again. On the next run it was working properly again, although I can't actually see anything checked on the shortcut's compatibility tab. Win7x64sp1 if it matters.
At any rate, I can manually adjust CMB now so thanks for the quick fix. :)
Hellder |
Wow, the spell editor is great. I'm testing it by adding spells from my DragonLance campaign and found two things:
There isn't a place to add 'Effect' to a spell.
When I create a new spell, I can edit it without problems. But if I try to customize any spell I created, the program crashes.
Thanks again for this amazing tool.
Sethvir |
Picking a spell, clicking the Customize option, delete all the existing caster information to add brand new data, it crashes, intermittently.
12:14:42 PM
System.NullReferenceException: Object reference not set to an instance of an object.
at CombatManager.Spell.SpellAdjuster._Levels_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(O bject sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(N otifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
at System.Collections.ObjectModel.Collection`1.Add(T item)
at CombatManager.SpellEditorWindow.UnusedClassesList_MouseDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Control.OnMouseDoubleClick(MouseButtonEventArgs e)
at System.Windows.Controls.Control.HandleDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
12:17:01 PM
System.NullReferenceException: Object reference not set to an instance of an object.
at CombatManager.Spell.SpellAdjuster._Levels_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(O bject sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(N otifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
at System.Collections.ObjectModel.Collection`1.Add(T item)
at CombatManager.SpellEditorWindow.UnusedClassesList_MouseDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Control.OnMouseDoubleClick(MouseButtonEventArgs e)
at System.Windows.Controls.Control.HandleDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
Edit: I think I may have found the problem here. It seems to occur if I delete all the caster data and then try to add back new casters and levels. If I add the new ones and then delete the old ones, it seems to not crash.
Sethvir |
One other problem I am experiencing is on my custom spells, when I filter them, the level filters seem to work just fine, but the Class filters do not. For example I have a summoner that has one custom spell, but when I select summoner, most of the list is still there, even though the summoner is only on one spell.
Note, I am using existing spells and then customizing them, changing the class that can cast them, changing the text or the casting parameters.
Thanks.
Kyle Olson |
Papa-DRB |
I am still having issues importing .rpgrp files. I created a fighter, stats - all 10, added a dagger, spear, longbow, long sword and exported to the .rpgrp file, and also to a text file.
With Combat Manager 1.3.3 *none* of the attacks show up, yet they are in the .rpggp file.
<group-set>
<game-name>PCGen stat block</game-name>
<groups>
<group>
<name>PCGen Export</name>
<combatants>
<combatant>
<name>Fighter</name>
<count>1</count>
<init-modifier>4</init-modifier>
<player></player>
<type>default</type>
<token></token>
<type>Humanoid</type>
<fullType>
NG Medium
humanoid
(human)
</fullType>
<raceClass>
Human;
fighter 1
</raceClass>
<descriptor>Human</descriptor>
<levels>1 st lvl Fighter; </levels>
<senses>, Perception +0; </senses>
<languages>Common</languages>
<hitDice>(1d10) (10 hp)</hitDice>
<hitPoints>10</hitPoints>
<currentHitPoints>10</currentHitPoints>
<size>M</size>
<speed>Walk 30 ft.</speed>
<ac>10</ac>
<touchAc>10</touchAc>
<flatFootedAc>10</flatFootedAc>
<fullArmorClass>10, touch: 10, flat-footed: 10</fullArmorClass>
<baseAttack>+1</baseAttack>
<grapple>+1</grapple>
<baseAttackGrapple>+1; CMB +1; CMD 11</baseAttackGrapple>
<space>5 ft.</space>
<reach>5 ft.</reach>
<faceReach>5 ft. Reach: 5 ft.</faceReach>
<fortSave>+4</fortSave>
<reflexSave>+0</reflexSave>
<willSave>+0</willSave>
<fullSaves>Fort: +4, Ref: +0, Will: +0</fullSaves>
<str>10 [+0]</str>
<dex>10 [+0]</dex>
<con>10 [+0]</con>
<int>10 [+0]</int>
<wis>10 [+0]</wis>
<cha>10 [+0]</cha>
<fullAbilities>Str 10, Dex 10, Con 10, Int 10, Wis 10, Cha 10</fullAbilities>
<challengeRating>1/2</challengeRating>
<attack>
Dagger:
+1
melee
(
1d4
/19-20
)
Dagger (Thrown):
+1
ranged
(
1d4
/19-20
)
Longbow:
+1
ranged
(
1d8
/x3
)
Longsword:
+1
melee
(
1d8
/19-20
)
Spear:
N/A
melee
(
1d8
/x3
)
Spear (Thrown):
+1
ranged
(
1d8
/x3
)
</attack>
<specialAttacks></specialAttacks>
<specialQualities>Bonus Feat, Skilled </specialQualities>
<skills>
Acrobatics +0;
Appraise +0;
Bluff +0;
Climb +0;
Craft (Untrained) +0;
Diplomacy +0;
Disguise +0;
Escape Artist +0;
Fly +0;
Handle Animal +4;
Heal +0;
Intimidate +4;
Perception +0;
Perform (Untrained) +0;
Ride +0;
Sense Motive +0;
Stealth +0;
Survival +4;
Swim +0;
</skills>
<feats>Armor Proficiency, Heavy, Armor Proficiency, Light, Armor Proficiency, Medium, Great Fortitude, Improved Great Fortitude, Improved Initiative, Martial Weapon Proficiency Output, Shield Proficiency, Simple Weapon Proficiency, Tower Shield Proficiency</feats>
<levalAdjustment>0</levalAdjustment>
<alignment>Neutral Good</alignment>
<possessions>
Traveler's Outfit;
Dagger;
Longsword;
Spear;
Longbow
;
</possessions>
</combatant>
</combatants>
</group>
</groups>
</group-set>
Fighter
Male Human Fighter 1
NG Medium humanoid (human)
Init: +4, Senses: Perception +0
DEFENSE
AC 10, Touch 10, Flat-footed 10 ()
HP 10 (1d10)
Fort: +4, Ref: +0, Will: +0
OFFENSE
Speed: 30 ft. (6 Squares)
Melee Dagger +1 (1d4/19-20)
Ranged Dagger (thrown) +1 (1d4/19-20)
Ranged Longbow +1 (1d8/x3)
Melee Longsword +1 (1d8/19-20)
Melee Spear (2H) +1 ((2H) 1d8/x3)
Ranged Spear (thrown) +1 (1d8/x3)
Space 5 ft. Reach 5 ft.
STATISTICS
Str 10, Dex 10, Con 10, Int 10, Wis 10, Cha 10
Base Atk: +1, CMB: +1, CMD: 11
Feats: Armor Proficiency, Heavy, Armor Proficiency, Light, Armor Proficiency, Medium, Great Fortitude, Improved Great Fortitude, Improved Initiative, Martial Weapon Proficiency Output, Shield Proficiency, Simple Weapon Proficiency, Tower Shield Proficiency
Skills: Handle Animal +4, Intimidate +4, Survival +4,
Languages:Common
SpecialQualities: Bonus Feat, Skilled,
Possessions traveler's outfit; dagger; longsword; spear; Longbow;
SPECIALABILITIES
1. Grant Default Racial Abilities
Bonus Feat Humans select one extra feat at 1st level.
Skilled Humans gain an additional skill rank at first level and one additional rank whenever they gain a level.
Could you look at the import piece again, thanks!
-- david
Papa.DRB
I can send you the two files if it would be easier then copy'n'paste from here.
Kyle Olson |
I am still having issues importing .rpgrp files. I created a fighter, stats - all 10, added a dagger, spear, longbow, long sword and exported to the .rpgrp file, and also to a text file.
With Combat Manager 1.3.3 *none* of the attacks show up, yet they are in the .rpggp file.
** spoiler omitted **...
Can you mail the files to combatman@kyleolson.com? I don't get the same result from the file if I copy/paste from this page as you report here; It's something in the encoding.
Astralplaydoh |
Is there a way to input a character without using PCGEN or Herolabs? I might be asking for a bit much. But, is there just a way to import a stat block?
My group isn't terribly fond of PCGEN, stating that it runs rather slow and wonky at times. Though I like it.
And Herolabs is awesome, but expensive.
Maybe a way to import a straight .txt file? Or is there a way to mimic one of the needed file types?
chopswil |
Is there a way to input a character without using PCGEN or Herolabs? I might be asking for a bit much. But, is there just a way to import a stat block?
My group isn't terribly fond of PCGEN, stating that it runs rather slow and wonky at times. Though I like it.
And Herolabs is awesome, but expensive.
Maybe a way to import a straight .txt file? Or is there a way to mimic one of the needed file types?
This may only a part of the solution but I do the DBs over on d20pfsrd.
I parse stat blocks into my DB via a program I wrote, I'd be willing to parse your stat blocks into both xml and html files.Since Kyle uses my DBs for his data xml files maybe he could provide some kind of import tool....
And I'm talking about stat blocks not character sheets.
Again I'm just throwing it out there.
Kyle Olson |
Maybe a way to import a straight .txt file? Or is there a way to mimic one of the needed file types?
The Herolab import actually is mostly just a stat block import (PC Gen is different) The HeroLab statblocks are slightly off of a Paizo standard block, but reasonably close.
The thing that's kept me from making a generic stat block importer is that there are lots of little tiny details that a user would have to get just right for my importer to understand the text.
I will take a look at my HeroLab import and see if I could make it into a reasonable text file import tool.
Kyle Olson |
Out of curiosity Kyle, about how long does it take you to add material from new books? I'm asking because you've spoiled me, I don't know if I can run a game without Combat Manager anymore.
It depends on the material.
Far more detail than anyone needs:
Some of it I rip from d20pfsrd.com or the paizo.com srd, and so it has to get up there before I can rip it. It it's a monster, NPC or Spell, 99% of it comes from chopswil's dbs, which he generally gets out fairly quickly.
The actual time from the data being available to me getting it in the app is extremely variable. First I have to remember to do it. Rules have a multi-step process where I'm manually ripping html into an Access DB, which exist just to be converted to xml.
Monsters and spells I download to an excel file, filter out what's new, then use a util to convert the xls to xml which I copy into my xml. I then have to run through the app to make sure then new items look reasonable and don't crash the app because I'm not ready for the formatting. Occasionally I'll have to fix something to be formatted the way I expect.
Feats I don't have an easy source for (for some reason) although I just built a ripper application to get them into the app from paizo.com. The old feats and new feats are formatted differently in the XML right now because of this.
Anyway, if I'm missing a bunch of new stuff just poke me and I'll try get it in if I have a standard source.
Also, where on your site do I go to donate?
There's a PayPal link on the right side of CombatManager.com :)
Papa-DRB |
Kyle,
I can create (almost) any text output format from PCGen that you would need. I was just using the .rpgrp format because it was there and mostly worked. If you want to send me how it should look to make your life easier on the import, I can code up the output file from PCGen that Combat Manager can use, and get it into PCGen as a "text output" sheet specifically for Combat Manager / Pathfinder.
-- david
Papa.DRB
PCGen Monkey (Data, Admin, Yahoo Group Moderator)
Astralplaydoh wrote:The Herolab import actually is mostly just a stat block import (PC Gen is different) The HeroLab statblocks are slightly off of a Paizo standard block, but reasonably close.
Kyle Olson |
Kyle,
I can create (almost) any text output format from PCGen that you would need. I was just using the .rpgrp format because it was there and mostly worked. If you want to send me how it should look to make your life easier on the import, I can code up the output file from PCGen that Combat Manager can use, and get it into PCGen as a "text output" sheet specifically for Combat Manager / Pathfinder.
I'll take you up on that.
Adam Ormond |
Wow, this app is awesome! Thanks for the hard work, Kyle. I'll definitely be using this at my next session, instead of Hero Lab's tactical console.
One thing I did notice, however, is that some of the attacks imported from my portfolio files don't show up under the Roll context menu. The recurring theme when I see problems are "weapons" that include a set of parens before the "crunch". For example, I have a turtle familiar with this:
bite (turtle) +0 (1d3-4/x2), or unarmed strike +0 (1-4/x2) space 2.5 ft; reach 0 ft.
No Roll options show up for that character. I also have an issue with a custom weapon I created to fix a Hero Lab error. The weapon text is:
Unarmed Strike +6 (1d3+2/20/x2)
As an aside, have you considered throwing this up on codeplex or google code? I'd love to help write an improved Hero Lab importer, now that Hero Lab is capable of exporting the majority of information in usable XML. For example, you'd have access to the Spells Memorized, not just Spells Known, all the Skills data, etc.
If you're looking for additional features to implement, below are a few I came up with while playing with the application.
- Auto Name Generator (bonus points for racial flavor) (r-click in name box for Auto-Generate context menu option)
- "Clickable" weapon descriptions in the Party/Monsters area, to roll attacks without having to navigate the context menu
- Set selected character when you click inside the Name text box
- Option to create custom "Dice" buttons in the Dice Roller area that roll a formula with a single click
- Minimize buttons on the Current, Selected, and Monster DB splitter headers to shrink them in a single click
- Apply "Augment Summoning" feat (and others added in UM) to a monster
Astralplaydoh |
Adam Ormond wrote:I'll have to check this out - I'm certain the (1-4/x2) will not be processed correctly because it's not formatted like a die roll. It would need to be 1d4 instead of 1-4.
bite (turtle) +0 (1d3-4/x2), or unarmed strike +0 (1-4/x2) space 2.5 ft; reach 0 ft.
I think he means that his turtle is actually doing 1 minus 4 damage. Could he just make it 1d1-4?
Adam Ormond |
Kyle Olson wrote:I think he means that his turtle is actually doing 1 minus 4 damage. Could he just make it 1d1-4?Adam Ormond wrote:I'll have to check this out - I'm certain the (1-4/x2) will not be processed correctly because it's not formatted like a die roll. It would need to be 1d4 instead of 1-4.
bite (turtle) +0 (1d3-4/x2), or unarmed strike +0 (1-4/x2) space 2.5 ft; reach 0 ft.
Yeah, the turtle does effectively 1d1-4, and sure I can modify it by hand, but the above is how Hero Lab spits it out.
The XML for this attack is shown below, so adding a "HL Custom XML" import mechanism would help with this.
An unarmed strike is always considered a light weapon. Therefore, you can use the Weapon Finesse feat to apply your Dexterity modifier instead of your Strength modifier to attack rolls with an unarmed strike. Unarmed strikes do not count as natural weapons (see Chapter 8).</description><wepcategory>Melee Weapon</wepcategory><wepcategory>Unarmed Attack</wepcategory><weptype>Bludgeoning</weptype></we apon></melee>
Kyle Olson |
The XML for this attack is shown below, so adding a "HL Custom XML" import mechanism would help with this.
I haven't got around to writing an importer for the new HeroLab custom for a couple of reasons:
1) It's a bunch of work, and the improvements would not be huge, assuming I actually do it correctly. There's more information in the custom export file than I am able to use.2) The current import allows users to pull directly from the .por file, so you don't need to open HeroLab to get an export.
Importing from a different PC Gen file, OTOH, is more appealing because my current PC Gen import is not nearly good enough.
Adam Ormond |
Adam Ormond wrote:
The XML for this attack is shown below, so adding a "HL Custom XML" import mechanism would help with this.I haven't got around to writing an importer for the new HeroLab custom for a couple of reasons:
1) It's a bunch of work, and the improvements would not be huge, assuming I actually do it correctly. There's more information in the custom export file than I am able to use.2) The current import allows users to pull directly from the .por file, so you don't need to open HeroLab to get an export.
Importing from a different PC Gen file, OTOH, is more appealing because my current PC Gen import is not nearly good enough.
Any thoughts on opening the source up?
Looks like another binary comparison is required in CombatManager.MainWindow.LoadPartyFiles, to properly recognize it and call CombatManager.MainWindow.ImportFromFile to generate a CombatManager.Monster through an updated Monster.FromFile that handles the custom XML by calling Monster.FromHeroLabXmlFile(doc).
With the DTD being handed to us by Lone Wolf, it's pretty easy to gen an XSD and then use xsd.exe to gen up a HeroLabXmlChar class. Then just add another Monster constructor that takes a HeroLabXmlChar class and pulls out whatever info it wants.
Just as an initial thought, picking through the source with Reflector.
Kyle Olson |
Awesome app!
Quick question: Is there a faster way to have a monster roll its attack? I keep having to right click through the menus to select "attack" over and over again.
There's no trick right now. I'm thinking about adding a reroll button, which should speed up multiple rolls, but something faster would be nice.
Kyle Olson |
nope, double checked that when i couldn't find them, then re loaded the program, nothing seems to work.
Can you tell me what you're expecting that's not there? I can check to see if it's in the data so I can get a better idea what's happening.
Usually when people can't find monsters it's because of the sources button in the bottom right corner of the screen.
Eric The Pipe |
Eric The Pipe wrote:nope, double checked that when i couldn't find them, then re loaded the program, nothing seems to work.Can you tell me what you're expecting that's not there? I can check to see if it's in the data so I can get a better idea what's happening.
Usually when people can't find monsters it's because of the sources button in the bottom right corner of the screen.
The stuff from the carrion crown series
Kyle Olson |
Kyle Olson wrote:The stuff from the carrion crown series ** spoiler omitted ** and i wouldn't question it, but i swear it was there at one point. And it's got stuff from other parts of Carrion crown, like the ** spoiler omitted ** but some of the other stuff is gone.Eric The Pipe wrote:nope, double checked that when i couldn't find them, then re loaded the program, nothing seems to work.Can you tell me what you're expecting that's not there? I can check to see if it's in the data so I can get a better idea what's happening.
Usually when people can't find monsters it's because of the sources button in the bottom right corner of the screen.
The lopper is under "NPCs", you have to change the filter to NPCs or All. I've gone back and forth on setting this filter to default to all, but I should have it remember what you left it on in the near future.
Eric The Pipe |
Eric The Pipe wrote:The lopper is under "NPCs", you have to change the filter to NPCs or All. I've gone back and forth on setting this filter to default to all, but I should have it remember what you left it on in the near future.Kyle Olson wrote:The stuff from the carrion crown series ** spoiler omitted ** and i wouldn't question it, but i swear it was there at one point. And it's got stuff from other parts of Carrion crown, like the ** spoiler omitted ** but some of the other stuff is gone.Eric The Pipe wrote:nope, double checked that when i couldn't find them, then re loaded the program, nothing seems to work.Can you tell me what you're expecting that's not there? I can check to see if it's in the data so I can get a better idea what's happening.
Usually when people can't find monsters it's because of the sources button in the bottom right corner of the screen.
Ok, Thanks for the help, I just turned it off as some point when I was pressing buttons. Once again this this is beautiful, THANK YOU.
Nylanfs |
Papa-DRB wrote:I'll take you up on that.Kyle,
I can create (almost) any text output format from PCGen that you would need. I was just using the .rpgrp format because it was there and mostly worked. If you want to send me how it should look to make your life easier on the import, I can code up the output file from PCGen that Combat Manager can use, and get it into PCGen as a "text output" sheet specifically for Combat Manager / Pathfinder.
One of the statblock exports is a duplicate of Paizo's statblock, I think either #4 or 5, that could help.
Astralplaydoh |
Hey Kyle, I'm still in awe of your combat manager program. I was hoping you could help point me in the right direction in terms of learning to build something similiar for myself, mostly for the purpose of learning.
What programming language are you using? What compiler/IDE/whatever are you using? Any good tutorials that you know of to help with the process?
I've done a little coding here and there, but it's been a long time. I was hoping to pick it up and really learn this time. Thanks.
Laithoron |
Hey Kyle, I just had an idea for improving Combat Manager's quick-reference usability.
The Feats, Monsters, Rules, and Spells tabs are great for looking something up, but the problem is, you can only look at one entry at-a-time. What would be great is if you could bookmark the document you are currently viewing (along with its monster advancer state), so that you could quickly jump between favorites.
Currently, the only way to do this is to add a monster to combat, but that results in a much smaller area in which you can view their combat block. Perhaps you could split the tall search results list in half and make the bottom a list of bookmarks. For folks who don't want/need such a thing, a resizeable divider between search (on top) and bookmarks (on bottom) should do the trick. Even better, the left-hand list could have two tabs that you could switch between: Search and Bookmarks.