PDA

View Full Version : Excel 2013 character sheet for 3.5



rrwoods
2015-09-21, 11:10 PM
Excel 2013 -- http://userpages.umbc.edu/~woorich1/Alth%20Shrenan%20character%20sheet%20(level%203).x lsx

Last things first: This is made for Excel 2013 (2010 may work but I haven't tried it). No, this won't port to Google Drive. Heavy use of array formulas that isn't going anywhere anytime soon, and Google's array formula representation is completely unlike Excel's. Sorry. LibreOffice 5 appears to handle this sheet just fine!

With that out of the way...

Blue is for you (to type into), white is for me (to display to you) (but I haven't locked edits on any of it).

This is my character sheet for D&D 3.5. It is currently filled out with a level 3 swordsage's stats, as that is the character I'm currently playing. (Comments on the character are welcome too :-P) It occurred to me recently that I might share this sheet, as I haven't really seen anything like it anywhere else. (EDIT: I have seen something like it, actually, as I was very recently reminded, and I was quite impressed by it. That one has class data and such baked in, which is just something I'd rather not have, especially since it keeps me from sharing it here.)

I've tried to insert comments where possible to make it easier to use, but I know my way around it pretty well, so it's very likely some of it won't be clear. The "Spells" tab in particular prooooobably sucks pretty hard, because I massively prefer printed spell cards to keep track of my spells, but there's still some nifty stuff happening there.

There are a few things I Just Don't Like about it, from a programmer's perspective... but not many. I don't like that the sheet just reads the effects table for effects turned on that are named Two-Weapon Fighting, Improved Two-Weapon Fighting, Greater Two-Weapon Fighting, and Far Shot, for example. But I don't see a way around it really. Also I don't make near enough use of named ranges, because I didn't know they existed until embarrassingly recently.

Things this sheet does well:

Numerical effects and the stacking rules. I believe this implements the stacking rules 100% correctly, including for conditional saves (like saves vs fear, etc). This is the primary reason this sheet even exists in the first place; I got tired of buffstacks resulting in me needing to refigure my attack bonus every round, and oh, how does that speed increase affect my jump checks again? What's that, my being encumbered affects max dex to AC (which came about because of that strength damage I took)? All handled no sweat. With no macros.

Multiple forms. Say it with me: Wild Shape. This is the second reason this sheet even exists in the first place. I was playing a Hengeyokai character, and the number of things you need to "just remember" that change (or make little scribbles all over a physical sheet) is enormous. It should be pretty easy to add many, many forms to your character and have everything propagate correctly when you select the new form from the "Current form" dropdown on the Summary sheet.

This does support skill groups, in the style where putting a rank in a group gets you ranks in all the skills in it, but the skill checks are still keyed off different abilities and can be affected separately. In fact, the character filled out here exemplifies that: Hide and Move Silently are grouped, but there is a racial effect on Hide and a circumstance bonus to Move Silently.

Let you edit the stupid thing. On the only other sheet I've used (and paid for!), I was sorely missing the fact that I couldn't dig into the nitty gritty and just change stuff. Houserules happen, and needing to write effects for houserules is not something I'm a huge fan of. If you need to, on my sheet, you can crack open the hidden columns/rows and just change what you want. Further, if you need (for example) more weapon slots than I've given you, you can insert some rows on the Weapons sheet, insert some cells on the Summary sheet, autofill the relevant values and be good to go. (*coughsixisnotenoughweaponslotscough*) Or, if you don't like the way some stuff is laid out, just move it around! I'm not locking you into anything here.

Oh yeah, it's pretty good at being free, too.

Things this sheet does not do:

There is (deliberately) NO data specific to any given class, item, race, spell, etc. I don't want the bloat of storing all that stuff. What there is (or should be anyway!), however, is a solid framework in which you can type that stuff in for whatever classes/items/race/spells your character needs.

This sheet doesn't keep track of maneuvers. I really really really prefer physical maneuver cards, especially given that you refresh them between encounters. This character's maneuvers known are in a separate document (namely, the one that has the maneuver cards I print up to play it). You could easily just add a sheet for your maneuvers known if you wanted to, or type them in the Summary sheet.

This is NOT laid out like a WotC character sheet, at all. Conceivably you could change that, if you wanted, but I was much more focused on organizing the data to be easy to use on a computer than on familiarity with the physical sheets.

Things I still want to do soon:

* Allow effects that add damage dice (probably easy).
* Create weapon groups so that I don't need to do that horrid thing where I specify every Shadow Hand weapon individually (twice) (ugh this is hard).
* Somehow make only one effects input sheet without creating any circular references (pretty sure this is impossible).

I'll update this post as I receive suggestions or think of things I forgot.

Updates 2015/09/22

Most recent fixes:

Some stray text eliminated
Nuked some undefined references in effects in (size, speed, abl.) sheet
Extra attack effects weren't working

Most recent features:

Can say e.g. [entangles] for damage die and it won't render the damage bonus/type/crits/etc
Size category input has a dropdown (thanks Giles!)
Other dropdowns added on Class data sheet

GilesTheCleric
2015-09-21, 11:17 PM
I'm looking forward to trying this out! My own sheet sounds similar, so I might have to borrow some ideas from yours if that's okay.

rrwoods
2015-09-21, 11:18 PM
I'm looking forward to trying this out! My own sheet sounds similar, so I might have to borrow some ideas from yours if that's okay.

It's absolutely okay! And I hope you'll share ideas from yours as well, if you see things you're doing more efficiently or more easily than me!

GilesTheCleric
2015-09-21, 11:27 PM
Of course! I haven't opened yours yet, but it sounds like yours uses multiple sheets; that's probably the key difference to mine. Mine is on a single sheet, so that I can duplicate it then update it for each level (1 sheet per level). I find it handy for NPCs in case I need to adjust their ECL up or down, or if I need a character at a particular level for a game. It's also handy for characters that retrain or have complicated skill point allocations.

Edit: Does this use macros? I'm getting a whole bunch of fields with nothing but ###, #NAME?, and #VALUE!. Non-windows machines aren't compatible with Microsoft Visual Basic. There's also strange large white boxes on some of the sheets.

rrwoods
2015-09-22, 10:21 AM
Of course! I haven't opened yours yet, but it sounds like yours uses multiple sheets; that's probably the key difference to mine. Mine is on a single sheet, so that I can duplicate it then update it for each level (1 sheet per level). I find it handy for NPCs in case I need to adjust their ECL up or down, or if I need a character at a particular level for a game. It's also handy for characters that retrain or have complicated skill point allocations.

Edit: Does this use macros? I'm getting a whole bunch of fields with nothing but ###, #NAME?, and #VALUE!. Non-windows machines aren't compatible with Microsoft Visual Basic. There's also strange large white boxes on some of the sheets.

This doesn't use any macros, but it does use array formulas extremely heavily. Is it doing that right on open, or after you've cleared out some data?

I don't know how Excel works on non-Windows systems, but I'd hope that the array formula support is the same as on Windows :-/

EDIT: Wait, "strange large white boxes"? Can you screenshot that? No clue what that even is.

GilesTheCleric
2015-09-22, 02:13 PM
I don't see why there would be a problem with arrays. I am using NeoOffice (a fork of OpenOffice before it was mac-compatible), but it hasn't had problems with Excel things in the past.

white (http://i222.photobucket.com/albums/dd160/ryuusui-ken/Screen%20shot%202015-09-22%20at%201.05.01%20PM_zpsjtytt3nn.jpg) boxes (http://i222.photobucket.com/albums/dd160/ryuusui-ken/Screen%20shot%202015-09-22%20at%201.04.47%20PM_zpspsxfa3xe.jpg)

Array (http://i222.photobucket.com/albums/dd160/ryuusui-ken/Screen%20shot%202015-09-22%20at%201.05.41%20PM_zpslifjgbgn.jpg)

rrwoods
2015-09-22, 02:24 PM
I don't see why there would be a problem with arrays. I am using NeoOffice (a fork of OpenOffice before it was mac-compatible), but it hasn't had problems with Excel things in the past.

white (http://i222.photobucket.com/albums/dd160/ryuusui-ken/Screen%20shot%202015-09-22%20at%201.05.01%20PM_zpsjtytt3nn.jpg) boxes (http://i222.photobucket.com/albums/dd160/ryuusui-ken/Screen%20shot%202015-09-22%20at%201.04.47%20PM_zpspsxfa3xe.jpg)

Array (http://i222.photobucket.com/albums/dd160/ryuusui-ken/Screen%20shot%202015-09-22%20at%201.05.41%20PM_zpslifjgbgn.jpg)

That's extremely strange. I'll have to try NeoOffice and see if I can wrangle it into working, but I can't make any guarantees. I've never used NeoOffice before.

My hunch on the white boxes is that they're comments gone awry, but I really have no idea right now.

GilesTheCleric
2015-09-22, 02:51 PM
NeoOffice is exactly the same as OpenOffice, just with a slightly less polished UI. Here's a link (https://www.dropbox.com/sh/07lzis5rosfdp1m/AACNbg4m3SlrJZd_ocK3gj0Pa?dl=0) to an older version (I think it's paid-only now). If you already have OO installed, that should work the same. I don't have either OO or Excel on this partition or I would give it a try.

The Random NPC
2015-09-22, 03:03 PM
I have one, it's for Pathfinder and it's on Google drive, but you might get some ideas from it.
Link. (https://docs.google.com/spreadsheets/d/1gxq3QWfzVUT61BJJhiCcq92ZMu_fxXh65_YwAqqjZCQ/edit?usp=sharing)

GilesTheCleric
2015-09-22, 03:19 PM
I have one, it's for Pathfinder and it's on Google drive, but you might get some ideas from it.
Link. (https://docs.google.com/spreadsheets/d/1gxq3QWfzVUT61BJJhiCcq92ZMu_fxXh65_YwAqqjZCQ/edit?usp=sharing)

This looks like a great Pathfinder sheet. I think NeoOffice just doesn't like references to different sheets, because the Dex ability mod field and anything else calling cells from other sheets just aren't working. That said, I really like some of the features you have here: auto-calculating how much converted change (cp, sp, gp) you have is nice, and including the scaling for BAB and saves for all the base classes saves having to keep the book open next to you. It looks like it also fills in class features for you?

I do have a couple of questions, though: how does it handle prestige classes? And, where do you put in archetypes?

rrwoods
2015-09-22, 03:27 PM
If NeoOffice doesn't like references to other sheets in the same workbook, it's never going to properly render mine. Thing has cross-sheet references everywhere. Though possibly NeoOffice can do cross-sheet references, but formats them differently? Dunno.

I have my sheet open in OpenOffice. I'm getting errors everywhere as well, but no big white boxes. Can you try turning comments off (if that's a thing)? The more I think about it, I strongly suspect those are misrendered comments. It's also possible that only top-row comments are having that behavior, probably only on sheets that have a locked top row.

EDIT: Welp, OpenOffice doesn't have the IFERROR function. I bet NeoOffice doesn't either. Not gonna work, sorry :-( Looks like Excel is required. I'll make this note in the OP.

EDIT EDIT: Actually IFERROR is a really simple function, essentially amounting to
IFERROR(value, fallback) => IF(ISERROR(value), fallback, value)
which should be simple enough to make a user-defined function to emulate. I wouldn't dream of rewriting all the IFERROR instances, because often "value" is long and typing it twice would make it (even more) unreadable. But making a UDF named IFERROR might solve the issue. Looking into it now.

GilesTheCleric
2015-09-22, 03:37 PM
I'm betting they're formatted differently, since I'm sure that I've used them before in other projects. Regardless, I'm sad to hear that it won't work on OO. I'll keep it saved to my sheets folder regardless, since it looks like a great sheet and I might be able to recommend it to someone who uses Excel more than I do.

Thank you very much for looking into a fix!

rrwoods
2015-09-22, 03:42 PM
I'm betting they're formatted differently, since I'm sure that I've used them before in other projects. Regardless, I'm sad to hear that it won't work on OO. I'll keep it saved to my sheets folder regardless, since it looks like a great sheet and I might be able to recommend it to someone who uses Excel more than I do.

Thank you very much for looking into a fix!

Hm, OpenOffice is crashing whenever I try to make a macro? And I don't know of another way to make a UDF in OpenOffice. Don't have the time to look in more detail at the moment but I'll certainly try in the next day or three.

The Random NPC
2015-09-22, 03:51 PM
This looks like a great Pathfinder sheet. I think NeoOffice just doesn't like references to different sheets, because the Dex ability mod field and anything else calling cells from other sheets just aren't working. That said, I really like some of the features you have here: auto-calculating how much converted change (cp, sp, gp) you have is nice, and including the scaling for BAB and saves for all the base classes saves having to keep the book open next to you. It looks like it also fills in class features for you?

I do have a couple of questions, though: how does it handle prestige classes? And, where do you put in archetypes?

It doesn't really handle those, most of the sheet was made by Epizephyrii as noted in the version history. This is actually version 1.5.8, but I haven't put that in. All I've really added was an EXP tracker, and changed the various Ability Modifiers boxes to use your Temporary score if you have one.
I just found a better was to do check Temp. Scores. I don't need to use ISBLANK at all!
Also I'll be looking at figuring out how to check for a Max Dex limit from armor next.

GilesTheCleric
2015-09-22, 04:42 PM
Ah, I see.

Checking max dex could be done easily with an IF: IF (dex mod > max dex; then use max dex; else dex mod).

rrwoods
2015-09-22, 04:59 PM
So in LibreOffice 5 my sheet appears to Just Work (tm) (cross your fingers). I'm gonna toy with it a little to make sure various things don't break it, but for now it looks like Libre is the go-to free office suite to use my sheet (which I really need to find a name for). EDIT: Looks completely fine in Libre, 100% no issues. (Though, because I gave the sheet a fairly thorough once-over, I found a few things to fix anyway, so yay. I'll be uploading another version to reflect these fixes.)

Still trying to wrestle OpenOffice into letting me write a macro -- it appears what causes it to crash is deleting a newline character, so if I can manage to write it without pressing my backspace key I should be OK :-P (and you should be too, because after I write it I can paste it here for users to paste in). (EDIT: Though, for some reason, OO takes FOREVER to open this thing, even though LO is completely fine with it.)

The white boxes I'm back to being stumped on. There's no comments at all on the inventory sheet and you're getting one on that sheet. I'll have to try NeoOffice itself to see if I can hunt it down.

MANY EDITS LATER: I've wrestled OO into accepting my macro, and it works (when I type =IFERROR(1; 2) into a cell I get 1 instead of an error). However the sheet still has many errors on it, so still figuring that out. Also, when I enable macros on the sheet I get the giant white boxes! Strange, but at least I can try to track those down now.

The Random NPC
2015-09-22, 07:40 PM
Ah, I see.

Checking max dex could be done easily with an IF: IF (dex mod > max dex; then use max dex; else dex mod).

It started out really complicated, as I was trying to do 3 comparisons in one cell. It got progressively simpler as I realized most of the comparisons had already been done for me, and I just needed to reference them. Needless to say, checking for Max Dex is done.

EDIT: Scratch that, it's applying the Max Dex to everything, I'll need to fix that
EDIT the Second: Fixed it.

rrwoods
2015-09-22, 07:46 PM
Someone needs to write an IFERROR AddIn for OpenOffice. Seriously how has no one done this yet.

This sheet won't work in OpenOffice, even with an IFERROR macro (because such a macro can't possibly function, see below), and I'd bet it won't work in NeoOffice for the same reason. But I'd like to find out, if possible. Giles, could you add a macro to the sheet (in whatever language you want) essentially duplicating the functionality (and name!) of IFERROR? My guess is that it's going to handle all the places where there's an error just fine, but not the places where the fallback is supposed to be used. (I could try on the older version you've linked but obviously if I can get this to work on the version you're using that would be preferable.)

What it looks like is that, in OpenOffice (and probably most spreadsheet software), a macro won't even run if a value passed to it is an error value. If I say "=IF(ISERROR(X1), 0, X1)" where X1 is a cell containing an error, I get 0. But if I say "=IFERROR(X1, 0)" and the IFERROR macro is defined, I get an error.

None of this is a problem in LibreOffice 5, because it has IFERROR. It looks like NeoOffice doesn't. I remember being extremely relieved when I moved to Excel 2010 and it had IFERROR because it meant I could get rid of a lot of auxiliary cells that were just there to house calculations. I'm not at all a fan of reintroducing those cells (and even less so of just doing those calculations twice, which is what happens if you say =IF(ISERROR(long calculation), fallback, long calculation) ).

Long story short: LibreOffice looks good; OpenOffice does not. NeoOffice likely isn't either.

GilesTheCleric
2015-09-22, 08:09 PM
Sounds like I need to update to LibreOffice at some point, then. I'll see what I can do about a macro; coding isn't my forte. Looks like my options are Python or Javascript; I've been meaning to learn Python anyway.

Jay R
2015-09-22, 08:41 PM
My experience is that one of the hardest aspects of designing character sheets is deciding what to program and what to hard-code.

I'll go through your sheet in the next couple of days. I'm not an Excel wizard, but I did the research for my dissertation in it, so I'm moderately competent.

Jay R
2015-09-22, 09:01 PM
My experience is that one of the hardest aspects of designing character sheets is deciding what to program and what to hard-code.

I'll go through your sheet in the next couple of days. I'm not an Excel wizard, but I did the research for my dissertation in it, so I'm moderately competent.

rrwoods
2015-09-22, 09:46 PM
My experience is that one of the hardest aspects of designing character sheets is deciding what to program and what to hard-code.
Not sure what you mean by "program" or "hard-code" here, but I'll comment as best I can nonetheless:

I chose not to "hard-code" the class data (is that what you mean?) mainly because (1) I don't want the bloat of having all that in there, (2) I don't want to make the decision of what to include and what not to, and (3) every game is different anyhow (3.5 v PF for starters, not to mention DM leniency/restrictions/changes to abilities). Exacerbating this last point is the fact that most of my experience with "hard-coded" game data comes from using a sheet where EVERYTHING is hard-coded, which just left a bad taste in my mouth for that kind of thing in general.

My main goal with this sheet is really to keep point #3 from ever being a problem (EVER) while still exuding the benefits of an electronic sheet. I never want to have to hand-manage bonuses (EVER) so I implemented all the stacking rules, but at the same time I stayed away from the (very false) "convenience" of baked-in class/race data. It means the player needs to do a little more work up front and when they level, sure, but the time you spend there is paid back and then some if you EVER need to fiddle. I wanted to enable the player (that is, me) to have an at-the-table experience that is as smooth as possible -- less technology-ing, more playing -- while at the same time making it as easy as possible to implement anything (ANYTHING) you can think of to make your (my) character work... in YOUR (my) game.

Most of all I don't think that those two goals are at odds (that is, a smooth at-the-table experience doesn't come at the expense of customizability). In fact I think that they synergize, if you design the sheet properly! I'm constantly looking for ways to increase customizability and make the gameplay experience more seamless.

EDIT: I've updated the sheet with a few things, noting them in the OP.

Jay R
2015-09-23, 02:37 PM
I think we're mostly in agreement. I try to program every common sort of development. My general Excel character sheet can read the levels and classes and calculate saving throws, BAB, etc.

But the effects of specific Feats or items are put in as exceptions, customizing the worksheet. The sheet reads the "+4 flameburst sword" and uses the +4 for BAB, but doesn't add "+1d6" for crits. I typed that in myself.

rrwoods
2015-09-23, 02:49 PM
But the effects of specific Feats or items are put in as exceptions, customizing the worksheet. The sheet reads the "+4 flameburst sword" and uses the +4 for BAB, but doesn't add "+1d6" for crits. I typed that in myself.
Exactly how I like to do it too. If you say "longsword [+4 flameburst]" it'll know the longsword has an enhancement bonus (not BAB ;-P) of +4, but flameburst is up to the user to define.

I do still need to get extra damage dice working though. Haven't thought enough about how to get it to work smoothly yet.