From 2920173c75c9c8102d8a7f27df523569d61d7c7a Mon Sep 17 00:00:00 2001 From: Grant Shoshin Shangreaux Date: Sat, 28 Jan 2023 10:27:33 -0600 Subject: Research: adding notes to hazards and task categories --- model.lisp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'model.lisp') diff --git a/model.lisp b/model.lisp index e070f50..9da7929 100644 --- a/model.lisp +++ b/model.lisp @@ -8,6 +8,9 @@ (deftype character-class () `(member :hero)) +(deftype priority () + `(member :low :medium :high)) + (defun hero-class (h) "barGaryan") ; TODO: real implementation @@ -37,6 +40,7 @@ :documentation "The list of slots available to this entity.")) (:metaclass db:persistent-class)) + (defclass has-chronicle () ((chronicle :accessor chronicle :initform nil)) (:metaclass db:persistent-class) @@ -108,10 +112,9 @@ (rumors :accessor campaign-rumors :initarg nil - :documentation "Beasts and Monsters rumored to be lurking about.")) + :documentation "Beasts, Monsters, and Hazards rumored to be lurking about.")) (:metaclass db:persistent-class) - (:documentation "A campaign is a container of quests. Campaigns are expected to be -engaged with on a particular schedule, and are run by particular people.")) + (:documentation "A campaign is a container of quests. Campaigns are expected to be engaged with on a particular schedule, and are run by particular people.")) (defclass quest (game-object) ((campaign @@ -144,14 +147,26 @@ engaged with on a particular schedule, and are run by particular people.")) (defclass hazard (game-object) ((quest - :accessor quest + :accessor quest-of :index-type idx:hash-list-index :index-reader hazards-in-quest :documentation "The quest to which this hazard belongs. Initially it is unbound. It becomes boudn when the hazard is added to a quest.") (overcomep - :accessor overcomep + :accessor is-overcome :initform nil - :documentation "indicates whether or not this hazard has been overcome.")) + :documentation "indicates whether or not this hazard has been overcome.") + (imminence + :accessor imminence-of + :type priority + :documentation "") + (menace ;; difficulty + :accessor menace-of + :type integer + :documentation "How dangerous the hazard is." )) (:metaclass db:persistent-class) (:documentation "Hazard is a superclass for all hazards encountered in a quest. It's chronicle includes data about which heroes fought and which overcame.")) +(defclass monster ()) + + + -- cgit v1.2.3