diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 6137e9339..2b8355bd6 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -782,6 +782,8 @@ looting will do #force if you could do it and the container is locked and you didn't have a tool to unlock it use silly names for rays (such as breath weapons) when hallucinating zombies groan instead of being silent +martial arts users, sasquatches, and heroes wearing kicking boots can + no longer miss a monster completely with a clumsy kick Fixes to 3.7.0-x Problems that Were Exposed Via git Repository diff --git a/src/dokick.c b/src/dokick.c index b65cd51e0..32bbad0e8 100644 --- a/src/dokick.c +++ b/src/dokick.c @@ -216,9 +216,17 @@ kick_monster(struct monst *mon, xchar x, xchar y) i = -inv_weight(); j = weight_cap(); + /* What the following confusing if statements mean: + * If you are over 70% of carrying capacity, you go through a "deal no + * damage" check, and if that fails, a "clumsy kick" check. + * At this % of carrycap | Chance of no damage | Chance of clumsiness + * [70%-80%) | 1/4 | 1/3 + * [80%-90%) | 1/3 | 1/2 + * [90%-100%) | 1/2 | 1 + */ if (i < (j * 3) / 10) { if (!rn2((i < j / 10) ? 2 : (i < j / 5) ? 3 : 4)) { - if (martial() && !rn2(2)) + if (martial()) goto doit; Your("clumsy kick does no damage."); (void) passive(mon, uarmf, FALSE, 1, AT_KICK, FALSE);