Strange Death From Gunshot

edit: Windows 7 64 bit, using graphical, not console. version 6018abb

Hello,

So I was insta-killed by a Secubot from a headshot. Now this isn’t all that unusual normally, but here is the thing.

I was wearing a powered-on full set of RM13 Combat Armor, which should have provided me with 100% coverage from this bullet. Here is my memorial text on the matter:

Cataclysm - Dark Days Ahead version 6018abb memorial file

In memory of: ggg
He was a male Novice Martial Artist when the apocalypse began.
He died on Spring of year 1, day 5, at 4:47:30 PM.
He was killed in a science lab on the outskirts of New Sweden.

Cash on hand: $0

Final HP:
Head: 0/74
Torso: 87/93
L Arm: 93/93
R Arm: 93/93
L Leg: 93/93
R Leg: 93/93

Final Stats:
Str 9 Dex 14 Int 12 Per 7
Base Stats:
Str 11 Dex 16 Int 14 Per 8

Final Messages:
4:47:30 PM The security bot shoots you.
4:47:30 PM From the southwest you hear P-p-p-pow!
4:47:30 PM The shot reflects off the thin skin!
4:47:30 PM From the southwest you hear P-p-p-pow!
4:47:30 PM The shot reflects off the thin skin!
4:47:30 PM From the southwest you hear P-p-p-pow!
4:47:30 PM The shot reflects off the thin skin!
4:47:30 PM From the southwest you hear P-p-p-pow!
4:47:30 PM The security bot fires its smg!
4:47:30 PM You maim the security bot for 6 damage.
4:47:24 PM You slice the security bot for 6 damage.
4:47:18 PM From the southwest you hear beep-beep-beep!

You can see that only the final shot actually connects, and it does all 74 damage (I was at full, yes, beforehand).

Here was my equipment:

Equipment:
! - runner pack
a - wearable flashlight (47)
l - tactical dump pouch
C - sheath with combat knife
s - helmet netting
f - chipped RM13 combat armor (on) (4425)

It strikes me that I should not have been instakilled by a single SMG bullet with this set-up. Perhaps I’m crazy though. I’d like an explanation if this is legitimate.

It’s a known bug, no one got around to fixing it however.

Helpfully reposting:

[quote=“EditorRUS, post:4, topic:5721”]I am not really sure about bug’s location, but maybe it’s incorrect order?

Like:

  1. Damage is calculated
  2. Damage_mult *= rng_float(2.45, 3.35); when headshot
  3. Damage IS PASSED THROUGH ARMOR
  4. Damage is increased one more time, since it’s headshot.
  5. Instakill.[/quote]

bump, is this resolved? o:

Not really. The problem is one of those ones that looks simple, but is more complex due to the various passing around and requirements of functions and values (more specifically it’s because there are things that depend on the value being modified by crits and unaffected by armor before the armor check, so you can’t just move it). It’s something that could be fixed, but to do so would involve rewriting/reorganizing all 15 or so interlocking combat functions (that deal with melee hits, ranged hits, damage, etc.), which is not a particularly easy thing to do.

In other words it’s fallen into the “lots of work for very little reward” category right now. It’s still on the list, but I know that I at least have a few more projects I’d like to finish off first before working on it (unless I am feeling particularly masochistic one day and tackle it then).

I know hackjob fixes (that address the symptom without treating the cause) are undesirable, since they have to be removed themselves before real progress can be made, but given that this is literally a showstopping bug for a roguelike, it might be worth it for this case.

Ideas for hackjob fixes:
1: On death, consult armor on cause-of-death location and the last damage dealt. If armor is greater than X and damage is greater than Y, tell the player, “It appears that you may have died as a result of known bug . If you believe that this is the case and you wish to try again, find your .sav file from folder and paste it in folder .”

2: Before applying damage to a location, check the location’s armor X and set the maximum damage M to a function of X. If the final damage calculation is greater than M, set the damage to M. I don’t believe that much of anything in the game does more than 100 damage, even on a crit, so perhaps M=100-X would work if that’s true.

Maybe hack-fixing it would be a good idea indeed.

As I said the problem is that there isn’t really a place to apply it, even for a hack fix, since all damage passes through the same locations. As such you can apply something to fix crits, but you run into the problem of it affecting other damages as well. It’s not an easily resolved problem, and it’s something that is definitely on my to-do list, but it might take a little while to get around to it (if only because I’m int he middle of a health/disease rework right now).

Sounds… !!FUN!!

I for one appreciate your hard work on this project :3

insta-killed by a headshot
For the love of god I'll never understand why you people are so attached to these horrible design choices in this RPG.

This is not a design choice as such, it’s a consequence of how the game counts damage.

Personally, I’m not sure that getting shot in the face being a lethal attack is a bad design choice, said bullet magically going through armor is of course a significant bug.

Seriously, assuming you don’t die instantly, getting shot in the head is hard to survive even if you’re rushed to the hospital, unless you’re lucky or it was a grazing blow. If an enemy gets a critical hit and catches you in an unarmored part of your face, you should probably die or at least take massive damage (Allowing any further attacks to kill you pretty easily).

In fact, my main issue with modern RPGs is that the player is almost impossible to kill and can reload from any point in the game. I don’t mean to bash modern RPGs, but sometimes I like to play a game where getting shot in the face several times isn’t just a flesh wound, and each decision I make could be my last, or significantly hinder me for a decent length of time.