diff --git a/flora-search-aurora.lisp b/flora-search-aurora.lisp index 6793db6..d3371ca 100644 --- a/flora-search-aurora.lisp +++ b/flora-search-aurora.lisp @@ -180,10 +180,11 @@ run the :USE function of the nearest entity, if it has any." (list (nconc (list :drop 1) use-result)) (t use-result))) (nconc - (list :drop 1 - (make-dialogue-state - map - (start-dialogue (mumble 'player :en "(They don't seem to want it.)")))))))) + (list :drop 1) + (make-dialogue-state + map + (start-dialogue (mumble 'player :en "(They don't seem to want it.)" + :eo "(Ĝi verŝajne ne volas tion.)"))))))) @@ -333,93 +334,200 @@ run the :USE function of the nearest entity, if it has any." (make-dialogue-state map (childhood-friend-dialogue map))) +(defun childhood-friend-dialogue-bracelet-intro (sasha) + (start-dialogue + (face 'player "=w=" "=v=") + (say 'player :eo "Nu, mi ankoraŭ opinias ke ĉi tio akordas vian stilon tre bone." + :en "I still think this suits you, you know.") + (face sasha ";w:" ":o:") + (say sasha :en "...") + (say sasha :eo "... vi ankoraŭ havas tion?" + :en "... you still have that?") + (say 'player :eo "Kompreneble mi plu havas!" + :en "Of course I do!") + (say 'player :eo "Sed mi ne plu; ĝi ja estas via." + :en "But I shouldn't; it's yours, after all.") + (say sasha :en "..."))) + + +(defun childhood-friend-dialogue-bracelet-bad-end (sasha) + (start-dialogue + (face sasha "v-v" "vov") + (face 'player ":w;" ":o;") + (say sasha :eo "Pŝ!" + :en "Psh!") + (say sasha :eo "Ankoraŭ estas la malĝusta koloro, do..!" + :en "It's still the wrong colour, so..!" + :face "o<") + (say 'player :eo "Kial vi ankoraŭ forpuŝas min ĉi tiom?" + :en "Why do you still push me away this much?") + (say sasha :eo "Puŝas? Bona ideo, mi falpuŝu vin al la maro!" + :en "Push? Good idea, I'll push you off this cliff!") + (say 'player :eo "Vi ankoraŭ kompenas nenion ajn, Saŝa." + :en "You still don't get it at all, Sasha.") + (say 'player :eo "... kaj ne puŝu min, bonvole!!" + :en "... and please don't push me!!" + :face "@o@"))) + + +(defun childhood-friend-dialogue-bracelet-good-end (sasha) + (start-dialogue + (face sasha "=v=\"" "=v=\"") + (say sasha :eo "Nu, dankon..." + :en "Well, thanks...") + (say sasha :eo "[SAŜA prenas ĈIRKAŬMANON de vi.]" + :en "[SASHA takes BRACELET from you.]") + (face sasha "w>") + (say 'player :eo "Mi ĝojas, ke finfine estos via." + :en "I'm glad it's finally yours.") + (say sasha :eo "Mi suportos ĝin ĉiutage!" + :en "I'll wear it every day!" + :face "^o^") + (say sasha :eo "... ho. Fek! Nu!" + :en "... wait. Shit!" + :face "o<") + (face 'player "` `" "`o`") + (mumble 'player :eo "(Mi supozas, ke la kerno de homo ne tro multe sanĝiĝas...)" + :en "(At the end of the day, I guess people can't change too much...)") + (mumble 'player :eo "(Sed tamen." + :en "(But y'know what? This is good enough for me.)") + (face 'player "^w^" "^o^") + (mumble 'player :eo "(Ĉi tio sufiĉas al mi!)" + :en "(This is good enough for me!)"))) + + +(defun childhood-friend-dialogue-bracelet (map sasha) + (append (childhood-friend-dialogue-bracelet-intro sasha) + (if (getf-act map :sasha-flourish) + (childhood-friend-dialogue-bracelet-good-end sasha) + (childhood-friend-dialogue-bracelet-bad-end sasha)))) + + +(defun childhood-friend-use (map item-plist &optional entity-id) + (let ((item-id (…:string->symbol (getf item-plist :id)))) + (cond ((eq item-id 'bracelet) + (make-dialogue-state + map + (childhood-friend-dialogue-bracelet map entity-id))) + ('t + (refusal-use map item-plist entity-id))))) + + ;;; ——————————————————————————————————— ;;; School prologue: Childhood friend ;;; ——————————————————————————————————— -(defun flashback-school-trigger (map) +(defun flashback-school-trigger (map &optional trigger-plist) "This is triggered right as the player enters the map — they literally can't avoid triggering this." (take-item map 'bracelet) 't) -(defun flashback-childhood-friend-interact (map &optional sasha) +(defun flashback-childhood-friend-dialogue-intro (sasha) + (start-dialogue + (face 'player "` `" "`o`") + (say 'player :eo "Ĉu ĉio enordas, Saŝa? Iom malfruas, ĉu ne?" + :en "Is everything OK, Sasha? It's a bit late, isn't it?") + (face sasha "=_=" "=o=") + (say sasha :eo "Ho, jes, mi simple ĵus eliris klubkunvenon." + :en "Yea, I just left a club-meeting, is all.") + (say 'player :eo "Hodiaŭ ne estas klubotago..." + :en "Today isn't club day...") + (say sasha :eo "Nu, estas escepte speciala klubo!" + :en "Well, whatever, it's a special club!" + :face "->" ">o>") + (say sasha :eo "Kvazaŭ ni povus esti tiel!" + :en "As if!") + (face sasha "<-<" "o<") + (say 'player :eo "Bedaŭron..." + :en "Sorry...") + (move 'player '(:x 46 :y 11) :delay .05) + (face 'player "^_^" "^o^") + (say 'player :eo "Ho, jes!" + :en "Oh, yea!") + (move sasha '(:x 36 :y 3) :delay .03) + (move 'player '(:x 43 :y 4) :delay .05) + (move sasha '(:x 37 :y 3)))) + + +(defun flashback-childhood-friend-dialogue-bracelet (map sasha) + (start-dialogue + (say 'player :eo "Mi freŝe trovis ĉi tion, ĝi ŝajnis akorda al via stilo." + :en "I found this a while back, I thought you'd like it.") + (face sasha ";w:" ";u:") + (mumble 'player :eo "[Vi donas al SAŜA ĉirkaŭmanon belbrilan.]" + :en "[You give SASHA a shiny bracelet.]") + (say sasha :eo "Ho, tio surprize afablis...." + :en "Oh, that's surprisingly nice...") + (face sasha "->" ">o>") - (say sasha :eo "Kvazaŭ ni povus esti tiel!" - :en "As if!") - (face sasha "<-<" "o<") - (say 'player :eo "Bedaŭron..." - :en "Sorry...") - (move 'player '(:x 46 :y 11) :delay .05) - (face 'player "^_^" "^o^") - (say 'player :eo "Ho, jes!" - :en "Oh, yea!") - (move sasha '(:x 36 :y 3) :delay .03) - (move 'player '(:x 43 :y 4) :delay .05) - (move sasha '(:x 37 :y 3)) - (say 'player :eo "Mi freŝe trovis ĉi tion, ĝi ŝajnis akorda al via stilo." - :en "I found this a while back, I thought you'd like it.") - (face sasha ":w:" ":u:") - (mumble 'player :eo "[Vi donas al SAŜA ĉirkaŭmanon belbrilan.]" - :en "[You give SASHA a shiny bracelet.]") - (say sasha :eo "Ho, tio surprize afablis...." - :en "Oh, that's surprisingly nice...") - (face sasha "symbol (getf item-plist :id)) 'bracelet) + ;; If player gives her the special bracelet, skip the dialogue intro + (make-dialogue-state + map + (flashback-childhood-friend-dialogue-bracelet map entity-id)) + ;; Otherwise, have her politely refuse. =w= + (refusal-use map item-plist entity-id))) @@ -427,6 +535,68 @@ avoid triggering this." ;;; Casino! ;;; ——————————————————————————————————— +(defun boozy-lady-dialogue-ring () + (start-dialogue + (say 'boozy-lady :eo "Vi volas edzinigi min, belulo?" + :en "Ya wanna marry me, hot stuff?") + (say 'boozy-lady :eo "Booone, niiru tuj!" + :en "Shuree, lez go now!") + (say 'boozy-friend :eo "Vi NE iros tuj." + :en "You \"shure\" as hell WON'T."))) + + +(defun boozy-lady-dialogue-wallet () + (start-dialogue + (say 'boozy-lady :eo "...? Monujo?" + :en "...? Wallet?") + (say 'boozy-lady :eo "Monujo, mono! Mono, biero!!" + :en "Wallet, money! Money, booze!") + (say 'boozy-friend :eo "... kaj vi certe ne bezonas pli da TIO." + :en "You don't need any more of THAT, hon."))) + + +(defun boozy-lady-dialogue-bracelet () + (start-dialogue + (face 'player "^_^" "^o^") + (say 'boozy-lady :eo "Ooo, brile! Ĝi belasss" + :en "Ooo, shiny! It's prettyy") + (say 'boozy-lady :eo "Ĉu por mji?" + :en "Is it for mi?") + (say 'player :eo "Estos via, se vi ĵuras ne plu drinki ĉi-nokte." + :en "It's yours, if you promise to slow your roll a bit.") + (say 'boozy-lady :eo "Jeŝ! Ne pluuu!" + :en "Okieeee!" + :face "= w =") + (say 'boozy-lady :eo "[MAJA prenas ĈIRKAŬMANON de vi.]" + :en "[MAJA takes BRACELET from you.]" + :face "= w =") + (face 'player ">_<" ">o<") + (say 'boozy-lady :eo "Plia biero por mi, sinjoro!!" + :en "Jkjk. One more for me, barkeep!!") + (say 'casino-bartender + :eo "Bone, momenton!!" + :en "Sure thing, lady!" + :face "xD "))) + + +(defun boozy-lady-use (map item-plist &optional entity-id) + (let ((item-id (…:string->symbol (getf item-plist :id)))) + (cond ((eq item-id 'ring) + (make-dialogue-state + map + (boozy-lady-dialogue-ring))) + ((eq item-id 'bracelet) + (make-dialogue-state + map + (boozy-lady-dialogue-bracelet))) + ((eq item-id 'wallet) + (make-dialogue-state + map + (boozy-lady-dialogue-wallet))) + ('t + (refusal-use map item-plist entity-id))))) + + ;;; ——————————————————————————————————— ;;; Destitute Gambler arc ;;; ——————————————————————————————————— @@ -698,7 +868,7 @@ avoid triggering this." (defun main-menu () `((:en "PLAY" :eo "EKLUDI" :selection 100 :selected t - :function ,(🌍:make-overworld-state *outdoors-map*)) + :function ,(🌍:make-overworld-state *flashback-school-map*)) (:en "SUBMENU" :eo "SUBMENUO" :row 1 :function ,(📋:make-menu-state (submenu))) (:en "TERURE" :eo "BADLY" :row 1) diff --git a/res/maps/casino.tmx b/res/maps/casino.tmx index dafef4e..0b2781f 100644 --- a/res/maps/casino.tmx +++ b/res/maps/casino.tmx @@ -323,6 +323,8 @@ + + Let momma show you a good *hic* timeee HeeeEey sweet-cheeks, u wan sum..? @@ -338,6 +340,7 @@ Restu kun miii! <3 Mia sino malvarmassss! Hlepu min, karulo~ + @@ -346,12 +349,15 @@ Mia sino malvarmassss! Hlepu min, karulo~ + + I swear, she gets like this every time. It's so embarrasing... Kial ŝi ĉiufoje tiom ebriiĝas? Kia ĝeno, tiom hontindas...! + @@ -360,8 +366,33 @@ Kia ĝeno, tiom hontindas...! + Hold on to that, dear pal. +It'll be more use to you than to me... it's simply too late for me. + Plu tenu tion, kara amiko. +Ĝi pliutilos al vi, ol al mi... mi jam estas perdita. + ✿:wallet I'm not looking for a hand-out, pal! +✿:wallet I mean, it'd be useful, but still! +✿:wallet What'd my lady think, if she heard I was taking money from people in casinos to repay my debt? +✿:wallet She'd leave me! Kill me, then leave me! +✿:wallet Taking money from people to play slots, though... +✿:wallet Wait, no! Damned temptation! +✿:wallet Back to wallowing. +✿:wallet Wallowing is free. +✿:ring My... wedding ring? +✿:ring Oh, I don't need it anyway... I'm too far gone... + ✿:wallet Kara amiko, mi ne petas almozon! +✿:wallet Nu, ĝi utilus, sed tamen! +✿:wallet Se la edzino sciiĝus, ke mi prenas mondonacojn de homoj en hazardludejoj por repagi ŝuldon, ŝi tiom malestimus! +✿:wallet Mi povas imagi la mienon, tiom akre! Ŝi forlasus min! +✿:wallet Preni mondonacon por uzi harardludojn, tamen... +✿:wallet ... Momenton, ne! Fia tento, ne!! +✿:wallet Ree al diboĉado, mia amiko. +✿:wallet Diboĉi senkostas. +✿:ring Mia... geedziĝa ringo? +✿:ring Mi ne plu bezonas ĝin... mi estas jam perdita... + @@ -370,12 +401,19 @@ Kia ĝeno, tiom hontindas...! + + + ✿:ring I'm flattered, but I'd rather not marry a guest whose name I don't know. + + ✿:ring Vi flatas min, dankon, sed mi preferus ne edziĝi al nekonata gasto. + Welcome in, good sir! Have fun; may lady luck blow you a kiss! Bonvenon, estimata sinjoro! Ĝuu la ludadon, kaj sorto ridetu al vi! + @@ -403,7 +441,7 @@ Fojfoje mi ja ŝatas mian fakon, mdr. - + diff --git a/res/maps/flashback-school.tmx b/res/maps/flashback-school.tmx index f5d2cc2..c4b24fa 100644 --- a/res/maps/flashback-school.tmx +++ b/res/maps/flashback-school.tmx @@ -284,12 +284,13 @@ - + + @@ -304,6 +305,7 @@ + @@ -322,8 +324,14 @@ + + + ✿:ring ... what an ugly little ring. You've got no taste at all. + + + diff --git a/res/maps/outdoors.tmx b/res/maps/outdoors.tmx index a928b8b..e4ffdca 100644 --- a/res/maps/outdoors.tmx +++ b/res/maps/outdoors.tmx @@ -1,5 +1,5 @@ - + @@ -753,39 +753,6 @@ - - - (A duck floats serenely in the middle of a small pond.) -(This is pretty clearly their territory -- I shouldn't bother them!) - (Anaso flosas trankvile meze de lageto.) -(Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) - - - - - - - - (A duck floats serenely in the middle of a small pond.) -(This is pretty clearly their territory -- I shouldn't bother them!) - (Anaso flosas trankvile meze de lageto.) -(Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) - - - - - - - - (A duck floats serenely in the middle of a small pond.) -(This is pretty clearly their territory -- I shouldn't bother them!) - (Anaso flosas trankvile meze de lageto.) -(Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) - - - - - (A duck floats serenely in the middle of a small pond.) @@ -794,10 +761,13 @@ (Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + - + (A duck floats serenely in the middle of a small pond.) (This is pretty clearly their territory -- I shouldn't bother them!) @@ -805,10 +775,13 @@ (Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + - + (A duck floats serenely in the middle of a small pond.) (This is pretty clearly their territory -- I shouldn't bother them!) @@ -816,10 +789,13 @@ (Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + - + (A duck floats serenely in the middle of a small pond.) (This is pretty clearly their territory -- I shouldn't bother them!) @@ -827,10 +803,13 @@ (Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + - + (A duck floats serenely in the middle of a small pond.) (This is pretty clearly their territory -- I shouldn't bother them!) @@ -838,6 +817,51 @@ (Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + + + + + + + (A duck floats serenely in the middle of a small pond.) +(This is pretty clearly their territory -- I shouldn't bother them!) + (Anaso flosas trankvile meze de lageto.) +(Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + + + + + + + + + (A duck floats serenely in the middle of a small pond.) +(This is pretty clearly their territory -- I shouldn't bother them!) + (Anaso flosas trankvile meze de lageto.) +(Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + + + + + + + + + (A duck floats serenely in the middle of a small pond.) +(This is pretty clearly their territory -- I shouldn't bother them!) + (Anaso flosas trankvile meze de lageto.) +(Klare ĝi opinias la lageton ĝia -- mi nepre ne ĝin ĝenu!) + + + + + @@ -1850,8 +1874,14 @@ DANĜERA LOKO - VENENA MATERIO + + + ✿:ring ... what an ugly little ring. You've got no taste at all. + + + @@ -1860,8 +1890,11 @@ DANĜERA LOKO - VENENA MATERIO + + +