summaryrefslogtreecommitdiff
path: root/lisparuga/enemy.scm
diff options
context:
space:
mode:
Diffstat (limited to 'lisparuga/enemy.scm')
-rw-r--r--lisparuga/enemy.scm13
1 files changed, 6 insertions, 7 deletions
diff --git a/lisparuga/enemy.scm b/lisparuga/enemy.scm
index 9213890..dd298a6 100644
--- a/lisparuga/enemy.scm
+++ b/lisparuga/enemy.scm
@@ -98,13 +98,12 @@
(loop (+ i 1)))))))
(define-method (on-collision (enemy <enemy>) bullet bullet-polarity hitbox)
- ;; TODO: Distinguish between normal play bullets and homing shots
- ;; that do more damage.
- ;;
- ;; Same polarity = 1 point of damage
- ;; Opposite polarity = 2 points of damage
- (let ((same-polarity? (eq? bullet-polarity (polarity enemy))))
- (damage enemy (if same-polarity? 1 2))
+ ;; Same polarity = 1x damage
+ ;; Opposite polarity = 2x damage
+ (let* ((same-polarity? (eq? bullet-polarity (polarity enemy)))
+ (base-damage (if (eq? bullet ikaruga-missile) 10 1))
+ (multiplier (if same-polarity? 1 2)))
+ (damage enemy (* base-damage multiplier))
(when (and same-polarity? (dead? enemy))
(set! (fire-parting-shots? enemy) #t)))
#t)