[WOIN] WOIN Character Assistant, a character creation tool

Agh! Somebody help. I can't get this to work. I keep getting a popup stating there's no program associated. It was working fine and then I grabbed the latest version and now nothing. I've uninstalled all instances of python-related things. Looks like my problem is wxpython; I can't figure out how to install that. What am I missing?
Hey M3woods! I was doing some work last night and accidentally broke the program (temporarily). The updates were coming in fast and furious--you might have gotten one of my broken ones. :( Could you try updating again and seeing if you get the same issues?

On a related note, the updates over the past several hours pertained to the following:
  • Save prompt now resembles something you'd see in a proper program
  • The exploit dialog for careers now shows you a snapshot of the character's stats at that point in the character's career, allowing you to make more informed decisions of what exploits you can take
  • The exploit dialog for adding misc exploits (exploit tab) shows you total stats so you can make similarly informed decisions on what you can take there.
 
Last edited:

M3woods

Explorer
I'm done trying. I'm sure it's something I'm overlooking but I'm tired of trying to figure out how to install wxpython and that seems to be the issue.
 
I'm done trying. I'm sure it's something I'm overlooking but I'm tired of trying to figure out how to install wxpython and that seems to be the issue.
If you're on Windows, try out the .exe package that's attached to the most current release here: https://github.com/DesertDogSledder/wca/releases/tag/v0.18.0

This should allow you to run the program without worrying about dependencies. :)

(Sorry Mac users, mine got delayed. Hopefully standalone binaries are coming for Mac very soon!)
 

M3woods

Explorer
Traceback (most recent call last):
File "lib\gui\wca_frame.py", line 1674, in set_career_exploit
KeyError: 'Source'
This is awesome. Thanks for the work you've put into this. Just a note, I got the above error when trying to edit the exploit for the psi-cop career. Thought you'd like to be informed.
 
This is awesome. Thanks for the work you've put into this. Just a note, I got the above error when trying to edit the exploit for the psi-cop career. Thought you'd like to be informed.
I do appreciate any bug reports. :) (That's why I still show the ugly console window, to be honest!)

I think this is something that Morrus was running into as well! I'm very fortunate that I managed to reproduce it on my system. I didn't catch it before because things work when you add a fresh career. If at any time you edit the career and click OK in that dialog, the set career dialog broke even if you didn't change the career to a different one.

I've fixed this and uploaded the new Windows binary if you want to grab it: https://github.com/DesertDogSledder/wca/releases/tag/v0.18.1

Happy WOINing!
 

M3woods

Explorer
I'm guessing it's not feasible at the moment but will future updates allow custom races and careers to be added? It would certainly simplify some of my current projects.

Sent from my SAMSUNG-SM-N900A using EN World mobile app
 
I'm guessing it's not feasible at the moment but will future updates allow custom races and careers to be added? It would certainly simplify some of my current projects.

Sent from my SAMSUNG-SM-N900A using EN World mobile app
Believe it or not, there is actually support for custom races, homeworlds, exploits, and careers! It's (slightly) more intuitive with the unpackaged code--there's a "custom" folder that has templates that show you what format to write your custom content in. I may need to go back to the drawing board to see how to integrate it with the all-in-one executable... or just go with a different packaging method. Let me chew on it for a bit. Fear not, though, the thing you seek is closer than you think. :)
 
Believe it or not, there is actually support for custom races, homeworlds, exploits, and careers! It's (slightly) more intuitive with the unpackaged code--there's a "custom" folder that has templates that show you what format to write your custom content in. I may need to go back to the drawing board to see how to integrate it with the all-in-one executable... or just go with a different packaging method. Let me chew on it for a bit. Fear not, though, the thing you seek is closer than you think. :)
I did some code reorganization and cleanup. https://github.com/DesertDogSledder/wca/releases/tag/v0.19.0

I had to abandon the all-in-one executable packaging for now, but the only downside is that you see more files in the directory. :) You'll still be able to run the application without worrying about dependencies. Instead of just a single exe, I have now attached the windows binaries as "wca.zip". Inside that directory you'll see a folder called "custom" that has template files and instructions on how to add your own custom content. You still run "wca.exe" to launch the application.

