1;;---------------------------------------------------------------------------- 2;; Constants 3;;---------------------------------------------------------------------------- 4 5;;---------------------------------------------------------------------------- 6;; Schedule 7;; 8;; In Glasdrin. 9;;---------------------------------------------------------------------------- 10(kern-mk-sched 'sch_jeff 11 (list 0 0 gcj-bed "sleeping") 12 (list 7 0 gs-altar "idle") 13 (list 8 0 ghg-s6 "eating") 14 (list 9 0 gc-hall "working") 15 (list 12 0 ghg-s3 "eating") 16 (list 13 0 gc-train "working") 17 (list 18 0 ghg-s3 "eating") 18 (list 19 0 ghg-hall "idle") 19 (list 21 0 gcj-bed "sleeping") 20 ) 21 22;; Make another schedule which will be assigned when Jeffreys resigns after the 23;; trial. 24(kern-mk-sched 'sch_jeff_resigned 25 (list 0 0 kun-road "sleeping") 26 (list 9 0 campfire-4 "idle") 27 (list 13 0 cantina-5 "idle") 28 (list 20 0 kun-road "idle") 29 ) 30 31;;---------------------------------------------------------------------------- 32;; Gob 33;;---------------------------------------------------------------------------- 34(define (jeff-mk) nil) 35 36;;---------------------------------------------------------------------------- 37;; Conv 38;; 39;; Jeffreys is the Commander of the Paladins of Glasdrin. 40;; He lives in Glasdrin, and reports directly to the ruler there, 41;; currently the Stewardess, Victoria. 42;;---------------------------------------------------------------------------- 43 44;; Basics... 45(define (jeff-hail knpc kpc) 46 (cond ((player-stewardess-trial-done?) 47 (say knpc "I want you to know Wanderer, I did not betray the Warritrix. I did not know about the ambush. " 48 "But I knew something was amiss, I should have acted on my suspicions. " 49 "The Commander of Glasdrin must never fail in diligence. " 50 "For that reason, I have resigned my post.") 51 (aside kpc 'ch_ini "Don't pretend innocence, you corrupt old toad. " 52 "Should we ever meet on the field it will be the end of one of us.") 53 (kern-conv-end) 54 ) 55 (else 56 (say knpc "[You meet a splendid paladin] Well-met, sir.") 57 ))) 58 59(define (jeff-default knpc kpc) 60 (say knpc "I cannot help you with that.")) 61 62(define (jeff-name knpc kpc) 63 (say knpc "I am Commander Jeffreys.")) 64 65(define (jeff-join knpc kpc) 66 (say knpc "I already have a job.")) 67 68(define (jeff-job knpc kpc) 69 (say knpc "I command the paladins of Glasdrin.")) 70 71(define (jeff-bye knpc kpc) 72 (say knpc "Fare thee well.")) 73 74;; Special 75(define (jeff-comm knpc kpc) 76 (say knpc "I am the highest-ranking official in Glasdrin, " 77 "save the Stewardess. The military arm of Glasdrin reports to me.")) 78 79(define (jeff-mili knpc kpc) 80 (say knpc "Glasdrin is unbeatable on land. All citizens of Glasdrin are " 81 "required to serve a tour. Since everyone has received basic training " 82 "they can be called to duty in a crisis.")) 83 84(define (jeff-pala knpc kpc) 85 (say knpc "The paladins of Glasdrin are the finest warriors the Shard has " 86 "ever seen. Individually their skills vary, of course, but their " 87 "strength comes from fighting as a unit.")) 88 89(define (jeff-skil knpc kpc) 90 (say knpc "Yes, whether they be a raw recruit or the Warritrix herself, " 91 "when fighting with others in a unit the paladins of Glasdrin are " 92 "nigh unbeatable.")) 93 94(define (jeff-warr knpc kpc) 95 (cond ((player-found-warritrix?) 96 (if (ask? knpc kpc "[Cough] Yes. Most unfortunate. We all mourn her loss. " 97 "But to lose her whole squad like that she must have made some error in judgment. " 98 "Don't you think so?") 99 (say knpc "Yes. It happens to the best of us. Every military leader makes mistakes, " 100 "and it costs lives. Now I'm afraid I'm very busy. Good day, sir.") 101 (if (ask? knpc kpc "Are you implying that she was led into some kind of trap?") 102 (say knpc "Ridiculous. I do not have to answer to you. " 103 "Speak to the Stewardess if you have a complaint. " 104 "And if you try to make trouble, the guards will expel you from the city. " 105 "In fact, it might be best if you left now.") 106 (say knpc "Good. Mistakes happen in war. Sometimes even friends are slain, " 107 "when they are mistaken for foes. I hope you take care, friend. Good day.") 108 )) 109 (kern-conv-end) 110 ) 111 ((quest-data-assigned? 'questentry-wise) 112 (say knpc "The Warritrix is a living treasure; the most cunning, versatile " 113 "warrior of the age. I've seen her beat men twice her size and " 114 "slay fearsome beasts. At the moment she has been called away on an " 115 "errand.") 116 (quest-data-update 'questentry-warritrix 'assignment 1) 117 ) 118 (else 119 (say knpc "The Warritrix is a living treasure; the most cunning, versatile " 120 "warrior of the age. I've seen her beat men twice her size and " 121 "slay fearsome beasts. At the moment she is out on patrol.") 122 (quest-data-update 'questentry-warritrix 'general-loc 1) 123 ) 124 )) 125 126(define (jeff-warr-ready subfn) 127 (if (quest-data-assigned? 'questentry-wise) 128 (subfn) 129 (jeff-default knpc kpc) 130 )) 131 132(define (jeff-erra knpc kpc) 133 (jeff-warr-ready (lambda () 134 (say knpc "[He looks a bit uneasy] Yes, she took a squad to the Lost Halls. " 135 "It's odd that she hasn't reported back yet... " 136 "Normally I would send a search party, " 137 "but at the moment I haven't the troops to spare.") 138 (quest-data-update-with 'questentry-rune-l 'located 1 (quest-notify nil)) 139 (quest-data-update 'questentry-warritrix 'lost-hall 1) 140 ))) 141 142(define (jeff-sear knpc kpc) 143 (jeff-warr-ready (lambda () 144 (say knpc "[He grows exasperated] I can spare no one to search for the " 145 "Warritrix! Now, if you don't mind, I'm a busy man...") 146 (kern-conv-end) 147 (if (is-player-party-member? ch_ini) 148 (say ch_ini "Something smells rotten in Denmark. " 149 "We've got to find her!")) 150 ))) 151 152;; Townspeople... 153(define (jeff-glas knpc kpc) 154 (say knpc "A mighty city, Glasdrin has never fallen to invaders.")) 155 156(define (jeff-ange knpc kpc) 157 (say knpc "Angela is a most gracious, hospitable woman.")) 158 159(define (jeff-patc knpc kpc) 160 (say knpc "Doc Patch is an experienced medik and head of our hospital.")) 161 162(define (jeff-stew knpc kpc) 163 (say knpc "The Stewardess bears the weight of leadership well.")) 164 165(define (jeff-ini knpc kpc) 166 (say knpc "Lt. Inago is a natural warrior and a fine officer.")) 167 168(define (jeff-jess knpc kpc) 169 (say knpc "Jess is a cheery lass, and a welcome sight at the end of a " 170 "hard day as she pours a glass.")) 171 172(define (jeff-ches knpc kpc) 173 (say knpc "We miss his mighty arm in battle, but his weapons and armor " 174 "serve us well, too.")) 175 176(define (jeff-lost knpc kpc) 177 (say knpc "The Lost Halls are very dangerous. No place for amateurs. " 178 "I'd advise you to stay away! Now good day, sir!") 179 (kern-conv-end) 180 (if (is-player-party-member? ch_ini) 181 (begin 182 (say ch_ini "Don't worry. I know where to find the Lost Halls. " 183 "We'll need to get a ship and sail to [" 184 (loc-x lost-halls-loc) " " 185 (loc-y lost-halls-loc) "].") 186 (quest-data-update-with 'questentry-rune-l 'know-hall 1 (quest-notify nil)) 187 (quest-data-update 'questentry-warritrix 'lost-hall-loc 1) 188 ) 189 ) 190 ) 191 192(define jeff-conv 193 (ifc glasdrin-conv 194 195 ;; basics 196 (method 'default jeff-default) 197 (method 'hail jeff-hail) 198 (method 'bye jeff-bye) 199 (method 'job jeff-job) 200 (method 'name jeff-name) 201 (method 'join jeff-join) 202 203 (method 'comm jeff-comm) 204 (method 'jani (lambda (knpc kpc) (say knpc "My assistant Janice is invaluable as a tactician."))) 205 (method 'mili jeff-mili) 206 (method 'pala jeff-pala) 207 (method 'warr jeff-warr) 208 (method 'erra jeff-erra) 209 (method 'glas jeff-glas) 210 (method 'ange jeff-ange) 211 (method 'lost jeff-lost) 212 (method 'patc jeff-patc) 213 (method 'stew jeff-stew) 214 (method 'vict jeff-stew) ;; A synonym 215 (method 'ini jeff-ini) 216 (method 'inag jeff-ini) 217 (method 'jess jeff-jess) 218 (method 'ches jeff-ches) 219 )) 220 221(define (mk-jeffreys) 222 (bind 223 (kern-mk-char 'ch_jeffreys ; tag 224 "Jeffreys" ; name 225 sp_human ; species 226 oc_warrior ; occ 227 s_companion_paladin ; sprite 228 faction-glasdrin ; starting alignment 229 2 1 1 ; str/int/dex 230 0 0 ; hp mod/mult 231 0 0 ; mp mod/mult 232 max-health -1 max-health 0 5 ; hp/xp/mp/AP_per_turn/lvl 233 #f ; dead 234 'jeff-conv ; conv 235 sch_jeff ; sched 236 'townsman-ai ; special ai 237 nil ; container 238 (list t_armor_chain 239 t_chain_coif 240 t_sword 241 )) ; readied 242 (jeff-mk))) 243