From cc3f850c514967ae2f9effef7e68e1d4965c6865 Mon Sep 17 00:00:00 2001 From: colin Date: Sat, 1 Apr 2023 09:48:08 -0700 Subject: Refactor to make cooperative hacking nicer --- src/game/tavern.lisp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/game/tavern.lisp (limited to 'src/game/tavern.lisp') 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)))) + + + -- cgit v1.2.3