Let me know if you run into any issues.
 
Rejoice, Mac users! Your time has come! I finally got my Mac dev machine up and running and was able to successfully build Mac binaries. That's right, no longer will you have to worry about frustrating dependency configuration. Simply download, extract, and run the WCA app!

Version v0.20.1 is available here. Grab wca_osx for Mac or wca_win for Windows.
https://github.com/DesertDogSledder/wca/releases/tag/v0.20.1

My Mac is running 10.11.6 at the moment. According to the documentation I've read, I should be packaging binaries on the oldest version of OSX I want to support. If anyone has an older version of OSX and wants to test WCA, let me know if it works.

Equipment/item support is still in the planning phase. I want to make sure I approach it appropriately so I don't end up doing a bunch of backtracking and rewriting.
 
Progress!

It's been a few weeks, but I've been toiling away. I decided to move forward with another GUI toolkit (PyQt) which I felt like was more efficient, modern, and more actively developed. This essentially meant I had to rewrite the entire program. Along the way, I've made some small tweaks to the interface. In the end, not much will look visually different, but under the hood things are more organized and... well, efficient. I regret nothing! I feel like it was totally worth it.

I wanted to share some screenshots of things that I've been tweaking and working on along the way! Warning, numerous images ahead!

Here's a picture of the overview tab. In the wxPython version, we had text with buttons nearby for changing information. For example, the trait was displayed as just text with a button next to it that read "Set Trait". This went for the race and homeworld as well. I wanted to experiment with having the value printed on the button. You can see that the trait is now displayed on the button you press to change it. This cuts down on some of the widgets we have to display.
QT_Overview.PNG

You can see this on the race tab as well as minor tweaks to the way skills are displayed.
QT_Race.PNG

I changed the widgets for the attribute values to "spin boxes" because they were a little easier to work with... And I thought they were neat! In addition, I allowed the user to change attribute values on careers. This will allow you to note things like the REP gain your character might receive because of a medal or exceptional performance in college.
QT_Set_Race.PNG


One of the bigger changes was my decision to rework the skill dialog. I always disliked my original layout and the ugly way I had the user add multiple skills to signify multiple ranks. If you wanted to add 3 ranks of "carry", you had to add it three times. The list would then say "carry carry carry". I wanted to pretty this up and make it more user friendly, so I added the addition of a "rank" spin box. I had to tweak the way skills were stored in the back end, which unfortunately means older character files are not compatible.
QT_Set_Skills.PNG

Another thing I wanted to improve was the "export" functionality. Currently, it just spits out a boring text file. I know some people requested the ability to generate a character sheet... So I tried my hand at it. This is subject to change, but I was finally able to get something basic working as a proof of concept. Now, "Export" generates an HTML file inspired by the WOIN character sheets!
Char_Sheet.PNG

Finally... This is the big one that both myself and many others have been yearning for. It's not done yet, but I couldn't wait to show you all a sneak peek...
General_Gear.PNG

I wanted to finish up the equipment portion before I released this all to the public. I've gotten over a lot of the initial hurdles for equipment, so things have been progressing nicely. It shouldn't be long now!
 
Last edited:
Bobbert Cop has CHA 7 (2d6) and LUC 3 (3d6) in your screen-shot. Those dice pools seem a bit off.
Nice catch! There's bound to be bugs along the way that I need to squash. I'll do some investigating to see why this is happening.

E: Yep, found it. I confused myself with some code formatting and mixed up attribute names. Thanks, Oldtimer. :)
 

Morrus

Well, that was fun
Staff member
That looks incredible!

The attributes in the character sheet don't have dice pools. And I think climb, swim etc. are still rounding down not up.

I love the equipment section. Is there going to be an Advancement Level filter? And would it be easier if it shoed the actual cost of higher quality stuff rather than just telling you the formula?
 
That looks incredible!

The attributes in the character sheet don't have dice pools.
You're right. I did notice this, but I kept forgetting to add it. I'll do it right now, it's an easy change.

