diff --git a/elisp/gilded-rose.el b/elisp/gilded-rose.el index bf0a87b2..9bd48a81 100644 --- a/elisp/gilded-rose.el +++ b/elisp/gilded-rose.el @@ -4,34 +4,34 @@ (defun update-quality (items) (dolist (item items) - (if (and (not (string= (plist-get (car item) :name) "Aged Brie")) - (not (string= (plist-get (car item) :name) "Backstage passes to a TAFKAL80ETC concert"))) + (if (and (not (string= (plist-get item :name) "Aged Brie")) + (not (string= (plist-get item :name) "Backstage passes to a TAFKAL80ETC concert"))) - (when (> (plist-get (car item) :quality) 0) - (when (not (string= (plist-get (car item) :name) "Sulfuras, Hand of Ragnaros")) - (setf (plist-get (car item) :quality) (1- (plist-get (car item) :quality))))) + (when (> (plist-get item :quality) 0) + (when (not (string= (plist-get item :name) "Sulfuras, Hand of Ragnaros")) + (setf (plist-get item :quality) (1- (plist-get item :quality))))) - (when (< (plist-get (car item) :quality) 50) - (setf (plist-get (car item) :quality) (1+ (plist-get (car item) :quality))) - (when (string= (plist-get (car item) :name) "Backstage passes to a TAFKAL80ETC concert") - (when (< (plist-get (car item) :sell-in) 11) - (when (< (plist-get (car item) :quality) 50) - (setf (plist-get (car item) :quality) (1+ (plist-get (car item) :quality))))) - (when (< (plist-get (car item) :sell-in) 6) - (when (< (plist-get (car item) :quality) 50) - (setf (plist-get (car item) :quality) (1+ (plist-get (car item) :quality))))))) + (when (< (plist-get item :quality) 50) + (setf (plist-get item :quality) (1+ (plist-get item :quality))) + (when (string= (plist-get item :name) "Backstage passes to a TAFKAL80ETC concert") + (when (< (plist-get item :sell-in) 11) + (when (< (plist-get item :quality) 50) + (setf (plist-get item :quality) (1+ (plist-get item :quality))))) + (when (< (plist-get item :sell-in) 6) + (when (< (plist-get item :quality) 50) + (setf (plist-get item :quality) (1+ (plist-get item :quality))))))) - (when (not (string= (plist-get (car item) :name) "Sulfuras, Hand of Ragnaros")) - (setf (plist-get (car item) :sell-in) (1- (plist-get (car item) :sell-in)))) + (when (not (string= (plist-get item :name) "Sulfuras, Hand of Ragnaros")) + (setf (plist-get item :sell-in) (1- (plist-get item :sell-in)))) - (when (< (plist-get (car item) :sell-in) 0) - (if (not (string= (plist-get (car item) :name) "Aged Brie")) - (if (not (string= (plist-get (car item) :name) "Backstage passes to a TAFKAL80ETC concert")) - (when (> (plist-get (car item) :quality) 0) - (when (not (string= (plist-get (car item) :name) "Sulfuras, Hand of Ragnaros")) - (setf (plist-get (car item) :quality) (1- (plist-get (car item) :quality))))) - (setf (plist-get (car item) :quality) 0)) - (when (< (plist-get (car item) :quality) 50) - (setf (plist-get (car item) :quality) (1+ (plist-get (car item) :quality))))))))) + (when (< (plist-get item :sell-in) 0) + (if (not (string= (plist-get item :name) "Aged Brie")) + (if (not (string= (plist-get item :name) "Backstage passes to a TAFKAL80ETC concert")) + (when (> (plist-get item :quality) 0) + (when (not (string= (plist-get item :name) "Sulfuras, Hand of Ragnaros")) + (setf (plist-get item :quality) (1- (plist-get item :quality))))) + (setf (plist-get item :quality) 0)) + (when (< (plist-get item :quality) 50) + (setf (plist-get item :quality) (1+ (plist-get item :quality))))))))) (provide 'gilded-rose)