1 ;;----------------------------------------------------------------------------
2 ;; Special -- one-off stuff that needs to be kern-loaded and doesn't really fit
4 ;;----------------------------------------------------------------------------
6 (kern-mk-sprite-set 'ss_special 32 32 3 3 0 0 "special.png")
8 (kern-mk-sprite 's_gold_skull ss_special 1 0 #f 0)
9 (kern-mk-sprite 's_power_core ss_special 1 1 #f 0)
11 ;;----------------------------------------------------------------------------
12 ;; Bandit-Hideout generator --
13 ;; procedure invoked by a step trigger to place the bandit hideout on the world map.
14 ;; Should return true iff it triggers to remove the step generator that invokes it.
15 ;;----------------------------------------------------------------------------
16 (define bandit-hideout-loc (list 'p_shard 72 63))
17 (define (mk-bandit-hideout kbeing)
21 (kern-log-msg "You stumble upon a hidden forest glade.\nKnavish figures skulk about with drawn blades!")
22 (kern-place-set-subplace p_bandit_hideout_l1
23 (eval-loc bandit-hideout-loc))
29 ;;----------------------------------------------------------------------------
30 ;; Angriss Lair generator -- procedure invoked by a step trigger to create
31 ;; Angriss's Lair. Should return true iff it triggers to remove the step
32 ;; generator that invokes it.
33 ;;----------------------------------------------------------------------------
34 (define angriss-lair-loc (list 'p_shard 88 69))
35 (define (mk-angriss-lair kbeing)
39 (kern-log-msg "The forest grows wild...\nThe trees here are choked with webbing, and horrid wrapped HUSKS dangle.\nYou have found the entrance to Angriss's Lair!")
40 (kern-place-set-subplace p_angriss_lair
41 (eval-loc angriss-lair-loc))
47 ;;----------------------------------------------------------------------------
48 ;; Mans-Hideout generator --
49 ;; procedure invoked by a step trigger to place the MAN's hideout on the world map.
50 ;; Should return true iff it triggers to remove the step generator that invokes it.
51 ;;----------------------------------------------------------------------------
52 (define the-mans-hideout-loc (list 'p_shard 92 10))
53 (define (mk-mans-hideout kbeing)
57 (kern-log-msg "You find a hidden entrance to a secure, undisclosed location!")
58 (kern-place-set-subplace p_mans_hideout
59 (eval-loc the-mans-hideout-loc))
65 ;;----------------------------------------------------------------------------
66 ;; Brundegardt generator --
67 ;; procedure invoked by a step trigger to place Brundegardt on the world map.
68 ;; Should return true iff it triggers to remove the step generator that invokes it.
69 ;;----------------------------------------------------------------------------
70 (define brundegardt-loc (list 'p_shard 76 40))
71 (define (mk-brundegardt kbeing)
75 (kern-log-msg "Through a hidden track, you find a strange forested nook in the mountainside!")
76 (kern-place-set-subplace p_brundegardt
77 (eval-loc brundegardt-loc))
83 ;; ----------------------------------------------------------------------------
84 ;; The Warritrix's note
85 ;; ----------------------------------------------------------------------------
87 't_warritrix_orders "Military Orders" s_lexicon norm
88 (lambda (klexicon kuser)
90 "Orders to the Warritrix"
91 "Ever faithful servant of Glasdrin,"
92 "we suspect a coven of the Accursed are hiding"
93 "in the deeps of the Lost Halls. Proceed at"
94 "once to investigate. Leave no cavern"
96 "--Commander Jeffries\n"
97 "P.S. These orders are to be destroyed."
101 ;; Kraken lakes kraken trigger
102 (define (spawn-kraken-lakes-sea-serpent kbeing)
103 (kern-log-msg "Your disturb something in the water...")
104 (kern-obj-put-at (spawn-npc 'kraken 8) (mk-loc p_deepness 31 34))
105 (kern-obj-put-at (spawn-npc 'kraken 8) (mk-loc p_deepness 32 35))
106 (kern-obj-put-at (spawn-npc 'kraken 8) (mk-loc p_deepness 30 29))
109 ;; Locations referred to more than once
110 (define lost-halls-loc (list 'p_shard 39 75))
112 ;; Power core for voidship
113 (mk-quest-obj-type 't_power_core "ancient power core" s_power_core layer-item obj-ifc)
115 ;; Luximene begins the game as a Lich King, when defeated he drops his skull,
116 ;; which can be used with the Necromancer to summon his shade.
117 (mk-quest-obj-type 't_lich_skull "King Luximenes skull" s_gold_skull layer-item obj-ifc)
119 ;; grow -- trigger hook fx to create items (eg, growing reagents, hence the name)
120 (define (grow-trig ktrig ktype-tag dice)
121 (println "grow-trig")
122 (println " ktrig=" ktrig)
123 (println " ktype-tag=" ktype-tag)
124 (println " dice=" dice)
125 (kern-obj-put-at (kern-mk-obj (eval ktype-tag) (kern-dice-roll
127 (kern-obj-get-location ktrig)))