ApplyDamage(_Player, _NewPercentage, "Chaos");
Are you absolutely sure that ApplyDamage accepts percentage? Last I checked STORY scripts they quite often have values over 100 and once even 66666 (probably for those crucified guys).
All of it makes me think that it's the absolute value here not percentage