(define-module (bonnie-bee flower) #:use-module (bonnie-bee actor) #:use-module (bonnie-bee assets) #:use-module (bonnie-bee bullet) #:use-module (chickadee math) #:use-module (chickadee math vector) #:use-module (chickadee scripting) #:use-module (chickadee utils) #:use-module (oop goops) #:use-module (starling node) #:use-module (starling node-2d) #:export ()) (define-class ( )) (define-method (on-boot (flower )) (attach-to flower (make #:texture flower-image #:origin (vec2 32.0 32.0)))) (define-method (on-collide (flower ) (bullet )) (if (eq? (type bullet) player-primary-bullet) (begin (damage flower 1) (kill-bullet bullet) #t) #f)) (define-method (on-death (flower ) bullets) (let ((p (position flower))) (for-range ((i 16)) (let ((theta (- (* (random:uniform) (/ pi -2.0)) (/ pi 4.0))) (speed (+ (* (random:uniform) 1.0) 1.0))) (add-bullet bullets pollen-pickup p (vec2 (* (cos theta) speed) (* (sin theta) speed)))))))