I thought that damage was tested against each type separately, then against the position.
What I thought the super simplified damage calculation was:
types = [cold,smashing]
for type in types :
if roll > type_def :
if roll > pos_def :
type_damage = type_attack_value * ( 1.0 - type_res )
Now with the changes, it appears I was mistaken ( I guess I could have looked up the math ), which makes sense why people were chasing S/L so much.
If I'm understanding correctly, it's something like:
types = [cold,smashing]
attack_percent = [cold,smashing]
if roll > max[attack_percent] :
if roll > pos_def :
for type in types :
type_damage = type_attack_value * ( 1.0 - type_res )
I'm curious why have multiple types if we're only checking against one of them? Is it so we have a broad range to send to resistance? Why not separate the damage into multiple checks vs. the highest wins? Or am I mistaken how it works again? I could see how an armor could protect against smashing, but let cold get through. If I'm wearing a helmet and someone launches an ice ball at me, the impact might be loud, I'm not hurt, but the cold with cut through ( talking from experience ). Or if I'm wearing a puffy coat, the impact/smashing will hit me ( 0 def ), will be reduced ( medium res ), but the cold won't bother me ( high def, high res ).
I've tested the changes and it doesn't appear to have too much of an impact since most of my squishier characters went for ranged def ( the chase for S/L never made sense to me as I was wrong about the damage formula ). Making exotic types have a bigger impact makes sense. I'm just wondering why not break them into separate damage paths rather than conflate them. Too big of a change?
edit: typos