From 06e18ef5c60575c512cbd4b6703c76870ffd8661 Mon Sep 17 00:00:00 2001 From: 0xNul <57599792+0xNul@users.noreply.github.com> Date: Thu, 30 Oct 2025 10:15:37 -0700 Subject: update models and battle simulator --- src/votann_battle_simulator/weapon_abilities.clj | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/votann_battle_simulator') diff --git a/src/votann_battle_simulator/weapon_abilities.clj b/src/votann_battle_simulator/weapon_abilities.clj index 2fb681f..146b682 100644 --- a/src/votann_battle_simulator/weapon_abilities.clj +++ b/src/votann_battle_simulator/weapon_abilities.clj @@ -65,6 +65,16 @@ (println "Dice count before " dice " after " rapid-fire-added) rapid-fire-added))) +(defn conversion [dice range] + (if (> range 12) + (let [conversion-added (map (fn [roll] + (if (>= roll 4) + 6 + roll)) dice)] + (println "Hit count before " dice " after " conversion-added) + conversion-added) + dice)) + (defn sustained-hits [modifier dice] (let [critical (count (filter #(= 6 %) dice))] (cond @@ -116,6 +126,12 @@ dice-rolls (let [ability (first abilities)] (cond + (not (nil? (re-find #"Conversion" ability))) + (do + (println "Applied Conversion hit ability for " (:name weapon)) + (recur (rest abilities) + (conversion dice-rolls 24))) + (not (nil? (re-find #"Sustained Hits" ability))) (do (println "Applied Sustained Hits hit ability for " (:name weapon)) -- cgit v1.2.3