# HG changeset patch # User Steve Losh # Date 1483877481 0 # Node ID 0124edbf5a6f227e3de51a432bee009e94e441a8 # Parent 8fc9b2aad98bd240971c714a9b6884023c46dfac Check bounds, tame the flavors diff -r 8fc9b2aad98b -r 0124edbf5a6f src/config.lisp --- a/src/config.lisp Sun Jan 08 11:56:21 2017 +0000 +++ b/src/config.lisp Sun Jan 08 12:11:21 2017 +0000 @@ -1,7 +1,7 @@ (in-package :ap) (defparameter *sidebar-width* 30) -(defparameter *food-density* 1/6000) +(defparameter *food-density* 1/10000) (defparameter *clothing-density* 1/20000) (defparameter *jewelery-density* 1/20000) (defparameter *map-size* 2000) @@ -14,6 +14,7 @@ (defparameter *ruin-size-dev* 2.0) (defparameter *graffiti-chance* 1/10) (defparameter *flavor-chance* 1/300) +(defparameter *flavor-cooldown* 200) (defcolors (+white-black+ charms/ll:COLOR_WHITE charms/ll:COLOR_BLACK) diff -r 8fc9b2aad98b -r 0124edbf5a6f src/entities/food.lisp --- a/src/entities/food.lisp Sun Jan 08 11:56:21 2017 +0000 +++ b/src/entities/food.lisp Sun Jan 08 12:11:21 2017 +0000 @@ -26,12 +26,14 @@ "musty" "salty" "awful" + "depressing" + "like something else" + "faintly of mice" "better than nothing" "questionable" "pretty nice" "expensive" "horrifying" - "like mice" "like an old sock")))) (defun make-food (x y) diff -r 8fc9b2aad98b -r 0124edbf5a6f src/entities/player.lisp --- a/src/entities/player.lisp Sun Jan 08 11:56:21 2017 +0000 +++ b/src/entities/player.lisp Sun Jan 08 12:11:21 2017 +0000 @@ -16,7 +16,7 @@ ((< energy-value 50.0) "very hungry") ((< energy-value 80.0) "hungry") ((< energy-value 95.0) "peckish") - ((< energy-value 100.0) "full") + ((<= energy-value 100.0) "full") (t "stuffed"))) @@ -29,16 +29,16 @@ (defun make-player () (create-entity 'player :coords/x (round (* 0.5 ap::*map-size*)) - :coords/y (round (* 0.9 ap::*map-size*)) + :coords/y (round (* 0.05 ap::*map-size*)) :visible/glyph "@" :visible/color ap::+black-white+)) (defun tick-player (player) - (zapf (player/energy player) (clamp 0.0 140.0 (- % 0.1)) + (zapf (player/energy player) (clamp 0.0 140.0 (- % 0.3)) (player/health player) (clamp 0.0 100.0 - (+ % (if (minusp (player/energy player)) - -0.1 + (+ % (if (< (player/energy player) 1.0) + -0.5 0.1))))) diff -r 8fc9b2aad98b -r 0124edbf5a6f src/flavor.lisp --- a/src/flavor.lisp Sun Jan 08 11:56:21 2017 +0000 +++ b/src/flavor.lisp Sun Jan 08 12:11:21 2017 +0000 @@ -1,9 +1,15 @@ (in-package :ap.flavor) (defparameter *animals* (read-file-into-form "data/animals.lisp")) +(defparameter *cooldown* 0) (defun flavorp () - (randomp ap::*flavor-chance*)) + (if (plusp *cooldown*) + (progn (decf *cooldown*) nil) + (if (randomp ap::*flavor-chance*) + (progn (setf *cooldown* ap::*flavor-cooldown*) + t) + nil))) (defun animal () (format nil "You see ~A ~A.~2%~A" diff -r 8fc9b2aad98b -r 0124edbf5a6f src/main.lisp --- a/src/main.lisp Sun Jan 08 11:56:21 2017 +0000 +++ b/src/main.lisp Sun Jan 08 12:11:21 2017 +0000 @@ -419,7 +419,9 @@ (let* ((player *player*) (dest-x (+ (coords/x player) dx)) (dest-y (+ (coords/y player) dy))) - (when (passablep (aref *structures* dest-x dest-y)) + (when (and (in-range-p 0 dest-x *map-size*) + (in-range-p 0 dest-y *map-size*) + (passablep (aref *structures* dest-x dest-y))) (coords-move-entity player dest-x dest-y)))) (defun get-items ()