12345678910111213141516171819202122232425262728 |
- ;;; Combat systems implemented here
- (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))))
|