|
@@ -33,18 +33,18 @@
|
33
|
33
|
((width :initarg :width :type fixnum :initform 1)
|
34
|
34
|
(height :initarg :height :type fixnum :initform 1)
|
35
|
35
|
(location :initarg :location :initform 0 :type fixnum)
|
36
|
|
- (color :initarg :color :initform (color-from-name "white"))))
|
|
36
|
+ (color :initarg :color :initform (color-from-name "#ffffff"))))
|
37
|
37
|
|
38
|
38
|
(defclass tile-entity (entity)
|
39
|
39
|
((codepoint :initarg :codepoint :initform #x3f :type fixnum)))
|
40
|
40
|
|
41
|
41
|
(defclass wall (tile-entity)
|
42
|
42
|
((codepoint :initarg :codepoint :initform #x23 :type fixnum)
|
43
|
|
- (color :initarg :color :initform (color-from-name "grey"))))
|
|
43
|
+ (color :initarg :color :initform (color-from-name "#999999"))))
|
44
|
44
|
|
45
|
45
|
(defclass floor-tile (tile-entity)
|
46
|
46
|
((codepoint :initarg :codepoint :initform #xb7 :type fixnum)
|
47
|
|
- (color :initarg :color :initform (color-from-name "grey"))))
|
|
47
|
+ (color :initarg :color :initform (color-from-name "#3f3f3f"))))
|
48
|
48
|
|
49
|
49
|
(defclass viewport (entity)
|
50
|
50
|
((width :initarg :width :type fixnum :initform 99)
|
|
@@ -62,18 +62,18 @@
|
62
|
62
|
(defclass player-character (mobile)
|
63
|
63
|
((health :initarg :health :type fixnum :initform 10)
|
64
|
64
|
(mana :initarg :mana :type fixnum :initform 10)
|
65
|
|
- (codepoint :initform #x263a)
|
|
65
|
+ (codepoint :initform #x2639)
|
66
|
66
|
(ranged-attack-damage :initarg :ranged-attack-damage :initform 5 :type fixnum)
|
67
|
67
|
(melee-attack-damage :initarg :ranged-attack-damage :initform 2 :type fixnum)
|
68
|
68
|
(ranged-attack-cost :initarg :ranged-attack-cost :initform 5 :type fixnum)
|
69
|
69
|
(mana-regen :initarg :mana-regen :initform 3 :type fixnum)
|
70
|
|
- (color :initarg :color :initform (color-from-name "green"))))
|
|
70
|
+ (color :initarg :color :initform (color-from-name "#800080"))))
|
71
|
71
|
|
72
|
72
|
(defclass enemy (mobile)
|
73
|
73
|
((codepoint :initform #x263a)
|
74
|
74
|
(melee-attack-damage :initarg :ranged-attack-damage :initform 1 :type fixnum)
|
75
|
75
|
(health-regen :initarg :health-regen :initform 1 :type fixnum)
|
76
|
|
- (color :initarg :color :initform (color-from-name "red"))))
|
|
76
|
+ (color :initarg :color :initform (color-from-name "#1919ff"))))
|
77
|
77
|
|
78
|
78
|
(defclass minion (mobile)
|
79
|
79
|
((color :initarg :color :initform (color-from-name "yellow"))))
|
|
@@ -387,7 +387,10 @@
|
387
|
387
|
(setf (gethash (calc-location x y map) terrain) wall)))
|
388
|
388
|
((eq (crawler:map-feature tile) :stairs-up)
|
389
|
389
|
(set-location player x y map)
|
390
|
|
- (setf (gethash (calc-location x y map) mobiles) player))
|
|
390
|
+ (setf (gethash (calc-location x y map) mobiles) player)
|
|
391
|
+ (let ((floor (make-instance 'floor-tile)))
|
|
392
|
+ (set-location floor x y map)
|
|
393
|
+ (setf (gethash (calc-location x y map) terrain) floor)))
|
391
|
394
|
(:otherwise
|
392
|
395
|
(let ((floor (make-instance 'floor-tile)))
|
393
|
396
|
(set-location floor x y map)
|