;;; Lisparuga ;;; Copyright © 2020 David Thompson ;;; ;;; Lisparuga is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published ;;; by the Free Software Foundation, either version 3 of the License, ;;; or (at your option) any later version. ;;; ;;; Lisparuga is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;; General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with Lisparuga. If not, see . ;;; Commentary: ;; ;; Enemy actors. ;; ;;; Code: (define-module (lisparuga enemy) #:use-module (chickadee math rect) #:use-module (chickadee math vector) #:use-module (chickadee scripting) #:use-module (chickadee render texture) #:use-module (lisparuga actor) #:use-module (lisparuga asset) #:use-module (lisparuga bullets) #:use-module (lisparuga config) #:use-module (lisparuga node) #:use-module (lisparuga node-2d) #:use-module (oop goops) #:export ( health points parting-shots make-utatsugumi)) ;;; ;;; Base Enemy ;;; (define-class () (health #:accessor health #:init-keyword #:health) (points #:getter points #:init-keyword #:points) (parting-shots #:getter parting-shots #:init-keyword #:parting-shots)) ;;; ;;; Utatsugumi ;;; (define-class ()) (define (make-utatsugumi polarity x y) (make #:name (gensym "utatsugumi-") #:health 1 #:points 20 #:parting-shots 5 #:polarity polarity #:position (vec2 x y)))