aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Pouar <pouar@pouar.net>2020-07-17 18:34:56 -0500
committerGravatar Pouar <pouar@pouar.net>2020-07-17 18:34:56 -0500
commite5ec5e94a5ba56bf86ec1d3ee07eb6bd355667b7 (patch)
tree21341976645dcb5fb87b6fb30155a14c44a77d73
parentapparently the macro-level macro was redundant (diff)
make use of element types where they make sense
still need a lot more than this though
-rw-r--r--data/enemies/eggbots.lisp3
-rw-r--r--data/enemies/navy.lisp1
-rw-r--r--data/enemies/pirates.lisp1
-rw-r--r--data/enemies/pokemon.lisp3
-rw-r--r--data/enemies/rpgmaker.lisp4
-rw-r--r--data/moves/regular.lisp3
-rw-r--r--data/prolog/enemies.lisp1
-rw-r--r--yadfa.asd4
8 files changed, 15 insertions, 5 deletions
diff --git a/data/enemies/eggbots.lisp b/data/enemies/eggbots.lisp
index 9788c49..e760a5f 100644
--- a/data/enemies/eggbots.lisp
+++ b/data/enemies/eggbots.lisp
@@ -7,4 +7,5 @@
:species "Egg Pawn"
:male t
:attributes (list :not-ticklish t)
- :bitcoins-per-level 40))
+ :bitcoins-per-level 40
+ :element-type (list (make-instance 'yadfa-element-types:steel))))
diff --git a/data/enemies/navy.lisp b/data/enemies/navy.lisp
index 6da9e88..b0986eb 100644
--- a/data/enemies/navy.lisp
+++ b/data/enemies/navy.lisp
@@ -10,6 +10,7 @@
:mudsport-chance 3
:bladder/contents (random 500)
:bowels/contents (random 700)
+ :element-type (list (make-instance 'yadfa-element-types:water))
:inventory (iter (for i from 0 to (random 5)) (collect (make-instance 'yadfa-items:navy-pullups)))
:bitcoins-per-level 60))
(defmethod process-battle-accident ((character navy-officer) attack (item item) reload (selected-target base-character))
diff --git a/data/enemies/pirates.lisp b/data/enemies/pirates.lisp
index 7417a86..2e31025 100644
--- a/data/enemies/pirates.lisp
+++ b/data/enemies/pirates.lisp
@@ -8,6 +8,7 @@
:male (a:random-elt '(t nil))
:bladder/contents (random 500)
:bowels/contents (random 700)
+ :element-type (list (make-instance 'yadfa-element-types:water))
:watersport-limit 300
:mudsport-limit 400
:inventory (iter (for i from 0 to (random 20)) (collect (make-instance 'yadfa-items:diaper)))))
diff --git a/data/enemies/pokemon.lisp b/data/enemies/pokemon.lisp
index af8792e..197f078 100644
--- a/data/enemies/pokemon.lisp
+++ b/data/enemies/pokemon.lisp
@@ -6,7 +6,8 @@
:description "The world's weakest Pokémon until it evolves, but when it does evolve, HOLY SHIT!!!!!!"
:species "Magikarp"
:male (a:random-elt '(t nil))
- :bitcoins-per-level 10))
+ :bitcoins-per-level 10
+ :element-type (list (make-instance 'yadfa-element-types:water))))
(defmethod attack ((target team-member) (user magikarp) (attack null))
(declare (ignore target attack))
(format t "~a uses Splash, obviously it had no effect. What did you think was going to happen?" (name-of user)))
diff --git a/data/enemies/rpgmaker.lisp b/data/enemies/rpgmaker.lisp
index f6e84dc..1934075 100644
--- a/data/enemies/rpgmaker.lisp
+++ b/data/enemies/rpgmaker.lisp
@@ -36,6 +36,7 @@
:bitcoins-per-level 100
:inventory (iter (for i from 0 to (random 10))
(collect (make-instance 'yadfa-items:high-capacity-diaper)))
+ :element-type (list (make-instance 'yadfa-element-types:poison))
:moves (list (make-instance 'yadfa-moves:spray) (make-instance 'yadfa-moves:face-sit))))
(defmethod initialize-instance :after
((c diapered-skunk) &rest args &key &allow-other-keys)
@@ -108,6 +109,7 @@
:watersport-chance 3
:mudsport-chance 3
:bitcoins-per-level 100
+ :element-type (list (make-instance 'yadfa-element-types:poison))
:moves (list (make-instance 'yadfa-moves:spray) (make-instance 'yadfa-moves:face-sit))))
(defmethod initialize-instance :after
((c diapered-skunk*) &rest args &key &allow-other-keys)
@@ -189,6 +191,8 @@
(collect (make-instance 'yadfa-items:high-capacity-diaper)))
(iter (for i from 0 to (random 20))
(collect (make-instance 'yadfa-items:kurikia-thick-diaper))))
+ :element-type (list (make-instance 'yadfa-element-types:dragon) (make-instance 'yadfa-element-types:fire)
+ (make-instance 'yadfa-element-types:flying))
:moves (list (make-instance 'yadfa-moves:tickle)
(make-instance 'yadfa-moves:roar)
(make-instance 'yadfa-moves:mush)
diff --git a/data/moves/regular.lisp b/data/moves/regular.lisp
index 5d0b209..7a54522 100644
--- a/data/moves/regular.lisp
+++ b/data/moves/regular.lisp
@@ -138,7 +138,8 @@
:name "Fire Breath"
:energy-cost 5
:power 60
- :description "Breathes fire at the enemy"))
+ :description "Breathes fire at the enemy"
+ :element-type (make-instance 'yadfa-element-types:fire)))
(defmethod attack ((target base-character) (user base-character) (self fire-breath))
(let ((a (calculate-damage target user self)))
(format t "~a used ~a~%" (name-of user) (name-of self))
diff --git a/data/prolog/enemies.lisp b/data/prolog/enemies.lisp
index 01d8b92..1910684 100644
--- a/data/prolog/enemies.lisp
+++ b/data/prolog/enemies.lisp
@@ -28,4 +28,5 @@
:defense float-features:long-float-positive-infinity
:energy most-positive-fixnum
:speed 120)
+ :element-type (list (make-instance 'yadfa-element-types:ghost))
:moves (list (make-instance 'yadfa-moves:ghost-tickle) (make-instance 'yadfa-moves:ghost-mush) (make-instance 'yadfa-moves:ghost-squish))))
diff --git a/yadfa.asd b/yadfa.asd
index fb7c98b..4286fc8 100644
--- a/yadfa.asd
+++ b/yadfa.asd
@@ -30,7 +30,7 @@
(:module "data"
:depends-on ("core")
:components ((:module "moves"
- :depends-on ("prolog")
+ :depends-on ("prolog" "element-types")
:components ((:file "dbz") (:file "haunted") (:file "pokemon") (:file "regular")))
(:module "items"
:depends-on ("moves" "prolog")
@@ -39,7 +39,7 @@
(:module "prolog"
:components ((:file "allies") (:file "enemies") (:file "map")))
(:module "enemies"
- :depends-on ("moves" "items" "prolog")
+ :depends-on ("moves" "items" "prolog" "element-types")
:components ((:file "eggbots") (:file "fursuiters") (:file "haunted") (:file "navy")
(:file "pirates") (:file "pokemon") (:file "raccoon-bandits")
(:file "rpgmaker")))