summaryrefslogtreecommitdiff
path: root/src/votann_battle_simulator/weapon_abilities.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/votann_battle_simulator/weapon_abilities.clj')
-rw-r--r--src/votann_battle_simulator/weapon_abilities.clj16
1 files changed, 16 insertions, 0 deletions
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))