(define-module (bonnie-bee boss) #:use-module (bonnie-bee actor) #:use-module (bonnie-bee assets) #:use-module (bonnie-bee bullet) #:use-module (chickadee audio) #:use-module (chickadee graphics particles) #:use-module (chickadee math) #:use-module (chickadee math rect) #:use-module (chickadee math vector) #:use-module (chickadee scripting) #:use-module (chickadee utils) #:use-module (oop goops) #:use-module (starling asset) #:use-module (starling node) #:use-module (starling node-2d) #:export ()) (define-class ( )) (define-method (on-boot (boss )) (attach-to boss (make #:texture beetle-image #:origin (vec2 64.0 32.0)))) (define-method (on-collide (boss ) (bullet )) (cond ((player-primary-bullet? bullet) (damage boss 1) (kill-bullet bullet) #t) ((player-bomb-bullet? bullet) (damage boss 10) (kill-bullet bullet)) (else #f))) (define-method (on-death (boss )) (audio-play (asset-ref explosion-sound)) (add-particle-emitter (particles (particles (parent boss))) (make-particle-emitter (world-hitbox boss) 20 30)))