Another Character Generator

By OggDude, in Star Wars: Edge of the Empire RPG

This is absolutely amazing! I love it! Thank you so much for all your incredible hard work and time.

I've downloaded 1.5. Couple of things. One, only the CharGen.exe works for me. I can't get into the DataEditor or GMTools for some reason.

Also, is it okay to ask if anyone has already edited their data (like for talents) and is willing to share? The Talent sheets aren't super useful at the minute for new players (though I understand why you did it that way for CYA reasons).

Finally finished entering the data for the F&D core talents. Will have to borrow AoR from one of my group for that section and as much of the EotE stuff from another if I wish to do all that... Cross that bridge if it becomes relavent! Now to do the same with the Force power trees...

All in all an excellent, nee jaw dropping prgoram OggDude.

I set up my party with a ranching homestead in the GM tools, but the players still don't have Survival ticked as a career skill. Am I doing something wrong? Do I need to be flagging them as part of the Homestead in the Character Builder side of things too somewhere?

LOVE this program.

Two improvements I'd like to see (completely cosmetic and personal ones):

1: Could you make it so that when you go full-screen, the interface gets larger or at least fills out the screen somehow? Right now it looks kinda weird with tons of empty space when I go full-screen in 1920x1080.

2: Please make the species portraits bigger. Most of my players are SW fans, but not super-nerds, so they don't know all the races and the images are just too small for them to make out the image very well on most of the species. Of course, this is resolution-related, but still. Bigger images would be better (for me).
Right now I'm replacing them all manually with close-ups of the heads, which isn't ideal.

When I load a character, I get the following:

