diff --git a/README.md b/README.md index f0339cdde..18618a6ce 100644 --- a/README.md +++ b/README.md @@ -692,7 +692,7 @@ Message display. Can be configured to show different numbers of messages dependi Current score. -The scoring system is pretty straightforward. Each enemy you kill will give you points according to 5% of its base health, rounded up to the nearest multiple of 10 and capped to 1000, plus some extra bonuses for feats such as multikills *(within 5 seconds of each other)*, gibbing enemies, killing bosses, and much more! +The scoring system is pretty straightforward. Each enemy you kill will give you points according to 5% of its base health, rounded up to the nearest multiple of 10 and capped to 1000 *(and multiplied by the current skill's damage factor)*, plus some extra bonuses for feats such as multikills *(within 5 seconds of each other)*, gibbing enemies, killing bosses, and much more! You are also given score for finding secrets and counted items, +100 for each secret, +1000 if it's the final one and +10 for each item or +500 if it's the final one. In addition, +5000 will be given to all players if the level is fully cleared *(100% kills/items/secrets)*. diff --git a/language.version b/language.version index 9a8b5091b..a26a0153a 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r158 \cu(Tue 5 Jul 23:33:29 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r158 \cu(2022-07-05 23:33:29)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r159 \cu(Tue 5 Jul 23:40:50 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r159 \cu(2022-07-05 23:40:50)\c-"; diff --git a/zscript/handler/swwm_handler_damage.zsc b/zscript/handler/swwm_handler_damage.zsc index c1bfc98b2..93b5a2182 100644 --- a/zscript/handler/swwm_handler_damage.zsc +++ b/zscript/handler/swwm_handler_damage.zsc @@ -261,6 +261,8 @@ extend Class SWWMHandler lastkill[pnum] = level.maptime; // scoring int score = min(1000,int(ceil(e.Thing.GetSpawnHealth()*.05)*10)); + // skill multiplier + score = int(score*G_SkillPropertyFloat(SKILLP_DamageFactor)); // player score is always the same if ( e.Thing.player ) {