an idea for how the card game might go.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
(ns advent.screens.rooms.inside-castle
|
(ns advent.screens.rooms.inside-castle
|
||||||
(:require [advent.screens.rooms :as rooms]
|
(:require [advent.screens.rooms :as rooms]
|
||||||
[advent.actions :as actions]
|
[advent.actions :as actions]
|
||||||
|
[advent.screens.items :as items]
|
||||||
[advent.utils :as utils]
|
[advent.utils :as utils]
|
||||||
[clojure.zip :as zip]
|
[clojure.zip :as zip]
|
||||||
[play-clj.core :refer :all]
|
[play-clj.core :refer :all]
|
||||||
@@ -8,6 +9,21 @@
|
|||||||
[play-clj.utils :refer :all]
|
[play-clj.utils :refer :all]
|
||||||
[play-clj.g2d :refer :all]))
|
[play-clj.g2d :refer :all]))
|
||||||
|
|
||||||
|
(defn play-warlocks-castle [entities]
|
||||||
|
(let [scenarios [#(actions/do-dialogue entities
|
||||||
|
:game-player "As you approach the lair of the cave beast, a foul odor fills your nostrils."
|
||||||
|
:game-player "To your horror, you realize that the stench is from the corpses of less wise wizards."
|
||||||
|
:game-player "The cave is eerie and dark. What do you do?")
|
||||||
|
#(actions/do-dialogue entities
|
||||||
|
:game-player "As you move forward in your quest, you come upon an abandoned library."
|
||||||
|
:game-player "Still, something doesn't feel right about the place."
|
||||||
|
:game-player "It's quiet."
|
||||||
|
:game-player "A little too quiet.")
|
||||||
|
#(actions/do-dialogue entities
|
||||||
|
:game-player "The treacherous stair lies before you.")]]
|
||||||
|
(doseq [scenario (take 2 (shuffle scenarios))]
|
||||||
|
(scenario))))
|
||||||
|
|
||||||
(defn do-game-player-dialogue [entities]
|
(defn do-game-player-dialogue [entities]
|
||||||
(actions/do-dialogue entities :ego "You there!" :game-player "... Yes?")
|
(actions/do-dialogue entities :ego "You there!" :game-player "... Yes?")
|
||||||
(actions/present-choices entities
|
(actions/present-choices entities
|
||||||
@@ -36,11 +52,16 @@
|
|||||||
:game-player "It's not for little kids like you."
|
:game-player "It's not for little kids like you."
|
||||||
:game-player "Even wise wizards like Mr. Fangald can't beat me!")
|
:game-player "Even wise wizards like Mr. Fangald can't beat me!")
|
||||||
:choices ["Can I play with you?"
|
:choices ["Can I play with you?"
|
||||||
{:run #(actions/respond entities %
|
{:run #(do (actions/respond entities %
|
||||||
:game-player "You think YOU have what it takes to climb the stairs of treachery?"
|
:game-player "You think YOU have what it takes to climb the stairs of treachery?"
|
||||||
:game-player "Or solve the riddle in the library of mystery?"
|
:game-player "Or solve the riddle in the library of mystery?"
|
||||||
:game-player "Or break the curse that has entrapped the cave beast for 1000 years?"
|
:game-player "Or break the curse that has entrapped the cave beast for 1000 years?"
|
||||||
:game-player "Very well.")}
|
:game-player "Very well. Here are your cards.")
|
||||||
|
(actions/give entities items/cards)
|
||||||
|
(actions/talk entities :game-player "Are you ready to play?"))
|
||||||
|
:choices ["You bet!" {:run (fn [_] (play-warlocks-castle entities))}
|
||||||
|
"Hang on a sec." {:choices ["Hey look! A real warlock!" {:choices actions/previous-choices}
|
||||||
|
"Ok, ready." {:run (fn [_] (play-warlocks-castle entities))}]}]}
|
||||||
"That sounds pretty dumb."
|
"That sounds pretty dumb."
|
||||||
{:run #(actions/respond entities %
|
{:run #(actions/respond entities %
|
||||||
:game-player "That's exactly what I'd expect a dummy like you to say."
|
:game-player "That's exactly what I'd expect a dummy like you to say."
|
||||||
|
|||||||
@@ -164,7 +164,7 @@
|
|||||||
{:rooms rooms
|
{:rooms rooms
|
||||||
:state {:object nil
|
:state {:object nil
|
||||||
:active? true
|
:active? true
|
||||||
:inventory [items/cheat-deck items/cards]}
|
:inventory []}
|
||||||
:actions {:object nil
|
:actions {:object nil
|
||||||
:channel (chan)
|
:channel (chan)
|
||||||
:current nil
|
:current nil
|
||||||
|
|||||||
Reference in New Issue
Block a user