************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.
at SWCharGen.CharSkill.get_CharKey()
at SWCharGen.Form1.UpdateDicePool()
at SWCharGen.Form1.MyChar_CharacterChanged(Object sender, CharEventArgs e)
at SWCharGen.Character.CharacterChangedEventHandler.Invoke(Object sender, CharEventArgs e)
at SWCharGen.Character.ChangeCharacter(ChangeEnum what)
at SWCharGen.SpecTree.Char_Click(Object sender, EventArgs e)
at SWCharGen.SpecTree.SelectNode(SpecTreeNode node, Boolean selected, Boolean force)
at SWCharGen.SpecTree.AddTalentsFromChar(Specialization spec)
at SWCharGen.SpecTree.GenerateTalentTree(Specialization spec)
at SWCharGen.Form1.cmbSpec_SelectedIndexChanged(Object sender, EventArgs e)
at SWCharGen.Form1.UpdateSpecialCombo()
at SWCharGen.Form1.CreateSpecializationPanel(Boolean newChar)
at SWCharGen.Form1.MyChar_CharacterChanged(Object sender, CharEventArgs e)
at SWCharGen.Character.CharacterChangedEventHandler.Invoke(Object sender, CharEventArgs e)
at SWCharGen.Character.ChangeCharacter(ChangeEnum what)
at SWCharGen.Form1.CharacterButtonClick(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at SWCharGen.ImageButton.OnClick(EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at SWCharGen.ImageButton.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

EDIT:
The above message only shows up when loading a specific character, one that I had just created minutes ago without even finishing everything needed for character creation. I have since deleted them, but it would still be nice to know what was causing the problem.
Edited by rowdyoctopus

The tripod mount is entered incorrectly. In the generator it shows that it only requires 1 hard point and provides -2 cumbersome. It actually requires 2 hard points, additionally it reduces cumbersome by 3.

One last thing, did you change the size of the text on the talent tree pages? Trees that previously fit on one page are now too long and are getting cut off on the bottom.

Just comparing the print preview to a previous print out, it looks like the text is larger than it previously was. I know you recommended we did not do this, but I entered the full text for all the talents and had yet to find a tree that was too long for a single page. Now all of my trees are too long.

I like having the full text as it avoids needing to open a book up when someone tries to use a talent. I know especially with my players, if they are looking at the tree found in the book they either use a talent wrong or try to do something the talent doesn't allow. A simple example is Quick Draw. The tree version just says once per round draw an item as an incidental, however the full version says you can only use quick draw on your turn and additionally explains that you can use quick draw to reduce the number of maneuvers needed to prepare a weapon by 1.

I lied! Next time I'll write notes for everything and post when I am done messing around with the program!

I had motivations with CustItem and reverted them to DescOnly per instructions in a previous post. I'm getting this when I try to add a motivation to a character:

************** Exception Text **************

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at SWCharGen.Form1.btnMotiveNew_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at SWCharGen.ImageButton.OnClick(EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at SWCharGen.ImageButton.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I have added all talent descriptions and force powers to my data except might have to do a double check now that F&D core is out

When I load a character, I get the following:

************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.
at SWCharGen.CharSkill.get_CharKey()
at SWCharGen.Form1.UpdateDicePool()
at SWCharGen.Form1.MyChar_CharacterChanged(Object sender, CharEventArgs e)
at SWCharGen.Character.CharacterChangedEventHandler.Invoke(Object sender, CharEventArgs e)
at SWCharGen.Character.ChangeCharacter(ChangeEnum what)
at SWCharGen.SpecTree.Char_Click(Object sender, EventArgs e)
at SWCharGen.SpecTree.SelectNode(SpecTreeNode node, Boolean selected, Boolean force)
at SWCharGen.SpecTree.AddTalentsFromChar(Specialization spec)
at SWCharGen.SpecTree.GenerateTalentTree(Specialization spec)
at SWCharGen.Form1.cmbSpec_SelectedIndexChanged(Object sender, EventArgs e)
at SWCharGen.Form1.UpdateSpecialCombo()
at SWCharGen.Form1.CreateSpecializationPanel(Boolean newChar)
at SWCharGen.Form1.MyChar_CharacterChanged(Object sender, CharEventArgs e)
at SWCharGen.Character.CharacterChangedEventHandler.Invoke(Object sender, CharEventArgs e)
at SWCharGen.Character.ChangeCharacter(ChangeEnum what)
at SWCharGen.Form1.CharacterButtonClick(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at SWCharGen.ImageButton.OnClick(EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at SWCharGen.ImageButton.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

EDIT:
The above message only shows up when loading a specific character, one that I had just created minutes ago without even finishing everything needed for character creation. I have since deleted them, but it would still be nice to know what was causing the problem.

Looks like a problem with skills. Could you send me the XML for the character?

I lied! Next time I'll write notes for everything and post when I am done messing around with the program!

I had motivations with CustItem and reverted them to DescOnly per instructions in a previous post. I'm getting this when I try to add a motivation to a character:

************** Exception Text **************

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at SWCharGen.Form1.btnMotiveNew_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at SWCharGen.ImageButton.OnClick(EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at SWCharGen.ImageButton.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

It's most likely not finding any specific motivations. Are you sure you reverted all motivations to DescOnly?

When I load a character, I get the following:

************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.

at SWCharGen.CharSkill.get_CharKey()

at SWCharGen.Form1.UpdateDicePool()

at SWCharGen.Form1.MyChar_CharacterChanged(Object sender, CharEventArgs e)

at SWCharGen.Character.CharacterChangedEventHandler.Invoke(Object sender, CharEventArgs e)

at SWCharGen.Character.ChangeCharacter(ChangeEnum what)

at SWCharGen.SpecTree.Char_Click(Object sender, EventArgs e)

at SWCharGen.SpecTree.SelectNode(SpecTreeNode node, Boolean selected, Boolean force)

at SWCharGen.SpecTree.AddTalentsFromChar(Specialization spec)

at SWCharGen.SpecTree.GenerateTalentTree(Specialization spec)

at SWCharGen.Form1.cmbSpec_SelectedIndexChanged(Object sender, EventArgs e)

at SWCharGen.Form1.UpdateSpecialCombo()

at SWCharGen.Form1.CreateSpecializationPanel(Boolean newChar)

at SWCharGen.Form1.MyChar_CharacterChanged(Object sender, CharEventArgs e)

at SWCharGen.Character.CharacterChangedEventHandler.Invoke(Object sender, CharEventArgs e)

at SWCharGen.Character.ChangeCharacter(ChangeEnum what)

at SWCharGen.Form1.CharacterButtonClick(Object sender, EventArgs e)

at System.Windows.Forms.Control.OnClick(EventArgs e)

at SWCharGen.ImageButton.OnClick(EventArgs e)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at SWCharGen.ImageButton.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

EDIT:

The above message only shows up when loading a specific character, one that I had just created minutes ago without even finishing everything needed for character creation. I have since deleted them, but it would still be nice to know what was causing the problem.

Looks like a problem with skills. Could you send me the XML for the character?

Unfortunately I cannot because I went ahead and deleted the character. I had only just created them and hadn't even finished the creation process, let alone spending the 600 XP I was getting after character creation. Next time I'll save the broken character so that I can send it over if requested :) .

I lied! Next time I'll write notes for everything and post when I am done messing around with the program!

I had motivations with CustItem and reverted them to DescOnly per instructions in a previous post. I'm getting this when I try to add a motivation to a character:

************** Exception Text **************

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

at SWCharGen.Form1.btnMotiveNew_Click(Object sender, EventArgs e)

at System.Windows.Forms.Control.OnClick(EventArgs e)

at SWCharGen.ImageButton.OnClick(EventArgs e)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at SWCharGen.ImageButton.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

It's most likely not finding any specific motivations. Are you sure you reverted all motivations to DescOnly?

Yes, I double checked. I will look again though as it was getting late last night when it was occurring. Initially, existing characters were not having their motivation showing up at all, but when I reverted to DescOnly those started showing up again (or did on the 1-2 characters I checked, I'm super comprehensive, I know).

One last thing, did you change the size of the text on the talent tree pages? Trees that previously fit on one page are now too long and are getting cut off on the bottom.

Just comparing the print preview to a previous print out, it looks like the text is larger than it previously was. I know you recommended we did not do this, but I entered the full text for all the talents and had yet to find a tree that was too long for a single page. Now all of my trees are too long.

I like having the full text as it avoids needing to open a book up when someone tries to use a talent. I know especially with my players, if they are looking at the tree found in the book they either use a talent wrong or try to do something the talent doesn't allow. A simple example is Quick Draw. The tree version just says once per round draw an item as an incidental, however the full version says you can only use quick draw on your turn and additionally explains that you can use quick draw to reduce the number of maneuvers needed to prepare a weapon by 1.

I only entered in the short descriptions, and I'm seeing the same behavior on most trees. Only some of the last row of talents are cut off, but it used to fit fine.

One last thing, did you change the size of the text on the talent tree pages? Trees that previously fit on one page are now too long and are getting cut off on the bottom.

Just comparing the print preview to a previous print out, it looks like the text is larger than it previously was. I know you recommended we did not do this, but I entered the full text for all the talents and had yet to find a tree that was too long for a single page. Now all of my trees are too long.

I like having the full text as it avoids needing to open a book up when someone tries to use a talent. I know especially with my players, if they are looking at the tree found in the book they either use a talent wrong or try to do something the talent doesn't allow. A simple example is Quick Draw. The tree version just says once per round draw an item as an incidental, however the full version says you can only use quick draw on your turn and additionally explains that you can use quick draw to reduce the number of maneuvers needed to prepare a weapon by 1.

I only entered in the short descriptions, and I'm seeing the same behavior on most trees. Only some of the last row of talents are cut off, but it used to fit fine.

It makes me feel better that even the shortened descriptions are also getting cut off.

I lied! Next time I'll write notes for everything and post when I am done messing around with the program!

I had motivations with CustItem and reverted them to DescOnly per instructions in a previous post. I'm getting this when I try to add a motivation to a character:

************** Exception Text **************

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at SWCharGen.Form1.btnMotiveNew_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at SWCharGen.ImageButton.OnClick(EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at SWCharGen.ImageButton.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

It's most likely not finding any specific motivations. Are you sure you reverted all motivations to DescOnly?

I had to remove the custom text entirely to get it to work. Trying to change them to DescOnly and they would just revert right back to CustItem after doing somethings in the Data Editor.

It was only 3 of the general motivations, not the specific. The 3 found in the EotE CRB, actually. Not a huge deal.

And now I just had this pop up on a new character I built last night and then changed this morning.

************** Exception Text **************

System.InvalidOperationException: Selected property cannot be altered before this object is added to a DataGridView control.
at System.Windows.Forms.DataGridViewBand.set_Selected(Boolean value)
at System.Windows.Forms.DataGridViewRow.set_Selected(Boolean value)
at SWCharGen.Form1.dvgCharacters_SelectionChanged(Object sender, EventArgs e)
at System.Windows.Forms.DataGridView.OnSelectionChanged(EventArgs e)
at System.Windows.Forms.DataGridView.FlushSelectionChanged()
at System.Windows.Forms.DataGridView.set_NoSelectionChangeCount(Int32 value)
at System.Windows.Forms.DataGridView.OnCellMouseDown(HitTestInfo hti, Boolean isShiftDown, Boolean isControlDown)
at System.Windows.Forms.DataGridView.OnCellMouseDown(DataGridViewCellMouseEventArgs e)
at System.Windows.Forms.DataGridView.OnMouseDown(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.DataGridView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I'm actually having the exact same problem. Was messing around with random motivations when I got that error and popup. Are you able to access your old character at all? I'm debating if I should hold off removing those motivation entries and just leave characters with no Motivation (get up off the couch you bums!) until we figure out a fix.

Edit: I want to try doing a fresh install, how do I go about uninstalling the web-installed version of the program? It's spread out across multiple folders in my App and RoamingData folders, so manually deleting everything seems like a chore, but I can't find an uninstall button.

Edited by Galth

I'm at a con today so I'll take a look at these issues later tonight. If you email me any characters that are having issues it'll help me in troubleshooting.

Also I'm going to try adding multi language support for the next release. I'll need some volunteers who know both English and some other language that they'd like the apps translated into. I'll let you know when I'm ready for translators.

I'm at a con today so I'll take a look at these issues later tonight. If you email me any characters that are having issues it'll help me in troubleshooting.

Also I'm going to try adding multi language support for the next release. I'll need some volunteers who know both English and some other language that they'd like the apps translated into. I'll let you know when I'm ready for translators.

Will do! Also, is there a quick way to uninstall a web-installed version of the app?

Control panel/programs and Features, find it in the list, right click and uninstall

Control panel/programs and Features, find it in the list, right click and uninstall

It's not showing up in the list :-/ Is there a uninstall exe?

Edit: sent you an email showing you the file path to the main data folder, wasn't sure the web-install went over correctly.

Edited by Galth

I didn't see you reply to it yet; so, not meaning to nag just making sure you saw it...

Am I doing Homesteads wrong? I can't get any of my players to get Survival marked as a career skill for having a ranch.

I currently am one of the translators working on the spanish edition of the games, and I'd love to help out with any multi language version of this absolutely awesome program. Whenever you are ready, just contact me.

I fixed the base career skill problem, but I have yet to find an issue with motivations, even with characters that caused the problem elsewhere. My only thought is to remove all changes to all motivations, even "DescOnly", just to see if the issue goes away.