aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Pouar <pouar@pouar.net>2020-08-09 17:44:09 -0500
committerGravatar Pouar <pouar@pouar.net>2020-08-09 17:44:09 -0500
commit886b248ff818e50c7820c4880ec741cf394897e7 (patch)
tree1f3657a6ab4e10f2d223a76d7ff9453e6210367a
parentsplit libexec.lisp (diff)
add messing laser
-rw-r--r--data/items/weapons.lisp11
-rw-r--r--packages.lisp1
2 files changed, 12 insertions, 0 deletions
diff --git a/data/items/weapons.lisp b/data/items/weapons.lisp
index a20a72f..47f64fc 100644
--- a/data/items/weapons.lisp
+++ b/data/items/weapons.lisp
@@ -116,3 +116,14 @@
(format t "Three Sword Style!!!!~%")
(decf (health-of target) a)
(format t "~a received ~a damage~%" (name-of target) a)))
+(defclass messing-laser (weapon) ()
+ (:default-initargs
+ :name "Messing Laser"
+ :description "Causes enemies to mess themselves"
+ :values 8000))
+(defmethod attack ((target bowels-character) (user base-character) (weapon messing-laser))
+ (f:fmt t (name-of target) " squats down and starts blorting " (if (malep target) "himself" "herself") " uncontrollably." #\Newline)
+ (mess :force-fill-amount (bowels/maximum-limit-of target))
+ (set-status-condition 'yadfa-status-conditions:messing target))
+(defmethod attack ((target base-character) (user base-character) (weapon messing-laser))
+ (f:fmt t "It has no effect on " (name-of target) #\Newline))
diff --git a/packages.lisp b/packages.lisp
index 28a0b34..1488a32 100644
--- a/packages.lisp
+++ b/packages.lisp
@@ -479,6 +479,7 @@
#:exterminator-ammo
#:pink-sword
#:hammer-gun
+ #:messing-laser
#:wrench
#:three-swords
#:pocket-map-machine