summaryrefslogtreecommitdiff
path: root/src/game/tavern.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/tavern.lisp')
-rw-r--r--src/game/tavern.lisp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/game/tavern.lisp b/src/game/tavern.lisp
new file mode 100644
index 0000000..25d6ef0
--- /dev/null
+++ b/src/game/tavern.lisp
@@ -0,0 +1,48 @@
+;;;; pages/tavern.lisp -- enter the tavern
+
+(in-package :dnd)
+
+(defclass/std tavern ()
+ ((player)))
+
+(defrender t ((tavern tavern))
+ (with-page (:title "A Bustling Tavern")
+ (let ((player (player tavern)))
+ (render :details player)
+ (when (player-heroes player)
+ (:h2 "Your Heroes:")
+ (render :list (player-heroes player)))
+ (:a :href "tavern/adventures" "Adventures for which you are seer.")
+ (:br)
+ (:a :href "/goddess-shrine" "Pray a new hero rises.")
+ (:br)
+ (:a :href "/spymaster" "Report a Roguish Rumour...")
+ (:br)
+ (:a :href "/adventure-awaits" "Embark on a new Adventure!"))))
+
+
+(defclass/std tavern-adventures ()
+ ((your-adventures)))
+
+(defrender t ((page tavern-adventures))
+ (with-page (:title "Your Adventures")
+ (:h1 "You are seer on the following adventures")
+ (render :list (your-adventures page))))
+
+(defendpoint* :get "/tavern" () ()
+ (with-session (me)
+ (render (page-render-mode)
+ (make-instance 'tavern :player me))))
+
+
+
+
+(defendpoint* :get "/quest/:quest a-quest-with-id:/:name:" () ()
+ (with-session (player)
+ (render (page-render-mode)
+ (make-instance 'quest-page
+ :player player
+ :hero quest))))
+
+
+