# HG changeset patch # User Steve Losh # Date 1483878316 0 # Node ID ae09c71d52e8fa8f9d7ef3c2ca30dd3a349638f6 # Parent 7e4af1a01d82278d685411382bb602448416dd53 Fix ruin gen, add some flavor diff -r 7e4af1a01d82 -r ae09c71d52e8 src/entities/ruin.lisp --- a/src/entities/ruin.lisp Sun Jan 08 12:14:55 2017 +0000 +++ b/src/entities/ruin.lisp Sun Jan 08 12:25:16 2017 +0000 @@ -3,6 +3,40 @@ (defparameter *venues* (read-file-into-form "data/venues.lisp")) +(defparameter *graffiti* + #("give up" + "why me?" + "tom <3 alice" + "dave was here" + "420" + "goodbye" + "5823" + "jesus saves" + "your next" + "hail satan" + "run" + "head north" + "head south" + "were damned" + "hope is lost" + "turn back")) + +(defparameter *ruin-flavor* + #("Maybe there's something useful left." + "You're surprised it's still standing." + "Maybe it's worth taking a look." + "Perhaps you should scavenge?" + "You have a bad feeling about it." + "It brings back fond memories." + "The walls are crumbling." + "Sickly-looking leaves cover its walls." + "It looks like someone has been here recently." + "The walls are charred from a fire." + "A small animal scurries into a hold under the wall." + "Your parents used to live near one of these." + "The world has suddenly gotten quiet." + "A remnant of a happier time.")) + (define-entity ruin (coords trigger)) (defun random-ruin-text () @@ -10,27 +44,8 @@ (random-elt *venues*) (if (randomp ap::*graffiti-chance*) (format nil "Someone has graffitied \"~A\" on the wall." - (string-upcase (random-elt #("give up" - "why me?" - "tom <3 alice" - "dave was here" - "420" - "goodbye" - "5823" - "jesus saves" - "hail satan" - "run" - "head north" - "head south" - "were damned" - "hope is lost" - "turn back")))) - (random-elt #("Maybe there's something useful left." - "Perhaps you should scavenge?" - "It brings back fond memories." - "Your parents used to live near one of these." - "The world has suddenly gotten quiet." - "A remnant of a happier time."))))) + (string-upcase (random-elt *graffiti*))) + (random-elt *ruin-flavor*)))) (defun make-ruin (x y) (create-entity 'ruin diff -r 7e4af1a01d82 -r ae09c71d52e8 src/main.lisp --- a/src/main.lisp Sun Jan 08 12:14:55 2017 +0000 +++ b/src/main.lisp Sun Jan 08 12:25:16 2017 +0000 @@ -92,7 +92,7 @@ (defun decay-ruin (width height start-x start-y condition) (iterate (for-nested ((x :from start-x :to (+ start-x width)) (y :from start-y :below (+ start-y height)))) - (when (or (randomp condition) + (when (or (randomp (- 1.0 condition)) (and (deepwaterp (aref *terrain* x y)) (not (eq :wall (aref *structures* x y))))) (setf (aref *structures* x y) nil)))) @@ -123,7 +123,7 @@ (y (clamp 0 (- *map-size* 50) (random-coord))) (width (max 5 (truncate (random-gaussian *ruin-size-mean* *ruin-size-dev*)))) (height (max 5 (truncate (random-gaussian *ruin-size-mean* *ruin-size-dev*)))) - (condition (random-range 0.1 1.0))) + (condition (random-range 0.2 1.0))) (add-intact-ruin width height x y) (add-ruin-door width height x y) (decay-ruin width height x y condition)