1;;---------------------------------------------------------------------------- 2;; Constants 3;;---------------------------------------------------------------------------- 4 5;;---------------------------------------------------------------------------- 6;; Schedule 7;; 8;; In Glasdrin 9;;---------------------------------------------------------------------------- 10(kern-mk-sched 'sch_stew 11 (list 0 0 gv-bed "sleeping") 12 (list 7 0 ghg-s4 "eating") 13 (list 8 0 gc-hall "idle") 14 (list 12 0 ghg-s1 "eating") 15 (list 13 0 gc-hall "idle") 16 (list 18 0 ghg-s1 "eating") 17 (list 19 0 gc-hall "idle") 18 (list 20 0 gv-bed "sleeping") 19 ) 20 21;;---------------------------------------------------------------------------- 22;; Gob 23;;---------------------------------------------------------------------------- 24(define (stew-mk) (list 'townsman #f)) 25(define (stew-met? stew) (cadr stew)) 26(define (stew-met! stew) (set-car! (cdr stew) #t)) 27 28;;---------------------------------------------------------------------------- 29;; Conv 30;; 31;; Victoria is the temporal ruler of Glasdrin, 32;; bearing the title of Stewardess. 33;;---------------------------------------------------------------------------- 34 35;; Basics... 36(define (stew-hail knpc kpc) 37 (if (not (stew-met? (kobj-gob-data knpc))) 38 (begin 39 (say knpc "[You meet a stately woman with an air of authority] " 40 "Hail, Wanderer. I have heard of your coming.") 41 (stew-met! (kobj-gob-data knpc))) 42 (say knpc "[You meet a stately woman with an air of authority] " 43 "Hail again, Wanderer."))) 44 45(define (stew-default knpc kpc) 46 (say knpc "I cannot help you with that.")) 47 48(define (stew-name knpc kpc) 49 (say knpc "I am Victoria, Stewardess of Glasdrin.")) 50 51(define (stew-join knpc kpc) 52 (say knpc "How bold!")) 53 54(define (stew-job knpc kpc) 55 (say knpc "I am the Stewardess of Glasdrin.")) 56 57(define (stew-bye knpc kpc) 58 (say knpc "Keep to the path, Wanderer.")) 59 60;; Warritrix... 61(define (stew-warr knpc kpc) 62 (cond ((player-found-warritrix?) 63 (if (ask? knpc kpc "I heard of her passing. Surely you do not think I had anything to do with it?") 64 (begin 65 (say knpc "If you dare to accuse me, strike the statue in the courtyard. " 66 "But I warn you: you are a homeless vagrant, and I am ruler of the most powerful city in the land. " 67 "It will be my word against yours, and we deal harshly with false accusers.") 68 (aside kpc 'ch_ini "Doubt not, you treacherous witch, that we will accuse you, " 69 "and with more than just words.") 70 ) 71 (say knpc "Of course not. Ignore the rumours. They are spread by jealous political rivals.") 72 )) 73 ((quest-data-assigned? 'questentry-wise) 74 (say knpc "I have not seen her in some time. I believe she has been called away on some errand.") 75 (quest-data-update 'questentry-warritrix 'assignment 1) 76 ) 77 (else 78 (say knpc "One of our finest warriors. I believe she is out on patrol right now.") 79 (quest-data-update 'questentry-warritrix 'general-loc 1) 80 ) 81 )) 82 83(define (stew-erra knpc kpc) 84 (say knpc "Speak with Commander Jeffries, he may know the details.")) 85 86;; Steward... 87(define (stew-stew knpc kpc) 88 (say knpc "Glasdrin is ruled by an elected Steward, " 89 "who is charged with the safekeeping of the City and the Realm. " 90 )) 91 92(define (stew-real knpc kpc) 93 (say knpc "The Realm of Glasdrin extends west to the Fens and southeast to " 94 "the Great Wood. We also maintain a presence between the surface and " 95 "the Underworld.")) 96 97;; Rune... 98(define (stew-rune knpc kpc) 99 (if (quest-data-assigned? 'questentry-wise) 100 (say knpc "I know the Warritrix wore... wears a Rune about her neck, " 101 "but I know not what it signifies.") 102 (say knpc "I know the Warritrix wears a Rune about her neck, " 103 "but I know not what it signifies.") 104 ) 105 (quest-data-assign-once 'questentry-rune-l) 106 ) 107 108(define (stew-wore knpc kpc) 109 (if (quest-data-assigned? 'questentry-wise) 110 (say knpc "What are you implying? It was merely a slip of the tongue.") 111 (stew-default knpc kpc) 112 )) 113 114;; Absalot... 115(define (stew-absa knpc kpc) 116 (say knpc "Absalot was a cancer on the land. It had to be removed " 117 "completely before its evil spread. Surely you see the wisdom " 118 "of this?") 119 (if (kern-conv-get-yes-no? kpc) 120 (say knpc "The loss of innocent lives is always a tragedy, but it is " 121 "impossible to fight wars without them.") 122 (say knpc "What do you know of affairs of state? You are little more " 123 "than a common rogue."))) 124 125(define (stew-inno knpc kpc) 126 (say knpc "Not all the citizens of Absalot were wicked, " 127 "but they tolerated wickedness in their midst.")) 128 129(define (stew-wick knpc kpc) 130 (say knpc "The people of Absalot engaged in human sacrifice and " 131 "demon-worship. They began to have converts in other cities, even " 132 "here.")) 133 134(define (stew-conv knpc kpc) 135 (say knpc "When we learned of them, we burned them at the stake. " 136 "I met with the Wise and the leaders of the other cities to decide " 137 "what to do.") 138 (prompt-for-key) 139 (say knpc "Some of the Wise were squeamish, but in the end " 140 "we overruled their dissent and formed a coalition army. " 141 "It marched on Absalot, razed it and sealed " 142 "the passage so that none may build on that site ever again.")) 143 144(define (stew-wise knpc kpc) 145 (say knpc "The Wise are an aid to the rulers of the cities, but alone they " 146 "have little power. Even the Enchanter could not stand against the " 147 "armed might of Glasdrin should he ever stand in our way.") 148 (quest-wise-subinit 'questentry-enchanter) 149 ) 150 151(define (stew-rogu knpc kpc) 152 (say knpc "Where do you come from? What is your purpose in our land? " 153 "For all we know you are a spy, a scout at the vanguard of an alien " 154 "army. Are you?") 155 (if (kern-conv-get-yes-no? kpc) 156 (say knpc "Hmm. If I believed you I would throw you to the inquisitors " 157 "and torture the truth out of you. But I think you are a poser " 158 "and a self-inflated fool. You will vanish into obscurity like " 159 "the Wanderers that preceded you.") 160 (say knpc "No, I think you are merely a vagabond, here by " 161 "accident. All the same, I will be watching you carefully, " 162 "Wanderer. If you betray my city you will know my wrath at the " 163 "hands of our torturers.")) 164 (kern-conv-end)) 165 166;; Townspeople... 167(define (stew-glas knpc kpc) 168 (say knpc "Glasdrin is a beacon of light in these dark times. " 169 "Time and again her paladins have sacrificed for the good of " 170 "the realm, and turned back the tide of darkness. The Peninsula " 171 "owes much to this city.")) 172 173(define (stew-unde knpc kpc) 174 (say knpc "The Underworld is a sunless realm where monsters breed. " 175 "I am committed to purging it of these evil creatures, " 176 "for they are a menace to all.")) 177 178(define stew-conv 179 (ifc glasdrin-conv 180 181 ;; basics 182 (method 'default stew-default) 183 (method 'hail stew-hail) 184 (method 'bye stew-bye) 185 (method 'job stew-job) 186 (method 'name stew-name) 187 (method 'join stew-join) 188 189 (method 'city stew-glas) 190 (method 'glas stew-glas) 191 (method 'warr stew-warr) 192 (method 'erra stew-erra) 193 (method 'stew stew-stew) 194 (method 'real stew-real) 195 (method 'absa stew-absa) 196 (method 'wore stew-wore) 197 (method 'rune stew-rune) 198 (method 'inno stew-inno) 199 (method 'wick stew-wick) 200 (method 'conv stew-conv) 201 (method 'wise stew-wise) 202 (method 'rogu stew-rogu) 203 (method 'unde stew-unde) 204 )) 205 206(define (mk-steward) 207 (bind 208 (kern-char-force-drop 209 (kern-mk-char 'ch_steward ; tag 210 "Victoria" ; name 211 sp_human ; species 212 nil ; occ 213 s_lady ; sprite 214 faction-glasdrin ; starting alignment 215 1 3 0 ; str/int/dex 216 0 0 ; hp mod/mult 217 0 0 ; mp mod/mult 218 max-health -1 max-health 0 6 ; hp/xp/mp/AP_per_turn/lvl 219 #f ; dead 220 'stew-conv ; conv 221 sch_stew ; sched 222 'townsman-ai ; special ai 223 (mk-inventory (list (list 1 t_sword_4) 224 (list 1 t_stewardess_chest_key) 225 )) ; container 226 nil ; readied 227 ) 228 #t) 229 (stew-mk))) 230