diff options
Diffstat (limited to 'src/game/tavern.lisp')
-rw-r--r-- | src/game/tavern.lisp | 48 |
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)))) + + + |