OSDN Git Service

Nazghul-0.7.1
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / quests-data-static.scm
1 ;;----------------------------------------------------
2 ;; this is a collection place for updates to quests
3 ;;
4 ;; the function is an arbitary method call, but the ones here tend to
5 ;; basically boil down to retreiving a bunch of flags from the quest payload
6 ;; and updating the quest via (qst-set-descr! text)
7 ;;
8 ;; the boilerplate at the front of the methods just makes the quest data easily accessible
9 ;; via a tbl-flag? method without needing to go through several level of redirection each time
10 ;;
11
12 ;;---------------
13 ;; bandits
14 (define (quest-bandits-update)
15   (println "quest-bandits-update")
16   (let* ((quest (quest-data-get 'questentry-bandits))
17          (quest-tbl (car (qst-payload quest)))
18          (header (kern-ui-paginate-text
19                   "Gregor, an old charcoal burner, has asked for your help in dealing with some troublesome bandits that have been plaguing the great forest."
20                   "")))
21     (println "quest-tbl:" quest-tbl)
22     (define (tbl-flag? tag) 
23       (not (null? (tbl-get quest-tbl tag)))
24       )
25     (qst-set-descr! quest
26                     (cond ((tbl-flag? 'done)
27                            (kern-ui-paginate-text
28                             "You have delivered Nate to the Rangers of Green Tower and he is now their problem."
29                             ))
30                           ((tbl-flag? 'nate-given-to-jailor)
31                            (append header
32                                    (kern-ui-paginate-text
33                                     "Take the jailor's receipt back to Deric, the commander of the Green Tower rangers, to collect the reward."
34                                     )))
35                           ((tbl-flag? 'captured-nate-and-talked-to-deric)
36                            (append header
37                                    (kern-ui-paginate-text
38                                     "Deliver Nate to the jailor in Green Tower and he will give you a receipt."
39                                     )))
40                           ((tbl-flag? 'captured-nate)
41                            (append header
42                                    (kern-ui-paginate-text 
43                                     "Take Nate back to Green Tower and talk to the Ranger commander."
44                                     )))
45                           ((tbl-flag? 'talked-to-deric)
46                            (append header
47                                    (kern-ui-paginate-text 
48                                     "Deric, commander of the rangers, was not much help. But he did give you signed orders to enlist one of his men."
49                                     )))
50                           (else
51                            (append header
52                                    (kern-ui-paginate-text
53                                     "Gregor said to ask about the bandits in Green Tower."
54                                     )))
55                           )
56
57                 )
58         ))
59
60 ;;---------------
61 ;; whereami
62
63     (define (quest-whereami-update)
64       (let* ((quest (quest-data-get 'questentry-whereami))
65              (quest-tbl (car (qst-payload quest)))
66              (qp-shard (tbl-get quest-tbl 'shard))
67              (qp-wanderer (tbl-get quest-tbl 'wanderer)))
68
69         (qst-set-descr! quest
70                         
71                         (if (not (null? (tbl-get quest-tbl 'nossifer)))
72
73                             (kern-ui-paginate-text
74                              "You have found yourself on the Shard, a small fragment of a world, that floats surrounded by a great void."
75                              ""
76                              "The demon lord Nossifer arranged for your arrival, to set in motion events that would allow his own passage to the Shard."
77                              ""
78                              "Now the Demon Gate is open, and the only thing left in Nossifer's way is you..."
79                              )
80                             
81                             (append
82                              ;;1 where
83                              (cond ((null? qp-shard)
84                                     (kern-ui-paginate-text
85                                      "You have found yourself in a world you have no knowledge of, with barest impressions of what might have gone before."
86                                      ""
87                                      ))
88                                    ((equal? 1 qp-shard)
89                                     (kern-ui-paginate-text
90                                      "You have found yourself in a world you have no knowledge of. The inhabitants refer to it as the Shard."
91                                      ""
92                                      ))
93                                    (#t (kern-ui-paginate-text
94                                         "You have found yourself on the Shard, a small fragment of a world, that floats surrounded by a great void."
95                                         ""
96                                         ))
97                                    )
98
99
100                              ;; how
101                              (if (and (null? qp-wanderer) (null? qp-shard))
102                                  (kern-ui-paginate-text "Where are you?")
103                                  nil
104                                  )
105                              
106                              (cond ((null? qp-wanderer)
107                                     (kern-ui-paginate-text
108                                      "How and why are you here?"
109                                      "And what are you going to do now?"
110                                      ))
111                                    ((equal? 1 qp-wanderer)
112                                     (kern-ui-paginate-text
113                                      "Others like you have in the past been found stumbling into this world. The inhabitants know you as 'Wanderers'."
114                                      ""
115                                      "Now you are here, what are you going to do?"
116                                      ))
117                                    (#t (kern-ui-paginate-text
118                                         "Wanderers like yourself, who have occasionally stumbled upon this world, have in the past been responsible for great deeds."
119                                         ""
120                                         "How will you make your place?"
121                                         ))
122                                    )
123
124                              )
125                             )
126                         )
127         ))
128
129 ;;-----------------------
130 ;; calltoarms
131
132 (define (quest-calltoarms-update)
133         (let* ((quest (quest-data-get 'questentry-calltoarms))
134                         (quest-tbl (car (qst-payload quest)))
135                         (header (kern-ui-paginate-text
136                                         "You have recieved an urgent message to contact someone called the Enchanter as soon as possible."
137                                         "")))
138                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
139                 (qst-set-descr! quest
140                 
141 (cond ((tbl-flag? 'done)
142                 (kern-ui-paginate-text
143                         "You have allied yourself with the Enchanter, one of the Wise who watch over the shard."
144                 ))
145         ((tbl-flag? 'talked)
146                 (append header
147                 (kern-ui-paginate-text
148                         "You have met with the Enchanter, but you and he did not come to any agreement."
149                 )))
150         ((tbl-flag? 'tower)
151                 (append header
152                 (kern-ui-paginate-text
153                         "You have found the Enchanter's Tower in the Fens. However, getting inside could be more difficult than reaching it."
154                 )))
155         ((tbl-flag? 'directions)
156                 (append header
157                 (kern-ui-paginate-text
158                         "The Enchanter's Tower may be found in the Fens, a swampland north of the town of Trigrave, in the western part of the Shard."
159                 )))
160         (#t
161                 (append header
162                 (kern-ui-paginate-text
163                         "The message suggests that you ask the caretaker of the clearing that you arrived in for directions."
164                 )))
165 )
166
167                 )
168         ))
169
170 ;; give some xp for reaching the tower
171 (define (quest-calltoarms-tower kplace kplayer)
172         (quest-data-update-with 'questentry-calltoarms 'tower 1 (quest-notify (grant-xp-fn 5)))
173         )
174
175 ;;-----------------------
176 ;; thiefrune
177
178 ;; TODO: make the theft appear not to happen until the player is on the scene, by altering convs based on quest status
179
180 (define (quest-thiefrune-update)
181         (let* ((quest (quest-data-get 'questentry-thiefrune))
182                         (quest-tbl (car (qst-payload quest)))
183                         (header (kern-ui-paginate-text
184                                         "The Enchanter has asked you to investigate a theft from his tower."
185                                         "")))
186                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
187                 (qst-set-descr! quest
188                 
189 (cond ((tbl-flag? 'recovered) 
190                 (append header
191                 (kern-ui-paginate-text
192                         "You have tracked down the thief and retrieved a rune belonging to the Enchanter."
193                 )))
194         ((tbl-flag? 'talked)
195                 (append header
196                 (kern-ui-paginate-text
197                         "The culprit, Mouse, seems to be willing to negotiate."
198                 )))
199         ((tbl-flag? 'den5)
200                 (append header
201                 (kern-ui-paginate-text
202                         "You have found the thief's hideout in Bole, and breached the defensive upper levels."
203                 )))
204         ((tbl-flag? 'den4)
205                 (append header
206                 (kern-ui-paginate-text
207                         "You have found the thief's hideout in Bole, and have passed three levels of traps."
208                 )))
209         ((tbl-flag? 'den3)
210                 (append header
211                 (kern-ui-paginate-text
212                         "You have found the thief's hideout in Bole, and have passed two levels of traps."
213                 )))
214         ((tbl-flag? 'den2)
215                 (append header
216                 (kern-ui-paginate-text
217                         "You have found the thief's hideout in Bole, but have only passed the first level."
218                 )))
219         ((tbl-flag? 'den1)
220                 (append header
221                 (kern-ui-paginate-text
222                         "You have found the thief's hideout in Bole, but have yet to breach its defenses."
223                 )))
224         ((tbl-flag? 'bole)
225                 (append header
226                 (kern-ui-paginate-text
227                         "The ^c+mthief^c- has been seen heading northeast through the Great Forest. Bole would be the most likely place to look."
228                 )))
229         ((tbl-flag? 'tower)
230                 (append header
231                 (kern-ui-paginate-text
232                         "The ^c+mthief^c- has been seen heading east through the mountain passes. The Green Tower would be the best place to start looking."
233                 )))
234         (#t
235                 (append header
236                 (kern-ui-paginate-text
237                         "The ^c+mthief^c- has been tracked as far as Trigrave. The townsfolk there may be able to give you further information."
238                 )))
239 )
240
241                 )
242         ))
243
244 ;; give some xp for getting through the dungeon
245 (define (quest-thiefrune-den1 kplace kplayer)
246         (quest-data-update 'questentry-thiefrune 'tower 1)
247         (quest-data-update 'questentry-thiefrune 'bole 1)
248         (quest-data-update-with 'questentry-thiefrune 'den1 1 (quest-notify (grant-party-xp-fn 10)))
249         )
250 (define (quest-thiefrune-den2 kplace kplayer)
251         (quest-data-update-with 'questentry-thiefrune 'den2 1 (quest-notify (grant-party-xp-fn 10)))
252         )
253 (define (quest-thiefrune-den3 kplace kplayer)
254         (quest-data-update-with 'questentry-thiefrune 'den3 1 (quest-notify (grant-party-xp-fn 10)))
255         )
256 (define (quest-thiefrune-den4 kplace kplayer)
257         (quest-data-update-with 'questentry-thiefrune 'den4 1 (quest-notify (grant-party-xp-fn 10)))
258         )
259 (define (quest-thiefrune-den5 kplace kplayer)
260         (quest-data-update-with 'questentry-thiefrune 'den5 1 (quest-notify (grant-party-xp-fn 10)))
261         )
262
263
264 ;;-----------------------
265 ;; runeinfo
266
267 ;; TODO: runes are unidentified until you check in with abe?
268
269 (define (quest-runeinfo-update)
270         (let* ((quest (quest-data-get 'questentry-runeinfo))
271                         (quest-tbl (car (qst-payload quest)))
272                         (header (kern-ui-paginate-text
273                                 "The stolen rune that you recovered must have great significance to prompt it's theft. The Enchanter has given you the task of seeking out this reason."
274                                 ""
275                                 )))
276                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
277                 (qst-set-descr! quest
278                 
279 (cond 
280         ((tbl-flag? 'done)
281                 (kern-ui-paginate-text
282                         "The rune you carry is one of the Keys to the Demon Gate. The gate itself lies somewhere in the north. It was sealed by the wise in ages past, and the Keys were scattered and hidden."
283                 ))
284         ((tbl-flag? 'gate)
285                 (append header
286                 (kern-ui-paginate-text
287                         "The runes are also known as the Keys to the Demon Gate. The gate itself lies somewhere in the north. It was sealed by the wise in ages past, and the Keys were scattered and hidden."
288                 )))
289         ((tbl-flag? 'keys)
290                 (append header
291                 (kern-ui-paginate-text
292                         "The runes are also known as the Keys to the Demon Gate. What that means remains unknown."
293                 )))
294         ((tbl-flag? 'abe)
295                 (append header
296                 (kern-ui-paginate-text
297                         "The Alchemist has advised you that ^c+mAbe^c-, at the Green Tower, has studied the nature of the runes."
298                 )))
299         (#t
300                 (append header
301                 (kern-ui-paginate-text
302                         "He suggests that you start with the ^c+mAlchemist^c-, who may be found at Oparine."
303                 )))
304 )
305
306                 )
307         ))
308
309
310 ;;-----------------------
311 ;; dragon blood
312
313 (define (quest-dragon-update quest)
314         (let* ((quest-tbl (car (qst-payload quest)))
315                         (header (kern-ui-paginate-text
316                                 "The Alchemist has offered to trade you information on the wherabouts of a Rune, in exchange for the blood of a dragon."
317                                 )))
318                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
319                 (qst-set-descr! quest
320                 
321 (cond 
322         ((tbl-flag? 'done)
323                 (kern-ui-paginate-text
324                         "The Alchemist has traded you information on the wherabouts of a Rune, in exchange for the blood of a dragon."
325                 ))
326         ((in-inventory? (car (kern-party-get-members (kern-get-player))) t_dragons_blood 1)
327                 (append header
328                 (kern-ui-paginate-text
329                         ""
330                         "You have a vial of dragon's blood in your possession."
331                 )))
332         ((tbl-flag? 'sea)
333                 (append header
334                 (kern-ui-paginate-text
335                         ""
336                         "He suggests that the Fire Sea may be the best place to seek them out."
337                 )))
338         (#t
339                 header
340                 )
341 )
342
343                 )
344         ))
345
346 ;;-----------------------
347 ;; deeps rune
348
349 (define (quest-rune-p-update)
350         (let* ((quest (quest-data-get 'questentry-rune-p))
351                         (quest-tbl (car (qst-payload quest))))
352                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
353                 (qst-set-descr! quest
354                 
355 (cond 
356         ((tbl-flag? 'done)
357                 (kern-ui-paginate-text
358                         "A rune was found in the depths of Kurpolis."
359                 ))
360         (#t
361                 (kern-ui-paginate-text
362                         "The Alchemist provided you with information on a rune buried in the deeps of Kurpolis:"
363                         ""
364                    "\"The paladins have built several fortifications in the deeps of Kurpolis. One of the runes was buried in the foundations of the deepest fort.\""
365                    ""
366                         "\"A pick and shovel may be enough to get it out again, but it might be difficult with a dozen paladins breathing down your neck.\""
367                 ))
368 )
369
370                 )
371         ))
372         
373         
374 ;;-----------------------
375 ;; spider rune
376
377 (define (quest-rune-f-update)
378         (let* ((quest (quest-data-get 'questentry-rune-f))
379                         (quest-tbl (car (qst-payload quest))))
380                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
381                 (qst-set-descr! quest
382                 
383 (cond 
384         ((tbl-flag? 'done)
385                 (kern-ui-paginate-text
386                         "The lost rune of King Clovis was retrieved from the Spider Queen Angriss."
387                 ))
388         ((and (tbl-flag? 'angrisslair) (tbl-flag? 'angriss))
389                 (kern-ui-paginate-text
390                         "King Clovis once possessed a rune, but he fell during the Goblin Wars."
391                         ""
392                         "Information from the goblins has lead you to Angriss' lair, which may be where the rune lies now."
393                 ))      
394         ((tbl-flag? 'angriss)
395                 (kern-ui-paginate-text
396                         "King Clovis once possessed a rune, but he fell during the Goblin Wars."
397                         ""
398                    "The goblin Kama has given you a clue to its location- Something (maybe a spider?) can be found where the southern edge of the Great Forest meets the mountains in the east."
399                 ))              
400         ((tbl-flag? 'kama)
401                 (kern-ui-paginate-text
402                         "King Clovis once possessed a rune, but he fell during the Goblin Wars."
403                         ""
404                    "The goblins may know what became of it. The goblin Kama may be able to help you, if you can find him."
405                 ))              
406         ((tbl-flag? 'gen)
407                 (kern-ui-paginate-text
408                         "King Clovis once possessed a rune, but he fell during the Goblin Wars."
409                         ""
410                    "The goblins may know what became of it. Amongst humans, the ranger Gen has the greatest knowledge of their kind."
411                 ))              
412         (#t
413                 (kern-ui-paginate-text
414                         "King Clovis once possessed a rune, but he fell during the Goblin Wars."
415                         ""
416                    "The goblins may know what became of it, but would they tell you?"
417                 ))
418 )
419
420                 )
421         ))
422         
423 (define (quest-rune-f-lair kplace kplayer)
424         (if (not (null? (quest-data-getvalue 'questentry-rune-f 'angriss)))
425                 (quest-data-update-with 'questentry-rune-f 'angrisslair 1 (quest-notify nil))
426         ))
427
428 ;;-----------------------
429 ;; void rune
430
431 ;; todo add more sections? info on voidships, etc?
432
433 (define (quest-rune-d-update)
434         (let* ((quest (quest-data-get 'questentry-rune-d))
435                         (quest-tbl (car (qst-payload quest))))
436                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
437                 (qst-set-descr! quest
438                 
439 (cond 
440         ((tbl-flag? 'done)
441                 (kern-ui-paginate-text
442                         "A rune was recovered from the Temple of the Void."
443                 ))
444         (#t
445                 (kern-ui-paginate-text
446                         "Legends tell of a temple in the void, which housed a rune."
447                 ))
448 )
449
450                 )
451         ))
452
453 ;;-----------------------
454 ;; pirate rune
455
456 (define (quest-rune-c-update)
457         (let* ((quest (quest-data-get 'questentry-rune-c))
458                         (quest-tbl (car (qst-payload quest))))
459                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
460                 (qst-set-descr! quest
461                 
462 (cond 
463         ((tbl-flag? 'done)
464                 (kern-ui-paginate-text
465                         "A rune was recovered from the wreck of the Merciful Death."
466                 ))
467         ((tbl-flag? 'shiploc)
468                 (append
469                         (kern-ui-paginate-text
470                         "The pirate captain Ghertie once held a rune aboard her ship, the Merciful Death."
471                         ""
472                         )
473                         (kern-ui-paginate-text (string-append "Her ghost has revealed the location of the ship: [" (number->string merciful-death-x) ", " (number->string merciful-death-y) "]."))
474                         (if (tbl-flag? 'shipraise)
475                                 (kern-ui-paginate-text
476                                 ""
477                                 "The ship may be raised with the Vas Uus Ylem spell, mixed using mandrake, blood moss and spider silk."
478                                 )
479                                 nil
480                         )
481                 ))
482         ((tbl-flag? 'info)
483                 (kern-ui-paginate-text
484                         "The pirate captain Ghertie once held a rune aboard her ship, the Merciful Death."
485                         ""
486                         "Her ghost now haunts Oparine, seeking ^c+mrevenge^c- upon her crew."
487                 ))
488         (#t
489                 (kern-ui-paginate-text
490                         "The pirate captain Ghertie once held a rune."
491                 ))
492 )
493
494                 )
495         ))
496
497 ;;-----------------------
498 ;; pirate quest
499
500 (define (quest-ghertie-update)
501         (let* ((quest (quest-data-get 'questentry-ghertie))
502                         (quest-tbl (car (qst-payload quest))))
503                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
504                 (qst-set-descr! quest
505                 
506 (cond 
507         ((tbl-flag? 'done)
508                 (kern-ui-paginate-text
509                         (string-append "The ghost of Ghertie the pirate once haunted the inn at Oparine. In exchange for her revenge, she revealed the location of her sunken ship: [" (number->string merciful-death-x) ", " (number->string merciful-death-y) "].")
510                 ))
511         ((tbl-flag? 'questinfo)
512                 (append
513                         (kern-ui-paginate-text
514                                 "The ghost of Ghertie the pirate haunts the inn at Oparine. She seeks revenge on the survivors of the crew that betrayed her."
515                                 ""
516                                 "Gholet, Jorn and Meaney each wear a ring marking them as Ghertie's crew. Ghertie will accept the rings as proof that you have hunted them down, in exchange for the location of her sunken treasure."
517                         )
518                         (if (and (tbl-flag? 'ring-jorn)
519                                                 (tbl-flag? 'ring-meaney)
520                                                 (tbl-flag? 'ring-gholet))
521                                 (kern-ui-paginate-text
522                                         ""
523                                         "You have retrieved all three skull rings."
524                                 )
525                                 (append
526                                         (cond 
527                                                 ((tbl-flag? 'ring-gholet)
528                                                         (kern-ui-paginate-text
529                                                                 ""
530                                                                 "You have retrieved a skull ring from Gholet."
531                                                         ))
532                                                 ((tbl-flag? 'gholet-price)
533                                                         (kern-ui-paginate-text
534                                                                 ""
535                                                                 "Gholet is held in the dungeons beneath Glasdrin, and will exchange the ring for a dozen lockpicks."
536                                                         ))
537                                                 ((tbl-flag? 'gholet-dungeon)
538                                                         (kern-ui-paginate-text
539                                                                 ""
540                                                                 "Gholet is held in the dungeons beneath Glasdrin."
541                                                         ))
542                                                 ((tbl-flag? 'gholet-prison)
543                                                         (kern-ui-paginate-text
544                                                                 ""
545                                                                 "If Gholet can be found anywhere it will be in some prison or another."
546                                                         ))
547                                                 (#t nil)
548                                         )
549                                         (cond 
550                                                 ((tbl-flag? 'ring-jorn)
551                                                         (kern-ui-paginate-text
552                                                                 ""
553                                                                 "You have retrieved a skull ring from Jorn."
554                                                         ))
555                                                 ((tbl-flag? 'jorn-loc)
556                                                         (kern-ui-paginate-text
557                                                                 ""
558                                                                 "Jorn can be found at the Green Tower's White Stag Inn."
559                                                         ))
560                                                 ((tbl-flag? 'jorn-forest)
561                                                         (kern-ui-paginate-text
562                                                                 ""
563                                                                 "Jorn is a bandit somewhere in the Great Forest."
564                                                         ))
565                                                 (#t nil)
566                                         )
567                                         (cond 
568                                                 ((tbl-flag? 'ring-meaney)
569                                                         (kern-ui-paginate-text
570                                                                 ""
571                                                                 "You have retrieved a skull ring from Meaney."
572                                                         ))
573                                                 ((tbl-flag? 'meaney-loc)
574                                                         (kern-ui-paginate-text
575                                                                 ""
576                                                                 "Meaney runs the Poor House, north of Oparine."
577                                                         ))
578                                                 (#t nil)
579                                         )
580                                 )
581                         )
582                 ))
583         (#t
584                 (kern-ui-paginate-text
585                         (string-append
586                                 (if (tbl-flag? 'ghertieid)
587                                         "The ghost of Ghertie the pirate" 
588                                         "A ghost")
589                                 (if (tbl-flag? 'ghertieloc)
590                                         "haunts the inn at Oparine. "
591                                         "may be found in Oparine. ")
592                                 (if (tbl-flag? 'revenge)
593                                         "She seeks ^c+mrevenge^c-, and may aid you if you take care of her unfinished business."
594                                         (string-append "Why does "
595                                                 (if (tbl-flag? 'ghertieid) "she" "it")
596                                                 "linger in undeath?"
597                                         )
598                                 ))
599                 ))
600 )
601
602                 )
603         ))
604
605
606 ;;------------------------------------------------------------------------ 
607 ;; Warritrix rune
608 ;; 
609
610 (define (quest-rune-l-update)
611         (let* ((quest (quest-data-get 'questentry-rune-l))
612                         (quest-tbl (car (qst-payload quest))))
613                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
614                 (qst-set-descr! quest
615                 
616 (cond 
617         ((tbl-flag? 'done)
618                 (kern-ui-paginate-text
619                         "A rune was recovered from the fallen Warritrix."
620                 ))
621         ((and (tbl-flag? 'located) (tbl-flag? 'know-hall))
622                 (kern-ui-paginate-text
623                         (string-append
624                         "One of the runes is carried by the Warritrix. "
625                         "She may be found in the Lost Halls, at [" 
626                         (number->string (loc-x lost-halls-loc)) "," (number->string (loc-y lost-halls-loc))
627                         "]."
628                         )
629                 ))
630         ((and (tbl-flag? 'located) (tbl-flag? 'approx-hall))
631                 (kern-ui-paginate-text
632                         (string-append
633                         "One of the runes is carried by the Warritrix. "
634                         "She may be found in the Lost Halls, on the Shard's south coast."
635                         )
636                 ))
637         ((tbl-flag? 'located)
638                 (kern-ui-paginate-text
639                         "One of the Runes is carried by the Warritrix, who may be found at the Lost Halls."
640                 ))
641         (#t
642                 (kern-ui-paginate-text
643                         "One of the Runes is carried by the Warritrix."
644                 ))
645 )               
646
647                 )
648         ))
649
650 ;;-----------------------
651 ;; absalot rune
652
653 (define (quest-rune-s-update)
654         (let* ((quest (quest-data-get 'questentry-rune-s))
655                         (quest-tbl (car (qst-payload quest))))
656                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
657                 (qst-set-descr! quest
658                 
659 (cond 
660         ((tbl-flag? 'done)
661                 (kern-ui-paginate-text
662                         "A rune was recovered from the Absalot ruins."
663                 ))
664         ((tbl-flag? 'silasinfo)
665                 (kern-ui-paginate-text
666                         "Silas has a rune hidden in the Absalot ruins."
667                 ))
668         (#t
669                 (kern-ui-paginate-text
670                         "A rune may be found somewhere in Absalot."
671                 ))
672 )
673
674                 )
675         ))
676
677 ;;-----------------------
678 ;; enchanter rune
679 ;; tracks if the player has gotten the rune back from the enchanter
680
681 (define (quest-rune-k-update)
682         (let* ((quest (quest-data-get 'questentry-rune-k))
683                         (quest-tbl (car (qst-payload quest))))
684                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
685                 (qst-set-descr! quest
686                 
687 (cond 
688         ((tbl-flag? 'entrusted-with-rune)
689                 (kern-ui-paginate-text
690                         "The Enchanter has entrusted the Rune of Knowledge into your care."
691                 ))
692         ((tbl-flag? 'player-got-rune)
693                 (kern-ui-paginate-text
694                         "The Rune of Knowledge belonged to the Enchanter, but has since fallen into your hands."
695                 ))
696         ((tbl-flag? 'ench-should-have-rune)
697                 (kern-ui-paginate-text
698                         "The Rune of Knowledge belongs to the Enchanter. You may be able to convince him to turn it over to you."
699                 ))
700         (#t
701                 (kern-ui-paginate-text
702                         "The Rune of Knowledge belonged to the Enchanter."
703                 ))
704 )
705
706                 )
707         ))
708
709         
710 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
711 ;; Search for the Wise quest group
712
713 (define (quest-wise-init)
714         (quest-data-assign-once 'questentry-wise)
715         (map (lambda (tag)
716                  (if (not (null? (quest-data-getvalue tag 'name)))
717                         (quest-data-assign-once tag)
718                 ))
719                 (list 'questentry-enchanter 'questentry-warritrix  'questentry-alchemist
720                                                 'questentry-the-man 'questentry-engineer  'questentry-necromancer)
721         ))
722
723 (define (quest-wise-subinit tag)
724         (quest-data-update tag 'name 1)
725         (if (quest-data-assigned? 'questentry-wise)
726                 (quest-data-assign-once tag)
727         )
728         )
729
730 ;; TODO- merge lost hall location info with rune quest  
731 (define (quest-warritrix-update)
732         (let* ((quest (quest-data-get 'questentry-warritrix))
733                         (quest-tbl (car (qst-payload quest))))
734                 (define (tbl-flag? tag) (not (null? (tbl-get quest-tbl tag))))
735                 (qst-set-descr! quest
736                 
737 (cond
738         ((tbl-flag? 'avenged)
739                 (kern-ui-paginate-text
740                         "The Warritrix was the most cunning warrior of the age, but was slain in an ambush in the Lost Halls."
741                         ""
742                         "You have since brought her betrayers to justice."
743                 ))
744         ((tbl-flag? 'found)
745                 (kern-ui-paginate-text
746                         "The Warritrix was the most cunning warrior of the age, but was slain in an ambush in the Lost Halls."
747                 ))
748         ((tbl-flag? 'slain)
749                 (cond
750                         ((tbl-flag? 'lost-hall-loc)
751                                 (kern-ui-paginate-text
752                                         (string-append
753                                         "The Warritrix was the most cunning warrior of the age, but her spirit has been seen in the Void."
754                                         ""
755                                         "Her mortal remains may still lie in the Lost Halls, at ["
756                                         (number->string (loc-x lost-halls-loc)) "," (number->string (loc-y lost-halls-loc))
757                                         "]."
758                                         )
759                                 ))
760                         ((tbl-flag? 'lost-hall)
761                                 (kern-ui-paginate-text
762                                         "The Warritrix was the most cunning warrior of the age, but her spirit has been seen in the Void."
763                                         ""
764                                         "Her mortal remains may still lie in the Lost Halls."
765                                 ))
766                         (#t
767                                 (kern-ui-paginate-text
768                                         "The Warritrix was the most cunning warrior of the age, but her spirit has been seen in the Void."
769                                         ""
770                                         "When alive, she served the city of Glasdrin."
771                                 ))
772                 ))
773         ((tbl-flag? 'lost-hall-loc)
774                 (kern-ui-paginate-text
775                         (string-append
776                         "The Warritrix is the most cunning warrior of the age. She is overdue from her mission the the Lost Halls, which can be found at ["
777                         (number->string (loc-x lost-halls-loc)) "," (number->string (loc-y lost-halls-loc))
778                         "]."
779                         )
780                 ))
781         ((tbl-flag? 'lost-hall)
782                 (kern-ui-paginate-text
783                         "The Warritrix is the most cunning warrior of the age. A mission has taken her to the Lost Halls."
784                 ))
785         ((tbl-flag? 'assignment)
786                 (kern-ui-paginate-text
787                         "The Warritrix is the most cunning warrior of the age. She is currently away from Glasdrin on a mission."
788                 ))
789         ((tbl-flag? 'general-loc)
790                 (kern-ui-paginate-text
791                         "The Warritrix is the most cunning warrior of the age. She can normally be found around Glasdrin."
792                 ))
793         ((tbl-flag? 'common)
794                 (kern-ui-paginate-text
795                         "The Warritrix is the most cunning warrior of the age."
796                 ))
797         (#t
798                 (kern-ui-paginate-text
799                         "The Warritrix is one of the wise."
800                 ))
801 )
802
803                 )
804         ))