OSDN Git Service

Nazghul-0.7.1
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / luximene.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define lux-lvl 7)
5 (define lux-species sp_ghast)
6 (define lux-occ oc_wizard)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;;
11 ;; No schedule (found in Green Tower Tombs)
12 ;;----------------------------------------------------------------------------
13
14 ;;----------------------------------------------------------------------------
15 ;; Gob
16 ;;----------------------------------------------------------------------------
17 (define (lux-mk) nil)
18
19 ;;----------------------------------------------------------------------------
20 ;; Conv
21 ;; 
22 ;; Luximene is a lich (or later, a shade conjured up from his skull),
23 ;; sitting in rulership over the small realm of his treasury in 
24 ;; ruined Kurpolis.  In life, he was a great king who conquered and united 
25 ;; the Shard, and was ultimately overthrown by a coalition of those who 
26 ;; became known as the Wise.
27 ;;----------------------------------------------------------------------------
28
29 ;; Basics...
30 (define (lux-hail knpc kpc)
31   (say knpc "[You meet a shade who burns with malice] What do you want, "
32        "mortal?"))
33
34 (define (lux-default knpc kpc)
35   (say knpc "Do not waste my time."))
36
37 (define (lux-name knpc kpc)
38   (say knpc "I am Luximene the Great, Lord of the Middle Realm."))
39
40 (define (lux-rune knpc kpc)
41   (say knpc "[He suddenly looks disturbed] That is a key, one of eight, "
42        "made by the Wise to lock the Demon Gate."))
43
44 (define (lux-gate knpc kpc)
45   (say knpc "Each key was given to a Keeper, each Keeper was forbidden to meet with any other, "
46        "and to pass their legacy on to an heir. Art thou a Keeper?")
47   (if (yes? kpc)
48       (begin
49         (say knpc "Then why dost thou ask me of this Rune? Did thy master not explain?")
50         (if (yes? kpc)
51             (say knpc "[He chuckles malignantly] Thou thinkest me a fool, "
52                  "and art a fool for thinking so. The Rune will be thy undoing, "
53                  "and the undoing of thine Age!")
54             (say knpc "Cursed is the Age wherein Men forget their vows.")))
55       (begin
56         (say knpc "Art thou a Thief?")
57         (if (yes? kpc)
58             (say knpc "Doomed is the Age where even thieves know not the value of what they steal.")
59             (say knpc "Then thou hast acquired the Rune by chance, "
60                  "and the end of thine Age is nigh.")))))
61
62 (define (lux-age knpc kpc)
63   (say knpc "When the Demon Gate was sealed, the Age of Wizards ended. "
64        "It was I who conquered and united the Shard, and The Age of Luximene began. "
65        "After me each ruler was worse than the one before, and my empire fell into ruin, "
66        "and the present age, the Lost Age, began. Do you wish to know a great secret?")
67   (if (yes? kpc)
68       (say knpc "Then I will tell you, for you are the Last Keeper.")
69       (say knpc "\n[The room fills with his terrible laughter]\n"
70            "But it is thine to know,\n"
71            "Last of the Keepers!"))
72   (say knpc "The Lost Age will end when the Demon Gate is opened."))
73
74 (define (lux-keep knpc kpc)
75   (say knpc "Thou art the Last Keeper. You have a Rune, and know its meaning. "
76        "Now all the Runes are thine to Keep. Doest thou have them all?")
77   (if (yes? kpc)
78       (say knpc "Be thou certain, Keeper. The Gate will not open without them all.")
79       (say knpc "Find them. One honorable man will save an Age from disgrace, "
80            "though perhaps not himself.")))
81
82 (define (lux-wise knpc kpc)
83   (say knpc "The Wise?  [He laughs]\n"
84        "Rebels against the ruler of an Age!\n"
85        "\n"
86        "The Warrior Argus,\n"
87        "  who defeated my armies\n"
88        "  and led their expedition\n"
89        "The Wizard Xileph,\n"
90        "  who counseled rebellion\n"
91        "  and countered my sorceries\n"
92        "The Wrogue Narthax,\n"
93        "  whose thefts made bold mine enemies\n"
94        "  and found my secret passages\n"
95        "The Wright Weilend,\n"
96        "  who outfitted the quest\n"
97        "  against my stronghold\n"
98        "\n"
99        "Yet in my defeat, was wrought their DOOM!"
100        "\n")
101   (say knpc "\n[He gazes at you in expectation]\n"
102        "What?  Know ye not these names?")
103   (if (yes? kpc)
104       (say knpc "Then marvel, at my legend!")
105       (begin
106         (say knpc
107              "\n[His cold eyes glint in anger]\n"
108              "Ah, rather you refer to those called Wise of this Age.\n"
109              "I know nothing of such trifling matters.\n"
110              "Begone, mortal!")
111         (kern-conv-end)
112         ))
113   )
114
115 (define (lux-accu knpc kpc)
116   (say knpc "Accursed?\n"
117        "In each Age there are those who seek power, "
118        "who will not be swayed from that search by warning or scruples.\n"
119        "\n"
120        "Some will be destroyed by this search, "
121        "while others land in thrall to those few who gain true power.\n"
122        "\n"
123        "Such must be, the worms of which you speak.")
124   )
125
126
127 (define lux-conv
128   (ifc basic-conv
129
130        ;; basics
131        (method 'default lux-default)
132        (method 'hail lux-hail)
133        (method 'name lux-name)
134
135        (method 'rune lux-rune)
136        (method 'key  lux-rune) ;; A synonym
137
138        (method 'demo lux-gate) ;; A synonym
139        (method 'gate lux-gate)
140
141        (method 'wise lux-wise)
142        (method 'accu lux-accu)
143
144        (method 'age  lux-age)
145        (method 'keep lux-keep)
146
147        ))
148
149 (define (mk-luximene)
150   (bind 
151    (kern-mk-char 
152     'ch_lux           ; tag
153     "Luximene"             ; name
154     lux-species         ; species
155     lux-occ              ; occ
156     s_ghost     ; sprite
157     faction-men      ; starting alignment
158     0 0 0            ; str/int/dex
159     0 0              ; hp mod/mult
160     0 0              ; mp mod/mult
161     max-health ; hp
162     -1                   ; xp
163     max-health ; mp
164     0
165     lux-lvl
166     #f               ; dead
167     'lux-conv         ; conv
168     nil           ; sched
169     nil              ; special ai
170     nil              ; container
171     nil              ; readied
172     )
173    (lux-mk)))
174
175 (define (mk-lich-king)
176   (let ((kchar 
177          (bind 
178           (kern-char-force-drop
179            (kern-mk-char 
180             'ch_lich_king           ; tag
181             "Lich King" ; name
182             sp_lich         ; species
183             oc_wizard              ; occ
184             s_lich     ; sprite
185             faction-monster      ; starting alignment
186             10 10 10            ; str/int/dex
187             10 1              ; hp mod/mult
188             0  0              ; mp mod/mult
189             max-health ; hp
190             -1                   ; xp
191             max-health ; mp
192             0
193             8
194             #f               ; dead
195             nil              ; conv
196             nil             ; sched
197             'lich-ai        ; special ai
198             (mk-inventory
199              (list (list 1 t_morning_star)
200                    (list 1 t_armor_chain_4)
201                    (list 1 t_chain_coif_4)
202                    (list 100 t_gold_coins)
203                    (list 3 t_mana_potion)
204                    (list 3 t_heal_potion)
205                    (list 1 t_lich_skull)
206                    (list 1 t_lichs_blood)
207                    ))
208             nil              ; readied
209             )
210            #t)
211           (lux-mk))))
212     (map (lambda (eff) (kern-obj-add-effect kchar eff nil))
213          undead-effects)
214     kchar))
215