And I think climb, swim etc. are still rounding down not up.
I double-checked our friend Bobbert here. I think this is still correct. Base speed is STR dice pool + AGI dice pool, which is 4. He has a running dice pool of 1, so that brings his land speed up to 5. The derived statistics page says to replace running with swimming and climbing respectively, then halve (barring exploits which the program isn't sophisticated enough to take into account... yet). Swimming and climbing would both be 2 (STR dice pool) + 2 (AGI dice pool) + 0 (dice pool of climbing/swimming, which he doesn't have). Bobbert is a wee bit slow... Also he may not be 100% configured correctly, since I now notice that I forgot to apply his bonus human attributes. Whoops!

I love the equipment section. Is there going to be an Advancement Level filter? And would it be easier if it shoed the actual cost of higher quality stuff rather than just telling you the formula?
This was my original desire. It still might be possible to include a filter like that. My plan is to try and include it, but I'll leave it out if it stonewalls me too long. The other challenge I'm facing is that not every piece of equipment has an AL attribute. I would either have to exclude ALs on those items and limit the efficacy of the AL filter OR try and use best judgement to assign ALs to the equipment myself.

Tangentially to this, I wanted to ask you about throwing weapons. I tried to make a thread about it, but I ran into errors and then it slipped my mind. Some weapons that have the Thrown special property have the range increment included next to them in parentheses, such as spears and short spears. There are others that lack this bit of information, like tomahawks, throwing axes, and the francisca. Is this just an accidental oversight or are these supposed to use the default range increment of "2" specified in OLD?
 

Morrus

Well, that was fun
Staff member
Yep, it’s the default unless otherwise specified. It doesn’t usually say anything if it’s just 2.
 
I hope everyone had a good set of holidays! They've slowed down development, but now I'm back at it. I'm making some progress and I wanted to show another WIP of the weapons dialog. The ammunition portion is almost certainly going to be changed and moved to a separate prompt. I'm super excited that I've finally gotten all of the WRRD weapon info parsed.

weapon_dialog.png

e: I just noticed "Commmon". Oh my goodness.
 
Last edited:
Alright, I'm finally done with the update. This code has been buzzing around my head for weeks... I'm glad to finally hit this next milestone.

Let's see if I can remember what all is new...

  • Rewrote the entire application using PyQt5 as the GUI toolkit. For most people, this won't really mean much. It looks a little bit more modern on Windows. Mainly the code is cleaner and things are a little more efficient. I left the console window open in the Windows binaries so you can grab any error output. Unfortunately, OSX doesn't play nice if I try to leave the console window in--this means if you run into an issue, the program will just crash without fanfare. There might be stuff in the OSX warning/error logger. Just tell me what kind of character you had and what you were doing so I can get a better idea of what happened to cause the crash.
  • Career stats are now editable, useful for tracking those REP bonuses your character might receive for stellar performance in school or winning a medal
  • Fixed some typos I spotted along the way (though I probably made some as well)
  • Export creates a (bland) HTML character sheet instead of a boring text file.
  • ITEMS! I'm sure my code will make seasoned Python/QT experts shriek in horror, but it does the job! You are now able to add general items, weapons, and armor that are listed on the WRRD. You can even add your own custom items for these three categories!
    Some notes:
    -Availability won't sort like you'd expect. This is because it's sorting the values as strings (1, 10, 11, 2, 3) rather than integers (1, 2, 3...10). I have a work around I'll toss in later, but it's a minor thing.
    -General gear weight isn't calculated based on quantity... Mainly because the ladder varies depending on the length you purchase. I might revisit this later and remove that extra bit from the ladder.
    -Ammunition is purchasable for ballistic weapons only. When I get a breather, I'll go back and limit just the special ammunition types to ballistic. This is assuming anyone cares about ammo at all. :p
    -Armor and shields both fall under armor. This is just an FYI. :)
    -I just realized I forgot to list items on the character sheet that gets exported. I'll come back to this!

Binaries are available for Windows and OSX here:
https://github.com/DesertDogSledder/wca/releases/tag/v0.21.0

There's almost certainly going to be bugs... Sorry! I don't have a QA team and I'm bleary-eyed just trying to crank this release out. If you run into any issues, let me know here or make an issue on the github page and I'll take a look.

Have fun!
 

Advertisement

Top