home *** CD-ROM | disk | FTP | other *** search
/ VIPER Paradice / VIPER.ISO / pc / SCRIPTS / VPSYS.VSC < prev    next >
Encoding:
Text File  |  2002-08-22  |  20.6 KB  |  680 lines

  1. ;;;
  2. ;;; vpsys.vsc
  3. ;;;
  4.  
  5. (load "se.vsc")
  6.  
  7. (load "system.vsc")
  8. (load "xselement.vsc")
  9.  
  10. (load "spell.vsc")
  11. (load "roulette.vsc")
  12.  
  13. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  14. ;; run-action-phase
  15. (define (run-action-phase session)
  16.   (let* ((player    (current-player session))
  17.          (character (current-character player)))
  18.     ;; âëâbâLü[âQâCâô
  19.     (if (< 0 (character-luckygain-get character))
  20.         (begin
  21.           (call-caption "<p>Gluekszahl!</p>")
  22.           (call-prompt "<p>Deine Gluekszahl ist raus gekommen!</p>")
  23.           (while
  24.            (< 0 (character-luckygain-get character))
  25.            (let* ((card        (call-generate-spell-card (random 2)))
  26.                   (spell    (call-pull-spell card))
  27.                   (desc        (spell-description-get spell))
  28.                   )
  29.              (call-gain-spell-card character card)
  30.              (if (not (string=? (spell-reaction-get spell) ""))
  31.                  (call-react character (spell-reaction-get spell)))
  32.              (call-show-spell-card card)
  33.              (call-prompt "<p>"
  34.               "<br/>Du hast eine neue Karte gewonnen!</p>")
  35.             
  36.              (call-hide-spell-card player)
  37.              )
  38.            (character-luckygain-apply character (lambda (x) (- x 1)))
  39.            )
  40.           )
  41.         )
  42.  
  43.     ;; òαé¡
  44.     (cond
  45.      ((character-skipaction-get character) #f)
  46.      ((= (character-walk-get character) 0)
  47.       (run-event session
  48.                  (node-flowstop-get (character-location-get character))))
  49.      (#t
  50.       (let loop
  51.           ((walk         #f)
  52.            (location    #f))
  53.         (begin
  54.           (set! walk        (character-walk-get character))        ; int
  55.           (set! location    (character-location-get character))    ; Nodeî^
  56.           
  57.           ;; walkò¬òαé¡
  58.           (walk-forward session walk location)
  59.           
  60.             ;; âCâxâôâgé╠ÅIù╣îπì─é╤walké¬É▌ÆΦé│éΩé─éóé╜éτîJéΦò╘é╡üB
  61.           (if (< 0 (character-walk-get character)) (loop #f #f))
  62.           )))
  63.      )
  64.     )
  65.   )
  66.  
  67. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  68. ;; run-fool-phase
  69. (define (run-fool-phase session)
  70.   (let* ((character    (session-fool-get session))
  71.          (location    (character-location-get character))
  72.          (walk        (character-walk-get character))
  73.          (next        #f)
  74.          (n            #f))
  75.     (call-play-se =foolwalk= #t)
  76.     (while (< 0 walk)
  77.            ;; âïü[âgé╠æIæ≡
  78.            (set! n (random (node-links-length location)))
  79.            (set! next (node-links-get location n))
  80.            (character-location-set character next)
  81.            (call-walk character next)
  82.            (set! location next)
  83.            (set! walk (- walk 1))
  84.            )
  85.     (call-stop-se =foolwalk=)
  86.     (call-wait-a-moment 90)
  87.     )
  88.   )
  89.  
  90. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  91. ;; run-meet-fool-phase
  92. (define (run-meet-fool-phase session)
  93.   (let* ((character    (session-fool-get session))
  94.          (location    (character-location-get character)))
  95.     (call-caption "<p>Dunball man</p>")
  96.     (call-prompt "<p>Ehi, was fur einen Zufall. Es ist aber vielleicht garkeinen Zufall,<br/>"
  97.                  "Aus diesen Grund lasse ich dich die Gorgeosroulette drehen.</p>")
  98.     (event-gorgeous-roulette session)
  99.     (call-wait-a-moment 90)
  100.     )
  101.   )
  102.  
  103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  104. ;; walk-forward
  105. (define (walk-forward session walk location)
  106.   (let* ((player    (current-player session))
  107.          (character (current-character player))
  108.          (route #f))
  109.     (call-ghost-begin character location)
  110.     
  111.     ;; âLâââôâZâïé═òsë┬
  112.     (while (not route)
  113.            (set! route (walk-forward-route session walk location #f)))
  114.     
  115.     ;; âïü[âgæIæ≡é¬è«ù╣é╡é╜éτâCâxâôâgé╠Ä└ìs
  116.     ;;üié│é┴é½é▄é┼éóé╜â}âXé╠Æ╩ë▀âCâxâôâgé═ö≥é╬é╖üjüB
  117.     (trace-route session (cdr route))
  118.     )
  119.   )
  120.  
  121. ;; ê°Éö  : session ê┌ô«ù═ î╗ì▌Æn
  122. ;; û▀éΦÆl: îoÿHÅεò± (node ...)
  123. (define (walk-forward-route session walk location query)
  124.   (let* ((player    (current-player session))
  125.          (character (current-character player)))
  126.     (call-ghost-walk character location walk)
  127.     (cond
  128.      ((or (= 0 walk)
  129.           (= 0 (node-links-length location))
  130.           (and (not (eqv? (character-location-get character) location))
  131.                (node-forcebreak-get location)))
  132.       (if (= 0 walk)
  133.           (call-caption "<p>Ende des Rennens.</p>")
  134.           (call-caption "<p>Du darfst nicht mehr weiter!</p>"))
  135.       (walk-forward-route-stop session walk location query))
  136.      (else
  137.       (walk-forward-route-aux session walk location query)))
  138.     )
  139.   )
  140.  
  141. (define (walk-forward-route-stop session walk location query)
  142.   (let* ((player    (current-player session))
  143.          (character (current-character player)))
  144.     (call-message "<p>M÷chtest du hier stehen bleiben?</p>")
  145.     (if (or (not query)
  146.             (call-query-yesno))
  147.         ;; ÅIù╣
  148.         (begin
  149.           (character-walk-set character (- walk)) ; ï¡ÉºÆΓÄ~é≡ö╗ò╩é┼é½éΘéµéñé╔
  150.           (list location)
  151.           )
  152.         ;; é│éαé╚é¡é╬âLâââôâZâï
  153.         #f)
  154.     )
  155.   )
  156.  
  157. (define (walk-forward-route-aux session walk location query)
  158.   (let* ((player    (current-player session))
  159.          (character (current-character player))
  160.          (choises    (node-links-list location)))
  161.     (let loop ((course #f))
  162.       (begin
  163.         (call-caption "<p>Waehle den weg aus</p>")
  164.         (if (= 1 (length choises))
  165.             (set! course (car choises))
  166.             (begin
  167.               (set! course (call-query-course location choises walk #t))
  168.               (set! query #t)))
  169.         (if (not course)
  170.             ;; âLâââôâZâïé╚é╠é┼éPÄΦû▀éΘ
  171.             #f
  172.             ;; âLâââôâZâïé┼é╚éóÅΩìçê┌ô«
  173.             (begin
  174.               (let* ((route (walk-forward-route session (- walk 1)
  175.                                                 course query)))
  176.                 (if route
  177.                     ;; ÅIù╣é╡é╜ÅΩìç
  178.                     (cons location route)
  179.                     ;; âLâââôâZâïé│éΩé╜ÅΩìç
  180.                     (begin
  181.                       (call-ghost-walk character location walk)
  182.                       (if (< 1 (length choises))
  183.                           ;; é▒é╠âmü[âhé╔òíÉöé╠æIæ≡Äêé¬éáé┴é╜ÅΩìçé═
  184.                           ;; æIæ≡é╠éΓéΦé╚é¿é╡
  185.                           (loop #f)
  186.                           ;; é│éαé╚é¡é╬âLâââôâZâï
  187.                           #f)))))))))
  188.   )
  189.  
  190. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  191. ;; trace-route
  192. ;; ê°Éö  : session îoÿHÅεò± (node ...)
  193. ;; û▀éΦÆl ô┴é╔é╚é╡
  194. (define (trace-route session route)
  195.   (let* ((player    (current-player session))
  196.          (character (current-character player))
  197.          (bonus        (character-walkbonus-get character))
  198.          (last        #f))
  199.     ;; Æ╩ë▀âCâxâôâg
  200.     (call-play-se =walk= #t)
  201.     (for-each
  202.      (lambda (x)
  203.        (character-location-set character x)
  204.        (character-walk-set character
  205.                            (- (character-walk-get character) 1))
  206.        (call-walk character x)
  207.        (if (< 0 bonus)
  208.            (begin
  209.              (character-money-apply character (lambda (x) (+ x bonus)))
  210.              (call-show-float-income bonus x)
  211.              (call-play-se =coin= #f)))
  212.        (character-walkcount-apply character (lambda (x) (+ x 1)))
  213.        (if (not (string=? (node-flowpass-get x) ""))
  214.            (begin
  215.              (call-stop-se =walk=)
  216.              (run-event session (node-flowpass-get x))
  217.              (call-play-se =walk= #t)
  218.              ))
  219.        (set! last x)
  220.        )
  221.      route)
  222.     
  223.     (call-stop-se =walk=)
  224.     (call-ghost-end character)
  225.  
  226.     (if (node-forcebreak-get (character-location-get character))
  227.         (call-react character "surprise"))
  228.     
  229.     ;; ÆΓÄ~âCâxâôâg
  230.     (if last (run-event session (node-flowstop-get last)))    
  231.     )
  232.   )
  233.  
  234. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  235. ;; run-event
  236. (define (run-event session event)
  237.   (if (not (string=? "" event))
  238.       (let* ((player    (current-player session))
  239.              (character (current-character player))
  240.              (type        (substring event 0 1))
  241.              (value        (substring event 1 (string-length event)))
  242.              (symbol    (string->symbol event))
  243.              (node        (character-location-get character))
  244.              (group        (node-group-get node))
  245.              )
  246.         (cond
  247.          ;;((= 0 (random 3))    (event-trade-spell session))
  248.          ;;;(#t            (event-lap session))
  249.          ;;((= 0 (random 10))        (event-lap session))
  250.          ;;((string=? (node-group-get node) "field")
  251.          ;;(event-enter-dungeon session))
  252.          ;;((string=? (node-group-get node) "dungeon")
  253.          ;;(event-exit-dungeon session))
  254.          ;;(#t                        (event-trade-hands session (random 4)))
  255.          ;;(#t                        (event-gain-movie-card session))
  256.          ;;(#t                        (event-chest session))
  257.          ;;(#t    (event-trade-movie session))
  258.          ;;(#t    (event-roulette session))
  259.          ;;(#t    (event-trade-with-collector session))
  260.          ((string=? event "û│ë±ô]âpâlâï")    (event-not-rotater session))
  261.          ((string=? event "ë±ô]âpâlâï")        (event-rotater session))
  262.          ((string=? event "ô┴ÄΩâJü[âh")        (event-gain-spell-card session))
  263.          ((string=? event "âÇü[ârü[âJü[âh") (event-gain-movie-card session))
  264.          ((string=? event "â_âôâWâçâôin")    (event-enter-dungeon session))
  265.          ((string=? event "â_âôâWâçâôÆEÅo")    (event-exit-dungeon session))
  266.          ((string=? event "ïαîöâVâçâbâv")    (event-trade-spell session))
  267.          ((string=? event "âJü[âhâVâçâbâv")    (event-trade-spell session))
  268.          ((string=? event "âÇü[ârü[âVâçâbâv")    (event-trade-movie session))
  269.          ((string=? event "âWâââôâv")        (event-jump session))
  270.          ((string=? event "êΩÄⁿ")            (event-lap session))
  271.          ((string=? event "ò≤öá")            (event-chest session))
  272.          ((string=? event "âïü[âîâbâgâpâlâï")    (event-roulette session))
  273.          ((string=? event "ö╝Äⁿ")
  274.           (event-trade-with-collector session))
  275.          ((string=? type "p")
  276.           (event-trade-hands session
  277.                              (- (string->number (substring event 1 2)) 1)))
  278.          ((string=? type  "*")
  279.           (event-door session value))
  280.          ((string=? type "+")
  281.           (event-plus session (cdr (assq symbol *plus-events*))))
  282.          ((string=? type "-")
  283.           (event-minus session (cdr (assq symbol *minus-events*))))
  284.          )
  285.         )
  286.       )
  287.   )
  288.  
  289. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  290. ;; event-gain-spell-card
  291. (define (event-gain-spell-card session)
  292.   (call-caption "<p>Special Card mas</p>")
  293.   (call-message "<p>Suche dir eine Karte aus</p>")
  294.  
  295.   (let* ((player    (current-player session))
  296.          (character (current-character player))
  297.          (extra        (call-generate-spell-card 0))
  298.          (teleca    (call-generate-spell-card 1))
  299.          (category    (call-query-drawing extra teleca))
  300.          (card        (if (= category 0) extra teleca))
  301.          (spell        (call-pull-spell card))
  302.          (desc        (spell-description-get spell))
  303.          )
  304.     (call-gain-spell-card character card)
  305.     (if (not (string=? (spell-reaction-get spell) ""))
  306.         (call-react character (spell-reaction-get spell)))
  307.     (call-show-spell-card card)
  308.  
  309. (if (= card extra)(call-prompt desc))
  310.     (call-prompt "<p>"
  311.                 "<br/>Du hast eine neue Karte gewonnen!</p>")
  312.  
  313.     (call-hide-spell-card player)
  314.     )
  315.   )
  316.  
  317. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  318. ;; event-gain-movie-card
  319. (define (event-gain-movie-card session)
  320.   (let* ((player    (current-player session))
  321.          (character (current-character player))
  322.          (card        (call-generate-movie-card #f))
  323.          (gold        (car card))
  324.          (silver    (cdr card))
  325.          (count        (movie-gaincount-get
  326.                      (character-moviecards-get character
  327.                                                (+ (* gold 5) silver))))
  328.          (first?    (= 0 count))
  329.          )
  330.     (call-increment-bingo-item character gold silver)
  331.     (call-caption "<p>Movie card mas</p>")
  332.     (call-react character "happy")
  333.     (call-show-movie-card gold silver)
  334.     (call-play-se =gainsilver= #f)
  335.     (call-prompt "<p>"
  336.                  (call-get-movie-priced-text #f gold silver)
  337.                  "<br/>Du hast eine neue Karte gewonnen!</p>")
  338.     (call-hide-movie-card)
  339.     (call-play-movie gold silver first?)
  340.     )
  341.   )
  342.  
  343. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  344. ;; event-plus
  345. (define (event-plus session xs-element)
  346.   (let* ((player    (current-player session))
  347.          (character (current-character player))
  348.          (sum        (extract-sum xs-element))
  349.          (min        (string->number (cdr (assq 'min (cdr sum)))))
  350.          (max        (string->number (cdr (assq 'max (cdr sum)))))
  351.          (earn        (get-salary character min max))
  352.          (currency-unit (session-currencyunit-get session))
  353.          (replacement    (string-append "<c1>"
  354.                                        (number->string earn)
  355.                                        currency-unit
  356.                                        "</c1>"))
  357.          )
  358.     (call-dance character "happy")
  359.     (character-money-apply character (lambda (x) (+ x earn)))
  360.     (call-caption "<p>Plus event</p>")
  361.     (call-message (xs-element->xml (replace-sum xs-element replacement)))
  362.     (call-dance character "stop")
  363.     (call-show-income (- earn))
  364.     )
  365.   )
  366.  
  367. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  368. ;; event-minus
  369. (define (event-minus session xs-element)
  370.   (let* ((player    (current-player session))
  371.          (character (current-character player))
  372.          (sum        (extract-sum xs-element))
  373.          (min        (string->number (cdr (assq 'min (cdr sum)))))
  374.          (max        (string->number (cdr (assq 'max (cdr sum)))))
  375.          (earn        (get-salary character min max))
  376.          (currency-unit (session-currencyunit-get session))
  377.          (replacement    (string-append "<c1>"
  378.                                        (number->string earn)
  379.                                        currency-unit
  380.                                        "</c1>"))
  381.          )
  382.     (call-dance character "sad")
  383.     (character-money-apply character (lambda (x) (- x earn)))
  384.     (call-caption "<p>Minus event</p>")
  385.     (call-message (xs-element->xml (replace-sum xs-element replacement)))
  386.     (call-dance character "stop")
  387.     (call-show-income (- earn))
  388.     )
  389.   )
  390.  
  391. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  392. ;; run-spell-event
  393. (define (run-spell-event session event-name card)
  394.   (let* ((player    (current-player session))
  395.          (character (current-character player)))
  396.     (apply
  397.      (cdr
  398.       (assq
  399.        (string->symbol (string-append "spell-event-" event-name))
  400.        *spell-events*))
  401.      (list session card))
  402.     )
  403.   )
  404.  
  405.  
  406. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  407. ;; event-trade-spell
  408. (define (event-trade-spell session)
  409.   (let* ((player    (current-player session))
  410.          (character (current-character player)))
  411.     (call-react character "stand")
  412.     (call-trade-spell character)
  413.     )
  414.   )
  415.  
  416. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  417. ;; event-trade-movie
  418. (define (event-trade-movie session)
  419.   (let* ((player    (current-player session))
  420.          (character (current-character player)))
  421.     (call-react character "stand")
  422.     (call-trade-movie character)
  423.     )
  424.   )
  425.  
  426. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  427. ;; event-trade-hands
  428. (define (event-trade-hands session shop-index)
  429.   (let* ((player    (current-player session))
  430.          (character (current-character player))
  431.          (unit        (session-currencyunit-get session))
  432.          (movies    (movie-list character))
  433.          (count        0)
  434.          (price        0))
  435.     (call-caption "<p>Private shop</p>")
  436.     (cond
  437.      ;; Ä⌐ò¬é╠ôX
  438.      ((= shop-index (session-currentplayerindex-get session))
  439.       (if (pair? movies)
  440.           (begin
  441.             (set! count (length movies))
  442.             (set! price (* 5000 count))
  443.             (character-money-apply character (lambda (x) (+ x price)))
  444.             (call-react character "happy")
  445.             (call-prompt "<p>Du hast die Movies gezeigt und du hast<br/> "
  446.                          (number->string (length movies))
  447.                          " Kunden.<br/>"
  448.                          (number->string price)
  449.                          unit
  450.                          " Unerwartete Verdienste</p>")
  451.             )
  452.           (call-prompt "<p>Du bist in deinem GeschΣft,"
  453.                        "Du hast aber keine neue  Movies  zum herzeigen."
  454.                        "Keine unerwartete Vedienste.</p>"))
  455.       )
  456.      ;; æ╝Élé╠ôX
  457.      ((< shop-index (session-order-length session))
  458.       (let* ((master (player-characters-get
  459.                       (session-order-get session shop-index) 0)))
  460.         (cond
  461.          ((<= 0 (character-ranking-get master))
  462.           (call-prompt "<p>Aber "
  463.                        (character-name-get master)
  464.                        " Das GeschΣft war schon geschlossen......"
  465.                        "</p>"))
  466.          ((pair? (movie-list master))
  467.           (begin
  468.             (call-react character "surprise")
  469.             (call-trade-hands character master)
  470.             ))
  471.          (#t
  472.           (call-prompt "<p>"
  473.                        (character-name-get master)
  474.                        " Das GeschΣft soll zuerst restauriert werden....</p>"))
  475.          )
  476.         )
  477.       )
  478.      ;; ï≤é½ë╞üiÄQë┴é╡é─éóé╚éóâvâîâCâäüj
  479.      (#t (call-prompt "<p>Das GeschΣft war ein altes heruntergekommenes Haus......</p>")))
  480.     )
  481.   )
  482.  
  483. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  484. ;; event-trade-with-collector
  485. (define (event-trade-with-collector session)
  486.   (let* ((player    (current-player session))
  487.          (character (current-character player))
  488.          (unit        (session-currencyunit-get session))
  489.          (movies    (movie-list character))
  490.          (count        (length movies))
  491.          (price        (* 5000 count)))
  492.  
  493.     (call-caption "<p>Ogawas Haus</p>")
  494.  
  495.     (call-trade-with-collector character)
  496.     
  497.     (call-caption "<p>Bonus: halbe Runde</p>")
  498.  
  499.     (if (< 0 count)
  500.         (begin
  501.           (character-money-apply character (lambda (x) (+ x price)))
  502.           (call-react character "happy")
  503.           (call-prompt "<p>Du hast Ogawa die gesammelten Movies gezeigt. Sie hat dich dafuer "
  504.                        (number->string price)
  505.                        unit
  506.                        " Geld gegeben!</p>")
  507.           )
  508.         )
  509.     )
  510.   )
  511.  
  512. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  513. ;; event-jump
  514. (define (event-jump session)
  515.   (let* ((player    (current-player session))
  516.          (character (current-character player)))
  517.     (call-prompt "<p>Du bist am Jump Mas!</p>")
  518.     (jump session (vector-ref '#(1 1 1 1 1 1 2 2 2 3) (random 10)))
  519.     (run-event session (node-flowstop-get
  520.                         (character-location-get character)))
  521.     )
  522.   )
  523.  
  524. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  525. ;; event-lap
  526. (define (event-lap session)
  527.   (let* ((player    (current-player session))
  528.          (character (current-character player)))
  529.  
  530.     (call-trade-with-collector session)
  531.  
  532.     (call-caption "<p>Ende der Runde</p>")
  533.     (character-lap-apply character (lambda (x) (+ x 1)))
  534.  
  535.     ;; âVü[âNâîâbâgâÇü[ârü[âJü[âhé╠Ä»ò╩
  536.     (identify-secret-cards session)
  537.  
  538.     ;; âSü[âïâ`âFâbâN
  539.     (if (call-check-finished character)
  540.         ;; âSü[âï
  541.         (begin
  542.           (call-react character "happy")
  543.           (call-finish character)
  544.           )
  545.         ;; î╗ì▌é╠é¿é¿é┤é┴é╧é╚Åçê╩
  546.         (begin
  547.           ;; â{ü[âiâX
  548.           (earn-lap-bonus session character)
  549.           (call-prompt "<p>Yatta!!! </p>")
  550.           )
  551.         )
  552.     )
  553.   )
  554.  
  555. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  556. ;; event-enter-dungeon
  557. (define (event-enter-dungeon session)
  558.   (let* ((player    (current-player session))
  559.          (character (current-character player)))
  560.     (call-react character "surprise")
  561.     (call-prompt "<p>Springe Richtung der Krater der Insel!</p>")
  562.     (call-enter-dungeon character)
  563.     (call-prompt "<p>Du hast das Dungeon der Insel erreicht!</p>")
  564.     )
  565.   )
  566.  
  567. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  568. ;; event-exit-dungeon
  569. (define (event-exit-dungeon session)
  570.   (let* ((player    (current-player session))
  571.          (character (current-character player)))
  572.     (call-prompt "<p>Gehe aus den Dangeon herraus!</p>")
  573.     (call-exit-dungeon character)
  574.     (call-prompt "<p>Du bist aus den Dungeon heraus!</p>")
  575.     )
  576.   )
  577.  
  578. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  579. ;; event-chest
  580. (define (event-chest session)
  581.   (let* ((player    (current-player session))
  582.          (character (current-character player)))
  583.     (call-caption "<p>Die Schatztschachtel des Dungeons!</p>")
  584.     (call-message "<p>Du hast die Schatzschachtel gefunden! Suche dir eine Karte aus!</p>")
  585.     (call-chest character 0)
  586.     )
  587.   )
  588.  
  589. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  590. ;; event-door
  591. (define (event-door session number)
  592.   (let* ((player    (current-player session))
  593.          (character (current-character player)))
  594.     (call-warp player (find-node session (string-append "öα" number)))
  595.     (call-caption "<p>Inweis</p>")
  596.     (call-prompt "<p>Du kennst dich hier aus! Du kannst die Abkuerzung nehemen.</p>")
  597.     )
  598.   )
  599.  
  600.  
  601. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  602. ;; event-roulette
  603. (define (event-roulette session)
  604.   (let* ((player    (current-player session))
  605.          (character (current-character player))
  606.          (n            #f))
  607.     (call-caption "<p>Prisma roulette</p>")
  608.     (call-message "<p>Roulette stoppen.</p>")
  609.     (set! n (call-roulette character))
  610.     (case n
  611.       ((0)    ;; â{ü[âiâXâ|âCâôâg
  612.        (event-roulette-0 session)
  613.        )
  614.       ((1)    ;; âJü[âhâvâîâ[âôâgüiâ~â~âbâNé╚é╡ò≤öáüj
  615.        (event-roulette-1 session)
  616.        )
  617.       ((2)    ;; Å¼É∞îNé┐é▄é┼âWâââôâv
  618.        (event-roulette-2 session)
  619.        )
  620.       ((3)  ;; â}âCâiâXâ|âCâôâg
  621.        (event-roulette-3 session)
  622.        )
  623.       ((4)    ;; ò≤öá
  624.        (event-roulette-4 session)
  625.        )
  626.       ((5)    ;; é═é╕éΩ
  627.        (event-roulette-5 session)
  628.        )
  629.       ((6)    ;; üiïαâÇü[ârü[é╠é▌é╠ò≤öáüj
  630.        (event-roulette-6 session)
  631.        )
  632.       ((7)    ;; êΩë±ïxé▌
  633.        (event-roulette-7 session)
  634.        )
  635.       ((8)    ;; âÇü[ârü[âJü[âhêΩûçûvÄ√
  636.        (event-roulette-8 session)
  637.        )
  638.       ((9)    ;; é═é╕éΩ
  639.        (event-roulette-9 session)
  640.        )
  641.       )
  642.     )
  643.   )
  644.  
  645. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  646. ;; event-gorgeous-roulette
  647. (define (event-gorgeous-roulette session)
  648.   (let* ((player    (current-player session))
  649.          (character (current-character player))
  650.          (n            #f))
  651.     (call-caption "<p>Gorgeos roulette</p>")
  652.     (call-message "<p>Stoppe die roulette.</p>")
  653.     (set! n (call-roulette character))
  654.     (case n
  655.       ((0)       (event-roulette-10 session)       )
  656.       ((1)       (event-roulette-11 session)       )
  657.       ((2)       (event-roulette-12 session)       )
  658.       ((3)       (event-roulette-13 session)       )
  659.       ((4)       (event-roulette-14 session)       )
  660.       ((5)       (event-roulette-15 session)       )
  661.       ((6)       (event-roulette-16 session)       )
  662.       ((7)       (event-roulette-17 session)       )
  663.       ((8)       (event-roulette-18 session)       )
  664.       ((9)       (event-roulette-19 session)       )
  665.       )
  666.     )
  667.   )
  668.  
  669. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  670. ;; event-not-rotater
  671. (define (event-not-rotater session)
  672.   (call-run-rotater)
  673.   (call-run-rotater)
  674.   )
  675.  
  676. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  677. ;; event-rotater
  678. (define (event-rotater session)
  679.   (call-run-rotater)
  680.   )