home *** CD-ROM | disk | FTP | other *** search
- (define (spell-event-cardboard session card)
- (let* ((player (current-player session))
- (character (current-character player))
- )
- (call-prompt "<p>Ich bin glueklich.</p>")
- )
- )
-
- (define (spell-event-exchange session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (call-caption "<p> Card austauschen </p>")
- (cond
- ((= 0 (character-spellcards-length character))
- (call-prompt "<p>Du hast aber keine Karten, die du austauschen kannst.....</p>"))
- ((= 0 (length (other-players session)))
- (call-prompt "<p>Du findest Nimanden mit dem du tauschen kannst.....</p>"))
- (#t
- (let* ((my-card #f)
- (target-player #f)
- (target-character #f)
- (target-card #f)
- (retry #t))
- (while
- retry
- (call-message "<p>Suche die Karte aus, die du eintauschen willst</p>")
- (set! my-card
- (character-spellcards-get
- character
- (call-query-card character)))
- (call-message "<p>Suche den Spieler aus, mit dem du die Karte eintauschen willst</p>")
- (set! target-player
- (session-order-get session (call-query-another-player)))
- (set! target-character
- (player-characters-get target-player 0))
- (if (= 0 (character-spellcards-length target-character))
- (begin
- (call-prompt
- "<p>"
- (character-name-get target-character)
- " Sie hat keine besondere Karte...... </p>"))
- (begin
- (call-message "<p>Suche die Karte aus, die du eintauschen willst</p>")
- (set! target-card
- (character-spellcards-get
- target-character
- (call-query-card target-character)))
- (call-message "<p>Tauschst du jetzt?</p>")
- (if (call-query-yesno)
- (begin
- (character-spellcards-add character target-card)
- (character-spellcards-add target-character my-card)
- (character-spellcards-remove target-character target-card)
- (character-spellcards-remove character my-card)
- (call-show-spell-card my-card)
- (call-prompt
- "<p>"
- (spell-name-get (call-pull-spell my-card))
- " card, "
- (character-name-get target-character)
- " Jetzt ist es deine Karte.</p>")
- (call-show-spell-card target-card)
- (call-prompt
- "<p>"
- (spell-name-get (call-pull-spell target-card))
- " card "
- (character-name-get character)
- " Jetzt ist es deine Karte!</p>")
- (call-hide-spell-card)
- (set! retry #f)))
- ))
- )
- ))
- )
- )
- )
-
- (define (spell-event-copy session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (call-caption "<p>Die Karte wird kopiert</p>")
- (cond
- ((= 0 (length (other-players session)))
- (call-prompt "<p>Du kannst nicht kopieren....</p>"))
- (#t
- (let* ((another (another-player session))
- (ac (player-characters-get another 0))
- (count #f))
- (set! count (character-spellcards-length ac))
-
- ;; æSé─öpèⁿ
- (while (< 0 (character-spellcards-length character))
- (call-remove-spell-card
- (character-spellcards-get character 0)))
-
- ;; âRâsü[âJü[âhê╚èOé╠âJü[âhé≡é╖é╫é─âRâsü[
- (do ((i 0 (+ 1 i)))
- ((<= count i) #f)
- (let* ((card (character-spellcards-get ac i)))
- (if (not (string=? "âRâsü["
- (spell-name-get (call-pull-spell card))))
- (character-spellcards-add
- character
- (call-copy-spell-card card)))
- )
- )
- (call-prompt "<p>"
- (character-name-get ac)
- " Wir haben schon alle Karten kopiert!</p>"))))
- )
- )
-
- (define (spell-event-move session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (cond
- ((= 0 (length (other-players session)))
- (call-prompt "<p>Du hast Nimanden mit dem du tauschen kannst.....</p>"))
- (#t
- (let* ((another (another-player session))
- (ac (player-characters-get another 0))
- (line #f))
- (call-caption "<p>Bingo Line tauschen</p>")
- (call-prompt "<p>"
- (character-name-get ac)
- " Tauschst du jetzt.</p>")
- (call-show-left-duelist character)
- (call-show-right-duelist ac)
- (call-exchange-bingo-line ac)
- ))
- )
- )
- )
-
- (define (spell-event-duel-aux winner loser)
- (let* ((movie #f))
- (call-prompt "<p>" (character-name-get winner) " Du hast gewonnen!</p>")
- (set! movie (move-movie winner loser))
- (if movie
- (begin
- (call-show-movie-card (quotient movie 5)
- (remainder movie 5))
- (call-prompt "<p>Nihmm ihn eine Movie Card weg !</p>")
- (call-hide-movie-card)
- )
- (call-prompt "<p>" (character-name-get loser)
- " Sie hatte aber keine Movie Card.....</p>")
- )
- (character-duelwon-apply winner (lambda (x) (+ x 1)))
- (character-duellost-apply loser (lambda (x) (+ x 1)))
- )
- )
-
- (define (spell-event-duel session card)
- (let* ((player (current-player session))
- (character (current-character player))
- (currency-unit (session-currencyunit-get session)))
- (cond
- ((= 0 (length (other-players session)))
- (call-prompt "<p>Aber du hast keinen Gegner.....</p>"))
- (#t
- (let* ((another (another-player session))
- (ac (player-characters-get another 0))
- (prize (* (+ 1 (character-lap-get character)) 50000)))
- (call-show-left-duelist character)
- (call-prompt "<p>Dein Gegner......?</p>")
- (call-show-right-duelist ac)
- (call-prompt "<p>"
- (character-name-get ac)
- " Ist sie dein Gegner?</p>")
- (let* ((winner (call-duel character ac))
- (movie #f))
- (call-caption "<p>Kampf</p>")
- (case winner
- ((0)
- (call-prompt "<p>Der Kampf ist unentschieden.</p>")
- (character-dueldrawn-apply character (lambda (x) (+ x 1)))
- (character-dueldrawn-apply ac (lambda (x) (+ x 1))))
- ((1)
- (set! prize (* 2 prize))
- (call-prompt "<p>"
- (character-name-get character)
- " Sie hat gestolen!<br/>"
- (character-name-get ac)
- " Von ihr "
- (number->string prize)
- currency-unit
- " sie hat gestohlen!</p>")
- (character-money-apply character (lambda (x) (+ x prize)))
- (character-money-apply ac (lambda (x) (- x prize)))
- (call-show-income prize))
- ((2)
- (call-prompt "<p>"
- (character-name-get character)
- " Sie hat verloren.<br/>"
- (character-name-get ac)
- " Von ihr "
- (number->string prize)
- currency-unit
- " Du hast dich berauben lassen!</p>")
- (character-money-apply character (lambda (x) (- x prize)))
- (character-money-apply ac (lambda (x) (+ x prize)))
- (call-show-income (- prize)))
- )
- )
- )
- )
- )
- )
- )
-
- (define (spell-event-plus1 session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character 1)
- )
- )
-
- (define (spell-event-plus2 session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character 2)
- )
- )
-
- (define (spell-event-plus3 session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character 3)
- )
- )
-
- (define (spell-event-plus4 session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character 4)
- )
- )
-
- (define (spell-event-plus5 session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character 5)
- )
- )
-
- (define (spell-event-plus6 session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character 6)
- )
- )
-
- (define (spell-event-double session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character (call-play-dice 2))
- )
- )
-
- (define (spell-event-triple session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-skipaction-set character #f)
- (character-walk-set character (call-play-dice 3))
- )
- )
-
- (define (spell-event-jump session card)
- (let* ((player (current-player session))
- (character (current-character player))
- (location (character-location-get character))
- (rank #f))
- (if (< 1 (node-links-length location))
- ;; ò¬è≥é┼é═âWâââôâvé┼é½é╚éó
- (call-prompt "<p>no jump</p>")
- ;; "jump"(system.vsc)
- (begin
- (set! rank (call-get-rank character #f))
- (call-prompt "<p>"
- (character-name-get character)
- " Jetzt. Es ist hier "
- (number->string (+ rank 1))
- " in die Tabelle, "
- (number->string (+ rank 1))
- " springe bis dorthin!</p>")
- (jump session (+ rank 1))
- (character-skipaction-set character #f)
- (character-walk-set character 0))
- )
- )
- )
-
- (define (spell-event-secret session spell-card)
- (let* ((player (current-player session))
- (character (current-character player))
- (card (call-generate-movie-card #f))
- (gold (car card))
- (silver (cdr card))
- )
- (call-show-movie-card gold silver)
- (call-prompt "<p>Die Secret Card, war's<br/>"
- (call-get-movie-priced-text #f gold silver)
- "!</p>")
- (call-prompt "<p>Du hast es eingesetzt und jetzt hast du es nicht mehr. Es tut uns leid!</p>")
- (call-hide-movie-card)
- )
- )
-
- (define (spell-event-mystery session spell-card)
- (let* ((player (current-player session))
- (character (current-character player))
- (card (call-generate-movie-card #f))
- (gold (car card))
- (silver (cdr card))
- )
- (call-show-movie-card gold silver)
- (call-prompt "<p>Die Mistery Card, war's<br/>"
- (call-get-movie-priced-text #f gold silver)
- "!</p>")
- (call-prompt "<p>Du hast es eingesetzt und jetzt hast du es nicht mehr. Es tut uns leid!</p>")
- (call-hide-movie-card)
- )
- )
-
- (define (spell-event-voice session card)
- (let* ((player (current-player session))
- (character (current-character player)))
- (character-walkbonus-apply character (lambda (x) (+ x 100)))
- (call-play-se =teleca= #f)
- (call-wait-a-moment 60)
- (call-play-voice (spell-soundpath-get (call-pull-spell card)))
- )
- )
-
- (define *spell-events* `(
- (spell-event-cardboard . ,spell-event-cardboard)
- (spell-event-exchange . ,spell-event-exchange)
- (spell-event-copy . ,spell-event-copy)
- (spell-event-move . ,spell-event-move)
- (spell-event-duel . ,spell-event-duel)
- (spell-event-plus1 . ,spell-event-plus1)
- (spell-event-plus2 . ,spell-event-plus2)
- (spell-event-plus3 . ,spell-event-plus3)
- (spell-event-plus4 . ,spell-event-plus4)
- (spell-event-plus5 . ,spell-event-plus5)
- (spell-event-plus6 . ,spell-event-plus6)
- (spell-event-double . ,spell-event-double)
- (spell-event-triple . ,spell-event-triple)
- (spell-event-jump . ,spell-event-jump)
- (spell-event-voice . ,spell-event-voice)
- (spell-event-secret . ,spell-event-secret)
- (spell-event-mystery . ,spell-event-mystery)
- )
- )
-
-