1;;---------------------------------------------------------------------------- 2;; Constants 3;;---------------------------------------------------------------------------- 4 5;;---------------------------------------------------------------------------- 6;; Schedule 7;; 8;; In Oparine. 9;;---------------------------------------------------------------------------- 10(kern-mk-sched 'sch_henry 11 (list 0 0 bilge-water-bed "sleeping") 12 (list 8 0 bilge-water-counter "working") 13 (list 23 0 bilge-water-bed "sleeping") 14 ) 15 16;;---------------------------------------------------------------------------- 17;; Gob 18;;---------------------------------------------------------------------------- 19(define (henry-mk) nil) 20 21;;---------------------------------------------------------------------------- 22;; Conv 23;; 24;; Henry is a one-handed tavern-keeper, doing trade in Oparine. 25;; He was once a mighty mariner. 26;;---------------------------------------------------------------------------- 27 28;; Basics... 29(define (henry-hail knpc kpc) 30 (say knpc "[You meet a cheery man with a hook for one hand] " 31 "Welcome, matey!")) 32 33(define (henry-default knpc kpc) 34 (say knpc "Ye be askin' the wrong salt about that!")) 35 36(define (henry-name knpc kpc) 37 (say knpc "I's Henry! Henry the barkeep.")) 38 39(define (henry-join knpc kpc) 40 (say knpc "I'd join ye in a 'eartbeat, lad, but oo's goin' to keep the " 41 "tankards full 'round here if I be goin'? 'Twouldn't be right!")) 42 43(define (henry-job knpc kpc) 44 (say knpc "Why I's a minister! I fills the mugs 'ith 'oly sacraments!")) 45 46(define (henry-bye knpc kpc) 47 (say knpc "Keep a weather eye!")) 48 49(define henry-catalog 50 (list 51 (list t_food 5 "My famous clam chowder will warm you to your toes.") 52 (list t_beer 5 "Aye, drink and be merry, fer tomorro' mornin' you'll be wishin' you were dead!") 53 (list t_wine 7 "I keep some o' the fancy-shmancy stuff fer the occasional gen'leman.") 54 )) 55 56(define henry-merch-msgs 57 (list "I'll serve ye when my hangover's gone." 58 "Let the good times roll!" 59 "I've no interest in used food or drink." 60 "Now we're talkin'!" 61 "Don't drink and sail!" 62 "If yer just lookin' for someplace to loiter, there's a dock outside." 63 "I suppose I can make stew from this." 64 "Good. Fine." 65 "Come back when you need a refill!" 66 "If yer just lookin' for someplace to loiter, there's a dock outside." 67 )) 68 69;; Trade... 70(define (henry-buy knpc kpc) (conv-trade knpc kpc "buy" henry-merch-msgs henry-catalog)) 71(define (henry-sell knpc kpc) (say knpc "I've no use for solicitors.")) 72 73;; Hook... 74(define (henry-hook knpc kpc) 75 (say knpc "Oy, lost me arm, me did, fightin' fearsome monsters of " 76 "the deep.")) 77 78(define (henry-mons knpc kpc) 79 (say knpc "The kraken took me arm, snapped it right off 'ith 'is nasty " 80 "beak, 'e did! The kraken won't shoot from afar like the cowardly " 81 "sea serpent. No, 'e likes to munch right through the decks and get " 82 "in snugly!")) 83 84(define (henry-serp knpc kpc) 85 (say knpc "The sea serpent can crush a ship 'ith its coils, " 86 "but it's a craven beast, and prefers to spit fireballs from afar.")) 87 88;; Townspeople... 89(define (henry-opar knpc kpc) 90 (say knpc "It's a fair enough place.")) 91 92(define (henry-gher knpc kpc) 93 (say knpc "So ye've 'eard the legend o' Ghastly Ghertie! " 94 "If ye don't mind a bit o' unsolicited advice from an old seabird, " 95 "steer clear o' ghosts! 'ungry they is!") 96 (quest-data-assign-once 'questentry-ghertie)) 97 98(define (henry-ghos knpc kpc) 99 (say knpc "The sea is full of the dead, and Ghertie did her share o' " 100 "puttin' 'em there. I've seen nights on full moons where they rise " 101 "up an' prowl the waves like cats! Dreadful is the dead, " 102 "an' Henry's in no 'urry to be joinin' 'em!") 103 (quest-data-assign-once 'questentry-ghertie)) 104 105(define (henry-alch knpc kpc) 106 (say knpc "Aye, 'e's a queer one.")) 107 108(define (henry-bart knpc kpc) 109 (say knpc "[loudly] Bart's the finest shipwright on the Peninsula! " 110 "[leaning in closer and more softly] And the only shipwright, too!")) 111 112(define (henry-seaw knpc kpc) 113 (say knpc "A lovely lass, but strange as a fish on land!")) 114 115(define (henry-osca knpc kpc) 116 (say knpc "A pathetic, misplaced soul, but 'e drinks 'is share.")) 117 118(define henry-conv 119 (ifc basic-conv 120 121 ;; basics 122 (method 'default henry-default) 123 (method 'hail henry-hail) 124 (method 'bye henry-bye) 125 (method 'job henry-job) 126 (method 'name henry-name) 127 (method 'join henry-join) 128 129 ;; trade 130 (method 'trad henry-buy) 131 (method 'buy henry-buy) 132 (method 'sell henry-sell) 133 (method 'sacr henry-buy) 134 135 ;; hand 136 (method 'hook henry-hook) 137 (method 'hand henry-hook) 138 (method 'mons henry-mons) 139 (method 'deep henry-mons) 140 (method 'sea henry-serp) 141 (method 'serp henry-serp) 142 143 ;; town & people 144 (method 'opar henry-opar) 145 (method 'alch henry-alch) 146 (method 'gher henry-gher) 147 (method 'ghas henry-gher) 148 (method 'bart henry-bart) 149 (method 'witc henry-seaw) 150 (method 'osca henry-osca) 151 152 )) 153 154(define (mk-henry) 155 (bind 156 (kern-mk-char 'ch_henry ; tag 157 "Henry" ; name 158 sp_human ; species 159 nil ; occ 160 s_townsman ; sprite 161 faction-men ; starting alignment 162 1 0 0 ; str/int/dex 163 0 0 ; hp mod/mult 164 0 0 ; mp mod/mult 165 max-health -1 max-health 0 6 ; hp/xp/mp/AP_per_turn/lvl 166 #f ; dead 167 'henry-conv ; conv 168 sch_henry ; sched 169 'townsman-ai ; special ai 170 (mk-inventory (list (list 1 t_dagger))) ; container 171 nil ; readied 172 ) 173 (henry-mk))) 174