Hmmm... I'm not entirely sure which one I want to use. I understand how both work but I'm not sure if I want to blanket all deaths that were supposed to be PC only with the mobs as well. I will test and report back later.
EDIT: Doing my research I discovered none of the penalties ever occur unless you are killed by a player... and nothing else. If this is as designed, I didn't know about it.
I ended up going with your second option so that all the penalty checks are run through in case I ever decide to set an XP penalty (not likely).
DOUBLE EDIT:
Nevermind, using the second option sends piles of errors from the mapserver "randomly" for some reason. When using the first, it wouldn't compile unless I moved "unsigned int base_penalty = 0;" somewhere else in the code. It was strange, like declaring it next to the if statement was against syntax. Especially because the error was "Error 10 error C2143: syntax error : missing ';' before 'type'" ...and all I did was declare a variable.
Any insight on why doing so would make an error depending on where the variable is placed would be great, because I am stumped. Otherwise, it works if I move the declaration to the top near the other variables. Thank you.