|
@@ -3,5 +3,26 @@
|
|
|
(defvar *combat-menu-options-display* NIL)
|
|
|
(defvar *combat-opt-lookup NIL)
|
|
|
|
|
|
+;; Combat options:
|
|
|
+;; Attack (with specific weapon)
|
|
|
+;; Regen shields
|
|
|
+;; - (add value to rep-shield-val at cost of overcharing
|
|
|
+;; - (overcharing can cause warp field to go into low-power)
|
|
|
+;; Overcharge gun at cost of overcharing reactor
|
|
|
+;; Attempt to flee into the warp
|
|
|
+;; - (requires full power / overcharged
|
|
|
+;; - (can also cause reactor to go low power, which removes ability to regen/overcharge)
|
|
|
+
|
|
|
(defun combat-loop (sector)
|
|
|
"The main loop responsbile for resolving combat situations")
|
|
|
+
|
|
|
+(defun calculate-damage (attacker-obj target-obj attacker-weapon)
|
|
|
+ "Calculate damage attacker will do given attacker stats, target stats,
|
|
|
+ and weapon stats"
|
|
|
+ (let ((target-defense-value (+ (rep-shield-val target-obi) (armor-val target-obj))))))
|
|
|
+
|
|
|
+(defun ship-attack (attacker-obj target-obj attacker-weapon)
|
|
|
+ "Given a ship thats attacking, a target, and the attackers chosen weapon
|
|
|
+ resolve the combat by calculating shield/hull damage and resolving resources."
|
|
|
+ (let ((calculated-damage- ; This value needs to resolve all buffs and debuffs
|
|
|
+ NIL))))
|