1;;---------------------------------------------------------------------------- 2;; Constants 3;;---------------------------------------------------------------------------- 4(define tim-start-lvl 4) 5 6;;---------------------------------------------------------------------------- 7;; Schedule 8;; 9;; In the Tower of Brundegart (p_brundegardt_tower_4), locked outside. 10;;---------------------------------------------------------------------------- 11 12;;---------------------------------------------------------------------------- 13;; Gob 14;; 15;; Quest flags, etc, go here. 16;;---------------------------------------------------------------------------- 17(define (tim-mk) (list #f #f)) 18(define (tim-caught? gob) (car gob)) 19(define (tim-caught! gob) (set-car! gob #t)) 20(define (tim-met? gob) (cadr gob)) 21(define (tim-met! gob) (set-car! (cdr gob) #t)) 22 23;;---------------------------------------------------------------------------- 24;; Conv 25;; 26;; Tim is a maimed, drooling madman, currently trapped outside 27;; the Tower of Brundegart. 28;; 29;; Once a seeker of knowledge (and power), 30;; his body was ravaged by griffins (and their hungry chicks), 31;; and his mind broken by contact with the EYE of Brundegart. 32;; (One rather assumes the maiming did not help his mental state, 33;; for that matter...) 34;;---------------------------------------------------------------------------- 35(define (tim-hail knpc kpc) 36 (meet "You meet a drooling madman with only one arm.") 37 (say knpc "I have seen the eye!")) 38 39(define (tim-eye knpc kpc) 40 (say knpc "So wise I am now, because of the eye. Would you be wise?") 41 (cond ((yes? knpc) 42 (say knpc "Alas, my friend, I have lost the key!")) 43 (else 44 (say knpc "Fool!") 45 (kern-conv-end)))) 46 47(define (tim-key knpc kpc) 48 (say knpc "It was my key! I found it on the dead man. " 49 "First they took my arm, then the lion-birds took my key!")) 50 51(define (tim-arm knpc kpc) 52 (say knpc "They chose me as I walked among the hills, " 53 "and brought me here to feed their young.")) 54 55(define (tim-name knpc kpc) 56 (say knpc "Do not pretend to not know me! " 57 "One who is all-wise is necessarily famous! That's logic!")) 58 59(define (tim-job knpc kpc) 60 (say knpc "I will bring enlightenment to the world!")) 61 62(define (tim-enli knpc kpc) 63 (say knpc "Yes! The eye! The eye... [He curls into a fetal ball and sobs]") 64 (kern-conv-end)) 65 66(define (tim-lion knpc kpc) 67 (say knpc "[He shrieks and cowers] Do you see them?! " 68 "Have they come for my other arm? The chicks are so hungry! So cruel!")) 69 70(define tim-conv 71 (ifc nil 72 (method 'hail tim-hail) 73 (method 'eye tim-eye) 74 (method 'key tim-key) 75 (method 'arm tim-arm) 76 (method 'name tim-name) 77 (method 'job tim-job) 78 (method 'enli tim-enli) 79 (method 'lion tim-lion) 80 )) 81 82 83;;---------------------------------------------------------------------------- 84;; First-time constructor 85;;---------------------------------------------------------------------------- 86(define (mk-tim) 87 (bind 88 (kern-char-arm-self 89 (kern-mk-char 90 'ch_tim ;;..........tag 91 "Tim" ;;.......name 92 sp_human ;;.....species 93 oc_wizard ;;.. .occupation 94 s_wizard ;;..sprite 95 faction-men ;;..faction 96 +1 ;;...........custom strength modifier 97 0 ;;...........custom intelligence modifier 98 +1 ;;...........custom dexterity modifier 99 +1 ;;............custom base hp modifier 100 +1 ;;............custom hp multiplier (per-level) 101 0 ;;............custom base mp modifier 102 0 ;;............custom mp multiplier (per-level) 103 max-health ;;..current hit points 104 -1 ;;...........current experience points 105 max-health ;;..current magic points 106 0 107 tim-start-lvl ;;..current level 108 #f ;;...........dead? 109 'tim-conv ;;...conversation (optional) 110 nil ;;sch_tim ;;.....schedule (optional) 111 nil ;;..........custom ai (optional) 112 nil ;;..............container (and contents) 113 nil ;;.........readied arms (in addition to the container contents) 114 nil ;;..........hooks in effect 115 )) 116 (tim-mk))) 117