                                                    WHERE skills_id = ?);"
                                                    sg_id
                                                    skill_id)))]
-    (first (query "SELECT * FROM minion_skills WHERE minion_id = ?;"
-                  mId))
+    (-> (query "SELECT * FROM minion_skills WHERE minion_id = ?;"
+                  mId)
+        first
+        (update-in [:minion_cost] (fn [^Integer cost] (max 1 (+ (rand-int 5) -2 cost))))
+        )
     nil))

         (repeatedly numb (partial get-cbay-random-single zone)))))))

(defn get-single-minion-from-sg
  "Given a service group, returns a single minion from that group. Returns nil if invalid sg_id or no minions in that service group"
  [^Integer sg_id]
  (log/trace "create-single-minion-from-sg. sg_id:" sg_id)
  (-> (query "SELECT minion_id FROM minion

      (get :minion_id)
      (#(query "SELECT * FROM minion_skills WHERE minion_id = ?;" %))
      ; The above returns a collection, with one item
      first
      (update-in [:minion_cost] (fn [^Integer cost] (max 1 (+ (rand-int 5) -2 cost))))
      )
  )

(defn get-single-minion-from-sg-and-skill
