6e92c8d8ddac entry-06

Add death messages.
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Wed, 18 Jul 2012 23:15:50 -0400
parents f57db9d7ccff
children 67ba4c7c0a90
branches/tags entry-06
files src/caves/entities/aspects/destructible.clj

Changes

--- a/src/caves/entities/aspects/destructible.clj	Wed Jul 18 17:42:43 2012 -0400
+++ b/src/caves/entities/aspects/destructible.clj	Wed Jul 18 23:15:50 2012 -0400
@@ -1,12 +1,17 @@
 (ns caves.entities.aspects.destructible
-  (:use [caves.entities.core :only [defaspect]]))
+  (:use [caves.entities.core :only [defaspect]]
+        [caves.entities.aspects.receiver :only [send-message-nearby]]))
 
 
 (defaspect Destructible
   (take-damage [{:keys [id] :as this} damage world]
     (let [damaged-this (update-in this [:hp] - damage)]
       (if-not (pos? (:hp damaged-this))
-        (update-in world [:entities] dissoc id)
+        (let [world (update-in world [:entities] dissoc id)
+              world (send-message-nearby (:location this)
+                                         (format "The %s dies." (:name this))
+                                         world)]
+          world)
         (assoc-in world [:entities id] damaged-this))))
   (defense-value [this world]
     (get this :defense 0)))