View Single Post
Old February 7, 2019, 04:11   #19
wobbly
Veteran
 
Join Date: May 2012
Location: Adelaide, Australia
Posts: 2,109
wobbly is on a distinguished road
I played with it for a while before being distracted by real life stuff. I haven't got back into learning any code yet, got some things I need to sort out 1st. Anyway at 1 stage I had the weapons closely balanced but in a way that was boring because they all were pretty much the same. Made me realise there was a fundamental problem in that as long as weapons are pretty much just damage numbers (I'm ignoring stat sticks for the moment), it's hard to make them interesting - daggers can do more then long swords or vis versa or they can be identical but getting them to have a unique feel is hard without complicating the combat system. I'm yet to come up with a solution I like.

Mostly I'd be interested in what Grotug comes up with though I'm fine with answering questions if that's what he/she wants.

Quote:
Originally Posted by Grotug View Post
My first question: how much STR/DEX are currently required to achieve max blows with fists?
So if there's going to be a lot of questions like this I'd suggest you can save yourself a lot of time by just learning to read the table (in player-calcs.c). It's a little intimidating but not so bad once you're used to it.

So below this line:
static const int blows_table[12][12] =
in the bottom right corner is a 16, that's 6 blow(100/16)

see how it's column 11? That's 18/200+ dex, from this table:
Stat Table (DEX) -- index into the "blow" table

It's row 11. This is trickier, for the warrior you'll need this:
* Warrior --> num = 6; mul = 5; div = MAX(30, weapon_weight);
& this:
* To get "P", we look up the relevant "adj_str_blow[]" (see above),
* multiply it by "mul", and then divide it by "div", rounding down.
*

So any weapon below 30 deci-pounds (includes fist) counts as 30 deci-pounds for the warrior. Looking at the equation above & keeping in mind we are working in reverse order:
11 (row) * 30 (div) / 5 (mul) = 11 * 6 = 66 (adj_str_blow)

Reading this table:
* Stat Table (STR) -- help index into the "blow" table

18/50+ str

Last edited by wobbly; February 7, 2019 at 04:24.
wobbly is offline   Reply With Quote