Bienvenido a juego interactivo y erótico gay en el que intentaremos corromper a todo un edificio de hombres.
Solo recordarte que en él se podrán ver y leer escenas explícitas de sexo entre los personajes, los cuales son siempre ficticios y mayores de 18 años. Para la creación de este juego se ha utilizado la IA.
Si estás interesado y tienes más de 18 años, simplemente dale a continuar, más abajo.
<<link "CONTINUAR">>
<<set $idioma = "es">>
<<goto "Sueño">>
<</link>>
<<link "Saltar intro">>
<<set $idioma = "es">>
<<set $hasPhone to true>>
<<set $notaDem1 to true>>
<<goto "habitacionsergio">>
<</link>>
<br><br>
<em>Delamugre</em>
<br><br>
---------------------------------------------------------------------------------------------
Welcome to an interactive and erotic gay game in which we will try to corrupt an entire building of men.
Just a reminder that it contains explicit sex scenes between the characters, who are always fictional and over 18 years of age. AI was used in the creation of this game.
If you are interested and over 18, simply click continue below.
<<link "CONTINUE">>
<<set $idioma = "en">>
<<goto "Sueño">>
<</link>>
<<link "Skip intro">>
<<set $idioma = "en">>
<<set $hasPhone to true>>
<<set $notaDem1 to true>>
<<goto "habitacionsergio">>
<</link>>
<br><br>
<em>Delamugre</em>
<br><br>
<<if $idioma is "es">>
<div id="dream-text" class="dream-container">
<p>Que cachondo estoy</p>
<video autoplay loop muted playsinline class="dream-image" style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Adrian/adriansueño.webm" type="video/webm">
</video>
<p>Como me pone Sergio..</p>
<p>
<<link "Quiero follármelo">>
<<run window.triggerFlash(800)>>
<<replace "#dream-text">>
<div id="dream-text" class="dream-container">
<p>Perdona que interrumpa tu sueño pornográfico con tu vecino.</p>
<img src="images/Lujuria.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;">
<p>Hablemos con tranquilidad.</p>
<p><<link "Seguir">><<goto "Prologo">><</link>></p>
</div>
<</replace>>
<</link>>
</p>
</div>
<<else>>
<div id="dream-text" class="dream-container">
<p>I know you like it...</p>
<video autoplay loop muted playsinline class="dream-image" style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Adrian/adriansueño.webm" type="video/webm">
</video>
<p>I want to fuck Sergio</p>
<p>
<<link "I'm so horny">>
<<run window.triggerFlash(800)>>
<<replace "#dream-text">>
<div id="dream-text" class="dream-container">
<p>Forgive me for interrupting your pornographic dream with your neighbor.</p>
<img src="images/Lujuria.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;">
<p>Let's talk calmly.</p>
<p><<link "Follow">><<goto "Prologo">><</link>></p>
</div>
<</replace>>
<</link>>
</p>
</div>
<</if>>window.saveGame = function () {
Save.slots.save();
UI.alert("Juego guardado correctamente ✅");
};
window.toggleNotes = function () {
const notes = document.getElementById("notes-screen");
if (notes.style.display === "none" || notes.style.display === "") {
notes.style.display = "block";
} else {
notes.style.display = "none";
}
};
<<set $excitationMarks to {}>>
<<set $hamzaLlamada1Vista to false>>
<<set $eventoFormaFantasmal4 to false>>
<<set $calzoncillojuanan to false>>
<<set $evento4contactos to false>>
<<set $cargasapps to 0>>
<<set $fantasmaducha to false>>
<<set $fantasmapaja to false>>
<<set $fantasmacalzoncillo to false>>
<<set $fantasmacorrida to false>>
<<set $Rocacontacto to false>>
<<set $corrupcionRoca to 0>>
<<set $RocaVisionUsada to false>>
<<set $francescoEnBano = false>>
<<set $adlerEnBano = false>>
<<set $gameTotalMinutes to 0>>
<<set $seanEnBano = false>>
<<set $seanEnHabitacion = false>>
<<set $gameHours to 8>>
<<set $gameMinutes to 0>>
<<set $gameDayIndex to 0>>
<<set $hasPhone to false>>
<<set $appsdesbloqueadas to 0>>
<<set $cargasapps to 1>>
<<set $fotosalon to true>>
<<set $Leocontacto to false>>
<<set $corrupcionLeo to 0>>
<<set $Raulcontacto to false>>
<<set $corrupcionRaul to 0>>
<<set $Alexcontacto to false>>
<<set $corrupcionAlex to 0>>
<<set $Damiancontacto to false>>
<<set $corrupcionDamian to 0>>
<<set $Ernestocontacto to false>>
<<set $corrupcionErnesto to 0>>
<<set $Taocontacto to false>>
<<set $corrupcionTao to 0>>
<<set $Juanancontacto to false>>
<<set $corrupcionJuanan to 0>>
<<set $Adriancontacto to false>>
<<set $corrupcionAdrian to 0>>
<<set $Rafaelcontacto to false>>
<<set $corrupcionRafael to 0>>
<<set $Leocontacto to false>>
<<set $corrupcionLeo to 0>>
<<set $Tomascontacto to false>>
<<set $corrupcionTomas to 0>>
<<set $Adlercontacto to false>>
<<set $corrupcionAdler to 0>>
<<set $Francescocontacto to false>>
<<set $corrupcionFrancesco to 0>>
<<set $Seancontacto to false>>
<<set $corrupcionSean to 0>>
<<set $Hamzacontacto to false>>
<<set $corrupcionHamza to 0>>
<<set $Ahmedcontacto to false>>
<<set $corrupcionAhmed to 0>>
<<set $notaatico1 to false>>
<<script>>
window.setup = window.setup || {};
setup.characterSchedules = {
'Raul': {
name: 'Raúl',
schedules: [
// LUNES A VIERNES
{ days: [1,2,3,4,5], start: 0, end: 8, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Raúl está durmiendo', descriptionEn: 'Raúl is sleeping' },
{ days: [1,2,3,4,5], start: 8, end: 8.5, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Bañosergio', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Raúl se está duchando', descriptionEn: 'Raúl is taking a shower' },
{ days: [1,2,3,4,5], start: 8.5, end: 9, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Raúl está desayunando', descriptionEn: 'Raúl is having breakfast' },
{ days: [1,2,3,4,5], start: 9, end: 14, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Raúl está en la universidad asistiendo a sus clases', descriptionEn: 'Raúl is at university attending his classes' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo en la universidad', actionEn: 'eating at university', descriptionEs: 'Raúl está comiendo en la cafetería de la universidad', descriptionEn: 'Raúl is eating at the university cafeteria' },
// Martes(2) y jueves(4) con Toni
{ days: [2,4], start: 15, end: 17, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'jugando a la consola con Toni', actionEn: 'playing console with Toni', descriptionEs: 'Raúl está jugando a la consola con su amigo Toni', descriptionEn: 'Raúl is playing console with his friend Toni' },
// Lunes(1) y miércoles(3) estudiando
{ days: [1,3], start: 15, end: 17, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Raúl está estudiando en su habitación', descriptionEn: 'Raúl is studying in his room' },
// Viernes(5) leyendo
{ days: [5], start: 15, end: 17, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'leyendo ciencia ficción', actionEn: 'reading science fiction', descriptionEs: 'Raúl está leyendo uno de sus libros de ciencia ficción', descriptionEn: 'Raúl is reading one of his science fiction books' },
{ days: [1,2,3,4,5], start: 17, end: 19, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'jugando a la consola', actionEn: 'playing console', descriptionEs: 'Raúl está jugando a la consola en el salón', descriptionEn: 'Raúl is playing console in the living room' },
{ days: [1,2,3,4,5], start: 19, end: 21, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Raúl está repasando apuntes en su habitación', descriptionEn: 'Raúl is reviewing his notes in his room' },
{ days: [1,2,3,4,5], start: 21, end: 22, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Raúl está cenando en el salón', descriptionEn: 'Raúl is having dinner in the living room' },
{ days: [1,2,3,4,5], start: 22, end: 24, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'leyendo ciencia ficción', actionEn: 'reading science fiction', descriptionEs: 'Raúl está leyendo antes de dormir', descriptionEn: 'Raúl is reading before sleep' },
// SÁBADO (gameDayIndex 5 → busca valor 6)
{ days: [6], start: 0, end: 10, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Raúl está durmiendo hasta tarde', descriptionEn: 'Raúl is sleeping in' },
{ days: [6], start: 10, end: 10.5, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Bañosergio', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Raúl se está duchando', descriptionEn: 'Raúl is taking a shower' },
{ days: [6], start: 10.5, end: 11.5, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Raúl está desayunando tranquilamente', descriptionEn: 'Raúl is having breakfast calmly' },
{ days: [6], start: 11.5, end: 13, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Raúl está estudiando en su habitación', descriptionEn: 'Raúl is studying in his room' },
{ days: [6], start: 13, end: 14, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'comiendo', actionEn: 'having lunch', descriptionEs: 'Raúl está comiendo en el salón', descriptionEn: 'Raúl is having lunch in the living room' },
{ days: [6], start: 14, end: 16, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'jugando a la consola con Toni', actionEn: 'playing console with Toni', descriptionEs: 'Raúl está jugando a la consola con su amigo Toni', descriptionEn: 'Raúl is playing console with his friend Toni' },
{ days: [6], start: 16, end: 19, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'leyendo ciencia ficción', actionEn: 'reading science fiction', descriptionEs: 'Raúl está leyendo uno de sus libros favoritos', descriptionEn: 'Raúl is reading one of his favorite books' },
{ days: [6], start: 19, end: 21, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'jugando a la consola', actionEn: 'playing console', descriptionEs: 'Raúl está jugando a la consola en el salón', descriptionEn: 'Raúl is playing console in the living room' },
{ days: [6], start: 21, end: 22, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Raúl está cenando en el salón', descriptionEn: 'Raúl is having dinner in the living room' },
{ days: [6], start: 22, end: 24, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'leyendo ciencia ficción', actionEn: 'reading science fiction', descriptionEs: 'Raúl está leyendo antes de dormir', descriptionEn: 'Raúl is reading before sleep' },
// DOMINGO (gameDayIndex 6 → busca valor 7)
{ days: [7], start: 0, end: 11, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Raúl está durmiendo hasta muy tarde', descriptionEn: 'Raúl is sleeping very late' },
{ days: [7], start: 11, end: 11.5, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Bañosergio', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Raúl se está duchando', descriptionEn: 'Raúl is taking a shower' },
{ days: [7], start: 11.5, end: 12.5, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'desayunando tarde', actionEn: 'having late breakfast', descriptionEs: 'Raúl está desayunando tarde en el salón', descriptionEn: 'Raúl is having a late breakfast in the living room' },
{ days: [7], start: 12.5, end: 15, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Raúl está estudiando para preparar la semana', descriptionEn: 'Raúl is studying to prepare for the week' },
{ days: [7], start: 15, end: 16, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'comiendo', actionEn: 'having lunch', descriptionEs: 'Raúl está comiendo en el salón', descriptionEn: 'Raúl is having lunch in the living room' },
{ days: [7], start: 16, end: 19, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'leyendo ciencia ficción', actionEn: 'reading science fiction', descriptionEs: 'Raúl está leyendo ciencia ficción', descriptionEn: 'Raúl is reading science fiction' },
{ days: [7], start: 19, end: 21, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'jugando a la consola', actionEn: 'playing console', descriptionEs: 'Raúl está jugando a la consola en el salón', descriptionEn: 'Raúl is playing console in the living room' },
{ days: [7], start: 21, end: 22, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'Salón', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Raúl está cenando en el salón', descriptionEn: 'Raúl is having dinner in the living room' },
{ days: [7], start: 22, end: 24, location: '2A', locationEs: '2A', locationEn: '2A', passage: 'habitacionraul', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Raúl está repasando apuntes antes de dormir', descriptionEn: 'Raúl is reviewing notes before sleep' }
],
defaultLocationEs: '2A', defaultLocationEn: '2A', defaultPassage: 'Salón'
},
'Roca': {
name: 'Daniel Roca',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 6, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'Dormitorio4Ainfluencer', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Roca está durmiendo. Se acuesta pronto y se levanta pronto.', descriptionEn: 'Roca is sleeping. Early to bed, early to rise.' },
{ days: [1,2,3,4,5,6,7], start: 6, end: 9, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'salon4Ainfluencer', actionEs: 'entrenando', actionEn: 'training', descriptionEs: 'Roca está entrenando en el gimnasio de su ático. Tres horas de rutina sin excepciones, sin excusas.', descriptionEn: 'Roca is training in his penthouse gym. Three hours of routine, no exceptions, no excuses.' },
{ days: [1,2,3,4,5,6,7], start: 9, end: 9.5, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'Baño4Ainfluencer', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Roca se ducha después del entrenamiento.', descriptionEn: 'Roca showers after training.' },
{ days: [1,2,3,4,5,6,7], start: 9.5, end: 13, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'salon4Ainfluencer', actionEs: 'grabando y editando contenido', actionEn: 'recording and editing content', descriptionEs: 'Roca graba y edita su contenido del día. El móvil, el trípode, los ángulos. Su trabajo y su religión.', descriptionEn: 'Roca records and edits his daily content. The phone, the tripod, the angles. His work and his religion.' },
{ days: [1,2,3,4,5,6,7], start: 13, end: 13.5, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'salon4Ainfluencer', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Roca come su tupper de siempre: arroz, pollo y brócoli. Sin sal. Sin placer.', descriptionEn: 'Roca eats his usual meal prep: rice, chicken and broccoli. No salt. No pleasure.' },
{ days: [1,2,3,4,5,6,7], start: 13.5, end: 20, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'salon4Ainfluencer', actionEs: 'gestionando redes sociales', actionEn: 'managing social media', descriptionEs: 'Roca lleva horas pegado al móvil, obsesionado con cada métrica, cada comentario, cada seguidor ganado o perdido.', descriptionEn: 'Roca has been glued to his phone for hours, obsessed with every metric, every comment, every follower gained or lost.' },
{ days: [1,2,3,4,5,6,7], start: 20, end: 20.5, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'salon4Ainfluencer', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Roca cena rápido. Otro tupper. Mira el móvil mientras mastica.', descriptionEn: 'Roca eats dinner quickly. Another container. He stares at his phone while chewing.' },
{ days: [1,2,3,4,5,6,7], start: 20.5, end: 24, location: 'Ático', locationEs: 'Ático', locationEn: 'Penthouse', passage: 'Dormitorio4Ainfluencer', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Roca ya está durmiendo. Mañana hay que madrugar.', descriptionEn: 'Roca is already asleep. Tomorrow comes early.' }
],
defaultLocationEs: 'Ático', defaultLocationEn: 'Penthouse', defaultPassage: 'salon4Ainfluencer'
},
'Abel': {
name: 'Abel Castillejo Álamo',
schedules: [
// LUNES A VIERNES - Cuidando a los abuelos
{ days: [1,2,3,4,5], start: 0, end: 10, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Abel está durmiendo en la habitación de invitados', descriptionEn: 'Abel is sleeping in the guest room' },
{ days: [1,2,3,4,5], start: 10, end: 10.5, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'baño3B', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Abel se está duchando', descriptionEn: 'Abel is taking a shower' },
{ days: [1,2,3,4,5], start: 10.5, end: 11.5, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'desayunando con sus abuelos', actionEn: 'having breakfast with his grandparents', descriptionEs: 'Abel está desayunando junto a Tomás y Maite', descriptionEn: 'Abel is having breakfast with Tomás and Maite' },
{ days: [1,2,3,4,5], start: 11.5, end: 13, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'ayudando en casa', actionEn: 'helping at home', descriptionEs: 'Abel está ayudando con las tareas del hogar y cuidando a sus abuelos', descriptionEn: 'Abel is helping with household chores and taking care of his grandparents' },
{ days: [1,2,3,4,5], start: 13, end: 14, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'comiendo con sus abuelos', actionEn: 'having lunch with his grandparents', descriptionEs: 'Abel está comiendo junto a Tomás y Maite', descriptionEn: 'Abel is having lunch with Tomás and Maite' },
{ days: [1,3,5], start: 14, end: 16, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'entrenando', actionEn: 'working out', descriptionEs: 'Abel está entrenando en el gimnasio', descriptionEn: 'Abel is working out at the gym' },
{ days: [2,4], start: 14, end: 16, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'cuidando a sus abuelos', actionEn: 'taking care of his grandparents', descriptionEs: 'Abel está en casa cuidando a Tomás y Maite', descriptionEn: 'Abel is at home taking care of Tomás and Maite' },
{ days: [1,2,3,4,5], start: 16, end: 18, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Abel está descansando en su habitación', descriptionEn: 'Abel is resting in his room' },
{ days: [1,2,3,4,5], start: 18, end: 20, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'ayudando con la cena', actionEn: 'helping with dinner', descriptionEs: 'Abel está ayudando a preparar la cena', descriptionEn: 'Abel is helping to prepare dinner' },
{ days: [1,2,3,4,5], start: 20, end: 21, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'cenando con sus abuelos', actionEn: 'having dinner with his grandparents', descriptionEs: 'Abel está cenando junto a Tomás y Maite', descriptionEn: 'Abel is having dinner with Tomás and Maite' },
{ days: [1,2,3,4,5], start: 21, end: 23, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele con sus abuelos', actionEn: 'watching TV with his grandparents', descriptionEs: 'Abel está viendo la televisión con Tomás y Maite', descriptionEn: 'Abel is watching TV with Tomás and Maite' },
{ days: [2,4], start: 23, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Abel está disfrutando de un momento privado', descriptionEn: 'Abel is enjoying a private moment' },
{ days: [1,3,5], start: 23, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'con el móvil', actionEn: 'on his phone', descriptionEs: 'Abel está mirando el móvil antes de dormir', descriptionEn: 'Abel is looking at his phone before sleep' },
// SÁBADO - Más tiempo libre
{ days: [6], start: 0, end: 11, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Abel está durmiendo hasta tarde', descriptionEn: 'Abel is sleeping in' },
{ days: [6], start: 11, end: 11.5, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'baño3B', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Abel se está duchando', descriptionEn: 'Abel is taking a shower' },
{ days: [6], start: 11.5, end: 12.5, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Abel está desayunando con sus abuelos', descriptionEn: 'Abel is having breakfast with his grandparents' },
{ days: [6], start: 12.5, end: 14, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'ayudando en casa', actionEn: 'helping at home', descriptionEs: 'Abel está ayudando con las tareas del hogar', descriptionEn: 'Abel is helping with household chores' },
{ days: [6], start: 14, end: 15, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Abel está comiendo con Tomás y Maite', descriptionEn: 'Abel is eating with Tomás and Maite' },
{ days: [6], start: 15, end: 17, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'entrenando', actionEn: 'working out', descriptionEs: 'Abel está en el gimnasio haciendo ejercicio', descriptionEn: 'Abel is at the gym working out' },
{ days: [6], start: 17, end: 20, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'paseando por el centro', actionEn: 'walking downtown', descriptionEs: 'Abel está dando una vuelta por el centro', descriptionEn: 'Abel is walking around downtown' },
{ days: [6], start: 20, end: 21, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Abel está cenando con sus abuelos', descriptionEn: 'Abel is having dinner with his grandparents' },
{ days: [6], start: 21, end: 23, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Abel está viendo la televisión', descriptionEn: 'Abel is watching TV' },
{ days: [6], start: 23, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Abel está disfrutando de un momento privado', descriptionEn: 'Abel is enjoying a private moment' },
// DOMINGO - Descanso
{ days: [0], start: 0, end: 12, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Abel está durmiendo hasta muy tarde', descriptionEn: 'Abel is sleeping very late' },
{ days: [0], start: 12, end: 12.5, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'baño3B', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Abel se ducha', descriptionEn: 'Abel showers' },
{ days: [0], start: 12.5, end: 13.5, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'desayunando tarde', actionEn: 'having late breakfast', descriptionEs: 'Abel está desayunando tarde', descriptionEn: 'Abel is having late breakfast' },
{ days: [0], start: 13.5, end: 15, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'ayudando a sus abuelos', actionEn: 'helping his grandparents', descriptionEs: 'Abel está ayudando a Tomás y Maite', descriptionEn: 'Abel is helping Tomás and Maite' },
{ days: [0], start: 15, end: 16, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Abel está comiendo con sus abuelos', descriptionEn: 'Abel is eating with his grandparents' },
{ days: [0], start: 16, end: 19, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'en el centro', actionEn: 'downtown', descriptionEs: 'Abel está dando vueltas por el centro', descriptionEn: 'Abel is hanging out downtown' },
{ days: [0], start: 19, end: 20, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Abel está volviendo a casa', descriptionEn: 'Abel is returning home' },
{ days: [0], start: 20, end: 21, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Abel está cenando con Tomás y Maite', descriptionEn: 'Abel is having dinner with Tomás and Maite' },
{ days: [0], start: 21, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitacioninvitados3B', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Abel está descansando en su habitación', descriptionEn: 'Abel is resting in his room' }
],
defaultLocationEs: '3B', defaultLocationEn: '3B', defaultPassage: '3B'
},
'TomasLesionado': {
name: 'Tomás (Lesionado)',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 8, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitaciontomas', actionEs: 'durmiendo junto a Maite', actionEn: 'sleeping next to Maite', descriptionEs: 'Tomás está durmiendo profundamente junto a su esposa', descriptionEn: 'Tomás is sleeping deeply next to his wife' },
{ days: [1,2,3,4,5,6,7], start: 8, end: 9, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'baño3B', actionEs: 'aseándose', actionEn: 'washing up', descriptionEs: 'Tomás se está aseando tranquilamente', descriptionEn: 'Tomás is washing up calmly' },
{ days: [1,2,3,4,5,6,7], start: 9, end: 10, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'desayunando con Maite', actionEn: 'having breakfast with Maite', descriptionEs: 'Tomás está desayunando tranquilamente junto a Maite', descriptionEn: 'Tomás is having breakfast calmly with Maite' },
{ days: [1,2,3,4,5,6,7], start: 10, end: 13, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'cuidando de Maite', actionEn: 'taking care of Maite', descriptionEs: 'Tomás está cuidando de su esposa', descriptionEn: 'Tomás is taking care of his wife' },
{ days: [1,2,3,4,5,6,7], start: 13, end: 14, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'comiendo con Maite', actionEn: 'having lunch with Maite', descriptionEs: 'Tomás está almorzando junto a Maite, charlando suavemente', descriptionEn: 'Tomás is having lunch with Maite, chatting softly' },
{ days: [1,2,3,4,5,6,7], start: 14, end: 16, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'leyendo el periódico', actionEn: 'reading the newspaper', descriptionEs: 'Tomás está leyendo el periódico tranquilamente', descriptionEn: 'Tomás is reading the newspaper calmly' },
{ days: [1,2,3,4,5,6,7], start: 16, end: 18, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitaciontomas', actionEs: 'reposando en su habitación', actionEn: 'resting in his room', descriptionEs: 'Tomás está reposando en su habitación por la lesión', descriptionEn: 'Tomás is resting in his room due to his injury' },
{ days: [1,2,3,4,5,6,7], start: 18, end: 20, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Tomás está viendo la televisión', descriptionEn: 'Tomás is watching TV' },
{ days: [1,2,3,4,5,6,7], start: 20, end: 21, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'cenando con Maite', actionEn: 'having dinner with Maite', descriptionEs: 'Tomás está cenando junto a su esposa', descriptionEn: 'Tomás is having dinner with his wife' },
{ days: [1,2,3,4,5,6,7], start: 21, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele con Maite', actionEn: 'watching TV with Maite', descriptionEs: 'Tomás está viendo la televisión con Maite antes de dormir', descriptionEn: 'Tomás is watching TV with Maite before sleep' }
],
defaultLocationEs: '3B', defaultLocationEn: '3B', defaultPassage: '3B'
},
'Leo': {
name: 'Leo Ruiz Villar',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 1, end: 10, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionleo', actionEs: 'durmiendo en su habitación', actionEn: 'sleeping in his room', descriptionEs: 'Leo está profundamente dormido en su cama', descriptionEn: 'Leo is deeply asleep in his bed' },
{ days: [1,2,3,4,5,6,7], start: 10, end: 10.5, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'baño2B', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Leo se está dando una ducha', descriptionEn: 'Leo is taking a shower' },
{ days: [1,2,3,4,5,6,7], start: 10.5, end: 14, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionleo', actionEs: 'jugando a videojuegos', actionEn: 'playing videogames', descriptionEs: 'Leo está jugando a videojuegos con su ordenador', descriptionEn: 'Leo is playing video games on his computer' },
{ days: [1,2,3,4,5,6,7], start: 14, end: 15, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'comiendo solo', actionEn: 'eating alone', descriptionEs: 'Leo está comiendo solo en el comedor', descriptionEn: 'Leo is eating alone in the dining room' },
{ days: [1,2,3,4,5,6,7], start: 15, end: 16, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionleo', actionEs: 'viendo una serie en su habitación', actionEn: 'watching a series in his room', descriptionEs: 'Leo está tumbado en su cama mirando una serie', descriptionEn: 'Leo is lying in his bed watching a series' },
{ days: [1,2,3,4,5,6,7], start: 16, end: 18, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'con el móvil en el parque', actionEn: 'on his phone at the park', descriptionEs: 'Leo está mirando algo en el móvil sentado en un banco', descriptionEn: 'Leo is looking at something on his phone while sitting on a bench' },
{ days: [1,2,3,4,5,6,7], start: 18, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionleo', actionEs: 'jugando videojuegos', actionEn: 'playing video games', descriptionEs: 'Leo está concentrado frente a la pantalla jugando', descriptionEn: 'Leo is focused on the screen playing' },
{ days: [1,2,3,4,5,6,7], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Leo está cenando con la familia', descriptionEn: 'Leo is having dinner with the family' },
{ days: [1,2,3,4,5,6,7], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'viendo algo en la tele', actionEn: 'watching something on TV', descriptionEs: 'Leo está viendo algo en la tele', descriptionEn: 'Leo is watching something on TV' },
{ days: [1,2,3,4,5,6,7], start: 0, end: 1, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionleo', actionEs: 'viendo pornografía', actionEn: 'watching pornography', descriptionEs: 'Leo está viendo porno con el móvil', descriptionEn: 'Leo is watching porn on his phone' }
],
defaultLocationEs: '2B', defaultLocationEn: '2B', defaultPassage: '2B'
},
'Rafa': {
name: 'Rafael Ruiz Zullar',
schedules: [
{ days: [1,2,3,4,5], start: 7, end: 7.5, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'baño2B', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Rafa se está duchando antes de desayunar', descriptionEn: 'Rafa is showering before breakfast' },
{ days: [1,2,3,4,5], start: 7.5, end: 8, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Rafa está tomando café y tostadas antes de ir a trabajar', descriptionEn: 'Rafa is having coffee and toast before going to work' },
{ days: [1,2,3,4,5], start: 8, end: 16, location: 'Comisaria', locationEs: 'Comisaría', locationEn: 'Police station', passage: 'Comisaria', actionEs: 'trabajando en la comisaría', actionEn: 'working at the police station', descriptionEs: 'Rafa está en su escritorio lidiando con papeleo', descriptionEn: 'Rafa is at his desk dealing with paperwork' },
{ days: [1,2,3,4,5], start: 16, end: 18, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'entrenando', actionEn: 'training', descriptionEs: 'Rafa está levantando pesas con concentración', descriptionEn: 'Rafa is lifting weights with concentration' },
{ days: [1,2,3,4,5], start: 18, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Rafa está relajándose después del trabajo viendo la tele', descriptionEn: 'Rafa is relaxing after work watching TV' },
{ days: [1,2,3,4,5], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Rafa está cenando con toda la familia', descriptionEn: 'Rafa is having dinner with the whole family' },
{ days: [1,2,3,4,5], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Rafa está profundamente dormido junto a su mujer', descriptionEn: 'Rafa is deeply asleep next to his wife' },
{ days: [1,2,3,4,5], start: 0, end: 7, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Rafa está profundamente dormido junto a su mujer', descriptionEn: 'Rafa is deeply asleep next to his wife' },
{ days: [6,7], start: 0, end: 7, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Rafa está durmiendo', descriptionEn: 'Rafa is sleeping' },
{ days: [6,7], start: 9, end: 9.5, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'desayunando tranquilamente', actionEn: 'having a leisurely breakfast', descriptionEs: 'Rafa disfruta de un desayuno sin prisas', descriptionEn: 'Rafa enjoys a breakfast without rush' },
{ days: [6,7], start: 9.5, end: 11, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'haciendo ejercicio al aire libre', actionEn: 'exercising outdoors', descriptionEs: 'Rafa está haciendo flexiones y dominadas en el parque', descriptionEn: 'Rafa is doing push-ups and pull-ups in the park' },
{ days: [6,7], start: 11, end: 12, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'baño2B', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Rafa se está duchando después del ejercicio', descriptionEn: 'Rafa is showering after exercise' },
{ days: [6,7], start: 12, end: 14, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'comiendo con Marta', actionEn: 'having lunch with Marta', descriptionEs: 'Rafa está comiendo con su mujer', descriptionEn: 'Rafa is having lunch with his wife' },
{ days: [6,7], start: 14, end: 16, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'paseando con Marta', actionEn: 'walking with Marta', descriptionEs: 'Rafa está dando un paseo por el centro con Marta', descriptionEn: 'Rafa is taking a walk downtown with Marta' },
{ days: [6,7], start: 16, end: 18, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'descansando con Marta', actionEn: 'resting with Marta', descriptionEs: 'Rafa está pasando tiempo de calidad con su mujer', descriptionEn: 'Rafa is spending quality time with his wife' },
{ days: [6,7], start: 18, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'descansando en casa', actionEn: 'resting at home', descriptionEs: 'Rafa está viendo la televisión relajado', descriptionEn: 'Rafa is watching TV relaxed' },
{ days: [6,7], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Rafa está cenando con la familia', descriptionEn: 'Rafa is having dinner with the family' },
{ days: [6], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'viendo una película', actionEn: 'watching a movie', descriptionEs: 'Rafa está viendo una película de acción', descriptionEn: 'Rafa is watching an action movie' },
{ days: [7], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'sexo con su mujer', actionEn: 'sex with his wife', descriptionEs: 'Rafa está teniendo sexo con su mujer', descriptionEn: 'Rafa is having sex with his wife' }
],
defaultLocationEs: '2B', defaultLocationEn: '2B', defaultPassage: '2B'
},
'Adrian': {
name: 'Adrian Ruiz Villar',
schedules: [
{ days: [1,2,3,4,5], start: 6, end: 6.5, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Adrián está desayunando', descriptionEn: 'Adrián is having breakfast' },
{ days: [1,2,3,4,5], start: 6.5, end: 7.5, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'corriendo por el parque', actionEn: 'jogging through the park', descriptionEs: 'Adrián está haciendo su rutina matinal de running', descriptionEn: 'Adrián is doing his morning running routine' },
{ days: [1,2,3,4,5], start: 7.5, end: 8, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'baño2B', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Adrián está duchándose', descriptionEn: 'Adrián is taking a shower' },
{ days: [1,2,3,4,5], start: 8, end: 15, location: 'Trabajo', locationEs: 'Trabajo', locationEn: 'Work', passage: 'Taller', actionEs: 'trabajando', actionEn: 'working ', descriptionEs: 'Adrián está en su trabajo, ocupado', descriptionEn: 'Adrian is at work, busy' },
{ days: [1,2,3,4,5], start: 15, end: 17.5, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'entrenando duro', actionEn: 'training hard', descriptionEs: 'Adrián está haciendo una intensa sesión de pesas', descriptionEn: 'Adrián is doing an intense weight training session' },
{ days: [1,2,3,4,5], start: 17.5, end: 18, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Adrián está duchándose en el gimnasio', descriptionEn: 'Adrián is taking a shower at the gym' },
{ days: [1,2,3,4,5], start: 18, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'relajándose en casa', actionEn: 'relaxing at home', descriptionEs: 'Adrián está descansando después de un largo día', descriptionEn: 'Adrián is resting after a long day' },
{ days: [1,2,3,4,5], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Adrián está cenando con toda la familia', descriptionEn: 'Adrián is having a hearty dinner with the family' },
{ days: [1,2,3,4,5], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionadrian', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adrián está profundamente dormido', descriptionEn: 'Adrián is deeply asleep' },
{ days: [1,2,3,4,5], start: 0, end: 6, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionadrian', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adrián está profundamente dormido', descriptionEn: 'Adrián is deeply asleep' },
{ days: [6,7], start: 0, end: 6.5, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionadrian', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adrián está durmiendo', descriptionEn: 'Adrián is sleeping' },
{ days: [6,7], start: 7, end: 8, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Adrián está preparándose un desayuno proteico', descriptionEn: 'Adrián is preparing a protein breakfast' },
{ days: [6,7], start: 8, end: 10, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'entrenando', actionEn: 'working out', descriptionEs: 'Adrián está haciendo su rutina de fin de semana en el gimnasio', descriptionEn: 'Adrián is doing his weekend routine at the gym' },
{ days: [6,7], start: 10, end: 10.5, location: 'Gimnasio', locationEs: 'Gimnasio', locationEn: 'Gym', passage: 'Gimnasio', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Adrián se ducha en el gimnasio', descriptionEn: 'Adrián showers at the gym' },
{ days: [6,7], start: 10.5, end: 14, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'con su novia', actionEn: 'with his girlfriend', descriptionEs: 'Adrián está paseando por el centro con su novia', descriptionEn: 'Adrián is walking downtown with his girlfriend' },
{ days: [6,7], start: 14, end: 16, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'comiendo con su novia', actionEn: 'having lunch with girlfriend', descriptionEs: 'Adrián está comiendo en un restaurante con su novia', descriptionEn: 'Adrián is eating at a restaurant with his girlfriend' },
{ days: [6,7], start: 16, end: 19, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'con su novia', actionEn: 'with his girlfriend', descriptionEs: 'Adrián está pasando la tarde con su novia', descriptionEn: 'Adrián is spending the afternoon with his girlfriend' },
{ days: [6,7], start: 19, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'descansando en casa', actionEn: 'resting at home', descriptionEs: 'Adrián está descansando en casa', descriptionEn: 'Adrián is resting at home' },
{ days: [6,7], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Adrián está cenando con la familia', descriptionEn: 'Adrián is having dinner with the family' },
{ days: [7], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionadrian', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Adrián se está masturbando', descriptionEn: 'Adrián is masturbating' },
{ days: [6], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionadrian', actionEs: 'viendo una película', actionEn: 'watching a movie', descriptionEs: 'Adrián está viendo una película antes de dormir', descriptionEn: 'Adrián is watching a movie before sleep' }
],
defaultLocationEs: '2B', defaultLocationEn: '2B', defaultPassage: '2B'
},
'Marta': {
name: 'Marta Villar Carrasco',
schedules: [
{ days: [1,2,3,4,5], start: 0, end: 7, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Marta está durmiendo profundamente junto a Rafael', descriptionEn: 'Marta is sleeping soundly next to Rafael' },
{ days: [1,2,3,4,5], start: 7, end: 8, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'preparándose para trabajar', actionEn: 'getting ready for work', descriptionEs: 'Marta se está preparando para ir al trabajo', descriptionEn: 'Marta is getting ready to go to work' },
{ days: [1,2,3,4,5], start: 8, end: 14, location: 'Oficina', locationEs: 'Oficina', locationEn: 'Office', passage: 'Oficina', actionEs: 'trabajando en la oficina', actionEn: 'working at the office', descriptionEs: 'Marta está en su oficina trabajando en sus proyectos', descriptionEn: 'Marta is at her office working on her projects' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Oficina', locationEs: 'Oficina', locationEn: 'Office', passage: 'Oficina', actionEs: 'comiendo en el trabajo', actionEn: 'eating at work', descriptionEs: 'Marta está comiendo en la oficina', descriptionEn: 'Marta is eating at the office' },
{ days: [1,2,3,4,5], start: 15, end: 18, location: 'Oficina', locationEs: 'Oficina', locationEn: 'Office', passage: 'Oficina', actionEs: 'trabajando', actionEn: 'working', descriptionEs: 'Marta continúa trabajando en la oficina', descriptionEn: 'Marta continues working at the office' },
{ days: [1,2,3,4,5], start: 18, end: 19, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Marta acaba de llegar a casa del trabajo', descriptionEn: 'Marta just arrived home from work' },
{ days: [1,2,3,4,5], start: 19, end: 21, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'descansando y viendo la tele', actionEn: 'resting and watching TV', descriptionEs: 'Marta está descansando después del trabajo', descriptionEn: 'Marta is resting after work' },
{ days: [1,2,3,4,5], start: 21, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'preparando la cena', actionEn: 'preparing dinner', descriptionEs: 'Marta está preparando la cena para la familia', descriptionEn: 'Marta is preparing dinner for the family' },
{ days: [1,2,3,4,5], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Marta está cenando con toda la familia', descriptionEn: 'Marta is having dinner with the whole family' },
{ days: [1,2,3,4,5], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'preparándose para dormir', actionEn: 'getting ready for bed', descriptionEs: 'Marta se está preparando para acostarse', descriptionEn: 'Marta is getting ready to go to bed' },
{ days: [6,7], start: 0, end: 9, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Marta está durmiendo tranquilamente', descriptionEn: 'Marta is sleeping peacefully' },
{ days: [6,7], start: 9, end: 9.5, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'desayunando con Rafael', actionEn: 'having breakfast with Rafael', descriptionEs: 'Marta está desayunando junto a Rafael', descriptionEn: 'Marta is having breakfast with Rafael' },
{ days: [6,7], start: 9.5, end: 12, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'limpiando la casa', actionEn: 'cleaning the house', descriptionEs: 'Marta está haciendo tareas del hogar', descriptionEn: 'Marta is doing household chores' },
{ days: [6,7], start: 12, end: 14, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'preparando comida', actionEn: 'preparing lunch', descriptionEs: 'Marta está preparando la comida', descriptionEn: 'Marta is preparing lunch' },
{ days: [6,7], start: 14, end: 16, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'paseando con Rafael', actionEn: 'walking with Rafael', descriptionEs: 'Marta está paseando con su marido', descriptionEn: 'Marta is walking with her husband' },
{ days: [6,7], start: 16, end: 18, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'tiempo con Rafael', actionEn: 'time with Rafael', descriptionEs: 'Marta está pasando tiempo con Rafael en casa', descriptionEn: 'Marta is spending time with Rafael at home' },
{ days: [6,7], start: 18, end: 20, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'descansando en casa', actionEn: 'resting at home', descriptionEs: 'Marta está descansando en el sofá', descriptionEn: 'Marta is resting on the couch' },
{ days: [6,7], start: 20, end: 22, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'cocina2B', actionEs: 'preparando la cena', actionEn: 'preparing dinner', descriptionEs: 'Marta está preparando la cena', descriptionEn: 'Marta is preparing dinner' },
{ days: [6,7], start: 22, end: 23, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'comedor2B', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Marta está cenando con la familia', descriptionEn: 'Marta is having dinner with the family' },
{ days: [6,7], start: 23, end: 24, location: '2B', locationEs: '2B', locationEn: '2B', passage: 'habitacionrafael', actionEs: 'relajándose', actionEn: 'relaxing', descriptionEs: 'Marta está relajándose antes de dormir', descriptionEn: 'Marta is relaxing before sleep' }
],
defaultLocationEs: '2B', defaultLocationEn: '2B', defaultPassage: '2B'
},
'Alex': {
name: 'Alex Rodríguez Cabrera',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 1, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'de botellón', actionEn: 'drinking with friends', descriptionEs: 'Alex está de botellón con sus amigos', descriptionEn: 'Alex is out drinking with his friends' },
{ days: [1,2,3,4,5,6,7], start: 1, end: 2, location: 'habitacionalex', locationEs: '1A', locationEn: '1A', passage: 'habitacionalex', actionEs: 'masturbándose', actionEn: 'wanking', descriptionEs: 'Alex está viendo porno y masturbándose', descriptionEn: 'Alex is watching porn and masturbating' },
{ days: [1,2,3,4,5,6,7], start: 2, end: 10, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitacionalex', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Alex está durmiendo profundamente después de su paseo nocturno', descriptionEn: 'Alex is sleeping soundly after his night walk' },
{ days: [1,2,3,4,5,6,7], start: 10, end: 11.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitacionalex', actionEs: 'despertándose lentamente', actionEn: 'waking up slowly', descriptionEs: 'Alex se está despertando poco a poco', descriptionEn: 'Alex is waking up slowly' },
{ days: [1,2,3,4,5,6,7], start: 11.5, end: 12, location: 'baño1A', locationEs: 'Baño 1A', locationEn: 'Bathroom 1A', passage: 'baño1A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Alex está duchándose', descriptionEn: 'Alex is showering' },
{ days: [1,2,3,4,5,6,7], start: 12, end: 13, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'cocina1A', actionEs: 'desayunando tarde', actionEn: 'having late breakfast', descriptionEs: 'Alex está desayunando a media tarde', descriptionEn: 'Alex is having late breakfast' },
{ days: [1,2,3,4,5,6,7], start: 13, end: 15, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitacionalex', actionEs: 'fumando', actionEn: 'smoking', descriptionEs: 'Alex está en su habitación fumando porros', descriptionEn: 'Alex is in his room smoking weed' },
{ days: [1,2,3,4,5,6,7], start: 15, end: 18, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitacionalex', actionEs: 'fumando y escuchando música', actionEn: 'smoking and listening to music', descriptionEs: 'Alex está en su habitación fumando y escuchando música', descriptionEn: 'Alex is in his room smoking and listening to music' },
{ days: [1,2,3,4,5,6,7], start: 18, end: 21.5, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'con sus amigos fumando', actionEn: 'with friends smoking', descriptionEs: 'Alex está con sus amigos en el parque fumando porros y bebiendo', descriptionEn: 'Alex is with his friends at the park smoking weed and drinking' },
{ days: [1,2,3,4,5,6,7], start: 21.5, end: 24, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'de botellón', actionEn: 'drinking with friends', descriptionEs: 'Alex está de botellón con sus amigos', descriptionEn: 'Alex is out drinking with his friends' }
],
defaultLocationEs: '1A', defaultLocationEn: '1A', defaultPassage: '1A'
},
'Sean': {
name: 'Sean Murphy',
schedules: [
// LUNES A VIERNES - Rutina universitaria
{ days: [1,2,3,4,5], start: 0, end: 7.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Sean está durmiendo profundamente', descriptionEn: 'Sean is sleeping deeply' },
{ days: [1,2,3,4,5], start: 7.5, end: 8, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Sean se ducha de mala gana, maldiciendo por tener que madrugar', descriptionEn: 'Sean showers reluctantly, cursing about having to wake up early' },
{ days: [1,2,3,4,5], start: 8.5, end: 13.5, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Sean está en clase, luchando por mantenerse despierto y revisando su móvil constantemente', descriptionEn: 'Sean is in class, struggling to stay awake and constantly checking his phone' },
{ days: [1,2,3,4,5], start: 13.5, end: 14.5, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo en la universidad', actionEn: 'eating at university', descriptionEs: 'Sean está comiendo en la cafetería de la universidad con sus amigos', descriptionEn: 'Sean is eating at the university cafeteria with his friends' },
{ days: [1,2,3,4,5], start: 14.5, end: 18, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'en el centro bebiendo', actionEn: 'downtown drinking', descriptionEs: 'Sean está dando vueltas por el centro, tomando algo en algún bar', descriptionEn: 'Sean is hanging around downtown, having drinks at some bar' },
{ days: [2,4], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Sean está en su habitación disfrutando de un momento privado', descriptionEn: 'Sean is in his room enjoying some private time' },
{ days: [1,3,5], start: 18, end: 19, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'ligando en bares', actionEn: 'flirting at bars', descriptionEs: 'Sean está ligando con chicas en los bares del centro', descriptionEn: 'Sean is flirting with girls at downtown bars' },
{ days: [1,2,3,4,5], start: 19.5, end: 20.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Sean está cenando mientras ve algo en su portátil y charla con sus compañeros', descriptionEn: 'Sean is having dinner while watching something on his laptop and chatting with his roommates' },
{ days: [1,3], start: 20.5, end: 3, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'de fiesta por el centro', actionEn: 'partying downtown', descriptionEs: 'Sean está de juerga por los bares del centro, ligando con chicas', descriptionEn: 'Sean is partying at downtown bars, flirting with girls' },
{ days: [2,4], start: 20.5, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'en casa relajado', actionEn: 'relaxing at home', descriptionEs: 'Sean está en casa viendo series o jugando videojuegos', descriptionEn: 'Sean is at home watching series or playing videogames' },
// VIERNES - Fiesta en casa
{ days: [5], start: 0, end: 7.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Sean está durmiendo', descriptionEn: 'Sean is sleeping' },
{ days: [5], start: 7.5, end: 8, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Sean se ducha rápidamente', descriptionEn: 'Sean showers quickly' },
{ days: [5], start: 8.5, end: 13.5, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Sean está en clase, pero su mente ya está en la fiesta de esta noche', descriptionEn: 'Sean is in class, but his mind is already on tonight\'s party' },
{ days: [5], start: 13.5, end: 14.5, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Sean está comiendo en la universidad', descriptionEn: 'Sean is eating at university' },
{ days: [5], start: 14.5, end: 18, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'comprando alcohol', actionEn: 'buying alcohol', descriptionEs: 'Sean está comprando bebidas y preparativos para la fiesta', descriptionEn: 'Sean is buying drinks and preparations for the party' },
{ days: [5], start: 18, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'preparándose para la fiesta', actionEn: 'getting ready for the party', descriptionEs: 'Sean se está arreglando, eligiendo su mejor outfit para la noche', descriptionEn: 'Sean is getting ready, choosing his best outfit for the night' },
{ days: [5], start: 20, end: 20.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando antes de la fiesta', actionEn: 'having dinner before party', descriptionEs: 'Sean cena algo rápido antes de que empiece la fiesta', descriptionEn: 'Sean has a quick dinner before the party starts' },
{ days: [5], start: 20.5, end: 4, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'fiesta en casa', actionEn: 'house party', descriptionEs: 'Sean está de juerga en casa con sus compañeros y muchos invitados, siendo el alma de la fiesta', descriptionEn: 'Sean is partying at home with his roommates and many guests, being the life of the party' },
// SÁBADO - Resaca y más fiesta
{ days: [6], start: 4, end: 13, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'durmiendo la resaca', actionEn: 'sleeping off hangover', descriptionEs: 'Sean está durmiendo profundamente, recuperándose de la noche loca', descriptionEn: 'Sean is sleeping deeply, recovering from the crazy night' },
{ days: [6], start: 13, end: 14, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando tarde', actionEn: 'having late breakfast', descriptionEs: 'Sean está desayunando (o almorzando) con resaca', descriptionEn: 'Sean is having breakfast (or lunch) with a hangover' },
{ days: [6], start: 14, end: 15, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Sean se ducha para despejarse de la resaca', descriptionEn: 'Sean showers to clear his hangover' },
{ days: [6], start: 15, end: 18, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'recuperándose', actionEn: 'recovering', descriptionEs: 'Sean está en su habitación recuperándose, viendo el móvil y mandando mensajes', descriptionEn: 'Sean is in his room recovering, checking his phone and texting' },
{ days: [6], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Sean está disfrutando de un momento íntimo en su habitación', descriptionEn: 'Sean is enjoying an intimate moment in his room' },
{ days: [6], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Sean está cenando algo ligero', descriptionEn: 'Sean is having a light dinner' },
{ days: [6], start: 20, end: 22, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'preparándose para salir', actionEn: 'getting ready to go out', descriptionEs: 'Sean se está preparando para otra noche de fiesta', descriptionEn: 'Sean is getting ready for another night out' },
{ days: [6], start: 22, end: 5, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'de fiesta en el centro', actionEn: 'partying downtown', descriptionEs: 'Sean está de juerga por las discotecas del centro, ligando activamente con diferentes chicas', descriptionEn: 'Sean is partying at downtown clubs, actively flirting with different girls' },
// DOMINGO - Recuperación con compañía
{ days: [0], start: 5, end: 8, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'teniendo sexo', actionEn: 'having sex', descriptionEs: 'Sean está en su habitación con la chica que se trajo de la discoteca', descriptionEn: 'Sean is in his room with the girl he brought from the club' },
{ days: [0], start: 8, end: 12, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'durmiendo con compañía', actionEn: 'sleeping with company', descriptionEs: 'Sean está durmiendo con su conquista de anoche', descriptionEn: 'Sean is sleeping with his conquest from last night' },
{ days: [0], start: 12, end: 13, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'despidiendo visita', actionEn: 'saying goodbye to visitor', descriptionEs: 'Sean se está despidiendo de su compañía de anoche', descriptionEn: 'Sean is saying goodbye to his company from last night' },
{ days: [0], start: 13, end: 14, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Sean se ducha después de la noche movida', descriptionEn: 'Sean showers after the wild night' },
{ days: [0], start: 14, end: 15, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Sean está comiendo tranquilamente', descriptionEn: 'Sean is eating calmly' },
{ days: [0], start: 15, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Sean está descansando en su habitación, viendo series', descriptionEn: 'Sean is resting in his room, watching series' },
{ days: [0], start: 20, end: 21, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Sean está cenando', descriptionEn: 'Sean is having dinner' },
{ days: [0], start: 21, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionsean', actionEs: 'relajándose', actionEn: 'relaxing', descriptionEs: 'Sean está relajándose antes de dormir', descriptionEn: 'Sean is relaxing before sleep' }
],
defaultLocationEs: '3A', defaultLocationEn: '3A', defaultPassage: '3A'
},
'Adler': {
name: 'Adler Weber',
schedules: [
// LUNES A VIERNES - Rutina universitaria
{ days: [1,2,3,4,5], start: 0, end: 8, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adler está durmiendo tranquilamente', descriptionEn: 'Adler is sleeping peacefully' },
{ days: [1,2,3,4,5], start: 8, end: 8.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Adler se está duchando metódicamente, como parte de su rutina matutina', descriptionEn: 'Adler is showering methodically, as part of his morning routine' },
{ days: [1,2,3,4,5], start: 8.5, end: 9, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Adler está desayunando mientras revisa sus apuntes', descriptionEn: 'Adler is having breakfast while reviewing his notes' },
{ days: [1,2,3,4,5], start: 9, end: 14, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Adler está atendiendo a sus clases, tomando apuntes meticulosos en su laptop', descriptionEn: 'Adler is attending his classes, taking meticulous notes on his laptop' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo en la universidad', actionEn: 'eating at university', descriptionEs: 'Adler está comiendo en la cafetería mientras estudia', descriptionEn: 'Adler is eating at the cafeteria while studying' },
{ days: [1,3], start: 15, end: 17, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'estudiando en el kebab', actionEn: 'studying at kebab', descriptionEs: 'Adler está en el kebab de abajo picando algo y bebiendo cerveza', descriptionEn: 'Adler is downstairs at the kebab shop, having a snack and drinking beer.' },
{ days: [2,4], start: 15, end: 17, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en la biblioteca', actionEn: 'at the library', descriptionEs: 'Adler está estudiando en la biblioteca de la universidad', descriptionEn: 'Adler is studying at the university library' },
{ days: [1,2,3,4,5], start: 17, end: 18, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Adler está descansando un poco en su habitación', descriptionEn: 'Adler is resting a bit in his room' },
{ days: [2,4], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Adler está disfrutando de un momento privado', descriptionEn: 'Adler is enjoying a private moment' },
{ days: [1,3,5], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Adler está repasando sus apuntes', descriptionEn: 'Adler is reviewing his notes' },
{ days: [1,2,3,4,5], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Adler está cenando con sus compañeros', descriptionEn: 'Adler is having dinner with his roommates' },
{ days: [1,2,3,4], start: 20, end: 23, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Adler está estudiando en su habitación con música clásica de fondo', descriptionEn: 'Adler is studying in his room with classical music in the background' },
{ days: [1,2,3,4], start: 23, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'preparándose para dormir', actionEn: 'getting ready for bed', descriptionEs: 'Adler se está preparando para dormir', descriptionEn: 'Adler is getting ready for bed' },
// VIERNES - Fiesta en casa
{ days: [5], start: 0, end: 8, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adler está durmiendo', descriptionEn: 'Adler is sleeping' },
{ days: [5], start: 8, end: 8.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Adler se ducha', descriptionEn: 'Adler showers' },
{ days: [5], start: 8.5, end: 9, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Adler desayuna rápidamente', descriptionEn: 'Adler has a quick breakfast' },
{ days: [5], start: 9, end: 14, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Adler está en sus últimas clases de la semana', descriptionEn: 'Adler is in his last classes of the week' },
{ days: [5], start: 14, end: 15, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Adler come en la universidad', descriptionEn: 'Adler eats at university' },
{ days: [5], start: 15, end: 18, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'ayudando con preparativos', actionEn: 'helping with preparations', descriptionEs: 'Adler está ayudando a Sean a comprar cosas para la fiesta', descriptionEn: 'Adler is helping Sean buy stuff for the party' },
{ days: [5], start: 18, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'arreglándose', actionEn: 'getting ready', descriptionEs: 'Adler se está arreglando para la fiesta', descriptionEn: 'Adler is getting ready for the party' },
{ days: [5], start: 20, end: 20.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Adler cena con sus compañeros antes de la fiesta', descriptionEn: 'Adler has dinner with his roommates before the party' },
{ days: [5], start: 20.5, end: 4, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'fiesta en casa', actionEn: 'house party', descriptionEs: 'Adler está disfrutando de la fiesta con sus compañeros y amigos', descriptionEn: 'Adler is enjoying the party with his roommates and friends' },
// SÁBADO - Recuperación y salida con Sean
{ days: [6], start: 4, end: 11, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adler está durmiendo profundamente después de la fiesta', descriptionEn: 'Adler is sleeping deeply after the party' },
{ days: [6], start: 11, end: 12, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando tarde', actionEn: 'late breakfast', descriptionEs: 'Adler está desayunando tarde con resaca leve', descriptionEn: 'Adler is having late breakfast with mild hangover' },
{ days: [6], start: 12, end: 12.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Adler se ducha para despejarse', descriptionEn: 'Adler showers to clear his head' },
{ days: [6], start: 12.5, end: 15, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Adler está descansando en su habitación', descriptionEn: 'Adler is resting in his room' },
{ days: [6], start: 15, end: 16, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'comiendo en el kebab', actionEn: 'eating at kebab', descriptionEs: 'Adler está comiendo en el kebab de abajo', descriptionEn: 'Adler is eating at the kebab downstairs' },
{ days: [6], start: 16, end: 18, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'estudiando un poco', actionEn: 'studying a bit', descriptionEs: 'Adler está repasando algunos apuntes', descriptionEn: 'Adler is reviewing some notes' },
{ days: [6], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Adler está disfrutando de un momento íntimo', descriptionEn: 'Adler is enjoying an intimate moment' },
{ days: [6], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Adler está cenando', descriptionEn: 'Adler is having dinner' },
{ days: [6], start: 20, end: 22, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'arreglándose para salir', actionEn: 'getting ready to go out', descriptionEs: 'Adler se prepara para salir con Sean', descriptionEn: 'Adler gets ready to go out with Sean' },
{ days: [6], start: 22, end: 3, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'de fiesta con Sean', actionEn: 'partying with Sean', descriptionEs: 'Adler está de fiesta en el centro con Sean, siendo su wingman', descriptionEn: 'Adler is partying downtown with Sean, being his wingman' },
// DOMINGO - Descanso y estudio
{ days: [0], start: 3, end: 11, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Adler está durmiendo después de salir', descriptionEn: 'Adler is sleeping after going out' },
{ days: [0], start: 11, end: 12, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Adler se ducha tranquilamente', descriptionEn: 'Adler showers calmly' },
{ days: [0], start: 12, end: 13, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Adler está comiendo', descriptionEn: 'Adler is eating' },
{ days: [0], start: 13, end: 17, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Adler está estudiando para preparar la semana', descriptionEn: 'Adler is studying to prepare for the week' },
{ days: [0], start: 17, end: 18, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'merendando en el kebab', actionEn: 'snacking at kebab', descriptionEs: 'Adler está tomando algo en el kebab', descriptionEn: 'Adler is having something at the kebab' },
{ days: [0], start: 18, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Adler está descansando', descriptionEn: 'Adler is resting' },
{ days: [0], start: 20, end: 21, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Adler está cenando', descriptionEn: 'Adler is having dinner' },
{ days: [0], start: 21, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionadler', actionEs: 'preparándose para la semana', actionEn: 'preparing for the week', descriptionEs: 'Adler está organizando sus cosas para el lunes', descriptionEn: 'Adler is organizing his stuff for Monday' }
],
defaultLocationEs: '3A', defaultLocationEn: '3A', defaultPassage: '3A'
},
'Francesco': {
name: 'Francesco Rossi',
schedules: [
// LUNES A VIERNES - Rutina universitaria
{ days: [1,2,3,4,5], start: 0, end: 8.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Francesco está durmiendo', descriptionEn: 'Francesco is sleeping' },
{ days: [1,2,3,4,5], start: 8.5, end: 9, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Francesco se está duchando mientras tararea', descriptionEn: 'Francesco is showering while humming' },
{ days: [1,2,3,4,5], start: 9, end: 9.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Francesco está desayunando con calma', descriptionEn: 'Francesco is having breakfast calmly' },
{ days: [1,2,3,4,5], start: 10, end: 14, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Francesco está en clase, siempre sentado en primera fila participando activamente', descriptionEn: 'Francesco is in class, always sitting in the front row actively participating' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo en la universidad', actionEn: 'eating at university', descriptionEs: 'Francesco está comiendo en la cafetería', descriptionEn: 'Francesco is eating at the cafeteria' },
{ days: [1,2,3,4,5], start: 15, end: 18, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'estudiando en biblioteca', actionEn: 'studying at library', descriptionEs: 'Francesco está en la biblioteca estudiando intensamente', descriptionEn: 'Francesco is at the library studying intensely' },
{ days: [1,2,3,4,5], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Francesco está descansando un poco en su habitación', descriptionEn: 'Francesco is resting a bit in his room' },
{ days: [3], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Francesco está disfrutando de un momento privado', descriptionEn: 'Francesco is enjoying a private moment' },
{ days: [1,2,4], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Francesco está repasando sus apuntes', descriptionEn: 'Francesco is reviewing his notes' },
{ days: [1,2,3,4,5], start: 19.5, end: 20.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Francesco está cenando con sus compañeros', descriptionEn: 'Francesco is having dinner with his roommates' },
{ days: [2,4], start: 21, end: 22.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'videollamada con su prometida', actionEn: 'video call with fiancée', descriptionEs: 'Francesco está en videollamada con su prometida, charlando animadamente', descriptionEn: 'Francesco is on video call with his fiancée, chatting animatedly' },
{ days: [1,3], start: 21, end: 22.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Francesco está estudiando intensamente', descriptionEn: 'Francesco is studying intensely' },
{ days: [1,2,3,4], start: 22.5, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Francesco está repasando sus apuntes', descriptionEn: 'Francesco is reviewing his notes' },
// VIERNES - Fiesta en casa
{ days: [5], start: 0, end: 8.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Francesco está durmiendo', descriptionEn: 'Francesco is sleeping' },
{ days: [5], start: 8.5, end: 9, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Francesco se ducha', descriptionEn: 'Francesco showers' },
{ days: [5], start: 9, end: 9.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Francesco desayuna', descriptionEn: 'Francesco has breakfast' },
{ days: [5], start: 10, end: 14, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'en clases', actionEn: 'in classes', descriptionEs: 'Francesco está en sus últimas clases de la semana', descriptionEn: 'Francesco is in his last classes of the week' },
{ days: [5], start: 14, end: 15, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Francesco come en la universidad', descriptionEn: 'Francesco eats at university' },
{ days: [5], start: 15, end: 18, location: 'Universidad', locationEs: 'Universidad', locationEn: 'University', passage: 'Universidad', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Francesco aprovecha para estudiar antes del fin de semana', descriptionEn: 'Francesco takes advantage to study before the weekend' },
{ days: [5], start: 18, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'preparándose para la fiesta', actionEn: 'getting ready for party', descriptionEs: 'Francesco se está arreglando para la fiesta', descriptionEn: 'Francesco is getting ready for the party' },
{ days: [5], start: 20, end: 20.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Francesco cena antes de la fiesta', descriptionEn: 'Francesco has dinner before the party' },
{ days: [5], start: 20.5, end: 4, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'fiesta en casa', actionEn: 'house party', descriptionEs: 'Francesco está celebrando con sus compañeros en la fiesta', descriptionEn: 'Francesco is celebrating with his roommates at the party' },
// SÁBADO - Descanso y videollamada
{ days: [6], start: 4, end: 10.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Francesco está durmiendo tras la fiesta', descriptionEn: 'Francesco is sleeping after the party' },
{ days: [6], start: 10.5, end: 11.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Francesco está desayunando tarde', descriptionEn: 'Francesco is having late breakfast' },
{ days: [6], start: 11.5, end: 12, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Francesco se ducha para despejarse', descriptionEn: 'Francesco showers to clear up' },
{ days: [6], start: 12, end: 14, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Francesco está descansando en su habitación', descriptionEn: 'Francesco is resting in his room' },
{ days: [6], start: 14, end: 15, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Francesco está comiendo', descriptionEn: 'Francesco is eating' },
{ days: [6], start: 15, end: 16, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'masturbándose', actionEn: 'masturbating', descriptionEs: 'Francesco está disfrutando de un momento íntimo', descriptionEn: 'Francesco is enjoying an intimate moment' },
{ days: [6], start: 16, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Francesco está aprovechando para estudiar', descriptionEn: 'Francesco is taking advantage to study' },
{ days: [6], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Francesco está cenando', descriptionEn: 'Francesco is having dinner' },
{ days: [6], start: 20, end: 23, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'videollamada larga con prometida', actionEn: 'long video call with fiancée', descriptionEs: 'Francesco está en una larga videollamada con su prometida, contándole sobre su semana', descriptionEn: 'Francesco is on a long video call with his fiancée, telling her about his week' },
{ days: [6], start: 23, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'relajándose', actionEn: 'relaxing', descriptionEs: 'Francesco está relajándose antes de dormir', descriptionEn: 'Francesco is relaxing before sleep' },
// DOMINGO - Descanso y preparación
{ days: [0], start: 0, end: 10, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Francesco está durmiendo plácidamente', descriptionEn: 'Francesco is sleeping peacefully' },
{ days: [0], start: 10, end: 10.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'baño3A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Francesco se ducha tranquilamente', descriptionEn: 'Francesco showers calmly' },
{ days: [0], start: 10.5, end: 11.5, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Francesco está desayunando', descriptionEn: 'Francesco is having breakfast' },
{ days: [0], start: 11.5, end: 14, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'estudiando', actionEn: 'studying', descriptionEs: 'Francesco está estudiando', descriptionEn: 'Francesco is studying' },
{ days: [0], start: 14, end: 15, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Francesco está comiendo', descriptionEn: 'Francesco is eating' },
{ days: [0], start: 15, end: 18, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'preparando la semana', actionEn: 'preparing for the week', descriptionEs: 'Francesco está preparando sus cosas para la semana', descriptionEn: 'Francesco is preparing his stuff for the week' },
{ days: [0], start: 18, end: 19, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'videollamada con prometida', actionEn: 'video call with fiancée', descriptionEs: 'Francesco está en videollamada con su prometida antes de empezar la semana', descriptionEn: 'Francesco is on video call with his fiancée before starting the week' },
{ days: [0], start: 19, end: 20, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'comedor3A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Francesco está cenando', descriptionEn: 'Francesco is having dinner' },
{ days: [0], start: 20, end: 23, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'repasando apuntes', actionEn: 'reviewing notes', descriptionEs: 'Francesco está repasando sus apuntes para el lunes', descriptionEn: 'Francesco is reviewing his notes for Monday' },
{ days: [0], start: 23, end: 0, location: '3A', locationEs: '3A', locationEn: '3A', passage: 'habitacionfrancesco', actionEs: 'preparándose para dormir', actionEn: 'getting ready for bed', descriptionEs: 'Francesco se está preparando para dormir', descriptionEn: 'Francesco is getting ready for bed' }
],
defaultLocationEs: '3A', defaultLocationEn: '3A', defaultPassage: '3A'
},
'Juanan': {
name: 'Juanan Altavert Lomas',
schedules: [
{ days: [1,2,3,4,5], start: 0, end: 7, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitacionjuanan', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Juanan está durmiendo, necesita descansar para trabajar', descriptionEn: 'Juanan is sleeping, needs rest for work' },
{ days: [1,2,3,4,5], start: 7, end: 7.5, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Juanan está tomando un desayuno rápido antes de salir', descriptionEn: 'Juanan is having a quick breakfast before leaving' },
{ days: [1,2,3,4,5], start: 7.5, end: 16, location: 'Trabajo', locationEs: 'Trabajo', locationEn: 'Work', passage: 'Trabajo', actionEs: 'trabajando', actionEn: 'working', descriptionEs: 'Juanan está en su trabajo cumpliendo con sus obligaciones', descriptionEn: 'Juanan is at his work fulfilling his obligations' },
{ days: [1,2,3,4,5], start: 16, end: 17, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Juanan acaba de llegar a casa del trabajo', descriptionEn: 'Juanan just arrived home from work' },
{ days: [1,2,3,4,5], start: 17, end: 17.5, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'baño1B', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Juanan se está duchando después del trabajo', descriptionEn: 'Juanan is taking a shower after work' },
{ days: [1,2,3,4,5], start: 17.5, end: 21, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'Tomando una cerveza', actionEn: 'having a beer', descriptionEs: 'Juanan está tomando una cerveza en el kebab', descriptionEn: 'Juanan is having a beer at the kebab' },
{ days: [1,2,3,4,5], start: 21, end: 22, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Juanan está cenando junto a Tao', descriptionEn: 'Juanan is having dinner with Tao' },
{ days: [1,2,3,4,5], start: 22, end: 23, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'viendo la tele con Tao', actionEn: 'watching TV with Tao', descriptionEs: 'Juanan está viendo la televisión con su hijo', descriptionEn: 'Juanan is watching TV with his son' },
{ days: [1,2,3,4,5], start: 23, end: 24, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'viendo la tele con Tao', actionEn: 'watching TV with Tao', descriptionEs: 'Juanan está viendo la televisión solo', descriptionEn: 'Juanan is watching TV with his son' },
{ days: [6,7], start: 0, end: 9, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitacionjuanan', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Juanan está durmiendo', descriptionEn: 'Juanan is sleeping' },
{ days: [6,7], start: 9, end: 10, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Juanan está desayunando tranquilamente', descriptionEn: 'Juanan is having breakfast calmly' },
{ days: [6,7], start: 10, end: 12, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'limpiando la casa', actionEn: 'cleaning the house', descriptionEs: 'Juanan está limpiando la casa', descriptionEn: 'Juanan is cleaning the house' },
{ days: [6,7], start: 12, end: 14, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'preparando comida', actionEn: 'preparing lunch', descriptionEs: 'Juanan está preparando la comida para él y Tao', descriptionEn: 'Juanan is preparing lunch for him and Tao' },
{ days: [6,7], start: 14, end: 15, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'comiendo con Tao', actionEn: 'eating with Tao', descriptionEs: 'Juanan está comiendo con su hijo', descriptionEn: 'Juanan is eating with his son' },
{ days: [6,7], start: 15, end: 18, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'en el parque con Tao', actionEn: 'at the park with Tao', descriptionEs: 'Juanan está en el parque con su hijo', descriptionEn: 'Juanan is at the park with his son' },
{ days: [6,7], start: 18, end: 21, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'tomando cervezas', actionEn: 'having beers', descriptionEs: 'Juanan está tomando unas cervezas en el kebab', descriptionEn: 'Juanan is having some beers at the kebab' },
{ days: [6,7], start: 21, end: 22, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'cenando con Tao', actionEn: 'having dinner with Tao', descriptionEs: 'Juanan está cenando con su hijo', descriptionEn: 'Juanan is having dinner with his son' },
{ days: [6,7], start: 22, end: 24, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Juanan está viendo la televisión', descriptionEn: 'Juanan is watching TV' }
],
defaultLocationEs: '1B', defaultLocationEn: '1B', defaultPassage: '1B'
},
'Tao': {
name: 'Tao Altavert Corral',
schedules: [
{ days: [1,2,3,4,5], start: 0, end: 7, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitaciontao', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Tao está profundamente dormido', descriptionEn: 'Tao is deeply asleep' },
{ days: [1,2,3,4,5], start: 7, end: 7.5, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Tao está desayunando rápidamente', descriptionEn: 'Tao is having a quick breakfast' },
{ days: [1,2,3,4,5], start: 7.5, end: 8, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'baño1B', actionEs: 'preparándose', actionEn: 'getting ready', descriptionEs: 'Tao se está preparando para ir al instituto', descriptionEn: 'Tao is getting ready to go to high school' },
{ days: [1,2,3,4,5], start: 8, end: 14, location: 'Instituto', locationEs: 'Instituto', locationEn: 'High School', passage: 'Instituto', actionEs: 'en clases del instituto', actionEn: 'in high school classes', descriptionEs: 'Tao está en el instituto, algo aburrido en clase', descriptionEn: 'Tao is in high school, somewhat bored in class' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Instituto', locationEs: 'Instituto', locationEn: 'High School', passage: 'Instituto', actionEs: 'comiendo en el instituto', actionEn: 'eating at high school', descriptionEs: 'Tao está comiendo con sus compañeros', descriptionEn: 'Tao is eating with his classmates' },
{ days: [1,2,3,4,5], start: 15, end: 16, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Tao acaba de llegar del instituto', descriptionEn: 'Tao just arrived from high school' },
{ days: [1,2,3,4,5], start: 16, end: 17, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'merendando', actionEn: 'having a snack', descriptionEs: 'Tao está merendando algo', descriptionEn: 'Tao is having a snack' },
{ days: [1,2,3,4,5], start: 17, end: 19, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'jugando con amigos', actionEn: 'playing with friends', descriptionEs: 'Tao está con sus amigos en el parque', descriptionEn: 'Tao is with his friends in the park' },
{ days: [1,2,3,4,5], start: 19, end: 21, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitaciontao', actionEs: 'jugando videojuegos', actionEn: 'playing video games', descriptionEs: 'Tao está jugando videojuegos online con sus amigos', descriptionEn: 'Tao is playing video games online with his friends' },
{ days: [1,2,3,4,5], start: 21, end: 22, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'cenando con su padre', actionEn: 'having dinner with his father', descriptionEs: 'Tao está cenando junto a Juanan, hablando del día', descriptionEn: 'Tao is having dinner with Juanan, talking about the day' },
{ days: [1,2,3,4,5], start: 22, end: 23, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'viendo la tele con su padre', actionEn: 'watching TV with his father', descriptionEs: 'Tao está viendo la televisión con Juanan', descriptionEn: 'Tao is watching TV with Juanan' },
{ days: [1,2,3,4,5], start: 23, end: 24, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitaciontao', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Tao está durmiendo hasta tarde', descriptionEn: 'Tao is sleeping in' },
{ days: [6,7], start: 0, end: 10, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitaciontao', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Tao está durmiendo hasta tarde', descriptionEn: 'Tao is sleeping in' },
{ days: [6,7], start: 10, end: 11, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Tao está desayunando', descriptionEn: 'Tao is having breakfast' },
{ days: [6,7], start: 11, end: 14, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitaciontao', actionEs: 'jugando videojuegos', actionEn: 'playing video games', descriptionEs: 'Tao está jugando videojuegos', descriptionEn: 'Tao is playing video games' },
{ days: [6,7], start: 14, end: 15, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Tao está comiendo con su padre', descriptionEn: 'Tao is eating with his father' },
{ days: [6,7], start: 15, end: 18, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'con amigos', actionEn: 'with friends', descriptionEs: 'Tao está con sus amigos en el parque', descriptionEn: 'Tao is with his friends at the park' },
{ days: [6,7], start: 18, end: 21, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'habitaciontao', actionEs: 'jugando videojuegos online', actionEn: 'playing video games online', descriptionEs: 'Tao está jugando online con sus amigos', descriptionEn: 'Tao is playing online with his friends' },
{ days: [6,7], start: 21, end: 22, location: '1B', locationEs: '1B', locationEn: '1B', passage: 'comedor1B', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Tao está cenando con su padre', descriptionEn: 'Tao is having dinner with his father' },
{ days: [6,7], start: 22, end: 24, location: '1B', locationEs: '1B', locationEn: '1B', passage: '1B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Tao está viendo la televisión', descriptionEn: 'Tao is watching TV' }
],
defaultLocationEs: '1B', defaultLocationEn: '1B', defaultPassage: '1B'
},
'Tomas': {
name: 'Tomás',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 8, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitaciontomas', actionEs: 'durmiendo junto a Maite', actionEn: 'sleeping next to Maite', descriptionEs: 'Tomás está durmiendo profundamente junto a su esposa', descriptionEn: 'Tomás is sleeping deeply next to his wife' },
{ days: [1,2,3,4,5,6,7], start: 8, end: 9, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'baño3B', actionEs: 'aseándose', actionEn: 'washing up', descriptionEs: 'Tomás se está aseando tranquilamente', descriptionEn: 'Tomás is washing up calmly' },
{ days: [1,2,3,4,5,6,7], start: 9, end: 10, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'desayunando con Maite', actionEn: 'having breakfast with Maite', descriptionEs: 'Tomás está desayunando tranquilamente junto a Maite', descriptionEn: 'Tomás is having breakfast calmly with Maite' },
{ days: [1,2,3,4,5,6,7], start: 10, end: 13, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'cuidando de Maite', actionEn: 'taking care of Maite', descriptionEs: 'Tomás está cuidando de su esposa', descriptionEn: 'Tomás is taking care of his wife' },
{ days: [1,2,3,4,5,6,7], start: 13, end: 14, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'comiendo con Maite', actionEn: 'having lunch with Maite', descriptionEs: 'Tomás está almorzando junto a Maite, charlando suavemente', descriptionEn: 'Tomás is having lunch with Maite, chatting softly' },
{ days: [1,2,3,4,5,6,7], start: 14, end: 16, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'leyendo el periódico', actionEn: 'reading the newspaper', descriptionEs: 'Tomás está leyendo el periódico tranquilamente', descriptionEn: 'Tomás is reading the newspaper calmly' },
{ days: [1,2,3,4,5,6,7], start: 16, end: 18, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'paseando', actionEn: 'taking a walk', descriptionEs: 'Tomás está dando un paseo por el parque', descriptionEn: 'Tomás is taking a walk in the park' },
{ days: [1,2,3,4,5,6,7], start: 18, end: 20, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Tomás está viendo la televisión', descriptionEn: 'Tomás is watching TV' },
{ days: [1,2,3,4,5,6,7], start: 20, end: 21, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'cenando con Maite', actionEn: 'having dinner with Maite', descriptionEs: 'Tomás está cenando junto a su esposa', descriptionEn: 'Tomás is having dinner with his wife' },
{ days: [1,2,3,4,5,6,7], start: 21, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele con Maite', actionEn: 'watching TV with Maite', descriptionEs: 'Tomás está viendo la televisión con Maite antes de dormir', descriptionEn: 'Tomás is watching TV with Maite before sleep' }
],
defaultLocationEs: '3B', defaultLocationEn: '3B', defaultPassage: '3B'
},
'Ernesto': {
name: 'Ernesto Rodríguez Cruz',
schedules: [
{ days: [1,2,3,4,5], start: 0, end: 7, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitacionernesto', actionEs: 'durmiendo con Carmen', actionEn: 'sleeping with Carmen', descriptionEs: 'Ernesto está durmiendo junto a su esposa', descriptionEn: 'Ernesto is sleeping next to his wife' },
{ days: [1,2,3,4,5], start: 7, end: 8, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'baño1A', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Ernesto se está duchando antes de ir al hospital', descriptionEn: 'Ernesto is taking a shower before going to the hospital' },
{ days: [1,2,3,4,5], start: 8, end: 8.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Ernesto está desayunando rápidamente', descriptionEn: 'Ernesto is having a quick breakfast' },
{ days: [1,2,3,4,5], start: 8.5, end: 14, location: 'Hospital', locationEs: 'Hospital', locationEn: 'Hospital', passage: 'Hospital', actionEs: 'trabajando en el hospital', actionEn: 'working at the Hospital', descriptionEs: 'Ernesto está en su consulta lidiando con los pacientes', descriptionEn: 'Ernesto is in his office dealing with patients' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Hospital', locationEs: 'Hospital', locationEn: 'Hospital', passage: 'Hospital', actionEs: 'comiendo en el hospital', actionEn: 'eating at the hospital', descriptionEs: 'Ernesto está comiendo en la cafetería del hospital', descriptionEn: 'Ernesto is eating at the hospital cafeteria' },
{ days: [1,2,3,4,5], start: 15, end: 18, location: 'Hospital', locationEs: 'Hospital', locationEn: 'Hospital', passage: 'Hospital', actionEs: 'trabajando', actionEn: 'working', descriptionEs: 'Ernesto continúa trabajando en el hospital', descriptionEn: 'Ernesto continues working at the hospital' },
{ days: [1,2,3,4,5], start: 18, end: 20, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'tomando cervezas', actionEn: 'having beers', descriptionEs: 'Ernesto está en el kebab tomando unas cervezas después del trabajo', descriptionEn: 'Ernesto is at the kebab shop having some beers after work' },
{ days: [1,2,3,4], start: 20, end: 20.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Ernesto está llegando a casa', descriptionEn: 'Ernesto is arriving home' },
{ days: [1,2,3,4], start: 20.5, end: 21.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Ernesto está cenando con su familia', descriptionEn: 'Ernesto is having dinner with his family' },
{ days: [1,2,3,4], start: 21.5, end: 24, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Ernesto está viendo la televisión', descriptionEn: 'Ernesto is watching TV' },
{ days: [5], start: 20, end: 24, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'celebrando el viernes', actionEn: 'celebrating Friday', descriptionEs: 'Ernesto está tomando copas, es viernes y se queda más tiempo', descriptionEn: 'Ernesto is having drinks, it\'s Friday and he stays longer' },
{ days: [6,7], start: 0, end: 9, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitacionernesto', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Ernesto está durmiendo', descriptionEn: 'Ernesto is sleeping' },
{ days: [6,7], start: 9, end: 10, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Ernesto está desayunando tranquilamente', descriptionEn: 'Ernesto is having breakfast calmly' },
{ days: [6,7], start: 10, end: 13, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'descansando en casa', actionEn: 'resting at home', descriptionEs: 'Ernesto está descansando en casa', descriptionEn: 'Ernesto is resting at home' },
{ days: [6,7], start: 13, end: 14, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Ernesto está comiendo', descriptionEn: 'Ernesto is eating' },
{ days: [6,7], start: 14, end: 18, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'paseando', actionEn: 'taking a walk', descriptionEs: 'Ernesto está dando un paseo', descriptionEn: 'Ernesto is taking a walk' },
{ days: [6,7], start: 18, end: 20, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'tomando cervezas', actionEn: 'having beers', descriptionEs: 'Ernesto está tomando unas cervezas', descriptionEn: 'Ernesto is having some beers' },
{ days: [6,7], start: 20, end: 21, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'salon1A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Ernesto está cenando', descriptionEn: 'Ernesto is having dinner' },
{ days: [6,7], start: 21, end: 24, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Ernesto está viendo la televisión', descriptionEn: 'Ernesto is watching TV' }
],
defaultLocationEs: '1A', defaultLocationEn: '1A', defaultPassage: '1A'
},
'Damian': {
name: 'Damian Rodriguez Cabrera',
schedules: [
{ days: [1,2,3,4,5], start: 0, end: 6.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitaciondamian', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Damian está durmiendo profundamente, su cuerpo necesita descanso', descriptionEn: 'Damian is sleeping deeply, his body needs rest' },
{ days: [1,2,3,4,5], start: 6.5, end: 7, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'baño1A', actionEs: 'duchándose', actionEn: 'taking a shower', descriptionEs: 'Damian se está duchando', descriptionEn: 'Damian is taking a shower' },
{ days: [1,2,3,4,5], start: 7, end: 8, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'corriendo por el parque', actionEn: 'jogging through the park', descriptionEs: 'Damian está haciendo su rutina matinal de running', descriptionEn: 'Damian is doing his morning running routine' },
{ days: [1,2,3,4,5], start: 8, end: 8.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Damian está desayunando proteínas', descriptionEn: 'Damian is having protein breakfast' },
{ days: [1,2,3,4,5], start: 8.5, end: 9, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'baño1A', actionEs: 'duchándose otra vez', actionEn: 'showering again', descriptionEs: 'Damian se ducha después de correr', descriptionEn: 'Damian showers after running' },
{ days: [1,2,3,4,5], start: 9, end: 13, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'dando clases a niños', actionEn: 'teaching kids', descriptionEs: 'Damian está entrenando baloncesto a niños, es paciente y motivador', descriptionEn: 'Damian is coaching basketball to kids, he\'s patient and motivating' },
{ days: [1,2,3,4,5], start: 13, end: 14, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'comiendo en el polideportivo', actionEn: 'eating at sports center', descriptionEs: 'Damian está comiendo en el polideportivo', descriptionEn: 'Damian is eating at the sports center' },
{ days: [1,2,3,4,5], start: 14, end: 15, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Damian está descansando entre entrenamientos', descriptionEn: 'Damian is resting between training sessions' },
{ days: [1,2,3,4,5], start: 15, end: 18, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'entrenando con su equipo', actionEn: 'training with his team', descriptionEs: 'Damian está en una intensa sesión de entrenamiento con su equipo', descriptionEn: 'Damian is in an intense training session with his team' },
{ days: [1,2,3,4,5], start: 18, end: 19, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Damian se está duchando después del entrenamiento', descriptionEn: 'Damian is showering after training' },
{ days: [1,2,3,4,5], start: 19, end: 20, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Damian está llegando a casa', descriptionEn: 'Damian is arriving home' },
{ days: [1,2,3,4,5], start: 20, end: 20.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Damian está descansando un poco', descriptionEn: 'Damian is resting a bit' },
{ days: [1,2,3,4,5], start: 20.5, end: 21.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Damian está cenando proteínas y carbohidratos con su familia', descriptionEn: 'Damian is having proteins and carbs with his family' },
{ days: [1,2,3,4,5], start: 21.5, end: 24, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitaciondamian', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Damian está descansando, viendo algo en el móvil', descriptionEn: 'Damian is resting, watching something on his phone' },
{ days: [6,7], start: 0, end: 8, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitaciondamian', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Damian está durmiendo', descriptionEn: 'Damian is sleeping' },
{ days: [6,7], start: 8, end: 9, location: 'Parque', locationEs: 'Parque', locationEn: 'Park', passage: 'Parque', actionEs: 'corriendo', actionEn: 'jogging', descriptionEs: 'Damian está corriendo por el parque', descriptionEn: 'Damian is jogging through the park' },
{ days: [6,7], start: 9, end: 9.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'baño1A', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Damian se ducha', descriptionEn: 'Damian showers' },
{ days: [6,7], start: 9.5, end: 10, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'desayunando', actionEn: 'having breakfast', descriptionEs: 'Damian está desayunando', descriptionEn: 'Damian is having breakfast' },
{ days: [6], start: 10, end: 13, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'entrenando adultos', actionEn: 'training adults', descriptionEs: 'Damian está entrenando al equipo adulto', descriptionEn: 'Damian is training the adult team' },
{ days: [7], start: 10, end: 13, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'partido con adultos', actionEn: 'match with adults', descriptionEs: 'Damian está jugando un partido con el equipo adulto', descriptionEn: 'Damian is playing a match with the adult team' },
{ days: [6,7], start: 13, end: 14, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Damian está comiendo en el polideportivo', descriptionEn: 'Damian is eating at the sports center' },
{ days: [6,7], start: 14, end: 17, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'entrenamiento personal', actionEn: 'personal training', descriptionEs: 'Damian está haciendo entrenamiento personal', descriptionEn: 'Damian is doing personal training' },
{ days: [6,7], start: 17, end: 18, location: 'Polideportivo', locationEs: 'Polideportivo', locationEn: 'Sports Center', passage: 'Polideportivo', actionEs: 'duchándose', actionEn: 'showering', descriptionEs: 'Damian se está duchando', descriptionEn: 'Damian is showering' },
{ days: [6,7], start: 18, end: 20, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'descansando en casa', actionEn: 'resting at home', descriptionEs: 'Damian está descansando en casa', descriptionEn: 'Damian is resting at home' },
{ days: [6,7], start: 20, end: 21, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'salón1A', actionEs: 'cenando', actionEn: 'having dinner', descriptionEs: 'Damian está cenando', descriptionEn: 'Damian is having dinner' },
{ days: [6,7], start: 21, end: 24, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'habitaciondamian', actionEs: 'viendo series', actionEn: 'watching series', descriptionEs: 'Damian está viendo series en su habitación', descriptionEn: 'Damian is watching series in his room' }
],
defaultLocationEs: '1A', defaultLocationEn: '1A', defaultPassage: '1A'
},
'Ahmed': {
name: 'Ahmed Demir',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 7, location: 'Casa_Ahmed', locationEs: 'Casa de Ahmed', locationEn: 'Ahmed\'s home', passage: 'Casa_Ahmed', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Ahmed está durmiendo en su casa', descriptionEn: 'Ahmed is sleeping at his home' },
{ days: [1,2,3,4,5,6,7], start: 7, end: 8, location: 'Casa_Ahmed', locationEs: 'Casa de Ahmed', locationEn: 'Ahmed\'s home', passage: 'Casa_Ahmed', actionEs: 'preparándose', actionEn: 'getting ready', descriptionEs: 'Ahmed se está preparando para ir al kebab', descriptionEn: 'Ahmed is getting ready to go to the kebab' },
{ days: [1,2,3,4,5,6,7], start: 8, end: 11, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'preparando el kebab', actionEn: 'preparing the kebab shop', descriptionEs: 'Ahmed está preparando ingredientes y abriendo el local', descriptionEn: 'Ahmed is preparing ingredients and opening the shop' },
{ days: [1,2,3,4,5,6,7], start: 11, end: 23, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'atendiendo clientes', actionEn: 'serving customers', descriptionEs: 'Ahmed está atendiendo el local, es hora punta', descriptionEn: 'Ahmed is serving the shop, it\'s rush hour' },
{ days: [1,2,3,4,5,6,7], start: 23, end: 24, location: 'Casa_Ahmed', locationEs: 'Casa de Ahmed', locationEn: 'Ahmed\'s home', passage: 'Casa_Ahmed', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Ahmed está llegando a casa después del trabajo', descriptionEn: 'Ahmed is arriving home after work' }
],
defaultLocationEs: 'Kebab', defaultLocationEn: 'Kebab', defaultPassage: 'Kebab'
},
'Hamza': {
name: 'Hamza Demir',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 8, location: 'Casa_Hamza', locationEs: 'Casa de Hamza', locationEn: 'Hamza\'s home', passage: 'Casa_Hamza', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Hamza está durmiendo en su casa', descriptionEn: 'Hamza is sleeping at his home' },
{ days: [1,2,3,4,5,6,7], start: 8, end: 9, location: 'Casa_Hamza', locationEs: 'Casa de Hamza', locationEn: 'Hamza\'s home', passage: 'Casa_Hamza', actionEs: 'preparándose', actionEn: 'getting ready', descriptionEs: 'Hamza se está preparando para ir al trabajo', descriptionEn: 'Hamza is getting ready to go to work' },
{ days: [1,2,3,4,5,6,7], start: 9, end: 23, location: 'Kebab', locationEs: 'Kebab', locationEn: 'Kebab', passage: 'Kebab', actionEs: 'trabajando en el kebab', actionEn: 'working at the kebab shop', descriptionEs: 'Hamza está trabajando junto a su hermano Ahmed', descriptionEn: 'Hamza is working alongside his brother Ahmed' },
{ days: [1,2,3,4,5,6,7], start: 23, end: 24, location: 'Casa_Hamza', locationEs: 'Casa de Hamza', locationEn: 'Hamza\'s home', passage: 'Casa_Hamza', actionEs: 'llegando a casa', actionEn: 'arriving home', descriptionEs: 'Hamza está llegando a casa', descriptionEn: 'Hamza is arriving home' }
],
defaultLocationEs: 'Kebab', defaultLocationEn: 'Kebab', defaultPassage: 'Kebab'
},
'Carmen': {
name: 'Carmen Cabrera Ventura',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 7, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'durmiendo con Ernesto', actionEn: 'sleeping with Ernesto', descriptionEs: 'Carmen está durmiendo junto a su esposo', descriptionEn: 'Carmen is sleeping next to her husband' },
{ days: [1,2,3,4,5,6,7], start: 7, end: 9, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'preparando desayuno', actionEn: 'preparing breakfast', descriptionEs: 'Carmen está preparando el desayuno para la familia', descriptionEn: 'Carmen is preparing breakfast for the family' },
{ days: [1,2,3,4,5,6,7], start: 9, end: 11, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'limpiando la casa', actionEn: 'cleaning the house', descriptionEs: 'Carmen está haciendo las tareas del hogar', descriptionEn: 'Carmen is doing household chores' },
{ days: [1,2,3,4,5,6,7], start: 11, end: 12, location: 'Centro', locationEs: 'Centro', locationEn: 'Downtown', passage: 'Centro', actionEs: 'haciendo compras', actionEn: 'shopping', descriptionEs: 'Carmen está haciendo las compras', descriptionEn: 'Carmen is doing the shopping' },
{ days: [1,2,3,4,5,6,7], start: 12, end: 13, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'preparando comida', actionEn: 'preparing lunch', descriptionEs: 'Carmen está preparando la comida', descriptionEn: 'Carmen is preparing lunch' },
{ days: [1,2,3,4,5,6,7], start: 13, end: 14, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'preparando comida', actionEn: 'preparing lunch', descriptionEs: 'Carmen está terminando de preparar la comida', descriptionEn: 'Carmen is finishing preparing lunch' },
{ days: [1,2,3,4,5,6,7], start: 14, end: 15, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'comiendo', actionEn: 'eating', descriptionEs: 'Carmen está comiendo, a veces acompañada de Alex o Damian', descriptionEn: 'Carmen is eating, sometimes accompanied by Alex or Damian' },
{ days: [1,2,3,4,5,6,7], start: 15, end: 17, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Carmen está viendo la televisión', descriptionEn: 'Carmen is watching TV' },
{ days: [1,2,3,4,5,6,7], start: 17, end: 19, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'limpiando', actionEn: 'cleaning', descriptionEs: 'Carmen está haciendo más tareas del hogar', descriptionEn: 'Carmen is doing more household chores' },
{ days: [1,2,3,4,5,6,7], start: 19, end: 20.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'preparando la cena', actionEn: 'preparing dinner', descriptionEs: 'Carmen está preparando la cena para toda la familia', descriptionEn: 'Carmen is preparing dinner for the whole family' },
{ days: [1,2,3,4,6,7], start: 20.5, end: 21.5, location: '1A', locationEs: '1A', locationEn: '1A', passage: 'comedor1A', actionEs: 'cenando en familia', actionEn: 'having dinner with family', descriptionEs: 'Carmen está cenando con su familia', descriptionEn: 'Carmen is having dinner with her family' },
{ days: [1,2,3,4,5,6,7], start: 21.5, end: 24, location: '1A', locationEs: '1A', locationEn: '1A', passage: '1A', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Carmen está viendo la televisión', descriptionEn: 'Carmen is watching TV' }
],
defaultLocationEs: '1A', defaultLocationEn: '1A', defaultPassage: '1A'
},
'Maite': {
name: 'Maite Carbonell Miranda',
schedules: [
{ days: [1,2,3,4,5,6,7], start: 0, end: 8, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitaciontomas', actionEs: 'durmiendo', actionEn: 'sleeping', descriptionEs: 'Maite está durmiendo junto a Tomás', descriptionEn: 'Maite is sleeping next to Tomás' },
{ days: [1,2,3,4,5,6,7], start: 8, end: 9, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'levantándose', actionEn: 'waking up', descriptionEs: 'Maite se está levantando con ayuda de Tomás', descriptionEn: 'Maite is waking up with Tomás\' help' },
{ days: [1,2,3,4,5,6,7], start: 9, end: 10, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'desayunando con Tomás', actionEn: 'having breakfast with Tomás', descriptionEs: 'Maite está desayunando tranquilamente junto a Tomás', descriptionEn: 'Maite is having breakfast calmly with Tomás' },
{ days: [1,2,3,4,5,6,7], start: 10, end: 13, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'descansando', actionEn: 'resting', descriptionEs: 'Maite está descansando en el sofá', descriptionEn: 'Maite is resting on the sofa' },
{ days: [1,2,3,4,5,6,7], start: 13, end: 14, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'comiendo con Tomás', actionEn: 'having lunch with Tomás', descriptionEs: 'Maite está comiendo junto a Tomás, charlando suavemente', descriptionEn: 'Maite is having lunch with Tomás, chatting softly' },
{ days: [1,2,3,4,5,6,7], start: 14, end: 16, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'habitaciontomas', actionEs: 'haciendo la siesta', actionEn: 'taking a nap', descriptionEs: 'Maite está echando la siesta, necesita descansar mucho', descriptionEn: 'Maite is taking a nap, needs a lot of rest' },
{ days: [1,2,3,4,5,6,7], start: 16, end: 20, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Maite está viendo la televisión', descriptionEn: 'Maite is watching TV' },
{ days: [1,2,3,4,5,6,7], start: 20, end: 21, location: '3B', locationEs: '3B', locationEn: '3B', passage: 'comedor3B', actionEs: 'cenando con Tomás', actionEn: 'having dinner with Tomás', descriptionEs: 'Maite está cenando junto a su esposo', descriptionEn: 'Maite is having dinner with her husband' },
{ days: [1,2,3,4,5,6,7], start: 21, end: 24, location: '3B', locationEs: '3B', locationEn: '3B', passage: '3B', actionEs: 'viendo la tele', actionEn: 'watching TV', descriptionEs: 'Maite está viendo la televisión con Tomás', descriptionEn: 'Maite is watching TV with Tomás' }
],
defaultLocationEs: '3B', defaultLocationEn: '3B', defaultPassage: '3B'
}
};
setup.getCharacterLocation = function(characterId) {
// Si es Tomás y está lesionado, usar el horario de Tomás lesionado
if (characterId === 'Tomas' && State.variables.Tomaslesion2 === true) {
characterId = 'TomasLesionado';
}
var char = setup.characterSchedules[characterId];
if (!char) return null;
var dayIndex = State.variables.gameDayIndex || 0;
var hour = State.variables.gameHours || 8;
var minutes = State.variables.gameMinutes || 0;
var timeDecimal = hour + (minutes / 60);
var schedule = null;
for (var i = 0; i < char.schedules.length; i++) {
var s = char.schedules[i];
if (s.days.indexOf(dayIndex + 1) !== -1 && timeDecimal >= s.start && timeDecimal < s.end) {
schedule = s;
break;
}
}
if (schedule) {
var lang = State.variables.idioma || 'es';
return {
location: lang === 'es' ? schedule.locationEs : schedule.locationEn,
passage: schedule.passage,
action: lang === 'es' ? schedule.actionEs : schedule.actionEn,
description: lang === 'es' ? schedule.descriptionEs : schedule.descriptionEn,
isAvailable: true
};
}
var lang = State.variables.idioma || 'es';
return {
location: lang === 'es' ? char.defaultLocationEs : char.defaultLocationEn,
passage: char.defaultPassage,
action: lang === 'es' ? 'en casa' : 'at home',
description: lang === 'es' ? char.name + ' está en casa' : char.name + ' is at home',
isAvailable: true
};
};
setup.getCharacterState = function(charId, location) {
var sleepingActions = ['durmiendo', 'sleeping', 'dormido', 'asleep'];
if (location && location.action) {
var action = location.action.toLowerCase();
for (var i = 0; i < sleepingActions.length; i++) {
if (action.indexOf(sleepingActions[i]) !== -1) return 'sleeping';
}
}
return 'awake';
};
setup.getFamilyInPassage = function(passageName) {
var apartmentFamilies = {
'1A': ['Alex', 'Ernesto', 'Damian', 'Carmen'],
'1B': ['Juanan', 'Tao'],
'2A': ['Raul'], // ← nuevo
'2B': ['Rafa', 'Leo', 'Adrian', 'Marta'],
'3A': ['Adler', 'Sean', 'Francesco'],
'3B': ['Tomas', 'Maite', 'Abel']
};
var apartmentMatch = passageName.match(/\d+[A-B]/i);
var apartment = apartmentMatch ? apartmentMatch[0].toUpperCase() : passageName;
var familyMembers = apartmentFamilies[apartment] || [];
var charactersHere = [];
for (var i = 0; i < familyMembers.length; i++) {
var charId = familyMembers[i];
var charData = setup.characterSchedules[charId];
if (!charData) continue;
var location = setup.getCharacterLocation(charId);
if (location) {
var isInApartment = location.location === apartment || location.location.indexOf(apartment) !== -1;
if (isInApartment) {
charactersHere.push({
id: charId,
name: charData.name,
location: location,
action: location.action,
description: location.description,
state: setup.getCharacterState(charId, location)
});
}
}
}
return charactersHere;
};
setup.getWhoAnswers = function(passageName) {
if (!setup.characterSchedules) {
console.error("characterSchedules no definido");
return null;
}
var characters = setup.getFamilyInPassage(passageName);
if (!characters || characters.length === 0) return null;
var randomIndex = Math.floor(Math.random() * characters.length);
return characters[randomIndex];
};
console.log("✓ Sistema cargado con todos los personajes");
<</script>>
<div id="fiesta-3a-overlay">
<div class="fiesta-3a-content">
<h2 id="fiesta-3a-title"></h2>
<p id="fiesta-3a-message"></p>
<button class="fiesta-3a-close-btn" id="fiesta-3a-close-btn"></button>
</div>
</div><<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/infierno.jpg" alt="infierno" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "Lujuria",
name: "Lujuria",
portrait: "images/Lujuria.png",
color: "#ff00ff",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "¿Qué... qué es todo esto...?" },
{ speaker: "Lujuria", text: "No te preocupes. He hecho esto muchas veces. Sí, estás en el infierno. No, no estás muerto. Sí, sigues soñando y sí, despertarás dentro de poco." },
{ speaker: "sergio", text: "¿Qué... qué…?" },
{ speaker: "Lujuria", text: "Mira, soy Lujuria, archidemonio del pecado de la... bueno, de la lujuria. Has sido seleccionado para uno de mis juegos." },
{ speaker: "sergio", text: "¿Vas a... a…?" },
{ speaker: "Lujuria", text: "¿A follarte? No, tranquilo. No podrías soportarlo. Lo que voy a darte es un regalo. Una misión que cumplirás para mí, y que disfrutarás." },
{ speaker: "sergio", text: "No comprendo. ¿Quieres mi alma?" },
{ speaker: "Lujuria", text: "¡Espabila, chaval! Tu alma ya me pertenece. Sé en lo que piensas constantemente. Sé lo que deseas. Y yo puedo dártelo." },
{ speaker: "sergio", text: "¿Qué es lo que quieres?" },
{ speaker: "Lujuria", text: "Vas a corromper a tus vecinos. A todo tu edificio. Desde los estudiantes de tercero al padre y al hijo del primero. A todos." },
{ speaker: "sergio", text: "..." },
{ speaker: "Lujuria", text: "Te lo estás imaginando, ¿verdad? Te estás viendo follando con todos, ¿a que sí? Ese Adrián, con el que estabas soñando antes. Podría ser tuyo. No, será tuyo." },
{ speaker: "sergio", text: "No sé cómo..." },
{ speaker: "Lujuria", text: "Yo te ayudaré. Cuando despiertes tendrás sobre tu mesilla un móvil. Ese móvil te permitirá hacer de todo, desde ver a tus vecinos desnudos hasta parar el tiempo." },
{ speaker: "sergio", text: "Esto no puede ser real." },
{ speaker: "Lujuria", text: "Pues lo es. Ahora debo dejarte. Estás a punto de despertarte. Coge la llamada, Sergio. Habla con uno de mis chicos y sigue sus indicaciones. Te prometo que vas a pasártelo muy bien." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [], [], [],
[
{ text: "Despertar", action: "GOTO:Continuar" }
]
]
});
});
<</script>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/infierno.jpg" alt="infierno" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "Lujuria",
name: "Lust",
portrait: "images/Lujuria.png",
color: "#ff00ff",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "What... what's all this...?" },
{ speaker: "Lujuria", text: "Don't worry. I've done this many times. Yes, you're in hell. No, you're not dead. Yes, you're still dreaming, and yes, you'll wake up soon." },
{ speaker: "sergio", text: "What... what...?" },
{ speaker: "Lujuria", text: "Look, I'm Lust, archdemon of the sin of... well, lust. You've been selected for one of my games." },
{ speaker: "sergio", text: "Are you going to... to...?" },
{ speaker: "Lujuria", text: "Fuck you? No, don't worry. You couldn't handle it. What I'm about to give you is a gift. A mission that you will fulfill for me, and that you will enjoy." },
{ speaker: "sergio", text: "I don't understand. Do you want my soul?" },
{ speaker: "Lujuria", text: "Wake up, kid! Your soul already belongs to me. I know what you constantly think about. I know what you desire. And I can give it to you." },
{ speaker: "sergio", text: "What is it that you want?" },
{ speaker: "Lujuria", text: "You're going to corrupt your neighbors. Your entire building. From the third-year students to the father and son of the first floor. Everyone." },
{ speaker: "sergio", text: "..." },
{ speaker: "Lujuria", text: "You're imagining it, aren't you? You're seeing yourself fucking everyone, aren't you? That Adrian, the one you were dreaming about before. He could be yours. No, he will be yours." },
{ speaker: "sergio", text: "I don't know how..." },
{ speaker: "Lujuria", text: "I'll help you. When you wake up, you'll have a cell phone on your nightstand. That phone will allow you to do everything, from seeing your neighbors naked to stopping time." },
{ speaker: "sergio", text: "This can't be real." },
{ speaker: "Lujuria", text: "Well, it is. Now I must leave you. You're about to wake up. Take the call, Sergio. Talk to one of my guys and follow his instructions. I promise you'll have a great time." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [], [], [],
[
{ text: "Wake up", action: "GOTO:Continue" }
]
]
});
});
<</script>>
<</if>><<if window.isFiesta3AActive()>>
<<run window.showFiesta3AOverlay()>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
No és el cuarto más ordenado y huele un poco a cerrado, pero es el tuyo y te da la intimidad que necesitas. Quiza estaria bien que lo limpiaras, pero eso ya lo harás cuando tengas tiempo.
[[Ordenador]]
[[Salón]]
[[Baño|Bañosergio]]
[[Salir de casa|Rellano del 2º]]
<<if $Raulllegada>>
<<if $idioma is "es">>
[[Habitación de Raúl|habitacionraul]]
<<else>>
[[Raúl's room|habitacionraul]]
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<span class="fade-in">It's not the tidiest room, and it smells a bit musty, but it's yours and it gives you the privacy you need. Maybe it would be nice if you cleaned it, but you'll do that when you have time. </span>
[[Computer|Ordenador]]
[[Living Room|Salón]]
[[Bathroom|Bañosergio]]
[[Leaving home|Rellano del 2º]]
<</if>>
<<if $misionraul1>>
<<if $idioma is "es">>
[[Habitación de Raúl|habitacionraul]]
<<else>>
[[Raúl's room|habitacionraul]]
<</if>>
<</if>><<if window.isFiesta3AActive && window.isFiesta3AActive()>><<run window.showFiesta3AOverlay()>><</if>>
<<set _raulLocation = setup.getCharacterLocation('Raul')>>
<<set _raulEnSalon = $Raulllegada is true && _raulLocation && _raulLocation.passage === 'Salón'>>
<<set _raulExcitadoActivo = $Raulllegada is true && setup.hasTemporalMark('Raul', 'excitado')>>
<<if _raulEnSalon and !_raulExcitadoActivo>>
<<set _accion = _raulLocation.action>>
<<if _accion.includes('Toni')>>
<<set _raulDestino = 'raulconsolaToni'>>
<<elseif _accion.includes('consola') || _accion.includes('console')>>
<<set _raulDestino = 'raulconsola'>>
<<elseif _accion.includes('desayunando') || _accion.includes('breakfast')>>
<<set _raulDestino = 'rauldesayunando'>>
<<elseif _accion.includes('comiendo') || _accion.includes('lunch')>>
<<set _raulDestino = 'raulcomiendo'>>
<<elseif _accion.includes('cenando') || _accion.includes('dinner')>>
<<set _raulDestino = 'raulcenando'>>
<<else>>
<<set _raulDestino = ''>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
El salón de tu casa está más ordenado que tu habitación. Al fin y al cabo, cuando recibes a alguien, aunque sea a pocas personas, pasan por aquí. Aun así, no se consigue desprender cierto olor a comida cocinada y a cerrado, y la sensación de estar rodeado de polvo es más que evidente.
[[Mi Habitación|habitacionsergio]]
[[Realizar una llamada|telefono]]
[[Baño|Bañosergio]]
<<if $fotosalon>>
[[Mirar la foto del estante]]
<</if>>
<<if $Raulllegada>>
<<if _raulExcitadoActivo>>
<span style="color:#888; font-style:italic;">La puerta de la habitación de Raúl está cerrada. Se escuchan ruidos apagados.</span>
[[Ir a la habitación de Raúl|habitacionraul]]
<<elseif _raulEnSalon && _raulDestino>>
<<set _raulTextoSalon = "Raúl está " + _raulLocation.action>>
<span class="link-internal"><<link _raulTextoSalon>><<run Engine.play(_raulDestino)>><</link>></span>
<<else>>
[[Habitación de Raúl|habitacionraul]]
<</if>>
<</if>>
[[Salir de casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="habsergio" />
</div>
The living room in your house is tidier than your bedroom. After all, whenever you have someone over, even a few people, they pass through here. Even so, there's no escaping a certain smell of cooked food and stale air, and the feeling of being surrounded by dust is more than evident.
[[My Room|habitacionsergio]]
[[Bathroom|Bañosergio]]
[[Make a call|telefono]]
<<if $fotosalon>>
[[Look at the photo on the shelf|Mirar la foto del estante]]
<</if>>
<<if $Raulllegada>>
<<if _raulExcitadoActivo>>
<span style="color:#888; font-style:italic;">Raúl's bedroom door is closed. You can hear muffled noises.</span>
[[Go to Raúl's room|habitacionraul]]
<<elseif _raulEnSalon && _raulDestino>>
<<set _raulTextoSalon = "Raúl is " + _raulLocation.action>>
<span class="link-internal"><<link _raulTextoSalon>><<run Engine.play(_raulDestino)>><</link>></span>
<<else>>
[[Raúl's room|habitacionraul]]
<</if>>
<</if>>
[[Leave home|Rellano del 2º]]
<</if>><<set _raulLocation = setup.getCharacterLocation('Raul')>>
<<set _raulEnBaño = $Raulllegada is true && _raulLocation && _raulLocation.passage === 'Bañosergio'>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
No tiene nada de particular el baño de tu casa, más allá de que lleva sin remodelarse desde que vivía tu abuelo en la casa. Está especialmente limpio respecto al resto de la casa, pues siempre has sido escrupuloso con la desinfección en el baño.
<<if _raulEnBaño>>
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Raúl se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('raulduchandose')>><</link>>
<</if>>
<</if>>
[[Mirarte al espejo|espejo]]
[[Mi habitación|habitacionsergio]]
[[Salón]]
<<if $Raulllegada>>
[[Habitación de Raúl|habitacionraul]]
<</if>>
[[Salir de casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="habsergio" />
</div>
There's nothing special about the bathroom in your house, except that it hasn't been remodeled since your grandfather lived there. It's especially clean compared to the rest of the house, as you've always been scrupulous about disinfecting the bathroom.
<<if _raulEnBaño>>
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Raúl is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('raulduchandose')>><</link>>
<</if>>
<</if>>
[[Looking at yourself in the mirror|espejo]]
[[My Room|habitacionsergio]]
[[Living Room|Salón]]
<<if $Raulllegada>>
[[Raúl's room|habitacionraul]]
<</if>>
[[Leaving home|Rellano del 2º]]
<</if>><<if window.isFiesta3AActive()>>
<<run window.showFiesta3AOverlay()>>
<</if>>
<<if $Leoreprimenda is true>>
<<goto "reprimendaleo">>
<<else>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano2.png" alt="habsergio" />
</div>
El rellano del segundo piso. A la izquierda, el 2A, tu casa. Bueno, la de tus abuelos y en la que vives desde hace dos años desde la discusión con tu padre. A la derecha, el 2B, la casa de los Ruiz Villar, donde vive Rafael el policia, su mujer Marta y sus dos hijos Adrian y Leo.
[[Subir al ático|Rellano del 4º]]
[[Subir al tercero|Rellano del 3º]]
[[Bajar al primero|Rellano del 1º]]
[[Bajar al portal|Portal]]
[[Regresar a tu casa|Salón]]
[[Puerta 2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano2.png" alt="habsergio" />
</div>
The second-floor landing. To the left, 2A, your apartment. Well, your grandparents' apartment, and the one you've lived in for the past two years since the argument with your father. To the right, 2B, the Ruiz Villar family's apartment, where Rafael the policeman lives with his wife Marta and their two sons, Adrian and Leo.
[[Go up to the fourth floor|Rellano del 4º]]
[[Go up to the third floor|Rellano del 3º]]
[[Go down to the first floor|Rellano del 1º]]
[[Go down to the Entrance hall|Portal]]
[[Return to your apartment|Salón]]
[[Door 2B|Puerta 2B]]
<</if>>
<</if>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<p>Selecciona un contacto:</p>
<<set _hayContactos = false>>
<<if $Raulcontacto eq true or $Abelcontacto eq true or $Sergiocontacto eq true or $Alexcontacto eq true or $Leocontacto eq true or $Adriancontacto eq true or $Rafaelcontacto eq true or $Tomascontacto eq true or $Adlercontacto eq true or $Taocontacto eq true or $Juanancontacto eq true or $Francescocontacto eq true or $Seancontacto eq true or $Hamzacontacto eq true or $Ahmedcontacto eq true or $Damiancontacto eq true or $Ernestocontacto eq true>>
<<set _hayContactos = true>>
<</if>>
<<if $Raulcontacto eq true>>
<div class="character-card">
<img src="images/raul/Raul.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Raúl Medina Sanchez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _raulLocation = setup.getCharacterLocation('Raul')>>
<<if _raulLocation>>
<span><<print _raulLocation.location>></span>
<<else>>
<span>Casa familiar</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRaul + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRaul/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Raúl')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Rocacontacto eq true>>
<div class="character-card">
<img src="images/Roca/roca.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Daniel Roca Belmonte</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _rocaLocation = setup.getCharacterLocation('Roca')>>
<<if _rocaLocation>>
<span><<print _rocaLocation.location>></span>
<<else>>
<span>Ático</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRoca + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRoca/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Roca')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Abelcontacto eq true>>
<div class="character-card">
<img src="images/Abel/abel.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Abel Castillejo Alamo</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _abelLocation = setup.getCharacterLocation('Abel')>>
<<if _abelLocation>>
<span><<print _abelLocation.location>></span>
<<else>>
<span>3B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAbel + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAbel/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Abel')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Sergiocontacto eq true>>
<div class="character-card">
<img src="images/Sergio/sergio.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Sergio Medina Sanchez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _sergioLocation = setup.getCharacterLocation('Sergio')>>
<<if _sergioLocation>>
<span><<print _sergioLocation.location>></span>
<<else>>
<span>Aquí mismo</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionSergio + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionSergio/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Sergio')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Alexcontacto eq true>>
<div class="character-card">
<img src="images/Alex/alex.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Alex Rodríguez Cabrera</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _alexLocation = setup.getCharacterLocation('Alex')>>
<<if _alexLocation>>
<span><<print _alexLocation.location>></span>
<<else>>
<span>1A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAlex + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAlex/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Alex')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Leocontacto eq true>>
<div class="character-card">
<img src="images/Leo/leo.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Leo Ruiz Villar</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _leoLocation = setup.getCharacterLocation('Leo')>>
<<if _leoLocation>>
<span><<print _leoLocation.location>></span>
<<else>>
<span>2B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionLeo + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionLeo/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Leo')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Adriancontacto eq true>>
<div class="character-card">
<img src="images/Adrian/adrian.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Adrian Ruiz Villar</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _adrianLocation = setup.getCharacterLocation('Adrian')>>
<<if _adrianLocation>>
<span><<print _adrianLocation.location>></span>
<<else>>
<span>2B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAdrian + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAdrian/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Adrian')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Rafaelcontacto eq true>>
<div class="character-card">
<img src="images/Rafael/rafa.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Rafael Ruiz Navarro</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _rafaelLocation = setup.getCharacterLocation('Rafa')>>
<<if _rafaelLocation>>
<span><<print _rafaelLocation.location>></span>
<<else>>
<span>2B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRafael + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRafael/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Rafael')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Tomascontacto eq true>>
<div class="character-card">
<img src="images/Tomas/tomas.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Tomás Castillejo Lopez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _tomasLocation = setup.getCharacterLocation('Tomas')>>
<<if _tomasLocation>>
<span><<print _tomasLocation.location>></span>
<<else>>
<span>3B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionTomas + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionTomas/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Tomás')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Adlercontacto eq true>>
<div class="character-card">
<img src="images/Adler/adler.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Adler Weber</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _adlerLocation = setup.getCharacterLocation('Adler')>>
<<if _adlerLocation>>
<span><<print _adlerLocation.location>></span>
<<else>>
<span>3A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAdler + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAdler/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Adler')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Taocontacto eq true>>
<div class="character-card">
<img src="images/Tao/tao.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Tao Altavert Corral</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _taoLocation = setup.getCharacterLocation('Tao')>>
<<if _taoLocation>>
<span><<print _taoLocation.location>></span>
<<else>>
<span>1B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionTao + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionTao/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Tao')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Juanancontacto eq true>>
<div class="character-card">
<img src="images/Juanan/juanan.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Juanan Altavert Lomas</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _juananLocation = setup.getCharacterLocation('Juanan')>>
<<if _juananLocation>>
<span><<print _juananLocation.location>></span>
<<else>>
<span>1B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionJuanan + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionJuanan/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Juanan')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Francescocontacto eq true>>
<div class="character-card">
<img src="images/Francesco/francesco.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Francesco Rossi</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _francescoLocation = setup.getCharacterLocation('Francesco')>>
<<if _francescoLocation>>
<span><<print _francescoLocation.location>></span>
<<else>>
<span>3A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionFrancesco + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionFrancesco/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Francesco')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Seancontacto eq true>>
<div class="character-card">
<img src="images/Sean/sean.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Sean Murphy</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _seanLocation = setup.getCharacterLocation('Sean')>>
<<if _seanLocation>>
<span><<print _seanLocation.location>></span>
<<else>>
<span>3A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionSean + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionSean/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Sean')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Hamzacontacto eq true>>
<div class="character-card">
<img src="images/Hamza/hamza.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Hamza Demir</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _hamzaLocation = setup.getCharacterLocation('Hamza')>>
<<if _hamzaLocation>>
<span><<print _hamzaLocation.location>></span>
<<else>>
<span>Kebab</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionHamza + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionHamza/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Hamza')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Ahmedcontacto eq true>>
<div class="character-card">
<img src="images/Ahmed/ahmed.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Ahmed Demir</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _ahmedLocation = setup.getCharacterLocation('Ahmed')>>
<<if _ahmedLocation>>
<span><<print _ahmedLocation.location>></span>
<<else>>
<span>Kebab</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAhmed + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAhmed/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Ahmed')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Damiancontacto eq true>>
<div class="character-card">
<img src="images/Damian/damian.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Damián Rodríguez Cabrera</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _damianLocation = setup.getCharacterLocation('Damian')>>
<<if _damianLocation>>
<span><<print _damianLocation.location>></span>
<<else>>
<span>1A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionDamian + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionDamian/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Damián')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if $Ernestocontacto eq true>>
<div class="character-card">
<img src="images/Ernesto/ernesto.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Ernesto Rodríguez Cruz</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _ernestoLocation = setup.getCharacterLocation('Ernesto')>>
<<if _ernestoLocation>>
<span><<print _ernestoLocation.location>></span>
<<else>>
<span>1A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Nivel de corrupción</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionErnesto + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionErnesto/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Ernesto')">Ver perfil completo</a>
</div>
</div>
<</if>>
<<if _hayContactos eq false>>
<p style="color: #888;">No hay contactos disponibles aún.</p>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<p>Select a contact:</p>
<<set _hayContactos = false>>
<<if $Raulcontacto eq true or $Abelcontacto eq true or $Sergiocontacto eq true or $Alexcontacto eq true or $Leocontacto eq true or $Adriancontacto eq true or $Rafaelcontacto eq true or $Tomascontacto eq true or $Adlercontacto eq true or $Taocontacto eq true or $Juanancontacto eq true or $Francescocontacto eq true or $Seancontacto eq true or $Hamzacontacto eq true or $Ahmedcontacto eq true or $Damiancontacto eq true or $Ernestocontacto eq true>>
<<set _hayContactos = true>>
<</if>>
<<if $Raulcontacto eq true>>
<div class="character-card">
<img src="images/raul/Raul.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Raúl Medina Sanchez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _raulLocation = setup.getCharacterLocation('Raul')>>
<<if _raulLocation>>
<span><<print _raulLocation.location>></span>
<<else>>
<span>Family home</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRaul + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRaul/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Raúl')">View full profile</a>
</div>
</div>
<</if>>
<<if $Raulcontacto eq true>>
<div class="character-card">
<img src="images/raul/Raul.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Raúl Medina Sanchez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _raulLocation = setup.getCharacterLocation('Raul')>>
<<if _raulLocation>>
<span><<print _raulLocation.location>></span>
<<else>>
<<if $idioma is "es">>
<span>Casa familiar</span>
<<else>>
<span>Family home</span>
<</if>>
<</if>>
</div>
<div class="corruption-level">
<<if $idioma is "es">>
<div class="corruption-label">Nivel de corrupción</div>
<<else>>
<div class="corruption-label">Corruption level</div>
<</if>>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRaul + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRaul/100</div>
</div>
<<if $idioma is "es">>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Raúl')">Ver perfil completo</a>
<<else>>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Raúl')">View full profile</a>
<</if>>
</div>
</div>
<</if>>
<<if $Rocacontacto eq true>>
<div class="character-card">
<img src="images/Roca/roca.png" alt="Retrato del personaje" class="portrait">
<div class="character-info">
<div class="character-name">Daniel Roca Belmonte</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _rocaLocation = setup.getCharacterLocation('Roca')>>
<<if _rocaLocation>>
<span><<print _rocaLocation.location>></span>
<<else>>
<<if $idioma is "es">>
<span>Ático</span>
<<else>>
<span>Penthouse</span>
<</if>>
<</if>>
</div>
<div class="corruption-level">
<<if $idioma is "es">>
<div class="corruption-label">Nivel de corrupción</div>
<<else>>
<div class="corruption-label">Corruption level</div>
<</if>>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRoca + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRoca/100</div>
</div>
<<if $idioma is "es">>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Roca')">Ver perfil completo</a>
<<else>>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Roca')">View full profile</a>
<</if>>
</div>
</div>
<</if>>
<<if $Abelcontacto eq true>>
<div class="character-card">
<img src="images/Abel/abel.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Abel Castillejo Alamo</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _abelLocation = setup.getCharacterLocation('Abel')>>
<<if _abelLocation>>
<span><<print _abelLocation.location>></span>
<<else>>
<span>3B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAbel + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAbel/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Abel')">View full profile</a>
</div>
</div>
<</if>>
<<if $Sergiocontacto eq true>>
<div class="character-card">
<img src="images/Sergio/sergio.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Sergio Medina Sanchez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _sergioLocation = setup.getCharacterLocation('Sergio')>>
<<if _sergioLocation>>
<span><<print _sergioLocation.location>></span>
<<else>>
<span>Right here</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionSergio + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionSergio/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Sergio')">View full profile</a>
</div>
</div>
<</if>>
<<if $Alexcontacto eq true>>
<div class="character-card">
<img src="images/Alex/alex.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Alex Rodríguez Cabrera</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _alexLocation = setup.getCharacterLocation('Alex')>>
<<if _alexLocation>>
<span><<print _alexLocation.location>></span>
<<else>>
<span>1A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAlex + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAlex/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Alex')">View full profile</a>
</div>
</div>
<</if>>
<<if $Leocontacto eq true>>
<div class="character-card">
<img src="images/Leo/leo.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Leo Ruiz Villar</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _leoLocation = setup.getCharacterLocation('Leo')>>
<<if _leoLocation>>
<span><<print _leoLocation.location>></span>
<<else>>
<span>2B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionLeo + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionLeo/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Leo')">View full profile</a>
</div>
</div>
<</if>>
<<if $Adriancontacto eq true>>
<div class="character-card">
<img src="images/Adrian/adrian.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Adrian Ruiz Villar</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _adrianLocation = setup.getCharacterLocation('Adrian')>>
<<if _adrianLocation>>
<span><<print _adrianLocation.location>></span>
<<else>>
<span>2B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAdrian + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAdrian/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Adrián')">View full profile</a>
</div>
</div>
<</if>>
<<if $Rafaelcontacto eq true>>
<div class="character-card">
<img src="images/Rafael/rafa.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Rafael Ruiz Navarro</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _rafaelLocation = setup.getCharacterLocation('Rafa')>>
<<if _rafaelLocation>>
<span><<print _rafaelLocation.location>></span>
<<else>>
<span>2B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionRafael + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionRafael/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Rafael')">View full profile</a>
</div>
</div>
<</if>>
<<if $Tomascontacto eq true>>
<div class="character-card">
<img src="images/Tomas/tomas.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Tomás Castillejo Lopez</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _tomasLocation = setup.getCharacterLocation('Tomas')>>
<<if _tomasLocation>>
<span><<print _tomasLocation.location>></span>
<<else>>
<span>3B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionTomas + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionTomas/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Tomás')">View full profile</a>
</div>
</div>
<</if>>
<<if $Adlercontacto eq true>>
<div class="character-card">
<img src="images/Adler/adler.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Adler Weber</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _adlerLocation = setup.getCharacterLocation('Adler')>>
<<if _adlerLocation>>
<span><<print _adlerLocation.location>></span>
<<else>>
<span>3A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAdler + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAdler/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Adler')">View full profile</a>
</div>
</div>
<</if>>
<<if $Taocontacto eq true>>
<div class="character-card">
<img src="images/Tao/tao.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Tao Altavert Corral</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _taoLocation = setup.getCharacterLocation('Tao')>>
<<if _taoLocation>>
<span><<print _taoLocation.location>></span>
<<else>>
<span>1B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionTao + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionTao/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Tao')">View full profile</a>
</div>
</div>
<</if>>
<<if $Juanancontacto eq true>>
<div class="character-card">
<img src="images/Juanan/juanan.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Juanan Altavert Lomas</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _juananLocation = setup.getCharacterLocation('Juanan')>>
<<if _juananLocation>>
<span><<print _juananLocation.location>></span>
<<else>>
<span>1B</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionJuanan + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionJuanan/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Juanan')">View full profile</a>
</div>
</div>
<</if>>
<<if $Francescocontacto eq true>>
<div class="character-card">
<img src="images/Francesco/francesco.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Francesco Rossi</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _francescoLocation = setup.getCharacterLocation('Francesco')>>
<<if _francescoLocation>>
<span><<print _francescoLocation.location>></span>
<<else>>
<span>3A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionFrancesco + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionFrancesco/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Francesco')">View full profile</a>
</div>
</div>
<</if>>
<<if $Seancontacto eq true>>
<div class="character-card">
<img src="images/Sean/sean.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Sean Murphy</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _seanLocation = setup.getCharacterLocation('Sean')>>
<<if _seanLocation>>
<span><<print _seanLocation.location>></span>
<<else>>
<span>3A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionSean + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionSean/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Sean')">View full profile</a>
</div>
</div>
<</if>>
<<if $Hamzacontacto eq true>>
<div class="character-card">
<img src="images/Hamza/hamza.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Hamza Demir</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _hamzaLocation = setup.getCharacterLocation('Hamza')>>
<<if _hamzaLocation>>
<span><<print _hamzaLocation.location>></span>
<<else>>
<span>Kebab</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionHamza + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionHamza/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Hamza')">View full profile</a>
</div>
</div>
<</if>>
<<if $Ahmedcontacto eq true>>
<div class="character-card">
<img src="images/Ahmed/ahmed.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Ahmed Demir</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _ahmedLocation = setup.getCharacterLocation('Ahmed')>>
<<if _ahmedLocation>>
<span><<print _ahmedLocation.location>></span>
<<else>>
<span>Kebab</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionAhmed + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionAhmed/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Ahmed')">View full profile</a>
</div>
</div>
<</if>>
<<if $Damiancontacto eq true>>
<div class="character-card">
<img src="images/Damian/damian.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Damián Rodríguez Cabrera</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _damianLocation = setup.getCharacterLocation('Damian')>>
<<if _damianLocation>>
<span><<print _damianLocation.location>></span>
<<else>>
<span>1A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionDamian + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionDamian/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Damián')">View full profile</a>
</div>
</div>
<</if>>
<<if $Ernestocontacto eq true>>
<div class="character-card">
<img src="images/Ernesto/ernesto.png" alt="Character portrait" class="portrait">
<div class="character-info">
<div class="character-name">Ernesto Rodríguez Cruz</div>
<div class="character-location">
<span class="location-icon">📍</span>
<<set _ernestoLocation = setup.getCharacterLocation('Ernesto')>>
<<if _ernestoLocation>>
<span><<print _ernestoLocation.location>></span>
<<else>>
<span>1A</span>
<</if>>
</div>
<div class="corruption-level">
<div class="corruption-label">Corruption level</div>
<div class="corruption-bar">
<div class="corruption-fill" @style="'width: ' + $corrupcionErnesto + '%; background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 33%, #FFC107 66%, #FF5722 100%);'"></div>
</div>
<div class="corruption-value">$corrupcionErnesto/100</div>
</div>
<a href="javascript:void(0)" onclick="window.openAppDirect('Perfil de Ernesto')">View full profile</a>
</div>
</div>
<</if>>
<<if _hayContactos eq false>>
<p style="color: #888;">No contacts available yet.</p>
<</if>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="habsergio" />
</div>
<<set $fotosalon = false>> Coges una de las pocas fotografías que tienes en casa. En ella apareces con tu hermano Raúl de vacaciones hace un par de años, antes de que os distanciarais. Entonces <span class="vibrando">suena tu teléfono</span>. Es Dem.
<center><img src="images/Raul/fotoestante.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "¿Dem?" },
{ speaker: "dem", text: "¿Quién es ese chico guapete?" },
{ speaker: "sergio", text: "Es mi hermano pequeño, Raúl." },
{ speaker: "dem", text: "¿Tu hermano pequeño... y vive aquí?" },
{ speaker: "sergio", text: "No, todavía vive en casa de mis padres, por ahora." },
{ speaker: "dem", text: "¿Por ahora?" },
{ speaker: "sergio", text: "Bueno, empezó la universidad en la ciudad y me pidió que viviera aquí mientras estudia." },
{ speaker: "dem", text: "Entonces vivirá aquí, ¿no? ¿Quizás sea un vecino?" },
{ speaker: "sergio", text: "Sí, bueno. ¿A qué te refieres?" },
{ speaker: "dem", text: "Ya lo sabes. Si vive en el edificio o tiene algún parentesco con él, es un objetivo. Haz una foto... de la foto." },
{ speaker: "sergio", text: "¡No voy a acostarme con mi hermano!" },
{ speaker: "dem", text: "Claro que lo vas a hacer. No te hagas el sorprendido. Lo has pensado más de una vez. Haz la foto y añádela a la lista." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[ // 12 → last step
{
text: "Tomas la foto",
action: function() {
State.variables.Raulcontacto = true;
State.variables.notaRaul1 = true;
State.variables.corrupcionRaul = 0;
State.variables.raulLlegadaTimestamp = State.variables.gameTotalMinutes || 0;
Engine.play("Salón");
}
}
]
]
});
});
<</script>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="habsergio" />
</div>
<<set $fotosalon = false>>
You pick up one of the few photographs you have at home. It shows you and your brother Raul on vacation a couple of years ago, before you grew apart. Then <span class="vibrando">your phone rings </span>. It's Dem.
<center><img src="images/Raul/fotoestante.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Dem?" },
{ speaker: "dem", text: "Who is that handsome kid?" },
{ speaker: "sergio", text: "He's my little brother, Raúl" },
{ speaker: "dem", text: "Your little brother... And he lives here?" },
{ speaker: "sergio", text: "No, he still lives at my parents' house, for now." },
{ speaker: "dem", text: "For now?" },
{ speaker: "sergio", text: "Well, he started university in the city and he asked me to live here while he studies." },
{ speaker: "dem", text: "So he'll live here, right? Maybe he's a neighbor?" },
{ speaker: "sergio", text: "Yeah, well. What are you implying?" },
{ speaker: "dem", text: "You already know. If he lives or is related to the building, he's a target. Take a picture... of the photo." },
{ speaker: "sergio", text: "I'm not going to fuck my brother!" },
{ speaker: "dem", text: "Of course you're going to do it. Don't act shocked. You've thought about it more than once. Take the photo and add it to the list." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[ // 12 → last step
{
text: "You take the photo",
action: function() {
State.variables.Raulcontacto = true;
State.variables.notaRaul1 = true;
State.variables.corrupcionRaul = 0;
State.variables.raulLlegadaTimestamp = State.variables.gameTotalMinutes || 0;
Engine.play("Salón");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/raul/Raul.png" alt="Raúl" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Raul')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Raúl Medina Sánchez</h2>
<p><strong>Edad:</strong> <<print $raulEdad || 19>> años</p>
<p><strong>Relación:</strong> Hermano pequeño</p>
<p><strong>Descripción:</strong><br>
<<print $raulComentario || "Estudiante universitario de física. Fan de la ciencia ficción y los videojuegos. No suele ser demasiado sociable excepto con su mejor amigo desde la infancia, Toni, un bonachón y grandullón joven con el que se abre totalmente.">></p>
<<if $RaulVisionUsada eq true>>
<p style="color: #88ccff; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Detrás de la pasividad y la timidez de Raúl hay una indiferencia total hacia el sexo. Puede que sea asexual, por lo que solo tendrá relaciones sexuales con alguien de su plena confianza.
</p>
<p style="color: orange; font-size: 24px; font-weight: bold; margin-top: 15px;">
Pecado Prominente: PEREZA
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente: <<if $raulDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/raul/Raul.png" alt="Raúl" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Raul')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Raúl Medina Sánchez</h2>
<p><strong>Age:</strong> <<print $raulEdad || 19>> years old</p>
<p><strong>Relationship:</strong> Little brother</p>
<p><strong>Description:</strong><br>
<<print $raulComentario || "University physics student. Fan of science fiction and video games. He's not usually very sociable except with his best friend since childhood, Toni, a good-natured and broad-shouldered young man with whom he opens up completely.">></p>
<<if $RaulVisionUsada eq true>>
<p style="color: #88ccff; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Behind Raúl's passivity and shyness lies a complete indifference towards sex. He may be asexual, meaning he will only engage sexually with someone he fully trusts.
</p>
<p style="color: orange; font-size: 24px; font-weight: bold; margin-top: 15px;">
Prominent Sin: SLOTH
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost: <<if $raulDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><span style="display:block; text-align:center; font-weight:bold; font-size:2em;">
<<if $idioma is "es">>MISIONES<<else>>MISSIONS<</if>>
</span>
<p><<if $idioma is "es">>Tus anotaciones personales:<<else>>Your personal notes:<</if>></p>
<!-- ============ DEM / GENERALES ============ -->
<<if $notaDem1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Dem')" style="cursor: pointer;">
<img src="images/dem.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Primeros pasos<<else>>First steps<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Conoce al menos cuatro de tus vecinos y hazles una foto">>
<<else>>
<<print $textoDemEN || "Meet at least four of your neighbors and take a photo of them">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaVisionsexual eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Dem')" style="cursor: pointer;">
<img src="images/dem.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Bajo la máscara<<else>>Under the mask<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Usa la aplicación con al menos diez vecinos.">>
<<else>>
<<print $textoDemEN || "Use the app with at least ten neighbors.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaDemFormafantasmal eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Dem')" style="cursor: pointer;">
<img src="images/dem.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Casper salido<<else>>Casper the horny ghost<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
Infiltrate en forma fantasmal en las casas de tus vecinos y cumple unos pequeños retos.
<<else>>
Infiltrate your neighbors' homes in ghost form and complete a few small challenges.
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaSemblante eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Dem')" style="cursor: pointer;">
<img src="images/dem.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Ser otro yo<<else>>Being another me<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Conviértete en cuatro personas distintas">>
<<else>>
<<print $textoDemEN || "Become four different people">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaExcitacion eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Dem')" style="cursor: pointer;">
<img src="images/dem.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Demasiado para ellos<<else>>Too much for them<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Excita tanto a cinco objetivos para que se corran en sus pantalones.">>
<<else>>
<<print $textoDemEN || "Excite five targets so much they ejaculate in their pants.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ ROCA ============ -->
<<if $notaRoca1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Roca')" style="cursor: pointer;">
<img src="images/Roca/roca.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El influencer de la manosfera<<else>>The Manosphere Influencer<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoRoca || "Obtén acceso a las cámaras de Roca.">>
<<else>>
<<print $textoRocaEN || "Get access to Roca's cameras.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaRoca2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Roca')" style="cursor: pointer;">
<img src="images/Roca/roca.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El influencer de la manosfera: Parte 2<<else>>The Manosphere Influencer: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoRoca2 || "Consigue que Roca genere un mejor contenido.">>
<<else>>
<<print $textoRoca2EN || "Get Roca to produce better content.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaRoca3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Roca')" style="cursor: pointer;">
<img src="images/Roca/roca.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El influencer de la manosfera: Parte 3<<else>>The Manosphere Influencer: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoRoca3 || "Contenido próximo.">>
<<else>>
<<print $textoRoca3EN || "Coming soon.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ AHMED ============ -->
<<if $notaAhmed1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Ahmed')" style="cursor: pointer;">
<img src="images/Ahmed/ahmed.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El rey de los kebabs<<else>>The king of kebabs<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAhmed || "Averigua los defectos y problemas del kebab y aprovéchate de ello.">>
<<else>>
<<print $textoAhmedEN || "Find out the flaws and problems of the kebab shop and take advantage of it.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAhmed2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Ahmed')" style="cursor: pointer;">
<img src="images/Ahmed/ahmed.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El rey de los kebabs: Parte 2<<else>>The King of Kebabs: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAhmed2 || "Hazle una nueva inspección con un nuevo rostro">>
<<else>>
<<print $textoAhmed2EN || "Give him a new inspection with a new face">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAhmed3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Ahmed')" style="cursor: pointer;">
<img src="images/Ahmed/ahmed.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El rey de los kebabs: Parte 3<<else>>The King of Kebabs: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAhmed3 || "Visítale como un famoso influencer">>
<<else>>
<<print $textoAhmed3EN || "Visit him like a famous influencer">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ HAMZA ============ -->
<<if $notaHamza1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Hamza')" style="cursor: pointer;">
<img src="images/Hamza/hamza.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Durum a domicilio<<else>>Durum at home<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoHamza || "Llama a Hamza a tu casa e intenta seducirle">>
<<else>>
<<print $textoHamzaEN || "Call Hamza to your house and try to seduce him">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaHamza2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Hamza')" style="cursor: pointer;">
<img src="images/Hamza/hamza.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Durum a domicilio: Parte 2<<else>>Durum at home: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoHamza2 || "Lleva a Hamza a una mejora en el servicio de reparto">>
<<else>>
<<print $textoHamza2EN || "Lead Hamza to an improvement in the delivery service">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaHamza3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Hamza')" style="cursor: pointer;">
<img src="images/Hamza/hamza.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Durum a domicilio: Parte 3<<else>>Durum at home: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoHamza3 || "Aumenta los extras en el servicio de reparto">>
<<else>>
<<print $textoHamza3EN || "Increase the extras in the delivery service">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ RAÚL ============ -->
<<if $notaRaul1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Raúl')" style="cursor: pointer;">
<img src="images/Raul/Raul.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El retorno del hermano<<else>>The brother's return<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Espera que regrese a casa y elimina tus barreras mentales.">>
<<else>>
<<print $textoDemEN || "Wait for him to come home and force yourself to see him differently.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaRaul2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Raúl')" style="cursor: pointer;">
<img src="images/Raul/Raul.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El retorno del hermano: Parte 2<<else>>The brother's return: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Genera una situación íntima y sexual entre Raúl y Toni.">>
<<else>>
<<print $textoDemEN || "Create an intimate and sexual situation between Raúl and Toni.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaRaul3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Raúl')" style="cursor: pointer;">
<img src="images/Raul/Raul.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El retorno del hermano: Parte 3<<else>>The brother's return: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Haz que Toni y Raúl follen entre ellos.">>
<<else>>
<<print $textoDemEN || "Get Toni and Raúl to fuck each other.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ NUEVOS VECINOS / ÁTICO ============ -->
<<if $notaatico1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Nuevos vecinos')" style="cursor: pointer;">
<img src="images/localizaciones/puertaatico.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Nuevos vecinos<<else>>New neighbors<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Accede a tu ordenador en tu habitación">>
<<else>>
<<print $textoDemEN || "Access your computer in your room">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaatico2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Nuevos vecinos')" style="cursor: pointer;">
<img src="images/localizaciones/puertaatico.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Nuevos vecinos: La llegada<<else>>New neighbors: The arrival<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Espera una semana para conocer a tus nuevos vecinos">>
<<else>>
<<print $textoDemEN || "Wait a week to meet your new neighbors">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ LEO ============ -->
<<if $notaLeo1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Leo')" style="cursor: pointer;">
<img src="images/Leo/leo.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Ni estudiar ni trabajar<<else>>Neither study nor work<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoLeo || "Consigue conectar con Leo">>
<<else>>
<<print $textoLeoEN || "Get in touch with Leo">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaLeo2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Leo')" style="cursor: pointer;">
<img src="images/Leo/leo.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Ni estudiar ni trabajar: Parte 2<<else>>Neither study nor work: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoLeo2 || "Rompe la burbuja de protección de Leo">>
<<else>>
<<print $textoLeo2EN || "Break Leo's protective bubble">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaLeo3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Leo')" style="cursor: pointer;">
<img src="images/Leo/leo.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Ni estudiar ni trabajar: Parte 3<<else>>Neither study nor work: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoLeo3 || "Muéstrale a Leo un posible trabajo">>
<<else>>
<<print $textoLeo3EN || "Show Leo a possible job">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ ADRIÁN ============ -->
<<if $notaAdrian1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Adrian')" style="cursor: pointer;">
<img src="images/Adrian/adrian.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El superhombre<<else>>The Superman<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAdrian || "Incita a Adrián a mostrar su cuerpo">>
<<else>>
<<print $textoAdrianEN || "Encourage Adrian to show off his body">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAdrian2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Adrian')" style="cursor: pointer;">
<img src="images/Adrian/adrian.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El superhombre: Parte 2<<else>>The Superman: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAdrian2 || "Convence a Adrián para que dé un vuelco a su profesión">>
<<else>>
<<print $textoAdrian2EN || "Convince Adrian to make a drastic change in his profession">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAdrian3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Adrian')" style="cursor: pointer;">
<img src="images/Adrian/adrian.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El superhombre: Parte 3<<else>>The Superman: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAdrian3 || "Transforma a Adrián en una copia de su padre.">>
<<else>>
<<print $textoAdrian3EN || "Transform Adrian into a copy of his father.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ RAFAEL ============ -->
<<if $notaRafael1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Rafael')" style="cursor: pointer;">
<img src="images/Rafael/rafa.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Figura de autoridad<<else>>Authority figure<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoRafael || "Radicaliza a Rafael">>
<<else>>
<<print $textoRafaelEN || "Radicalize Rafael">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaRafael2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Rafael')" style="cursor: pointer;">
<img src="images/Rafael/rafa.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Figura de autoridad: Parte 2<<else>>Authority figure: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoRafael2 || "Incentiva a que Rafael tome la justicia por su mano">>
<<else>>
<<print $textoRafael2EN || "Encourage Rafael to take justice into his own hands">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaRafael3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Rafael')" style="cursor: pointer;">
<img src="images/Rafael/rafa.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Figura de autoridad: Parte 3<<else>>Authority figure: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoRafael3 || "Conviértele en el protector del barrio">>
<<else>>
<<print $textoRafael3EN || "Make him the protector of the neighborhood">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ DAMIÁN ============ -->
<<if $notaDamian1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Damián')" style="cursor: pointer;">
<img src="images/Damian/damian.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Deportista de élite<<else>>Elite athlete<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDamian || "Muestra a Damián otros modos de hacer equipo">>
<<else>>
<<print $textoDamianEN || "Show Damián other ways of being a team player">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaDamian2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Damián')" style="cursor: pointer;">
<img src="images/Damian/damian.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Deportista de élite: Parte 2<<else>>Elite athlete: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDamian2 || "Soluciona las tensiones dentro del equipo">>
<<else>>
<<print $textoDamian2EN || "Resolve tensions within the team">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaDamian3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Damián')" style="cursor: pointer;">
<img src="images/Damian/damian.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Deportista de élite: Parte 3<<else>>Elite athlete: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDamian3 || "Mejora la relación entre Damián y su entrenador.">>
<<else>>
<<print $textoDamian3EN || "Improve the relationship between Damián and his coach.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ ALEX ============ -->
<<if $notaAlex1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Alex')" style="cursor: pointer;">
<img src="images/Alex/alex.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Esta mierda es buena<<else>>This shit is good<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAlex || "Regálale a Alex una variedad de hierba que le encante">>
<<else>>
<<print $textoAlexEN || "Give Alex a variety of weed that he'll love">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAlex2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Alex')" style="cursor: pointer;">
<img src="images/Alex/alex.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Esta mierda es buena: Parte 2<<else>>This shit is good: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAlex2 || "Conviértete en el traficante de confianza de Alex y sus amigos.">>
<<else>>
<<print $textoAlex2EN || "Become the trusted dealer of Alex and his friends.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAlex3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Alex')" style="cursor: pointer;">
<img src="images/Alex/alex.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Esta mierda es buena: Parte 3<<else>>This shit is good: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAlex3 || "Crea escasez de hierba">>
<<else>>
<<print $textoAlex3EN || "Create a shortage of weed">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ ERNESTO ============ -->
<<if $notaErnesto1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Ernesto')" style="cursor: pointer;">
<img src="images/Ernesto/ernesto.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Sangre caliente<<else>>Hot blooded<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoErnesto || "Expón ante su mujer sus infidelidades">>
<<else>>
<<print $textoErnestoEN || "Expose his infidelities to his wife">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaErnesto2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Ernesto')" style="cursor: pointer;">
<img src="images/Ernesto/ernesto.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Sangre caliente: Parte 2<<else>>Hot blooded: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoErnesto2 || "Enséñale a Ernesto otros modos de liberarse de su líbido.">>
<<else>>
<<print $textoErnesto2EN || "Teach Ernesto other ways to release his libido.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaErnesto3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Ernesto')" style="cursor: pointer;">
<img src="images/Ernesto/ernesto.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Sangre caliente: Parte 3<<else>>Hot blooded: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoErnesto3 || "Convence a Ernesto para que tenga sexo contigo">>
<<else>>
<<print $textoErnesto3EN || "Convince Ernesto to have sex with you">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ JUANAN ============ -->
<<if $notaJuanan1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Juanan')" style="cursor: pointer;">
<img src="images/Juanan/juanan.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Soledad involuntaria<<else>>Involuntary loneliness<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoJuanan || "Habla sobre su soltería con unas cervezas">>
<<else>>
<<print $textoJuananEN || "Talk about his single life over some beers">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaJuanan2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Juanan')" style="cursor: pointer;">
<img src="images/Juanan/juanan.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Soledad involuntaria: Parte 2<<else>>Involuntary loneliness: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoJuanan2 || "Habla sobre lo sucedido en el baño del kebab">>
<<else>>
<<print $textoJuanan2EN || "Talk to him about what happened in the kebab bathroom">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaJuanan3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Juanan')" style="cursor: pointer;">
<img src="images/Juanan/juanan.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Soledad involuntaria: Parte 3<<else>>Involuntary loneliness: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoJuanan3 || "Derriba la última barrera de su heterosexualidad">>
<<else>>
<<print $textoJuanan3EN || "Break down the last barrier of his heterosexuality">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ TAO ============ -->
<<if $notaTao1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Tao')" style="cursor: pointer;">
<img src="images/Tao/tao.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Hijo de papá<<else>>Daddy's boy<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoTao || "Dale a Tao información sobre sexualidad">>
<<else>>
<<print $textoTaoEN || "Give Tao information about sexuality">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaTao2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Tao')" style="cursor: pointer;">
<img src="images/Tao/tao.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Hijo de papá: Parte 2<<else>>Daddy's boy: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoTao2 || "Excita a Tao cuando no sea consciente">>
<<else>>
<<print $textoTao2EN || "Excite Tao when he is not conscious">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaTao3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Tao')" style="cursor: pointer;">
<img src="images/Tao/tao.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Hijo de papá: Parte 3<<else>>Daddy's boy: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoTao3 || "Vuelve a visitar a Tao por las noches">>
<<else>>
<<print $textoTao3EN || "Visit Tao again at night">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ TOMÁS ============ -->
<<if $notaTomas1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Tomás')" style="cursor: pointer;">
<img src="images/Tomas/tomas.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Regreso a los buenos tiempos<<else>>Back to the good times<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoTomas || "Descubre quién puede ser la ayuda de Tomás">>
<<else>>
<<print $textoTomasEN || "Find out who can help Tomás">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaTomas2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Tomás')" style="cursor: pointer;">
<img src="images/Tomas/tomas.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Regreso a los buenos tiempos: Parte 2<<else>>Back to the good times: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoTomas2 || "Lesiona a Tomás para que pida la ayuda">>
<<else>>
<<print $textoTomas2EN || "Injure Tomás so that he will ask for help.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaTomas3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Tomás')" style="cursor: pointer;">
<img src="images/Tomas/tomas.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>Regreso a los buenos tiempos: Parte 3<<else>>Back to the good times: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoTomas3 || "Hazle recordar a Tomás lo que es el contacto íntimo.">>
<<else>>
<<print $textoTomas3EN || "Remind Tomás what intimate contact is.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ ABEL ============ -->
<<if $notaAbel1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Abel')" style="cursor: pointer;">
<img src="images/Abel/abel.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El nieto mimado<<else>>The spoiled grandson<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Descubre lo que esconde la mente de Abel">>
<<else>>
<<print $textoDemEN || "Discover what lies hidden in Abel's mind">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAbel2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Abel')" style="cursor: pointer;">
<img src="images/Abel/abel.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El nieto mimado: Parte 2<<else>>The spoiled grandson: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoDem || "Comparte a Abel con el resto de vecinos del edificio">>
<<else>>
<<print $textoDemEN || "Share Abel with the rest of the building's residents">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ SEAN ============ -->
<<if $notaSean1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Sean')" style="cursor: pointer;">
<img src="images/Sean/sean.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante irlandés<<else>>The Irish student<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoSean || "Acuéstate con Sean">>
<<else>>
<<print $textoSeanEN || "Sleep with Sean">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaSean2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Sean')" style="cursor: pointer;">
<img src="images/Sean/sean.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante irlandés: Parte 2<<else>>The Irish student: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoSean2 || "Acuéstate de nuevo con Sean, pero en tu territorio.">>
<<else>>
<<print $textoSean2EN || "Sleep with Sean again, but on your turf.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaSean3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Sean')" style="cursor: pointer;">
<img src="images/Sean/sean.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante irlandés: Parte 3<<else>>The Irish student: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoSean3 || "Desvírga con una polla de verdad el culo de Sean.">>
<<else>>
<<print $textoSean3EN || "Pop Sean's cherry with a real cock.">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ ADLER ============ -->
<<if $notaAdler1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Adler')" style="cursor: pointer;">
<img src="images/Adler/adler.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante alemán<<else>>The German student<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAdler || "Obtén más información sobre Adler en su casa">>
<<else>>
<<print $textoAdlerEN || "Get more information about Adler at his place">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAdler2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Adler')" style="cursor: pointer;">
<img src="images/Adler/adler.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante alemán: Parte 2<<else>>The German student: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAdler || "Regresa a la fiesta y haz que Adler se vengue del chivato">>
<<else>>
<<print $textoAdlerEN || "Go back to the party and have Adler get revenge on the snitch.">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaAdler3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Adler')" style="cursor: pointer;">
<img src="images/Adler/adler.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante alemán: parte 3<<else>>The German student: part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoAdler || "Haz que Adler castigue a uno de sus compañeros de piso">>
<<else>>
<<print $textoAdlerEN || "Have Adler punish one of his roommates">>
<</if>>
</p>
</div>
</div>
<</if>>
<!-- ============ FRANCESCO ============ -->
<<if $notaFrancesco1 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Francesco')" style="cursor: pointer;">
<img src="images/Francesco/francesco.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante italiano<<else>>The Italian student<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoFrancesco || "Obtén más información sobre Francesco en su casa">>
<<else>>
<<print $textoFrancescoEN || "Get more information about Francesco at his place">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaFrancesco2 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Francesco')" style="cursor: pointer;">
<img src="images/Francesco/francesco.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante italiano: Parte 2<<else>>The Italian student: Part 2<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoFrancesco2 || "Convéncele para que se registre en una app de citas gays">>
<<else>>
<<print $textoFrancesco2EN || "Convince him to sign up for a gay dating app">>
<</if>>
</p>
</div>
</div>
<</if>>
<<if $notaFrancesco3 eq true>>
<div class="note-card" onclick="window.openAppDirect('Misiones de Francesco')" style="cursor: pointer;">
<img src="images/Francesco/francesco.png" alt="<<if $idioma is 'es'>>Nota<<else>>Note<</if>>" class="note-icon">
<div class="note-content">
<div class="note-title"><<if $idioma is "es">>El estudiante italiano: Parte 3<<else>>The Italian student: Part 3<</if>></div>
<p class="note-text">
<<if $idioma is "es">>
<<print $textoFrancesco3 || "¡Desvírgalo!">>
<<else>>
<<print $textoFrancesco3EN || "Take his virginity!">>
<</if>>
</p>
</div>
</div>
<</if>><<if $notaDem1 eq true>>
<<set _contactosActuales to 0>>
<<set _contactosArray to [$Raulcontacto, $Sergiocontacto, $Alexcontacto, $Leocontacto, $Adriancontacto, $Rafaelcontacto, $Tomascontacto, $Adlercontacto, $Taocontacto, $Juanancontacto, $Francescocontacto, $Seancontacto, $Hamzacontacto, $Ahmedcontacto, $Damiancontacto, $Ernestocontacto, $Abelcontacto, $Rocacontacto]>>
<<for _i to 0; _i lt _contactosArray.length; _i++>><<if _contactosArray[_i] eq true>><<set _contactosActuales++>><</if>><</for>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">Date una vuelta por el edificio, toca algunas puertas o baja algunas escaleras para conocer a al menos cuatro vecinos y, disimuladamente, hazles una foto con tu nuevo móvil. Agrega a tus vecinos en tus contactos para tenerlos controlados y conocer trucos para poder corromperlos.</span>
<div style="margin-top: 15px; padding: 10px; background: rgba(46, 204, 113, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #2ecc71; font-weight: bold;">Progreso: _contactosActuales / 4 contactos</span></div>
<<else>>
<span style="font-size: 1.5em;">Take a walk around the building, knock on some doors, or go down some stairs to meet at least four neighbors and surreptitiously take a photo of them with your new phone. Add your neighbors to your contacts to keep an eye on them and learn tricks to corrupt them.</span>
<div style="margin-top: 15px; padding: 10px; background: rgba(46, 204, 113, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #2ecc71; font-weight: bold;">Progress: _contactosActuales / 4 contacts</span></div>
<</if>>
<</if>>
<<if $notaVisionsexual eq true>>
<<set _visionesActuales to 0>>
<<set _visionesArray to [$RafaVisionUsada, $LeoVisionUsada, $AdrianVisionUsada, $AlexVisionUsada, $SeanVisionUsada, $AdlerVisionUsada, $FrancescoVisionUsada, $TomasVisionUsada, $RaulVisionUsada, $DamianVisionUsada, $ErnestoVisionUsada, $JuananVisionUsada, $TaoVisionUsada, $AhmedVisionUsada, $HamzaVisionUsada, $AbelVisionUsada, $RocaVisionUsada]>>
<<for _i to 0; _i lt _visionesArray.length; _i++>><<if _visionesArray[_i] eq true>><<set _visionesActuales++>><</if>><</for>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">Esta es una misión sencilla. Usa la app y aprende como son los cuerpos y las mentes desnudas de tus objetivos. Disfruta de sus secretos y de sus pollas empalmadas.</span>
<div style="margin-top: 15px; padding: 10px; background: rgba(52, 152, 219, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #3498db; font-weight: bold;">Progreso: _visionesActuales / 10 análisis</span></div>
<<else>>
<span style="font-size: 1.5em;">This is a simple mission. Use the app and learn about the naked bodies and minds of your targets. Enjoy their secrets and their hard cocks.</span>
<div style="margin-top: 15px; padding: 10px; background: rgba(52, 152, 219, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #3498db; font-weight: bold;">Progress: _visionesActuales / 10 scans</span></div>
<</if>>
<</if>>
<<if $notaExcitacion eq true>>
<<set _eyaculacionesActuales to 0>>
<<set _eyaculacionesArray to [$RafaEyaculado, $LeoEyaculado,$RocaEyaculado, $AdrianEyaculado, $AlexEyaculado, $SeanEyaculado, $RaulEyaculado, $AdlerEyaculado, $FrancescoEyaculado, $TomasEyaculado, $DamianEyaculado, $ErnestoEyaculado, $JuananEyaculado, $TaoEyaculado, $AhmedEyaculado, $HamzaEyaculado, $AbelEyaculado, $RocaEyaculado]>>
<<for _i to 0; _i lt _eyaculacionesArray.length; _i++>><<if _eyaculacionesArray[_i] eq true>><<set _eyaculacionesActuales++>><</if>><</for>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">El buen uso de esta app es poner cachondos a tus objetivos para que sean más proclives a follar contigo. Pero te dejaré divertirte un rato y verles la cara que ponen cuando noten como manchan su ropa interior de su propio esperma.</span>
<div style="margin-top: 15px; padding: 10px; background: rgba(231, 76, 60, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #e74c3c; font-weight: bold;">Progreso: _eyaculacionesActuales / 5 eyaculaciones</span></div>
<<else>>
<span style="font-size: 1.5em;">The proper use of this app is to turn on your targets so they're more likely to sleep with you. But I'll let you have some fun and see the look on their faces when they notice their underwear getting stained with their own semen.</span>
<div style="margin-top: 15px; padding: 10px; background: rgba(231, 76, 60, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #e74c3c; font-weight: bold;">Progress: _eyaculacionesActuales / 5 ejaculations</span></div>
<</if>>
<</if>>
<<if $notaSemblante eq true>>
<<set _semblantesActuales to 0>>
<<set _semblantesArray to [$semblanteNinoRevoltoso, $semblantePatinador, $semblanteBibliotecaria, $semblanteGuardaespaldas]>>
<<for _i to 0; _i lt _semblantesArray.length; _i++>><<if _semblantesArray[_i] eq true>><<set _semblantesActuales++>><</if>><</for>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">Necesitas aprender a usar esta app, así que te pongo estos cuatro retos. Conviértete en estos cuatro personajes:</span>
<div style="margin-top: 10px; padding-left: 20px;">
<div style="margin: 8px 0;"><<if $semblanteNinoRevoltoso eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Un niño algo pillo</span></div>
<div style="margin: 8px 0;"><<if $semblanteBibliotecaria eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Una bibliotecaria gruñona</span></div>
<div style="margin: 8px 0;"><<if $semblantePatinador eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Un skater sexy</span></div>
<div style="margin: 8px 0;"><<if $semblanteGuardaespaldas eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Un guardaespaldas aterrador</span></div>
</div>
<div style="margin-top: 15px; padding: 10px; background: rgba(155, 89, 182, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #9b59b6; font-weight: bold;">Progreso: _semblantesActuales / 4 semblantes</span></div>
<<else>>
<span style="font-size: 1.5em;">You need to learn to use this app, so I'm giving you these four challenges. Become these four characters:</span>
<div style="margin-top: 10px; padding-left: 20px;">
<div style="margin: 8px 0;"><<if $semblanteNinoRevoltoso eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">A mischievous kid</span></div>
<div style="margin: 8px 0;"><<if $semblanteBibliotecaria eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">A grumpy librarian</span></div>
<div style="margin: 8px 0;"><<if $semblantePatinador eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">A sexy skater</span></div>
<div style="margin: 8px 0;"><<if $semblanteGuardaespaldas eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">A terrifying bodyguard</span></div>
</div>
<div style="margin-top: 15px; padding: 10px; background: rgba(155, 89, 182, 0.2); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #9b59b6; font-weight: bold;">Progress: _semblantesActuales / 4 appearances</span></div>
<</if>>
<</if>>
<<if $notaDemFormafantasmal eq true>>
<<set _fantasmaActuales to 0>>
<<set _fantasmaArray to [$fantasmaducha, $fantasmapaja, $fantasmacalzoncillo, $fantasmacorrida]>>
<<for _i to 0; _i lt _fantasmaArray.length; _i++>><<if _fantasmaArray[_i] eq true>><<set _fantasmaActuales++>><</if>><</for>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">Infiltrate en forma fantasmal en las casas de tus vecinos y cumple estas pequeñas pruebas:</span>
<div style="margin-top: 10px; padding-left: 20px;">
<div style="margin: 8px 0;"><<if $fantasmaducha eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Espía a un objetivo duchándose</span></div>
<div style="margin: 8px 0;"><<if $fantasmacalzoncillo eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Roba una prenda de ropa interior</span></div>
<div style="margin: 8px 0;"><<if $fantasmapaja eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Disfruta de ver una paja</span></div>
<div style="margin: 8px 0;"><<if $fantasmacorrida eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Córrete sobre la cara de un durmiente.</span></div>
</div>
<div style="margin-top: 15px; padding: 10px; background: rgba(52, 73, 94, 0.4); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #bdc3c7; font-weight: bold;">Progreso: _fantasmaActuales / 4 pruebas</span></div>
<<else>>
<span style="font-size: 1.5em;">Infiltrate in ghost form into your neighbors' homes and complete these small challenges:</span>
<div style="margin-top: 10px; padding-left: 20px;">
<div style="margin: 8px 0;"><<if $fantasmaducha eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Spy on a target while they shower</span></div>
<div style="margin: 8px 0;"><<if $fantasmacalzoncillo eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Steal a piece of underwear</span></div>
<div style="margin: 8px 0;"><<if $fantasmapaja eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Enjoy watching someone pleasure themselves</span></div>
<div style="margin: 8px 0;"><<if $fantasmacorrida eq true>><span style="color: #2ecc71; font-size: 1.2em;">✓</span><<else>><span style="color: #95a5a6; font-size: 1.2em;">○</span><</if>><span style="font-size: 1.2em; margin-left: 10px;">Finish on a neighbor's sleeping face</span></div>
</div>
<div style="margin-top: 15px; padding: 10px; background: rgba(52, 73, 94, 0.4); border-radius: 8px; text-align: center;"><span style="font-size: 1.3em; color: #bdc3c7; font-weight: bold;">Progress: _fantasmaActuales / 4 challenges</span></div>
<</if>>
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<<if $notaRaul1 eq true>>
<span style="font-size: 1.5em;">Tu hermano va a vivir en tu casa. Al fin y al cabo también es suya y, como sabes, al estar dentro del edificio es un objetivo. Espera a que venga y oblígate a verle con otros ojos.</span>
<</if>>
<<if $notaRaul3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO.</span>
<</if>>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<<if $notaRaul1 eq true>>
<span style="font-size: 1.5em;">Your brother is going to live in your house. After all, it's his too — and as you know, being inside the building makes him a target. Wait for him to arrive and force yourself to see him in a new light.</span>
<</if>>
<<if $notaRaul3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>><<if window.isFiesta3AActive && window.isFiesta3AActive()>><<run window.showFiesta3AOverlay()>><</if>>
<<if $idioma is "es">>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
Es indudable de que te encuentras en el rellano del tercer piso. Está repleto de diversas plantas, bastante cuidadas por el anciano matrimonio del 3B, Tomás y Maite. En el extremo opuesto, está el 3A, quebradero de cabeza por el exceso de ruido que los tres estudiantes de Erasmus producen en sus fiestas nocturnas.
[[Subir al ático|Rellano del 4º]]
[[Bajar al segundo|Rellano del 2º]]
[[Bajar al primero|Rellano del 1º]]
[[Bajar al portal|Portal]]
[[Puerta 3A]]
[[Puerta 3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
You're undoubtedly on the third-floor landing. It's full of various plants, quite well cared for by the elderly couple from 3B, Tomás and Maite. At the opposite end is 3A, a source of constant worry due to the excessive noise generated by the three Erasmus students' late-night parties.
[[Go up to the fourth floor|Rellano del 4º]]
[[Go down to the second floor|Rellano del 2º]]
[[Go down to the first floor|Rellano del 1º]]
[[Go down to the entrance|Portal]]
[[Door 3A|Puerta 3A]]
[[Door 3B|Puerta 3B]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="habsergio" />
</div>
<<if visited() is 1 and $Alexcontacto is false>>
Desciendes por las escaleras y un intenso aroma a marihuana invade tus fosas nasales. En la escalera, entre el primer piso y el segundo, se encuentra el hijo menor de los del 1A fumándose un porro.
<center><img src="images/Alex/alexrellano.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#c0392b",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "alex", text: "¿Que miras?" },
{ speaker: "sergio", text: "Yo... yo nada. Solo pasaba hacia el portal" },
{ speaker: "alex", text: "<em>Le da una calada al cigarro.</em> ¿Te molesta el porro?" },
{ speaker: "sergio", text: "En absoluto. Solo bajaba." },
{ speaker: "alex", text: "<em>Le da otra calada y vuelve a mirar ceñudo.</em> No se puede estar tranquilo ni en una puta escalera." },
{ speaker: "alex", text: "<em>Se levanta y apreta el botón del ascensor.</em>" },
{ speaker: "sergio", text: "<em>Aprovechas y, sin que se de cuenta, le haces una foto.</em>" },
{ speaker: "alex", text: "<em>El ascensor llega. Alex entre y vuelve a lanzar una mirada agresiva.</em>" },
{ speaker: "alex", text: "Capullo" }
],
options: [
[],
[],
[],
[],
[],
[
{
text: "Foto realizada",
action: function() {
State.variables.Alexcontacto = true;
State.variables.notaAlex1 = true;
State.variables.corrupcionAlex = 0;
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Es inconfundible que estamos en el rellano del primer piso. Hay cierto olor a marihuana, que viene del 1A y se expande por ese piso. Alli viven la familia Rodríguez Cabrera, de origen cubano.
Enfrente, en el 1B y al lado de la puerta, hay un dibujo emborronado de un pokemos que nunca pudo eliminarse. Allí viven los Altavert Corral, Juanan y su hijo Tao.
[[Subir al ático|Rellano del 4º]]
[[Subir al tercero|Rellano del 3º]]
[[Subir al segundo|Rellano del 2º]]
[[Bajar al portal|Portal]]
[[Puerta 1A]]
[[Puerta 1B]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano1" />
</div>
<<if visited() is 1 and $Alexcontacto is false>>
You descend the stairs and an intense aroma of marijuana fills your nostrils. On the staircase between the first and second floors, the youngest son from apartment 1A is smoking a joint.
<center><img src="images/Alex/alexrellano.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "alex", text: "What are you looking at?" },
{ speaker: "sergio", text: "I... Nothing. I was just walking towards the entrance." },
{ speaker: "alex", text: "<em>He takes a drag of his cigarette.</em> Does the joint bother you?" },
{ speaker: "sergio", text: "Not at all. I was just going down." },
{ speaker: "alex", text: "<em>He takes another drag and glares again.</em> You can't even have peace on a damn staircase." },
{ speaker: "alex", text: "<em>He gets up and presses the elevator button.</em>" },
{ speaker: "sergio", text: "<em>You take advantage of the situation and, without him noticing, snap a picture.</em>" },
{ speaker: "alex", text: "<em>The elevator arrives. Alex gets in and gives you another aggressive look.</em>" },
{ speaker: "alex", text: "Asshole" }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[ // 9
{
text: "Photo taken",
action: function() {
State.variables.Alexcontacto = true;
State.variables.notaAlex1 = true;
State.variables.corrupcionAlex = 0;
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
It's unmistakable that we're on the first-floor landing. There's a faint smell of marijuana, coming from apartment 1A and spreading through this floor. The Rodríguez Cabrera family, originally from Cuba, lives there.
Across the way, in apartment 1B and next to the door, there's a blurred drawing of a Pokémon that could never be removed. The Altavert Corral family lives there: Juanan and his son Tao.
[[Go up to the fouth floor|Rellano del 4º]]
[[Go up to the third floor|Rellano del 3º]]
[[Go up to the second floor|Rellano del 2º]]
[[Go down to the entrance|Portal]]
[[Door 1A|Puerta 1A]]
[[Door 1B|Puerta 1B]]
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<if setup.checkTomasLesion()>>
<<goto "Tomasregresahospital">>
<</if>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
<<if $notaDem1 and visited() is 1>>
Nada más pisar el portal, <span class="vibrando">el móvil empieza a vibrar</span> Es una llamada de Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "¿No estarás pensando en marcharte del edificio, no?" },
{ speaker: "sergio", text: "Espera, ¿Me estás espiando? ¿Estoy encerrado?" },
{ speaker: "dem", text: "¡Pues claro! Aunque yo no diría que es espionaje. Más bien, tutelaje" },
{ speaker: "sergio", text: "¿Por qué no puedo salir?" },
{ speaker: "dem", text: "No, no puedes por ahora, pero te has comprometido al coger ese móvil. Tienes unos objetivos a los que corromper. Además, tu móvil no tendrá poder allá fuera." },
{ speaker: "sergio", text: "¿Y eso que importa?" },
{ speaker: "dem", text: "Pues que ahora estás ligado a él. No te preocupes. No tendrás que comer ni que dormir mientras lo lleves. Ahora tu único objetivo es corromper a tus vecinos." },
{ speaker: "sergio", text: "Eso no lo sabía" },
{ speaker: "dem", text: "¿Pensabas que un pacto con un demonio no vendría con condiciones? Te prometo que vas a pasártelo bien, pero debes centrarte en lo importante." },
{ speaker: "dem", text: "Cumple mis misiones. Las podrás ver en la parte de notas del móvil. Cada vez que uses tus poderes prestados podremos extender el área de efecto y tu tendrás un campo de juegos más grande." },
{ speaker: "sergio", text: "Ok, entendido" }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Guardas el móvil",
action: function() {
Engine.play("Portal");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
El portal no es más misterioso que el de cientos de edificios iguales por la manzana. La puerta al exterior. El cuarto de fusibles y tuberías y los buzones para el correo.
[[Subir al ático|Rellano del 4º]]
[[Subir al tercero|Rellano del 3º]]
[[Subir al segundo|Rellano del 2º]]
[[Subir al primero|Rellano del 1º]]
[[Ver los buzones|buzones]]
<<if $appsdesbloqueadas >= 1>>
[[Salir a la calle|Exterior]]
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<if setup.checkTomasLesion()>>
<<goto "Tomasregresahospital">>
<</if>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
<<if $notaDem1 and visited() is 1>>
As soon as you step into the entrance hall, <span class="vibrando">the phone starts vibrating</span> It's a call from Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "You're not thinking about leaving the building, are you?" },
{ speaker: "sergio", text: "Wait, are you spying on me? Am I locked in?" },
{ speaker: "dem", text: "Of course! Although I wouldn't call it spying. More like... mentoring" },
{ speaker: "sergio", text: "Why can't I leave?" },
{ speaker: "dem", text: "No, you can't for now, but you made a commitment when you took that phone. You have targets to corrupt. Besides, your phone won't have any power out there." },
{ speaker: "sergio", text: "Why does that matter?" },
{ speaker: "dem", text: "Because now you're bound to it. Don't worry. You won't need to eat or sleep while you're carrying it. Now your only goal is to corrupt your neighbors." },
{ speaker: "sergio", text: "I didn't know that" },
{ speaker: "dem", text: "Did you think a pact with a demon wouldn't come with conditions? I promise you're going to have a good time, but you must focus on what's important." },
{ speaker: "dem", text: "Complete my missions. You can see them in the notes section of your phone. Every time you use your borrowed powers, we can extend the area of effect and you'll have a bigger playground." },
{ speaker: "sergio", text: "Ok, understood" }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Put away the phone",
action: function() {
Engine.play("Portal");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
The entrance hall is no more mysterious than hundreds of identical buildings on the block. The door to the outside. The fuse box and pipes and the mailboxes.
[[Go up to the attic|Rellano del 4º]]
[[Go up to the third floor|Rellano del 3º]]
[[Go up to the second floor|Rellano del 2º]]
[[Go up to the first floor|Rellano del 1º]]
[[Check the mailboxes|buzones]]
<<if $appsdesbloqueadas >= 1>>
[[Go out to the street|Exterior]]
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano2.png" alt="habsergio" />
</div>
Te acercas a la puerta del 2B. Tus vecinos de enfrente.
<center><img src="images/localizaciones/puerta2B.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('recibidor2B')>><</link>>
<</if>>
[[Tocas el timbre|timbre2B]]
[[Decides marcharte|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano2.png" alt="habsergio" />
</div>
You approach the door of apartment 2B. Your neighbors across the hall.
<center><img src="images/localizaciones/puerta2B.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('recibidor2B')>><</link>>
<</if>>
[[You ring the doorbell|timbre2B]]
[[You decide to leave|Rellano del 2º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano1" />
</div>
Te acercas a la puerta del 1A. Tus vecinos de abajo. La familia cubana de los Rodríguez Cabrera.
<center><img src="images/localizaciones/puerta1A.png" width="400"></center>
[[Tocas el timbre|timbre1A]]
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('recibidor1A')>><</link>>
<</if>>
[[Decides marcharte|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano1" />
</div>
You approach the door of apartment 1A. Your downstairs neighbors. The Cuban Rodríguez Cabrera family.
<center><img src="images/localizaciones/puerta1A.png" width="400"></center>
[[You ring the doorbell|timbre1A]]
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('recibidor1A')>><</link>>
<</if>>
[[You decide to leave|Rellano del 1º]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano1" />
</div>
Te acercas a la puerta del 1B. Aquí viven el simpático Juanan y su hijo adoptado Tao.
<center><img src="images/localizaciones/puerta1B.png" width="400"></center>
[[Tocas el timbre|timbre1B]]
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('recibidor1B')>><</link>>
<</if>>
[[Decides marcharte|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano1" />
</div>
You approach the door of apartment 1B. The friendly Juanan and his adopted son Tao live here.
<center><img src="images/localizaciones/puerta1B.png" width="400"></center>
[[You ring the doorbell|timbre1B]]
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('recibidor1B')>><</link>>
<</if>>
[[You decide to leave|Rellano del 1º]]
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Alex/alex.png" alt="Alex" class="profile-image">
<!-- Botón de Horarios bajo la imagen -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Alex')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 <<if $idioma is "es">>Ver Horario Semanal<<else>>View Weekly Schedule<</if>>
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Alejandro Rodríguez Cabrera</h2>
<p><strong>Edad:</strong> <<print $raulEdad || 20>> años</p>
<p><strong>Relación:</strong> Porrero del 1A</p>
<p><strong>Descripción:</strong><br>
<<print $alexComentario || "Desagradable como nadie en el edificio, el hijo menor de los Rodríguez Cabrera es un joven obsesionado con fumar porros, beber alcohol y odiar el mundo. Claramente está enganchado a la marihuana y a todo lo que le haga la elusión de su vida más fácil.">></p>
<<if $AlexVisionUsada eq true>>
<p style="color: blue; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Alex puede que sea huraño, pero no es tonto. La estructura de su casa se desmorona y él huye a través de las drogas y el alcohol. Aceptará una nueva salida psicoactiva, siempre y cuanto no provenga de nadie que conozca y sea en un entorno lejos de sus padres.
</p>
<p style="color: orange; font-size: 24px; font-weight: bold; margin-top: 15px;">
Pecado Prominente: GULA
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $alexDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Alex/alex.png" alt="Alex" class="profile-image">
<!-- Botón de Horarios bajo la imagen -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Alex')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 <<if $idioma is "es">>Ver Horario Semanal<<else>>View Weekly Schedule<</if>>
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Alejandro Rodríguez Cabrera</h2>
<p><strong>Age:</strong> <<print $raulEdad || 20>> years</p>
<p><strong>Relationship:</strong> Stoner from 1A</p>
<p><strong>Description:</strong><br>
<<print $alexComentario || "As unpleasant as anyone in the building, the youngest son of the Rodríguez Cabrera family is a young man obsessed with smoking pot, drinking alcohol, and hating the world. He's clearly hooked on marijuana and anything that makes escaping his life easier.">></p>
<<if $AlexVisionUsada eq true>>
<p style="color: blue; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Alex may be withdrawn, but he's not stupid. The structure of his home is crumbling, and he's escaping through drugs and alcohol. He'll accept a new psychoactive outlet, as long as it doesn't come from anyone he knows and is in an environment far from his parents.
</p>
<p style="color: orange; font-size: 24px; font-weight: bold; margin-top: 15px;">
Prominent Sin: GLUTTONY
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $alexDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Leo/leo.png" alt="Leo" class="profile-image">
<!-- Botón de Horarios bajo la imagen -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Leo')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Leo Ruiz Villar</h2>
<p><strong>Edad:</strong> <<print $raulEdad || 19>> años</p>
<p><strong>Relación:</strong> Nini del 2B</p>
<p><strong>Descripción:</strong><br>
<<print $leoComentario || "Leo es un nini de manual. Dejo los estudios y no espera ni busca encontrar trabajo, para desgracia de sus padres. Puede parecer un chico tímido, pero es todo lo contrario, simplemente no le importas lo suficiente para dedicarte tiempo. Prefiere conectarse a internet y jugar horas y horas online, el único modo de poder conectar con él.">></p>
<<if $LeoVisionUsada eq true>>
<p style="color: blue; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Que Leo no mueva ni un músculo para buscar una pareja sexual no es indicativo de que no le apetezca tener sexo. Simplemente el esfuerzo de conocer a alguien y salir de la seguridad de su cuarto le parece una odisea. Si por el contrario el sexo le llega a su casa...
</p>
<p style="color: blue; font-size: 24px; font-weight: bold; margin-top: 15px;">
Pecado Prominente: PEREZA
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $leoDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Leo/leo.png" alt="Leo" class="profile-image">
<!-- Schedule Button under image -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Leo')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 View Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Leo Ruiz Villar</h2>
<p><strong>Age:</strong> <<print $raulAge || 19>> years</p>
<p><strong>Relationship:</strong> Nini from 2B</p>
<p><strong>Description:</strong><br>
<<print $leoComment || "Leo is a textbook NEET. He dropped out of school and isn't expecting or looking for a job, much to his parents' dismay. He might seem like a shy guy, but he's the complete opposite; he simply doesn't care enough about you to dedicate time to you. He prefers to go online and play games for hours on end, the only way to connect with him.">></p>
<<if $LeoVisionUsada eq true>>
<p style="color: blue; font-size: 18px; margin-top: 20px; line-height: 1.6;">
The fact that Leo doesn't lift a finger to find a sexual partner isn't a sign that he doesn't want sex. It simply means that the effort of meeting someone and leaving the safety of his room feels like an ordeal to him. If, on the other hand, sex comes to him...
</p>
<p style="color: blue; font-size: 24px; font-weight: bold; margin-top: 15px;">
Prominent Sin: SLOTH
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $leoAnalVirginityLost is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Adrian/adrian.png" alt="Adrian" class="profile-image">
<!-- Botón de Horarios bajo la imagen -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Adrian')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Adrian Ruiz Villar</h2>
<p><strong>Edad:</strong> <<print $raulEdad || 25>> años</p>
<p><strong>Relación:</strong> Crush del 2B</p>
<p><strong>Descripción:</strong><br>
<<print $adrianComentario || "¡Cómo te pone el vecino de enfrente! Es guapo. Está fuerte. Es varonil. Este mecánico solo piensa en chicas y coches, pero sobretodo, en el gimnasio. Está obsesionado con eso. Cuando lo corrompas, será todo tuyo.">></p>
<<if $AdrianVisionUsada eq true>>
<p style="color: blue; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Adrián ha construido una fachada de seguridad en sí mismo, pero es todo una mentira. No se le dieron muy bien los estudios, y eso no lo puede cambiar. Se centró en su cuerpo, pero por mucho que entrene no consigue el tamaño que esperaba. Se ve delgado y desgarbado. Si accedes a ese sentimiento hará lo que sea por conseguir el resultado que espera.
</p>
<p style="color: green; font-size: 24px; font-weight: bold; margin-top: 15px;">
Pecado prominente: ENVIDIA
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $adrianDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Adrian/adrian.png" alt="Adrian" class="profile-image">
<!-- Schedule Button under image -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Adrian')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 View Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Adrian Ruiz Villar</h2>
<p><strong>Age:</strong> <<print $raulAge || 25>> years</p>
<p><strong>Relationship:</strong> Crush of 2B</p>
<p><strong>Description:</strong><br>
<<print $adrianComment || "How hot is that neighbor across the street! He's handsome. He's strong. He's manly. This mechanic only thinks about girls and cars, but above all, the gym. He's obsessed with it. When you corrupt him, he'll be all yours.">></p>
<<if $AdrianVisionUsada eq true>>
<p style="color: blue; font-size: 18px; margin-top: 20px; line-height: 1.6;">
Adrián has built a facade of self-confidence, but it's all a lie. He wasn't very good at school, and he can't change that. He focused on his body, but no matter how much he trains, he can't achieve the size he wanted. He looks thin and lanky. If you tap into that feeling, he'll do anything to get the result he desires.
</p>
<p style="color: green; font-size: 24px; font-weight: bold; margin-top: 15px;">
Prominent sin: ENVY
</p>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $adrianDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Rafael/rafa.png" alt="Rafael" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Rafa')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Rafael Ruiz Zullar</h2>
<p><strong>Edad:</strong> <<print $rafaelEdad || 46>> años</p>
<p><strong>Relación:</strong> Policía gruñón del 2B</p>
<p><strong>Descripción:</strong><br>
<<print $rafaelComentario || "Lo sé. Te pone nervioso tener un policía enfrente de tu casa sabiendo lo que tienes que hacer, sobre todo uno como Rafael, que siempre le parece todo mal. No te preocupes, ese autoritario hombre puede caer en tus manos igual que todos.">></p>
<<if $RafaVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Rafa odia cómo se le han escapado las riendas de su vida. Una mujer a la que apenas toca. Un hijo pequeño al que no puede sacar de casa. Un trabajo sin sentido. La sociedad le dice que se calme. Que reprima su ira. Pero él quiere — no, necesita — liberar esa tensión en un mundo cada vez más afeminado. Necesita recuperar su poder.</p>
<span style="color: red; font-size: 24px;">Pecado Prominente: IRA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $rafaelDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Rafael/rafa.png" alt="Rafael" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Rafa')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Rafael Ruiz Zullar</h2>
<p><strong>Age:</strong> <<print $rafaelEdad || 46>> years old</p>
<p><strong>Relationship:</strong> Grumpy cop from 2B</p>
<p><strong>Description:</strong><br>
<<print $rafaelComentario || "I know. Having a cop living across from your building makes you nervous, knowing what you have to do — especially one like Rafael, who always finds fault with everything. Don't worry, that authoritarian man can fall into your hands just like everyone else.">></p>
<<if $RafaVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Rafa hates how the reins of his life have slipped from his grasp. A wife he barely touches. A young son he can't seem to get out of the house. A pointless job. Society tells him to calm down. To suppress his anger. But he wants to — no, he needs to — release that tension in an increasingly soft world. He needs to reclaim his power.</p>
<span style="color: red; font-size: 24px;">Prominent Sin: WRATH</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $rafaelDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Damian/damian.png" alt="Damian" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Damian')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Damián Rodríguez Cabrera</h2>
<p><strong>Edad:</strong> <<print $damianEdad || 28>> años</p>
<p><strong>Relación:</strong> Deportista del 1A</p>
<p><strong>Descripción:</strong><br>
<<print $damianComentario || "Damián es totalmente distinto a su hermano. Alto y fuerte, juega en un equipo de baloncesto local, al que dedica todo su tiempo, para orgullo de sus padres. Es muy competitivo, y haría lo que fuera por ganar.">></p>
<<if $DamianVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">El ambiente en casa siempre ha sido más que tenso. Su modo de huir de ello fue el deporte, y eso es su vida. Nunca se conformó con los éxitos pequeños y se ve a sí mismo en la selección nacional y en la NBA, ganando todos los premios posibles. Pero su equipo no parece funcionar últimamente y la temporada no remonta. Quedarse estancado deportivamente, ahora que ya tiene cierta edad, es un mazazo que no puede soportar.</p>
<span style="color: gold; font-size: 24px;">Pecado Prominente: CODICIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $damianDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Damian/damian.png" alt="Damian" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Damian')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Damián Rodríguez Cabrera</h2>
<p><strong>Age:</strong> <<print $damianEdad || 28>> years old</p>
<p><strong>Relationship:</strong> Athlete from 1A</p>
<p><strong>Description:</strong><br>
<<print $damianComentario || "Damián is completely different from his brother. Tall and strong, he plays on a local basketball team to which he dedicates all his time, much to his parents' pride. He's fiercely competitive and would do anything to win.">></p>
<<if $DamianVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">The atmosphere at home has always been more than tense. Sport was his way of escaping it, and it became his whole life. He never settled for small successes — he sees himself on the national team and in the NBA, winning every award there is. But his team hasn't been performing lately and the season isn't turning around. Being stuck in a rut, now that he's getting older, is a blow he simply cannot bear.</p>
<span style="color: gold; font-size: 24px;">Prominent Sin: GREED</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $damianDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Ernesto/ernesto.png" alt="Ernesto" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Ernesto')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Ernesto Rodríguez Cruz</h2>
<p><strong>Edad:</strong> <<print $ernestoEdad || 51>> años</p>
<p><strong>Relación:</strong> Casanova del 1A</p>
<p><strong>Descripción:</strong><br>
<<print $ernestoComentario || "Ernesto vino de Cuba con su familia hace ya 25 años en busca de una vida mejor y, desde que llegó, su exotismo, carácter y presencia ha atraído a distintas mujeres a sus brazos. Son bien conocidos los problemas que eso le causa con su mujer. Ya sabes lo que dicen de los latinos y su sangre caliente.">></p>
<<if $ErnestoVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Hace ya tiempo que la relación con su mujer, Carmen, es casi inexistente. Las continuas amantes de este y el carácter huraño y gruñón de ella hacen que la relación solo se mantenga por las apariencias. Romper ese matrimonio sería tan fácil como exponer ante todo el mundo sus escarceos.</p>
<span style="color: pink; font-size: 24px;">Pecado Prominente: LUJURIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $ernestoDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Ernesto/ernesto.png" alt="Ernesto" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Ernesto')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Ernesto Rodríguez Cruz</h2>
<p><strong>Age:</strong> <<print $ernestoEdad || 51>> years old</p>
<p><strong>Relationship:</strong> Casanova of 1A</p>
<p><strong>Description:</strong><br>
<<print $ernestoComentario || "Ernesto came from Cuba with his family 25 years ago in search of a better life, and since his arrival his exoticism, character and presence have attracted a string of women into his arms. The problems this causes with his wife are well known to everyone in the building. You know what they say about Latinos and their hot blood.">></p>
<<if $ErnestoVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">His relationship with his wife, Carmen, has been practically nonexistent for some time now. His constant affairs and her sullen, bitter nature mean the marriage is kept up for appearances alone. Breaking it apart would be as simple as exposing his dalliances to the world.</p>
<span style="color: pink; font-size: 24px;">Prominent Sin: LUST</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $ernestoDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Juanan/juanan.png" alt="Juanan" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Juanan')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Juan Ángel Altavert Lomas</h2>
<p><strong>Edad:</strong> <<print $juananEdad || 54>> años</p>
<p><strong>Relación:</strong> Currante del 1B</p>
<p><strong>Descripción:</strong><br>
<<print $juananComentario || "La historia de Juanan es una historia trágica. Su mujer falleció justo cuando habían conseguido la ilusión de sus vidas: ser padres a través de la adopción de un minúsculo niño chino de 2 años. Juanan se sobrepuso y se dedicó a criar a su hijo y a trabajar todo lo que pudo para darle una vida mejor. No se le conoce relación desde entonces. Su vida es su hijo.">></p>
<<if $JuananVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Juanan en verdad está siempre caliente. Lleva sin follar mucho tiempo y lo desea fervientemente. Pero el amor hacia su hijo hace que no quiera dedicar tiempo a la búsqueda de un placer personal. La única forma de acceder a él y a su cuerpo es reduciendo su fuerza de voluntad.</p>
<span style="color: pink; font-size: 24px;">Pecado Prominente: LUJURIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $juananDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Juanan/juanan.png" alt="Juanan" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Juanan')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Juan Ángel Altavert Lomas</h2>
<p><strong>Age:</strong> <<print $juananEdad || 54>> years old</p>
<p><strong>Relationship:</strong> Working man from 1B</p>
<p><strong>Description:</strong><br>
<<print $juananComentario || "Juanan's story is a tragic one. His wife passed away just as they had achieved the dream of their lives: becoming parents through the adoption of a tiny two-year-old Chinese boy. Juanan overcame his grief and dedicated himself to raising his son and working as hard as he could to give him a better life. He has had no known relationship since then. His son is his life.">></p>
<<if $JuananVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Juanan is truly always turned on. He hasn't had sex in a long time and desperately craves it. But his love for his son makes him unwilling to dedicate time to the pursuit of personal pleasure. The only way to reach him and his body is by weakening his willpower.</p>
<span style="color: pink; font-size: 24px;">Prominent Sin: LUST</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $juananDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Tao/tao.png" alt="Tao" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Tao')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Tao Altavert Corral</h2>
<p><strong>Edad:</strong> <<print $taoEdad || 18>> años</p>
<p><strong>Relación:</strong> Adolescente inocente del 1B</p>
<p><strong>Descripción:</strong><br>
<<print $taoComentario || "Tao es el paradigma de la felicidad. Siempre está sonriente y amable con todos. No conoció a su madre adoptiva, pero en cambio está muy unido a su padre, cosa que lo ha infantilizado bastante. Es todo inocencia y candor. ¡Corrómpelo!">></p>
<<if $TaoVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">No hay secretos oscuros en la mente de Tao más allá de la comodidad y seguridad que le proporciona ser el hijo amado de Juanan. Llenar esa cabeza de deseos no debe de ser difícil. Romper con la confianza de su padre ya será otra cosa bien diferente.</p>
<span style="color: blue; font-size: 24px;">Pecado Prominente: PEREZA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $taoDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Tao/tao.png" alt="Tao" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Tao')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Tao Altavert Corral</h2>
<p><strong>Age:</strong> <<print $taoEdad || 18>> years old</p>
<p><strong>Relationship:</strong> Innocent teenager from 1B</p>
<p><strong>Description:</strong><br>
<<print $taoComentario || "Tao is the epitome of happiness. He's always smiling and kind to everyone. He never knew his adoptive mother, but he's very close to his father, which has made him quite childlike. He is all innocence and candour. Corrupt him!">></p>
<<if $TaoVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">There are no dark secrets in Tao's mind beyond the comfort and security of being Juanan's beloved son. Filling that head with desires shouldn't be too difficult. Breaking his father's trust, however, will be quite another matter.</p>
<span style="color: blue; font-size: 24px;">Prominent Sin: SLOTH</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $taoDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Tomas/tomas.png" alt="Tomas" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Tomas')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Tomás Castillejo López</h2>
<p><strong>Edad:</strong> <<print $tomasEdad || 72>> años</p>
<p><strong>Relación:</strong> Vecino de toda la vida del 3B</p>
<p><strong>Descripción:</strong><br>
<<print $tomasComentario || "Tomás es más antiguo que el propio edificio. Él mismo compró el 3B y el 3A, que ahora alquila, al momento de construirse todo, y ha criado a un hijo hasta que este se marchó. Ahora pasa la mayor parte del tiempo en su casa, cuidando a su mujer enferma y pensando que ya no importa. Aún puedes darle otra oportunidad.">></p>
<<if $TomásVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Tomás siente que su tiempo se está agotando. Ve su vejez reflejada en el estado de su mujer. Se le debe mostrar que aún puede hacer algo interesante y excitante en su vida. Que aún hay tiempo para experimentar cosas nuevas.</p>
<span style="color: green; font-size: 24px;">Pecado Prominente: ENVIDIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $tomasDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Tomas/tomas.png" alt="Tomas" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Tomas')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Tomás Castillejo López</h2>
<p><strong>Age:</strong> <<print $tomasEdad || 72>> years old</p>
<p><strong>Relationship:</strong> Lifelong neighbour from 3B</p>
<p><strong>Description:</strong><br>
<<print $tomasComentario || "Tomás is older than the building itself. He bought both 3B and 3A — which he now rents out — when everything was first built, and raised a son until he eventually moved away. Now he spends most of his time at home, caring for his sick wife and feeling like nothing matters anymore. You can still give him another chance.">></p>
<<if $TomásVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Tomás feels his time is running out. He sees his own old age reflected in his wife's condition. He needs to be shown that there is still something interesting and exciting left for him. That there is still time to experience new things.</p>
<span style="color: green; font-size: 24px;">Prominent Sin: ENVY</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $tomasDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Adler/adler.png" alt="Adler" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Adler')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Adler Weber</h2>
<p><strong>Edad:</strong> <<print $adlerEdad || 28>> años</p>
<p><strong>Relación:</strong> Bonachón alemán del 3A</p>
<p><strong>Descripción:</strong><br>
<<print $adlerComentario || "Si una cosa es Adler, eso es un buen compañero. No tiene prisa por acabar su máster, cómodo con ser el eterno cómplice de correrías de sus compañeros de piso. Al alemán no le gusta ser protagonista, prefiere el papel de esbirro, y hará lo que sea por encajar en un grupo.">></p>
<<if $AdlerVisionUsada eq true>>
<<if not $adlerVisionContada>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
<<set $adlerVisionContada to true>>
<</if>>
<p style="color: blue; font-size: 18px;">Adler esconde una oscura cara. El tan servicial y simpático Adler en realidad detesta a sus amigos, a quienes ve como pesados y molestos. En especial a sus compañeros de piso, Sean y Francesco. Es un rey de la mentira y la manipulación.</p>
<span style="color: blue; font-size: 24px;">Pecado Prominente: IRA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $adlerDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Adler/adler.png" alt="Adler" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Adler')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Adler Weber</h2>
<p><strong>Age:</strong> <<print $adlerEdad || 28>> years old</p>
<p><strong>Relationship:</strong> Good-natured German from 3A</p>
<p><strong>Description:</strong><br>
<<print $adlerComentario || "If there's one thing Adler is, it's a great companion. He's in no hurry to finish his master's degree, perfectly comfortable being the eternal partner-in-crime of his flatmates. The German doesn't like being in the spotlight — he prefers the role of sidekick, and he'll do whatever it takes to fit in with a group.">></p>
<<if $AdlerVisionUsada eq true>>
<<if not $adlerVisionContada>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
<<set $adlerVisionContada to true>>
<</if>>
<p style="color: blue; font-size: 18px;">Adler hides a dark side. The ever-helpful and friendly Adler actually despises his friends, whom he sees as tiresome and annoying — especially his flatmates, Sean and Francesco. He is a master of lies and manipulation.</p>
<span style="color: blue; font-size: 24px;">Prominent Sin: WRATH</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $adlerDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Sean/sean.png" alt="Sean" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Sean')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Sean Murphy</h2>
<p><strong>Edad:</strong> <<print $seanEdad || 23>> años</p>
<p><strong>Relación:</strong> Seductor irlandés del 3A</p>
<p><strong>Descripción:</strong><br>
<<print $seanComentario || "Sean es el ligón del grupo. Aprovecha el exotismo del color rojo intenso de su cabello para seducir todas las semanas a una joven estudiante, olvidándose por completo esa noche de su atractiva novia belga. Ese joven sabe que es guapo y que le desean, pero siempre quiere más de esa atención.">></p>
<<if $SeanVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Sean lo quiere probar todo. Sabe que le quedan un par de años de adolescencia alargada y va a disfrutarlos. Va a beberse todo lo que pueda, a fumar cualquier cosa y a acostarse con todas las tías que pueda. Va a vivir desenfrenado, y sus fiestas serán épicas.</p>
<span style="color: orange; font-size: 24px;">Pecado Prominente: GULA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $seanDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Sean/sean.png" alt="Sean" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Sean')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Sean Murphy</h2>
<p><strong>Age:</strong> <<print $seanEdad || 23>> years old</p>
<p><strong>Relationship:</strong> Irish seducer from 3A</p>
<p><strong>Description:</strong><br>
<<print $seanComentario || "Sean is the womanizer of the group. He takes advantage of the exoticism of his bright red hair to seduce a new student every week, completely forgetting about his attractive Belgian girlfriend for the night. This young man knows he's handsome and desired, but he always wants more of that attention.">></p>
<<if $SeanVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Sean wants to try everything. He knows he has a couple of years of extended adolescence left and he's going to make the most of them. He's going to drink as much as he can, smoke anything he gets his hands on, and sleep with as many girls as possible. He's going to live wild, and his parties will be legendary.</p>
<span style="color: orange; font-size: 24px;">Prominent Sin: GLUTTONY</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $seanDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano2.png" alt="landing" />
</div>
Suenas el timbre del apartamento 2B y esperas a la respuesta.
<<set _whoAnswers to setup.getWhoAnswers("2B")>>
<<if !_whoAnswers>>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 2º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _justExcited>>
/* ACABA de ser excitado perfectamente - Mensaje de despedida específico */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Rafa">>
<p class="excited-goodbye">Rafael se muestra nervioso y agitado. "Ehh... ahora no es buen momento. Tengo que... hacer algo urgente", dice antes de cerrar la puerta rápidamente.</p>
<<case "Leo">>
<p class="excited-goodbye">Leo se muestra nervioso y, sin apenas despedirse, cierra la puerta apresuradamente. Puedes escuchar cómo echa el cerrojo.</p>
<<case "Adrian">>
<p class="excited-goodbye">Adrián, intentando ocultar su erección, se despide rápido y cierra la puerta. Parece muy nervioso.</p>
<</switch>>
[[Volver->Rellano del 2º]]
<<elseif _hasEjaculated>>
/* El personaje ha eyaculado - NO responde a la puerta */
<<switch _charId>>
<<case "Rafa">>
<p class="no-answer">Tocas el timbre insistentemente pero Rafael no responde. Desde dentro se escucha ruido de agua... probablemente se está duchando después de... el incidente.</p>
<<case "Leo">>
<p class="no-answer">Tocas el timbre pero Leo no abre. Escuchas movimiento dentro pero nadie responde. Seguramente está limpiándose después de mancharse los pantalones.</p>
<<case "Adrian">>
<p class="no-answer">El timbre suena pero Adrián no abre la puerta. Probablemente está en el baño limpiando el desastre que provocaste...</p>
<</switch>>
[[Volver->Rellano del 2º]]
<<elseif _isExcited>>
/* El personaje está excitado - NO responde a la puerta */
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa, o está ocupado...</p>
[[Volver->Rellano del 2º]]
<<elseif _hasSemblante>>
/* SEMBLANTE ACTIVO - El personaje no te reconoce */
<<switch _charId>>
<<case "Rafa">>
La puerta se abre y aparece Rafael.
<center><img src="images/Rafael/rafapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [{id: 'rafa', name: 'Rafael', portrait: 'images/Rafael/rafa.png', color: '#4a90e2', facing: 'left'}],
lines: [
{speaker: 'rafa', text: '¿Sí? ¿Te conozco de algo?'},
{speaker: 'rafa', text: 'No me suenas... ¿Vives en este edificio?'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<case "Leo">>
La puerta se abre y aparece Leo.
<center><img src="images/Leo/leopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [{id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#f9ca24', facing: 'left'}],
lines: [
{speaker: 'leo', text: '¿Eh? ¿Quién eres?'},
{speaker: 'leo', text: 'No te conozco tío... ¿te has equivocado de piso?'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<case "Adrian">>
La puerta se abre y aparece Adrian.
<center><img src="images/Adrian/adrianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [{id: 'adrian', name: 'Adrian', portrait: 'images/Adrian/adrian.png', color: '#2ecc71', facing: 'left'}],
lines: [
{speaker: 'adrian', text: '¿Sí? ¿Necesitas algo?'},
{speaker: 'adrian', text: 'No creo que nos conozcamos...'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<case "Marta">>
La puerta se abre y aparece Marta.
<center><img src="images/mujeres/martapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Marta", {
characters: [{id: 'marta', name: 'Marta', portrait: 'images/mujeres/marta.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'marta', text: '¿Quién es usted? No le conozco.'},
{speaker: 'marta', text: 'Creo que se ha equivocado de puerta.'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 2º'}]]
})>>
<</switch>>
<<else>>
/* COMPORTAMIENTO NORMAL - Sin semblante, Sergio original */
<<switch _charId>>
<<case "Rafa">>
<<if _charState eq "sleeping">>
La puerta se abre bruscamente y aparece Rafael en pijama, con cara de muy pocos amigos.
<center><img src="images/Rafael/rafapuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("RafaDormido", {
characters: [{id: 'rafa', name: 'Rafael', portrait: 'images/Rafael/rafa.png', color: '#4a90e2', facing: 'left'}],
lines: [{speaker: 'rafa', text: '¿Qué coño quieres? ¡Estaba durmiendo!'}],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
La puerta se abre y aparece Rafael.
<center><img src="images/Rafael/rafapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var rafaOptions = [];
if (State.variables.Rafaelcontacto === false) {
rafaOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Rafatomarfoto' });
}
// OPCIÓN CONDICIONAL PARA LEO
if (State.variables.lootboxescompradas === true && State.variables.Rafapruebas === true) {
rafaOptions.push({ text: 'Hablar sobre los gastos de Leo', action: 'GOTO:RafaLeoGastos' });
}
// NUEVA OPCIÓN CONDICIONAL PARA RADICALIZACIÓN
if (State.variables.rafaRadicalizado === true && State.variables.notarafael1 !== true) {
rafaOptions.push({ text: 'Hablar sobre su radicalización', action: 'GOTO:RafaRadicalizadoConversacion' });
}
rafaOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Rafa", {
characters: [
{id: 'rafa', name: 'Rafael', portrait: 'images/Rafael/rafa.png', color: '#4a90e2', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'sergio', text: 'Hola Rafa.' },
{ speaker: 'rafa', text: 'Dime Sergio.' }
],
options: [rafaOptions]
});
<</script>>
<</if>>
<<case "Leo">>
<<if _charState eq "sleeping">>
La puerta se abre y Leo asoma con cara de zombi.
<center><img src="images/Leo/leosueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("LeoDormido", {
characters: [{id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#f9ca24', facing: 'left'}],
lines: [{speaker: 'leo', text: 'Tío... estaba durmiendo...'}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
La puerta se abre y aparece Leo.
<center><img src="images/Leo/leopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var leoOptions = [];
if (State.variables.Leocontacto === false) {
leoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Leotomafoto' });
}
leoOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Leo", {
characters: [
{id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#f9ca24', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'leo', text: '¿Qué pasa tío? estaba jugando al Minecraft' }
],
options: [leoOptions]
});
<</script>>
<</if>>
<<case "Adrian">>
<<if _charState eq "sleeping">>
La puerta se abre y Adrian aparece despeinado.
<center><img src="images/Adrian/adrianpuertasueño.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("AdrianDormido", {
characters: [{id: 'adrian', name: 'Adrian', portrait: 'images/Adrian/adrian.png', color: '#2ecc71', facing: 'left'}],
lines: [{speaker: 'adrian', text: 'Estaba durmiendo... ¿puede esperar?'}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
La puerta se abre y aparece Adrian.
<center><img src="images/Adrian/adrianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var adrianOptions = [];
if (State.variables.Adriancontacto === false) {
adrianOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Adriantomafoto' });
}
// NUEVA OPCIÓN CONDICIONAL PARA PEDIR DISCULPAS
if (State.variables.notaAdrian2 === true && State.variables.adrianconversacion2 !== true) {
adrianOptions.push({ text: 'Pedir disculpas', action: 'GOTO:adrianpedirperdon' });
}
adrianOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Adrian", {
characters: [
{id: 'adrian', name: 'Adrian', portrait: 'images/Adrian/adrian.png', color: '#2ecc71', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'sergio', text: 'Hola Adrian.' },
{ speaker: 'adrian', text: '¿Qué hay?' }
],
options: [adrianOptions]
});
<</script>>
<</if>>
<<case "Marta">>
<<if _charState eq "sleeping">>
La puerta se abre violentamente y Marta aparece furiosa.
<center><img src="images/mujeres/martasueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("MartaDormida", {
characters: [{id: 'marta', name: 'Marta', portrait: 'images/mujeres/marta.png', color: '#e74c3c', facing: 'left'}],
lines: [{speaker: 'marta', text: '¡¿QUÉ TE PASA?! ¡Estaba durmiendo!'}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
La puerta se abre y aparece Marta.
<center><img src="images/mujeres/martapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var martaOptions = [];
// OPCIÓN CONDICIONAL PARA LEO
if (State.variables.lootboxescompradas === true && State.variables.Martapruebas === true) {
martaOptions.push({ text: 'Hablar sobre los gastos de Leo', action: 'GOTO:MartaLeoGastos' });
}
martaOptions.push({ text: 'Tienes una charla breve', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Marta", {
characters: [
{id: 'marta', name: 'Marta', portrait: 'images/mujeres/marta.png', color: '#e74c3c', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'sergio', text: 'Hola Marta.' },
{ speaker: 'marta', text: '¿Qué quieres?' }
],
options: [martaOptions]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano2.png" alt="landing" />
</div>
You ring the doorbell of apartment 2B and wait for an answer.
<<set _whoAnswers to setup.getWhoAnswers("2B")>>
<<if !_whoAnswers>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home.</p>
[[Back->Rellano del 2º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _justExcited>>
/* JUST aroused perfectly - Specific goodbye message */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Rafa">>
<p class="excited-goodbye">Rafael looks nervous and agitated. "Uhh... now is not a good time. I have to... do something urgent," he says before quickly closing the door.</p>
<<case "Leo">>
<p class="excited-goodbye">Leo looks nervous and, barely saying goodbye, hastily closes the door. You can hear him locking it.</p>
<<case "Adrian">>
<p class="excited-goodbye">Adrián, trying to hide his erection, quickly says goodbye and closes the door. He seems very nervous.</p>
<</switch>>
[[Back->Rellano del 2º]]
<<elseif _hasEjaculated>>
/* Character has ejaculated - does NOT answer the door */
<<switch _charId>>
<<case "Rafa">>
<p class="no-answer">You ring the doorbell insistently but Rafael doesn't answer. You hear the sound of running water from inside... he's probably showering after... the incident.</p>
<<case "Leo">>
<p class="no-answer">You ring the doorbell but Leo doesn't open. You hear movement inside but no one answers. He's probably cleaning himself after staining his pants.</p>
<<case "Adrian">>
<p class="no-answer">The doorbell rings but Adrián doesn't open the door. He's probably in the bathroom cleaning up the mess you caused...</p>
<</switch>>
[[Back->Rellano del 2º]]
<<elseif _isExcited>>
/* Character is aroused - does NOT answer the door */
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home, or they're busy...</p>
[[Back->Rellano del 2º]]
<<elseif _hasSemblante>>
/* ACTIVE SEMBLANTE - Character doesn't recognize you */
<<switch _charId>>
<<case "Rafa">>
The door opens and Rafael appears.
<center><img src="images/Rafael/rafapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [{id: 'rafa', name: 'Rafael', portrait: 'images/Rafael/rafa.png', color: '#4a90e2', facing: 'left'}],
lines: [
{speaker: 'rafa', text: 'Yes? Do I know you?'},
{speaker: 'rafa', text: 'You don\'t look familiar... do you live in this building?'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 2º'}]]
})>>
<<case "Leo">>
The door opens and Leo appears.
<center><img src="images/Leo/leopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [{id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#f9ca24', facing: 'left'}],
lines: [
{speaker: 'leo', text: 'Huh? Who are you?'},
{speaker: 'leo', text: 'I don\'t know you dude... did you get the wrong floor?'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 2º'}]]
})>>
<<case "Adrian">>
The door opens and Adrian appears.
<center><img src="images/Adrian/adrianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [{id: 'adrian', name: 'Adrian', portrait: 'images/Adrian/adrian.png', color: '#2ecc71', facing: 'left'}],
lines: [
{speaker: 'adrian', text: 'Yes? Do you need something?'},
{speaker: 'adrian', text: 'I don\'t think we know each other...'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 2º'}]]
})>>
<<case "Marta">>
The door opens and Marta appears.
<center><img src="images/mujeres/martapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Marta", {
characters: [{id: 'marta', name: 'Marta', portrait: 'images/mujeres/marta.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'marta', text: 'Who are you? I don\'t know you.'},
{speaker: 'marta', text: 'I think you have the wrong door.'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 2º'}]]
})>>
<</switch>>
<<else>>
/* NORMAL BEHAVIOR - No semblante, original Sergio */
<<switch _charId>>
<<case "Rafa">>
<<if _charState eq "sleeping">>
The door opens abruptly and Rafael appears in pajamas, looking very unfriendly.
<center><img src="images/Rafael/rafapuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("RafaDormido", {
characters: [{id: 'rafa', name: 'Rafael', portrait: 'images/Rafael/rafa.png', color: '#4a90e2', facing: 'left'}],
lines: [{speaker: 'rafa', text: 'What the hell do you want? I was sleeping!'}],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
The door opens and Rafael appears.
<center><img src="images/Rafael/rafapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var rafaOptions = [];
if (State.variables.Rafaelcontacto === false) {
rafaOptions.push({ text: 'You try to take a photo', action: 'GOTO:Rafatomarfoto' });
}
// CONDITIONAL OPTION FOR LEO
if (State.variables.lootboxescompradas === true && State.variables.Rafapruebas === true) {
rafaOptions.push({ text: 'Talk about Leo\'s expenses', action: 'GOTO:RafaLeoGastos' });
}
// NEW CONDITIONAL OPTION FOR RADICALIZATION
if (State.variables.rafaRadicalizado === true && State.variables.notarafael1 !== true) {
rafaOptions.push({ text: 'Talk about his radicalization', action: 'GOTO:RafaRadicalizadoConversacion' });
}
rafaOptions.push({ text: 'You have a bland conversation', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Rafa", {
characters: [
{id: 'rafa', name: 'Rafael', portrait: 'images/Rafael/rafa.png', color: '#4a90e2', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'sergio', text: 'Hello Rafa.' },
{ speaker: 'rafa', text: 'Tell me Sergio.' }
],
options: [rafaOptions]
});
<</script>>
<</if>>
<<case "Leo">>
<<if _charState eq "sleeping">>
The door opens and Leo appears like a zombie.
<center><img src="images/Leo/leosueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("LeoDormido", {
characters: [{id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#f9ca24', facing: 'left'}],
lines: [{speaker: 'leo', text: 'Dude... I was sleeping...'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
The door opens and Leo appears.
<center><img src="images/Leo/leopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var leoOptions = [];
if (State.variables.Leocontacto === false) {
leoOptions.push({ text: 'You try to take a photo', action: 'GOTO:Leotomafoto' });
}
leoOptions.push({ text: 'You have a dull conversation', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Leo", {
characters: [
{id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#f9ca24', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'leo', text: 'What\'s up man? I was playing Minecraft' }
],
options: [leoOptions]
});
<</script>>
<</if>>
<<case "Adrian">>
<<if _charState eq "sleeping">>
The door opens and Adrian appears disheveled.
<center><img src="images/Adrian/adrianpuertasueño.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("AdrianDormido", {
characters: [{id: 'adrian', name: 'Adrian', portrait: 'images/Adrian/adrian.png', color: '#2ecc71', facing: 'left'}],
lines: [{speaker: 'adrian', text: 'I was sleeping... can it wait?'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
The door opens and Adrian appears.
<center><img src="images/Adrian/adrianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var adrianOptions = [];
if (State.variables.Adriancontacto === false) {
adrianOptions.push({ text: 'You try to take a photo', action: 'GOTO:Adriantomafoto' });
}
// NEW CONDITIONAL OPTION TO APOLOGIZE
if (State.variables.notaAdrian2 === true && State.variables.adrianconversacion2 !== true) {
adrianOptions.push({ text: 'Apologize', action: 'GOTO:adrianpedirperdon' });
}
adrianOptions.push({ text: 'You have a bland conversation', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Adrian", {
characters: [
{id: 'adrian', name: 'Adrian', portrait: 'images/Adrian/adrian.png', color: '#2ecc71', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'sergio', text: 'Hello Adrian.' },
{ speaker: 'adrian', text: 'What\'s up?' }
],
options: [adrianOptions]
});
<</script>>
<</if>>
<<case "Marta">>
<<if _charState eq "sleeping">>
The door bursts open and Marta appears furious.
<center><img src="images/mujeres/martasueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("MartaDormida", {
characters: [{id: 'marta', name: 'Marta', portrait: 'images/mujeres/marta.png', color: '#e74c3c', facing: 'left'}],
lines: [{speaker: 'marta', text: 'WHAT\'S WRONG WITH YOU?! I was sleeping!'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 2º'}]]
})>>
<<else>>
The door opens and Marta appears.
<center><img src="images/mujeres/martapuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var martaOptions = [];
// CONDITIONAL OPTION FOR LEO
if (State.variables.lootboxescompradas === true && State.variables.Martapruebas === true) {
martaOptions.push({ text: 'Talk about Leo\'s expenses', action: 'GOTO:MartaLeoGastos' });
}
martaOptions.push({ text: 'You have a brief chat', action: 'GOTO:Rellano del 2º' });
setup.showDoorDialogue("Marta", {
characters: [
{id: 'marta', name: 'Marta', portrait: 'images/mujeres/marta.png', color: '#e74c3c', facing: 'left'},
{id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right'}
],
lines: [
{ speaker: 'sergio', text: 'Hello Marta.' },
{ speaker: 'marta', text: 'What do you want?' }
],
options: [martaOptions]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Francesco/francesco.png" alt="Francesco" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Francesco')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Francesco Rossi</h2>
<p><strong>Edad:</strong> <<print $francescoEdad || 23>> años</p>
<p><strong>Relación:</strong> Pijo italiano del 3A</p>
<p><strong>Descripción:</strong><br>
<<print $francescoComentario || "Muchos lo consideran un estirado. Participa del entorno social porque sabe que tener contactos es bueno para su futuro, pero está más interesado en acabar pronto sus estudios y volver a Milán para casarse con su novia que en trasnochar. Aun así, algo dentro de él le susurra que no siempre será joven. Que debe aprovechar estos momentos que le da la vida.">></p>
<<if $FrancescoVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">A Francesco su familia ya le ha escogido su vida. Estudiar Ingeniería. Hacer un Erasmus e incluso a su propia prometida. Él ya ha aceptado esa decisión. Lo que no tiene del todo claro son los plazos. ¿No podía quedarse un año más aquí y disfrutar de verdad de su juventud como hacen el resto de sus compañeros?</p>
<span style="color: green; font-size: 24px;">Pecado Prominente: ENVIDIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $francescoDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Francesco/francesco.png" alt="Francesco" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Francesco')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Francesco Rossi</h2>
<p><strong>Age:</strong> <<print $francescoEdad || 23>> years old</p>
<p><strong>Relationship:</strong> Posh Italian from 3A</p>
<p><strong>Description:</strong><br>
<<print $francescoComentario || "Many consider him a snob. He participates in social circles because he knows that having connections is good for his future, but he's far more interested in finishing his studies and returning to Milan to marry his girlfriend than in staying out late. Even so, something inside him whispers that he won't always be young. That he should make the most of the moments life gives him.">></p>
<<if $FrancescoVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Francesco's family has already mapped out his life for him. Study Engineering. Do an Erasmus exchange. Even his fiancée was chosen for him. He has accepted all of it. What he hasn't fully made peace with are the timelines. Couldn't he stay just one more year and truly enjoy his youth the way the rest of his classmates do?</p>
<span style="color: green; font-size: 24px;">Prominent Sin: ENVY</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $francescoDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Hamza/hamza.png" alt="Hamza" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Hamza')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Hamza Demir</h2>
<p><strong>Edad:</strong> <<print $hamzaEdad || 25>> años</p>
<p><strong>Relación:</strong> Repartidor del kebab</p>
<p><strong>Descripción:</strong><br>
<<print $hamzaComentario || "Igual que su hermano, Hamza se dedica principalmente al negocio familiar. Pero, a diferencia de él, sí que piensa en algo más que en el kebab. Tiene sueños y aspiraciones. Anhelos que le gustaría cumplir y a los que quizá necesite un empujoncito.">></p>
<<if $HamzaVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Hamza detesta su trabajo. Es solo un medio para un fin: montar su propio negocio especulativo. Por desgracia, ser repartidor no le da los suficientes ingresos. Quizá se le pueda mostrar un modo más rápido de conseguir sus objetivos.</p>
<span style="color: gold; font-size: 24px;">Pecado Prominente: CODICIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $hamzaDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Hamza/hamza.png" alt="Hamza" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Hamza')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Hamza Demir</h2>
<p><strong>Age:</strong> <<print $hamzaEdad || 25>> years old</p>
<p><strong>Relationship:</strong> Kebab delivery man</p>
<p><strong>Description:</strong><br>
<<print $hamzaComentario || "Like his brother, Hamza is mainly dedicated to the family business. But unlike him, he does think about more than just the kebab. He has dreams and aspirations — desires he'd like to fulfil and that perhaps just need a little push.">></p>
<<if $HamzaVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Hamza hates his job. It's just a means to an end: setting up his own business venture. Unfortunately, being a delivery driver doesn't bring in enough income. Perhaps he can be shown a faster way to achieve his goals.</p>
<span style="color: gold; font-size: 24px;">Prominent Sin: GREED</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $hamzaDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Ahmed/ahmed.png" alt="Ahmed" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Ahmed')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Ahmed Demir</h2>
<p><strong>Edad:</strong> <<print $ahmedEdad || 33>> años</p>
<p><strong>Relación:</strong> Propietario del kebab</p>
<p><strong>Descripción:</strong><br>
<<print $ahmedComentario || "La vida de Ahmed es su negocio. Su ilusión: replicar el local de su padre, en Esmirna, en otro país. Montar su propia vida con la experiencia aprendida en las cocinas de su padre. El negocio no despega como él quería, y haría lo que fuera para cumplir su sueño.">></p>
<<if $AhmedVisionUsada is true>>
<p style="color: blue; font-size: 18px;">Ahmed se marchó con el objetivo de superar a su padre y no lo está consiguiendo. Su experiencia culinaria ha sido reducida a servir simples kebabs a unos incultos que son incapaces de saborear nada distinto a lo de siempre. Si pudiera, les enseñaría a todos esos palurdos lo que es un buen plato turco.</p>
<span style="color: red; font-size: 24px;">Pecado Prominente: IRA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $ahmedDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Ahmed/ahmed.png" alt="Ahmed" class="profile-image">
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Ahmed')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Ahmed Demir</h2>
<p><strong>Age:</strong> <<print $ahmedEdad || 33>> years old</p>
<p><strong>Relationship:</strong> Kebab shop owner</p>
<p><strong>Description:</strong><br>
<<print $ahmedComentario || "Ahmed's life is his business. His dream: to replicate his father's restaurant in Izmir, but in another country. To build his own life using the experience he gained in his father's kitchens. The business isn't taking off as he'd hoped, and he'd do anything to fulfil his dream.">></p>
<<if $AhmedVisionUsada is true>>
<p style="color: blue; font-size: 18px;">Ahmed left home with the goal of surpassing his father, and he's not succeeding. His culinary experience has been reduced to serving simple kebabs to people who are incapable of appreciating anything beyond the same old thing. If he could, he'd show every last one of them what a real Turkish dish tastes like.</p>
<span style="color: red; font-size: 24px;">Prominent Sin: WRATH</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $ahmedDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
Te acercas a la puerta del 3B. Los amables y eternos ancianos del edificio, Tomás y Maite.
<center><img src="images/localizaciones/puerta3B.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('recibidor3B')>><</link>>
<</if>>
[[Tocas el timbre|timbre3B]]
[[Decides marcharte|Rellano del 3º]]
<<else>>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
You approach the door of apartment 3B. The building's kind and eternally elderly residents, Tomás and Maite.
<center><img src="images/localizaciones/puerta3B.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('recibidor3B')>><</link>>
<</if>>
[[You ring the doorbell|timbre3B]]
[[You decide to leave|Rellano del 3º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
Te acercas a la puerta del 3A. Tus vecinos de arriba. Los molestos estudiantes de Erasmus.
<center><img src="images/localizaciones/puerta3A.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('recibidor3A')>><</link>>
<</if>>
[[Tocas el timbre|timbre3A]]
[[Decides marcharte|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
You approach the door of apartment 3A. Your upstairs neighbors. The annoying Erasmus students.
<center><img src="images/localizaciones/puerta3A.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('recibidor3A')>><</link>>
<</if>>
[[You ring the doorbell|timbre3A]]
[[You decide to leave|Rellano del 3º]]
<</if>><<if window.isFiesta3AActive && window.isFiesta3AActive()>><<run window.showFiesta3AOverlay()>><</if>>
<<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
Estás en el piso más alto del edificio. El rellano se encuentra silencioso y ante ti, solo hay una puerta, la del ático. Una enorme vivienda que ocupa toda la planta.
[[Bajar al tercero|Rellano del 3º]]
[[Bajar al segundo|Rellano del 2º]]
[[Bajar al primero|Rellano del 1º]]
[[Bajar al portal|Portal]]
[[Puerta 4A]]
<<if $notaatico2 is true>>
[[Presentarse a los nuevos vecinos|Mudanza]]
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
You are on the top floor of the building. The landing is quiet, and before you, there is only one door: the door to the penthouse. A huge apartment that occupies the entire floor.
[[Go down to the third floor|Rellano del 3º]]
[[Go down to the second floor|Rellano del 2º]]
[[Go down to the first floor|Rellano del 1º]]
[[Go down to the entrance|Portal]]
[[Door 4A|Puerta 4A]]
<<if $notaatico2 is true>>
[[Meet the new neighbors|Mudanza]]
<</if>>
<</if>><<run setup.gameTime.addMinutes(2)>>
<<set _es to ($idioma is "es")>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano" />
</div>
<<= _es ? "Suenas el timbre del apartamento 3A y esperas a la respuesta." : "You ring the doorbell of apartment 3A and wait for a response.">>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if _es>>
La música se cuela por debajo de la puerta. Alguien abre casi de inmediato.
<<else>>
Music seeps through under the door. Someone opens it almost immediately.
<</if>>
<center><img src="images/Sean/seanpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
var S = State.variables;
var semblante = S.currentSemblanteActive;
var isChicaSexy = semblante && (es ? semblante.name === 'Chica sexy' : semblante.nameEn === 'Sexy girl');
var opts = [];
if (!semblante || isChicaSexy)
opts.push({text: es ? 'Intentas entrar en la fiesta' : 'Try to enter the party', action:'GOTO:Seanintentarentrar'});
if (S.Seancontacto === false)
opts.push({text: es ? 'Intentas sacar una foto' : 'Try to take a photo', action:'GOTO:Seantomarfoto'});
opts.push({text: es ? 'Tienes una charla insulsa y vacía' : 'Have a bland and empty chat', action:'GOTO:Rellano del 3º'});
setup.showDoorDialogue("Sean", {
characters: [
{id:'sean', name:'Sean', portrait:'images/Sean/sean.png', color:'#4a90e2', facing:'left'},
{id:'sergio', name: isChicaSexy ? (es ? 'Chica' : 'Girl') : 'Sergio',
portrait: isChicaSexy ? 'images/Semblantes/chicasexyretrato.png' : 'images/sergio.png',
color: isChicaSexy ? '#ff69b4' : '#8af7ff', facing:'right'}
],
lines: [
{speaker:'sean', text: es ? '¡Ey! ¿Qué pasa?' : 'Hey! What\'s up?'}
],
options: [opts]
});
<</script>>
<<else>>
<<set _whoAnswers to setup.getWhoAnswers("3A")>>
<<if !_whoAnswers>>
<p class="no-answer"><<= _es ? "Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa." : "You ring the doorbell and wait... but no one answers. It seems like nobody's home.">></p>
[[<<= _es ? "Volver" : "Go back">>->Rellano del 3º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _semblante to $currentSemblanteActive>>
<<set _isChicaSexy to (_semblante && (_es ? _semblante.name === 'Chica sexy' : _semblante.nameEn === 'Sexy girl'))>>
<<set _hasSemblante to (_semblante && !_isChicaSexy)>>
/* ── 1. RECIÉN EXCITADO ─────────────────────────────── */
<<if _justExcited>>
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Francesco">>
<p class="excited-goodbye"><<= _es ? "Francesco se despide con una disculpa y cierra la puerta, con su cara toda enrojecida." : "Francesco says goodbye with an apology and closes the door, his face all red.">></p>
<<case "Sean">>
<p class="excited-goodbye"><<= _es ? "Sean murmura una disculpa y se adentra en la casa, cerrando la puerta." : "Sean murmurs an apology and goes inside the house, closing the door behind him.">></p>
<<case "Adler">>
<p class="excited-goodbye"><<= _es ? "Adler murmura una disculpa en alemán y cierra la puerta. Es evidente el bulto de su pantalón." : "Adler murmurs an apology in German and closes the door. The bulge in his pants is obvious.">></p>
<</switch>>
[[<<= _es ? "Volver" : "Back">>->Rellano del 3º]]
/* ── 2. HA EYACULADO ────────────────────────────────── */
<<elseif _hasEjaculated>>
<<switch _charId>>
<<case "Francesco">>
<p class="no-answer"><<= _es ? "Tocas el timbre insistentemente pero Francesco no responde. Escuchas movimiento dentro pero parece que está ocupado limpiándose después de... el incidente." : "You ring the doorbell insistently but Francesco doesn't answer. You hear movement inside but he seems busy cleaning himself after... the incident.">></p>
<<case "Sean">>
<p class="no-answer"><<= _es ? "Tocas el timbre pero Sean no abre. Desde dentro se escucha el ruido de una ducha. Seguramente está limpiando el desastre que provocaste..." : "You ring the doorbell but Sean doesn't open. You hear the sound of a shower from inside. He's probably cleaning up the mess you caused...">></p>
<<case "Adler">>
<p class="no-answer"><<= _es ? "El timbre suena pero Adler no abre la puerta. Probablemente está en el baño, ocupándose de las consecuencias de tu \"experimento\"." : "The doorbell rings but Adler doesn't open the door. He's probably in the bathroom, dealing with the consequences of your \"experiment\".">></p>
<</switch>>
[[<<= _es ? "Volver" : "Back">>->Rellano del 3º]]
/* ── 3. ESTÁ EXCITADO ───────────────────────────────── */
<<elseif _isExcited>>
<p class="no-answer"><<= _es ? "Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa, o está ocupado..." : "You ring the doorbell and wait... but no one answers. It seems like nobody's home, or they're busy...">></p>
[[<<= _es ? "Volver" : "Back">>->Rellano del 3º]]
/* ── 4. SEMBLANTE ACTIVO (no es Chica sexy) — no te reconoce ── */
<<elseif _hasSemblante>>
<<switch _charId>>
<<case "Sean">>
<<= _es ? "La puerta se abre y aparece Sean." : "The door opens and Sean appears.">>
<center><img src="images/Sean/seanpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("Sean", {
characters: [{id:'sean', name:'Sean', portrait:'images/Sean/sean.png', color:'#4a90e2', facing:'left'}],
lines: [
{speaker:'sean', text: es ? '¿Eh? ¿Quién eres tío?' : 'Huh? Who are you dude?'},
{speaker:'sean', text: es ? 'No te conozco... ¿te has equivocado de piso?' : "I don't know you... did you get the wrong floor?"}
],
options: [[{text: es ? 'Disculparte y marcharte' : 'Apologize and leave', action:'GOTO:Rellano del 3º'}]]
});
<</script>>
<<case "Adler">>
<<= _es ? "La puerta se abre y aparece Adler." : "The door opens and Adler appears.">>
<center><img src="images/Adler/adlerpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("Adler", {
characters: [{id:'adler', name:'Adler', portrait:'images/Adler/adler.png', color:'#e74c3c', facing:'left'}],
lines: [
{speaker:'adler', text: es ? 'Guten tag... ¿Le conozco?' : 'Guten tag... Do I know you?'},
{speaker:'adler', text: es ? 'No creo que nos hayamos visto antes...' : "I don't think we've met before..."}
],
options: [[{text: es ? 'Disculparte y marcharte' : 'Apologize and leave', action:'GOTO:Rellano del 3º'}]]
});
<</script>>
<<case "Francesco">>
<<= _es ? "La puerta se abre y aparece Francesco." : "The door opens and Francesco appears.">>
<center><img src="images/Francesco/francescopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("Francesco", {
characters: [{id:'francesco', name:'Francesco', portrait:'images/Francesco/francesco.png', color:'#2ecc71', facing:'left'}],
lines: [
{speaker:'francesco', text: es ? '¿Sí? ¿Necesita algo?' : 'Yes? Do you need something?'},
{speaker:'francesco', text: es ? 'Disculpe, pero no le conozco...' : "Excuse me, but I don't know you..."}
],
options: [[{text: es ? 'Disculparte y marcharte' : 'Apologize and leave', action:'GOTO:Rellano del 3º'}]]
});
<</script>>
<</switch>>
/* ── 5. COMPORTAMIENTO NORMAL (incluye Chica sexy) ──── */
<<else>>
<<switch _charId>>
/* ── SEAN ── */
<<case "Sean">>
<<if _charState eq "sleeping">>
<<= _es ? "La puerta se abre lentamente y aparece Sean oliendo fuerte a alcohol." : "The door slowly opens and Sean appears, smelling strongly of alcohol.">>
<center><img src="images/Sean/seanpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("SeanDormido", {
characters: [{id:'sean', name:'Sean', portrait:'images/Sean/sean.png', color:'#4a90e2', facing:'left'}],
lines: [{speaker:'sean', text: es ? 'Whaat? ¿Qué está pasando?' : "Whaat? What's going on?"}],
options: [[{text: es ? 'Disculparte y marcharte' : 'Apologize and leave', action:'GOTO:Rellano del 3º'}]]
});
<</script>>
<<else>>
<<= _es ? "La puerta se abre y aparece Sean." : "The door opens and Sean appears.">>
<center><img src="images/Sean/seanpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
var S = State.variables;
var opts = [];
var semblante = S.currentSemblanteActive;
var isChicaSexy = semblante && (es ? semblante.name === 'Chica sexy' : semblante.nameEn === 'Sexy girl');
if (isChicaSexy && S.notaSean2 && S.straponcomprado)
opts.push({text: es ? 'Le propones a Sean una cita especial' : 'You propose a special date to Sean', action:'GOTO:Seanstrapon'});
if (S.Seancontacto === false)
opts.push({text: es ? 'Intentas sacar una foto' : 'Try to take a photo', action:'GOTO:Seantomarfoto'});
opts.push({text: es ? 'Tienes una charla insulsa y vacía' : 'Have a bland and empty chat', action:'GOTO:Rellano del 3º'});
setup.showDoorDialogue("Sean", {
characters: [
{id:'sean', name:'Sean', portrait:'images/Sean/sean.png', color:'#4a90e2', facing:'left'},
{id:'sergio', name: isChicaSexy ? (es ? 'Chica' : 'Girl') : 'Sergio',
portrait: isChicaSexy ? 'images/Semblantes/chicasexyretrato.png' : 'images/sergio.png',
color: isChicaSexy ? '#ff69b4' : '#8af7ff', facing:'right'}
],
lines: [
{speaker:'sergio', text: es ? 'Hola. ¿Eras Sean?' : 'Hello. Are you Sean?'},
{speaker:'sean', text: es ? 'Si, lo soy.' : 'Yes, I am.'}
],
options: [opts]
});
<</script>>
<</if>>
/* ── ADLER ── */
<<case "Adler">>
<<if _charState eq "sleeping">>
<<= _es ? "La puerta se abre y Adler asoma somnoliento." : "The door opens and Adler peeks out sleepily.">>
<center><img src="images/Adler/adlerpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("AdlerDormido", {
characters: [{id:'adler', name:'Adler', portrait:'images/Adler/adler.png', color:'#e74c3c', facing:'left'}],
lines: [{speaker:'adler', text: es ? 'Hola... Estaba en la cama...' : 'Hello... I was in bed...'}],
options: [[{text: es ? 'Disculparte' : 'Apologize', action:'GOTO:Rellano del 3º'}]]
});
<</script>>
<<else>>
<<= _es ? "La puerta se abre y aparece Adler." : "The door opens and Adler appears.">>
<center><img src="images/Adler/adlerpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
var S = State.variables;
var opts = [];
var semblante = S.currentSemblanteActive;
var isChicaSexy = semblante && (es ? semblante.name === 'Chica sexy' : semblante.nameEn === 'Sexy girl');
if (S.Adlercontacto === false)
opts.push({text: es ? 'Intentas sacar una foto' : 'Try to take a photo', action:'GOTO:Adlertomafoto'});
opts.push({text: es ? 'Tienes una charla insulsa y vacía' : 'Have a bland and empty chat', action:'GOTO:Rellano del 3º'});
setup.showDoorDialogue("Adler", {
characters: [
{id:'adler', name:'Adler', portrait:'images/Adler/adler.png', color:'#e74c3c', facing:'left'},
{id:'sergio', name: isChicaSexy ? (es ? 'Chica' : 'Girl') : 'Sergio',
portrait: isChicaSexy ? 'images/Semblantes/chicasexyretrato.png' : 'images/sergio.png',
color: isChicaSexy ? '#ff69b4' : '#8af7ff', facing:'right'}
],
lines: [
{speaker:'adler', text: es ? 'Buenos... días... vecino ¿Quieres algo?' : 'Good... day... neighbor. Do you need something?'}
],
options: [opts]
});
<</script>>
<</if>>
/* ── FRANCESCO ── */
<<case "Francesco">>
<<if _charState eq "sleeping">>
<<= _es ? "Trás un tiempo, la puerta se abre y aparece un Francesco adormilado pero perfectamente peinado." : "After a while, the door opens and a sleepy but perfectly groomed Francesco appears.">>
<center><img src="images/Francesco/francescopuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("FrancescoDormido", {
characters: [{id:'francesco', name:'Francesco', portrait:'images/Francesco/francesco.png', color:'#2ecc71', facing:'left'}],
lines: [{speaker:'francesco', text: es ? 'Disculpa, pero no son horas de tocar un timbre.' : 'Excuse me, but this is not a proper time to ring a doorbell.'}],
options: [[{text: es ? 'Disculparte' : 'Apologize', action:'GOTO:Rellano del 3º'}]]
});
<</script>>
<<else>>
<<= _es ? "La puerta se abre y aparece Francesco." : "The door opens and Francesco appears.">>
<center><img src="images/Francesco/francescopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
var S = State.variables;
var opts = [];
var semblante = S.currentSemblanteActive;
var isChicaSexy = semblante && (es ? semblante.name === 'Chica sexy' : semblante.nameEn === 'Sexy girl');
if (S.Francescocontacto === false)
opts.push({text: es ? 'Intentas sacar una foto' : 'Try to take a photo', action:'GOTO:Francescotomafoto'});
opts.push({text: es ? 'Tienes una charla insulsa y vacía' : 'Have a bland and empty chat', action:'GOTO:Rellano del 3º'});
setup.showDoorDialogue("Francesco", {
characters: [
{id:'francesco', name:'Francesco', portrait:'images/Francesco/francesco.png', color:'#2ecc71', facing:'left'},
{id:'sergio', name: isChicaSexy ? (es ? 'Chica' : 'Girl') : 'Sergio',
portrait: isChicaSexy ? 'images/Semblantes/chicasexyretrato.png' : 'images/sergio.png',
color: isChicaSexy ? '#ff69b4' : '#8af7ff', facing:'right'}
],
lines: [
{speaker:'sergio', text: es ? 'Hola.' : 'Hello.'},
{speaker:'francesco', text: es ? 'Hola. ¿Sucede algo?' : 'Hello. Is something wrong?'}
],
options: [opts]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano" />
</div>
Suenas el timbre del apartamento 3B y esperas a la respuesta.
<<set _whoAnswers to setup.getWhoAnswers("3B")>>
/* CONDICIÓN 1: Si Tomaslesion está activa, NADIE abre la puerta */
<<if $Tomaslesion eq true and $Tomaslesion2 neq true>>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 3º]]
<<elseif !_whoAnswers>>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 3º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<run setup.registerCharactersInLocation([_charId])>>
/* CONDICIÓN 2: Si es Abel pero Tomaslesion2 no está activa, no puede abrir */
<<if _charId eq "Abel" and $Tomaslesion2 neq true>>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 3º]]
<<else>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _justExcited>>
/* ACABA de ser excitado perfectamente - Mensaje de despedida específico */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Tomas">>
<p class="excited-goodbye">Tomás se disculpa "Creo que Maite me está llamando" y cierra la puerta, claramente afectado por lo que acaba de experimentar.</p>
<<case "Maite">>
<p class="excited-goodbye">Maite se muestra confundida y cierra la puerta rápidamente, murmurando algo que no alcanzas a entender.</p>
<<case "Abel">>
<p class="excited-goodbye">Abel se muerde el labio y cierra la puerta apresuradamente, con la respiración agitada y las mejillas sonrojadas.</p>
<</switch>>
[[Volver->Rellano del 3º]]
<<elseif _hasEjaculated>>
/* El personaje ha eyaculado - NO responde a la puerta */
<<switch _charId>>
<<case "Tomas">>
<p class="no-answer">Tocas el timbre insistentemente pero Tomás no responde. Desde dentro se escucha ruido de agua... probablemente se está duchando después de... el incidente. Esperas que Maite no se haya dado cuenta.</p>
<<case "Maite">>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
<<case "Abel">>
<p class="no-answer">Tocas el timbre varias veces pero Abel no responde. Escuchas movimiento dentro... parece estar ocupado limpiándose después del incidente.</p>
<</switch>>
[[Volver->Rellano del 3º]]
<<elseif _isExcited>>
/* El personaje está excitado - NO responde a la puerta */
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa, o está ocupado...</p>
[[Volver->Rellano del 3º]]
<<elseif _hasSemblante>>
/* SEMBLANTE ACTIVO - El personaje no te reconoce */
<<switch _charId>>
<<case "Tomas">>
La puerta se abre y aparece Tomás.
<center><img src="images/Tomas/tomaspuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [{id: 'tomas', name: 'Tomás', portrait: 'images/Tomas/tomas.png', color: '#4a90e2', facing: 'left'}],
lines: [
{speaker: 'tomas', text: '¿Sí? ¿Le conozco de algo?'},
{speaker: 'tomas', text: 'Disculpe, pero no recuerdo haberle visto antes...'}
],
options: [[], [{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 3º'}]]
})>>
<<case "Maite">>
La puerta se abre y aparece Maite.
<center><img src="images/mujeres/maitepuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Maite", {
characters: [{id: 'maite', name: 'Maite', portrait: 'images/mujeres/maite.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'maite', text: '¿Quién es usted, joven?'},
{speaker: 'maite', text: 'Creo que se ha equivocado de puerta...'}
],
options: [[], [{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 3º'}]]
})>>
<<case "Abel">>
La puerta se abre y aparece Abel.
<center><img src="images/Abel/abelpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Abel", {
characters: [{id: 'abel', name: 'Abel', portrait: 'images/Abel/abel.png', color: '#9b59b6', facing: 'left'}],
lines: [
{speaker: 'abel', text: '¿Sí? ¿Te conozco?'},
{speaker: 'abel', text: 'Perdona, creo que te has equivocado de puerta...'}
],
options: [[], [{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 3º'}]]
})>>
<</switch>>
<<else>>
/* COMPORTAMIENTO NORMAL - Sin semblante, Sergio original */
<<switch _charId>>
<<case "Tomas">>
<<if _charState eq "sleeping">>
La puerta se abre despacio y aparece Tomás en pijama.
<center><img src="images/Tomas/tomaspuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("TomasDormido", {
characters: [{id: 'tomas', name: 'Tomás', portrait: 'images/Tomas/tomas.png', color: '#4a90e2', facing: 'left'}],
lines: [{speaker: 'tomas', text: '¿Cómo tocas el timbre tan tarde? Maite está durmiendo...'}],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 3º'}]]
})>>
<<else>>
La puerta se abre y aparece Tomás.
<center><img src="images/Tomas/tomaspuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var tomasOptions = [];
if (State.variables.Tomascontacto !== true) {
tomasOptions.push({ text: 'Intentar tomar una foto', action: 'GOTO:tomastomafoto' });
}
tomasOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 3º' });
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomás', portrait: 'images/Tomas/tomas.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'tomas', text: '¡Sergio! ¿Qué tal? ¿Cómo están tus padres?' }
],
options: [
tomasOptions
]
});
<</script>>
<</if>>
<<case "Maite">>
<<if _charState eq "sleeping">>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que Maite está durmiendo.</p>
[[Volver->Rellano del 3º]]
<<else>>
La puerta se abre y aparece Maite.
<center><img src="images/mujeres/maitepuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var maiteOptions = [];
var tomasLocation = setup.getCharacterLocation("Tomas");
var tomasEnCasa = (tomasLocation && tomasLocation.location === "3B");
if (!tomasEnCasa && State.variables.notaTomas1 === true) {
maiteOptions.push({ text: 'Preguntarle por Tomás', action: 'GOTO:MaiteConversacionTomas' });
}
maiteOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 3º' });
setup.showDoorDialogue("Maite", {
characters: [
{ id: 'maite', name: 'Maite', portrait: 'images/mujeres/maite.png', color: '#e74c3c', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'maite', text: 'Hola joven...' }
],
options: [
maiteOptions
]
});
<</script>>
<</if>>
<<case "Abel">>
<<if _charState eq "sleeping">>
La puerta se abre despacio y aparece Abel en pijama, frotándose los ojos.
<center><img src="images/Abel/abelpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("AbelDormido", {
characters: [{id: 'abel', name: 'Abel', portrait: 'images/Abel/abel.png', color: '#9b59b6', facing: 'left'}],
lines: [{speaker: 'abel', text: '¿Sergio? ¿Qué haces aquí tan tarde? Mis abuelos están durmiendo...'}],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 3º'}]]
})>>
<<else>>
La puerta se abre y aparece Abel, el nieto de Tomás y Maite.
<center><img src="images/Abel/abelpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var abelOptions = [];
if (State.variables.Abelcontacto !== true) {
abelOptions.push({ text: 'Intentar tomar una foto', action: 'GOTO:AbelFoto' });
}
if (State.variables.AbelVisionUsada === true) {
abelOptions.push({ text: 'Intentar seducir a Abel', action: 'GOTO:sexoabel' });
}
abelOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 3º' });
setup.showDoorDialogue("Abel", {
characters: [
{ id: 'abel', name: 'Abel', portrait: 'images/Abel/abel.png', color: '#9b59b6', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'abel', text: '¡Hola Sergio! ¿Qué tal?' }
],
options: [
abelOptions
]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano" />
</div>
You ring the doorbell of apartment 3B and wait for an answer.
<<set _whoAnswers to setup.getWhoAnswers("3B")>>
/* CONDITION 1: If Tomaslesion is active, NO ONE opens the door */
<<if $Tomaslesion eq true and $Tomaslesion2 neq true>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home.</p>
[[Back->Rellano del 3º]]
<<elseif !_whoAnswers>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home.</p>
[[Back->Rellano del 3º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<run setup.registerCharactersInLocation([_charId])>>
/* CONDITION 2: If it's Abel but Tomaslesion2 is not active, he can't open */
<<if _charId eq "Abel" and $Tomaslesion2 neq true>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home.</p>
[[Back->Rellano del 3º]]
<<else>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _justExcited>>
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Tomas">>
<p class="excited-goodbye">Tomás apologizes, saying, "I think Maite is calling me," and closes the door, clearly affected by what he has just experienced.</p>
<<case "Maite">>
<p class="excited-goodbye">Maite looks confused and quickly closes the door, mumbling something you can't quite understand.</p>
<<case "Abel">>
<p class="excited-goodbye">Abel bites his lip and hurriedly closes the door, breathing heavily with flushed cheeks.</p>
<</switch>>
[[Back->Rellano del 3º]]
<<elseif _hasEjaculated>>
<<switch _charId>>
<<case "Tomas">>
<p class="no-answer">You ring the doorbell insistently but Tomás doesn't answer. You hear the sound of running water from inside... he's probably showering after... the incident. You hope Maite didn't notice.</p>
<<case "Maite">>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home.</p>
<<case "Abel">>
<p class="no-answer">You ring the doorbell several times but Abel doesn't answer. You hear movement inside... he seems to be busy cleaning up after the incident.</p>
<</switch>>
[[Back->Rellano del 3º]]
<<elseif _isExcited>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems there's no one home, or they're busy...</p>
[[Back->Rellano del 3º]]
<<elseif _hasSemblante>>
<<switch _charId>>
<<case "Tomas">>
The door opens and Tomás appears.
<center><img src="images/Tomas/tomaspuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [{id: 'tomas', name: 'Tomás', portrait: 'images/Tomas/tomas.png', color: '#4a90e2', facing: 'left'}],
lines: [
{speaker: 'tomas', text: 'Yes? Do I know you?'},
{speaker: 'tomas', text: 'Excuse me, but I don\'t remember seeing you before...'}
],
options: [[], [{text: 'Apologize and leave', action: 'GOTO:Rellano del 3º'}]]
})>>
<<case "Maite">>
The door opens and Maite appears.
<center><img src="images/mujeres/maitepuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Maite", {
characters: [{id: 'maite', name: 'Maite', portrait: 'images/mujeres/maite.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'maite', text: 'Who are you, young person?'},
{speaker: 'maite', text: 'I think you have the wrong door...'}
],
options: [[], [{text: 'Apologize and leave', action: 'GOTO:Rellano del 3º'}]]
})>>
<<case "Abel">>
The door opens and Abel appears.
<center><img src="images/Abel/abelpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Abel", {
characters: [{id: 'abel', name: 'Abel', portrait: 'images/Abel/abel.png', color: '#9b59b6', facing: 'left'}],
lines: [
{speaker: 'abel', text: 'Yes? Do I know you?'},
{speaker: 'abel', text: 'Sorry, I think you have the wrong door...'}
],
options: [[], [{text: 'Apologize and leave', action: 'GOTO:Rellano del 3º'}]]
})>>
<</switch>>
<<else>>
<<switch _charId>>
<<case "Tomas">>
<<if _charState eq "sleeping">>
The door opens slowly and Tomás appears in his pajamas.
<center><img src="images/Tomas/tomaspuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("TomasDormido", {
characters: [{id: 'tomas', name: 'Tomás', portrait: 'images/Tomas/tomas.png', color: '#4a90e2', facing: 'left'}],
lines: [{speaker: 'tomas', text: 'Why are you ringing the doorbell so late? Maite is sleeping...'}],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 3º'}]]
})>>
<<else>>
The door opens and Tomás appears.
<center><img src="images/Tomas/tomaspuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var tomasOptions = [];
if (State.variables.Tomascontacto !== true) {
tomasOptions.push({ text: 'Try to take a photo', action: 'GOTO:tomastomafoto' });
}
tomasOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Rellano del 3º' });
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomás', portrait: 'images/Tomas/tomas.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'tomas', text: 'Sergio! How are you? How are your parents?' }
],
options: [
tomasOptions
]
});
<</script>>
<</if>>
<<case "Maite">>
<<if _charState eq "sleeping">>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems Maite is sleeping.</p>
[[Back->Rellano del 3º]]
<<else>>
The door opens and Maite appears.
<center><img src="images/mujeres/maitepuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var maiteOptions = [];
var tomasLocation = setup.getCharacterLocation("Tomas");
var tomasEnCasa = (tomasLocation && tomasLocation.location === "3B");
if (!tomasEnCasa && State.variables.notaTomas1 === true) {
maiteOptions.push({ text: 'Ask her about Tomás', action: 'GOTO:MaiteConversacionTomas' });
}
maiteOptions.push({ text: 'Have a bland and empty conversation', action: 'GOTO:Rellano del 3º' });
setup.showDoorDialogue("Maite", {
characters: [
{ id: 'maite', name: 'Maite', portrait: 'images/mujeres/maite.png', color: '#e74c3c', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'maite', text: 'Hello young man...' }
],
options: [
maiteOptions
]
});
<</script>>
<</if>>
<<case "Abel">>
<<if _charState eq "sleeping">>
The door opens slowly and Abel appears in his pajamas, rubbing his eyes.
<center><img src="images/Abel/abelpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("AbelDormido", {
characters: [{id: 'abel', name: 'Abel', portrait: 'images/Abel/abel.png', color: '#9b59b6', facing: 'left'}],
lines: [{speaker: 'abel', text: 'Sergio? What are you doing here so late? My grandparents are sleeping...'}],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 3º'}]]
})>>
<<else>>
The door opens and Abel appears, Tomás and Maite's grandson.
<center><img src="images/Abel/abelpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var abelOptions = [];
if (State.variables.Abelcontacto !== true) {
abelOptions.push({ text: 'Try to take a photo', action: 'GOTO:AbelFoto' });
}
if (State.variables.AbelVisionUsada === true) {
abelOptions.push({ text: 'Try to seduce Abel', action: 'GOTO:sexoabel' });
}
abelOptions.push({ text: 'Have a bland and empty conversation', action: 'GOTO:Rellano del 3º' });
setup.showDoorDialogue("Abel", {
characters: [
{ id: 'abel', name: 'Abel', portrait: 'images/Abel/abel.png', color: '#9b59b6', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'abel', text: 'Hi Sergio! How are you?' }
],
options: [
abelOptions
]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
Suenas el timbre del apartamento 1A y esperas a la respuesta.
<<set _whoAnswers to setup.getWhoAnswers("1A")>>
<<if !_whoAnswers>>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 1º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _isFumigadorSemblante to (_hasSemblante && $currentSemblanteActive.name === "Exterminador de plagas")>>
<<set _canSneak to ($Semblantefumigador === true && _charState !== "sleeping" && (!_hasSemblante || _isFumigadorSemblante))>>
<<if _justExcited>>
/* ACABA de ser excitado perfectamente - Mensaje de despedida específico */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Alex">>
<p class="excited-goodbye">La expresión agresiva de Alex cambia radicalmente. Sin despedirse, da un portazo.</p>
<<case "Ernesto">>
<p class="excited-goodbye">Ernesto pierde su sonrisa amable y dice "Tengo que dejarte. Hablamos luego." Después, cierra la puerta.</p>
<<case "Damian">>
<p class="excited-goodbye">Tanto Damián como tú bajáis la mirada hacia su enorme bulto. Su polla es inmensa. Tu vecino se disculpa y cierra la puerta.</p>
<<case "Carmen">>
<p class="excited-goodbye">Carmen se muestra confundida y cierra la puerta rápidamente, murmurando algo que no alcanzas a entender.</p>
<</switch>>
[[Volver->Rellano del 1º]]
<<elseif _hasEjaculated>>
/* El personaje ha eyaculado - NO responde a la puerta */
<<switch _charId>>
<<case "Alex">>
<p class="no-answer">Tocas el timbre insistentemente pero Alex no responde. Escuchas movimiento dentro pero parece que está limpiando el desastre que provocaste. Probablemente maldiciéndote entre dientes.</p>
<<case "Ernesto">>
<p class="no-answer">Tocas el timbre pero Ernesto no abre. Desde dentro se escucha ruido de agua. Seguramente está duchándose después de... la situación embarazosa que causaste.</p>
<<case "Damian">>
<p class="no-answer">El timbre suena pero Damián no abre la puerta. Con el tamaño de su polla, el desastre debe ser considerable. Probablemente esté limpiándose en el baño.</p>
<<case "Carmen">>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
<</switch>>
[[Volver->Rellano del 1º]]
<<elseif _isExcited>>
/* El personaje está excitado - NO responde a la puerta */
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa, o está ocupado...</p>
[[Volver->Rellano del 1º]]
<<elseif _hasSemblante && !_isFumigadorSemblante>>
/* SEMBLANTE ACTIVO (que NO es exterminador de plagas) - El personaje no te reconoce */
<<switch _charId>>
<<case "Alex">>
La puerta se abre y aparece Alex.
<center><img src="images/Alex/alexpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var alexSemblanteOptions = [];
if (State.variables.Bolsadedroga === true) {
alexSemblanteOptions.push({ text: 'Ofrecerle la droga', action: 'GOTO:AlexOfrecerDroga' });
}
alexSemblanteOptions.push({ text: 'Marcharte rápidamente', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Alex", {
characters: [{id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left'}],
lines: [
{speaker: 'alex', text: '¿Quién coño eres?'},
{speaker: 'alex', text: 'No te conozco. Lárgate.'}
],
options: [alexSemblanteOptions]
});
<</script>>
<<case "Damian">>
La puerta se abre y aparece Damián.
<center><img src="images/Damian/damianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [{id: 'damian', name: 'Damián', portrait: 'images/Damian/damian.png', color: '#ff6b6b', facing: 'left'}],
lines: [
{speaker: 'damian', text: '¿Sí? ¿Te conozco?'},
{speaker: 'damian', text: 'No me suenas de nada tío...'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<case "Ernesto">>
La puerta se abre y aparece Ernesto.
<center><img src="images/Ernesto/ernestopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [{id: 'ernesto', name: 'Ernesto', portrait: 'images/Ernesto/ernesto.png', color: '#ff4757', facing: 'left'}],
lines: [
{speaker: 'ernesto', text: '¿Hola? ¿Necesitas algo?'},
{speaker: 'ernesto', text: 'Disculpa, pero no creo que nos conozcamos...'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<case "Carmen">>
<<if $notaErnesto1 !== true>>
<!-- CARMEN YA NO VIVE AQUÍ -->
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 1º]]
<<else>>
La puerta se abre y aparece Carmen.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Carmen", {
characters: [{id: 'carmen', name: 'Carmen', portrait: 'images/mujeres/carmen.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'carmen', text: '¿Quién es usted? No le conozco.'},
{speaker: 'carmen', text: 'Creo que se ha equivocado de puerta.'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
})>>
<</if>>
<</switch>>
<<else>>
/* COMPORTAMIENTO NORMAL - Sin semblante, Sergio original O con semblante de exterminador de plagas */
<<switch _charId>>
<<case "Alex">>
<<if _charState eq "sleeping">>
La puerta se abre bruscamente y aparece Alex en pijama, más enfadado que de costumbre.
<center><img src="images/Alex/Alexpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("AlexDormido", {
characters: [{id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left'}],
lines: [{speaker: 'alex', text: '¿Estas son horas de llamar, imbécil? ¡Lárgate!'}],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
La puerta se abre y aparece Alex.
<center><img src="images/Alex/alexpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var alexOptions = [];
if (State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Ofrecerle la droga', action: 'GOTO:AlexOfrecerDroga' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
alexOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseA' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.name === "Exterminador de plagas") {
alexOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseA' });
}
alexOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Eh.. Hola Alex.' },
{ speaker: 'alex', text: '¿Qué coño quieres?' }
],
options: [
alexOptions
]
});
<</script>>
<</if>>
<<case "Damian">>
<<if _charState eq "sleeping">>
La puerta se abre y Damián aparece con mucho cansancio en el rostro.
<center><img src="images/Damian/damiansueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("DamianDormido", {
characters: [{id: 'damian', name: 'Damián', portrait: 'images/Damian/damian.png', color: '#ff6b6b', facing: 'left'}],
lines: [{speaker: 'damian', text: 'Tío... Es de noche... '}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
La puerta se abre y aparece Damián.
<center><img src="images/Damian/damianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var damianOptions = [];
if (State.variables.Damiancontacto === false) {
damianOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Damiantomafoto' });
}
if (State.variables.webcreada === true && State.variables.webcomentada !== true) {
damianOptions.push({ text: 'Comentarle sobre la web', action: 'GOTO:lecomentaslaweb' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
damianOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseD' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.name === "Exterminador de plagas") {
damianOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseD' });
}
damianOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'damian', text: 'Hola Sergio. ¿Qué pasa?' }
],
options: [
damianOptions
]
});
<</script>>
<</if>>
<<case "Ernesto">>
<<if _charState eq "sleeping">>
La puerta se abre y Ernesto aparece medio dormido.
<center><img src="images/Ernesto/Ernestosueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("ErnestoDormido", {
characters: [{id: 'ernesto', name: 'Ernesto', portrait: 'images/Ernesto/ernesto.png', color: '#ff4757', facing: 'left'}],
lines: [{speaker: 'ernesto', text: 'Vecino... estaba durmiendo. ¿Es necesario?'}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
La puerta se abre y aparece Ernesto.
<center><img src="images/Ernesto/ernestopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var ernestoOptions = [];
// Opción para hablar sobre lo sucedido (notaErnesto2)
if (State.variables.notaErnesto2 === true) {
ernestoOptions.push({ text: 'Hablar sobre lo sucedido', action: 'GOTO:Recomendaciondepsicologa' });
}
if (State.variables.Ernestocontacto === false) {
ernestoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Ernestotomafoto' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
ernestoOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseE' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.name === "Exterminador de plagas") {
ernestoOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseE' });
}
ernestoOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Ernesto.' },
{ speaker: 'ernesto', text: '¿Qué hay de nuevo vecino?' }
],
options: [
ernestoOptions
]
});
<</script>>
<</if>>
<<case "Carmen">>
<<if $notaErnesto1 !== true>>
<!-- CARMEN YA NO VIVE AQUÍ -->
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 1º]]
<<elseif _charState eq "sleeping">>
La puerta se abre con ímpetu y Carmen aparece muy molesta.
<center><img src="images/mujeres/carmensueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("CarmenDormida", {
characters: [{id: 'carmen', name: 'Carmen', portrait: 'images/mujeres/carmen.png', color: '#e74c3c', facing: 'left'}],
lines: [{speaker: 'carmen', text: '¿Crees que estas son unas horas decentes de despertar a alguien? ¡Fuera de aquí!'}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
La puerta se abre y aparece Carmen.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var carmenOptions = [];
// Si tienes las pruebas de infidelidad de Ernesto
if (State.variables.notaErnesto1 === true &&
(State.variables.pruebaInfidelidadErnesto1 === true || State.variables.pruebaInfidelidadErnesto2 === true)) {
carmenOptions.push({ text: 'Mostrar las pruebas de la infidelidad', action: 'GOTO:CarmenMostrarPruebas' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
carmenOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseC' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.name === "Exterminador de plagas") {
carmenOptions.push({ text: 'Intentar colarse', action: 'GOTO:intentarcolarseC' });
}
carmenOptions.push({ text: 'Tienes una charla breve', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Carmen", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Carmen.' },
{ speaker: 'carmen', text: 'Hola Sergio. ¿Te ha hecho algo el estúpido de mi hijo?' }
],
options: [
carmenOptions
]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
You ring the doorbell of apartment 1A and wait for a response.
<<set _whoAnswers to setup.getWhoAnswers("1A")>>
<<if !_whoAnswers>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home.</p>
[[Go back->Rellano del 1º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _isFumigadorSemblante to (_hasSemblante && $currentSemblanteActive.nameEn === "Pest Exterminator")>>
<<set _canSneak to ($Semblantefumigador === true && _charState !== "sleeping" && (!_hasSemblante || _isFumigadorSemblante))>>
<<if _justExcited>>
/* JUST aroused perfectly - Specific goodbye message */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Alex">>
<p class="excited-goodbye">Alex's aggressive expression changes drastically. Without saying goodbye, he slams the door.</p>
<<case "Ernesto">>
<p class="excited-goodbye">Ernesto loses his friendly smile and says, "I have to go. We'll talk later." Then he closes the door.</p>
<<case "Damian">>
<p class="excited-goodbye">Both you and Damian glance down at his enormous bulge. His cock is huge. Your neighbor apologizes and closes the door.</p>
<<case "Carmen">>
<p class="excited-goodbye">Carmen looks confused and quickly closes the door, mumbling something you can't quite understand.</p>
<</switch>>
[[Back->Rellano del 1º]]
<<elseif _hasEjaculated>>
/* Character has ejaculated - does NOT answer the door */
<<switch _charId>>
<<case "Alex">>
<p class="no-answer">You ring the doorbell insistently but Alex doesn't answer. You hear movement inside but he seems to be cleaning up the mess you caused. Probably cursing you under his breath.</p>
<<case "Ernesto">>
<p class="no-answer">You ring the doorbell but Ernesto doesn't open. You hear the sound of running water from inside. He's probably showering after... the embarrassing situation you caused.</p>
<<case "Damian">>
<p class="no-answer">The doorbell rings but Damián doesn't open the door. With the size of his cock, the mess must be considerable. He's probably cleaning himself in the bathroom.</p>
<<case "Carmen">>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home.</p>
<</switch>>
[[Back->Rellano del 1º]]
<<elseif _isExcited>>
/* Character is aroused - does NOT answer the door */
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home, or they're busy...</p>
[[Back->Rellano del 1º]]
<<elseif _hasSemblante && !_isFumigadorSemblante>>
/* ACTIVE SEMBLANTE (not pest exterminator) - Character doesn't recognize you */
<<switch _charId>>
<<case "Alex">>
The door opens and Alex appears.
<center><img src="images/Alex/alexpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var alexSemblanteOptions = [];
if (State.variables.Bolsadedroga === true) {
alexSemblanteOptions.push({ text: 'Offer him the drug', action: 'GOTO:AlexOfrecerDroga' });
}
alexSemblanteOptions.push({ text: 'Leave quickly', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Alex", {
characters: [{id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left'}],
lines: [
{speaker: 'alex', text: 'Who the fuck are you?'},
{speaker: 'alex', text: 'I don\'t know you. Get lost.'}
],
options: [alexSemblanteOptions]
});
<</script>>
<<case "Damian">>
The door opens and Damián appears.
<center><img src="images/Damian/damianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [{id: 'damian', name: 'Damián', portrait: 'images/Damian/damian.png', color: '#ff6b6b', facing: 'left'}],
lines: [
{speaker: 'damian', text: 'Yes? Do I know you?'},
{speaker: 'damian', text: 'You don\'t look familiar at all dude...'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
})>>
<<case "Ernesto">>
The door opens and Ernesto appears.
<center><img src="images/Ernesto/ernestopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [{id: 'ernesto', name: 'Ernesto', portrait: 'images/Ernesto/ernesto.png', color: '#ff4757', facing: 'left'}],
lines: [
{speaker: 'ernesto', text: 'Hello? Do you need something?'},
{speaker: 'ernesto', text: 'Sorry, but I don\'t think we know each other...'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
})>>
<<case "Carmen">>
<<if $notaErnesto1 !== true>>
<!-- CARMEN NO LONGER LIVES HERE -->
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home.</p>
[[Go back->Rellano del 1º]]
<<else>>
The door opens and Carmen appears.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Carmen", {
characters: [{id: 'carmen', name: 'Carmen', portrait: 'images/mujeres/carmen.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'carmen', text: 'Who are you? I don\'t know you.'},
{speaker: 'carmen', text: 'I think you have the wrong door.'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
})>>
<</if>>
<</switch>>
<<else>>
/* NORMAL BEHAVIOR - No semblante, original Sergio OR pest exterminator semblante */
<<switch _charId>>
<<case "Alex">>
<<if _charState eq "sleeping">>
The door opens abruptly and Alex appears in pajamas, angrier than usual.
<center><img src="images/Alex/Alexpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("AlexDormido", {
characters: [{id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left'}],
lines: [{speaker: 'alex', text: 'Is this the time to knock, you idiot? Get lost!'}],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
The door opens and Alex appears.
<center><img src="images/Alex/alexpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var alexOptions = [];
if (State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Offer him the drug', action: 'GOTO:AlexOfrecerDroga' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
alexOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseA' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.nameEn === "Pest Exterminator") {
alexOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseA' });
}
alexOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Uh... Hi Alex.' },
{ speaker: 'alex', text: 'What the fuck do you want?' }
],
options: [
alexOptions
]
});
<</script>>
<</if>>
<<case "Damian">>
<<if _charState eq "sleeping">>
The door opens and Damián appears with a very tired expression.
<center><img src="images/Damian/damiansueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("DamianDormido", {
characters: [{id: 'damian', name: 'Damián', portrait: 'images/Damian/damian.png', color: '#ff6b6b', facing: 'left'}],
lines: [{speaker: 'damian', text: 'Dude... It\'s nighttime...'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
The door opens and Damián appears.
<center><img src="images/Damian/damianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var damianOptions = [];
if (State.variables.Damiancontacto === false) {
damianOptions.push({ text: 'Try to take a photo', action: 'GOTO:Damiantomafoto' });
}
if (State.variables.webcreada === true && State.variables.webcomentada !== true) {
damianOptions.push({ text: 'Tell him about the website', action: 'GOTO:lecomentaslaweb' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
damianOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseD' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.nameEn === "Pest Exterminator") {
damianOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseD' });
}
damianOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'damian', text: 'Hi Sergio. What\'s up?' }
],
options: [
damianOptions
]
});
<</script>>
<</if>>
<<case "Ernesto">>
<<if _charState eq "sleeping">>
The door opens and Ernesto appears half asleep.
<center><img src="images/Ernesto/Ernestosueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("ErnestoDormido", {
characters: [{id: 'ernesto', name: 'Ernesto', portrait: 'images/Ernesto/ernesto.png', color: '#ff4757', facing: 'left'}],
lines: [{speaker: 'ernesto', text: 'Neighbor... I was sleeping. Is it necessary?'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
The door opens and Ernesto appears.
<center><img src="images/Ernesto/ernestopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var ernestoOptions = [];
// Option to talk about what happened (notaErnesto2)
if (State.variables.notaErnesto2 === true) {
ernestoOptions.push({ text: 'Talk about what happened', action: 'GOTO:Recomendaciondepsicologa' });
}
if (State.variables.Ernestocontacto === false) {
ernestoOptions.push({ text: 'Try to take a photo', action: 'GOTO:Ernestotomafoto' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
ernestoOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseE' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.nameEn === "Pest Exterminator") {
ernestoOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseE' });
}
ernestoOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello Ernesto.' },
{ speaker: 'ernesto', text: 'What\'s new neighbor?' }
],
options: [
ernestoOptions
]
});
<</script>>
<</if>>
<<case "Carmen">>
<<if $notaErnesto1 !== true>>
<!-- CARMEN NO LONGER LIVES HERE -->
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home.</p>
[[Go back->Rellano del 1º]]
<<elseif _charState eq "sleeping">>
The door opens forcefully and Carmen appears very upset.
<center><img src="images/mujeres/carmensueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("CarmenDormida", {
characters: [{id: 'carmen', name: 'Carmen', portrait: 'images/mujeres/carmen.png', color: '#e74c3c', facing: 'left'}],
lines: [{speaker: 'carmen', text: 'Do you think this is a decent time to wake someone up? Get out of here!'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 1º'}]]
})>>
<<else>>
The door opens and Carmen appears.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var carmenOptions = [];
// If you have proof of Ernesto's infidelity
if (State.variables.notaErnesto1 === true &&
(State.variables.pruebaInfidelidadErnesto1 === true || State.variables.pruebaInfidelidadErnesto2 === true)) {
carmenOptions.push({ text: 'Show the evidence of infidelity', action: 'GOTO:CarmenMostrarPruebas' });
}
if (State.variables.Semblantefumigador === true && !State.variables.currentSemblanteActive) {
carmenOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseC' });
} else if (State.variables.Semblantefumigador === true && State.variables.currentSemblanteActive && State.variables.currentSemblanteActive.nameEn === "Pest Exterminator") {
carmenOptions.push({ text: 'Try to sneak in', action: 'GOTO:intentarcolarseC' });
}
carmenOptions.push({ text: 'Have a brief chat', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Carmen", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello Carmen.' },
{ speaker: 'carmen', text: 'Hello Sergio. Has my stupid son done something to you?' }
],
options: [
carmenOptions
]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
Suenas el timbre del apartamento 1B y esperas a la respuesta.
<<set _whoAnswers to setup.getWhoAnswers("1B")>>
<<if !_whoAnswers>>
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa.</p>
[[Volver->Rellano del 1º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _currentDay to $gameDayIndex>>
<<set _currentHour to $gameHours>>
<<if _justExcited>>
/* ACABA de ser excitado perfectamente - Mensaje de despedida específico */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Juanan">>
<p class="excited-goodbye">Juanan, claramente nervioso, titubea y, disculpándose, cierra la puerta.</p>
<<case "Tao">>
<p class="excited-goodbye">"Perdona, no me encuentro muy bien" te dice Tao, mientras cierra la puerta lentamente.</p>
<</switch>>
[[Volver->Rellano del 1º]]
<<elseif _hasEjaculated>>
/* El personaje ha eyaculado - NO responde a la puerta */
<<switch _charId>>
<<case "Juanan">>
<p class="no-answer">Tocas el timbre insistentemente pero Juanan no responde. Escuchas el ruido del agua corriendo en el baño. Probablemente está limpiándose después de... lo que provocaste.</p>
<<case "Tao">>
<p class="no-answer">Tocas el timbre pero nadie abre. Escuchas movimiento dentro, pero parece que Tao está ocupado limpiándose el desastre que causaste. Esperas que su padre no lo descubra.</p>
<</switch>>
[[Volver->Rellano del 1º]]
<<elseif _isExcited>>
/* El personaje está excitado - NO responde a la puerta */
<p class="no-answer">Tocas el timbre y esperas... pero nadie responde. Parece que no hay nadie en casa, o está ocupado...</p>
[[Volver->Rellano del 1º]]
<<elseif _hasSemblante>>
/* SEMBLANTE ACTIVO - El personaje no te reconoce */
<<switch _charId>>
<<case "Juanan">>
La puerta se abre y aparece Juanan.
<center><img src="images/Juanan/juananpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Juanan", {
characters: [{id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#4a90e2', facing: 'left'}],
lines: [
{speaker: 'juanan', text: '¿Sí? ¿Te conozco?'},
{speaker: 'juanan', text: 'No recuerdo haberte visto antes... ¿vives en el edificio?'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
})>>
<<case "Tao">>
La puerta se abre y aparece Tao.
<center><img src="images/Tao/taopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [{id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'tao', text: '¿Hola? ¿Quién eres?'},
{speaker: 'tao', text: 'No te conozco... ¿buscas a alguien?'}
],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
})>>
<</switch>>
<<else>>
/* COMPORTAMIENTO NORMAL - Sin semblante, Sergio original */
<<switch _charId>>
<<case "Juanan">>
<<if _charState eq "sleeping">>
La puerta se abre bruscamente y aparece Juanan en pijama, bostezando.
<center><img src="images/Juanan/juananpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("JuananDormido", {
characters: [{id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#4a90e2', facing: 'left'}],
lines: [{speaker: 'juanan', text: '¿Sergio? ¿Ha pasado algo grave? Estaba durmiendo.'}],
options: [[{text: 'Disculparte y marcharte', action: 'GOTO:Rellano del 1º'}]]
});
<</script>>
<<else>>
<<if $citajuanan is true && _currentDay >= 0 && _currentDay <= 4 && _currentHour == 23>>
<!-- CITA CON JUANAN - Día de semana, entre 23:00 y 24:00 -->
La puerta se abre y aparece Juanan, serio y nervioso.
<center><img src="images/Juanan/juananpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Sergio... Pasa.' },
{ speaker: 'sergio', text: 'Gracias...' }
],
options: [
[
{ text: 'Entras a la casa', action: 'GOTO:citajuanan' }
]
]
});
<</script>>
<<else>>
<!-- CONVERSACIÓN NORMAL CON JUANAN -->
La puerta se abre y aparece Juanan.
<center><img src="images/Juanan/juananpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var juananOptions = [];
if (State.variables.Juanancontacto === false) {
juananOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:juanantomafoto' });
}
juananOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Hola vecino ¿Querías algo?' }
],
options: [
juananOptions
]
});
<</script>>
<</if>>
<</if>>
<<case "Tao">>
<<if _charState eq "sleeping">>
La puerta se abre y Tao aparece somnoliento.
<center><img src="images/Tao/taosueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("TaoDormido", {
characters: [{id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#e74c3c', facing: 'left'}],
lines: [{speaker: 'tao', text: 'Ehh... ¿Hola? ¿Pasa algo?'}],
options: [[{text: 'Disculparte', action: 'GOTO:Rellano del 1º'}]]
});
<</script>>
<<else>>
La puerta se abre y aparece Tao.
<center><img src="images/Tao/taopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var taoOptions = [];
if (State.variables.Taocontacto === false) {
taoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Taotomafoto' });
}
if (State.variables.notaTao1 === true) {
taoOptions.push({ text: 'Mostrar imágenes sexuales a Tao', action: 'GOTO:Taonoquiereverfotos' });
}
taoOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tao', text: 'Hola Sergio. ¿Buscas a mi padre?' }
],
options: [
taoOptions
]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
You ring the doorbell of apartment 1B and wait for a response.
<<set _whoAnswers to setup.getWhoAnswers("1B")>>
<<if !_whoAnswers>>
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home.</p>
[[Go back->Rellano del 1º]]
<<else>>
<<set _charId to _whoAnswers.id>>
<<set _charState to _whoAnswers.state>>
<<set _isExcited to setup.excitationMarks.hasMark(_charId)>>
<<set _hasEjaculated to setup.ejaculationMarks.hasMark(_charId)>>
<<set _justExcited to (temporary().justExcitedPerfectly is _charId)>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _currentDay to $gameDayIndex>>
<<set _currentHour to $gameHours>>
<<if _justExcited>>
/* JUST aroused perfectly - Specific goodbye message */
<<unset $justExcitedPerfectly>>
<<switch _charId>>
<<case "Juanan">>
<p class="excited-goodbye">Juanan, clearly nervous, hesitates and, apologizing, closes the door.</p>
<<case "Tao">>
<p class="excited-goodbye">"Sorry, I'm not feeling very well," Tao says, as he slowly closes the door.</p>
<</switch>>
[[Back->Rellano del 1º]]
<<elseif _hasEjaculated>>
/* Character has ejaculated - does NOT answer the door */
<<switch _charId>>
<<case "Juanan">>
<p class="no-answer">You ring the doorbell insistently but Juanan doesn't answer. You hear the sound of running water in the bathroom. He's probably cleaning himself after... what you caused.</p>
<<case "Tao">>
<p class="no-answer">You ring the doorbell but no one opens. You hear movement inside, but it seems Tao is busy cleaning up the mess you caused. You hope his father doesn't find out.</p>
<</switch>>
[[Back->Rellano del 1º]]
<<elseif _isExcited>>
/* Character is aroused - does NOT answer the door */
<p class="no-answer">You ring the doorbell and wait... but no one answers. It seems no one is home, or they're busy...</p>
[[Back->Rellano del 1º]]
<<elseif _hasSemblante>>
/* ACTIVE SEMBLANTE - Character doesn't recognize you */
<<switch _charId>>
<<case "Juanan">>
The door opens and Juanan appears.
<center><img src="images/Juanan/juananpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Juanan", {
characters: [{id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#4a90e2', facing: 'left'}],
lines: [
{speaker: 'juanan', text: 'Yes? Do I know you?'},
{speaker: 'juanan', text: 'I don\'t remember seeing you before... do you live in the building?'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
})>>
<<case "Tao">>
The door opens and Tao appears.
<center><img src="images/Tao/taopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [{id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#e74c3c', facing: 'left'}],
lines: [
{speaker: 'tao', text: 'Hello? Who are you?'},
{speaker: 'tao', text: 'I don\'t know you... are you looking for someone?'}
],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
})>>
<</switch>>
<<else>>
/* NORMAL BEHAVIOR - No semblante, original Sergio */
<<switch _charId>>
<<case "Juanan">>
<<if _charState eq "sleeping">>
The door opens abruptly and Juanan appears in pajamas, yawning.
<center><img src="images/Juanan/juananpuertanoche.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("JuananDormido", {
characters: [{id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#4a90e2', facing: 'left'}],
lines: [{speaker: 'juanan', text: 'Sergio? Has something serious happened? I was sleeping.'}],
options: [[{text: 'Apologize and leave', action: 'GOTO:Rellano del 1º'}]]
});
<</script>>
<<else>>
<<if $citajuanan is true && _currentDay >= 0 && _currentDay <= 4 && _currentHour == 23>>
<!-- DATE WITH JUANAN - Weekday, between 11 PM and midnight -->
The door opens and Juanan appears, serious and nervous.
<center><img src="images/Juanan/juananpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Sergio... Come in.' },
{ speaker: 'sergio', text: 'Thanks...' }
],
options: [
[
{ text: 'You enter the house', action: 'GOTO:citajuanan' }
]
]
});
<</script>>
<<else>>
<!-- NORMAL CONVERSATION WITH JUANAN -->
The door opens and Juanan appears.
<center><img src="images/Juanan/juananpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var juananOptions = [];
if (State.variables.Juanancontacto === false) {
juananOptions.push({ text: 'Try to take a photo', action: 'GOTO:juanantomafoto' });
}
juananOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Hi neighbor, did you want something?' }
],
options: [
juananOptions
]
});
<</script>>
<</if>>
<</if>>
<<case "Tao">>
<<if _charState eq "sleeping">>
The door opens and Tao appears sleepy.
<center><img src="images/Tao/taosueñopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("TaoDormido", {
characters: [{id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#e74c3c', facing: 'left'}],
lines: [{speaker: 'tao', text: 'Uhh... Hello? Is something wrong?'}],
options: [[{text: 'Apologize', action: 'GOTO:Rellano del 1º'}]]
});
<</script>>
<<else>>
The door opens and Tao appears.
<center><img src="images/Tao/taopuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var taoOptions = [];
if (State.variables.Taocontacto === false) {
taoOptions.push({ text: 'Try to take a photo', action: 'GOTO:Taotomafoto' });
}
if (State.variables.notaTao1 === true) {
taoOptions.push({ text: 'Show sexual images to Tao', action: 'GOTO:Taonoquiereverfotos' });
}
taoOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Rellano del 1º' });
setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tao', text: 'Hi Sergio. Are you looking for my father?' }
],
options: [
taoOptions
]
});
<</script>>
<</if>>
<</switch>>
<</if>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
<<if $aticoinfluencer is true>>
<<if $idioma is "es">>
La puerta del ático no se parece a ninguna otra del edificio. Maciza, moderna, con una pequeña cámara de seguridad en la esquina superior. Alguien que se preocupa mucho por no ser molestado.
<<else>>
The penthouse door is unlike any other in the building. Solid, modern, with a small security camera in the upper corner. Someone who cares a great deal about not being disturbed.
<</if>>
<center><img src="images/localizaciones/puertaaticoinfluencer.png" class="fade-in" width="400"></center>
<<if $Rocacontacto is true>>
<<if $idioma is "es">>
[[Tocar el timbre|timbre4Ainfluencer]]
[[Marcharte|Rellano del 4º]]
<<else>>
[[Ring the doorbell|timbre4Ainfluencer]]
[[Leave|Rellano del 4º]]
<</if>>
<<if $formaFantasmalActiva is true>>
<<if $idioma is "es">>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('Salon4Ainfluencer')>><</link>>
<<else>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('Salon4Ainfluencer')>><</link>>
<</if>>
<</if>>
<<else>>
<<if $idioma is "es">>
No tienes motivos para llamar a esta puerta todavía.
[[Marcharte|Rellano del 4º]]
<<else>>
You have no reason to knock on this door yet.
[[Leave|Rellano del 4º]]
<</if>>
<</if>>
<<elseif visited() is 1>>
<<if $idioma is "es">>
La puerta del ático está algo abandonada. El 4A lleva sin dueños desde hace ya diez años. Colgado de ella, y de color amarillento, un cartel anuncia que se vende.
<center><img src="images/Localizaciones/puertaatico.png" class="fade-in" width="400"></center>
Al momento, tu nuevo <span class="vibrando">móvil</span> comienza a sonar y vibrar.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sergio", text: "¿Dem?" },
{ speaker: "dem", text: "¿Quién iba a ser si no? Oye. ¿Este piso está vacío?" },
{ speaker: "sergio", text: "Sí. Lleva así desde antes de que llegara yo al edificio." },
{ speaker: "dem", text: "Perfecto, eso nos da nuevos objetivos." },
{ speaker: "sergio", text: "No entiendo." },
{ speaker: "dem", text: "Tienes que corromper a todos los hombres de este edificio. Si hay más hombres, más objetivos. Apunta ese número." },
{ speaker: "sergio", text: "¿Cómo quieres que consiga que alguien compre el ático si lleva vacío más de diez años?" },
{ speaker: "dem", text: "Eso es cosa mía. ¿Tienes un ordenador conectado a internet en tu cuarto? Vamos allí y deja que yo haga mi magia." },
{ speaker: "sergio", text: "Ok." }
],
options: [ [], [], [], [], [], [], [], [],
[{ text: "Copias el número", action: function() { State.variables.notaatico1 = true; Engine.play("Rellano del 4º"); } }]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
La puerta del ático está algo abandonada. El 4A lleva sin dueños desde hace ya diez años. Colgado de ella, un cartel amarillento anuncia que se vende.
<center><img src="images/Localizaciones/puertaatico.png" class="fade-in" width="400"></center>
[[Abandonar la puerta|Rellano del 4º]]
<</if>>
<<else>>
<<if $idioma is "es">>
La puerta del ático está algo abandonada. El 4A lleva sin dueños desde hace ya diez años. Colgado de ella, un cartel amarillento anuncia que se vende.
<center><img src="images/Localizaciones/puertaatico.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sergio", text: "¿Dem?" },
{ speaker: "dem", text: "¿Quién iba a ser si no? Oye. ¿Este piso está vacío?" },
{ speaker: "sergio", text: "Sí. Lleva así desde antes de que llegara yo al edificio." },
{ speaker: "dem", text: "Perfecto, eso nos da nuevos objetivos." },
{ speaker: "sergio", text: "No entiendo." },
{ speaker: "dem", text: "Tienes que corromper a todos los hombres de este edificio. Si hay más hombres, más objetivos. Apunta ese número." },
{ speaker: "sergio", text: "¿Cómo quieres que consiga que alguien compre el ático si lleva vacío más de diez años?" },
{ speaker: "dem", text: "Eso es cosa mía. ¿Tienes un ordenador conectado a internet en tu cuarto? Vamos allí y deja que yo haga mi magia." },
{ speaker: "sergio", text: "Ok." }
],
options: [ [], [], [], [], [], [], [], [],
[{ text: "Copias el número", action: function() { State.variables.notaatico1 = true; Engine.play("Rellano del 4º"); } }]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
The attic door is somewhat neglected. Apartment 4A has been vacant for ten years. Hanging on it, a yellowed sign announces that it's for sale.
<center><img src="images/Localizaciones/puertaatico.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sergio", text: "Dem?" },
{ speaker: "dem", text: "Who would it be otherwise? Hey. Is this floor empty?" },
{ speaker: "sergio", text: "Yes. It\'s been like this since before I arrived at the building." },
{ speaker: "dem", text: "Perfect, that gives us new targets." },
{ speaker: "sergio", text: "I don\'t understand." },
{ speaker: "dem", text: "You have to corrupt all the men in this building. More men mean more targets. Write down that number." },
{ speaker: "sergio", text: "How do you expect me to get someone to buy the penthouse if it\'s been empty for over ten years?" },
{ speaker: "dem", text: "That\'s up to me. Do you have a computer connected to the internet in your room? Let\'s go there and let me work my magic." },
{ speaker: "sergio", text: "Okay." }
],
options: [ [], [], [], [], [], [], [], [],
[{ text: "Copy the number", action: function() { State.variables.notaatico1 = true; Engine.play("Rellano del 4º"); } }]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $notaatico1 is true>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">¡Estoy que salto de la emoción! Ese ático vacío es una oportunidad perfecta para atraer a quien queramos para nuestros juegos. Solo llévame a un ordenador con internet y juntos escogeremos a quién queremos como nuevos objetivos.</span>
<<else>>
<span style="font-size: 1.5em;">I'm jumping for joy! That empty attic is the perfect opportunity to lure whoever we want into our games. Just take me to a computer with internet access and together we'll choose whoever we want as our new targets.</span>
<</if>>
<<elseif $notaatico2 is true>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">Tus nuevos vecinos ya se han instalado en el ático. Ya puedes ir a presentarte.</span>
<<else>>
<span style="font-size: 1.5em;">Your new neighbors have moved into the penthouse. You can go introduce yourself now.</span>
<</if>>
<<elseif $aticoTimestamp>>
<<if $idioma is "es">>
<span style="font-size: 1.5em;">Dem ha encontrado a los inquilinos perfectos. Solo hay que esperar a que terminen de mudarse. Dales unos días.</span>
<<else>>
<span style="font-size: 1.5em;">Dem has found the perfect tenants. All that's left is to wait for them to finish moving in. Give them a few days.</span>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
<<if visited() is 1>>
Miras al espejo, y tu reflejo te devuelve la mirada. No eres demasiado especial. Quizá por eso estés solo. La verdad es que ansias el calor humano de otro cuerpo. Un cuerpo masculino, para ser exacto.
<center><img src="images/Sergio/sergioespejo.png" class="fade-in" width="400"></center>
Notas tu nuevo <span class="vibrando">móvil</span> vibrando. Es una llamada de Dem..
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Dime Dem" },
{ speaker: "dem", text: "Chico listo. ¿Quieres probar como funciona tu móvil contigo mismo?" },
{ speaker: "sergio", text: "¿Qué?" },
{ speaker: "dem", text: "Estás aquí por eso, ¿no? Delante del espejo." },
{ speaker: "sergio", text: "No te entiendo." },
{ speaker: "dem", text: "Hazte una foto ante el espejo y aparecerás en la parte de contactos de tu móvil. De esa manera puedes ver todo lo que el móvil puede enseñarte.." },
{ speaker: "sergio", text: "No sé si quiero hacerlo..." },
{ speaker: "dem", text: "¡No seas cobarde! Venga, hazte una foto." },
{ speaker: "sergio", text: "Ok." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Te haces un selfie",
action: function() {
State.variables.Sergiocontacto = true;
State.variables.corrupcionSergio = 20
State.variables.sergioDesvirgadoAnal = true
Engine.play("Bañosergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Miras al espejo, y tu reflejo te devuelve la mirada. No eres demasiado especial. Quizá por eso estés solo. La verdad es que ansias el calor humano de otro cuerpo. Un cuerpo masculino, para ser exacto.
<center><img src="images/Sergio/sergioespejo.png" class="fade-in" width="400"></center>
[[Regresas al salón|Salón]]
[[Vas a tu habitación|habitacionsergio]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
<<if visited() is 1>>
You look in the mirror, and your reflection stares back. You're not particularly special. Perhaps that's why you're alone. The truth is, you long for the warmth of another body. A male body, to be precise.
<center><img src="images/Sergio/sergioespejo.png" class="fade-in" width="400"></center>
You notice your new <span class="vibrando">mobile</span> vibrating. It's a call from Dem...
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Talk to me, Dem" },
{ speaker: "dem", text: "Smart guy. Do you want to test how your phone works on yourself?" },
{ speaker: "sergio", text: "What?" },
{ speaker: "dem", text: "That's why you're here, right? In front of the mirror." },
{ speaker: "sergio", text: "I don't understand." },
{ speaker: "dem", text: "Take a picture of yourself in front of the mirror and you'll appear in your phone's contacts. That way you can see everything your phone can show you." },
{ speaker: "sergio", text: "I don't know if I want to do it..." },
{ speaker: "dem", text: "Don't be a coward! Come on, take a picture." },
{ speaker: "sergio", text: "Okay." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[ // 8
{
text: "Take a selfie",
action: function() {
State.variables.Sergiocontacto = true;
State.variables.corrupcionSergio = 20;
State.variables.sergioDesvirgadoAnal = true;
Engine.play("Bañosergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
You look in the mirror, and your reflection looks back at you. You're not particularly special. Perhaps that's why you're alone. The truth is, you long for the human warmth of another body. A male body, to be exact.
<center><img src="images/Sergio/sergioespejo.png" class="fade-in" width="400"></center>
[[You return to the living room|Salón]]
[[You go to your room|habitacionsergio]]
<</if>>
<</if>>
<<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Sergio/sergio.png" alt="Sergio" class="profile-image">
</div>
<div class="profile-info-section">
<h2>Sergio Medina Sanchez</h2>
<p><strong>Edad:</strong> <<print $sergioEdad || 26>> años</p>
<p><strong>Relación:</strong> Tú</p>
<p><strong>Descripción:</strong><br>
<<print $sergioComentario || "¿Qué podría decir de ti mismo que tú no sepas? Vas de mosquita muerta, pero Lujuria te ha escogido por algo. Vas a follarte a todos estos cabrones y vas a hacer que follen entre ellos. No te escondas. Solo de pensarlo ya se te pone dura.">></p>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $sergioDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Sergio/sergio.png" alt="Sergio" class="profile-image">
</div>
<div class="profile-info-section">
<h2>Sergio Medina Sanchez</h2>
<p><strong>Age:</strong> <<print $sergioAge || 26>> years</p>
<p><strong>Relationship:</strong> You</p>
<p><strong>Description:</strong><br>
<<print $sergioComment || "What could I say about yourself that you don't already know? You act all innocent, but Lust has chosen you for a reason. You're going to fuck all these bastards and make them fuck each other. Don't hide it. Just thinking about it gets you hard.">></p>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anal Virginity Lost:
<<if $sergioDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if visited() is 1>>
<<if $idioma is "es">>
Tu ordenador. Tu mejor tesoro. Ahora que no tienes trabajo y vives de la herencia de tu abuelo hasta que se te acabe, pasas el mayor tiempo posible frente a esta pantalla, principalmente masturbándote.
Un fogonazo te sorprende para descubrir un rostro clásico y atractivo de un hombre de edad similar a la tuya. Está sonriendo y de su frente surgen dos pequeños cuernos. El hombre te guiña el ojo y comienza a hablar, saliendo su voz de los altavoces del ordenador.
<<else>>
Your computer. Your most prized possession. Now that you're unemployed and living off your grandfather's inheritance until it runs out, you spend as much time as possible in front of this screen, mostly masturbating.
A flash of light surprises you, revealing the classic, attractive face of a man about your age. He's smiling, and two small horns sprout from his forehead. The man winks at you and begins to speak, his voice emanating from the computer speakers.
<</if>>
<<else>>
<<if $idioma is "es">>
Ante el desordenado escritorio está tu ordenador. Al acercarte, la pantalla se ilumina y aparece el sonriente rostro de Dem.
<<else>>
Your computer sits before the cluttered desk. As you approach, the screen lights up and Dem's smiling face appears.
<</if>>
<</if>>
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var es = State.variables.idioma === "es";
var opciones = [
{
text: es ? "Solo quiero saber algo más de ti." : "I just want to know something more about you.",
action: function() { Engine.play("dempc"); }
},
{
text: es ? "Quiero ver algo de porno." : "I want to see some porn.",
action: function() { Engine.play("porno"); }
}
];
if (State.variables.notaatico1 === true)
opciones.push({
text: es ? "¿Me dijiste que podías conseguir nuevos inquilinos para el ático?" : "Did you tell me you could get new tenants for the penthouse?",
action: function() { Engine.play("aticopc1"); }
});
if (State.variables.notaLeo1 === true && State.variables.LeoVisionUsada === true)
opciones.push({
text: es ? "Buscar en un juego online a Leo" : "Look for Leo in an online game",
action: function() { Engine.play("Leopc1"); }
});
if (State.variables.notaLeo2 === true)
opciones.push({
text: es ? "Conectarse de nuevo con Leo" : "Connect with Leo again",
action: function() { Engine.play("Leopc2"); }
});
if (State.variables.notaAlex1 === true && State.variables.Bolsadedroga !== true)
opciones.push({
text: es ? "Quiero hablar contigo sobre Alex." : "I want to talk to you about Alex.",
action: function() { Engine.play("alexpc1"); }
});
if (State.variables.DamianVisionUsada === true && State.variables.webcreada !== true)
opciones.push({
text: es ? "Hablar con Dem sobre Damián" : "Talk to Dem about Damian",
action: function() { Engine.play("Damianylaweb"); }
});
if (State.variables.RafaVisionUsada === true && State.variables.radicalizarrafa !== true)
opciones.push({
text: es ? "Hablar con Dem sobre Rafa" : "Talk to Dem about Rafa",
action: function() { Engine.play("Rafapc1"); }
});
if (State.variables.encargodejuguetes === true)
opciones.push({
text: es ? "Pedir ayuda a Dem sobre Sean" : "Ask Dem for help about Sean",
action: function() { Engine.play("DemAyudaSean"); }
});
if (!State.variables.notaDem1)
opciones.push({
text: es ? "Quiero instalar nuevas aplicaciones en el móvil." : "I want to install new apps on my phone.",
action: function() { Engine.play("TiendApps"); }
});
if (State.variables.camarasrocahack === true && setup.getCharacterLocation('Roca') && setup.getCharacterLocation('Roca').action === "training")
opciones.push({
text: es ? "Entrar al perfil de Roca" : "Access Roca's profile",
action: function() { Engine.play("rocadirecto"); }
});
if (State.variables.Rocavuelveaconectar === true && State.variables.notaRoca2 === true && !State.variables.directoroca)
opciones.push({
text: es ? "Roca ha vuelto a emitir en su canal" : "Roca is live on his channel again",
action: function() { Engine.play("rocadirecto2"); }
});
opciones.push({
text: es ? "No quiero nada por ahora." : "I don't want anything for now.",
action: function() { Engine.play("habitacionsergio"); }
});
var lines, options;
if (visited() === 1) {
lines = es ? [
{ speaker: "dem", text: "¡Por fin nos vemos las caras!" },
{ speaker: "sergio", text: "¿Dem?" },
{ speaker: "dem", text: "El mismo." },
{ speaker: "sergio", text: "¿Cómo es posible?" },
{ speaker: "dem", text: "Siempre he tenido afinidad con la electricidad y los cachivaches electrónicos. Bueno, siempre no. Cuando vivía no había nada de esto, pero ya me estoy enrollando." },
{ speaker: "dem", text: "Si alguna vez necesitas hablar conmigo, aquí estaré. Tu asistente personal." },
{ speaker: "sergio", text: "Ok." },
{ speaker: "dem", text: "Venga, pídeme lo que quieras." }
] : [
{ speaker: "dem", text: "Finally, we meet face to face!" },
{ speaker: "sergio", text: "Dem?" },
{ speaker: "dem", text: "The one and only." },
{ speaker: "sergio", text: "How is this possible?" },
{ speaker: "dem", text: "I've always had an affinity for electricity and electronic gadgets. Well, not always. When I was alive, none of this existed, but I'm getting carried away." },
{ speaker: "dem", text: "If you ever need to talk to me, I'll be here. Your personal assistant." },
{ speaker: "sergio", text: "Okay." },
{ speaker: "dem", text: "Go ahead, ask me for anything you want." }
];
options = [ [], [], [], [], [], [], [], opciones ];
} else {
lines = es
? [ { speaker: "dem", text: "¡Hola de nuevo Sergio! ¿Qué necesitas?" } ]
: [ { speaker: "dem", text: "Hello again Sergio! What do you need?" } ];
options = [ opciones ];
}
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: lines,
options: options
});
});
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if $appsdesbloqueadas is 0>>
El rostro, siempre sonriente de Dem, muestra ahora una expresión confusa.
<center><img src="images/Sergio/dempcserio.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "¿Algo sobre mí? Yo no soy importante." },
{ speaker: "sergio", text: "Pero..." },
{ speaker: "dem", text: "Concéntrate en seguir con tus cometidos. Sigue mis encargos, serán necesarios para corromper a tus vecinos." }
],
options: [
[], [],
[{ text: "El ordenador se apaga.", action: function() { Engine.play("habitacionsergio"); } }]
]
});
});
<</script>>
<<elseif $appsdesbloqueadas >= 1 && !$dempcConv1Vista>>
<<set $dempcConv1Vista = true>>
Dem te observa serio desde la pantalla de tu ordenador.
<center><img src="images/Sergio/dempcserio.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "No entiendo que tengas curiosidad sobre mí..." },
{ speaker: "sergio", text: "¿En serio? Eres un demonio que me está ayudando a follarme a mis vecinos... ¡Claro que tengo preguntas!" },
{ speaker: "dem", text: "Bueno, vale. Dime, ¿qué quieres saber?" },
{ speaker: "sergio", text: "Lo primero: ¿eres un demonio? ¿Quién eras antes?" },
{ speaker: "dem", text: "Soy más como un espíritu. Mi nombre completo es Demócrito, y viví en Rodas, en el siglo segundo antes de nuestra era." },
{ speaker: "sergio", text: "¿Demócrito? Pensaba que lo de Dem venía de demonio..." },
{ speaker: "dem", text: "<em>Se carcajea.</em> No. Solo era un antiguo seguidor de las enseñanzas de Aristipo de Cirene. Fallecí en éxtasis. La Lujuria me abrazó en el otro lado y me convirtió en esto. Uno de sus servidores." },
{ speaker: "sergio", text: "¿Y echas de menos estar vivo? Ya sabes... comer, beber... follar." },
{ speaker: "dem", text: "<em>Su sonrisa desaparece.</em> Dejemos de hablar de mí. Concéntrate en tus misiones." }
],
options: [
[], [], [], [], [], [], [], [],
[{ text: "El ordenador se apaga.", action: function() { Engine.play("habitacionsergio"); } }]
]
});
});
<</script>>
<<elseif $appsdesbloqueadas >= 2 && $dempcConv1Vista && !$dempcConv2Vista>>
<<set $dempcConv2Vista = true>>
Dem te saluda desde la pantalla con su sonrisa habitual.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "¿Vuelves de nuevo con eso? ¿Qué quieres saber ahora?" },
{ speaker: "sergio", text: "Algo de cuando tú vivías. ¿Qué era eso del hedonismo?" },
{ speaker: "dem", text: "Es una filosofía de vida. La huida de los horrores de la existencia buscando su opuesto, el placer. No puedes imaginarte las orgías que montábamos en Rodas. Épicas." },
{ speaker: "sergio", text: "¿Y ahora? Entiendo que, bajo el servicio de Lujuria, se follaría bastante." },
{ speaker: "dem", text: "<em>Como en otras ocasiones, su sonrisa desaparece.</em> Bueno, podría ser, pero dada mi causa de muerte, mi cuerpo no pudo ser recuperado. Morí a causa de un rayo, por eso todo este rollo de la electricidad y los aparatos electrónicos." },
{ speaker: "sergio", text: "¿No tienes cuerpo?" },
{ speaker: "dem", text: "No. Lo que ves, este rostro en tu ordenador, es todo lo que soy." },
{ speaker: "sergio", text: "Lo siento. Por cómo te ves, debiste ser muy atractivo." },
{ speaker: "dem", text: "¿De verdad lo crees?" },
{ speaker: "sergio", text: "Pues claro. Solo conozco tu cara, pero seguro que debes ser..." }
],
options: [
[], [], [], [], [], [], [], [], [],
[{ text: "Continuar...", action: function() {
var disp = document.getElementById("rpg-display");
if (disp) { jQuery(disp).fadeOut(180, function() { this.innerHTML = ''; this.style.display = 'block'; }); }
var cont = document.getElementById("dempc-conv2-continuacion");
if (cont) cont.style.display = 'block';
}}]
]
});
});
<</script>>
<div id="dempc-conv2-continuacion" style="display:none; text-align:center; margin-top:20px;">
Entonces, la cara sonriente de Dem desaparece del ordenador para aparecer él, de cuerpo entero, reclinado en una postura sexual y con la mínima ropa posible. Te observa desde el infierno — o al menos lo que tú podrías considerar el infierno — pues todo el contexto, su ropa, el fondo, todo, te resulta más propio de un videojuego que de la realidad. Eso sí, Dem está muy sexy.
<center><img src="images/Sergio/demvideojuego.png" class="fade-in" width="400"></center>
"Vuelve a tu misión, salidillo." Te dice con una sonrisa, y la imagen desaparece.
<br><br>
[[El ordenador se apaga.|habitacionsergio]]
</div>
<<elseif $appsdesbloqueadas >= 3 && $dempcConv2Vista && !$dempcConv3Vista>>
<<set $dempcConv3Vista = true>>
Dem te saluda desde la pantalla con su sonrisa habitual.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Te he contado quién era antes de morir y el modo en que pasó. ¿Qué más quieres saber?" },
{ speaker: "sergio", text: "Me has hablado de tu pasado. Cuéntame ahora algo de tu presente. ¿Cómo es tu vida en el infierno?" },
{ speaker: "dem", text: "No paso mucho tiempo allí. Estoy más en la tierra, yendo a través de internet. Observando a través de las cámaras. Leyendo correos. Espiando. Recogiendo datos. Siempre oculto." },
{ speaker: "sergio", text: "Vaya. ¿Y no echas de menos ser corpóreo? ¿Pisar el suelo? ¿Sentir el aire? ¿Besar a un hombre?" },
{ speaker: "dem", text: "Hace tiempo que acepté mi nueva condición. Además, el deseo está en la mente. Yo ahora mismo... estoy algo caliente." },
{ speaker: "sergio", text: "¿Sí?" },
{ speaker: "dem", text: "Hablando sobre sexo contigo, imaginando lo que vas a hacer... Sí, estoy muy cachondo." },
{ speaker: "sergio", text: "Muéstrame lo cachondo que estás. Pero no en esa imagen como de videojuego. Quiero verte como humano. Quiero verte como serías si estuvieras vivo." }
],
options: [
[], [], [], [], [], [], [],
[{ text: "Continuar...", action: function() {
var disp = document.getElementById("rpg-display");
if (disp) { jQuery(disp).fadeOut(180, function() { this.innerHTML = ''; this.style.display = 'block'; }); }
var cont = document.getElementById("dempc-conv3-continuacion");
if (cont) cont.style.display = 'block';
}}]
]
});
});
<</script>>
<div id="dempc-conv3-continuacion" style="display:none; text-align:center; margin-top:20px;">
La pantalla se apaga, y cuando estás a punto de llamar a Dem para disculparte, se enciende de nuevo. Ante ti hay una imagen fija de un hombre de cabello y barba espesa y negra, muy atractivo, en el que, quitando los rasgos demoníacos, reconoces a Dem.
<center><img src="images/Sergio/demcuerpo1.jpg" class="fade-in" width="400"></center>
"¿Cómo me ves como humano?" Pregunta su voz melodiosa por el altavoz.
<br><br>
"Eres increíble, pero no te he pedido con ropa. Quiero saber si me has mentido. Quiero ver lo cachondo que estás." Le replicas.
<br><br>
La imagen desaparece para retornar en menos tiempo. Esta vez, el Dem humano está desnudo, su pecho recubierto de un vello oscuro. Su polla, delgada y larga, apunta hacia ti a través de la pantalla.
<center><img src="images/Sergio/demcuerpo2.jpg" class="fade-in" width="400"></center>
"Así estoy. Pienso en comerte la polla. En que luego me la comas a mí. Pienso en cómo sería follarte y en lo bien que me lo pasaría saltando en tu regazo. Por eso estoy como me ves. Ahora hazte una paja y vuelve al trabajo."
<br><br>
La imagen permanece pero la voz se esfuma. Tú le haces caso, y te masturbas viendo el cuerpo tan deseable de Dem, imaginándote también cómo sería estar con él en la cama.
<br><br>
[[Te corres y apagas el ordenador.|habitacionsergio]]
</div>
<<elseif $appsdesbloqueadas >= 4 && $dempcConv3Vista && !$dempcConv4Vista>>
<<set $dempcConv4Vista = true>>
Dem te saluda desde la pantalla con su sonrisa habitual.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "¿Por qué te gusta perder el tiempo con esas preguntas?" },
{ speaker: "sergio", text: "¿Crees que ahora que he visto cómo era tu cuerpo humano puedo centrarme en otra cosa? Joder, estabas buenísimo. Bueno, estás buenísimo." },
{ speaker: "dem", text: "Mira que eres zalamero. A tu alrededor hay decenas de hombres. Objetivos vivos con los que puedes interactuar." },
{ speaker: "sergio", text: "Sí, pero tú eres más divertido. ¿Puedo verte de nuevo desnudo en tu forma humana?" },
{ speaker: "dem", text: "*Dem guarda silencio durante un minuto.* Quizá podamos hacer algo más. ¿Aún tienes esas gafas de RV que te regalaron el año pasado?" },
{ speaker: "sergio", text: "Sí, claro." },
{ speaker: "dem", text: "Póntelas y probamos una cosa." }
],
options: [
[], [], [], [], [], [],
[{ text: "Continuar...", action: function() {
var disp = document.getElementById("rpg-display");
if (disp) { jQuery(disp).fadeOut(180, function() { this.innerHTML = ''; this.style.display = 'block'; }); }
var cont = document.getElementById("dempc-conv4-continuacion");
if (cont) cont.style.display = 'block';
}}]
]
});
});
<</script>>
<div id="dempc-conv4-continuacion" style="display:none; text-align:center; margin-top:20px;">
De un cajón sacas las gafas de realidad virtual. Apenas las habías usado, más allá de ponerte algún juego o un vídeo porno. Ahora, con algo de nervios, te las colocas y las enchufas al ordenador.
<br><br>
Al principio no notas nada, pero poco a poco sientes cómo una corriente de energía invade las gafas y estas se encienden. Ante ti ves el cuerpo desnudo de Dem, o la versión humana que ya conocías, pero esta vez es en vídeo, y la definición es tan perfecta que parece que está a tu lado.
<br><br>
"¿Es esto lo que querías ver?" Te dice, mientras se desnuda totalmente ante ti, quitándose la túnica y mostrando su cuerpo perfecto. Luego comienza a masturbarse.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;">
<source src="images/Sergio/pajademvideo1.webm" type="video/webm">
</video>
</center>
Tú enseguida le acompañas, sacándote la polla mientras sigues viendo cómo se masturba tu demonio personal. Tras unos minutos, ambos os corréis casi al unísono.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;">
<source src="images/Sergio/pajademvideo2.webm" type="video/webm">
</video>
</center>
"Ahora vuelve a tus misiones." Te dice, mientras te guiña el ojo.
<br><br>
[[Apagas el ordenador.|habitacionsergio]]
</div>
<<else>>
Dem te observa serio desde la pantalla de tu ordenador.
<center><img src="images/Sergio/dempcserio.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Céntrate en tus cometidos, Sergio. Cada misión que completes te acercará más a lo que deseas." },
{ speaker: "sergio", text: "Sí, sí..." },
{ speaker: "dem", text: "No lo tomes a la ligera. Cada vecino es una pieza del tablero." }
],
options: [
[], [],
[{ text: "El ordenador se apaga.", action: function() { Engine.play("habitacionsergio"); } }]
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if $appsdesbloqueadas is 0>>
Dem's face, always smiling, now shows a confused expression.
<center><img src="images/Sergio/dempcserio.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Something about me? I'm not important." },
{ speaker: "sergio", text: "But..." },
{ speaker: "dem", text: "Focus on your tasks. Follow my assignments — they'll be necessary to corrupt your neighbors." }
],
options: [
[], [],
[{ text: "The computer shuts down.", action: function() { Engine.play("habitacionsergio"); } }]
]
});
});
<</script>>
<<elseif $appsdesbloqueadas >= 1 && !$dempcConv1Vista>>
<<set $dempcConv1Vista = true>>
Dem watches you seriously from your computer screen.
<center><img src="images/Sergio/dempcserio.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "I don't understand why you're curious about me..." },
{ speaker: "sergio", text: "Seriously? You're a demon helping me sleep with my neighbors... Of course I have questions!" },
{ speaker: "dem", text: "Fine. Go ahead, what do you want to know?" },
{ speaker: "sergio", text: "First of all: are you a demon? Who were you before?" },
{ speaker: "dem", text: "I'm more like a spirit. My full name is Democritus, and I lived in Rhodes in the second century before the common era." },
{ speaker: "sergio", text: "Democritus? I thought 'Dem' came from demon..." },
{ speaker: "dem", text: "<em>He bursts out laughing.</em> No. I was simply an ancient follower of the teachings of Aristippus of Cyrene. I died in ecstasy. Lust embraced me on the other side and turned me into this. One of her servants." },
{ speaker: "sergio", text: "Do you miss being alive? You know... eating, drinking... having sex." },
{ speaker: "dem", text: "<em>His smile fades.</em> Let's stop talking about me. Focus on your missions." }
],
options: [
[], [], [], [], [], [], [], [],
[{ text: "The computer shuts down.", action: function() { Engine.play("habitacionsergio"); } }]
]
});
});
<</script>>
<<elseif $appsdesbloqueadas >= 2 && $dempcConv1Vista && !$dempcConv2Vista>>
<<set $dempcConv2Vista = true>>
Dem greets you from the screen with his usual smile.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Back again with that? What do you want to know now?" },
{ speaker: "sergio", text: "Something from when you were alive. What was that hedonism thing about?" },
{ speaker: "dem", text: "It's a philosophy of life. Fleeing the horrors of existence by seeking its opposite — pleasure. You can't imagine the orgies we threw in Rhodes. Epic." },
{ speaker: "sergio", text: "And now? I imagine that, serving Lust, there'd be plenty of that." },
{ speaker: "dem", text: "<em>As on other occasions, his smile disappears.</em> Well, there could be, but given the cause of my death, my body couldn't be recovered. I died from a lightning bolt — that's why all this business with electricity and electronic devices." },
{ speaker: "sergio", text: "You have no body?" },
{ speaker: "dem", text: "No. What you see, this face on your computer, is all I am." },
{ speaker: "sergio", text: "I'm sorry. From the look of you, you must have been very attractive." },
{ speaker: "dem", text: "Do you really think so?" },
{ speaker: "sergio", text: "Of course. I only know your face, but you must be..." }
],
options: [
[], [], [], [], [], [], [], [], [],
[{ text: "Continue...", action: function() {
var disp = document.getElementById("rpg-display");
if (disp) { jQuery(disp).fadeOut(180, function() { this.innerHTML = ''; this.style.display = 'block'; }); }
var cont = document.getElementById("dempc-conv2-continuacion-en");
if (cont) cont.style.display = 'block';
}}]
]
});
});
<</script>>
<div id="dempc-conv2-continuacion-en" style="display:none; text-align:center; margin-top:20px;">
Then Dem's smiling face disappears from the screen, replaced by his full body — reclining in a suggestive pose, wearing as little as possible. He watches you from what might be hell, though the whole setting — his clothes, the background, everything — feels more like a video game than reality. Even so, Dem looks incredibly sexy.
<center><img src="images/Sergio/demvideojuego.png" class="fade-in" width="400"></center>
"Get back to your mission, you horny little thing." He says with a smile, and the image disappears.
<br><br>
[[The computer shuts down.|habitacionsergio]]
</div>
<<elseif $appsdesbloqueadas >= 3 && $dempcConv2Vista && !$dempcConv3Vista>>
<<set $dempcConv3Vista = true>>
Dem greets you from the screen with his usual smile.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "I've told you who I was before I died and how it happened. What else do you want to know?" },
{ speaker: "sergio", text: "You've told me about your past. Now tell me something about your present. What's your life like in hell?" },
{ speaker: "dem", text: "I don't spend much time there. I'm mostly on earth, moving through the internet. Watching through cameras. Reading emails. Spying. Collecting data. Always hidden." },
{ speaker: "sergio", text: "Wow. Don't you miss having a body? Feeling the ground under your feet? The air? Kissing someone?" },
{ speaker: "dem", text: "I accepted my new condition a long time ago. Besides, desire lives in the mind. Right now, I'm... a little turned on." },
{ speaker: "sergio", text: "Really?" },
{ speaker: "dem", text: "Talking about sex with you, imagining what you're going to do... Yes, I'm very aroused." },
{ speaker: "sergio", text: "Show me how turned on you are. But not in that video game image. I want to see you as a human. I want to see what you'd look like if you were alive." }
],
options: [
[], [], [], [], [], [], [],
[{ text: "Continue...", action: function() {
var disp = document.getElementById("rpg-display");
if (disp) { jQuery(disp).fadeOut(180, function() { this.innerHTML = ''; this.style.display = 'block'; }); }
var cont = document.getElementById("dempc-conv3-continuacion-en");
if (cont) cont.style.display = 'block';
}}]
]
});
});
<</script>>
<div id="dempc-conv3-continuacion-en" style="display:none; text-align:center; margin-top:20px;">
The screen goes dark. Just as you're about to call out to Dem to apologize, it flickers back on. Before you is a still image of a man with thick, dark hair and a full beard — strikingly handsome, and unmistakably Dem, if you strip away the demonic features.
<center><img src="images/Sergio/demcuerpo1.jpg" class="fade-in" width="400"></center>
"How do you see me as a human?" His melodious voice asks through the speaker.
<br><br>
"You're incredible, but I didn't ask for you with clothes on. I want to know if you've been lying to me. I want to see how turned on you really are," you reply.
<br><br>
The image vanishes and returns almost instantly. This time, the human Dem is naked, his chest covered in dark hair. His cock, slender and long, points toward you through the screen.
<center><img src="images/Sergio/demcuerpo2.jpg" class="fade-in" width="400"></center>
"This is how I am. I'm thinking about going down on you. About you doing the same to me. About what it would be like to fuck you and how much I'd enjoy riding your lap. That's why you see me like this. Now jerk off and get back to work."
<br><br>
The image stays but the voice fades. You obey, masturbating to Dem's irresistible body, imagining what it would be like to share a bed with him.
<br><br>
[[You finish and shut down the computer.|habitacionsergio]]
</div>
<<elseif $appsdesbloqueadas >= 4 && $dempcConv3Vista && !$dempcConv4Vista>>
<<set $dempcConv4Vista = true>>
Dem greets you from the screen with his usual smile.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Why do you like wasting time with these questions?" },
{ speaker: "sergio", text: "Do you really think I can focus on anything else now that I've seen what your human body looked like? God, you were incredibly hot. Well, you are incredibly hot." },
{ speaker: "dem", text: "You are such a flatterer. There are dozens of men around you. Living targets you can interact with." },
{ speaker: "sergio", text: "Yes, but you're more fun. Can I see you naked in your human form again?" },
{ speaker: "dem", text: "*Dem stays silent for a minute.* Maybe we can do something more. Do you still have that VR headset you got as a gift last year?" },
{ speaker: "sergio", text: "Yes, of course." },
{ speaker: "dem", text: "Put it on and let's try something." }
],
options: [
[], [], [], [], [], [],
[{ text: "Continue...", action: function() {
var disp = document.getElementById("rpg-display");
if (disp) { jQuery(disp).fadeOut(180, function() { this.innerHTML = ''; this.style.display = 'block'; }); }
var cont = document.getElementById("dempc-conv4-continuacion-en");
if (cont) cont.style.display = 'block';
}}]
]
});
});
<</script>>
<div id="dempc-conv4-continuacion-en" style="display:none; text-align:center; margin-top:20px;">
From a drawer you pull out the VR headset. You'd barely used it beyond the odd game or porn video. Now, with a touch of nerves, you put it on and plug it into the computer.
<br><br>
At first you don't notice anything, but little by little you feel a current of energy flood through the headset as it switches on. Before you is Dem's naked body — the human version you already knew — but this time it's video, and the definition is so perfect it feels like he's right beside you.
<br><br>
"Is this what you wanted to see?" He says, as he undresses completely before you, removing his tunic and revealing his perfect body. Then he starts to masturbate.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;">
<source src="images/Sergio/pajademvideo1.webm" type="video/webm">
</video>
</center>
You immediately join in, pulling out your cock while you keep watching your personal demon pleasure himself. After a few minutes, you both come almost simultaneously.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;">
<source src="images/Sergio/pajademvideo2.webm" type="video/webm">
</video>
</center>
"Now get back to your missions." He says, winking at you.
<br><br>
[[You shut down the computer.|habitacionsergio]]
</div>
<<else>>
Dem watches you seriously from your computer screen.
<center><img src="images/Sergio/dempcserio.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Focus on your tasks, Sergio. Every mission you complete will bring you closer to what you desire." },
{ speaker: "sergio", text: "Yeah, yeah..." },
{ speaker: "dem", text: "Don't take it lightly. Every neighbor is a piece on the board." }
],
options: [
[], [],
[{ text: "The computer shuts down.", action: function() { Engine.play("habitacionsergio"); } }]
]
});
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<<script>>
// Inicializar datos de opciones si no existen
if (!window.neighborOptions) {
window.neighborOptions = [
{
id: 1,
name: "Opción 1: Pareja de Recién casados",
image: "images/sergio/reciencasados.png",
description: "Una pareja joven, guapa y triunfadora. Ilusionados por su nueva vida juntos en una nueva casa. Enamorados como solo pueden estarlo unos recién casados. ¡Rompe esa relación y el culo de ese hombre!",
variable: "aticoreciencasado",
nextPassage: "aticopc2"
},
{
id: 2,
name: "Opción 2: La familia religiosa",
image: "images/sergio/familiareligiosa.png",
description: "Si vas a elegir nuevos objetivos, ¿Por qué no elegir muchos de ellos? Una familia religiosa y estirada. Cuatro hijos más el padre. Con firmes creencias sobre el sexo con otros hombres. ¿Cómo no vas a escogerlos?",
variable: "aticofamiliareligiosa",
nextPassage: "aticopc2"
},
{
id: 3,
name: "Opción 3: El influencer masculino",
image: "images/sergio/influncerroca.png",
description: "Este tío vende consejos sobre ligar con mujeres y convertirte en un hombre de alto valor para la sociedad, y esas tonterías le están haciendo de oro. Callale la boca con tu polla de una vez.",
variable: "aticoinfluencer",
nextPassage: "aticopc2"
},
{
id: 4,
name: "Opción 4: La familia latina",
image: "images/sergio/familiasuareztrujillo.png",
description: "Un padre acomplejado por su mujer, un primogénito sobreprotector y ¡dos gemelos! ¿Qué más quieres para jugar?",
variable: "aticofamilialatina",
nextPassage: "aticopc2"
}
];
// Función para mostrar el overlay
window.showOptionOverlay = function(optionId) {
const option = window.neighborOptions.find(opt => opt.id === optionId);
if (!option) return;
// Crear overlay si no existe
let overlay = document.getElementById('option-overlay');
if (!overlay) {
overlay = document.createElement('div');
overlay.id = 'option-overlay';
document.body.appendChild(overlay);
}
// Crear contenido del overlay
overlay.innerHTML = `
<div class="option-card">
<img src="${option.image}" alt="${option.name}">
<h2>${option.name}</h2>
<p>${option.description}</p>
<div class="option-buttons">
<button class="btn-close" onclick="closeOptionOverlay()">Cerrar</button>
<button class="btn-accept" onclick="selectOption(${optionId})">¡Seleccionar!</button>
</div>
</div>
`;
overlay.classList.add('active');
};
// Función para cerrar el overlay
window.closeOptionOverlay = function() {
const overlay = document.getElementById('option-overlay');
if (overlay) {
overlay.classList.remove('active');
}
};
// Función para seleccionar una opción
window.selectOption = function(optionId) {
const option = window.neighborOptions.find(opt => opt.id === optionId);
if (!option) return;
// Activar la variable correspondiente
State.variables[option.variable] = true;
// Cerrar overlay
closeOptionOverlay();
// Ir al siguiente pasaje
Engine.play(option.nextPassage);
};
}
// Función modificada de rpgDialogue para soportar callbacks
window.rpgDialogueWithCallback = function(data, onComplete) {
try {
if (!data || !Array.isArray(data.lines)) {
console.error("rpgDialogue: faltan datos o formato incorrecto.");
return;
}
const container = document.createElement("div");
container.className = "rpg-window";
const portraitDiv = document.createElement("div");
portraitDiv.className = "rpg-portrait";
const img = document.createElement("img");
img.src = data.characters[0]?.portrait || "";
img.alt = data.characters[0]?.name || "Retrato";
portraitDiv.appendChild(img);
container.appendChild(portraitDiv);
const dialogDiv = document.createElement("div");
dialogDiv.className = "rpg-dialog";
const nameEl = document.createElement("div");
nameEl.className = "rpg-name";
nameEl.textContent = data.characters[0]?.name || "";
dialogDiv.appendChild(nameEl);
const opts = document.createElement("div");
opts.className = "rpg-options";
dialogDiv.appendChild(opts);
container.appendChild(dialogDiv);
const display = document.getElementById("rpg-display");
if (display) display.appendChild(container);
else jQuery(".passage").prepend(container);
let lineIndex = 0;
function findSpeaker(id) {
return data.characters.find(c => c.id === id);
}
function safeToString(val) {
if (val === null || val === undefined) return "";
return typeof val === "string" ? val : JSON.stringify(val);
}
function showLine() {
const lineObj = data.lines[lineIndex];
const speaker = findSpeaker(lineObj.speaker) || data.characters[0];
if (speaker) {
img.src = speaker.portrait || "";
nameEl.textContent = speaker.name;
nameEl.style.color = speaker.color || "#ffd58a";
container.classList.toggle("right", speaker.facing === "right");
container.classList.toggle("left", speaker.facing !== "right");
}
const msgWrap = document.createElement("div");
msgWrap.className = "rpg-message";
const speakerName = document.createElement("div");
speakerName.className = "rpg-speaker-name";
speakerName.textContent = safeToString(speaker.name);
const bubble = document.createElement("div");
bubble.className = "rpg-bubble enter";
bubble.innerHTML = safeToString(lineObj.text);
if (speaker && speaker.color) {
speakerName.style.color = speaker.color;
bubble.style.color = speaker.color;
bubble.style.border = `1px solid ${speaker.color}`;
bubble.style.background = speaker.color + "20";
}
msgWrap.appendChild(speakerName);
msgWrap.appendChild(bubble);
dialogDiv.insertBefore(msgWrap, opts);
opts.innerHTML = "";
const optionsForLine = Array.isArray(data.options && data.options[lineIndex])
? data.options[lineIndex]
: [];
if (optionsForLine.length === 0) {
const btn = document.createElement("button");
const lang = State?.variables?.idioma || "es";
btn.textContent = lang === "es" ? "Continuar" : "Continue";
btn.onclick = () => {
lineIndex++;
if (lineIndex < data.lines.length) {
showLine();
} else {
// Diálogo terminado
container.remove();
if (onComplete) onComplete();
}
};
opts.appendChild(btn);
} else {
optionsForLine.forEach(opt => {
const b = document.createElement("button");
b.textContent = opt.text || "Opción";
b.onclick = () => {
if (typeof opt.action === "string" && opt.action.startsWith("GOTO:")) {
Engine.play(opt.action.substring(5));
} else if (typeof opt.action === "function") {
opt.action();
}
};
opts.appendChild(b);
});
}
dialogDiv.scrollTo({ top: dialogDiv.scrollHeight, behavior: "smooth" });
}
showLine();
} catch (err) {
console.error("Error en rpgDialogue:", err);
}
};
<</script>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
if (!document.getElementById("rpg-display")) {
console.error("rpg-display no encontrado");
return;
}
// Primer diálogo
rpgDialogueWithCallback({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Perfecto. ¡Nuevos juguetes para ti!" },
{ speaker: "sergio", text: "Ok. Lo que no entiendo es como vas a hacerlo" },
{ speaker: "dem", text: "Fácil, dame el número y yo los colocaré en varios lugares en busca de lo que más te apetezca. Mi encantadora prosa, junto con un poco de magia demoniaca será suficiente para que la oferta sea irresistible." },
{ speaker: "sergio", text: "Vale. La verdad, estoy un poco nervioso." },
{ speaker: "dem", text: "No deberías estar nervioso, pero si excitado, en toda la magnitud de la palabra. Empecemos entonces." }
]
}, function() {
// Callback: cuando termine el primer diálogo, mostrar el texto descriptivo
const display = document.getElementById("rpg-display");
if (display) {
const textP = document.createElement("p");
textP.textContent = "La pantalla del ordenador comienza a brillar y a recibir estática mientras el rostro animado de Dem, con los ojos cerrados, hace muecas de esfuerzo.";
textP.style.margin = "20px 0";
textP.style.textAlign = "center";
display.parentNode.insertBefore(textP, display);
}
// Segundo diálogo
setTimeout(function() {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Vale. Ya he encontrado cuatro posibilidades bastante jugosas." },
{ speaker: "sergio", text: "¿Tan rápido?" },
{ speaker: "dem", text: "Claro. ¡No dudes jamás de mis aptitudes. Ahora solo te queda elegir entre alguna de esas cuatro opciones de nuevos vecinos." },
{ speaker: "dem", text: "Escoge lo que más te atraiga, pero escoge bien. Ya no podremos revertir la elección" },
{ speaker: "sergio", text: "Vale, vale. A ver que tenemos..." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[ // 5 - última línea con todas las opciones
{
text: "Ver Opción 1",
action: () => showOptionOverlay(1)
},
{
text: "Ver Opción 2",
action: () => showOptionOverlay(2)
},
{
text: "Ver Opción 3",
action: () => showOptionOverlay(3)
},
{
text: "Ver Opción 4",
action: () => showOptionOverlay(4)
}
]
]
});
}, 500);
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<<script>>
// Initialize option data if it doesn't exist
if (!window.neighborOptions) {
window.neighborOptions = [
{
id: 1,
name: "Option 1: Newlywed Couple",
image: "images/sergio/reciencasados.png",
description: "A young, beautiful, and successful couple. Excited about their new life together in a new house. In love as only newlyweds can be. Break up that relationship and that man's ass!",
variable: "aticoreciencasado",
nextPassage: "aticopc2"
},
{
id: 2,
name: "Option 2: The Religious Family",
image: "images/sergio/familiareligiosa.png",
description: "If you're going to choose new targets, why not choose a lot of them? A religious and stuffy family. Four kids plus the father. With firm beliefs about sex with other men. How could you not choose them?",
variable: "aticofamiliareligiosa",
nextPassage: "aticopc2"
},
{
id: 3,
name: "Option 3: The Male Influencer",
image: "images/sergio/influncerroca.png",
description: "This guy sells advice on picking up women and becoming a man of high value to society, and that nonsense is making him a fortune. Shut him up with your dick once and for all.",
variable: "aticoinfluencer",
nextPassage: "aticopc2"
},
{
id: 4,
name: "Option 4: The Latin Family",
image: "images/sergio/familiasuareztrujillo.png",
description: "A father insecure about his wife, an overprotective firstborn son, and two twins! What more could you want to play with?",
variable: "aticofamilialatina",
nextPassage: "aticopc2"
}
];
// Function to show the overlay
window.showOptionOverlay = function(optionId) {
const option = window.neighborOptions.find(opt => opt.id === optionId);
if (!option) return;
// Create overlay if it doesn't exist
let overlay = document.getElementById('option-overlay');
if (!overlay) {
overlay = document.createElement('div');
overlay.id = 'option-overlay';
document.body.appendChild(overlay);
}
// Create overlay content
overlay.innerHTML = `
<div class="option-card">
<img src="${option.image}" alt="${option.name}">
<h2>${option.name}</h2>
<p>${option.description}</p>
<div class="option-buttons">
<button class="btn-close" onclick="closeOptionOverlay()">Close</button>
<button class="btn-accept" onclick="selectOption(${optionId})">Select!</button>
</div>
</div>
`;
overlay.classList.add('active');
};
// Function to close the overlay
window.closeOptionOverlay = function() {
const overlay = document.getElementById('option-overlay');
if (overlay) {
overlay.classList.remove('active');
}
};
// Function to select an option
window.selectOption = function(optionId) {
const option = window.neighborOptions.find(opt => opt.id === optionId);
if (!option) return;
// Activate the corresponding variable
State.variables[option.variable] = true;
// Close overlay
closeOptionOverlay();
// Go to next passage
Engine.play(option.nextPassage);
};
}
// Modified rpgDialogue function to support callbacks
window.rpgDialogueWithCallback = function(data, onComplete) {
try {
if (!data || !Array.isArray(data.lines)) {
console.error("rpgDialogue: missing data or incorrect format.");
return;
}
const container = document.createElement("div");
container.className = "rpg-window";
const portraitDiv = document.createElement("div");
portraitDiv.className = "rpg-portrait";
const img = document.createElement("img");
img.src = data.characters[0]?.portrait || "";
img.alt = data.characters[0]?.name || "Portrait";
portraitDiv.appendChild(img);
container.appendChild(portraitDiv);
const dialogDiv = document.createElement("div");
dialogDiv.className = "rpg-dialog";
const nameEl = document.createElement("div");
nameEl.className = "rpg-name";
nameEl.textContent = data.characters[0]?.name || "";
dialogDiv.appendChild(nameEl);
const opts = document.createElement("div");
opts.className = "rpg-options";
dialogDiv.appendChild(opts);
container.appendChild(dialogDiv);
const display = document.getElementById("rpg-display");
if (display) display.appendChild(container);
else jQuery(".passage").prepend(container);
let lineIndex = 0;
function findSpeaker(id) {
return data.characters.find(c => c.id === id);
}
function safeToString(val) {
if (val === null || val === undefined) return "";
return typeof val === "string" ? val : JSON.stringify(val);
}
function showLine() {
const lineObj = data.lines[lineIndex];
const speaker = findSpeaker(lineObj.speaker) || data.characters[0];
if (speaker) {
img.src = speaker.portrait || "";
nameEl.textContent = speaker.name;
nameEl.style.color = speaker.color || "#ffd58a";
container.classList.toggle("right", speaker.facing === "right");
container.classList.toggle("left", speaker.facing !== "right");
}
const msgWrap = document.createElement("div");
msgWrap.className = "rpg-message";
const speakerName = document.createElement("div");
speakerName.className = "rpg-speaker-name";
speakerName.textContent = safeToString(speaker.name);
const bubble = document.createElement("div");
bubble.className = "rpg-bubble enter";
bubble.innerHTML = safeToString(lineObj.text);
if (speaker && speaker.color) {
speakerName.style.color = speaker.color;
bubble.style.color = speaker.color;
bubble.style.border = `1px solid ${speaker.color}`;
bubble.style.background = speaker.color + "20";
}
msgWrap.appendChild(speakerName);
msgWrap.appendChild(bubble);
dialogDiv.insertBefore(msgWrap, opts);
opts.innerHTML = "";
const optionsForLine = Array.isArray(data.options && data.options[lineIndex])
? data.options[lineIndex]
: [];
if (optionsForLine.length === 0) {
const btn = document.createElement("button");
const lang = State?.variables?.language || "is";
btn.textContent = lang === "is" ? "Continue" : "Continue";
btn.onclick = () => {
lineIndex++;
if (lineIndex < data.lines.length) {
showLine();
} else {
//Dialog finished
container.remove();
if (onComplete) onComplete();
}
};
opts.appendChild(btn);
} else {
optionsForLine.forEach(opt => {
const b = document.createElement("button");
b.textContent = opt.text || "Option";
b.onclick = () => {
if (typeof opt.action === "string" && opt.action.startsWith("GOTO:")) {
Engine.play(opt.action.substring(5));
} else if (typeof opt.action === "function") {
opt.action();
}
};
opts.appendChild(b);
});
}
dialogDiv.scrollTo({ top: dialogDiv.scrollHeight, behavior: "smooth" });
}
showLine();
} catch (err) {
console.error("Error in rpgDialogue:", err);
}
};
<</script>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
if (!document.getElementById("rpg-display")) {
console.error("rpg-display not found");
return;
}
// First dialog
rpgDialogueWithCallback({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Perfect. New toys for you!" },
{ speaker: "sergio", text: "Okay. What I don't understand is how you're going to do it." },
{ speaker: "dem", text: "Easy, give me the number and I'll place them in various locations looking for whatever you'd like. My charming prose, along with a little demonic magic, will be enough to make the offer irresistible." },
{ speaker: "sergio", text: "Okay. To be honest, I'm a little nervous." },
{ speaker: "dem", text: "You shouldn't be nervous, but rather excited, in every sense of the word. Let's begin then." }
]
}, function() {
// Callback: when the first dialogue ends, display the descriptive text
const display = document.getElementById("rpg-display");
if (display) {
const textP = document.createElement("p");
textP.textContent = "The computer screen begins to glow and display static as Dem's animated face, with closed eyes, grimaces in effort.";
textP.style.margin = "20px 0";
textP.style.textAlign = "center";
display.parentNode.insertBefore(textP, display);
}
// Second dialog
setTimeout(function() {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Okay. I've already found four pretty juicy possibilities." },
{ speaker: "sergio", text: "So fast?" },
{ speaker: "dem", text: "Of course. Never doubt my abilities. Now all you have to do is choose one of those four new neighbor options." },
{ speaker: "dem", text: "Choose the one that appeals to you most, but choose wisely. We won't be able to change your mind." },
{ speaker: "sergio", text: "Okay, okay. Let's see what we have..." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[ // 5 - last line with all options
{
text: "View Option 1",
action: () => showOptionOverlay(1)
},
{
text: "View Option 2",
action: () => showOptionOverlay(2)
},
{
text: "View Option 3",
action: () => showOptionOverlay(3)
},
{
text: "View Option 4",
action: () => showOptionOverlay(4)
}
]
]
});
}, 500);
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
El ordenador vuelve a crepitar durante unos momentos para regresar de nuevo el rostro de Dem.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Completado. Ahora solo queda esperar a que vengan a su nuevo hogar." },
{ speaker: "sergio", text: "Todo esto es una locura." },
{ speaker: "dem", text: "Una locura excitante." }
],
options: [
[], // 1
[], // 2
[ // 3 → último paso
{
text: "Te alejas del ordenador",
action: function() {
State.variables.notaatico1 = false;
State.variables.aticoTimestamp = State.variables.gameTotalMinutes || 0;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/locations/habitacionsergio.jfif" alt="habsergio" />
</div>
The computer crackles again for a few moments before returning to Dem's face again.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Completed. Now we just have to wait for them to come to their new home." },
{ speaker: "sergio", text: "This is all crazy." },
{ speaker: "dem", text: "Excitingly crazy." }
],
options: [
[], // 1
[], // 2
[ // 3 → last step
{
text: "You move away from the computer",
action: function() {
State.variables.notaatico1 = false;
State.variables.aticoTimestamp = State.variables.gameTotalMinutes || 0;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if visited() is 1>>
Una sonrisa pícara aparece en el rostro barbudo de Dem.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var imagenesCategoria = {
twinks: [
"images/Varios/pornotwink1.webm",
"images/Varios/pornotwink2.webm",
"images/Varios/pornotwink3.webm",
"images/Varios/pornotwink4.webm"
],
osos: [
"images/Varios/pornooso1.webm",
"images/Varios/pornooso2.webm",
"images/Varios/pornooso3.webm",
"images/Varios/pornooso4.webm"
],
incesto: [
"images/Varios/pornofamilia1.webm",
"images/Varios/pornofamilia2.webm",
"images/Varios/pornofamilia3.webm",
"images/Varios/pornofamilia4.webm"
],
hunks: [
"images/Varios/pornomusculos1.webm",
"images/Varios/pornomusculos2.webm",
"images/Varios/pornomusculos3.webm",
"images/Varios/pornomusculos4.webm"
]
};
function mostrarOverlayPorno(categoria) {
var imagenes = imagenesCategoria[categoria];
var imagenAleatoria = imagenes[Math.floor(Math.random() * imagenes.length)];
var overlay = $('<div>')
.attr('id', 'porno-overlay')
.css({
'position': 'fixed',
'top': '0',
'left': '0',
'width': '100%',
'height': '100%',
'background-color': 'rgba(0, 0, 0, 0.9)',
'z-index': '9999',
'display': 'flex',
'justify-content': 'center',
'align-items': 'center',
'flex-direction': 'column'
});
var video = $('<video>')
.attr('autoplay', true)
.attr('loop', true)
.attr('muted', true)
.attr('playsinline', true)
.css({
'max-width': '80%',
'max-height': '80%',
'border-radius': '10px'
});
var source = $('<source>')
.attr('src', imagenAleatoria)
.attr('type', 'video/webm');
video.append(source);
var btnCerrar = $('<button>')
.text('Cerrar')
.css({
'margin-top': '20px',
'padding': '10px 30px',
'font-size': '18px',
'cursor': 'pointer',
'background-color': '#ff69b4',
'color': 'white',
'border': 'none',
'border-radius': '5px'
})
.on('click', function() {
video[0].pause();
$('#porno-overlay').fadeOut(300, function() {
$(this).remove();
});
});
overlay.append(video).append(btnCerrar);
$('body').append(overlay);
overlay.hide().fadeIn(300);
}
var opcionesFinal = [
{
text: "Porno de twinks.",
action: function() { mostrarOverlayPorno('twinks'); }
},
{
text: "Porno de osos.",
action: function() { mostrarOverlayPorno('osos'); }
},
{
text: "Porno de incesto.",
action: function() { mostrarOverlayPorno('incesto'); }
},
{
text: "Porno de hunks.",
action: function() { mostrarOverlayPorno('hunks'); }
},
{
text: "¿Déjame ver algo de ese porno especial?",
action: function() { Engine.play("Recuerdosporno"); }
}
];
opcionesFinal.push({
text: "No quiero nada por ahora.",
action: function() { Engine.play("habitacionsergio"); }
});
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Ayy pequeño viciosillo. ¿No te conformas con tus vecinos que quieres hacerte una paja rápida?" },
{ speaker: "sergio", text: "Bueno. Esto aquí, solo, y me apetece." },
{ speaker: "dem", text: "Tu mismo. Dime que te apetece y te pongo lo que sea. ¿O prefieres algo más especial?" },
{ speaker: "sergio", text: "¿Algo especial?" },
{ speaker: "dem", text: "Recuerdos tuyos con tus vecinos. Las veras como si fueran escenas porno. Solo tienes que haberlas vivido, claro esta." },
{ speaker: "dem", text: "Entonces, ¿Qué prefieres?" }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
opcionesFinal // 6
]
});
});
<</script>>
<<else>>
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var imagenesCategoria = {
twinks: [
"images/Varios/pornotwink1.webm",
"images/Varios/pornotwink2.webm",
"images/Varios/pornotwink3.webm",
"images/Varios/pornotwink4.webm"
],
osos: [
"images/Varios/pornooso1.webm",
"images/Varios/pornooso2.webm",
"images/Varios/pornooso3.webm",
"images/Varios/pornooso4.webm"
],
incesto: [
"images/Varios/pornofamilia1.webm",
"images/Varios/pornofamilia2.webm",
"images/Varios/pornofamilia3.webm",
"images/Varios/pornofamilia4.webm"
],
hunks: [
"images/Varios/pornomusculos1.webm",
"images/Varios/pornomusculos2.webm",
"images/Varios/pornomusculos3.webm",
"images/Varios/pornomusculos4.webm"
]
};
function mostrarOverlayPorno(categoria) {
var imagenes = imagenesCategoria[categoria];
var imagenAleatoria = imagenes[Math.floor(Math.random() * imagenes.length)];
var overlay = $('<div>')
.attr('id', 'porno-overlay')
.css({
'position': 'fixed',
'top': '0',
'left': '0',
'width': '100%',
'height': '100%',
'background-color': 'rgba(0, 0, 0, 0.9)',
'z-index': '9999',
'display': 'flex',
'justify-content': 'center',
'align-items': 'center',
'flex-direction': 'column'
});
var video = $('<video>')
.attr('autoplay', true)
.attr('loop', true)
.attr('muted', true)
.attr('playsinline', true)
.css({
'max-width': '80%',
'max-height': '80%',
'border-radius': '10px'
});
var source = $('<source>')
.attr('src', imagenAleatoria)
.attr('type', 'video/webm');
video.append(source);
var btnCerrar = $('<button>')
.text('Cerrar')
.css({
'margin-top': '20px',
'padding': '10px 30px',
'font-size': '18px',
'cursor': 'pointer',
'background-color': '#ff69b4',
'color': 'white',
'border': 'none',
'border-radius': '5px'
})
.on('click', function() {
video[0].pause();
$('#porno-overlay').fadeOut(300, function() {
$(this).remove();
});
});
overlay.append(video).append(btnCerrar);
$('body').append(overlay);
overlay.hide().fadeIn(300);
}
var opcionesFinal = [
{
text: "Porno de twinks.",
action: function() { mostrarOverlayPorno('twinks'); }
},
{
text: "Porno de osos.",
action: function() { mostrarOverlayPorno('osos'); }
},
{
text: "Porno de incesto.",
action: function() { mostrarOverlayPorno('incesto'); }
},
{
text: "Porno de hunks.",
action: function() { mostrarOverlayPorno('hunks'); }
},
{
text: "¿Déjame ver algo de ese porno especial?",
action: function() { Engine.play("Recuerdosporno"); }
}
];
opcionesFinal.push({
text: "No quiero nada por ahora.",
action: function() { Engine.play("habitacionsergio"); }
});
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "¿Has vuelto por más? Me gusta tu entusiasmo." },
{ speaker: "dem", text: "¿Qué te apetece ver esta vez?" }
],
options: [
[], // 1
opcionesFinal // 2
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if visited() is 1>>
A mischievous smile appears on Dem's bearded face.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var imagenesCategoria = {
twinks: [
"images/Varios/pornotwink1.webm",
"images/Varios/pornotwink2.webm",
"images/Varios/pornotwink3.webm",
"images/Varios/pornotwink4.webm"
],
bears: [
"images/Varios/pornooso1.webm",
"images/Varios/pornooso2.webm",
"images/Varios/pornooso3.webm",
"images/Varios/pornooso4.webm"
],
incest: [
"images/Varios/pornofamilia1.webm",
"images/Varios/pornofamilia2.webm",
"images/Varios/pornofamilia3.webm",
"images/Varios/pornofamilia4.webm"
],
hunks: [
"images/Varios/pornomusculos1.webm",
"images/Varios/pornomusculos2.webm",
"images/Varios/pornomusculos3.webm",
"images/Varios/pornomusculos4.webm"
]
};
function mostrarOverlayPorno(categoria) {
var imagenes = imagenesCategoria[categoria];
var imagenAleatoria = imagenes[Math.floor(Math.random() * imagenes.length)];
var overlay = $('<div>')
.attr('id', 'porno-overlay')
.css({
'position': 'fixed',
'top': '0',
'left': '0',
'width': '100%',
'height': '100%',
'background-color': 'rgba(0, 0, 0, 0.9)',
'z-index': '9999',
'display': 'flex',
'justify-content': 'center',
'align-items': 'center',
'flex-direction': 'column'
});
var video = $('<video>')
.attr('autoplay', true)
.attr('loop', true)
.attr('muted', true)
.attr('playsinline', true)
.css({
'max-width': '80%',
'max-height': '80%',
'border-radius': '10px'
});
var source = $('<source>')
.attr('src', imagenAleatoria)
.attr('type', 'video/webm');
video.append(source);
var btnCerrar = $('<button>')
.text('Cerrar')
.css({
'margin-top': '20px',
'padding': '10px 30px',
'font-size': '18px',
'cursor': 'pointer',
'background-color': '#ff69b4',
'color': 'white',
'border': 'none',
'border-radius': '5px'
})
.on('click', function() {
video[0].pause();
$('#porno-overlay').fadeOut(300, function() {
$(this).remove();
});
});
overlay.append(video).append(btnCerrar);
$('body').append(overlay);
overlay.hide().fadeIn(300);
}
var opcionesFinal = [
{
text: "Twink porn.",
action: function() { mostrarOverlayPorno('twinks'); }
},
{
text: "Bear porn.",
action: function() { mostrarOverlayPorno('bears'); }
},
{
text: "Incest porn.",
action: function() { mostrarOverlayPorno('incest'); }
},
{
text: "Hunk porn.",
action: function() { mostrarOverlayPorno('hunks'); }
},
{
text: "Let me see some of that special porn?",
action: function() { Engine.play("Recuerdosporno"); }
}
];
opcionesFinal.push({
text: "I don't want anything right now.",
action: function() { Engine.play("habitacionsergio"); }
});
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Aww, you little perv. Not satisfied with your neighbors, you want a quick wank?" },
{ speaker: "sergio", text: "Well. I'm here, alone, and I feel like it." },
{ speaker: "dem", text: "Suit yourself. Tell me what you want and I'll put on whatever you like. Or would you prefer something more special?" },
{ speaker: "sergio", text: "Something special?" },
{ speaker: "dem", text: "Your memories with your neighbors. You'll see them as if they were porn scenes. You just have to have lived them, of course." },
{ speaker: "dem", text: "So, what do you prefer?" }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
opcionesFinal // 6
]
});
});
<</script>>
<<else>>
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var imagenesCategoria = {
twinks: [
"images/Varios/pornotwink1.webm",
"images/Varios/pornotwink2.webm",
"images/Varios/pornotwink3.webm",
"images/Varios/pornotwink4.webm"
],
bears: [
"images/Varios/pornooso1.webm",
"images/Varios/pornooso2.webm",
"images/Varios/pornooso3.webm",
"images/Varios/pornooso4.webm"
],
incest: [
"images/Varios/pornofamilia1.webm",
"images/Varios/pornofamilia2.webm",
"images/Varios/pornofamilia3.webm",
"images/Varios/pornofamilia4.webm"
],
hunks: [
"images/Varios/pornomusculos1.webm",
"images/Varios/pornomusculos2.webm",
"images/Varios/pornomusculos3.webm",
"images/Varios/pornomusculos4.webm"
]
};
function mostrarOverlayPorno(categoria) {
var imagenes = imagenesCategoria[categoria];
var imagenAleatoria = imagenes[Math.floor(Math.random() * imagenes.length)];
var overlay = $('<div>')
.attr('id', 'porno-overlay')
.css({
'position': 'fixed',
'top': '0',
'left': '0',
'width': '100%',
'height': '100%',
'background-color': 'rgba(0, 0, 0, 0.9)',
'z-index': '9999',
'display': 'flex',
'justify-content': 'center',
'align-items': 'center',
'flex-direction': 'column'
});
var video = $('<video>')
.attr('autoplay', true)
.attr('loop', true)
.attr('muted', true)
.attr('playsinline', true)
.css({
'max-width': '80%',
'max-height': '80%',
'border-radius': '10px'
});
var source = $('<source>')
.attr('src', imagenAleatoria)
.attr('type', 'video/webm');
video.append(source);
var btnCerrar = $('<button>')
.text('Cerrar')
.css({
'margin-top': '20px',
'padding': '10px 30px',
'font-size': '18px',
'cursor': 'pointer',
'background-color': '#ff69b4',
'color': 'white',
'border': 'none',
'border-radius': '5px'
})
.on('click', function() {
video[0].pause();
$('#porno-overlay').fadeOut(300, function() {
$(this).remove();
});
});
overlay.append(video).append(btnCerrar);
$('body').append(overlay);
overlay.hide().fadeIn(300);
}
var opcionesFinal = [
{
text: "Twink porn.",
action: function() { mostrarOverlayPorno('twinks'); }
},
{
text: "Bear porn.",
action: function() { mostrarOverlayPorno('bears'); }
},
{
text: "Incest porn.",
action: function() { mostrarOverlayPorno('incest'); }
},
{
text: "Hunk porn.",
action: function() { mostrarOverlayPorno('hunks'); }
},
{
text: "Let me see some of that special porn?",
action: function() { Engine.play("Recuerdosporno"); }
}
];
opcionesFinal.push({
text: "I don't want anything right now.",
action: function() { Engine.play("habitacionsergio"); }
});
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "Back for more? I like your enthusiasm." },
{ speaker: "dem", text: "What do you want to watch this time?" }
],
options: [
[], // 1
opcionesFinal // 2
]
});
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<h2>Recuerdos Especiales</h2>
<p>Dem te muestra una galería de tus encuentros más... memorables.</p>
<<else>>
<h2>Special Memories</h2>
<p>Dem shows you a gallery of your most... memorable encounters.</p>
<</if>>
<div id="recuerdos-container"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var idioma = State.variables.idioma || "es";
var textos = {
es: {
verRecuerdos: "Ver Recuerdos",
bloqueado: "🔒 Bloqueado",
recuerdos: "Recuerdos:",
sinObjetivos: "🔍 <strong>Aún no hay objetivos localizados</strong>",
mensaje: "Conoce a tus vecinos y crea momentos especiales con ellos para desbloquear recuerdos aquí.",
volver: "Volver"
},
en: {
verRecuerdos: "View Memories",
bloqueado: "🔒 Locked",
recuerdos: "Memories:",
sinObjetivos: "🔍 <strong>No targets located yet</strong>",
mensaje: "Meet your neighbors and create special moments with them to unlock memories here.",
volver: "Back"
}
};
var t = textos[idioma];
var personajes = [
{
nombre: "Raúl",
imagen: "images/Raul/Raul.png",
variable: "recuerdosRaul",
contacto: "Raulcontacto",
pasaje: "RecuerdosRaul"
},
{
nombre: "Leo",
imagen: "images/Leo/leo.png",
variable: "recuerdosLeo",
contacto: "Leocontacto",
pasaje: "RecuerdosLeo"
},
{
nombre: "Adrián",
nombreEN: "Adrian",
imagen: "images/Adrian/adrian.png",
variable: "recuerdosAdrian",
contacto: "Adriancontacto",
pasaje: "RecuerdosAdrian"
},
{
nombre: "Rafael",
imagen: "images/Rafael/rafa.png",
variable: "recuerdosRafael",
contacto: "Rafaelcontacto",
pasaje: "RecuerdosRafael"
},
{
nombre: "Alex",
imagen: "images/Alex/Alex.png",
variable: "recuerdosAlex",
contacto: "Alexcontacto",
pasaje: "RecuerdosAlex"
},
{
nombre: "Abel",
imagen: "images/Abel/abel.png",
variable: "recuerdosAbel",
contacto: "Abelcontacto",
pasaje: "RecuerdosAbel"
},
{
nombre: "Ernesto",
imagen: "images/Ernesto/ernesto.png",
variable: "recuerdosErnesto",
contacto: "Ernestocontacto",
pasaje: "RecuerdosErnesto"
},
{
nombre: "Tomás",
nombreEN: "Tomas",
imagen: "images/Tomas/tomas.png",
variable: "recuerdosTomas",
contacto: "Tomascontacto",
pasaje: "RecuerdosTomas"
},
{
nombre: "Francesco",
imagen: "images/Francesco/francesco.png",
variable: "recuerdosFrancesco",
contacto: "Francescocontacto",
pasaje: "RecuerdosFrancesco"
},
{
nombre: "Sean",
imagen: "images/Sean/sean.png",
variable: "recuerdosSean",
contacto: "Seancontacto",
pasaje: "RecuerdosSean"
},
{
nombre: "Adler",
imagen: "images/Adler/adler.png",
variable: "recuerdosAdler",
contacto: "Adlercontacto",
pasaje: "RecuerdosAdler"
},
{
nombre: "Juanan",
imagen: "images/Juanan/juanan.png",
variable: "recuerdosJuanan",
contacto: "Juanancontacto",
pasaje: "RecuerdosJuanan"
},
{
nombre: "Tao",
imagen: "images/Tao/tao.png",
variable: "recuerdosTao",
contacto: "Taocontacto",
pasaje: "RecuerdosTao"
},
{
nombre: "Ahmed",
imagen: "images/Ahmed/ahmed.png",
variable: "recuerdosAhmed",
contacto: "Ahmedcontacto",
pasaje: "RecuerdosAhmed"
},
{
nombre: "Roca",
imagen: "images/Roca/roca.png",
variable: "recuerdosRoca",
contacto: "Rocacontacto",
pasaje: "RecuerdosRoca"
},
{
nombre: "Hamza",
imagen: "images/Hamza/hamza.png",
variable: "recuerdosHamza",
contacto: "Hamzacontacto",
pasaje: "RecuerdosHamza"
},
{
nombre: "Damian",
imagen: "images/Damian/damian.png",
variable: "recuerdosDamian",
contacto: "Damiancontacto",
pasaje: "RecuerdosDamian"
}
];
var container = $('#recuerdos-container');
var personajesConocidos = 0;
personajes.forEach(function(personaje) {
var conocido = State.variables[personaje.contacto] || false;
if (conocido) {
personajesConocidos++;
var numRecuerdos = State.variables[personaje.variable] || 0;
var tieneRecuerdos = numRecuerdos > 0;
var nombreMostrar = (idioma === "en" && personaje.nombreEN) ? personaje.nombreEN : personaje.nombre;
var card = $('<div>')
.addClass('recuerdo-card')
.addClass(tieneRecuerdos ? 'activo' : 'inactivo');
var imgContainer = $('<div>')
.addClass('recuerdo-img-container');
var img = $('<img>')
.attr('src', personaje.imagen)
.attr('alt', nombreMostrar);
imgContainer.append(img);
var info = $('<div>')
.addClass('recuerdo-info');
var nombre = $('<h3>')
.text(nombreMostrar);
var contador = $('<p>')
.addClass('recuerdo-contador')
.html('<strong>' + t.recuerdos + '</strong> ' + numRecuerdos);
info.append(nombre).append(contador);
var btnContainer = $('<div>')
.addClass('recuerdo-btn-container');
if (tieneRecuerdos) {
var btn = $('<button>')
.addClass('recuerdo-btn')
.text(t.verRecuerdos)
.on('click', function() {
Engine.play(personaje.pasaje);
});
btnContainer.append(btn);
} else {
var bloqueado = $('<span>')
.addClass('recuerdo-bloqueado')
.html(t.bloqueado);
btnContainer.append(bloqueado);
}
card.append(imgContainer).append(info).append(btnContainer);
container.append(card);
}
});
if (personajesConocidos === 0) {
var mensajeVacio = $('<div>')
.addClass('mensaje-vacio')
.html('<p>' + t.sinObjetivos + '</p>' +
'<p>' + t.mensaje + '</p>');
container.append(mensajeVacio);
}
var btnVolver = $('<button>')
.addClass('btn-volver')
.text(t.volver)
.on('click', function() {
Engine.play('habitacionsergio');
});
container.append($('<div>').css('clear', 'both')).append(btnVolver);
});
<</script>>
<style>
#recuerdos-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 20px;
padding: 20px;
max-width: 1200px;
margin: 0 auto;
}
.recuerdo-card {
background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
border-radius: 15px;
padding: 15px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
transition: all 0.3s ease;
text-align: center;
}
.recuerdo-card.activo {
border: 2px solid #ff69b4;
}
.recuerdo-card.activo:hover {
transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(255, 105, 180, 0.4);
}
.recuerdo-card.inactivo {
border: 2px solid #555;
opacity: 0.5;
filter: grayscale(100%);
}
.recuerdo-img-container {
width: 100%;
height: 200px;
overflow: hidden;
border-radius: 10px;
margin-bottom: 10px;
background: #000;
}
.recuerdo-img-container img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}
.recuerdo-card.activo:hover .recuerdo-img-container img {
transform: scale(1.1);
}
.recuerdo-info h3 {
color: #fff;
margin: 10px 0 5px 0;
font-size: 1.3em;
}
.recuerdo-contador {
color: #aaa;
margin: 5px 0;
font-size: 0.9em;
}
.recuerdo-card.activo .recuerdo-contador {
color: #ff69b4;
}
.recuerdo-btn-container {
margin-top: 15px;
}
.recuerdo-btn {
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white;
border: none;
padding: 10px 20px;
border-radius: 25px;
cursor: pointer;
font-size: 1em;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
}
.recuerdo-btn:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
.recuerdo-bloqueado {
color: #666;
font-size: 0.9em;
font-style: italic;
}
.mensaje-vacio {
grid-column: 1 / -1;
text-align: center;
padding: 40px 20px;
background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
border-radius: 15px;
border: 2px dashed #555;
}
.mensaje-vacio p {
color: #aaa;
font-size: 1.1em;
margin: 10px 0;
}
.mensaje-vacio p:first-child {
color: #ff69b4;
font-size: 1.3em;
margin-bottom: 15px;
}
.btn-volver {
background: linear-gradient(135deg, #555, #333);
color: white;
border: none;
padding: 12px 30px;
border-radius: 25px;
cursor: pointer;
font-size: 1.1em;
font-weight: bold;
margin: 30px auto;
display: block;
transition: all 0.3s ease;
grid-column: 1 / -1;
}
.btn-volver:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
</style><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Rafael. Perdona que te moleste, pero quería hablarte de un problema que tengo.' },
{ speaker: 'rafa', text: '¿De qué se trata?' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Eh... Es un problema con unos vecinos.' },
{ speaker: 'rafa', text: 'Ya me imagino. El pequeño de los del 1A. Ese chaval va a apestar a marihuana todo el edificio. Por que no quiero problemas, pero muchas veces he pensado en arrestarlo. Pero sin denuncia no puedo hacer nada.' },
{ speaker: 'sergio', text: 'Ya, claro <em>Colocas en posición el móvil</em> Pero no hablaba de Alex si no de los de arriba. Los estudiantes de Erasmus. Sus fiestas son muy ruidosas.' },
{ speaker: 'rafa', text: 'Sí, claro. Para ti será mucho peor el sonido. Pero son chiquilladas. Habla con Tomás, a ver si puede meterles en cintura. Al fin y al cabo es su piso.' },
{ speaker: 'sergio', text: 'Claro, eso haré. Muchas gracias Rafael.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Rafaelcontacto = true;
State.variables.notaRafael1= true;
State.variables.corrupcionRafael = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello Rafael. Sorry to bother you, but I wanted to talk to you about a problem I have.' },
{ speaker: 'rafa', text: 'What\'s it about?' },
{ speaker: 'sergio', text: '<em>You discreetly take your phone out of your pocket</em> Uh... It\'s a problem with some neighbors.' },
{ speaker: 'rafa', text: 'I can imagine. The kid from 1A. That guy is going to make the whole building reek of marijuana. I don\'t want any trouble, but I\'ve thought about arresting him many times. But without a complaint I can\'t do anything.' },
{ speaker: 'sergio', text: 'Yeah, sure <em>You position your phone</em> But I wasn\'t talking about Alex, I was talking about the ones upstairs. The Erasmus students. Their parties are very noisy.' },
{ speaker: 'rafa', text: 'Yes, of course. The sound will be much worse for you. But they\'re just kids being kids. Talk to Tomás, see if he can keep them in line. After all, it\'s his apartment.' },
{ speaker: 'sergio', text: 'Sure, I\'ll do that. Thank you very much, Rafael.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You take the photo',
action: function() {
State.variables.Rafaelcontacto = true;
State.variables.notaRafael1 = true;
State.variables.corrupcionRafael = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrián',
portrait: 'images/Adrian/adrian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, Adrián. Mira, quería preguntarte una cosa' },
{ speaker: 'adrian', text: 'Dime' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Quiero apuntarme al gimnasio y no se con que rutinas empezar.' },
{ speaker: 'adrian', text: 'Oh, que buena idea Sergio. La verdad, te estabas quedando algo fofo. Tengo una rutina para iniciados bastante buena. Espera aquí. <em>se dala vuelta y camina adentro de la casa</em> ' },
{ speaker: 'sergio', text: 'Claro. <em>Colocas en posición el móvil</em>' },
{ speaker: 'adrian', text: ' <em>Regresa</em> Aquí tienes. Ya me dices que tal te va. Acuerdate de estirar.' },
{ speaker: 'sergio', text: 'Claro, eso haré. Muchas gracias Adrián.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Adriancontacto = true;
State.variables.notaAdrian1 = true;
State.variables.corrupcionAdrian = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrian',
portrait: 'images/Adrian/adrian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello, Adrián. Look, I wanted to ask you something' },
{ speaker: 'adrian', text: 'Tell me' },
{ speaker: 'sergio', text: '<em>You sneakily take out your cell phone from your pocket</em> I want to join a gym and I don\'t know what routines to start with.' },
{ speaker: 'adrian', text: 'Oh, that\'s a great idea, Sergio. You were getting a bit out of shape, actually. I have a pretty good beginner routine. Wait here. <em>turns around and walks inside the house</em>' },
{ speaker: 'sergio', text: 'Sure. <em>Place the phone in position</em>' },
{ speaker: 'adrian', text: '<em>Comes back</em> Here you go. Let me know how it goes. Remember to stretch.' },
{ speaker: 'sergio', text: 'Sure, I will. Thanks a lot, Adrián.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You take the photo',
action: function() {
State.variables.Adriancontacto = true;
State.variables.notaAdrian1 = true;
State.variables.corrupcionAdrian = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>>
<<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, Leo. Necesito tu ayuda para algo.' },
{ speaker: 'leo', text: '<em>No muestra mucho interés</em> ¿Eh? no sé...' },
{ speaker: 'sergio', text: 'Es sobre videojuegos. Tengo que comprarle uno a mi primo y no sé cuál. ¿A ti te gustaban verdad?.' },
{ speaker: 'leo', text: '<em>Le cambia la expresión</em> Si claro. Podía decir que casi es mi vida. ¿Qué tipo de juegos le gustan a tu primo?' },
{ speaker: 'sergio', text: ' <em>Sacas con disimulo el móvil</em> Los de disparar y eso. No le gusta mucho pensar.' },
{ speaker: 'leo', text: 'Entonces el que está muy de moda ahora es el Force Assault. Es el que estoy jugando ahora y el modo online esta muy bien.' },
{ speaker: 'sergio', text: '<em>Colocas con cuidado el móvil</em> Ok, Force Assault. Lo compraré. Muchas gracias Leo.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Leocontacto = true;
State.variables.notaLeo1 = true;
State.variables.corrupcionLeo = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello, Leo. I need your help for something.' },
{ speaker: 'leo', text: '<em>He doesn\'t show much interest</em> Eh? I don\'t know...' },
{ speaker: 'sergio', text: 'It\'s about video games. I have to buy one for my cousin and I don\'t know which one. You liked them, right?' },
{ speaker: 'leo', text: '<em>His expression changes</em> Yeah, right. I could say it\'s practically my life. What kind of games does your cousin like?' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone</em> Shooting games and stuff like that. He doesn\'t like to think much.' },
{ speaker: 'leo', text: 'The one that\'s really popular right now is Force Assault. It\'s the one I\'m playing now and the online mode is really good.' },
{ speaker: 'sergio', text: '<em>You carefully place your phone</em> Okay, Force Assault. I\'ll buy it. Thanks a lot, Leo.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You take the photo',
action: function() {
State.variables.Leocontacto = true;
State.variables.notaLeo1 = true;
State.variables.corrupcionLeo = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<if $notaLeo1 eq true>>
<span style="font-size: 1.5em;">La vida de Leo son los videojuegos. Apenas sale de su cuarto. La única forma de contactar con él de manera profunda es a través de ese hobbie. Debe haber una manera de encontrarlo en alguna partida online.</span>
<</if>>
<<if $notaLeo2 eq true>>
<span style="font-size: 1.5em;">Ese joven debe entender de una vez por todas que no puede pensar solo en los videojuegos. Debemos romper esa burbuja de protección que tiene gracias a sus padres, forzándolo a hacer algo que les obligue a enfrentarse a él. Pero para dar ese paso debe arriesgarse con alguien nuevo que le dé confianza.</span>
<</if>>
<<if $notaLeo3 eq true>><span style="font-size: 1.5em;">CONTENIDO PRÓXIMAMENTE</span><</if>>
<<else>>
<<if $notaLeo1 eq true>>
<span style="font-size: 1.5em;">Leo's life is all about video games. He barely leaves his room. The only way to connect with him deeply is through that hobby. There must be a way to find him in some online match.</span>
<</if>>
<<if $notaLeo2 eq true>>
<span style="font-size: 1.5em;">That young man needs to understand once and for all that he can't just think about video games. We have to break down that protective bubble he has thanks to his parents, forcing him to do something that will make them confront him. But to take that step, he must take a risk with someone new who gives him confidence.</span>
<</if>>
<<if $notaLeo3 eq true>><span style="font-size: 1.5em;">COMING SOON</span><</if>>
<</if>><<if $idioma is "es">>
<<if $notaAdrian1 eq true>>
<span style="font-size: 1.5em;">Lo único en lo que piensa Adrián es en las chicas, los coches y el gimnasio. Esos pilares de su personalidad pueden ser las puertas para poder corromperlo. Averigua en qué tiene más interés y mira cómo puedes darle la vuelta para moverlo a tu terreno.</span>
<</if>>
<<if $notaAdrian2 eq true>>
<span style="font-size: 1.5em;">Has destrozado la autoestima de Adrián, quizás te has pasado. Habla con él y mira cómo puedes volver a hacerle sentir más cerca de sus referentes.</span>
<</if>>
<<if $notaAdrian3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO.</span>
<</if>>
<<else>>
<<if $notaAdrian1 eq true>>
<span style="font-size: 1.5em;">All Adrian thinks about is girls, cars, and the gym. These pillars of his personality could be the gateways to corrupting him. Find out what interests him most and see how you can turn it around to your advantage.</span>
<</if>>
<<if $notaAdrian2 eq true>>
<span style="font-size: 1.5em;">You've destroyed Adrian's self-esteem, maybe you went too far. Talk to him and see how you can make him feel closer to his role models again.</span>
<</if>>
<<if $notaAdrian3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<<if $notaRafael1 eq true>>
<span style="font-size: 1.5em;">Rafael siempre ha sido gruñón y antipático. Libera su frustración por su relación familiar con su trabajo. Hay que favorecer esa frustración para llevarlo al límite. Quizá Dem pueda ayudarte después de descubrir algo en su mente.</span>
<</if>>
<<if $notaRafael3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO.</span>
<</if>>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<<if $notaRafael1 eq true>>
<span style="font-size: 1.5em;">Rafael has always been grumpy and unfriendly. He releases his frustration with his family through his work. We need to encourage that frustration to push him to the limit. Perhaps Dem can help you after discovering something in his mind.</span>
<</if>>
<<if $notaRafael3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ernesto, perdona que te moleste pero quería hablar contigo.' },
{ speaker: 'ernesto', text: 'Claro, dime Sergio.' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Llevo un par de días con un dolor en la espalda bastante molesto' },
{ speaker: 'ernesto', text: ' <em>Te da la vuelta</em> A ver que puedo notar. <em>Pasa sus dedos fuertes por tu espalda</em> ¿Es aquí donde notas el dolor?' },
{ speaker: 'sergio', text: 'Sí, es ahí' },
{ speaker: 'Ernesto', text: ' No noto nada en particular. ¿Quizá te has dado un golpe y no lo recuerdas? ¿Quieres que te pida una prueba o algo?' },
{ speaker: 'sergio', text: ' <em>Preparas el móvil para la foto</em> No te preocupes, Creo que me esperaré a ver si en un par de días se me pasa. Gracias Ernesto.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Ernestocontacto = true;
State.variables.notaErnesto1 = true;
State.variables.corrupcionErnesto = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ernesto, sorry to bother you but I wanted to talk to you.' },
{ speaker: 'ernesto', text: 'Sure, tell me Sergio.' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone from your pocket</em> I\'ve had a pretty annoying back pain for a couple of days.' },
{ speaker: 'ernesto', text: '<em>He turns you around</em> Let me see what I can feel. <em>He runs his strong fingers across your back</em> Is this where you feel the pain?' },
{ speaker: 'sergio', text: 'Yes, that\'s it.' },
{ speaker: 'ernesto', text: 'I don\'t notice anything in particular. Maybe you bumped yourself and don\'t remember? Do you want me to order a test or something?' },
{ speaker: 'sergio', text: '<em>You prepare your phone for the photo</em> Don\'t worry, I think I\'ll wait to see if it goes away in a couple of days. Thanks Ernesto.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Take the photo',
action: function() {
State.variables.Ernestocontacto = true;
State.variables.notaErnesto1 = true;
State.variables.corrupcionErnesto = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Damián, vengo a preguntarte una cosa.' },
{ speaker: 'damian', text: 'Claro, dime Sergio.' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Entrenabas a un equipo de baloncesto, ¿no? ¿Solo de niños o también de adultos? ' },
{ speaker: 'damian', text: ' También de adultos <em> Damián te echa una mirada de arriba a abajo con expresión crítica</em> Pero no sé si encajarías con... ' },
{ speaker: 'sergio', text: '<em>Agitas los brazos y al cabeza, negando </em> ¡No es para mí! Es para mi hermano Raúl. Llegará a casa en unos días y esta buscando un deporte que pueda compatibilizar con sus clases en la universidad.' },
{ speaker: 'damian', text: ' Claro. No lo conozco, pero te digo los horarios que tenemos de entrenamiento <em>Saca su móvil y se pone a buscar algo en él</em>' },
{ speaker: 'sergio', text: '<em> Preparas el movil para la foto</em> No te preocupes, no me corre prisa. Envíamelo en un mensaje y yo se lo reenvío. Ya me dices algo.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Damiancontacto = true;
State.variables.notaDamian1 = true;
State.variables.corrupcionDamian = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Damián, I came to ask you something.' },
{ speaker: 'damian', text: 'Sure, tell me Sergio.' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone from your pocket</em> You coached a basketball team, right? Just kids or adults too?' },
{ speaker: 'damian', text: 'Adults too. <em>Damián looks you up and down with a critical expression</em> But I don\'t know if you would fit with...' },
{ speaker: 'sergio', text: '<em>You wave your arms and head, denying</em> It\'s not for me! It\'s for my brother Raúl. He\'ll be home in a few days and he\'s looking for a sport he can combine with his university classes.' },
{ speaker: 'damian', text: 'Sure. I don\'t know him, but I\'ll tell you the training schedules we have. <em>He takes out his phone and starts looking for something on it</em>' },
{ speaker: 'sergio', text: '<em>You prepare your phone for the photo</em> Don\'t worry, I\'m not in a hurry. Send it to me in a message and I\'ll forward it to him. Let me know something.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Take the photo',
action: function() {
State.variables.Damiancontacto = true;
State.variables.notaDamian1 = true;
State.variables.corrupcionDamian = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>>
<<if $idioma is "es">>
<<if $notaAlex1 eq true>><span style="font-size: 1.5em;">Fumar, beber, y pasar de todo es la identidad de Alex. Si lo que más le gusta es la marihuana, ofrécele algo nuevo en algún sitio fuera de la mirada de su familia.</span><</if>>
<<if $notaAlex2 eq true>><span style="font-size: 1.5em;">Alex ya ha probado la nueva marihuana, y desea más. Sus amigos del parque también quieren, y tienes suficiente para darles lo que necesitan. Hazles una visita.</span><</if>>
<<if $notaAlex3 eq true>><span style="font-size: 1.5em;">CONTENIDO PRÓXIMAMENTE</span><</if>>
<<else>>
<<if $notaAlex1 eq true>><span style="font-size: 1.5em;">Smoking, drinking, and not caring about anything is Alex's identity. If marijuana is his favorite thing, offer him something new somewhere away from his family's watchful eyes.</span><</if>>
<<if $notaAlex2 eq true>><span style="font-size: 1.5em;">Alex has already tried the new marijuana, and wants more. His park friends also want some, and you have enough to give them what they need. Pay them a visit.</span><</if>>
<<if $notaAlex3 eq true>><span style="font-size: 1.5em;">COMING SOON</span><</if>>
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<<if $notaErnesto1 eq true>>
<span style="font-size: 1.5em;">Ernesto tiene una amante, o varias. Es conocido por todo el edificio y seguramente por su mujer, Carmen. Quizá es el momento de darle pruebas sólidas a su mujer para que tome la decisión de abandonarle de una vez.</span>
<</if>>
<<if $notaErnesto2 eq true>>
<span style="font-size: 1.5em;">A pesar de las numerosas amantes de Ernesto, este quería a su mujer, pero su enorme líbido no le permitía tener una vida matrimonial sana. Quizá necesite la ayuda de una psicóloga para poder controlar su deseo sexual.</span>
<</if>>
<<if $notaErnesto3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO</span>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<<if $notaErnesto1 eq true>>
<span style="font-size: 1.5em;">Ernesto has a lover, or several. It's known throughout the building and surely by his wife, Carmen. Perhaps it's time to give his wife solid proof so she can finally decide to leave him.</span>
<</if>>
<<if $notaErnesto2 eq true>>
<span style="font-size: 1.5em;">Despite Ernesto's numerous lovers, he loved his wife, but his enormous libido didn't allow him to have a healthy married life. Perhaps he needs the help of a psychologist to control his sexual desire.</span>
<</if>>
<<if $notaErnesto3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT</span>
<</if>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Qué tal Tao? ¿Cómo estás?' },
{ speaker: 'tao', text: 'Muy bien. ¿Querías algo?' },
{ speaker: 'sergio', text: '<em>Sacas disimuladamente el móvil</em> Nada, solo quería hablar con tu padre. ¿Sabes si tiene mi número?' },
{ speaker: 'tao', text: 'Pues no lo se. ¿Quieres que lo apunte?' },
{ speaker: 'sergio', text: 'No tranquilo. <em>Preparas el móvil para la foto</em> Ya pasaré otro dia. Nos vemos.' },
{ speaker: 'tao', text: 'Hasta luego Sergio.' },
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Taocontacto = true;
State.variables.notaTao1 = true;
State.variables.corrupcionTao = 0;
// ⭐ USAR LA VARIABLE GUARDADA
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'How are you doing Tao? How are you?' },
{ speaker: 'tao', text: 'Very well. Did you want something?' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone</em> Nothing, I just wanted to talk to your father. Do you know if he has my number?' },
{ speaker: 'tao', text: 'Well, I don\'t know. Do you want me to write it down?' },
{ speaker: 'sergio', text: 'No, don\'t worry. <em>You prepare your phone for the photo</em> I\'ll come by another day. See you.' },
{ speaker: 'tao', text: 'See you later Sergio.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Take the photo',
action: function() {
State.variables.Taocontacto = true;
State.variables.notaTao1 = true;
State.variables.corrupcionTao = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Dime Sergio, ¿Qué sucede?' },
{ speaker: 'sergio', text: 'ehh... Necesito tu ayuda. <em>Sacas el móvil con disimulo</em>' },
{ speaker: 'juanan', text: 'Claro. Para eso estamos. ¿Qué pasa? ' },
{ speaker: 'sergio', text: ' He tenido un accidente en mi casa y quizá necesité algún arreglo' },
{ speaker: 'juanan', text: '¿Qué tipo de accidente? ¿Algo de fontanería?' },
{ speaker: 'sergio', text: '<em>Preparas el móvil para la foto</em> Ehh... Pues una grieta que ha salido de repente en la pared del salón.' },
{ speaker: 'juanan', text: 'No parece una cosa muy grave ni urgente. Ahora estoy hasta arriba de faena. Pero cuando tenga tiempo paso por tu casa y me dices¿Te parece?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Juanancontacto = true;
State.variables.notaJuanan1 = true;
State.variables.corrupcionJuanan = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Tell me Sergio, what\'s going on?' },
{ speaker: 'sergio', text: 'Uhh... I need your help. <em>You discreetly take out your phone</em>' },
{ speaker: 'juanan', text: 'Sure. That\'s what we\'re here for. What\'s wrong?' },
{ speaker: 'sergio', text: 'I\'ve had an accident in my house and I might need some repairs.' },
{ speaker: 'juanan', text: 'What kind of accident? Something with plumbing?' },
{ speaker: 'sergio', text: '<em>You prepare your phone for the photo</em> Uhh... Well, a crack that suddenly appeared in the living room wall.' },
{ speaker: 'juanan', text: 'It doesn\'t seem very serious or urgent. I\'m swamped with work right now. But when I have time I\'ll stop by your place and you can tell me. Sound good?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Take the photo',
action: function() {
State.variables.Juanancontacto = true;
State.variables.notaJuanan1 = true;
State.variables.corrupcionJuanan = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<if $notaJuanan1 eq true>>
<span style="font-size: 1.5em;">Juanan lleva soltero desde la muerte de su mujer, hace ya más de 16 años. Siempre se le ve trabajando, por lo que seguro que anda más caliente que una sartén al fuego. Habla con él sobre el tema con unas cervezas, a ver qué dice.</span>
<</if>>
<<if $notaJuanan2 eq true>>
<span style="font-size: 1.5em;">Lo sucedido en el kebab no debe quedarse en una tontería de borrachos. Habla con Juanan cuando él se encuentre solo y en un lugar tranquilo, como adultos, y llévalo al siguiente paso.</span>
<</if>>
<<if $notaJuanan3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO.</span>
<</if>>
<<else>>
<<if $notaJuanan1 eq true>>
<span style="font-size: 1.5em;">Juanan has been single since his wife died over 16 years ago. He's always working, so he's probably hornier than a pan on the stove. Talk to him about it over a few beers and see what he says.</span>
<</if>>
<<if $notaJuanan2 eq true>>
<span style="font-size: 1.5em;">What happened at the kebab shop shouldn't remain just a drunken thing. Talk to Juanan when he's alone and in a quiet place, like adults, and take it to the next step.</span>
<</if>>
<<if $notaJuanan3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<<if $notaTao1 eq true>>
<span style="font-size: 1.5em;">Tao es tan inocente que casi da lástima. No ha visto ni siquiera un vídeo porno. Esa evasión de la sexualidad es casi ofensiva para el jefe. Muéstrale ejemplos visuales para que sepa lo que se está perdiendo.</span>
<</if>>
<<if $notaTao2 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO</span>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<<if $notaTao1 eq true>>
<span style="font-size: 1.5em;">Tao is so innocent it's almost pathetic. He hasn't even seen a porn video. That avoidance of sexuality is almost offensive to the boss. Show him visual examples so he knows what he's missing.</span>
<</if>>
<<if $notaTao2 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT</span>
<</if>>
<</if>><<if $idioma is "es">>
<<if $notaTomas1 eq true>>
<span style="font-size: 1.5em;">Tomás pasa su vida cuidando de su mujer, Maite. Es hora de que le cuiden también a él, o como mínimo, que le ayuden con Maite. Algún familiar suyo debe poder hacerlo.</span>
<</if>>
<<if $notaTomas2 eq true>>
<span style="font-size: 1.5em;">Ahora que ya sabes que algún familiar podría ayudar a Tomás si este es incapaz de cuidar a su mujer, es el momento de que sufra "algún accidente". Busca información en su casa para ver cómo puedes provocar que haga alguna acción que le lesione.</span>
<</if>>
<<if $notaTomas3 eq true>>
<span style="font-size: 1.5em;">Contenido próximo.</span>
<</if>>
<<else>>
<<if $notaTomas1 eq true>>
<span style="font-size: 1.5em;">Tomás spends his life taking care of his wife, Maite. It's time someone took care of him too, or at the very least helped him with Maite. Some family member of his should be able to do it.</span>
<</if>>
<<if $notaTomas2 eq true>>
<span style="font-size: 1.5em;">Now that you know a family member could step in to help Tomás if he's unable to care for his wife, it's time for him to have a little "accident." Search his home for information on how you might push him into doing something that gets him hurt.</span>
<</if>>
<<if $notaTomas3 eq true>>
<span style="font-size: 1.5em;">Coming soon.</span>
<</if>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomas',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tomas', text: '¡Sergio, Cuanto tiempo!' },
{ speaker: 'sergio', text: 'Bueno en realidad vivo aquí ya hace un par de años <em>Disimuladamente sacas el móvil</em>' },
{ speaker: 'tomas', text: 'Cierto. Pero últimamente no salgo mucho de casa, por lo de Maite. ' },
{ speaker: 'sergio', text: 'Es verdad. ¿Cómo se encuentra? ' },
{ speaker: 'tomas', text: 'Ya sabes <em> Te mira apenado </em> Ya no es la misma, y es mucho trabajo para una persona sola' },
{ speaker: 'sergio', text: '<em>Preparas el móvil para la foto</em> Lo siento. Yo... solo pasaba a darle un saludo por parte de mi padre.' },
{ speaker: 'tomas', text: 'Otro para él. Me alegro de que el piso de tus abuelos se quede en manos de tu familia y no en unos desconocidos. Para cualquier cosa, no dudes en tocar el timbre.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Tomascontacto = true;
State.variables.notaTomas1 = true;
State.variables.corrupcionTomas = 0;
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomas',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tomas', text: 'Sergio, it\'s been so long!' },
{ speaker: 'sergio', text: 'Well, actually I\'ve been living here for a couple of years now <em>You discreetly take out your phone</em>' },
{ speaker: 'tomas', text: 'True. But lately I haven\'t been leaving the house much, because of Maite.' },
{ speaker: 'sergio', text: 'That\'s right. How is she doing?' },
{ speaker: 'tomas', text: 'You know <em>He looks at you sadly</em> She\'s not the same anymore, and it\'s a lot of work for one person' },
{ speaker: 'sergio', text: '<em>You prepare your phone for the photo</em> I\'m sorry. I... was just stopping by to say hello on behalf of my father.' },
{ speaker: 'tomas', text: 'Same to him. I\'m glad your grandparents\' apartment is staying in your family\'s hands and not going to strangers. For anything you need, don\'t hesitate to ring the doorbell.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Take the photo',
action: function() {
State.variables.Tomascontacto = true;
State.variables.notaTomas1 = true;
State.variables.corrupcionTomas = 0;
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $notaSean1 eq true>>
<span style="font-size: 1.5em;">
<<if $idioma is "es">>
Poco sabes del estudiante irlandés de arriba más que del ruido que los tres realizan todos los viernes. Encuentra el modo de entrar a su piso y acuéstate con él.
<<else>>
You know little about the Irish student upstairs other than the noise the three of them make every Friday. Find a way to get into his apartment and sleep with him.
<</if>>
</span>
<</if>>
<<if $notaSean2 eq true>>
<span style="font-size: 1.5em;">
<<if $idioma is "es">>
CONTENIDO PRÓXIMO.
<<else>>
COMING SOON.
<</if>>
</span>
<</if>><<if $idioma is "es">>
<<if $notaAdler1 eq true>>
<span style="font-size: 1.5em;">Poco sabes del estudiante alemán de arriba más que del ruido que los tres realizan todos los viernes. Encuentra el modo de entrar a su piso y recaba más información.</span>
<</if>>
<<if $notaAdler2 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO</span>
<</if>>
<<else>>
<<else>>
<<if $notaAdler1 eq true>>
<span style="font-size: 1.5em;">You know little about the German student upstairs other than the noise the three of them make every Friday. Find a way to get into their apartment and gather more information.</span>
<</if>>
<<if $notaAdler2 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT</span>
<</if>>
<</if>><<if $idioma is "es">>
<<if $notaFrancesco1 eq true>>
<span style="font-size: 1.5em;">Poco sabes del estudiante italiano de arriba más que del ruido que los tres realizan todos los viernes. Encuentra el modo de entrar a su piso y recaba más información.</span>
<</if>>
<<if $notaFrancesco3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO.</span>
<</if>>
<<else>>
<<if $notaFrancesco1 eq true>>
<span style="font-size: 1.5em;">You know little about the Italian student upstairs other than the noise that the three of them make every Friday. Find a way to enter his apartment and gather more information.</span>
<<if $notaFrancesco3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. Creo que no nos conocemos.' },
{ speaker: 'francesco', text: '<em>Habla con un ligero acento</em> En realidad si. Nos vimos cuando llegé a este piso' },
{ speaker: 'sergio', text: '<em>Sacas disimuladamente el móvil</em> Si, es verdad. No lo recordaba.'},
{ speaker: 'francesco', text: '¿Quieres algo?' },
{ speaker: 'sergio', text: 'No tranquilo <em>Preparas el móvil para la foto</em> Simplemente quería presentarme pero... bueno ya nos conocíamos... ehh, hasta luego.' },
{ speaker: 'francesco', text: '<em>Te mira extrañado</em> Adios.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Francescocontacto = true;
State.variables.notaFrancesco1 = true;
State.variables.corrupcionFrancesco = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello. I don\'t think we know each other.' },
{ speaker: 'francesco', text: '<em>He speaks with a slight accent</em> Actually yes. We saw each other when I arrived at this floor.' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone</em> Yes, that\'s right. I didn\'t remember.'},
{ speaker: 'francesco', text: 'Do you want something?' },
{ speaker: 'sergio', text: 'No, don\'t worry. <em>You prepare your phone for the photo</em> I just wanted to introduce myself but... well, we already knew each other... uhh, see you later.' },
{ speaker: 'francesco', text: '<em>He looks at you strangely</em> Goodbye.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You take the photo',
action: function() {
State.variables.Francescocontacto = true;
State.variables.notaFrancesco1 = true;
State.variables.corrupcionFrancesco = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. Creo que no nos conocemos.' },
{ speaker: 'adler', text: '<em>Habla con fuerte acento</em> Si nos conocemos. Tú eres el vecino de abajo.' },
{ speaker: 'sergio', text: '<em>Sacas disimuladamente el móvil</em> Si, lo soy.'},
{ speaker: 'adler', text: '¿Quieres algo? ¿Es por el ruido?' },
{ speaker: 'sergio', text: 'No tranquilo <em>Preparas el móvil para la foto</em> Solo quería presentarme, por si necesitabais algo alguna vez.' },
{ speaker: 'adler', text: 'Oh, gracias. Que simpáticos sois los españoles.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Adlercontacto = true;
State.variables.notaAdler1 = true;
State.variables.corrupcionAdler = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello. I don\'t think we know each other.' },
{ speaker: 'adler', text: '<em>Speaks with a strong accent</em> Yes, we know each other. You\'re the neighbor from downstairs.' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone</em> Yes, I am.'},
{ speaker: 'adler', text: 'Do you want something? Is it about the noise?' },
{ speaker: 'sergio', text: 'No, don\'t worry <em>You prepare your phone for the photo</em> I just wanted to introduce myself, in case you ever need anything.' },
{ speaker: 'adler', text: 'Oh, thank you. How nice you Spaniards are.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Take the photo',
action: function() {
State.variables.Adlercontacto = true;
State.variables.notaAdler1 = true;
State.variables.corrupcionAdler = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. Creo que no nos conocemos.' },
{ speaker: 'sean', text: '<em>Habla con fuerte acento</em> No. ¿Eres el vecino de abajo?' },
{ speaker: 'sergio', text: '<em>Sacas disimuladamente el móvil</em> Si, lo soy.'},
{ speaker: 'sean', text: 'Vale.' },
{ speaker: 'sean', text: '<em>Se genera un silencio incómodo entre ambos</em> ¿Pasa algo?' },
{ speaker: 'sergio', text: '<em>Preparas el móvil para la foto</em> Nada, solo quería presentarme. Adiós.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Seancontacto = true;
State.variables.notaSean1 = true;
State.variables.corrupcionSean = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello. I don\'t think we know each other.' },
{ speaker: 'sean', text: '<em>Speaks with a strong accent</em> No. Are you the downstairs neighbor?' },
{ speaker: 'sergio', text: '<em>You discreetly take out your phone</em> Yes, I am.' },
{ speaker: 'sean', text: 'Okay.' },
{ speaker: 'sean', text: '<em>An awkward silence falls between you</em> Is something wrong?' },
{ speaker: 'sergio', text: '<em>You get your phone ready for the photo</em> Nothing, I just wanted to introduce myself. Goodbye.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You take the photo',
action: function() {
State.variables.Seancontacto = true;
State.variables.notaSean1 = true;
State.variables.corrupcionSean = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 3º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
En un lateral del portal es donde se sitúan los buzones. Uno por cada piso. Hoy en día, que apenas se recibe correo, vale más como receptáculo para propaganda que como medio de comunicación.
<center><img src="images/localizaciones/buzones.png" width="400"></center>
<<if $notaHamza1 and not $menucogido and $HamzaVisionUsada>>
[[Abrir tu buzón|propagandakebab]]
<</if>>
<<if $notaAdrian1 and not $encuentroadrian and $AdrianVisionUsada>>
[[Acercate al buzón del 2B|revistaadrian]]
<</if>>
[[Regresar al portal|Portal]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
On one side of the entrance hall is where the mailboxes are located. One for each apartment. Nowadays, when hardly any mail is received, they serve more as receptacles for junk mail than as a means of communication.
<center><img src="images/localizaciones/buzones.png" width="400"></center>
<<if $notaHamza1 and not $menucogido and $HamzaVisionUsada>>
[[Open your mailbox|propagandakebab]]
<</if>>
<<if $notaAdrian1 and not $encuentroadrian and $AdrianVisionUsada>>
[[Approach the 2B mailbox|revistaadrian]]
<</if>>
[[Return to the entrance hall|Portal]]
<</if>><<if $idioma is "es">>
<<if setup.isDay()>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/calle.png" alt="calle" />
</div>
La calle a estas horas tiene bastante movimiento. Tu edificio está relativamente cerca del centro de la ciudad y es común ver pasar a viandantes ajetreados o simplemente paseantes. En el bajo del edificio se puede ver el restaurante de Ahmed. Más adelante, cruzando la calle, un parque de mediano tamaño.
[[Entra a tu edificio|Portal]]
[[Ir al kebab|Kebab]]
<<if $appsdesbloqueadas >= 2>>
[[Ir al parque|Parque]]
<</if>>
<<if $appsdesbloqueadas >= 3>>
[[Ir al gimnasio|Gimnasio]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/callenoche.png" alt="calle" />
</div>
La calle está oscuras, solo iluminada por un par de farolas. Hay menos viandantes que por el día, pero aún se pueden ver distintas personas de camino a sus planes nocturnos. Parece que el kebab está abierto. Al cruzar la calle, el parque municipal sigue con una mínima vida.
[[Entra a tu edificio|Portal]]
[[Ir al kebab|Kebab]]
<<if $appsdesbloqueadas >= 2>>
[[Ir al parque|Parque]]
<</if>>
<<if $appsdesbloqueadas >= 3>>
[[Ir al gimnasio|Gimnasio]]
<</if>>
<</if>>
<<else>>
<<if setup.isDay()>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/calle.png" alt="street" />
</div>
The street is quite busy at this time. Your building is relatively close to the city center and it's common to see busy passersby or simply people out for a walk. On the ground floor of the building you can see Ahmed's restaurant. Further ahead, across the street, a medium-sized park.
[[Enter your building|Portal]]
[[Go to the kebab|Kebab]]
<<if $appsdesbloqueadas >= 2>>
[[Go to the park|Parque]]
<</if>>
<<if $appsdesbloqueadas >= 3>>
[[Go to the Gym|Gimnasio]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/callenoche.png" alt="street" />
</div>
The street is dark, only lit by a couple of streetlights. There are fewer pedestrians than during the day, but you can still see different people on their way to their nighttime plans. It seems the kebab shop is open. Across the street, the municipal park still has minimal activity.
[[Enter your building|Portal]]
[[Go to the kebab|Kebab]]
<<if $appsdesbloqueadas >= 2>>
[[Go to the park|Parque]]
<</if>>
<<if $appsdesbloqueadas >= 3>>
[[Go to the Gym|Gimnasio]]
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<span class="vibrando">El móvil vibra</span> en tu bolsillo de una manera más intensa que las otras ocasiones. Sabes al momento que es Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "¡Bien hecho amigo! Has completado mi primer encargo." },
{ speaker: "sergio", text: "No ha sido complicado." },
{ speaker: "dem", text: "Esa es la actitud. Marcar a tus objetivos te permitirá acceder a sus misiones personales. En sus perfiles podrás ver información que puede ayudarte a corromperlos poco a poco y en las notas, sus misiones personales." },
{ speaker: "sergio", text: "Vale. Pero sigo sin saber cómo voy a conseguir..." },
{ speaker: "dem", text: "¡No te preocupes! Te dije que iba a ayudarte. Ahora que has cumplido tu primera misión relacionada con los poderes de tu móvil, puedes desbloquear una nueva aplicación." },
{ speaker: "sergio", text: "¿Una nueva aplicación?" },
{ speaker: "dem", text: "Piensa en ella como un nuevo poder. Además expandirás tu área de influencia. No muy lejos, solo a la calle, pero algo es algo." },
{ speaker: "sergio", text: "Vale. ¿Cuál es el siguiente paso?" },
{ speaker: "dem", text: "¿Ves el símbolo que ha aparecido de repente en tu móvil? Púlsalo y este se actualizará para que puedas escoger una nueva app." },
{ speaker: "dem", text: "Cada app te otorgará una habilidad con la que podrás superar los retos que suponen corromper a tus vecinos." },
{ speaker: "dem", text: "Además de otro encargo por mi parte, que al completar, te permitirá acceder a una aplicación nueva y a un nuevo poder." },
{ speaker: "sergio", text: "Y expandir mi territorio." },
{ speaker: "dem", text: "¡Ya lo vas pillando! Ahora sé buen chico y actualiza el móvil." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Actualizar",
action: function() {
State.variables.notaDem1 = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<<else>>
<span class="vibrando">Your phone vibrates</span> in your pocket more intensely than the other times. You immediately know it's Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Well done, friend! You've completed my first assignment." },
{ speaker: "sergio", text: "It wasn't complicated." },
{ speaker: "dem", text: "That's the attitude. Marking your targets will allow you to access their personal missions. In their profiles you'll see information that can help you corrupt them little by little, and in the notes, their personal missions." },
{ speaker: "sergio", text: "Okay. But I still don't know how I'm going to manage..." },
{ speaker: "dem", text: "Don't worry! I told you I was going to help you. Now that you've completed your first mission related to your phone's powers, you can unlock a new application." },
{ speaker: "sergio", text: "A new application?" },
{ speaker: "dem", text: "Think of it as a new power. Plus, you'll expand your area of influence. Not too far, just to the street, but it's something." },
{ speaker: "sergio", text: "Okay. What's the next step?" },
{ speaker: "dem", text: "See the symbol that suddenly appeared on your phone? Tap it and it will update so you can choose a new app." },
{ speaker: "dem", text: "Each app will grant you an ability with which you can overcome the challenges of corrupting your neighbors." },
{ speaker: "dem", text: "Plus another assignment from me, which when completed, will allow you to access a new application and a new power." },
{ speaker: "sergio", text: "And expand my territory." },
{ speaker: "dem", text: "Now you're getting it! Now be a good boy and update your phone." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Update",
action: function() {
State.variables.notaDem1 = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<div style="text-align: center; margin: 15px 0; display: flex; justify-content: center; gap: 30px;">
<span style="color: #0ff; font-size: 1.2em; font-weight: bold;">
📦 Apps instaladas: $appsdesbloqueadas
</span>
<span style="color: #f0c; font-size: 1.2em; font-weight: bold;">
⚡ Cargas disponibles: $cargasapps
</span>
</div>
<<else>>
<div style="text-align: center; margin: 15px 0; display: flex; justify-content: center; gap: 30px;">
<span style="color: #0ff; font-size: 1.2em; font-weight: bold;">
📦 Installed apps: $appsdesbloqueadas
</span>
<span style="color: #f0c; font-size: 1.2em; font-weight: bold;">
⚡ Available charges: $cargasapps
</span>
</div>
<</if>>
<div class="app-store">
<!-- App: Visión Sexual -->
<<if $appVisionSexual>>
<div class="app-store-item app-installed" data-lang="<<print $idioma>>">
<div class="app-store-icon">👁️🗨️</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Visión Sexual<<else>>Sexual Vision<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Desnuda los cuerpos y analiza los deseos y fetiches ocultos.<<else>>Strips bodies bare and analyzes hidden desires and fetishes.<</if>>
</div>
</div>
</div>
<<else>>
<div class="app-store-item" onclick="window.appStore.showAppDetail('visionSexual')">
<div class="app-store-icon">👁️🗨️</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Visión Sexual<<else>>Sexual Vision<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Desnuda los cuerpos y analiza los deseos y fetiches ocultos.<<else>>Strips bodies bare and analyzes hidden desires and fetishes.<</if>>
</div>
</div>
</div>
<</if>>
<!-- App: Excitación a Distancia -->
<<if $appExcitacionDistancia>>
<div class="app-store-item app-installed" data-lang="<<print $idioma>>">
<div class="app-store-icon">📡</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Excitación a Distancia<<else>>Remote Arousal<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Controla la excitación de tus objetivos a distancia.<<else>>Control your targets' arousal remotely.<</if>>
</div>
</div>
</div>
<<else>>
<div class="app-store-item" onclick="window.appStore.showAppDetail('excitacionDistancia')">
<div class="app-store-icon">📡</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Excitación a Distancia<<else>>Remote Arousal<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Controla la excitación de tus objetivos a distancia.<<else>>Control your targets' arousal remotely.<</if>>
</div>
</div>
</div>
<</if>>
<!-- App: Semblante Artificial -->
<<if $appSemblanteArtificial>>
<div class="app-store-item app-installed" data-lang="<<print $idioma>>">
<div class="app-store-icon">🎭</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Semblante Artificial<<else>>Artificial Appearance<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Modifica tu apariencia física para adaptarte a las preferencias de tus objetivos.<<else>>Modify your physical appearance to match your targets' preferences.<</if>>
</div>
</div>
</div>
<<else>>
<div class="app-store-item" onclick="window.appStore.showAppDetail('semblanteArtificial')">
<div class="app-store-icon">🎭</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Semblante Artificial<<else>>Artificial Appearance<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Modifica tu apariencia física para adaptarte a las preferencias de tus objetivos.<<else>>Modify your physical appearance to match your targets' preferences.<</if>>
</div>
</div>
</div>
<</if>>
<!-- App: Forma Fantasmal -->
<<if $appFormaFantasmal>>
<div class="app-store-item app-installed" data-lang="<<print $idioma>>">
<div class="app-store-icon">👻</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Forma Fantasmal<<else>>Ghost Form<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Vuelve invisible tu presencia. Atraviesa puertas cerradas y accede a zonas privadas sin ser detectado.<<else>>Make your presence invisible. Pass through locked doors and access private areas without being detected.<</if>>
</div>
</div>
</div>
<<else>>
<div class="app-store-item" onclick="window.appStore.showAppDetail('formaFantasmal')">
<div class="app-store-icon">👻</div>
<div class="app-store-info">
<div class="app-store-name"><<if $idioma is "es">>Forma Fantasmal<<else>>Ghost Form<</if>></div>
<div class="app-store-description">
<<if $idioma is "es">>Vuelve invisible tu presencia. Atraviesa puertas cerradas y accede a zonas privadas sin ser detectado.<<else>>Make your presence invisible. Pass through locked doors and access private areas without being detected.<</if>>
</div>
</div>
</div>
<</if>>
<!-- Mensaje si todas las apps están instaladas -->
<<if $appVisionSexual && $appExcitacionDistancia && $appSemblanteArtificial && $appFormaFantasmal>>
<div style="text-align: center; margin-top: 30px; padding: 20px; border: 1px solid #333; border-radius: 10px;">
<div style="font-size: 2em; margin-bottom: 10px;">🔒</div>
<p style="color: #aaa;">
<<if $idioma is "es">>
Tienes todas las aplicaciones disponibles por el momento. Dem te avisará cuando haya algo nuevo.
<<else>>
You have all currently available applications. Dem will let you know when something new arrives.
<</if>>
</p>
</div>
<</if>>
<div style="text-align: center; margin-top: 20px;">
<<if $idioma is "es">>
[[Volver|habitacionsergio]]
<<else>>
[[Go back|habitacionsergio]]
<</if>>
</div>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<if $gameHours >= 8 and $gameHours < 23>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
<<if visited() is 1>>
Notas de nuevo el <span class="vibrando">móvil</span> vibrando. Es una llamada de Dem...
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "¿Qué pasa ahora dem?" },
{ speaker: "dem", text: "Bonito lugar. Muy cerca de tu casa ¿no?" },
{ speaker: "sergio", text: "Si bueno. Encima de nosotros están las viviendas." },
{ speaker: "dem", text: "¿Entonces podemos decir que se encuentra en el edificio?" },
{ speaker: "sergio", text: "Bueno, técnicamente..." },
{ speaker: "dem", text: "Ya sabes lo que eso significa. Nuevos objetivos. ¿Quiénes son los dueños?" },
{ speaker: "sergio", text: "Un par de hermanos de Turquía. Ahmed es quien cocina y Hamza el repartidor." },
{ speaker: "dem", text: "¡Anatolia... ¡Que recuerdos! Pues ya sabes lo que tienes que hacer." },
{ speaker: "sergio", text: "Si, lo sé. Tengo que corromperlos." }
],
options: [
[], [], [], [], [], [], [], [],
[
{
text: "Cuelgas",
action: function() {
Engine.play("Kebab");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
El kebab de Ahmed es un punto de referencia en tu calle. Sirven comida turca de calidad a precios más que razonables, y la cerveza siempre está muy fría. El aroma a especias y carne cocinada inunda el local.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>>\
<<if _currentTime >= 11 and _currentTime < 23>>\
<<if setup.hasTemporalMark('Ahmed', 'excitado')>>\
Ahmed desapareció hace un momento tras una puerta que pone "Privado". [[Ir tras Ahmed|Puertaprivada]]
<<else>>\
Ahmed está detrás del mostrador atendiendo a los clientes. [[Hablar con Ahmed|ConversacionAhmedKebab]]
<</if>>\
<</if>>\
<<if _currentTime >= 9 and _currentTime < 23>>\
<<if setup.hasTemporalMark('Hamza', 'excitado')>>\
Hamza desapareció hace un momento tras una puerta que pone "Privado". [[Ir tras Hamza|Puertaprivada]]
<<else>>\
Hamza está ayudando en el local. [[Hablar con Hamza|ConversacionHamzaKebab]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 21)>>\
<<set _taoExcitedOrEjaculated = setup.hasTemporalMark('Tao', 'excitado')>>\
<<if setup.hasTemporalMark('Juanan', 'excitado')>>\
Juanan fue al baño hace un momento. [[Ir tras Juanan|Bañokebab]]
<<if _taoExcitedOrEjaculated>>\
Tao salió del local hace un momento.
<<else>>\
Tao está esperando en una mesa del fondo.
<</if>>\
<<elseif _taoExcitedOrEjaculated>>\
Tao y Juanan salieron del local hace un momento. [[Ir tras ellos|Exterior]]
<<else>>\
Juanan y Tao están tomando unas cervezas juntos en una mesa del fondo. [[Acercarte a ellos|ConversacionJuananTaoKebab]]
<</if>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17.5 and _currentTime < 21)>>\
<<if setup.hasTemporalMark('Juanan', 'excitado')>>\
Juanan fue al baño hace un momento. [[Ir tras Juanan|Bañokebab]]
<<else>>\
Juanan está en la barra tomándose unas cervezas solo. [[Hablar con Juanan|ConversacionJuananKebab]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 4 and _currentTime >= 18 and _currentTime < 20) or (_dayOfWeek == 5 and _currentTime >= 20 and _currentTime < 24) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 20)>>\
<<if setup.hasTemporalMark('Ernesto', 'excitado')>>\
Ernesto fue al baño hace un momento. [[Ir tras Ernesto|Bañokebab]]
<<else>>\
Ernesto está en la barra tomándose unas cervezas después del trabajo. [[Hablar con Ernesto|ConversacionErnestoKebab]]
<</if>>\
<</if>>\
<<if (_dayOfWeek == 1 or _dayOfWeek == 3) and _currentTime >= 15 and _currentTime < 17>>\
<<if setup.hasTemporalMark('Adler', 'excitado')>>\
Adler fue al baño hace un momento. [[Ir tras Adler|Bañokebab]]
<<else>>\
Adler está en una mesa apartada estudiando con un café. [[Hablar con Adler|ConversacionAdlerKebab]]
<</if>>\
<<elseif _dayOfWeek == 6 and _currentTime >= 15 and _currentTime < 16>>\
<<if setup.hasTemporalMark('Adler', 'excitado')>>\
Adler fue al baño hace un momento. [[Ir tras Adler|Bañokebab]]
<<else>>\
Adler está en una mesa apartada estudiando con un café. [[Hablar con Adler|ConversacionAdlerKebab]]
<</if>>\
<<elseif _dayOfWeek == 7 and _currentTime >= 17 and _currentTime < 18>>\
<<if setup.hasTemporalMark('Adler', 'excitado')>>\
Adler fue al baño hace un momento. [[Ir tras Adler|Bañokebab]]
<<else>>\
Adler está en una mesa apartada con un café. [[Hablar con Adler|ConversacionAdlerKebab]]
<</if>>\
<</if>>
[[Ir hacia la puerta privada|Puertaprivada]]
[[Ir al baño|Bañokebab]]
[[Salir al exterior|Exterior]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebabcerrado.png" alt="Kebab cerrado" />
</div>
La puerta del kebab no se puede abrir y la luz está apagada. El kebab está cerrado.
<span style="color: #888; font-style: italic;">(Abre de 8:00 a 23:00)</span>
[[Salir al exterior|Exterior]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<if $gameHours >= 8 and $gameHours < 23>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
<<if visited() is 1>>
You feel your <span class="vibrando">phone</span> vibrating again. It's a call from Dem...
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "What's up now, Dem?" },
{ speaker: "dem", text: "Nice place. Very close to your home, isn't it?" },
{ speaker: "sergio", text: "Well, yeah. The residential apartments are right above us." },
{ speaker: "dem", text: "So we can say it's in the building?" },
{ speaker: "sergio", text: "Well, technically..." },
{ speaker: "dem", text: "You know what that means. New targets. Who are the owners?" },
{ speaker: "sergio", text: "A couple of brothers from Turkey. Ahmed is the cook and Hamza is the delivery guy." },
{ speaker: "dem", text: "Anatolia... what memories! Well, you know what you have to do." },
{ speaker: "sergio", text: "Yes, I know. I have to corrupt them." }
],
options: [
[], [], [], [], [], [], [], [],
[
{
text: "Hang up",
action: function() {
Engine.play("Kebab");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
Ahmed's kebab shop is a landmark on your street. They serve quality Turkish food at very reasonable prices, and the beer is always ice cold. The aroma of spices and cooked meat fills the place.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>>\
<<if _currentTime >= 11 and _currentTime < 23>>\
<<if setup.hasTemporalMark('Ahmed', 'excitado')>>\
Ahmed disappeared behind a door marked "Private" a moment ago. [[Go after Ahmed|Puertaprivada]]
<<else>>\
Ahmed is behind the counter serving customers. [[Talk to Ahmed|ConversacionAhmedKebab]]
<</if>>\
<</if>>\
<<if _currentTime >= 9 and _currentTime < 23>>\
<<if setup.hasTemporalMark('Hamza', 'excitado')>>\
Hamza disappeared behind a door marked "Private" a moment ago. [[Go after Hamza|Puertaprivada]]
<<else>>\
Hamza is helping around the place. [[Talk to Hamza|ConversacionHamzaKebab]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 21)>>\
<<set _taoExcitedOrEjaculated = setup.hasTemporalMark('Tao', 'excitado')>>\
<<if setup.hasTemporalMark('Juanan', 'excitado')>>\
Juanan went to the bathroom a moment ago. [[Go after Juanan|Bañokebab]]
<<if _taoExcitedOrEjaculated>>\
Tao left the place a moment ago.
<<else>>\
Tao is waiting at a table in the back.
<</if>>\
<<elseif _taoExcitedOrEjaculated>>\
Tao and Juanan left the place a moment ago. [[Go after them|Exterior]]
<<else>>\
Juanan and Tao are having some beers together at a table in the back. [[Approach them|ConversacionJuananTaoKebab]]
<</if>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17.5 and _currentTime < 21)>>\
<<if setup.hasTemporalMark('Juanan', 'excitado')>>\
Juanan went to the bathroom a moment ago. [[Go after Juanan|Bañokebab]]
<<else>>\
Juanan is at the bar having some beers alone. [[Talk to Juanan|ConversacionJuananKebab]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 4 and _currentTime >= 18 and _currentTime < 20) or (_dayOfWeek == 5 and _currentTime >= 20 and _currentTime < 24) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 20)>>\
<<if setup.hasTemporalMark('Ernesto', 'excitado')>>\
Ernesto went to the bathroom a moment ago. [[Go after Ernesto|Bañokebab]]
<<else>>\
Ernesto is at the bar having some beers after work. [[Talk to Ernesto|ConversacionErnestoKebab]]
<</if>>\
<</if>>\
<<if (_dayOfWeek == 1 or _dayOfWeek == 3) and _currentTime >= 15 and _currentTime < 17>>\
<<if setup.hasTemporalMark('Adler', 'excitado')>>\
Adler went to the bathroom a moment ago. [[Go after Adler|Bañokebab]]
<<else>>\
Adler is at a secluded table studying with a coffee. [[Talk to Adler|ConversacionAdlerKebab]]
<</if>>\
<<elseif _dayOfWeek == 6 and _currentTime >= 15 and _currentTime < 16>>\
<<if setup.hasTemporalMark('Adler', 'excitado')>>\
Adler went to the bathroom a moment ago. [[Go after Adler|Bañokebab]]
<<else>>\
Adler is at a secluded table studying with a beer. [[Talk to Adler|ConversacionAdlerKebab]]
<</if>>\
<<elseif _dayOfWeek == 7 and _currentTime >= 17 and _currentTime < 18>>\
<<if setup.hasTemporalMark('Adler', 'excitado')>>\
Adler went to the bathroom a moment ago. [[Go after Adler|Bañokebab]]
<<else>>\
Adler is at a secluded table with a coffee. [[Talk to Adler|ConversacionAdlerKebab]]
<</if>>\
<</if>>
[[Head towards the private door|Puertaprivada]]
[[Go to toilet|Bañokebab]]
[[Go outside|Exterior]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebabcerrado.png" alt="Kebab closed" />
</div>
The kebab shop door won't open and the light is off. The kebab is closed.
<span style="color: #888; font-style: italic;">(Opens from 8:00 AM to 11:00 PM)</span>
[[Go outside|Exterior]]
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/parquenoche.jpg" alt="Parque de noche" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
<</if>>
El parque es un espacio verde tranquilo en el barrio. Hay bancos dispersos bajo los árboles, un pequeño parque infantil y senderos para caminar o correr. Es un lugar de encuentro para los vecinos.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 6.5 and _currentTime < 7.5)>>\
<<if setup.hasTemporalMark('Adrian', 'excitado')>>\
Adrian se alejó corriendo hacia una zona más apartada del parque. [[Ir tras Adrian|AdrianExcitadoParque]]
<<elseif setup.hasTemporalMark('Adrian', 'eyaculado')>>\
Adrian acaba de marcharse del parque.
<<else>>\
Adrian está haciendo su rutina matinal de running. [[Hablar con Adrian|ConversacionAdrianParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 8)>>\
<<if setup.hasTemporalMark('Damian', 'excitado')>>\
Damian se alejó hacia unos arbustos apartados. [[Ir tras Damian|DamianExcitadoParque]]
<<elseif setup.hasTemporalMark('Damian', 'eyaculado')>>\
Damian acaba de marcharse del parque.
<<else>>\
Damian está entrenando para mantenerse en forma. [[Hablar con Damian|ConversacionDamianParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 8 and _currentTime < 9)>>\
<<if setup.hasTemporalMark('Damian', 'excitado')>>\
Damian se alejó hacia unos arbustos apartados. [[Ir tras Damian|DamianExcitadoParque]]
<<elseif setup.hasTemporalMark('Damian', 'eyaculado')>>\
Damian acaba de marcharse del parque.
<<else>>\
Damian está haciendo su rutina de running. [[Hablar con Damian|ConversacionDamianParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9.5 and _currentTime < 11)>>\
<<if setup.hasTemporalMark('Rafa', 'excitado')>>\
Rafa se dirigió hacia los baños públicos del parque. [[Ir tras Rafa|RafaExcitadoParque]]
<<elseif setup.hasTemporalMark('Rafa', 'eyaculado')>>\
Rafa acaba de marcharse del parque.
<<else>>\
Rafa está haciendo flexiones y dominadas, entrenando intensamente. [[Hablar con Rafa|ConversacionRafaParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 14 and _currentTime < 18)>>\
<<if setup.hasTemporalMark('Ernesto', 'excitado')>>\
Ernesto se alejó hacia una zona más tranquila del parque. [[Ir tras Ernesto|Ernestoexcitadoparque]]
<<elseif setup.hasTemporalMark('Ernesto', 'eyaculado')>>\
Ernesto acaba de marcharse del parque.
<<else>>\
Ernesto está dando un paseo tranquilo. [[Hablar con Ernesto|ConversacionErnestoParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 15 and _currentTime < 18)>>\
<<set _taoExcitedOrEjaculated = setup.hasTemporalMark('Tao', 'excitado') or setup.hasTemporalMark('Tao', 'eyaculado')>>\
<<if setup.hasTemporalMark('Juanan', 'excitado')>>\
Juanan se alejó hacia una zona apartada del parque. [[Ir tras Juanan|JuananExcitadoParque]]
<<if _taoExcitedOrEjaculated>>\
Tao se marchó del parque hace un momento.
<<else>>\
Tao está esperando en un banco del parque.
<</if>>\
<<elseif setup.hasTemporalMark('Juanan', 'eyaculado') and _taoExcitedOrEjaculated>>\
Juanan y Tao acaban de marcharse del parque.
<<elseif setup.hasTemporalMark('Juanan', 'eyaculado')>>\
Juanan acaba de marcharse del parque.
<<if _taoExcitedOrEjaculated>>\
Tao se marchó con él.
<<else>>\
Tao está esperando en un banco del parque.
<</if>>\
<<elseif _taoExcitedOrEjaculated>>\
Juanan y Tao se marcharon del parque hace un momento.
<<else>>\
Juanan y Tao están pasando tiempo juntos en el parque. [[Acercarte a ellos|ConversacionJuananTaoParque]]
<</if>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17 and _currentTime < 19)>>\
<<if setup.hasTemporalMark('Tao', 'excitado')>>\
Tao se despidió de sus amigos y se marchó del parque.
<<elseif setup.hasTemporalMark('Tao', 'eyaculado')>>\
Tao acaba de marcharse del parque.
<<else>>\
Tao está jugando con sus amigos del instituto. [[Hablar con Tao|ConversacionTaoParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 16 and _currentTime < 18)>>\
<<if setup.hasTemporalMark('Leo', 'excitado')>>\
Leo se levantó del banco y se alejó hacia los baños. [[Ir tras Leo|LeoExcitadoParque]]
<<elseif setup.hasTemporalMark('Leo', 'eyaculado')>>\
Leo acaba de marcharse del parque.
<<else>>\
Leo está sentado en un banco mirando su móvil. [[Hablar con Leo|ConversacionLeoParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 16 and _currentTime < 18)>>\
<<if setup.shouldTomasAppearOutside()>>\
<<if setup.hasTemporalMark('Tomas', 'excitado')>>\
Tomás se alejó hacia una zona más apartada. [[Ir tras Tomás|TomasExcitadoParque]]
<<elseif setup.hasTemporalMark('Tomas', 'eyaculado')>>\
Tomás acaba de marcharse del parque.
<<else>>\
Tomás está paseando tranquilamente por los senderos. [[Hablar con Tomás|ConversacionTomasParque]]
<</if>>\
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 21.5)>>\
<<if setup.hasTemporalMark('Alex', 'excitado')>>\
Alex se alejó de sus amigos hacia los baños públicos. [[Ir tras Alex|AlexExcitadoParque]]
<<elseif setup.hasTemporalMark('Alex', 'eyaculado')>>\
Alex acaba de marcharse del parque.
<<else>>\
Alex está con sus amigos fumando porros y bebiendo. [[Acercarte a Alex|ConversacionAlexParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and (_currentTime >= 21.5 or _currentTime < 1))>>\
<<if setup.hasTemporalMark('Alex', 'excitado')>>\
Alex se alejó tambaleándose hacia una zona mas apartada. [[Ir tras Alex|AlexExcitadoParque]]
<<elseif setup.hasTemporalMark('Alex', 'eyaculado')>>\
Alex acaba de marcharse del parque tambaleándose.
<<else>>\
Alex está de botellón con sus amigos, bastante colocado. [[Acercarte a Alex|ConversacionAlexParque]]
<</if>>\
<</if>>
[[Salir del parque|Exterior]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/parquenoche.jpg" alt="Park at night" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
<</if>>
The park is a quiet green space in the neighborhood. There are benches scattered under the trees, a small playground, and paths for walking or jogging. It's a meeting place for neighbors.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 6.5 and _currentTime < 7.5)>>\
<<if setup.hasTemporalMark('Adrian', 'excitado')>>\
Adrian ran off towards a more secluded area of the park. [[Go after Adrian|AdrianExcitadoParque]]
<<elseif setup.hasTemporalMark('Adrian', 'eyaculado')>>\
Adrian just left the park.
<<else>>\
Adrian is doing his morning running routine. [[Talk to Adrian|ConversacionAdrianParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 8)>>\
<<if setup.hasTemporalMark('Damian', 'excitado')>>\
Damian headed towards some secluded bushes. [[Go after Damian|DamianExcitadoParque]]
<<elseif setup.hasTemporalMark('Damian', 'eyaculado')>>\
Damian just left the park.
<<else>>\
Damian is jogging, training to stay in shape. [[Talk to Damian|ConversacionDamianParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 8 and _currentTime < 9)>>\
<<if setup.hasTemporalMark('Damian', 'excitado')>>\
Damian headed towards some secluded bushes. [[Go after Damian|DamianExcitadoParque]]
<<elseif setup.hasTemporalMark('Damian', 'eyaculado')>>\
Damian just left the park.
<<else>>\
Damian is doing his running routine. [[Talk to Damian|ConversacionDamianParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9.5 and _currentTime < 11)>>\
<<if setup.hasTemporalMark('Rafa', 'excitado')>>\
Rafa headed towards the park's public restrooms. [[Go after Rafa|RafaExcitadoParque]]
<<elseif setup.hasTemporalMark('Rafa', 'eyaculado')>>\
Rafa just left the park.
<<else>>\
Rafa is doing push-ups and pull-ups, training intensely. [[Talk to Rafa|ConversacionRafaParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 14 and _currentTime < 18)>>\
<<if setup.hasTemporalMark('Ernesto', 'excitado')>>\
Ernesto walked away towards a quieter area of the park. [[Go after Ernesto|Ernestoexcitadoparque]]
<<elseif setup.hasTemporalMark('Ernesto', 'eyaculado')>>\
Ernesto just left the park.
<<else>>\
Ernesto is taking a calm walk. [[Talk to Ernesto|ConversacionErnestoParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 15 and _currentTime < 18)>>\
<<set _taoExcitedOrEjaculated = setup.hasTemporalMark('Tao', 'excitado') or setup.hasTemporalMark('Tao', 'eyaculado')>>\
<<if setup.hasTemporalMark('Juanan', 'excitado')>>\
Juanan walked away to a secluded area of the park. [[Go after Juanan|JuananExcitadoParque]]
<<if _taoExcitedOrEjaculated>>\
Tao left the park a moment ago.
<<else>>\
Tao is waiting on a park bench.
<</if>>\
<<elseif setup.hasTemporalMark('Juanan', 'eyaculado') and _taoExcitedOrEjaculated>>\
Juanan and Tao just left the park.
<<elseif setup.hasTemporalMark('Juanan', 'eyaculado')>>\
Juanan just left the park.
<<if _taoExcitedOrEjaculated>>\
Tao left with him.
<<else>>\
Tao is waiting on a park bench.
<</if>>\
<<elseif _taoExcitedOrEjaculated>>\
Juanan and Tao left the park a moment ago.
<<else>>\
Juanan and Tao are spending time together at the park. [[Approach them|ConversacionJuananTaoParque]]
<</if>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17 and _currentTime < 19)>>\
<<if setup.hasTemporalMark('Tao', 'excitado')>>\
Tao said goodbye to his friends and left the park.
<<elseif setup.hasTemporalMark('Tao', 'eyaculado')>>\
Tao just left the park.
<<else>>\
Tao is playing with his high school friends. [[Talk to Tao|ConversacionTaoParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 16 and _currentTime < 18)>>\
<<if setup.hasTemporalMark('Leo', 'excitado')>>\
Leo got up from the bench and headed towards the restrooms. [[Go after Leo|LeoExcitadoParque]]
<<elseif setup.hasTemporalMark('Leo', 'eyaculado')>>\
Leo just left the park.
<<else>>\
Leo is sitting on a bench looking at his phone. [[Talk to Leo|ConversacionLeoParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 16 and _currentTime < 18)>>\
<<if setup.shouldTomasAppearOutside()>>\
<<if setup.hasTemporalMark('Tomas', 'excitado')>>\
Tomás walked away to a more secluded area. [[Go after Tomás|TomasExcitadoParque]]
<<elseif setup.hasTemporalMark('Tomas', 'eyaculado')>>\
Tomás just left the park.
<<else>>\
Tomás is walking calmly along the paths. [[Talk to Tomás|ConversacionTomasParque]]
<</if>>\
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 21.5)>>\
<<if setup.hasTemporalMark('Alex', 'excitado')>>\
Alex walked away from his friends towards the public restrooms. [[Go after Alex|AlexExcitadoParque]]
<<elseif setup.hasTemporalMark('Alex', 'eyaculado')>>\
Alex just left the park.
<<else>>\
Alex is with his friends smoking weed and drinking. [[Approach Alex|ConversacionAlexParque]]
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and (_currentTime >= 21.5 or _currentTime < 1))>>\
<<if setup.hasTemporalMark('Alex', 'excitado')>>\
Alex staggered away towards a more secluded area. [[Go after Alex|AlexExcitadoParque]]
<<elseif setup.hasTemporalMark('Alex', 'eyaculado')>>\
Alex just left the park staggering.
<<else>>\
Alex is drinking with his friends, pretty high. [[Approach Alex|ConversacionAlexParque]]
<</if>>\
<</if>>
[[Leave the park|Exterior]]
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Ernesto se encuentra tomándose una cerveza, al verte acercar, te sonríe.
<center><img src="images/Ernesto/ernestokebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var ernestoOptions = [];
// Opción para hablar sobre lo sucedido (notaErnesto2)
if (State.variables.notaErnesto2 === true) {
ernestoOptions.push({ text: 'Hablar sobre lo sucedido', action: 'GOTO:Recomendaciondepsicologa' });
}
if (State.variables.Ernestocontacto === false) {
ernestoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Ernestotomafoto' });
}
ernestoOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Ernesto.' },
{ speaker: 'ernesto', text: 'Hola Sergio ¿Vienes a pedir algo?' }
],
options: [
[],
ernestoOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'ernesto', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
Ernesto is having a beer, when he sees you approaching, he smiles at you.
<center><img src="images/Ernesto/ernestokebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var ernestoOptions = [];
// Option to talk about what happened (notaErnesto2)
if (State.variables.notaErnesto2 === true) {
ernestoOptions.push({ text: 'Talk about what happened', action: 'GOTO:Recomendaciondepsicologa' });
}
if (State.variables.Ernestocontacto === false) {
ernestoOptions.push({ text: 'You try to take a photo', action: 'GOTO:Ernestotomafoto' });
}
ernestoOptions.push({ text: 'You have a dull and empty chat', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello Ernesto.' },
{ speaker: 'ernesto', text: 'Hello Sergio. Are you here to order something?' }
],
options: [
[],
ernestoOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'ernesto', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Hamza'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Tras la barra, Hamza remolonea a la espera de tener un pedido para entregar a domicilio.
<center><img src="images/Hamza/hamzakebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var hamzaOptions = [];
if (State.variables.Hamzacontacto === false) {
hamzaOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Hamzatomafoto' });
}
hamzaOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: 'Buenos días. Si quieres un pedido, habla con mi hermano' }
],
options: [
hamzaOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'hamza', text: '¿Te conozco? ¿Qué quieres?' }
],
options: [
[],
[
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
Behind the counter, Hamza is hanging around waiting for a delivery order.
<center><img src="images/Hamza/hamzakebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var hamzaOptions = [];
if (State.variables.Hamzacontacto === false) {
hamzaOptions.push({ text: 'Try to take a photo', action: 'GOTO:Hamzatomafoto' });
}
hamzaOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: 'Good morning. If you want an order, talk to my brother' }
],
options: [
hamzaOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'hamza', text: 'Do I know you? What do you want?' }
],
options: [
[],
[
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ahmed'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Tras la barra, Ahmed se encuentra atareado preparando un pedido, que deja un momento para sonreírte al acercarte.
<center><img src="images/Ahmed/ahmedbarra.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var ahmedOptions = [];
if (State.variables.Ahmedcontacto === false) {
ahmedOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Ahmedtomafoto' });
}
if (State.variables.notaAhmed1 === true && !State.variables.conversacionAhmed) {
ahmedOptions.push({ text: 'Intentas sacar información a Ahmed', action: 'GOTO:investAhmed' });
}
ahmedOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días Ahmed.' },
{ speaker: 'ahmed', text: 'Buenos días, ¿qué te sirvo?' }
],
options: [
[],
ahmedOptions
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Sanidad" && $notaAhmed1>>
<!-- SEMBLANTE DE INSPECTOR DE SANIDAD - Con motivo -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días, Inspector de Sanidad.' },
{ speaker: 'ahmed', text: '¡Inspector! ¿En qué puedo ayudarle?' }
],
options: [
[],
[
{ text: 'Realizar una inspección sanitaria', action: 'GOTO:Ahmedyinsp' },
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Sanidad" && !$notaAhmed1>>
<!-- SEMBLANTE DE INSPECTOR DE SANIDAD - Sin motivo -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Es mejor que no me acerque con este semblante. No tengo ningún motivo para hacerlo.</em>' }
],
options: [
[
{ text: 'Te marchas del kebab', action: 'GOTO:Exterior' }
]
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Hacienda" && $notaAhmed2>>
<!-- SEMBLANTE DE INSPECTOR DE HACIENDA - Con motivo -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días. Inspector de Hacienda.' },
{ speaker: 'ahmed', text: '¿Inspector de Hacienda? ¿Qué necesita?' }
],
options: [
[],
[
{ text: 'Realizar una inspección fiscal', action: 'GOTO:inspeccionhacienda' },
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Hacienda" && !$notaAhmed2>>
<!-- SEMBLANTE DE INSPECTOR DE HACIENDA - Sin motivo -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Es mejor que no me acerque con este semblante. No tengo ningún motivo para hacerlo.</em>' }
],
options: [
[
{ text: 'Te marchas del kebab', action: 'GOTO:Exterior' }
]
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'ahmed', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
Behind the counter, Ahmed is busy preparing an order, which he sets aside for a moment to smile at you as you approach.
<center><img src="images/Ahmed/ahmedbarra.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var ahmedOptions = [];
if (State.variables.Ahmedcontacto === false) {
ahmedOptions.push({ text: 'You try to take a photo', action: 'GOTO:Ahmedtomafoto' });
}
if (State.variables.notaAhmed1 === true && !State.variables.conversacionAhmed) {
ahmedOptions.push({ text: 'You try to get information out of Ahmed', action: 'GOTO:investAhmed' });
}
ahmedOptions.push({ text: 'You have a dull and empty chat', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning Ahmed.' },
{ speaker: 'ahmed', text: 'Good morning, what can I get you?' }
],
options: [
[],
ahmedOptions
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Sanidad" && $notaAhmed1>>
<!-- HEALTH INSPECTOR SEMBLANTE - With reason -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning, Health Inspector.' },
{ speaker: 'ahmed', text: 'Inspector! How can I help you?' }
],
options: [
[],
[
{ text: 'Conduct a health inspection', action: 'GOTO:Ahmedyinsp' },
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Sanidad" && !$notaAhmed1>>
<!-- HEALTH INSPECTOR SEMBLANTE - Without reason -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Better not approach with this appearance. I have no reason to do so.</em>' }
],
options: [
[
{ text: 'You leave the kebab shop', action: 'GOTO:Exterior' }
]
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Hacienda" && $notaAhmed2>>
<!-- TAX INSPECTOR SEMBLANTE - With reason -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning. Tax Inspector.' },
{ speaker: 'ahmed', text: 'Tax Inspector? What do you need?' }
],
options: [
[],
[
{ text: 'Conduct a tax inspection', action: 'GOTO:inspeccionhacienda' },
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name is "Inspector de Hacienda" && !$notaAhmed2>>
<!-- TAX INSPECTOR SEMBLANTE - Without reason -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Better not approach with this appearance. I have no reason to do so.</em>' }
],
options: [
[
{ text: 'You leave the kebab shop', action: 'GOTO:Exterior' }
]
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'ahmed', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<set $taoExcitadoDestino to "TaoexcitadoKebab">>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Sentados alrededor de una mesa, padre e hijo conversan mientras devoran sus durums.
<center><img src="images/Tao/taoyjuanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var taoyjuananOptions = [];
if (State.variables.notaTao1 === true) {
taoyjuananOptions.push({ text: 'Mostrar imágenes sexuales a Tao', action: 'GOTO:Taonoquiereverfotos' });
}
taoyjuananOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Que tal familia?, ¿Cenando?' },
{ speaker: 'juanan', text: 'Disfrutando de un poco de comida exotica. Para ir mejor al baño.' },
{ speaker: 'tao', text: 'Papa por favor...<em> Mira hacia abajo, avergonzado</em>' }
],
options: [
[],
[],
taoyjuananOptions
]
});
// IMPORTANTE: Registrar manualmente ambos personajes en el contexto
setup.registerCharactersInLocation(['Juanan', 'Tao']);
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconocen -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'juanan', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
// IMPORTANTE: Registrar manualmente ambos personajes en el contexto
setup.registerCharactersInLocation(['Juanan', 'Tao']);
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
Sitting around a table, father and son chat while devouring their durums.
<center><img src="images/Tao/taoyjuanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var taoyjuananOptions = [];
if (State.variables.notaTao1 === true) {
taoyjuananOptions.push({ text: 'Show sexual images to Tao', action: 'GOTO:Taonoquiereverfotos' });
}
taoyjuananOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'How\'s it going family? Having dinner?' },
{ speaker: 'juanan', text: 'Enjoying some exotic food. To help with digestion.' },
{ speaker: 'tao', text: 'Dad, please...<em> Looks down, embarrassed</em>' }
],
options: [
[],
[],
taoyjuananOptions
]
});
// IMPORTANTE: Registrar manualmente ambos personajes en el contexto
setup.registerCharactersInLocation(['Juanan', 'Tao']);
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'juanan', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
// IMPORTANTE: Registrar manualmente ambos personajes en el contexto
setup.registerCharactersInLocation(['Juanan', 'Tao']);
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ahmed, quiero pedir algo para comer' },
{ speaker: 'ahmed', text: 'Claro, ¿Qué te apetece?.' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Quiero algo diferente, ¿Qué me recomiendas?' },
{ speaker: 'ahmed', text: 'Bueno, siempre te pides un durum. Podemos cambiar con un kebab de adana' },
{ speaker: 'sergio', text: 'No sé qué es eso. <em>Preparas el móvil para la foto</em>' },
{ speaker: 'ahmed', text: 'Es carne picada y especiada que se forma alrededor de un pincho de metal y se asa a la brasa.' },
{ speaker: 'sergio', text: 'Tiene buena pinta. Dame eso' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Ahmedcontacto = true;
State.variables.notaAhmed1 = true;
State.variables.corrupcionAhmed = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Kebab';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ahmed, I want to order something to eat' },
{ speaker: 'ahmed', text: 'Sure, what would you like?' },
{ speaker: 'sergio', text: '<em>You discreetly take your phone out of your pocket</em> I want something different, what do you recommend?' },
{ speaker: 'ahmed', text: 'Well, you always order a durum. We can try an adana kebab' },
{ speaker: 'sergio', text: 'I don\'t know what that is. <em>You prepare your phone for the photo</em>' },
{ speaker: 'ahmed', text: 'It\'s spiced ground meat formed around a metal skewer and grilled over charcoal.' },
{ speaker: 'sergio', text: 'Sounds good. I\'ll have that' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Take the photo',
action: function() {
State.variables.Ahmedcontacto = true;
State.variables.notaAhmed1 = true;
State.variables.corrupcionAhmed = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
En un lateral del kebab se encuentra Adler. Tiene ante si varios platos de comida y una buena cerveza.
<center><img src="images/Adler/adlerkebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var adlerOptions = [];
if (State.variables.Adlercontacto === false) {
adlerOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Adlertomafoto' });
}
adlerOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Tiene todo muy buena pinta...' },
{ speaker: 'adler', text: '¿Quieres un poco?' }
],
options: [
[],
adlerOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'adler', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Open kebab shop" />
</div>
Adler is sitting to one side of the kebab shop. He has several plates of food and a good beer in front of him.
<center><img src="images/Adler/adlerkebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var adlerOptions = [];
if (State.variables.Adlercontacto === false) {
adlerOptions.push({ text: 'You try to take a photo', action: 'GOTO:Adlertomafoto' });
}
adlerOptions.push({ text: 'You have a bland and empty chat', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Everything looks very good...' },
{ speaker: 'adler', text: 'Do you want some?' }
],
options: [
[],
adlerOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'adler', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Sentado en una mesa, junto con una cerveza y algo para picar, se encuentra Juanan, que te saluda al acercarte.
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var juananOptions = [];
// Opción de foto si no tiene contacto
if (State.variables.Juanancontacto === false) {
juananOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:juanantomafoto' });
}
// Opción de tomar cervezas si se cumplen ambas condiciones
if (State.variables.notaJuanan1 === true && State.variables.JuananVisionUsada === true) {
juananOptions.push({ text: 'Tomarte unas cervezas con él', action: 'GOTO:Juanancervezas' });
}
// Nueva opción: Hablar sobre lo sucedido si notaJuanan2 está activada
if (State.variables.notaJuanan2 === true) {
juananOptions.push({ text: 'Hablar con Juanan sobre lo sucedido', action: 'GOTO:Juananhabladelosucedido' });
}
juananOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Tomando una cerveza después de trabajar?' },
{ speaker: 'juanan', text: '<em>Se ríe</em> El descanso de los trabajadores...' }
],
options: [
[],
juananOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'juanan', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Sitting at a table with a beer and some snacks is Juanan, who greets you as you approach.
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var juananOptions = [];
// Photo option if no contact
if (State.variables.Juanancontacto === false) {
juananOptions.push({ text: 'You try to take a picture', action: 'GOTO:juanantomafoto' });
}
// Option to have beers together if both conditions are met
if (State.variables.notaJuanan1 === true && State.variables.JuananVisionUsada === true) {
juananOptions.push({ text: 'Have some beers with him', action: 'GOTO:Juanancervezas' });
}
// New option: Talk about what happened if notaJuanan2 is active
if (State.variables.notaJuanan2 === true) {
juananOptions.push({ text: 'Talk to Juanan about what happened', action: 'GOTO:Juananhabladelosucedido' });
}
juananOptions.push({ text: 'Have a bland and empty chat', action: 'GOTO:Kebab' });
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Having a beer after work?' },
{ speaker: 'juanan', text: '<em>Laughs</em> The workers\' break...' }
],
options: [
[],
juananOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'juanan', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Kebab' }
]
]
});
<</script>>
<</if>>
<</if>><div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
Abres los ojos y te encuentras en tu habitación. Una tenue luz se cuela por las rendijas de las persianas. Todo ha sido un sueño, uno muy extraño y vívido, pero un sueño al fin y al cabo.
Entonces, el sonido de un <span class="vibrando">móvil</span> en tu mesita de noche. Un modelo antiguo que no reconoces empieza a sonar. Temblando, lo coges y aceptas la llamada.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "¿Ho...Hola?" },
{ speaker: "dem", text: "Hola, Sergio. Veo que ya has hablado con el jefe." },
{ speaker: "sergio", text: "¿Quién... ¿Quién eres?" },
{ speaker: "dem", text: "Puedes llamarme Dem. Soy un servidor de Lujuria." },
{ speaker: "sergio", text: "Entonces ¿todo esto es real?" },
{ speaker: "dem", text: "¡Claro que lo es! Mira, este móvil que llevas tiene varias aplicaciones. Algunas aún no están activadas. Es normal. El jefe no quiere darte tanto poder sin saber cómo vas a usarlo." },
{ speaker: "sergio", text: "¿Cómo queréis que me acueste con mis vecinos? ¡Son todos heteros!" },
{ speaker: "dem", text: "Paso a paso. Por ahora simplemente vamos a marcarlos. Empieza con cuatro de ellos. Hazles una foto y podremos saber cosas sobre tus objetivos." },
{ speaker: "dem", text: "También voy a dejarte la opción de guardar, retroceder y avanzar un poco. No queremos que esto sea demasiado público..." },
{ speaker: "sergio", text: "¿Nos vigilan?" },
{ speaker: "dem", text: "Sé responsable con el móvil y no pasará nada. Te mandaré más mensajes y llamadas para guiarte." },
{ speaker: "dem", text: "Venga, comencemos a divertirnos." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Comenzar",
action: function() {
State.variables.hasPhone = true;
State.variables.notaDem1 = true;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>><div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
You open your eyes and find yourself in your room. A faint light enters through the cracks in your blinds. It's all been a dream, a very strange and vivid one, but a dream nonetheless.
Then the sound of a <span class="vibrando">cell phone</span> on your nightstand. An older model you don't recognize begins to ring. Trembling, you pick it up and accept the call.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "He...Hello?" },
{ speaker: "dem", text: "Hello, Sergio. I see that you have already spoken with the boss." },
{ speaker: "sergio", text: "Who... Who are you?" },
{ speaker: "dem", text: "You can call me Dem. I'm a servant of Lust." },
{ speaker: "sergio", text: "So all this is real?" },
{ speaker: "dem", text: "Of course it is! Look, this phone you're carrying has several applications. Some of them aren't activated yet. That's normal. The boss doesn't want to give you so much power without knowing how you're going to spend it." },
{ speaker: "sergio", text: "How do you expect me to sleep with my neighbors? They're all straight!" },
{ speaker: "dem", text: "Step by step. For now, we're just going to mark them. Start with just four of them. Take a picture and we'll be able to learn things about your targets." },
{ speaker: "dem", text: "I'm also going to give you the option to save, rewind and fast forward a bit. We don't want this to be too public..." },
{ speaker: "sergio", text: "Are they watching us?" },
{ speaker: "dem", text: "Be responsible with your phone and nothing will happen. I'll send you more messages and calls to guide you." },
{ speaker: "dem", text: "Come on, let's start having fun." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Begin",
action: function() {
State.variables.hasPhone = true;
State.variables.notaDem1 = true;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hamza, además de repartir comida ¿haces algo más?' },
{ speaker: 'hamza', text: 'No tengo mucho tiempo. Me paso casi todo el tiempo en el restaurante.' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Y si no estuvieras ¿Qué te gustaría hacer?' },
{ speaker: 'hamza', text: '¡Pues disfrutar de la vida, obviamente! Pero para eso hay que tener dinero y eso se consigue trabajando.' },
{ speaker: 'sergio', text: 'Tienes toda la razón. <em>Preparas el móvil para la foto</em>' },
{ speaker: 'hamza', text: 'Bueno, debo seguir con el trabajo, Nos vemos.' },
{ speaker: 'sergio', text: 'Hasta luego Hamza.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Hamzacontacto = true;
State.variables.notaHamza1 = true;
State.variables.corrupcionHamza = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Kebab';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hamza, besides delivering food, do you do anything else?' },
{ speaker: 'hamza', text: 'I don\'t have much time. I spend almost all my time at the restaurant.' },
{ speaker: 'sergio', text: '<em>You discreetly take your phone out of your pocket</em> And if you weren\'t working, what would you like to do?' },
{ speaker: 'hamza', text: 'Enjoy life, obviously! But for that you need money, and you get that by working.' },
{ speaker: 'sergio', text: 'You\'re absolutely right. <em>You prepare your phone for the photo</em>' },
{ speaker: 'hamza', text: 'Well, I must get back to work. See you.' },
{ speaker: 'sergio', text: 'See you later Hamza.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Take the photo',
action: function() {
State.variables.Hamzacontacto = true;
State.variables.notaHamza1 = true;
State.variables.corrupcionHamza = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Kebab';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<if $notaAhmed1 eq true>>
<span style="font-size: 1.5em;">El restaurante es el tesoro de Ahmed. Más allá de las sonrisas y la comida turca debe de haber algún secreto del que podamos sacar algo con lo que poder chantajear al siempre amable cocinero.</span>
<</if>>
<<if $notaAhmed2 eq true>>
<span style="font-size: 1.5em;">Tras la visita del inspector de Sanidad has descubierto que el negocio es incapaz de afrontar unas posibles reformas, por lo que no va tan boyante como hace parecer Ahmed. Si tiene deudas, es posible que no esté al corriente de los pagos. Coaccinalo mediante la visita de un inspector de hacienda.</span>
<</if>>
<<if $notaAhmed3 eq true>>
<span style="font-size: 1.5em;">PRÓXIMO CONTENIDO.</span>
<</if>>
<<else>>
<<if $notaAhmed1 eq true>>
<span style="font-size: 1.5em;">The restaurant is Ahmed's treasure. Beyond the smiles and Turkish food, there must be some secret we can extract something from to blackmail the ever-friendly chef.</span>
<</if>>
<<if $notaAhmed2 eq true>>
<span style="font-size: 1.5em;">Following the health inspector's visit, you've discovered that the business is unable to afford the necessary renovations, and therefore isn't as prosperous as Ahmed makes it seem. If he has debts, he may be behind on payments. Coerce him by arranging a visit from a tax inspector.</span>
<</if>>
<<if $notaAhmed3 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>><<if $idioma is "es">>
<<if $notaHamza1 eq true>>
<span style="font-size: 1.5em;">Si quieres comenzar a corromper a este repartidor, debes alejarlo de la mirada inquisitiva de su hermano. Aprovecha su profesión para alejarlo del kebab y descubre los secretos que esconde su alma.</span>
<</if>>
<<if $notaHamza2 eq true>>
<span style="font-size: 1.5em;">Si Hamza quiere una propina mayor, debe dar a sus clientes un mejor servicio. Ahora que ya tiene una imagen a mostrar, debe corresponderla con algo más íntimo. No aceptará a la primera si no relaciona su servicio con placer.</span>
<</if>>
<<if $notaHamza3 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMAMENTE</span>
<</if>>
<<else>>
<<if $notaHamza1 eq true>>
<span style="font-size: 1.5em;">If you want to start corrupting this delivery man, you must keep him away from his brother's watchful eye. Use his job to lure him away from the kebab shop and uncover the secrets hidden in his soul.</span>
<</if>>
<<if $notaHamza2 eq true>>
<span style="font-size: 1.5em;">If Hamza wants a bigger tip, he must give his customers better service. Now that he has an image to show, he must match it with something more intimate. He won't accept at first unless he associates his service with pleasure.</span>
<</if>>
<<if $notaHamza3 eq true>>
<span style="font-size: 1.5em;">CONTENT COMING SOON</span>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "AdrianExcitadoParque">>
<<set State.temporary.excitacionSuccessPassage = 'AdrianExcitadoParque'>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Ves a Adrián corriendo por el parque. Si no te das prisa desaparecerá de tu vista.
<center><img src="images/Adrian/adrianparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var adrianOptions = [];
if (State.variables.Adriancontacto === false) {
adrianOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Adriantomafoto' });
}
adrianOptions.push({ text: 'No interrumpes su ejercicio', action: 'GOTO:Parque' });
setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrian',
portrait: 'images/Adrian/adrian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Adrián' },
{ speaker: 'adrian', text: '<em> Saluda con la mano</em>' }
],
options: [
[],
adrianOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrian',
portrait: 'images/Adrian/adrian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'adrian', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
You see Adrian running through the park. If you don't hurry, he'll disappear from sight.
<center><img src="images/Adrian/adrianparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var adrianOptions = [];
if (State.variables.Adriancontacto === false) {
adrianOptions.push({ text: 'You try to take a picture', action: 'GOTO:Adriantomafoto' });
}
adrianOptions.push({ text: 'You don't interrupt their exercise', action: 'GOTO:Parque' });
setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrian',
portrait: 'images/Adrian/adrian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello Adrian' },
{ speaker: 'adrian', text: '<em>Wave</em>' }
],
options: [
[],
adrianOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrian',
portrait: 'images/Adrian/adrian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'adrian', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to "DamianExcitadoParque">>
<<set State.temporary.excitacionSuccessPassage = 'DamianExcitadoParque'>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Ves a Damián corriendo por un sendero del parque para, detenerse de repente y, tras unos segundos volver a arrancar.
<center><img src="images/Damian/damianparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var damianOptions = [];
if (State.variables.Damiancontacto === false) {
damianOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Damiantomafoto' });
}
damianOptions.push({ text: 'No interrumpes su ejercicio', action: 'GOTO:Parque' });
setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damian',
portrait: 'images/Damian/damian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em> Saludas alzando la mano</em>' },
{ speaker: 'damian', text: '<em>Te responde con un movimiento de cabeza</em>' }
],
options: [
[],
damianOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damian',
portrait: 'images/Damian/damian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'damian', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
You see Damian running along a park path, then suddenly stop and, after a few seconds, start running again..
<center><img src="images/Damian/damianparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var damianOptions = [];
if (State.variables.Damiancontacto === false) {
damianOptions.push({ text: 'You try to take a picture', action: 'GOTO:Damiantomafoto' });
}
damianOptions.push({ text: 'You don't interrupt their exercise', action: 'GOTO:Parque' });
setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damian',
portrait: 'images/Damian/damian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>You greet by raising your hand</em>' },
{ speaker: 'damian', text: '<em>He responds with a nod</em>' }
],
options: [
[],
damianOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damian',
portrait: 'images/Damian/damian.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'damian', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafael'])>>
<<set $rafaExcitadoDestino to "RafaExcitadoParque">>
<<set State.temporary.excitacionSuccessPassage = 'RafaExcitadoParque'>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _esDelinquenteJuvenil to (_hasSemblante && $currentSemblanteActive.name === 'Delincuente juvenil')>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Encuentras a Rafael en la zona de ejercicio, junto a otros hombres, realizando dominadas y flexiones con las barras de metal.
<center><img src="images/Rafael/rafaparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var rafaelOptions = [];
if (State.variables.Rafaelcontacto === false) {
rafaelOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Rafaeltomafoto' });
}
// OPCIÓN CONDICIONAL PARA LEO
if (State.variables.lootboxescompradas === true && State.variables.Rafapruebas === true) {
rafaelOptions.push({ text: 'Hablar sobre los gastos de Leo', action: 'GOTO:RafaLeoGastos' });
}
// OPCIÓN CONDICIONAL PARA RADICALIZACIÓN
if (State.variables.rafaRadicalizado === true && State.variables.notaRafael1 !== true) {
rafaelOptions.push({ text: 'Hablar sobre su radicalización', action: 'GOTO:RafaRadicalizadoConversacion' });
}
// OPCIÓN CONDICIONAL PARA HABLAR DE DELINCUENCIA
if (State.variables.notaRafael2 === true && State.variables.Semblantedelincuente !== true) {
rafaelOptions.push({ text: 'Hablar sobre la delincuencia', action: 'GOTO:rafahablardelicuencia' });
}
rafaelOptions.push({ text: 'No interrumpes su ejercicio', action: 'GOTO:Parque' });
setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'Rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Saludas con la cabeza a Rafael</em>' },
{ speaker: 'Rafa', text: '<em>Te devuelve el saludo</em>' }
],
options: [
[],
rafaelOptions
]
});
<</script>>
<<elseif _esDelinquenteJuvenil>>
<!-- SEMBLANTE DE DELINCUENTE JUVENIL - Opción especial de cebo -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'Rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Te acercas a Rafael con actitud desafiante</em>' },
{ speaker: 'Rafa', text: '<em>Te mira con desconfianza</em>' }
],
options: [
[],
[
{ text: 'Hacer de cebo', action: 'GOTO:Rafaelpersiguecebo' },
{ text: 'Te alejas', action: 'GOTO:Parque' }
]
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'Rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'Rafa', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
You find Rafael in the exercise area, along with other men, doing pull-ups and push-ups with the metal bars.
<center><img src="images/Rafael/rafaparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var rafaelOptions = [];
if (State.variables.Rafaelcontacto === false) {
rafaelOptions.push({ text: 'You try to take a picture', action: 'GOTO:Rafaeltomafoto' });
}
// CONDITIONAL OPTION FOR LEO
if (State.variables.lootboxescompradas === true && State.variables.Rafapruebas === true) {
rafaelOptions.push({ text: 'Talk about Leo\'s expenses', action: 'GOTO:RafaLeoGastos' });
}
// CONDITIONAL OPTION FOR RADICALIZATION
if (State.variables.rafaRadicalizado === true && State.variables.notaRafael1 !== true) {
rafaelOptions.push({ text: 'Talk about his radicalization', action: 'GOTO:RafaRadicalizadoConversacion' });
}
// CONDITIONAL OPTION FOR CRIME TALK
if (State.variables.notaRafael2 === true && State.variables.Semblantedelincuente !== true) {
rafaelOptions.push({ text: 'Talk about crime', action: 'GOTO:rafahablardelicuencia' });
}
rafaelOptions.push({ text: 'You don\'t interrupt his exercise', action: 'GOTO:Parque' });
setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'Rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>Nod to Rafael</em>' },
{ speaker: 'Rafa', text: '<em>Nods back</em>' }
],
options: [
[],
rafaelOptions
]
});
<</script>>
<<elseif _esDelinquenteJuvenil>>
<!-- JUVENILE DELINQUENT SEMBLANTE - Special bait option -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'Rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '<em>You approach Rafael with a defiant attitude</em>' },
{ speaker: 'Rafa', text: '<em>He looks at you with suspicion</em>' }
],
options: [
[],
[
{ text: 'Act as bait', action: 'GOTO:Rafaelpersiguecebo' },
{ text: 'Walk away', action: 'GOTO:Parque' }
]
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'Rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'Rafa', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<<set $taoExcitadoDestino to "TaoexcitadoParque">>
<<set $juananExcitadoDestino to "JuananExcitadoParque">>
<<set State.temporary.excitacionSuccessPassage = 'JuananExcitadoParque'>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Caminando y charlando, ves a Juanan y Tao, padre e hijo, tomando un helado por el parque.
<center><img src="images/Juanan/juananytaoparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var taoyjuananOptions = [];
if (State.variables.notaTao1 === true) {
taoyjuananOptions.push({ text: 'Mostrar imágenes sexuales a Tao', action: 'GOTO:Taonoquiereverfotos' });
}
taoyjuananOptions.push({ text: 'Saludas y los dejas solos', action: 'GOTO:Parque' });
setup.showDoorDialogue("JuananTao", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¡Hola familia!' },
{ speaker: 'juanan', text: 'Hola Sergio' },
{ speaker: 'tao', text: 'Hola. <em>Le da un lametazo a su helado</em>' }
],
options: [
[],
[],
taoyjuananOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconocen -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("JuananTao", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'juanan', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Walking and chatting, you see Juanan and Tao, father and son, having an ice cream in the park.
<center><img src="images/Juanan/juananytaoparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var taoyjuananOptions = [];
if (State.variables.notaTao1 === true) {
taoyjuananOptions.push({ text: 'Show sexual images to Tao', action: 'GOTO:Taonoquiereverfotos' });
}
taoyjuananOptions.push({ text: 'You say hello and leave them alone.', action: 'GOTO:Parque' });
setup.showDoorDialogue("JuananTao", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello family!' },
{ speaker: 'juanan', text: 'Hello Sergio' },
{ speaker: 'tao', text: 'Hello. <em>Licks his ice cream</em>' }
],
options: [
[],
[],
taoyjuananOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Don't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("JuananTao", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#ffbe76',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'juanan', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<<set $taoExcitadoDestino to "TaoexcitadoParque">>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Tao se encuentra en un banco con un par de amigos. Ríen y se carcajean en voz alta, hablando de algo absurdo de internet.
<center><img src="images/Tao/taoparque.png" width="500"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var taoOptions = [];
if (State.variables.Taocontacto === false) {
taoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Taotomafoto' });
}
if (State.variables.notaTao1 === true) {
taoOptions.push({ text: 'Mostrar imágenes sexuales a Tao', action: 'GOTO:taovefotos' });
}
taoOptions.push({ text: 'No interrumpes su diversión', action: 'GOTO:Parque' });
setup.showDoorDialogue("Tao", {
characters: [
{ id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: '<em>Saludas con la cabeza a Tao</em>' },
{ speaker: 'tao', text: '<em>Te devuelve el saludo alzando la mano</em>' }
],
options: [
[],
taoOptions
]
});
<</script>>
<<else>>
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Tao", {
characters: [
{ id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'tao', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[{ text: 'Te alejas', action: 'GOTO:Parque' }]
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Tao is sitting on a bench with a couple of friends. They're laughing and chuckling loudly, talking about something absurd on the internet.
<center><img src="images/Tao/taoparque.png" width="500"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var taoOptions = [];
if (State.variables.Taocontacto === false) {
taoOptions.push({ text: 'You try to take a picture', action: 'GOTO:Taotomafoto' });
}
if (State.variables.notaTao1 === true) {
taoOptions.push({ text: 'Show sexual images to Tao', action: 'GOTO:taovefotos' });
}
taoOptions.push({ text: "You don't interrupt their fun", action: 'GOTO:Parque' });
setup.showDoorDialogue("Tao", {
characters: [
{ id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: '<em>You nod to Tao</em>' },
{ speaker: 'tao', text: '<em>He returns the nod by raising his hand</em>' }
],
options: [
[],
taoOptions
]
});
<</script>>
<<else>>
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Tao", {
characters: [
{ id: 'tao', name: 'Tao', portrait: 'images/Tao/tao.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'tao', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[{ text: 'You walk away', action: 'GOTO:Parque' }]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "LeoExcitadoParque">>
<<set State.temporary.excitacionSuccessPassage = 'LeoExcitadoParque'>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Leo se encuentra solo sentado en un parque, con la mirada absorta en la pantalla de su móvil.
<center><img src="images/Leo/leoparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var leoOptions = [];
if (State.variables.Leocontacto === false) {
leoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Leotomafoto' });
}
leoOptions.push({ text: 'Le dejas tranquilo', action: 'GOTO:Parque' });
setup.showDoorDialogue("Leo", {
characters: [
{ id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola Leo, ¿Qué haces?' },
{ speaker: 'leo', text: 'Juego con el móvil aquí, para que me dé algo el aire.' }
],
options: [
[],
leoOptions
]
});
<</script>>
<<else>>
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Leo", {
characters: [
{ id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'leo', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[], [],
[{ text: 'Te alejas', action: 'GOTO:Parque' }]
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
Leo is sitting alone in a park, his gaze absorbed in his mobile phone screen.
<center><img src="images/Leo/leoparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var leoOptions = [];
if (State.variables.Leocontacto === false) {
leoOptions.push({ text: 'You try to take a picture', action: 'GOTO:Leotomafoto' });
}
leoOptions.push({ text: 'Leave him alone', action: 'GOTO:Parque' });
setup.showDoorDialogue("Leo", {
characters: [
{ id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hi Leo, what are you doing?' },
{ speaker: 'leo', text: 'I\'m playing on my phone here, to get some fresh air.' }
],
options: [
[],
leoOptions
]
});
<</script>>
<<else>>
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Leo", {
characters: [
{ id: 'leo', name: 'Leo', portrait: 'images/Leo/leo.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'leo', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[], [],
[{ text: 'You walk away', action: 'GOTO:Parque' }]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas'])>>
<<set $tomasExcitadoDestino to "TomasExcitadoParque">>
<<set State.temporary.excitacionSuccessPassage = 'TomasExcitadoParque'>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _esAnciano to (_hasSemblante && $currentSemblanteActive.name is "Anciano tocapelotas")>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Tomás camina tranquilamente por el parque, pensando en sus cosas.
<center><img src="images/Tomas/tomasparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var tomasOptions = [];
if (State.variables.TomasContacto === false) {
tomasOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Tomastomafoto' });
}
if (State.variables.notaTomas2 === true) {
tomasOptions.push({ text: 'Retar a un partido de petanca', action: 'GOTO:Tomaspetanca' });
}
tomasOptions.push({ text: 'Le dejas tranquilo', action: 'GOTO:Parque' });
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomas', portrait: 'images/Tomas/tomas.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola Tomás, ¿disfrutando del paseo?' },
{ speaker: 'tomas', text: 'Claro. Hace un día estupendo.' }
],
options: [ [], tomasOptions ]
});
<</script>>
<<elseif _esAnciano>>
<<script>>
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomas', portrait: 'images/Tomas/tomas.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/ancianoretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: '¡Eh viejo! ¿Qué haces aquí parado como un pasmarote?' },
{ speaker: 'tomas', text: '¿Nos conocemos?' },
{ speaker: 'sergio', text: 'No, pero me han dicho que fuiste bueno jugando a la petanca. Aunque viéndote, me cuesta creerlo.' },
{ speaker: 'tomas', text: '<em>Te mira muy enfadado</em> ¡¿Pero quién te crees que eres?!' }
],
options: [
[], [], [],
[{ text: 'Retar a un partido', action: 'GOTO:Tomaspetanca' }]
]
});
<</script>>
<<else>>
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomas', portrait: 'images/Tomas/tomas.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'tomas', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: '(Tomás no te reconoce con este semblante)' }
],
options: [ [], [], [{ text: 'Mejor te dejo', action: 'GOTO:Parque' }] ]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
Tomás walks calmly through the park, thinking about his own things.
<center><img src="images/Tomas/tomasparque.png" width="400"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var tomasOptions = [];
if (State.variables.TomasContacto === false) {
tomasOptions.push({ text: 'You try to take a picture', action: 'GOTO:Tomastomafoto' });
}
if (State.variables.notaTomas2 === true) {
tomasOptions.push({ text: 'Challenge him to a petanque match', action: 'GOTO:Tomaspetanca' });
}
tomasOptions.push({ text: 'Leave him alone', action: 'GOTO:Parque' });
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomas', portrait: 'images/Tomas/tomas.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hi Tomás, enjoying the walk?' },
{ speaker: 'tomas', text: 'Of course. It\'s a beautiful day.' }
],
options: [ [], tomasOptions ]
});
<</script>>
<<elseif _esAnciano>>
<<script>>
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomas', portrait: 'images/Tomas/tomas.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/ancianoretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hey old man! What are you doing standing there like a statue?' },
{ speaker: 'tomas', text: 'Do we know each other?' },
{ speaker: 'sergio', text: 'No, but I\'ve heard you used to be good at petanque. Though looking at you now, I find that hard to believe.' },
{ speaker: 'tomas', text: '<em>Looks at you very angrily</em> Who do you think you are?!' }
],
options: [
[], [], [],
[{ text: 'Challenge him to a match', action: 'GOTO:Tomaspetanca' }]
]
});
<</script>>
<<else>>
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Tomas", {
characters: [
{ id: 'tomas', name: 'Tomas', portrait: 'images/Tomas/tomas.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'tomas', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: '(Tomás doesn\'t recognize you with this semblante)' }
],
options: [ [], [], [{ text: 'Better leave him alone', action: 'GOTO:Parque' }] ]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<set _esTraficante to (_hasSemblante && $currentSemblanteActive.key is "masculino-adulto-extrovertido-manipulador-peligroso-urbano")>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Alex está con sus amigos sentados en un banco. Te mantienes alejado mientras ellos fuman, beben y arman jaleo.
<center><img src="images/Alex/alexparque.png" width="500"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var alexOptions = [];
if (State.variables.Alexcontacto === false) {
alexOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Alextomafoto' });
}
if (State.variables.Bolsadedroga === true && State.variables.notaAlex1 === true) {
alexOptions.push({ text: 'Ofrecerle la droga', action: 'GOTO:AlexOfrecerDroga2' });
}
if (State.variables.notaAlex2 === true && State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Acercarte como su camello', action: 'GOTO:Alexdrogaparte2' });
}
alexOptions.push({ text: 'Te mantienes alejado', action: 'GOTO:Parque' });
setup.showDoorDialogue("Alex", {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: '¡Largo de aquí!' },
{ speaker: 'sergio', text: 'Vale, vale.' }
],
options: [
[],
alexOptions
]
});
<</script>>
<<elseif _esTraficante && $notaAlex2>>
<<script>>
var alexOptions = [];
if (State.variables.Bolsadedroga === true && State.variables.notaAlex1 === true) {
alexOptions.push({ text: 'Ofrecerle la droga', action: 'GOTO:AlexOfrecerDroga2' });
}
if (State.variables.notaAlex2 === true && State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Acercarte como su camello', action: 'GOTO:Alexdrogaparte2' });
}
alexOptions.push({ text: 'Te alejas', action: 'GOTO:Parque' });
setup.showDoorDialogue("Alex", {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Tío, ¿nos has traído algo más de esa mierda?' },
{ speaker: 'sergio', text: '<em>Sonríes</em>' }
],
options: [
[],
alexOptions
]
});
<</script>>
<<else>>
<<script>>
var alexOptions = [];
if (State.variables.Bolsadedroga === true && State.variables.notaAlex1 === true) {
alexOptions.push({ text: 'Ofrecerle la droga', action: 'GOTO:AlexOfrecerDroga2' });
}
if (State.variables.notaAlex2 === true && State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Acercarte como su camello', action: 'GOTO:Alexdrogaparte2' });
}
alexOptions.push({ text: 'Te alejas', action: 'GOTO:Parque' });
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Alex", {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: '<em>Te mira de manera amenazante</em>' },
{ speaker: 'sergio', text: 'Vale, vale...' }
],
options: [
[],
alexOptions
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
Alex is sitting on a bench with his friends. You keep your distance while they smoke, drink, and make a racket.
<center><img src="images/Alex/alexparque.png" width="500"></center>
<div id="rpg-display"></div>
<<if !_hasSemblante>>
<<script>>
var alexOptions = [];
if (State.variables.Alexcontacto === false) {
alexOptions.push({ text: 'You try to take a photo', action: 'GOTO:Alextomafoto' });
}
if (State.variables.Bolsadedroga === true && State.variables.notaAlex1 === true) {
alexOptions.push({ text: 'Offer him the drug', action: 'GOTO:AlexOfrecerDroga2' });
}
if (State.variables.notaAlex2 === true && State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Approach as their dealer', action: 'GOTO:Alexdrogaparte2' });
}
alexOptions.push({ text: 'You keep your distance', action: 'GOTO:Parque' });
setup.showDoorDialogue("Alex", {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Get out of here!' },
{ speaker: 'sergio', text: 'Okay, okay.' }
],
options: [
[],
alexOptions
]
});
<</script>>
<<elseif _esTraficante && $notaAlex2>>
<<script>>
var alexOptions = [];
if (State.variables.Bolsadedroga === true && State.variables.notaAlex1 === true) {
alexOptions.push({ text: 'Offer him the drug', action: 'GOTO:AlexOfrecerDroga2' });
}
if (State.variables.notaAlex2 === true && State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Approach as their dealer', action: 'GOTO:Alexdrogaparte2' });
}
alexOptions.push({ text: 'You walk away', action: 'GOTO:Parque' });
setup.showDoorDialogue("Alex", {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Man, did you bring us more of that stuff?' },
{ speaker: 'sergio', text: '<em>You smile</em>' }
],
options: [
[],
alexOptions
]
});
<</script>>
<<else>>
<<script>>
var alexOptions = [];
if (State.variables.Bolsadedroga === true && State.variables.notaAlex1 === true) {
alexOptions.push({ text: 'Offer him the drug', action: 'GOTO:AlexOfrecerDroga2' });
}
if (State.variables.notaAlex2 === true && State.variables.Bolsadedroga === true) {
alexOptions.push({ text: 'Approach as their dealer', action: 'GOTO:Alexdrogaparte2' });
}
alexOptions.push({ text: 'You walk away', action: 'GOTO:Parque' });
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Alex", {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#ff4757', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Who the fuck are you? Get out of here!' },
{ speaker: 'sergio', text: 'Okay, okay...' }
],
options: [
[],
alexOptions
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<!-- Determinar qué versión de Ernesto mostrar y establecer destino de excitación -->
<<if $notaErnesto1 === true>>
<!-- VERSIÓN 1: Ernesto con mujer rubia -->
<<set _ernestoConMujer to true>>
<<set _ernestoSoloRecuerdo1 to false>>
<<set _ernestoCruising to false>>
<<set $ernestoExcitadoDestino to "ErnestoMujerExcitado">>
<<elseif $crusingernesto === true>>
<!-- VERSIÓN 3: Ernesto solo - Cruising activo -->
<<set _ernestoConMujer to false>>
<<set _ernestoSoloRecuerdo1 to false>>
<<set _ernestoCruising to true>>
<<set $ernestoExcitadoDestino to "Ernestocruising">>
<<elseif $RecuerdoErnesto1 === true>>
<!-- VERSIÓN 2: Ernesto solo - Recuerdo 1 activo -->
<<set _ernestoConMujer to false>>
<<set _ernestoSoloRecuerdo1 to true>>
<<set _ernestoCruising to false>>
<<set $ernestoExcitadoDestino to "Ernestoexcitadoparque">>
<<else>>
<!-- Por defecto: Ernesto solo sin destino especial -->
<<set _ernestoConMujer to false>>
<<set _ernestoSoloRecuerdo1 to false>>
<<set _ernestoCruising to false>>
<<set $ernestoExcitadoDestino to "">>
<</if>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
<<if _ernestoConMujer>>
<!-- ========== VERSIÓN 1: ERNESTO CON LA MUJER RUBIA ========== -->
Ernesto está dando un paseo acompañado de una mujer rubia muy atractiva. Parecen estar disfrutando de la conversación.
<center><img src="images/Ernesto/ernestomujerrubia.png" width="400"></center>
<<else>>
<!-- ========== VERSIÓN 2 Y 3: ERNESTO SOLO ========== -->
Ernesto está dando un paseo mientras con su mirada recorre los cuerpos de las mujeres que se encuentra.
<center><img src="images/Ernesto/ernestoparque.png" width="400"></center>
<</if>>
<div id="rpg-display"></div>
<<if _ernestoConMujer>>
<!-- ERNESTO CON MUJER - Opciones limitadas -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Vaya, parece que Ernesto tiene compañía...' }
],
options: [
[
{ text: 'Te alejas discretamente', action: 'GOTO:Parque' },
{ text: 'Intentas obtener pruebas', action: 'GOTO:ErnestoObtenerPruebas' }
]
]
});
<</script>>
<<else>>
<!-- ERNESTO SOLO - Conversación normal -->
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
var ernestoOptions = [];
// Opción para hablar sobre lo sucedido (notaErnesto2)
if (State.variables.notaErnesto2 === true) {
ernestoOptions.push({ text: 'Hablar sobre lo sucedido', action: 'GOTO:Recomendaciondepsicologa' });
}
if (State.variables.Ernestocontacto === false) {
ernestoOptions.push({ text: 'Intentas sacar una foto', action: 'GOTO:Ernestotomafoto' });
}
ernestoOptions.push({ text: 'Tienes una charla insulsa y vacía', action: 'GOTO:Parque' });
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Dando un paseo, Ernesto?' },
{ speaker: 'ernesto', text: 'Cualquier cosa para salir de casa' }
],
options: [
[],
ernestoOptions
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'ernesto', text: '¿Te conozco? ¿Qué quieres?' },
{ speaker: 'sergio', text: 'Nada, disculpa...' }
],
options: [
[],
[],
[
{ text: 'Te alejas', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
<<if _ernestoConMujer>>
<!-- ========== VERSION 1: ERNESTO WITH BLONDE WOMAN ========== -->
Ernesto is taking a walk accompanied by a very attractive blonde woman. They seem to be enjoying the conversation.
<center><img src="images/Ernesto/ernestomujerrubia.png" width="400"></center>
<<else>>
<!-- ========== VERSION 2 AND 3: ERNESTO ALONE ========== -->
Ernesto is taking a walk while his gaze travels over the bodies of the women he encounters.
<center><img src="images/Ernesto/ernestoparque.png" width="400"></center>
<</if>>
<div id="rpg-display"></div>
<<if _ernestoConMujer>>
<!-- ERNESTO WITH WOMAN - Limited options -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Well, looks like Ernesto has company...' }
],
options: [
[
{ text: 'You walk away discreetly', action: 'GOTO:Parque' },
{ text: 'You try to get evidence', action: 'GOTO:ErnestoObtenerPruebas' }
]
]
});
<</script>>
<<else>>
<!-- ERNESTO ALONE - Normal conversation -->
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
var ernestoOptions = [];
// Option to talk about what happened (notaErnesto2)
if (State.variables.notaErnesto2 === true) {
ernestoOptions.push({ text: 'Talk about what happened', action: 'GOTO:Recomendaciondepsicologa' });
}
if (State.variables.Ernestocontacto === false) {
ernestoOptions.push({ text: 'You try to take a photo', action: 'GOTO:Ernestotomafoto' });
}
ernestoOptions.push({ text: 'You have a dull and empty chat', action: 'GOTO:Parque' });
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Going for a walk, Ernesto?' },
{ speaker: 'ernesto', text: 'Anything to get out of home' }
],
options: [
[],
ernestoOptions
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/sergio.png';
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'ernesto', text: 'Do I know you? What do you want?' },
{ speaker: 'sergio', text: 'Nothing, sorry...' }
],
options: [
[],
[],
[
{ text: 'You walk away', action: 'GOTO:Parque' }
]
]
});
<</script>>
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'alex', text: '¿Qué coño quieres?' },
{ speaker: 'sergio', text: '<em>Sacas con disimulo el móvil de tu bolsillo</em> Nada, nada. Solo me preguntaba que...' },
{ speaker: 'alex', text: '<em>Te mira amenazante</em>' },
{ speaker: 'sergio', text: 'Ya me iba' },
{ speaker: 'alex', text: 'Pues claro que te ibas. Largo de mi vista.' },
{ speaker: 'sergio', text: '<em>Preparas el móvil para la foto</em> Adios, Alex' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Tomas la foto',
action: function() {
State.variables.Alexcontacto = true;
State.variables.notaAlex1 = true;
State.variables.corrupcionAlex = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Parque';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'alex', text: 'What the fuck do you want?' },
{ speaker: 'sergio', text: '<em>You discreetly take your phone out of your pocket</em> Nothing, nothing. I was just wondering...' },
{ speaker: 'alex', text: '<em>He looks at you threateningly</em>' },
{ speaker: 'sergio', text: 'I was just leaving' },
{ speaker: 'alex', text: 'Of course you were. Get out of my sight.' },
{ speaker: 'sergio', text: '<em>You prepare your phone for the photo</em> Goodbye, Alex' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You take the photo',
action: function() {
State.variables.Alexcontacto = true;
State.variables.notaAlex1 = true;
State.variables.corrupcionAlex = 0;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Parque';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
const lang = State.variables.idioma || "es";
const dialogues = {
es: {
lines: [
{ speaker: "dem", text: "¿Estás deseando de ver a tus vecinos desnudos, eh salido?" },
{ speaker: "sergio", text: "Bueno, yo..." },
{ speaker: "dem", text: "¡No te avergüences! Has sido elegido para eso." },
{ speaker: "dem", text: "El funcionamiento es muy fácil. Acerca tu móvil a alguno de tus objetivos, apreta el botón del ojo y disfruta de su cuerpo." },
{ speaker: "sergio", text: "Es fácil." },
{ speaker: "dem", text: "¡Claro que lo es! Además de que no solo los verás desnudos en tu pantalla, si no que además los verás posando para ti, deseosos de que les devores con tus ojos." },
{ speaker: "sergio", text: "Joder, eso es..." },
{ speaker: "dem", text: "Pero esto no es un regalo. También es un modo de conocer mejor a tus vecinos. Visión sexual puede revelar secretos que esconden en su mente. Secretos que podrás usar para corromperlos." },
{ speaker: "sergio", text: "Vale. Creo que voy a probarlo enseguida." },
{ speaker: "dem", text: "¡Esa es la actitud, chico! Alguna de las informaciones puede que sean irrelevantes o ya las conozcas, pero otras te serán muy útiles." },
{ speaker: "dem", text: "¡Sin olvidar que te hartarás de ver pollas!" },
{ speaker: "dem", text: "Ahora cumple mi siguiente encargo si quieres instalarte otra nueva app." }
],
buttonText: "Cuelgas"
},
en: {
lines: [
{ speaker: "dem", text: "You're dying to see your neighbors naked, aren't you, you horny guy?" },
{ speaker: "sergio", text: "Well, I..." },
{ speaker: "dem", text: "Don't be ashamed! You were chosen for this." },
{ speaker: "dem", text: "It's very easy to use. Bring your phone close to one of your targets, press the eye button and enjoy their body." },
{ speaker: "sergio", text: "That's easy." },
{ speaker: "dem", text: "Of course it is! Plus, you won't just see them naked on your screen, you'll see them posing for you, eager for you to devour them with your eyes." },
{ speaker: "sergio", text: "Damn, that's..." },
{ speaker: "dem", text: "But this isn't a gift. It's also a way to get to know your neighbors better. Sexual Vision can reveal secrets they hide in their minds. Secrets you can use to corrupt them." },
{ speaker: "sergio", text: "Okay. I think I'm going to try it right away." },
{ speaker: "dem", text: "That's the attitude, boy! Some of the information might be irrelevant or you might already know it, but others will be very useful." },
{ speaker: "dem", text: "Not to mention you'll get tired of seeing dicks!" },
{ speaker: "dem", text: "Now complete my next task if you want to install another new app." }
],
buttonText: "Hang up"
}
};
const currentDialogue = dialogues[lang];
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: currentDialogue.lines,
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: currentDialogue.buttonText,
action: function() {
State.variables.notaDemVisionsexual = true;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>><div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
const lang = State.variables.idioma || "es";
const dialogues = {
es: {
lines: [
{ speaker: "dem", text: "Sabía que cogerías esta app" },
{ speaker: "sergio", text: "Bueno, yo... eh…" },
{ speaker: "dem", text: "Eres un viciosillo. ¡Me encantas Sergio!" },
{ speaker: "dem", text: "A ver, te explico cómo funciona. Sé que la aplicación se llama Excitación a distancia, pero necesitas estar lo suficientemente cerca de tu objetivo para que esta pueda interactuar. Entonces, te aproximas a uno de tus objetivos y seleccionas la aplicación. En el móvil te saldrá una pantalla con un cuerpo esquemático con cuatro zonas erógenas distintas. ¿Me sigues?" },
{ speaker: "sergio", text: "Sí, sí." },
{ speaker: "dem", text: "Vale. Luego seleccionas el apéndice digital. Puede ser una mano con sus cinco deditos, una lengua y una polla. Luego tú eliges qué apéndice va en qué zona erógena." },
{ speaker: "sergio", text: "¿Entonces es como si le metiera mi polla en la boca a alguien?" },
{ speaker: "dem", text: "<em>Se ríe</em> No, no, pequeño viciosillo. No te adelantes. Los objetivos sentirán esos apéndices en su cuerpo como si fueran reales, pero tú no sentirás nada. Ya habrá tiempo para eso." },
{ speaker: "sergio", text: "Vale. ¿Y eso les excitará?" },
{ speaker: "dem", text: "Bueno, eso depende de tu habilidad. A cada uno de tus vecinos le gustará una cosa u otra, y en un orden específico. Aun así puedes imaginarte que, así de primeras, a nadie le gusta que le metan una polla por el culo. Pero si te trabajas antes las otras zonas..." },
{ speaker: "sergio", text: "Ok, creo que voy a probarlo" },
{ speaker: "dem", text: "¡Perfecto! También he de decirte que si te pasas y los pones demasiado cachondos... Bueno, si se han corrido en sus pantalones no conseguirás que se te corran en la cara, no sé si me explico. Déjales en el punto justo de cachondos." },
{ speaker: "dem", text: "Y aunque puedas pensar que esto es un juego, no lo es. Esta app, igual que las otras, está destinada a ayudarte a corromper a tus objetivos. Disfrútala, claro, pero piensa en ella cuando la necesites para acercar más a tus vecinos a tu cama." },
{ speaker: "dem", text: "Ah, y cumple mi nueva misión para desbloquear otra aplicación nueva." }
],
buttonText: "Cuelgas"
},
en: {
lines: [
{ speaker: "dem", text: "I knew you'd pick this app" },
{ speaker: "sergio", text: "Well, I... uh…" },
{ speaker: "dem", text: "You're a little pervert. I love you Sergio!" },
{ speaker: "dem", text: "Let me explain how it works. I know the app is called Remote Arousal, but you need to be close enough to your target for it to interact. So, you approach one of your targets and select the app. On your phone you'll see a screen with a schematic body with four different erogenous zones. Are you following me?" },
{ speaker: "sergio", text: "Yeah, yeah." },
{ speaker: "dem", text: "Okay. Then you select the digital appendage. It can be a hand with its five little fingers, a tongue and a dick. Then you choose which appendage goes on which erogenous zone." },
{ speaker: "sergio", text: "So it's like sticking my dick in someone's mouth?" },
{ speaker: "dem", text: "<em>Laughs</em> No, no, little pervert. Don't get ahead of yourself. The targets will feel those appendages on their body as if they were real, but you won't feel anything. There will be time for that." },
{ speaker: "sergio", text: "Okay. And will that turn them on?" },
{ speaker: "dem", text: "Well, that depends on your skill. Each of your neighbors will like one thing or another, and in a specific order. Still, you can imagine that, right off the bat, nobody likes having a dick shoved up their ass. But if you work the other zones first..." },
{ speaker: "sergio", text: "Ok, I think I'm going to try it" },
{ speaker: "dem", text: "Perfect! I also have to tell you that if you overdo it and get them too horny... Well, if they've already cum in their pants you won't get them to cum on your face, if you know what I mean. Leave them at just the right point of horny." },
{ speaker: "dem", text: "And even though you might think this is a game, it's not. This app, like the others, is meant to help you corrupt your targets. Enjoy it, sure, but think about it when you need it to bring your neighbors closer to your bed." },
{ speaker: "dem", text: "Oh, and complete my new mission to unlock another new app." }
],
buttonText: "Hang up"
}
};
const currentDialogue = dialogues[lang];
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: currentDialogue.lines,
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: currentDialogue.buttonText,
action: function() {
State.variables.appExcitacionDistancia = true;
State.variables.notaDemExcitacionDistancia = true;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>><<set $cargasapps += 1>>
<<if $idioma is "es">>
<span class="vibrando">El móvil vibra</span> de nuevo en tu bolsillo.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Ya está hecho Dem" },
{ speaker: "dem", text: "Perfecto. ¿Has visto las pollas que calzan tus vecinos?" },
{ speaker: "sergio", text: "Si... Si las he visto." },
{ speaker: "dem", text: "Pronto podrás tenerlas todas en tu boca. Y sus jugosos y virginales culos también." },
{ speaker: "dem", text: "Ahora aumentará el poder del móvil. Instálate una nueva app y podrás expandir a más lejos de tu edificio tus apps." },
{ speaker: "sergio", text: "¿A dónde?" },
{ speaker: "dem", text: "¡Explóralo por tu mismo! Es posible que ahora puedas cumplir ciertas misiones personales de tus objetivos..." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Instalar nueva app",
action: function() {
State.variables.notaVisionsexual = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<<else>>
<span class="vibrando">Your phone vibrates</span> again in your pocket.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "It's done, Dem" },
{ speaker: "dem", text: "Perfect. Have you seen the cocks your neighbors are packing?" },
{ speaker: "sergio", text: "Yes... I've seen them." },
{ speaker: "dem", text: "Soon you'll be able to have them all in your mouth. And their juicy, virgin asses too." },
{ speaker: "dem", text: "Now the phone's power will increase. Install a new app and you'll be able to expand your apps beyond your building." },
{ speaker: "sergio", text: "Where to?" },
{ speaker: "dem", text: "Explore it yourself! You might now be able to complete certain personal missions for your targets..." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Install new app",
action: function() {
State.variables.notaVisionsexual = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<</if>><<set $cargasapps += 1>>
<<if $idioma is "es">>
<span class="vibrando">El móvil vibra</span> de nuevo en tu bolsillo.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Ya está hecho Dem" },
{ speaker: "dem", text: "¡Muy bien! ¿Te has fijado en sus caras mientras se corrían?" },
{ speaker: "sergio", text: "Sí... Si las he visto." },
{ speaker: "dem", text: "Si todo sigue igual que ahora, pronto podrás ver esa cara, pero corriendose sobre ti." },
{ speaker: "dem", text: "Ahora actualiza de nuevo el móvil, aumenta su poder e instalate una nueva app. De este modo podrás expandir a más terreno los poderes del móvil." },
{ speaker: "sergio", text: "¿Hasta dónde?" },
{ speaker: "dem", text: "Date una vuelta y descúbrelo por ti mismo. Aprovecha para cumplir, si ya puedes, alguna de las misiones de tus objetivos. Recuerda que todo esto es para que puedas corromperlos." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Instalar nueva app",
action: function() {
State.variables.notaExcitacion = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<<else>>
<span class="vibrando">Your phone vibrates</span> again in your pocket.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "It's done, Dem" },
{ speaker: "dem", text: "Very good! Did you notice their faces when they were cumming?" },
{ speaker: "sergio", text: "Yes... I saw them." },
{ speaker: "dem", text: "If everything continues like this, you'll soon see that face, but cumming on you." },
{ speaker: "dem", text: "Now upgrade your phone again, increase its power and install a new app. This way you can expand the phone's powers to more territory." },
{ speaker: "sergio", text: "How far?" },
{ speaker: "dem", text: "Take a walk and find out for yourself. Take the opportunity to complete, if you can, some of your targets' missions. Remember that all of this is so you can corrupt them." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Install new app",
action: function() {
State.variables.notaExcitacion = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Te acercas a la puerta que supones que es el almacén. En ella hay un cartel que pone "Privado".
<center><img src="images/Localizaciones/puertakebab.png" class="fade-in" width="400"></center>
<<if setup.hasTemporalMark('Ahmed', 'excitado') or setup.hasTemporalMark('Hamza', 'excitado')>>
<<if $formaFantasmalActiva is true>>
<span style="color: #88ccff; font-style: italic;">👻 Tu forma fantasmal te permite deslizarte al otro lado sin ser visto...</span>
<<if setup.hasTemporalMark('Ahmed', 'excitado')>>
<<link "👻 Atravesar la puerta tras Ahmed">><<run Engine.play('AhmedExcitadoPrivado')>><</link>>
<</if>>
<<if setup.hasTemporalMark('Hamza', 'excitado')>>
<<link "👻 Atravesar la puerta tras Hamza">><<run Engine.play('HamzaExcitadoPrivado')>><</link>>
<</if>>
<<else>>
<span style="color: #888; font-style: italic;">Escuchas ruidos amortiguados al otro lado de la puerta. Está cerrada con llave.</span>
<</if>>
<</if>>
<<if $formaFantasmalActiva is true>>
<<if !(setup.hasTemporalMark('Ahmed', 'excitado') or setup.hasTemporalMark('Hamza', 'excitado'))>>
<<link "👻 Explorar la zona privada">><<run Engine.play('ZonaPrivadaKebab')>><</link>>
<</if>>
<</if>>
[[Retroceder|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
You approach the door you assume leads to the storage room. There's a sign on it that says "Private".
<center><img src="images/Localizaciones/puertakebab.png" class="fade-in" width="400"></center>
<<if setup.hasTemporalMark('Ahmed', 'excitado') or setup.hasTemporalMark('Hamza', 'excitado')>>
<<if $formaFantasmalActiva is true>>
<span style="color: #88ccff; font-style: italic;">👻 Your ghost form lets you slide through to the other side unseen...</span>
<<if setup.hasTemporalMark('Ahmed', 'excitado')>>
<<link "👻 Pass through the door after Ahmed">><<run Engine.play('AhmedExcitadoPrivado')>><</link>>
<</if>>
<<if setup.hasTemporalMark('Hamza', 'excitado')>>
<<link "👻 Pass through the door after Hamza">><<run Engine.play('HamzaExcitadoPrivado')>><</link>>
<</if>>
<<else>>
<span style="color: #888; font-style: italic;">You can hear muffled sounds from the other side of the door. It's locked.</span>
<</if>>
<</if>>
<<if $formaFantasmalActiva is true>>
<<if !(setup.hasTemporalMark('Ahmed', 'excitado') or setup.hasTemporalMark('Hamza', 'excitado'))>>
<<link "👻 Explorar la zona privada">><<run Engine.play('ZonaPrivadaKebab')>><</link>>
<</if>>
<</if>>
[[Back|Kebab]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/bañokebab.png" alt="Baño del kebab" />
</div>
Desde fuera de la cabina ya se escucha a Ernesto masturbándose y gimiendo. Atraído por sus "joder" como si fueran cantos de sirena, atraviesas la fina puerta y entras.
Allí contemplas lo evidente: Ernesto, completamente desnudo, se masturba con los ojos cerrados su oscura polla. Pasa la mano especialmente por su glande, que no necesita más lubricación que su propio líquido preseminal. Excitado, lo acompañas, sacándote la polla y masturbándote a apenas unos centímetros de su cuerpo.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestopajakebab.webm" type="video/webm"></video>
Comienza a convulsionar un minuto antes de que tú termines. El médico eyacula con ganas sobre una de las paredes del baño y, al ver el estropicio, lo limpia apenas un poco con papel. Luego se marcha. Tú, en cambio, te corres en el mismo lugar y ves cómo tu leche se solidifica al salir de tu cuerpo, mezclándose con la de Ernesto. Ha sido una buena paja.
[[Salir del baño|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/bañokebab.png" alt="Kebab bathroom" />
</div>
From outside the cubicle you can already hear Ernesto masturbating and moaning. Drawn in by his muttered curses like a siren's call, you pass straight through the thin door.
Inside you find exactly what you expected: Ernesto, completely naked, stroking his dark cock with his eyes closed. His hand lingers especially on his glans, which needs no lubricant beyond his own pre-cum. Aroused, you join him — pulling out your cock and stroking yourself barely centimetres from his body.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestopajakebab.webm" type="video/webm"></video>
He starts to convulse a full minute before you finish. The doctor comes hard against one of the bathroom walls and, confronted with the mess, barely wipes it down with a bit of tissue before heading out. You, on the other hand, finish right there and watch your cum solidify as it leaves your body, mingling with what Ernesto left behind. That was a good one.
[[Leave the bathroom|Kebab]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Baño del kebab" />
</div>
No es difícil saber en qué cabina está Adler masturbándose. Basta con detenerse un momento a escuchar los ruidos húmedos que provienen de una de las que están cerradas. Atraviesas la puerta convertido en fantasma y ves lo que esperabas.
Adler, desnudo y con el rostro contraído por el placer, se masturba furiosamente. Su polla, larga y reluciente, es tan apetitosa que desearías introducírtela entre los labios. Por desgracia, no puedes hacer nada más que masturbarte a escasos centímetros del alemán. Te quedas el tiempo suficiente para ver cómo desahoga toda su calentura, eyaculando contra la pared del baño. Tú le acompañas al final, dejando dos manchas de esperma que se deslizan lentamente por el azulejo.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adlerpajakebab.webm" type="video/webm"></video>
[[Salir del baño|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab bathroom" />
</div>
It's not hard to figure out which cubicle Adler is in. You just have to stop for a moment and listen to the wet sounds coming from one of the locked stalls. You pass through the door as a ghost and find exactly what you expected.
Adler, naked and with his face twisted in pleasure, is stroking himself furiously. His cock, long and gleaming, looks so appetising you wish you could wrap your lips around it. Unfortunately, all you can do is touch yourself a few centimetres away from the German. You stay long enough to watch him release everything he's been holding back, coming hard against the bathroom wall. You join him at the end, leaving two trails of cum sliding slowly down the tiles.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adlerpajakebab.webm" type="video/webm"></video>
[[Leave the bathroom|Kebab]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/bañokebab.png" alt="Baño del kebab" />
</div>
En tu forma etérea, traspasas la puerta del cubículo donde entró Juanan hace unos minutos. El albañil se encuentra dentro, desnudo, con su polla dura, gruesa y reluciente.
Con los ojos cerrados, se masturba con violencia con una mano mientras con la otra recorre el vello espeso de su cuerpo. Verlo tan de cerca, oler su aroma a sexo... no puedes evitar comenzar a masturbarte tú también.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Juanan/juananpajakebab.webm" type="video/webm"></video>
Cuando la expresión del albañil cambia, sabes que ha llegado el momento. Juanan agarra un trozo de papel del baño y se corre copiosamente sobre él. Tú haces lo mismo sobre su cuerpo, y tu propia leche salpica su peludo y generoso trasero. Tu esperma, al salir de ti, se hace visible y corpóreo. Por suerte, el cincuentón no se percata, demasiado absorto en su propio placer, y se viste rápidamente, dejando una mancha en sus calzoncillos que no sabrá explicarse.
[[Salir del baño|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/bañokebab.png" alt="Kebab bathroom" />
</div>
In your ethereal form, you pass through the door of the cubicle Juanan entered a few minutes ago. The bricklayer is inside, naked, his cock hard, thick and glistening.
Eyes closed, he masturbates furiously with one hand while the other roams through the thick hair covering his body. Seeing him this close, smelling his raw sexual scent... you can't help but start touching yourself too.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Juanan/juananpajakebab.webm" type="video/webm"></video>
When you see his expression shift, you know the moment has come. Juanan grabs a piece of toilet paper and comes copiously into it. You do the same over his body, your own cum splashing against his hairy, generous backside. Your seed, upon leaving you, becomes visible and corporeal. Fortunately the fifty-something man doesn't notice, too lost in his own pleasure, and quickly gets dressed — leaving a stain in his underwear he won't be able to explain.
[[Leave the bathroom|Kebab]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.png" alt="Kebab abierto" />
</div>
Apenas consigues encontrar a Damián tras realizar la carrera más rápida que has visto a alguien. Cuando lo encuentras, en la parte más alejada del parque, está totalmente desnudo. Se encuentra centrado solo en su polla, masturbándose con una mano mientras con la otra se acaricia su pecho fibrado. Escondido, empiezas a acompañarle pajeándote también tú hasta que ambos, eyaculáis sobre la vegetación.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianpajaparque.webm" type="video/webm"></video>
Antes de que se percate de tu presencia, te marchas.
[[Regresar|Parque]]
<<else>>
<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.png" alt="Kebab abierto" />
</div>
You barely manage to find Damian after running faster than anyone you've ever seen. When you find him, in the farthest part of the park, he's completely naked. He's focused solely on his cock, masturbating with one hand while the other strokes his muscular chest. Hidden away, you start to join in, jerking off too, until you both ejaculate on the vegetation.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianpajaparque.webm" type="video/webm"></video>
Before he notices you, you leave.
[[Return|Parque]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="parque" />
</div>
Rafael deja la barra de ejercicio y, con rapidez, abandona el área. Es imposible no notar como su polla se bambolea con cada paso. Atraído por ese canto de sirena, decides seguirlo en la distancia. Se ha alejado del bullicio del parque hasta una zona tranquila y apartada. Par evitar que te descubra, te arrastras por unos matorrales hasta llegar al lugar que ha escogido Rafa para liberarse de esa excitación repentina. Te quedas de piedra al ver que estás tan cerca que casi podría tocar su polla, que está dura y grande. Rafael se levanta un poco su camiseta sudada, mostrando sus definidos abdominales y tú solo puedes desear tenerlo entre tus piernas. El policía se masturba con energía, y no tarda en eyacular a unos centímetros de tu rostro. Luego se viste y se marcha.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaparquepaja.webm" type="video/webm"></video>
Antes de salir de tu escondite, alargas un dedo y coges un poco de esa corrida, que había caído sobre una hoja de gran tamaño. La introduces en tu boca. Está deliciosa.
[[Regresar|Parque]]
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Kebab abierto" />
</div>
Rafael leaves the exercise bar and quickly leaves the area. It's impossible not to notice his cock swaying with every step. Drawn by its siren call, you decide to follow him from a distance. He's moved away from the bustle of the park to a quiet, secluded spot. To avoid being spotted, you crawl through some bushes until you reach the place Rafa has chosen to relieve his sudden arousal. You're stunned to find yourself so close you could almost touch his hard, large cock. Rafael lifts his sweaty shirt slightly, revealing his defined abs, and all you can do is wish he were between your legs. The policeman masturbates vigorously and soon ejaculates just inches from your face. Then he gets dressed and leaves.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaparquepaja.webm" type="video/webm"></video>
Before leaving your hiding place, you reach out and scoop up some of the semen that had fallen onto a large leaf. You put it in your mouth. It's delicious.
[[Return|Parque]]
<</if>><<run setup.gameTime.addMinutes(20)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
Ernesto se desvía del camino del parque y tú le sigues en la distancia, evitando que te vea. El médico se dirige a una zona apartada, cerca de un falso riachuelo. Allí, tras ver que nadie le sigue, se desnuda completamente, mostrando su erección. Incapaz de detenerse, empieza a masturbarse como un poseso, mientras cierra los ojos y se pasa los dedos por su pezón izquierdo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestopajaparque.webm" type="video/webm"></video></center>
Tarda menos de 5 minutos en eyacular. Liberado de su repentina calentura, se viste y se marcha, y tú haces lo mismo.
[[Regresar|Parque]]
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
Ernesto deviates from the park path and you follow him from a distance, avoiding being seen. The doctor heads to a secluded area, near a fake stream. There, after seeing that no one is following him, he undresses completely, showing his erection. Unable to stop himself, he begins to masturbate frantically, while closing his eyes and running his fingers over his left nipple.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestopajaparque.webm" type="video/webm"></video></center>
It takes him less than 5 minutes to ejaculate. Freed from his sudden horniness, he gets dressed and leaves, and you do the same.
[[Return|Parque]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.png" alt="Kebab abierto" />
</div>
Evitando que tanto Juanan como Tao se den cuenta, sigues al padre del chico mientras dejas a este acabándose el helado sentado en un banco. Juanan se adentra, nervioso y a paso rápido, a la parte más recóndita del parque. Tras dar un rápido vistazo y ver que no hay nadie cerca, el albañil comienza a desvestirse rápidamente, liberando una buena polla rodeada de espeso vello. Tú, escondido tras unos matorrales, disfrutas de la visión del hombre liberándose de esa carga sexual que le has introducido hace unos momentos.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Juanan/juananpajaparque.webm" type="video/webm"></video>
Cuando ves como Juanan se corre, decides marcharte antes de que este te descubra.
[[Regresar|Parque]]
<<else>>
<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.png" alt="Kebab abierto" />
</div>
Avoiding being noticed by either Juanan or Tao, you follow the boy's father while leaving him to finish his ice cream sitting on a bench. Juanan nervously and quickly makes his way into the most secluded part of the park. After a quick glance to make sure no one is around, the construction worker begins to undress rapidly, revealing a sizable cock surrounded by thick pubic hair. You, hidden behind some bushes, enjoy the sight of the man releasing the sexual tension you just introduced to him.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Juanan/juananpajaparque.webm" type="video/webm"></video>
When you see Juanan ejaculate, you decide to leave before he discovers you.
[[Return|Parque]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
Leo se levanta como un resorte del banco, guarda el móvil y se aleja con la mirada baja. Tú aprovechas para seguirle en la distancia y ver como se dirige a la parte más tranquila del parque, alejada de las miradas. Allí, y escondido detrás de un ancho árbol, puedes ver como el muchacho, nervioso por la inesperada reacción de su cuerpo, libera su tensión sexual masturbándose como un loco, con su polla grande entre sus manos. Su cuerpo delgado y blanco te excita, y no puedes evitar acompañar en la distancia a tu vecino sacándote la polla y pajeándote con él.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Leo/leopajaparque.webm" type="video/webm"></video>
La escena acaba relativamente pronto, corriéndose Leo sobre la vegetación, liberando una gran cantidad de esperma. Antes de que se percate de tu presencia, decides marcharte.
[[Regresar|Parque]]
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
Leo springs up from the bench, puts his phone away, and walks off with his head down. You take the opportunity to follow him from a distance and watch as he heads to the quieter part of the park, away from prying eyes. There, hidden behind a wide tree, you can see the boy, flustered by his body\'s unexpected reaction, releasing his sexual tension by masturbating like crazy, his large cock in his hands. His slender, pale body excites you, and you can\'t help but join in from a distance, pulling out your own cock and jerking off along with him.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Leo/leopajaparque.webm" type="video/webm"></video>
The scene ends relatively quickly, with Leo ejaculating on the vegetation, releasing a large amount of semen. Before he notices you, you decide to leave.
[[Return|Parque]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
Escondido bajo un banco, sigues con la mirada a Tomás, que con paso resuelto se aleja del camino trazado para adentrarse en las partes más solitarias y agrestes del parque. Tú le sigues en la distancia, pero sin perderle de vista. Cuando vuelves a encontrarle, te escondes de nuevo para poder ver, con total claridad, al adorable vecino del 3B, con la polla bien dura y desnudo. Con una mano se agarra su polla y con otra se acaricia el pecho, mientras parece gemir con cada sacudida.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Tomas/tomaspajaparque.webm" type="video/webm"></video>
Tras varios minutos de paja, el hombre mayor consigue correrse, lanzando varias descargas de leche sobre un matorral. Acabada la escena, decides marcharte.
[[Regresar|Parque]]
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
Hidden beneath a bench, you watch Tomás as he confidently strides away from the marked path, venturing into the more secluded and wild parts of the park. You follow him at a distance, keeping a watchful eye on him. When you find him again, you hide once more so you can see, with perfect clarity, the adorable neighbor from 3B, his cock rock hard and naked. With one hand he grasps his cock, and with the other he caresses his chest, seemingly moaning with each thrust.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Tomas/tomaspajaparque.webm" type="video/webm"></video>
After several minutes of masturbation, the older man manages to ejaculate, shooting several spurts of semen onto a bush. Once the scene is over, you decide to leave.
[[Return|Parque]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Alex abandona a sus amigos con una excusa y se marcha directamente a una de las partes más escondidas del parque. Tú le sigues, interesado en descubrir que es lo que el malhumorado porreta está tramando. Consigues esconderte lo suficientemente cerca para poder ver que, alejado de toda mirada indiscreta menos la tuya, Alex se saca su polla de su pantalón y comienza a masturbarse.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Alex/alexpajaparque.webm" type="video/webm"></video>
Aterrado de que te encuentre espiándole, disfrutas de la escena, imaginándote como debe ser tener ese rabo entre tus manos.
[[Regresar|Parque]]
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Alex leaves his friends with an excuse and heads straight to one of the most secluded parts of the park. You follow him, curious to find out what the grumpy stoner is up to. You manage to hide close enough to see that, away from all prying eyes but yours, Alex pulls his penis out of his pants and begins to masturbate.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Alex/alexpajaparque.webm" type="video/webm"></video>
Terrified that he'll catch you spying on him, you enjoy the scene, imagining what it must be like to have that cock in your hands.
[[Return|Parque]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/parque.png" alt="Kebab abierto" />
</div>
A pesar de ir corriendo, consigues seguir a Adrián sin que se percate de tu presencia. Oculto tras la maleza de uno de los rincones más alejados del parque, puedes ver como, tras mirar alrededor y cerciorarse (erróneamente porque no te ha visto) que no hay nadie cerca, Adrián se baja sus pantalones cortos para mostrar un enorme raro empalmado, que comienza a masturbar con energía. Contemplas excitado y te tocas tu propia polla mientras ver a tu crush haciéndose una paja hasta que se corre sobre el césped.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adrian/adrianpajaparque.webm" type="video/webm"></video>
Antes de que se de cuenta de tu espionaje, decides marcharte.
[[Regresar|Parque]]
<<else>>
<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/parque.png" alt="Kebab abierto" />
</div>
Despite running, you manage to follow Adrian without him noticing you. Hidden behind the undergrowth in one of the park's more secluded corners, you see him look around and make sure (mistakenly, because he hasn't seen you) that no one is nearby. Then, Adrian pulls down his shorts to reveal a huge, hard-on, which he begins to vigorously masturbate. You watch, excited, and touch your own cock as you watch your crush jerk off until he ejaculates on the grass.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adrian/adrianpajaparque.webm" type="video/webm"></video>
Before he realizes you're spying on him, you decide to leave.
[[Return|Parque]]
<</if>><div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
const lang = State.variables.idioma || "es";
const dialogues = {
es: {
lines: [
{ speaker: "dem", text: "Has escogido la aplicación más aburrida" },
{ speaker: "sergio", text: "Bueno, parece interesante..." },
{ speaker: "dem", text: "A ver, no te permitirá ver desnudos a tus vecinos ni ponerles cachondos, pero te será muy útil para corromperlos." },
{ speaker: "sergio", text: "¿Cómo funciona?" },
{ speaker: "dem", text: "Es muy intuitivo. Selecciona la app y verás tres columnas. La primera es para el género, la segunda para la edad y la tercera para las características físicas y sociales. Escoge un género y un intervalo de edad. Luego elige cuatro características. Dale a aceptar y te convertirás en alguien nuevo" },
{ speaker: "sergio", text: "¿Como que ser otra persona? ¿Te refieres a parecerme a otro?" },
{ speaker: "dem", text: "No, me refiero a ser otra persona. Tu tendrás el control, tranquilo, pero a tu alrededor todos se comportaran como si fueras ese nuevo personaje que has creado. Además, sabrás y actuarás como ese personaje, como si siempre hubieses sido el." },
{ speaker: "sergio", text: "Da un poco de miedo..." },
{ speaker: "dem", text: "No te asustes y pruébalo. Eso sí, tienes dos limitaciones. No podrás convertirte en una persona real, o sea, no puedes ser Juanan, o Adrián. Luego, para evitar el desgaste de poder de mi señor, solo podrás convertirte en personajes que sean necesarios." },
{ speaker: "sergio", text: "¿Como sabré cuando un personaje es necesario?" },
{ speaker: "dem", text: "Usa tu intuición. Cuando necesites ser otra persona, simplemente. Escoge los valores correctos y ya lo tendrás. Por cierto, cumple la nueva misión y verás como el poder del móvil aumenta." }
],
buttonText: "Cuelgas"
},
en: {
lines: [
{ speaker: "dem", text: "You've chosen the most boring app" },
{ speaker: "sergio", text: "Well, it seems interesting..." },
{ speaker: "dem", text: "Look, it won't let you see your neighbors naked or make them horny, but it will be very useful for corrupting them." },
{ speaker: "sergio", text: "How does it work?" },
{ speaker: "dem", text: "It's very intuitive. Select the app and you'll see three columns. The first one is for gender, the second for age, and the third for physical and social characteristics. Choose a gender and an age range. Then select four characteristics. Hit accept and you'll become someone new" },
{ speaker: "sergio", text: "What do you mean become another person? Do you mean look like someone else?" },
{ speaker: "dem", text: "No, I mean BE another person. You'll have control, don't worry, but everyone around you will behave as if you were that new character you've created. Plus, you'll know and act like that character, as if you'd always been them." },
{ speaker: "sergio", text: "That's a bit scary..." },
{ speaker: "dem", text: "Don't be scared and try it. However, you have two limitations. You won't be able to become a real person, meaning you can't be Juanan or Adrián. Also, to avoid draining my lord's power, you'll only be able to become characters that are necessary." },
{ speaker: "sergio", text: "How will I know when a character is necessary?" },
{ speaker: "dem", text: "Use your intuition. When you need to be another person, simply do it. Choose the right values and you'll have it. By the way, complete the new mission and you'll see how the phone's power increases." }
],
buttonText: "You hang up"
}
};
const dialogue = dialogues[lang];
const characters = [
{
id: "dem",
name: lang === "es" ? "Dem" : "Dem",
portrait: "images/dem.png",
color: "#ff6b6b",
facing: "left"
},
{
id: "sergio",
name: lang === "es" ? "Sergio" : "Sergio",
portrait: "images/sergio.png",
color: "#ffd58a",
facing: "right"
}
];
const data = {
characters: characters,
lines: dialogue.lines,
options: Array(dialogue.lines.length).fill([]).map((_, i) =>
i === dialogue.lines.length - 1
? [{
text: dialogue.buttonText,
action: function() {
State.variables.notaSemblante = true;
Engine.play("habitacionsergio");
}
}]
: []
)
};
setTimeout(() => {
window.rpgDialogue(data);
}, 100);
});
<</script>><<set $cargasapps += 1>>
<<if $idioma is "es">>
<<script>>
// Resetear al semblante original antes de mostrar el diálogo
State.variables.currentPortrait = 'images/sergio.png';
State.variables.currentSemblanteActive = null;
State.variables.currentAppearance = null;
// Actualizar el retrato visible
if (window.semblanteArtificial) {
window.semblanteArtificial.updatePortraitDisplay();
}
<</script>>
<span class="vibrando">El móvil vibra</span> de nuevo en tu bolsillo.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Vuelvo a ser yo" },
{ speaker: "dem", text: "¡Muy bien! Has aprendido perfectamente a ser otras personas." },
{ speaker: "sergio", text: "Ha sido bastante raro." },
{ speaker: "dem", text: "Puede ser. Pero entiende que ser la persona que necesitas, en el momento que necesites es un modo perfecto para corromper a tus vecinos." },
{ speaker: "dem", text: "Ahora actualiza de nuevo el móvil, aumenta su poder e instálate una nueva app. Así aumentarás más el poder y el radio de acción del mismo." },
{ speaker: "sergio", text: "¡Genial!" },
{ speaker: "dem", text: "Date una vuelta y explora tus nuevos dominios. También es posible que ya puedas cumplir alguna de las misiones personales de tus objetivos. Recuerda que eso es tu prioridad." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Instalar nueva app",
action: function() {
State.variables.notaSemblante = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<<else>>
<<script>>
// Reset to original appearance before showing the dialogue
State.variables.currentPortrait = 'images/sergio.png';
State.variables.currentSemblanteActive = null;
State.variables.currentAppearance = null;
// Update visible portrait
if (window.semblanteArtificial) {
window.semblanteArtificial.updatePortraitDisplay();
}
<</script>>
<span class="vibrando">Your phone vibrates</span> again in your pocket.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "I'm myself again" },
{ speaker: "dem", text: "Excellent! You've learned perfectly how to be other people." },
{ speaker: "sergio", text: "It was quite weird." },
{ speaker: "dem", text: "Maybe so. But understand that being the person you need to be, at the moment you need to be them, is a perfect way to corrupt your neighbors." },
{ speaker: "dem", text: "Now update your phone again, increase its power and install a new app. This will further increase its power and range." },
{ speaker: "sergio", text: "Great!" },
{ speaker: "dem", text: "Take a walk around and explore your new domains. It's also possible that you can now complete some of the personal missions of your targets. Remember that's your priority." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Install new app",
action: function() {
State.variables.notaSemblante = false;
Engine.play("TiendApps");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
El rostro en la pantalla del ordenador te sonríe, curioso.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "¿Es algo sobre como corromperlo? ¿Ya tienes alguna idea?" },
{ speaker: "sergio", text: "Bueno, podria ser... pero no se como llevarla a cabo" },
{ speaker: "dem", text: "Yo estoy aquí para ayudar. Dime en que estás pensando" },
{ speaker: "sergio", text: "Bueno, Alex esta enganchado a la marihuana. Podriamos darle un poco a cambio de no se... que me hiciera una mamada, por ejemplo." },
{ speaker: "dem", text: "<em>Dem estalla en una carcajada</em> ¡No va a funcionar todo tan rapido chaval! Pero me gusta la idea, y creo que puedo ayudarte." },
{ speaker: "sergio", text: "¿Como?" },
{ speaker: "dem", text: "Con el tema de la droga. Ser un empleado de Lujuria me permite tener muchos contactos. Puedo conseguirte una hierba que va a volver loco a nuestro porrero" },
{ speaker: "sergio", text: "¿No le causara daño permanente, no?" },
{ speaker: "dem", text: "Nada de lo que el mismo no se haya provocado. Espera en tu casa y dejame mover algunos hilos. Te conseguire la droga, el resto ya es cosa tuya." },
{ speaker: "sergio", text: "Ok" }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Apagas el ordenador y esperas",
action: function() {
Engine.play("Llegadacamello");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
The face on the computer screen smiles at you, curious.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Is it about how to corrupt him? Do you already have any ideas?" },
{ speaker: "sergio", text: "Well, it could be... but I don't know how to carry it out" },
{ speaker: "dem", text: "I'm here to help. Tell me what you're thinking" },
{ speaker: "sergio", text: "Well, Alex is hooked on marijuana. We could give him some in exchange for... I don't know, him giving me a blowjob, for example." },
{ speaker: "dem", text: "<em>Dem bursts out laughing</em> It's not going to work that fast, kid! But I like the idea, and I think I can help you." },
{ speaker: "sergio", text: "How?" },
{ speaker: "dem", text: "With the drug thing. Being an employee of Lust gives me many contacts. I can get you some weed that will drive our stoner crazy" },
{ speaker: "sergio", text: "It won't cause him permanent damage, right?" },
{ speaker: "dem", text: "Nothing he hasn't already caused himself. Wait at your house and let me pull some strings. I'll get you the drug, the rest is up to you." },
{ speaker: "sergio", text: "Ok" }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "You turn off the computer and wait",
action: function() {
Engine.play("Llegadacamello");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(45)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
El timbre del telefonillo te sobresalta, a pesar de saber que venía visita. Nervioso, abres la puerta del portal y esperas a que quien sea que haya traído Dem llegue a tu casa.
Tras unos minutos, tocan a tu puerta. Abres nervioso y ante ti hay un joven de aspecto peligroso, que te observa con cara de malas pulgas.
<center><img src="images/Alex/camellopuerta.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "camello",
name: "Camello",
portrait: "images/Alex/camelloretrato.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "ehhh ¿Hola?" },
{ speaker: "camello", text: "¿Eres Sergio?" },
{ speaker: "sergio", text: "Sí" },
{ speaker: "camello", text: "<em>El hombre te entrega un paquete</em> Esto es para ti." },
{ speaker: "sergio", text: "Gra... gracias. <em>Comienzas a cerrar la puerta</em>" },
{ speaker: "camello", text: "<em>Pone la mano en la puerta</em> ¡Espera! ¿Y mi pago?" },
{ speaker: "sergio", text: "Claro, claro... no sé..." },
{ speaker: "camello", text: "<em>El hombre te empuja ligeramente y entra en tu casa con confianza</em> ¿La habitación está por allí?" },
{ speaker: "sergio", text: "Eh... Sí, allí está mi cuarto." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Le acompañas",
action: function() {
State.variables.Bolsadedroga = true;
State.variables.Semblantetraf = true;
Engine.play("Llegadacamello2");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(45)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
The intercom buzzer startles you, despite knowing a visitor was coming. Nervous, you open the building door and wait for whoever Dem has sent to arrive at your place.
After a few minutes, there's a knock on your door. You open it nervously and before you stands a dangerous-looking young man, observing you with a grumpy expression.
<center><img src="images/Alex/camellopuerta.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "camello",
name: "Dealer",
portrait: "images/Alex/camelloretrato.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "uhhh Hello?" },
{ speaker: "camello", text: "Are you Sergio?" },
{ speaker: "sergio", text: "Yes" },
{ speaker: "camello", text: "<em>The man hands you a package</em> This is for you." },
{ speaker: "sergio", text: "Th... thanks. <em>You start to close the door</em>" },
{ speaker: "camello", text: "<em>Puts his hand on the door</em> Wait! What about my payment?" },
{ speaker: "sergio", text: "Right, right... I don't know..." },
{ speaker: "camello", text: "<em>The man pushes you slightly and enters your house confidently</em> Is the bedroom that way?" },
{ speaker: "sergio", text: "Uh... Yes, my room is over there." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "You go with him",
action: function() {
State.variables.Bolsadedroga = true;
State.variables.Semblantetraf = true; // ← AÑADIR ESTA LÍNEA
Engine.play("Llegadacamello2");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
Alex te lanza una mirada asesina y cierra la puerta tras de sí, como si quisiera esconderte.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "¿Estás interesado?" },
{ speaker: "alex", text: "¿Qué coño me estás preguntando? ¿Aquí, al lado de mis viejos?" },
{ speaker: "alex", text: "¡Lárgate!" }
],
options: [
[],
[],
[
{
text: "Te cierra la puerta en los morros",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="landing" />
</div>
Alex shoots you a deadly look and closes the door behind him, as if wanting to hide you.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Are you interested?" },
{ speaker: "alex", text: "What the fuck are you asking me? Here, next to my parents?" },
{ speaker: "alex", text: "Get lost!" }
],
options: [
[],
[],
[
{
text: "He slams the door in your face",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(45)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
<p class="fade-in">Sigues al camello a tu cuarto, donde, sin mediar ninguna nueva palabra, te desabrocha el botón de los pantalones y te baja la ropa interior. Tu rabo reacciona al momento, llenándole la boca con cada una de sus movimientos de cuello. El camello tiene técnica, y además se nota que lo disfruta. Luego te arroja a la cama y sigue haciéndote la mamada, hasta que notas que no puedes más.</p>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/camellomamada.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "camello",
name: "Camello",
portrait: "images/Alex/camelloretrato.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Me corro, me corro" },
{ speaker: "camello", text: "<em>Sigue con la mamada hasta que tu descarga le llena la cara de esperma</em>" },
{ speaker: "camello", text: "Buena polla. <em>Da un último lametón</em>" },
{ speaker: "sergio", text: "Joder, esto ha sido..." },
{ speaker: "camello", text: "<em>Se limpia la cara con tus sábanas y comienza a marcharse</em> Si quieres un nuevo cargamento, llámame." },
{ speaker: "sergio", text: "Claro, claro." }
],
options: [
[],
[],
[],
[],
[],
[
{
text: "Le acompañas a la salida",
action: function() {
State.variables.traficantecasa = true;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(45)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
<p class="fade-in">You follow the dealer to your room, where, without saying another word, he unbuttons your pants and pulls down your underwear. Your cock reacts immediately, filling his mouth with each movement of his neck. The dealer has technique, and you can tell he enjoys it too. Then he throws you onto the bed and keeps blowing you, until you feel you can't take it anymore.</p>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/camellomamada.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "camello",
name: "Dealer",
portrait: "images/Alex/camelloretrato.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "I'm cumming, I'm cumming" },
{ speaker: "camello", text: "<em>Keeps sucking until your load fills his face with cum</em>" },
{ speaker: "camello", text: "Nice cock. <em>Gives one last lick</em>" },
{ speaker: "sergio", text: "Fuck, that was..." },
{ speaker: "camello", text: "<em>Wipes his face with your sheets and starts to leave</em> If you want a new shipment, call me." },
{ speaker: "sergio", text: "Sure, sure." }
],
options: [
[],
[],
[],
[],
[],
[
{
text: "You walk him to the exit",
action: function() {
State.variables.traficantecasa = true;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/parquenoche.jpg" alt="Parque de noche" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
<</if>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-extrovertido-manipulador-peligroso-urbano" && $Bolsadedroga>>
/* SEMBLANTE DE TRAFICANTE CON DROGA - Alex acepta */
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/traficanteretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Ey chico, estás interesado?' },
{ speaker: 'alex', text: '<em>Te mira con suspicacia</em> ¿De qué coño hablas tío?' },
{ speaker: 'sergio', text: '<em>Le entregas una pequeña bolsita de droga</em> Sé que por aquí os gusta divertiros. Os traigo una muestra, para que la probéis.' },
{ speaker: 'alex', text: '¿Qué mierda me estás dando?' },
{ speaker: 'sergio', text: 'Algo nuevo y distinto. Pruébalo, es gratis. Si te gusta, solo tienes que darme un toque <em>Arrojas una tarjeta con tu nombre</em>.' },
{ speaker: 'alex', text: 'Eso ya lo veremos <em>Coge la droga y la tarjeta</em>' }
],
options: [
[],
[],
[],
[],
[],
[
{
text: "Te marchas",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("Alexofrecerdroga3");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
/* TODO LO DEMÁS - Alex rechaza */
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'alex', text: '¿Pero qué puta mierda me estás ofreciendo? ¿Crees que soy tonto?' },
{ speaker: 'alex', text: 'Aquí no consumimos cualquier mierda. Y alguien con tu jeta está claro que no vende ni trapichea nada de buena calidad. La mierda buena viene de tíos mayores, de los que cuando sonríen, con su sonrisa perfecta, te cagas encima. ¡Fuera de aquí, capullo!' }
],
options: [
[],
[
{
text: "Te marchas",
action: function() {
Engine.play("Parque");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/parquenoche.jpg" alt="Park at night" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
<</if>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-extrovertido-manipulador-peligroso-urbano" && $Bolsadedroga>>
/* DEALER SEMBLANTE WITH DRUGS - Alex accepts */
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/traficanteretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey kid, you interested?' },
{ speaker: 'alex', text: '<em>Looks at you suspiciously</em> What the fuck are you talking about, dude?' },
{ speaker: 'sergio', text: '<em>You hand him a small bag of drugs</em> I know you guys like to have fun around here. I brought you a sample to try.' },
{ speaker: 'alex', text: 'What shit are you giving me?' },
{ speaker: 'sergio', text: 'Something new and different. Try it, it\'s free. If you like it, just give me a call <em>You toss him a card with your name</em>.' },
{ speaker: 'alex', text: 'We\'ll see about that <em>Takes the drugs and the card</em>' }
],
options: [
[],
[],
[],
[],
[],
[
{
text: "Leave",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("Alexofrecerdroga3");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
/* EVERYTHING ELSE - Alex rejects */
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'alex', text: 'What the fuck are you offering me? Do you think I\'m stupid?' },
{ speaker: 'alex', text: 'We don\'t consume just any shit here. And someone with your face clearly isn\'t selling or dealing anything of good quality. The good shit comes from older guys, the ones who when they smile with their perfect smile, you shit yourself. Get out of here, asshole!' }
],
options: [
[],
[
{
text: "Leave",
action: function() {
Engine.play("Parque");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(120)>>
Confías en que la marihuana que te ha proporcionado Dem sea tan buena como cree. Vuelves a tu casa a esperar la llamada de Alex, que sucede tras un par de horas.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/traficanteretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Si?' },
{ speaker: 'alex', text: 'Ehh ¿Eres el tío de antes del parque?' },
{ speaker: 'sergio', text: '¿Te ha gustado, verdad?' },
{ speaker: 'alex', text: 'Si tío. Es súper aromática y luego te deja tranqui que no veas... Es muy buena. Mis colegas quieren probarla...' },
{ speaker: 'sergio', text: 'Ya te lo dije. Pero la primera era gratis, ahora toca pagarla.' },
{ speaker: 'alex', text: 'Claro tío, por supuesto. ¿Cuánto vale?' },
{ speaker: 'sergio', text: 'No quiero dinero, de eso tengo el que quiera. Quiero otra cosa.' },
{ speaker: 'sergio', text: 'Eres un chico muy guapo, ¿Lo sabías? Hay mucha gente que pagaría por estar contigo.' },
{ speaker: 'alex', text: '¿Qué mierdas gays me estás diciendo? No soy una puta.' },
{ speaker: 'sergio', text: 'Claro que no. Por eso eres especial. Mira, no te estoy pidiendo que te comas una polla, solo algo sencillo. Solo quiero una foto.' },
{ speaker: 'alex', text: 'Voy a colgar tío.' },
{ speaker: 'sergio', text: 'Como quieras. Es tu decisión. Si estás interesado, llámame.' },
{ speaker: 'alex', text: '¡Espera! ¿Qué tipo de foto?' },
{ speaker: 'sergio', text: 'Ya sabes qué foto quiero. Quiero una en la que salgas desnudo, y con tu polla bien dura. Quiero que me pongas cachondo con esa foto. Envíamela y yo te daré la droga que necesites.' },
{ speaker: 'alex', text: '¿Solo una foto?' },
{ speaker: 'sergio', text: 'Solo una foto.' },
{ speaker: 'alex', text: 'Puto maricón. <em>Cuelga</em>' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Guardas el móvil",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("Alexofrecerdroga4");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(120)>>
You trust that the marijuana Dem provided you is as good as he believes. You return home to wait for Alex\'s call, which happens after a couple of hours.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/traficanteretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Yes?' },
{ speaker: 'alex', text: 'Hey, are you the guy from the park earlier?' },
{ speaker: 'sergio', text: 'You liked it, right?' },
{ speaker: 'alex', text: 'Yeah man. It\'s super aromatic and then it leaves you so chill... It\'s really good. My buddies want to try it...' },
{ speaker: 'sergio', text: 'I told you. But the first one was free, now you have to pay.' },
{ speaker: 'alex', text: 'Sure man, of course. How much is it?' },
{ speaker: 'sergio', text: 'I don\'t want money, I have all I want. I want something else.' },
{ speaker: 'sergio', text: 'You\'re a very handsome guy, did you know that? There are lots of people who would pay to be with you.' },
{ speaker: 'alex', text: 'What gay shit are you telling me? I\'m not a whore.' },
{ speaker: 'sergio', text: 'Of course not. That\'s why you\'re special. Look, I\'m not asking you to suck a dick, just something simple. I just want a photo.' },
{ speaker: 'alex', text: 'I\'m hanging up man.' },
{ speaker: 'sergio', text: 'As you wish. It\'s your decision. If you\'re interested, call me.' },
{ speaker: 'alex', text: 'Wait! What kind of photo?' },
{ speaker: 'sergio', text: 'You know what photo I want. I want one where you\'re naked, with your cock nice and hard. I want you to turn me on with that photo. Send it to me and I\'ll give you the drugs you need.' },
{ speaker: 'alex', text: 'Just one photo?' },
{ speaker: 'sergio', text: 'Just one photo.' },
{ speaker: 'alex', text: 'Fucking faggot. <em>Hangs up</em>' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: "You put away your phone",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("Alexofrecerdroga4");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
El móvil vuelve a vibrar para indicarte que has recibido un mensaje. Lo abres con nerviosismo y ves un mensaje de Alex. Es una foto, con un texto que dice: "toma tu foto. Ahora quiero mi droga"
<center><img src="images/Alex/alexfotobaño.jpg" class="fade-in" width="400"></center>
No tardas en contestarle:
"Muy bien. Tienes un cuerpo de escándalo. Ya sabes mi precio. Díselo a tus colegas que si quieren de mi hierba, deben pagar"
Envías el mensaje y vas a ver tu alijo de droga. Es suficiente para distribuirlo entre los amigos de Alex y él mismo. Hay que volver a encontrarse con ellos en el parque.
<<set $notaAlex1 to false>>
<<if not $recuerdosAlex>><<set $recuerdosAlex = 0>><</if>>
<<set $recuerdosAlex += 1>>
<<set $notaAlex2 to true>>
<<set $RecuerdoAlex1 to true>>
<<set $corrupcionAlex to 10>>
[[Continúas con tu día|habitacionsergio]]
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
Your phone vibrates again to indicate you've received a message. You open it nervously and see a message from Alex. It's a photo, with a text that says: "here's your photo. Now I want my drugs"
<center><img src="images/Alex/alexfotobaño.jpg" class="fade-in" width="400"></center>
You don't take long to respond:
"Very good. You have an incredible body. You know my price. Tell your buddies that if they want my weed, they have to pay"
You send the message and go check your drug stash. It's enough to distribute among Alex's friends and himself. You need to meet them again in the park.
<<set $notaAlex1 to false>>
<<if not $recuerdosAlex>><<set $recuerdosAlex = 0>><</if>>
<<set $recuerdosAlex += 1>>
<<set $notaAlex2 to true>>
<<set $RecuerdoAlex1 to true>>
<<set $corrupcionAlex to 10>>
[[You continue with your day|habitacionsergio]]
<</if>><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/parquenoche.jpg" alt="Parque de noche" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
<</if>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-extrovertido-manipulador-peligroso-urbano" && ($Bolsadedroga || $notaAlex2)>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola, chicos, ¿me esperabais?' },
{ speaker: 'alex', text: 'Sí, tío. Todos probaron una calada de la mía y les ha molado mucho. También quieren.' },
{ speaker: 'sergio', text: '<em>Les enseñas las bolsitas de droga</em> ¿Sabéis todos el precio, no? ¿Os lo ha explicado Alex?' },
{ speaker: 'alex', text: 'Los amigos de Alex asienten. Lo saben y lo aceptan. Danos la hierba.' },
{ speaker: 'sergio', text: 'Muy bien. Espero recibir las fotos. Para cualquier cosa que necesites, Alex, llámame.' },
{ speaker: 'alex', text: '<em>Coge las bolsas.</em> Ok tío.' }
],
options: [
[], [], [], [], [],
[
{
text: "Te marchas",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("Alexdrogaparte3");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: State.variables.currentPortrait || 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Largo de aquí, estamos esperando a alguien importante que tiene que traernos algo.' },
{ speaker: 'sergio', text: 'Vale, vale, ya me voy.' }
],
options: [
[],
[
{
text: "Te marchas",
action: function() {
Engine.play("Parque");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/parquenoche.jpg" alt="Park at night" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
<</if>>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-extrovertido-manipulador-peligroso-urbano" && ($Bolsadedroga || $notaAlex2)>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hey, guys, were you waiting for me?' },
{ speaker: 'alex', text: 'Yeah, man. They all tried a hit of mine and loved it. They want some too.' },
{ speaker: 'sergio', text: '<em>You show them the bags of drugs</em> You all know the price, right? Did Alex explain it to you?' },
{ speaker: 'alex', text: 'Alex\'s friends nod. They know and accept it. Give us the weed.' },
{ speaker: 'sergio', text: 'Very good. I expect to receive the photos. For anything you need, Alex, call me.' },
{ speaker: 'alex', text: '<em>He grabs the bags.</em> Ok man.' }
],
options: [
[], [], [], [], [],
[
{
text: "You leave",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("Alexdrogaparte3");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: State.variables.currentPortrait || 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Get out of here, we\'re waiting for someone important who has to bring us something.' },
{ speaker: 'sergio', text: 'Okay, okay, I\'m leaving.' }
],
options: [
[],
[
{
text: "You leave",
action: function() {
Engine.play("Parque");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
Vuelves a la seguridad de tu habitación a la espera de las nuevas fotos de los amigos de Alex, esperando que su ejemplo haga que este se atreva a hacer algo más caliente. Las fotos no tardan en llegar, y disfrutas de ver los cuerpos desnudos de esos porreros.
<center><img src="images/Alex/porrero1.jpg" class="fade-in" width="400"></center>
<center><img src="images/Alex/porrero2.jpg" class="fade-in" width="400"></center>
<center><img src="images/Alex/porrero3.jpg" class="fade-in" width="400"></center>
Entonces, tras comenzar a masturbarte con las fotos recibidas, te das cuenta de que te falta una. La de Alex. Sin dilación, decides llamarle.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Dime tío, ¿Has recibido las fotos?' },
{ speaker: 'sergio', text: '¿Me estás tomando el pelo, gilipollas? ¿Sabes con quién estás hablando?' },
{ speaker: 'alex', text: 'Tranqui tío, ¿Qué pasa?' },
{ speaker: 'sergio', text: 'No me engañes. No he recibido la tuya.' },
{ speaker: 'alex', text: 'Pero, pensaba que... al tener las de mis colegas y habértelas conseguido yo...' },
{ speaker: 'sergio', text: 'El precio es el mismo para todo el mundo. Yo no doy nada gratis.' },
{ speaker: 'alex', text: '¡No voy a enviarte nada más, marica salido!' },
{ speaker: 'sergio', text: 'Como quieras. Entonces se acabó la droga.' },
{ speaker: 'alex', text: '¡Espera! Me cago en la puta... Ok. Lo haré.' },
{ speaker: 'sergio', text: 'Me alegra que atiendas a razones. Hazme una videollamada.' },
{ speaker: 'alex', text: '¿Cómo?' },
{ speaker: 'sergio', text: 'Quiero verte en directo. Venga, cuelga y llámame de nuevo.' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Cuelgas y esperas la llamada",
action: function() {
Engine.play("Alexdrogaparte4");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
You return to the safety of your room waiting for the new photos from Alex\'s friends, hoping their example will encourage him to do something hotter. The photos don\'t take long to arrive, and you enjoy seeing the naked bodies of those stoners.
<center><img src="images/Alex/porrero1.jpg" class="fade-in" width="400"></center>
<center><img src="images/Alex/porrero2.jpg" class="fade-in" width="400"></center>
<center><img src="images/Alex/porrero3.jpg" class="fade-in" width="400"></center>
Then, after starting to masturbate with the received photos, you realize one is missing. Alex\'s. Without delay, you decide to call him.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Hey man, did you get the photos?' },
{ speaker: 'sergio', text: 'Are you kidding me, asshole? Do you know who you\'re talking to?' },
{ speaker: 'alex', text: 'Chill man, what\'s wrong?' },
{ speaker: 'sergio', text: 'Don\'t play dumb with me. I didn\'t get yours.' },
{ speaker: 'alex', text: 'But I thought... since you have my buddies\' and I got them for you...' },
{ speaker: 'sergio', text: 'The price is the same for everyone. I don\'t give anything for free.' },
{ speaker: 'alex', text: 'I\'m not sending you anything else, you horny fag!' },
{ speaker: 'sergio', text: 'As you wish. Then no more drugs.' },
{ speaker: 'alex', text: 'Wait! Fucking hell... Ok. I\'ll do it.' },
{ speaker: 'sergio', text: 'I\'m glad you see reason. Video call me.' },
{ speaker: 'alex', text: 'What?' },
{ speaker: 'sergio', text: 'I want to see you live. Come on, hang up and call me again.' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "You hang up and wait for the call",
action: function() {
Engine.play("Alexdrogaparte4");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<<set $alexExcitadoDestino = "Alexdrogaparte4exito">>
<<if $idioma is "es">>
Te impacientas al no recibir enseguida la llamada. Tu semblante te afecta, y al traficante nadie le hace esperar. Cuando vuelve a sonar tu móvil, sonríes con picardía, aceptas la videollamada y ves al otro lado a Alex, que con un porro en la mano te mira, amenazante.
No hace falta decir nada más. Alex le da una calada y es incapaz de pensar en otra cosa que en su siguiente porro. Comienza a desnudarse ante la cámara, que deja en una mesilla de su habitación. A desgana, acaricia su cuerpo desnudo mientras su polla comienza a aumentar de tamaño. Está claro que no hace esto porque le apetece.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/pajaalexvideo.webm" type="video/webm"></video></center>
Estás excitado. Tener a tu merced al malhumorado Alex te ha puesto caliente y comienzas a masturbarte. Pero quieres ver al propio Alex igual. Quieres verlo igual de cachondo.
<span><<link "No hacer nada en especial">><<run Engine.play("Alexdrogaparte4sinapp")>><</link>></span>
<<else>>
You grow impatient at not receiving the call right away. Your semblante affects you, and nobody makes the dealer wait. When your phone rings again, you smile mischievously, accept the video call and see Alex on the other side, who looks at you threateningly with a joint in his hand.
Nothing more needs to be said. Alex takes a drag and is unable to think about anything other than his next joint. He begins to undress in front of the camera, which he leaves on a nightstand in his room. Reluctantly, he caresses his naked body as his cock begins to grow in size. It\'s clear he\'s not doing this because he wants to.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/pajaalexvideo.webm" type="video/webm"></video></center>
You\'re aroused. Having the grumpy Alex at your mercy has turned you on and you start masturbating. But you want to see Alex himself the same way. You want to see him just as horny.
<span><<link "Do nothing in particular">><<run Engine.play("Alexdrogaparte4sinapp")>><</link>></span>
<</if>><<run setup.gameTime.addMinutes(15)>>
<<if $idioma is "es">>
Tras quince minutos de video, Alex parece cansarse y, con una mirada ceñuda, se acerca a su móvil.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'Ya has tenido suficiente. Si quieres más tendrás que darme más hierba.' },
{ speaker: 'sergio', text: 'Claro, nos vemos en el parque.' },
{ speaker: 'sergio', text: '<em>Él ha vuelto a tener el control. Debe de haber algo que pueda hacer la próxima vez para que esto no suceda.</em>' }
],
options: [
[], [],
[
{
text: "Cuelga",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
After fifteen minutes of video, Alex seems to tire and, with a scowling look, approaches his phone.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'alex', text: 'You\'ve had enough. If you want more you\'ll have to give me more weed.' },
{ speaker: 'sergio', text: 'Sure, see you at the park.' },
{ speaker: 'sergio', text: '<em>He\'s regained control. There must be something I can do next time to prevent this from happening.</em>' }
],
options: [
[], [],
[
{
text: "Hang up",
action: function() {
State.variables.Bolsadedroga = false;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(20)>>
<<set $recuerdosAlex += 1>>
<<set $RecuerdoAlex2 to true>>
<<if $idioma is "es">>
La cara desencajada de Alex mientras le excitas a través de la cámara de su móvil es pura delicia. Verle correrse sobre su pecho hace que tú también te corras.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/pajaalexvideo2.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Menuda paja te has hecho...' },
{ speaker: 'alex', text: '<em>Se mantiene en silencio</em>' },
{ speaker: 'sergio', text: 'Yo la he disfrutado. ¿Tú no?' },
{ speaker: 'alex', text: '<em>Sigue en silencio</em>' },
{ speaker: 'sergio', text: 'Tranquilo. Me guardaré este secreto, pero reconoce que no ha estado tan mal la experiencia.' },
{ speaker: 'alex', text: '¡Cállate!' },
{ speaker: 'sergio', text: 'Bueno, nos vemos en unos días para algo más de hierba. ¿Sigues estando interesado, no?' },
{ speaker: 'alex', text: '<em>Asiente en silencio y se acerca al móvil</em>' }
],
options: [
[], [], [], [], [], [], [],
[
{
text: "Cuelga",
action: function() {
State.variables.notaAlex2 = false;
State.variables.Bolsadedroga = false;
State.variables.corrupcionAlex = 30;
State.variables.notaAlex3 = true;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Alex\'s distorted face as you arouse him through his phone\'s camera is pure delight. Seeing him cum on his chest makes you cum too.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/pajaalexvideo2.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{ id: 'alex', name: 'Alex', portrait: 'images/Alex/alex.png', color: '#c0392b', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/traficanteretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'What a jerk-off session you just had...' },
{ speaker: 'alex', text: '<em>Remains silent</em>' },
{ speaker: 'sergio', text: 'I enjoyed it. Didn\'t you?' },
{ speaker: 'alex', text: '<em>Continues in silence</em>' },
{ speaker: 'sergio', text: 'Relax. I\'ll keep this secret, but admit the experience wasn\'t so bad.' },
{ speaker: 'alex', text: 'Shut up.' },
{ speaker: 'sergio', text: 'Well, see you in a few days for some more weed. You\'re still interested, right?' },
{ speaker: 'alex', text: '<em>Nods silently and approaches the phone</em>' }
],
options: [
[], [], [], [], [], [], [],
[
{
text: "Hang up",
action: function() {
State.variables.notaAlex2 = false;
State.variables.Bolsadedroga = false;
State.variables.corrupcionAlex = 30;
State.variables.notaAlex3 = true;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Alex/Alex.png" alt="Alex">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Alex</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosAlex>></strong> recuerdo<<if $recuerdosAlex > 1>>s<</if>> especial<<if $recuerdosAlex > 1>>es<</if>> con Alex.
</p>
<<else>>
<div class="header-image">
<img src="images/Alex/Alex.png" alt="Alex">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Alex</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosAlex>></strong> special memor<<if $recuerdosAlex > 1>>ies<<else>>y<</if>> with Alex.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoAlex1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Foto a cambio de maría</h3>
<p>El camello y la primera foto comprometida...</p>
<<else>>
<h3>Memory 1: Photo for weed</h3>
<p>The dealer and the first compromising photo...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAlex1">><</link>>
<<else>>
<<link "View →" "RecuerdoAlex1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAlex2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Los Colegas del Parque</h3>
<p>Todos pagan con fotos... y Alex con algo más.</p>
<<else>>
<h3>Memory 2: The Park Buddies</h3>
<p>Everyone pays with photos... and Alex with something more.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAlex2">><</link>>
<<else>>
<<link "View →" "RecuerdoAlex2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAlex3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Encuentro en el Kebab</h3>
<p>Una noche inesperada con el porrero...</p>
<<else>>
<h3>Memory 3: Encounter at the Kebab</h3>
<p>An unexpected night with the stoner...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAlex3">><</link>>
<<else>>
<<link "View →" "RecuerdoAlex3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAlex4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Madrugada Intensa</h3>
<p>La noche que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Intense Dawn</h3>
<p>The night everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAlex4">><</link>>
<<else>>
<<link "View →" "RecuerdoAlex4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAlex5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Sesión Especial</h3>
<p>El momento más intenso con Alex...</p>
<<else>>
<h3>Memory 5: Special Session</h3>
<p>The most intense moment with Alex...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAlex5">><</link>>
<<else>>
<<link "View →" "RecuerdoAlex5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: Foto a cambio de maría</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Para corromper a Alex, había que darle una marihuana tan buena que solo pensara en fumarla. Pediste ayuda a Dem, tu demonio de confianza, y este te envió a un atractivo y joven camello, que te proporcionó varios gramos de hierba a cambio de hacerte una mamada.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Alex/camellomamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras el interesante trato, fuiste al parque donde Alex se reúne todas las tardes y noches a beber y a fumar. Vistiendo el semblante de un traficante estereotipado, le regalaste una bolsita, que al probarla, le enganchó de inmediato.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cuando volvió a contactar contigo, solo le pediste algo a cambio: una foto de él desnudo. Se mostró reticente al principio, pero la necesidad de llenar de nuevo sus pulmones con ese humo tan delicioso hizo que te enviara la siguiente foto:
</p>
<center><img src="images/Alex/alexfotobaño.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<<else>>
<h2 class="fade">🌟 Memory 1: Photo for weed</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
To corrupt Alex, you needed to give him weed so good that he would think of nothing but smoking it. You asked Dem, your trusty demon, for help, and he sent you to an attractive young dealer, who provided you with several grams of herb in exchange for a blowjob.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Alex/camellomamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After the interesting deal, you went to the park where Alex meets every afternoon and evening to drink and smoke. Wearing the appearance of a stereotypical drug dealer, you gifted him a small bag, which upon trying it, hooked him immediately.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When he contacted you again, you only asked for one thing in return: a nude photo of him. He was reluctant at first, but the need to fill his lungs again with that delicious smoke made him send you the following photo:
</p>
<center><img src="images/Alex/alexfotobaño.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Alex" "RecuerdosAlex">>
<</link>>
<<else>>
<<link "⬅️ Back to Alex's Memories" "RecuerdosAlex">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Los Colegas del Parque</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Parece que el porrero del 1A dio a probar unas caladas de tu hierba especial a sus colegas, que quedaron encantados con la maría de Dem. Alex, como buen amigo, contactó con tu semblante, el traficante, para que trajera un poco más de esa nueva droga.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al llegar al parque, todos aceptaron el mismo pago que Alex: unas fotos desnudos, que no tardaron en enviar a tu móvil.
</p>
<center><img src="images/Alex/porrero1.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<center><img src="images/Alex/porrero2.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<center><img src="images/Alex/porrero3.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pero tú al que querías de verdad era a Alex, así que le exigiste que pagara su parte, y con intereses. Le obligaste a que te hiciera una videollamada y se masturbara para ti. Él, molesto por verse obligado, lo hizo a regañadientes mientras se fumaba el porro tan deseado.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Alex/pajaalexvideo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al ver que no disfrutaba tanto como debía, usaste la app de Excitación a Distancia para, a través de la cámara de su móvil, ponerle tan cachondo que acabó eyaculando, dejando al porrero sin palabras. Se había hecho una paja ante un hombre, y le había gustado.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Alex/pajaalexvideo2.webm" type="video/webm"></video></center>
<<else>>
<h2 class="fade">🌟 Memory 2: The Park Buddies</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
It seems the stoner from 1A let his buddies try a few puffs of your special weed, and they were delighted with Dem's marijuana. Alex, being a good friend, contacted your semblance, the dealer, to bring a bit more of that new drug.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Upon arriving at the park, everyone accepted the same payment as Alex: nude photos, which they quickly sent to your phone.
</p>
<center><img src="images/Alex/porrero1.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<center><img src="images/Alex/porrero2.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<center><img src="images/Alex/porrero3.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
But you really wanted Alex, so you demanded that he pay his share, with interest. You forced him to make a video call and masturbate for you. He, annoyed at being forced, did it reluctantly while smoking the much-desired joint.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Alex/pajaalexvideo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Seeing that he wasn't enjoying it as much as he should, you used the Remote Arousal app to, through his phone's camera, make him so horny that he ended up ejaculating, leaving the stoner speechless. He had jerked off in front of a man, and he had liked it.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Alex/pajaalexvideo2.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Alex" "RecuerdosAlex">>
<</link>>
<<else>>
<<link "⬅️ Back to Alex's Memories" "RecuerdosAlex">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
<<if visited() is 1>>
<<run setup.gameTime.addMinutes(5)>>
Crees recordar cuál es el videojuego que mantiene en su cuarto a Leo, un tal Force Assault. Lo buscas por internet y, con ayuda de Dem, lo instalas gratuitamente. Entonces te pones a buscar al muchacho obsesionado con los videojuegos.
<</if>>
<<set _leoLocation = setup.getCharacterLocation('Leo')>>
<<set _leoPlaying = _leoLocation && (_leoLocation.action.toLowerCase().includes('jugando') || _leoLocation.action.toLowerCase().includes('videojuegos') || _leoLocation.action.toLowerCase().includes('playing') || _leoLocation.action.toLowerCase().includes('videogames'))>>
<<if _leoPlaying>>
<p>Enciendes tu ordenador y abres Force Assault. Después de unos minutos de búsqueda en las partidas online, encuentras a un jugador con el nickname que crees que podría ser Leo.</p>
<p>Te unes a su partida...</p>
<div style="text-align: center; margin: 20px 0;">
[[Jugar con Leo|JugarConLeo]]
</div>
<div style="text-align: center; margin: 20px 0;">
[[Volver|habitacionsergio]]
</div>
<<else>>
<p>Enciendes tu ordenador y abres Force Assault, pero después de buscar durante un rato no encuentras a Leo conectado. Quizá no esté jugando ahora mismo.</p>
<p><em>Leo está <<print _leoLocation.action>> en <<print _leoLocation.location>>.</em></p>
<p>Deberías intentarlo cuando sepas que está jugando videojuegos en su habitación. Según lo que sabes de él, suele jugar de 10:30 a 14:00 y de 18:00 a 22:00.</p>
<div style="text-align: center; margin: 20px 0;">
[[Volver|habitacionsergio]]
</div>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
<<if visited() is 1>>
<<run setup.gameTime.addMinutes(5)>>
You think you remember the video game that keeps Leo in his room, something called Force Assault. You search for it online and, with Dem's help, install it for free. Then you start looking for the boy obsessed with video games.
<</if>>
<<set _leoLocation = setup.getCharacterLocation('Leo')>>
<<set _leoPlaying = _leoLocation && (_leoLocation.action.toLowerCase().includes('jugando') || _leoLocation.action.toLowerCase().includes('videojuegos') || _leoLocation.action.toLowerCase().includes('playing') || _leoLocation.action.toLowerCase().includes('videogames'))>>
<<if _leoPlaying>>
<p>You turn on your computer and open Force Assault. After a few minutes of searching through online matches, you find a player with a nickname you think might be Leo.</p>
<p>You join his game...</p>
<div style="text-align: center; margin: 20px 0;">
[[Play with Leo|JugarConLeo]]
</div>
<div style="text-align: center; margin: 20px 0;">
[[Back|habitacionsergio]]
</div>
<<else>>
<p>You turn on your computer and open Force Assault, but after searching for a while you can't find Leo online. Maybe he's not playing right now.</p>
<p><em>Leo is <<print _leoLocation.action>> at <<print _leoLocation.location>>.</em></p>
<p>You should try when you know he's playing video games in his room. From what you know about him, he usually plays from 10:30 to 14:00 and from 18:00 to 22:00.</p>
<div style="text-align: center; margin: 20px 0;">
[[Back|habitacionsergio]]
</div>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(65)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
Le encuentras en el juego, un shooter cooperativo donde entras en su equipo. Claramente, para evitar que se le reconociera, usas un nick, Masterslayer. Con ayuda de Dem, que manipula de alguna manera el juego, logras llamarle la atención, y no tarda en, tras varias partidas, contactar contigo por privado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/Forceassault.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Leo/masterslayer.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'leo', text: '¡Hola! ¡Eres muy bueno!' },
{ speaker: 'masterslayer', text: 'Gracias. Tú también. La verdad es que me he fijado en ti.' },
{ speaker: 'leo', text: '¡No, qué va! Tú juegas mucho mejor que yo, se nota que le dedicas más tiempo.' },
{ speaker: 'masterslayer', text: 'Lo que me dejan mis estudios.' },
{ speaker: 'leo', text: 'Pues podemos quedar más veces por aquí y hacemos equipo otra vez. ¿Qué te parece, tío?' },
{ speaker: 'masterslayer', text: 'Estaría genial pero... no soy un tío. Soy una chica.' },
{ speaker: 'leo', text: '<em>¿Cómo?... yo... No me lo esperaba...</em>' },
{ speaker: 'masterslayer', text: 'Claro que sí. Mira, este es mi contacto de Discord. Hablemos.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Habláis por Discord',
action: function() {
Engine.play('JugarconLeo2');
}
}
]
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(65)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
You find him in the game, a cooperative shooter where you join his team. Clearly, to avoid being recognized, you use a nickname, Masterslayer. With Dem's help, who somehow manipulates the game, you manage to get his attention, and it doesn't take long before, after several matches, he contacts you privately.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/Forceassault.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Leo/masterslayer.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'leo', text: 'Hey! You\'re really good!' },
{ speaker: 'masterslayer', text: 'Thanks. You too. I\'ve actually been watching you.' },
{ speaker: 'leo', text: 'No way! You play much better than me, I can tell you put more time into it.' },
{ speaker: 'masterslayer', text: 'Whatever time my studies allow me.' },
{ speaker: 'leo', text: 'Well, we can meet up here more often and team up again. What do you think, dude?' },
{ speaker: 'masterslayer', text: 'That would be great but... I\'m not a dude. I\'m a girl.' },
{ speaker: 'leo', text: '<em>What?... I... I wasn\'t expecting that...</em>' },
{ speaker: 'masterslayer', text: 'Of course. Look, this is my Discord contact. Let\'s talk.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'You chat on Discord',
action: function() {
Engine.play('JugarconLeo2');
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(35)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
Había sido un buen intento, pero sabes que al escuchar tu voz Leo es imposible que no te reconozca. Pero antes de conectarte, un mensaje escrito aparece en tu monitor:
"Deja que yo me encargue de eso"
Así que te conectas con la cámara apagada. Frente a ti está Leo, que te sonríe tímidamente.
<center><img src="images/Leo/leowebcam.png" class="fade-in" width="400"></center>
Entonces le saludas, y Dem, mediante algún tipo de programa o algún poder que desconoces, cambia tu voz para ser la de una joven y sexy jugadora. Enseguida te metes en tu papel, diciéndole que la cámara la tienes estropeada y comenzáis a charlar sobre videojuegos. Dem te sigue ayudando, buscando la información que necesitas para conquistar a Leo. En menos de veinte minutos, ya lo tienes en tus manos.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Leo/masterslayer.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'leo', text: 'Es genial hablar con alguien como tú.' },
{ speaker: 'masterslayer', text: 'Sí. La verdad es que además de saber mucho sobre videojuegos, también eres muy guapo.' },
{ speaker: 'leo', text: '<em>Desvía la mirada, tímido</em> ¡Qué va!' },
{ speaker: 'masterslayer', text: 'Sí que lo eres. Y muy sexy.' },
{ speaker: 'leo', text: '¿De verdad lo piensas?' },
{ speaker: 'masterslayer', text: 'Sí. Desde que te he visto solo pienso en saber cómo tienes que ser por debajo de esa camiseta.' },
{ speaker: 'leo', text: 'Pues muy poquita cosa. Soy muy delgado y blanco.' },
{ speaker: 'masterslayer', text: 'A mí me gustan los chicos así, como vampiros. ¿Puedo ver algo?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Se aumenta la temperatura de la conversación',
action: function() {
Engine.play('JugarconLeo3');
}
}
]
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(35)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
It had been a good attempt, but you know that if Leo hears your voice, it's impossible he won't recognize you. But before you connect, a written message appears on your monitor:
"Let me handle that"
So you connect with the camera off. In front of you is Leo, smiling shyly at you.
<center><img src="images/Leo/leowebcam.png" class="fade-in" width="400"></center>
Then you greet him, and Dem, through some kind of program or some power you don't understand, changes your voice to that of a young and sexy gamer girl. You quickly get into character, telling him that your camera is broken and you start chatting about video games. Dem keeps helping you, searching for the information you need to win Leo over. In less than twenty minutes, you've got him in your hands.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Leo/masterslayer.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'leo', text: 'It\'s great to talk with someone like you.' },
{ speaker: 'masterslayer', text: 'Yeah. The truth is that besides knowing a lot about video games, you\'re also very handsome.' },
{ speaker: 'leo', text: '<em>Looks away, shy</em> No way!' },
{ speaker: 'masterslayer', text: 'Yes you are. And very sexy.' },
{ speaker: 'leo', text: 'Do you really think so?' },
{ speaker: 'masterslayer', text: 'Yes. Since I saw you, I can only think about what you must look like under that shirt.' },
{ speaker: 'leo', text: 'Well, not much to see. I\'m very thin and pale.' },
{ speaker: 'masterslayer', text: 'I like guys like that, like vampires. Can I see something?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'The temperature of the conversation rises',
action: function() {
Engine.play('JugarconLeo3');
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(35)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
Los piropos y el uso melodioso de la voz hace que poco a poco, Leo se caliente. Primero se levantó la camiseta, mostrando su pecho lampiño, sin vello y delgado, como había anunciado antes. Luego se quitó los pantalones hasta quedarse en ropa interior, mostrando un enorme paquete empalmado. Animado por ti, Leo hace una locura para él mismo y, bajándose los calzoncillos, te muestra su polla erecta.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/leopajawebcam.webm" type="video/webm"></video></center>
Tú te sacas también la polla y comienzas a masturbarte mientras tu voz feminizada por Dem le alaba la grandeza de su miembro. Cuando parece que todo va perfecto, Leo se detiene, poniéndose de nuevo la ropa.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Leo/masterslayer.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'masterslayer', text: '¿Qué pasa? ¿No te estaba gustando?' },
{ speaker: 'leo', text: 'Sí, pero... Esto está siendo demasiado raro. Yo... Ni siquiera te conozco.' },
{ speaker: 'masterslayer', text: 'Soy yo.' },
{ speaker: 'leo', text: 'Te acabo de conocer. Podrías ser cualquier persona ahí detrás. Podrías ser hasta un hombre.' },
{ speaker: 'masterslayer', text: '¿Qué tontería dices?' },
{ speaker: 'leo', text: 'Tengo que dejarlo. <em>Se desconecta</em>' },
{ speaker: 'masterslayer', text: 'Mierda. Quería verle correrse.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Te desconectas',
action: function() {
State.variables.notaLeo1 = false;
State.variables.corrupcionLeo = 10;
State.variables.notaLeo2 = true;
State.variables.Semblantegamer = true;
State.variables.recuerdosLeo = (State.variables.recuerdosLeo || 0) + 1;
State.variables.RecuerdoLeo1 = true;
Engine.play('habitacionsergio');
}
}
]
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(35)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
The compliments and the melodious use of your voice gradually make Leo get hot. First he lifted his shirt, showing his smooth, hairless and thin chest, as he had announced before. Then he took off his pants until he was in his underwear, showing a huge bulge. Encouraged by you, Leo does something crazy for himself and, pulling down his underwear, shows you his erect cock.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/leopajawebcam.webm" type="video/webm"></video></center>
You also take out your cock and start masturbating while your voice, feminized by Dem, praises the greatness of his member. When everything seems to be going perfectly, Leo stops, putting his clothes back on.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Leo/masterslayer.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'masterslayer', text: 'What\'s wrong? Weren\'t you enjoying it?' },
{ speaker: 'leo', text: 'Yes, but... This is getting too weird. I... I don\'t even know you.' },
{ speaker: 'masterslayer', text: 'It\'s me.' },
{ speaker: 'leo', text: 'I just met you. You could be anyone behind there. You could even be a man.' },
{ speaker: 'masterslayer', text: 'What nonsense are you talking about?' },
{ speaker: 'leo', text: 'I have to go. <em>He disconnects</em>' },
{ speaker: 'masterslayer', text: 'Shit. I wanted to see him cum.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You disconnect',
action: function() {
State.variables.notaLeo1 = false;
State.variables.corrupcionLeo = 10;
State.variables.notaLeo2 = true;
State.variables.Semblantegamer = true;
State.variables.recuerdosLeo = (State.variables.recuerdosLeo || 0) + 1;
State.variables.RecuerdoLeo1 = true;
Engine.play('habitacionsergio');
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Leo/leo.png" alt="Leo">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Leo</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosLeo>></strong> recuerdo<<if $recuerdosLeo > 1>>s<</if>> especial<<if $recuerdosLeo > 1>>es<</if>> con Leo.
</p>
<<else>>
<div class="header-image">
<img src="images/Leo/leo.png" alt="Leo">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Leo</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosLeo>></strong> special memor<<if $recuerdosLeo > 1>>ies<<else>>y<</if>> with Leo.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoLeo1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Jugando juntos a Force Assault</h3>
<p>Una pequeña mentira para entrar en contacto...</p>
<<else>>
<h3>Memory 1: Playing Force Assault together</h3>
<p>A small lie to make contact...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoLeo1">><</link>>
<<else>>
<<link "View →" "RecuerdoLeo1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoLeo2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Romper la burbuja</h3>
<p>Tras ganarse la confianza, es el momento de ponerle en un aprieto.</p>
<<else>>
<h3>Memory 2: Breaking the bubble</h3>
<p>After gaining his trust, it's time to put him in a tight spot.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoLeo2">><</link>>
<<else>>
<<link "View →" "RecuerdoLeo2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoLeo3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Encuentro nocturno</h3>
<p>Una noche inesperada con el gamer...</p>
<<else>>
<h3>Memory 3: Night encounter</h3>
<p>An unexpected night with the gamer...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoLeo3">><</link>>
<<else>>
<<link "View →" "RecuerdoLeo3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoLeo4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Madrugada intensa</h3>
<p>La noche que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Intense dawn</h3>
<p>The night everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoLeo4">><</link>>
<<else>>
<<link "View →" "RecuerdoLeo4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoLeo5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Sesión especial</h3>
<p>El momento más intenso con Leo...</p>
<<else>>
<h3>Memory 5: Special session</h3>
<p>The most intense moment with Leo...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoLeo5">><</link>>
<<else>>
<<link "View →" "RecuerdoLeo5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: Jugando juntos a Force Assault</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
El primer paso para corromper a Leo era conectar con él. El chaval apenas sale de su cuarto, obsesionado con los videojuegos y la comodidad de su habitación. Por ello decidiste buscarlo en el juego con el cual está obsesionado últimamente, Force Assault.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Leo/forceassault.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Gracias a Dem, llamaste la atención del muchacho siendo un jugador increíble. Cuando contactó contigo, le mentiste, diciéndole que eras una joven chica gamer, y el pazguato se lo tragó. Luego quedasteis para charlar directamente por Discord.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
De nuevo, gracias a Dem, modificaste tu voz para sonar como la de tu personaje femenino y, tras alabar su cuerpo, conseguiste que te mostrara su herramienta. Por desgracia, antes de que se pusiera más interesante, decidió cerrar la conversación, alegando que no confiaba del todo en ti.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Leo/leopajawebcam.webm" type="video/webm"></video></center>
<<else>>
<h2 class="fade">🌟 Memory 1: Playing Force Assault together</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The first step to corrupting Leo was connecting with him. The guy barely leaves his room, obsessed with video games and the comfort of his bedroom. So you decided to find him in the game he's been obsessed with lately, Force Assault.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Leo/forceassault.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Thanks to Dem, you caught the boy's attention by being an incredible player. When he contacted you, you lied to him, telling him you were a young gamer girl, and the fool fell for it. Then you agreed to chat directly on Discord.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Again, thanks to Dem, you modified your voice to sound like your female character's, and after praising his body, you got him to show you his tool. Unfortunately, before things got more interesting, he decided to end the conversation, claiming he didn't fully trust you.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Leo/leopajawebcam.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Leo" "RecuerdosLeo">>
<</link>>
<<else>>
<<link "⬅️ Back to Leo's Memories" "RecuerdosLeo">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
<p>Abres Discord y buscas el contacto de Leo. Ves que está conectado. Es el momento de intentar retomar la conversación con él.</p>
<<if $currentSemblanteActive && $currentSemblanteActive.name is "Chica Gamer">>
<!-- SEMBLANTE CORRECTO -->
<p>Te preparas para la videollamada. Gracias a tu apariencia de chica gamer, Leo no sospechará nada. Es exactamente el rostro que él espera ver.</p>
<p>Activas la cámara y esperas a que Leo acepte la llamada...</p>
<center><img src="images/Leo/leowebcam.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Semblantes/chicagamerretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'leo', text: '¿Hola?... ¿Masterslayer?' },
{ speaker: 'masterslayer', text: 'Sí, soy yo. Ya he podido arreglar la cámara.' },
{ speaker: 'leo', text: 'Ehhh, es que <em>titubea</em> no esperaba que...' },
{ speaker: 'masterslayer', text: '¿Que te volviera a llamar?' },
{ speaker: 'leo', text: '¡Sí! Y que... fueras así.' },
{ speaker: 'masterslayer', text: '¿Así, cómo?' },
{ speaker: 'leo', text: 'Ehhh, tan guapa...' },
{ speaker: 'masterslayer', text: 'Ya te dije que me gustabas. Ahora, ¿jugamos a algo?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Jugar con Leo',
action: function() {
Engine.play('juegoybaile');
}
}
]
]
})>>
<<else>>
<!-- SEMBLANTE INCORRECTO O SIN SEMBLANTE -->
<p>Intentas conectarte con Leo, pero rápidamente te das cuenta de que necesitas el rostro adecuado. Sabes que para dar el siguiente paso, Leo debe tener ante sí a la chica inteligente, buena jugadora y sexy que espera que sea Masterslayer.</p>
<div style="text-align: center; margin-top: 30px;">
[[Volver|habitacionsergio]]
</div>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
<p>You open Discord and search for Leo's contact. You see he's online. It's time to try to resume the conversation with him.</p>
<<if $currentSemblanteActive && $currentSemblanteActive.nameEn is "Gamer Girl">>
<!-- CORRECT SEMBLANTE -->
<p>You prepare for the video call. Thanks to your gamer girl appearance, Leo won't suspect anything. It's exactly the face he expects to see.</p>
<p>You activate the camera and wait for Leo to accept the call...</p>
<center><img src="images/Leo/leowebcam.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Leo", {
characters: [
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
},
{
id: 'masterslayer',
name: 'Masterslayer',
portrait: 'images/Semblantes/chicagamerretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'leo', text: 'Hello?... Masterslayer?' },
{ speaker: 'masterslayer', text: 'Yes, it\'s me. I was able to fix the camera.' },
{ speaker: 'leo', text: 'Uhhh, it\'s just that <em>he hesitates</em> I didn\'t expect that...' },
{ speaker: 'masterslayer', text: 'That I would call you again?' },
{ speaker: 'leo', text: 'Yes! And that... you looked like this.' },
{ speaker: 'masterslayer', text: 'Like this, how?' },
{ speaker: 'leo', text: 'Uhhh, so beautiful...' },
{ speaker: 'masterslayer', text: 'I already told you I liked you. Now, shall we play something?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Play with Leo',
action: function() {
Engine.play('juegoybaile');
}
}
]
]
})>>
<<else>>
<!-- INCORRECT SEMBLANTE OR NO SEMBLANTE -->
<p>You try to connect with Leo, but you quickly realize you need the right face. You know that to take the next step, Leo must see the smart, skilled, and sexy girl he expects Masterslayer to be.</p>
<div style="text-align: center; margin-top: 30px;">
[[Back|habitacionsergio]]
</div>
<</if>>
<</if>><<if $idioma is "es">>
<<set $corrupcionLeo to 15>>
<<set $lootboxescompradas to true>>
<<set $Rafapruebas to true>>
<<set $Martapruebas to true>>
<<run setup.gameTime.addMinutes(50)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habitación" />
</div>
Os echasteis unas partidas online, pero poco a poco fuiste conquistando más al muchacho, de nuevo gracias a la ayuda de Dem y de cómo te hizo jugar. Poco a poco le insinuaste que querías algunos loot boxes y skins, especialmente los más caros.
Sembrada ya la semilla, solo había que llevarle al límite. Tras las partidas volvisteis a conectar por Discord, y ya con las dos cámaras conectadas, comenzasteis a, primero, calentaros con la conversación para, luego, empezar a desnudaros ante vosotros.
Leo quería carne, así que se la diste. Usando uno de tus consoladores y tu cuerpo falso, te introduciste en tu coño (cuya sensación era bastante extraña) mientras tu objetivo se masturbaba como un loco ante tu cuerpo artificial.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/chicagamerpaja.webm" type="video/webm"></video></center>
Orgulloso, pudiste ver cómo el delgado y blanco cuerpo de Leo, caliente como nunca, se masturbaba hasta que su polla lanzaba varias densas descargas de blanca leche.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/leopajawebcam2.webm" type="video/webm"></video></center>
Tras despedirse, y orgulloso de haber hecho correrse al chico, aunque sea con tu semblante falso, solo te quedó esperar. No tardó tu ordenador en recibir un correo sobre varios regalos. Leo se había gastado unos 200 euros para, según él, "hacer brillar más a su chica".
Ahora solo quedaba hacer partícipe de esos regalos a sus padres. Dem ya había creado una excusa absurda sobre errores de mails en el banco. Era el momento de que sus padres supieran en qué se gastaba el dinero su hijo.
[[Apagar el ordenador|habitacionsergio]]
<<else>>
<<set $corrupcionLeo to 15>>
<<set $Rafapruebas to true>>
<<set $Martapruebas to true>>
<<set $lootboxescompradas to true>>
<<run setup.gameTime.addMinutes(50)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
You played some online matches, but little by little you conquered the boy more, again thanks to Dem's help and how he made you play. Gradually you hinted that you wanted some loot boxes and skins, especially the most expensive ones.
The seed already planted, you just had to push him to the limit. After the matches, you connected again on Discord, and with both cameras on, you started to, first, heat things up with conversation, then begin to undress before each other.
Leo wanted flesh, so you gave it to him. Using one of your dildos and your fake body, you penetrated your pussy (which felt quite strange) while your target masturbated like crazy before your artificial body.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/chicagamerpaja.webm" type="video/webm"></video></center>
Proud, you could see how Leo's thin and pale body, hotter than ever, masturbated until his cock released several thick shots of white cum.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Leo/leopajawebcam2.webm" type="video/webm"></video></center>
After saying goodbye, and proud of having made the boy cum, even if with your fake semblante, you just had to wait. It didn't take long for your computer to receive an email about several gifts. Leo had spent about 200 euros to, according to him, "make his girl shine brighter".
Now all that was left was to make his parents aware of those gifts. Dem had already created an absurd excuse about email errors at the bank. It was time for his parents to know what their son was spending his money on.
[[Turn off the computer|habitacionsergio]]
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Rafael, perdona. Creo que tengo algo que debería enseñarte.' },
{ speaker: 'rafa', text: '¿De qué se trata?' },
{ speaker: 'sergio', text: '<em>Le enseñas desde tu móvil las pruebas de los gastos de Leo</em> Creo que tu hijo pequeño está gastando bastante dinero en...' },
{ speaker: 'rafa', text: '¿200 euros en qué? ¿Qué mierda es eso de Diamond Special Pack?' },
{ speaker: 'sergio', text: 'Parece ser que es algo de un videojuego.' },
{ speaker: 'rafa', text: '¿Pero ahí no pone que es un regalo para una chica?' },
{ speaker: 'sergio', text: 'Sí, eso parece, pero...' },
{ speaker: 'rafa', text: 'Entonces dejémoslo así. Es casi un alivio que por fin muestre algo de interés en las mujeres. Casi creía que era un poco, ya sabes, maricón. Como tú.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Deja de prestarte atención.',
action: function() {
State.variables.Rafapruebas = false;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Rafael, sorry. I think I have something I should show you.' },
{ speaker: 'rafa', text: 'What is it about?' },
{ speaker: 'sergio', text: '<em>You show him the evidence of Leo\'s expenses from your phone</em> I think your youngest son is spending quite a lot of money on...' },
{ speaker: 'rafa', text: '200 euros on what? What the hell is this Diamond Special Pack?' },
{ speaker: 'sergio', text: 'It seems to be something from a video game.' },
{ speaker: 'rafa', text: 'But doesn\'t it say there it\'s a gift for a girl?' },
{ speaker: 'sergio', text: 'Yes, it seems so, but...' },
{ speaker: 'rafa', text: 'Then let\'s leave it at that. It\'s almost a relief that he finally shows some interest in women. I almost thought he was a bit, you know, a faggot. Like you.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'He stops paying attention to you.',
action: function() {
State.variables.Rafapruebas = false;
// Go back 2 passages using native history
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Marta", {
characters: [
{
id: 'marta',
name: 'Marta',
portrait: 'images/mujeres/marta.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Marta, perdona que te moleste, pero he recibido un correo que creo que deberías ver.' },
{ speaker: 'marta', text: '¿Un correo?' },
{ speaker: 'sergio', text: '<em>Le enseñas desde tu móvil las pruebas de los gastos de Leo</em> Creo que tu hijo pequeño está gastando bastante dinero en algo relacionado con videojuegos.' },
{ speaker: 'marta', text: '<em>Le echa un vistazo en silencio</em> Esto es ridículo.' },
{ speaker: 'sergio', text: 'Solo quería mostrártelo porque, bueno...' },
{ speaker: 'marta', text: '200 euros. 200 euros en tonterías para un jueguecito.' },
{ speaker: 'sergio', text: 'Parece que ha sido un regalo para alguien.' },
{ speaker: 'marta', text: 'No me importa. Esto tiene que acabar ya. Gracias Sergio.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Cierra la puerta.',
action: function() {
State.variables.Martapruebas = false;
State.variables.Leoreprimenda = true;
// Regresar 2 pasajes atrás usando el historial nativo
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Marta", {
characters: [
{
id: 'marta',
name: 'Marta',
portrait: 'images/mujeres/marta.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Marta, sorry to bother you, but I received an email that I think you should see.' },
{ speaker: 'marta', text: 'An email?' },
{ speaker: 'sergio', text: '<em>You show her the evidence of Leo\'s expenses from your phone</em> I think your youngest son is spending quite a lot of money on something related to video games.' },
{ speaker: 'marta', text: '<em>She looks at it in silence</em> This is ridiculous.' },
{ speaker: 'sergio', text: 'I just wanted to show you because, well...' },
{ speaker: 'marta', text: '200 euros. 200 euros on nonsense for a little game.' },
{ speaker: 'sergio', text: 'It seems it was a gift for someone.' },
{ speaker: 'marta', text: 'I don\'t care. This has to stop now. Thank you Sergio.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'She closes the door.',
action: function() {
State.variables.Martapruebas = false;
State.variables.Leoreprimenda = true;
// Go back 2 passages using native history
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<p>Unos gritos provenientes de fuera de tu casa te llaman la atención. Desde la mirilla de la puerta puedes ver a tus vecinos de enfrente, Marta y Rafael, que a gritos y con el dedo en alto, parecen lanzar una reprimenda a su hijo Leo, que cabizbajo, la recibe aún en su sempiterno pijama.</p>
<center><img src="images/Leo/leoregañina.png" class="fade-in" width="600"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Marta", {
characters: [
{
id: 'marta',
name: 'Marta',
portrait: 'images/mujeres/marta.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'right'
},
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
}
],
lines: [
{ speaker: 'marta', text: '¿Qué es esta tontería de gastarte 200 euros en un estúpido videojuego?' },
{ speaker: 'rafa', text: 'Peor, que el puto juego es gratis. Es solo un cambio de retrato y mierdas así. ¡Y ni siquiera para ti!' },
{ speaker: 'leo', text: '¡Pero papá! Era un regalo para mi novia.' },
{ speaker: 'marta', text: '¿Pero qué clase de novia acepta un regalo en esas tonterías? ¡Y 200 euros, nada menos!' },
{ speaker: 'rafa', text: 'Hijo. He hablado con tu madre y ella tiene razón. Te has pasado. Y ya estamos cansados de verte todo el día encerrado en tu cuarto.' },
{ speaker: 'marta', text: 'Ese dinero no era tuyo. Eso es lo que más me ha dolido.' },
{ speaker: 'leo', text: 'Mamá, yo...' },
{ speaker: 'marta', text: 'Se acabó vivir en casa de gratis. Acabaste tus estudios y no te has dignado en buscar un empleo. Te hemos estado protegiendo demasiado tiempo. Ha llegado el momento en que te pongas a trabajar.' },
{ speaker: 'leo', text: 'Pero mamá...' },
{ speaker: 'rafa', text: '¡Se acabó Leo! Consíguete un trabajo. Devuelve tus deudas. Hasta entonces, se acabaron los videojuegos.' },
{ speaker: 'leo', text: '¡No tengo 15 años!' },
{ speaker: 'marta', text: 'Exacto. Eres mayor de edad, así que compórtate como tal. Sin dinero en casa no hay videojuegos.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[
{
text: 'Se marchan',
action: function() {
State.variables.notaLeo3 = true;
State.variables.recuerdosLeo = (State.variables.recuerdosLeo || 0) + 1;
State.variables.RecuerdoLeo2 = true;
State.variables.Leoreprimenda = false;
State.variables.notaLeo2 = false;
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="bedroom" />
</div>
<p>Shouts coming from outside your house catch your attention. Through the peephole you can see your neighbors across the hall, Marta and Rafael, who are shouting with their fingers raised, seemingly scolding their son Leo, who receives it with his head down, still in his eternal pajamas.</p>
<center><img src="images/Leo/leoregañina.png" class="fade-in" width="600"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Marta", {
characters: [
{
id: 'marta',
name: 'Marta',
portrait: 'images/mujeres/marta.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'right'
},
{
id: 'leo',
name: 'Leo',
portrait: 'images/Leo/leo.png',
color: '#f9ca24',
facing: 'left'
}
],
lines: [
{ speaker: 'marta', text: 'What is this nonsense about spending 200 euros on a stupid video game?' },
{ speaker: 'rafa', text: 'Worse, the damn game is free. It\'s just a portrait change and shit like that. And not even for yourself!' },
{ speaker: 'leo', text: 'But dad! It was a gift for my girlfriend.' },
{ speaker: 'marta', text: 'But what kind of girlfriend accepts a gift on such nonsense? And 200 euros, no less!' },
{ speaker: 'rafa', text: 'Son. I talked to your mother and she\'s right. You went too far. And we\'re tired of seeing you locked in your room all day.' },
{ speaker: 'marta', text: 'That money wasn\'t yours. That\'s what hurt me the most.' },
{ speaker: 'leo', text: 'Mom, I...' },
{ speaker: 'marta', text: 'No more living at home for free. You finished your studies and haven\'t bothered to look for a job. We\'ve been protecting you for too long. The time has come for you to get to work.' },
{ speaker: 'leo', text: 'But mom...' },
{ speaker: 'rafa', text: 'It\'s over Leo! Get yourself a job. Pay your debts. Until then, no more video games.' },
{ speaker: 'leo', text: 'I\'m not 15 years old!' },
{ speaker: 'marta', text: 'Exactly. You\'re of legal age, so act like it. No money at home means no video games.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[
{
text: 'They leave',
action: function() {
State.variables.notaLeo3 = true;
State.variables.recuerdosLeo = (State.variables.recuerdosLeo || 0) + 1;
State.variables.RecuerdoLeo2 = true;
State.variables.notaLeo2 = false;
State.variables.Leoreprimenda = false;
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 2º';
Engine.play(returnPassage);
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Romper la burbuja</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sabías perfectamente que Leo no caería en tu seducción si no te mostrabas ante él como esperaba: una chica gamer y sexy. Usando la app de "Semblante Artificial" te mostraste ante él. Él, maravillado ante tu falsa apariencia, casi se quedó sin palabras.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Necesitabas que él cometiera un error, así que, tras varias partidas online, os desnudasteis y, tras calentaros, ambos os hicisteis una paja mientras os observabais.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Leo/leopajawebcam2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras ese encuentro, Leo quedó prendado de tu personaje, regalándote varias skins y lootboxes del videojuego donde os habíais conocido. Era tu momento de mostrarle esos gastos, de dinero que no era suyo, a sus padres. Cuando estos se enteraron, le echaron una buena bronca en el rellano.
</p>
<center><img src="images/Leo/leoregañina.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sus padres le pusieron un ultimátum: debía traer por fin dinero a casa. Y a Leo no le gusta nada moverse de su cuarto. ¿En qué podría trabajar?
</p>
<<else>>
<h2 class="fade">🌟 Memory 2: Breaking the bubble</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You knew perfectly well that Leo wouldn't fall for your seduction if you didn't present yourself as he expected: a sexy gamer girl. Using the "Artificial Appearance" app, you showed yourself to him. He, amazed by your fake appearance, was almost speechless.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You needed him to make a mistake, so after several online matches, you both undressed and, after getting heated up, you both masturbated while watching each other.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Leo/leopajawebcam2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After that encounter, Leo became infatuated with your character, giving you several skins and lootboxes from the video game where you had met. It was your moment to show his parents those expenses, money that wasn't his. When they found out, they gave him a good scolding on the landing.
</p>
<center><img src="images/Leo/leoregañina.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
His parents gave him an ultimatum: he had to finally bring money home. And Leo doesn't like leaving his room at all. What could he work at?
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Leo" "RecuerdosLeo">>
<</link>>
<<else>>
<<link "⬅️ Back to Leo's Memories" "RecuerdosLeo">>
<</link>>
<</if>>
</div>
<<set $juananExcitadoDestino to "JuananExcitacionExito">>
<<run setup.gameTime.addMinutes(30)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
<<if $JuananCervezasPrimeraVez !== true>>
Te sientas en la mesa, enfrente de tu afable vecino, y le pides a Ahmed que te traiga otra cerveza.
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Juanan", {
characters: [
{ id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Juanan, ¿te importa si te acompaño en la cerveza?' },
{ speaker: 'juanan', text: '¡Claro que no! Venga, siéntate.' },
{ speaker: 'sergio', text: 'Hace tiempo que nos conocemos pero siempre nos hemos quedado tan solo en saludarnos.' },
{ speaker: 'juanan', text: 'Tienes razón. Ahora que tu abuelo no está, entiendo que te quedarás a vivir en su casa. Ahora seremos vecinos de verdad.' },
{ speaker: 'sergio', text: '¡Exacto! Y por ello debemos ponernos al día. ¿Qué tal te ha ido en este tiempo que no estaba?' },
{ speaker: 'juanan', text: 'Bueno, ¿sabes que murió Elena, no?' },
{ speaker: 'sergio', text: 'Sí. Estuve en el entierro. Fue hace mucho tiempo. Lo que me sorprende, si me permites la intromisión, es que no hayas vuelto a tener más parejas.' },
{ speaker: 'juanan', text: 'Ya. Bueno, me dediqué a mi trabajo y a mi hijo, no pensé demasiado en rehacer mi vida.' },
{ speaker: 'sergio', text: 'Bueno. Tao ya es mayor de edad. Ahora podría ser el momento de hacerlo.' },
{ speaker: 'juanan', text: '¿Ahora? <em>Se ríe</em> Ya estoy muy mayor para eso. Estoy totalmente fuera del mercado.' },
{ speaker: 'sergio', text: '¡En absoluto! Créeme que entiendo de estas cosas. Sigues tan bien como siempre. Hay miles de mujeres que se acostarían contigo. Y hombres también.' },
{ speaker: 'juanan', text: 'No creo...' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{ text: 'Seguir tomando cervezas', action: 'GOTO:JuananCervezasContinuar' },
(State.variables.appExcitacionDistancia === true
? {
text: 'Usar Excitación a Distancia',
action: function() {
State.variables.juananExcitadoDestino = 'JuananExcitacionExito';
window.excitacionDistancia.show();
}
}
: null)
].filter(Boolean)
]
});
<</script>>
<<set $JuananCervezasPrimeraVez to true>>
<<else>>
Te vuelves a sentar con Juanan y continúas charlando con él sobre su vida, sus proyectos y anécdotas del barrio.
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var opcionesJuanan = [
{ text: 'Seguir tomando cervezas', action: 'GOTO:JuananCervezasContinuar' }
];
if (State.variables.appExcitacionDistancia === true) {
opcionesJuanan.push({
text: 'Usar Excitación a Distancia',
action: function() {
State.variables.juananExcitadoDestino = 'JuananExcitacionExito';
window.excitacionDistancia.show();
}
});
}
setup.showDoorDialogue("Juanan", {
characters: [
{ id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'juanan', text: '¿Qué me cuentas, Sergio?' },
{ speaker: 'sergio', text: 'Lo de siempre, ya sabes...' }
],
options: [
[],
opcionesJuanan
]
});
<</script>>
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
<<if $JuananCervezasPrimeraVez !== true>>
You sit at the table, facing your friendly neighbor, and ask Ahmed to bring you another beer.
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Juanan", {
characters: [
{ id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Juanan, do you mind if I join you for a beer?' },
{ speaker: 'juanan', text: 'Of course not! Come on, sit down.' },
{ speaker: 'sergio', text: 'We\'ve known each other for a while but we\'ve always just stuck to greetings.' },
{ speaker: 'juanan', text: 'You\'re right. Now that your grandfather is gone, I understand you\'ll stay living in his house. Now we\'ll be real neighbors.' },
{ speaker: 'sergio', text: 'Exactly! And for that we should catch up. How have things been going during the time I wasn\'t here?' },
{ speaker: 'juanan', text: 'Well, you know Elena died, right?' },
{ speaker: 'sergio', text: 'Yes. I was at the funeral. It was a long time ago. What surprises me, if you allow me to intrude, is that you haven\'t had any more partners since.' },
{ speaker: 'juanan', text: 'Yeah. Well, I dedicated myself to my work and my son, I didn\'t think too much about rebuilding my life.' },
{ speaker: 'sergio', text: 'Well. Tao is already an adult now. Now could be the time to do it.' },
{ speaker: 'juanan', text: 'Now? <em>Laughs</em> I\'m way too old for that. I\'m completely off the market.' },
{ speaker: 'sergio', text: 'Not at all! Trust me, I understand these things. You\'re still as good-looking as ever. There are thousands of women who would sleep with you. And men too.' },
{ speaker: 'juanan', text: 'I don\'t think so...' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{ text: 'Keep drinking beers', action: 'GOTO:JuananCervezasContinuar' },
(State.variables.appExcitacionDistancia === true
? {
text: 'Use Remote Arousal',
action: function() {
State.variables.juananExcitadoDestino = 'JuananExcitacionExito';
window.excitacionDistancia.show();
}
}
: null)
].filter(Boolean)
]
});
<</script>>
<<set $JuananCervezasPrimeraVez to true>>
<<else>>
You sit down with Juanan again and continue chatting with him about his life, his projects and neighborhood anecdotes.
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
var opcionesJuanan = [
{ text: 'Keep drinking beers', action: 'GOTO:JuananCervezasContinuar' }
];
if (State.variables.appExcitacionDistancia === true) {
opcionesJuanan.push({
text: 'Use Remote Arousal',
action: function() {
State.variables.juananExcitadoDestino = 'JuananExcitacionExito';
window.excitacionDistancia.show();
}
});
}
setup.showDoorDialogue("Juanan", {
characters: [
{ id: 'juanan', name: 'Juanan', portrait: 'images/Juanan/juanan.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'juanan', text: 'What\'s up, Sergio?' },
{ speaker: 'sergio', text: 'The usual, you know...' }
],
options: [
[],
opcionesJuanan
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
Seguís charlando durante una media hora más sobre su falta de sexo y cariño y de cómo debería afrontarlo, pero aunque se muestre interesado, y se ha tomado bastantes cervezas, le falta la chispa para que su deseo se inflame y solo tú puedas saciarlo.
[[Sales del kebab|Exterior]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
<center><img src="images/Juanan/juanankebab.png" width="400"></center>
You continue chatting for about half an hour more about his lack of sex and affection and how he should deal with it, but although he seems interested, and has had quite a few beers, he lacks the spark to ignite his desire so that only you can satisfy it.
[[You leave the kebab shop|Exterior]]
<</if>><<run setup.gameTime.addMinutes(30)>>
<<set $corrupcionJuanan to 15>>
<<set $notaJuanan2 to true>>
<<set $notaJuanan1 to false>>
<<if not $RecuerdoJuanan1>>
<<set $RecuerdoJuanan1 = true>>
<<if not $recuerdosJuanan>><<set $recuerdosJuanan = 0>><</if>>
<<set $recuerdosJuanan += 1>>
<</if>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Acalorado, seguramente por sentir tus apéndices digitales por todo su cuerpo, Juanan se disculpa y ves cómo se marcha hacia el baño. No tardas en seguirlo, y ya dentro se gira hacia ti.
No os decís nada. Tiene el pantalón desabrochado, seguramente para intentar mear, y la camiseta alzada sobre su barriga, pero su enorme erección claramente no le va a permitir orinar.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Juanan/juananropainteriorkebab.webm" type="video/webm"></video></center>
"Es que estás muy bueno" le dijiste, mientras pasaste una mano por su pecho. Él estaba como paralizado, pero palpitaba tan rápido que parecía que su corazón iba a salírsele del pecho. Le alzaste la camiseta para poder disfrutar totalmente de su cuerpo y en ese momento fue cuando reaccionó.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Juanan/juanandesnudokebab.webm" type="video/webm"></video></center>
Te besó. En otro momento no lo habría hecho. Pero estaba borracho, muy cachondo y necesitado de cariño físico. Vuestras lenguas se encontraron. Tú apenas podías abrazar a ese hombretón y él parecía que podría devorarte en cualquier momento.
Entonces te separó. Negó con la cabeza y comenzó a vestirse rápidamente. Luego se marchó del baño, dejándote empalmado y cachondo. Aunque dentro de ti, sabías que esta había sido la primera barrera para acceder a Juanan.
[[Regresas a casa|habitacionsergio]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Open Kebab Shop" />
</div>
Flushed, probably from feeling your digital appendages all over his body, Juanan apologizes and you see him heading towards the bathroom. You don't take long to follow him, and once inside he turns to you.
You don't say anything to each other. His pants are unbuttoned, probably to try to piss, and his shirt lifted over his belly, but his huge erection clearly won't allow him to urinate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Juanan/juananropainteriorkebab.webm" type="video/webm"></video></center>
"It's just that you're so hot," you told him, as you ran a hand over his chest. He was frozen, but his heart was beating so fast it seemed like it would burst out of his chest. You lifted his shirt to fully enjoy his body and that's when he reacted.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Juanan/juanandesnudokebab.webm" type="video/webm"></video></center>
He kissed you. In another moment he wouldn't have done it. But he was drunk, very horny and in need of physical affection. Your tongues met. You could barely hug that big man and he seemed like he could devour you at any moment.
Then he separated you. He shook his head and began to dress quickly. Then he left the bathroom, leaving you hard and horny. Although deep inside, you knew this had been the first barrier to accessing Juanan.
[[You return home|habitacionsergio]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Juanan/juanan.png" alt="Juanan">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Juanan</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosJuanan>></strong> recuerdo<<if $recuerdosJuanan > 1>>s<</if>> especial<<if $recuerdosJuanan > 1>>es<</if>> con Juanan.
</p>
<<else>>
<div class="header-image">
<img src="images/Juanan/juanan.png" alt="Juanan">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Juanan</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosJuanan>></strong> special memor<<if $recuerdosJuanan > 1>>ies<<else>>y<</if>> with Juanan.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoJuanan1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Con un par de cervezas</h3>
<p>Lo que sucedió en el kebab</p>
<<else>>
<h3>Memory 1: With a couple of beers</h3>
<p>What happened at the kebab shop</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoJuanan1">><</link>>
<<else>>
<<link "View →" "RecuerdoJuanan1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoJuanan2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Pero que no lo sepa nadie</h3>
<p>Esa noche Juanan dio un paso más</p>
<<else>>
<h3>Memory 2: But don't let anyone know</h3>
<p>That night Juanan took it a step further</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoJuanan2">><</link>>
<<else>>
<<link "View →" "RecuerdoJuanan2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoJuanan3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoJuanan3">><</link>>
<<else>>
<<link "View →" "RecuerdoJuanan3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoJuanan4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoJuanan4">><</link>>
<<else>>
<<link "View →" "RecuerdoJuanan4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoJuanan5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Juanan...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Juanan...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoJuanan5">><</link>>
<<else>>
<<link "View →" "RecuerdoJuanan5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: Con un par de cervezas</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras usar la visión sexual en Juanan, descubriste que llevaba más de 15 años sin haber tenido sexo, y eso hacía que un macho como Juanan estuviera caliente a todas horas. Era cuestión de tiempo que se lanzara contra la primera persona que le hiciera caso. Solo había que prepararlo primero para romper sus barreras morales. Nada mejor que el alcohol para ello.
</p>
<center><img src="images/Juanan/juanankebab.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras varias cervezas, y tras una conversación que comenzó a subir de tono, usaste tu segunda arma: la app Excitación a Distancia, poniéndole tan cachondo que tuvo que ir al baño a refrescarse. Le seguiste casi al momento, encontrándole con los pantalones bajados, la camisa subida, y una gran erección.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juananropainteriorkebab.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Te acercaste a su cuerpo y pasaste una de tus manos por su pecho velludo. Él simplemente cerró los ojos y se dejó tocar. Acariciaste sus pezones y bajaste a su ropa interior. Le desnudaste y lo viste de ese modo ante ti.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juanandesnudokebab.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pero de repente, como si hubiera recobrado la razón, te apartó con ligereza. Se vistió y se marchó. Confuso seguramente. Ambos sabíais que lo que había empezado no acabaría tan rápidamente.
</p>
<<else>>
<h2 class="fade">🌟 Memory 1: With a Couple of Beers</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After using sexual vision on Juanan, you discovered he had gone over 15 years without having sex, and that made a man like Juanan horny all the time. It was only a matter of time before he threw himself at the first person who paid him attention. You just had to prepare him first to break down his moral barriers. Nothing better than alcohol for that.
</p>
<center><img src="images/Juanan/juanankebab.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After several beers, and after a conversation that began to heat up, you used your second weapon: the Remote Arousal app, making him so horny that he had to go to the bathroom to cool down. You followed him almost immediately, finding him with his pants down, his shirt up, and a big erection.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juananropainteriorkebab.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You approached his body and ran one of your hands over his hairy chest. He simply closed his eyes and let himself be touched. You caressed his nipples and went down to his underwear. You undressed him and saw him like that before you.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juanandesnudokebab.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
But suddenly, as if he had regained his senses, he pushed you away gently. He got dressed and left. Confused surely. You both knew that what had begun would not end so quickly.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Juanan" "RecuerdosJuanan">>
<</link>>
<<else>>
<<link "⬅️ Back to Juanan's Memories" "RecuerdosJuanan">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Tao...' },
{ speaker: 'tao', text: 'Dime Sergio.' },
{ speaker: 'sergio', text: 'Eh... Bueno' }
],
options: [
[], // 1
[], // 2
[] // 3
]
})>>
<div class="narrative-text">
Te das cuenta al instante de que no es el momento ni el lugar para mostrarle a Tao lo que es el sexo. Se protegería con su padre o huiría. Quizá debas buscarlo cuando esté en un entorno seguro pero con presión social.
</div>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Tao...' },
{ speaker: 'tao', text: 'Tell me, Sergio.' },
{ speaker: 'sergio', text: 'Uh... Well' }
],
options: [
[], // 1
[], // 2
[] // 3
]
})>>
<div class="narrative-text">
You instantly realize this isn't the time or place to show Tao what sex is. He would seek his father's protection or run away. Perhaps you should look for him when he's in a safe environment but with social pressure.
</div>
<</if>>
<br>
<<if $idioma is "es">>
<<link "Continuar">><<run Engine.go(-2)>><</link>>
<<else>>
<<link "Continue">><<run Engine.go(-2)>><</link>>
<</if>><<run setup.gameTime.addMinutes(40)>>
<<set $corrupcionTao to 5>>
<<set $notaTao2 to true>>
<<set $notaTao1 to false>>
<<set $RecuerdoTao1 = true>>
<<if not $recuerdosTao>><<set $recuerdosTao = 0>><</if>>
<<set $recuerdosTao += 1>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
Tao está rodeado de amigos de su edad, por lo que no puede mostrarse infantil ante ellos. Además, no se ve a su padre por ningún lado. Es el momento perfecto.
Te acercas al grupo de jóvenes con confianza. Detienen su conversación cuando llegas a su lado. Saludas de manera informal, casi con vergüenza, y Tao te presenta a sus amigos. Uno de ellos, un chico delgado y con un rostro tan bello que parece artificial te lanza una sonrisa que te derrite. Dice que se llama Bryan.
<center><img src="images/Tao/bryanparque.png" width="500"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'bryan',
name: 'Bryan',
portrait: 'images/Tao/Bryan2.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola chicos. ¿Qué os contáis?' },
{ speaker: 'tao', text: 'Nada, pasando el rato.' },
{ speaker: 'sergio', text: '¿Hablando de vuestras novias, verdad?' },
{ speaker: 'bryan', text: '<em>Se ríe</em> ¿Novias, nosotros? Qué va. Ya nos gustaría.' },
{ speaker: 'sergio', text: 'Bueno, será solo cuestión de tiempo. Seguro que os gustan un montón de chicas.' },
{ speaker: 'bryan', text: 'Claro que sí. A Tao le gusta Carlota.' },
{ speaker: 'tao', text: 'Eso no es cierto. <em>Desvía la mirada avergonzado</em>' },
{ speaker: 'sergio', text: 'Las chicas vendrán. Es solo cuestión de tiempo. Lo importante es saber si podríais estar a la altura del momento.' },
{ speaker: 'bryan', text: '¿A qué te refieres?' },
{ speaker: 'sergio', text: 'Al sexo, claramente. ¿Habéis estado con alguna chica alguna vez? ¿Tenéis experiencia?' },
{ speaker: 'tao', text: '<em>Mira cabizbajo, aún más nervioso</em>' },
{ speaker: 'bryan', text: 'No, no. <em>Ríe de nuevo</em> Roi sí que se besó con una chica el verano pasado pero nada más. Pero hemos visto porno, sabemos lo que hay que hacer.' },
{ speaker: 'sergio', text: '¿Ah sí? ¿Sabéis lo que es un cunnilingus? ¿O hacer un dedo?' },
{ speaker: 'bryan', text: 'Eh...' },
{ speaker: 'sergio', text: 'Dejad que os lo enseñe.' }
],
options: [
[], // 1
[], // 2
[] // 3
]
})>>
Te sientas entre los muchachos y sacas tu móvil. Enseguida buscas vídeos en una web conocida de pornografía. Los chicos se acercan, ansiosos. Todos menos Tao, que se muestra reticente, y desvía la mirada, incómodo.
Les muestras imágenes de sexo hetero. Buscas escenas donde el hombre tiene una actitud activa, lamiendo pezones y comiendo coños. Los chicos dicen bravatas y señalan cuando las escenas comienzan a subir de tono.
Entonces les explicas que también es importante saber cómo recibir ellos placer y que, para eso, lo mejor es ver sexo gay. "Nadie mejor que un hombre sabe lo que le gusta a otro hombre". Parecen aceptar esa lógica, por lo que les muestras varias escenas de sexo entre hombres.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Tao/porno.webm" type="video/webm"></video></center>
Los chicos ríen mientras ven vídeos de mamadas, enculadas y corridas en la cara. A todos les parece como un chiste. A todos excepto a dos. Bryan mira interesado lo que le enseñas y quizá puedes ver cómo su entrepierna está más grande que antes. Tao, sin embargo, se marcha, con la cara colorada y paso ligero.
Los amigos le preguntan a dónde va. Tú te despides del grupo e intentas seguirle, pero ya se ha marchado del parque. Ha sido el primer paso para que Tao acepte que es ya un adulto.
[[Continuar|habitacionsergio]]
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
Tao is surrounded by friends his age, so he can't act childish in front of them. Besides, his father is nowhere to be seen. It's the perfect moment.
You approach the group of young people confidently. They stop their conversation when you reach them. You greet them informally, almost shyly, and Tao introduces you to his friends. One of them, a slim boy with a face so beautiful it seems artificial, flashes you a smile that melts you. He says his name is Bryan.
<center><img src="images/Tao/bryanparque.png" width="500"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tao", {
characters: [
{
id: 'tao',
name: 'Tao',
portrait: 'images/Tao/tao.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'bryan',
name: 'Bryan',
portrait: 'images/Tao/Bryan2.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey guys. What are you up to?' },
{ speaker: 'tao', text: 'Nothing, just hanging out.' },
{ speaker: 'sergio', text: 'Talking about your girlfriends, right?' },
{ speaker: 'bryan', text: '<em>Laughs</em> Girlfriends, us? No way. We wish.' },
{ speaker: 'sergio', text: 'Well, it\'ll just be a matter of time. I\'m sure you like lots of girls.' },
{ speaker: 'bryan', text: 'Of course. Tao likes Carlota.' },
{ speaker: 'tao', text: 'That\'s not true. <em>Looks away embarrassed</em>' },
{ speaker: 'sergio', text: 'Girls will come. It\'s just a matter of time. What matters is knowing if you could rise to the occasion.' },
{ speaker: 'bryan', text: 'What do you mean?' },
{ speaker: 'sergio', text: 'Sex, obviously. Have you been with a girl before? Do you have experience?' },
{ speaker: 'tao', text: '<em>Looks down, even more nervous</em>' },
{ speaker: 'bryan', text: 'No, no. <em>Laughs again</em> Roi did kiss a girl last summer but nothing more. But we\'ve seen porn, we know what to do.' },
{ speaker: 'sergio', text: 'Oh yeah? Do you know what cunnilingus is? Or fingering?' },
{ speaker: 'bryan', text: 'Uh...' },
{ speaker: 'sergio', text: 'Let me show you.' }
],
options: [
[], // 1
[], // 2
[] // 3
]
})>>
You sit among the boys and take out your phone. You quickly search for videos on a well-known porn site. The boys lean in, eager. All except Tao, who seems reluctant and looks away, uncomfortable.
You show them images of hetero sex. You look for scenes where the man has an active attitude, licking nipples and eating pussy. The boys make boastful comments and point when the scenes start heating up.
Then you explain that it's also important to know how to receive pleasure themselves and that, for that, the best thing is to watch gay sex. "No one knows better what a man likes than another man." They seem to accept that logic, so you show them various scenes of sex between men.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Tao/porno.webm" type="video/webm"></video></center>
The boys laugh while watching videos of blowjobs, fucking, and facials. To all of them it seems like a joke. To all except two. Bryan watches with interest what you're showing them and perhaps you can see how his crotch is bigger than before. Tao, however, leaves, his face flushed and walking quickly.
His friends ask where he's going. You say goodbye to the group and try to follow him, but he's already left the park. It was the first step for Tao to accept that he's already an adult.
[[Continue|habitacionsergio]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Tao/Tao.png" alt="Tao">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Tao</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosTao>></strong> recuerdo<<if $recuerdosTao > 1>>s<</if>> especial<<if $recuerdosTao > 1>>es<</if>> con Tao.
</p>
<<else>>
<div class="header-image">
<img src="images/Tao/Tao.png" alt="Tao">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Tao</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosTao>></strong> special memor<<if $recuerdosTao > 1>>ies<<else>>y<</if>> with Tao.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoTao1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Una muestra en el parque</h3>
<p>Le enseñaste algo de porno en el parque con sus amigos</p>
<<else>>
<h3>Memory 1: A sample in the park</h3>
<p>You showed him some porn in the park with his friends</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTao1">><</link>>
<<else>>
<<link "View →" "RecuerdoTao1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTao2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Dulces sueños</h3>
<p>Excitaste a Tao mientras dormía.</p>
<<else>>
<h3>Memory 2: Sweet dreams</h3>
<p>You aroused Tao while he was sleeping.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTao2">><</link>>
<<else>>
<<link "View →" "RecuerdoTao2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTao3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTao3">><</link>>
<<else>>
<<link "View →" "RecuerdoTao3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTao4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTao4">><</link>>
<<else>>
<<link "View →" "RecuerdoTao4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTao5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Tao...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Tao...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTao5">><</link>>
<<else>>
<<link "View →" "RecuerdoTao5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: Una muestra en el parque</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tao se muestra demasiado infantil, a pesar de haber superado ya la mayoría de edad. Debías interceptar a Tao lejos de la protección de su padre y donde la presión social le obligara a ver algo que de otra forma rechazaría.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Por ello fuiste a buscar a Tao al parque, donde se encontraba este al lado de sus amigos, hablando de videojuegos y series. Te presentaste como uno de los vecinos de Tao y este te presentó a sus amigos. Uno de ellos, Bryan, te pareció bastante mono.
</p>
<center><img src="images/Tao/bryanparque.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Enseguida dirigiste la conversación sobre la experiencia de los muchachos en el sexo. Al decirte que no tenían ninguna, les mostraste varios vídeos porno. Primero, porno hetero para, después de convencerles de que lo mejor para saber lo que te gusta es ver sexo entre hombres, les pusiste varias escenas de porno gay.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Tao/porno.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tao, que desviaba la mirada avergonzado e incómodo, se marchó al final del parque. Pensar en cosas de adulto, como el sexo, le aterraba. Debías volver a atacar cuando no tuviera esas barreras activas.
</p>
<<else>>
<h2 class="fade">🌟 Memory 1: A sample in the park</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tao acts too childish, despite having already reached the age of majority. You had to intercept Tao away from his father's protection and where social pressure would force him to see something he would otherwise reject.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
So you went to look for Tao at the park, where he was with his friends, talking about video games and series. You introduced yourself as one of Tao's neighbors and he introduced you to his friends. One of them, Bryan, seemed quite cute to you.
</p>
<center><img src="images/Tao/bryanparque.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You quickly steered the conversation to the boys' experience with sex. When they told you they had none, you showed them several porn videos. First, hetero porn, then, after convincing them that the best way to know what you like is to watch sex between men, you showed them several gay porn scenes.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Tao/porno.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tao, who looked away embarrassed and uncomfortable, left for the far end of the park. Thinking about adult things, like sex, terrified him. You had to strike again when he didn't have those barriers active.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Tao" "RecuerdosTao">>
<</link>>
<<else>>
<<link "⬅️ Back to Tao's Memories" "RecuerdosTao">>
<</link>>
<</if>>
</div><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<<if $citajuanan is true>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Juanan te mira de nuevo serio. Ya no hay nada más que hablar. Solo queda ir a la cita con tu vecino del 1B, a las 23 y entre semana.
<center><img src="images/Juanan/juanankebabpreocupado.png" width="400"></center>
[[Te despides|Kebab]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Te sientas de nuevo en la mesa, ante el barbudo albañil. Juanan no dice nada, da un largo trago de cerveza y te observa, serio. Los dos sabéis de lo que tenéis que hablar. No podéis hacer como si no ha sucedido nada.
<center><img src="images/Juanan/juanankebabpreocupado.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Juanan, tenemos que hablar de lo que sucedió.' },
{ speaker: 'juanan', text: 'Lo sé. Mira, fue una equivocación. Yo...' },
{ speaker: 'sergio', text: '¿Por qué un error? Mira. Ambos bebimos, sí. Pero había de verdad una conexión entre nosotros. Unas ganas de...' },
{ speaker: 'juanan', text: '<em>Te mira enfadado</em> ¿DE QUÉ, Sergio? Mira. No te estoy echando la culpa. No soy homófobo, ya lo sabes. Pero es una cosa que no se debería repetir.' },
{ speaker: 'sergio', text: 'Respóndeme a una sola pregunta y ya no volveremos a hablar del tema. Solo una.' },
{ speaker: 'juanan', text: 'De acuerdo.' },
{ speaker: 'sergio', text: '¿Te gustó besarme? ¿Te excitaste?' },
{ speaker: 'juanan', text: 'Eso no importa.' },
{ speaker: 'sergio', text: '¡Claro que sí! ¿Dónde está el problema?' },
{ speaker: 'juanan', text: 'En Tao. En mi hijo. No quiero hacerle daño. No quiero que la gente hable de mí y le perjudique. Mi vida es mi hijo Sergio, no puedo hacerle daño.' },
{ speaker: 'sergio', text: '¿Por qué debería enterarse? Ya has pasado mucho tiempo en abstinencia sexual por él. Ya te toca disfrutar de la vida. Además, no quiero ni voy a sustituir a su madre. Solo somos dos hombres que queremos pasarlo bien juntos. Dejarnos llevar.' },
{ speaker: 'juanan', text: 'Sergio... No sé...' },
{ speaker: 'sergio', text: 'Dale una oportunidad. Solo una. Piensa en ti por una vez.' },
{ speaker: 'juanan', text: 'Ok. Ven a mi casa entre las 23 y las 24. Es cuando se acuesta Tao. Allí hablaremos de nuevo.' },
{ speaker: 'sergio', text: 'Vale. Nos vemos allí.' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[],
[
{
text: 'Te despides de Juanan',
action: function() {
State.variables.citajuanan = true;
Engine.play('Kebab');
}
}
]
]
});
<</script>>
<</if>>
<<else>>
<<if $citajuanan is true>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Juanan looks at you again, serious. There's nothing more to talk about. All that's left is to go to the appointment with your neighbor from 1B, at 11 PM on a weekday.
<center><img src="images/Juanan/juanankebabpreocupado.png" width="400"></center>
[[You say goodbye|Kebab]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
You sit down again at the table, facing the bearded construction worker. Juanan says nothing, takes a long sip of beer and watches you, serious. You both know what you need to talk about. You can't pretend nothing happened.
<center><img src="images/Juanan/juanankebabpreocupado.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Juanan, we need to talk about what happened.' },
{ speaker: 'juanan', text: 'I know. Look, it was a mistake. I...' },
{ speaker: 'sergio', text: 'Why a mistake? Look. We both drank, yes. But there was a real connection between us. A desire to...' },
{ speaker: 'juanan', text: '<em>Looks at you angrily</em> FOR WHAT, Sergio? Look. I\'m not blaming you. I\'m not homophobic, you know that. But it\'s something that shouldn\'t happen again.' },
{ speaker: 'sergio', text: 'Answer me one question and we\'ll never talk about it again. Just one.' },
{ speaker: 'juanan', text: 'Alright.' },
{ speaker: 'sergio', text: 'Did you like kissing me? Did it turn you on?' },
{ speaker: 'juanan', text: 'That doesn\'t matter.' },
{ speaker: 'sergio', text: 'Of course it does! Where\'s the problem?' },
{ speaker: 'juanan', text: 'In Tao. In my son. I don\'t want to hurt him. I don\'t want people to talk about me and harm him. My life is my son Sergio, I can\'t hurt him.' },
{ speaker: 'sergio', text: 'Why should he find out? You\'ve already spent a long time in sexual abstinence for him. It\'s your turn to enjoy life. Besides, I don\'t want to and won\'t replace his mother. We\'re just two men who want to have a good time together. Let ourselves go.' },
{ speaker: 'juanan', text: 'Sergio... I don\'t know...' },
{ speaker: 'sergio', text: 'Give it a chance. Just one. Think about yourself for once.' },
{ speaker: 'juanan', text: 'Ok. Come to my place between 11 PM and midnight. That\'s when Tao goes to bed. We\'ll talk again there.' },
{ speaker: 'sergio', text: 'Okay. See you there.' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[],
[
{
text: 'You say goodbye to Juanan',
action: function() {
State.variables.citajuanan = true;
Engine.play('Kebab');
}
}
]
]
});
<</script>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<set $corrupcionJuanan to 40>>
<<set $notaJuanan3 to true>>
<<set $seacabalacita to true>>
<<set $notaJuanan2 to false>>
<<run setup.gameTime.addMinutes(25)>>
<<set $recuerdosJuanan += 1>>
<<set $RecuerdoJuanan2 = true>>
Entráis los dos en silencio a la casa de Juanan y Tao. El albañil te lleva a su habitación con un dedo en los labios, indicando que vayas en silencio. Pasas por delante de la puerta de la habitación de Tao, que duerme plácidamente. Al llegar a la habitación de matrimonio, Juanan cierra la puerta con tranquilidad y espera a que tú des el paso. Te acercas y le besas, tiernamente, y él te devuelve el beso. Le quitas la camisa para deleitarte con su enorme espalda, con tatuajes de hace tiempo. Su pecho velludo y ancho. Su barriguilla sexy. Le besas de nuevo, y esta vez, él te devuelve el beso.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juanancitabeso.webm" type="video/webm"></video></center>
Su lengua es caliente, húmeda y grande. Él es más alto que tú y su tamaño te excita. Se aleja unos pasos y, tímidamente, comienza a desvestirse del todo. Primero se queda en unos slips, marcando su paquete para, luego, quitárselo y liberar a su bestia, una gorda polla que, morcillona, te espera.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juanandesnudo.webm" type="video/webm"></video></center>
Te arrodillas ante ella, como tu nuevo dios. Al cogerla entre las manos, esta aumenta de tamaño y sonríes a Juanan. El hombretón está temblando, no sabes si de miedo o de expectación. Te la metes en la boca y disfrutas de su sabor y de su aroma. A sudor. A testosterona. A hombre. Con cada lamida, beso o succión, Juanan suspira o gime. Lo está disfrutando.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juananmamada.webm" type="video/webm"></video></center>
Tras varios minutos, Juanan anuncia que se va a correr con un susurro. Recibes gozoso su descarga, que te llena la cara con la densa leche de tu vecino. Tú tampoco tardas en correrte al masturbarte, salpicando el suelo de la habitación con tu leche.
Querías algo más. Seguramente que fuera más dador de placer que receptor, pero en el rostro de Juanan notas que, por ahora, no puede dar más pasos. Te conformas por el momento. Le das un beso y te despides. "Ya salgo yo, ahora descansa" le dices. Y le dejas acostándose en su cama, no sin antes escuchar con su voz grave: "Si alguna vez quieres repetir..." Le sonríes. "De 23 a 24, entre semana" le contestas, y sales de su habitación.
[[Sales del cuarto|recibidor1B]]
<<else>>
<<set $corrupcionJuanan to 40>>
<<set $notaJuanan3 to true>>
<<set $notaJuanan2 to false>>
<<run setup.gameTime.addMinutes(25)>>
<<set $recuerdosJuanan += 1>>
<<set $RecuerdoJuanan2 = true>>
You both enter Juanan and Tao's house in silence. The construction worker leads you to his bedroom with a finger to his lips, indicating you should be quiet. You pass by the door to Tao's room, who sleeps peacefully. Upon reaching the master bedroom, Juanan closes the door calmly and waits for you to make the move. You approach and kiss him tenderly, and he returns the kiss. You remove his shirt to delight in his enormous back, with old tattoos. His hairy, broad chest. His sexy little belly. You kiss him again, and this time, he returns the kiss.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juanancitabeso.webm" type="video/webm"></video></center>
His tongue is hot, wet, and large. He's taller than you and his size excites you. He steps back a few paces and, shyly, begins to undress completely. First he's left in his briefs, showing his bulge, then he removes them and frees his beast, a thick cock that, meaty and large, awaits you.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juanandesnudo.webm" type="video/webm"></video></center>
You kneel before it, like your new god. As you grasp it in your hands, it grows in size and you smile at Juanan. The big man is trembling, you don't know if from fear or anticipation. You take it in your mouth and enjoy its taste and its scent. Of sweat. Of testosterone. Of man. With each lick, kiss, or suck, Juanan sighs or moans. He's enjoying it.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juananmamada.webm" type="video/webm"></video></center>
After several minutes, Juanan announces in a whisper that he's going to cum. You joyfully receive his release, which fills your face with your neighbor's thick milk. You don't take long to cum either while masturbating, splashing the bedroom floor with your milk.
You wanted something more. Surely to be more of a giver of pleasure than a receiver, but in Juanan's face you notice that, for now, he can't take any more steps. You settle for the moment. You give him a kiss and say goodbye. "I'll let myself out, rest now," you tell him. And you leave him lying down in his bed, not before hearing in his deep voice: "If you ever want to do this again..." You smile at him. "Between 11 PM and midnight, on weekdays," you reply, and leave his room.
[[You leave the room|recibidor1B]]
<</if>> <<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1B.png" alt="Recibidor" />
</div>
El recibidor de los Altavert Corral es la presentación perfecta de su casa. Limpia, ordenada y con el recuerdo constante del hueco dejado por la mujer de Juanan. Un gran espejo recibe a las visitas. Bajo él, un pequeño mueble con fotos familiares. En varias de ellas se ve a un Juanan más joven con una mujer bastante guapa y sonriente. La más grande de todas es de ella, cargando a un bebé asiático de apenas un año, Tao.
[[Ir a la habitación de Tao|habitaciontao]]
[[Ir al salón|salon1B]]
[[Ir a la habitación de matrimonio|habitacionjuanan]]
[[Ir al baño|baño1B]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1B.png" alt="Hallway" />
</div>
The Altavert Corral's hallway is the perfect introduction to their home. Clean, tidy, and with the constant reminder of the void left by Juanan's wife. A large mirror greets visitors. Below it, a small cabinet with family photos. In several of them, you can see a younger Juanan with a quite pretty and smiling woman. The largest one shows her holding an Asian baby barely a year old, Tao.
[[Go to Tao's room|habitaciontao]]
[[Go to the living room|salon1B]]
[[Go to the master bedroom|habitacionjuanan]]
[[Go to the bathroom|baño1B]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "teechadecasa";
console.log("⚠️ Te va a descubrir " + discovererName + " - redirigiendo a " + discoveryPassage);
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.seacabalacita === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 24 || currentTime < 1) {
console.log("⏰ Es medianoche - Juanan te echa de la casa");
Engine.play("seacabolacitajuanan");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Pero que no lo sepa nadie.</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Fuiste a hablar de lo sucedido en el kebab con Juanan. El albañil se mostraba serio, pero no le dejaste alternativa. Tras una conversación, él te confesó que se había excitado con ese encuentro en el baño, pero que no quería perjudicar a su hijo. Conseguiste convencerlo de probarlo, aunque sea solo por una vez y él aceptó. Quedaste a las 23 en su casa, cuando Tao estuviera durmiendo.
</p>
<center><img src="images/Juanan/juanankebabpreocupado.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Llegaste a su casa a la hora acordada y Juanan te invitó a su habitación en silencio. Fuiste tú quien dirigió la acción, besándole y quitándole la camiseta. Juanan, aunque algo pasivo, te devolvía los besos y las caricias. Bajo su pantalón, estaba claramente excitado.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juanancitabeso.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Luego él, con más confianza, se desnudó ante ti. Su cuerpo, fuerte y velludo, te excitó sobremanera. Enseguida te pusiste de rodillas.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juanandesnudo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
De rodillas, en su cuarto, le hiciste una mamada que el albañil disfrutó como nunca. Tras varios minutos de felación, Juanan eyaculó, y tú aceptaste su leche con una sonrisa y un gemido.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juananmamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Todo había acabado, por ahora. Sabías que Juanan no daría más pasos en el sexo con hombres por el momento. Aun así, aceptó veros otras veces para repetir lo de esa noche y claramente aceptaste.
</p>
<<else>>
<h2 class="fade">🌟 Memory 2: But don't let anyone know.</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You went to talk about what happened at the kebab shop with Juanan. The construction worker looked serious, but you didn't give him an alternative. After a conversation, he confessed that he had gotten aroused by that encounter in the bathroom, but that he didn't want to harm his son. You managed to convince him to try it, even if just once, and he accepted. You agreed to meet at 11 PM at his place, when Tao would be sleeping.
</p>
<center><img src="images/Juanan/juanankebabpreocupado.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You arrived at his house at the agreed time and Juanan invited you to his bedroom in silence. You were the one who led the action, kissing him and removing his shirt. Juanan, although somewhat passive, returned your kisses and caresses. Under his pants, he was clearly aroused.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juanancitabeso.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then he, with more confidence, undressed before you. His body, strong and hairy, excited you immensely. You immediately got down on your knees.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juanandesnudo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
On your knees, in his room, you gave him a blowjob that the construction worker enjoyed like never before. After several minutes of fellatio, Juanan ejaculated, and you accepted his milk with a smile and a moan.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Juanan/juananmamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Everything was over, for now. You knew that Juanan wouldn't take any more steps in sex with men for the moment. Even so, he agreed to see each other again to repeat what happened that night and you clearly accepted.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Juanan" "RecuerdosJuanan">>
<</link>>
<<else>>
<<link "⬅️ Back to Juanan's Memories" "RecuerdosJuanan">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Habitación de Tao" />
</div>
La habitación más parece la de un niño que la de un adolescente. Está llena de peluches, figuritas de acción y pósters de series y videojuegos japoneses. Tao está muy cómodo con su infancia alargada y no tiene prisa en ser adulto.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and ((_currentTime >= 0 and _currentTime < 7) or (_currentTime >= 23 and _currentTime < 24))) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and ((_currentTime >= 0 and _currentTime < 10) or (_currentTime >= 22 and _currentTime < 24)))>>\
Tao está durmiendo profundamente en su cama, abrazando un peluche. [[Observar a Tao durmiendo|TaoDurmiendo]]
<<set _charactersPresent.push('Tao')>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 19 and _currentTime < 21) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and ((_currentTime >= 11 and _currentTime < 14) or (_currentTime >= 18 and _currentTime < 21)))>>\
Tao está jugando videojuegos online con sus auriculares puestos, completamente concentrado en la pantalla. [[Observar a Tao jugando|TaoJugando]]
<<set _charactersPresent.push('Tao')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de Juanan|habitacionjuanan]]
[[Ir al recibidor|recibidor1B]]
[[Ir a la cocina|cocina1B]]
[[Ir al salón|salon1B]]
[[Ir al baño|baño1B]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Tao's bedroom" />
</div>
The room looks more like a child's than a teenager's. It's full of stuffed animals, action figures, and posters of Japanese series and video games. Tao is very comfortable with his extended childhood and is in no hurry to be an adult.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and ((_currentTime >= 0 and _currentTime < 7) or (_currentTime >= 23 and _currentTime < 24))) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and ((_currentTime >= 0 and _currentTime < 10) or (_currentTime >= 22 and _currentTime < 24)))>>\
Tao is sleeping deeply in his bed, hugging a stuffed animal. [[Watch Tao sleeping|TaoDurmiendo]]
<<set _charactersPresent.push('Tao')>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 19 and _currentTime < 21) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and ((_currentTime >= 11 and _currentTime < 14) or (_currentTime >= 18 and _currentTime < 21)))>>\
Tao is playing video games online with his headphones on, completely focused on the screen. [[Watch Tao playing|TaoJugando]]
<<set _charactersPresent.push('Tao')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to Juanan's room|habitacionjuanan]]
[[Go to the hallway|recibidor1B]]
[[Go to the kitchen|cocina1B]]
[[Go to the living room|salon1B]]
[[Go to the bathroom|baño1B]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var dayOfWeek = State.variables.gameDayIndex + 1;
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
var isSleeping = false;
if (charactersPresent.includes('Tao')) {
var weekdaySleep = (dayOfWeek >= 1 && dayOfWeek <= 5) &&
((currentTime >= 0 && currentTime < 7) || (currentTime >= 23 && currentTime < 24));
var weekendSleep = (dayOfWeek >= 6 && dayOfWeek <= 7) &&
((currentTime >= 0 && currentTime < 10) || (currentTime >= 22 && currentTime < 24));
if (weekdaySleep || weekendSleep) isSleeping = true;
}
if (isSleeping) return;
var currentSemblante = State.variables.currentSemblanteActive;
var isAllowed = false;
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.seacabalacita === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 24 || currentTime < 1) {
Engine.play("seacabolacitajuanan");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<<set $taoExcitadoDestino to "habitaciontao">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Salón" />
</div>
El salón del 1B también está bastante ordenado y limpio. Juanan ha cumplido con llevar su casa y su trabajo con mucho esfuerzo, normal que no hubiera tenido tiempo para dedicarse a buscar una nueva pareja. Dos cosas dominan la estancia. Un gran televisor y una fotografía enorme de un Tao de unos dos años.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _juananPresent to false>><<set _taoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 22 and _currentTime < 23)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 22 and _currentTime < 24)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _juananPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 16 and _currentTime < 17)>>\
<<set _taoPresent to true>>\
<</if>>\
\
<<if _juananPresent and _taoPresent>>\
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>\
Juanan y Tao están en el sofá viendo la televisión juntos. El ambiente es tranquilo y familiar. [[Observarlos|JuananTaoSalon]]
<<set _charactersPresent.push('Juanan', 'Tao')>>\
<<elseif _juananPresent>>\
<<run setup.registerCharactersInLocation(['Juanan'])>>\
Juanan está viendo la televisión solo, con una cerveza en la mano. Parece relajado después del día. [[Acercarte|JuananSoloSalon]]
<<set _charactersPresent.push('Juanan')>>\
<<elseif _taoPresent>>\
<<run setup.registerCharactersInLocation(['Tao'])>>\
Tao está merendando frente al televisor, con los ojos pegados a la pantalla. [[Acercarte|TaoSoloSalon]]
<<set _charactersPresent.push('Tao')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de Tao|habitaciontao]]
[[Ir al recibidor|recibidor1B]]
[[Ir a la habitación de matrimonio|habitacionjuanan]]
[[Ir al baño|baño1B]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<<set $taoExcitadoDestino to "habitaciontao">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Living room" />
</div>
The living room of 1B is also quite tidy and clean. Juanan has managed to keep both his home and his work going with great effort, no wonder he hasn't had time to look for a new partner. Two things dominate the room. A large television and a huge photograph of a two-year-old Tao.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _juananPresent to false>><<set _taoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 22 and _currentTime < 23)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 22 and _currentTime < 24)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _juananPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 16 and _currentTime < 17)>>\
<<set _taoPresent to true>>\
<</if>>\
\
<<if _juananPresent and _taoPresent>>\
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>\
Juanan and Tao are on the couch watching television together. The atmosphere is calm and familial. [[Watch them|JuananTaoSalon]]
<<set _charactersPresent.push('Juanan', 'Tao')>>\
<<elseif _juananPresent>>\
<<run setup.registerCharactersInLocation(['Juanan'])>>\
Juanan is watching television alone, beer in hand. He seems relaxed after the day. [[Approach him|JuananSoloSalon]]
<<set _charactersPresent.push('Juanan')>>\
<<elseif _taoPresent>>\
<<run setup.registerCharactersInLocation(['Tao'])>>\
Tao is having a snack in front of the television, eyes glued to the screen. [[Approach him|TaoSoloSalon]]
<<set _charactersPresent.push('Tao')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to Tao's room|habitaciontao]]
[[Go to the hallway|recibidor1B]]
[[Go to the master bedroom|habitacionjuanan]]
[[Go to the bathroom|baño1B]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var isAllowed = false;
if (currentSemblante) {
isAllowed = false;
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.seacabalacita === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 24 || currentTime < 1) {
Engine.play("seacabolacitajuanan");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Habitación de Juanan" />
</div>
Esta habitación, el cuarto donde duerme Juanan, es el único lugar en la casa en el que se puede ver desorden, aunque está limpia. Juanan siempre ha dejado su propio cuidado como lo último por hacer. Hay ropa sucia de trabajo sobre el suelo y camisetas usadas sobre una cama sin hacer. Colgado sobre una de las paredes, hay una fotografía de Juanan y su mujer, ya fallecida, vestidos en su boda.
<<if $juananEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('juananpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 7) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 9)>>\
Juanan está durmiendo profundamente en su cama. [[Observar a Juanan durmiendo|JuananDurmiendo]]
<<set _charactersPresent.push('Juanan')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillojuanan isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillojuanan')>><</link>>
<</if>>
<</if>>
[[Ir a la habitación de Tao|habitaciontao]]
[[Ir al recibidor|recibidor1B]]
[[Ir a la cocina|cocina1B]]
[[Ir al salón|salon1B]]
[[Ir al baño|baño1B]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Juanan's bedroom" />
</div>
This room, where Juanan sleeps, is the only place in the house where you can see disorder, although it's clean. Juanan has always left his own care as the last thing to do. There are dirty work clothes on the floor and used t-shirts on an unmade bed. Hanging on one of the walls, there's a photograph of Juanan and his late wife, dressed in their wedding attire.
<<if $juananEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('juananpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 7) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 9)>>\
Juanan is sleeping deeply in his bed. [[Watch Juanan sleeping|JuananDurmiendo]]
<<set _charactersPresent.push('Juanan')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillojuanan isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillojuanan')>><</link>>
<</if>>
<</if>>
[[Go to Tao's room|habitaciontao]]
[[Go to the hallway|recibidor1B]]
[[Go to the kitchen|cocina1B]]
[[Go to the living room|salon1B]]
[[Go to the bathroom|baño1B]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.juananEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.seacabalacita === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 24 || currentTime < 1) {
Engine.play("seacabolacitajuanan");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Baño" />
</div>
El baño del 1B marca, como todo lo de la casa, la diferencia entre Juanan y Tao. Esa distinción se ve perfectamente en la repisa del lavabo, donde es fácil identificar cuál es el cepillo de dientes de Tao, y cuál el de Juanan.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _juananPresent to false>><<set _taoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17 and _currentTime < 17.5)>>\
<<set _juananPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _taoPresent to true>>\
<</if>>\
\
<<if _juananPresent>>\
<<run setup.registerCharactersInLocation(['Juanan'])>>\
<<set _charactersPresent.push('Juanan')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Juanan se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Juananducha')>><</link>>
<</if>>
<<elseif _taoPresent>>\
<<run setup.registerCharactersInLocation(['Tao'])>>\
<<set _charactersPresent.push('Tao')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha a Tao preparándose para el instituto.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Taoduchandose')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillotao isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillotao')>><</link>>
<</if>>
[[Ir a la habitación de Tao|habitaciontao]]
[[Ir al recibidor|recibidor1B]]
[[Ir a la habitación de Juanan|habitacionjuanan]]
[[Ir a la cocina|cocina1B]]
[[Ir al salón|salon1B]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Bathroom" />
</div>
The bathroom of 1B marks, like everything in the house, the difference between Juanan and Tao. That distinction is perfectly visible on the sink shelf, where it's easy to identify which toothbrush is Tao's and which is Juanan's.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _juananPresent to false>><<set _taoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17 and _currentTime < 17.5)>>\
<<set _juananPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _taoPresent to true>>\
<</if>>\
\
<<if _juananPresent>>\
<<run setup.registerCharactersInLocation(['Juanan'])>>\
<<set _charactersPresent.push('Juanan')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Juanan is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Juananducha')>><</link>>
<</if>>
<<elseif _taoPresent>>\
<<run setup.registerCharactersInLocation(['Tao'])>>\
<<set _charactersPresent.push('Tao')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear Tao getting ready for school.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Taoduchandose')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillotao isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillotao')>><</link>>
<</if>>
[[Go to Tao's room|habitaciontao]]
[[Go to the hallway|recibidor1B]]
[[Go to Juanan's room|habitacionjuanan]]
[[Go to the kitchen|cocina1B]]
[[Go to the living room|salon1B]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.seacabalacita === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 24 || currentTime < 1) {
Engine.play("seacabolacitajuanan");
}
}
}, 50);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Baño" />
</div>
Juanan no se sorprende al ver cómo su polla se ha puesto bien dura bajo el agua de la ducha. Casi sonriente, el hombre comienza a acariciársela mientras tú lo observas desde tu fantasmal seguridad.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juananpajacama.webm" type="video/webm"></video></center>
Luego comienza a masturbarse, y tú haces lo mismo. Entras con él en el cubículo de la ducha y casi puedes sentir cómo el aire de sus respiraciones acaricia tu rostro. Finalmente, él acaba sobre la pared de la ducha y tú le acompañas, solidificándose y haciéndose visible tu esperma al salir de ti. Por suerte, Juanan no se da cuenta y lava las dos corridas con un pase de la alcachofa de la ducha.
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Bathroom" />
</div>
Juanan isn't surprised to feel his cock getting hard under the shower water. Almost smiling, the man begins to stroke himself while you watch from the safety of your ghostly form.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juananpajacama.webm" type="video/webm"></video></center>
Then he starts to masturbate, and you do the same. You step into the shower cubicle with him and can almost feel the warmth of his breath grazing your face. Finally, he finishes against the shower wall and you join him, your cum solidifying and becoming visible as it leaves your body. Luckily, Juanan doesn't notice and washes both loads away with a sweep of the shower head.
[[You leave|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Habitación de Juanan" />
</div>
Juanan duerme plácidamente, solo vestido con un calzoncillo largo. Ronca fuertemente y su enorme pecho asciende con cada respiración.
<center><img src="images/Juanan/juanandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Juanan jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecarajuanan')>><</link>>
<</if>>
[[Salir de la habitación|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Habitación de Juanan" />
</div>
Juanan sleeps peacefully, dressed only in long underwear. He snores loudly and his enormous chest rises with each breath.
<center><img src="images/Juanan/juanandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Juanan would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecarajuanan')>><</link>>
<</if>>
[[Step away|recibidor1A]]
<</if>>
<<if $idioma is "es">>
<<set $corrupcionTao to 10>>
<<set $notaTao3 to true>>
<<set $notaTao2 to false>>
<<run setup.gameTime.addMinutes(60)>>
<<set $recuerdosTao += 1>>
<<set $RecuerdoTao2 = true>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Habitación de Tao" />
</div>
Durmiendo, con su voluntad mermada, es el momento perfecto para excitar a Tao sin que pueda huir mentalmente. Te acercas a su cuerpecito yaciente y usas la app.
<center><img src="images/Tao/taodurmiendo.png" width="500"></center>
Tras conseguir que se excite, el muchacho no se despierta, simplemente se agita en su cama, agitado. En las sombras, disfrutas de su pequeño cuerpo mientras sus delicados labios se abren ligeramente y, bajo su ligero pijama de pokemon, ves una erección.
Sabes que deberías marcharte. Que es peligroso y Tao aún no está preparado, pero no puedes contenerte. Te acercas a la cama y le quitas poco a poco la sabana que le cubre. El chico aún sigue durmiendo, así que te arriesgas más y le rozas con tu mano. Tao sigue durmiendo.
Su camiseta de pijama está ligeramente entreabierta. Uno de sus diminutos pezones esta a la vista. Con un dedo, y temeroso de que despierte, lo acaricias lentamente. Al momento el chico gime, pero no se mueve, y el pezoncillo se endurece.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tao/taopezon.webm" type="video/webm"></video></center>
Sigues acariciando con ternura el pezón hasta que decides dar un paso más. No te importa el posible peligro, como mucho te exhorta a seguir y, con la lengua fuera un par de milímetros, te acercas a esa delicia puntiaguda y lo lames.
Tao se agita de nuevo, pero sigue sin despertarse. Ya no actúas de manera sensata, solo te dejas guiar por tus impulsos, por lo que te acercas a sus pantaloncillos. Con cuidado le bajas le desnudas un poco, y es cuando Tao reacciona, dándote la espalda, pero sin dejar de dormir.
Ante ti esta su culo. Su pequeño y lampiño culo. No puedes resistirte a lamerlo. Primero suavemente y, luego, con más ganas. Tao no para de gemir, con los ojos cerrados, teniendo seguramente su primer suelo erótico. Con cada lamida, un nuevo gemido. Con cada gemido, te excita aún más.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tao/taocomidaculo.webm" type="video/webm"></video></center>
Te sacas la polla y comienzas a masturbarte. Tao se arquea incluso, abriéndose más de piernas. Por suerte, notas como se convulsiona y te detienes. El chico se ha corrido. Sabes en ese momento que si no te hubieras detenido le habías penetrado ahí mismo. Asustado de lo que acaba de pasar y, por si el joven se despierta, sales de la habitación y de la casa lo más rápido posible. Cuando llegas a tu cuarto, te haces una paja pensando en el delicado y virginal culito de Tao.
[[Continuar|habitacionsergio]]
<<else>>
<<set $corrupcionTao to 10>>
<<set $notaTao3 to true>>
<<set $notaTao2 to false>>
<<run setup.gameTime.addMinutes(60)>>
<<set $recuerdosTao += 1>>
<<set $RecuerdoTao2 = true>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Tao's bedroom" />
</div>
As he sleeps, his will weakened, it's the perfect time to arouse Tao without him being able to mentally escape. You approach his small, lying body and use the app.
<center><img src="images/Tao/taodurmiendo.png" width="500"></center>
After arousing him, the boy doesn't wake up; he simply stirs in his bed, agitated. In the shadows, you enjoy the sight of his small body as his delicate lips part slightly, and beneath his light Pokémon pajamas, you see an erection.
You know you should leave. That it's dangerous and Tao isn't ready yet, but you can't resist. You approach the bed and slowly remove the sheet covering him. The boy is still asleep, so you take a greater risk and brush your hand against him. Tao is still asleep.
His pajama top is slightly open. One of his tiny nipples is visible. With one finger, and afraid of waking him, you slowly caress him. The boy moans, but doesn't move, and his nipple hardens.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tao/taopezon.webm" type="video/webm"></video></center>
You continue tenderly caressing his nipple until you decide to take it a step further. You don't care about the potential danger; at most, he urges you to continue, and with your tongue sticking out a couple of millimeters, you approach that pointed delight and lick it.
Tao stirs again, but still doesn't wake up. You no longer act sensibly; you only let yourself be guided by your impulses, so you approach his shorts. Carefully, you pull them down and undress him a little, and that's when Tao reacts, turning his back to you, but still asleep.
Before you is his ass. His small, hairless ass. You can't resist licking it. First gently, then with more passion. Tao keeps moaning, his eyes closed, surely experiencing his first erotic encounter. With each lick, a new moan. With each moan, he excites you even more.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tao/taocomidaculo.webm" type="video/webm"></video></center>
You pull out your cock and start masturbating. Tao even arches his back, spreading his legs wider. Luckily, you feel him convulse and stop. The boy has come. You know at that moment that if you hadn't stopped, you would have penetrated him right there. Scared by what just happened, and in case the young man wakes up, you leave the room and the house as quickly as possible. When you get to your room, you jerk off thinking about Tao's delicate, virginal little ass.
[[Continue|habitacionsergio]]
<</if>><</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Habitación de Tao" />
</div>
Cubierto por una sábana de Pokémon y con un pijama también de los mismos personajes, Tao duerme plácidamente, como un ángel.
<center><img src="images/Tao/taodurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Tao jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaratao')>><</link>>
<</if>>
<<run setup.registerCharactersInLocation(['Tao'])>>
[[Salir de la habitación|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Tao's bedroom" />
</div>
Covered by Pokémon sheets and wearing pajamas also featuring the same characters, Tao sleeps peacefully, like an angel.
<center><img src="images/Tao/taodurmiendo.png" width="500"></center>
<<run setup.registerCharactersInLocation(['Tao'])>>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Tao would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecaratao')>><</link>>
<</if>>
[[Leave the room|recibidor1B]]
<</if>><<set $taoExcitadoDestino to "Taoexcitado">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Habitación de Tao" />
</div>
Tao está enfrascado en una partida online con sus auriculares puestos, completamente ajeno a todo lo que le rodea. De vez en cuando suelta alguna exclamación en voz alta o ríe solo ante algo que pasa en la pantalla. Es imposible no sonreír al verlo.
<center><img src="images/Tao/taojugando.png" width="500"></center>
[[Salir de la habitación|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="Tao's bedroom" />
</div>
Tao is engrossed in an online match with his headphones on, completely oblivious to everything around him. Every now and then he lets out a loud exclamation or laughs to himself at something happening on the screen. It's impossible not to smile watching him.
<center><img src="images/Tao/taojugando.png" width="500"></center>
[[Leave the room|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}, 100);
<</script>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Dulces sueños</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras ver cómo, incluso rodeado de la presión de sus amigos, Tao se mostraba reacio a explorar ningún tipo de actividad sexual, supiste que debías actuar cuando este no fuera del todo consciente.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Conseguiste colarte en la habitación de Tao cuando este estaba dormido. Tras usar la app de excitación a distancia sobre el muchacho, el vecinito comenzó a agitarse, con una erección en sus pantalones, pero siguiendo dormido.
</p>
<center><img src="images/Tao/taodurmiendo.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Deberías haberte quedado ahí, dejando que tuviera su primer sueño erótico. Pero Tao se desplazó y te mostró uno de sus pequeños pezones, que no pudiste más que acariciar. Como el chico parecía que le gustaba, incluso se lo lamiste.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Tao/taopezon.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Envalentonado al ver que Tao gemía por tu contacto y seguía sin despertarse, decidiste dar un paso más. Le bajaste un poco su calzoncillo para mostrar su polla empalmada y su culo sin nada de pelo. Te lanzaste a lamer su agujero, y el joven gimió incluso más.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Tao/taocomidaculo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras varios minutos de lenguetazos en su agujerito, Tao acabó corriéndose. Te marchaste antes de que este se despertara, esperando con ansias los siguientes pasos para corromperlo.
</p>
<<else>>
<h2 class="fade">🌟 Memory 2: Sweet Dreams</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After seeing how, even surrounded by the pressure from his friends, Tao was reluctant to explore any kind of sexual activity, you knew you had to act when he wasn't fully conscious.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You managed to sneak into Tao's room while he was asleep. After using the remote arousal app on the boy, the young neighbor began to stir, with an erection in his pants, but still sleeping.
</p>
<center><img src="images/Tao/taodurmiendo.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You should have stopped there, letting him have his first erotic dream. But Tao shifted and showed you one of his small nipples, which you couldn't help but caress. Since the boy seemed to like it, you even licked it.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Tao/taopezon.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Emboldened by seeing that Tao moaned at your touch and kept sleeping, you decided to go a step further. You pulled down his underwear a bit to show his hard cock and his hairless ass. You dove in to lick his hole, and the young man moaned even more.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Tao/taocomidaculo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After several minutes of licking his little hole, Tao ended up cumming. You left before he woke up, eagerly awaiting the next steps to corrupt him.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Tao" "RecuerdosTao">>
<</link>>
<<else>>
<<link "⬅️ Back to Tao's Memories" "RecuerdosTao">>
<</link>>
<</if>>
</div><<set $menucogido to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
Abres tu buzón, con la poca esperanza de encontrar algo interesante. Propaganda y nada más. Una de ellas te llama la atención. Es la carta, en un tríptico, del kebab de abajo, con el teléfono para poder llamar y pedir a domicilio. Jamás lo has hecho, siempre has bajado a recogerlo, pero ahora sabes un modo de acercar a tu territorio a cierto atractivo repartidor.
<center><img src="images/Hamza/kebabmenu.png" width="400"></center>
[[Continuar|Portal]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
You open your mailbox, with little hope of finding anything interesting. Junk mail and nothing else. One of them catches your attention. It's a tri-fold menu from the kebab shop downstairs, with the phone number to call and order for delivery. You've never done it before, always going down to pick it up, but now you know a way to bring a certain attractive delivery guy to your territory.
<center><img src="images/Hamza/kebabmenu.png" width="400"></center>
[[Continue|Portal]]
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
El ruido metálico del buzón al abrirse atrae tu mirada. Es Adrián, tu vecino de enfrente y tu crush desde hace varios años. Está recogiendo una revista de fitness, donde se puede ver en portada a un musculado modelo levantando pesas.
<center><img src="images/Adrian/adrianbuzon.png" width="500"></center>
Tras conocer su secreto, que envidia a los demás hombres musculosos, solo queda buscar una oportunidad, como esta, para derribar su autoestima.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrián',
portrait: 'images/Adrian/adrian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, Adrián. ¿Recogiendo el correo?' },
{ speaker: 'adrian', text: 'Sí. Una revista de deportes.' },
{ speaker: 'sergio', text: 'Parece más bien de fitness. ¿Cogiendo consejos para estar tan fuerte como el de la portada? Te queda bastante para eso.' },
{ speaker: 'adrian', text: '<em>Alza la voz, enfadado</em> ¿Cómo? No me hace falta ningún consejo. Mis rutinas son perfectas y están demostradas.' },
{ speaker: 'sergio', text: 'Pues creo que deberías cambiarlas porque, la verdad, te veo igual de delgado que hace tres años.' },
{ speaker: 'adrian', text: '<em>Su mirada de ira pierde fuerza y ves cómo titubea</em> Eso no es cierto.' },
{ speaker: 'sergio', text: 'A ver, estás más fuerte que yo. Pero claro, compárate con... ¡Con tu padre, por ejemplo! A él de verdad se le nota que va al gimnasio. Tú en cambio...' },
{ speaker: 'adrian', text: '<em>Te lanza una última mirada y sube las escaleras.</em>' },
{ speaker: 'sergio', text: 'Bueno, ahora solo queda esperar que no haya sido demasiado duro.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[
{
text: 'Continuar',
action: function() {
State.variables.encuentroadrian = true;
// ⏰ Establecer marca temporal para evento de Adrián (1 hora)
State.variables.adrianFotoPicadoTimestamp = State.variables.gameTotalMinutes || 0;
State.variables.adrianFotoPicadoPendiente = true;
console.log("Marca temporal de Adrián establecida - evento en 1 hora");
// Redirigir al portal
Engine.play("Portal");
}
}
]
]
})>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
The metallic sound of the mailbox opening catches your attention. It's Adrián, your neighbor from across the hall and your crush for several years. He's picking up a fitness magazine, where you can see a muscular model lifting weights on the cover.
<center><img src="images/Adrian/adrianbuzon.png" width="500"></center>
After learning his secret, that he envies other muscular men, all that's left is to find an opportunity, like this one, to tear down his self-esteem.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrián',
portrait: 'images/Adrian/adrian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey, Adrián. Picking up the mail?' },
{ speaker: 'adrian', text: 'Yeah. A sports magazine.' },
{ speaker: 'sergio', text: 'Looks more like a fitness magazine. Getting tips to be as strong as the guy on the cover? You\'ve got quite a way to go for that.' },
{ speaker: 'adrian', text: '<em>Raises his voice, angry</em> What? I don\'t need any tips. My routines are perfect and proven.' },
{ speaker: 'sergio', text: 'Well, I think you should change them because, honestly, you look just as skinny as you did three years ago.' },
{ speaker: 'adrian', text: '<em>His angry look loses strength and you see him hesitate</em> That\'s not true.' },
{ speaker: 'sergio', text: 'Look, you\'re stronger than me. But of course, compare yourself to... Your father, for example! You can really tell he goes to the gym. You, on the other hand...' },
{ speaker: 'adrian', text: '<em>He shoots you one last look and goes up the stairs.</em>' },
{ speaker: 'sergio', text: 'Well, now I just have to hope I wasn\'t too harsh.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[
{
text: 'Continue',
action: function() {
State.variables.encuentroadrian = true;
// ⏰ Set timestamp for Adrián event (1 hour)
State.variables.adrianFotoPicadoTimestamp = State.variables.gameTotalMinutes || 0;
State.variables.adrianFotoPicadoPendiente = true;
console.log("Adrián timestamp set - event in 1 hour");
// Redirect to portal
Engine.play("Portal");
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
Sentado en el sofá, coges tu móvil y decides a quién deberías llamar. Dada tu vida social y lo poco que te gusta cocinar, lo normal es que sea a alguien de comida a domicilio.
[[No llamas a nadie|Salón]]
<<if $notaHamza3>>
[[Pides un kebab de abajo|hamzacorrupto]]
<<elseif $notaHamza2>>
[[Pides un kebab de abajo|hamzasexy]]
<<elseif $menucogido>>
[[Pides un kebab de abajo|llamada a hamza]]
<</if>>
<<if $Semblantetraf>>
[[Llamas al traficante|Traficante]]
<</if>>
<<if $straponcomprado>>
[[Llamas para encargar unos juguetes sexuales|vendedordedildos]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
Sitting on the couch, you grab your phone and decide who you should call. Given your social life and how little you like cooking, it's normal that it would be someone for home delivery food.
[[You don't call anyone|Salón]]
<<if $notaHamza3>>
[[Order a kebab from downstairs|hamzacorrupto]]
<<elseif $notaHamza2>>
[[Order a kebab from downstairs|hamzasexy]]
<<elseif $menucogido>>
[[Order a kebab from downstairs|llamada a hamza]]
<</if>>
<<if $Semblantetraf>>
[[You call the drug dealer|Traficante]]
<</if>>
<<if $straponcomprado>>
[[You call to order some sex toys|vendedordedildos]]
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(40)>>
<<set _currentHour to $gameHours>>
<<if _currentHour >= 0 and _currentHour < 8>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
Intentas llamar al kebab, pero nadie contesta. Es normal, a estas horas de la madrugada el local está cerrado. Tendrás que intentarlo más tarde, cuando abran.
[[Volver al salón|Salón]]
<<else>>
<<if not $hamzaLlamada1Vista>>
<<set $hamzaLlamada1Vista to true>>
Alejar a Hamza de su controlador hermano es la mejor manera de comenzar a corromperlo. Ahora que tienes el número del local, solo tienes que llamar para que venga.
Marcas el número, pides el pedido y, reconociéndote, te indica que llegará en media hora. Al pasar unos 35 minutos, suena el timbre del portal. Abres abajo y le indicas el piso. Tras otro par de minutos, tocan a la puerta. Al abrir te encuentras a Hamza, con su típica sonrisa.
<center><img src="images/Hamza/hamzarepartidor.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<set _hasSemblante to ($currentSemblanteActive !== null and $currentSemblanteActive !== undefined)>>
<<if not _hasSemblante>>
<<script>>
$(document).one(":passagedisplay", function() {
setup.registerCharactersInLocation(['Hamza']);
setup.showDoorDialogue("Hamza", {
characters: [
{ id: 'hamza', name: 'Hamza', portrait: 'images/Hamza/hamza.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'hamza', text: 'Sergio, nunca habías pedido que te trajeran la comida a casa.' },
{ speaker: 'sergio', text: 'Ya, pero hoy me he levantado algo perezoso. Además, apenas nos conocemos. ¿Qué tal te va en el negocio de tu hermano?' },
{ speaker: 'hamza', text: 'Bien. No puedo quejarme. Aunque el sueldo no es demasiado. Pero lo entiendo, es un negocio pequeño.' },
{ speaker: 'sergio', text: 'Bueno, el dinero para los repartidores siempre está en las propinas.' },
{ speaker: 'hamza', text: '<em>Sonríe</em> La gente no suele dar propinas hoy en día a los repartidores. Como mucho les recrimina que lleguen tarde.' },
{ speaker: 'sergio', text: 'Quizá es porque no les das algo que le dé ese plus al reparto. Tú no cocinas, lo hace Ahmed, así que, ¿qué podrías dar para que tu servicio fuera excelente?' },
{ speaker: 'hamza', text: 'No lo sé. Podría llegar antes. Pero muchas veces eso no depende de mí, sino de lo rápido que cocina Ahmed.' },
{ speaker: 'sergio', text: 'Pero puedes hacer algo más. Puedes venir algo... distinto. Eres muy guapo y sexy. Si vinieras algo más provocativo, podrías conseguir más propinas seguro.' },
{ speaker: 'hamza', text: '<em>Te mira confuso</em> ¿Cómo que más provocativo? ¡No soy una puta!' },
{ speaker: 'sergio', text: 'Y no lo serías. Piensa en las mujeres que te llamarían solo para verte, y que te recompensarían por ello. También algunos hombres, claro está. Pero es su dinero lo que te interesa. A ver, es solo una idea. ¿No querías ganar más dinero?' },
{ speaker: 'hamza', text: 'Eh... Bueno, aquí tienes tu pedido. Son 6 euros.' }
],
options: [
[], [], [], [], [], [], [], [], [], [],
[{ text: 'Pagas y se marcha', action: function() {
State.variables.hamzaCorrupcionInicio = State.variables.gameTotalMinutes;
Engine.play('llamadahamza2');
}}]
]
});
});
<</script>>
<<else>>
<<script>>
$(document).one(":passagedisplay", function() {
setup.registerCharactersInLocation(['Hamza']);
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{ id: 'hamza', name: 'Hamza', portrait: 'images/Hamza/hamza.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'hamza', text: 'Aquí tienes tu pedido.' }
],
options: [
[],
[{ text: 'Se despide', action: 'GOTO:Salón' }]
]
});
});
<</script>>
<</if>>
<<else>>
<<if $hamzaCorrupcionInicio>>
<<set _diasPasados to setup.gameTime.getDaysSince($hamzaCorrupcionInicio)>>
<<if _diasPasados >= 2>>
<<goto "llamadahamza3">>
<<else>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
Piensas en llamar a Hamza de nuevo, pero Dem te dijo que esperaras dos días para que el plan surtiera efecto. Aún es muy pronto para comprobar si tus consejos han calado en él. Será mejor esperar un poco más.
[[Volver al salón|Salón]]
<</if>>
<<else>>
<<goto "llamadahamza2">>
<</if>>
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(40)>>
<<set _currentHour to $gameHours>>
<<if _currentHour >= 0 and _currentHour < 8>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
You try to call the kebab shop, but no one answers. It's normal, at this time of the morning the place is closed. You'll have to try later, when they open.
[[Return to the living room|Salón]]
<<else>>
<<if not $hamzaLlamada1Vista>>
<<set $hamzaLlamada1Vista to true>>
Getting Hamza away from his controlling brother is the best way to start corrupting him. Now that you have the shop's number, you just need to call for him to come.
You dial the number, place your order and, recognizing you, he tells you it'll arrive in half an hour. After about 35 minutes, the building's doorbell rings. You buzz him in and tell him the floor. After another couple of minutes, there's a knock on the door. When you open it, you find Hamza, with his typical smile.
<center><img src="images/Hamza/hamzarepartidor.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<set _hasSemblante to ($currentSemblanteActive !== null and $currentSemblanteActive !== undefined)>>
<<if not _hasSemblante>>
<<script>>
$(document).one(":passagedisplay", function() {
setup.registerCharactersInLocation(['Hamza']);
setup.showDoorDialogue("Hamza", {
characters: [
{ id: 'hamza', name: 'Hamza', portrait: 'images/Hamza/hamza.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Sergio/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'hamza', text: "Sergio, you've never asked for food to be brought to your house before." },
{ speaker: 'sergio', text: "Yeah, but today I woke up feeling a bit lazy. Besides, we barely know each other. How's it going with your brother's business?" },
{ speaker: 'hamza', text: "Good. Can't complain. Though the salary isn't much. But I understand, it's a small business." },
{ speaker: 'sergio', text: "Well, the money for delivery guys is always in the tips." },
{ speaker: 'hamza', text: '<em>Smiles</em> People don\'t usually tip delivery guys nowadays. At most they complain about them being late.' },
{ speaker: 'sergio', text: "Maybe it's because you don't give them something that adds that extra touch to the delivery. You don't cook, Ahmed does, so what could you offer to make your service excellent?" },
{ speaker: 'hamza', text: "I don't know. I could arrive sooner. But many times that doesn't depend on me, but on how fast Ahmed cooks." },
{ speaker: 'sergio', text: "But you can do something more. You can come looking... different. You're very handsome and sexy. If you came dressed more provocatively, you could definitely get more tips." },
{ speaker: 'hamza', text: '<em>Looks at you confused</em> What do you mean more provocatively? I\'m not a whore!' },
{ speaker: 'sergio', text: "And you wouldn't be. Think about the women who would call you just to see you, and would reward you for it. Some men too, of course. But it's their money you're interested in. Look, it's just an idea. Didn't you want to earn more money?" },
{ speaker: 'hamza', text: 'Uh... Well, here\'s your order. That\'s 6 euros.' }
],
options: [
[], [], [], [], [], [], [], [], [], [],
[{ text: 'You pay and he leaves', action: function() {
State.variables.hamzaCorrupcionInicio = State.variables.gameTotalMinutes;
Engine.play('llamadahamza2');
}}]
]
});
});
<</script>>
<<else>>
<<script>>
$(document).one(":passagedisplay", function() {
setup.registerCharactersInLocation(['Hamza']);
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{ id: 'hamza', name: 'Hamza', portrait: 'images/Hamza/hamza.png', color: '#2ecc71', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: currentPortrait, color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'hamza', text: 'Here\'s your order.' }
],
options: [
[],
[{ text: 'He says goodbye', action: 'GOTO:Salón' }]
]
});
});
<</script>>
<</if>>
<<else>>
<<if $hamzaCorrupcionInicio>>
<<set _diasPasados to setup.gameTime.getDaysSince($hamzaCorrupcionInicio)>>
<<if _diasPasados >= 2>>
<<goto "llamadahamza3">>
<<else>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
You think about calling Hamza again, but Dem told you to wait two days for the plan to take effect. It's still too early to check if your advice has sunk in. Better to wait a bit longer.
[[Return to the living room|Salón]]
<</if>>
<<else>>
<<goto "llamadahamza2">>
<</if>>
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
Tras despedirte de Hamza y recoger su pedido, recibes una llamada a tu nuevo móvil. Es Dem.
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Hola Dem" },
{ speaker: "dem", text: "Buena idea con lo de ese repartidor." },
{ speaker: "sergio", text: "No sé si va a funcionar. Creo que he sido demasiado directo." },
{ speaker: "dem", text: "La idea de un salido homosexual puede que no cuaje, pero cuando se lo insinúen otros clientes... Déjame eso a mí. Los dos próximos días va a recibir muchas llamadas." },
{ speaker: "dem", text: "Llámale en dos días, y veremos si ha funcionado el truco." }
],
options: [
[], [], [], [],
[
{
text: "Cuelgas",
action: function() {
// Marca temporal para la corrupción de Hamza
State.variables.hamzaCorrupcionInicio = State.variables.gameTotalMinutes || 0;
Engine.play("Salón");
}
}
]
]
});
});
<</script>>
<<else>>
After saying goodbye to Hamza and picking up your order, you receive a call on your new phone. It's Dem.
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Hello Dem" },
{ speaker: "dem", text: "Good idea with that delivery guy." },
{ speaker: "sergio", text: "I don't know if it's going to work. I think I was too direct." },
{ speaker: "dem", text: "The idea from a horny homosexual might not stick, but when other customers suggest it to him... Leave that to me. For the next two days he's going to receive many calls." },
{ speaker: "dem", text: "Call him in two days, and we'll see if the trick worked." }
],
options: [
[], [], [], [],
[
{
text: "You hang up",
action: function() {
// Temporal mark for Hamza's corruption
State.variables.hamzaCorrupcionInicio = State.variables.gameTotalMinutes || 0;
Engine.play("Salón");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(40)>>
Llamas de nuevo al kebab y te atiende Ahmed. Esperas nervioso a Hamza, esperanzado de que la ayuda de Dem haya sido suficiente. Cuando toca el timbre del portal, le esperas en la puerta ansioso. Al abrirla, te sorprende lo que encuentras.
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade-in" width="400"></center>
El uniforme de Hamza es totalmente diferente. Lleva un pantalón muy corto y apretado, y su camiseta, sin mangas, le queda también corta, mostrando su vientre plano y su ombligo.
<div id="rpg-display"></div>
<<set _hasSemblante = State.variables.semblante && State.variables.semblante !== "Sergio">>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) - Conversación normal -->
<<script>>
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: 'Aquí tienes tu pedido Sergio' },
{ speaker: 'sergio', text: '¡Me encanta tu nuevo uniforme!' },
{ speaker: 'hamza', text: 'Gracias. La verdad, te hice caso tras decírmelo otras personas y, en lo que llevo de día, ya he recibido 60 euros de propina.' },
{ speaker: 'sergio', text: 'Es que te las mereces. <em>Sacas el dinero de la cartera</em> Toma los 6 euros del pedido más 10 euros más, de propina.' },
{ speaker: 'hamza', text: '¡Gracias! <em>Te entrega la bolsa</em>' },
{ speaker: 'sergio', text: 'Como he dicho, te lo mereces.' }
],
options: [
[], // línea 0
[], // línea 1
[], // línea 2
[], // línea 3
[], // línea 4
[ // línea 5 (última línea)
{
text: 'Pagas y se marcha',
action: function() {
State.variables.corrupcionHamza = 5;
State.variables.notaHamza2 = true;
State.variables.notaHamza1 = false;
State.variables.menucogido = false;
State.variables.RecuerdoHamza1 = true;
if (!State.variables.recuerdosHamza) {
State.variables.recuerdosHamza = 0;
}
State.variables.recuerdosHamza += 1;
Engine.play('Salón');
}
}
]
]
});
<</script>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'hamza', text: 'Aquí tienes tu pedido.' }
],
options: [
[], // línea 0
[ // línea 1 (última línea)
{ text: 'Se despide', action: 'GOTO:Salón' }
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ENGLISH VERSION -->
<<run setup.gameTime.addMinutes(40)>>
You call the kebab shop again and Ahmed answers. You wait nervously for Hamza, hopeful that Dem's help has been enough. When the building's doorbell rings, you wait for him at the door anxiously. When you open it, you're surprised by what you find.
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade-in" width="400"></center>
Hamza's uniform is completely different. He's wearing very short and tight pants, and his sleeveless shirt is also short, showing his flat stomach and belly button.
<div id="rpg-display"></div>
<<set _hasSemblante = State.variables.semblante && State.variables.semblante !== "Sergio">>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) - Normal conversation -->
<<script>>
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: "Here's your order Sergio" },
{ speaker: 'sergio', text: 'I love your new uniform!' },
{ speaker: 'hamza', text: "Thanks. The truth is, I took your advice after other people told me the same thing and, so far today, I've already received 60 euros in tips." },
{ speaker: 'sergio', text: 'You deserve it. <em>You take out money from your wallet</em> Here are the 6 euros for the order plus 10 more euros as a tip.' },
{ speaker: 'hamza', text: 'Thank you! <em>He hands you the bag</em>' },
{ speaker: 'sergio', text: 'Like I said, you deserve it.' }
],
options: [
[], // línea 0
[], // línea 1
[], // línea 2
[], // línea 3
[], // línea 4
[ // línea 5 (última línea)
{
text: 'You pay and he leaves',
action: function() {
State.variables.corrupcionHamza = 5;
State.variables.notaHamza2 = true;
State.variables.notaHamza1 = false;
State.variables.RecuerdoHamza1 = true;
if (!State.variables.recuerdosHamza) {
State.variables.recuerdosHamza = 0;
}
State.variables.recuerdosHamza += 1;
Engine.play('Salón');
}
}
]
]
});
<</script>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'hamza', text: "Here's your order." }
],
options: [
[], // línea 0
[ // línea 1 (última línea)
{ text: 'He says goodbye', action: 'GOTO:Salón' }
]
]
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Hamza/hamza.png" alt="Hamza">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Hamza</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosHamza>></strong> recuerdo<<if $recuerdosHamza > 1>>s<</if>> especial<<if $recuerdosHamza > 1>>es<</if>> con Hamza.
</p>
<<else>>
<div class="header-image">
<img src="images/Hamza/hamza.png" alt="Hamza">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Hamza</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosHamza>></strong> special memor<<if $recuerdosHamza > 1>>ies<<else>>y<</if>> with Hamza.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoHamza1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Consejo sobre vestimenta</h3>
<p>Le diste un consejo que cambiaría su forma de trabajar...</p>
<<else>>
<h3>Memory 1: Advice about clothing</h3>
<p>You gave him advice that would change the way he works...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoHamza1">><</link>>
<<else>>
<<link "View →" "RecuerdoHamza1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoHamza2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: El cliente siempre tiene la razón</h3>
<p>El mejor modo de dejar al cliente contento.</p>
<<else>>
<h3>Memory 2: The customer is always right</h3>
<p>The best way to leave the customer happy</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoHamza2">><</link>>
<<else>>
<<link "View →" "RecuerdoHamza2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoHamza3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoHamza3">><</link>>
<<else>>
<<link "View →" "RecuerdoHamza3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoHamza4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoHamza4">><</link>>
<<else>>
<<link "View →" "RecuerdoHamza4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoHamza5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Hamza...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Hamza...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoHamza5">><</link>>
<<else>>
<<link "View →" "RecuerdoHamza5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: Consejo sobre vestimenta</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Mediante el poder de la app de Visión Sexual, además de ver el cuerpo desnudo de Hamza, también pudiste averiguar el deseo del repartidor de conseguir dinero rápido. En tu buzón encontraste un tríptico de propaganda del kebab, con su número de teléfono.
</p>
<center><img src="images/Hamza/kebabmenu.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pediste comida a domicilio y esperaste a que llegara Hamza. Al llegar, charlaste con él sobre el mejor método para conseguir propinas, y le recomendaste que se vistiera de una manera más provocativa.
</p>
<center><img src="images/Hamza/hamzarepartidor.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Él no pareció muy convencido, pero Dem salió a tu rescate. Dijo que contactaría con otros "futuros clientes" para que pudieran convencerlo. Esperaste dos días para ver el resultado y al volverlo a llamar, Hamza acudió con su nuevo uniforme, una versión recortada y sexy del antiguo.
</p>
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Parecía un pequeño paso, pero era uno necesario para poder corromper más al repartidor.
</p>
<<else>>
<h2 class="fade">🌟 Memory 1: Advice about clothing</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Through the power of the Sexual Vision app, in addition to seeing Hamza's naked body, you were also able to discover the delivery guy's desire to make quick money. In your mailbox you found a tri-fold kebab shop flyer, with their phone number.
</p>
<center><img src="images/Hamza/kebabmenu.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You ordered home delivery and waited for Hamza to arrive. When he arrived, you chatted with him about the best method to get tips, and you recommended that he dress in a more provocative way.
</p>
<center><img src="images/Hamza/hamzarepartidor.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
He didn't seem very convinced, but Dem came to your rescue. He said he would contact other "future customers" so they could convince him. You waited two days to see the result and when you called him again, Hamza showed up with his new uniform, a cropped and sexy version of the old one.
</p>
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
It seemed like a small step, but it was a necessary one to be able to corrupt the delivery guy further.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Hamza" "RecuerdosHamza">>
<</link>>
<<else>>
<<link "⬅️ Back to Hamza's Memories" "RecuerdosHamza">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(40)>>
<!-- VERIFICAR SI EL KEBAB ESTÁ CERRADO -->
<<set _currentHour = $gameHours>>
<<if _currentHour >= 0 and _currentHour < 8>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
Intentas llamar al kebab, pero nadie contesta. Es normal, a estas horas de la madrugada el local está cerrado. Tendrás que intentarlo más tarde, cuando abran.
[[Volver al salón|Salón]]
<<else>>
<!-- EL KEBAB ESTÁ ABIERTO -->
Llamas de nuevo por un pedido, y tras la espera, llega a tu puerta Hamza.
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<set _hasSemblante = State.variables.semblante && State.variables.semblante !== "Sergio">>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) -->
<<if !$hamzasexy1>>
<!-- PRIMERA VEZ - Conversación larga -->
<<script>>
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: 'Hola Sergio. Veo que últimamente no paras de pedir comida.' },
{ speaker: 'sergio', text: 'Me he enganchado a los falafels de tu hermano, y al repartidor que me los trae.' },
{ speaker: 'hamza', text: '<em>Te sonríe pícaramente.</em> Siempre queremos dar el mejor servicio.' },
{ speaker: 'sergio', text: 'Claro. ¿La verdad es que no se debería pagar más por la comida o por el reparto?' },
{ speaker: 'hamza', text: 'Bueno, estamos abiertos a propinas. Ya lo sabes.' },
{ speaker: 'sergio', text: 'Sí. Y te mereces una propina más alta pero, quizá si pudiera ver algo más de tu cuerpo. Si pudiera tocarte...' },
{ speaker: 'hamza', text: '<em>Te mira enfadado.</em> No voy a acostarme contigo.' },
{ speaker: 'sergio', text: 'No hablo de sexo. Hablo solo de caricias. De poder disfrutar de tu cuerpo. Tú no deberías hacer nada. Solo dejar que te tocara.' },
{ speaker: 'hamza', text: '¿Solo tocar?' },
{ speaker: 'sergio', text: 'Solo tocar. Y te daría una propina de 50 euros.' }
],
options: [
[], // línea 0
[], // línea 1
[], // línea 2
[], // línea 3
[], // línea 4
[], // línea 5
[], // línea 6
[], // línea 7
[], // línea 8
[ // línea 9 (última línea)
{
text: 'Acepta',
action: function() {
State.variables.hamzasexy1 = true;
Engine.play('tocamientohamza');
}
}
]
]
});
<</script>>
<<else>>
<!-- VISITAS POSTERIORES - Conversación corta -->
<<script>>
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: 'Aquí tienes tu pedido, Sergio.' },
{ speaker: 'sergio', text: '¿Volvemos al pedido especial?' },
{ speaker: 'hamza', text: '<em>Sonríe.</em> Claro. Sabes que siempre estoy dispuesto a dar el mejor servicio.' }
],
options: [
[], // línea 0
[], // línea 1
[ // línea 2 (última línea)
{
text: 'Continuar',
action: function() {
Engine.play('tocamientohamza');
}
}
]
]
});
<</script>>
<</if>>
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'hamza', text: 'Aquí tienes tu pedido.' }
],
options: [
[], // línea 0
[ // línea 1 (última línea)
{ text: 'Se despide', action: 'GOTO:Salón' }
]
]
});
<</script>>
<</if>>
<</if>>
<<else>>
<!-- ENGLISH VERSION -->
<<run setup.gameTime.addMinutes(40)>>
<!-- CHECK IF THE KEBAB SHOP IS CLOSED -->
<<set _currentHour = $gameHours>>
<<if _currentHour >= 0 and _currentHour < 8>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
You try to call the kebab shop, but no one answers. It's normal, at this time of the morning the place is closed. You'll have to try later, when they open.
[[Return to the living room|Salón]]
<<else>>
<!-- THE KEBAB SHOP IS OPEN -->
You call again for an order, and after waiting, Hamza arrives at your door.
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<set _hasSemblante = State.variables.semblante && State.variables.semblante !== "Sergio">>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) -->
<<if !$hamzasexy1>>
<!-- FIRST TIME - Long conversation -->
<<script>>
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: "Hi Sergio. I see you've been ordering food nonstop lately." },
{ speaker: 'sergio', text: "I've gotten hooked on your brother's falafels, and on the delivery guy who brings them to me." },
{ speaker: 'hamza', text: '<em>Smiles mischievously at you.</em> We always want to give the best service.' },
{ speaker: 'sergio', text: "Of course. But shouldn't you really pay more for the food or for the delivery?" },
{ speaker: 'hamza', text: "Well, we're open to tips. You already know that." },
{ speaker: 'sergio', text: "Yes. And you deserve a higher tip but, maybe if I could see a bit more of your body. If I could touch you..." },
{ speaker: 'hamza', text: '<em>Looks at you angrily.</em> I\'m not going to sleep with you.' },
{ speaker: 'sergio', text: "I'm not talking about sex. I'm just talking about caresses. About being able to enjoy your body. You wouldn't have to do anything. Just let me touch you." },
{ speaker: 'hamza', text: 'Just touch?' },
{ speaker: 'sergio', text: 'Just touch. And I would give you a 50 euro tip.' }
],
options: [
[], // line 0
[], // line 1
[], // line 2
[], // line 3
[], // line 4
[], // line 5
[], // line 6
[], // line 7
[], // line 8
[ // line 9 (last line)
{
text: 'He accepts',
action: function() {
State.variables.hamzasexy1 = true;
Engine.play('tocamientohamza');
}
}
]
]
});
<</script>>
<<else>>
<!-- SUBSEQUENT VISITS - Short conversation -->
<<script>>
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'hamza', text: "Here's your order, Sergio." },
{ speaker: 'sergio', text: 'Back to the special order?' },
{ speaker: 'hamza', text: "<em>Smiles.</em> Of course. You know I'm always willing to give the best service." }
],
options: [
[], // line 0
[], // line 1
[ // line 2 (last line)
{
text: 'Continue',
action: function() {
Engine.play('tocamientohamza');
}
}
]
]
});
<</script>>
<</if>>
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'hamza', text: "Here's your order." }
],
options: [
[], // line 0
[ // line 1 (last line)
{ text: 'He says goodbye', action: 'GOTO:Salón' }
]
]
});
<</script>>
<</if>>
<</if>>
<</if>><<run setup.registerCharactersInLocation(['Hamza'])>>
<<set $hamzaExcitadoDestino to "hamzaexcitado">>
<<set State.temporary.excitacionSuccessPassage = 'hamzaexcitado'>>
<<if $idioma is "es">>
...
<<run setup.gameTime.addMinutes(10)>>
Hamza acepta tu petición, y juntos vais a tu cuarto. Ya allí, le pides que se desnude lentamente, y eso hace. Te deleitas de nuevo con su cuerpo, y este, al ver su nueva propina cerca, se acaricia el cuerpo mientras se quita una a una sus escuetas prendas, quedándose solo en ropa interior.
Le señalas la cama, y él se tumba, nervioso. Te sientas a su lado y comienzas a acariciarle su pecho, especialmente los pezones. El repartidor está rígido. Puedes ver, según su nula erección, que está más incómodo que excitado. Quizá necesite algo de ayuda extra.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/tocamientohamza.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
[[Tras unos minutos, le das su propina y se marcha|Salón]]
<<else>>
<!-- ENGLISH VERSION -->
<<run setup.gameTime.addMinutes(10)>>
Hamza accepts your request, and together you go to your room. Once there, you ask him to undress slowly, and he does. You delight once again in his body, and he, seeing his new tip nearby, caresses his body while removing his skimpy garments one by one, leaving himself only in his underwear.
You point to the bed, and he lies down, nervous. You sit beside him and begin to caress his chest, especially his nipples. The delivery man is stiff. You can see, based on his lack of erection, that he's more uncomfortable than aroused. Maybe he needs some extra help.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/tocamientohamza.webm" type="video/webm"></video></center>
<div id="rpg-display"></div>
[[After a few minutes, you give him his tip and he leaves|Salón]]
<</if>><<set $notaHamza3 to true>>
<<set $corrupcionHamza to 25>>
<<set $notaHamza2 to false>>
<<set $RecuerdoHamza2 to true>>
<<set $recuerdosHamza += 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
Disimuladamente, haces una foto a Hamza y, aplicándole la app, consigues excitarlo al máximo. Su polla pronto se pone durísima. El repartidor aparta la mirada, incómodo, pero no se levanta, pues relaciona cómo se siente con tus caricias, que pronto bajan a su entrepierna y comienzan a magrearle. Le bajas el calzoncillo y sacas su rabo, que está duro en tu mano. Hamza sigue sin decir nada, solo respira agitadamente.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/pajaahamza.webm" type="video/webm"></video></center>
Le sigues pajeando mientras tú mismo sacas tu polla. Tu mano se desliza fácilmente por su miembro gracias a su líquido preseminal, que la embadurna. Le frotas el glande mientras haces lo mismo con la tuya. Ambos estáis muy cerca.
Entonces te levantas y se la muestras. Hamza mira tu miembro y luego te mira a ti. Respira agitadamente y, con timidez, la coge. Tú simplemente le asientes. Te acercas más a él y esperas a que este dé el paso. Puede que no esté del todo convencido, pero está muy excitado, y ha entendido perfectamente la situación. Si quiere la propina, deberá hacer algo más que recibir una paja. Entonces, envalentonándose de repente, se mete tu polla en la boca.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/hamzamamada.webm" type="video/webm"></video></center>
El joven es torpe, pero le pone empeño. Tú le dejas hacer, sabiendo que ese paso debe darlo totalmente solo. Él debe ser el encargado de exprimirte los huevos. Como estás tan caliente por todo lo sucedido y por ser la primera polla que Hamza se mete entre los labios, no tardas en avisar que te vas a correr. El repartidor se la saca de la boca y te masturba hasta que viertes parte de tu leche sobre su pecho desnudo. Luego, le das los 60 euros, os despedís y se marcha de tu casa.
[[Continuar|Salón]]
<<else>>
<!-- ENGLISH VERSION -->
<<run setup.gameTime.addMinutes(20)>>
Discreetly, you take a photo of Hamza and, applying the app, you manage to arouse him to the maximum. His cock soon becomes rock hard. The delivery man looks away, uncomfortable, but doesn't get up, as he associates how he feels with your caresses, which soon descend to his crotch and begin to grope him. You pull down his underwear and take out his dick, which is hard in your hand. Hamza still says nothing, only breathes heavily.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/pajaahamza.webm" type="video/webm"></video></center>
You keep jerking him off while you take out your own cock. Your hand slides easily along his member thanks to his pre-cum, which coats it. You rub his glans while doing the same with yours. You're both very close.
Then you stand up and show it to him. Hamza looks at your member and then looks at you. He breathes heavily and, shyly, grabs it. You simply nod at him. You move closer to him and wait for him to take the step. He may not be entirely convinced, but he's very aroused, and he's perfectly understood the situation. If he wants the tip, he'll have to do more than just receive a handjob. Then, suddenly emboldened, he puts your cock in his mouth.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/hamzamamada.webm" type="video/webm"></video></center>
The young man is clumsy, but he puts effort into it. You let him do it, knowing that he must take this step completely on his own. He must be the one to milk your balls. Since you're so hot from everything that's happened and because it's the first cock Hamza has put between his lips, it doesn't take long before you warn him you're going to cum. The delivery man takes it out of his mouth and masturbates you until you pour part of your cum onto his bare chest. Then, you give him the 60 euros, you say goodbye and he leaves your house.
[[Continue|Salón]]
<</if>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: El cliente siempre tiene la razón</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Llamaste de nuevo a Hamza, pero esta vez querías algo más de él que verle su bello cuerpo. Al llegar a tu casa, le indicaste que, si quería una propina más alta, tan solo tenía que desnudarse y dejarse tocar. Al principio lo rechazó, pero la esperanza de conseguir más dinero le convenció. Lo llevaste a tu cuarto, donde empezaste a acariciar su cuerpo semidesnudo.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Hamza/tocamientohamza.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al momento notaste que el joven no estaba disfrutándolo del todo. Así que, con ayuda de la app Excitación a Distancia, le llevaste al máximo nivel de placer. Hamza, caliente como nunca y relacionándolo con tus sensuales masajes, se dejó hacer cuando le quitaste la ropa interior y comenzaste a masturbarle.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Hamza/pajaahamza.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pero antes de que se corriera, tú te sacaste la polla y se la acercaste a su rostro. Él, sabiendo que el que paga eres tú, comenzó a hacerte una mamada algo torpe, pero que te hizo correrte en unos minutos.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Hamza/hamzamamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Le pagaste su propina y se marchó. Ahora ya sabes que, con una simple llamada, tienes sexo oral a domicilio.
</p>
<<else>>
<!-- ENGLISH VERSION -->
<h2 class="fade">🌟 Memory 2: The Customer is Always Right</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You called Hamza again, but this time you wanted more from him than just seeing his beautiful body. When he arrived at your house, you told him that if he wanted a higher tip, he just had to undress and let you touch him. At first he refused, but the hope of getting more money convinced him. You took him to your room, where you started caressing his half-naked body.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Hamza/tocamientohamza.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You immediately noticed that the young man wasn't fully enjoying it. So, with the help of the Remote Arousal app, you brought him to the maximum level of pleasure. Hamza, hornier than ever and associating it with your sensual massages, let you proceed when you removed his underwear and began to masturbate him.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Hamza/pajaahamza.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
But before he could cum, you took out your cock and brought it close to his face. He, knowing that you're the one paying, began to give you a somewhat clumsy blowjob, but one that made you cum in a few minutes.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Hamza/hamzamamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You paid him his tip and he left. Now you know that with a simple phone call, you have oral sex delivered to your door.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Hamza" "RecuerdosHamza">>
<</link>>
<<else>>
<<link "⬅️ Back to Hamza's Memories" "RecuerdosHamza">>
<</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(40)>>
<!-- VERIFICAR SI EL KEBAB ESTÁ CERRADO -->
<<set _currentHour = $gameHours>>
<<if _currentHour >= 0 and _currentHour < 8>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
Intentas llamar al kebab, pero nadie contesta. Es normal, a estas horas de la madrugada el local está cerrado. Tendrás que intentarlo más tarde, cuando abran.
[[Volver al salón|Salón]]
<<else>>
<!-- EL KEBAB ESTÁ ABIERTO -->
Llamas de nuevo por un pedido, y tras la espera, llega a tu puerta Hamza.
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade-in" width="500"></center>
<div id="rpg-display"></div>
<<set _hasSemblante = State.variables.semblante && State.variables.semblante !== "Sergio">>
<<if !_hasSemblante>>
<!-- SEMBLANTE DE SERGIO (por defecto) -->
Hamza llega con tu pedido, que dejas sin ningún interés en la cocina. Inmediatamente le llevas a tu cuarto y te bajas los pantalones. Él, más confiado que la otra vez, se acerca sensualmente mientras se desviste. Se coloca de rodillas y te baja, poco a poco, tu ropa interior. La mamada que te hizo estuvo muy bien, recorriendo con su lengua todo el lateral de tu polla, dedicándole tiempo al glande y sin olvidar los huevos. Al acabar, le diste una buena propina, que aceptó con una sonrisa y la cara llena de esperma.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/hamzamamada2.webm" type="video/webm"></video></center>
[[Continuar|Salón]]
<<else>>
<!-- CUALQUIER OTRO SEMBLANTE - No te reconoce -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola...' },
{ speaker: 'hamza', text: 'Aquí tienes tu pedido.' }
],
options: [
[], // línea 0
[ // línea 1 (última línea)
{ text: 'Se despide', action: 'GOTO:Salón' }
]
]
});
<</script>>
<</if>>
<</if>>
<<else>>
<!-- ENGLISH VERSION -->
<<run setup.gameTime.addMinutes(40)>>
<!-- CHECK IF THE KEBAB SHOP IS CLOSED -->
<<set _currentHour = $gameHours>>
<<if _currentHour >= 0 and _currentHour < 8>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
You try to call the kebab shop, but no one answers. It's normal, at this time of the morning the place is closed. You'll have to try later, when they open.
[[Return to the living room|Salón]]
<<else>>
<!-- THE KEBAB SHOP IS OPEN -->
You call again for an order, and after waiting, Hamza arrives at your door.
<center><img src="images/Hamza/hamzarepartidorsexy.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<set _hasSemblante = State.variables.semblante && State.variables.semblante !== "Sergio">>
<<if !_hasSemblante>>
<!-- SERGIO'S SEMBLANTE (default) -->
Hamza arrives with your order, which you leave without any interest in the kitchen. Immediately you take him to your room and pull down your pants. He, more confident than last time, approaches sensually while undressing. He kneels down and slowly lowers your underwear. The blowjob he gave you was very good, running his tongue all along the side of your cock, dedicating time to the glans and not forgetting the balls. When finished, you gave him a good tip, which he accepted with a smile and his face covered in cum.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Hamza/hamzamamada2.webm" type="video/webm"></video></center>
[[Continue|Salón]]
<<else>>
<!-- ANY OTHER SEMBLANTE - Doesn't recognize you -->
<<script>>
var currentPortrait = State.variables.currentPortrait || 'images/Sergio/sergio.png';
setup.showDoorDialogue("Hamza", {
characters: [
{
id: 'hamza',
name: 'Hamza',
portrait: 'images/Hamza/hamza.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: currentPortrait,
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello...' },
{ speaker: 'hamza', text: "Here's your order." }
],
options: [
[], // line 0
[ // line 1 (last line)
{ text: 'He says goodbye', action: 'GOTO:Salón' }
]
]
});
<</script>>
<</if>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
El semblante actúa casi por su cuenta, y te da la seguridad para, ante el mostrador, dejar una tarjeta con tu nombre falso (pero real gracias al poder de la app). Ahmed palidece al leer la tarjeta.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/inspectorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Luis Hernández, inspector de sanidad.' },
{ speaker: 'ahmed', text: '¿Ya veo. ¿No vinisteis hace menos de dos meses?' },
{ speaker: 'sergio', text: 'Exacto. Pero algo no nos dio buena espina. Por eso me han llamado a mí. Soy experto en casos complicados.' },
{ speaker: 'ahmed', text: 'Ok. ¿Necesita ver la licencia o los antiguos análisis?' },
{ speaker: 'sergio', text: 'No. Quiero entrar en la cocina.' },
{ speaker: 'ahmed', text: 'Claro. Sígame.' },
{ speaker: 'sergio', text: '<em>Entráis los dos en la cocina. Está desordenada pero limpia. Aún así, comienzas a buscar posibles infracciones o, si no hay, inventarte alguna.</em>' },
{ speaker: 'sergio', text: 'Veo que no tienes tres salidas distintas para los gases.' },
{ speaker: 'ahmed', text: 'Según tengo entendido, solo eran necesarias dos.' },
{ speaker: 'sergio', text: 'Y no veo una fuente alternativa de energía. Ni una batería.' },
{ speaker: 'ahmed', text: '¿Para qué iba a querer yo una batería?' },
{ speaker: 'sergio', text: '¿Qué pasaría con los alimentos refrigerados si hay un corte de luz?' },
{ speaker: 'ahmed', text: 'Pues que sería debido a un problema del gobierno.' },
{ speaker: 'sergio', text: 'Según la nueva normativa, ahora es problema de usted.' },
{ speaker: 'ahmed', text: 'Lo que me pide cuesta miles de euros. No puedo financiar esas obras y equipamientos ahora.' },
{ speaker: 'sergio', text: 'Entonces, por seguridad de los consumidores, debo cerrar el local mientras...' },
{ speaker: 'ahmed', text: '¿Qué? ¡Esa medida es excesiva! ¿A usted qué le pasa?' },
{ speaker: 'sergio', text: '<em>Te acercas al rostro de Ahmed.</em> Que antes este local era de un bar de toda la vida. Que ahora no puedes dar un paseo sin ver un jodido restaurante chino o un puto kebab. Que voy a cerrar esto porque puedo y quiero.' },
{ speaker: 'ahmed', text: 'Eso es ilegal y racista.' },
{ speaker: 'sergio', text: 'Me importa una mierda. Pero soy un hombre razonable que sabe hablar de hombre a hombre.' },
{ speaker: 'ahmed', text: '¿Qué quiere?' },
{ speaker: 'sergio', text: '¿Podemos ir a una zona más cómoda y tranquila?' },
{ speaker: 'ahmed', text: 'Claro. Sígueme.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[], // 17
[], // 18
[], // 19
[], // 20
[], // 21
[], // 22
[
{
text: 'Te lleva a la zona de empleados',
action: function() {
Engine.play('chantajeahmed');
}
}
]
]
});
<</script>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
The semblante acts almost on its own, giving you the confidence to place a card with your fake name (but real thanks to the app's power) on the counter. Ahmed turns pale as he reads the card.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/inspectorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Luis Hernández, health inspector.' },
{ speaker: 'ahmed', text: 'I see. Didn\'t you come less than two months ago?' },
{ speaker: 'sergio', text: 'Exactly. But something didn\'t sit right with us. That\'s why they called me in. I\'m an expert in complicated cases.' },
{ speaker: 'ahmed', text: 'Ok. Do you need to see the license or the previous analyses?' },
{ speaker: 'sergio', text: 'No. I want to go into the kitchen.' },
{ speaker: 'ahmed', text: 'Sure. Follow me.' },
{ speaker: 'sergio', text: '<em>You both enter the kitchen. It\'s messy but clean. Even so, you start looking for possible violations or, if there aren\'t any, make some up.</em>' },
{ speaker: 'sergio', text: 'I see you don\'t have three separate gas vents.' },
{ speaker: 'ahmed', text: 'As far as I understand, only two were necessary.' },
{ speaker: 'sergio', text: 'And I don\'t see an alternative power source. Not even a battery.' },
{ speaker: 'ahmed', text: 'Why would I want a battery?' },
{ speaker: 'sergio', text: 'What would happen to the refrigerated food if there\'s a power outage?' },
{ speaker: 'ahmed', text: 'Well, that would be due to a government problem.' },
{ speaker: 'sergio', text: 'According to the new regulations, now it\'s your problem.' },
{ speaker: 'ahmed', text: 'What you\'re asking for costs thousands of euros. I can\'t finance those renovations and equipment right now.' },
{ speaker: 'sergio', text: 'Then, for consumer safety, I must close the establishment while...' },
{ speaker: 'ahmed', text: 'What? That measure is excessive! What\'s wrong with you?' },
{ speaker: 'sergio', text: '<em>You get close to Ahmed\'s face.</em> This place used to be a traditional bar. Now you can\'t take a walk without seeing a damn Chinese restaurant or a fucking kebab shop. I\'m going to close this down because I can and I want to.' },
{ speaker: 'ahmed', text: 'That\'s illegal and racist.' },
{ speaker: 'sergio', text: 'I don\'t give a shit. But I\'m a reasonable man who knows how to talk man to man.' },
{ speaker: 'ahmed', text: 'What do you want?' },
{ speaker: 'sergio', text: 'Can we go to a more comfortable and quiet area?' },
{ speaker: 'ahmed', text: 'Sure. Follow me.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[], // 17
[], // 18
[], // 19
[], // 20
[], // 21
[], // 22
[
{
text: 'He takes you to the employee area',
action: function() {
Engine.play('chantajeahmed');
}
}
]
]
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Te sientas en la barra y le pides un refresco a Ahmed. Mientras te lo sirve, decides intentar sonsacarle algo sobre su negocio.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ahmed, ¿cómo te va el negocio?' },
{ speaker: 'ahmed', text: 'Bien. Mucho trabajo para mi hermano y para mí.' },
{ speaker: 'sergio', text: 'No será hoy. El local casi está vacío. Y es lo mismo casi todas las veces que he venido.' },
{ speaker: 'ahmed', text: '<em>Te mira, enfadado</em> Bueno, habrá sido casualidad. Te digo que el kebab marcha bien.' },
{ speaker: 'sergio', text: 'Ya, si tú lo dices, solo que...' },
{ speaker: 'ahmed', text: '¿Quieres algo más?' },
{ speaker: 'sergio', text: 'No, nada. Cóbrate.' },
{ speaker: 'sergio', text: '<em>A mí no me dirá nada. Ha de ser una figura de autoridad. Alguien que pueda entrar en las cocinas del kebab.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Te tomas el refresco',
action: function() {
State.variables.Semblanteinsp = true;
State.variables.conversacionAhmed = true;
Engine.play('Kebab');
}
}
]
]
});
<</script>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
You sit at the counter and order a soft drink from Ahmed. While he serves it to you, you decide to try to get some information about his business.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ahmed, how\'s business going?' },
{ speaker: 'ahmed', text: 'Good. Lots of work for my brother and me.' },
{ speaker: 'sergio', text: 'Not today. The place is almost empty. And it\'s been the same almost every time I\'ve come.' },
{ speaker: 'ahmed', text: '<em>He looks at you, annoyed</em> Well, must have been coincidence. I\'m telling you the kebab shop is doing well.' },
{ speaker: 'sergio', text: 'Yeah, if you say so, it\'s just that...' },
{ speaker: 'ahmed', text: 'Do you want anything else?' },
{ speaker: 'sergio', text: 'No, nothing. Keep the change.' },
{ speaker: 'sergio', text: '<em>He won\'t tell me anything. It has to be someone with authority. Someone who can enter the kebab\'s kitchen.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'You drink your soda',
action: function() {
State.variables.Semblanteinsp = true;
State.variables.conversacionAhmed = true;
Engine.play('Kebab');
}
}
]
]
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Kebab abierto" />
</div>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
Acompañas a Ahmed fuera de la cocina y te abre una puerta con el letrero de "privado". Es un pasillo donde, en un lado, hay un almacén y, en el otro, una pequeña habitación de descanso, con una mesa, un sofá y un pequeño televisor.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/inspectorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ahmed', text: '¿Quieres dinero, no?' },
{ speaker: 'sergio', text: 'En absoluto. No me interesa el dinero. Me interesas tú.' },
{ speaker: 'ahmed', text: 'No entiendo...' },
{ speaker: 'sergio', text: 'Eres muy guapo, ¿lo sabías? Y bajo ese delantal mugriento y apestoso a especias debe de haber un buen cuerpo.' },
{ speaker: 'ahmed', text: '¿Qué...?' },
{ speaker: 'sergio', text: 'Desnúdate para mí. Solo quiero verte. Hazte una paja y todo habrá acabado.' },
{ speaker: 'ahmed', text: 'Cerdo de mierda...' },
{ speaker: 'sergio', text: 'Siempre puedo ponerte la denuncia si no te gustan mis condiciones.' },
{ speaker: 'ahmed', text: '<em>Desvía la mirada, cavilante. Tras unos segundos, asiente.</em> Lo haré.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[
{
text: 'Comienza a desvestirse',
action: function() {
Engine.play('chantajeahmed2');
}
}
]
]
});
<</script>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
You accompany Ahmed out of the kitchen and he opens a door with a "private" sign. It's a hallway where, on one side, there's a storage room and, on the other, a small break room with a table, a sofa, and a small television.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/inspectorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ahmed', text: 'You want money, right?' },
{ speaker: 'sergio', text: 'Absolutely not. I\'m not interested in money. I\'m interested in you.' },
{ speaker: 'ahmed', text: 'I don\'t understand...' },
{ speaker: 'sergio', text: 'You\'re very handsome, did you know that? And under that grimy apron reeking of spices there must be a good body.' },
{ speaker: 'ahmed', text: 'What...?' },
{ speaker: 'sergio', text: 'Strip for me. I just want to see you. Jerk off and it\'ll all be over.' },
{ speaker: 'ahmed', text: 'You fucking pig...' },
{ speaker: 'sergio', text: 'I can always file the complaint if you don\'t like my terms.' },
{ speaker: 'ahmed', text: '<em>He looks away, thinking. After a few seconds, he nods.</em> I\'ll do it.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[
{
text: 'He begins to undress',
action: function() {
Engine.play('chantajeahmed2');
}
}
]
]
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<<set $corrupcionAhmed = 5>>
<<set $notaAhmed2 = true>>
<<set $Semblanteinsphacienda = true>>
<<set $notaAhmed1 = false>>
<<set $RecuerdoAhmed1 = true>>
<<if !$recuerdosAhmed>>
<<set $recuerdosAhmed = 0>>
<</if>>
<<set $recuerdosAhmed += 1>>
<img src="images/localizaciones/privadokebab.png" alt="Kebab abierto" />
</div>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
Ahmed se quita primero el delantal y la camiseta, mostrando un pectoral recubierto de un espeso vello negro, pero fibrado bajo él. Te mira amenazante pero tú no te acobardas. Le pides que flexione los brazos. Que te seduzca. Que todo acabará cuando tú te corras, así que, cambiando la expresión, sonriéndote incluso, comienza a moverse sensualmente, mostrándose ante ti.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy1.webm" type="video/webm"></video></center>
Te sacas la polla de tus pantalones de traje (bueno, la polla de tu semblante, pero es la tuya también) que ya está bien dura y comienzas a masturbarte. Le pides que se quite los pantalones y eso hace, quedándose solo con un slip. Le demandas entonces que comience a masturbarse y, con desgana, eso hace, sacando su polla de uno de los canales del calzoncillo, intentando que esta se ponga dura. Le insistes en que si no se corre, esto no acabará, y le pone más ganas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy2.webm" type="video/webm"></video></center>
"Quiero verte ese culo peludo que tienes", le dices, y Ahmed, quitándose del todo el slip, usa una de las sillas de la sala de descanso para reclinarse y mostrarte su culo duro y su orificio rodeados de vello. Aumentas la velocidad de la paja y le exiges que él haga lo mismo. Comienzas a gemir y Ahmed a resoplar por el esfuerzo de la masturbación.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy3.webm" type="video/webm"></video></center>
"Córrete, coño", le gritas mientras sigues masturbándote ante él. Ahmed se sienta y se martilla la polla con ganas mientras tú le sigues animando a la vez que te masturbas la tuya. El cocinero es el primero en eyacular, salpicándose su pecho desnudo con su esperma. Tú no tardas más, y la tuya cae bastante cerca de su cuerpo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy4.webm" type="video/webm"></video></center>
Te guardas tu polla creada y te despides con un "Volveremos a vernos". Ahmed, con una cara de odio como jamás habías visto, te responde: "Si vuelvo a verte por aquí te prometo que te denuncio", y sabes que está en lo cierto. La próxima vez que te acerques a Ahmed deberá ser con un nuevo rostro.
[[Continuar|Kebab]]
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
Ahmed first removes his apron and shirt, revealing a chest covered in thick black hair, but toned underneath. He looks at you threateningly but you don't back down. You ask him to flex his arms. To seduce you. That it will all be over when you cum, so, changing his expression, even smiling at you, he begins to move sensually, showing himself to you.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy1.webm" type="video/webm"></video></center>
You pull your cock out of your suit pants (well, your semblante's cock, but it's yours too) which is already rock hard and you start masturbating. You ask him to take off his pants and he does, staying only in his underwear. You then demand that he start masturbating and, reluctantly, he does, pulling his cock out of one of the leg openings of his underwear, trying to get it hard. You insist that if he doesn't cum, this won't end, and he puts more effort into it.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy2.webm" type="video/webm"></video></center>
"I want to see that hairy ass of yours," you tell him, and Ahmed, removing his underwear completely, uses one of the chairs in the break room to lean back and show you his firm ass and his hole surrounded by hair. You increase the speed of your jerking and demand that he do the same. You start moaning and Ahmed panting from the effort of masturbation.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy3.webm" type="video/webm"></video></center>
"Cum, damn it," you yell at him while you continue masturbating in front of him. Ahmed sits down and pounds his cock eagerly while you keep encouraging him as you masturbate yours. The cook is the first to ejaculate, splashing his bare chest with his cum. You don't take much longer, and yours falls pretty close to his body.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Ahmed/ahmedsexy4.webm" type="video/webm"></video></center>
You put away your created cock and say goodbye with a "We'll see each other again". Ahmed, with a look of hatred like you'd never seen before, responds: "If I see you around here again I promise I'll report you," and you know he's right. The next time you approach Ahmed it will have to be with a new face.
[[Continue|Kebab]]
<</if>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/Ahmed/ahmed.png" alt="Ahmed">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Ahmed</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosAhmed>></strong> recuerdo<<if $recuerdosAhmed > 1>>s<</if>> especial<<if $recuerdosAhmed > 1>>es<</if>> con Ahmed.
</p>
<<else>>
<div class="header-image">
<img src="images/Ahmed/ahmed.png" alt="Ahmed">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Ahmed</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosAhmed>></strong> special memor<<if $recuerdosAhmed > 1>>ies<<else>>y<</if>> with Ahmed.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoAhmed1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Visita del inspector de sanidad</h3>
<p>Llevando un semblante de un inspector, entraste a la cocina del kebab</p>
<<else>>
<h3>Memory 1: Health inspector visit</h3>
<p>Wearing the appearance of an inspector, you entered the kebab kitchen</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAhmed1">><</link>>
<<else>>
<<link "View →" "RecuerdoAhmed1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAhmed2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Visita del inspector de hacienda</h3>
<p>Otro inspector fiscaliza las cuentas del negocio.</p>
<<else>>
<h3>Memory 2: Tax inspector visit</h3>
<p>Another inspector audits the business accounts.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAhmed2">><</link>>
<<else>>
<<link "View →" "RecuerdoAhmed2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAhmed3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAhmed3">><</link>>
<<else>>
<<link "View →" "RecuerdoAhmed3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAhmed4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAhmed4">><</link>>
<<else>>
<<link "View →" "RecuerdoAhmed4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAhmed5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Ahmed...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Ahmed...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAhmed5">><</link>>
<<else>>
<<link "View →" "RecuerdoAhmed5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: La visita del inspector de sanidad</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dado que el punto débil de Ahmed es su negocio, decidiste preguntarle directamente sobre el estado del mismo. Te contestó con evasivas, así que, mediante la app de Semblante Artificial, creaste un personaje al que no pudiera ignorarle, un inspector de sanidad.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dentro de la cocina, inventaste infracciones, reconociendo Ahmed que no tenía dinero para poder pagar el coste de esas reparaciones. Le ofreciste una oferta: desnudarse para ti y masturbarse para evitar el informe, y él accedió.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedsexy2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Le hiciste que se quitara la ropa y se masturbara, mientras tú hacías lo mismo. El cocinero accedió de mala gana, y tú lo dirigiste en las posturas que querías.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedsexy3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras unos 20 minutos, ambos os corristeis. Ahmed prometió que si volviera a verte por su local te denunciaría, por lo que ya no podrás utilizar el semblante del inspector de sanidad, inventándote otro modo de coaccionarle.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedsexy4.webm" type="video/webm"></video></center>
<<else>>
<h2 class="fade">🌟 Memory 1: The health inspector's visit</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Since Ahmed's weak point is his business, you decided to ask him directly about its status. He answered evasively, so using the Artificial Appearance app, you created a character he couldn't ignore: a health inspector.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Inside the kitchen, you invented infractions. Ahmed admitted he didn't have the money to pay for those repairs. You offered him a deal: strip for you and masturbate to avoid the report, and he agreed.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedsexy2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You made him take off his clothes and masturbate while you did the same. The cook reluctantly agreed, and you directed him into the positions you wanted.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedsexy3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After about 20 minutes, you both came. Ahmed promised that if he saw you in his establishment again he would report you, so you can no longer use the health inspector appearance and must come up with another way to coerce him.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedsexy4.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Ahmed" "RecuerdosAhmed">>
<</link>>
<<else>>
<<link "⬅️ Back to Ahmed's Memories" "RecuerdosAhmed">>
<</link>>
<</if>>
</div><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Sabías que podía ser arriesgado acudir con el mismo truco dos veces. Que Ahmed podía cumplir su amenaza. Pero tu semblante te dio confianza y, colocando tu identificación sobre la mesa, iniciaste la conversación.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: 'images/Semblantes/inspectorhaciendaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ahmed', text: 'No puede ser...' },
{ speaker: 'sergio', text: 'Veo que conoce el procedimiento. Necesito todas las facturas de los últimos 5 años. Hemos detectado varias incidencias que deben ser esclarecidas.' },
{ speaker: 'ahmed', text: 'Esto no puede ser posible. Alguien quiere destruir mi negocio...' },
{ speaker: 'sergio', text: 'Puede ser. Lo único que sé es que esas incidencias son reales. ¿No es cierto?' },
{ speaker: 'ahmed', text: '<em>Se queda en silencio</em>' },
{ speaker: 'sergio', text: '¿Me equivoco?' },
{ speaker: 'ahmed', text: 'No. Puedo pagarlo. Solo necesito tiempo.' },
{ speaker: 'sergio', text: 'Tiempo. Ok, puedo dártelo. Pero quiero algo a cambio.' },
{ speaker: 'ahmed', text: 'No...' },
{ speaker: 'sergio', text: 'Me han contado maravillas de vuestro cuarto de empleados. ¿Puedo ir a verlo?' },
{ speaker: 'ahmed', text: '<em>La mirada de Ahmed podría matarte</em>' },
{ speaker: 'sergio', text: 'Venga. No tengo todo el día. Tengo otra inspección después de esta.' },
{ speaker: 'ahmed', text: 'Sígame.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'Te lleva a la zona de empleados',
action: function() {
Engine.play('chantajeahmed3');
}
}
]
]
});
<</script>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
You knew it could be risky to use the same trick twice. That Ahmed could follow through on his threat. But your appearance gave you confidence and, placing your identification on the table, you started the conversation.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: 'images/Semblantes/inspectorhaciendaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ahmed', text: 'This cannot be...' },
{ speaker: 'sergio', text: 'I see you know the procedure. I need all invoices from the last 5 years. We have detected several irregularities that must be clarified.' },
{ speaker: 'ahmed', text: 'This cannot be possible. Someone wants to destroy my business...' },
{ speaker: 'sergio', text: 'Maybe. All I know is that these irregularities are real. Am I wrong?' },
{ speaker: 'ahmed', text: '<em>He remains silent</em>' },
{ speaker: 'sergio', text: 'Am I mistaken?' },
{ speaker: 'ahmed', text: 'No. I can pay it. I just need time.' },
{ speaker: 'sergio', text: 'Time. Ok, I can give you that. But I want something in return.' },
{ speaker: 'ahmed', text: 'No...' },
{ speaker: 'sergio', text: 'I have heard wonderful things about your employee room. Can I go see it?' },
{ speaker: 'ahmed', text: '<em>Ahmed\'s gaze could kill you</em>' },
{ speaker: 'sergio', text: 'Come on. I don\'t have all day. I have another inspection after this one.' },
{ speaker: 'ahmed', text: 'Follow me.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'He takes you to the employee area',
action: function() {
Engine.play('chantajeahmed3');
}
}
]
]
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<img src="images/localizaciones/privadokebab.png" alt="Kebab abierto" />
</div>
<<if $idioma is "es">>
Sigues al cocinero de nuevo por las zonas privadas del restaurante. Te lleva a la zona de empleados que ya conociste siendo inspector de sanidad. Se quita el delantal y se abre la camisa que lleva, mostrando ese pecho peludo que tanto te atrae mientras se acaricia el cuerpo. "Es esto lo que querías" te dice, mientras se baja los pantalones y comienza a masturbarse.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedpajach.webm" type="video/webm"></video></center>
Tú le miras con deseo, pero quieres algo más. No solo por ti, sino porque necesitas que Ahmed traspase sus barreras. Necesitas que explote. Te desnudas totalmente mientras él sigue intentando ponerte cachondo. Te tumbas sobre el sofá y le enseñas tus pies desnudos.
"Chúpame los pies" le ordenas, y él se queda de piedra al escucharlo. "Ya me has oído" le repites. El cocinero te mira anonadado, pero sabe que no tiene opción. Se acerca al cabezal del sofá y comienza tímidamente a dar besos a tus dedos. Poco a poco, le vas aleccionando, obligándole a usar su lengua y a introducirse varios de tus dedos en su boca mientras tú te masturbas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedchupapie.webm" type="video/webm"></video></center>
"Ahora me vas a chupar la polla" le ordenas, levantándote y acercándole tu rabo, lleno de precum. Él se niega, obviamente, pero tú te muestras inflexible. Le dices que todos sus problemas se solucionarán solo con esa mamada. Que se olvidará de hacienda por el resto del año. Le hablas también de todo lo que puedes hacer si no cumple. De cómo le vas a cerrar el local y le vas a inundar a deudas con el estado. De cómo puede perder la casa. Ahmed asiente al final, y se mete la polla en la boca con cara de disgusto. Enseguida le fuerzas el rostro, casi impidiéndole respirar. Se la metes entera varias veces y él solo puede abrir más las mandíbulas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedmamada.webm" type="video/webm"></video></center>
Le follas la boca durante unos minutos, pero estás tan caliente que notas que vas a correrte. Arrojas al cocinero al sofá y, sobre su cara, comienzas a pajearte con fuerza hasta que notas la deliciosa sensación de correrte. Viertes varias descargas sobre el rostro barbudo de Ahmed, que aún tenía la boca abierta como le ordenaste, obligándole luego a que te limpiara la polla. "Lo has hecho muy bien" le dices, mientras te vistes.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedcorridacara.webm" type="video/webm"></video></center>
[[Continuar|despedidainspector]]
<<else>>
You follow the cook again through the private areas of the restaurant. He takes you to the employee area you already knew from being a health inspector. He takes off his apron and opens his shirt, showing that hairy chest that attracts you so much while he caresses his body. "Is this what you wanted?" he says, as he pulls down his pants and starts masturbating.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedpajach.webm" type="video/webm"></video></center>
You look at him with desire, but you want something more. Not just for yourself, but because you need Ahmed to cross his boundaries. You need him to explode. You undress completely while he continues trying to turn you on. You lie down on the couch and show him your bare feet.
"Suck my feet," you order him, and he freezes when he hears it. "You heard me," you repeat. The cook looks at you stunned, but he knows he has no choice. He approaches the head of the couch and begins timidly kissing your toes. Little by little, you train him, forcing him to use his tongue and to put several of your toes in his mouth while you masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedchupapie.webm" type="video/webm"></video></center>
"Now you're going to suck my cock," you order him, standing up and bringing your dick, full of precum, close to him. He refuses, obviously, but you remain inflexible. You tell him that all his problems will be solved with just this blowjob. That he'll forget about the tax office for the rest of the year. You also tell him about everything you can do if he doesn't comply. How you're going to close his establishment and drown him in debts with the state. How he could lose his house. Ahmed finally nods, and puts your cock in his mouth with a disgusted face. You immediately force his face, almost preventing him from breathing. You put it all the way in several times and he can only open his jaws wider.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedmamada.webm" type="video/webm"></video></center>
You fuck his mouth for a few minutes, but you're so horny that you notice you're going to cum. You throw the cook onto the couch and, over his face, you start jerking off hard until you feel the delicious sensation of cumming. You pour several loads onto Ahmed's bearded face, who still had his mouth open as you ordered, then forcing him to clean your cock. "You did very well," you tell him, while you get dressed.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ahmed/ahmedcorridacara.webm" type="video/webm"></video></center>
[[Continue|despedidainspector]]
<</if>>
<<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab abierto" />
</div>
Antes de irte de la zona privada, dejando a tu espalda a Ahmed, decides girarte y decirle unas últimas palabras.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: 'images/Semblantes/inspectorhaciendaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Mira, voy a decirte esto porque me has caído bien. Si de verdad quieres triunfar en la vida debes actuar como un lobo, no como un cordero.' },
{ speaker: 'ahmed', text: '<em>Te mira con desprecio mientras se limpia tu leche de su cara</em>' },
{ speaker: 'sergio', text: 'Debes empezar a reaccionar. A sentir que el mundo también puede ser tuyo. Libera esa rabia que tienes en tu interior.' },
{ speaker: 'ahmed', text: 'Lárgate de aquí.' },
{ speaker: 'sergio', text: 'Si actúas como un lobo, conseguirás todo lo que te propones. Es mi consejo.' },
{ speaker: 'ahmed', text: '¡Que te largues!' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Te marchas y sales del kebab',
action: function() {
State.variables.notaAhmed2 = false;
State.variables.notaAhmed3 = true;
State.variables.RecuerdoAhmed2 = true;
State.variables.corrupcionAhmed = 20;
State.variables.recuerdosAhmed += 1;
Engine.play('Exterior');
}
}
]
]
});
<</script>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab open" />
</div>
Before leaving the private area, leaving Ahmed behind, you decide to turn around and say a few last words to him.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ahmed", {
characters: [
{
id: 'ahmed',
name: 'Ahmed',
portrait: 'images/Ahmed/ahmed.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Inspector',
portrait: 'images/Semblantes/inspectorhaciendaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Look, I\'m going to tell you this because I like you. If you really want to succeed in life, you must act like a wolf, not like a lamb.' },
{ speaker: 'ahmed', text: '<em>He looks at you with contempt while wiping your cum from his face</em>' },
{ speaker: 'sergio', text: 'You must start reacting. Feel that the world can also be yours. Release that rage you have inside.' },
{ speaker: 'ahmed', text: 'Get out of here.' },
{ speaker: 'sergio', text: 'If you act like a wolf, you\'ll get everything you set out to do. That\'s my advice.' },
{ speaker: 'ahmed', text: 'Get out!' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You leave and exit the kebab shop',
action: function() {
State.variables.notaAhmed2 = false;
State.variables.notaAhmed3 = true;
State.variables.RecuerdoAhmed2 = true;
State.variables.corrupcionAhmed = 20;
State.variables.recuerdosAhmed += 1;
Engine.play('Exterior');
}
}
]
]
});
<</script>>
<</if>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Visita del inspector de hacienda</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
La última visita de un inspector al kebab de Ahmed descubrió que sería capaz de desnudarse por salvar su negocio y que este no tenía todas las cuentas en orden. Vistiendo el semblante de un inspector de hacienda, acudiste al restaurante con las mismas mentiras.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ahmed reconoció que tenía varias infracciones con hacienda. Tú te mostraste capaz de solucionar sus problemas si actuaba igual que con su compañero funcionario. Ahmed te acompañó entonces a la zona privada del kebab y se desnudó para ti, como hizo con el otro inspector.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedpajach.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pero necesitabas que el cocinero turco se pervirtiera más para corromperlo. Desnudándote y tumbándote en la cama, le mostraste tus pies y le convenciste de que te los chupara y lamiera para evitar las multas que harían que cerrara su negocio.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedchupapie.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Él obedeció, así que pasaste al siguiente nivel. Le acercaste tu polla y le convenciste con amenazas y promesas a que se metiera la polla en su boca. Cuando este accedió, no tuviste piedad y le follaste la boca con energía, llenándole su barba de sus propias babas.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedmamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cuando acabaste, eyaculaste sobre el rostro del turco mientras este seguía obedeciendo, abriendo bien la boca y sacando la lengua. Cuando te dejó bien limpia la polla, te marchaste, no sin antes darle un consejo. Si seguía comportándose como una víctima, eso es lo que sería. Debía tomar las riendas de su vida y liberar su rabia y fuerza.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedcorridacara.webm" type="video/webm"></video></center>
<<else>>
<h2 class="fade">🌟 Memory 2: The tax inspector's visit</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The last visit from an inspector to Ahmed's kebab shop revealed he would be willing to strip to save his business and that he didn't have all his accounts in order. Wearing the appearance of a tax inspector, you went to the restaurant with the same lies.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ahmed acknowledged he had several tax violations. You showed yourself capable of solving his problems if he acted the same way as with his fellow civil servant. Ahmed then accompanied you to the private area of the kebab shop and stripped for you, as he did with the other inspector.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedpajach.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
But you needed the Turkish cook to pervert himself more to corrupt him. Stripping and lying down on the bed, you showed him your feet and convinced him to suck and lick them to avoid the fines that would force him to close his business.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedchupapie.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
He obeyed, so you moved to the next level. You brought your cock close and convinced him with threats and promises to put it in his mouth. When he agreed, you showed no mercy and fucked his mouth with energy, filling his beard with his own drool.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedmamada.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When you finished, you ejaculated on the Turk's face while he continued obeying, opening his mouth wide and sticking out his tongue. When he left your cock clean, you left, but not before giving him advice. If he continued acting like a victim, that's what he would be. He needed to take control of his life and release his rage and strength.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ahmed/ahmedcorridacara.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Ahmed" "RecuerdosAhmed">>
<</link>>
<<else>>
<<link "⬅️ Back to Ahmed's Memories" "RecuerdosAhmed">>
<</link>>
<</if>>
</div><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
<<if $pruebaInfidelidadErnesto1 !== true>>
<!-- Primera vez obteniendo las fotos -->
Sigues a la pareja, ocultándote tras árboles y arbustos para conseguir una buena foto, y lo consigues. Por desgracia, no obtienes ni un beso ni nada más incriminatorio que un abrazo o una caricia. Deberá bastar.
<<set $pruebaInfidelidadErnesto1 = true>>
<<else>>
<!-- Ya tienes las fotos -->
Ya tienes las fotos necesarias para mostrárselas a Carmen. Al menos las que pudiste sacar de este casto paseo por el parque.
<</if>>
[[Sales del parque|Exterior]]
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
<<if $pruebaInfidelidadErnesto1 !== true>>
<!-- First time getting the photos -->
You follow the couple, hiding behind trees and bushes to get a good photo, and you succeed. Unfortunately, you don't get a kiss or anything more incriminating than a hug or a caress. It should be enough.
<<set $pruebaInfidelidadErnesto1 = true>>
<<else>>
<!-- Already have the photos -->
You already have the necessary photos to show Carmen. At least the ones you could get from this chaste walk through the park.
<</if>>
[[You leave the park|Exterior]]
<</if>><<run setup.gameTime.addMinutes(25)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
<<if $pruebaInfidelidadErnesto2 !== true>>
<!-- Primera vez obteniendo el video -->
Tras conseguir excitar a Ernesto, ves cómo su modo de actuar cambia de repente. Se muestra más cariñoso con la mujer, a pesar de que esta le susurra varias veces algo al oído. Consigues acercarte lo suficiente para entender algunas palabras como "follar" o "estamos en tu barrio".
La pareja se marcha apresurada del parque y tú la sigues a distancia. Ves cómo se acercan a un parking y entran a un coche. Te lamentas al pensar que van a marcharse, pero el vehículo no se enciende. Tras unos 6 minutos, decides acercarte con cuidado y asomarte a una de las ventanas. Lo que ves te deja sin palabras.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestofollaamante1.webm" type="video/webm"></video></center>
La amante de Ernesto, desnuda, bota sobre la polla gorda del médico, mientras este disfruta y jadea, liberando toda su calentura en ese polvo. Inmediatamente sacas el móvil y comienzas a grabar sabiendo que no podrás encontrar mejor prueba de la infidelidad de Ernesto que ese momento. Cuando tu vecino se corre sobre la cara de su amante, decides que ya tienes suficiente y dejas de grabar.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestofollaamante2.webm" type="video/webm"></video></center>
Dejas a los dos amantes en el coche y sales del parque con tu prueba incriminatoria.
<<set $pruebaInfidelidadErnesto2 = true>>
<<else>>
<!-- Ya tienes el video -->
Ya tienes todo lo necesario para mostrárselo a Carmen y descubrir cómo es su marido. No hace falta grabar más vídeos.
<</if>>
[[Salir del parque|Exterior]]
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
<<if $pruebaInfidelidadErnesto2 !== true>>
<!-- First time getting the video -->
After managing to arouse Ernesto, you see how his behavior suddenly changes. He becomes more affectionate with the woman, even though she whispers something in his ear several times. You manage to get close enough to understand some words like "fuck" or "we're in your neighborhood".
The couple hurriedly leaves the park and you follow them at a distance. You see them approach a parking lot and get into a car. You regret thinking they're going to leave, but the vehicle doesn't start. After about 6 minutes, you decide to carefully approach and peek through one of the windows. What you see leaves you speechless.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestofollaamante1.webm" type="video/webm"></video></center>
Ernesto's lover, naked, bounces on the doctor's fat cock while he enjoys and pants, releasing all his horniness in that fuck. Immediately you take out your phone and start recording knowing that you won't be able to find better proof of Ernesto's infidelity than this moment. When your neighbor cums on his lover's face, you decide you have enough and stop recording.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestofollaamante2.webm" type="video/webm"></video></center>
You leave the two lovers in the car and exit the park with your incriminating evidence.
<<set $pruebaInfidelidadErnesto2 = true>>
<<else>>
<!-- Already have the video -->
You already have everything you need to show Carmen and discover what her husband is really like. No need to record more videos.
<</if>>
[[Leave the park|Exterior]]
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
<<if $pruebaInfidelidadErnesto2 === true>>
<!-- TIENE EL VIDEO - Conversación definitiva -->
Respiras hondo y le muestras tu móvil a Carmen.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("CarmenVideo", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Carmen... lamento mucho tener que mostrarte esto.' },
{ speaker: 'carmen', text: '¿Qué es lo que...?' },
{ speaker: 'carmen', text: '...' },
{ speaker: 'carmen', text: 'Dios mío...' },
{ speaker: 'carmen', text: 'Ese... ese hijo de puta...' },
{ speaker: 'sergio', text: 'Lo siento mucho, Carmen.' },
{ speaker: 'carmen', text: 'No... gracias, Sergio. Gracias por... por decírmelo.' },
{ speaker: 'carmen', text: 'Perdóname, pero... necesito estar sola ahora.' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{ text: 'Comprendes y te alejas', action: 'GOTO:RegañinaErnesto' }
]
]
});
<</script>>
<<elseif $pruebaInfidelidadErnesto1 === true && $CarmenMostradoFotos1 !== true>>
<!-- PRIMERA VEZ CON SOLO FOTOS - Carmen se niega a creerlo -->
Le muestras las fotos a Carmen del paseo de Ernesto con la mujer rubia.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("CarmenFotos", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Carmen, vi a Ernesto en el parque con esta mujer...' },
{ speaker: 'carmen', text: 'Déjame ver...' },
{ speaker: 'carmen', text: 'Ah, sí. Es Clara, una compañera del hospital.' },
{ speaker: 'sergio', text: 'Pero parecían muy... cercanos.' },
{ speaker: 'carmen', text: 'Son amigos, Sergio. Trabajan juntos.' },
{ speaker: 'carmen', text: 'Ernesto tiene muchas amigas. Es un hombre sociable.' },
{ speaker: 'sergio', text: 'Carmen, yo creo que...' },
{ speaker: 'carmen', text: 'Gracias por tu preocupación, pero estás malinterpretando la situación.' },
{ speaker: 'carmen', text: 'No voy a juzgar a mi marido por dar un paseo con una colega.' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[
{ text: 'No insistes más', action: 'GOTO:Rellano del 1º' }
]
]
});
<</script>>
<<set $CarmenMostradoFotos1 = true>>
<<elseif $pruebaInfidelidadErnesto1 === true && $CarmenMostradoFotos1 === true>>
<!-- YA INTENTASTE CON LAS FOTOS ANTES - Necesitas mejores pruebas -->
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
Ya intentaste mostrarle las fotos a Carmen, pero ella no quiso reconocer la infidelidad de su marido. Se convencía a sí misma de que solo era una amiga o compañera de trabajo.
Con solo unas fotos de un paseo inocente por el parque no podrás convencer a Carmen de la infidelidad de Ernesto. Necesitas pruebas más contundentes, algo más... subido de tono.
[[Volver->Rellano del 1º]]
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
<<if $pruebaInfidelidadErnesto2 === true>>
<!-- HAS THE VIDEO - Definitive conversation -->
You take a deep breath and show Carmen your phone.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("CarmenVideo", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Carmen... I\'m so sorry I have to show you this.' },
{ speaker: 'carmen', text: 'What is...?' },
{ speaker: 'carmen', text: '...' },
{ speaker: 'carmen', text: 'Oh my God...' },
{ speaker: 'carmen', text: 'That... that son of a bitch...' },
{ speaker: 'sergio', text: 'I\'m so sorry, Carmen.' },
{ speaker: 'carmen', text: 'No... thank you, Sergio. Thank you for... for telling me.' },
{ speaker: 'carmen', text: 'Forgive me, but... I need to be alone now.' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{ text: 'You understand and walk away', action: 'GOTO:RegañinaErnesto' }
]
]
});
<</script>>
<<elseif $pruebaInfidelidadErnesto1 === true && $CarmenMostradoFotos1 !== true>>
<!-- FIRST TIME WITH ONLY PHOTOS - Carmen refuses to believe it -->
You show Carmen the photos of Ernesto's walk with the blonde woman.
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("CarmenFotos", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Carmen, I saw Ernesto at the park with this woman...' },
{ speaker: 'carmen', text: 'Let me see...' },
{ speaker: 'carmen', text: 'Ah, yes. That\'s Clara, a colleague from the hospital.' },
{ speaker: 'sergio', text: 'But they seemed very... close.' },
{ speaker: 'carmen', text: 'They\'re friends, Sergio. They work together.' },
{ speaker: 'carmen', text: 'Ernesto has many female friends. He\'s a sociable man.' },
{ speaker: 'sergio', text: 'Carmen, I think that...' },
{ speaker: 'carmen', text: 'Thank you for your concern, but you\'re misinterpreting the situation.' },
{ speaker: 'carmen', text: 'I\'m not going to judge my husband for taking a walk with a colleague.' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[
{ text: 'You don\'t insist anymore', action: 'GOTO:Rellano del 1º' }
]
]
});
<</script>>
<<set $CarmenMostradoFotos1 = true>>
<<elseif $pruebaInfidelidadErnesto1 === true && $CarmenMostradoFotos1 === true>>
<!-- ALREADY TRIED WITH THE PHOTOS - Need better evidence -->
<center><img src="images/mujeres/carmenpuerta.png" width="400"></center>
You already tried to show Carmen the photos, but she didn't want to acknowledge her husband's infidelity. She convinced herself that it was just a friend or work colleague.
With only photos of an innocent walk through the park you won't be able to convince Carmen of Ernesto's infidelity. You need more conclusive evidence, something more... explicit.
[[Go back->Rellano del 1º]]
<</if>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="rellano" />
</div>
El sonido de unos gritos, que reverberan por toda la escalera, hace que salgas de tu casa y te asomes hacia el piso de abajo. Es Carmen, la mujer de Ernesto, que con una maleta en la mano está marchándose de casa.
<center><img src="images/Ernesto/carmensemarcha.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Carmenregañina", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Carmen por favor...' },
{ speaker: 'carmen', text: '¡Ya no lo soporto más! He estado ciega todo este tiempo. He dejado que coquetearas con todas esas mujeres. Pero, ¿hacer el amor en público? Eso ya es pasarse.' },
{ speaker: 'ernesto', text: 'Escucha mujer. Ha sido un error, lo sé. Pero...' },
{ speaker: 'carmen', text: 'Me largo. Te dejo con los críos y este piso que tantas ganas tuviste de comprar.' },
{ speaker: 'ernesto', text: 'Pero Carmen, ¿a dónde vas a ir?' },
{ speaker: 'carmen', text: 'Me marcho a Cuba, con mi familia. Ya hablaremos del divorcio cuando vuelva.' },
{ speaker: 'ernesto', text: 'Por favor Carmen. Ha sido un error. Puedo cambiar...' },
{ speaker: 'carmen', text: 'Adiós Ernesto.' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{
text: 'Carmen baja las escaleras y desaparece',
action: function() {
State.variables.notaErnesto2 = true;
State.variables.notaErnesto1 = false;
State.variables.RecuerdoErnesto1 = true;
if (!State.variables.recuerdosErnesto) {
State.variables.recuerdosErnesto = 0;
}
State.variables.recuerdosErnesto += 1;
Engine.play('habitacionsergio');
}
}
]
]
});
<</script>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="landing" />
</div>
The sound of screaming, echoing throughout the stairwell, makes you leave your apartment and look down to the floor below. It's Carmen, Ernesto's wife, leaving home with a suitcase in hand.
<center><img src="images/Ernesto/carmensemarcha.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Carmenregañina", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#ff4757',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Carmen please...' },
{ speaker: 'carmen', text: 'I can\'t take it anymore! I\'ve been blind all this time. I let you flirt with all those women. But making love in public? That\'s too much.' },
{ speaker: 'ernesto', text: 'Listen woman. It was a mistake, I know. But...' },
{ speaker: 'carmen', text: 'I\'m leaving. I\'m leaving you with the kids and this apartment you were so eager to buy.' },
{ speaker: 'ernesto', text: 'But Carmen, where are you going to go?' },
{ speaker: 'carmen', text: 'I\'m going to Cuba, with my family. We\'ll talk about the divorce when I get back.' },
{ speaker: 'ernesto', text: 'Please Carmen. It was a mistake. I can change...' },
{ speaker: 'carmen', text: 'Goodbye Ernesto.' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{
text: 'Carmen goes down the stairs and disappears',
action: function() {
State.variables.notaErnesto2 = true;
State.variables.notaErnesto1 = false;
State.variables.RecuerdoErnesto1 = true;
if (!State.variables.recuerdosErnesto) {
State.variables.recuerdosErnesto = 0;
}
State.variables.recuerdosErnesto += 1;
Engine.play('habitacionsergio');
}
}
]
]
});
<</script>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Ernesto/ernesto.png" alt="Ernesto">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Ernesto</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosErnesto>></strong> recuerdo<<if $recuerdosErnesto > 1>>s<</if>> especial<<if $recuerdosErnesto > 1>>es<</if>> con Ernesto.
</p>
<<else>>
<div class="header-image">
<img src="images/Ernesto/ernesto.png" alt="Ernesto">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Ernesto</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosErnesto>></strong> special memor<<if $recuerdosErnesto > 1>>ies<<else>>y<</if>> with Ernesto.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoErnesto1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Carmen debe saberlo</h3>
<p>Le muestras la infidelidad de Ernesto a su mujer</p>
<<else>>
<h3>Memory 1: Carmen must know</h3>
<p>You show Ernesto's infidelity to his wife</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoErnesto1">><</link>>
<<else>>
<<link "View →" "RecuerdoErnesto1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoErnesto2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Si es un hombre no importa.</h3>
<p>Ernesto hace cruising en el parque.</p>
<<else>>
<h3>Memory 2: If it's a man it doesn't matter.</h3>
<p>Ernesto goes cruising in the park.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoErnesto2">><</link>>
<<else>>
<<link "View →" "RecuerdoErnesto2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoErnesto3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoErnesto3">><</link>>
<<else>>
<<link "View →" "RecuerdoErnesto3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoErnesto4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoErnesto4">><</link>>
<<else>>
<<link "View →" "RecuerdoErnesto4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoErnesto5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Ernesto...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Ernesto...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoErnesto5">><</link>>
<<else>>
<<link "View →" "RecuerdoErnesto5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: Carmen debe saberlo</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Todos en el edificio saben que Ernesto es incapaz de controlar sus apetitos sexuales. Ya le has conocido varias amantes, aunque Carmen, su esposa, parece que no quiere enterarse. El primer paso para corromper a Ernesto es que abandone el sexo con las mujeres. Para ello, hay que envolverle en la culpa.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Le encontraste paseando con su nueva amante por el parque. Unas fotos de ese paseo no eran demasiado explícitas, así que usaste la app de Excitación a Distancia para calentar al médico. Ernesto se llevó a su amante al coche de ella, aparcado ahí cerca, y comenzó a follársela, acto que grabaste con tu móvil.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ernesto/ernestofollaamante1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Luego, le mostraste a Carmen las imágenes. Incapaz de obviar la infidelidad, verle follar en público provocó un ataque de ira. La mujer cogió su ropa y, tras una discusión de la que se enteró todo el edificio, abandonó a su marido y se fue a Cuba.
</p>
<center><img src="images/Ernesto/carmensemarcha.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ernesto, solo con sus hijos, deberá analizar qué es lo que ha hecho y qué puede hacer para solucionarlo.
</p>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<h2 class="fade">🌟 Memory 1: Carmen must know</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Everyone in the building knows that Ernesto is incapable of controlling his sexual appetites. You've already met several of his lovers, although Carmen, his wife, seems unwilling to acknowledge it. The first step to corrupting Ernesto is for him to abandon sex with women. To do this, he must be wrapped in guilt.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You found him walking with his new lover in the park. Some photos of that walk weren't explicit enough, so you used the Remote Arousal app to heat up the doctor. Ernesto took his lover to her car, parked nearby, and began fucking her, an act you recorded on your phone.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ernesto/ernestofollaamante1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then, you showed Carmen the images. Unable to ignore the infidelity, seeing him fuck in public triggered a fit of rage. The woman grabbed her clothes and, after an argument that the entire building heard, left her husband and went to Cuba.
</p>
<center><img src="images/Ernesto/carmensemarcha.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ernesto, alone with his children, will have to analyze what he has done and what he can do to fix it.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Ernesto" "RecuerdosErnesto">><</link>>
<<else>>
<<link "⬅️ Back to Ernesto's Memories" "RecuerdosErnesto">><</link>>
<</if>>
</div><<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ernesto. Ya me he enterado de lo tuyo con Carmen. ¿Cómo te encuentras?' },
{ speaker: 'ernesto', text: 'Pues no muy bien. Son muchos años juntos y la echo de menos.' },
{ speaker: 'sergio', text: '¿Has vuelto a hablar con ella?' },
{ speaker: 'ernesto', text: 'No me coge el teléfono. Mis hijos tampoco me hablan. La verdad es que la he cagado. Pero es que no he podido evitarlo, ¿sabes? Las mujeres se me acercan y yo... no me controlo.' },
{ speaker: 'sergio', text: '¿Quieres volver con Carmen?' },
{ speaker: 'ernesto', text: 'Claro. Es la mujer de mi vida. Echaré de menos a las otras mujeres. Pero sí, quiero volver con mi mujer.' },
{ speaker: 'sergio', text: 'Pero ella no volverá si no sabe que has cambiado. Si no le demuestras que todas tus aventuras no se volverán a repetir.' },
{ speaker: 'ernesto', text: 'Lo sé. ¿Pero qué puedo hacer? Me gustan mucho las mujeres.' },
{ speaker: 'sergio', text: 'A un amigo le sucedía algo similar. Me comentó que una psicóloga especialista en este tipo de casos le ayudó a superarlo.' },
{ speaker: 'ernesto', text: '¿Una psicóloga? ¿Ir a terapia?' },
{ speaker: 'sergio', text: 'No soy experto, pero creo que podrías tener adicción al sexo. Esta psicóloga hace consultas por teléfono. No tendrías ni que moverte del edificio.' },
{ speaker: 'ernesto', text: 'Bueno, hablar con una colega no puede hacerme ningún daño. Pásale mi número.' },
{ speaker: 'sergio', text: '<em>Ahora solo me queda conseguir que le llame una psicóloga y le diga lo que yo quiera</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'Te despides',
action: function() {
State.variables.Semblantepsic = true;
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
});
<</script>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Ernesto. I already heard about what happened with Carmen. How are you feeling?' },
{ speaker: 'ernesto', text: 'Well, not very good. We\'ve been together for many years and I miss her.' },
{ speaker: 'sergio', text: 'Have you talked to her again?' },
{ speaker: 'ernesto', text: 'She doesn\'t answer my calls. My children don\'t talk to me either. The truth is I screwed up. But I couldn\'t help it, you know? Women approach me and I... can\'t control myself.' },
{ speaker: 'sergio', text: 'Do you want to get back together with Carmen?' },
{ speaker: 'ernesto', text: 'Of course. She\'s the woman of my life. I\'ll miss the other women. But yes, I want to get back with my wife.' },
{ speaker: 'sergio', text: 'But she won\'t come back if she doesn\'t know you\'ve changed. If you don\'t prove to her that all your adventures won\'t happen again.' },
{ speaker: 'ernesto', text: 'I know. But what can I do? I really like women.' },
{ speaker: 'sergio', text: 'A friend of mine had something similar happen. He told me that a psychologist who specializes in these kinds of cases helped him overcome it.' },
{ speaker: 'ernesto', text: 'A psychologist? Go to therapy?' },
{ speaker: 'sergio', text: 'I\'m not an expert, but I think you might have a sex addiction. This psychologist does consultations over the phone. You wouldn\'t even have to leave the building.' },
{ speaker: 'ernesto', text: 'Well, talking to a colleague can\'t hurt me. Give her my number.' },
{ speaker: 'sergio', text: '<em>Now I just need to get a psychologist to call him and say what I want</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'You say goodbye',
action: function() {
State.variables.Semblantepsic = true;
const history = State.history;
const returnPassage = history.length >= 3 ? history[history.length - 3].title : 'Rellano del 1º';
Engine.play(returnPassage);
}
}
]
]
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<<if $idioma is "es">>
Te sorprendes cuando <span class="vibrando">el móvil empieza a vibrar</span> y no reconoces el número. Lo agarras y esperas que hable quien sea que esté en el otro lado. Reconoces a Ernesto, así que te conviertes en la psicóloga mediante la app de Semblante Artificial.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function() {
setup.showDoorDialogue("Ernesto", {
characters: [
{ id: 'ernesto', name: 'Ernesto', portrait: 'images/Ernesto/ernesto.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/psicologaretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'ernesto', text: '¿Doctora Vergara?' },
{ speaker: 'sergio', text: 'Sí. Soy yo. Es usted el Dr. Rodríguez, ¿cierto? Me han hablado de usted y de su caso.' },
{ speaker: 'ernesto', text: 'Espero que pueda ayudarme, doctora. Creo que tengo un problema con las mujeres.' },
{ speaker: 'sergio', text: 'Claro, coménteme.' },
{ speaker: 'ernesto', text: '<em>Ernesto te cuenta cómo se ha pasado su vida buscando sexo con distintas mujeres, obsesionado con ello</em>.' },
{ speaker: 'sergio', text: 'Por lo que parece, usted tiene una adicción al sexo. No se preocupe, he tratado con otros casos similares al suyo.' },
{ speaker: 'ernesto', text: '¿Qué puedo hacer, doctora?' },
{ speaker: 'sergio', text: 'Debe dejarlo inmediatamente. No debe tener más sexo con ninguna mujer.' },
{ speaker: 'ernesto', text: 'Mi mujer me ha dejado, y he roto con mi amante.' },
{ speaker: 'sergio', text: 'Perfecto. Debe evitar cualquier cosa que le excite y le recuerde al sexo con mujeres. No vea pornografía heterosexual ni vea películas picantes. Cambie sus hábitos y haga algún deporte.' },
{ speaker: 'ernesto', text: 'Me gusta salir a pasear. Tengo un parque cerca.' },
{ speaker: 'sergio', text: 'Eso es buena idea. Dé una vuelta por ahí y, si le vuelve a suceder un ataque, una repentina excitación que no sabe de dónde viene, llámeme. Yo le ayudaré.' },
{ speaker: 'ernesto', text: 'Gracias, doctora, eso haré.' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [],
[{
text: 'Cuelgas',
action: function() {
State.variables.Semblantecrusing = true;
State.variables.crusingernesto = true;
Engine.play('habitacionsergio');
}
}]
]
});
});
<</script>>
<<else>>
You're surprised when <span class="vibrando">your phone starts vibrating</span> and you don't recognize the number. You pick it up and wait for whoever is on the other end to speak. You recognize Ernesto, so you transform into the psychologist using the Artificial Appearance app.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function() {
setup.showDoorDialogue("Ernesto", {
characters: [
{ id: 'ernesto', name: 'Ernesto', portrait: 'images/Ernesto/ernesto.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: 'Sergio', portrait: 'images/Semblantes/psicologaretrato.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'ernesto', text: 'Dr. Vergara?' },
{ speaker: 'sergio', text: 'Yes. It\'s me. You are Dr. Rodriguez, right? I\'ve been told about you and your case.' },
{ speaker: 'ernesto', text: 'I hope you can help me, doctor. I think I have a problem with women.' },
{ speaker: 'sergio', text: 'Of course, tell me about it.' },
{ speaker: 'ernesto', text: '<em>Ernesto tells you how he has spent his life looking for sex with different women, obsessed with it</em>.' },
{ speaker: 'sergio', text: 'From what it seems, you have a sex addiction. Don\'t worry, I\'ve dealt with other cases similar to yours.' },
{ speaker: 'ernesto', text: 'What can I do, doctor?' },
{ speaker: 'sergio', text: 'You must stop immediately. You must not have any more sex with any woman.' },
{ speaker: 'ernesto', text: 'My wife has left me, and I broke up with my lover.' },
{ speaker: 'sergio', text: 'Perfect. You must avoid anything that excites you and reminds you of sex with women. Don\'t watch heterosexual pornography or watch risqué movies. Change your habits and do some sport.' },
{ speaker: 'ernesto', text: 'I like to go for walks. I have a park nearby.' },
{ speaker: 'sergio', text: 'That\'s a good idea. Take a walk around there and, if you have another attack, a sudden arousal that you don\'t know where it comes from, call me. I will help you.' },
{ speaker: 'ernesto', text: 'Thank you, doctor, I will.' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [],
[{
text: 'You hang up',
action: function() {
State.variables.Semblantecrusing = true;
State.variables.crusingernesto = true;
Engine.play('habitacionsergio');
}
}]
]
});
});
<</script>>
<</if>><<if $notaErnesto2 !== true>>
<<goto "gloriholeernesto">>
<<else>>
<!-- Solo ejecuta este código si notaErnesto2 ES true -->
<<run setup.gameTime.addMinutes(10)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
De nuevo, excitas mediante tu app a Ernesto. Este se detiene en seco y mira alrededor, incapaz de saber por qué su polla se ha puesto tan dura. En vez de esconderse entre los matorrales para hacerse una paja, agarra su móvil y, nervioso, teclea un número. Casi te da un vuelco el corazón al notar cómo vibra el tuyo. Te está llamando a ti. Inmediatamente usas el semblante de la psicóloga y te escondes de tu vecino, evitando que él pueda verte.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/psicologaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: '¿Doctora Vergara?' },
{ speaker: 'sergio', text: 'Sí. Estoy aquí, Ernesto. Dime, ¿qué te pasa?' },
{ speaker: 'ernesto', text: 'He tenido un ataque, como usted me dijo. De repente, estoy muy excitado.' },
{ speaker: 'sergio', text: 'No se preocupe. Cálmese y hágame caso. ¿Dónde se encuentra?' },
{ speaker: 'ernesto', text: 'En el parque. Estaba dando un paseo y, de repente... No sé qué habrá pasado...' },
{ speaker: 'sergio', text: '¿Hay mujeres por ahí?' },
{ speaker: 'ernesto', text: 'Hay algunas, sí. Una madre va con un niño en un carrito. También acaba de pasar una chica corriendo.' },
{ speaker: 'sergio', text: 'Su subconsciente las ha interpretado como posibles amantes. Las ha visualizado desnudas y practicando sexo oral con usted. Por eso está excitado.' },
{ speaker: 'ernesto', text: 'Yo... No me había fijado en ellas hasta ahora. ¿Qué hago, doctora?' },
{ speaker: 'sergio', text: 'No se preocupe. Debe desahogarse o jamás podrá tener una relación sexual sana. Busque uno de los baños públicos. El que se encuentra cerca del arroyo.' },
{ speaker: 'ernesto', text: '¿El baño? No lo entiendo.' },
{ speaker: 'sergio', text: 'Hágame caso. Vaya a ese baño e introdúzcase en uno de los cubículos.' },
{ speaker: 'ernesto', text: 'Ok, doctora.' },
{ speaker: 'sergio', text: 'Voy a entrar a una reunión, pero podemos seguir comunicándonos con mensajes. Ahora confíe en mí y vaya a ese baño.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[
{
text: 'Cuelgas',
action: function() {
Engine.play('gloriholeernesto');
}
}
]
]
});
<</script>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
Once again, you excite Ernesto through your app. He stops dead in his tracks and looks around, unable to understand why his cock has gotten so hard. Instead of hiding in the bushes to jerk off, he grabs his phone and, nervously, dials a number. Your heart almost skips a beat when you notice yours vibrating. He's calling you. You immediately use the psychologist's appearance and hide from your neighbor, preventing him from seeing you.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/psicologaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Dr. Vergara?' },
{ speaker: 'sergio', text: 'Yes. I\'m here, Ernesto. Tell me, what\'s wrong?' },
{ speaker: 'ernesto', text: 'I\'ve had an attack, like you told me. Suddenly, I\'m very aroused.' },
{ speaker: 'sergio', text: 'Don\'t worry. Calm down and listen to me. Where are you?' },
{ speaker: 'ernesto', text: 'In the park. I was taking a walk and, suddenly... I don\'t know what happened...' },
{ speaker: 'sergio', text: 'Are there women around?' },
{ speaker: 'ernesto', text: 'There are some, yes. A mother is walking with a baby in a stroller. Also, a girl just ran past.' },
{ speaker: 'sergio', text: 'Your subconscious has interpreted them as potential lovers. You\'ve visualized them naked and performing oral sex on you. That\'s why you\'re aroused.' },
{ speaker: 'ernesto', text: 'I... I hadn\'t noticed them until now. What do I do, doctor?' },
{ speaker: 'sergio', text: 'Don\'t worry. You must release yourself or you\'ll never be able to have a healthy sexual relationship. Look for one of the public restrooms. The one near the stream.' },
{ speaker: 'ernesto', text: 'The bathroom? I don\'t understand.' },
{ speaker: 'sergio', text: 'Trust me. Go to that bathroom and enter one of the stalls.' },
{ speaker: 'ernesto', text: 'Ok, doctor.' },
{ speaker: 'sergio', text: 'I\'m going into a meeting, but we can continue communicating through messages. Now trust me and go to that bathroom.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[
{
text: 'You hang up',
action: function() {
Engine.play('gloriholeernesto');
}
}
]
]
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
<<if $notaErnesto2 === true>>
<!-- ========== PRIMERA VEZ (VERSIÓN LARGA) ========== -->
Ernesto obedece los consejos de su doctora y se dirige a los baños más alejados. No se pregunta cómo es posible que su psicóloga conozca ese edificio, simplemente trota hasta llegar al destartalado cuadrado de hormigón. No tiene puerta exterior, y al entrar, su abandono es visible.
<center><img src="images/localizaciones/bañoparque.png" width="400"></center>
"¿Ahora qué hago?" le escribe en un mensaje Ernesto a su psicóloga, y esta, que eres tú, le responde "Métete en uno de los cubículos". Ernesto lo hace y tú aprovechas para, sigilosamente, introducirte en el contiguo a él. Aunque jamás lo has utilizado, sabes que este baño apartado es una zona de cruising de hombres y, entre los dos cubículos, hay un agujero para hacer gloryhole.
"Verás un agujero en la pared" le sigues escribiendo "Introduce tu pene ahí"
Ernesto, que ya tenía su polla fuera de su pantalón y se la acariciaba, lo hace sin pensar. Es el momento en que tú, acuclillado tras la pared, te acercas a ese rabo gordo y oscuro que acaba de aparecer y comienzas a acariciarlo.
"Me la están agarrando" Te escribe, con varias faltas de ortografía. "Hay alguien al otro lado". "Claro que sí, y va a ayudarte" le contestas. Entonces, te la metes en la boca.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestogloryhole1.webm" type="video/webm"></video></center>
"Joder" Escuchas decir desde el otro lado. Ya no envía más mensajes, y tú puedes dedicarte a hacerle la mejor mamada de su vida. La polla es tan grande que puedes recorrer su lateral con los labios para volver de nuevo a su glande sin ningún problema, mientras escuchas cómo Ernesto gemía tras la pared de madera.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestogloryhole2.webm" type="video/webm"></video></center>
El final vino rápido. No tuviste ninguna señal y la leche de tu vecino comenzó a manar de repente, salpicándote la cara y el cuello. Le diste unos cuantos lametones más hasta que el médico retiró su miembro del agujero y le escuchaste salir.
"¿Quién era?" Preguntó con un mensaje. Tú, mientras te limpiabas con tu camiseta, le contestaste como si fueras la psicóloga "Era un modo de aliviarte sin ceder en tu desintoxicación del sexo con mujeres. Era un hombre."
Un silencio de varios minutos hace que te replantees que tu estrategia no ha funcionado. Al final tu móvil comienza a vibrar y suspiras aliviado, es Ernesto. Te vistes con el semblante de la psicóloga y aceptas la llamada.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/psicologaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Perdone por llamarle en la reunión, doctora Vergara, pero no lo entiendo. ¿Me ha llevado a un sitio para que un hombre me haga sexo oral? ¿En qué me ayuda eso con mi adicción al sexo?' },
{ speaker: 'sergio', text: 'Sencillo. Necesitabas superar este ataque. Estás con síndrome de abstinencia y, si no liberas esa carga sexual, podrías tener efectos físicos, como ya sabrás bien por tu formación.' },
{ speaker: 'sergio', text: 'Este es el método en que ninguna mujer interfiera en tu tratamiento. Ni tocas un cuerpo femenino ni te imaginas con una de ellas. Es como si fuera tu metadona. ¿Lo entiendes ahora?' },
{ speaker: 'ernesto', text: 'No sé qué pensar...' },
{ speaker: 'sergio', text: 'Confíe en mí. ¿No se nota más calmado? ¿El ataque ha remitido, cierto?' },
{ speaker: 'ernesto', text: 'Sí. Es verdad. Y ha sido muy placentero.' },
{ speaker: 'sergio', text: 'Entonces, si le sucede alguna otra vez, acuda al mismo sitio a ver si algún ciudadano puede ayudarle. Es solo un alivio para casos agudos, pero necesario.' },
{ speaker: 'ernesto', text: 'Ok, eso haré. Gracias, doctora.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Cuelgas',
action: function() {
State.variables.notaErnesto3 = true;
State.variables.notaErnesto2 = false;
State.variables.recuerdosErnesto += 1;
State.variables.RecuerdoErnesto2 = true;
State.variables.corrupcionErnesto = 15;
Engine.play('Parque');
}
}
]
]
});
<</script>>
<<else>>
<!-- ========== VISITAS POSTERIORES (VERSIÓN CORTA) ========== -->
Acompañas a lo lejos a Ernesto hacia el baño que ya conoce. Él necesita liberar su excitación, y tú vas a ayudarle. Tras entrar en su cubículo, tú haces lo mismo en el tuyo. Al ver cómo entra su polla, tú te dedicas a comérsela con ganas hasta que su leche se vierte en el interior de tu estómago. Ernesto se marcha, silbando, y tú te pasas la lengua por tus labios blanquecinos.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestogloryhole2.webm" type="video/webm"></video></center>
[[Salir del baño|Parque]]
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
<<if $notaErnesto2 === true>>
<!-- ========== FIRST TIME (LONG VERSION) ========== -->
Ernesto obeys his doctor's advice and heads to the furthest restrooms. He doesn't question how it's possible that his psychologist knows this building, he simply jogs until he reaches the dilapidated concrete square. It has no outer door, and upon entering, its abandonment is visible.
<center><img src="images/localizaciones/bañoparque.png" width="400"></center>
"What do I do now?" Ernesto writes in a message to his psychologist, and she, who is you, responds "Get into one of the stalls". Ernesto does so and you take the opportunity to stealthily enter the one next to him. Although you've never used it, you know this secluded bathroom is a men's cruising area and, between the two stalls, there's a hole for a gloryhole.
"You'll see a hole in the wall" you continue writing "Put your penis in there"
Ernesto, who already had his cock out of his pants and was stroking it, does so without thinking. It's the moment when you, crouched behind the wall, approach that thick, dark cock that just appeared and begin to caress it.
"Someone is grabbing it" He writes you, with several spelling errors. "There's someone on the other side". "Of course there is, and they're going to help you" you reply. Then, you put it in your mouth.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestogloryhole1.webm" type="video/webm"></video></center>
"Fuck" You hear from the other side. He no longer sends messages, and you can dedicate yourself to giving him the best blowjob of his life. The cock is so big that you can run your lips along its side to return to his glans without any problem, while you listen to Ernesto moaning behind the wooden wall.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestogloryhole2.webm" type="video/webm"></video></center>
The end came quickly. You had no warning and your neighbor's milk began to flow suddenly, splashing your face and neck. You gave him a few more licks until the doctor withdrew his member from the hole and you heard him leave.
"Who was it?" He asked in a message. You, while cleaning yourself with your shirt, replied as if you were the psychologist "It was a way to relieve you without giving in to your detoxification from sex with women. It was a man."
A silence of several minutes makes you reconsider that your strategy hasn't worked. Finally your phone starts vibrating and you sigh with relief, it's Ernesto. You dress in the psychologist's appearance and accept the call.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/psicologaretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Sorry for calling you in the meeting, Dr. Vergara, but I don\'t understand. Did you take me to a place for a man to give me oral sex? How does that help me with my sex addiction?' },
{ speaker: 'sergio', text: 'Simple. You needed to overcome this attack. You have withdrawal syndrome and, if you don\'t release that sexual load, you could have physical effects, as you well know from your training.' },
{ speaker: 'sergio', text: 'This is the method in which no woman interferes with your treatment. You neither touch a female body nor imagine yourself with one of them. It\'s like your methadone. Do you understand now?' },
{ speaker: 'ernesto', text: 'I don\'t know what to think...' },
{ speaker: 'sergio', text: 'Trust me. Don\'t you feel calmer? The attack has subsided, right?' },
{ speaker: 'ernesto', text: 'Yes. It\'s true. And it was very pleasurable.' },
{ speaker: 'sergio', text: 'Then, if it happens to you again, go to the same place to see if a citizen can help you. It\'s just relief for acute cases, but necessary.' },
{ speaker: 'ernesto', text: 'Ok, I\'ll do that. Thank you, doctor.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'You hang up',
action: function() {
State.variables.notaErnesto3 = true;
State.variables.notaErnesto2 = false;
State.variables.RecuerdoErnesto2 = true;
State.variables.corrupcionErnesto = 15;
Engine.play('Parque');
}
}
]
]
});
<</script>>
<<else>>
<!-- ========== SUBSEQUENT VISITS (SHORT VERSION) ========== -->
You accompany Ernesto from afar to the bathroom he already knows. He needs to release his arousal, and you're going to help him. After he enters his stall, you do the same in yours. Seeing his cock enter, you dedicate yourself to eagerly devouring it until his milk pours into your stomach. Ernesto leaves, whistling, and you run your tongue over your whitened lips.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ernesto/ernestogloryhole2.webm" type="video/webm"></video></center>
[[Leave the bathroom|Parque]]
<</if>>
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: Si es un hombre no importa</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras la marcha de Carmen, la esposa de Ernesto, decides hablar con él para saber cómo se encuentra. Apesumbrado, te comenta que echa de menos a su mujer y que tiene un problema con las mujeres. Le insinúas que es posible que sea adicto al sexo y le recomiendas una psicóloga muy buena en esos casos, que, mediante la app de Semblante Artificial, eres tú.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Él te llama y tú le refuerzas la idea de que su adicción solo podrá curarse si deja de tener relaciones sexuales con las mujeres. También le comentas que es posible que tenga ataques repentinos de excitación y, si eso sucede, que te llame inmediatamente.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Decides forzar ese ataque. Encuentras a Ernesto en el parque, dando un sencillo paseo. Usas la app de Excitación a Distancia para volver a ponerle cachondo. El médico llama al momento a la psicóloga, que le ordena que vaya a unos baños apartados en el mismo parque. Allí, le dice que introduzca su polla por el agujero de uno de los cubículos. En el otro lado te encontrabas tú, que comenzaste a hacerle una felación.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ernesto/ernestogloryhole1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
El médico no retiró su miembro, así que te dedicaste a disfrutar de ese enorme miembro y a hacerle una mamada que pueda recordar toda su vida. Ernesto no tardó en correrse en tu rostro, marchándose después, agitado.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ernesto/ernestogloryhole2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Te llamó de nuevo y te pidió explicaciones. Conseguiste convencerlo de que el sexo con hombres conseguiría liberarlo de esos ataques de excitación y le ayudaría a superar su adicción al sexo con mujeres. Ernesto se lo tragó y aceptó volver al baño si de nuevo sentía lo mismo en el parque. El primer paso hacia su corrupción estaba conseguido.
</p>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<h2 class="fade">🌟 Memory 2: If it's a man it doesn't matter</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After Carmen, Ernesto's wife, left, you decide to talk to him to find out how he's doing. Dejected, he tells you that he misses his wife and that he has a problem with women. You suggest that he might be addicted to sex and recommend a very good psychologist for such cases, who, through the Artificial Appearance app, is you.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
He calls you and you reinforce the idea that his addiction can only be cured if he stops having sexual relations with women. You also tell him that he might have sudden attacks of arousal and, if that happens, to call you immediately.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You decide to force that attack. You find Ernesto in the park, taking a simple walk. You use the Remote Arousal app to make him horny again. The doctor immediately calls the psychologist, who orders him to go to some secluded bathrooms in the same park. There, she tells him to put his cock through the hole in one of the stalls. On the other side you were waiting, and you began to give him a blowjob.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ernesto/ernestogloryhole1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The doctor didn't withdraw his member, so you dedicated yourself to enjoying that huge member and giving him a blowjob he could remember for the rest of his life. Ernesto didn't take long to cum on your face, leaving afterwards, agitated.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Ernesto/ernestogloryhole2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
He called you again and asked for explanations. You managed to convince him that sex with men would free him from those attacks of arousal and would help him overcome his addiction to sex with women. Ernesto bought it and agreed to return to the bathroom if he felt the same way in the park again. The first step towards his corruption was achieved.
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Ernesto" "RecuerdosErnesto">><</link>>
<<else>>
<<link "⬅️ Back to Ernesto's Memories" "RecuerdosErnesto">><</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
La sonrisa en la pantalla de tu ordenador se hace más grande al escuchar el nombre del atlético vecino del 1A.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Vas a por el jugador de baloncesto. ¡Bien hecho! La verdad es que está cañón." },
{ speaker: "sergio", text: "Ehh... Lo sé. Necesito tu ayuda. Tus consejos." },
{ speaker: "dem", text: "Haré todo lo que esté en mi mano, pero recuerda, solo soy un demonio digital." },
{ speaker: "sergio", text: "He descubierto mediante la visión sexual que el equipo de Damián está teniendo una temporada pésima, y que necesita conseguir logros para poder ser fichado en un equipo de mejor categoría." },
{ speaker: "dem", text: "También has descubierto que Damián calza una herramienta enorme, ¿a que sí?" },
{ speaker: "sergio", text: "*Te sonrojas.* Sí, eso también. Pero volvamos al tema. Su equipo es el punto débil para corromper a Damián. Necesitamos que gane. ¿Qué se te ocurre?" },
{ speaker: "dem", text: "*La sonrisa de Dem desaparece por una expresión de cálculo.* Uhm, déjame pensar..." },
{ speaker: "dem", text: "¡Ya lo tengo! Como siempre, la solución está en mi patria. ¿Conoces el batallón sagrado de Tebas?" },
{ speaker: "sergio", text: "No." },
{ speaker: "dem", text: "Era un ejército de la Grecia clásica en el que su fuerza radicaba en que estaban compuestos por amantes. Podíamos hacer eso con el equipo de Damián. Hacerles jugar como uno solo. Unirlos, a través del sexo." },
{ speaker: "sergio", text: "No se va a tragar eso..." },
{ speaker: "dem", text: "Bueno, eso déjamelo a mí. Puedo generar una web con contenido tan convincente que, como mínimo, le haga replanteárselo. Tú solo habla con él y coméntaselo. Veremos cómo funciona." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Te desconectas del ordenador.",
action: 'GOTO:habitacionsergio'
}
]
]
});
// Establecer la variable cuando se inicia el diálogo
State.variables.webcreada = true;
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
The smile on your computer screen grows wider when he hears the name of the athletic neighbor from 1A.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "You're going after the basketball player. Well done! Truth is, he's hot as hell." },
{ speaker: "sergio", text: "Ehh... I know. I need your help. Your advice." },
{ speaker: "dem", text: "I'll do everything in my power, but remember, I'm just a digital demon." },
{ speaker: "sergio", text: "I discovered through sexual vision that Damián's team is having a terrible season, and that he needs to achieve results to be recruited by a better team." },
{ speaker: "dem", text: "You also discovered that Damián is packing some serious equipment, didn't you?" },
{ speaker: "sergio", text: "*You blush.* Yes, that too. But let's get back on topic. His team is the weak point for corrupting Damián. We need them to win. What do you think?" },
{ speaker: "dem", text: "*Dem's smile disappears, replaced by a calculating expression.* Uhm, let me think..." },
{ speaker: "dem", text: "I've got it! As always, the solution lies in my homeland. Have you heard of the Sacred Band of Thebes?" },
{ speaker: "sergio", text: "No." },
{ speaker: "dem", text: "It was an army in classical Greece whose strength came from being composed of lovers. We could do that with Damián's team. Make them play as one. Unite them, through sex." },
{ speaker: "sergio", text: "He's not going to buy that..." },
{ speaker: "dem", text: "Well, leave that to me. I can generate a website with content so convincing that, at the very least, it'll make him reconsider. You just talk to him and mention it. We'll see how it works." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "You disconnect from the computer.",
action: 'GOTO:habitacionsergio'
}
]
]
});
// Set the variable when dialogue starts
State.variables.webcreada = true;
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="Rellano" />
</div>
Decides comentarle a Damián sobre la web que Dem ha creado.
<center><img src="images/Damian/damianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "damian",
name: "Damián",
portrait: "images/Damian/damian.png",
color: "#ff6b6b",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Oye Damián, estuve en tu último partido." },
{ speaker: "damian", text: "¿Ah sí? No te vi entre el público." },
{ speaker: "sergio", text: "Bueno, estaba un poco alejado. La verdad es que... noté bastante desconexión entre los jugadores del equipo." },
{ speaker: "damian", text: "<em>Suspira</em> Lo sé, tío. Es frustrante. Pero seguiré entrenando más duro, ya verás como mejoramos." },
{ speaker: "sergio", text: "No creo que sea solo cuestión de entrenar más. Al menos, así lo pienso yo." },
{ speaker: "damian", text: "¿A qué te refieres?" },
{ speaker: "sergio", text: "La única forma de ganar partidos es trabajando en equipo de verdad. Como una unidad. Eso lo aprendí de la filosofía de la Grecia antigua." },
{ speaker: "damian", text: "<em>Se muestra interesado</em> ¿Filosofía griega? ¿Qué tiene que ver eso con el baloncesto?" },
{ speaker: "sergio", text: "Mucho más de lo que crees. Mira, he encontrado una web que habla sobre el Batallón Sagrado de Tebas y cómo la conexión entre los soldados los hacía invencibles." },
{ speaker: "damian", text: "Uhm, suena interesante. ¿Me pasas el enlace?" },
{ speaker: "sergio", text: "Claro, te lo envío ahora mismo." },
{ speaker: "damian", text: "Vale, le echaré un vistazo cuando tenga tiempo. Aunque no prometo nada, ¿eh?" }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Despedirte",
action: function() {
State.variables.webcomentada = true;
Engine.play("Rellano del 1º");
}
}
]
]
});
// Establecer marca temporal correctamente
State.variables.damianWebTimestamp = State.variables.hamzaCorrupcionInicio = State.variables.gameTotalMinutes || 0;
console.log("Timestamp establecido para evento web de Damián:", State.variables.damianWebTimestamp);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/rellano1.png" alt="Landing" />
</div>
You decide to tell Damián about the website Dem created.
<center><img src="images/Damian/damianpuerta.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "damian",
name: "Damián",
portrait: "images/Damian/damian.png",
color: "#ff6b6b",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "sergio", text: "Hey Damián, I was at your last game." },
{ speaker: "damian", text: "Really? I didn't see you in the crowd." },
{ speaker: "sergio", text: "Well, I was a bit far away. Truth is... I noticed quite a bit of disconnection between the team players." },
{ speaker: "damian", text: "<em>Sighs</em> I know, man. It's frustrating. But I'll keep training harder, you'll see we'll improve." },
{ speaker: "sergio", text: "I don't think it's just about training more. At least, that's what I think." },
{ speaker: "damian", text: "What do you mean?" },
{ speaker: "sergio", text: "The only way to win games is by truly working as a team. As a unit. I learned that from ancient Greek philosophy." },
{ speaker: "damian", text: "<em>Shows interest</em> Greek philosophy? What does that have to do with basketball?" },
{ speaker: "sergio", text: "Much more than you think. Look, I found a website that talks about the Sacred Band of Thebes and how the connection between soldiers made them invincible." },
{ speaker: "damian", text: "Hmm, sounds interesting. Can you send me the link?" },
{ speaker: "sergio", text: "Sure, I'll send it to you right now." },
{ speaker: "damian", text: "Okay, I'll take a look when I have time. Though I'm not promising anything, okay?" }
],
options: [
[], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Say goodbye",
action: function() {
State.variables.webcomentada = true;
Engine.play("Rellano del 1º");
}
}
]
]
});
// Set temporal mark correctly
State.variables.damianWebTimestamp = State.variables.hamzaCorrupcionInicio = State.variables.gameTotalMinutes || 0;
console.log("Timestamp set for Damián web event:", State.variables.damianWebTimestamp);
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(15)>>
<<set $corrupcionDamian to 10>>
<<set $notaDamian2 to true>>
<<set $notaDamian1 to false>>
<<set $RecuerdoDamian1 = true>>
<<if not $recuerdosDamian>><<set $recuerdosDamian = 0>><</if>>
<<set $recuerdosDamian += 1>>
<<if $idioma is "es">>
<span class="vibrando">El móvil vibra</span> en tu bolsillo de una manera que casi parece que está riendo. Lo agarras de inmediato mientras te diriges a tu habitación. Es Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "¡Lo ha hecho!" },
{ speaker: "sergio", text: "Espera Dem. ¿De qué estás hablando?" },
{ speaker: "dem", text: "De tu vecino alto. El de baloncesto." },
{ speaker: "sergio", text: "¿Damián? ¿Ha entrado en tu web?" },
{ speaker: "dem", text: "¡Y se lo ha tragado todo! Ese chico está desesperado." },
{ speaker: "sergio", text: "Perfecto. Ahora el siguiente paso es organizar..." },
{ speaker: "dem", text: "Espera. Ya ha hecho su primer paso. Ya ha quedado con varios de su equipo en casa de uno de ellos." },
{ speaker: "sergio", text: "¿Para qué?" },
{ speaker: "dem", text: "Para crear vínculos de hermandad, como ha leído en mi web. ¿Quieres verlo?" },
{ speaker: "sergio", text: "¿Lo has grabado? ¿Cómo?" },
{ speaker: "dem", text: "La gente debería tener menos dispositivos inteligentes con cámara en sus domicilios. Mira el vídeo." }
],
options: [
[], [], [], [], [], [], [], [], [], [],
[
{
text: "Continuar",
action: function() {
// Cerrar el diálogo y mostrar el contenido del vídeo
$("#rpg-display").fadeOut(300);
}
}
]
]
});
});
<</script>>
Alejo el móvil de mi oreja y, ya sentado en mi cama, le doy al play del vídeo que Dem me ha enviado. En él se ve un grupo de hombres, de entre la veintena y la treintena. Todos altos. Algunos musculados, otros más delgados y nervudos. Son unos cinco y visten ropa de deporte, como si volvieran de un entrenamiento. Entre ellos destaca Damián. Desde la posición, se les ve sentados en un sofá, mirando hacia un televisor.
<img src="images/Damian/pajagrupal.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;">
Parecen absortos mientras, uno a uno, comienzan a tocarse la entrepierna. Se miran entre ellos, cohibidos, hasta que Damián suelta un "Yo empezaré" y levantándose se desnuda, quitándose el uniforme y mostrando su gran polla. Se coloca en un sillón, delante de la pantalla. El ángulo de la cámara cambia, y muestra de frente el cuerpo escultural de tu vecino, que comienza a acariciarse su polla, que va aumentando de tamaño hasta parecer la de un caballo. Es enorme.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianpaja1.webm" type="video/webm"></video>
Tras un par de minutos, el ángulo de la cámara volvió a cambiar al original, apareciendo el resto de los compañeros de equipo. Estaban también desnudos, y se masturbaban también, fijando sus ojos en la pantalla. O casi siempre, pues a veces pude ver cómo los ojos de los baloncestistas se desviaban a veces hacia los cuerpos desnudos de sus otros compañeros.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/pajagrupo.webm" type="video/webm"></video>
El vídeo fue cambiando, de una cámara a otra. De Damián a sus compañeros hasta que el primero en correrse, uno de los jugadores, delgado y con perilla, eyaculó sobre su pecho desnudo. Luego, uno a uno como en un castillo de naipes, fueron el resto corriéndose, siendo el último Damián.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianpaja2.webm" type="video/webm"></video>
El vídeo acabó entonces. Te lo enviaste a tu correo, para tenerlo en buen recaudo y sonreíste al pensar que quizá, en la carrera para corromper a Damián, quizá también caerían varios de su equipo.
[[Continuar|habitacionsergio]]
<<else>>
<span class="vibrando">The phone vibrates</span> in your pocket in a way that almost seems to be laughing. You grab it immediately as you head to your room. It's Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "He did it!" },
{ speaker: "sergio", text: "Wait, Dem. What are you talking about?" },
{ speaker: "dem", text: "Your tall neighbor. The basketball player." },
{ speaker: "sergio", text: "Damián? Did he visit your website?" },
{ speaker: "dem", text: "And he swallowed it all! That boy is desperate." },
{ speaker: "sergio", text: "Perfect. Now the next step is to organize..." },
{ speaker: "dem", text: "Wait. He's already taken his first step. He's already met with several of his teammates at one of their houses." },
{ speaker: "sergio", text: "For what?" },
{ speaker: "dem", text: "To create bonds of brotherhood, as he read on my website. Do you want to see it?" },
{ speaker: "sergio", text: "You recorded it? How?" },
{ speaker: "dem", text: "People should have fewer smart devices with cameras in their homes. Watch the video." }
],
options: [
[], [], [], [], [], [], [], [], [], [],
[
{
text: "Continue",
action: function() {
// Close dialogue and show video content
$("#rpg-display").fadeOut(300);
}
}
]
]
});
});
<</script>>
I pull the phone away from my ear and, now sitting on my bed, I press play on the video Dem sent me. In it, I see a group of men, between their twenties and thirties. All tall. Some muscular, others slimmer and sinewy. There are about five of them wearing sports clothes, as if returning from training. Among them, Damián stands out. From the position, they can be seen sitting on a sofa, looking at a television.
<img src="images/Damian/pajagrupal.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;">
They seem absorbed while, one by one, they begin to touch their crotches. They look at each other, self-conscious, until Damián says "I'll start" and standing up, he undresses, removing his uniform and showing his big cock. He positions himself in an armchair, in front of the screen. The camera angle changes, showing the sculptural body of your neighbor from the front, who begins to caress his cock, which increases in size until it seems like a horse's. It's enormous.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianpaja1.webm" type="video/webm"></video>
After a couple of minutes, the camera angle changed back to the original, showing the rest of the teammates. They were also naked, and they were also masturbating, fixing their eyes on the screen. Or almost always, because sometimes I could see how the basketball players' eyes sometimes drifted towards the naked bodies of their other teammates.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/pajagrupo.webm" type="video/webm"></video>
The video kept changing, from one camera to another. From Damián to his teammates until the first to cum, one of the players, thin and with a goatee, ejaculated on his bare chest. Then, one by one like a house of cards, the rest came, with Damián being the last.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianpaja2.webm" type="video/webm"></video>
The video ended then. You sent it to your email, to keep it safe, and you smiled thinking that perhaps, in the race to corrupt Damián, perhaps several of his teammates would fall too.
[[Continue|habitacionsergio]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Damian/damian.png" alt="Damián">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Damián</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosDamian>></strong> recuerdo<<if $recuerdosDamian > 1>>s<</if>> especial<<if $recuerdosDamian > 1>>es<</if>> con Damián.
</p>
<<else>>
<div class="header-image">
<img src="images/Damian/damian.png" alt="Damián">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Damián</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosDamian>></strong> special memor<<if $recuerdosDamian > 1>>ies<<else>>y<</if>> with Damián.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoDamian1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Lo que sabían los griegos</h3>
<p>Enseñas a Damián una nueva dinámica de equipo.</p>
<<else>>
<h3>Memory 1: What the Greeks Knew</h3>
<p>You teach Damián a new team dynamic.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoDamian1">><</link>>
<<else>>
<<link "View →" "RecuerdoDamian1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoDamian2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Tensión en la cancha</h3>
<p>Damián soluciona sus problemas con su compañero de equipo.</p>
<<else>>
<h3>Memory 2: Tension on the Court</h3>
<p>Damián solves his problems with his teammate.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoDamian2">><</link>>
<<else>>
<<link "View →" "RecuerdoDamian2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoDamian3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoDamian3">><</link>>
<<else>>
<<link "View →" "RecuerdoDamian3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoDamian4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoDamian4">><</link>>
<<else>>
<<link "View →" "RecuerdoDamian4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoDamian5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Damián...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Damián...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoDamian5">><</link>>
<<else>>
<<link "View →" "RecuerdoDamian5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: Lo que sabían los griegos</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras usar la app de Visión sexual, consigues descubrir que el equipo de baloncesto del que es capitán Damián no está en su mejor momento, perdiendo todos los últimos partidos y afectando a la posibilidad de ascender de categoría. Pidiéndome consejo, te di una idea que, no es por vanagloriarme, pero era genial. Mostrarle a Damián los beneficios de la unión entre dos hombres como lo entendían los antiguos griegos.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Le convenciste de que buscara información sobre el tema en una web que yo preparé para ese fin. Créeme que puedo ser muy convincente. Podemos decir que casi hice yo todo el trabajo pues, tras pasar un día, te llamé para decirte que Damián había accedido a la web y se había empapado de esa antigua filosofía. Luego te envié un vídeo donde se veía a él junto con otros compañeros de equipo en casa de alguno de ellos.
</p>
<center><img src="images/Damian/pajagrupal.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Gracias a mis magníficas habilidades, había podido hackear las cámaras de la casa. De ese modo pudiste ver cómo Damián, el capitán del equipo, se desnudaba y comenzaba a pajearse.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianpaja1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pronto le siguieron sus otros compañeros, que aunque fijaban sus ojos en la película porno que tenían en la tele, a veces desviaban la mirada hacia las pollas de los otros.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/pajagrupo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al final se corrieron todos, creando una experiencia comunal que los uniría. Cohesionando el equipo. Deberías pedirme más veces ayuda.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianpaja2.webm" type="video/webm"></video></center>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: What the Greeks Knew</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After using the Sexual Vision app, you manage to discover that the basketball team Damián captains is not at its best, losing all their recent games and affecting their chances of moving up a category. Asking me for advice, I gave you an idea that, not to brag, but it was brilliant. Show Damián the benefits of the union between two men as the ancient Greeks understood it.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You convinced him to search for information on the subject on a website I prepared for that purpose. Believe me, I can be very convincing. We can say I did almost all the work because, after a day passed, I called you to tell you that Damián had accessed the website and had soaked up that ancient philosophy. Then I sent you a video where you could see him along with other teammates at one of their houses.
</p>
<center><img src="images/Damian/pajagrupal.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Thanks to my magnificent skills, I had been able to hack the house's cameras. That way you could see how Damián, the team captain, undressed and began to jerk off.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianpaja1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Soon his other teammates followed, and although they fixed their eyes on the porn movie they had on TV, they sometimes diverted their gaze towards the others' cocks.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/pajagrupo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
In the end they all came, creating a communal experience that would unite them. Bringing the team together. You should ask me for help more often.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianpaja2.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Damián" "RecuerdosDamian">><</link>>
<<else>>
<<link "⬅️ Back to Damián's Memories" "RecuerdosDamian">><</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
Te incorporas en la silla, como si fueras a realizar algún trabajo importante ante el ordenador, aunque lo que vas a hacer es planear el siguiente paso hacia el sexo gay para tu vecino.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Me alegro de verte de nuevo frente a tu gran amigo Dem." },
{ speaker: "sergio", text: "Quiero hablar contigo sobre la ruta de corrupción de Damián." },
{ speaker: "dem", text: "Claro ¿Qué necesitas? Recuerda que yo puedo ayudarte, pero las decisiones deben de ser tuyas. Son tus objetivos, no los míos." },
{ speaker: "sergio", text: "Lo sé. Tengo una idea, pero quiero saber si ha funcionado lo que hicimos con todo eso del tema griego. ¿Ganaron el último partido?" },
{ speaker: "dem", text: "<em>Te sonríe</em> Sí. Y el mismo Damián ha escrito al creador de la web, o sea yo, para agradecerle su 'Gran labor divulgativa'. Parece que ha generado mayor confianza entre ellos en el equipo." },
{ speaker: "sergio", text: "Perfecto. Entonces quiero seguir por ahí. Debe de haber algún jugador que tenga algún secreto que podamos usar. Algo que podamos mostrárselo a Damián para que intente solucionarlo de un modo más... más sexual." },
{ speaker: "dem", text: "Vale, podría funcionar. ¿Qué necesitas?" },
{ speaker: "sergio", text: "Busca en los ordenadores y móviles del resto de jugadores de su equipo. En su historial, en sus correos, en sus aplicaciones. Alguna cosa que podamos usar. Debe de haber un jugador que no soporte a su capitán." },
{ speaker: "dem", text: "Ok. Te diré algo cuando lo tenga. No creo que tarde más de una hora." },
{ speaker: "sergio", text: "Ok. Gracias Dem." }
],
options: [
[], [], [], [], [], [], [], [], [],
[
{
text: "Te desconectas del ordenador.",
action: function() {
State.variables.buscarpruebasequipodamian = true;
State.variables.buscarpruebasTimestamp = State.variables.gameTotalMinutes || 0;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
You sit up in your chair, as if you were about to do some important work on the computer, although what you're actually going to do is plan the next step towards gay sex for your neighbor.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Glad to see you again in front of your great friend Dem." },
{ speaker: "sergio", text: "I want to talk to you about Damián's corruption route." },
{ speaker: "dem", text: "Sure, what do you need? Remember that I can help you, but the decisions must be yours. They're your goals, not mine." },
{ speaker: "sergio", text: "I know. I have an idea, but I want to know if what we did with all that Greek stuff worked. Did they win the last game?" },
{ speaker: "dem", text: "<em>Smiles at you</em> Yes. And Damián himself has written to the website creator, that is, me, to thank him for his 'Great educational work'. It seems to have generated greater trust among them on the team." },
{ speaker: "sergio", text: "Perfect. Then I want to continue down that path. There must be some player who has some secret we can use. Something we can show Damián so he tries to solve it in a more... more sexual way." },
{ speaker: "dem", text: "Okay, that could work. What do you need?" },
{ speaker: "sergio", text: "Search the computers and phones of the rest of the players on his team. In their history, in their emails, in their apps. Something we can use. There must be a player who can't stand his captain." },
{ speaker: "dem", text: "Okay. I'll tell you something when I have it. I don't think it'll take more than an hour." },
{ speaker: "sergio", text: "Okay. Thanks Dem." }
],
options: [
[], [], [], [], [], [], [], [], [],
[
{
text: "You disconnect from the computer.",
action: function() {
State.variables.buscarpruebasequipodamian = true;
State.variables.buscarpruebasTimestamp = State.variables.gameTotalMinutes || 0;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
Notas en tu bolsillo la vibración de tu móvil. Es Dem, con nuevas noticias. Al abrir el móvil, lo primero que ves es un archivo enviado que se abre inmediatamente. En él posa un atractivo jugador de baloncesto con el uniforme del equipo de Damián.
<center><img src="images/Damian/jaimebaloncesto.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "¡Lo tengo!" },
{ speaker: "sergio", text: "¿Has encontrado algún jugador con problemas con Damián?" },
{ speaker: "dem", text: "Sí. Se llama Jaime Moreno, de 25 años. Según sus mensajes no soporta a su capitán. Eso hace que las tácticas que planea su entrenador no suelen funcionar si ambos están en la cancha, a pesar de que son dos buenos jugadores." },
{ speaker: "sergio", text: "¿Y el entrenador no hace nada para solucionarlo?" },
{ speaker: "dem", text: "El entrenador es el padre de Jaime. Y Damián es su mejor jugador así que lo que suele hacer es que nunca juegan a la vez. Cuando entra uno al campo, sale el otro. Pero eso no es lo mejor que he encontrado. Lo más importante es tan jugoso..." },
{ speaker: "sergio", text: "No te hagas el interesante y cuéntamelo" },
{ speaker: "dem", text: "Es gay. Tiene una aplicación de citas en la que queda a escondidas de todo el mundo, pero a ese jugador de baloncesto le gustan las pollas." },
{ speaker: "sergio", text: "Eso es perfecto. Nos lo pone más fácil. Hay que conseguir que esos dos solucionen sus problemas a base de polvos. ¿Puedes conseguir que Damián invite a Jaime a su casa?" },
{ speaker: "dem", text: "Puedo crear una entrada nueva en mi web sobre cómo resolver los problemas de comunicación personales entre dos miembros de un equipo. No sé si llegará a tanto como a follar con Jaime, pero como mínimo hablará con él. Pero tú tienes que hacer también tu parte." },
{ speaker: "sergio", text: "¿Qué tengo que hacer?" },
{ speaker: "dem", text: "Debes asegurarte que mi esfuerzo por juntar a esos dos llega a la intimidad. No tengo cámaras dentro de la casa. Deberás colarte de alguna manera." },
{ speaker: "sergio", text: "¿Colarme?, ¿Cómo?" },
{ speaker: "dem", text: "Eso ya es cosa tuya. No pueden relacionarte así que invéntate algún personaje. Algún visitante al que le abran la puerta y le dejen solo el tiempo suficiente para que puedas escabullirte." },
{ speaker: "dem", text: "Ah, y una cosa más. He revisado los horarios de Jaime. Entre semana suele pasarse por casa de Damián a partir de las 21:30. Los fines de semana hay dos franjas: de 18:00 a 21:00. Esos son tus momentos." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: "Te desconectas del ordenador.",
action: function() {
State.variables.Semblantefumigador = true;
if (State.history && State.history.length >= 3) {
const targetPassage = State.history[State.history.length - 3].title;
Engine.play(targetPassage);
} else {
Engine.play("habitacionsergio");
}
}
}
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
You feel your phone vibrate in your pocket. It's Dem, with new information. When you open your phone, the first thing you see is a sent file that opens immediately. In it poses an attractive basketball player wearing Damián's team uniform.
<center><img src="images/Damian/jaimebaloncesto.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "dem", text: "I got it!" },
{ speaker: "sergio", text: "Did you find any player with problems with Damián?" },
{ speaker: "dem", text: "Yes. His name is Jaime Moreno, 25 years old. According to his messages, he can\'t stand his captain. That makes the tactics his coach plans usually not work if both are on the court, even though they\'re both good players." },
{ speaker: "sergio", text: "And the coach doesn\'t do anything to fix it?" },
{ speaker: "dem", text: "The coach is Jaime\'s father. And Damián is his best player, so what he usually does is they never play at the same time. When one enters the field, the other leaves. But that\'s not the best thing I found. The most important thing is so juicy..." },
{ speaker: "sergio", text: "Don\'t play hard to get and tell me" },
{ speaker: "dem", text: "He\'s gay. He has a dating app where he meets in secret from everyone, but this basketball player likes cocks." },
{ speaker: "sergio", text: "That\'s perfect. It makes it easier for us. We need to get those two to solve their problems by fucking. Can you get Damián to invite Jaime to his house?" },
{ speaker: "dem", text: "I can create a new entry on my website about how to resolve personal communication problems between two team members. I don\'t know if it will go as far as fucking Jaime, but at least he\'ll talk to him. But you have to do your part too." },
{ speaker: "sergio", text: "What do I have to do?" },
{ speaker: "dem", text: "You must make sure that my effort to bring those two together reaches intimacy. I don\'t have cameras inside the house. You\'ll have to sneak in somehow." },
{ speaker: "sergio", text: "Sneak in? How?" },
{ speaker: "dem", text: "That\'s up to you. They can\'t connect you, so make up some character. Some visitor who they open the door for and leave alone long enough for you to slip away." },
{ speaker: "dem", text: "One more thing. I checked Jaime\'s schedule. On weekdays he usually shows up at Damián\'s from 21:30 onwards. On weekends there are two windows: 18:00 to 21:00. Those are your moments." }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{
text: "You disconnect from the computer.",
action: function() {
State.variables.Semblantefumigador = true;
if (State.history && State.history.length >= 3) {
const targetPassage = State.history[State.history.length - 3].title;
Engine.play(targetPassage);
} else {
Engine.play("habitacionsergio");
}
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1A.png" alt="Recibidor" />
</div>
El recibidor de tus vecinos de abajo mantiene un equilibrio de estilo europeo mezclado con el caribeño. Todo está impoluto y tiene cierto aire acogedor y de hogar. Todo lo contrario de lo que transmite la familia Rodríguez Cabrera.
[[Ir a la habitación de Alex|habitacionalex]]
[[Ir al salón|salon1A]]
[[Ir a la habitación de matrimonio|habitacionmatrimonio1A]]
[[Ir al baño|baño1A]]
[[Ir a la cocina|cocina1A]]
[[Ir a la habitación de Damián|habitaciondamian]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1A.png" alt="Hallway" />
</div>
The hallway of your downstairs neighbors maintains a balance of European style mixed with Caribbean flair. Everything is spotless and has a certain cozy, homey feel. The complete opposite of what the Rodríguez Cabrera family conveys.
[[Go to Alex's room|habitacionalex]]
[[Go to the living room|salon1A]]
[[Go to the master bedroom|habitacionmatrimonio1A]]
[[Go to the bathroom|baño1A]]
[[Go to kitchen|cocina1A]]
[[Go to Damián's room|habitaciondamian]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.entrasnencasafumigador === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 23) {
console.log("⏰ Son las 23:00 - Ernesto te echa de la casa");
Engine.play("echanfumigador");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
El baño del 1A es espacioso y está decorado con azulejos de tonos azules y blancos que recuerdan al mar Caribe. Un espejo enmarcado con conchas marinas cuelga sobre el lavabo, y varias toallas de colores vivos están perfectamente dobladas sobre el toallero. El aroma a jabón de coco flota en el aire, y todo está impecablemente limpio, como si cada superficie hubiera sido pulida recientemente. En esta casa de médicos se valora la limpieza y la desinfección.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _damianPresent to false>><<set _ernestoPresent to false>><<set _alexPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 6.25 and _currentTime < 6.75)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8.5 and _currentTime < 9)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9 and _currentTime < 9.5)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 7.5)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 11.5 and _currentTime < 12)>>\
<<set _alexPresent to true>>\
<</if>>\
\
<<if _damianPresent>>\
<<run setup.registerCharactersInLocation(['Damian'])>>\
<<set _charactersPresent.push('Damian')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Damián se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Damianducha')>><</link>>
<</if>>
<<elseif _ernestoPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto'])>>\
<<set _charactersPresent.push('Ernesto')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Ernesto se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Ernestoducha')>><</link>>
<</if>>
<<elseif _alexPresent>>\
<<run setup.registerCharactersInLocation(['Alex'])>>\
<<set _charactersPresent.push('Alex')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Alex se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Alexducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloernesto isnot true>>>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloernesto')>><</link>>
<</if>>
[[Ir a la habitación de Alex|habitacionalex]]
[[Ir al recibidor|recibidor1A]]
[[Ir a la cocina|cocina1A]]
[[Ir al salón|salon1A]]
[[Ir a la habitación de matrimonio|habitacionmatrimonio1A]]
[[Ir a la habitación de Damián|habitaciondamian]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
The 1A bathroom is spacious and decorated with blue and white tiles reminiscent of the Caribbean Sea. A mirror framed with seashells hangs above the sink, and several brightly colored towels are perfectly folded on the towel rack. The scent of coconut soap floats in the air, and everything is impeccably clean, as if every surface had been recently polished. In this doctors' house, cleanliness and disinfection are valued.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _damianPresent to false>><<set _ernestoPresent to false>><<set _alexPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 6.25 and _currentTime < 6.75)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8.5 and _currentTime < 9)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9 and _currentTime < 9.5)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 7.5)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 11.5 and _currentTime < 12)>>\
<<set _alexPresent to true>>\
<</if>>\
\
<<if _damianPresent>>\
<<run setup.registerCharactersInLocation(['Damian'])>>\
<<set _charactersPresent.push('Damian')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Damián is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Damianducha')>><</link>>
<</if>>
<<elseif _ernestoPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto'])>>\
<<set _charactersPresent.push('Ernesto')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Ernesto is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Ernestoducha')>><</link>>
<</if>>
<<elseif _alexPresent>>\
<<run setup.registerCharactersInLocation(['Alex'])>>\
<<set _charactersPresent.push('Alex')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Alex is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Alexducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloernesto isnot true>>>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloernesto')>><</link>>
<</if>>
[[Go to Alex's room|habitacionalex]]
[[Go to the hallway|recibidor1A]]
[[Go to the kitchen|cocina1A]]
[[Go to the living room|salon1A]]
[[Go to the master bedroom|habitacionmatrimonio1A]]
[[Go to Damián's room|habitaciondamian]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.entrasnencasafumigador === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 23) {
Engine.play("echanfumigador");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
El salón del 1A es colorido y luminoso. Un gran cuadro de una playa de Cuba domina la estancia, mientras las plantas dan un toque selvático a la habitación. En una esquina, platos y copas que parece que tienen casi 100 años, están protegidos por una vitrina, a la espera de ser usados en una ocasión especial que no llegará jamás.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _ernestoPresent to false>><<set _carmenPresent to false>><<set _damianPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 20.5)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 20)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21.5 and _currentTime < 24)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 21 and _currentTime < 24)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21.5 and _currentTime < 24)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 21 and _currentTime < 24)>>\
<<set _damianPresent to true>>\
<</if>>\
\
<<if $RecuerdoErnesto1 is not true>>\
<<if (_currentTime >= 15 and _currentTime < 17)>>\
<<set _carmenPresent to true>>\
<</if>>\
<<if (_currentTime >= 20.5 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<</if>>\
<</if>>\
\
<<if (_currentTime >= 20.5 and _currentTime < 21.5)>>\
<<if _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>\
La familia está cenando junta en el salón. Ernesto, Carmen y Damián comen en silencio, la conversación es escasa y forzada. [[Observarlos|CenaFamiliar1A]]
<<set _charactersPresent.push('Ernesto', 'Carmen', 'Damian')>>\
<<else>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>\
Ernesto y Damián están cenando juntos. La conversación es limitada pero no hostil. [[Observarlos|ErnestoDamianCenan]]
<<set _charactersPresent.push('Ernesto', 'Damian')>>\
<</if>>\
<<elseif _ernestoPresent and _carmenPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>\
Ernesto, Carmen y Damián están en el salón viendo la televisión. Cada uno ocupa un espacio distinto, la distancia entre ellos es palpable. [[Observarlos|FamiliaViendoTele1A]]
<<set _charactersPresent.push('Ernesto', 'Carmen', 'Damian')>>\
<<elseif _ernestoPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>\
Ernesto y Damián están viendo la televisión juntos en el sofá. El ambiente es tranquilo. [[Observarlos|ErnestoDamianSalon]]
<<set _charactersPresent.push('Ernesto', 'Damian')>>\
<<elseif _ernestoPresent and _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>\
Ernesto y Carmen están en el salón viendo la televisión, pero sentados en extremos opuestos del sofá. El silencio entre ellos es incómodo y apenas se dirigen la palabra. [[Observarlos|ErnestoCarmenSalon]]
<<set _charactersPresent.push('Ernesto', 'Carmen')>>\
<<elseif _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Carmen'])>>\
Carmen está sola en el sofá viendo la televisión, disfrutando de un momento de paz sin su esposo. Parece más relajada de lo habitual. [[Acercarte|Carmensolosalon]]
<<set _charactersPresent.push('Carmen')>>\
<<elseif _ernestoPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto'])>>\
Ernesto está en el sofá viendo la televisión, relajándose después del día. [[Acercarte|Ernestosolosalon]]
<<set _charactersPresent.push('Ernesto')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de Alex|habitacionalex]]
[[Ir al recibidor|recibidor1A]]
[[Ir a la cocina|cocina1A]]
[[Ir a la habitación de matrimonio|habitacionmatrimonio1A]]
[[Ir al baño|baño1A]]
[[Ir a la habitación de Damián|habitaciondamian]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
The 1A living room is colorful and bright. A large painting of a Cuban beach dominates the space, while plants give the room a wild, jungle-like touch. In one corner, plates and glasses that look nearly 100 years old are protected by a display cabinet, waiting to be used for a special occasion that will never come.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _ernestoPresent to false>><<set _carmenPresent to false>><<set _damianPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 20.5)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 20)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21.5 and _currentTime < 24)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 21 and _currentTime < 24)>>\
<<set _ernestoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21.5 and _currentTime < 24)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 21 and _currentTime < 24)>>\
<<set _damianPresent to true>>\
<</if>>\
\
<<if $RecuerdoErnesto1 is not true>>\
<<if (_currentTime >= 15 and _currentTime < 17)>>\
<<set _carmenPresent to true>>\
<</if>>\
<<if (_currentTime >= 20.5 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<</if>>\
<</if>>\
\
<<if (_currentTime >= 20.5 and _currentTime < 21.5)>>\
<<if _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>\
The family is having dinner together in the living room. Ernesto, Carmen and Damián eat in silence, conversation is scarce and forced. [[Watch them|CenaFamiliar1A]]
<<set _charactersPresent.push('Ernesto', 'Carmen', 'Damian')>>\
<<else>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>\
Ernesto and Damián are having dinner together. The conversation is limited but not hostile. [[Watch them|ErnestoDamianCenan]]
<<set _charactersPresent.push('Ernesto', 'Damian')>>\
<</if>>\
<<elseif _ernestoPresent and _carmenPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>\
Ernesto, Carmen and Damián are in the living room watching television. Each occupies a different space, the distance between them is palpable. [[Watch them|FamiliaViendoTele1A]]
<<set _charactersPresent.push('Ernesto', 'Carmen', 'Damian')>>\
<<elseif _ernestoPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>\
Ernesto and Damián are watching television together on the couch. The atmosphere is calm. [[Watch them|ErnestoDamianSalon]]
<<set _charactersPresent.push('Ernesto', 'Damian')>>\
<<elseif _ernestoPresent and _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>\
Ernesto and Carmen are in the living room watching television, but sitting at opposite ends of the couch. The silence between them is uncomfortable and they barely speak to each other. [[Watch them|ErnestoCarmenSalon]]
<<set _charactersPresent.push('Ernesto', 'Carmen')>>\
<<elseif _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Carmen'])>>\
Carmen is alone on the couch watching television, enjoying a moment of peace without her husband. She seems more relaxed than usual. [[Approach her|Carmensolosalon]]
<<set _charactersPresent.push('Carmen')>>\
<<elseif _ernestoPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto'])>>\
Ernesto is on the couch watching television, relaxing after the day. [[Approach him|Ernestosolosalon]]
<<set _charactersPresent.push('Ernesto')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to Alex's room|habitacionalex]]
[[Go to the hallway|recibidor1A]]
[[Go to the kitchen|cocina1A]]
[[Go to the master bedroom|habitacionmatrimonio1A]]
[[Go to the bathroom|baño1A]]
[[Go to Damián's room|habitaciondamian]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
// Si forma fantasmal está activa, no hay descubrimiento
if (State.variables.formaFantasmalActiva === true) {
console.log("👻 Forma fantasmal activa - sin descubrimiento");
return;
}
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) {
console.log("✅ No hay personajes presentes - navegación libre");
return;
}
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
console.log("⚠️ Te van a descubrir - redirigiendo a:", discoveryPassage);
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
} else {
console.log("✅ Semblante válido - " + currentSemblante.name);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.entrasnencasafumigador === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 23) {
console.log("⏰ Son las 23:00 - Ernesto te echa de la casa");
Engine.play("echanfumigador");
}
}
}, 50);
<</script>> <<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Nada más entrar, el cuadro de la boda entre un joven Ernesto y una guapísima Carmen domina la estancia. Es una muestra de la hipocresía de esa pareja. Una cama grande para que, si lo desean, no se encuentren por la noche. Un gran armario repleto de trajes caros como regalos para apaciguar a una mujer abandonada. Por mucha luz que entre por el ventanal, el cuarto te transmite inquietud.
<<if $ernestoEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('ernestopajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _ernestoPresent to false>><<set _carmenPresent to false>>\
\
<<if (_currentTime >= 0 and _currentTime < 7) or (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _ernestoPresent to true>>\
<</if>>\
\
<<if $RecuerdoErnesto1 is not true>>\
<<if (_currentTime >= 0 and _currentTime < 7)>>\
<<set _carmenPresent to true>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<<elseif (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<<elseif (_currentTime >= 21 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<</if>>\
<</if>>\
\
<<if _ernestoPresent and _carmenPresent>>\
<<if (_currentTime >= 0 and _currentTime < 7)>>\
Ernesto y Carmen están durmiendo en la misma cama, pero notablemente separados. Cada uno ocupa un extremo del colchón, dándose la espalda. [[Observarlos|ErnestoCarmenDurmiendo]]
<<set _charactersPresent.push('Ernesto', 'Carmen')>>\
<<else>>\
Ernesto y Carmen están viendo la televisión sentados en la cama, pero en extremos opuestos. El ambiente es tenso y apenas se hablan. [[Observarlos|ErnestoCarmenViendoTele]]
<<set _charactersPresent.push('Ernesto', 'Carmen')>>\
<</if>>\
<<elseif _ernestoPresent>>\
<<if (_currentTime >= 0 and _currentTime < 7)>>\
Ernesto está durmiendo solo en la enorme cama matrimonial, ocupando apenas una parte del colchón. [[Observarlo|ErnestoDurmiendoSolo]]
<<set _charactersPresent.push('Ernesto')>>\
<<else>>\
Ernesto está solo viendo la televisión desde la cama, disfrutando del espacio sin Carmen. [[Acercarte|ErnestoSoloHabitacion]]
<<set _charactersPresent.push('Ernesto')>>\
<</if>>\
<<elseif _carmenPresent>>\
Carmen está sola en la habitación viendo la televisión desde la cama, disfrutando de su tiempo sin Ernesto. [[Acercarte|CarmenSolaHabitacion]]
<<set _charactersPresent.push('Carmen')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<</if>>
[[Ir a la habitación de Alex|habitacionalex]]
[[Ir al recibidor|recibidor1A]]
[[Ir a la cocina|cocina1A]]
[[Ir al salón|salon1A]]
[[Ir al baño|baño1A]]
[[Ir a la habitación de Damián|habitaciondamian]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Upon entering, the wedding portrait of a young Ernesto and a beautiful Carmen dominates the room. It's a display of that couple's hypocrisy. A large bed so that, if they wish, they won't find each other at night. A huge wardrobe full of expensive suits as gifts to appease an abandoned woman. No matter how much light enters through the window, the room transmits unease.
<<if $ernestoEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('ernestopajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _ernestoPresent to false>><<set _carmenPresent to false>>\
\
<<if (_currentTime >= 0 and _currentTime < 7) or (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _ernestoPresent to true>>\
<</if>>\
\
<<if $RecuerdoErnesto1 is not true>>\
<<if (_currentTime >= 0 and _currentTime < 7)>>\
<<set _carmenPresent to true>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<<elseif (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<<elseif (_currentTime >= 21 and _currentTime < 24)>>\
<<set _carmenPresent to true>>\
<</if>>\
<</if>>\
\
<<if _ernestoPresent and _carmenPresent>>\
<<if (_currentTime >= 0 and _currentTime < 7)>>\
Ernesto and Carmen are sleeping in the same bed, but noticeably separated. Each occupies one end of the mattress, with their backs to each other. [[Watch them|ErnestoCarmenDurmiendo]]
<<set _charactersPresent.push('Ernesto', 'Carmen')>>\
<<else>>\
Ernesto and Carmen are watching television sitting on the bed, but at opposite ends. The atmosphere is tense and they barely speak to each other. [[Watch them|ErnestoCarmenViendoTele]]
<<set _charactersPresent.push('Ernesto', 'Carmen')>>\
<</if>>\
<<elseif _ernestoPresent>>\
<<if (_currentTime >= 0 and _currentTime < 7)>>\
Ernesto is sleeping alone in the huge marital bed, barely occupying part of the mattress. [[Watch him|ErnestoDurmiendoSolo]]
<<set _charactersPresent.push('Ernesto')>>\
<<else>>\
Ernesto is alone watching television from the bed, enjoying the space without Carmen. [[Approach him|ErnestoSoloHabitacion]]
<<set _charactersPresent.push('Ernesto')>>\
<</if>>\
<<elseif _carmenPresent>>\
Carmen is alone in the room watching television from the bed, enjoying her time without Ernesto. [[Approach her|CarmenSolaHabitacion]]
<<set _charactersPresent.push('Carmen')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<</if>>
[[Go to Alex's room|habitacionalex]]
[[Go to the hallway|recibidor1A]]
[[Go to the kitchen|cocina1A]]
[[Go to the living room|salon1A]]
[[Go to the bathroom|baño1A]]
[[Go to Damián's room|habitaciondamian]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.ernestoEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.ernestoEnCuarto === true) return;
if (State.variables.entrasnencasafumigador === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 23) {
Engine.play("echanfumigador");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $damianExcitadoDestino to "habitaciondamian">>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
Esta es la habitación de alguien obsesionado con el baloncesto. Varios pósters de jugadores famosos adornan la pared. Distintas zapatillas de deporte yacen por todo el suelo. Trofeos y medallas deportivas desbordan una estantería. Es la habitación de Damián.
<<if $damianEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('damianpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 0 and _currentTime < 6.5) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 8)>>\
Damián está profundamente dormido en su cama, su respiración es tranquila y profunda. [[Observarlo|DamianDurmiendo]]
<<set _charactersPresent.push('Damian')>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21.5 and _currentTime < 24) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 20) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 21 and _currentTime < 24)>>\
<<if $notaDamian2 is true>>\
Damián está en su cama junto a Jaime Moreno. Hay una tensión evidente entre ellos mientras comparten el espacio. [[Observarlos|DamianConJaime]]
<<set _charactersPresent.push('Damian')>>\
<<else>>\
Damián está descansando en su cama, relajado después del día. [[Acercarte|DamianDescansando]]
<<set _charactersPresent.push('Damian')>>\
<</if>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillodamian isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillodamian')>><</link>>
<</if>>
<</if>>
[[Ir a la habitación de Alex|habitacionalex]]
[[Ir al recibidor|recibidor1A]]
[[Ir a la cocina|cocina1A]]
[[Ir al salón|salon1A]]
[[Ir a la habitación de matrimonio|habitacionmatrimonio1A]]
[[Ir al baño|baño1A]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $damianExcitadoDestino to "habitaciondamian">>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
This is the room of someone obsessed with basketball. Several posters of famous players adorn the wall. Different sports shoes lie scattered across the floor. Trophies and sports medals overflow from a shelf. This is Damián's room.
<<if $damianEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('damianpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 0 and _currentTime < 6.5) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 8)>>\
Damián is sound asleep in his bed, his breathing calm and deep. [[Watch him|DamianDurmiendo]]
<<set _charactersPresent.push('Damian')>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21.5 and _currentTime < 24) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 18 and _currentTime < 20) or (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 21 and _currentTime < 24)>>\
<<if $notaDamian2 is true>>\
Damián is on his bed with Jaime Moreno. There's an evident tension between them as they share the space. [[Watch them|DamianConJaime]]
<<set _charactersPresent.push('Damian')>>\
<<else>>\
Damián is resting on his bed, relaxed after the day. [[Approach him|DamianDescansando]]
<<set _charactersPresent.push('Damian')>>\
<</if>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillodamian isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillodamian')>><</link>>
<</if>>
<</if>>
[[Go to Alex's room|habitacionalex]]
[[Go to the hallway|recibidor1A]]
[[Go to the kitchen|cocina1A]]
[[Go to the living room|salon1A]]
[[Go to the master bedroom|habitacionmatrimonio1A]]
[[Go to the bathroom|baño1A]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.damianEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.damianEnCuarto === true) return;
if (State.variables.entrasnencasafumigador === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 23) {
Engine.play("echanfumigador");
}
}
}, 50);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<<set $alexExcitadoDestino to "habitacionalex">>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Habitación de Alex" />
</div>
El olor fuerte a cigarro, marihuana y hombre impregna tanto la oscura habitación que notas casi como si pudieras tocarlo. El cuarto no está limpio ni ordenado, y sientes lástima por lo que Ernesto y Carmen han tenido y tienen que pasar con su hijo menor. Claramente esta habitación es la de Alex.
<<if $alexEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('alexpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 1 and _currentTime < 2)>>\
Alex está en su cama viendo porno en su móvil, con la mano en la entrepierna. [[Acercarte|alexpajacuarto]]
<<set _charactersPresent.push('Alex')>>\
<<elseif (_currentTime >= 2 and _currentTime < 12)>>\
Alex está profundamente dormido en su cama, roncando ruidosamente. [[Observarlo|AlexDurmiendo]]
<<set _charactersPresent.push('Alex')>>\
<<elseif (_currentTime >= 13 and _currentTime < 18)>>\
Alex está fumando un porro en su cama, totalmente en su mundo. [[Acercarte|AlexFumando]]
<<set _charactersPresent.push('Alex')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloalex isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloalex')>><</link>>
<</if>>
<</if>>
[[Ir a la habitación de Damián|habitaciondamian]]
[[Ir al recibidor|recibidor1A]]
[[Ir a la cocina|cocina1A]]
[[Ir al salón|salon1A]]
[[Ir a la habitación de matrimonio|habitacionmatrimonio1A]]
[[Ir al baño|baño1A]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<<set $alexExcitadoDestino to "habitacionalex">>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Alex's room" />
</div>
The strong smell of cigarettes, marijuana and man permeates the dark room so much that you feel like you could almost touch it. The room is neither clean nor tidy, and you feel pity for what Ernesto and Carmen have had and still have to endure with their youngest son. This is clearly Alex's room.
<<if $alexEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('alexpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 1 and _currentTime < 2)>>\
Alex is on his bed watching porn on his phone, with his hand on his crotch. [[Approach him|alexpajacuarto]]
<<set _charactersPresent.push('Alex')>>\
<<elseif (_currentTime >= 2 and _currentTime < 12)>>\
Alex is sound asleep in his bed, snoring loudly. [[Watch him|AlexDurmiendo]]
<<set _charactersPresent.push('Alex')>>\
<<elseif (_currentTime >= 13 and _currentTime < 18)>>\
Alex is smoking a joint on his bed, totally in his own world. [[Approach him|AlexFumando]]
<<set _charactersPresent.push('Alex')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloalex isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloalex')>><</link>>
<</if>>
<</if>>
[[Go to Damián's room|habitaciondamian]]
[[Go to the hallway|recibidor1A]]
[[Go to the kitchen|cocina1A]]
[[Go to the living room|salon1A]]
[[Go to the master bedroom|habitacionmatrimonio1A]]
[[Go to the bathroom|baño1A]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.alexEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Habitación de Alex" />
</div>
Es extraño estar en la misma localización que Alex y no sentir ni su cara de desprecio ni ninguno de sus insultos, pero así es. Está durmiendo, y casi parece un angelito.
<center><img src="images/Alex/alexdurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Alex jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaraalex')>><</link>>
<</if>>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Alex's room" />
</div>
It's strange to be in the same location as Alex and not feel either his contemptuous face or any of his insults, but that's how it is. He's sleeping, and he almost looks like a little angel.
<center><img src="images/Alex/alexdurmiendo.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghostly form grants you a freedom that Alex would never consciously approve of....</p>
<<link "👻 Finish in his face">><<run Engine.play('corrersecaraalex')>><</link>>
<</if>>
[[Leave the room|recibidor1A]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $alexExcitadoDestino to "alexpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Habitación de Alex" />
</div>
Sentado en el suelo y apoyada su espalda sobre su cama, Alex se fuma algo que, por el olor, no está muy claro que sea un cigarro normal. El humo invade la estancia y al momento te sientes mareado. No parece percatarse de tu presencia.
<center><img src="images/Alex/alexfumando.png" width="500"></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $alexExcitadoDestino to "habitacionalex">>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Alex's room" />
</div>
Sitting on the floor with his back against his bed, Alex is smoking something that, judging by the smell, isn't clearly a normal cigarette. The smoke fills the room and you immediately feel dizzy. He doesn't seem to notice your presence.
<center><img src="images/Alex/alexfumando.png" width="500"></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var currentSemblante = State.variables.currentSemblanteActive;
if (!currentSemblante ||
(currentSemblante.name !== "Exterminador de plagas" &&
currentSemblante.nameEn !== "Pest Exterminator")) {
setTimeout(function() {
Engine.play("alextedescubre");
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
El jugador de baloncesto descansa tras un día duro de entrenamiento. Su respiración es calmada. Duerme profundamente.
<center><img src="images/Damian/damiandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Damián jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaradamian')>><</link>>
<</if>>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
The basketball player rests after a hard day of training. His breathing is calm. He sleeps deeply.
<center><img src="images/Damian/damiandurmiendo.png" width="400"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Damián would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecaradamian')>><</link>>
<</if>>
[[Step away|recibidor1A]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to "damianpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
Parece que no todo es entrenar en la vida de Damián. A veces la vida también es estar un tiempo tirado en la cama, viendo las mejores jugadas de la NBA y soñando con tu próximo futuro.
<center><img src="images/Damian/damiandescansando.png" width="500"></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to "damianpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
It seems that not everything is training in Damián's life. Sometimes life is also about lying on the bed for a while, watching the best NBA plays and dreaming about your future.
<center><img src="images/Damian/damiandescansando.png" width="400"></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var currentSemblante = State.variables.currentSemblanteActive;
if (!currentSemblante ||
(currentSemblante.name !== "Exterminador de plagas" &&
currentSemblante.nameEn !== "Pest Exterminator")) {
setTimeout(function() {
Engine.play("damiantedescubre");
}, 6000);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Incluso durmiendo, se pueden notar los problemas conyugales entre Ernesto y Carmen. Parece que hay un abismo entre los dos cubanos.
<center><img src="images/Ernesto/Ernestoycarmenduermen.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Ernesto jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaraernesto')>><</link>>
<</if>>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Even while sleeping, you can notice the marital problems between Ernesto and Carmen. There seems to be an abyss between the two Cubans.
<center><img src="images/Ernesto/Ernestoycarmenduermen.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghostly form grants you a freedom that Ernesto would never consciously approve of....</p>
<<link "👻 Finish in his face">><<run Engine.play('corrersecaraernesto')>><</link>>
<</if>>
[[Leave the room|recibidor1A]]
<</if>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Ernesto y Carmen están viendo una serie en la televisión de su cuarto. Por sus expresiones, ninguno parece muy interesado en ella.
<center><img src="images/Ernesto/ernestoycarmenteleenhab.png" width="500"></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Ernesto and Carmen are watching a series on their bedroom television. By their expressions, neither seems very interested in it.
<center><img src="images/Ernesto/ernestoycarmenteleenhab.png" width="500"></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Carmen disfruta de una telenovela especialmente enrevesada y entretenida en su habitación.
<center><img src="images/mujeres/carmentelehabitacion.png" width="500"></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Carmen is enjoying an especially convoluted and entertaining telenovela in her room.
<center><img src="images/mujeres/carmentelehabitacion.png" width="500"></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
Ernesto y su mujer están viendo alguna película sentados en el sofá lo más separados posibles entre ellos. Es perceptible que no disfrutan de su tiempo juntos.
<center><img src="images/Ernesto/ernestoycarmensalon.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
Ernesto and his wife are watching some movie sitting on the couch as far apart from each other as possible. It's noticeable that they don't enjoy their time together.
<center><img src="images/Ernesto/ernestoycarmensalon.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
Entras en la habitación y ves a los dos jugadores, Damián y Jaime, cara a cara. Charlan sobre el último partido, pero se les ve tensos e incómodos.
<center><img src="images/Damian/damianyjaime.png" width="500"></center>
[[Salir de la habitación|recibidor1A]]
<<if $formaFantasmalActiva>>
[[Observarlos en silencio|formafantasmaldamianyjaime]]
<<elseif $currentSemblanteActive and ($currentSemblanteActive.name === "Exterminador de plagas" or $currentSemblanteActive.nameEn === "Pest Exterminator")>>
[[Intentar esconderse|escondersearmario]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
You enter the room and see the two players, Damián and Jaime, face to face. They're chatting about the last game, but they look tense and uncomfortable.
<center><img src="images/Damian/damianyjaime.png" width="500"></center>
[[Leave the room|recibidor1A]]
<<if $formaFantasmalActiva>>
[[Observarlos en silencio|formafantasmaldamianyjaime]]
<<elseif $currentSemblanteActive and ($currentSemblanteActive.name === "Exterminador de plagas" or $currentSemblanteActive.nameEn === "Pest Exterminator")>>
[[Intentar esconderse|escondersearmario]]
<</if>>
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Carmen se gira hacia ti con los brazos cruzados. Su mirada es fría y distante. No parece nada contenta de verte aquí.
<center><img src="images/mujeres/carmentedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "carmen",
name: "Carmen",
portrait: "images/mujeres/carmen.png",
color: "#e91e63",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "carmen", text: "Sergio. ¿Qué haces en mi casa?" },
{ speaker: "sergio", text: "Carmen, disculpa, yo pensé que..." },
{ speaker: "carmen", text: "¿Pensaste qué? ¿Que podías entrar así como así?" },
{ speaker: "sergio", text: "No, claro que no. Ha sido un malentendido." },
{ speaker: "carmen", text: "Ya. Pues vete. No tengo tiempo para esto." },
{ speaker: "sergio", text: "Lo siento mucho, Carmen. Me voy enseguida." },
{ speaker: "carmen", text: "Eso espero. Y cierra bien la puerta al salir." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Marcharse rápidamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Carmen retrocede asustada al verte. Sus ojos se abren de par en par y un grito comienza a formarse en su garganta.
<center><img src="images/mujeres/carmentedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "carmen",
name: "Carmen",
portrait: "images/mujeres/carmen.png",
color: "#e91e63",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "carmen", text: "¡AHHH! ¡¿Quién es usted?! ¡SOCORRO! ¡HAY UN INTRUSO!" },
{ speaker: "sergio", text: "¡Señora, cálmese! ¡Me he equivocado de casa!" },
{ speaker: "carmen", text: "¡MENTIRA! ¡SALGA DE AQUÍ INMEDIATAMENTE! ¡VOY A LLAMAR A LA POLICÍA!" },
{ speaker: "sergio", text: "¡Ya me voy, ya me voy! ¡Lo siento!" },
{ speaker: "carmen", text: "¡FUERA! ¡FUERA DE MI CASA! ¡ERNESTO! ¡ERNESTO!" },
{ speaker: "sergio", text: "¡Me voy, perdone!" }
],
options: [
[], [], [], [], [],
[
{
text: "Salir corriendo",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Carmen turns toward you with crossed arms. Her gaze is cold and distant. She doesn't seem happy to see you here at all.
<center><img src="images/mujeres/carmentedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "carmen",
name: "Carmen",
portrait: "images/mujeres/carmen.png",
color: "#e91e63",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "carmen", text: "Sergio. What are you doing in my house?" },
{ speaker: "sergio", text: "Carmen, sorry, I thought that..." },
{ speaker: "carmen", text: "You thought what? That you could just walk in?" },
{ speaker: "sergio", text: "No, of course not. It was a misunderstanding." },
{ speaker: "carmen", text: "Right. Well, leave. I don't have time for this." },
{ speaker: "sergio", text: "I'm very sorry, Carmen. I'm leaving right away." },
{ speaker: "carmen", text: "I hope so. And close the door properly on your way out." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Leave quickly",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Carmen steps back frightened when she sees you. Her eyes widen and a scream begins to form in her throat.
<center><img src="images/mujeres/carmentedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "carmen",
name: "Carmen",
portrait: "images/mujeres/carmen.png",
color: "#e91e63",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "carmen", text: "AHHH! Who are you?! HELP! THERE'S AN INTRUDER!" },
{ speaker: "sergio", text: "Ma'am, calm down! I got the wrong house!" },
{ speaker: "carmen", text: "LIES! GET OUT OF HERE IMMEDIATELY! I'M CALLING THE POLICE!" },
{ speaker: "sergio", text: "I'm leaving, I'm leaving! I'm sorry!" },
{ speaker: "carmen", text: "OUT! OUT OF MY HOUSE! ERNESTO! ERNESTO!" },
{ speaker: "sergio", text: "I'm going, forgive me!" }
],
options: [
[], [], [], [], [],
[
{
text: "Run away",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Damián te mira con extrañeza. Sus ojos reflejan confusión al verte allí. ¿Cómo has conseguido entrar en su casa?
<center><img src="images/Damian/damiandescubre.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "damian",
name: "Damián",
portrait: "images/Damian/damian.png",
color: "#ff8c42",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "damian", text: "¿Sergio? ¿Qué haces aquí? ¿Cómo has entrado?" },
{ speaker: "sergio", text: "Yo... este... la puerta estaba..." },
{ speaker: "damian", text: "¿La puerta estaba qué? ¿Abierta? Eso no tiene sentido." },
{ speaker: "sergio", text: "Lo siento mucho, Damián. No debería estar aquí. Me voy ya." },
{ speaker: "damian", text: "Sí, será lo mejor. Esto es muy raro, tío." }
],
options: [
[], [], [], [],
[
{
text: "Salir rápidamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Damián se gira bruscamente al verte. Su rostro muestra sorpresa y alarma. No te reconoce con ese aspecto.
<center><img src="images/Damian/damiandescubre.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "damian",
name: "Damián",
portrait: "images/Damian/damian.png",
color: "#ff8c42",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "damian", text: "¿Quién coño eres tú? ¿Qué haces en mi casa?" },
{ speaker: "sergio", text: "¡Lo siento! Me he equivocado de casa. Disculpe." },
{ speaker: "damian", text: "¿Equivocado de casa? ¡Esto es el primer piso! ¡Lárgate de aquí!" },
{ speaker: "sergio", text: "Ya me voy, de verdad, lo siento mucho." }
],
options: [
[], [], [],
[
{
text: "Salir apresuradamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Damián looks at you with bewilderment. His eyes reflect confusion at seeing you there. How did you manage to get into his house?
<center><img src="images/Damian/damiandescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "damian",
name: "Damián",
portrait: "images/Damian/damian.png",
color: "#ff8c42",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "damian", text: "Sergio? What are you doing here? How did you get in?" },
{ speaker: "sergio", text: "I... uh... the door was..." },
{ speaker: "damian", text: "The door was what? Open? That doesn't make sense." },
{ speaker: "sergio", text: "I'm so sorry, Damián. I shouldn't be here. I'm leaving now." },
{ speaker: "damian", text: "Yeah, that would be best. This is really weird, man." }
],
options: [
[], [], [], [],
[
{
text: "Leave quickly",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Damián turns abruptly when he sees you. His face shows surprise and alarm. He doesn't recognize you with that appearance.
<center><img src="images/Damian/damiantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "damian",
name: "Damián",
portrait: "images/Damian/damian.png",
color: "#ff8c42",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "damian", text: "Who the hell are you? What are you doing in my house?" },
{ speaker: "sergio", text: "I'm sorry! I got the wrong house. Excuse me." },
{ speaker: "damian", text: "Wrong house? This is the first floor! Get out of here!" },
{ speaker: "sergio", text: "I'm leaving, really, I'm very sorry." }
],
options: [
[], [], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Ernesto se detiene en seco al verte. Su expresión de sorpresa se mezcla con preocupación. ¿Cómo has conseguido entrar en su casa?
<center><img src="images/Ernesto/ernestotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "ernesto",
name: "Ernesto",
portrait: "images/Ernesto/ernesto.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "ernesto", text: "¿Sergio? ¿Qué haces en mi casa? Explícame esto." },
{ speaker: "sergio", text: "Doctor, yo... la puerta estaba entreabierta y..." },
{ speaker: "ernesto", text: "¿Entreabierta? Imposible. Siempre la cierro con llave." },
{ speaker: "sergio", text: "Lo siento muchísimo, doctor. Ha sido un error. Me voy inmediatamente." },
{ speaker: "ernesto", text: "Más te vale. Esto es muy grave, Sergio. Podría llamar a la policía." },
{ speaker: "sergio", text: "No volverá a ocurrir, de verdad. Disculpe." }
],
options: [
[], [], [], [], [],
[
{
text: "Marcharse avergonzado",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Ernesto se gira bruscamente hacia ti. Su rostro se tensa al ver a un extraño en su hogar. Como médico, está acostumbrado a mantener la calma, pero esto es diferente.
<center><img src="images/Ernesto/ernestotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "ernesto",
name: "Ernesto",
portrait: "images/Ernesto/ernesto.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "ernesto", text: "¿Quién es usted? ¿Qué está haciendo en mi casa?" },
{ speaker: "sergio", text: "¡Disculpe! Me he confundido de vivienda. Ya me voy." },
{ speaker: "ernesto", text: "No se mueva. Voy a llamar a la policía ahora mismo." },
{ speaker: "sergio", text: "¡No, por favor! Ha sido un error. Me voy ya." },
{ speaker: "ernesto", text: "Lárguese antes de que cambie de opinión. Y no vuelva por aquí." }
],
options: [
[], [], [], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Ernesto stops dead in his tracks when he sees you. His expression of surprise mixes with concern. How did you manage to get into his house?
<center><img src="images/Ernesto/ernestotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "ernesto",
name: "Ernesto",
portrait: "images/Ernesto/ernesto.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "ernesto", text: "Sergio? What are you doing in my house? Explain this to me." },
{ speaker: "sergio", text: "Doctor, I... the door was ajar and..." },
{ speaker: "ernesto", text: "Ajar? Impossible. I always lock it." },
{ speaker: "sergio", text: "I'm terribly sorry, doctor. It was a mistake. I'm leaving immediately." },
{ speaker: "ernesto", text: "You better. This is very serious, Sergio. I could call the police." },
{ speaker: "sergio", text: "It won't happen again, truly. I apologize." }
],
options: [
[], [], [], [], [],
[
{
text: "Leave embarrassed",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Ernesto turns sharply toward you. His face tenses when he sees a stranger in his home. As a doctor, he's used to staying calm, but this is different.
<center><img src="images/Ernesto/ernestotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "ernesto",
name: "Ernesto",
portrait: "images/Ernesto/ernesto.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "ernesto", text: "Who are you? What are you doing in my house?" },
{ speaker: "sergio", text: "I'm sorry! I got the wrong apartment. I'm leaving now." },
{ speaker: "ernesto", text: "Don't move. I'm calling the police right now." },
{ speaker: "sergio", text: "No, please! It was a mistake. I'm leaving now." },
{ speaker: "ernesto", text: "Get out before I change my mind. And don't come back here." }
],
options: [
[], [], [], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<!-- Registrar a Damián como presente para Excitación a Distancia -->
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to 'damianyjaimesexo'>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
<<if !$damianJaimePrimeraVez>>
<!-- PRIMERA VEZ - CONVERSACIÓN COMPLETA -->
Cuando se percatan de tu presencia, ambos jugadores detienen su conversación. Está claro que no estarán cómodos mientras tú te encuentres a su lado, obviamente. La solución te la da el mismo Damián, que te pregunta si es necesario que salga de la habitación mientras tú haces tu trabajo. Tú afirmas con la cabeza y, antes de que la abandonen, les dices que serán cinco minutos, y que vuelvan más tarde. Cuando ellos se marchan, das un vistazo rápido y observas que el armario del capitán podrá esconderte, así que te introduces dentro y esperas a que lleguen de nuevo los dos baloncestistas. Tras varios minutos, aparece la cabeza de Damián, que al ver que ya no hay nadie, indica a Jaime que vuelva a entrar a su cuarto, cierra la puerta y retoman la conversación.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: 'Venga va, llevamos ya aquí algún tiempo y supongo que no ha sido para hablar del partido, cosa que no hemos hecho nunca. ¿Qué es lo que quieres?' },
{ speaker: 'damian', text: 'Solo quiero hablar Jaime, y solucionar nuestros problemas...' },
{ speaker: 'jaime', text: '¿Qué problemas?' },
{ speaker: 'damian', text: 'Problemas de comunicación. De conexión, de feeling...' },
{ speaker: 'jaime', text: 'Ya. ¿Y qué? Mira tío, no me caes bien. Eso no afecta a mi juego...' },
{ speaker: 'damian', text: 'Sí que lo hace. No participas de las jugadas que yo comienzo. Cuando estoy solo no me pasas la pelota. No sigues ninguna de mis órdenes en la cancha. Eso es un problema Jaime, y tenemos que solucionarlo.' },
{ speaker: 'jaime', text: '¿Y cómo vamos a hacerlo? No acepto que mi padre te pusiera a ti como capitán. Te importa una mierda el equipo. Solo piensas en él como un trampolín para subir de categoría.' },
{ speaker: 'damian', text: 'No es del todo así. Tienes problemas con más jugadores además que conmigo.' },
{ speaker: 'jaime', text: '*Desvía la mirada*' },
{ speaker: 'damian', text: 'Jaime... *baja el rostro, nervioso* Me han llegado ciertas informaciones que creo que son el verdadero motivo de tu incapacidad para conectar con el resto del equipo. No hablaría de esto contigo si no creyera de verdad que afecta al juego del equipo. Jaime, eres gay.' },
{ speaker: 'jaime', text: '¿Qué coño? *hace ademán de marcharse*' },
{ speaker: 'damian', text: '*Le coge de la muñeca* ¡Espera! No pasa nada, en serio. No lo sabe nadie, solo yo. A nadie va a importarle, te lo prometo.' },
{ speaker: 'jaime', text: '¿Quién coño te crees que eres para hablar de esto conmigo?' },
{ speaker: 'damian', text: '*Mira de nuevo hacia el suelo, incapaz de saber qué decir en ese momento. Su rostro apenas a unos centímetros del de Jaime.*' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{ text: 'Permanecer en el armario', action: 'GOTO:quedartearmario' }
]
]
});
State.variables.damianJaimePrimeraVez = true;
});
<</script>>
<<else>>
<!-- VECES POSTERIORES - CONVERSACIÓN BREVE -->
Repites la misma estratagema. Les pides que salgan mientras trabajas, y cuando se marchan te ocultas rápidamente en el armario de Damián. Esperas unos minutos hasta que ambos regresan a la habitación.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: '¿Por qué coño me has llamado otra vez, Damián?' },
{ speaker: 'damian', text: 'Porque necesitamos hablar de lo que pasó la última vez...' },
{ speaker: 'jaime', text: 'No hay nada que hablar. Ya te lo dije.' },
{ speaker: 'damian', text: 'Jaime, por favor. Solo escúchame...' },
{ speaker: 'jaime', text: '*Suspira* Tienes cinco minutos.' }
],
options: [
[], [], [], [],
[
{ text: 'Permanecer en el armario', action: 'GOTO:quedartearmario' }
]
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to 'damianyjaimesexo'>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
<<if !$damianJaimePrimeraVez>>
<!-- FIRST TIME - FULL CONVERSATION -->
When they notice your presence, both players stop their conversation. It's clear they won't be comfortable while you're next to them, obviously. The solution comes from Damián himself, who asks if it's necessary for him to leave the room while you do your work. You nod, and before they leave, you tell them it will be five minutes and to come back later. When they leave, you take a quick look around and notice that the captain's closet can hide you, so you get inside and wait for the two basketball players to return. After several minutes, Damián's head appears, and seeing that no one is there anymore, he signals Jaime to come back into his room, closes the door, and they resume their conversation.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: 'Come on, we\'ve been here for a while and I guess it wasn\'t to talk about the game, which we\'ve never done. What do you want?' },
{ speaker: 'damian', text: 'I just want to talk Jaime, and solve our problems...' },
{ speaker: 'jaime', text: 'What problems?' },
{ speaker: 'damian', text: 'Communication problems. Connection, feeling...' },
{ speaker: 'jaime', text: 'Yeah. So what? Look man, I don\'t like you. That doesn\'t affect my game...' },
{ speaker: 'damian', text: 'Yes it does. You don\'t participate in the plays I start. When I\'m alone you don\'t pass me the ball. You don\'t follow any of my orders on the court. That\'s a problem Jaime, and we need to fix it.' },
{ speaker: 'jaime', text: 'And how are we going to do that? I don\'t accept that my father made you captain. You don\'t give a shit about the team. You only think of it as a stepping stone to move up a category.' },
{ speaker: 'damian', text: 'It\'s not entirely like that. You have problems with more players besides me.' },
{ speaker: 'jaime', text: '*Looks away*' },
{ speaker: 'damian', text: 'Jaime... *lowers his face, nervous* I\'ve received certain information that I believe is the real reason for your inability to connect with the rest of the team. I wouldn\'t talk about this with you if I didn\'t truly believe it affects the team\'s performance. Jaime, you\'re gay.' },
{ speaker: 'jaime', text: 'What the fuck? *makes a move to leave*' },
{ speaker: 'damian', text: '*Grabs his wrist* Wait! It\'s okay, seriously. Nobody knows, just me. Nobody\'s going to care, I promise.' },
{ speaker: 'jaime', text: 'Who the hell do you think you are to talk about this with me?' },
{ speaker: 'damian', text: '*Looks down again, unable to know what to say at that moment. His face was just centimeters from Jaime\'s.*' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{ text: 'Stay in the closet', action: 'GOTO:quedartearmario' }
]
]
});
State.variables.damianJaimePrimeraVez = true;
});
<</script>>
<<else>>
<!-- SUBSEQUENT TIMES - BRIEF CONVERSATION -->
You repeat the same strategy. You ask them to leave while you work, and when they leave you quickly hide in Damián's closet. You wait a few minutes until they both return to the room.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: 'Why the fuck did you call me again, Damián?' },
{ speaker: 'damian', text: 'Because we need to talk about what happened last time...' },
{ speaker: 'jaime', text: 'There\'s nothing to talk about. I already told you.' },
{ speaker: 'damian', text: 'Jaime, please. Just listen to me...' },
{ speaker: 'jaime', text: '*Sighs* You have five minutes.' }
],
options: [
[], [], [], [],
[
{ text: 'Stay in the closet', action: 'GOTO:quedartearmario' }
]
]
});
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Alex se levanta de golpe, tirando lo que tenía en las manos. Su mirada es hostil y desconfiada. Está cabreado.
<center><img src="images/Alex/alextedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#d32f2f",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "alex", text: "¿Qué coño haces aquí, tío? ¿Te has vuelto loco o qué?" },
{ speaker: "sergio", text: "Alex, perdona, yo solo..." },
{ speaker: "alex", text: "¿Tú solo qué? ¿Te has colado en mi puta casa?" },
{ speaker: "sergio", text: "Ha sido un error, de verdad. Me voy ya." },
{ speaker: "alex", text: "Claro que te vas. Y como le cuentes a alguien lo que has visto aquí, te parto la cara. ¿Me has entendido?" },
{ speaker: "sergio", text: "Sí, sí. No diré nada. Lo siento." },
{ speaker: "alex", text: "Lárgate de una puta vez antes de que pierda los nervios." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Salir antes de que se enfade más",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Alex salta hacia ti con los puños cerrados. Su cara está roja de rabia. No le importa quién seas, solo quiere que te largues.
<center><img src="images/Alex/alextedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#d32f2f",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "alex", text: "¿Quién coño eres? ¡Sal de mi casa ahora mismo!" },
{ speaker: "sergio", text: "¡Tranquilo! Me he equivocado, ya me voy." },
{ speaker: "alex", text: "¿Tranquilo? ¡Te voy a partir la cara, hijo de puta!" },
{ speaker: "sergio", text: "¡Ya me voy, ya me voy!" },
{ speaker: "alex", text: "¡Como te vuelva a ver por aquí te mato! ¡Fuera!" }
],
options: [
[], [], [], [],
[
{
text: "Huir rápidamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Alex jumps up abruptly, dropping whatever he had in his hands. His gaze is hostile and suspicious. He's pissed off.
<center><img src="images/Alex/alextedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#d32f2f",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "alex", text: "What the fuck are you doing here, man? Have you lost your mind?" },
{ speaker: "sergio", text: "Alex, sorry, I just..." },
{ speaker: "alex", text: "You just what? You broke into my fucking house?" },
{ speaker: "sergio", text: "It was a mistake, really. I'm leaving now." },
{ speaker: "alex", text: "Of course you are. And if you tell anyone what you saw here, I'll break your face. Got it?" },
{ speaker: "sergio", text: "Yes, yes. I won't say anything. Sorry." },
{ speaker: "alex", text: "Get the fuck out before I lose my temper." }
],
options: [
[], [], [], [], [], [],
[
{
text: "Leave before he gets angrier",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Alex lunges toward you with clenched fists. His face is red with rage. He doesn't care who you are, he just wants you gone.
<center><img src="images/Alex/alextedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = State.variables.idioma === "es" ? currentSemblante.name : currentSemblante.nameEn;
var dialogueConfig = {
characters: [
{
id: "alex",
name: "Alex",
portrait: "images/Alex/alex.png",
color: "#d32f2f",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "alex", text: "Who the fuck are you? Get out of my house right now!" },
{ speaker: "sergio", text: "Calm down! I got the wrong place, I'm leaving." },
{ speaker: "alex", text: "Calm down? I'm gonna break your face, motherfucker!" },
{ speaker: "sergio", text: "I'm leaving, I'm leaving!" },
{ speaker: "alex", text: "If I see you here again I'll kill you! Get out!" }
],
options: [
[], [], [], [],
[
{
text: "Flee quickly",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
La discusión no dura mucho más. Jaime se marcha enfadado y Damián le acompaña hasta la puerta de su casa, cabizbajo por no poder solucionar la relación con su compañero de equipo. Tú te marchas de la casa, esperando que Dem pueda volver a conseguir que Jaime acuda a casa de Damián de nuevo.
[[Continuar|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
The argument doesn't last much longer. Jaime leaves angry and Damián accompanies him to the door of his house, dejected at not being able to fix the relationship with his teammate. You leave the house, hoping that Dem can manage to get Jaime to come to Damián's house again.
[[Continue|Rellano del 1º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
Jaime sigue hablando, soltando su bilis a unos centímetros de Damián. Varias gotas de sudor le corren por el rostro de Damián. En su pantalón, su polla ansía ser liberada. Cruzas los dedos y esperas que funcione. Y eso es lo que sucede. Damián besa a Jaime.
Es un beso casto y breve, que detiene por completo el discurso de su compañero de equipo, que se queda perplejo ante lo sucedido. Luego vuelve a hacerlo, pero esta vez dura más, y sus labios se entreabren, sacando un poco de lengua.
Entonces es cuando empieza a actuar Jaime. Se quita la camiseta para mostrar su pecho lampiño y luego, hace lo mismo con Damián, pasando una de sus manos por sus músculos. La diferencia en los tonos de piel es más que evidente. Jaime le empuja suavemente a la cama y empieza a besarle de nuevo y Damián le acompaña.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime1.webm" type="video/webm"></video></center>
La escena era tan excitante y estaba tan cerca de ti que, sin tener miedo a que te descubrieran, te sacaste la polla para masturbarte. En ese momento, los besos de ambos jugadores llegaron a más. Jaime se puso de rodillas y, sonriendo mientras se mordía el labio al ver el tamaño de semejante polla, se la introdujo como pudo en la boca, mientras Damián gemía cada vez que se introducía dentro de esa cavidad caliente.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime2.webm" type="video/webm"></video></center>
"Voy a correrme" avisó Damián, y rápidamente Jaime se detuvo. "Ni de coña" le contestó. Desvistiéndose completamente, se puso a cuatro patas y le mostró su culo.
"Ahora cómeme el culo" Damián le miró perplejo, pero Jaime insistió, así que, colocándose a cuatro patas y con el ano abierto de su compañero ante sí, lamió el agujero con timidez y cierta torpeza.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime3.webm" type="video/webm"></video></center>
"Fóllame" le dijo. Al ver que Damián parecía dudar, a pesar de que su polla se mostraba más que dispuesta, Jaime le dijo con convicción: "Es la única manera de solucionar nuestras diferencias. Fóllame de una puta vez" Damián pareció analizar la situación durante unos segundos, en los que aprovechaste para volver a excitarlo ligeramente, haciendo que una lengua digital le lamiera los pezones. Entonces, comenzó a frotar su miembro por el agujero de su compañero hasta que, poco a poco, y mientras este se mordía el labio, su polla entraba dentro de él.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime4.webm" type="video/webm"></video></center>
Penetrar a su compañero parece que fue el umbral que necesitaba traspasar para dejarse llevar completamente. Primero fue poco a poco, hasta que con cada embestida le metía más y más de su polla dentro de Jaime, que no podía apenas ni moverse. Luego fue aumentando la velocidad, disfrutando del abrazo anal que su compañero de equipo le hacía en sus genitales.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime5.webm" type="video/webm"></video></center>
Pero el capitán del equipo estaba muy caliente, y intuías, mientras te masturbabas, que no sería solo por tu app. Agarraba con fuerza la cintura de Jaime mientras respiraba cada vez más fuerte. Apenas en unos minutos dijo, entre gemidos "Me corro" y dando unas últimas embestidas lentas se derrumbó sobre su amante, abandonando su agujero, que quedó relleno de espesa leche.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime6.webm" type="video/webm"></video></center>
[[Continuar|damianyjaimesexo2]]
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
Jaime keeps talking, spewing his bile just inches from Damián. Several drops of sweat run down Damián's face. In his pants, his cock yearns to be freed. You cross your fingers and hope it works. And that's what happens. Damián kisses Jaime.
It's a chaste and brief kiss that completely stops his teammate's speech, who is left perplexed by what happened. Then he does it again, but this time it lasts longer, and their lips part slightly, tongues emerging.
Then Jaime starts to act. He takes off his shirt to show his smooth chest and then does the same with Damián, running one of his hands over his muscles. The difference in their skin tones is more than evident. Jaime gently pushes him onto the bed and starts kissing him again and Damián goes along.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime1.webm" type="video/webm"></video></center>
The scene was so exciting and so close to you that, without fear of being discovered, you took out your cock to masturbate. At that moment, the kisses of both players went further. Jaime got on his knees and, smiling while biting his lip at the sight of such a massive cock, took it into his mouth as best he could, while Damián moaned each time it entered that hot cavity.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime2.webm" type="video/webm"></video></center>
"I'm going to cum" Damián warned, and quickly Jaime stopped. "No way" he replied. Undressing completely, he got on all fours and showed him his ass.
"Now eat my ass" Damián looked at him perplexed, but Jaime insisted, so, positioning himself on all fours with his teammate's open hole before him, he licked the hole with shyness and some clumsiness.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime3.webm" type="video/webm"></video></center>
"Fuck me" he said. Seeing that Damián seemed to hesitate, despite his cock showing more than willing, Jaime told him with conviction: "It's the only way to solve our differences. Fuck me once and for all" Damián seemed to analyze the situation for a few seconds, which you took advantage of to arouse him slightly again, making a digital tongue lick his nipples. Then, he began to rub his member against his teammate's hole until, little by little, and while the other bit his lip, his cock entered inside him.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime4.webm" type="video/webm"></video></center>
Penetrating his teammate seems to have been the threshold he needed to cross to let himself go completely. First it was slowly, until with each thrust he put more and more of his cock inside Jaime, who could barely move. Then he increased the speed, enjoying the anal embrace his teammate gave his genitals.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime5.webm" type="video/webm"></video></center>
But the team captain was very hot, and you sensed, while masturbating, that it wouldn't be just because of your app. He gripped Jaime's waist tightly while breathing harder and harder. In just a few minutes he said, between moans "I'm cumming" and giving a few last slow thrusts he collapsed on his lover, abandoning his hole, which was left filled with thick milk.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime6.webm" type="video/webm"></video></center>
[[Continue|damianyjaimesexo2]]
<</if>><<if $idioma is "es">>
<<set $corrupcionDamian to 50>>
<<set $notaDamian3 to true>>
<<set $notaDamian2 to false>>
<<set $RecuerdoDamian2 = true>>
<<set $damianDesvirgadoAnal = true>>
<<set $recuerdosDamian += 1>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: '*Se coloca encima de Damián y comienza a besarle* Ahora es mi turno.' },
{ speaker: 'jaime', text: '*Sus dedos acarician el ano de Damián*' },
{ speaker: 'damian', text: '*Se aparta* No... yo no soy...' },
{ speaker: 'jaime', text: '¿No eres qué?, ¿Maricón?' },
{ speaker: 'damian', text: 'No a ver... es que... esto...' },
{ speaker: 'jaime', text: '¡Lo ves! Ya has vuelto a decidir por tu cuenta. Somos un equipo, ¿no? Pues entonces no actúes como si fueras una estrella. Yo también sé jugar. También soy bueno.' },
{ speaker: 'damian', text: 'Sí que lo eres. Nunca he dudado de que eres buen jugador.' },
{ speaker: 'jaime', text: 'Entonces dame tu culo. Tú me has follado, y ahora me toca a mí. Ese es mi problema contigo, que siempre lo quieres todo para ti. ¿Quieres solucionar nuestros problemas? ¿Quieres que comencemos a ganar partidos juntos?' },
{ speaker: 'damian', text: 'Sí.' },
{ speaker: 'jaime', text: 'Entonces, cede en esto. Compartamos esto. Seamos verdaderos compañeros.' },
{ speaker: 'damian', text: 'Vale...' }
],
options: [
[], [], [], [], [], [], [], [], [], [],
[
{
text: 'Continuar observando',
action: function() {
// Mostrar la siguiente parte
$('#rpg-display').html('');
var narrativeHtml = '<div style="text-align: justify; padding: 20px;">';
narrativeHtml += '<p>Entonces, cogiendo Jaime las dos piernas abiertas de Damián, comienza a introducir lentamente uno de sus dedos para, después, colocar su polla en el agujero trasero de Damián y, poco a poco y embadurnándosela en saliva, entrar en ese virginal culo, desvirgando al enorme jugador de baloncesto.</p>';
narrativeHtml += '<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime7.webm" type="video/webm"></video></center>';
narrativeHtml += '<p>Movimiento de cadera a movimiento de cadera, embestida a embestida, Jaime aumenta el ritmo de su perforación hasta que toda su polla entra y sale del agujero recién estrenado de su capitán con facilidad. Damián gime y respira fuerte mientras observa cómo su compañero le folla y cómo... le gusta.</p>';
narrativeHtml += '<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime8.webm" type="video/webm"></video></center>';
narrativeHtml += '<p>Tú ya te has corrido hace varios minutos, pero sigues tocándote la polla mientras observas con emoción cómo Jaime saca de repente su polla, comienza a masturbarse y mancha de blanco con su esperma los oscuros huevos de su capitán.</p>';
narrativeHtml += '<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime9.webm" type="video/webm"></video></center>';
narrativeHtml += '<p>Ahora sí que parecía que ambos estaban en paz. Jaime se tumba desnudo al lado de Damián, que mira el techo analizando y aceptando todo lo que acababa de suceder. Tuviste que esperar casi unos 10 minutos en los que charlaron entre ellos sobre lo sucedido y sobre el futuro del equipo. Se les veía más relajados, más conectados. Cuando se marcharon aprovechaste para salir del armario y de la casa, orgulloso de haber corrompido tanto a Damián tan pronto.</p>';
narrativeHtml += '<p style="text-align: center; margin-top: 30px;"><button id="continuar-btn" class="link-internal" style="cursor: pointer; background: none; border: none; color: #4a9eff; text-decoration: underline; font-size: inherit; font-family: inherit;">Continuar</button></p>';
narrativeHtml += '</div>';
$('#passages').html(narrativeHtml);
// Agregar el evento click DESPUÉS de insertar el HTML
$('#continuar-btn').on('click', function() {
Engine.play('Rellano del 1º');
});
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<set $corrupcionDamian to 50>>
<<set $notaDamian3 to true>>
<<set $notaDamian2 to false>>
<<set $RecuerdoDamian2 = true>>
<<set $damianDesvirgadoAnal = true>>
<<set $recuerdosDamian += 1>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: '*Positions himself on top of Damián and starts kissing him* Now it\'s my turn.' },
{ speaker: 'jaime', text: '*His fingers caress Damián\'s anus*' },
{ speaker: 'damian', text: '*Pulls away* No... I\'m not...' },
{ speaker: 'jaime', text: 'You\'re not what? A fag?' },
{ speaker: 'damian', text: 'Well... it\'s just... this...' },
{ speaker: 'jaime', text: 'See! You\'re deciding on your own again. We\'re a team, aren\'t we? So don\'t act like you\'re a star. I know how to play too. I\'m good too.' },
{ speaker: 'damian', text: 'Yes you are. I\'ve never doubted you\'re a good player.' },
{ speaker: 'jaime', text: 'Then give me your ass. You fucked me, and now it\'s my turn. That\'s my problem with you, you always want everything for yourself. Do you want to solve our problems? Do you want us to start winning games together?' },
{ speaker: 'damian', text: 'Yes.' },
{ speaker: 'jaime', text: 'Then, give in on this. Let\'s share this. Let\'s be true teammates.' },
{ speaker: 'damian', text: 'Okay...' }
],
options: [
[], [], [], [], [], [], [], [], [], [],
[
{
text: 'Keep watching',
action: function() {
// Show the next part
$('#rpg-display').html('');
var narrativeHtml = '<div style="text-align: justify; padding: 20px;">';
narrativeHtml += '<p>Then, Jaime grabs both of Damián\'s open legs and begins to slowly insert one of his fingers to, afterwards, place his cock in Damián\'s back hole and, little by little and coating it in saliva, enter that virginal ass, deflowering the huge basketball player.</p>';
narrativeHtml += '<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime7.webm" type="video/webm"></video></center>';
narrativeHtml += '<p>Hip movement by hip movement, thrust by thrust, Jaime increases the rhythm of his drilling until his entire cock enters and exits his captain\'s newly christened hole with ease. Damián moans and breathes hard while watching how his teammate fucks him and how... he likes it.</p>';
narrativeHtml += '<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime8.webm" type="video/webm"></video></center>';
narrativeHtml += '<p>You already came several minutes ago, but you keep touching your cock while watching with excitement how Jaime suddenly pulls out his cock, starts masturbating and stains his captain\'s dark balls white with his sperm.</p>';
narrativeHtml += '<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Damian/damianyjaime9.webm" type="video/webm"></video></center>';
narrativeHtml += '<p>Now they both seemed to be at peace. Jaime lies naked next to Damián, who looks at the ceiling analyzing and accepting everything that had just happened. You had to wait almost 10 minutes while they talked to each other about what happened and about the team\'s future. They looked more relaxed, more connected. When they left you took the opportunity to leave the closet and the house, proud of having corrupted Damián so much so soon.</p>';
narrativeHtml += '<p style="text-align: center; margin-top: 30px;"><button id="continuar-btn" class="link-internal" style="cursor: pointer; background: none; border: none; color: #4a9eff; text-decoration: underline; font-size: inherit; font-family: inherit;">Continue</button></p>';
narrativeHtml += '</div>';
$('#passages').html(narrativeHtml);
// Agregar el evento click DESPUÉS de insertar el HTML
$('#continuar-btn').on('click', function() {
Engine.play('Rellano del 1º');
});
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: Tensión en la cancha</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
La web de Dem había funcionado, y los resultados se notaron en el siguiente partido de Damián. Al ver que el deportista querría seguir mejorando a su equipo, te pedí que investigaras a sus compañeros. Encontré un regalo del destino, Jaime, su rival dentro del equipo y homosexual en el armario.
</p>
<center><img src="images/Damian/jaimebaloncesto.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Envié esos datos a Damián para influenciarle en que ese era el problema de las tiranteces entre Jaime y él mismo. Ahora solo quedaba entrar en la casa y espiar la reunión entre ellos dos. Parece ser que los Rodríguez Cabrera estaban esperando la llegada de un exterminador de plagas, así que mediante el semblante artificial entraste en el 1A y te escondiste en el armario de Damián para observar el encuentro.
</p>
<center><img src="images/Damian/damianyjaime2.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Los dos jugadores comenzaron a discutir entre ellos. Discusión que aumentó de intensidad cuando tu vecino sacó a la luz la homosexualidad de Jaime. Entonces viste tu oportunidad y, mediante la app de Excitación a distancia, pusiste cachondo a Damián, que sin pensárselo acalló los insultos de su compañero con sus besos.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Escondido en el armario pudiste disfrutar de una perfecta película porno en directo. Jaime llevó la iniciativa en todo momento, haciéndole una mamada a la enorme polla de Damián.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Luego se puso a cuatro patas y consiguió que este le comiera el culo. Cuando estuvo bien lubricado, hizo que Damián le follara con su enorme polla. A pesar de las reticencias iniciales, tu vecino acabó agarrando fuerte de la cintura de su compañero y se lo folló hasta preñarlo con su esperma.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime5.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cuando parecía que todo había acabado, Jaime le dijo a Damián que ahora le tocaba a él follarle el culo. Damián se negó, pero su compañero demostró unas artes de manipulación mejores que las tuyas y consiguió convencerlo, desvirgando el ano del capitán.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime8.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Seguro que la relación entre los dos jugadores es más cercana que nunca y eso les hará un doblete mortal para sus enemigos en la cancha. Damián ya ha aprendido que el mejor modo de hacer equipo entre dos hombres es follarse el culo.
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Damián" "RecuerdosDamian">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 2: Tension on the court</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dem's website had worked, and the results showed in Damián's next game. Seeing that the athlete wanted to continue improving his team, I asked you to investigate his teammates. I found a gift from fate, Jaime, his rival within the team and a closeted homosexual.
</p>
<center><img src="images/Damian/jaimebaloncesto.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
I sent that data to Damián to influence him that this was the problem of the tension between Jaime and himself. Now all that was left was to enter the house and spy on the meeting between the two of them. It seems the Rodríguez Cabrera family was expecting the arrival of a pest exterminator, so using the artificial appearance you entered apartment 1A and hid in Damián's closet to observe the encounter.
</p>
<center><img src="images/Damian/damianyjaime2.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The two players started arguing with each other. An argument that increased in intensity when your neighbor brought Jaime's homosexuality to light. Then you saw your opportunity and, through the Remote Arousal app, you made Damián horny, who without thinking silenced his teammate's insults with his kisses.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Hidden in the closet you could enjoy a perfect live porn movie. Jaime took the initiative at all times, giving Damián's huge cock a blowjob.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then he got on all fours and got him to eat his ass. When it was well lubricated, he made Damián fuck him with his huge cock. Despite initial reluctance, your neighbor ended up gripping his teammate's waist tightly and fucked him until he bred him with his sperm.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime5.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When it seemed everything was over, Jaime told Damián that now it was his turn to fuck his ass. Damián refused, but his teammate demonstrated manipulation skills better than yours and managed to convince him, deflowering the captain's anus.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Damian/damianyjaime8.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Surely the relationship between the two players is closer than ever and that will make them a deadly duo for their enemies on the court. Damián has already learned that the best way to build a team between two men is to fuck each other's asses.
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Damián's Memories" "RecuerdosDamian">><</link>>
</div>
<</if>><<if $idioma is "es">>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversación con semblante por defecto (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Damián, tengo que entrar en tu casa... creo que hay alguna gotera o algo...' },
{ speaker: 'damian', text: '¿Una gotera?' },
{ speaker: 'sergio', text: 'Sí. Está cayendo agua desde el techo.' },
{ speaker: 'damian', text: '<em>Se ríe.</em> Entonces el problema lo tendrás con los de arriba, no con nosotros, que estamos un piso por debajo.' },
{ speaker: 'sergio', text: 'Ehh... tienes razón. Perdona.' },
{ speaker: 'damian', text: 'Creía que ibas a decir algo sobre la plaga de cucarachas. Nosotros estamos esperando a un exterminador. Un hombre de unos 40 años que nos han dicho que trabaja muy bien para las plagas de la ciudad.' },
{ speaker: 'sergio', text: 'No he visto nada en mi casa. Bueno, nos vemos.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Cierra la puerta.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversación con semblante de exterminador -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días. Soy el técnico de control de plagas que han solicitado.' },
{ speaker: 'damian', text: '¿El exterminador?' },
{ speaker: 'sergio', text: 'Sí, aunque ya no usamos esa palabra.' },
{ speaker: 'damian', text: 'Bueno, pase. Le estábamos esperando.' },
{ speaker: 'sergio', text: '¿Sabe dónde están las cucarachas?' },
{ speaker: 'damian', text: 'Las hemos visto sobre todo en el baño, pero tiene la casa para usted. Intentaremos no molestar.' },
{ speaker: 'sergio', text: 'Gracias.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Entras en la casa.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<<else>>
<!-- VERSIÓN EN INGLÉS -->
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversation with default appearance (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Damián, I need to get into your apartment... I think there\'s a leak or something...' },
{ speaker: 'damian', text: 'A leak?' },
{ speaker: 'sergio', text: 'Yes. Water is dripping from the ceiling.' },
{ speaker: 'damian', text: '<em>He laughs.</em> Then the problem will be with the people upstairs, not with us, we\'re a floor below.' },
{ speaker: 'sergio', text: 'Uhh... you\'re right. Sorry.' },
{ speaker: 'damian', text: 'I thought you were going to say something about the cockroach infestation. We\'re waiting for an exterminator. A man in his 40s who they say works very well for city pest problems.' },
{ speaker: 'sergio', text: 'I haven\'t seen anything in my apartment. Well, see you around.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Close the door.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversation with exterminator appearance -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Damian", {
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning. I\'m the pest control technician you requested.' },
{ speaker: 'damian', text: 'The exterminator?' },
{ speaker: 'sergio', text: 'Yes, although we don\'t use that word anymore.' },
{ speaker: 'damian', text: 'Well, come in. We were expecting you.' },
{ speaker: 'sergio', text: 'Do you know where the cockroaches are?' },
{ speaker: 'damian', text: 'We\'ve seen them mostly in the bathroom, but the apartment is yours. We\'ll try not to bother you.' },
{ speaker: 'sergio', text: 'Thank you.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You enter the apartment.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversación con semblante por defecto (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Ernesto, necesito pasar... creo que se me ha caído algo en tu balcón desde arriba...' },
{ speaker: 'ernesto', text: '¿Algo en mi balcón?' },
{ speaker: 'sergio', text: 'Sí, se me cayó... no sé, un objeto importante. ¿Puedo pasar a buscarlo?' },
{ speaker: 'ernesto', text: '<em>Sonríe educadamente.</em> Lo siento, pero mi balcón da al patio interior, no a la fachada principal. No creo que se te haya caído nada aquí.' },
{ speaker: 'sergio', text: 'Ah... claro, tienes razón. Perdona.' },
{ speaker: 'ernesto', text: 'No te preocupes. Por cierto, estamos esperando a un exterminador de plagas. Alguien muy profesional que nos recomendaron para acabar con las cucarachas.' },
{ speaker: 'sergio', text: 'Entiendo. Bueno, nos vemos.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Te marchas.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversación con semblante de exterminador -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días. Vengo por el servicio de control de plagas que solicitaron.' },
{ speaker: 'ernesto', text: '¡Ah, el exterminador! Perfecto, pasa por favor.' },
{ speaker: 'sergio', text: 'Gracias. ¿Dónde han visto principalmente las cucarachas?' },
{ speaker: 'ernesto', text: 'En la cocina y en el baño, sobre todo por la noche. Es bastante desagradable.' },
{ speaker: 'sergio', text: 'Entiendo. Voy a revisar toda la casa para localizar el foco del problema.' },
{ speaker: 'ernesto', text: 'Adelante, la casa es tuya. Si necesitas algo, avísame.' },
{ speaker: 'sergio', text: 'Perfecto, gracias por su colaboración.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Entras en la casa.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<<else>>
<!-- VERSIÓN EN INGLÉS -->
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversation with default appearance (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi Ernesto, I need to come in... I think something fell onto your balcony from upstairs...' },
{ speaker: 'ernesto', text: 'Something on my balcony?' },
{ speaker: 'sergio', text: 'Yes, I dropped... I don\'t know, an important object. Can I come in to look for it?' },
{ speaker: 'ernesto', text: '<em>Smiles politely.</em> I\'m sorry, but my balcony faces the interior courtyard, not the main facade. I don\'t think anything could have fallen here.' },
{ speaker: 'sergio', text: 'Ah... right, you\'re correct. Sorry.' },
{ speaker: 'ernesto', text: 'Don\'t worry. By the way, we\'re waiting for a pest exterminator. Someone very professional who was recommended to us to deal with the cockroaches.' },
{ speaker: 'sergio', text: 'I see. Well, see you around.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You leave.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversation with exterminator appearance -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning. I\'m here for the pest control service you requested.' },
{ speaker: 'ernesto', text: 'Ah, the exterminator! Perfect, please come in.' },
{ speaker: 'sergio', text: 'Thank you. Where have you mainly seen the cockroaches?' },
{ speaker: 'ernesto', text: 'In the kitchen and bathroom, especially at night. It\'s quite unpleasant.' },
{ speaker: 'sergio', text: 'I understand. I\'ll inspect the entire house to locate the source of the problem.' },
{ speaker: 'ernesto', text: 'Go ahead, the house is yours. If you need anything, let me know.' },
{ speaker: 'sergio', text: 'Perfect, thank you for your cooperation.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You enter the house.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversación con semblante por defecto (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Carmen", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#9b59b6',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Carmen, necesito entrar... creo que mi gato se ha colado en tu casa por la ventana...' },
{ speaker: 'carmen', text: '¿Tu gato? ¿Qué gato?' },
{ speaker: 'sergio', text: 'Es que... lo acabo de adoptar y es muy escurridizo, creo que ha entrado por algún sitio...' },
{ speaker: 'carmen', text: '<em>Con cara de pocos amigos.</em> ¿Me tomas por idiota? No hay ningún gato aquí. ¡Fuera de aquí antes de que llame a la policía!' },
{ speaker: 'sergio', text: 'Vale, vale, lo siento...' },
{ speaker: 'carmen', text: 'Además, estoy esperando al exterminador. Un chico adorable a pesar de tener una espalda enorme. ¡Así que no me hagas perder el tiempo!' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Te marchas rápidamente.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversación con semblante de exterminador -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Carmen", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#9b59b6',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días. Soy el técnico de control de plagas.' },
{ speaker: 'carmen', text: '<em>Su rostro se ilumina.</em> ¡Por fin! Llevamos días esperándote.' },
{ speaker: 'sergio', text: 'Disculpe el retraso. Vengo a solucionar el problema de las cucarachas.' },
{ speaker: 'carmen', text: 'Están por todas partes, es insoportable. Sobre todo en la cocina y detrás de los muebles.' },
{ speaker: 'sergio', text: 'No se preocupe, voy a hacer una inspección completa y acabaré con ellas.' },
{ speaker: 'carmen', text: '<em>Sonríe.</em> Sabía que eras la persona adecuada para esto. Pasa, por favor, la casa es tuya.' },
{ speaker: 'sergio', text: 'Gracias. Empezaré de inmediato.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Entras en la casa.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<<else>>
<!-- VERSIÓN EN INGLÉS -->
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversation with default appearance (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Carmen", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres/carmen.png',
color: '#9b59b6',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi Carmen, I need to come in... I think my cat sneaked into your house through the window...' },
{ speaker: 'carmen', text: 'Your cat? What cat?' },
{ speaker: 'sergio', text: 'Well... I just adopted it and it\'s very slippery, I think it got in somewhere...' },
{ speaker: 'carmen', text: '<em>With an annoyed look.</em> Do you take me for an idiot? There\'s no cat here. Get out before I call the police!' },
{ speaker: 'sergio', text: 'Okay, okay, sorry...' },
{ speaker: 'carmen', text: 'Besides, I\'m waiting for the exterminator. An adorable guy despite having a huge back. So don\'t waste my time!' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You leave quickly.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversation with exterminator appearance -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Carmen", {
characters: [
{
id: 'carmen',
name: 'Carmen',
portrait: 'images/mujeres /carmen.png',
color: '#9b59b6',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning. I\'m the pest control technician.' },
{ speaker: 'carmen', text: '<em>Her face lights up.</em> Finally! We\'ve been waiting for you for days.' },
{ speaker: 'sergio', text: 'Sorry for the delay. I\'m here to solve the cockroach problem.' },
{ speaker: 'carmen', text: 'They\'re everywhere, it\'s unbearable. Especially in the kitchen and behind the furniture.' },
{ speaker: 'sergio', text: 'Don\'t worry, I\'ll do a complete inspection and get rid of them.' },
{ speaker: 'carmen', text: '<em>Smiles.</em> I knew you were the right person for this. Come in, please, the house is yours.' },
{ speaker: 'sergio', text: 'Thank you. I\'ll start right away.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You enter the house.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversación con semblante por defecto (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, necesito entrar... creo que se me ha colado el perro en tu casa...' },
{ speaker: 'alex', text: '¿El perro? ¿Qué puto perro?' },
{ speaker: 'sergio', text: 'Bueno, es que... lo he visto corriendo y...' },
{ speaker: 'alex', text: '¿Me estás vacilando, gilipollas? ¡Aquí no ha entrado ningún puto perro! ¡Lárgate de aquí antes de que te eche yo a patadas!' },
{ speaker: 'sergio', text: 'Vale, vale, me voy...' },
{ speaker: 'alex', text: 'Si estuviera aquí el exterminador que estamos esperando, seguro que usaba su veneno para tirártelo a la puta cara. ¡Fuera!' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Te marchas asustado.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversación con semblante de exterminador -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Buenos días. Vengo por el servicio de fumigación.' },
{ speaker: 'alex', text: 'Ya era puta hora. Llevamos días con esas mierdas de bichos por todos lados.' },
{ speaker: 'sergio', text: 'Disculpe el retraso. Voy a revisar toda la casa.' },
{ speaker: 'alex', text: 'Sí, sí, lo que sea. Entra de una puta vez y haz tu trabajo.' },
{ speaker: 'sergio', text: '¿Dónde las ha visto principalmente?' },
{ speaker: 'alex', text: 'En la cocina, en el baño, por todas partes. Acaba con esas mierdas de una vez.' },
{ speaker: 'sergio', text: 'Entendido. Me pongo a ello.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Entras en la casa.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<<else>>
<!-- VERSIÓN EN INGLÉS -->
<<set _hasSemblante to ($currentSemblanteActive !== null && $currentSemblanteActive !== undefined)>>
<<if !_hasSemblante or ($currentSemblanteActive.key isnot "masculino-adulto-adorable-atletico-profesional-urbano")>>
<!-- Conversation with default appearance (Sergio) -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi, I need to come in... I think my dog got into your house...' },
{ speaker: 'alex', text: 'Dog? What fucking dog?' },
{ speaker: 'sergio', text: 'Well, I saw it running and...' },
{ speaker: 'alex', text: 'Are you fucking with me, asshole? No damn dog came in here! Get the hell out before I kick you out myself!' },
{ speaker: 'sergio', text: 'Okay, okay, I\'m leaving...' },
{ speaker: 'alex', text: 'If the exterminator we\'re waiting for was here, I bet he\'d use his poison to throw it in your fucking face. Get out!' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You leave scared.',
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<elseif _hasSemblante && $currentSemblanteActive.key is "masculino-adulto-adorable-atletico-profesional-urbano">>
<!-- Conversation with exterminator appearance -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Alex", {
characters: [
{
id: 'alex',
name: 'Alex',
portrait: 'images/Alex/alex.png',
color: '#c0392b',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Good morning. I\'m here for the fumigation service.' },
{ speaker: 'alex', text: 'About fucking time. We\'ve had those damn bugs everywhere for days.' },
{ speaker: 'sergio', text: 'Sorry for the delay. I\'ll inspect the entire house.' },
{ speaker: 'alex', text: 'Yeah, yeah, whatever. Just get in and do your damn job.' },
{ speaker: 'sergio', text: 'Where have you seen them mainly?' },
{ speaker: 'alex', text: 'In the kitchen, in the bathroom, everywhere. Get rid of those damn things already.' },
{ speaker: 'sergio', text: 'Understood. I\'ll get to it.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You enter the house.',
action: function() {
State.variables.entrasnencasafumigador = true;
Engine.play("recibidor1A");
}
}
]
]
})>>
<</if>>
<</if>><<set $damianExcitadoDestino to "Damianpajaducha">>
<<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
Una figura enorme, que parece ocupar todo el espacio del cubículo, se está tomando una ducha. Al momento te das cuenta, al ver el uniforme del equipo de baloncesto local, que debe ser Damián.
<center><img src="images/Damian/damianducha.png" width="500"></center>
[[Salir del baño|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
A huge figure, which seems to occupy the entire shower cubicle space, is taking a shower. You immediately realize, seeing the local basketball team uniform, that it must be Damián.
<center><img src="images/Damian/damianducha.png" width="500"></center>
[[Leave the bathroom|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $fantasmaducha to true>>
<<set $ernestoExcitadoDestino to "Ernestopajaducha">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
En la ducha, Ernesto se está enjuagando. El agua corre por su espalda encorvada y no puedes evitar fijarte en su polla húmeda.
<center><img src="images/Ernesto/Ernestoducha.png" width="500"></center>
[[Salir del baño|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
In the shower, Ernesto is rinsing off. Water runs down his hunched back and you can't help but notice his wet cock.
<center><img src="images/Ernesto/Ernestoducha.png" width="500"></center>
[[Leave the bathroom|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>>;<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $fantasmaducha to true>>
<<set $alexExcitadoDestino to "Alexpajaducha">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
Una figura se ducha en el cubículo. Identificas enseguida que es Alex. Por mucho que se esté duchando, aún le persigue el olor a marihuana.
<center><img src="images/Alex/alexducha.png" width="500"></center>
[[Salir del baño|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
A figure is showering in the cubicle. You immediately identify it as Alex. No matter how much he's showering, the smell of marijuana still follows him.
<center><img src="images/Alex/alexducha.png" width="500"></center>
[[Leave the bathroom|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Habitación de Alex" />
</div>
Con apenas luz en la habitación, Alex se la machaca mientras ve un vídeo porno en su móvil. La habitación huele a marihuana, a sudor y a sexo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Alex/alexpaja2.webm" type="video/webm"></video></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Alex's room" />
</div>
With barely any light in the room, Alex is jerking off while watching a porn video on his phone. The room smells of marijuana, sweat, and sex.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Alex/alexpaja2.webm" type="video/webm"></video></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() { Engine.play('damiantedescubre'); }, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
Sin pensar por qué se ha puesto cachondo tan repentinamente, Damián comienza a desnudarse en su cuarto hasta que, totalmente desnudo, comienza a masturbarse su enorme herramienta.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Damian/damianpaja1.webm" type="video/webm"></video></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
Without thinking about why he suddenly got so horny, Damián starts undressing in his room until, completely naked, he begins to stroke his enormous tool.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Damian/damianpaja1.webm" type="video/webm"></video></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() { Engine.play('damiantedescubre'); }, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
Las manos enormes de Damián acarician su cuerpo mientras se enjabona, en especial en los genitales. Al momento está masturbándose con furia, machacándosela tan rápidamente que parece que se la va a despellejar.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Damian/damianpajaducha.webm" type="video/webm"></video></center>
[[Salir del baño|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
Damián's huge hands caress his body as he soaps himself, especially around his genitals. Within moments he's furiously masturbating, jerking off so fast it looks like he's going to rub himself raw.
<center><img src="images/Damian/damianpajaducha.png" width="500"></center>
[[Leave the bathroom|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
Las manos de Ernesto, que antes estaban enjabonándose, ahora comienzan a acariciarse los pezones y a pasar más tiempo alrededor de sus testículos. Pronto comienza a masturbarse mientras el agua de la ducha golpea su espalda.
<center><img src="images/Ernesto/Ernestopajaducha.png" width="500"></center>
[[Salir del baño|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
Ernesto's hands, which were previously soaping himself, now begin to caress his nipples and spend more time around his testicles. Soon he starts masturbating while the shower water hits his back.
<center><img src="images/Ernesto/Ernestopajaducha.png" width="500"></center>
[[Leave the bathroom|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Baño" />
</div>
Alex es joven y no le parece raro que, al ducharse, se excite. Aun así, nunca había estado tan cachondo como ahora, que se la machaca hasta que su esperma le salpica el pecho enjabonado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Alex/alexpajaducha.webm" type="video/webm"></video></center>
[[Salir del baño|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Bathroom" />
</div>
Alex is young and doesn't find it strange to get aroused while showering. Even so, he's never been as horny as he is now, jerking off hard until his cum splashes onto his soapy chest.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Alex/alexpajaducha.webm" type="video/webm"></video></center>
[[Leave the bathroom|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Excitado y solo en su cuarto, Ernesto no tarda en tomar la mejor decisión: sacarse la polla y comenzar a masturbarse mientras con la otra mano se acaricia el pecho y pasa los dedos por sus pezones.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ernesto/ernestopajacama.webm" type="video/webm"></video></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Aroused and alone in his room, Ernesto doesn't hesitate to make the best decision: pull out his cock and start masturbating while with his other hand he caresses his chest and runs his fingers over his nipples.
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() { Engine.play('damiantedescubre'); }, 6000);
}, 100);
<</script>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Ernesto/ernestopajacama.webm" type="video/webm"></video></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() { Engine.play('damiantedescubre'); }, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Sin Carmen, Ernesto parece que duerme a pierna suelta, teniendo toda su gran cama para él solo.
<center><img src="images/Ernesto/Ernestoduerme.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Ernesto jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaraernesto')>><</link>>
<</if>>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Without Carmen, Ernesto seems to sleep soundly, having his entire large bed to himself.
<center><img src="images/Ernesto/Ernestoduerme.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghostly form grants you a freedom that Ernesto would never consciously approve of....</p>
<<link "👻 Finish in his face">><<run Engine.play('corrersecaraernesto')>><</link>>
<</if>>
[[Leave the room|recibidor1A]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Habitación de matrimonio" />
</div>
Ernesto ve un partido de fútbol con atención. Su expresión seria indica que su equipo no va ganando.
<center><img src="images/Ernesto/ernestovertelecuarto.png" width="500"></center>
[[Salir de la habitación|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="Master bedroom" />
</div>
Ernesto is watching a soccer match attentively. His serious expression indicates that his team isn't winning.
<center><img src="images/Ernesto/ernestovertelecuarto.png" width="500"></center>
[[Leave the room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
Carmen observa intrigada los nuevos giros dramáticos de su telenovela favorita.
<center><img src="images/mujeres/carmensolosalon.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
Carmen watches intrigued as new dramatic twists unfold in her favorite telenovela.
<center><img src="images/mujeres/carmensolosalon.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
Ernesto mira un partido de una selección de Sudamérica con interés. No sabes a cuál de los dos apoya, pues no se emociona con ninguno de ellos.
<center><img src="images/Ernesto/ernestosolosalon.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto'])>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
Ernesto is watching a South American national team match with interest. You don't know which of the two he supports, as he doesn't get emotional about either of them.
<center><img src="images/Ernesto/ernestosolosalon.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
La cocina es preciosa. Quizás donde más dedicación pusieron los obreros e interioristas cuando hicieron la reforma del piso hace cuatro años. Parece otro regalo de Ernesto a Carmen por sus aventuras. Es imposible olvidar las raíces del matrimonio solo con ver el bol de frutas de la encimera.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _carmenPresent to false>><<set _ernestoPresent to false>><<set _damianPresent to false>><<set _alexPresent to false>>\
\
<<if $RecuerdoErnesto1 is not true>>\
<<if (_currentTime >= 7 and _currentTime < 9)>>\
<<set _carmenPresent to true>>\
<</if>>\
<<if (_currentTime >= 12 and _currentTime < 14)>>\
<<set _carmenPresent to true>>\
<</if>>\
<<if (_currentTime >= 19 and _currentTime < 20.5)>>\
<<set _carmenPresent to true>>\
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8 and _currentTime < 8.5)>>\
<<set _ernestoPresent to true>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9.5 and _currentTime < 10)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_currentTime >= 12 and _currentTime < 13)>>\
<<set _alexPresent to true>>\
<</if>>\
\
<<if _carmenPresent and _alexPresent>>\
<<run setup.registerCharactersInLocation(['Carmen', 'Alex'])>>\
Carmen está preparando la comida mientras Alex está sentado en la mesa desayunando tarde. Apenas se hablan, la relación madre-hijo es fría. [[Observarlos|CarmenAlexCocina]]
<<set _charactersPresent.push('Carmen', 'Alex')>>\
<<elseif _carmenPresent and _damianPresent and _ernestoPresent>>\
<<run setup.registerCharactersInLocation(['Carmen', 'Ernesto', 'Damian'])>>\
Carmen está preparando el desayuno mientras Ernesto y Damián comen en la mesa. La familia parece funcional desde fuera, pero la conversación es escasa y forzada. [[Observarlos|CarmenErnestoAndDamianCocina]]
<<set _charactersPresent.push('Carmen', 'Ernesto', 'Damian')>>\
<<elseif _ernestoPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>\
Ernesto y Damián están desayunando juntos. El ambiente es tranquilo sin la presencia de Carmen. [[Observarlos|ErnestoDamianCocina]]
<<set _charactersPresent.push('Ernesto', 'Damian')>>\
<<elseif _carmenPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Carmen', 'Damian'])>>\
Carmen está preparando comida mientras Damián está en la mesa. Hay poca conversación entre ellos. [[Observarlos|CarmenDamianCocina]]
<<set _charactersPresent.push('Carmen', 'Damian')>>\
<<elseif _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Carmen'])>>\
Carmen está en la cocina preparando comida. Se mueve con eficiencia, concentrada en su tarea. [[Acercarte|Carmensolacocina]]
<<set _charactersPresent.push('Carmen')>>\
<<elseif _alexPresent>>\
<<run setup.registerCharactersInLocation(['Alex'])>>\
Alex está sentado solo en la mesa de la cocina desayunando tarde, picoteando comida con desgana. [[Acercarte|Alexsolococina]]
<<set _charactersPresent.push('Alex')>>\
<<elseif _damianPresent>>\
<<run setup.registerCharactersInLocation(['Damian'])>>\
Damián está desayunando solo en la cocina. Come rápidamente, concentrado en su comida. [[Acercarte|Damiansolococina]]
<<set _charactersPresent.push('Damian')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de Alex|habitacionalex]]
[[Ir al recibidor|recibidor1A]]
[[Ir al baño|baño1A]]
[[Ir al salón|salon1A]]
[[Ir a la habitación de matrimonio|habitacionmatrimonio1A]]
[[Ir a la habitación de Damián|habitaciondamian]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
The kitchen is beautiful. Perhaps where the workers and interior designers put the most dedication when they renovated the apartment four years ago. It seems like another gift from Ernesto to Carmen for his affairs. It's impossible to forget the couple's roots just by seeing the fruit bowl on the counter.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _carmenPresent to false>><<set _ernestoPresent to false>><<set _damianPresent to false>><<set _alexPresent to false>>\
\
<<if $RecuerdoErnesto1 is not true>>\
<<if (_currentTime >= 7 and _currentTime < 9)>>\
<<set _carmenPresent to true>>\
<</if>>\
<<if (_currentTime >= 12 and _currentTime < 14)>>\
<<set _carmenPresent to true>>\
<</if>>\
<<if (_currentTime >= 19 and _currentTime < 20.5)>>\
<<set _carmenPresent to true>>\
<</if>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8 and _currentTime < 8.5)>>\
<<set _ernestoPresent to true>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9.5 and _currentTime < 10)>>\
<<set _damianPresent to true>>\
<</if>>\
<<if (_currentTime >= 12 and _currentTime < 13)>>\
<<set _alexPresent to true>>\
<</if>>\
\
<<if _carmenPresent and _alexPresent>>\
<<run setup.registerCharactersInLocation(['Carmen', 'Alex'])>>\
Carmen is preparing lunch while Alex is sitting at the table having a late breakfast. They barely speak, the mother-son relationship is cold. [[Watch them|CarmenAlexCocina]]
<<set _charactersPresent.push('Carmen', 'Alex')>>\
<<elseif _carmenPresent and _damianPresent and _ernestoPresent>>\
<<run setup.registerCharactersInLocation(['Carmen', 'Ernesto', 'Damian'])>>\
Carmen is preparing breakfast while Ernesto and Damián eat at the table. The family seems functional from the outside, but the conversation is scarce and forced. [[Watch them|CarmenErnestoAndDamianCocina]]
<<set _charactersPresent.push('Carmen', 'Ernesto', 'Damian')>>\
<<elseif _ernestoPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>\
Ernesto and Damián are having breakfast together. The atmosphere is calm without Carmen's presence. [[Watch them|ErnestoDamianCocina]]
<<set _charactersPresent.push('Ernesto', 'Damian')>>\
<<elseif _carmenPresent and _damianPresent>>\
<<run setup.registerCharactersInLocation(['Carmen', 'Damian'])>>\
Carmen is preparing food while Damián is at the table. There's little conversation between them. [[Watch them|CarmenDamianCocina]]
<<set _charactersPresent.push('Carmen', 'Damian')>>\
<<elseif _carmenPresent>>\
<<run setup.registerCharactersInLocation(['Carmen'])>>\
Carmen is in the kitchen preparing food. She moves efficiently, focused on her task. [[Approach her|Carmensolacocina]]
<<set _charactersPresent.push('Carmen')>>\
<<elseif _alexPresent>>\
<<run setup.registerCharactersInLocation(['Alex'])>>\
Alex is sitting alone at the kitchen table having a late breakfast, picking at food listlessly. [[Approach him|Alexsolococina]]
<<set _charactersPresent.push('Alex')>>\
<<elseif _damianPresent>>\
<<run setup.registerCharactersInLocation(['Damian'])>>\
Damián is having breakfast alone in the kitchen. He eats quickly, focused on his food. [[Approach him|Damiansolococina]]
<<set _charactersPresent.push('Damian')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to Alex's room|habitacionalex]]
[[Go to the hallway|recibidor1A]]
[[Go to the bathroom|baño1A]]
[[Go to the living room|salon1A]]
[[Go to the master bedroom|habitacionmatrimonio1A]]
[[Go to Damián's room|habitaciondamian]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}
}, 100);
<</script>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.entrasnencasafumigador === true) {
var currentTime = State.variables.gameHours + (State.variables.gameMinutes / 60);
if (currentTime >= 23) {
Engine.play("echanfumigador");
}
}
}, 50);
<</script>><<set $alexExcitadoDestino to "habitacionalex">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen', 'Alex'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
No hay nada más revelador de las diferencias de horarios entre los miembros de la familia Rodríguez Cabrera que ver desayunando a Alex al mismo momento en que su madre está haciendo la comida.
<center><img src="images/Alex/alexycarmencocina.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen', 'Alex'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
There's nothing more revealing of the differences in schedules between the members of the Rodríguez Cabrera family than seeing Alex having breakfast at the same moment his mother is making lunch.
<center><img src="images/Alex/alexycarmencocina.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen', 'Damian', 'Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
A excepción de Alex, que seguramente dormirá hasta tarde, el resto de la familia se reúne para desayunar juntos y estrechar lazos.
<center><img src="images/Damian/desayunofamiliar.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen', 'Damian', 'Ernesto'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
Except for Alex, who will surely sleep in late, the rest of the family gathers to have breakfast together and strengthen their bonds.
<center><img src="images/Damian/desayunofamiliar.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen', 'Damian'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
Madre e hijo desayunan fruta y cereales. Se les ve relajados y en sintonía. Incluso puedes ver alguna sonrisa en la siempre antipática y tristona Carmen.
<center><img src="images/Damian/damianycarmencocina.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen', 'Damian'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
Mother and son are having fruit and cereal for breakfast. They seem relaxed and in harmony. You can even see some smiles on Carmen's usually unfriendly and gloomy face.
<center><img src="images/Damian/damianycarmencocina.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
Animada, Carmen prepara la comida mientras escucha música latina. No sabes exactamente qué está cocinando, pero huele de maravilla.
<center><img src="images/mujeres/carmencocina.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Carmen'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
Cheerfully, Carmen prepares lunch while listening to Latin music. You don't know exactly what she's cooking, but it smells wonderful.
<center><img src="images/mujeres/carmencocina.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $alexExcitadoDestino to "habitacionalex">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
A pesar de ser casi mediodía, Alex está ahora desayunando. Parece que tiene hambre, porque está devorando un paquete entero de galletas.
<center><img src="images/Alex/alexcocina.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Alex'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
Despite it being almost noon, Alex is having breakfast now. He seems hungry, as he's devouring an entire package of cookies.
<center><img src="images/Alex/alexcocina.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
En la cocina, Damián está desayunando alimentos equilibrados y energéticos para poder entrenar hoy al máximo.
<center><img src="images/Damian/damiancocina.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
In the kitchen, Damián is having breakfast with balanced and energizing foods to be able to train at his maximum today.
<center><img src="images/Damian/damiancocina.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
Alrededor de la mesa, los Rodríguez Cabrera cenan en silencio, escuchándose solo el sonido de la película que están viendo.
<center><img src="images/Ernesto/cenafamiliar.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
Around the table, the Rodríguez Cabrera family has dinner in silence, only the sound of the movie they're watching can be heard.
<center><img src="images/Ernesto/cenafamiliar.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
En la mesa, Damián y Ernesto cenan en silencio mientras miran en la tele algún evento deportivo.
<center><img src="images/Damian/damianyernestocenan.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
At the table, Damián and Ernesto have dinner in silence while watching some sporting event on TV.
<center><img src="images/Damian/damianyernestocenan.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
La familia mira en silencio el televisor, siguiendo la trama de alguna película.
<center><img src="images/Ernesto/familiavetele.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian', 'Carmen'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
The family watches TV in silence, following the plot of some movie.
<center><img src="images/Ernesto/familiavetele.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Cocina" />
</div>
Ernesto y Damián desayunan juntos en silencio. El padre lee el periódico mientras toma café, y el hijo come rápidamente sus cereales proteicos antes de salir a correr. La ausencia de Carmen hace que el ambiente sea más tranquilo, aunque la conversación sigue siendo escasa.
<center><img src="images/Ernesto/ernestoydamiancocina.png" width="500"></center>
[[Salir de la cocina|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1A.png" alt="Kitchen" />
</div>
Ernesto and Damián have breakfast together in silence. The father reads the newspaper while drinking coffee, and the son quickly eats his protein cereal before going out for a run. Carmen's absence makes the atmosphere more peaceful, although conversation remains scarce.
<center><img src="images/Ernesto/ernestoydamiancocina.png" width="500"></center>
[[Leave the kitchen|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $ernestoExcitadoDestino to "habitacionmatrimonio1A">>
<<set $damianExcitadoDestino to "habitaciondamian">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Salón" />
</div>
Ernesto y Damián están sentados en el sofá viendo la televisión. Ernesto está concentrado en algún evento deportivo mientras Damián mira su móvil de vez en cuando.
<center><img src="images/Ernesto/ernestoydamiansalon.png" width="500"></center>
[[Salir del salón|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Ernesto', 'Damian'])>>
<<set State.temporary.excitacionSuccessPassage = 'Ernestoexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon1A.png" alt="Living Room" />
</div>
Ernesto and Damián are sitting on the couch watching television. Without Carmen's presence, the atmosphere is more relaxed. Ernesto is focused on some sporting event while Damián occasionally checks his phone, though both share the same space without apparent tension.
<center><img src="images/Ernesto/ernestoydamiansalon.png" width="500"></center>
[[Leave the living room|recibidor1A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var allowedSemblantes = ["Exterminador de plagas", "Pest Exterminator"];
var isAllowed = false;
if (currentSemblante) {
isAllowed = allowedSemblantes.includes(currentSemblante.name) ||
allowedSemblantes.includes(currentSemblante.nameEn);
}
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1A.png" alt="Recibidor" />
</div>
Ernesto aparece en el pasillo con expresión seria.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Disculpe, pero ya es muy tarde. Tendrá que terminar el trabajo mañana.' },
{ speaker: 'sergio', text: 'Por supuesto, entiendo. Ya me retiro.' },
{ speaker: 'ernesto', text: 'Gracias por su comprensión. Que tenga buenas noches.' },
{ speaker: 'sergio', text: 'Igualmente. Hasta mañana.' }
],
options: [
[], // 1
[], // 2
[], // 3
[
{
text: 'Sales de la casa.',
action: function() {
State.variables.entrasnencasafumigador = false;
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1A.png" alt="Hallway" />
</div>
Ernesto appears in the hallway with a serious expression.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Ernesto", {
characters: [
{
id: 'ernesto',
name: 'Ernesto',
portrait: 'images/Ernesto/ernesto.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/fumigadorretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'ernesto', text: 'Excuse me, but it\'s very late now. You\'ll have to finish the work tomorrow.' },
{ speaker: 'sergio', text: 'Of course, I understand. I\'ll leave now.' },
{ speaker: 'ernesto', text: 'Thank you for your understanding. Have a good night.' },
{ speaker: 'sergio', text: 'You too. See you tomorrow.' }
],
options: [
[], // 1
[], // 2
[], // 3
[
{
text: 'You leave the house.',
action: function() {
State.variables.entrasnencasafumigador = false;
Engine.play("Rellano del 1º");
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1B.png" alt="Recibidor" />
</div>
Juanan aparece en el pasillo con expresión de preocupación.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#d35400',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: '¡Sergio! ¿Qué haces aún aquí? Ya es muy tarde.' },
{ speaker: 'sergio', text: 'Perdona, perdí la noción del tiempo...' },
{ speaker: 'juanan', text: 'Tienes que irte <em>ya</em>. Tao puede despertarse en cualquier momento y si te encuentra aquí...' },
{ speaker: 'sergio', text: 'Tienes razón, me voy ahora mismo.' },
{ speaker: 'juanan', text: '<em>Nervioso.</em> Sí, por favor. Ha sido genial verte, pero no podemos arriesgarnos.' },
{ speaker: 'sergio', text: 'Lo entiendo. Nos vemos pronto.' },
{ speaker: 'juanan', text: 'Claro. Buenas noches, Sergio.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[] // 7 - Sin opciones, redirección automática
]
})>>
text: 'Sales de la casa.',
action: function() {
State.variables.seacabalacita = true;
Engine.play("Rellano del 1º");
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/recibidor1B.png" alt="Hallway" />
</div>
Juanan appears in the hallway with a worried expression.
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Juanan", {
characters: [
{
id: 'juanan',
name: 'Juanan',
portrait: 'images/Juanan/juanan.png',
color: '#d35400',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'juanan', text: 'Sergio! What are you still doing here? It\'s very late.' },
{ speaker: 'sergio', text: 'Sorry, I lost track of time...' },
{ speaker: 'juanan', text: 'You need to leave <em>now</em>. Tao could wake up at any moment and if he finds you here...' },
{ speaker: 'sergio', text: 'You\'re right, I\'m leaving right now.' },
{ speaker: 'juanan', text: '<em>Nervous.</em> Yes, please. It was great seeing you, but we can\'t take the risk.' },
{ speaker: 'sergio', text: 'I understand. See you soon.' },
{ speaker: 'juanan', text: 'Sure. Good night, Sergio.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[] // 7 - No options, automatic redirect
]
})>>
text: 'Sales de la casa.',
action: function() {
State.variables.seacabalacita = true;
Engine.play("Rellano del 1º");
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<set $radicalizarrafa = true>>
<<script>>
State.variables.tiempoInicioRadicalizacionRafa = State.variables.gameTotalMinutes || 0;
<</script>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
Dem te observa, con ojos vivaces, a través de la pantalla de tu ordenador.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "¿Tienes alguna idea de cómo corromper a tu vecino de enfrente?" },
{ speaker: "sergio", text: "Creo que sí." },
{ speaker: "dem", text: "Cuéntame." },
{ speaker: "sergio", text: "He usado la app de Visión sexual y..." },
{ speaker: "dem", text: "<em>La sonrisa de Dem se ensancha.</em> ¿Y qué tal está tu vecino policía? ¿Está bueno?" },
{ speaker: "sergio", text: "<em>Te sonrojas.</em> ¡No!, bueno sí claro. Está espectacular pero, lo que quería decirte es que me he enterado de cosas. Rafael tiene mucha ira en su interior. Es un dominante en potencia. Creo que podemos atacarle por ahí." },
{ speaker: "dem", text: "Podría ser buena idea. ¿Cómo quieres que te ayude?" },
{ speaker: "sergio", text: "Pues... ¿Tienes algún modo de radicalizarlo aún más? Quiero que piense que la sociedad está perdida. Que los maleantes campan por las calles sin control. Y luego, entre esos mensajes, le cuelas unos vídeos algo kink." },
{ speaker: "dem", text: "No será complicado. Solo tengo que entrar en su móvil y afectar al algoritmo de sus redes sociales. Crear algunos perfiles falsos, noticias falsas, vídeos falsos..." },
{ speaker: "sergio", text: "¿De verdad puedes hacer todo eso?" },
{ speaker: "dem", text: "Claro. Eso sí, déjame una semana para que poco a poco le vaya calando. Luego habla con él y vemos cómo le ha ido." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Te desconectas del ordenador.",
action: function() {
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<set $radicalizarrafa = true>>
<<script>>
State.variables.tiempoInicioRadicalizacionRafa = State.variables.gameTotalMinutes || 0;
<</script>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
Dem watches you with lively eyes through your computer screen.
<center><img src="images/Sergio/dempc.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Do you have any ideas on how to corrupt your neighbor across the hall?" },
{ speaker: "sergio", text: "I think I do." },
{ speaker: "dem", text: "Tell me." },
{ speaker: "sergio", text: "I used the Sexual Vision app and..." },
{ speaker: "dem", text: "<em>Dem's smile widens.</em> And how's your cop neighbor? Is he hot?" },
{ speaker: "sergio", text: "<em>You blush.</em> No! Well, yes, of course. He's spectacular but, what I wanted to tell you is that I've found out some things. Rafael has a lot of anger inside him. He's a dominant in the making. I think we can attack him from that angle." },
{ speaker: "dem", text: "That could be a good idea. How do you want me to help?" },
{ speaker: "sergio", text: "Well... Do you have any way to radicalize him even more? I want him to think society is lost. That criminals roam the streets without control. And then, among those messages, you slip in some kinky videos." },
{ speaker: "dem", text: "It won't be complicated. I just need to get into his phone and affect his social media algorithm. Create some fake profiles, fake news, fake videos..." },
{ speaker: "sergio", text: "Can you really do all that?" },
{ speaker: "dem", text: "Of course. Just give me a week so it gradually sinks in. Then talk to him and we'll see how it went." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "You disconnect from the computer.",
action: function() {
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>> <<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Rafael. ¿Te has enterado de lo del robo en el barrio?' },
{ speaker: 'rafa', text: '¿Qué robo?' },
{ speaker: 'sergio', text: 'Uno en la joyería de la calle Andaluces. Iban armados y todo.' },
{ speaker: 'rafa', text: 'Este país se va a la mierda. Los políticos no hacen nada y cada vez hay más desgraciados libres por las calles.' },
{ speaker: 'sergio', text: '¿Estás seguro de eso?' },
{ speaker: 'rafa', text: 'Claro. <em>Saca su móvil y comienza a buscar en él.</em> Mira esto. Apuñalamientos a ancianos. Aumento de casos de carteristas. Agresiones en el transporte público...' },
{ speaker: 'sergio', text: 'Parece que el mundo se va a la mierda.' },
{ speaker: 'rafa', text: 'Se ha perdido la autoridad. Ya nadie cree en la jerarquía. No es sobre tener miedo. Es sobre saber cuál es el lugar de cada uno. Sobre aceptar las consecuencias de sus actos.' },
{ speaker: 'sergio', text: 'Tienes toda la razón. Pero, ¿qué se puede hacer?' },
{ speaker: 'rafa', text: 'Pues es obvio. Recuperar el dominio. Recuperar el poder. Y para eso, solo hace falta voluntad. Mira.' }
],
options: [
[], [], [], [], [], [], [], [], [],
[
{
text: 'Continuar',
action: function() {
Engine.play('RafaRadicalizadoImagenes');
}
}
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey Rafael. Did you hear about the robbery in the neighborhood?' },
{ speaker: 'rafa', text: 'What robbery?' },
{ speaker: 'sergio', text: 'One at the jewelry store on Andaluces street. They were armed and everything.' },
{ speaker: 'rafa', text: 'This country is going to shit. Politicians do nothing and there are more and more scumbags free on the streets.' },
{ speaker: 'sergio', text: 'Are you sure about that?' },
{ speaker: 'rafa', text: 'Of course. <em>He takes out his phone and starts searching.</em> Look at this. Stabbings of elderly people. Increase in pickpocketing cases. Assaults on public transport...' },
{ speaker: 'sergio', text: 'Seems like the world is going to hell.' },
{ speaker: 'rafa', text: 'Authority has been lost. No one believes in hierarchy anymore. It\'s not about being afraid. It\'s about knowing everyone\'s place. About accepting the consequences of their actions.' },
{ speaker: 'sergio', text: 'You\'re absolutely right. But what can be done?' },
{ speaker: 'rafa', text: 'Well, it\'s obvious. Recover dominance. Recover power. And for that, all you need is will. Look.' }
],
options: [
[], [], [], [], [], [], [], [], [],
[
{
text: 'Continue',
action: function() {
Engine.play('RafaRadicalizadoImagenes');
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Rafael/rafa.png" alt="Rafael">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Rafael</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosRafael>></strong> recuerdo<<if $recuerdosRafael > 1>>s<</if>> especial<<if $recuerdosRafael > 1>>es<</if>> con Rafael.
</p>
<<else>>
<div class="header-image">
<img src="images/Rafael/rafa.png" alt="Rafael">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Rafael</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosRafael>></strong> special memor<<if $recuerdosRafael > 1>>ies<<else>>y<</if>> with Rafael.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoRafael1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Rafa, el extremista</h3>
<p>Dem radicaliza a Rafael.</p>
<<else>>
<h3>Memory 1: Rafa, the extremist</h3>
<p>Dem radicalizes Rafael.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRafael1">><</link>>
<<else>>
<<link "View →" "RecuerdoRafael1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRafael2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: El castigo necesario</h3>
<p>Rafa le muestra a un alborotador quién manda.</p>
<<else>>
<h3>Memory 2: The necessary punishment</h3>
<p>Rafa shows a troublemaker who's in charge.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRafael2">><</link>>
<<else>>
<<link "View →" "RecuerdoRafael2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRafael3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRafael3">><</link>>
<<else>>
<<link "View →" "RecuerdoRafael3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRafael4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRafael4">><</link>>
<<else>>
<<link "View →" "RecuerdoRafael4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRafael5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Rafael...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Rafael...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRafael5">><</link>>
<<else>>
<<link "View →" "RecuerdoRafael5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: Rafa, el extremista</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Usando la app Visión Sexual descubres la frustración de cuarentón que Rafa esconde. Decidiste que debías potenciarla para poder usarla más adelante en tu misión de corromperlo. Para ello, te conectaste a tu ordenador y me pediste que te ayudara. Yo, tu gran amigo demoníaco, creé perfiles, noticias, imágenes, todo un arsenal de falsedades para radicalizarlo aún más.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras varios días, decidiste comprobar cómo iba el proceso. Hablaste con tu vecino y este enseguida mordió tu anzuelo, explicándote lo mal que iba el mundo y lo necesario de recuperar la autoridad frente a "esos delincuentes". Lo más sorprendente pasó después, cuando te mostró varios de mis perfiles falsos en los que colaba imágenes sexuales gay sobre dominación y sumisión.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafaradical1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Hombres que le comían los pies a otros. Jóvenes que eran marcados con orina, padres que recuperaban su poder en casa mediante azotes... Todo lo veía ahora Rafa como soluciones para el problema actual.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafaradical2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ahora que ya estaba radicalizado y convencido, solo falta que se anime y dé el primer paso. En eso seguro que deberás ayudarlo tú.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafaradical3.webm" type="video/webm"></video></center>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: Rafa, the Extremist</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Using the Sexual Vision app, you discovered the frustration of a forty-something man that Rafa hides. You decided you needed to enhance it to use it later in your mission to corrupt him. To do this, you connected to your computer and asked me to help you. I, your great demonic friend, created profiles, news, images, a whole arsenal of falsehoods to radicalize him even more.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After several days, you decided to check how the process was going. You talked to your neighbor and he immediately took your bait, explaining how bad the world was going and how necessary it was to recover authority against "those criminals". The most surprising thing happened afterwards, when he showed you several of my fake profiles in which I slipped gay sexual images about domination and submission.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafaradical1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Men having their feet licked by others. Young men being marked with urine, fathers recovering their power at home through spankings... Rafa now saw everything as solutions to the current problem.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafaradical2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Now that he was already radicalized and convinced, all that's left is for him to get encouraged and take the first step. You'll surely have to help him with that.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafaradical3.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Rafael" "RecuerdosRafael">><</link>>
<<else>>
<<link "⬅️ Back to Rafael's Memories" "RecuerdosRafael">><</link>>
<</if>>
</div><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: El castigo necesario</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Rafa ya estaba del todo radicalizado, obsesionado con el fin de la civilización. Tras una conversación en el parque, le insinuaste que solo él, como policía y persona involucrada en la seguridad, podía ayudar a su barrio impartiendo justicia. Ahora solo quedaba que alguien actuara como su primera "víctima".
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Solo había que dar una vuelta por el parque para coger ideas de cómo debería ser un perfecto delincuente juvenil. Luego usaste la app de Semblante Artificial para convertirte en uno y, fingiendo un robo de poca monta, dejaste que Rafael te persiguiera y te detuviera en una parte alejada del parque, donde te amarró a un árbol.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafadomparque1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Aún atado, te mostraste desafiante, insultándole para provocarle más. Rafa no dudó al final en actuar, y desgarrándote la camiseta y bajándote los pantalones, te dejó desnudo. Sus insultos y actitud dominante te excitaron y cuando tu vecino se percató de eso, tú te mostraste avergonzado, lo que favoreció a que el policía lo "usara en tu contra".
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafadomparque2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Entonces, liberándote levemente de tu presa, Rafa usó tu garganta como si fuera el coño de su mujer, follándotela de manera salvaje hasta que se vació en tu estómago. Espero que hayas aprendido la lección. Él parece que ha aprendido a hacer obedecer a los niños malos.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafadomparque3.webm" type="video/webm"></video></center>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 2: The Necessary Punishment</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Rafa was already completely radicalized, obsessed with the end of civilization. After a conversation in the park, you insinuated to him that only he, as a police officer and person involved in security, could help his neighborhood by administering justice. Now all that remained was for someone to act as his first "victim."
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
All you had to do was take a walk around the park to get ideas of what a perfect juvenile delinquent should be like. Then you used the Artificial Semblance app to transform yourself into one and, pretending to commit a petty theft, you let Rafael chase you and stop you in a remote part of the park, where he tied you to a tree.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafadomparque1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Even while tied up, you were defiant, insulting him to provoke him further. Rafa didn't hesitate in the end to act, and tearing your shirt and pulling down your pants, he left you naked. His insults and dominant attitude excited you and when your neighbor noticed this, you showed embarrassment, which allowed the cop to "use it against you."
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafadomparque2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then, freeing you slightly from your restraints, Rafa used your throat as if it were his wife's pussy, fucking it savagely until he emptied himself into your stomach. I hope you've learned your lesson. He seems to have learned how to make bad boys obey.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Rafael/rafadomparque3.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Rafael" "RecuerdosRafael">><</link>>
<<else>>
<<link "⬅️ Back to Rafael's Memories" "RecuerdosRafael">><</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
Se acerca a ti y vuelve a mostrarte su móvil. Entra en una red social y entra en un perfil de algún bot creado seguramente por Dem. En él, una voz robótica expone primero los "problemas" de la sociedad actual para luego, referir las soluciones.
Las imágenes cambian de recortes de prensa manipulados e imágenes sacadas de contexto a la de dos jóvenes. Uno de ellos lame el pie del otro, mientras el receptor de la lamida se encuentra solemne sentado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaradical1.webm" type="video/webm"></video></center>
Con el dedo, Rafael cambia a otro perfil, en la que comienza con la misma perorata para acabar, esta vez, con la imagen de un hombre de unos 40 años dándole unos azotes a un jovencito, que ya tiene las nalgas bien rojas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaradical2.webm" type="video/webm"></video></center>
El tercer vídeo que pone tiene un discurso similar, aunque se centra en el "estado permisivo" que disfruta la población carcelaria. Al final del vídeo habla sobre exitosos métodos correctivos, y lo ilustra con la imagen de un hombre, atado a una silla, mientras un dildo en el culo le vibra hasta hacerle correrse.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaradical3.webm" type="video/webm"></video></center>
"Alguien tiene que hacer algo" acaba diciendo Rafa, mientras aparta el móvil y se despide de ti, dejándote asombrado de que tu vecino policía hubiera estado consumiendo esos vídeos sin darse cuenta de lo sexualizados que eran.
<<set $corrupcionRafael to 5>>
<<set $notaRafael2 to true>>
<<set $rafaRadicalizado to false>>
<<set $notaRafael1 to false>>
<<if not $recuerdosRafael>><<set $recuerdosRafael = 0>><</if>>
<<set $recuerdosRafael += 1>>
<<set $RecuerdoRafael1 = true>>
[[Continuar|$previousPassageBeforeDialogue]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
He approaches you and shows you his phone again. He enters a social network and opens a profile of some bot surely created by Dem. In it, a robotic voice first exposes the "problems" of current society and then refers to the solutions.
The images change from manipulated press clippings and images taken out of context to that of two young men. One of them licks the other's foot, while the recipient of the licking sits solemnly.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaradical1.webm" type="video/webm"></video></center>
With his finger, Rafael switches to another profile, which starts with the same speech but ends, this time, with the image of a man in his 40s spanking a young man, whose buttocks are already very red.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaradical2.webm" type="video/webm"></video></center>
The third video he plays has a similar speech, although it focuses on the "permissive state" enjoyed by the prison population. At the end of the video it talks about successful corrective methods, and illustrates it with the image of a man, tied to a chair, while a dildo in his ass vibrates until it makes him cum.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaradical3.webm" type="video/webm"></video></center>
"Someone has to do something" Rafa ends up saying, as he puts away his phone and says goodbye to you, leaving you amazed that your cop neighbor had been consuming those videos without realizing how sexualized they were.
<<set $corrupcionRafael to 5>>
<<set $notaRafael2 to true>>
<<set $notaRafael1 to false>>
<<set $rafaRadicalizado to false>>
<<if not $recuerdosRafael>><<set $recuerdosRafael = 0>><</if>>
<<set $recuerdosRafael += 1>>
<<set $RecuerdoRafael1 = true>>
[[Continue|$previousPassageBeforeDialogue]]
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Rafael. Perdona que te rompa el ritmo del ejercicio, pero necesito hablar contigo.' },
{ speaker: 'rafa', text: '¿De qué se trata?' },
{ speaker: 'sergio', text: 'No dejo de pensar en lo que dijiste el otro día sobre cómo se ha perdido la autoridad en la sociedad y de cómo crece la delincuencia sin control.' },
{ speaker: 'rafa', text: 'Sí. El mundo se va a la mierda.' },
{ speaker: 'sergio', text: 'Sí. Pero menos mal que queda gente como tú. Policías que no dudarán en aplicar justicia.' },
{ speaker: 'rafa', text: '<em>Se te queda mirando</em> Claro.' },
{ speaker: 'sergio', text: 'Mira alrededor, en este mismo parque. Está lleno de chavales gándules y porreros. Ojalá alguien haga lo que sea necesario y les dé por fin una lección.' },
{ speaker: 'rafa', text: '<em>Rafa se queda en silencio y asiente, pensativo.</em>' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{
text: 'Te despides',
action: function() {
State.variables.Semblantedelincuente = true;
Engine.play("Parque");
}
}
]
]
})>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi Rafael. Sorry to interrupt your workout rhythm, but I need to talk to you.' },
{ speaker: 'rafa', text: 'What\'s it about?' },
{ speaker: 'sergio', text: 'I can\'t stop thinking about what you said the other day about how authority has been lost in society and how crime is growing out of control.' },
{ speaker: 'rafa', text: 'Yeah. The world is going to shit.' },
{ speaker: 'sergio', text: 'Yeah. But thank goodness there are still people like you. Cops who won\'t hesitate to enforce justice.' },
{ speaker: 'rafa', text: '<em>Stares at you</em> Right.' },
{ speaker: 'sergio', text: 'Look around, in this very park. It\'s full of lazy kids and potheads. I wish someone would do whatever it takes and finally teach them a lesson.' },
{ speaker: 'rafa', text: '<em>Rafa remains silent and nods, thoughtful.</em>' }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{
text: 'You say goodbye',
action: function() {
State.variables.Semblantedelincuente = true;
Engine.play("Parque");
}
}
]
]
})>>
<</if>><<run setup.gameTime.addMinutes(25)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
<<if $notaRafael2 is true>>
<!-- PRIMERA VEZ - Persecución inicial -->
Decides que la manera más rápida de provocar un crimen cerca de Rafael para que este actúe es haciéndolo tú mismo, así que convertido en un delincuente estándar, te acercas a donde Rafa entrena con las barras para provocar un altercado. Disimuladamente, te dejas observar por el resto de hombres y, cuando parecen no mirar, agarras la primera sudadera sudada de uno de los hombres que entrenan en el parque y esperas que alguien te descubra.
"¡Eh, ¿qué haces?" Escuchas mientras te alejas rápidamente pero sin correr, atento a la señal. Entonces ves cómo Rafael se te encara y, decidido, comienzas a correr mientras arrojas la sudadera y compruebas que tu presa se convierte en tu cazador y corre tras de ti.
Te alejas hasta llegar a un lado apartado y casi privado del parque, donde Rafael te alcanza. Casi te derriba del impulso al agarrarte y empujarte contra un árbol. Inmediatamente, quitándote el cinturón del pantalón, te agarra del cuello y te ata al árbol más cercano, dejándote inmovilizado. Luego siguen las manos, de las que saca una cuerda que, sin saber por qué, la tenías en tu bolsillo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque1.webm" type="video/webm"></video></center>
"Ahora ya no quieres correr, ¿verdad escoria?" Te dice, mientras te mira fijamente y te coge del mentón.
[[Te muestras sumiso para que te deje marchar|rafatedejamarchar]]
[[Te muestras desafiante|rafadomparque]]
<<else>>
<!-- SEGUNDA VEZ - Repetición de la experiencia -->
No puedes evitar volver a repetir la experiencia de sumisión frente al policía. Te acercas a donde él entrena y le levantas un dedo. Luego te alejas, sin necesidad de correr, y ves perfectamente cómo Rafael te sigue a varios metros de distancia. Cuando llegáis a una parte tranquila del parque te encaras con él. Te vuelves a mostrar desafiante, incluso le escupes, pero Rafa enseguida vuelve a colocarte en tu lugar, que es de rodillas y comiéndole la polla. Dejas que te folle la garganta de nuevo hasta que se corre sobre tu rostro. Solo se despide con una bofetada y una amenaza si te vuelve a ver.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque3.webm" type="video/webm"></video></center>
[[Continuar|Parque]]
<</if>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
<<if $notaRafael2 is true>>
<!-- FIRST TIME - Initial chase -->
You decide that the quickest way to provoke a crime near Rafael so he'll act is to do it yourself, so transformed into a standard delinquent, you approach where Rafa is training with the bars to provoke an altercation. Discreetly, you let yourself be observed by the rest of the men and, when they seem not to be looking, you grab the first sweaty hoodie from one of the men training in the park and wait for someone to discover you.
"Hey, what are you doing?" You hear as you move away quickly but without running, alert to the signal. Then you see Rafael confront you and, determined, you begin to run while throwing the hoodie and verify that your prey becomes your hunter and runs after you.
You run away until you reach a secluded and almost private side of the park, where Rafael catches up with you. He almost knocks you down from the momentum when he grabs you and pushes you against a tree. Immediately, taking off your belt, he grabs you by the neck and ties you to the nearest tree, leaving you immobilized. Then come the hands, from which he pulls out a rope that, without knowing why, you had in your pocket.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque1.webm" type="video/webm"></video></center>
"Now you don't want to run anymore, do you scum?" He tells you, while staring at you and grabbing your chin.
[[You show submission so he'll let you go|rafatedejamarchar]]
[[You show defiance|rafadomparque]]
<<else>>
<!-- SECOND TIME - Repeat experience -->
You can't help but repeat the experience of submission before the cop. You approach where he's training and flip him off. Then you walk away, without needing to run, and you can clearly see Rafael following you several meters behind. When you reach a quiet part of the park, you confront him. You show defiance again, even spit at him, but Rafa quickly puts you back in your place, which is on your knees sucking his cock. You let him fuck your throat again until he cums on your face. He only says goodbye with a slap and a threat if he sees you again.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafaeldomparque3.webm" type="video/webm"></video></center>
[[Continue|Parque]]
<</if>>
<</if>><<run setup.gameTime.addMinutes(25)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque dia" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/delincuenteretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Perdón... <em>Dices con esfuerzo.</em>' },
{ speaker: 'rafa', text: '¿Ya no corres, verdad escoria?' },
{ speaker: 'sergio', text: 'Déjame irme y no volveré a...' },
{ speaker: 'rafa', text: 'Claro que lo harás. Tus promesas no valen nada. Pero ahora sabes que hay alguien que siempre te detendrá. Con los medios que sean necesarios.' },
{ speaker: 'sergio', text: 'Por favor...' },
{ speaker: 'rafa', text: '<em>Comienza a liberarte.</em> No olvides mi cara.' },
{ speaker: 'rafa', text: 'Y ahora, ¡largo!' }
],
options: [
[],
[],
[],
[],
[],
[],
[
{
text: 'Te marchas corriendo',
action: function() {
Engine.play("Parque");
}
}
]
]
})>>
<<else>>
<!-- ============ VERSIÓN INGLESA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Rafa", {
characters: [
{
id: 'rafa',
name: 'Rafael',
portrait: 'images/Rafael/rafa.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/delincuenteretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Sorry... <em>You say with effort.</em>' },
{ speaker: 'rafa', text: 'Not running anymore, are you scum?' },
{ speaker: 'sergio', text: 'Let me go and I won\'t...' },
{ speaker: 'rafa', text: 'Of course you will. Your promises are worthless. But now you know there\'s someone who will always stop you. By any means necessary.' },
{ speaker: 'sergio', text: 'Please...' },
{ speaker: 'rafa', text: '<em>He begins to free you.</em> Don\'t forget my face.' },
{ speaker: 'rafa', text: 'And now, get out of here!' }
],
options: [
[],
[],
[],
[],
[],
[],
[
{
text: 'You run away',
action: function() {
Engine.play("Parque");
}
}
]
]
})>>
<</if>><<run setup.gameTime.addMinutes(30)>>
<<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque día" />
</div>
"Quítame las manos de encima, cabrón", le gritas con esfuerzo por el cinturón en la garganta mientras le miras desafiante y altivo. "Voy a partirte la cara".
La expresión de Rafael se torna burlesca y comienzas a tener algo de miedo. ¿Quizá te has pasado provocándole?
"¿Me amenazas? ¿Estando atado a un árbol? ¿Es que no sabes que has perdido? ¿Es que no sabes que ahora mando yo?"
Entonces te abofetea. Un golpe sordo que enrojece al momento tu cara. Luego se aproxima y, con dos tirones fuertes, comienza a desgarrar tu camiseta. Después se dirige a tus pantalones y te los baja, dejándote expuesto y desnudo públicamente.
"No puedes exigir nada", vuelve a decirte a dos centímetros de ti, y su aliento caliente te acaricia los labios. "Creías que podías hacer lo que quisieras porque creías tener poder, pero estás del todo equivocado".
Entonces tu polla comienza a reaccionar. Tenerlo tan cerca y mirándote de esa forma te excita, y tu polla golpea enseguida su pantalón.
"Puto maricón de mierda", dice, apartándose. "¿Te estás poniendo cachondo?"
"No", niegas. "Tú eres el maricón que me ha desnudado".
"¿Cómo llamas a esto?", te dice, mientras te agarra con fuerza el miembro y te lo estruja. "Tu cuerpo sabe que este es tu lugar y por eso reacciona de esa manera ante mí".
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque2.webm" type="video/webm"></video></center>
De nuevo vuelve a agarrarte del cuello y se acerca tanto a tu rostro que casi podrías besarlo. "Eres una perra salida. Debes aprender quién manda en este barrio".
Entonces, de dos fuertes tirones te libera del cinturón. Luego te desata levemente del árbol para que, aún atado a él, puedas moverte ligeramente. No espera demasiado para obligarte a agacharte. Tiene una fuerza sorprendente y tú apenas te resistes. Con una sonrisa de maníaco, tu vecino se desabrocha el pantalón para sacar una polla larga y dura, que aparece a escasos centímetros de tu cara.
"Cómesela a tu amo", te dice, y tú, aunque lo deseas, te niegas con la cabeza. Entonces Rafael comienza a restregarla por tu cara y tus labios, mientras tú gimoteas, abriendo ligeramente tus labios para saborear esa delicia. "He dicho que te la metas en la boca", vuelve a ordenar, más fuerte, y esta vez obedeces, y sin piedad te la mete lo más profundamente posible.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque3.webm" type="video/webm"></video></center>
Comienza a mover su cintura, y su polla te perfora la garganta sin piedad mientras las babas te caen entre las comisuras de tus labios. Rafael no se detiene en ningún momento, siguiendo con su follada salvaje. Tras varios minutos en los que notas que te ahogas, Rafael te agarra de la coronilla con más fuerza y notas cómo se vacía dentro de tu garganta. Cuando te la saca, no puedes evitar toser restos de su esperma.
"No quiero volver a verte por este lugar", te dice, mientras se abrocha el pantalón. "Si eso vuelve a pasar, repetiremos la lección hasta que la aprendas". Luego se marcha, dejándote desnudo y atado. La cuerda está bastante floja, por lo que puedes quitártela y abandonar el lugar, pensando en lo extraña y excitante que ha sido la experiencia.
[[Continuar|Exterior]]
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park day" />
</div>
"Get your fucking hands off me, asshole," you shout with effort due to the belt around your throat while you look at him defiantly and haughtily. "I'm going to break your face."
Rafael's expression turns mocking and you start to feel a bit scared. Maybe you went too far provoking him?
"Are you threatening me? While tied to a tree? Don't you know you've lost? Don't you know I'm in charge now?"
Then he slaps you. A dull blow that immediately reddens your face. Then he approaches and, with two strong tugs, begins to tear your shirt. Next he goes for your pants and pulls them down, leaving you exposed and naked in public.
"You can't demand anything," he tells you again, two centimeters from you, and his hot breath caresses your lips. "You thought you could do whatever you wanted because you thought you had power, but you're completely wrong."
Then your cock begins to react. Having him so close and looking at you that way excites you, and your cock immediately hits his pants.
"Fucking faggot," he says, pulling away. "Are you getting horny?"
"No," you deny. "You're the faggot who stripped me."
"What do you call this?" he says, while he grabs your member firmly and squeezes it. "Your body knows this is your place and that's why it reacts this way to me."
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque2.webm" type="video/webm"></video></center>
Again he grabs you by the neck and gets so close to your face that you could almost kiss him. "You're a horny bitch. You need to learn who's in charge in this neighborhood."
Then, with two strong tugs he frees you from the belt. Then he unties you slightly from the tree so that, still tied to it, you can move slightly. He doesn't wait long to force you to crouch down. He has surprising strength and you barely resist. With a maniac's smile, your neighbor unbuttons his pants to pull out a long, hard cock that appears just centimeters from your face.
"Suck your master's cock," he tells you, and you, even though you want to, refuse with your head. Then Rafael starts rubbing it against your face and lips, while you whimper, slightly opening your lips to taste that delight. "I said put it in your mouth," he orders again, louder, and this time you obey, and mercilessly he shoves it in as deep as possible.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Rafael/rafadomparque3.webm" type="video/webm"></video></center>
He starts moving his hips, and his cock pierces your throat mercilessly while drool runs down the corners of your lips. Rafael doesn't stop at any moment, continuing with his savage fucking. After several minutes in which you feel like you're choking, Rafael grabs your crown harder and you feel him empty himself inside your throat. When he pulls it out, you can't help but cough up remnants of his cum.
"I don't want to see you around this place again," he tells you, while he buttons his pants. "If that happens again, we'll repeat the lesson until you learn it." Then he leaves, leaving you naked and tied. The rope is quite loose, so you can take it off and leave the place, thinking about how strange and exciting the experience has been.
[[Continue|Exterior]]
<</if>>
<<set $corrupcionRafael to 30>>
<<set $notaRafael3 to true>>
<<set $notaRafael2 to false>>
<<set $RecuerdoRafael2 to true>>
<<set $recuerdosRafael += 1>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Maite", {
characters: [
{
id: 'maite',
name: 'Maite',
portrait: 'images/mujeres/maite.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Maite. ¿Cómo se encuentra hoy?' },
{ speaker: 'maite', text: '¿Nos conocemos, joven?' },
{ speaker: 'sergio', text: 'Soy Sergio, el vecino del 2A. ¿No se acuerda?' },
{ speaker: 'maite', text: '¡Ah sí, el nieto de Federico! ¡Qué despistada soy! La edad, ya sabes... ¿Necesitas algo?' },
{ speaker: 'sergio', text: '¿No se lo ha dicho su marido? Había quedado con él por unos libros que me ha recomendado.' },
{ speaker: 'maite', text: 'Tomás ahora no está, pero no creo que tarde en volver. Pasa y ponte cómodo.' },
{ speaker: 'sergio', text: 'Gracias.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Entras en la casa',
action: 'GOTO:recibidor3B'
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Maite", {
characters: [
{
id: 'maite',
name: 'Maite',
portrait: 'images/mujeres/maite.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello Maite. How are you today?' },
{ speaker: 'maite', text: 'Do we know each other, young man?' },
{ speaker: 'sergio', text: 'I\'m Sergio, the neighbor from 2A. Don\'t you remember?' },
{ speaker: 'maite', text: 'Oh yes, Federico\'s grandson! How absent-minded I am! Old age, you know... Do you need something?' },
{ speaker: 'sergio', text: 'Hasn\'t your husband told you? I had arranged to meet him about some books he recommended.' },
{ speaker: 'maite', text: 'Tomás isn\'t here right now, but I don\'t think he\'ll be long. Come in and make yourself comfortable.' },
{ speaker: 'sergio', text: 'Thank you.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You enter the house',
action: 'GOTO:recibidor3B'
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor3B.png" alt="Recibidor" />
</div>
La casa de Tomás y Maite es como viajar al pasado, y el recibidor es el mejor ejemplo de ello. Los muebles están pasados de moda pero no rotos, y un ligero olor a naftalina flota por el ambiente.
[[Ir al salón|salon3B]]
[[Ir al baño|baño3B]]
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor3B.png" alt="Hallway" />
</div>
Tomás and Maite's house is like travelling back in time, and the hallway is the best example of this. The furniture is outdated but not broken, and a faint smell of mothballs floats in the air.
[[Go to the living room|salon3B]]
[[Go to the bathroom|baño3B]]
[[Go to the master bedroom|habitaciontomas]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $tomasExcitadoDestino to "salon3B">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
El salón del 3B bien podría usarse para grabar alguna película de los 80. Los muebles pasados de moda combinan perfectamente con los aparatos electrónicos ya desfasados, aunque a los habitantes de esta casa no parece importarles.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 10 and _currentTime < 13)>>\
Tomás y Maite están descansando en el salón. Tomás lee el periódico mientras Maite observa por la ventana. [[Observarlos|TomasMaiteSalon]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<<elseif (_currentTime >= 13 and _currentTime < 14)>>\
<<if $Abelcontacto is true>>\
Tomás, Maite y Abel están almorzando juntos en la mesa del salón. [[Observarlos|TomasMaiteAbelComiendo]]
<<set _charactersPresent.push('Tomas', 'Maite', 'Abel')>>\
<<else>>\
Tomás y Maite están almorzando juntos en la mesa del salón, charlando suavemente sobre su día. [[Observarlos|TomasMaiteComiendo]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<</if>>\
<<elseif (_currentTime >= 14 and _currentTime < 16)>>\
Tomás está leyendo el periódico tranquilamente en su sillón favorito. [[Observarlo|TomasLeyendoPeriodico]]
<<set _charactersPresent.push('Tomas')>>\
<<elseif (_currentTime >= 18 and _currentTime < 20)>>\
Tomás y Maite están viendo la televisión juntos en el sofá, disfrutando de un programa. [[Observarlos|TomasMaiteTele]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<<elseif (_currentTime >= 20 and _currentTime < 21)>>\
<<if $Abelcontacto is true>>\
Tomás, Maite y Abel están cenando juntos en la mesa del salón. [[Observarlos|TomasMaiteAbelComiendo]]
<<set _charactersPresent.push('Tomas', 'Maite', 'Abel')>>\
<<else>>\
Tomás y Maite están cenando juntos en la mesa del salón, conversando tranquilamente. [[Observarlos|TomasMaiteCenando]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<</if>>\
<<elseif (_currentTime >= 21 and _currentTime < 24)>>\
<<if $Abelcontacto is true>>\
Tomás, Maite y Abel están viendo la televisión antes de dormir. [[Observarlos|TomasMaiteAbelTele]]
<<set _charactersPresent.push('Tomas', 'Maite', 'Abel')>>\
<<else>>\
Tomás y Maite están viendo la televisión antes de irse a dormir, comentando el programa. [[Observarlos|TomasMaiteTele]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<</if>>\
<<else>>\
El salón está vacío. Los muebles antiguos y la televisión apagada le dan un aspecto tranquilo y silencioso.
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Mirar en los estantes|estanteriapremios]]
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $tomasExcitadoDestino to "salon3B">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
The 3B living room could well be used to film some 80s movie. The outdated furniture combines perfectly with the already obsolete electronic devices, although the inhabitants of this house don't seem to mind.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 10 and _currentTime < 13)>>\
Tomás and Maite are resting in the living room. Tomás reads the newspaper while Maite looks out the window. [[Watch them|TomasMaiteSalon]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<<elseif (_currentTime >= 13 and _currentTime < 14)>>\
<<if $Abelcontacto is true>>\
Tomás, Maite and Abel are having lunch together at the living room table. [[Watch them|TomasMaiteAbelComiendo]]
<<set _charactersPresent.push('Tomas', 'Maite', 'Abel')>>\
<<else>>\
Tomás and Maite are having lunch together at the living room table, chatting softly about their day. [[Watch them|TomasMaiteComiendo]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<</if>>\
<<elseif (_currentTime >= 14 and _currentTime < 16)>>\
Tomás is quietly reading the newspaper in his favorite armchair. [[Watch him|TomasLeyendoPeriodico]]
<<set _charactersPresent.push('Tomas')>>\
<<elseif (_currentTime >= 18 and _currentTime < 20)>>\
Tomás and Maite are watching television together on the sofa, enjoying a program. [[Watch them|TomasMaiteTele]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<<elseif (_currentTime >= 20 and _currentTime < 21)>>\
<<if $Abelcontacto is true>>\
Tomás, Maite and Abel are having dinner together at the living room table. [[Watch them|TomasMaiteAbelComiendo]]
<<set _charactersPresent.push('Tomas', 'Maite', 'Abel')>>\
<<else>>\
Tomás and Maite are having dinner together at the living room table, conversing calmly. [[Watch them|TomasMaiteCenando]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<</if>>\
<<elseif (_currentTime >= 21 and _currentTime < 24)>>\
<<if $Abelcontacto is true>>\
Tomás, Maite and Abel are watching television before going to bed. [[Watch them|TomasMaiteAbelTele]]
<<set _charactersPresent.push('Tomas', 'Maite', 'Abel')>>\
<<else>>\
Tomás and Maite are watching television before going to bed, commenting on the program. [[Watch them|TomasMaiteTele]]
<<set _charactersPresent.push('Tomas', 'Maite')>>\
<</if>>\
<<else>>\
The living room is empty. The antique furniture and the turned-off television give it a calm and quiet appearance.
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Look on the shelves|estanteriapremios]]
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Baño 3B" />
</div>
El baño del 3B tiene ese encanto involuntario de lo que nunca se renovó. Azulejos de los 70 en tonos mostaza y marrón, un espejo con el marco de madera y jabones de pastilla. Huele a agua de colonia clásica y a limpio de verdad.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _tomasPresent to false>><<set _abelPresent to false>>\
\
<<if (_currentTime >= 8 and _currentTime < 9)>>\
<<set _tomasPresent to true>>\
<</if>>\
<<if $Abelcontacto is true>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 10 and _currentTime < 10.5)>>\
<<set _abelPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 11 and _currentTime < 11.5)>>\
<<set _abelPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 12 and _currentTime < 12.5)>>\
<<set _abelPresent to true>>\
<</if>>\
<</if>>\
\
<<if _tomasPresent>>\
<<run setup.registerCharactersInLocation(['Tomas'])>>\
<<set _charactersPresent.push('Tomas')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Tomás se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Tomasbaño')>><</link>>
<</if>>
<<elseif _abelPresent>>\
<<run setup.registerCharactersInLocation(['Abel'])>>\
<<set _charactersPresent.push('Abel')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Abel se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Abelducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir al salón|salon3B]]
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Bathroom 3B" />
</div>
The 3B bathroom has that involuntary charm of something that was never renovated. 70s tiles in mustard and brown tones, a mirror with a wooden frame and bar soap. It smells of classic cologne and genuinely clean.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _tomasPresent to false>><<set _abelPresent to false>>\
\
<<if (_currentTime >= 8 and _currentTime < 9)>>\
<<set _tomasPresent to true>>\
<</if>>\
<<if $Abelcontacto is true>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 10 and _currentTime < 10.5)>>\
<<set _abelPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 11 and _currentTime < 11.5)>>\
<<set _abelPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 12 and _currentTime < 12.5)>>\
<<set _abelPresent to true>>\
<</if>>\
<</if>>\
\
<<if _tomasPresent>>\
<<run setup.registerCharactersInLocation(['Tomas'])>>\
<<set _charactersPresent.push('Tomas')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Tomás is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Tomasbaño')>><</link>>
<</if>>
<<elseif _abelPresent>>\
<<run setup.registerCharactersInLocation(['Abel'])>>\
<<set _charactersPresent.push('Abel')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Abel is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Abelducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to the living room|salon3B]]
[[Go to the master bedroom|habitaciontomas]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<run setup.gameTime.addMinutes(5)>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Habitación de Tomás y Maite" />
</div>
La decoración de la habitación de Tomás y Maite no ha debido cambiar en, al menos, 20 años. La cama es sólida y los muebles de madera maciza. Sobre la cómoda, varios botes de medicamentos señalan las enfermedades de sus habitantes.
<<if $tomasEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('tomaspajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_currentTime >= 0 and _currentTime < 8)>>
Tomás y Maite están durmiendo profundamente en la cama matrimonial. Sus respiraciones son pausadas y tranquilas. [[Observarlos|TomasMaiteDurmiendo]]
<<set _charactersPresent.push('Tomas', 'Maite')>>
<<elseif (_currentTime >= 14 and _currentTime < 16)>>
Maite está echando la siesta en la cama, descansando plácidamente. [[Observarla|MaiteDurmiendoSiesta]]
<<set _charactersPresent.push('Maite')>>
<<else>>
La habitación está vacía. Los muebles antiguos y la colcha bien estirada sobre la cama dan un aspecto pulcro y ordenado.
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<</if>>
[[Mirar la foto de la cómoda|fotodelacomoda]]
[[Ir al salón|salon3B]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Tomás and Maite's bedroom" />
</div>
The decoration in Tomás and Maite's bedroom hasn't changed in at least 20 years. The bed is solid and the furniture is made of solid wood. On the dresser, several medicine bottles indicate the illnesses of its inhabitants.
<<if $tomasEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('tomaspajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_currentTime >= 0 and _currentTime < 8)>>
Tomás and Maite are sleeping soundly in the double bed. Their breathing is slow and calm. [[Watch them|TomasMaiteDurmiendo]]
<<set _charactersPresent.push('Tomas', 'Maite')>>
<<elseif (_currentTime >= 14 and _currentTime < 16)>>
Maite is taking a nap in bed, resting peacefully. [[Watch her|MaiteDurmiendoSiesta]]
<<set _charactersPresent.push('Maite')>>
<<else>>
The room is empty. The antique furniture and the neatly spread bedspread give it a neat and tidy appearance.
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<</if>>
[[Look at the picture on the dresser|fotodelacomoda]]
[[Go to the living room|salon3B]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina3B.png" alt="Cocina 3B" />
</div>
La cocina de Tomás y Maite. Un olor a cocido cocinado a baja temperatura inunda tus fosas nasales. Los electrodomésticos ya tienen varios años, pero seguro que funcionan mejor que los que tienes en tu casa. Algunos embutidos cuelgan en la pared. Un bol con fruta decora la mesa del centro.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if $Abelcontacto is true and (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 20)>>\
Abel está en la cocina preparando la cena para sus abuelos. Se mueve con soltura entre los fogones, siguiendo alguna receta que le enseñó Maite. [[Observarlo|AbelPreparandoCena]]
<<set _charactersPresent.push('Abel')>>\
<<else>>\
La cocina está vacía. El olor a comida casera y el orden impecable muestran que alguien cuida con esmero este espacio.
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillotomas isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillotomas')>><</link>>
<</if>>
<<if $formaFantasmalActiva is true and $calzoncilloabel isnot true and $Abelcontacto is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloabel')>><</link>>
<</if>>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al salón|salon3B]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina3B.png" alt="Kitchen 3B" />
</div>
Tomás and Maite's kitchen. A smell of stew cooked at low temperature fills your nostrils. The appliances are several years old, but they surely work better than the ones you have at home. Some cold cuts hang on the wall. A bowl of fruit decorates the center table.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if $Abelcontacto is true and (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 20)>>\
Abel is in the kitchen preparing dinner for his grandparents. He moves comfortably between the stoves, following some recipe Maite taught him. [[Watch him|AbelPreparandoCena]]
<<set _charactersPresent.push('Abel')>>\
<<else>>\
The kitchen is empty. The smell of homemade food and the impeccable order show that someone takes great care of this space.
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillotomas isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillotomas')>><</link>>
<<if $formaFantasmalActiva is true and $calzoncilloabel isnot true and $Abelcontacto is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloabel')>><</link>>
<</if>>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the living room|salon3B]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Habitación de invitados 3B" />
</div>
<<if $Abelcontacto is true>>
Esta habitación debía ser la de Carlos, el único hijo del matrimonio. Ahora la ocupa Abel. Algunos de sus efectos personales le dan un toque más moderno: unas zapatillas de deporte en la esquina, un cargador en el enchufe y una sudadera colgada en la silla. Huele a colonia joven.
<<else>>
Esta habitación debía ser la de Carlos, el único hijo del matrimonio. Ahora está totalmente sin uso. Está limpia, pero es perceptible la ausencia de vida, como si fuera el escaparate de una tienda de decoración.
<</if>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if $Abelcontacto is true>>
<<if $abelEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('abelpajacuarto')>><</link>>
<</if>>
<<else>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 10)>>\
Abel está durmiendo profundamente, con el brazo fuera de la cama y la cara aplastada contra la almohada. [[Observarlo|AbelDurmiendo]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_dayOfWeek is 6 and _currentTime >= 0 and _currentTime < 11)>>\
Abel está durmiendo hasta tarde, ajeno al mundo. [[Observarlo|AbelDurmiendo]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_dayOfWeek is 7 and _currentTime >= 0 and _currentTime < 12)>>\
Abel está durmiendo hasta muy tarde el domingo. [[Observarlo|AbelDurmiendo]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 16 and _currentTime < 18)>>\
Abel está tumbado en la cama mirando el móvil, descansando después de la mañana. [[Observarlo|AbelEnCama]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_currentTime >= 21 and _currentTime < 23)>>\
Abel está en la cama mirando el móvil antes de dormir. [[Observarlo|AbelEnCama]]
<<set _charactersPresent.push('Abel')>>\
<<elseif ((_dayOfWeek is 2 or _dayOfWeek is 4 or _dayOfWeek is 6) and _currentTime >= 23 and _currentTime < 24)>>\
La puerta está entornada y se escucha un sonido rítmico apagado. Abel está disfrutando de un momento privado.
<<set _charactersPresent.push('Abel')>>\
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('abelpajacuarto')>><</link>>
<</if>>
<<else>>\
La habitación está vacía. Las cosas de Abel están desperdigadas por aquí y por allá.
<</if>>\
<<if $formaFantasmalActiva is true and $calzoncilloabel is not true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloabel')>><</link>>
<</if>>
<</if>>
<<else>>
La habitación está vacía. Los muebles están impecables pero cubiertos por una fina capa de polvo que delata su falta de uso.
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al salón|salon3B]]
[[Ir al baño|baño3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Guest room 3B" />
</div>
<<if $Abelcontacto is true>>
This room must have been Carlos's, the couple's only son. Now Abel is staying here. Some of his personal belongings give it a more modern touch: a pair of trainers in the corner, a charger in the socket and a hoodie draped over the chair. It smells of young cologne.
<<else>>
This room must have been Carlos's, the couple's only son. Now it's completely unused. It's clean, but the absence of life is perceptible, as if it were a decoration store display.
<</if>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if $Abelcontacto is true>>
<<if $abelEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('abelpajacuarto')>><</link>>
<</if>>
<<else>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 10)>>\
Abel is sleeping deeply, one arm hanging off the bed and his face buried in the pillow. [[Watch him|AbelDurmiendo]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_dayOfWeek is 6 and _currentTime >= 0 and _currentTime < 11)>>\
Abel is sleeping in late, oblivious to the world. [[Watch him|AbelDurmiendo]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_dayOfWeek is 7 and _currentTime >= 0 and _currentTime < 12)>>\
Abel is sleeping very late on Sunday. [[Watch him|AbelDurmiendo]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 16 and _currentTime < 18)>>\
Abel is lying on the bed scrolling through his phone, resting after the morning. [[Watch him|AbelEnCama]]
<<set _charactersPresent.push('Abel')>>\
<<elseif (_currentTime >= 21 and _currentTime < 23)>>\
Abel is in bed looking at his phone before going to sleep. [[Watch him|AbelEnCama]]
<<set _charactersPresent.push('Abel')>>\
<<elseif ((_dayOfWeek is 2 or _dayOfWeek is 4 or _dayOfWeek is 6) and _currentTime >= 23 and _currentTime < 24)>>\
The door is slightly ajar and a muffled rhythmic sound can be heard. Abel is enjoying a private moment.
<<set _charactersPresent.push('Abel')>>\
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('abelpajacuarto')>><</link>>
<</if>>
<<else>>\
The room is empty. Abel\'s things are scattered here and there.
<</if>>\
<<if $formaFantasmalActiva is true and $calzoncilloabel is not true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloabel')>><</link>>
<</if>>
<</if>>
<<else>>
The room is empty. The furniture is impeccable but covered by a thin layer of dust that betrays its lack of use.
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the living room|salon3B]]
[[Go to the bathroom|baño3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.abelEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Baño" />
</div>
Tomás se observa la polla con una cara de extrañeza, como si hiciera mucho tiempo que no la viera tan dura. Luego comienza a masturbarse, con una expresión entre añoranza y deseo que resulta casi enternecedora.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tomas/tomaspajacuarto.webm" type="video/webm"></video></center>
[[Te marchas|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Bathroom" />
</div>
Tomás looks at his cock with an expression of surprise, as if it had been a long time since he'd seen it this hard. Then he begins to stroke himself, with a look somewhere between nostalgia and desire that is almost touching.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tomas/tomaspajacuarto.webm" type="video/webm"></video></center>
[[You leave|recibidor3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadocama'>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Habitación de Tomás y Maite" />
</div>
Acurrucados el uno junto al otro, Tomás y Maite duermen en su cama, a pesar de los ronquidos del hombre.
<center><img src="images/Tomas/tomasdurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Tomás jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaratomas')>><</link>>
<</if>>
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadocama'>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Tomás and Maite's bedroom" />
</div>
Cuddled next to each other, Tomás and Maite sleep in their bed, despite the man's snoring.
<center><img src="images/Tomas/tomasdurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Tomás would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecaratomas')>><</link>>
<</if>>
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadocama'>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Habitación de Tomás y Maite" />
</div>
Cómoda, con la cama para ella sola, Maite se echa una buena siesta.
<center><img src="images/mujeres/maitesiesta.png" width="500"></center>
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadocama'>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Tomás and Maite's bedroom" />
</div>
Comfortable, with the bed all to herself, Maite is taking a good nap.
<center><img src="images/mujeres/maitesiesta.png" width="500"></center>
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
El matrimonio del 3B pasa el tiempo en el salón, cada uno en su propio ocio.
<center><img src="images/Tomas/tomasymaitesalon.png" width="500"></center>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
The couple from 3B spends time in the living room, each one in their own leisure.
<center><img src="images/Tomas/tomasymaitesalon.png" width="500"></center>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() {
Engine.play("tomastededescubre");
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Sentado en un cómodo sillón, Tomás lee con interés las noticias del día en el periódico.
<center><img src="images/Tomas/tomasperiodico.png" width="500"></center>
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
Sitting in a comfortable armchair, Tomás reads the day's news in the newspaper with interest.
<center><img src="images/Tomas/tomasperiodico.png" width="500"></center>
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() {
Engine.play("tomastededescubre");
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Abrazados, la adorable pareja de ancianos mira lo que hacen en la tele con poco interés, charlando entre ellos cada pocos segundos.
<center><img src="images/Tomas/tomasymaitetele.png" width="500"></center>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
Embracing each other, the adorable elderly couple watches what's on TV with little interest, chatting with each other every few seconds.
<center><img src="images/Tomas/tomasymaitetele.png" width="500"></center>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() {
Engine.play("tomastededescubre");
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
Tomás da dos grandes zancadas hasta tu posición y te mira extrañado.
<center><img src="images/Tomas/tomastedescubre.png" width="500"></center>
<div id="rpg-display"></div>
<<if $currentSemblanteActive is null or $currentSemblanteActive is undefined>>
/* === CONVERSACIÓN CUANDO ES SERGIO === */
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tomas', text: '¿Sergio? ¿Qué haces aquí?' },
{ speaker: 'sergio', text: 'Yo... Bueno, Maite me ha invitado a entrar y...' },
{ speaker: 'tomas', text: 'Sabes que ella no se encuentra muy bien. Se le va un poco la cabeza.' },
{ speaker: 'sergio', text: 'Lo sé, perdona.' },
{ speaker: 'tomas', text: 'Déjanos descansar un poco. Si necesitas algo, ven otro día, por favor.' },
{ speaker: 'sergio', text: 'Claro, y perdona las molestias.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Sales de la casa',
action: 'GOTO:Rellano del 3º'
}
]
]
})>>
<<else>>
/* === CONVERSACIÓN CUANDO ES OTRO SEMBLANTE === */
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tomas', text: '¿Quién es usted? ¿Qué hace en mi casa?' },
{ speaker: 'sergio', text: 'Eh... Yo... Ehh...' },
{ speaker: 'tomas', text: '¡Salga ahora mismo de aquí!' },
{ speaker: 'sergio', text: 'Claro, perdone.' }
],
options: [
[], // 1
[], // 2
[], // 3
[
{
text: 'Sales de la casa',
action: 'GOTO:Rellano del 3º'
}
]
]
})>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
Tomás strides over to your position and looks at you in confusion.
<center><img src="images/Tomas/tomastedescubre.png" width="500"></center>
<div id="rpg-display"></div>
<<if $currentSemblanteActive is null or $currentSemblanteActive is undefined>>
/* === CONVERSATION WHEN IT'S SERGIO === */
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tomas', text: 'Sergio? What are you doing here?' },
{ speaker: 'sergio', text: 'I... Well, Maite invited me in and...' },
{ speaker: 'tomas', text: 'You know she isn\'t feeling very well. Her mind wanders a bit.' },
{ speaker: 'sergio', text: 'I know, sorry.' },
{ speaker: 'tomas', text: 'Let us rest a bit. If you need something, come another day, please.' },
{ speaker: 'sergio', text: 'Of course, and sorry for the trouble.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You leave the house',
action: 'GOTO:Rellano del 3º'
}
]
]
})>>
<<else>>
/* === CONVERSATION WHEN IT'S ANOTHER APPEARANCE === */
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: State.variables.currentPortrait || 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'tomas', text: 'Who are you? What are you doing in my house?' },
{ speaker: 'sergio', text: 'Uh... I... Uhh...' },
{ speaker: 'tomas', text: 'Get out of my house right now!' },
{ speaker: 'sergio', text: 'Of course, sorry.' }
],
options: [
[], // 1
[], // 2
[], // 3
[
{
text: 'You leave the house',
action: 'GOTO:Rellano del 3º'
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Maite y Tomás comen en el salón unos platos que te hacen la boca agua.
<center><img src="images/Tomas/tomasymaitecomiendo.png" width="500"></center>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
Maite and Tomás are eating dishes in the living room that make your mouth water.
<center><img src="images/Tomas/tomasymaitecomiendo.png" width="500"></center>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() {
Engine.play("tomastededescubre");
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Te acercas a una de las estanterías de la pared del salón. Allí, con algo de polvo, ves varios trofeos y diplomas de Tomás, de cuando jugaba a la petanca. Recuerdas a tu abuelo y a tu vecino competir amistosamente entre ellos, y de cómo tu abuelo comentaba que Tomás siempre fue muy mal perdedor. Ahora, hace tiempo que ya no juega, seguramente por motivos de salud. Ya no es tan joven como hace diez años.
<center><img src="images/Tomas/premiospetanca.png" width="500"></center>
<<set $Semblantepetanca to true>>
[[Retroceder|salon3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadosalon'>>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
You approach one of the shelves on the living room wall. There, with some dust, you see several trophies and diplomas belonging to Tomás, from when he used to play petanque. You remember your grandfather and your neighbor competing amicably with each other, and how your grandfather would comment that Tomás was always a very sore loser. Now, he hasn't played for a while, probably due to health reasons. He's no longer as young as he was ten years ago.
<center><img src="images/Tomas/premiospetanca.png" width="500"></center>
<<set $Semblantepetanca to true>>
[[Go back|salon3B]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadocama'>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Habitación de Tomás y Maite" />
</div>
Te acercas a la cómoda y, entre las fotografías de la boda de Tomás y Maite y algunas de bebés y otros familiares, ves una más reciente. Enseguida reconoces al más mayor de los dos hombres. Es Carlos, el único hijo de Tomás y tu amor platónico de la adolescencia. A su lado hay un joven rubio que podría ser su hijo, aunque no se parecen en nada. Observas con atención ambos hombres y piensas que cualquiera de ellos puede ser una opción perfecta para que ayuden a Tomás.
<center><img src="images/Abel/abelycarlosfoto.png" width="500"></center>
En ese momento, aparece por la puerta Maite. Enseguida dejas la foto en su lugar, pero a la anciana no parece importarle. Se acerca algo desorientada, sin saber quién eres realmente, y ella misma coge la foto.
"Es mi hijo Carlos y mi nieto, Abel", dice. "Hace tiempo que no veo a mi nieto. Desde que acabó la universidad que no pasa por casa. Era tan tierno cuando era niño, totalmente distinto de Carlos, que se portaba siempre muy mal. Desde el divorcio que apenas se hablan y, cuando viene a visitarme mi hijo, no se trae a Abel para que le veamos."
"¿Entonces tu nieto ahora no trabaja ni nada?", le preguntas, viendo a tu perfecta presa.
"Según mi hijo, no. Pero aun así no parece tener tiempo de ver a sus abuelos."
Asientes y te marchas de la habitación. Ya sabes quién podría ser el perfecto ayudante para Tomás. Un nuevo habitante de la casa con el que poder juguetear. Ahora solo queda hacer que tu anciano vecino le pida ayuda.
<<set $notaTomas1 to false>>
<<set $notaTomas2 to true>>
<<set $RecuerdoTomas1 = true>>
<<if not $recuerdosTomas>><<set $recuerdosTomas = 0>><</if>>
<<set $recuerdosTomas += 1>>
[[Continuar|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set State.temporary.excitacionSuccessPassage = 'Tomasexcitadocama'>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Tomás and Maite's bedroom" />
</div>
You approach the dresser and, among the photographs of Tomás and Maite's wedding and some of babies and other relatives, you see a more recent one. You immediately recognize the older of the two men. It's Carlos, Tomás's only son and your platonic love from adolescence. Next to him is a young blond man who could be his son, although they don't look alike at all. You carefully observe both men and think that either of them could be a perfect option to help Tomás.
<center><img src="images/Abel/abelycarlosfoto.png" width="500"></center>
At that moment, Maite appears at the door. You quickly put the photo back in its place, but the old woman doesn't seem to mind. She approaches somewhat disoriented, not knowing who you really are, and picks up the photo herself.
"It's my son Carlos and my grandson, Abel," she says. "I haven't seen my grandson in a while. Since he finished university he hasn't come by the house. He was so sweet when he was a child, totally different from Carlos, who always behaved very badly. Since the divorce they barely speak, and when my son comes to visit me, he doesn't bring Abel so we can see him."
"So your grandson doesn't work or anything now?" you ask, seeing your perfect prey.
"According to my son, no. But even so, he doesn't seem to have time to see his grandparents."
You nod and leave the room. You now know who could be the perfect assistant for Tomás. A new inhabitant of the house to play with. Now all that remains is to get your elderly neighbor to ask him for help.
<<set $notaTomas1 to false>>
<<set $notaTomas2 to true>>
<<set $RecuerdoTomas1 = true>>
<<if not $recuerdosTomas>><<set $recuerdosTomas = 0>><</if>>
<<set $recuerdosTomas += 1>>
[[Continue|recibidor3B]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Tomas/tomas.png" alt="Tomás">
</div>
<h2 style="text-align: center; color: #ff4757; margin-bottom: 10px;">🔥 Recuerdos de Tomás</h2>
<p style="text-align: center; color: #ff4757; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosTomas>></strong> recuerdo<<if $recuerdosTomas > 1>>s<</if>> especial<<if $recuerdosTomas > 1>>es<</if>> con Tomás.
</p>
<<else>>
<div class="header-image">
<img src="images/Tomas/tomas.png" alt="Tomás">
</div>
<h2 style="text-align: center; color: #ff4757; margin-bottom: 10px;">🔥 Memories with Tomás</h2>
<p style="text-align: center; color: #ff4757; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosTomas>></strong> special memor<<if $recuerdosTomas > 1>>ies<<else>>y<</if>> with Tomás.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoTomas1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: La elección del ayudante</h3>
<p>Exploras la casa de Tomás y Maite para encontrarle un ayudante</p>
<<else>>
<h3>Memory 1: Choosing the assistant</h3>
<p>You explore Tomás and Maite's house to find him an assistant</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTomas1">><</link>>
<<else>>
<<link "View →" "RecuerdoTomas1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTomas2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: La lesión de batalla</h3>
<p>Causas un accidente deportivo a Tomás para que llame a su hijo</p>
<<else>>
<h3>Memory 2: The Battle Injury</h3>
<p>You cause a sports accident for Tomás so that he will call his son</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTomas2">><</link>>
<<else>>
<<link "View →" "RecuerdoTomas2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTomas3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Secretos Compartidos</h3>
<p>Confesiones en la intimidad de su apartamento...</p>
<<else>>
<h3>Memory 3: Shared Secrets</h3>
<p>Confessions in the intimacy of his apartment...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTomas3">><</link>>
<<else>>
<<link "View →" "RecuerdoTomas3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTomas4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Momento Inolvidable</h3>
<p>El día que cruzasteis todos los límites...</p>
<<else>>
<h3>Memory 4: Unforgettable Moment</h3>
<p>The day you crossed all boundaries...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTomas4">><</link>>
<<else>>
<<link "View →" "RecuerdoTomas4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoTomas5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Conexión Profunda</h3>
<p>El momento más intenso con Tomás...</p>
<<else>>
<h3>Memory 5: Deep Connection</h3>
<p>The most intense moment with Tomás...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoTomas5">><</link>>
<<else>>
<<link "View →" "RecuerdoTomas5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 71, 87, 0.15) 0%, rgba(255, 20, 60, 0.1) 100%);
border: 2px solid rgba(255, 71, 87, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 71, 87, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 71, 87, 0.4);
border-color: #ff4757;
background: linear-gradient(135deg, rgba(255, 71, 87, 0.2) 0%, rgba(255, 20, 60, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 71, 87, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff4757;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 71, 87, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff4757, #ff1744);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 71, 87, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1744, #ff4757);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 71, 87, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: La elección del ayudante</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tomás, tu agradable vecino, dedica ya su vida a cuidar de su esposa Maite. ¿Cómo va a pensar en sexo con otros hombres si solo se preocupa por su esposa? Para ello, decides buscar alguien que le eche una mano. Necesitas más información, por lo que te adentras en su casa.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Aprovechando las horas en las que Tomás no está en casa, consigues que Maite, que no está en su mejor momento, te deje entrar. Explorando la casa, pronto descubres una fotografía del único hijo del matrimonio, Carlos, y de su nieto Abel.
</p>
<center><img src="images/Abel/abelycarlosfoto.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Recuerdas a Carlos como ese malote del cual te enamoraste cuando eras adolescente. No conoces a su hijo, que no podría ser más distinto a su padre. Cuando Maite te encuentra con la fotografía, la anciana te cuenta su historia. Ambos están distanciados desde el divorcio de Carlos. Mientras que su hijo siempre fue un bala perdida, su nieto era un encanto, pero ahora no los visita. Tampoco tiene trabajo y ya acabó los estudios, por lo que decides que él debe ser la ayuda que Tomás necesita. Ya estás pensando en como conseguir que abuelo y nieto tengan sexo, ¿Verdad?
</p>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: Choosing the assistant</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tomás, your pleasant neighbor, already dedicates his life to caring for his wife Maite. How can he think about sex with other men if he only worries about his wife? For this, you decide to find someone to give him a hand. You need more information, so you venture into his house.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Taking advantage of the hours when Tomás is not at home, you manage to get Maite, who is not at her best, to let you in. Exploring the house, you soon discover a photograph of the couple's only son, Carlos, and his grandson Abel.
</p>
<center><img src="images/Abel/abelycarlosfoto.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You remember Carlos as that bad boy you fell in love with when you were a teenager. You don't know his son, who couldn't be more different from his father. When Maite finds you with the photograph, the old woman tells you their story. Both are estranged since Carlos's divorce. While his son was always a troublemaker, his grandson was a sweetheart, but now he doesn't visit them. He doesn't have a job either and has already finished his studies, so you decide that he should be the help that Tomás needs. You're already thinking about how to get grandfather and grandson to have sex, aren't you?
</p>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Tomás" "RecuerdosTomas">><</link>>
<<else>>
<<link "⬅️ Back to Tomás's Memories" "RecuerdosTomas">><</link>>
<</if>>
</div><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: La lesión de batalla</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras descubrir que Tomás tiene familia, un hijo y un nieto, que podrían ayudarle a cuidar a Maite, decides forzar la máquina, sabiendo que el orgulloso anciano no pedirá ayuda mientras él pueda ocuparse.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
En su casa, observas en un estante los numerosos premios y diplomas que tu vecino ganó, hace varios años, jugando a la petanca. Decides retarle, por lo que te conviertes, mediante el semblante artificial, en un anciano desagradable y maleducado cuyas pullas consiguen que Tomás se enfrente a ti. A pesar de ganarte, en uno de los tiros se lesiona la espalda, abandonando el juego.
</p>
<center><img src="images/Tomas/tomaslesion.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras esperar tres días, te encuentras con el regreso de Tomás a su casa. Debe recuperarse y descansar, por lo que necesitará la ayuda de su nieto Abel. ¡Ya tienes a tu nuevo objetivo a tiro!
</p>
<center><img src="images/Tomas/tomasregresa.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 2: The Battle Injury</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After discovering that Tomás has family, a son and a grandson, who could help him take care of Maite, you decide to force the situation, knowing that the proud old man won't ask for help as long as he can manage.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
At his home, you observe on a shelf the numerous awards and diplomas your neighbor won, several years ago, playing pétanque. You decide to challenge him, so you transform yourself, through artificial appearance, into an unpleasant and rude old man whose taunts get Tomás to face you. Despite beating you, during one of the throws he injures his back, abandoning the game.
</p>
<center><img src="images/Tomas/tomaslesion.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After waiting three days, you encounter Tomás's return to his home. He must recover and rest, so he'll need the help of his grandson Abel. You already have your new target in sight!
</p>
<center><img src="images/Tomas/tomasregresa.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Tomás" "RecuerdosTomas">><</link>>
<<else>>
<<link "⬅️ Back to Tomás's Memories" "RecuerdosTomas">><</link>>
<</if>>
</div><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
<<if $currentSemblanteActive and ($currentSemblanteActive.name is "Anciano tocapelotas")>>
/* === CONVERSACIÓN CON SEMBLANTE DE ANCIANO TOCAPELOTAS === */
En el momento que te acercas a Tomás, ves cómo este observa entretenido a otros ancianos que practican la petanca. Los observa con mirada crítica y, a veces, parece resoplar, casi indignado.
<center><img src="images/Tomas/tomaspetanca.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/ancianoretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¡Eh viejo! ¿Estás interesado en una partida?' },
{ speaker: 'tomas', text: '¿Nos conocemos?' },
{ speaker: 'sergio', text: 'Yo sí. Eres Tomás. Ganaste no sé cuántos premios hace ya muchos años. Pero, mírate ahora. ¡Si pareces un fósil!' },
{ speaker: 'tomas', text: '<em>Te mira muy enfadado</em> ¡¿Pero quién te crees que eres?!' },
{ speaker: 'sergio', text: 'Alguien que pensaba que podía tener un rival digno, pero viéndote, la verdad es que das lástima. Déjalo, márchate a dar de comer a las palomas o cualquier otra cosa de viejos.' },
{ speaker: 'tomas', text: 'Aún puedo darte una paliza. Trae las bolas.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Entramos en el campo',
action: 'GOTO:partidapetanca'
}
]
]
})>>
<<else>>
/* === CONVERSACIÓN CON SERGIO (SEMBLANTE POR DEFECTO) === */
/* Si hay otro semblante activo, volver a Sergio */
<<if $currentSemblanteActive>>
<<set $currentPortrait = 'images/sergio.png'>>
<<set $currentSemblanteActive = null>>
<</if>>
En el momento que te acercas a Tomás, ves cómo este observa entretenido a otros ancianos que practican la petanca. Los observa con mirada crítica y, a veces, parece resoplar, casi indignado.
<center><img src="images/Tomas/tomaspetanca.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Qué tal, Tomás? ¿Echas una partida a la petanca?' },
{ speaker: 'tomas', text: '<em>Agita la mano</em> No, Sergio. Ya estoy muy mayor para eso.' },
{ speaker: 'sergio', text: '¡Qué va! Venga, apúntate. Mi abuelo siempre me dijo que eras muy bueno. Que habías ganado varios premios.' },
{ speaker: 'tomas', text: 'Es cierto, pero ese tiempo ya ha pasado. Ya no tengo el cuerpo de antes. Además, ¿cómo voy a jugar contra ti? Eres más joven que yo.' },
{ speaker: 'sergio', text: 'Sí, pero no tengo experiencia...' },
{ speaker: 'tomas', text: 'No me provoques, Sergio, que no voy a jugar y ya está. No soporto a los groseros. He dicho que no juego contra ti y no juego.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Se aleja',
action: 'GOTO:Parque'
}
]
]
})>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
<<if $currentSemblanteActive and ($currentSemblanteActive.nameEn is "Annoying old man")>>
/* === CONVERSATION WITH ANNOYING OLD MAN APPEARANCE === */
As you approach Tomás, you see him watching other elderly people playing petanque with interest. He observes them with a critical gaze and sometimes seems to snort, almost indignant.
<center><img src="images/Tomas/tomaspetanca.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/ancianoretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey old man! Are you interested in a game?' },
{ speaker: 'tomas', text: 'Do we know each other?' },
{ speaker: 'sergio', text: 'I do. You\'re Tomás. You won I don\'t know how many prizes many years ago. But look at you now. You look like a fossil!' },
{ speaker: 'tomas', text: '<em>Looks at you very angrily</em> Who do you think you are?!' },
{ speaker: 'sergio', text: 'Someone who thought they could have a worthy rival, but seeing you, the truth is you\'re pathetic. Forget it, go feed the pigeons or whatever other old people stuff.' },
{ speaker: 'tomas', text: 'I can still kick your ass. Bring the balls.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Enter the field',
action: 'GOTO:partidapetanca'
}
]
]
})>>
<<else>>
/* === CONVERSATION WITH SERGIO (DEFAULT APPEARANCE) === */
/* If another appearance is active, switch back to Sergio */
<<if $currentSemblanteActive>>
<<set $currentPortrait = 'images/sergio.png'>>
<<set $currentSemblanteActive = null>>
<</if>>
As you approach Tomás, you see him watching other elderly people playing petanque with interest. He observes them with a critical gaze and sometimes seems to snort, almost indignant.
<center><img src="images/Tomas/tomaspetanca.png" width="400"></center>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'How\'s it going, Tomás? Want to play a game of petanque?' },
{ speaker: 'tomas', text: '<em>Waves his hand</em> No, Sergio. I\'m too old for that now.' },
{ speaker: 'sergio', text: 'No way! Come on, sign up. My grandfather always told me you were very good. That you had won several prizes.' },
{ speaker: 'tomas', text: 'That\'s true, but those days are over. I don\'t have the body I used to. Besides, how can I play against you? You\'re younger than me.' },
{ speaker: 'sergio', text: 'Yes, but I have no experience...' },
{ speaker: 'tomas', text: 'Don\'t provoke me, Sergio, I\'m not going to play and that\'s that. I can\'t stand rude people. I said I won\'t play against you and I won\'t.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'He walks away',
action: 'GOTO:Parque'
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(40)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
Tus pullas parecen conseguir el efecto deseado, y Tomás entra en la partida. Tu semblante, creado específicamente para ser un abuelo hijo de puta, no deja de lanzar pullas con cada uno de sus tiros, que son casi perfectos. Aun así, no te dejas ganar con facilidad, presionándole para que cada vez arriesgue más, con tiros más físicos.
<center><img src="images/Tomas/tomaslesion.png" width="400"></center>
Al final, en el último tiro, el tiro que le da la victoria, escuchas un "Crac" en su espalda que te hace sonreír, aunque al momento te sientes culpable. Tomás se agarra la espalda, encorvado mientras los otros jugadores le ayudan a sentarse. El dolor no se detiene y tienen que llamar a una ambulancia para que le lleven al ambulatorio más próximo. A esas alturas ya te has marchado del lugar del crimen. Ahora solo queda esperar que la lesión sea lo suficientemente grave para que demande la ayuda de algún familiar.
<<set $Tomaslesion to true>>
<<set $TomaslesionTimestamp to $gameTotalMinutes>>
[[Continuar|Exterior]]
<<else>>
<<run setup.gameTime.addMinutes(40)>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
Your taunts seem to achieve the desired effect, and Tomás enters the game. Your appearance, created specifically to be an asshole grandfather, doesn't stop throwing jibes with each of his shots, which are almost perfect. Even so, you don't let him win easily, pressuring him to take more and more risks, with increasingly physical throws.
<center><img src="images/Tomas/tomaslesion.png" width="400"></center>
Finally, on the last throw, the throw that gives him victory, you hear a "Crack" in his back that makes you smile, though you immediately feel guilty. Tomás grabs his back, hunched over while the other players help him sit down. The pain doesn't stop and they have to call an ambulance to take him to the nearest clinic. By that point you've already left the scene of the crime. Now all that remains is to wait for the injury to be serious enough for him to need help from a family member.
<<set $Tomaslesion to true>>
<<set $TomaslesionTimestamp to $gameTotalMinutes>>
[[Continue|Exterior]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
Un ruidoso ajetreo te llama la atención al entrar al portal. Tomás ha regresado del hospital, donde estuvo ingresado por una rápida operación por la lesión de jugar contigo. Te sientes culpable, pero tus remordimientos desaparecen al ver a los dos hombres que ayudan, con esfuerzo, a traer a Tomás a su casa.
<center><img src="images/Tomas/tomasregresa.png" width="400"></center>
Reconoces de la foto a los dos acompañantes. Son el hijo y el nieto de Tomás. Decides saludarlos.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
},
{
id: 'abel',
name: 'Abel',
portrait: 'images/Abel/abel.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'carlos',
name: 'Carlos',
portrait: 'images/Carlos/carlos.png',
color: '#4ecdc4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Pero Tomás, ¿qué le ha pasado?' },
{ speaker: 'tomas', text: 'Un accidente en el parque. Ya no somos lo que éramos. Menos mal que ha venido mi hijo a ayudarme.' },
{ speaker: 'sergio', text: '¡Carlos! Cuánto tiempo sin verte...' },
{ speaker: 'carlos', text: 'Ahora no te pongo cara, tío. <em>Te dice sin mirarte ni un segundo.</em> Abel, llama al ascensor.' },
{ speaker: 'abel', text: '<em>El hombre más joven se acerca y aprieta el botón mientras te lanza una ojeada rápida.</em>' },
{ speaker: 'sergio', text: '¿Y qué vas a hacer ahora? ¿Vas a poder cuidar tú solo a Maite? ¿Necesitáis ayuda?' },
{ speaker: 'tomas', text: 'No, gracias. Mi nieto se quedará unos días hasta que me recupere. Pero muchas gracias por ofrecerte.' },
{ speaker: 'sergio', text: '<em>Disimuladamente, antes de que desaparezcan en el ascensor, le haces la foto a tu nuevo objetivo, lamentando que no se quedará también su padre.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Continuar',
action: function() {
State.variables.Abelcontacto = true;
State.variables.notaAbel1 = true;
State.variables.corrupcionAbel = 15;
State.variables.notaTomas2 = false;
State.variables.notaTomas3 = true;
State.variables.RecuerdoTomas2 = true;
State.variables.recuerdosTomas += 1;
State.variables.Tomaslesion = false;
State.variables.Tomaslesion2 = true;
Engine.play("Portal");
}
}
]
]
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/portal.png" alt="portal" />
</div>
A noisy commotion catches your attention as you enter the lobby. Tomás has returned from the hospital, where he was admitted for a quick operation for the injury from playing with you. You feel guilty, but your remorse disappears when you see the two men struggling to help bring Tomás to his home.
<center><img src="images/Tomas/tomasregresa.png" width="400"></center>
You recognize the two companions from the photo. They are Tomás's son and grandson. You decide to greet them.
<div id="rpg-display"></div>
<<script>>
setup.showDoorDialogue("Tomas", {
characters: [
{
id: 'tomas',
name: 'Tomás',
portrait: 'images/Tomas/tomas.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
},
{
id: 'abel',
name: 'Abel',
portrait: 'images/Abel/abel.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'carlos',
name: 'Carlos',
portrait: 'images/Carlos/carlos.png',
color: '#4ecdc4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Tomás, what happened to you?' },
{ speaker: 'tomas', text: 'An accident in the park. We\'re not what we used to be. Thank goodness my son came to help me.' },
{ speaker: 'sergio', text: 'Carlos! It\'s been so long...' },
{ speaker: 'carlos', text: 'I don\'t recognize you right now, man. <em>He says without looking at you for a second.</em> Abel, call the elevator.' },
{ speaker: 'abel', text: '<em>The younger man approaches and presses the button while giving you a quick glance.</em>' },
{ speaker: 'sergio', text: 'And what are you going to do now? Will you be able to take care of Maite by yourself? Do you need help?' },
{ speaker: 'tomas', text: 'No, thank you. My grandson will stay a few days until I recover. But thank you very much for offering.' },
{ speaker: 'sergio', text: '<em>Discreetly, before they disappear into the elevator, you take a photo of your new target, regretting that his father won\'t be staying as well.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Continue',
action: function() {
State.variables.Abelcontacto = true;
State.variables.notaAbel1 = true;
State.variables.corrupcionAbel = 15;
State.variables.notaTomas2 = false;
State.variables.notaTomas3 = true;
State.variables.RecuerdoTomas2 = true;
State.variables.recuerdosTomas += 1;
State.variables.Tomaslesion2 = true;
Engine.play("Portal");
}
}
]
]
});
<</script>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Abel/abel.png" alt="Abel">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Abel</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosAbel>></strong> recuerdo<<if $recuerdosAbel > 1>>s<</if>> especial<<if $recuerdosAbel > 1>>es<</if>> con Abel.
</p>
<<else>>
<div class="header-image">
<img src="images/Abel/abel.png" alt="Abel">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Abel</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosAbel>></strong> special memor<<if $recuerdosAbel > 1>>ies<<else>>y<</if>> with Abel.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoAbel1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Tu serás el primero</h3>
<p>Abel llega para cuidar a su abuelo lesionado.</p>
<<else>>
<h3>Memory 1: You will be the first</h3>
<p>Abel arrives to take care of his injured grandfather.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAbel1">><</link>>
<<else>>
<<link "View →" "RecuerdoAbel1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAbel2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Primer encuentro</h3>
<p>Tu primera interacción significativa con Abel...</p>
<<else>>
<h3>Memory 2: First encounter</h3>
<p>Your first meaningful interaction with Abel...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAbel2">><</link>>
<<else>>
<<link "View →" "RecuerdoAbel2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAbel3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Confidencias nocturnas</h3>
<p>Una conversación íntima revela más de lo esperado...</p>
<<else>>
<h3>Memory 3: Night confidences</h3>
<p>An intimate conversation reveals more than expected...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAbel3">><</link>>
<<else>>
<<link "View →" "RecuerdoAbel3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAbel4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Cruzando límites</h3>
<p>El día que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Crossing boundaries</h3>
<p>The day everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAbel4">><</link>>
<<else>>
<<link "View →" "RecuerdoAbel4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAbel5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Entrega total</h3>
<p>El momento más intenso con Abel...</p>
<<else>>
<h3>Memory 5: Total surrender</h3>
<p>The most intense moment with Abel...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAbel5">><</link>>
<<else>>
<<link "View →" "RecuerdoAbel5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: Tú serás el primero</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras el "accidente" de Tomás vino en ayuda de tu vecino su único nieto, Abel. Un joven guapo y alto al que enseguida echaste el ojo para ser otro de tus objetivos. Lo primero que decidiste fue usar la app de visión sexual con él para descubrir qué escondía su mente, y el resultado fue increíble. Abel era un homosexual salido.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sabiendo que sería muy fácil acostarse con él, fuiste al 3B y, tras abrir la puerta, usaste la otra app de tu móvil, la excitación a distancia, para ponerle cachondo. Ese era el paso que necesitaba para abandonar sus barreras morales y comenzar a masturbarte.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
No tardó Abel en meterse tu polla en su boca. Fue una mamada ansiosa que te puso incluso más caliente.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Lo siguiente fue follarle su virginal culo. Tras dejárselo bien humedecido con tu lengua, le penetraste sin ni siquiera quitarte la ropa. Con cada embestida, Abel gemía.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cambiasteis varias veces de postura hasta que, estando encima de ti y cabalgándote, te corriste dentro del muchacho, dejándolo desfallecido en la cama. Ahora Abel ya es uno de tus amantes del edificio.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo4.webm" type="video/webm"></video></center>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: You'll be the first</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After Tomás' "accident," his only grandson Abel came to help your neighbor. A handsome, tall young man you immediately set your sights on as another one of your targets. The first thing you decided was to use the sexual vision app on him to discover what his mind was hiding, and the result was incredible. Abel was a horny homosexual.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Knowing it would be very easy to sleep with him, you went to 3B and, after he opened the door, you used the other app on your phone, remote arousal, to turn him on. That was the step he needed to abandon his moral barriers and start jerking you off.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
It didn't take long for Abel to put your cock in his mouth. It was an eager blowjob that made you even hotter.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The next thing was to fuck his virgin ass. After leaving it well moistened with your tongue, you penetrated him without even taking off your clothes. With each thrust, Abel moaned.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You changed positions several times until, while he was on top of you riding you, you came inside the young man, leaving him exhausted on the bed. Now Abel is one of your lovers in the building.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Abel/abelsexo4.webm" type="video/webm"></video></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Abel" "RecuerdosAbel">><</link>>
<<else>>
<<link "⬅️ Back to Abel's Memories" "RecuerdosAbel">><</link>>
<</if>>
</div><<if $idioma is "es">>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Abel/abel.png" alt="Abel" class="profile-image">
<!-- Botón de Horarios bajo la imagen -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Abel')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 Ver Horario Semanal
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Abel Castillejo Álamo</h2>
<p><strong>Edad:</strong> <<print $abelEdad || 20>> años</p>
<p><strong>Relación:</strong> Nieto de Tomás</p>
<p><strong>Descripción:</strong><br>
<<print $abelComentario || "Abel lo ha tenido todo desde pequeño. La familia de su madre siempre le ha tratado como un príncipe, dándole todo lo que quería, cosa que aumentó tras el divorcio de sus padres. Ahora, obligado a cuidar a un abuelo al que apenas visitaba, busca alguna diversión que le entretenga hasta que se recupere Tomás.">></p>
<<if $AbelVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">¡Abel es gay! Y de los salidos, por lo que piensa. Fantasea con follar con hombres constantemente, pero no se atreve a dar el paso. Necesita, sin lugar a dudas, un empuje.</p>
<span style="color: pink; font-size: 24px;">Pecado Prominente: LUJURIA</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Desvirgado analmente:
<<if $abelDesvirgadoAnal is true>>Sí<<else>>No<</if>>
</p>
</div>
</div>
<<else>>
<div class="profile-container">
<div class="profile-image-section">
<img src="images/Abel/abel.png" alt="Abel" class="profile-image">
<!-- Schedule Button under the image -->
<div style="margin-top: 20px; text-align: center;">
<button class="btn-modify-appearance" onclick="window.openScheduleApp('Abel')" style="background: linear-gradient(135deg, #0ff 0%, #0aa 100%); color: #000; width: 100%; padding: 15px; font-size: 1.1em;">
📅 View Weekly Schedule
</button>
</div>
</div>
<div class="profile-info-section">
<h2>Abel Castillejo Álamo</h2>
<p><strong>Age:</strong> <<print $abelEdad || 20>> years old</p>
<p><strong>Relationship:</strong> Tomás's grandson</p>
<p><strong>Description:</strong><br>
<<print $abelComentarioEn || "Abel has had everything since he was little. His mother's family has always treated him like a prince, giving him everything he wanted, which increased after his parents' divorce. Now, forced to take care of a grandfather he barely visited, he's looking for some entertainment to keep him occupied until Tomás recovers.">></p>
<<if $AbelVisionUsada eq true>>
<p style="color: blue; font-size: 18px;">Abel is gay! And horny as hell, judging by his thoughts. He constantly fantasizes about fucking men, but doesn't dare take the step. He definitely needs a push.</p>
<span style="color: pink; font-size: 24px;">Prominent Sin: LUST</span>
<</if>>
<p style="color: #ff4444; font-weight: bold; margin-top: 20px;">
Anally deflowered:
<<if $abelDesvirgadoAnal is true>>Yes<<else>>No<</if>>
</p>
</div>
</div>
<</if>><<if $idioma is "es">>
<<if $notaAbel1 eq true>>
<span style="font-size: 1.5em;">El nieto de Tomás es un total desconocido para ti. Usa la app necesaria para descubrir más sobre ese muchacho y dale lo que necesita para que se adentre más en la corrupción.</span>
<</if>>
<<if $notaAbel2 eq true>>
<span style="font-size: 1.5em;">Contenido próximo.</span>
<</if>>
<<else>>
<<if $notaAbel1 eq true>>
<span style="font-size: 1.5em;">Tomás's grandson is a complete stranger to you. Use the necessary app to discover more about this young man and give him what he needs to delve deeper into corruption.</span>
<</if>>
<<if $notaAbel2 eq true>>
<span style="font-size: 1.5em;">Content coming soon.</span>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino = "abelsexo2">>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
<div id="rpg-display"></div>
El joven te mira, algo tímido desde el umbral de la puerta. Ahora que sabes su secreto y cómo desea follar con otros hombres, solo necesitas que, al lanzarte sobre su cuerpo, este te reciba, necesitado de ti.
<center><img src="images/Abel/abelpuerta.png" width="500"></center>
<<if $abelDesvirgadoAnal and $gaynear and !$abelmovilhackeado>>
<<set $demoneDestino = "movilabel">>
<<set $demoneActivo = true>>
<</if>>
[[Despedirte|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino = "abelsexo2">>
<div class="header-image">
<img src="images/localizaciones/rellano3.png" alt="rellano3" />
</div>
<div id="rpg-display"></div>
The young man looks at you, somewhat shy from the doorway. Now that you know his secret and how he desires to fuck with other men, you only need him to receive you when you throw yourself at his body, needing you.
<center><img src="images/Abel/abelpuerta.png" width="500"></center>
<<if $abelDesvirgadoAnal and $gaynear and !$abelmovilhackeado>>
<<set $demoneDestino = "movilabel">>
<<set $demoneActivo = true>>
<</if>>
[[Say goodbye|Rellano del 3º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(30)>>
<<if visited() is 1>>
<<set $corrupcionAbel to 50>>
<<set $notaAbel2 to true>>
<<set $notaAbel1 to false>>
<<set $RecuerdoAbel1 = true>>
<<set $abelDesvirgadoAnal = true>>
<<if not $recuerdosAbel>><<set $recuerdosAbel = 0>><</if>>
<<set $recuerdosAbel += 1>>
Los labios de Abel se entreabren y un débil gemido escapa de sus labios al darle al último botón del móvil. Agarrado al marco de la puerta, alza el rostro y te mira directamente. Sabes que es tu momento de actuar, por lo que le agarras de la cintura y comienzas a besarle, beso que te devuelve al momento. Después de un minuto, le susurras al oído "Quiero follarte" y él, cogiéndote de la mano, te lleva disimuladamente a su habitación.
Allí seguís besándoos hasta que le sientas sobre la cama. Él enseguida saca tu polla, ya totalmente dura, y comienza a acariciarla tímidamente. La tiene tan cerca de su cara que notas su aliento en tu glande.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo1.webm" type="video/webm"></video></center>
No puedes esperar más, y cogiéndole de la cabeza le metes toda tu polla en su garganta. Cuando se la sacas, Abel continúa mamándotela con verdadera desesperación, como si fuera un manjar.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo2.webm" type="video/webm"></video></center>
Tras varios minutos de felación, le levantas de la cama para desnudarlo. Estás tan caliente que al momento de escuchar de sus labios "Necesito que me folles, pero ten cuidado, es mi primera vez" no tardas en arrojarlo a la cama, ponerlo a cuatro patas y devorar su lampiño ojete. Luego, tan cachondo que ni te quitas la ropa, colocas tu polla en su agujero, entrando poco a poco pero sin vacilación. Abel está tan cachondo que tu rabo no tarda en estar totalmente dentro de él, que gime desesperado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo3.webm" type="video/webm"></video></center>
Tras varios minutos embistiéndolo, el culo virgen de Abel ya está del todo abierto. El propio chaval se sube encima tuyo y cabalga tu polla con deseo, mientras te muerdes el labio para no acabar corriéndote tan pronto.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo4.webm" type="video/webm"></video></center>
Pero tras varios brincos de Abel, sientes que no aguantas más y te vacías dentro del muchacho. Él, que ya se había corrido sobre su pecho, sale de ti para descansar desnudo sobre la cama. Con temor a que te descubran, te abrochas la bragueta y te despides con un beso, susurrándole que, si él quiere, volveréis a veros. Él asiente, y ambos os despedís.
[[Continuar|Rellano del 3º]]
<<else>>
Vuelves a pedirle que folle contigo, y al estar tan cachondo no puede negarse. Sigue pareciendo algo torpe contigo, por lo que te muestras dominante y vuelves a darle fuerte por su culo. Abel muerde con fuerza la almohada para no llamar la atención de sus abuelos.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo3.webm" type="video/webm"></video></center>
[[Continuar|Rellano del 3º]]
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<<if visited() is 1>>
<<set $corrupcionAbel to 50>>
<<set $notaAbel2 to true>>
<<set $notaAbel1 to false>>
<<set $RecuerdoAbel1 = true>>
<<set $abelDesvirgadoAnal = true>>
<<if not $recuerdosAbel>><<set $recuerdosAbel = 0>><</if>>
<<set $recuerdosAbel += 1>>
Abel's lips part and a faint moan escapes his lips as he presses the last button on his phone. Gripping the door frame, he raises his face and looks directly at you. You know it's your moment to act, so you grab him by the waist and start kissing him, a kiss he immediately returns. After a minute, you whisper in his ear "I want to fuck you" and he, taking your hand, discreetly leads you to his room.
There you continue kissing until you sit him on the bed. He immediately takes out your cock, already fully hard, and begins to caress it timidly. He has it so close to his face that you can feel his breath on your glans.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo1.webm" type="video/webm"></video></center>
You can't wait any longer, and grabbing his head you shove your entire cock down his throat. When you pull it out, Abel continues sucking you with true desperation, as if it were a delicacy.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo2.webm" type="video/webm"></video></center>
After several minutes of fellatio, you lift him from the bed to undress him. You're so hot that the moment you hear from his lips "I need you to fuck me, but be careful, it's my first time" you don't hesitate to throw him on the bed, put him on all fours and devour his smooth hole. Then, so horny that you don't even take off your clothes, you place your cock in his hole, entering slowly but without hesitation. Abel is so horny that your cock is soon completely inside him, moaning desperately.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo3.webm" type="video/webm"></video></center>
After several minutes of thrusting, Abel's virgin ass is now fully open. The guy himself climbs on top of you and rides your cock eagerly, while you bite your lip to keep from cumming too soon.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo4.webm" type="video/webm"></video></center>
But after several bounces from Abel, you feel you can't hold on anymore and you empty yourself inside the young man. He, who had already cum on his chest, pulls off you to rest naked on the bed. Afraid of being discovered, you button your fly and say goodbye with a kiss, whispering that, if he wants, you'll see each other again. He nods, and you both say goodbye.
[[Continue|Rellano del 3º]]
<<else>>
You ask him to fuck with you again, and being so horny he can't refuse. He still seems somewhat clumsy with you, so you act dominant and fuck his ass hard again. Abel bites the pillow hard to avoid attracting his grandparents' attention.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Abel/abelsexo3.webm" type="video/webm"></video></center>
[[Continue|Rellano del 3º]]
<</if>>
<</if>><<set $notaAdrian1 to false>>
<<set $notaAdrian2 to true>>
<<set $RecuerdoAdrian1 = true>>
<<set $corrupcionAdrian = 3>>
<<if not $recuerdosAdrian>><<set $recuerdosAdrian = 0>><</if>>
<<set $recuerdosAdrian += 1>>
<<if $idioma is "es">>
La <span class="vibrando">vibración</span> de tu móvil te sorprende. Esperas ver una llamada de Dem, pero en verdad es un mensaje. Te sorprendes aún más cuando descubres quién es el emisor: Adrián.
"¿Este es el cuerpo de tirillas?", te escribe, e inmediatamente después te envía una foto de él mismo, posando ante la cámara y alzándose un poco la camiseta para mostrar su abdomen fibrado.
<center><img src="images/Adrian/adrianfoto1.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
Sonriente, decides responderle: "Yo te veo bastante delgado, la verdad. Ni siquiera se te ven los pectorales."
Al segundo te responde de nuevo, tras enviarte una nueva fotografía, esta vez sin la camiseta: "¿Te refieres a estos pectorales?"
<center><img src="images/Adrian/adrianfoto2.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
"No sé si yo llamaría a eso unos pectorales", le contestas. "Son bastante planos. Y tus brazos son algo delgados también. Y en cuanto a tus abdominales inferiores..."
Otro mensaje de Adrián: "¿Pero mira la bola que me sale del brazo? Y mis oblicuos están perfectamente definidos. ¿Qué vas a saber tú de musculación, maricón?"
<center><img src="images/Adrian/adrianfoto3.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
Sonríes de nuevo. "Este maricón va a conseguir que te comas una polla", piensas. Luego le respondes: "Justo por eso, sé de hombres, y tú no pareces uno. Casi tienes formas femeninas. Estás muy lejos de parecerte a esos machos de la revista."
Esperas más de un minuto, lamentándote por, quizá, haber ido demasiado lejos. El móvil vuelve a vibrar. Es otro mensaje de Adrián, con una foto de él aún más sexy, totalmente desnudo y con la polla dura, la cual agarra con una mano.
<center><img src="images/Adrian/adrianfoto4.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
"Esto es lo que me hace un verdadero macho", te contesta, en mayúsculas. "Esta polla enorme. Esto no se puede entrenar. Esto viene de la sangre."
"Sí, es cierto. Es una muy buena polla", le respondes. "Lástima que el resto del cuerpo no le acompañe."
Esperas una respuesta, pero no llega. Te lamentas haberle forzado demasiado. Aun así, disfrutas de nuevo de las fotos que el vecino de enfrente te ha enviado. Te excita tanto ver ese cuerpo que tanto has deseado que te diriges lo más rápidamente posible a tu cuarto, donde te masturbas con ganas pensando en que pronto sentirás esa enorme polla dentro de tu boca.
[[Continuar|habitacionsergio]]
<<else>>
The <span class="vibrando">vibration</span> of your phone surprises you. You expect to see a call from Dem, but it's actually a message. You're even more surprised when you discover who the sender is: Adrián.
"Is this the scrawny body?", he writes, and immediately after sends you a photo of himself, posing for the camera and lifting his shirt a bit to show his toned abdomen.
<center><img src="images/Adrian/adrianfoto1.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
Smiling, you decide to reply: "You look pretty skinny to me, honestly. I can't even see your pecs."
He responds again immediately, after sending you a new photo, this time shirtless: "Are you referring to these pecs?"
<center><img src="images/Adrian/adrianfoto2.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
"I don't know if I'd call those pecs," you answer. "They're pretty flat. And your arms are kind of thin too. And as for your lower abs..."
Another message from Adrián: "But look at the bulge on my arm! And my obliques are perfectly defined. What would you know about bodybuilding, faggot?"
<center><img src="images/Adrian/adrianfoto3.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
You smile again. "This faggot is going to make you suck a cock," you think. Then you reply: "Exactly, I know about men, and you don't look like one. You almost have feminine features. You're far from looking like those studs in the magazine."
You wait more than a minute, regretting having perhaps gone too far. The phone vibrates again. It's another message from Adrián, with an even sexier photo of him, completely naked with his hard cock, which he grabs with one hand.
<center><img src="images/Adrian/adrianfoto4.png" class="dream-image" style="max-width: 80%; width: 600px; height: auto;"></center>
"This is what makes a real man," he replies, in capital letters. "This huge cock. This can't be trained. This comes from blood."
"Yes, it's true. It's a very nice cock," you respond. "Too bad the rest of your body doesn't match."
You wait for a response, but it doesn't come. You regret having pushed him too hard. Still, you enjoy again the photos that the neighbor across the hall sent you. You're so turned on by seeing that body you've desired so much that you head as quickly as possible to your room, where you masturbate eagerly thinking that you'll soon feel that huge cock inside your mouth.
[[Continue|habitacionsergio]]
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: ¡Qué cuerpo más ridículo!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Siempre te ha puesto mucho tu vecino de enfrente. Ahora el destino te ha permitido cumplir con tus deseos. Por eso, lo primero que hiciste fue usar la app de excitación a distancia para conocer sus secretos y, ya que estamos, desnudarlo.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Entonces descubriste que Adrián, tras esa fachada de chico guapo y seguro de sí mismo, existía un joven envidioso del cuerpo de los demás. Cuando le descubriste recogiendo en los buzones una revista de fitness, viste tu momento para actuar.
</p>
<center><img src="images/Adrian/adrianbuzon.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
No tuviste piedad, y en el portal del edificio le ridiculizaste, comparándole con el modelo de la portada. Al principio, tras su marcha, pensaste que no había dado resultado. Pero tras una hora recibiste un mensaje en tu móvil. Era Adrián, que junto a una foto sugerente, reclamaba que alabaras sus músculos.
</p>
<center><img src="images/Adrian/adrianfoto2.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ya en tu red, seguiste menospreciando su cuerpo, consiguiendo que cada vez te enviara fotos con menos ropa.
</p>
<center><img src="images/Adrian/adrianfoto3.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al final, al ver que no conseguía acallarte mediante sus músculos, Adrián, enrabietado, te envió una foto del mismo desnudo, con su larguísima polla empalmada, demostrando el enorme tamaño de sus genitales. Ya tenías el primer paso para conseguir meter a tu crush en tu cama.
</p>
<center><img src="images/Adrian/adrianfoto4.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: What a ridiculous body!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Your neighbor across the hall has always turned you on. Now fate has allowed you to fulfill your desires. That's why the first thing you did was use the remote arousal app to discover his secrets and, while you're at it, undress him.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then you discovered that Adrian, behind that facade of a handsome and self-confident guy, was a young man envious of other people's bodies. When you caught him picking up a fitness magazine at the mailboxes, you saw your moment to act.
</p>
<center><img src="images/Adrian/adrianbuzon.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You showed no mercy, and in the building's lobby you ridiculed him, comparing him to the model on the cover. At first, after he left, you thought it hadn't worked. But after an hour you received a message on your phone. It was Adrian, who along with a suggestive photo, demanded that you praise his muscles.
</p>
<center><img src="images/Adrian/adrianfoto2.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Already caught in your web, you continued belittling his body, getting him to send you photos with less and less clothing.
</p>
<center><img src="images/Adrian/adrianfoto3.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Finally, seeing that he couldn't silence you with his muscles, Adrian, enraged, sent you a photo of himself naked, with his very long hard cock, demonstrating the enormous size of his genitals. You already had the first step to getting your crush into your bed.
</p>
<center><img src="images/Adrian/adrianfoto4.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<</if>>
<div class="choice-container fade">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Adrián" "RecuerdosAdrian">><</link>>
<<else>>
<<link "⬅️ Back to Adrian's Memories" "RecuerdosAdrian">><</link>>
<</if>>
</div><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrián',
portrait: 'images/Adrian/adrian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, Adrián. Quería disculparme contigo por lo del otro día frente a los buzones.' },
{ speaker: 'adrian', text: 'No sé de qué me hablas.' },
{ speaker: 'sergio', text: 'De cuando te dije que tu cuerpo no estaba demasiado trabajado. Era solo envidia. Lo siento.' },
{ speaker: 'adrian', text: 'Tenías algo de razón. Tengo una genética más parecida a mi madre que a mi padre.' },
{ speaker: 'sergio', text: 'No sé si es por genética o por percepción. Luego de ver las fotos que me enviaste, se te ve bastante bien. Pero claro, al comparar con tu padre...' },
{ speaker: 'adrian', text: '¿Qué pasa con él?' },
{ speaker: 'sergio', text: 'Pues que creo que ese aspecto de hombre poderoso no solo es a través del ejercicio físico. Es su propia presencia. Y claro, su uniforme. Es policía. Es una autoridad. Impone solo con estar cerca de él.' },
{ speaker: 'adrian', text: 'Ya, eso es cierto. Pero yo no puedo hacerme policía.' },
{ speaker: 'sergio', text: 'Hay otras profesiones con autoridad, como un juez. O un guardia de seguridad.' },
{ speaker: 'adrian', text: '<em>desvía la mirada, cavilando</em> Podría cambiar de curro y hacerme segurata.' },
{ speaker: 'sergio', text: '¿Y por qué harías eso? ¿Solo para ser igual de hombre que tu padre? Bueno, me marcho, y lo siento de nuevo.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[
{
text: 'Te despides',
action: function() {
State.variables.adrianconversacion2 = true;
// ACTIVAR MARCA TEMPORAL PARA 3 DÍAS
State.variables.adrianConversacion2Timestamp = State.variables.gameTotalMinutes || 0;
console.log("Marca temporal de Adrián activada - evento en 3 días");
Engine.play("Rellano del 2º");
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adrian", {
characters: [
{
id: 'adrian',
name: 'Adrian',
portrait: 'images/Adrian/adrian.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi, Adrian. I wanted to apologize to you for what happened the other day in front of the mailboxes.' },
{ speaker: 'adrian', text: 'I don\'t know what you\'re talking about.' },
{ speaker: 'sergio', text: 'When I said your body wasn\'t very toned. It was just envy. I\'m sorry.' },
{ speaker: 'adrian', text: 'You were somewhat right. I have genetics more similar to my mother than my father.' },
{ speaker: 'sergio', text: 'I don\'t know if it\'s genetics or perception. After seeing the photos you sent me, you look pretty good. But of course, comparing to your father...' },
{ speaker: 'adrian', text: 'What about him?' },
{ speaker: 'sergio', text: 'Well, I think that powerful man aspect isn\'t just through physical exercise. It\'s his own presence. And of course, his uniform. He\'s a police officer. He\'s an authority. He commands respect just by being near him.' },
{ speaker: 'adrian', text: 'Yeah, that\'s true. But I can\'t become a cop.' },
{ speaker: 'sergio', text: 'There are other professions with authority, like a judge. Or a security guard.' },
{ speaker: 'adrian', text: '<em>looks away, pondering</em> I could change jobs and become a security guard.' },
{ speaker: 'sergio', text: 'And why would you do that? Just to be as much of a man as your father? Well, I\'m leaving, and sorry again.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[
{
text: 'Say goodbye',
action: function() {
State.variables.adrianconversacion2 = true;
// ACTIVATE TEMPORAL MARK FOR 3 DAYS
State.variables.adrianConversacion2Timestamp = State.variables.gameTotalMinutes || 0;
console.log("Adrian temporal mark activated - event in 3 days");
Engine.play("Rellano del 2º");
}
}
]
]
})>>
<</if>><<set $notaAdrian2 to false>>
<<set $notaAdrian3 to true>>
<<set $RecuerdoAdrian2 = true>>
<<set $corrupcionAdrian = 12>>
<<set $recuerdosAdrian += 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(50)>>
El móvil suena de repente. Has recibido un mensaje de Adrián.
"Te hice caso y cambié de trabajo" Te escribe, y al momento te envía una foto del mismo, vestido con un uniforme de guardia de seguridad. El chico quiere parecerse cada vez más a su padre.
<center><img src="images/Adrian/adrianguardia.png" width="500"></center>
"¡Que locura!"Le contestas mientras te enorgulleces de tus capacidades de manipulación. "Si que se te ve mas hombre, Incluso parece que tienes mas músculos"
"Tu me dirás" Te envía, junto a una nueva foto, esta vez con menos ropa.
<center><img src="images/Adrian/adrianguardia2.jpg" width="500"></center>
"Sí, es cierto. Incluso sin el uniforme trasmites una autoridad innegable. Ahora deberías probarla."
"No te entiendo"Te contesta.
"Pues que deberías ver si eres capaz, igual que tu padre, de hacer valer tu voluntad. Ahora eres una figura de autoridad. Un hombre poderoso. Deberías actuar como tal"
Adrián no te contesta, y sigues con tus quehaceres diarios (Seguir corrompiendo al resto de vecinos) Cuando, tras 30 minutos, recibes un mensaje nuevo de Adrián. Son varios clips de video, grabados desde alguna cámara oculta de un almacén del centro comercial de su nuevo trabajo. En el primer corte, solo se ve como ha detenido a algún joven delincuente y está cacheándole.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adrian/adriansegurata1.webm" type="video/webm"></video></center>
Mientras pasa sus manos por la cintura y el culo del detenido, Adrián no para de soltarle órdenes tajantes. El joven "delincuente" obedece a cada una de ellas asustado. Te sorprende ver como tu vecino le exige desnudarse, dejándole solo en ropa interior. Cuando piensas que las cosas van a subir a más, dado que el mismo Adrián se quita la camisa, este se tumba sobre la mesa y le obliga al detenido a hacerle un masaje. Es un simple acto de poder, por lo que lamentas que se quede solo en eso
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adrian/adriansegurata2.webm" type="video/webm"></video></center>
"¿Has visto como hacía lo que yo quería? ¿Cómo sabía quién era su amo?" Te escribe al momento "¿Piensas que mi padre haría algo parecido?"
Le contestas algo genérico y la conversación acaba. Para conseguir que Adrián dé más pasos hacia el sexo con hombres deberías mostrarle que su padre también está dispuesto a hacerlo.
[[Continuar|habitacionsergio]]
<<else>>
Your phone buzzes suddenly. You've received a message from Adrian.
"I listened to you and changed jobs," he writes, and immediately sends you a photo of himself in a security guard uniform. The guy wants to be more and more like his father.
<center><img src="images/Adrian/adrianguardia.png" width="500"></center>
"That's crazy!" you reply, proudly admiring your manipulative skills. "You do look more manly. You even seem to have more muscles."
"You tell me," he sends, along with another photo, this time with less clothing.
<center><img src="images/Adrian/adrianguardia2.jpg" width="500"></center>
"Yes, it's true. Even without the uniform, you project undeniable authority. Now you should try it out."
"I don't understand," he replies.
"Well, you should see if you're capable, like your father, of asserting your will. Now you're a figure of authority. A powerful man. You should act like it."
Adrian doesn't reply, and you continue with your daily tasks (continuing to corrupt the rest of the neighbors). Then, after 30 minutes, you receive a new message from Adrian. It's several video clips, recorded by a hidden camera in a warehouse at the shopping center where he's working. In the first clip, you only see him arresting a young offender and frisking him.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adrian/adriansegurata1.webm" type="video/webm"></video></center>
While running his hands over the detainee's waist and buttocks, Adrian keeps barking out sharp orders. The young "offender" obeys each one, terrified. You're surprised to see your neighbor demand he undress, leaving him only in his underwear. Just when you think things are about to escalate, since Adrian himself takes off his shirt, he lies down on the table and forces the detainee to give him a massage. It's a simple act of power, so you regret that it goes no further than that.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adrian/adriansegurata2.webm" type="video/webm"></video></center>
"Did you see how he did what I wanted? How did he know who his master was?" He immediately texts you, "Do you think my father would do something similar?"
You give him a generic reply, and the conversation ends. To get Adrian to take further steps toward sex with men, you should show him that his father is also willing to do it.
[[Continue|habitacionsergio]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Adrian/adrian.png" alt="Adrián">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Adrián</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosAdrian>></strong> recuerdo<<if $recuerdosAdrian > 1>>s<</if>> especial<<if $recuerdosAdrian > 1>>es<</if>> con Adrián.
</p>
<<else>>
<div class="header-image">
<img src="images/Adrian/adrian.png" alt="Adrian">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Adrian</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosAdrian>></strong> special memor<<if $recuerdosAdrian > 1>>ies<<else>>y<</if>> with Adrian.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoAdrian1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: ¡Qué cuerpo más ridículo!</h3>
<p>Ridiculizas el esfuerzo de Adrián en el gimnasio.</p>
<<else>>
<h3>Memory 1: What a ridiculous body!</h3>
<p>You ridicule Adrian's efforts at the gym.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdrian1">><</link>>
<<else>>
<<link "View →" "RecuerdoAdrian1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdrian2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Cambio de trabajo</h3>
<p>Sugestionaste a Adrián para que se convirtiera en guardia de seguridad.</p>
<<else>>
<h3>Memory 2: Job Change</h3>
<p>You manipulated Adrian into becoming a security guard.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdrian2">><</link>>
<<else>>
<<link "View →" "RecuerdoAdrian2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdrian3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Confidencias nocturnas</h3>
<p>Una conversación íntima revela más de lo esperado...</p>
<<else>>
<h3>Memory 3: Night confidences</h3>
<p>An intimate conversation reveals more than expected...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdrian3">><</link>>
<<else>>
<<link "View →" "RecuerdoAdrian3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdrian4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Cruzando límites</h3>
<p>El día que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Crossing boundaries</h3>
<p>The day everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdrian4">><</link>>
<<else>>
<<link "View →" "RecuerdoAdrian4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdrian5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Entrega total</h3>
<p>El momento más intenso con Adrián...</p>
<<else>>
<h3>Memory 5: Total surrender</h3>
<p>The most intense moment with Adrian...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdrian5">><</link>>
<<else>>
<<link "View →" "RecuerdoAdrian5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: Cambio de trabajo</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras la última conversación con Adrián, en la que te envió fotos de él desnudo, pensaste que quizás forzaste demasiado las críticas a su cuerpo. Por ello, decidiste disculparte ante tu vecino deportista.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pero eres muy inteligente, y en la disculpa colaste una referencia al padre de Adrián, Rafael. Le dijiste que, aunque los dos tenían muy buen cuerpo, el policía, debido a su profesión, transmitía un aura de autoridad que le hacía parecer más hombre. El resultado fue que tu adorado crush cambiara de trabajo por el de guardia de seguridad.
</p>
<center><img src="images/Adrian/adrianguardia.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Viendo que aún tenías capacidad para manipularle más, decidiste sugestionarle para que, ahora que tenía un trabajo con autoridad, como su padre, la aplicara como debe. Adrián pareció que quiso demostrártelo, grabando unas imágenes con una cámara escondida en algún almacén del centro donde trabajaba.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adrian/adriansegurata1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Usando su descubierta autoridad, ordenó a un joven al que había detenido por algún absurdo pretexto a que le hiciera un masaje en la espalda, mostrando quién manda.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adrian/adriansegurata2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pero la cosa no fue a más, al menos por ahora. Adrián cree que está a la par de su padre en masculinidad. Veremos cómo consigues que dé los siguientes pasos para corromperle.
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Adrián" "RecuerdosAdrian">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 2: Job Change</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After your last conversation with Adrián, in which he sent you naked photos of himself, you thought that perhaps you pushed the criticism of his body too far. Therefore, you decided to apologize to your athletic neighbor.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
But you're very clever, and in your apology you slipped in a reference to Adrián's father, Rafael. You told him that, although they both had great bodies, the police officer, due to his profession, conveyed an aura of authority that made him seem more manly. The result was that your beloved crush changed his job to that of a security guard.
</p>
<center><img src="images/Adrian/adrianguardia.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Seeing that you still had the ability to manipulate him further, you decided to suggest that, now that he had a job with authority like his father, he should apply it as he should. Adrián seemed to want to prove it to you, recording some images with a hidden camera in some warehouse at the mall where he worked.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adrian/adriansegurata1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Using his newfound authority, he ordered a young man he had detained for some absurd pretext to give him a back massage, showing who's in charge.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adrian/adriansegurata2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
But things didn't go any further, at least not for now. Adrián believes he's on par with his father in masculinity. We'll see how you manage to get him to take the next steps to corrupt him.
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Adrian's Memories" "RecuerdosAdrian">><</link>>
</div>
<</if>><<if $idioma is "es">>
<<if !$currentSemblanteActive || $currentSemblanteActive.name !== 'Chica sexy'>>
<!-- CONVERSACIÓN CON SERGIO NORMAL -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. ¿Estáis de fiesta?' },
{ speaker: 'adler', text: '<em>Agacha la cabeza, avergonzado</em> Perdona por el ruido, iré a bajar el volumen un poco.' },
{ speaker: 'sergio', text: 'No, tranquilo, si me gustaría entrar yo también. ¿Puedo?' },
{ speaker: 'sean', text: '<em>Desde dentro de la casa</em> ¿Quién es?' },
{ speaker: 'adler', text: 'Es el vecino de abajo.' },
{ speaker: 'sean', text: 'Si no es una estudiante mona y virginal, cierra la puerta.' },
{ speaker: 'adler', text: 'Lo siento.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Te cierra la puerta',
action: function() {
State.variables.Semblantechicasexy = true;
Engine.play('Rellano del 3º');
}
}
]
]
})>>
<<else>>
<!-- CONVERSACIÓN CON CHICA SEXY -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. Me habían dicho que aquí había una fiesta de Erasmus.' },
{ speaker: 'adler', text: '<em>Agacha la cabeza, tímido, mientras te mira los pechos</em> Sí. Es aquí. ¿Eres amiga de Karen?' },
{ speaker: 'sean', text: '<em>Desde dentro de la casa</em> ¿Quién es, Adler?' },
{ speaker: 'adler', text: 'Es una chica. Una estudiante de la uni.' },
{ speaker: 'sean', text: 'Pues que pase, y le pones una copa.' },
{ speaker: 'adler', text: '<em>Te sonríe</em> Pasa, pasa.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Entras a la casa',
action: 'GOTO:recibidor3A'
}
]
]
})>>
<</if>>
<<else>>
<<if !$currentSemblanteActive || $currentSemblanteActive.nameEn !== 'Sexy Girl'>>
<!-- CONVERSATION WITH NORMAL SERGIO -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello. Are you having a party?' },
{ speaker: 'adler', text: '<em>Lowers his head, embarrassed</em> Sorry for the noise, I\'ll go turn down the volume a bit.' },
{ speaker: 'sergio', text: 'No, don\'t worry, I\'d actually like to come in too. Can I?' },
{ speaker: 'sean', text: '<em>From inside the house</em> Who is it?' },
{ speaker: 'adler', text: 'It\'s the neighbor from downstairs.' },
{ speaker: 'sean', text: 'If it\'s not a cute and virginal student, close the door.' },
{ speaker: 'adler', text: 'Sorry.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'He closes the door on you',
action: function() {
State.variables.Semblantechicasexy = true;
Engine.play('Rellano del 3º');
}
}
]
]
})>>
<<else>>
<!-- CONVERSATION WITH SEXY GIRL -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#e74c3c',
facing: 'left'
},
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi. I was told there\'s an Erasmus party here.' },
{ speaker: 'adler', text: '<em>Lowers his head, shy, while looking at your breasts</em> Yes. This is it. Are you Karen\'s friend?' },
{ speaker: 'sean', text: '<em>From inside the house</em> Who is it, Adler?' },
{ speaker: 'adler', text: 'It\'s a girl. A student from uni.' },
{ speaker: 'sean', text: 'Well let her in, and pour her a drink.' },
{ speaker: 'adler', text: '<em>Smiles at you</em> Come in, come in.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You enter the house',
action: 'GOTO:recibidor3A'
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<if !$currentSemblanteActive || $currentSemblanteActive.key !== 'femenino-joven-adorable-atractivo-extrovertido-inocente'>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. ¿Estáis celebrando una fiesta?' },
{ speaker: 'sean', text: '<em>Te mira con desprecio</em> Es obvio, ¿no?' },
{ speaker: 'sergio', text: 'Quería saber si puedo entrar un rato, ya sabes, para pasarlo bien...' },
{ speaker: 'sean', text: 'No, gracias.' },
{ speaker: 'sergio', text: '¿Por qué?' },
{ speaker: 'sean', text: 'Aquí ya estamos llenos de tíos. Aquí solo entran las mujeres más guapas, simpáticas y atractivas.' }
],
options: [
[],
[],
[],
[],
[],
[
{
text: 'Te cierra la puerta',
action: function() {
State.variables.Semblantechicasexy = true;
Engine.play('Rellano del 3º');
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. ¿Es aquí la fiesta?' },
{ speaker: 'sean', text: '<em>Te mira de arriba a abajo y se relame los labios</em> ¡Claro!' },
{ speaker: 'sergio', text: '¿Puedo pasar?' },
{ speaker: 'sean', text: 'No hay fiesta sin ti.' }
],
options: [
[],
[],
[],
[
{
text: 'Entras a la casa',
action: 'GOTO:recibidor3A'
}
]
]
})>>
<</if>>
<<else>>
<<if !$currentSemblanteActive || $currentSemblanteActive.nameEn !== 'Sexy girl'>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hello. Are you having a party?' },
{ speaker: 'sean', text: '<em>Looks at you with contempt</em> Obviously, isn\'t it?' },
{ speaker: 'sergio', text: 'I wanted to know if I can come in for a bit, you know, to have a good time...' },
{ speaker: 'sean', text: 'No, thanks.' },
{ speaker: 'sergio', text: 'Why?' },
{ speaker: 'sean', text: 'We\'re already full of guys here. Only the hottest, nicest, and most attractive women get in here.' }
],
options: [
[],
[],
[],
[],
[],
[
{
text: 'He closes the door on you',
action: function() {
State.variables.Semblantechicasexy = true;
Engine.play('Rellano del 3º');
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#4a90e2',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi. Is this where the party is?' },
{ speaker: 'sean', text: '<em>Looks you up and down and licks his lips</em> Sure is!' },
{ speaker: 'sergio', text: 'Can I come in?' },
{ speaker: 'sean', text: 'There\'s no party without you.' }
],
options: [
[],
[],
[],
[
{
text: 'You enter the house',
action: 'GOTO:recibidor3A'
}
]
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<if !$currentSemblanteActive || $currentSemblanteActive.name !== 'Chica sexy'>>
<!-- CONVERSACIÓN CON SERGIO NORMAL -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¿Estáis de fiesta? ¡Menudo jaleo!' },
{ speaker: 'francesco', text: '<em>Habla con un ligero acento</em> Sí, perdona. ¿Te molesta? ¿Bajamos el volumen?' },
{ speaker: 'sergio', text: 'Sí, bueno, no. Yo solo querría, no sé... ¿entrar?' },
{ speaker: 'francesco', text: '¿A la fiesta? Es privada, ya sabes. Para estudiantes.' },
{ speaker: 'sergio', text: '¿Entonces no puedo pasar a tomar algo?' },
{ speaker: 'francesco', text: 'Es una reunión de estudio más que una fiesta. Lo siento.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Te cierra la puerta',
action: 'GOTO:Rellano del 3º'
}
]
]
})>>
<<else>>
<!-- CONVERSACIÓN CON CHICA SEXY -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¡Hola! Me han dicho que aquí es la fiesta de Erasmus.' },
{ speaker: 'francesco', text: '<em>Te mira embobado</em> Sí, es aquí. ¿Nos conocemos?' },
{ speaker: 'sergio', text: 'No, pero me han dicho que aquí hacéis fiestas divertidas. Lo escuché en la universidad y, como estoy sola pues...' },
{ speaker: 'francesco', text: 'No sé si...' },
{ speaker: 'sergio', text: 'Solo dime una cosa. ¿Hay chicos?' },
{ speaker: 'francesco', text: 'Unos cuantos. Ok, pasa. Tómate algo.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Entras a la casa',
action: 'GOTO:recibidor3A'
}
]
]
})>>
<</if>>
<<else>>
<<if !$currentSemblanteActive || $currentSemblanteActive.nameEn !== 'Sexy Girl'>>
<!-- CONVERSATION WITH NORMAL SERGIO -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Are you having a party? What a racket!' },
{ speaker: 'francesco', text: '<em>Speaks with a slight accent</em> Yes, sorry. Does it bother you? Should we turn the volume down?' },
{ speaker: 'sergio', text: 'Yes, well, no. I just wanted, I don\'t know... to come in?' },
{ speaker: 'francesco', text: 'To the party? It\'s private, you know. For students.' },
{ speaker: 'sergio', text: 'So I can\'t come in for a drink?' },
{ speaker: 'francesco', text: 'It\'s more of a study session than a party. Sorry.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'He closes the door on you',
action: 'GOTO:Rellano del 3º'
}
]
]
})>>
<<else>>
<!-- CONVERSATION WITH SEXY GIRL -->
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi! I was told this is where the Erasmus party is.' },
{ speaker: 'francesco', text: '<em>Looks at you dazed</em> Yes, this is it. Do we know each other?' },
{ speaker: 'sergio', text: 'No, but I heard you guys throw fun parties. I heard it at university and, since I\'m alone well...' },
{ speaker: 'francesco', text: 'I don\'t know if...' },
{ speaker: 'sergio', text: 'Just tell me one thing. Are there guys?' },
{ speaker: 'francesco', text: 'A few. Okay, come in. Have a drink.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You enter the house',
action: 'GOTO:recibidor3A'
}
]
]
})>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor3A.png" alt="Recibidor" />
</div>
Nada más entrar a la casa, se sabe que en ella habitan tres estudiantes varones. El olor es inconfundible y las dos mochilas, colgadas y preparadas para ir a clase, confirman a sus habitantes.
[[Ir al salón|salon3A]]
[[Ir al baño|baño3A]]
[[Ir a la habitación de Sean|habitacionsean]]
[[Ir a la habitación de Adler|habitacionadler]]
[[Ir a la habitación de Francesco|habitacionfrancesco]]
[[Ir a la cocina|cocina3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor3A.png" alt="Hallway" />
</div>
As soon as you enter the house, you can tell that three male students live here. The smell is unmistakable and the two backpacks, hanging and ready for class, confirm their inhabitants.
[[Go to the living room|salon3A]]
[[Go to the bathroom|baño3A]]
[[Go to Sean's room|habitacionsean]]
[[Go to Adler's room|habitacionadler]]
[[Go to Francesco's room|habitacionfrancesco]]
[[Go to the kitchen|cocina3A]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if !$formaFantasmalActiva>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $bromasean && $bromafrancesco && $notaAdler1 && !$adlerfinalmision1>>
<<goto "adlermision1final">>
<</if>>
<<run setup.gameTime.addMinutes(5)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6 && !$formaFantasmalActiva>>
<<goto "Teechandelafiesta">>
<</if>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if $idioma is "es">>
El salón está lleno de gente bebiendo y charlando. Hay vasos por todas partes, la música suena alta y el ambiente huele a alcohol, sudor y perfume barato. Varios estudiantes Erasmus se amontonan en los sofás y otros bailan en el centro de la habitación.
[[Ir a hablar con el estudiante checo|fiestacheco]]
<<if !$adlerEnBano and !$adlertesigue and (!$adlerfinalmision1 or ($adlerfinalmision1Timestamp and ($gameTotalMinutes - $adlerfinalmision1Timestamp) >= 1440))>>
[[Ir a hablar con Adler|fiestaadler]]
<</if>>
[[Ir a hablar con el estudiante francés|fiestafrances]]
<<if !$francescoEnBano>>
[[Ir a hablar con Francesco|fiestafrancesco]]
<</if>>
<<if !$chicasborrachas and !$seanEnHabitacion>>
[[Ir a hablar con el par de chicas|fiestachicas]]
<</if>>
[[Ir a hablar con el estudiante noruego|fiestanoruego]]
<<if !$seanEnBano and !$seanEnHabitacion>>
[[Ir a hablar con Sean|fiestasean]]
<</if>>
[[Regresar al recibidor|recibidor3A]]
<<else>>
The living room is packed with people drinking and chatting. There are cups everywhere, the music is blasting and the air smells of alcohol, sweat and cheap perfume. Groups of Erasmus students pile onto the sofas while others dance in the center of the room.
[[Go talk to the Czech student|fiestacheco]]
<<if !$adlerEnBano and !$adlertesigue and (!$adlerfinalmision1 or ($adlerfinalmision1Timestamp and ($gameTotalMinutes - $adlerfinalmision1Timestamp) >= 1440))>>
[[Go talk to Adler|fiestaadler]]
<</if>>
[[Go talk to the French student|fiestafrances]]
<<if !$francescoEnBano>>
[[Go talk to Francesco|fiestafrancesco]]
<</if>>
<<if !$chicasborrachas and !$seanEnHabitacion>>
[[Go talk to the pair of girls|fiestachicas]]
<</if>>
[[Go talk to the Norwegian student|fiestanoruego]]
<<if !$seanEnBano and !$seanEnHabitacion>>
[[Go talk to Sean|fiestasean]]
<</if>>
[[Return to the entrance|recibidor3A]]
<</if>>
<<else>>
<<if $idioma is "es">>
El salón es la habitación con más vida de esta casa, y eso puede verse perfectamente por los restos de comida y bebidas sin recoger de la mesa. Los muebles son algo anticuados y no están en su mejor estado. Una mancha pegajosa sobre el suelo se adhiere a tus suelas.
<<else>>
The living room is the most lively room in this house, and you can see that perfectly from the leftover food and drinks on the table that haven't been cleared away. The furniture is somewhat outdated and not in its best condition. A sticky stain on the floor adheres to your soles.
<</if>>
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8.5 and _currentTime < 9)>>
<<if $idioma is "es">>Adler está desayunando mientras revisa sus apuntes. [[Observarlo|AdlerDesayunando]]
<<else>>Adler is having breakfast while reviewing his notes. [[Watch him|AdlerDesayunando]]<</if>>
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 9 and _currentTime < 9.5)>>
<<if $idioma is "es">>Francesco está desayunando con calma. [[Observarlo|FrancescoDesayunando]]
<<else>>Francesco is having breakfast calmly. [[Watch him|FrancescoDesayunando]]<</if>>
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 19 and _currentTime < 19.5)>>
<<if $idioma is "es">>Adler está cenando solo. [[Observarlo|AdlerComiendo]]
<<else>>Adler is having dinner alone. [[Watch him|AdlerComiendo]]<</if>>
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 19.5 and _currentTime < 20)>>
<<if $idioma is "es">>Los tres compañeros cenan juntos. [[Observarlos|AdlerSeanFrancescoCenando]]
<<else>>The three roommates are having dinner together. [[Watch them|AdlerSeanFrancescoCenando]]<</if>>
<<set _charactersPresent.push('Adler', 'Sean', 'Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 20 and _currentTime < 20.5)>>
<<if $idioma is "es">>Sean y Francesco terminan de cenar. [[Observarlos|SeanFrancescoComiendo]]
<<else>>Sean and Francesco are finishing dinner. [[Watch them|SeanFrancescoComiendo]]<</if>>
<<set _charactersPresent.push('Sean', 'Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 11 and _currentTime < 12)>>
<<if $idioma is "es">>Adler está desayunando tarde con resaca leve. [[Observarlo|AdlerDesayunando]]
<<else>>Adler is having a late breakfast with a mild hangover. [[Watch him|AdlerDesayunando]]<</if>>
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 13 and _currentTime < 14)>>
<<if $idioma is "es">>Sean está desayunando con resaca. [[Observarlo|SeanDesayunando]]
<<else>>Sean is having breakfast with a hangover. [[Watch him|SeanDesayunando]]<</if>>
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 14 and _currentTime < 15)>>
<<if $idioma is "es">>Francesco está comiendo solo. [[Observarlo|FrancescoComiendo]]
<<else>>Francesco is eating alone. [[Watch him|FrancescoComiendo]]<</if>>
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 19 and _currentTime < 20)>>
<<if $idioma is "es">>Los tres compañeros cenan juntos. [[Observarlos|AdlerSeanFrancescoCenando]]
<<else>>The three roommates are having dinner together. [[Watch them|AdlerSeanFrancescoCenando]]<</if>>
<<set _charactersPresent.push('Adler', 'Sean', 'Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 10.5 and _currentTime < 11.5)>>
<<if $idioma is "es">>Francesco está desayunando tranquilamente. [[Observarlo|FrancescoDesayunando]]
<<else>>Francesco is having breakfast calmly. [[Watch him|FrancescoDesayunando]]<</if>>
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 12 and _currentTime < 13)>>
<<if $idioma is "es">>Adler está comiendo. [[Observarlo|AdlerComiendo]]
<<else>>Adler is eating. [[Watch him|AdlerComiendo]]<</if>>
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 14 and _currentTime < 15)>>
<<if $idioma is "es">>Sean y Francesco comen juntos. [[Observarlos|SeanFrancescoComiendo]]
<<else>>Sean and Francesco are having lunch together. [[Watch them|SeanFrancescoComiendo]]<</if>>
<<set _charactersPresent.push('Sean', 'Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 19 and _currentTime < 21)>>
<<if $idioma is "es">>Los tres compañeros cenan juntos. [[Observarlos|AdlerSeanFrancescoCenando]]
<<else>>The three roommates are having dinner together. [[Watch them|AdlerSeanFrancescoCenando]]<</if>>
<<set _charactersPresent.push('Adler', 'Sean', 'Francesco')>>
<<else>>
<<if $idioma is "es">>El salón está vacío. La mancha pegajosa del suelo sigue ahí.
<<else>>The living room is empty. The sticky stain on the floor is still there.<</if>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<script>>
$(document).one(":passagedisplay", function() {
setTimeout(function() {
if (window.isFiesta3AActive && window.isFiesta3AActive()) return;
if (State.variables.formaFantasmalActiva) return;
var semblante = State.variables.currentSemblanteActive;
if (semblante) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
if (Story.has(discoveryPassage)) {
Engine.play(discoveryPassage);
}
}, 200);
});
<</script>>
<</if>>
<<if $idioma is "es">>
[[Ir a la cocina|cocina3A]]
[[Ir a la entrada de la casa|recibidor3A]]
[[Ir a la habitación de Sean|habitacionsean]]
[[Ir a la habitación de Adler|habitacionadler]]
[[Ir a la habitación de Francesco|habitacionfrancesco]]
[[Ir al baño|baño3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
[[Go to the kitchen|cocina3A]]
[[Go to the entrance|recibidor3A]]
[[Go to Sean's room|habitacionsean]]
[[Go to Adler's room|habitacionadler]]
[[Go to Francesco's room|habitacionfrancesco]]
[[Go to the bathroom|baño3A]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6 && $formaFantasmalActiva is not true>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño" />
</div>
El baño del 3A es el retrato fiel de lo que pasa cuando tres tíos comparten un mismo espacio sin que ninguno quiera encargarse de limpiarlo. El cesto de la ropa sucia desborda por los cuatro costados, con ropa interior y camisetas que llevan días esperando la lavadora. Sobre el lavabo, una acumulación caótica de productos de higiene de tres gustos distintos. El suelo de terrazo está limpio, eso sí, alguien habrá fregado en algún momento.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _seanPresent to false>><<set _adlerPresent to false>><<set _francescoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _seanPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 14 and _currentTime < 15)>>\
<<set _seanPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 13 and _currentTime < 14)>>\
<<set _seanPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8 and _currentTime < 8.5)>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 12 and _currentTime < 12.5)>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 11 and _currentTime < 12)>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8.5 and _currentTime < 9)>>\
<<set _francescoPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 11.5 and _currentTime < 12)>>\
<<set _francescoPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 10 and _currentTime < 10.5)>>\
<<set _francescoPresent to true>>\
<</if>>\
\
<<if $francescoEnBano>>\
<<set _francescoPresent to true>>\
<</if>>\
<<if $adlerEnBano>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if $seanEnBano>>\
<<set _seanPresent to true>>\
<</if>>\
\
<<if _seanPresent>>\
<<run setup.registerCharactersInLocation(['Sean'])>>\
<<set _charactersPresent.push('Sean')>>\
<center><img src="images/localizaciones/baño3Acerrado.png" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Sean se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Seanducha')>><</link>>
<</if>>
<<elseif _adlerPresent>>\
<<run setup.registerCharactersInLocation(['Adler'])>>\
<<set _charactersPresent.push('Adler')>>\
<center><img src="images/localizaciones/baño3Acerrado.png" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Adler se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Adlerducha')>><</link>>
<</if>>
<<elseif _francescoPresent>>\
<<run setup.registerCharactersInLocation(['Francesco'])>>\
<<set _charactersPresent.push('Francesco')>>\
<center><img src="images/localizaciones/baño3Acerrado.png" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Francesco se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Francescoducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<p style="color:#888; font-style:italic;">Varios estudiantes esperan fuera con cara de urgencia. Mejor no tardes mucho.</p>
<</if>>
[[Ir al salón|salon3A]]
[[Ir a la entrada de la casa|recibidor3A]]
[[Ir a la habitación de Sean|habitacionsean]]
[[Ir a la habitación de Adler|habitacionadler]]
[[Ir a la habitación de Francesco|habitacionfrancesco]]
[[Ir a la cocina|cocina3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.nameEn !== 'Sexy girl'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom" />
</div>
The 3A bathroom is a faithful portrait of what happens when three guys share the same space without any of them wanting to clean it. The laundry basket overflows on all sides, with underwear and t-shirts that have been waiting for the washing machine for days. On the sink, a chaotic accumulation of hygiene products of three different tastes. The terrazzo floor is clean though, someone must have mopped at some point.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _seanPresent to false>><<set _adlerPresent to false>><<set _francescoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _seanPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 14 and _currentTime < 15)>>\
<<set _seanPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 13 and _currentTime < 14)>>\
<<set _seanPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8 and _currentTime < 8.5)>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 12 and _currentTime < 12.5)>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 11 and _currentTime < 12)>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 8.5 and _currentTime < 9)>>\
<<set _francescoPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 11.5 and _currentTime < 12)>>\
<<set _francescoPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 7 and _currentTime >= 10 and _currentTime < 10.5)>>\
<<set _francescoPresent to true>>\
<</if>>\
\
<<if $francescoEnBano>>\
<<set _francescoPresent to true>>\
<</if>>\
<<if $adlerEnBano>>\
<<set _adlerPresent to true>>\
<</if>>\
<<if $seanEnBano>>\
<<set _seanPresent to true>>\
<</if>>\
\
<<if _seanPresent>>\
<<run setup.registerCharactersInLocation(['Sean'])>>\
<<set _charactersPresent.push('Sean')>>\
<center><img src="images/localizaciones/baño3Acerrado.png" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Sean is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Seanducha')>><</link>>
<</if>>
<<elseif _adlerPresent>>\
<<run setup.registerCharactersInLocation(['Adler'])>>\
<<set _charactersPresent.push('Adler')>>\
<center><img src="images/localizaciones/baño3Acerrado.png" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Adler is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Adlerducha')>><</link>>
<</if>>
<<elseif _francescoPresent>>\
<<run setup.registerCharactersInLocation(['Francesco'])>>\
<<set _charactersPresent.push('Francesco')>>\
<center><img src="images/localizaciones/baño3Acerrado.png" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Francesco is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Francescoducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<p style="color:#888; font-style:italic;">Several students are waiting outside looking rather desperate. Better not take too long.</p>
<</if>>
[[Go to the living room|salon3A]]
[[Go to the entrance|recibidor3A]]
[[Go to Sean's room|habitacionsean]]
[[Go to Adler's room|habitacionadler]]
[[Go to Francesco's room|habitacionfrancesco]]
[[Go to the kitchen|cocina3A]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6 && $formaFantasmalActiva is not true>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/cocina3A.png" alt="Cocina" />
</div>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
La cocina está llena de gente bebiendo y charlando. Hay vasos por todas partes y el ambiente huele a alcohol y pizza.
[[Preparar unas bebidas bien cargadas|prepararbebidas]]
<<if $adlertesigue and !$bromasean>>
[[Gastar la broma a Sean|seanbebida]]
<</if>>
<<else>>
Cuando entras en la cocina casi te da un pasmo. Una pila de platos sucios domina la estancia a la espera de que alguien los friegue, seguramente para ser usado al momento y retornar a la misma pila. En el cubo de basura hay más latas de cerveza que restos de comida. Si abrieras la nevera verías algo similar.
<</if>>
[[Ir al salón|salon3A]]
[[Ir a la entrada de la casa|recibidor3A]]
[[Ir a la habitación de Sean|habitacionsean]]
[[Ir a la habitación de Adler|habitacionadler]]
[[Ir a la habitación de Francesco|habitacionfrancesco]]
[[Ir al baño|baño3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.nameEn !== 'Sexy girl'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/cocina3A.png" alt="Kitchen" />
</div>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
The kitchen is full of people drinking and chatting. There are cups everywhere and the air smells like alcohol and pizza.
[[Prepare some strong drinks|prepararbebidas]]
<<if $adlertesigue and !$bromasean>>
[[Play a prank on Sean|seanbebida]]
<</if>>
<<else>>
When you enter the kitchen you almost have a stroke. A pile of dirty dishes dominates the room, waiting for someone to wash them, probably to be used immediately and return to the same pile. In the trash can there are more beer cans than food scraps. If you opened the fridge you'd see something similar.
<</if>>
[[Go to the living room|salon3A]]
[[Go to the entrance|recibidor3A]]
[[Go to Sean's room|habitacionsean]]
[[Go to Adler's room|habitacionadler]]
[[Go to Francesco's room|habitacionfrancesco]]
[[Go to the bathroom|baño3A]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $seanExcitadoDestino to "habitacionsean">>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6 && $formaFantasmalActiva is not true>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
<<if $seanEnHabitacion or setup.excitationMarks.hasMark('Sean')>>
La puerta de la habitación de Sean está cerrada con llave. Al acercar el oído, escuchas voces ahogadas y risas femeninas mezcladas con gemidos.
<center><img src="images/localizaciones/puertacerrada.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('SeanConChica')>><</link>>
<</if>>
<<else>>
El desorden y el olor a ropa usada revela que esta habitación necesita algo de ventilación. Apartas con el pie un envoltorio de preservativo mientras razonas si es posible encontrar algo de información entre tanto apunte desordenado. La bandera de Irlanda sobre la pared identifica al propietario de esta habitación: Sean.
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 7.5)>>
Sean está durmiendo profundamente. [[Observarlo|SeanDurmiendo]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 18 and _currentTime < 19)>>
Sean está en su habitación disfrutando de un momento privado. [[Observarlo|SeanMasturbandose]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 20.5 and _currentTime < 24)>>
Sean está en casa relajado, viendo series o jugando videojuegos. [[Observarlo|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 4 and _currentTime < 13)>>
Sean está durmiendo la resaca. [[Observarlo|SeanDurmiendo]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 15 and _currentTime < 18)>>
Sean está recuperándose, mirando el móvil y mandando mensajes. [[Observarlo|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 18 and _currentTime < 19)>>
Sean está en su habitación disfrutando de un momento íntimo. [[Observarlo|SeanMasturbandose]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 20 and _currentTime < 22)>>
Sean se está preparando para salir otra vez de fiesta. [[Observarlo|SeanPreparandose]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 5 and _currentTime < 13)>>
Sean está durmiendo con compañía. [[Observarlo|SeanConChica]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 15 and _currentTime < 20)>>
Sean está descansando en su habitación, viendo series. [[Observarlo|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 21 and _currentTime < 24)>>
Sean está relajándose antes de dormir. [[Observarlo|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true>>
<<if setup.hasTemporalMark('Sean', 'excitado') or ((_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 18 and _currentTime < 19)) or (_dayOfWeek is 6 and _currentTime >= 18 and _currentTime < 19)>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Se escucha un sonido rítmico tras la puerta entreabierta...</p>
<<link "👻 Entrar a la habitación">><<run Engine.play('SeanMasturbandose')>><</link>>
<</if>>
<</if>>
<<if $formaFantasmalActiva is true and $calzoncillosean isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillosean')>><</link>>
<</if>>
<</if>>
[[Ir al salón|salon3A]]
[[Ir al baño|baño3A]]
[[Ir a la habitación de Adler|habitacionadler]]
[[Ir al recibidor|recibidor3A]]
[[Ir a la habitación de Francesco|habitacionfrancesco]]
[[Ir a la cocina|cocina3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $seanExcitadoDestino to "habitacionsean">>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.nameEn !== 'Sexy girl'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
<<if $seanEnHabitacion or setup.excitationMarks.hasMark('Sean')>>
Sean's door is locked. Pressing your ear to it, you catch muffled voices and female laughter mixed with moaning.
<center><img src="images/localizaciones/puertacerrada.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('SeanConChica')>><</link>>
<</if>>
<<else>>
The mess and smell of used clothes reveals that this room needs some ventilation. You push aside a condom wrapper with your foot while wondering if it's possible to find any information among so many scattered notes. The Irish flag on the wall identifies the owner of this room: Sean.
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 7.5)>>
Sean is sleeping deeply. [[Watch him|SeanDurmiendo]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 18 and _currentTime < 19)>>
Sean is in his room enjoying some private time. [[Watch him|SeanMasturbandose]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 20.5 and _currentTime < 24)>>
Sean is relaxing at home, watching series or playing videogames. [[Watch him|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 4 and _currentTime < 13)>>
Sean is sleeping off his hangover. [[Watch him|SeanDurmiendo]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 15 and _currentTime < 18)>>
Sean is recovering, checking his phone and texting. [[Watch him|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 18 and _currentTime < 19)>>
Sean is in his room enjoying an intimate moment. [[Watch him|SeanMasturbandose]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 20 and _currentTime < 22)>>
Sean is getting ready to go out again. [[Watch him|SeanPreparandose]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 5 and _currentTime < 13)>>
Sean is sleeping with company. [[Watch him|SeanConChica]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 15 and _currentTime < 20)>>
Sean is resting in his room, watching series. [[Watch him|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 21 and _currentTime < 24)>>
Sean is relaxing before going to sleep. [[Watch him|SeanRelajado]]
<<set _charactersPresent.push('Sean')>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true>>
<<if setup.hasTemporalMark('Sean', 'excitado') or ((_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 18 and _currentTime < 19)) or (_dayOfWeek is 6 and _currentTime >= 18 and _currentTime < 19)>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 A rhythmic sound can be heard through the half-open door...</p>
<<link "👻 Enter the room">><<run Engine.play('SeanMasturbandose')>><</link>>
<</if>>
<</if>>
<<if $formaFantasmalActiva is true and $calzoncillosean isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillosean')>><</link>>
<</if>>
<</if>>
[[Go to the living room|salon3A]]
[[Go to the bathroom|baño3A]]
[[Go to Adler's room|habitacionadler]]
[[Go to the entrance|recibidor3A]]
[[Go to Francesco's room|habitacionfrancesco]]
[[Go to the kitchen|cocina3A]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6 && $formaFantasmalActiva is not true>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
<<if ($adlerfinalmision1 and $adlerfinalmision1Timestamp and ($gameTotalMinutes - $adlerfinalmision1Timestamp) < 1440) or setup.excitationMarks.hasMark('Adler')>>
<center><img src="images/localizaciones/puertacerrada.png" width="400"></center>
La puerta de la habitación de Adler está cerrada con pestillo. Se oye desde dentro una respiración profunda y acompasada.
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('AdlerMasturbandose')>><</link>>
<</if>>
<<else>>
Una habitación típica de estudiante universitario alemán. Escritorio perfectamente ordenado con apuntes clasificados por colores, cama sin hacer —el único signo de desorden— y varios libros de texto apilados con precisión. Identificas, por las fotos del tablón de corcho, al propietario de la misma: el alemán Adler.
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 8)>>
Adler está durmiendo tranquilamente. [[Observarlo|AdlerDurmiendo]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17 and _currentTime < 18)>>
Adler está descansando un poco en su habitación. [[Observarlo|AdlerDescansando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 18 and _currentTime < 19)>>
Adler está disfrutando de un momento privado en su habitación. [[Observarlo|AdlerMasturbandose]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 19)>>
Adler está repasando sus apuntes. [[Observarlo|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 20 and _currentTime < 24)>>
Adler está estudiando con música clásica de fondo. [[Observarlo|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 4 and _currentTime < 11)>>
Adler está durmiendo profundamente después de la fiesta. [[Observarlo|AdlerDurmiendo]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 12.5 and _currentTime < 15)>>
Adler está descansando en su habitación. [[Observarlo|AdlerDescansando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 16 and _currentTime < 18)>>
Adler está repasando algunos apuntes. [[Observarlo|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 18 and _currentTime < 19)>>
Adler está disfrutando de un momento íntimo. [[Observarlo|AdlerMasturbandose]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 20 and _currentTime < 22)>>
Adler está preparándose para salir con Sean. [[Observarlo|AdlerPreparandose]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 3 and _currentTime < 11)>>
Adler está durmiendo después de salir. [[Observarlo|AdlerDurmiendo]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 13 and _currentTime < 17)>>
Adler está estudiando para preparar la semana. [[Observarlo|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 18 and _currentTime < 20)>>
Adler está descansando. [[Observarlo|AdlerDescansando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 21 and _currentTime < 24)>>
Adler está organizando sus cosas para el lunes. [[Observarlo|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if not $diarioadler>>
[[Buscar algo de información|rebuscaradler]]
<</if>>
<<if $formaFantasmalActiva is true and $calzoncilloadler is not true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloadler')>><</link>>
<</if>>
<</if>>
[[Ir al salón|salon3A]]
[[Ir al baño|baño3A]]
[[Ir a la habitación de Sean|habitacionsean]]
[[Ir al recibidor|recibidor3A]]
[[Ir a la habitación de Francesco|habitacionfrancesco]]
[[Ir a la cocina|cocina3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.nameEn !== 'Sexy girl'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's Room" />
</div>
<<if ($adlerfinalmision1 and $adlerfinalmision1Timestamp and ($gameTotalMinutes - $adlerfinalmision1Timestamp) < 1440) or setup.excitationMarks.hasMark('Adler')>>
<center><img src="images/localizaciones/puertacerrada.png" width="400"></center>
Adler's door is locked from the inside. You can hear slow, steady breathing from within.
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('AdlerMasturbandose')>><</link>>
<</if>>
<<else>>
A typical German university student's room. Perfectly organised desk with colour-coded notes, unmade bed — the only sign of disorder — and several textbooks stacked with precision. You identify the owner by the photos on the cork board: the German, Adler.
<<set _dayOfWeek to $gameDayIndex + 1>>
<<set _currentTime to $gameHours + ($gameMinutes / 60)>>
<<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 8)>>
Adler is sleeping peacefully. [[Watch him|AdlerDurmiendo]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 17 and _currentTime < 18)>>
Adler is resting in his room. [[Watch him|AdlerDescansando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 18 and _currentTime < 19)>>
Adler is enjoying a private moment in his room. [[Watch him|AdlerMasturbandose]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 19)>>
Adler is reviewing his notes. [[Watch him|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 20 and _currentTime < 24)>>
Adler is studying with classical music in the background. [[Watch him|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 4 and _currentTime < 11)>>
Adler is sleeping deeply after the party. [[Watch him|AdlerDurmiendo]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 12.5 and _currentTime < 15)>>
Adler is resting in his room. [[Watch him|AdlerDescansando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 16 and _currentTime < 18)>>
Adler is reviewing some notes. [[Watch him|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 18 and _currentTime < 19)>>
Adler is enjoying an intimate moment. [[Watch him|AdlerMasturbandose]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 20 and _currentTime < 22)>>
Adler is getting ready to go out with Sean. [[Watch him|AdlerPreparandose]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 3 and _currentTime < 11)>>
Adler is sleeping after going out. [[Watch him|AdlerDurmiendo]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 13 and _currentTime < 17)>>
Adler is studying to prepare for the week. [[Watch him|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 18 and _currentTime < 20)>>
Adler is resting. [[Watch him|AdlerDescansando]]
<<set _charactersPresent.push('Adler')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 21 and _currentTime < 24)>>
Adler is organising his things for Monday. [[Watch him|AdlerEstudiando]]
<<set _charactersPresent.push('Adler')>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if not $diarioadler>>
[[Search for some information|rebuscaradler]]
<</if>>
<<if $formaFantasmalActiva is true and $calzoncilloadler is not true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloadler')>><</link>>
<</if>>
<</if>>
[[Go to the living room|salon3A]]
[[Go to the bathroom|baño3A]]
[[Go to Sean's room|habitacionsean]]
[[Go to the entrance|recibidor3A]]
[[Go to Francesco's room|habitacionfrancesco]]
[[Go to the kitchen|cocina3A]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6 && $formaFantasmalActiva is not true>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
<<if $francescoEnCuarto is true or setup.excitationMarks.hasMark('Francesco')>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('FrancescoMasturbandose')>><</link>>
<</if>>
<<else>>
Esta habitación es la menos típica en un piso de estudiantes. Huele bien y está todo perfectamente ordenado. La cama está tan bien hecha que parece de un hotel y los apuntes y los libros están mejor ordenados que en una biblioteca. Enseguida identificas a quién pertenece este cuarto: al italiano Francesco.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 8.5)>>
Francesco está durmiendo. [[Observarlo|FrancescoDurmiendo]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 19)>>
Francesco está descansando un poco en su habitación. [[Observarlo|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 3 and _currentTime >= 19 and _currentTime < 20)>>
Francesco está disfrutando de un momento privado en su habitación. [[Observarlo|FrancescoMasturbandose]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 19 and _currentTime < 20)>>
Francesco está repasando sus apuntes. [[Observarlo|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 21 and _currentTime < 22.5)>>
Francesco está en videollamada con su prometida. [[Observarlo|FrancescoVideollamada]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 20 and _currentTime < 24)>>
Francesco está estudiando intensamente con música clásica de fondo. [[Observarlo|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 4 and _currentTime < 10.5)>>
Francesco está durmiendo tras la fiesta. [[Observarlo|FrancescoDurmiendo]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 12 and _currentTime < 14)>>
Francesco está descansando en su habitación. [[Observarlo|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 15 and _currentTime < 16)>>
Francesco está disfrutando de un momento íntimo. [[Observarlo|FrancescoMasturbandose]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 16 and _currentTime < 19)>>
Francesco está aprovechando para estudiar. [[Observarlo|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 20 and _currentTime < 23)>>
Francesco está en una larga videollamada con su prometida. [[Observarlo|FrancescoVideollamada]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 23 and _currentTime < 24)>>
Francesco está relajándose antes de dormir. [[Observarlo|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 0 and _currentTime < 10)>>
Francesco está durmiendo plácidamente. [[Observarlo|FrancescoDurmiendo]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 11.5 and _currentTime < 14)>>
Francesco está estudiando. [[Observarlo|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 15 and _currentTime < 18)>>
Francesco está preparando sus cosas para la semana. [[Observarlo|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 18 and _currentTime < 19)>>
Francesco está en videollamada con su prometida. [[Observarlo|FrancescoVideollamada]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 20 and _currentTime < 23)>>
Francesco está repasando sus apuntes para el lunes. [[Observarlo|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 23 and _currentTime < 24)>>
Francesco se está preparando para dormir. [[Observarlo|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $notaFrancesco1>>
[[Mirar la foto de la mesa|fotomesafrancesco]]
<</if>>
<<if $adlertesigue and !$bromafrancesco>>
[[Gastar la broma a Francesco|francescoropa]]
<</if>>
<<if $formaFantasmalActiva is true and $calzoncillofrancesco isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillofrancesco')>><</link>>
<</if>>
<</if>>
[[Ir al salón|salon3A]]
[[Ir al baño|baño3A]]
[[Ir a la habitación de Adler|habitacionadler]]
[[Ir al recibidor|recibidor3A]]
[[Ir a la habitación de Sean|habitacionsean]]
[[Ir a la cocina|cocina3A]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<<if window.isFiesta3AActive && window.isFiesta3AActive() && $gameHours >= 4 && $gameDayIndex === 6>>
<<goto "Teechandelafiesta">>
<</if>>
<<if $formaFantasmalActiva is not true>>
<<if $currentSemblanteActive && $currentSemblanteActive.nameEn !== 'Sexy girl'>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<<else>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
<<if $francescoEnCuarto is true or setup.excitationMarks.hasMark('Francesco')>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('FrancescoMasturbandose')>><</link>>
<</if>>
<<else>>
This room is the least typical in a student apartment. It smells good and everything is perfectly organized. The bed is so well made it looks like a hotel room and the notes and books are better organized than in a library. You immediately identify who this room belongs to: the Italian, Francesco.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent to []>>
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 0 and _currentTime < 8.5)>>
Francesco is sleeping. [[Watch him|FrancescoDurmiendo]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 19)>>
Francesco is resting in his room. [[Watch him|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 3 and _currentTime >= 19 and _currentTime < 20)>>
Francesco is enjoying a private moment in his room. [[Watch him|FrancescoMasturbandose]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 19 and _currentTime < 20)>>
Francesco is reviewing his notes. [[Watch him|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_dayOfWeek is 2 or _dayOfWeek is 4) and _currentTime >= 21 and _currentTime < 22.5)>>
Francesco is on a video call with his fiancée. [[Watch him|FrancescoVideollamada]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 20 and _currentTime < 24)>>
Francesco is studying intensely with classical music in the background. [[Watch him|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 4 and _currentTime < 10.5)>>
Francesco is sleeping after the party. [[Watch him|FrancescoDurmiendo]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 12 and _currentTime < 14)>>
Francesco is resting in his room. [[Watch him|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 15 and _currentTime < 16)>>
Francesco is enjoying an intimate moment. [[Watch him|FrancescoMasturbandose]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 16 and _currentTime < 19)>>
Francesco is taking advantage to study. [[Watch him|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 20 and _currentTime < 23)>>
Francesco is on a long video call with his fiancée. [[Watch him|FrancescoVideollamada]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 6 and _currentTime >= 23 and _currentTime < 24)>>
Francesco is relaxing before sleep. [[Watch him|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 0 and _currentTime < 10)>>
Francesco is sleeping peacefully. [[Watch him|FrancescoDurmiendo]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 11.5 and _currentTime < 14)>>
Francesco is studying. [[Watch him|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 15 and _currentTime < 18)>>
Francesco is preparing his things for the week. [[Watch him|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 18 and _currentTime < 19)>>
Francesco is on a video call with his fiancée. [[Watch him|FrancescoVideollamada]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 20 and _currentTime < 23)>>
Francesco is reviewing his notes for Monday. [[Watch him|FrancescoEstudiando]]
<<set _charactersPresent.push('Francesco')>>
<<elseif (_dayOfWeek is 7 and _currentTime >= 23 and _currentTime < 24)>>
Francesco is getting ready for bed. [[Watch him|FrancescoDescansando]]
<<set _charactersPresent.push('Francesco')>>
<</if>>
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $notaFrancesco1>>
[[Look at the picture on the table|fotomesafrancesco]]
<</if>>
<<if $adlertesigue and !$bromafrancesco>>
[[Play a prank on Francesco|francescoropa]]
<</if>>
<<if $formaFantasmalActiva is true and $calzoncillofrancesco isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillofrancesco')>><</link>>
<</if>>
<</if>>
[[Go to the living room|salon3A]]
[[Go to the bathroom|baño3A]]
[[Go to Adler's room|habitacionadler]]
[[Go to the entrance|recibidor3A]]
[[Go to Sean's room|habitacionsean]]
[[Go to the kitchen|cocina3A]]
[[Leave the house|Rellano del 3º]]
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
Te fijas en un guapísimo rubio que bebe un cubata de ron mientras charla con una de las chicas. Esperas a que acabe la conversación y se gira hacia ti, interesado en el falso cuerpo que vistes. Os presentáis, se llama Jakub, y es de la República Checa.
<center><img src="images/fiestaerasmus/checofiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Jakub no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
[[Charlas un rato con él|salon3A]]
<<if not $conversacionjakubadler>>
[[Preguntas a Jakub sobre Adler|checoadler]]
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room" />
</div>
You notice a gorgeous blonde guy drinking a rum and coke while chatting with one of the girls. You wait for him to finish the conversation and he turns toward you, interested in the fake body you're wearing. You introduce yourselves, his name is Jakub, and he's from the Czech Republic.
<center><img src="images/fiestaerasmus/checofiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Jakub doesn't notice your presence.</p>
[[Move away|salon3A]]
<<else>>
[[Chat with him for a while|salon3A]]
<<if not $conversacionjakubadler>>
[[Questions for Jakub about Adler|checoadler]]
<</if>>
<</if>>
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
Un imponente hombre, el doble de tamaño que tu versión masculina, bebe un gintónic mientras parece charlar con otro joven sobre una rutina de gimnasio. Al acercarte, le hace una señal para que se marche y prestarte toda su atención. Se llama Gabin, y es de Francia.
<center><img src="images/fiestaerasmus/francesfiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Gabin no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
[[Charlas un rato con él|salon3A]]
<<if not $conversaciongabinadler>>
[[Preguntas a Gavin sobre Adler|francesadler]]
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room" />
</div>
An imposing man, twice the size of your male version, drinks a gin and tonic while seeming to chat with another young man about a gym routine. As you approach, he signals for him to leave so he can give you his full attention. His name is Gabin, and he's from France.
<center><img src="images/fiestaerasmus/francesfiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Gabin doesn't notice your presence.</p>
[[Move away|salon3A]]
<<else>>
[[Chat with him for a while|salon3A]]
<<if not $conversaciongabinadler>>
[[Questions to Gavin about Adler|francesadler]]
<</if>>
<</if>>
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<run setup.gameTime.addMinutes(5)>>
<<if $francescoEnBano>>
<<script>>
$(document).one(':passagerender', function() {
setTimeout(function() { Engine.play('salon3A'); }, 50);
});
<</script>>
<<else>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<<if $idioma is "es">>
Desentonando en la fiesta por ser el único con una copa de vino, Francesco mira algo en el móvil, distraído. Al acercarte, el italiano guarda diplomáticamente su aparato electrónico para centrar todo el interés en ti.
<<else>>
Standing out at the party for being the only one with a glass of wine, Francesco looks at something on his phone, distracted. As you approach, the Italian diplomatically puts away his electronic device to focus all his attention on you.
<</if>>
<center><img src="images/fiestaerasmus/francescofiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<<if $idioma is "es">>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Francesco no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Francesco doesn't notice your presence.</p>
[[Move away|salon3A]]
<</if>>
<<else>>
<<if $FrancescoVisionUsada && $notaFrancesco1 && $fotocompromisofrancesco && !$francescopaso1>>
<<if $idioma is "es">>
[[Charla sobre su prometida y su futuro|fiestafrancesco1]]
<<else>>
[[Talk about his fiancée and his future|fiestafrancesco1]]
<</if>>
<</if>>
<<if !$conversacionfrancescoadler>>
<<if $idioma is "es">>
[[Preguntarle por Adler|conversacionfrancescoadler]]
<<else>>
[[Ask him about Adler|conversacionfrancescoadler]]
<</if>>
<</if>>
<<if $idioma is "es">>
[[Tener una charla intrascendente|salon3A]]
<<else>>
[[Have a meaningless chat|salon3A]]
<</if>>
<</if>>
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
En la fiesta hay varias chicas, pero un par, una morena y otra rubia, parecen ser las más cercanas a tus objetivos, los estudiantes del 3A. Te acercas para saber más de ellas. Son Saara, de Estonia, y Emma, de Bélgica.
<center><img src="images/fiestaerasmus/fiestachicas.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Saara y Emma no perciben tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
[[Charlas un rato con ellas|salon3A]]
<<if $bebidascargadas>>
[[Les das el par de bebidas|chicasborrachas]]
<</if>>
<<if not $conversacionchicas>>
[[Preguntas a las chicas sobre Adler|chicasadler]]
<</if>>
<<if $objetivoemil>>
[[Preguntarle a Saara sobre Emil|saarasobreemil]]
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
There are several girls at the party, but a couple — a brunette and a blonde — seem to be the closest to your targets, the 3A students. You approach to learn more about them. They are Saara, from Estonia, and Emma, from Belgium.
<center><img src="images/fiestaerasmus/fiestachicas.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Saara and Emma don't notice your presence.</p>
[[Move away|salon3A]]
<<else>>
[[Chat with them for a while|salon3A]]
<<if $bebidascargadas>>
[[You give them the pair of drinks|chicasborrachas]]
<</if>>
<<if not $conversacionchicas>>
[[Ask the girls about Adler|chicasadler]]
<</if>>
<<if $objetivoemil>>
[[Ask Saara about Emil|saarasobreemil]]
<</if>>
<</if>>
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
Una voz suena por encima de la música. Un joven delgado, con piercings y pendientes y ropa punk cuenta, con grandes aspavientos, alguna anécdota graciosa. Te acercas interesado y este te sonríe, malicioso. Se llama Emil, y es noruego.
<center><img src="images/fiestaerasmus/noruegofiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Emil no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
[[Charlas un rato con él|salon3A]]
<<if not $conversacionemiladler>>
[[Preguntas a Emil sobre Adler|noruegoadler]]
<</if>>
<<if $bebidascargadas && $verdademil2>>
[[Invitarle a ver la habitación de Adler|emilahabitacion]]
<</if>>
<<if $emildesvirgado && $gaynear>>
[[Hablar sobre lo que pasó con Adler|emilpostpolvo]]
<</if>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
A voice sounds above the music. A thin young man, with piercings and earrings and punk clothes, tells a funny anecdote with grand gestures. You approach interested and he smiles at you, mischievous. His name is Emil, and he's Norwegian.
<center><img src="images/fiestaerasmus/noruegofiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Emil doesn't notice your presence.</p>
[[Move away|salon3A]]
<<else>>
[[Chat with him for a while|salon3A]]
<<if not $conversacionemiladler>>
[[Ask Emil about Adler|noruegoadler]]
<</if>>
<<if $bebidascargadas && $verdademil2>>
[[Invite him to see Adler's room|emilahabitacion]]
<</if>>
<<if $emildesvirgado && $gaynear>>
[[Talk about what happened with Adler|emilpostpolvo]]
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Sobre la mesa, en un lugar bien visible, hay una foto enmarcada donde Francesco, junto con una guapísima mujer, posan para una foto ante la Torre Eiffel. La mujer luce un bonito anillo en su mano, seguramente el de pedida. Debe ser la prometida de Francesco.
<center><img src="images/Francesco/francescoysunovia.png" width="500"></center>
<<set $fotocompromisofrancesco to true>>
[[Volver al salón|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
On the desk, in a very visible place, there is a framed photo where Francesco, together with a gorgeous woman, pose for a picture in front of the Eiffel Tower. The woman is wearing a beautiful ring on her hand, surely an engagement ring. She must be Francesco's fiancée.
<center><img src="images/Francesco/francescoysunovia.png" width="500"></center>
<<set $fotocompromisofrancesco to true>>
[[Go back to the living room|salon3A]]
<</if>><<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Perdona pero, por error, he entrado en tu cuarto y he visto esa foto tan bonita en la que estás con... ¿Es tu novia?' },
{ speaker: 'francesco', text: 'Mi prometida, Giorgia.' },
{ speaker: 'sergio', text: 'Es muy guapa. Estarás deseando acabar este año para poder casarte, ¿no?' },
{ speaker: 'francesco', text: 'Sí, claro.' },
{ speaker: 'sergio', text: 'No suenas muy convencido. ¿Quieres que hablemos? Te puede parecer raro, pero a veces, desahogarte con una desconocida, y una tan maja como yo, es mucho más fácil.' },
{ speaker: 'francesco', text: '<em>Te mira confuso</em> Yo..., bueno, la verdad es que... ¡No quiero casarme tan pronto!' },
{ speaker: 'sergio', text: 'Es normal, somos muy jóvenes. Aún te queda mucho por hacer.' },
{ speaker: 'francesco', text: 'Quiero a Giorgia, pero a veces veo a mis compañeros, a Sean por ejemplo, que siempre está con una chica diferente cada fin de semana y yo... bueno...' },
{ speaker: 'sergio', text: 'Eres aún virgen.' },
{ speaker: 'francesco', text: '<em>Asiente avergonzado</em>' },
{ speaker: 'sergio', text: 'No te sientas avergonzado. Míralo como algo positivo. ¡Aprovecha y haz algo nuevo y excitante! Hazlo hoy mismo. Algo que nunca hubieras hecho.' },
{ speaker: 'francesco', text: '¿Algo nuevo? No sé...' },
{ speaker: 'sergio', text: '¡Sí! Pero algo fácil, tranquilo. ¿Por qué no te haces unas fotos picantes y se las envías a Giorgia? ¡Seguro que le encantan!' },
{ speaker: 'francesco', text: 'Eh... no sé... <em>Bebe otro trago de la copa. Está algo bebido</em>' },
{ speaker: 'sergio', text: 'Vamos, anímate. Será divertido y ella lo adorará.' },
{ speaker: 'francesco', text: 'Pero, ¿cómo las hago?' },
{ speaker: 'sergio', text: 'No te preocupes. Soy una fotógrafa de primera. <em>Le coges de la mano y no le das tiempo a que lo piense</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[
{
text: 'Vais al cuarto de Francesco',
action: function() {
State.variables.francescopaso1 = true;
Engine.play('Frascescofotossexy');
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Sorry but, by mistake, I entered your room and saw that beautiful photo you\'re in with... Is she your girlfriend?' },
{ speaker: 'francesco', text: 'My fiancée, Giorgia.' },
{ speaker: 'sergio', text: 'She\'s very pretty. You must be looking forward to finishing this year so you can get married, right?' },
{ speaker: 'francesco', text: 'Yes, of course.' },
{ speaker: 'sergio', text: 'You don\'t sound very convinced. Want to talk about it? It might seem weird, but sometimes, venting to a stranger, and one as nice as me, is much easier.' },
{ speaker: 'francesco', text: '<em>Looks at you confused</em> I..., well, the truth is... I don\'t want to get married so soon!' },
{ speaker: 'sergio', text: 'That\'s normal, we\'re very young. You still have a lot to do.' },
{ speaker: 'francesco', text: 'I love Giorgia, but sometimes I see my friends, Sean for example, who\'s always with a different girl every weekend and I... well...' },
{ speaker: 'sergio', text: 'You\'re still a virgin.' },
{ speaker: 'francesco', text: '<em>Nods embarrassed</em>' },
{ speaker: 'sergio', text: 'Don\'t be embarrassed. Look at it as something positive. Take advantage and do something new and exciting! Do it today. Something you\'ve never done before.' },
{ speaker: 'francesco', text: 'Something new? I don\'t know...' },
{ speaker: 'sergio', text: 'Yes! But something easy, relaxed. Why don\'t you take some sexy photos and send them to Giorgia? I\'m sure she\'ll love them!' },
{ speaker: 'francesco', text: 'Uh... I don\'t know... <em>Takes another sip from his glass. He\'s a bit drunk</em>' },
{ speaker: 'sergio', text: 'Come on, cheer up. It\'ll be fun and she\'ll love it.' },
{ speaker: 'francesco', text: 'But, how do I do it?' },
{ speaker: 'sergio', text: 'Don\'t worry. I\'m a first-class photographer. <em>You take his hand and don\'t give him time to think</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[
{
text: 'You go to Francesco\'s room',
action: function() {
State.variables.francescopaso1 = true;
Engine.play('Frascescofotossexy');
}
}
]
]
})>>
<</if>><<set $notaFrancesco1 to false>>
<<set $notaFrancesco2 to true>>
<<set $RecuerdoFrancesco1 = true>>
<<set $corrupcionFrancesco = 15>>
<<if not $recuerdosFrancesco>><<set $recuerdosFrancesco = 0>><</if>>
<<set $recuerdosFrancesco += 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Alejados del barullo de la fiesta, entráis en la habitación del italiano. Nervioso, acepta al final hacerse una foto desnudo, pero se la haría él mismo. Esperas sentado en su cama mientras se marcha al baño. Cuando aparece, algo enrojecido de la vergüenza, te enseña la foto que se ha hecho ante el espejo.
<center><img src="images/Francesco/fotofrancesco1.jpg" width="500"></center>
"¡Es casi ridícula!" le dices. "Deja que yo me encargue. Ve desnudándote."
No sabes si es por el alcohol o por la emoción de quitarse la ropa ante una extraña, pero Francesco obedece. Se va quitando la ropa poco a poco, mostrando su pecho tremendamente velludo. No deja nunca de sonreír a la cámara de tu móvil, que hace varias fotos sensuales del italiano.
<center><img src="images/Francesco/fotofrancesco2.jpg" width="500"></center>
"Ya está bien, ¿no?" te dice, mientras vuelve a ponerse unos pantalones. Tú vuelves a insistir, sugiriéndole ahora un vídeo. Tras varias súplicas consigues convencerlo, y el italiano comienza a flexionar sus brazos y a pasarse su mano por su pecho. Tú lo grabas todo con una ligera sonrisa.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo1.webm" type="video/webm">
</video>
</center>
En el momento en que se baja los pantalones y le ves su polla dura, sabes que lo está disfrutando. Francesco, con la mirada algo perdida por la bebida, comienza a masturbarse ante ti. Tú sigues grabando mientras le animas, y él cada vez está más y más excitado.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo2.webm" type="video/webm">
</video>
</center>
Cuando viste cómo cambiaba la expresión del estudiante, supiste que había llegado el final de tu vídeo. Francesco comenzó a eyacular, impregnándose totalmente con su esperma, que se quedaba adherido a su vello corporal.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo3.webm" type="video/webm">
</video>
</center>
Entonces el encanto que había sucedido se desvaneció. Francesco se limpió y rápidamente volvió a vestirse. Apenas se fijó en el vídeo, aunque te prometió que se lo enviaría a su prometida. Salisteis de la habitación y fuisteis a tomar otra copa de vino, sin volver a mencionar lo que había sucedido en ese cuarto.
<<run setup.francescoFotoTimer.start()>>
[[Continúas en la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(30)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
Away from the bustle of the party, you enter the Italian's room. Nervous, he finally agrees to take a nude photo, but he would take it himself. You wait sitting on his bed while he goes to the bathroom. When he appears, somewhat red with embarrassment, he shows you the photo he took in front of the mirror.
<center><img src="images/Francesco/fotofrancesco1.jpg" width="500"></center>
"It's almost ridiculous!" you tell him. "Let me take care of it. Start getting undressed."
You don't know if it's because of the alcohol or the excitement of taking off his clothes in front of a stranger, but Francesco obeys. He gradually removes his clothes, showing his tremendously hairy chest. He never stops smiling at your phone camera, which takes several sensual photos of the Italian.
<center><img src="images/Francesco/fotofrancesco2.jpg" width="500"></center>
"That's enough, right?" he tells you, as he puts his pants back on. You insist again, now suggesting a video. After several pleas you manage to convince him, and the Italian begins to flex his arms and run his hand over his chest. You record everything with a slight smile.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo1.webm" type="video/webm">
</video>
</center>
The moment he pulls down his pants and you see his hard cock, you know he's enjoying it. Francesco, with his gaze somewhat lost from the drink, begins to masturbate in front of you. You keep recording while encouraging him, and he gets more and more excited.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo2.webm" type="video/webm">
</video>
</center>
When you saw how the student's expression changed, you knew the end of your video had arrived. Francesco began to ejaculate, completely covering himself with his sperm, which stuck to his body hair.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo3.webm" type="video/webm">
</video>
</center>
Then the spell that had happened vanished. Francesco cleaned himself and quickly got dressed again. He barely looked at the video, though he promised he would send it to his fiancée. You left the room and went to have another glass of wine, without mentioning again what had happened in that room.
<<run setup.francescoFotoTimer.start()>>
[[You continue at the party|salon3A]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<<if $currentSemblanteActive && $currentSemblanteActive.name === 'Chica sexy'>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{ id: 'sean', name: 'Sean', portrait: 'images/Sean/sean.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: 'Chica', portrait: 'images/Semblantes/chicasexyretrato.png', color: '#ff69b4', facing: 'right' }
],
lines: [
{ speaker: 'sean', text: '<em>Se acerca con una sonrisa cansada</em> Bueno guapa, ya son más de las cuatro. La fiesta se ha acabado.' },
{ speaker: 'sergio', text: '¿Ya? Pero si estábamos pasándolo bien...' },
{ speaker: 'sean', text: 'Lo sé, lo sé. Pero mañana tengo clase temprano y necesito dormir algo. Ha sido genial tenerte aquí.' },
{ speaker: 'sergio', text: 'Vale, lo entiendo. Gracias por invitarme.' },
{ speaker: 'sean', text: 'Cuando quieras, preciosa. Ya nos veremos por aquí.' }
],
options: [
[], [], [], [],
[{ text: 'Sales del apartamento', action: 'GOTO:Rellano del 3º' }]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{ id: 'sean', name: 'Sean', portrait: 'images/Sean/sean.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: '???', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sean', text: '<em>Te mira con confusión</em> Eh, tío... ¿Quién coño eres tú?' },
{ speaker: 'sergio', text: 'Yo... estaba en la fiesta...' },
{ speaker: 'sean', text: '¿En MI fiesta? No te he invitado. ¿Cómo has entrado?' },
{ speaker: 'sergio', text: 'La puerta estaba abierta y...' },
{ speaker: 'sean', text: 'Ya, claro. Fuera de aquí ahora mismo. ¡Colado de mierda!' },
{ speaker: 'sergio', text: '<em>Intentas explicarte pero Sean ya no te escucha</em>' }
],
options: [
[], [], [], [], [],
[{ text: 'Te echan del apartamento', action: 'GOTO:Rellano del 3º' }]
]
})>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<<if $currentSemblanteActive && $currentSemblanteActive.name === 'Chica sexy'>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{ id: 'sean', name: 'Sean', portrait: 'images/Sean/sean.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: 'Girl', portrait: 'images/Semblantes/chicasexyretrato.png', color: '#ff69b4', facing: 'right' }
],
lines: [
{ speaker: 'sean', text: '<em>Approaches with a tired smile</em> Well babe, it\'s past four. The party\'s over.' },
{ speaker: 'sergio', text: 'Already? But we were having such a good time...' },
{ speaker: 'sean', text: 'I know, I know. But I have an early class tomorrow and I need to sleep a bit. It was great having you here.' },
{ speaker: 'sergio', text: 'Okay, I understand. Thanks for inviting me.' },
{ speaker: 'sean', text: 'Anytime, gorgeous. See you around.' }
],
options: [
[], [], [], [],
[{ text: 'You leave the apartment', action: 'GOTO:Rellano del 3º' }]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Sean", {
characters: [
{ id: 'sean', name: 'Sean', portrait: 'images/Sean/sean.png', color: '#4a90e2', facing: 'left' },
{ id: 'sergio', name: '???', portrait: 'images/sergio.png', color: '#8af7ff', facing: 'right' }
],
lines: [
{ speaker: 'sean', text: '<em>Looks at you confused</em> Uh, dude... Who the fuck are you?' },
{ speaker: 'sergio', text: 'I... I was at the party...' },
{ speaker: 'sean', text: 'At MY party? I didn\'t invite you. How did you get in?' },
{ speaker: 'sergio', text: 'The door was open and...' },
{ speaker: 'sean', text: 'Yeah, sure. Get out of here right now. Fucking party crasher!' },
{ speaker: 'sergio', text: '<em>You try to explain but Sean isn\'t listening anymore</em>' }
],
options: [
[], [], [], [], [],
[{ text: 'You get kicked out of the apartment', action: 'GOTO:Rellano del 3º' }]
]
})>>
<</if>>
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<run setup.gameTime.addMinutes(5)>>
<<if $adlerEnBano>>
<<script>>
$(document).one(':passagerender', function() {
setTimeout(function() { Engine.play('salon3A'); }, 50);
});
<</script>>
<<else>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<<if $idioma is "es">>
En un lugar algo apartado de la fiesta está Adler. El alemán parece disfrutar más de observar que de interactuar con el resto de estudiantes. Al acercarte, eso sí, te regala una gran sonrisa.
<<else>>
Adler stands a little apart from the party. The German seems to enjoy observing more than interacting with the other students. When you approach, though, he gives you a wide smile.
<</if>>
<center><img src="images/fiestaerasmus/adlerfiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<<if $idioma is "es">>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Adler no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Adler doesn't notice your presence.</p>
[[Move away|salon3A]]
<</if>>
<<else>>
<<if $notaAdler1 && $investigacionadler >= 4>>
<<if $idioma is "es">>
[[Manipular a Adler|manipularadler]]
<<else>>
[[Manipulate Adler|manipularadler]]
<</if>>
<</if>>
<<if $idioma is "es">>
[[Tener una charla intrascendente|salon3A]]
<<else>>
[[Have a meaningless chat|salon3A]]
<</if>>
<</if>>
<</if>><<if $formaFantasmalActiva is not true>>
<<if window.isFiesta3AActive && window.isFiesta3AActive()>>
<<if not $currentSemblanteActive or $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "Teechandelafiesta">><</timed>>
<</if>>
<<elseif $currentSemblanteActive && $currentSemblanteActive.name !== 'Chica sexy'>>
<<timed 2s>><<goto "tedescubren3A">><</timed>>
<</if>>
<</if>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<<if !$chicasborrachas>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<<set $seanExcitadoContexto to "conChicas">>
<<if $idioma is "es">>
Charlando muy cerca de un par de mujeres, Sean, el estudiante de Irlanda, usa todas sus artes para llevarse a una de esas dos a la cama. Si no haces nada, es muy probable que lo consiga.
<<else>>
Chatting very close to a couple of women, Sean, the student from Ireland, uses all his charms to get one of those two into bed. If you don't do anything, he'll most likely succeed.
<</if>>
<center><img src="images/fiestaerasmus/seanychicasfiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<<if $idioma is "es">>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Sean no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Sean doesn't notice your presence.</p>
[[Move away|salon3A]]
<</if>>
<<else>>
<<if $notaSean2 && $straponcomprado>>
<<if $idioma is "es">>
[[Llevarte a Sean a su cuarto|Seanstrapon]]
<<else>>
[[Take Sean to his room|Seanstrapon]]
<</if>>
<</if>>
<<if $idioma is "es">>
[[No te hacen el mínimo caso|salon3A]]
<<else>>
[[They don't pay you the slightest attention|salon3A]]
<</if>>
<</if>>
<<else>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "salon3A">>
<<set $seanExcitadoContexto to "solo">>
<<if $idioma is "es">>
Sean, el atractivo casanova irlandés, se encuentra en este momento a solas. En el momento que vuestras miradas se encuentran, te hace un gesto para que te acerques.
<<else>>
Sean, the attractive Irish Casanova, is currently alone. The moment your eyes meet, he gestures for you to come over.
<</if>>
<center><img src="images/fiestaerasmus/seanfiesta.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<<if $idioma is "es">>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Eres invisible. Sean no percibe tu presencia.</p>
[[Alejarte|salon3A]]
<<else>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 You are invisible. Sean doesn't notice your presence.</p>
[[Move away|salon3A]]
<</if>>
<<else>>
<<if $notaSean1 && !$Seanychicasexysexonormal>>
<<if $idioma is "es">>
[[Comenzáis a flirtear|fiestasean1]]
<<else>>
[[You start flirting|fiestasean1]]
<</if>>
<</if>>
<<if $notaSean2 && $straponcomprado>>
<<if $idioma is "es">>
[[Llevarte a Sean a su cuarto|Seanstrapon]]
<<else>>
[[Take Sean to his room|Seanstrapon]]
<</if>>
<</if>>
<<if !$conversacionseanadler>>
<<if $idioma is "es">>
[[Charlar sobre Adler|conversacionseanadler]]
<<else>>
[[Talk about Adler|conversacionseanadler]]
<</if>>
<</if>>
<<if $idioma is "es">>
[[Tenéis una charla intrascendente|salon3A]]
<<else>>
[[You have a meaningless chat|salon3A]]
<</if>>
<</if>>
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Francesco/francesco.png" alt="Francesco">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Francesco</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosFrancesco>></strong> recuerdo<<if $recuerdosFrancesco > 1>>s<</if>> especial<<if $recuerdosFrancesco > 1>>es<</if>> con Francesco.
</p>
<<else>>
<div class="header-image">
<img src="images/Francesco/francesco.png" alt="Francesco">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Francesco</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosFrancesco>></strong> special memor<<if $recuerdosFrancesco > 1>>ies<<else>>y<</if>> with Francesco.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoFrancesco1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: ¡Hagamos algo nuevo!</h3>
<p>Te colaste en la fiesta y le sugeriste a Francesco que hiciera algo diferente.</p>
<<else>>
<h3>Memory 1: Let's do something new!</h3>
<p>You snuck into the party and suggested Francesco do something different.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoFrancesco1">><</link>>
<<else>>
<<link "View →" "RecuerdoFrancesco1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoFrancesco2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Con un chico no cuenta</h3>
<p>Convenciste a Francesco para que ligara por internet con un hombre.</p>
<<else>>
<h3>Memory 2: With a guy it doesn't count</h3>
<p>You convinced Francesco to flirt online with a man.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoFrancesco2">><</link>>
<<else>>
<<link "View →" "RecuerdoFrancesco2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoFrancesco3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Confidencias nocturnas</h3>
<p>Una conversación íntima revela más de lo esperado...</p>
<<else>>
<h3>Memory 3: Night confidences</h3>
<p>An intimate conversation reveals more than expected...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoFrancesco3">><</link>>
<<else>>
<<link "View →" "RecuerdoFrancesco3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoFrancesco4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Cruzando límites</h3>
<p>El día que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Crossing boundaries</h3>
<p>The day everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoFrancesco4">><</link>>
<<else>>
<<link "View →" "RecuerdoFrancesco4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoFrancesco5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Entrega total</h3>
<p>El momento más intenso con Francesco...</p>
<<else>>
<h3>Memory 5: Total surrender</h3>
<p>The most intense moment with Francesco...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoFrancesco5">><</link>>
<<else>>
<<link "View →" "RecuerdoFrancesco5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: ¡Hagamos algo nuevo!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Te fijaste como objetivos a los tres estudiantes de Erasmus del piso de arriba. Sabías perfectamente que todos los viernes montaban una fiesta en la que invitaban a otros Erasmus. Era el momento perfecto para colarte en ese piso y buscar información sobre Francesco.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Usando el semblante de una chica adorable y sexy, conseguiste que te invitaran a la fiesta. Tras usar Visión Sexual sobre el italiano, descubriste que tenía envidia de la libertad de sus amigos y que sentía que su vida iba a acabar al casarse con su prometida, a quien descubriste en una foto de su habitación.
</p>
<center><img src="images/Francesco/francescoysunovia.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras varias copas, usaste el truco de chica nueva para que revelara su secreto. Entonces le retaste a hacer algo diferente. Algo que no hiciera por su familia o su futuro. Algo loco, como enviarle a su chica unas fotos eróticas. Al principio no pareció muy convencido, pero conseguiste persuadirlo y comenzó a posar para ti.
</p>
<center><img src="images/Francesco/fotofrancesco2.jpg" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
De las fotos pasasteis a los vídeos. Cuando se bajó el pantalón, pudiste ver que el italiano estaba totalmente empalmado, excitado de hacer algo tan rompedor en su vida.
</p>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo1.webm" type="video/webm">
</video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Francesco lo disfrutaba, mostrando su polla ante la cámara mientras se masturbaba. No perdiste ni un fotograma de esa imagen. Lo grabaste hasta que se corrió sobre su pecho velludo.
</p>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo2.webm" type="video/webm">
</video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras el vídeo no volvisteis a hablar. Quizá habrá que esperar a la siguiente fiesta para saber si le gustó el vídeo a la prometida de Francesco.
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Francesco" "RecuerdosFrancesco">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: Let's do something new!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You targeted the three Erasmus students from the upstairs apartment. You knew perfectly well that every Friday they threw a party where they invited other Erasmus students. It was the perfect moment to sneak into that apartment and look for information about Francesco.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Using the guise of an adorable and sexy girl, you managed to get invited to the party. After using Sexual Vision on the Italian, you discovered that he envied his friends' freedom and felt that his life would end when he married his fiancée, whom you discovered in a photo in his room.
</p>
<center><img src="images/Francesco/francescoysunovia.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After several drinks, you used the new girl trick to get him to reveal his secret. Then you challenged him to do something different. Something he wasn't doing for his family or his future. Something crazy, like sending his girlfriend some erotic photos. At first he didn't seem very convinced, but you managed to persuade him and he began posing for you.
</p>
<center><img src="images/Francesco/fotofrancesco2.jpg" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
From photos you moved on to videos. When he pulled down his pants, you could see that the Italian was completely hard, excited to be doing something so groundbreaking in his life.
</p>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo1.webm" type="video/webm">
</video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Francesco enjoyed it, showing his cock to the camera while masturbating. You didn't miss a single frame of that image. You recorded him until he came on his hairy chest.
</p>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo2.webm" type="video/webm">
</video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After the video you didn't talk again. Maybe you'll have to wait until the next party to find out if Francesco's fiancée liked the video.
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Francesco's Memories" "RecuerdosFrancesco">><</link>>
</div>
<</if>><<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino = "seansexosucio">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<!-- VERIFICACIÓN: Si Sean fue excitado perfectamente, redirigir a sexo sucio -->
<<if temporary().justExcitedPerfectly === 'Sean'>>
<<goto "seansexosucio">>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Comenzáis a hablar sobre los estudios de cada uno, pero enseguida entendéis lo que queréis cada uno del otro. Sean es encantador y seductor y casi sin darte cuenta ya estás dentro de su habitación y te está besando. Su lengua recorre tu boca y comienzas a excitarte en un cuerpo que no es del todo tuyo.
Te desnuda, dejándote solo en ropa interior mientras alaba tu cuerpo. Entonces se baja el pantalón y la ropa interior, y te muestra su polla, más grande de lo que pudieras esperar. Está dura y erecta, y sin pensártelo te lanzas a devorarla.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy1.webm" type="video/webm"></video></center>
Cuando menos te lo esperas ya estás en su juego y no en el tuyo. No has venido aquí para que Sean continúe con sus mismas dinámicas sino para corromperlo. Para introducirle en nuevas prácticas, quizá necesites algo de ayuda de tu nuevo móvil.
[[Tienes sexo normal con Sean|sexonormalsean]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<!-- VERIFICATION: If Sean was perfectly aroused, redirect to dirty sex -->
<<if temporary().justExcitedPerfectly === 'Sean'>>
<<goto "seansexosucio">>
<</if>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
You start talking about each other's studies, but you quickly understand what you each want from the other. Sean is charming and seductive and almost without realizing it you're already inside his room and he's kissing you. His tongue explores your mouth and you begin to get aroused in a body that's not entirely yours.
He undresses you, leaving you only in your underwear while praising your body. Then he pulls down his pants and underwear, and shows you his cock, bigger than you could have expected. It's hard and erect, and without thinking you dive in to devour it.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy1.webm" type="video/webm"></video></center>
When you least expect it, you're already in his game and not in yours. You haven't come here for Sean to continue with his same dynamics but to corrupt him. To introduce him to new practices, you may need some help from your new phone.
[[Have normal sex with Sean|sexonormalsean]]
<</if>><<set $Seanychicasexysexonormal to true>>
<<run setup.seanSexoNormalTimer.start()>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Sean se desnuda por completo, pero sigue manejándote a su antojo. Lo hace tan bien que cuando intentas acercarte a su ano, él te rechaza y comienza a comerte el coño. Todas esas sensaciones, nuevas en tu cuerpo, hacen que no puedas controlarte y cuando menos te lo esperas está Sean abriéndote las piernas y recibiendo tu primera polla por una vagina.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy4.webm" type="video/webm"></video></center>
Sean bombea rápidamente, disfrutando de tu coño mientras tú solo puedes observar cómo ese follador te penetra una y otra vez. Tras varios minutos, Sean saca su polla de dentro de ti para, poniéndose de pie, eyacular una gran descarga sobre tu rostro.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy5.webm" type="video/webm"></video></center>
Tras finalizar, Sean se muestra algo distante y frío. Te acerca una toalla algo sucia para que te limpies la cara y ambos os vestís en silencio. Claramente esto no te ha acercado más a corromper al irlandés. Quizá debas despistarlo la próxima vez que tengáis sexo.
[[Volvéis a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
Sean undresses completely, but continues to handle you at will. He does it so well that when you try to approach his anus, he rejects you and starts eating your pussy. All those sensations, new in your body, make you unable to control yourself and when you least expect it Sean is spreading your legs and you're receiving your first cock in a vagina.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy4.webm" type="video/webm"></video></center>
Sean pumps quickly, enjoying your pussy while you can only watch how that fucker penetrates you again and again. After several minutes, Sean pulls his cock out of you to, standing up, ejaculate a large load on your face.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy5.webm" type="video/webm"></video></center>
After finishing, Sean becomes somewhat distant and cold. He hands you a somewhat dirty towel to clean your face and you both get dressed in silence. Clearly this hasn't brought you any closer to corrupting the Irishman. Maybe you should mislead him next time you have sex.
[[You return to the party|salon3A]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina3A.png" alt="Cocina" />
</div>
En la cocina hay todo tipo de bebidas alcohólicas de alta graduación. En un momento preparas un par de ellas, más cargadas de lo que deberías. Ahora solo falta encontrarles dueño.
<center><img src="images/fiestaerasmus/bebidasfiesta.png" width="500"></center>
<<set $bebidascargadas to true>>
[[Vuelves a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina3A.png" alt="Kitchen" />
</div>
In the kitchen there are all kinds of high-proof alcoholic drinks. In a moment you prepare a couple of them, stronger than they should be. Now you just need to find them an owner.
<center><img src="images/fiestaerasmus/bebidasfiesta.png" width="500"></center>
<<set $bebidascargadas to true>>
[[You return to the party|salon3A]]
<</if>><<set $Seanychicasexysexonormal to true>>
<<run setup.seanSexoNormalTimer.start()>>
<<set $Seantienetunumero to true>>
<<run setup.seanMensajeTimer.start()>>
<<set $notaSean1 to false>>
<<set $notaSean2 to true>>
<<set $RecuerdoSean1 = true>>
<<set $corrupcionSean = 15>>
<<if not $recuerdosSean>><<set $recuerdosSean = 0>><</if>>
<<set $recuerdosSean+= 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Mientras le hacías la mamada al irlandés, le hiciste una foto con el móvil. No fue fácil seguir comiendo esa polla y, a la vez, conseguir excitarlo mediante la app. El resultado fue inmediato. Sentir tus caricias y tu lengua a la vez que las digitales dejó a Sean perplejo y totalmente a tu merced. Entonces, es cuando tomaste toda la iniciativa. Le diste la vuelta y con tu lengua, comenzaste a comerle el culo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy2.webm" type="video/webm"></video></center>
"¿Qué...?" Quiso pronunciar el irlandés, pero tu lengua ya exploraba su agujero blanquito rodeado de corto vello rojizo. Estaba claro que nunca nadie le había lamido el culo, y gracias a la app, le estaba encantando. El siguiente paso era evidente, embadurnándote con un poco de saliva, comenzaste a introducir ligeramente uno de tus dedos.
Sean estaba extasiado y, aunque intentó verbalizar alguna resistencia, abandonó todos sus tabúes e incluso se abrió más las piernas, para que tú, con delicadeza, pudieras introducir el dedo totalmente. Y luego el segundo, así hasta que tres de tus dedos estuvieron dentro del irlandés.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy3.webm" type="video/webm"></video></center>
Ni siquiera te percataste de que Sean ya se había corrido cuando retiraste los dedos. El estudiante quedó desfallecido sobre la cama, respirando sofocadamente. Tras un minuto para recuperar el resuello, pudo decir al fin: "Esto ha sido... increíble."
Le sonríes, te vistes de nuevo y le dejas allí, en la habitación, no sin antes dejarle tu número en un trozo de papel.
"Si quieres repetir con algo más... especial, solo mándame un mensaje"
Y regresas a la fiesta.
[[Volver a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
While you were giving the Irishman a blowjob, you took a photo of him with your phone. It wasn't easy to keep sucking that cock and at the same time manage to arouse him through the app. The result was immediate. Feeling your caresses and your tongue at the same time as the digital ones left Sean perplexed and completely at your mercy. That's when you took all the initiative. You turned him over and with your tongue, you started eating his ass.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy2.webm" type="video/webm"></video></center>
"What...?" The Irishman tried to say, but your tongue was already exploring his pale hole surrounded by short reddish hair. It was clear that no one had ever licked his ass before, and thanks to the app, he was loving it. The next step was obvious, coating yourself with a bit of saliva, you began to lightly introduce one of your fingers.
Sean was ecstatic and, although he tried to verbalize some resistance, he abandoned all his taboos and even spread his legs wider, so that you, gently, could insert the finger completely. And then the second, until three of your fingers were inside the Irishman.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanychicasexy3.webm" type="video/webm"></video></center>
You didn't even notice that Sean had already come when you withdrew your fingers. The student lay faint on the bed, breathing heavily. After a minute to catch his breath, he could finally say: "That was... incredible."
You smile at him, get dressed again and leave him there, in the room, not without first leaving him your number on a piece of paper.
"If you want to repeat with something more... special, just send me a message"
And you return to the party.
[[Return to the party|salon3A]]
<</if>>
<<set $bebidascargadas to false>>
<<set $chicasborrachas to true>>
<<run setup.chicasBorrachasTimer.start()>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
Le acercas a las dos estudiantes de Erasmus las bebidas, que te las agradecen con una sonrisa. Te alejas de ellas durante un tiempo para ver cómo el alcohol poco a poco entra en su organismo. Cuando se las acaban, el cansancio y el etanol hacen que queden dormidas en el sofá, inmunes al ruido de la fiesta.
<center><img src="images/fiestaerasmus/chicasborrachas.png" width="500"></center>
Ya no serán el objetivo de nadie.
[[Volver a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room" />
</div>
You bring the drinks to the two Erasmus students, who thank you with a smile. You move away from them for a while to watch how the alcohol gradually enters their system. When they finish them, fatigue and ethanol make them fall asleep on the sofa, immune to the party noise.
<center><img src="images/fiestaerasmus/chicasborrachas.png" width="500"></center>
They won't be anyone's target anymore.
[[Return to the party|salon3A]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Sean/sean.png" alt="Sean">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Sean</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosSean>></strong> recuerdo<<if $recuerdosSean > 1>>s<</if>> especial<<if $recuerdosSean > 1>>es<</if>> con Sean.
</p>
<<else>>
<div class="header-image">
<img src="images/Sean/sean.png" alt="Sean">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Sean</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosSean>></strong> special memor<<if $recuerdosSean > 1>>ies<<else>>y<</if>> with Sean.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoSean1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: ¡Sexo en la fiesta!</h3>
<p>Te colaste en la fiesta y le enseñaste cosas nuevas a Sean.</p>
<<else>>
<h3>Memory 1: Party sex!</h3>
<p>You snuck into the party and taught Sean new things.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoSean1">><</link>>
<<else>>
<<link "View →" "RecuerdoSean1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoSean2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: El placer anal</h3>
<p>Le mostraste a Sean el placer de ser penetrado.</p>
<<else>>
<h3>Memory 2: Anal pleasure</h3>
<p>You showed Sean the pleasure of being penetrated.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoSean2">><</link>>
<<else>>
<<link "View →" "RecuerdoSean2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoSean3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Confidencias nocturnas</h3>
<p>Una conversación íntima revela más de lo esperado...</p>
<<else>>
<h3>Memory 3: Night confidences</h3>
<p>An intimate conversation reveals more than expected...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoSean3">><</link>>
<<else>>
<<link "View →" "RecuerdoSean3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoSean4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Cruzando límites</h3>
<p>El día que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Crossing boundaries</h3>
<p>The day everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoSean4">><</link>>
<<else>>
<<link "View →" "RecuerdoSean4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoSean5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Entrega total</h3>
<p>El momento más intenso con Sean...</p>
<<else>>
<h3>Memory 5: Total surrender</h3>
<p>The most intense moment with Sean...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoSean5">><</link>>
<<else>>
<<link "View →" "RecuerdoSean5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">>
<style>
.recuerdo-box-btn a, a.link-internal {
text-decoration: none !important;
}
</style>
<</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
/* Botón de volver */
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
/* Responsive */
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: ¡Sexo en la fiesta!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sean, el atractivo y ligón estudiante del piso de arriba era un objetivo prioritario. Para acceder a él debías entrar en una de las fiestas que él organiza todos los viernes. Para ello, solo fue suficiente crearse un semblante lo suficientemente atractivo para que te dejara pasar.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
El objetivo era acostarte con el irlandés y mostrarle otros modos de follar. Pero para eso, primero era necesario eliminar a la competencia. Preparaste en la cocina dos copas con bastante alcohol y se las diste de beber a las dos mujeres que flirteaban con Sean. Las dos acabaron desfallecidas en el sofá, y tú eras libre de poder acostarte con el estudiante de Erasmus.
</p>
<center><img src="images/fiestaerasmus/chicasborrachas.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sin competencia, fue muy fácil conseguir que Sean te llevara a su cuarto para follar contigo. Enseguida estabais los dos en la cama. Tú, aún vistiendo el semblante de chica sexy, te lanzaste a devorar su polla.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanychicasexy1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Fue entonces cuando, usando la excitación a distancia para ponerle en éxtasis, empezaste a usar tu lengua para comerle el culo. El irlandés, que no se esperaba esa práctica, se quedó de piedra al sentir el inmenso placer que le proporcionaba.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanychicasexy2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cuando pasaste al siguiente nivel, perforando el ano de Sean con tus dedos, el joven aún gimió más fuerte. Le introduciste al final hasta tres dedos, provocándole que eyaculara sin necesidad de tocarse.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanychicasexy3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cuando decidiste terminar, dejaste a Sean en la cama, simplemente con una frase en el aire: "Esto ha estado genial".
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Sean" "RecuerdosSean">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: Party sex!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sean, the attractive and flirtatious student from the upstairs apartment was a priority target. To access him you had to get into one of the parties he organizes every Friday. For that, it was enough to create a semblante attractive enough for him to let you in.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The goal was to sleep with the Irishman and show him other ways to fuck. But for that, first you had to eliminate the competition. You prepared two drinks with plenty of alcohol in the kitchen and gave them to the two women who were flirting with Sean. Both ended up passed out on the sofa, and you were free to sleep with the Erasmus student.
</p>
<center><img src="images/fiestaerasmus/chicasborrachas.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Without competition, it was very easy to get Sean to take you to his room to fuck you. Soon you were both in bed. You, still wearing the sexy girl semblante, launched yourself to devour his cock.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanychicasexy1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
It was then when, using remote arousal to put him in ecstasy, you started using your tongue to eat his ass. The Irishman, who didn't expect that practice, was stunned to feel the immense pleasure it gave him.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanychicasexy2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When you moved to the next level, penetrating Sean's anus with your fingers, the young man moaned even louder. You eventually inserted up to three fingers, making him ejaculate without needing to touch himself.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanychicasexy3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When you decided to finish, you left Sean in bed, simply with a phrase hanging in the air: "That was great".
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Sean's Memories" "RecuerdosSean">><</link>>
</div>
<</if>>
<<if $idioma is "es">>
<<set $Seantienetunumero to false>>
<<set $encargodejuguetes to true>>
<<run setup.gameTime.addMinutes(5)>>
El móvil vibra en tu bolsillo. Es un mensaje de un número desconocido. Al acceder a él ves que es Sean, el estudiante de Erasmus irlandés, que te escribe pensando que sigues siendo esa chica tan sexy de ayer en la fiesta.
"¿Qué tal has despertado, preciosa?" Te escribe, seguido de varios emoticonos. "Yo me he levantado y solo pienso en volver a verte."
Entonces te envía una foto cuyo significado solo puede ser una cosa:
<center><img src="images/Sean/fotopollasean.jpg" width="500"></center>
"No sé si estoy interesada..." le contestas, haciéndote la dura.
Entonces hay un silencio. Cuando crees que has perdido a tu objetivo por ser demasiado fría, recibes un nuevo mensaje.
"Lo que sentí anoche, lo que experimenté... Jamás me ha gustado tanto un polvo. Quiero repetir. Necesito repetir."
Sonríes. A ese casanova parece que le gusta que le penetren el culo.
"Entonces dame la foto que de verdad quiero" le contestas, tajante.
Tras un minuto, recibes la foto que esperabas:
<center><img src="images/Sean/fotoculosean.jpg" width="500"></center>
Ya tienes su número. Solo hay que prepararse con el material necesario para abrir aún más ese culito.
[[Guardas el móvil|habitacionsergio]]
<<else>>
<<set $Seantienetunumero to false>>
<<set $encargodejuguetes to true>>
<<run setup.gameTime.addMinutes(5)>>
Your phone vibrates in your pocket. It's a message from an unknown number. When you open it, you see it's Sean, the Irish Erasmus student, writing to you thinking you're still that sexy girl from last night's party.
"How did you wake up, gorgeous?" he writes, followed by several emojis. "I got up and all I can think about is seeing you again."
Then he sends you a photo whose meaning can only mean one thing:
<center><img src="images/Sean/fotopollasean.jpg" width="500"></center>
"I'm not sure I'm interested..." you reply, playing hard to get.
Then there's silence. Just when you think you've lost your target for being too cold, you receive a new message.
"What I felt last night, what I experienced... I've never enjoyed sex that much. I want to do it again. I need to do it again."
You smile. That casanova seems to enjoy having his ass penetrated.
"Then send me the photo I actually want," you reply, bluntly.
After a minute, you receive the photo you were waiting for:
<center><img src="images/Sean/fotoculosean.jpg" width="500"></center>
You already have his number. Now you just need to prepare the necessary equipment to open that little ass even more.
[[You put your phone away|habitacionsergio]]
<</if>><<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if $idioma is "es">>
El rostro de Dem se vuelve serio en la pantalla, esperando tu petición.
<<else>>
Dem's face turns serious on the screen, waiting for your request.
<</if>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var es = State.variables.idioma === "es";
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: es ? [
{ speaker: "sergio", text: "Dem, necesito que me encargues algo y que me lo envíen a casa." },
{ speaker: "dem", text: "¿Qué necesitas exactamente?" },
{ speaker: "sergio", text: "Algún que otro juguete sexual. ¿Conoces alguna web o me encargo yo de..." },
{ speaker: "dem", text: "<em>Te sonríe.</em> Tengo a alguien perfecto para eso. Espera aquí, que te lo envío." },
{ speaker: "sergio", text: "No será necesario que..." },
{ speaker: "dem", text: "No tardará más de dos horas." }
] : [
{ speaker: "sergio", text: "Dem, I need you to order something for me and have it sent to my place." },
{ speaker: "dem", text: "What exactly do you need?" },
{ speaker: "sergio", text: "Some sex toys. Do you know any website, or should I take care of it myself..." },
{ speaker: "dem", text: "<em>He smiles at you.</em> I have just the right person for that. Wait here, I'll have it sent over." },
{ speaker: "sergio", text: "It won't be necessary to..." },
{ speaker: "dem", text: "It won't take more than two hours." }
],
options: [
[], [], [], [], [],
[
{
text: es ? "El rostro de Dem desaparece de repente de la pantalla." : "Dem's face suddenly disappears from the screen.",
action: function() {
State.variables.encargodejuguetes = false;
Engine.play("vendedordildosllegada");
}
}
]
]
});
});
<</script>><<set $straponcomprado to true>>
<<run setup.gameTime.addMinutes(50)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<if $idioma is "es">>
Nervioso por ver qué puede aparecer por esa puerta, y aunque lo esperas, das un brinco al escuchar el timbre. "Es el segundo piso" le dices por el telefonillo, y los minutos que tarda en sonar el timbre de la puerta de tu casa se te hacen eternos. Al abrir, un joven de tu misma edad, vestido de traje formal y llevando un maletín, te sonríe tras el umbral.
<<else>>
Nervous about what might come through that door, and even though you're expecting it, you jump when you hear the buzzer. "It's the second floor," you tell him through the intercom, and the minutes it takes for your doorbell to ring feel like an eternity. When you open it, a young man your age, dressed in a formal suit and carrying a briefcase, smiles at you from the doorway.
<</if>>
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
<<if $idioma is "es">>
"¿Es usted Sergio, no?" pregunta, extendiendo la mano a modo de saludo. Se la estrechas y asientes. "Me han dicho que quiere unas muestras de nuestros productos."
En ese momento abre el maletín y, ante él, aparecen varios juguetes sexuales de todo tipo: dildos, fleshlights, fustas, esposas e, incluso, algún extraño aparato mecánico.
"¿Está interesado en algo de aquí?" Te pregunta, ya en el interior de la casa. "¿Quiere que le enseñe una muestra?"
No te niegas, y el vendedor, quitándose parte del traje, se sienta sobre el sofá y, bajándose los pantalones, te muestra una polla nada despreciable, que enseguida embadurna de lubricante.
"Este es el modelo Nalgas Sensuales" dice, sacando del maletín un ano de plástico. "Su tacto, tanto por fuera como por dentro, es una delicia."
Entonces comienza a follarse el juguete mientras tu polla aumenta de tamaño, excitado.
<<else>>
"You're Sergio, right?" he asks, extending his hand in greeting. You shake it and nod. "I've been told you'd like to see some samples of our products."
He opens the briefcase, and before you lies an assortment of sex toys of every kind: dildos, fleshlights, riding crops, handcuffs, and even some strange mechanical device.
"Are you interested in anything here?" he asks, already inside the apartment. "Would you like me to show you a demonstration?"
You don't object, and the salesman, removing part of his suit, sits on the sofa and pulls down his trousers, revealing a more than respectable cock that he immediately slathers in lubricant.
"This is the Sensual Cheeks model," he says, pulling a plastic ass from the briefcase. "The feel, both inside and out, is absolutely exquisite."
He then begins fucking the toy while your own cock grows harder, aroused.
<</if>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/vendedordildos1.webm" type="video/webm"></video></center>
<<if $idioma is "es">>
"Buscaba algo para el..." intentas decir, asombrado de lo que está sucediendo en tu casa.
"Claro, ya entiendo. Algo para el culo." Asientes.
Sacando un dildo de gran tamaño del maletín, lo adhiere de un golpe a la parte baja de la pared y, retrocediendo a cuatro patas, comienza a insertárselo por el culo.
<<else>>
"I was looking for something for the..." you try to say, astonished at what's happening in your own home.
"Of course, I understand. Something for the ass." You nod.
Pulling a large dildo from the briefcase, he slaps it onto the lower part of the wall and, getting down on all fours, begins to insert it into his ass.
<</if>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/vendedordildos2.webm" type="video/webm"></video></center>
<<if $idioma is "es">>
"Como ve, la ergonomía es perfecta para adaptarse a su interior" dice entre jadeos mientras continúa con su vaivén, autoinsertándose.
"Pero si quiere algo de mayor tamaño, tengo este modelo. Lo llamamos Torpedo Africano. Es perfecto para agujeros más experimentados."
Del maletín saca un enorme dildo oscuro que, colocándolo en el suelo y desvistiéndose del todo, el vendedor se introduce haciendo sentadillas, cada vez más rápido, mientras su polla se bambolea golpeando su abdomen con cada repetición.
<<else>>
"As you can see, the ergonomics are perfect for adapting to your interior," he says between gasps as he continues his rhythmic thrusting.
"But if you want something larger, I have this model. We call it the African Torpedo. It's perfect for more experienced holes."
From the briefcase he produces an enormous dark dildo which, placing it on the floor and stripping completely, he begins to ride in squats, faster and faster, while his cock sways and slaps against his abdomen with each repetition.
<</if>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/vendedordildos3.webm" type="video/webm"></video></center>
<<if $idioma is "es">>
Tras superar la sorpresa de ver cómo el gran dildo entraba y salía fácilmente del interior del vendedor, consigues explicarle por fin lo que necesitas. El vendedor te regala el cinturón, indicando que Dem ya se ha encargado de la cuenta. Antes de despedirse, te da su número por si alguna vez necesitas otra presentación de productos.
[[Te guardas el strapon|habitacionsergio]]
<<else>>
After getting over the shock of watching the large dildo slide in and out of the salesman with ease, you finally manage to explain what you actually need. The salesman gives you the harness as a gift, noting that Dem has already taken care of the bill. Before leaving, he gives you his number in case you ever need another product demonstration.
[[You put away the strap-on|habitacionsergio]]
<</if>><<set $notaSean2 to false>> <<set $notaSean3 to true>> <<set $RecuerdoSean2 = true>><<set $corrupcionSean = 22>><<set $recuerdosSean += 1>><<set $seanDesvirgadoAnal = true>><<set _es to ($idioma is "es")>>
<<run setup.gameTime.addMinutes(40)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
<<if _es>>
Sean te lleva directamente a su habitación. No perdéis el tiempo: él comienza a lamer tus pezones y tu vagina, deseoso de complacerte. Tú enseguida le das la vuelta y comienzas a lubricar su culo con tu saliva, mientras Sean empieza a gemir. Entonces sacas el strapon y, mientras te lo pones, ves la expresión de temor en el rostro del irlandés, pero ambos sabéis que ya no hay vuelta atrás.
"Lubrícame la polla" le exiges. "Si no, esto te va a destruir."
Dubitativo, Sean se acerca al pene de plástico que sobresale de tu cintura. Empieza a lamerlo torpemente, pero enseguida agarras la cabeza del estudiante y le obligas a introducírselo todo en la boca, moviéndote incluso para penetrarlo más a fondo.
<<else>>
Sean leads you straight to his bedroom. No time is wasted: he begins licking your nipples and pussy, eager to please you. You quickly flip him over and start lubricating his ass with your saliva, while Sean begins to moan. Then you pull out the strap-on and, as you put it on, you catch the expression of fear on the Irishman's face — but you both know there's no turning back now.
"Lube my cock," you demand. "Otherwise this is going to destroy you."
Hesitant, Sean approaches the plastic cock jutting from your waist. He starts licking it clumsily, but you quickly grab the student's head and force him to take as much of it into his mouth as he can, thrusting to push it even deeper.
<</if>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanstrapton1.webm" type="video/webm"></video></center>
<<if _es>>
Tras unos minutos, le dices que se desnude y que se coloque sobre la cama. Algo nervioso, Sean obedece, y con paciencia pero también con resolución, comienzas a perforar ese ano virgen con tu polla de plástico.
<<else>>
After a few minutes, you tell him to undress and lie on the bed. Somewhat nervous, Sean obeys, and with patience but also with firm resolve, you begin to penetrate that virgin ass with your plastic cock.
<</if>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanstrapton2.webm" type="video/webm"></video></center>
<<if _es>>
"Te gusta, se nota que te gusta" le dices, mientras le agarras de la cintura para que el dildo entre entero en el interior del irlandés. "¡Dímelo!" le gritas, y el joven, entre gemidos, comienza primero a susurrarlo y luego a gritarlo. En ese momento le pones boca abajo sobre la cama, le coges del pelo y comienzas a follártelo duro.
<<else>>
"You like it — I can tell you like it," you say, gripping his waist to drive the full length of the dildo inside him. "Say it!" you shout, and the young man, between moans, starts by whispering it and then shouting it out loud. At that moment you push him face-down onto the bed, grab him by the hair, and begin to fuck him hard.
<</if>>
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Sean/seanstrapton3.webm" type="video/webm"></video></center>
<<if _es>>
Cuando te cansas de follarlo, tras varias posturas distintas, te retiras para contemplar cómo ha vuelto a manchar las sábanas con su esperma. Le echas un vistazo: sudado, desnudo, con el culo abierto, recuperando el aliento.
"No vuelvas a llamarme" le dices. Luego te vistes y te marchas.
<<else>>
When you tire of fucking him, after several different positions, you pull out to find he has once again stained the sheets with his cum. You look him over: sweaty, naked, his ass gaping, catching his breath.
"Don't call me again," you tell him. Then you get dressed and leave.
<</if>>
<<if _es>>
[[Sales de la casa|Rellano del 3º]]
<<else>>
[[You leave|Rellano del 3º]]
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: El placer anal</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sean no tardó ni un día en enviarte un mensaje para volver a quedar. Tú, sabiendo que tu semblante de chica sexy era solo un medio para un fin, ya le indicaste lo que querías del pelirrojo cuando este te envió una foto de su culo. Querías follárselo, y él te correspondió.
</p>
<center><img src="images/Sean/fotoculosean.jpg" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Pensaste que debías desvírgar a ese salido, y para eso necesitabas una polla de plástico para tu semblante. Pediste ayuda a Dem, que se encargó de enviarte a casa a un atractivo vendedor a domicilio de dildos y otros juguetes sexuales.
</p>
<center><img src="images/Sean/vendedordedildos.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras enseñarte varios modelos y probarlos ante ti, te quedaste con un strapon y el número del vendedor, sabiendo que volvería a tu casa a mostrarte más novedades.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/vendedordildos3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tocaste la puerta del 3A y, sin perder el tiempo, empezasteis a follar. Cuando Sean vio el cinturón que te ponías se atemorizó un poco, pero enseguida recordó lo mucho que le gustó cuando le introdujiste los dedos la otra vez, así que al final cedió y desvirgaste al irlandés con ese pene de plástico.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanstrapton2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Poco a poco, Sean quedó totalmente subyugado a ti. Sobre la cama, le perforaste las entrañas mientras le agarrabas del pelo y le ordenabas que gritara que le gustaba ser follado. Y lo hizo.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanstrapton3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Cuando decidiste que ya habías terminado, arrojaste su cuerpo sobre la cama y le dijiste que no te volviera a llamar. Si ahora quiere más placer anal, tendrá que buscarlo en otra parte.
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Sean" "RecuerdosSean">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 2: Anal pleasure</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sean didn't even wait a full day before messaging you to meet again. You, knowing your sexy girl semblance was nothing more than a means to an end, had already made clear what you wanted from the redhead when he sent you a photo of his ass. You wanted to fuck it — and he played along.
</p>
<center><img src="images/Sean/fotoculosean.jpg" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You decided it was time to deflower that horny boy, and to do that you needed a plastic cock to go with your semblance. You asked Dem for help, who arranged for an attractive door-to-door dildo salesman to visit your apartment.
</p>
<center><img src="images/Sean/vendedordedildos.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After showing you several models and demonstrating them in front of you, you settled on a strap-on and kept the salesman's number, knowing he'd be back with more new arrivals.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/vendedordildos3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You knocked on the door of 3A and, without wasting any time, you started fucking. When Sean saw the harness you were putting on he got a little scared, but he quickly remembered how much he'd enjoyed it when you fingered him the last time — so in the end he gave in, and you deflowered the Irishman with that plastic cock.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanstrapton2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Little by little, Sean became completely subjugated to you. On the bed, you drove deep into him while grabbing him by the hair and ordering him to shout that he loved being fucked. And he did.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Sean/seanstrapton3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When you decided you were done, you tossed his body onto the bed and told him not to call you again. If he wants more anal pleasure now, he'll have to find it somewhere else.
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Sean's Memories" "RecuerdosSean">><</link>>
</div>
<</if>><<run setup.gameTime.addMinutes(50)>>
<<set _escenaVendedor to random(1, 5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon" />
</div>
<<if _escenaVendedor is 1>>
<<if $idioma is "es">>
Esperas impaciente a que llegue el vendedor. Al abrir la puerta, te encuentras de nuevo con su sonrisa y su maletín cargado.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"Hoy voy a mostrarte el dildo de mayor tamaño que tenemos. No apto para principiantes."
Del maletín saca un enorme y oscuro consolador, al que embadurna de lubricante. Luego se desnuda y, con esfuerzo, comienza a introducirselo completamente.
"Como ves, es muy placentero para anos muy abiertos."
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos1.webm" type="video/webm"></video></center>
Te masturbas viendo cómo se autopenetra.
[[Despides al vendedor|habitacionsergio]]
<<else>>
You wait impatiently for the salesman to arrive. When the door opens, you're greeted once again by his smile and his loaded briefcase.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"Today I\'m going to show you the largest dildo we carry. Not for beginners."
From the briefcase he pulls out an enormous dark dildo, which he slathers with lubricant. He then undresses and, with visible effort, begins to insert it into himself completely.
"As you can see, it\'s very pleasurable for very open holes."
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos1.webm" type="video/webm"></video></center>
You stroke yourself watching him self-penetrate.
[[Say goodbye to the salesman|habitacionsergio]]
<</if>>
<<elseif _escenaVendedor is 2>>
<<if $idioma is "es">>
Esperas impaciente a que llegue el vendedor. Al abrir la puerta, te encuentras de nuevo con su sonrisa y su maletín cargado.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"Hoy voy a enseñarte lo último en dildos motorizados. Déjame que lo monte y te lo muestro."
Tras un tiempo uniendo piezas, te presenta una máquina que, al darle a un botón, comienza a moverse. El vendedor embadurna el dildo con lubricante y se coloca en posición, dejándose penetrar por el artilugio.
"Se puede cambiar el tamaño," te dice. "Yo necesitaría uno más grueso."
Decides comprobarlo y, tras decírselo, le introduces tu polla a la vez que la máquina. Ambos rabos caben perfectamente.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos2.webm" type="video/webm"></video></center>
Te corres dentro del vendedor en cuestión de minutos.
[[Despides al vendedor|habitacionsergio]]
<<else>>
You wait impatiently for the salesman to arrive. When the door opens, you\'re greeted once again by his smile and his loaded briefcase.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"Today I\'m going to show you the latest in motorized dildos. Let me set it up and I\'ll demonstrate."
After spending some time assembling the pieces, he presents you with a machine that, at the press of a button, starts moving. The salesman coats the dildo with lubricant and positions himself, letting the contraption penetrate him.
"The size is adjustable," he says. "I\'d need a thicker one myself."
You decide to test that theory and, after telling him so, you slide your cock inside him alongside the machine. Both fit perfectly.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos2.webm" type="video/webm"></video></center>
You cum inside the salesman within minutes.
[[Say goodbye to the salesman|habitacionsergio]]
<</if>>
<<elseif _escenaVendedor is 3>>
<<if $idioma is "es">>
Esperas impaciente a que llegue el vendedor. Al abrir la puerta, te encuentras de nuevo con su sonrisa y su maletín cargado.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"Este es uno de los juguetes que puedes usar con tu pareja," dice el vendedor, sacando una especie de fleshlight con dos agujeros. "Se introduce uno de vuestros penes en un agujero y comenzáis a masturbaros con él."
Contemplas cómo empieza a desnudarse y a realizar lo que te acaba de describir. Tú, que tienes la polla ya dura de ver desnudo al vendedor, le indicas que quieres probar el otro agujero.
"Claro, para eso está diseñado," te dice. "Uno en cada uno."
Metes tu polla dentro del fleshlight y entonces el sonriente vendedor comienza a moverlo. Enseguida notas cómo su polla se roza con la tuya mientras el juguete de plástico os envuelve en un cálido abrazo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos3.webm" type="video/webm"></video></center>
Te corres antes que el vendedor, salpicando su cuerpo con tu esperma.
[[Despides al vendedor|habitacionsergio]]
<<else>>
You wait impatiently for the salesman to arrive. When the door opens, you\'re greeted once again by his smile and his loaded briefcase.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"This is one of the toys you can use with a partner," the salesman says, pulling out a kind of double-holed fleshlight. "You each insert your cock into one hole and start stroking together."
You watch as he begins to undress and demonstrate exactly what he just described. Already hard from seeing him naked, you tell him you want to try the other hole.
"Of course, that\'s what it\'s designed for," he says. "One in each."
You slide your cock into the fleshlight and the smiling salesman starts moving it. You quickly feel his cock rubbing against yours as the warm plastic toy envelops you both.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos3.webm" type="video/webm"></video></center>
You cum before the salesman does, splashing his body with your load.
[[Say goodbye to the salesman|habitacionsergio]]
<</if>>
<<elseif _escenaVendedor is 4>>
<<if $idioma is "es">>
Esperas impaciente a que llegue el vendedor. Al abrir la puerta, te encuentras de nuevo con su sonrisa y su maletín cargado.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"He sabido lo que necesitas en cuanto me ha llamado," te dice. "Tengo un culo de plástico, con su testículo y todo, cuyo interior está calefactado y es hidráulico."
Saca del maletín un culo de plástico de pequeño tamaño. Al tocarlo, te sorprendes por su textura tan real. Enseguida recuerdas a Tao.
"No sea tímido, pruébelo."
Decides comprobarlo y, en tu habitación, te bajas los pantalones para comenzar a penetrar el juguete. Si por fuera se sentía muy real, por dentro es incluso mejor.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos4.webm" type="video/webm"></video></center>
Acabas corriéndote en el juguete. Observas cómo el vendedor vierte ese esperma directamente en su boca y se relame.
[[Despides al vendedor|habitacionsergio]]
<<else>>
You wait impatiently for the salesman to arrive. When the door opens, you\'re greeted once again by his smile and his loaded briefcase.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"I knew exactly what you needed the moment you called," he says. "I have a plastic ass here — balls and all — with a heated, hydraulic interior."
He pulls a compact plastic ass from the briefcase. When you touch it, its lifelike texture surprises you. You immediately think of Tao.
"Don\'t be shy, give it a try."
You decide to test it and, in your room, pull down your pants and begin to penetrate the toy. If it felt incredibly real on the outside, the inside is even better.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos4.webm" type="video/webm"></video></center>
You end up cumming inside the toy. You watch as the salesman pours your load directly into his mouth and licks his lips.
[[Say goodbye to the salesman|habitacionsergio]]
<</if>>
<<else>>
<<if $idioma is "es">>
Esperas impaciente a que llegue el vendedor. Al abrir la puerta, te encuentras de nuevo con su sonrisa y su maletín cargado.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"A veces, lo más simple es lo más satisfactorio," te comenta, sacando del maletín un fleshlight transparente. "Este juguete es el más vendido entre los activos. Perfecto para entrenar y mantenerse en forma."
Sin pudor, el vendedor se desnuda, coloca el juguete sobre la cama y comienza a penetrarlo con su gran polla.
"El interior es muy acogedor, créame."
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos5.webm" type="video/webm"></video></center>
Te sacas la polla y comienzas a masturbarte mientras ves cómo el vendedor acaba corriéndose dentro del fleshlight. Luego lo vierte en su boca y se relame.
[[Despides al vendedor|habitacionsergio]]
<<else>>
You wait impatiently for the salesman to arrive. When the door opens, you\'re greeted once again by his smile and his loaded briefcase.
<center><img src="images/Sean/vendedordedildos.png" class="fade-in" width="400"></center>
"Sometimes the simplest things are the most satisfying," he says, pulling a clear fleshlight from the briefcase. "This is our best-seller among tops. Perfect for training and staying in shape."
Without a hint of shame, the salesman undresses, sets the toy on the bed, and begins to fuck it with his big cock.
"The inside is very snug, trust me."
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/otros/vendildos5.webm" type="video/webm"></video></center>
You pull out your cock and start stroking yourself as you watch the salesman finally cum inside the fleshlight. He then pours it into his mouth and licks his lips.
[[Say goodbye to the salesman|habitacionsergio]]
<</if>>
<</if>><<set _es to ($idioma is "es")>>
<div id="rpg-display"></div>
<<script>>
var es = State.variables.idioma === "es";
setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: es ? 'Chica' : 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: es ? 'Francesco, ¿le gustaron a Giorgia las fotos?'
: 'Francesco, did Giorgia like the photos?' },
{ speaker: 'francesco', text: es ? '<em>Se le ve algo preocupado.</em> En absoluto.'
: '<em>He looks somewhat worried.</em> Not at all.' },
{ speaker: 'sergio', text: es ? '¿Qué ha pasado?'
: 'What happened?' },
{ speaker: 'francesco', text: es ? 'Me ha dicho que soy un guarro y que no vuelva a hacerlo más. De hecho, lleva este tiempo sin volver a hablarme...'
: 'She told me I\'m disgusting and to never do it again. In fact, she hasn\'t spoken to me since...' },
{ speaker: 'sergio', text: es ? 'Ella se lo pierde por aburrida. ¿A ti te gustó hacerlo?'
: 'Her loss for being so boring. Did you enjoy doing it?' },
{ speaker: 'francesco', text: es ? 'Fue... excitante. Sentía como que estaba rompiendo algo. Me sentía casi un niño malo, ya sabes.'
: 'It was... exciting. I felt like I was breaking some kind of rule. Like I was almost a bad boy, you know.' },
{ speaker: 'sergio', text: es ? 'Me alegro entonces. Tienes que probar esas cosas antes de casarte. Si no, te arrepentirás toda tu vida y le echarás la culpa a ella.'
: 'I\'m glad then. You have to try those things before you get married. Otherwise you\'ll regret it your whole life and end up blaming her for it.' },
{ speaker: 'francesco', text: es ? 'Lo sé y, ahora... no quiero parar. Quiero probar cosas nuevas. Estoy convencido de mi amor por Giorgia, pero...'
: 'I know, and now... I don\'t want to stop. I want to try new things. I\'m sure of my love for Giorgia, but...' },
{ speaker: 'sergio', text: es ? 'Solo se es joven una vez.'
: 'You\'re only young once.' },
{ speaker: 'francesco', text: es ? '¡Exacto!'
: 'Exactly!' },
{ speaker: 'sergio', text: es ? '¿Sabes lo que deberías hacer? Deberías follar con alguien.'
: 'You know what you should do? You should fuck someone.' },
{ speaker: 'francesco', text: es ? '¿Qué? No sé si debería ponerle los cuernos a Giorgia...'
: 'What? I don\'t know if I should cheat on Giorgia...' },
{ speaker: 'sergio', text: es ? 'Bueno... Entiendo que con una mujer sí podría considerarse ponerle los cuernos, pero con un hombre...'
: 'Well... I understand that with a woman it could be considered cheating, but with a man...' },
{ speaker: 'francesco', text: es ? '¡Follar con un tío! ¡Es una locura!'
: 'Sleep with a guy! That\'s insane!' },
{ speaker: 'sergio', text: es ? 'No me seas carca. Hoy en día lo hace mucha gente. Ya sabes, experimentar en la universidad. Eso no significa que sean gays ni nada de eso.'
: 'Don\'t be so old-fashioned. Lots of people do it nowadays. You know, experimenting at university. It doesn\'t mean they\'re gay or anything like that.' },
{ speaker: 'francesco', text: es ? 'No sé...'
: 'I don\'t know...' },
{ speaker: 'sergio', text: es ? 'Tampoco tienes que dejarte follar el culo. Simplemente que te hagan una mamada. ¿A que nunca te han hecho una?'
: 'You don\'t have to let anyone fuck your ass either. Just a blowjob. I bet you\'ve never had one from a guy, have you?' },
{ speaker: 'francesco', text: es ? 'No. Pero... ¿si al final hiciera esa locura, con quién lo haría?'
: 'No. But... if I were actually crazy enough to do it, who would it even be with?' },
{ speaker: 'sergio', text: es ? 'Según me contó Sean, tenéis un vecino gay que es más o menos de tu edad. Podrías...'
: 'According to Sean, you have a gay neighbour around your age. You could...' },
{ speaker: 'francesco', text: es ? '¿Con un vecino? Imposible. No quiero que nadie se entere.'
: 'With a neighbour? Impossible. I don\'t want anyone to find out.' },
{ speaker: 'sergio', text: es ? 'Entonces hazte un perfil en alguna aplicación. Escoge a alguien cerca y experimenta lo que es una mamada. Ven, te ayudo a hacértelo.'
: 'Then make a profile on some app. Pick someone nearby and find out what a blowjob feels like. Come on, I\'ll help you set it up.' },
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[], // 17
[], // 18
[], // 19
[
{
text: es ? 'Creáis un perfil en Gaynear' : 'You create a profile on Gaynear',
action: function() {
State.variables.semblantechicosexy = true;
Engine.play('hacerfrancescoperfil');
}
}
]
]
});
<</script>><<run setup.gameTime.addMinutes(15)>>
<<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Primero ponemos tu nombre.' },
{ speaker: 'francesco', text: 'Mejor poner un alias.' },
{ speaker: 'sergio', text: 'Ok, ¿qué tal te parece Italianodiscreto2002?' },
{ speaker: 'francesco', text: 'Ehh... vale.' },
{ speaker: 'sergio', text: 'Luego una breve descripción, algo así como que eres un chico hetero en busca de experimentación. Seguro que eso atrae a muchos hombres.' },
{ speaker: 'francesco', text: 'Vale.' },
{ speaker: 'sergio', text: 'Ponemos una foto de las que le enviaste a Giorgia...' },
{ speaker: 'francesco', text: '¡No! Déjalo sin foto. No quiero que me reconozca alguien.' },
{ speaker: 'sergio', text: '¿Y quién va a hacerlo? En estas apps solo se conectan gays...' },
{ speaker: 'francesco', text: 'Ok.' },
{ speaker: 'sergio', text: 'Por último, lo que estás buscando. El tipo de hombre que te gusta. ¿Pongo cualquiera?' },
{ speaker: 'francesco', text: '¿Y que se me acerquen todos los viejos? No. Pon algo como que busco chicos atractivos y simpáticos, de edad similar a la mía y que les guste el deporte. ¡Y que sea tierno! No quiero ningún dominante agresivo.' },
{ speaker: 'sergio', text: 'Perfecto. Ahora solo queda que la app te encuentre el mejor perfil lo más cerca. Así podrás enviarle un mensaje.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'Volvéis a la fiesta',
action: function() {
State.variables.Francescogaynear = true;
Engine.play('salon3A');
}
}
]
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'First, we set your name.' },
{ speaker: 'francesco', text: 'Better to use an alias.' },
{ speaker: 'sergio', text: 'Ok, how about Italianodiscreto2002?' },
{ speaker: 'francesco', text: 'Ugh... fine.' },
{ speaker: 'sergio', text: 'Then a short description — something like you\'re a straight guy looking to experiment. That\'s sure to attract plenty of men.' },
{ speaker: 'francesco', text: 'Fine.' },
{ speaker: 'sergio', text: 'We\'ll use one of the photos you sent Giorgia...' },
{ speaker: 'francesco', text: 'No! Leave it without a photo. I don\'t want anyone recognizing me.' },
{ speaker: 'sergio', text: 'And who\'s going to do that? The only people on these apps are gay men...' },
{ speaker: 'francesco', text: 'Ok.' },
{ speaker: 'sergio', text: 'Last thing — what you\'re looking for. The type of man you like. Should I just put anything?' },
{ speaker: 'francesco', text: 'And have every old man messaging me? No. Put something like I\'m looking for attractive, friendly guys, around my age, into sports. And someone gentle! I don\'t want some aggressive dominant type.' },
{ speaker: 'sergio', text: 'Perfect. Now we just let the app find the best profile nearby. Then you can send him a message.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'You head back to the party',
action: function() {
State.variables.Francescogaynear = true;
Engine.play('salon3A');
}
}
]
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(8)>>
Al momento en que cambias de semblante, recibes una llamada de Dem. Enseguida coges el teléfono.
<<else>>
<<run setup.gameTime.addMinutes(8)>>
The moment you change your appearance, you receive a call from Dem. You pick up the phone right away.
<</if>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var lang = State.variables.idioma || "es";
var dialogueConfig = {
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: lang === "es" ? [
{ speaker: "dem", text: "Veo que has conseguido convertirte en el hombre perfecto para ligarte al italiano." },
{ speaker: "sergio", text: "Eso creo. Ahora debo hacerme un perfil en Gaynear y contactar con él." },
{ speaker: "dem", text: "Eso te lo hago yo en un momento. ¿Sabes que Gaynear es nuestra?" },
{ speaker: "sergio", text: "¿Cómo que vuestra? ¿La hizo un demonio?" },
{ speaker: "dem", text: "¡Exacto! Insertamos en el código ciertas líneas malditas para hacer a los usuarios más proclives a... pecar de lujuria." },
{ speaker: "sergio", text: "¿Pero si la app es para follar principalmente?" },
{ speaker: "dem", text: "¡Pues claro! La diseñamos nosotros. No entiendo cómo no la tenías antes. Deja que te la instale en el móvil con algunos truquitos extra." },
{ speaker: "sergio", text: "¿Truquitos?" },
{ speaker: "dem", text: "Ya lo verás. Por ahora, aliméntala agregándole a tus vecinos. Piensa en Gaynear como un ser vivo. Si le complaces, él te recompensará." }
] : [
{ speaker: "dem", text: "I see you've managed to become the perfect man to seduce the Italian." },
{ speaker: "sergio", text: "I think so. Now I need to set up a profile on Gaynear and contact him." },
{ speaker: "dem", text: "I'll do that for you in a moment. Did you know Gaynear is ours?" },
{ speaker: "sergio", text: "What do you mean yours? A demon made it?" },
{ speaker: "dem", text: "Exactly! We inserted certain cursed lines of code to make users more prone to... the sin of lust." },
{ speaker: "sergio", text: "But the app is mainly for hooking up anyway?" },
{ speaker: "dem", text: "Of course! We designed it ourselves. I don't understand how you didn't have it before. Let me install it on your phone with a few extra little tricks." },
{ speaker: "sergio", text: "Little tricks?" },
{ speaker: "dem", text: "You'll see. For now, feed it by adding your neighbors. Think of Gaynear as a living thing. If you please it, it will reward you." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: lang === "es" ? "Aparece el símbolo de Gaynear en el móvil." : "The Gaynear icon appears on your phone.",
action: function() {
State.variables.gaynear = true;
Engine.play("habitacionsergio");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<div class="gaynear-logo-bar">
<a class="gaynear-logo-link" onclick="window.openAppDirect('gaynearconversacion')">
gay<span>near</span>
</a>
<button class="gaynear-close-btn" onclick="window.closeApp()">✖️</button>
</div>
<div class="gaynear-main-grid">
<div class="gaynear-col-1">
<div class="gaynear-col-1-top">
<div class="gaynear-profile-area">
<div class="gaynear-thumb-wrap" onclick="window.gaynearToggleMenu()">
<img id="gaynear-portrait" src="images/Gaynear/sergiogaynear.png" alt="Perfil">
<span class="gaynear-arrow">▼</span>
</div>
<div class="gaynear-dropdown" id="gaynear-dropdown">
<div class="gaynear-option" data-profile="sergio"
data-img="images/Gaynear/sergiogaynear.png"
onclick="window.gaynearSelect('sergio')">
<img src="images/Gaynear/sergiogaynear.png">
<span>Sergiovers2000</span>
<span class="gaynear-check">✓</span>
</div>
<<if $semblantechicosexy>>
<div class="gaynear-option" data-profile="chicosexy"
data-img="images/Gaynear/chicosexygaynear.png"
onclick="window.gaynearSelect('chicosexy')">
<img src="images/Gaynear/chicosexygaynear.png">
<span>Tudeseo2002</span>
<span class="gaynear-check">✓</span>
</div>
<</if>>
</div>
</div>
</div>
<div class="gaynear-col-1-bottom">
<div id="gaynear-selected-name-under" class="gaynear-name-under">Sergiovers2000</div>
</div>
</div>
<div class="gaynear-col-2">
<img id="gaynear-selected-img" src="images/Gaynear/sergiogaynear.png" class="gaynear-big-photo" alt="">
</div>
<div class="gaynear-col-3">
<div class="gaynear-contact-info" id="gaynear-contact-info">
<p id="gaynear-profile-desc">
<<if $idioma is "es">>
Versátil chico normal con ganas de conocer gente.
<<else>>
Regular versatile guy looking to meet people.
<</if>>
</p>
</div>
</div>
<div class="gaynear-col-4">
<img src="images/Gaynear/mapa.png" alt="Mapa" class="gaynear-map-full">
</div>
</div>
<<set _gaynearCount = 0>>
<<if $Francescogaynear>><<set _gaynearCount += 1>><</if>>
<<if $emilgaynear>><<set _gaynearCount += 1>><</if>>
<<if $adoradorvendedorindio>><<set _gaynearCount += 1>><</if>>
<<if $adoradorcorredor>><<set _gaynearCount += 1>><</if>>
<<if $adoradorparroquiano>><<set _gaynearCount += 1>><</if>>
<<if $adoradormusicoambulante>><<set _gaynearCount += 1>><</if>>
<<if $abelgaynear>><<set _gaynearCount += 1>><</if>>
<div class="gaynear-count-bar">
<<if $idioma is "es">>
🔍 <<print _gaynearCount>> <<if _gaynearCount is 1>>persona cerca de ti<<else>>personas cerca de ti<</if>>
<<else>>
🔍 <<print _gaynearCount>> <<if _gaynearCount is 1>>person nearby<<else>>people nearby<</if>>
<</if>>
</div>
<div class="gaynear-list">
<div class="gaynear-grid-inner" id="gaynear-grid-inner"></div>
<<if _gaynearCount is 0>>
<div class="gaynear-empty">
<<if $idioma is "es">>No hay nadie cerca por ahora...<<else>>Nobody nearby for now...<</if>>
</div>
<</if>>
</div>
<<run (function(){
setTimeout(function(){
var sv = State.variables;
var grid = document.getElementById('gaynear-grid-inner');
if (!grid) return;
var contactos = [
{ varName: 'Francescogaynear', img: 'images/Gaynear/retratogaynearfrancesco.png', nick: 'Italianodiscreto2002', dist: '~200m', pasaje: 'Francescogaynear' },
{ varName: 'emilgaynear', img: 'images/Gaynear/emilgaynear.png', nick: 'Punkboy_Bergen', dist: '~300m', pasaje: 'GaynearEmil' },
{ varName: 'adoradorvendedorindio', img: 'images/Gaynear/desysexy05gaynear.png', nick: 'Desisexy05', dist: '~350m', pasaje: 'GaynearDesisexy' },
{ varName: 'adoradorcorredor', img: 'images/Gaynear/runninfit99.png', nick: 'Runningfit99', dist: '~500m', pasaje: 'GaynearRunningfit' },
{ varName: 'adoradorparroquiano', img: 'images/Gaynear/josemanuel85gaynear.png', nick: 'Josemanuelsex85', dist: '~650m', pasaje: 'GaynearJosemanuel' },
{ varName: 'adoradormusicoambulante', img: 'images/Gaynear/musiclovergaynear.png', nick: 'Musiclover00', dist: '~250m', pasaje: 'GaynearMusiclover' },
{ varName: 'abelgaynear', img: 'images/Gaynear/abelgaynear.png', nick: 'Chicoabiertoynuevo06', dist: '~20m', pasaje: 'Gaynearabel' }
];
contactos.forEach(function(c){
if (!sv[c.varName]) return;
var card = document.createElement('div');
card.className = 'gaynear-card';
card.innerHTML =
'<img src="' + c.img + '" class="gaynear-card-img" alt="' + c.nick + '">' +
'<div class="gaynear-card-info">' +
'<span class="gaynear-nick">' + c.nick + '</span>' +
'<span class="gaynear-dist">' + c.dist + '</span>' +
'</div>';
card.addEventListener('click', function(){ window.openAppDirect(c.pasaje); });
grid.appendChild(card);
});
}, 80);
})();>>
<<run (function(){
var textos = {
'sergio': { es: 'Versátil chico normal con ganas de conocer gente.', en: 'Regular versatile guy looking to meet people.' },
'chicosexy': { es: 'Solo soy un chico majo y tierno con ganas de pasarlo bien. ¡Anímate a conocerme!', en: 'Just a sweet and tender guy looking to have a good time. Come get to know me!' }
};
setTimeout(function(){
var saved = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (window.gaynearSelect) window.gaynearSelect(saved, true);
var desc = document.getElementById('gaynear-profile-desc');
if (desc && textos[saved]) desc.textContent = textos[saved][lang] || textos[saved]['es'];
}, 60);
})();>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/retratogaynearfrancesco.png" class="fgn-main-photo" alt="Italianodiscreto2002">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Italianodiscreto2002</div>
<div class="fgn-dist">~200m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span>
<<if $idioma is "es">>23 años<<else>>23 years old<</if>>
</span></div>
<div class="fgn-info-row">🔎 <span>
<<if $idioma is "es">>Hetero en búsqueda de nuevas experiencias<<else>>Straight guy looking for new experiences<</if>>
</span></div>
<div class="fgn-info-row">🏠 <span>
<<if $idioma is "es">>Tengo sitio<<else>>I have a place<</if>>
</span></div>
<div class="fgn-info-row">🤫 <span>
<<if $idioma is "es">>Soy muy discreto y busco lo mismo<<else>>Very discreet and looking for the same<</if>>
</span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/francescogaynear1.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/francescogaynear2.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarFrancesco()">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none';
oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnContactarFrancesco = function() {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === 'chicosexy') {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play('sexogaynearfrancesco');
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😶 Parece que no está interesado en tu perfil actual...'
: '😶 He doesn\'t seem interested in your current profile...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Quizás deberías probar con otro semblante.'
: 'Maybe you should try a different disguise.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><<if $gaynearConversacionVista>>
<<run window.openAppDirect('gaynearadoradores')>>
<<else>>
<<set $gaynearConversacionVista = true>>
<<set $nuevosAdoradores = 4>>
<<run setup.gameTime.addMinutes(5)>>
<div id="gaynear-chat-screen">
<div class="gnc-header">
<img src="images/Gaynear/logogaynear.png" class="gnc-avatar-header" alt="">
<div class="gnc-header-info">
<<if $idioma is "es">>
<div class="gnc-header-name">Gaynear</div>
<div class="gnc-header-status">en línea</div>
<<else>>
<div class="gnc-header-name">Gaynear</div>
<div class="gnc-header-status">online</div>
<</if>>
</div>
</div>
<div class="gnc-messages" id="gnc-messages"></div>
<div class="gnc-footer">
<button class="gnc-next-btn" id="gnc-next-btn" onclick="window.gncNext()">
<<if $idioma is "es">>Siguiente<<else>>Next<</if>>
</button>
</div>
</div>
<<script>>
var lang = State.variables.idioma || 'es';
var messagesEs = [
{ from: 'gaynear', text: 'Hola, usuario.' },
{ from: 'sergio', text: 'Ehh... hola. ¿Quién eres?' },
{ from: 'gaynear', text: 'Soy una creación del Barón de la carne, aquel al que llamas Lujuria. Soy aquel al que vosotros llamáis Gaynear.' },
{ from: 'sergio', text: 'Espera, ¿eres la aplicación?' },
{ from: 'gaynear', text: 'Soy más que eso. Soy una entidad, un demonio, un canal.' },
{ from: 'sergio', text: 'No lo entiendo...' },
{ from: 'gaynear', text: 'Soy un medio para un fin. Me alimento de los pensamientos impuros, de los deseos y sueños libidinosos de los que en mí vierten sus esperanzas y anhelos sexuales. Yo dirijo todo eso a mi señor. Por lo tanto, ahora que vos también le servís, puedo mostrarme como verdaderamente soy.' },
{ from: 'sergio', text: 'Esto es una locura...' },
{ from: 'gaynear', text: 'Demócrito me ha hablado de vos. Me ha dicho que podemos ayudarnos entre nosotros. Me necesitas para conectar a tus objetivos con otros hombres, y yo necesito nuevos deseos para alimentarme.' },
{ from: 'sergio', text: '¿Y cómo puedo hacer eso?' },
{ from: 'gaynear', text: 'Tráeme a nuevos hombres. Deja que ellos viertan sus pensamientos en mí. Como agradecimiento, parte de ese deseo, de esa lujuria, podrá ser vertida en algún otro hombre, convirtiéndolo en un nuevo adorador del señor de la carne caliente.' },
{ from: 'sergio', text: '¿Nuevos adoradores?' },
{ from: 'gaynear', text: 'Sí. Hombres repletos de deseos carnales. Desesperados por transmitir las enseñanzas de nuestro señor. Y tú serás el primero en disfrutar de ellos.' },
{ from: 'sergio', text: '¿Te refieres a que, si traigo a algunos de mis vecinos a Gaynear, tú podrás convertir a alguien en un obseso sexual?' },
{ from: 'gaynear', text: 'Exactamente. No podrás elegir quién será ese nuevo adorador, pero sí serás el primero en catar su carne. Prueba si lo deseas. Usa el poder que me ha dado la primera de tus ofrendas para convertir a un desconocido en tu prostituta.' }
];
var messagesEn = [
{ from: 'gaynear', text: 'Hello, user.' },
{ from: 'sergio', text: 'Uh... hello. Who are you?' },
{ from: 'gaynear', text: 'I am a creation of the Baron of Flesh, the one you call Lust. I am the one you call Gaynear.' },
{ from: 'sergio', text: 'Wait, you\'re the app?' },
{ from: 'gaynear', text: 'I am more than that. I am an entity, a demon, a channel.' },
{ from: 'sergio', text: 'I don\'t understand...' },
{ from: 'gaynear', text: 'I am a means to an end. I feed on impure thoughts, on the lustful desires and dreams of those who pour their sexual hopes and longings into me. I direct all of that to my lord. Therefore, now that you also serve him, I can reveal myself as I truly am.' },
{ from: 'sergio', text: 'This is insane...' },
{ from: 'gaynear', text: 'Democritus has told me about you. He said we could help each other. You need me to connect your targets with other men, and I need new desires to feed on.' },
{ from: 'sergio', text: 'And how can I do that?' },
{ from: 'gaynear', text: 'Bring me new men. Let them pour their thoughts into me. In return, part of that desire, that lust, will be poured into another man, turning him into a new worshipper of the lord of hot flesh.' },
{ from: 'sergio', text: 'New worshippers?' },
{ from: 'gaynear', text: 'Yes. Men full of carnal desires. Desperate to spread the teachings of our lord. And you will be the first to taste their flesh.' },
{ from: 'sergio', text: 'You mean that if I bring some of my neighbors to Gaynear, you\'ll be able to turn someone into a sexual obsessive?' },
{ from: 'gaynear', text: 'Exactly. You won\'t be able to choose who that new worshipper will be, but you will be the first to sample their flesh. Try it if you wish. Use the power that the first of your offerings has given me to turn a stranger into your plaything.' }
];
window.gncMessages = lang === 'es' ? messagesEs : messagesEn;
window.gncIndex = 0;
window.gncNext = function() {
var btn = document.getElementById('gnc-next-btn');
if (btn) btn.disabled = true;
if (window.gncIndex >= window.gncMessages.length) {
window.openAppDirect('gaynearadoradores');
return;
}
var msg = window.gncMessages[window.gncIndex];
var container = document.getElementById('gnc-messages');
var bubble = document.createElement('div');
bubble.className = 'gnc-msg gnc-msg-' + msg.from;
if (msg.from === 'gaynear') {
bubble.innerHTML =
'<img src="images/Gaynear/logogaynear.png" class="gnc-msg-avatar">' +
'<div class="gnc-bubble gnc-bubble-left">' + msg.text + '</div>';
} else {
bubble.innerHTML =
'<div class="gnc-bubble gnc-bubble-right">' + msg.text + '</div>';
}
bubble.style.opacity = '0';
bubble.style.transform = 'translateY(10px)';
container.appendChild(bubble);
setTimeout(function() {
bubble.style.transition = 'opacity 0.3s, transform 0.3s';
bubble.style.opacity = '1';
bubble.style.transform = 'translateY(0)';
container.scrollTop = container.scrollHeight;
}, 50);
window.gncIndex++;
setTimeout(function() {
if (btn) btn.disabled = false;
if (window.gncIndex >= window.gncMessages.length) {
btn.textContent = lang === 'es' ? 'Continuar' : 'Continue';
}
}, 400);
};
setTimeout(function() { window.gncNext(); }, 300);
<</script>>
<</if>><<if $remanentesDeseo isnot 0 and !$remanentesDeseo>><<set $remanentesDeseo = 1>><</if>>
<<if $nuevosAdoradores isnot 0 and !$nuevosAdoradores>><<set $nuevosAdoradores = 0>><</if>>
<div id="gaynear-adoradores-screen">
<div class="gna-logo-wrap">
<div class="gna-flames">🔥</div>
<img src="images/Gaynear/logogaynear.png" class="gna-logo-img" alt="Gaynear">
<div class="gna-flames">🔥</div>
<button class="gna-volver-btn" onclick="window.openAppDirect('AppGaynear')">↩</button>
</div>
<div class="gna-heart-section">
<div class="gna-heart" id="gna-heart">❤️</div>
<div class="gna-remanentes-label">
<<if $idioma is "es">>Remanentes de deseo<<else>>Desire remnants<</if>>
</div>
<div class="gna-remanentes-value" id="gna-remanentes-value"><<print $remanentesDeseo>></div>
</div>
<div class="gna-found-text" id="gna-found-text"></div>
<div class="gna-boxes" id="gna-boxes"></div>
</div>
<div id="gna-reveal-modal" class="gna-modal">
<div class="gna-modal-inner">
<img id="gna-reveal-img" src="" alt="" class="gna-reveal-img">
<p id="gna-reveal-text" class="gna-reveal-text"></p>
<button class="gna-continuar-btn" id="gna-continuar-btn">
<<if $idioma is "es">>Continuar<<else>>Continue<</if>>
</button>
</div>
</div>
<<script>>
setTimeout(function(){
var lang = State.variables.idioma || 'es';
/* ── DATOS DE ADORADORES ── */
var adoradores = [
{
key: 'adorador1',
varName: 'adoradormusicoambulante',
imgReveal: 'images/Gaynear/musicloverreveal.png',
textoEs: 'Un joven músico, a dos calles de ti. Ha dejado inmediatamente de tocar su guitarra y, con los dedos temblorosos, se instala Gaynear para su nueva vida.',
textoEn: 'A young musician, two streets away. He has immediately stopped playing his guitar and, with trembling fingers, installs Gaynear to begin his new life.'
},
{
key: 'adorador2',
varName: 'adoradorvendedorindio',
imgReveal: 'images/Gaynear/vendedorindioreveal.png',
textoEs: 'El hijo del vendedor del bazar de la calle Recaredo deja de mirar, aburrido, su móvil tras el mostrador e, inmediatamente, se instala Gaynear para su nueva vida.',
textoEn: 'The son of the shop owner on Recaredo Street stops staring boredly at his phone behind the counter and, immediately, installs Gaynear to begin his new life.'
},
{
key: 'adorador3',
varName: 'adoradorparroquiano',
imgReveal: 'images/Gaynear/parroquianoreveal.png',
textoEs: 'Un cuarentón fornido se bebe una cerveza en un bar cercano. Su deseo por la sexy camarera se desvanece y ahora solo puede pensar en ser penetrado. Rápidamente, se instala Gaynear.',
textoEn: 'A stocky man in his forties drinks a beer in a nearby bar. His desire for the sexy waitress fades and now he can only think about being filled. He quickly installs Gaynear.'
},
{
key: 'adorador4',
varName: 'adoradorcorredor',
imgReveal: 'images/Gaynear/corredorreveal.png',
textoEs: 'Un joven corre por el parque siguiendo su rutina diaria de ejercicio. De pronto, se detiene. Ahora su cuerpo debe ser usado para otro fin. Detiene su música y se instala Gaynear.',
textoEn: 'A young man jogs through the park on his daily exercise routine. Suddenly, he stops. His body must now be used for a different purpose. He pauses his music and installs Gaynear.'
}
];
/* ── FILTRAR: solo los que aún no están activados ── */
var pendientes = adoradores.filter(function(a){
return !State.variables[a.varName];
});
/* ── CUÁNTAS CAJAS MOSTRAR ── */
var n = Math.min(State.variables.nuevosAdoradores || 0, pendientes.length);
/* ── TEXTO DE ENCONTRADOS ── */
var foundEl = document.getElementById('gna-found-text');
if (foundEl) {
if (n > 0) {
foundEl.textContent = lang === 'es'
? 'Se han encontrado ' + n + ' posible' + (n !== 1 ? 's' : '') + ' adorador' + (n !== 1 ? 'es' : '') + ' en tu zona.'
: 'Found ' + n + ' possible worshipper' + (n !== 1 ? 's' : '') + ' in your area.';
} else {
foundEl.textContent = lang === 'es'
? 'No hay nuevos adoradores en tu zona por ahora.'
: 'No new worshippers in your area for now.';
}
}
/* ── GENERAR RECUADROS ── */
var boxesEl = document.getElementById('gna-boxes');
if (boxesEl && n > 0) {
pendientes.sort(function(){ return Math.random() - 0.5; });
var mostrar = pendientes.slice(0, n);
mostrar.forEach(function(a){
var box = document.createElement('div');
box.className = 'gna-mystery-box';
box.innerHTML = '<span class="gna-mystery-icon">❓</span>';
box.addEventListener('click', function(){
if (State.variables.remanentesDeseo < 1) {
alert(lang === 'es'
? 'No tienes remanentes de deseo suficientes.'
: 'Not enough desire remnants.');
return;
}
State.variables.remanentesDeseo -= 1;
State.variables.nuevosAdoradores -= 1;
document.getElementById('gna-remanentes-value').textContent = State.variables.remanentesDeseo;
State.variables[a.varName] = true;
document.getElementById('gna-reveal-img').src = a.imgReveal;
document.getElementById('gna-reveal-text').textContent = lang === 'es' ? a.textoEs : a.textoEn;
document.getElementById('gna-reveal-modal').classList.add('active');
box.style.transition = 'opacity 0.4s';
box.style.opacity = '0';
setTimeout(function(){ box.remove(); }, 400);
var rem = State.variables.nuevosAdoradores;
if (foundEl) {
if (rem > 0) {
foundEl.textContent = lang === 'es'
? 'Se han encontrado ' + rem + ' posible' + (rem !== 1 ? 's' : '') + ' adorador' + (rem !== 1 ? 'es' : '') + ' en tu zona.'
: 'Found ' + rem + ' possible worshipper' + (rem !== 1 ? 's' : '') + ' in your area.';
} else {
foundEl.textContent = lang === 'es'
? 'No hay más adoradores en tu zona por ahora.'
: 'No more worshippers in your area for now.';
}
}
});
boxesEl.appendChild(box);
});
}
/* ── BOTÓN CONTINUAR ── */
var btnContinuar = document.getElementById('gna-continuar-btn');
if (btnContinuar) {
btnContinuar.addEventListener('click', function(){
document.getElementById('gna-reveal-modal').classList.remove('active');
window.openAppDirect('AppGaynear');
});
}
}, 100);
<</script>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/musiclovergaynear.png" class="fgn-main-photo" alt="Musiclover00">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Musiclover00</div>
<div class="fgn-dist">~250m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span><<if $idioma is "es">>25 años<<else>>25 years old<</if>></span></div>
<div class="fgn-info-row">🔎 <span><<if $idioma is "es">>Hetero curioso. Pasivo.<<else>>Curious straight. Bottom.<</if>></span></div>
<div class="fgn-info-row">🏠 <span><<if $idioma is "es">>En mi sitio o en el tuyo.<<else>>My place or yours.<</if>></span></div>
<div class="fgn-info-row">🤫 <span><<if $idioma is "es">>He nacido para darte placer. ¡Aprovéchalo!<<else>>I was born to give you pleasure, enjoy it!<</if>></span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/Musiclover1.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/musiclover2.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/musiclover3.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarSolo('sergio', 'sexogaynearmusiclover')">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none'; oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnContactarSolo = function(perfilRequerido, destino) {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === perfilRequerido) {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play(destino);
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😏 Parecen más interesados en tu verdadero yo...'
: '😏 They seem more interested in your true self...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Prueba con tu perfil real.'
: 'Try switching to your real profile.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/josemanuel85gaynear.png" class="fgn-main-photo" alt="Josemanuelsex85">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Josemanuelsex85</div>
<div class="fgn-dist">~150m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span><<if $idioma is "es">>40 años<<else>>40 years old<</if>></span></div>
<div class="fgn-info-row">🔎 <span><<if $idioma is "es">>Hetero necesitado de que le den un buen polvo. Pasivo.<<else>>Straight man who needs a good fuck. Bottom.<</if>></span></div>
<div class="fgn-info-row">🏠 <span><<if $idioma is "es">>Cuando mi mujer se marcha, tengo sitio.<<else>>When my wife's away, I have a place.<</if>></span></div>
<div class="fgn-info-row">🤫 <span><<if $idioma is "es">>Soy discreto pero muy zorra en la cama.<<else>>Discreet but a total slut in bed.<</if>></span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/josemanuel851.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/josemanuel852.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/josemanuel853.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/josemanuel854.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarSolo('sergio', 'sexogaynearjosemanuel')">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none'; oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnContactarSolo = function(perfilRequerido, destino) {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === perfilRequerido) {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play(destino);
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😏 Parecen más interesados en tu verdadero yo...'
: '😏 They seem more interested in your true self...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Prueba con tu perfil real.'
: 'Try switching to your real profile.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/runninfit99.png" class="fgn-main-photo" alt="Runningfit99">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Runningfit99</div>
<div class="fgn-dist">~500m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span><<if $idioma is "es">>26 años<<else>>26 years old<</if>></span></div>
<div class="fgn-info-row">🔎 <span><<if $idioma is "es">>Hetero sumiso en busca de amo.<<else>>Submissive straight guy looking for a master.<</if>></span></div>
<div class="fgn-info-row">🏠 <span><<if $idioma is "es">>Prefiero en tu sitio.<<else>>Prefer your place.<</if>></span></div>
<div class="fgn-info-row">🤫 <span><<if $idioma is "es">>Me encanta que me aten y me controlen. ¿Quieres ser tú mi próximo amo?<<else>>I love being tied up and controlled. Do you want to be my next master?<</if>></span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/runnigfit0.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/runningfit1.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/runningfit2.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/runningfit3.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/runningfit4.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarSolo('sergio', 'sexogaynearrunningfit')">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none'; oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnContactarSolo = function(perfilRequerido, destino) {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === perfilRequerido) {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play(destino);
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😏 Parecen más interesados en tu verdadero yo...'
: '😏 They seem more interested in your true self...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Prueba con tu perfil real.'
: 'Try switching to your real profile.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/desysexy05gaynear.png" class="fgn-main-photo" alt="Desisexy05">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Desisexy05</div>
<div class="fgn-dist">~350m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span><<if $idioma is "es">>20 años<<else>>20 years old<</if>></span></div>
<div class="fgn-info-row">🔎 <span><<if $idioma is "es">>Hombres que me enseñen el placer del sexo.<<else>>Men who can teach me the pleasures of sex.<</if>></span></div>
<div class="fgn-info-row">🏠 <span><<if $idioma is "es">>En tu casa o en mi tienda.<<else>>Your place or my shop.<</if>></span></div>
<div class="fgn-info-row">🤫 <span><<if $idioma is "es">>Soy un lienzo en blanco. Conviérteme en lo que desees.<<else>>I am a blank canvas. Turn me into whatever you desire.<</if>></span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/desisexy01.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/desisexy02.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/desisexy03.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/desisexy04.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarSolo('sergio', 'sexogayneardesisexy')">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none'; oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnContactarSolo = function(perfilRequerido, destino) {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === perfilRequerido) {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play(destino);
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😏 Parecen más interesados en tu verdadero yo...'
: '😏 They seem more interested in your true self...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Prueba con tu perfil real.'
: 'Try switching to your real profile.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
No tardas en recibir contestación a tu mensaje. El joven indio acude a tu casa en menos de veinte minutos y, tras abrir la puerta, ya te está comiendo la boca. Enseguida lo tienes desnudo, y te deleitas pasando la lengua por su cuerpo moreno, que sabe a curry y anís.
"Cómeme la polla", le dices, y el chico, desnudo y ansioso, se lanza a devorártela con una voracidad que te hace sentir que estás a punto de correrte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex1.webm" type="video/webm"></video></center>
Con cada lamida, el chico desea más polla y se la introduce cada vez más adentro de la garganta. Cachondo al ver en lo que has convertido a ese muchacho, le agarras bien del cuello y comienzas a follarte la garganta del indio, que abre aún más la boca para no ahogarse.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex2.webm" type="video/webm"></video></center>
Por fin había llegado la hora de follarte al vendedor. Pero antes, había que abrir ese agujerito moreno. Con ayuda de lubricante, comienzas a perforar el ano del indio, primero con un dedo y luego con varios, mientras este gime y gime.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Gaynear/desisexysex3.webm" type="video/webm"></video></center>
"Méteme la polla, por favor", suplica el joven, y tú no le haces sufrir más. Encaras tu miembro a su agujero y empiezas a abrirlo, lo que provoca oleadas de placer en el muchacho.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex4.webm" type="video/webm"></video></center>
Le follas durante varios minutos, llenando tu cuarto de gemidos y palabras mascullas en un idioma que no logras entender. Pronto notas que no vas a poder aguantar, por lo que, sin sacársela, te vacías profusamente en el interior del indio, que no duda en masturbarse para correrse él mismo sobre tu cama.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex5.webm" type="video/webm"></video></center>
Después os despedís, esperando volver a quedar a través de la app. El chico va a ser muy solicitado en Gaynear.
[[Continuar|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
You don't have to wait long for a reply. The young Indian guy arrives at your place in under twenty minutes and, the moment you open the door, he's already kissing you hungrily. You have him undressed in no time, running your tongue over his dark skin, which tastes of curry and anise.
"Suck my cock," you tell him, and the boy, naked and eager, throws himself at it with a voracity that makes you feel like you're about to come on the spot.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex1.webm" type="video/webm"></video></center>
With every lick he wants more, taking it deeper and deeper into his throat. Turned on by what you've turned this boy into, you grab him firmly by the back of the neck and start fucking his throat, while he opens his mouth even wider to keep from choking.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex2.webm" type="video/webm"></video></center>
The time had finally come to fuck the vendor. But first, that little brown hole needed to be opened up. With the help of lubricant, you begin working it open — first one finger, then several — while he moans and moans.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex3.webm" type="video/webm"></video></center>
"Put it in, please," the young man begs, and you don't make him suffer any longer. You line yourself up against his hole and start pushing in, sending waves of pleasure crashing through him.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex4.webm" type="video/webm"></video></center>
You fuck him for several minutes, filling your room with moans and words muttered in a language you can't quite make out. You soon feel you can't hold back any longer, so without pulling out, you empty yourself deep inside him, while he strokes himself to his own finish all over your bed.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/desisexysex5.webm" type="video/webm"></video></center>
Afterwards you say your goodbyes, hoping to meet up again through the app. This boy is going to be very popular on Gaynear.
[[Continue|habitacionsergio]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
Tu próxima pareja sexual te contesta enseguida: "Estoy a diez minutos de tu casa, ¿podemos quedar ahora?" Le respondes que sí, y en menos de ese tiempo ya lo tienes en tu puerta. Es mucho más guapo en persona, y te sonríe con una mezcla de ternura y vicio que te vuelve loco. Mientras se desnuda ante ti te pregunta "¿Qué quieres que te haga?", y tú solo te bajas los pantalones, mostrándole tu pene preparado, que él comienza a mamar.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex1.webm" type="video/webm"></video></center>
No puedes creer cómo este tío, hetero hace apenas unos días, puede hacer una felación tan buena. Decides que quieres comerle el culo, así que lo colocas sobre el sofá y comienzas a devorar su agujero mientras el músico abre más las piernas para facilitarte el trabajo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex2.webm" type="video/webm"></video></center>
Su culo ya está preparado, así que, tras lubricarte bien la polla, se la metes poco a poco pero sin detenerte, ensanchando sus paredes mientras el músico jadea y gime a partes iguales.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex3.webm" type="video/webm"></video></center>
Cambias varias veces de postura. Él se sube encima tuya y cabalga un rato, pero lo que más le gusta es sentir cómo entra y sale tu miembro de su interior. Abierto y hermoso como ninguno, te pide que se la metas y se la saques, y tú, claramente, no puedes negarle nada.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex4.webm" type="video/webm"></video></center>
Pero todo lo bueno debe acabar. Sorprendentemente, es tu pareja quien se corre antes, incapaz de aguantar más el placer que le estás dando. Su polla salpica su pecho fibroso y blanco, tiñéndolo de más blanco aún. Tú la sacas y haces lo mismo, mezclando vuestros espermas y finalizando el encuentro con un apasionado beso.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex5.webm" type="video/webm"></video></center>
Sabes que Gaynear, y tú al convertir a este joven en un nuevo adorador, habéis hecho un bien a la sociedad. Sin duda, ese chaval ha nacido para ser follado.
[[Continuar|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
Your next sexual partner replies almost immediately: "I'm ten minutes from your place, can we meet now?" You say yes, and in less than that time he's already at your door. He's much more attractive in person, and he smiles at you with a mix of tenderness and lust that drives you crazy. As he undresses in front of you he asks "What do you want me to do?", and you simply pull your trousers down, showing him your ready cock, which he immediately starts to suck.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex1.webm" type="video/webm"></video></center>
You can't believe how this guy, straight just days ago, can give such a good blowjob. You decide you want to eat his arse, so you position him on the sofa and start devouring his hole while the musician spreads his legs wider to make it easier for you.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex2.webm" type="video/webm"></video></center>
His arse is ready now, so after lubing yourself up well you push inside him slowly but without stopping, stretching his walls while the musician pants and moans in equal measure.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex3.webm" type="video/webm"></video></center>
You switch positions several times. He climbs on top and rides you for a while, but what he loves most is feeling your cock sliding in and out of him. Open and beautiful like no one else, he begs you to keep going, and you, clearly, can't deny him anything.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex4.webm" type="video/webm"></video></center>
But all good things must come to an end. Surprisingly, it's your partner who comes first, unable to hold back the pleasure you're giving him any longer. His cock splashes across his toned white chest, painting it even whiter. You pull out and do the same, mixing your loads together and finishing the encounter with a passionate kiss.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/musicloversex5.webm" type="video/webm"></video></center>
You know that Gaynear, and you by turning this young man into a new worshipper, have done society a favour. Without a doubt, that lad was born to be fucked.
[[Continue|habitacionsergio]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
"Mi mujer ha salido con unas amigas, ven a mi casa." Te responde José Manuel junto a una dirección cercana a donde vives. El oso te abre la puerta solo en ropa interior, mostrando su cuerpo fornido y ancho. "Acompáñame", dice, y al girarse puedes ver que lo que lleva en realidad es un jockstrap, mostrándote un culo grande y recubierto de vello castaño.
En su habitación no tarda en desnudarte y lanzarse a tu polla, que ya tienes dura. Mientras te la come, puedes ver detrás de él la foto de su boda, con menos peso y sonriente. Podrías sentirte culpable si no fuera por lo bien que te la está comiendo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex1.webm" type="video/webm"></video></center>
Tras varios minutos de felación, el cuarentón se detiene y, aún de rodillas, te dice: "Vas a follar tú, ¿lo entiendes?" Tú asientes en silencio, y él se tumba sobre la cama, abre las piernas y te expone su ano. "Pues entonces lubríname el culo." Corres a cumplir sus órdenes y pasas tu lengua por ese orificio rodeado de vello corto y olor a hombre.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex4.webm" type="video/webm"></video></center>
"Túmbate", te ordena de nuevo, cuando notas que tu lengua podría entrar hasta el mismísimo duodeno. Como antes, te muestras sumiso. Entonces él se coloca sobre ti y, dirigiendo tu polla a su agujero, comienza a metérsela. Sientes que su peso podría aplastarte, pero el hombre controla sus movimientos y enseguida está botando sobre tu miembro, abrazándolo con sus paredes.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex2.webm" type="video/webm"></video></center>
"Ahora fóllame tú, cabrón", te dice, y vuelve a colocarse sobre la cama con las piernas abiertas. Tú te colocas entre ellas y, al introducirte de nuevo en su interior, este te apresa con sus anchos muslos, haciendo que apenas puedas moverte. Aun así continúas, pues la cara de placer del cuarentón es más que un aliciente para ti.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex3.webm" type="video/webm"></video></center>
"Joder, qué bien follas. Menuda polla tienes", te dice entre embestidas, y es el momento en que tú tomas las riendas. Le follas más rápido y más duro, agarrándole los pectorales y los michelines, haciéndole abrir la boca para besársela. Sus piernas tiemblan, su jockstrap, incapaz de encerrar su miembro duro, está ya totalmente húmedo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex5.webm" type="video/webm"></video></center>
Entonces llega el final. Te corres dentro del hombre bramando, como si hubieras marcado un gol o alcanzado por fin una cima. Tras acabar, José Manuel te despide fríamente con un "Mi mujer vendrá pronto". Sabes que volverás a verle, y sabes que otros hombres de la ciudad dejarán ese enorme culo como un colador. Y por eso sabes que has hecho bien en convertirle en un adorador.
[[Continuar|Exterior]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
"My wife's out with some friends, come over." José Manuel replies with an address close to where you live. The bear opens the door wearing only underwear, showing off his stocky, broad body. "Come with me," he says, and as he turns around you can see he's actually wearing a jockstrap, presenting you with a large arse covered in brown hair.
In his bedroom he wastes no time undressing you and going for your cock, which is already hard. While he sucks you off you can see his wedding photo behind him — slimmer and smiling. You might feel guilty if he weren't doing such a good job.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex1.webm" type="video/webm"></video></center>
After several minutes of oral, the forty-something stops and, still on his knees, tells you: "You're going to do the fucking, understood?" You nod in silence, and he lies back on the bed, spreads his legs and exposes his hole. "Then lube up my arse." You rush to follow his orders, running your tongue over that opening surrounded by short hair and the smell of man.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex4.webm" type="video/webm"></video></center>
"Lie down," he orders again, just as you feel your tongue could reach his very duodenum. As before, you comply. He then positions himself on top of you and, guiding your cock to his hole, begins to take it in. You feel like his weight might crush you, but the man controls his movements and soon he's bouncing on your cock, gripping it with his walls.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex2.webm" type="video/webm"></video></center>
"Now you fuck me, bastard," he says, and positions himself back on the bed with his legs open. You get between them and, as you push back inside him, he traps you with his thick thighs, barely letting you move. You keep going anyway, because the look of pleasure on the forty-something's face is more than enough motivation.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex3.webm" type="video/webm"></video></center>
"Fuck, you're good. What a cock you've got," he says between thrusts, and that's when you take control. You fuck him faster and harder, grabbing his pecs and his love handles, pulling his mouth open to kiss him. His legs tremble, his jockstrap — unable to contain his hard cock — is already completely soaked.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/josemanuelsex5.webm" type="video/webm"></video></center>
Then the end comes. You finish inside him with a roar, as if you'd scored a goal or finally reached a summit. Afterwards, José Manuel gives you a cold send-off: "My wife will be home soon." You know you'll see him again, and you know other men in the city will leave that enormous arse in pieces. And that's exactly why you know you did right in making him a worshipper.
[[Continue|Exterior]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
"Quiero ser tu amo", le escribes, esperanzado de que conteste, y tras menos de cinco minutos te envía lo que crees que es la foto de su culo y una simple frase: "¿Dónde vives?" Le das la dirección y antes de que pasen diez minutos ya está llamando a tu puerta.
El chico es enorme, rubio y guapo, y ha traído consigo unas cuerdas. "Átame", te pide con la cabeza gacha, y tú primero le besas para, luego, cumplir su fantasía. Desnudo y a tu merced, disfrutas de su cuerpo trabajado en el gimnasio. Le lames los pezones, le pasas la mano por los abdominales, le hueles la axila. Su polla, dura por tus caricias, te parece perfecta. Es perfecto, y es todo tuyo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex1.webm" type="video/webm"></video></center>
Pero hay algo de su cuerpo que aún no has probado, y ese es su culo. Das la vuelta a tu premio y no puedes evitar darle un ligero mordisco en una de sus nalgas, grandes y blancas. El leve gemido te anima a morder más y a pasar a su agujero, que relames con gusto mientras el deportista arquea la espalda de placer.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex3.webm" type="video/webm"></video></center>
Entonces le pones de rodillas y acercas tu polla. Te mira en busca de confirmación y asientes con la cabeza. Comienza a comértela como puede, aún atado al cabezal de la cama. Su lengua recorre todo tu mástil y las babas se le caen entre los labios.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex2.webm" type="video/webm"></video></center>
Con la polla bien lubricada, vuelves a colocar a tu deportista sumiso contra la pared. Tu polla entra en su interior con tal facilidad que puedes intuir las decenas de amantes que han pasado por ahí. "Fóllame, amo", te suplica. Y, agarrando con fuerza las cuerdas que recorren su cuerpo, comienzas a bombear con energía.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex4.webm" type="video/webm"></video></center>
Con cada embestida emite un gemido. Está disfrutando, y tú también. Le cambias de posición varias veces. Le colocas de lado e intentas abrazarle mientras le penetras, pero es imposible abarcar toda su envergadura. Te tumbas y te cabalga. Se coloca boca abajo y vuelves a dársela. Le abres las piernas y sigues follándotelo. Su culo es maravilloso.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex5.webm" type="video/webm"></video></center>
Su polla está enorme y palpita. Sientes que no vas a aguantar mucho más y le pides que se masturbe. Quieres verle correrse mientras te lo follas. No tarda demasiado, lo que indica que lo estaba pasando en grande. Tú, en cambio, decides preñarle, dejándole una copiosa descarga en su interior.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex6.webm" type="video/webm"></video></center>
Os fundís en un abrazo y le besas con pasión. "Déjatela hasta que llegues a casa", le dices, sabiendo que no será la primera ni la última vez que ese culazo quede lleno. No te importa compartir al deportista. Gaynear te ha dado un regalo, y es justo que otros hombres disfruten de este adorador.
[[Continuar|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
"I want to be your master," you write, hoping he'll reply, and in less than five minutes he sends you what you think is a photo of his arse and a single line: "Where do you live?" You give him your address and before ten minutes are up he's already knocking at your door.
The guy is enormous, blond and handsome, and he's brought a set of ropes with him. "Tie me up," he asks with his head bowed, and you kiss him first before fulfilling his fantasy. Naked and at your mercy, you enjoy his gym-toned body. You lick his nipples, run your hand over his abs, breathe in the smell of him. His cock, hard from your touch, looks perfect to you. He is perfect, and he's all yours.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex1.webm" type="video/webm"></video></center>
But there's one part of his body you haven't tried yet, and that's his arse. You turn your prize around and can't resist giving one of his large, white cheeks a gentle bite. The soft moan encourages you to bite more and move to his hole, which you lick eagerly while the athlete arches his back in pleasure.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex3.webm" type="video/webm"></video></center>
Then you get him on his knees and bring your cock to his face. He looks up at you for confirmation and you nod. He starts working it as best he can, still tied to the headboard. His tongue runs along your full length and drool drips from his lips.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex2.webm" type="video/webm"></video></center>
With your cock well lubed, you put your submissive athlete back against the wall. You slide inside him with such ease that you can sense the dozens of lovers who've been there before. "Fuck me, master," he begs. And, gripping the ropes wrapped around his body, you start pumping with force.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex4.webm" type="video/webm"></video></center>
With every thrust he lets out a moan. He's enjoying it, and so are you. You change positions several times. You put him on his side and try to wrap your arms around him while you fuck him, but his frame is too big to get a proper hold. You lie back and he rides you. He gets face down and you give it to him again. You spread his legs and keep fucking him. His arse is magnificent.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex5.webm" type="video/webm"></video></center>
His cock is huge and throbbing. You feel you can't hold on much longer and ask him to touch himself. You want to watch him come while you're fucking him. It doesn't take him long, which tells you he was having a great time. You, on the other hand, decide to finish inside him, leaving a generous load deep within.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/runningfitsex6.webm" type="video/webm"></video></center>
You melt into an embrace and kiss him passionately. "Keep it in until you get home," you tell him, knowing it won't be the first or last time that arse ends up full. You don't mind sharing the athlete. Gaynear has given you a gift, and it's only fair that other men get to enjoy this worshipper.
[[Continue|habitacionsergio]]
<</if>>
<<set $notaFrancesco2 to false>>
<<set $notaFrancesco3 to true>>
<<set $RecuerdoFrancesco2 = true>>
<<set $corrupcionFrancesco = 35>>
<<set $semblantechicosexy = true>>
<<set $recuerdosFrancesco += 1>>
<<set $gaynearSelectedProfile = "chicosexy">>
<<if !$sexogaynearfrancescoVisto>>
<<set $sexogaynearfrancescoVisto = true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
"Hola. Me pareces muy guapo. ¿Estás interesado en que quedemos?" Le escribes a Francesco desde el perfil de Tudeseo2002, y cruzas los dedos para que tu semblante sea lo suficientemente atractivo para el italiano. Sorprendentemente, te contesta a los diez minutos con un: "Hola, sí, podría quedar. ¿Vives por aquí cerca?" Sonriente, le vuelves a escribir diciéndole que podrías acercarte a su casa — él no puede entrar a la tuya, obviamente —, y, con ciertos remilgos, accede a quedar. Al llamar al 3A, Francesco te abre la puerta y te mete casi corriendo en su habitación, que cierra enseguida.
"¿Es tu primera vez con un hombre?" Le preguntas, sabiendo la respuesta, y él asiente, cohibido. "No te preocupes", le dices mientras te acercas despacio. "Iremos poco a poco y pararemos cuando tú lo digas."
Entonces empiezas a desvestirte, quedándote solo en ropa interior. Luego haces lo mismo con Francesco, que se retira unos pasos. "No estoy depilado", te asegura, avergonzado, y tú le sonríes. "Justo eso es lo que más me gusta. Túmbate."
Dejándole solo en calzoncillos, comienzas a besarle el pecho velludo, mientras notas la erección que tiene bajo la ropa interior.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco1.webm" type="video/webm"></video></center>
Sigues bajando con tiernos besos y lametones hasta que liberas su polla de su cárcel. Primero la agarras con fuerza para notar su firmeza y, después, te la metes en la boca. Era cierto que jamás había recibido una mamada, porque la cara de placer de Francesco era para enmarcarla.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco2.webm" type="video/webm"></video></center>
"¿Te gusta?", le preguntas mientras vuelves a su rostro. "¿Continuamos?" Como respuesta, el italiano comienza a besarte, y su cálida lengua es toda la confirmación que necesitas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco3.webm" type="video/webm"></video></center>
Embadurnando primero tu agujero y luego su polla, con tranquilidad te subes encima del estudiante. Su polla entra en tu culo y juntos, casi a la vez, lanzáis un gemido al aire. Solo te detienes cuando todo el rabo de Francesco está dentro de ti. Entonces comienzas a moverte, y él solo dice un "Joder".
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco6.webm" type="video/webm"></video></center>
"¿Te gusta?", vuelves a preguntar, y él, cogiéndote de la cintura, comienza a moverse con más energía. "Es increíble", dice. "Entonces, fóllame", le pides. Con una sonrisa en el rostro, Francesco te agarra y, sin sacársela del culo, te tumba sobre la cama y sigue penetrándote, más rápido y fuerte que antes, con el rostro convertido en una máscara de concentración.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco7.webm" type="video/webm"></video></center>
"Voy a correrme", te avisa, y tanto tú como él comenzáis a masturbaros. Tú eyaculas primero, salpicando tu cuerpo trabajado, mientras él lo hace unos segundos después, sobre tus genitales y tu agujero abierto.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco8.webm" type="video/webm"></video></center>
Os quedáis abrazados un rato hasta que toca despedirse. Francesco te asegura que espera que vuelvas a contactar con él. Tú le contestas que siga con su búsqueda y que disfrute de la vida antes de que sea tarde.
[[Te despides de Francesco|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
"Hi. I think you're really attractive. Would you be interested in meeting up?" You write to Francesco from the Tudeseo2002 profile, fingers crossed that your disguise is attractive enough for the Italian. Surprisingly, he replies within ten minutes: "Hi, yes, I could meet up. Do you live nearby?" Smiling, you write back saying you could come to his place — he obviously can't come to yours — and, after some hesitation, he agrees. When you knock on 3A, Francesco opens the door and practically rushes you into his bedroom, closing it straight away.
"Is this your first time with a man?" you ask, already knowing the answer, and he nods, self-conscious. "Don't worry," you tell him, moving closer slowly. "We'll take it easy and stop whenever you want."
You start undressing, leaving yourself in just underwear. Then you do the same with Francesco, who steps back a little. "I'm not shaved," he tells you, embarrassed, and you smile. "That's exactly what I like most. Lie down."
Leaving him in just his underwear, you start kissing his hairy chest while you feel the erection growing beneath his briefs.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco1.webm" type="video/webm"></video></center>
You keep moving down with tender kisses and licks until you free his cock. First you grip it firmly to feel its hardness, then you take it in your mouth. It was true he'd never had a blowjob before — the look of pleasure on Francesco's face was something to behold.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco2.webm" type="video/webm"></video></center>
"Do you like it?" you ask as you move back up to his face. "Shall we continue?" In response, the Italian starts kissing you, and his warm tongue is all the confirmation you need.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco3.webm" type="video/webm"></video></center>
After lubricating your hole and then his cock, you slowly climb on top of the student. His cock enters you and together, almost simultaneously, you both let out a moan. You only stop when all of Francesco is inside you. Then you start moving, and he simply says "Fuck."
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco6.webm" type="video/webm"></video></center>
"Do you like it?" you ask again, and he grabs your waist and starts moving with more energy. "It's incredible," he says. "Then fuck me," you ask him. With a smile, Francesco grabs you and, without pulling out, lays you down on the bed and keeps going, faster and harder than before, his face a mask of concentration.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco7.webm" type="video/webm"></video></center>
"I'm going to come," he warns you, and both of you start touching yourselves. You come first, splashing across your own body, while he follows seconds later, over your genitals and your open hole.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco8.webm" type="video/webm"></video></center>
You stay in each other's arms for a while until it's time to say goodbye. Francesco assures you he hopes you'll get in touch again. You tell him to keep exploring and enjoy life before it's too late.
[[You say goodbye to Francesco|Rellano del 3º]]
<</if>>
<<else>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
A pesar de que no es vuestro primer encuentro, Francesco responde a tu intento de volver a quedar casi al momento. Llegas lo más rápido posible a su casa, y él te lleva a su habitación sin el nerviosismo de la primera vez. Enseguida estáis los dos desnudos, recorriendo con las manos y la lengua vuestros cuerpos.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco3.webm" type="video/webm"></video></center>
Francesco, ya más desinhibido que cuando os conocisteis, es más activo con tu cuerpo y se lanza a meterse tu polla en la boca. Su inexperiencia es deliciosa.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco4.webm" type="video/webm"></video></center>
"Quiero follarte de nuevo", te dice mientras se saca momentáneamente tu miembro de la boca. "Sí, fóllame", le respondes, y te sorprende que, antes de penetrarte, te abra las piernas y comience a comerte el culo. Sonríes al ver lo mucho que ha cambiado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco5.webm" type="video/webm"></video></center>
Al final te penetra, y tú disfrutas de nuevo de ver su cuerpo sudado por el esfuerzo y las hormonas, y cómo las gotas empapan su pecho velludo. Una visión paradisíaca. Follais hasta que ambos eyaculáis sobre el otro.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco7.webm" type="video/webm"></video></center>
[[Te despides de Francesco|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
Even though it's not your first encounter, Francesco replies to your attempt to meet up again almost immediately. You get to his place as fast as you can, and he takes you straight to his bedroom without the nervousness of the first time. In no time you're both naked, exploring each other's bodies with your hands and tongues.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco3.webm" type="video/webm"></video></center>
Francesco, already less inhibited than when you first met, is more active with your body, eagerly taking your cock in his mouth. His inexperience is delicious.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco4.webm" type="video/webm"></video></center>
"I want to fuck you again," he tells you, momentarily pulling your cock from his mouth. "Yes, fuck me," you reply, and you're surprised when, before entering you, he spreads your legs and starts eating your arse. You smile at how much he's changed.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco5.webm" type="video/webm"></video></center>
Finally he enters you, and you enjoy once again the sight of his body glistening with sweat and desire, droplets soaking his hairy chest. A paradise of a view. You fuck until you both come on each other.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Francesco/gaynearfrancesco7.webm" type="video/webm"></video></center>
[[You say goodbye to Francesco|Rellano del 3º]]
<</if>>
<</if>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Con un chico no cuenta</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Acudiste de nuevo a la fiesta para ver el resultado de los vídeos y las fotos picantes de Francesco. A su prometida no le gustaron, pero sí traspasaron ciertos límites en Francesco. Como su nueva amiga, le sugeriste que perdiera la virginidad con otra persona y, al negarse a ser infiel con una mujer, conseguiste convencerle de que hacerlo con un hombre no contaba como cuernos.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Le creaste un perfil en Gaynear, una aplicación de citas para hombres bastante usada. Luego fabricaste un semblante que cumpliera todo lo que él esperaba de su primera pareja sexual masculina.
</p>
<center><img src="images/Semblantes/chicosexy.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Contactaste con él y aceptó verte. Fuiste a su casa y comenzasteis a tocaros. Él estaba muy tenso, así que tú llevaste la iniciativa.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Primero le hiciste una mamada — la primera de su vida — y por las muecas de placer que ponía era obvio que le encantaba.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Luego te subiste encima de él para que catara, no su primer culo, sino su primera penetración. Cuando la tuvo toda dentro, el italiano comenzó a moverse por su cuenta.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco6.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras casi una hora de sexo, Francesco se corrió sobre tu agujero y tus huevos. La experiencia había sido fantástica, y siempre podrías repetirla volviendo a contactar por Gaynear.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco8.webm" type="video/webm"></video></center>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Francesco" "RecuerdosFrancesco">><</link>>
</div>
<<else>>
<h2 class="fade">🌟 Memory 2: It Doesn't Count With a Guy</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You went back to the party to see the effect of Francesco's spicy photos and videos. His fiancée wasn't pleased, but the material did push certain boundaries in Francesco himself. As his new friend, you suggested he lose his virginity with someone else, and when he refused to cheat with a woman, you managed to convince him that doing it with a man didn't count as cheating.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You created a profile for him on Gaynear, a widely used dating app for men. Then you crafted a disguise that matched everything he could want in his first male sexual partner.
</p>
<center><img src="images/Semblantes/chicosexy.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You got in touch with him and he agreed to meet. You went to his place and you started touching each other. He was very tense, so you took the lead.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
First you gave him a blowjob — his very first — and from the expressions of pleasure on his face it was obvious he loved it.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then you climbed on top of him so he could experience not just his first arse, but his first time penetrating someone. Once he was fully inside, the Italian started moving on his own.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco6.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After nearly an hour of sex, Francesco came over your hole and your balls. The experience had been fantastic, and you could always repeat it by getting in touch again through Gaynear.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Francesco/gaynearfrancesco8.webm" type="video/webm"></video></center>
<div class="choice-container fade">
<<link "⬅️ Back to Francesco's Memories" "RecuerdosFrancesco">><</link>>
</div>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Rebuscas lo más rápidamente posible, evitando que te descubran. Dentro de un cajón ves lo que parece ser un diario. Cómo no, está escrito en alemán, pero parece que se repiten varias veces los nombres de los compañeros de piso de Adler, Sean y Francesco, y algunas veces están tachados, casi con furia.
<<set $diarioadler to true>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
[[Volver a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's Room" />
</div>
You search as quickly as possible, careful not to get caught. Inside a drawer you spot what looks like a diary. Of course, it's written in German — but the names of Adler's flatmates, Sean and Francesco, seem to appear over and over, and some of them are crossed out, almost violently.
<<set $diarioadler to true>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
[[Go back to the party|salon3A]]
<</if>> <<if not $conversacionchicasContada>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
<<set $conversacionchicasContada to true>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("chicasfiesta", {
characters: [
{
id: 'saara',
name: 'Saara',
portrait: 'images/fiestaerasmus/saararetrato.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'emma',
name: 'Emma',
portrait: 'images/fiestaerasmus/emmaretrato.png',
color: '#ff69b4',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: '¿Habéis visto a ese chico gordito de la esquina? El del bigote. ¿Quién es?' },
{ speaker: 'saara', text: '¿Ese? Es Adler, el compañero de piso de Sean.' },
{ speaker: 'sergio', text: 'Es muy mono, ¿no?' },
{ speaker: 'emma', text: 'Es muy aburrido. Siempre acompaña a Sean, pero en segundo plano.' },
{ speaker: 'sergio', text: '¿Que no son amigos?' },
{ speaker: 'saara', text: '<em>Lanza una risita.</em> ¡Sí, claro! Son muy amigos, pero nadie puede eclipsar a Sean. ¡Es el alma de todas las fiestas!' },
{ speaker: 'emma', text: 'Tiene mucho carisma. Y es guapísimo.' },
{ speaker: 'sergio', text: '¿Entonces Sean siempre eclipsa a Adler?' },
{ speaker: 'saara', text: 'Normal. Y... <em>Se calla de repente.</em>' },
{ speaker: 'sergio', text: '¿Qué pasa?' },
{ speaker: 'emma', text: 'Venga, díselo, chismosa.' },
{ speaker: 'saara', text: 'Pues que yo sepa, Sean le ha robado dos chicas que estaban conociendo a Adler.' },
{ speaker: 'emma', text: 'Una de ellas ya era novia oficial. Llevaban tres meses juntos.' },
{ speaker: 'sergio', text: '¿Y eso no le enfadó?' },
{ speaker: 'saara', text: '¡Qué va! Todo el mundo conoce lo mujeriego que es Sean.' },
{ speaker: 'emma', text: 'Además, estaba borracho.' },
{ speaker: 'sergio', text: 'Ya, claro.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.conversacionchicas = true;
Engine.play('salon3A');
}
}
] // 17
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("chicasfiesta", {
characters: [
{
id: 'saara',
name: 'Saara',
portrait: 'images/fiestaerasmus/saararetrato.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'emma',
name: 'Emma',
portrait: 'images/fiestaerasmus/emmaretrato.png',
color: '#ff69b4',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Have you seen that chubby guy in the corner? The one with the moustache. Who is he?' },
{ speaker: 'saara', text: 'Him? That\'s Adler, Sean\'s flatmate.' },
{ speaker: 'sergio', text: 'He\'s cute, isn\'t he?' },
{ speaker: 'emma', text: 'He\'s so boring. He\'s always tagging along with Sean, but always in the background.' },
{ speaker: 'sergio', text: 'So they\'re not friends?' },
{ speaker: 'saara', text: '<em>Lets out a little laugh.</em> Of course they are! They\'re great friends, but nobody can outshine Sean. He\'s the life of every party!' },
{ speaker: 'emma', text: 'He has so much charisma. And he\'s gorgeous.' },
{ speaker: 'sergio', text: 'So Sean always overshadows Adler?' },
{ speaker: 'saara', text: 'Obviously. And... <em>She suddenly goes quiet.</em>' },
{ speaker: 'sergio', text: 'What\'s wrong?' },
{ speaker: 'emma', text: 'Go on, tell him, you gossip.' },
{ speaker: 'saara', text: 'From what I know, Sean has stolen two girls from Adler while he was getting to know them.' },
{ speaker: 'emma', text: 'One of them was already his official girlfriend. They\'d been together for three months.' },
{ speaker: 'sergio', text: 'And that didn\'t make him angry?' },
{ speaker: 'saara', text: 'Not at all! Everyone knows how much of a womanizer Sean is.' },
{ speaker: 'emma', text: 'Besides, he was drunk.' },
{ speaker: 'sergio', text: 'Yeah, sure.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[], // 15
[], // 16
[
{
text: 'You head back to the party',
action: function() {
State.variables.conversacionchicas = true;
Engine.play('salon3A');
}
}
] // 17
]
})>>
<</if>><<if not $conversacionseanadlerContada>>
<<set $conversacionseanadlerContada to true>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("seanfiesta", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, ¿conoces a ese chico de ahí, el del bigote?' },
{ speaker: 'sean', text: '¿Adler? Es mi compañero de piso.' },
{ speaker: 'sergio', text: '¿Qué sabes de él?' },
{ speaker: 'sean', text: '¿Te gusta? ¡Pero si es muy aburrido! Ven, déjame que te ponga una copa y charlamos un rato.' },
{ speaker: 'sean', text: '<em>No está interesado en hablar de Adler, sino más bien en tus encantos.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.conversacionseanadler = true;
Engine.play('salon3A');
}
}
] // 5
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("seanfiesta", {
characters: [
{
id: 'sean',
name: 'Sean',
portrait: 'images/Sean/sean.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey, do you know that guy over there, the one with the moustache?' },
{ speaker: 'sean', text: 'Adler? He\'s my flatmate.' },
{ speaker: 'sergio', text: 'What do you know about him?' },
{ speaker: 'sean', text: 'You like him? He\'s so boring! Come on, let me get you a drink and we\'ll chat for a bit.' },
{ speaker: 'sean', text: '<em>He\'s not interested in talking about Adler — he\'s far more interested in you.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[
{
text: 'You head back to the party',
action: function() {
State.variables.conversacionseanadler = true;
Engine.play('salon3A');
}
}
] // 5
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("jakubfiesta", {
characters: [
{
id: 'jakub',
name: 'Jakub',
portrait: 'images/fiestaerasmus/jakubretrato.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: '¿Conoces a ese chico de ahí, el del bigote?' },
{ speaker: 'jakub', text: '¿Ese? No tengo ni idea de quién es.' },
{ speaker: 'sergio', text: '¿No lo conoces de nada?' },
{ speaker: 'jakub', text: 'Para nada. No creo que lo haya visto antes. ¿Por qué, te interesa?' },
{ speaker: 'sergio', text: 'Solo curiosidad.' },
{ speaker: 'jakub', text: '<em>Se encoge de hombros y le da un sorbo a su copa.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.conversacionjakubadler = true;
Engine.play('salon3A');
}
}
] // 6
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("jakubfiesta", {
characters: [
{
id: 'jakub',
name: 'Jakub',
portrait: 'images/fiestaerasmus/jakubretrato.png',
color: '#e67e22',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Do you know that guy over there, the one with the moustache?' },
{ speaker: 'jakub', text: 'Him? I have no idea who he is.' },
{ speaker: 'sergio', text: 'You don\'t know him at all?' },
{ speaker: 'jakub', text: 'Not at all. I don\'t think I\'ve seen him before. Why, are you interested?' },
{ speaker: 'sergio', text: 'Just curious.' },
{ speaker: 'jakub', text: '<em>He shrugs and takes a sip of his drink.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You head back to the party',
action: function() {
State.variables.conversacionjakubadler = true;
Engine.play('salon3A');
}
}
] // 6
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("gabinfiesta", {
characters: [
{
id: 'gabin',
name: 'Gabin',
portrait: 'images/fiestaerasmus/gavinretrato.png',
color: '#9b59b6',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: '¿Conoces a ese chico de ahí, el del bigote?' },
{ speaker: 'gabin', text: 'Sí, un poco. Es compañero de piso de Sean y Francesco.' },
{ speaker: 'sergio', text: '¿Sabes algo más de él?' },
{ speaker: 'gabin', text: 'No mucho más, la verdad. Ellos dos te podrán contar bastante más que yo.' },
{ speaker: 'sergio', text: 'Entendido, gracias.' },
{ speaker: 'gabin', text: '<em>Asiente y le da un trago a su bebida.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.conversaciongabinadler = true;
Engine.play('salon3A');
}
}
] // 6
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("gabinfiesta", {
characters: [
{
id: 'gabin',
name: 'Gabin',
portrait: 'images/fiestaerasmus/gavinretrato.png',
color: '#9b59b6',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Do you know that guy over there, the one with the moustache?' },
{ speaker: 'gabin', text: 'Yeah, a little. He\'s Sean and Francesco\'s flatmate.' },
{ speaker: 'sergio', text: 'Do you know anything else about him?' },
{ speaker: 'gabin', text: 'Not much more, honestly. Those two will be able to tell you a lot more than I can.' },
{ speaker: 'sergio', text: 'Got it, thanks.' },
{ speaker: 'gabin', text: '<em>He nods and takes a sip of his drink.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You head back to the party',
action: function() {
State.variables.conversaciongabinadler = true;
Engine.play('salon3A');
}
}
] // 6
]
})>>
<</if>><<if not $conversacionemiladlerContada>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
<<set $conversacionemiladlerContada to true>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("emilfiesta", {
characters: [
{
id: 'emil',
name: 'Emil',
portrait: 'images/fiestaerasmus/emilretrato.png',
color: '#3498db',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: '¿Conoces a ese chico de ahí, el del bigote?' },
{ speaker: 'emil', text: 'Sí, es Adler. Lo conozco del máster.' },
{ speaker: 'sergio', text: '¿Sabes algo de él?' },
{ speaker: 'emil', text: 'Algo sé, sí. Tuvo un problema gordo con unos compañeros hace unos meses.' },
{ speaker: 'sergio', text: '¿Qué tipo de problema?' },
{ speaker: 'emil', text: 'Al parecer, unos apuntes que compartió con el grupo estaban manipulados. Errores que no eran accidentales.' },
{ speaker: 'sergio', text: '¿Manipulados? ¿Por qué haría eso?' },
{ speaker: 'emil', text: 'Nadie lo sabe con certeza. Pero también se rumoreó que entregó un trabajo incorrecto a propósito en nombre del grupo.' },
{ speaker: 'sergio', text: '¿Y no hubo consecuencias?' },
{ speaker: 'emil', text: 'Nunca se pudo demostrar nada. Adler se hizo el despistado y todo quedó en nada. <em>Baja la voz.</em> Pero los que lo vivieron no lo olvidaron.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.conversacionemiladler = true;
Engine.play('salon3A');
}
}
] // 10
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("emilfiesta", {
characters: [
{
id: 'emil',
name: 'Emil',
portrait: 'images/fiestaerasmus/emilretrato.png',
color: '#3498db',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Do you know that guy over there, the one with the moustache?' },
{ speaker: 'emil', text: 'Yeah, that\'s Adler. I know him from the master\'s programme.' },
{ speaker: 'sergio', text: 'Do you know anything about him?' },
{ speaker: 'emil', text: 'A thing or two, yes. He had a serious falling out with some classmates a few months ago.' },
{ speaker: 'sergio', text: 'What kind of problem?' },
{ speaker: 'emil', text: 'Apparently, some notes he shared with the group had been tampered with. Mistakes that were no accident.' },
{ speaker: 'sergio', text: 'Tampered with? Why would he do that?' },
{ speaker: 'emil', text: 'Nobody knows for sure. But there were also rumours that he deliberately submitted an incorrect assignment on behalf of the group.' },
{ speaker: 'sergio', text: 'And there were no consequences?' },
{ speaker: 'emil', text: 'Nothing was ever proven. Adler played dumb and the whole thing just faded away. <em>He lowers his voice.</em> But those who went through it never forgot.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[
{
text: 'You head back to the party',
action: function() {
State.variables.conversacionemiladler = true;
Engine.play('salon3A');
}
}
] // 10
]
})>>
<</if>><<if not $conversacionfrancescoadlerContada>>
<<set $investigacionadler to ($investigacionadler || 0) + 1>>
<<set $conversacionfrancescoadlerContada to true>>
<</if>>
<<run setup.gameTime.addMinutes(15)>>
<<if $idioma is "es">>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, perdona que te moleste, pero quería preguntarte por ese chico de la esquina. El que está solo.' },
{ speaker: 'francesco', text: 'Es Adler, mi compañero de piso. ¿Te interesa?' },
{ speaker: 'sergio', text: 'La verdad es que sí. ¿Qué puedes decirme de él?' },
{ speaker: 'francesco', text: 'Es muy buen amigo y sabe escuchar. Cuando he tenido problemas con mi novia siempre acudo a él. Mira, el otro día...' },
{ speaker: 'sergio', text: '<em>Comienza a contarte un problema personal. Te das cuenta de que es bastante pesado e insistente.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.conversacionfrancescoadler = true;
Engine.play('salon3A');
}
}
] // 5
]
})>>
<<else>>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("Francesco", {
characters: [
{
id: 'francesco',
name: 'Francesco',
portrait: 'images/Francesco/francesco.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hi, sorry to bother you, but I wanted to ask you about that guy in the corner. The one standing alone.' },
{ speaker: 'francesco', text: 'That\'s Adler, my flatmate. Are you interested in him?' },
{ speaker: 'sergio', text: 'Actually, yes. What can you tell me about him?' },
{ speaker: 'francesco', text: 'He\'s a great friend and a good listener. Whenever I\'ve had trouble with my girlfriend I always go to him. Just the other day...' },
{ speaker: 'sergio', text: '<em>He starts telling you about a personal problem. You realise he\'s quite tiresome and insistent.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[
{
text: 'You head back to the party',
action: function() {
State.variables.conversacionfrancescoadler = true;
Engine.play('salon3A');
}
}
] // 5
]
})>>
<</if>><<if $bebidascargadas>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, ¿qué haces aquí solo?' },
{ speaker: 'adler', text: '<em>Te mira sorprendido.</em> Estoy pensando, en mis cosas...' },
{ speaker: 'sergio', text: 'Te he traído una bebida, que parece que la tuya se ha acabado.' },
{ speaker: 'adler', text: 'Sí, claro.' },
{ speaker: 'adler', text: '<em>Charláis de nada en específico mientras observas cómo se toma el cubata cargado.</em>' },
{ speaker: 'adler', text: 'Pues sí que es una fiesta divertida. <em>Lo notas borracho.</em>' },
{ speaker: 'sergio', text: 'He conocido a tus compañeros de piso. Menudos imbéciles.' },
{ speaker: 'adler', text: '¿Qué?' },
{ speaker: 'sergio', text: 'El italiano no ha parado de hablarme de su novia y de sus problemas. ¡Menuda chapa me ha dado!' },
{ speaker: 'adler', text: '<em>Te observa en silencio.</em>' },
{ speaker: 'sergio', text: 'Y en cuanto a Sean... ¡No ha parado de intentar ligar conmigo! Eso mientras no paraba de beber. ¡Son unos capullos!' },
{ speaker: 'adler', text: 'Sí, son unos capullos.' },
{ speaker: 'sergio', text: '¿No has pensado en hacerles una broma o algo así? Para bajarles los humos.' },
{ speaker: 'adler', text: '¿Una broma?' },
{ speaker: 'sergio', text: 'Sí, una broma. Te habrán hecho varias ellos, seguro. Sígueme y a ver cómo podemos joderles. Solo un poquito...' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[
{
text: 'Asiente y te sigue',
action: function() {
State.variables.adlertesigue = true;
State.variables.bebidascargadas = false;
Engine.play('salon3A');
}
}
] // 15
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey, what are you doing here alone?' },
{ speaker: 'adler', text: '<em>He looks at you, surprised.</em> Just thinking. About my things...' },
{ speaker: 'sergio', text: 'I brought you a drink — looks like yours ran out.' },
{ speaker: 'adler', text: 'Oh, sure. Thanks.' },
{ speaker: 'adler', text: '<em>You chat about nothing in particular as you watch him down the loaded drink.</em>' },
{ speaker: 'adler', text: 'This is actually a pretty fun party. <em>You can tell he\'s drunk.</em>' },
{ speaker: 'sergio', text: 'I met your flatmates. What a pair of idiots.' },
{ speaker: 'adler', text: 'What?' },
{ speaker: 'sergio', text: 'The Italian wouldn\'t stop going on about his girlfriend and his problems. He was unbearable!' },
{ speaker: 'adler', text: '<em>He watches you in silence.</em>' },
{ speaker: 'sergio', text: 'And as for Sean... he kept trying to hit on me the whole time, all while he couldn\'t stop drinking. They\'re both idiots!' },
{ speaker: 'adler', text: 'Yeah, they\'re idiots.' },
{ speaker: 'sergio', text: 'Haven\'t you thought about playing a prank on them? Just to take them down a peg.' },
{ speaker: 'adler', text: 'A prank?' },
{ speaker: 'sergio', text: 'Yeah, a prank. I\'m sure they\'ve pulled plenty on you. Follow me and let\'s see how we can mess with them. Just a little...' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[
{
text: 'He nods and follows you',
action: function() {
State.variables.adlertesigue = true;
State.variables.bebidascargadas = false;
Engine.play('salon3A');
}
}
] // 15
]
})>>
<</if>>
<<else>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, ¿qué haces aquí solo?' },
{ speaker: 'adler', text: '<em>Te mira sorprendido.</em> Estoy pensando, en mis cosas.' },
{ speaker: 'sergio', text: 'Bueno, ¿qué piensas de tus compañeros de piso? Son bastante imbéciles, ¿no?' },
{ speaker: 'adler', text: '¿Pero qué dices?' },
{ speaker: 'sergio', text: 'Pues que...' },
{ speaker: 'adler', text: 'Mira, no hables mal de mis amigos.' },
{ speaker: 'sergio', text: '<em>Sigue interpretando su papel. Quizá debo hacerle más sugestionable.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'Le dejas solo',
action: function() {
Engine.play('salon3A');
}
}
] // 7
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey, what are you doing here alone?' },
{ speaker: 'adler', text: '<em>He looks at you, surprised.</em> Just thinking. About my things.' },
{ speaker: 'sergio', text: 'So, what do you think of your flatmates? They\'re pretty insufferable, aren\'t they?' },
{ speaker: 'adler', text: 'What are you talking about?' },
{ speaker: 'sergio', text: 'Well...' },
{ speaker: 'adler', text: 'Look, don\'t talk badly about my friends.' },
{ speaker: 'sergio', text: '<em>You keep playing your role. Maybe I need to make him more suggestible first.</em>' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[
{
text: 'You leave him alone',
action: function() {
Engine.play('salon3A');
}
}
] // 7
]
})>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Entráis a la habitación de Francesco, escabulléndoos de los asistentes de la fiesta. Con una sonrisa, miráis alrededor para ver qué podíais hacer para gastarle una broma de mal gusto al pesado de Francesco.
"¿Qué es lo que le gusta más en el mundo, a excepción de su novia?" — preguntas.
"Su ropa" — afirma Adler al momento. "Está muy orgulloso de su ropa de marca."
Abrís el armario y veis, perfectamente ordenadas, varias prendas de ropa de marca, tanto camisetas como pantalones. El vestuario del italiano debe de valer casi mil euros.
"Mánchalas" — le sugieres. "De algo que luego pueda irse con un lavado, pero que sea degradante. ¡Ya lo sé! ¡Córrete en ellas!"
"¿Cómo?" — te pregunta Adler, cuyos ojos se le entrecierran por el alcohol.
"¡Es una idea genial! Venga, no seas tímido."
Confuso al principio, y tras unos segundos en los que piensas que no va a atreverse, Adler al fin zarandea su cabeza en una extraña afirmación. Luego comienza a desprenderse de toda su ropa, mostrando que su polla, de gran tamaño, ya estaba dura y preparada. Con la puerta del armario abierta, empieza a masturbarse.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Adler/adlerpajaropa.webm" type="video/webm"></video></center>
Tú, vigilando que nadie entre por la puerta, no tardas en ver cómo el alemán libera toda su frustración y su ira sobre el italiano, dejando toda su ropa de marca salpicada de semen.
<center><img src="images/Adler/ropafrancesco.png" width="400"></center>
"Ya verás cuando lo descubra. Seguro que se pone a gritar."
<<set $bromafrancesco to true>>
Adler te sonríe, siguiéndote la broma, y, vestido de nuevo, salís de la habitación.
[[Volver a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's Room" />
</div>
You slip into Francesco's room, sneaking away from the party guests. With a grin, you both look around to see what you could do to play a tasteless prank on the insufferable Francesco.
"What does he love most in the world, besides his girlfriend?" you ask.
"His clothes," Adler answers immediately. "He's incredibly proud of his designer wardrobe."
You open the wardrobe and find, perfectly arranged, several designer pieces — shirts, trousers, the works. The Italian's wardrobe must be worth nearly a thousand euros.
"Ruin them," you suggest. "With something that'll wash out eventually, but humiliating enough. I know — cum on them!"
"What?" Adler asks, his eyes half-closed from the alcohol.
"It's a brilliant idea! Come on, don't be shy."
Confused at first, and after a few seconds where you think he won't dare, Adler finally shakes his head in a strange sort of agreement. Then he begins to undress, revealing that his cock — impressively large — is already hard and ready. With the wardrobe door open, he starts to stroke himself.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Adler/adlerpajaropa.webm" type="video/webm"></video></center>
You keep watch at the door as you watch the German unleash all his frustration and rage onto the Italian, leaving his entire designer wardrobe splattered with cum.
<center><img src="images/Adler/ropafrancesco.png" width="400"></center>
"Wait until he finds it. He'll absolutely lose it."
<<set $bromafrancesco to true>>
Adler grins at you, playing along, and once dressed again, the two of you slip back out of the room.
[[Back to the party|salon3A]]
<</if>><<set $notaAdler1 to false>>
<<set $notaAdler2 to true>>
<<set $RecuerdoAdler1 to true>>
<<set $corrupcionAdler to 5>>
<<if not $recuerdosAdler>><<set $recuerdosAdler to 0>><</if>>
<<set $recuerdosAdler to $recuerdosAdler + 1>>
<<set $adlerfinalmision1Timestamp to $gameTotalMinutes>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: '¡Ha estado genial! Así aprenderán esos capullos.' },
{ speaker: 'adler', text: 'Sí. Es cierto.' },
{ speaker: 'sergio', text: 'Ha sido muy divertido.' },
{ speaker: 'adler', text: 'Sí.' },
{ speaker: 'adler', text: '<em>De repente se le borra la sonrisa para quedarse muy serio.</em>' },
{ speaker: 'adler', text: 'Además se lo merecían. Creo que voy a acostarme. Me duele mucho la cabeza.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'Te despides de Adler y este entra en su cuarto.',
action: function() {
State.variables.adlertesigue = false;
State.variables.adlerfinalmision1 = true;
Engine.play('salon3A');
}
}
] // 6
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(25)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'That was brilliant! That\'ll teach those idiots.' },
{ speaker: 'adler', text: 'Yeah. It really will.' },
{ speaker: 'sergio', text: 'It was so much fun.' },
{ speaker: 'adler', text: 'Yeah.' },
{ speaker: 'adler', text: '<em>His smile suddenly fades and his expression turns serious.</em>' },
{ speaker: 'adler', text: 'They deserved it anyway. I think I\'m going to bed. My head is killing me.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[
{
text: 'You say goodbye to Adler and he heads to his room.',
action: function() {
State.variables.adlertesigue = false;
State.variables.adlerfinalmision1 = true;
Engine.play('salon3A');
}
}
] // 6
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina3A.png" alt="Cocina" />
</div>
Los dos os metéis en la cocina, donde encima de la mesa hay una gran variedad de bebidas alcohólicas.
"Deberíamos darle a nuestro borracho amigo una bebida especial." — le dices a Adler. "Pongámosle algo en la bebida."
"¡Buena idea!" — te contesta el alemán, con la voz algo afectada por la bebida anterior. "¿Le ponemos picante?"
Le lanzas la mirada más pícara que se te ocurre.
"Había pensado en algo más vergonzoso. Córrete en su vaso. Yo lo grabo y luego, cuando se lo beba, se lo mostramos."
Enseguida sonrió ante la broma pesada. Cerrando la puerta de la cocina, Adler se desnudó y comenzó a acariciar su polla, que pronto estuvo dura y empalmada. Tras unos minutos, y dejando el vaso sobre la mesa, te avisa que va a correrse. Grabas perfectamente la escena, y la bebida queda rebosante de un dedo de esperma.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Adler/adlerpajacocina.webm" type="video/webm"></video></center>
Salís de la cocina y os dirigís directamente al irlandés. Este acepta la copa sin problema y le da dos largos tragos. Cuando está por menos de la mitad, Adler se le acerca y le muestra el vídeo que tú antes le enviaste. Algunas chicas de la fiesta se acercan a verlo también. Cuando descubre lo que ha pasado, Sean escupe la bebida y el resto del salón estalla en carcajadas.
<center><img src="images/Adler/adleryseansorpresa.png" width="500"></center>
"¡Qué cabrón, Adler!" — contesta el irlandés. "¡Estás borracho!"
<<set $bromasean to true>>
[[Volver a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina3A.png" alt="Kitchen" />
</div>
The two of you slip into the kitchen, where a wide variety of alcoholic drinks are spread across the table.
"We should give our drunk friend a special drink." — you tell Adler. "Let's put something in it."
"Great idea!" — the German replies, his voice slightly slurred from the drinks before. "Should we add hot sauce?"
You give him the most mischievous look you can manage.
"I was thinking something more humiliating. Cum in his glass. I'll record it, and when he drinks it, we'll show him the footage."
He grinned immediately at the crude prank. Closing the kitchen door, Adler undressed and began stroking his cock, which quickly grew hard and ready. After a few minutes, setting the glass on the table, he warns you he's about to finish. You capture the whole scene perfectly on camera, and the drink is left overflowing with a thick layer of cum.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Adler/adlerpajacocina.webm" type="video/webm"></video></center>
You leave the kitchen and head straight for the Irishman. He takes the glass without a second thought and downs two long gulps. When it's less than half full, Adler approaches and shows him the video you'd sent him earlier. A few girls from the party gather around to watch. When Sean realises what's happened, he spits out the drink and the whole living room erupts in laughter.
<center><img src="images/Adler/adleryseansorpresa.png" width="500"></center>
"You bastard, Adler!" — the Irishman manages. "You're drunk!"
<<set $bromasean to true>>
[[Back to the party|salon3A]]
<</if>><<if $idioma is "es">>
<div class="header-image">
<img src="images/Adler/adler.png" alt="Adler">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Adler</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosAdler>></strong> recuerdo<<if $recuerdosAdler > 1>>s<</if>> especial<<if $recuerdosAdler > 1>>es<</if>> con Adler.
</p>
<<else>>
<div class="header-image">
<img src="images/Adler/adler.png" alt="Adler">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Adler</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosAdler>></strong> special memor<<if $recuerdosAdler > 1>>ies<<else>>y<</if>> with Adler.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoAdler1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: Unas graciosas bromas.</h3>
<p>Convenciste a Adler de gastarle unas bromas a sus compañeros de piso.</p>
<<else>>
<h3>Memory 1: A few tasteless pranks.</h3>
<p>You convinced Adler to play some pranks on his flatmates.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdler1">><</link>>
<<else>>
<<link "View →" "RecuerdoAdler1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdler2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: La primera venganza.</h3>
<p>Manipulaste a Adler para que se vengara de uno de sus conocidos.</p>
<<else>>
<h3>Memory 2: The first revenge.</h3>
<p>You manipulated Adler into taking revenge on one of his acquaintances.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdler2">><</link>>
<<else>>
<<link "View →" "RecuerdoAdler2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdler3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Confidencias nocturnas.</h3>
<p>Una conversación íntima revela más de lo esperado...</p>
<<else>>
<h3>Memory 3: Night confidences.</h3>
<p>An intimate conversation reveals more than expected...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdler3">><</link>>
<<else>>
<<link "View →" "RecuerdoAdler3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdler4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Cruzando límites.</h3>
<p>El día que todo cambió entre vosotros...</p>
<<else>>
<h3>Memory 4: Crossing boundaries.</h3>
<p>The day everything changed between you...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdler4">><</link>>
<<else>>
<<link "View →" "RecuerdoAdler4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoAdler5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Entrega total.</h3>
<p>El momento más intenso con Adler...</p>
<<else>>
<h3>Memory 5: Total surrender.</h3>
<p>The most intense moment with Adler...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoAdler5">><</link>>
<<else>>
<<link "View →" "RecuerdoAdler5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">><</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">><</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon {
font-size: 2em;
}
.recuerdo-box-content h3 {
font-size: 1.1em;
}
.recuerdo-box-btn a {
width: 100%;
padding: 12px 20px;
}
}
</style><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 1: Unas graciosas bromas</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
El primer obstáculo para corromper a Adler era saber más de él. Para ello, debías colarte en la fiesta que todos los viernes celebran en su piso los estudiantes de Erasmus. Usaste el semblante de una chica atractiva, simpática y sexy a la que no pudieron negarle la entrada.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Ya dentro, solo había que descubrir qué había tras esa eterna sonrisa. La app de visión sexual te mostró que, además de tener una polla bien grande, Adler escondía una rabia contra sus compañeros de piso. Datos que se comprobaron en el propio diario del alemán en su cuarto. Razones no le faltaban. Hablar un rato con Francesco te enseñó lo egolatra que era, y un par de chicas de la fiesta te dijeron que Sean le había robado varias novias. Finalmente, otro fiestero te dijo que Adler había estado metido en trifulcas con otros estudiantes, por lo que no sería difícil manipularle para que lo repitiera.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras una copa bien cargada para liberar al verdadero Adler, le convenciste de hacerle unas "pequeñas bromas" a sus compañeros de piso. A Francesco, estiloso milanés, Adler le vació el contenido de sus testículos en su ropa de marca.
</p>
<center><img src="images/Adler/ropafrancesco.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
En cuanto a Sean, gran bebedor, le disteis una bebida bien repleta de un extra de leche alemana. Para ello, Adler se masturbó con ganas en la cocina mientras tú grababas la escena.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adlerpajacocina.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras beberse casi todo el cubata, Adler le mostró el vídeo ante un salón lleno de gente, que estalló en carcajadas por la broma.
</p>
<center><img src="images/Adler/adleryseansorpresa.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Parecía que no era gran cosa, pero esos pequeños actos de venganza serían los primeros pasos de algo más grande.
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Adler" "RecuerdosAdler">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 1: A few tasteless pranks</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
The first obstacle in corrupting Adler was learning more about him. To do that, you needed to sneak into the party that the Erasmus students throw every Friday at his flat. You used the appearance of an attractive, charming and sexy girl they couldn't possibly turn away at the door.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Once inside, all that remained was to discover what lay behind that permanent smile. The sexual vision app revealed that, on top of being impressively well-endowed, Adler was hiding a deep rage towards his flatmates — something confirmed by his own diary, found in his room. He had plenty of reasons. A conversation with Francesco showed you just how self-centred the Italian was, and a couple of girls at the party told you that Sean had stolen several of Adler's girlfriends. On top of that, another partygoer mentioned that Adler had been involved in disputes with other students — which meant manipulating him into doing it again wouldn't be difficult.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After a well-loaded drink to let the real Adler loose, you convinced him to play a few "little pranks" on his flatmates. For Francesco, the stylish Milanese, Adler emptied the contents of his balls all over his designer wardrobe.
</p>
<center><img src="images/Adler/ropafrancesco.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
As for Sean, a notorious heavy drinker, you gave him a drink generously loaded with a little German extra. For that, Adler stroked himself eagerly in the kitchen while you recorded the whole scene.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adlerpajacocina.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After drinking nearly the whole glass, Adler showed him the video in front of a room full of people, who erupted in laughter at the prank.
</p>
<center><img src="images/Adler/adleryseansorpresa.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
It seemed like nothing much at the time — but those small acts of revenge would turn out to be the first steps towards something far greater.
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Adler's Memories" "RecuerdosAdler">><</link>>
</div>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola, Adler. ¿Qué tal estás hoy?' },
{ speaker: 'adler', text: 'Hola. <em>Te mira serio.</em> No tuve que hacer nada de lo de la otra noche.' },
{ speaker: 'sergio', text: '¿Te refieres a las bromas? Venga, esos capullos se lo merecían. No te andes con remilgos ahora. Sé que sabes que era lo justo.' },
{ speaker: 'adler', text: '<em>Silencio tenso.</em>' },
{ speaker: 'sergio', text: 'Además te encantó. Te sentiste poderoso. Les diste a esos imbéciles lo que de verdad se merecían. Y lo has hecho otras veces. Me lo contó ese chico noruego.' },
{ speaker: 'adler', text: '¿Quién eres?' },
{ speaker: 'sergio', text: 'Soy alguien como tú. Te reconocí enseguida en la fiesta. Alguien que está cansado de que le pasen por encima. Alguien que tiene mucha rabia por sacar.' },
{ speaker: 'adler', text: 'Sí.' },
{ speaker: 'sergio', text: 'Entonces, sigamos haciéndolo. Libérate de tu rabia. ¡Y divirtámonos mientras!' },
{ speaker: 'adler', text: 'Vale, vale. Pero no lo haré con mis compañeros de piso. Vivo con ellos y necesito la habitación.' },
{ speaker: 'sergio', text: 'Perfecto. Entonces, ¿en quién piensas?' },
{ speaker: 'adler', text: 'En Emil, el chivato que te contó sobre mí. Debería haber mantenido la boca cerrada.' },
{ speaker: 'sergio', text: 'Perfecto. ¿Qué sabes de él?' },
{ speaker: 'adler', text: 'Nada que pueda usar en su contra. Pero sé quién puede saberlo. Saara, una de las chicas de la fiesta, salió con él un tiempo. Podría saber algo.' },
{ speaker: 'sergio', text: 'Yo me encargaré entonces. Espérame aquí.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[
{
text: 'Te despides con un guiño',
action: function() {
State.variables.objetivoemil = true;
State.variables.conversacionadler2 = true;
State.variables.adlerfinalmision1 = false;
delete State.variables.adlerfinalmision1Timestamp;
Engine.play('salon3A');
}
}
] // 15
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey, Adler. How are you doing today?' },
{ speaker: 'adler', text: 'Hi. <em>He looks at you seriously.</em> I didn\'t have to do any of that the other night.' },
{ speaker: 'sergio', text: 'You mean the pranks? Come on, those idiots deserved it. Don\'t go soft on me now. You know as well as I do it was only fair.' },
{ speaker: 'adler', text: '<em>Tense silence.</em>' },
{ speaker: 'sergio', text: 'Besides, you loved it. You felt powerful. You gave those morons exactly what they deserved. And you\'ve done it before. That Norwegian guy told me all about it.' },
{ speaker: 'adler', text: 'Who are you?' },
{ speaker: 'sergio', text: 'I\'m someone just like you. I spotted it straight away at the party. Someone who\'s tired of being walked over. Someone with a lot of rage to let out.' },
{ speaker: 'adler', text: 'Yeah.' },
{ speaker: 'sergio', text: 'So let\'s keep going. Let that rage out. And let\'s have fun while we\'re at it!' },
{ speaker: 'adler', text: 'Alright, alright. But not my flatmates. I live with them and I need the room.' },
{ speaker: 'sergio', text: 'Fair enough. So who do you have in mind?' },
{ speaker: 'adler', text: 'Emil. The snitch who told you about me. He should have kept his mouth shut.' },
{ speaker: 'sergio', text: 'Perfect. What do you know about him?' },
{ speaker: 'adler', text: 'Nothing I can use against him. But I know who might. Saara, one of the girls from the party, went out with him for a while. She might know something.' },
{ speaker: 'sergio', text: 'I\'ll take care of that then. Wait for me here.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[], // 13
[], // 14
[
{
text: 'You wink at him and head off',
action: function() {
State.variables.objetivoemil = true;
State.variables.conversacionadler2 = true;
State.variables.adlerfinalmision1 = false;
delete State.variables.adlerfinalmision1Timestamp;
Engine.play('salon3A');
}
}
] // 15
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("chicasfiesta", {
characters: [
{
id: 'saara',
name: 'Saara',
portrait: 'images/fiestaerasmus/saararetrato.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola. Mira, seré sincera. Me gusta Emil, el chico noruego. Me han dicho que tú salías con él. ¿Es cierto?' },
{ speaker: 'saara', text: 'Sí. Salimos un par de meses.' },
{ speaker: 'sergio', text: 'Y de mujer a mujer, ¿qué puedes decirme de él?' },
{ speaker: 'saara', text: 'Es buen chico. Algo fiestero. Y su gusto musical es pésimo. Le gusta el punk, ¿sabes?' },
{ speaker: 'sergio', text: '¿Y qué tal en la cama?' },
{ speaker: 'saara', text: '<em>Intenta disimular una sonrisa.</em> Bueno. Lo intenta.' },
{ speaker: 'sergio', text: 'Venga, cuéntame más. Sororidad, hermana...' },
{ speaker: 'saara', text: 'Ok. No era el tío más apasionado, ¿sabes? Siempre tenía que estar yo detrás de él para que se animara.' },
{ speaker: 'sergio', text: '¿Y eso? Pero si eres preciosa.' },
{ speaker: 'saara', text: 'No sé. Lo dejamos justamente por eso. Pero todos los días se masturbaba. No sé en quién pensaba, pero no era en mí.' },
{ speaker: 'sergio', text: 'No sería por tu cuerpo. Estás muy buena.' },
{ speaker: 'saara', text: 'Lo sé. Yo creo que era algo más. Quizá no le gusten del todo las mujeres. De hecho, solo se acostaba conmigo cuando iba bien borracho.' },
{ speaker: 'sergio', text: 'Gracias, Saara. Me has convencido. Creo que iré a hablar con él.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.objetivoemil = false;
State.variables.verdademil = true;
Engine.play('salon3A');
}
}
] // 13
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("chicasfiesta", {
characters: [
{
id: 'saara',
name: 'Saara',
portrait: 'images/fiestaerasmus/saararetrato.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey. Look, I\'ll be honest. I like Emil, the Norwegian guy. I heard you used to go out with him. Is that true?' },
{ speaker: 'saara', text: 'Yeah. We dated for a couple of months.' },
{ speaker: 'sergio', text: 'And woman to woman — what can you tell me about him?' },
{ speaker: 'saara', text: 'He\'s a good guy. A bit of a party animal. And his taste in music is terrible. He\'s into punk, you know?' },
{ speaker: 'sergio', text: 'And what\'s he like in bed?' },
{ speaker: 'saara', text: '<em>She tries to hide a smile.</em> Fine. He tries.' },
{ speaker: 'sergio', text: 'Come on, tell me more. Sisterhood, girl...' },
{ speaker: 'saara', text: 'Ok. He wasn\'t the most passionate guy, you know? I always had to be the one pushing for it.' },
{ speaker: 'sergio', text: 'Really? But you\'re gorgeous.' },
{ speaker: 'saara', text: 'I know. That\'s actually why we broke up. But he\'d touch himself every single day. I don\'t know who he was thinking about, but it wasn\'t me.' },
{ speaker: 'sergio', text: 'It can\'t have been your body. You\'re stunning.' },
{ speaker: 'saara', text: 'I know. I think it was something deeper. Maybe women aren\'t entirely his thing. In fact, he only slept with me when he was really drunk.' },
{ speaker: 'sergio', text: 'Thanks, Saara. You\'ve convinced me. I think I\'ll go have a chat with him.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[], // 11
[], // 12
[
{
text: 'You head back to the party',
action: function() {
State.variables.objetivoemil = false;
State.variables.verdademil = true;
Engine.play('salon3A');
}
}
] // 13
]
})>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Chica',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'He conseguido la información que necesitaba. Tengo un plan para que te vengues de Emil.' },
{ speaker: 'adler', text: '¿Cuál es?' },
{ speaker: 'sergio', text: '¿Hasta dónde puedes llegar por tu venganza?' },
{ speaker: 'adler', text: 'Eh... no sé. ¿Cuál es el plan?' },
{ speaker: 'sergio', text: 'Vas a desenmascararlo delante de todos sus amigos. Vas a hacerle quedar en ridículo. Pero para eso necesitas comprometerte.' },
{ speaker: 'adler', text: 'Sí. Lo haré.' },
{ speaker: 'sergio', text: 'Perfecto. Espera mi señal. Voy a meterlo en tu habitación...' },
{ speaker: 'adler', text: '¿Mi habitación? ¿Para qué?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'Vuelves a la fiesta',
action: function() {
State.variables.verdademil = false;
State.variables.verdademil2 = true;
Engine.play('salon3A');
}
}
] // 8
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("adler", {
characters: [
{
id: 'adler',
name: 'Adler',
portrait: 'images/Adler/adler.png',
color: '#2ecc71',
facing: 'left'
},
{
id: 'sergio',
name: 'Girl',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'right'
}
],
lines: [
{ speaker: 'sergio', text: 'I got the information I needed. I have a plan for you to get back at Emil.' },
{ speaker: 'adler', text: 'What is it?' },
{ speaker: 'sergio', text: 'How far are you willing to go for your revenge?' },
{ speaker: 'adler', text: 'Uh... I don\'t know. What\'s the plan?' },
{ speaker: 'sergio', text: 'You\'re going to expose him in front of all his friends. You\'re going to humiliate him. But for that, you need to commit.' },
{ speaker: 'adler', text: 'Yes. I\'ll do it.' },
{ speaker: 'sergio', text: 'Perfect. Wait for my signal. I\'m going to get him into your room...' },
{ speaker: 'adler', text: 'My room? What for?' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[
{
text: 'You head back to the party',
action: function() {
State.variables.verdademil = false;
State.variables.verdademil2 = true;
Engine.play('salon3A');
}
}
] // 8
]
})>>
<</if>><<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "adleryemilsexo">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
<<if visited() <= 1>>
Llevas dos bebidas: una para ti, con solo refresco, y otra para Emil, bien cargada de alcohol. El noruego se muestra poco interesado en tu cortejo, pero alzando un poco más la voz atraes la atención del resto de la fiesta. Nervioso y mirando alrededor, comienza a acariciarte el brazo de manera sensual.
"Vamos a la habitación de Adler" — le dices, y sin dejarle reaccionar, le coges de la mano y le llevas a rastras. Allí comienzas a besarle y a desnudarle, y él se deja hacer. Le tumbas en la cama del alemán y, con tu top, le vendas los ojos.
"Voy a cerrar la puerta para que no nos interrumpan" — le susurras al oído y, desde el umbral, le haces una señal a Adler, que acude en silencio. Cerráis el cuarto con pestillo.
<center><img src="images/Adler/emilvenda.png" width="500"></center>
Entonces señalas a Emil, que expectante espera que vuelvas a tocarle. Con un gesto le indicas al alemán que le haga una mamada, a lo que él niega con la cabeza. Con gesto de enfado, le das la vuelta y le muestras el trasero respingón de Emil. Adler vuelve a dudar. Está claro que necesitará un aliciente.
<<else>>
No sabes cómo has conseguido convencer de nuevo a Emil para entrar en el cuarto. Todo se repite: el juego con la venda y la invitación a Adler. Este se queda de nuevo paralizado, incapaz de tomar la decisión que necesitas. Requiere que algo encienda la llama en sus pantalones para dar el salto.
<</if>>
[[Marcharte de la habitación con un fracaso|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's Room" />
</div>
<<if visited() <= 1>>
You carry two drinks: one for yourself, just a soft drink, and one for Emil, loaded with alcohol. The Norwegian shows little interest in your flirting, but when you raise your voice slightly you draw the attention of the rest of the party. Nervous and glancing around, he begins to stroke your arm sensually.
"Let's go to Adler's room" — you tell him, and without giving him time to react, you take his hand and drag him along. Once inside, you start kissing him and undressing him, and he lets you. You lay him down on the German's bed and use your top to blindfold him.
"I'm going to lock the door so we're not interrupted" — you whisper in his ear, and from the doorway you signal to Adler, who approaches in silence. You both lock the room.
<center><img src="images/Adler/emilvenda.png" width="500"></center>
You gesture toward Emil, who waits expectantly for your touch. You signal to Adler to go down on him, but he shakes his head. With an annoyed look, you turn Emil over and reveal his pert backside. Adler hesitates again. It's clear he's going to need something to push him over the edge.
<<else>>
You don't know how you managed to convince Emil to come into the room again. Everything repeats itself: the blindfold game, the invitation to Adler. He freezes once more, unable to make the decision you need from him. Something is going to have to stir inside him before he takes the leap.
<</if>>
[[Leave the room having failed|salon3A]]
<</if>><<set $notaAdler2 to false>>
<<set $notaAdler3 to true>>
<<set $emildesvirgado to true>>
<<set $verdademil2 to false>>
<<set $RecuerdoAdler2 to true>>
<<set $corrupcionAdler to 30>>
<<set $recuerdosAdler += 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(40)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
En el momento en que aprietas el último botón en tu app, Adler baja la vista y comprueba lo que ya ha notado: que su polla está dura y ardiente. Se coloca de rodillas y, con delicadeza, le quita el calzoncillo a Emil. Este hace un comentario sobre que está en el lado equivocado, pero su risilla se detiene en el momento en que nota la caliente lengua del alemán en su agujero. El noruego, creyendo aún que es una mujer la causante de ese placer, abre un poco más las piernas para facilitar el acceso.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adlercomeculo.webm" type="video/webm"></video></center>
Entonces sacas el móvil y comienzas a grabarlo todo. Adler, que comprende lo que tramas, sigue lamiendo ese culo mientras Emil resopla y su polla, dura, palpita. Desnudándose del todo mientras le acaricia los huevos por detrás al noruego, acerca su polla hasta su agujero. Con una sonrisilla, le das el móvil al alemán y este comienza a grabar. Antes de que Emil pueda preguntarse qué es lo que nota en su orificio, Adler le penetra, introduciéndole toda su polla en apenas dos embestidas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil1.webm" type="video/webm"></video></center>
"Joder... ¿Adler?" — dice el noruego al quitarse la venda y descubrir quién le está desvirgando. Aun así, no parece apartarse y solo masculla un "joder" mientras el alemán graba perfectamente cómo su polla entra en ese culo, así como la cara de placer de su objetivo de venganza.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil2.webm" type="video/webm"></video></center>
Al fin Emil parece recuperar la consciencia e intenta desembarazarse de ese mástil dentro de él. "Para, Adler, esto no está bien" — le dice mientras se gira hacia él, aún a cuatro patas en la cama. "Cállate esa puta boca de chivato, Emil" — le contesta simplemente, y cogiéndole del pelo le mete toda la polla hasta la garganta mientras, con la otra mano, te lanza el móvil para que sigas grabando, cosa que haces. Sonríes al ver que, tras un minuto follándole la boca, es el propio Emil el que sigue mamándosela a Adler sin necesitar ninguna indicación.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil3.webm" type="video/webm"></video></center>
"Túmbate, voy a follarte de nuevo" — le ordena Adler, que dado su altura y complexión casi dobla al noruego. De un empujón lo deja boca abajo y le ensarta de nuevo. La polla entra con facilidad y Emil no se resiste, sino todo lo contrario: mueve la cadera para que entre más.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil4.webm" type="video/webm"></video></center>
"Además de chismoso eres una puta" — le dice al oído Adler. "Pide perdón por lo que dijiste de mí." Emil, con la dificultad de tener todo el cuerpo de Adler encima mientras esa polla, bastante grande, le perfora, apenas puede decir "Sí, lo siento."
"Ahora móntate en mi polla, marica. Disfruta de tu castigo." Adler saca su polla y se tumba en la cama. Emil, desfallecido, le mira a él y luego te mira a ti, con la cámara del móvil. Agacha la cabeza y se ensarta en la polla del alemán. La suya propia, dura y brillante de precum, le golpea el estómago cada vez que flexiona las piernas.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil5.webm" type="video/webm"></video></center>
"Grábalo todo" — te dice de repente Adler que, invadido por una fuerza repentina, eleva en el aire al noruego sin dejar de penetrarle. Emil se aferra al cuello del alemán como puede y tú grabas lo más cerca posible cómo ese culo es destrozado, hasta que, acabando con un "No te metas más en mis asuntos", Adler saca la polla de Emil y libera su densa descarga blanca sobre los genitales del noruego.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil6.webm" type="video/webm"></video></center>
"Cierra la boca, o este vídeo lo verá toda la facultad" — dices, sonriéndole a Adler, que asiente con la cabeza. "Claro, claro" — logra decir el noruego desde la cama, cuyos huevos ya se han vaciado sobre sí mismo. Adler se viste y sale del cuarto, y tú le acompañas. En el pasillo, su actitud dominante se desvanece para volver al simpático hombrón de sonrisa perpetua. Alza la mano y te la choca.
[[Volver a la fiesta|salon3A]]
<<else>>
<<run setup.gameTime.addMinutes(40)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's Room" />
</div>
The moment you press the last button on your app, Adler looks down and confirms what he's already feeling: his cock is hard and burning. He gets on his knees and, carefully, pulls down Emil's underwear. The Norwegian makes a quip about being on the wrong side, but his laugh dies the instant he feels the German's warm tongue on his hole. Still believing it's a woman causing that pleasure, he spreads his legs a little wider to allow better access.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adlercomeculo.webm" type="video/webm"></video></center>
You take out your phone and start recording everything. Adler, understanding your plan, keeps eating that arse while Emil groans and his hard cock throbs. Fully undressing while stroking the Norwegian's balls from behind, he brings his cock up to his hole. With a small grin, you hand Adler the phone and he starts recording. Before Emil can wonder what he's feeling at his entrance, Adler penetrates him, driving his full cock in with barely two thrusts.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil1.webm" type="video/webm"></video></center>
"Fuck... Adler?" — says the Norwegian as he pulls off the blindfold and discovers who is taking his virginity. Even so, he doesn't pull away, only muttering a "fuck" while the German records perfectly how his cock slides into that arse, along with the expression of pleasure on his target's face.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil2.webm" type="video/webm"></video></center>
Emil finally seems to come to his senses and tries to free himself from the shaft inside him. "Stop, Adler, this isn't right" — he says, turning to face him, still on all fours on the bed. "Shut that snitch mouth of yours, Emil" — he answers simply, and grabbing him by the hair shoves his full cock down his throat while, with his other hand, he tosses you the phone to keep recording, which you do. You smile watching as, after a minute of fucking his mouth, it's Emil himself who keeps sucking Adler off without needing any prompting.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil3.webm" type="video/webm"></video></center>
"Lie down, I'm going to fuck you again" — Adler orders, nearly twice Emil's size in height and build. A single shove leaves him face down, and he drives into him again. His cock slides in easily and Emil doesn't resist — quite the opposite, he rolls his hips to take more.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil4.webm" type="video/webm"></video></center>
"You're not just a gossip, you're a whore" — Adler whispers in his ear. "Apologise for what you said about me." Emil, struggling under the full weight of Adler's body while that sizeable cock drives into him, can barely manage "Yes, I'm sorry."
"Now ride my cock, you little slut. Enjoy your punishment." Adler pulls out and lies back on the bed. Emil, exhausted, looks at him, then at you with the phone camera. He lowers his head and lowers himself onto the German's cock. His own, hard and glistening with precum, slaps against his stomach with every rise and fall.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil5.webm" type="video/webm"></video></center>
"Record all of this" — Adler suddenly says, seized by a sudden surge of energy as he lifts the Norwegian into the air without stopping his thrusts. Emil clings to the German's neck as best he can while you film up close as that arse is wrecked, until finishing with a "Stay out of my business from now on" — Adler pulls out of Emil and releases his thick white load over the Norwegian's genitals.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Adler/adleremil6.webm" type="video/webm"></video></center>
"Keep your mouth shut, or this video goes to the whole faculty" — you say, smiling at Adler, who nods. "Sure, sure" — the Norwegian manages from the bed, his balls already drained over himself. Adler gets dressed and leaves the room, and you follow. In the hallway, his dominant attitude fades, giving way again to the friendly, broad-shouldered man with his perpetual smile. He raises his hand and gives yours a slap.
[[Back to the party|salon3A]]
<</if>><<set $remanentesDeseo to $remanentesDeseo + 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("emilfiesta", {
characters: [
{
id: 'emil',
name: 'Emil',
portrait: 'images/fiestaerasmus/emilretrato.png',
color: '#3498db',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Hola Emil, ¿qué tal?' },
{ speaker: 'emil', text: 'No debería hablar contigo después del chantaje con Adler. Mantendré la boca cerrada, ¿vale? ¿Qué coño os traéis entre vosotros dos? Si lo que conté sobre él fue justamente a ti.' },
{ speaker: 'sergio', text: 'Tranquilo. No vengo a joderte más, sino todo lo contrario. Vengo a liberarte.' },
{ speaker: 'emil', text: '¿Qué coño dices?' },
{ speaker: 'sergio', text: '¿Te gustó lo que pasó con Adler?' },
{ speaker: 'emil', text: '<em>Se queda en silencio y desvía la mirada.</em>' },
{ speaker: 'sergio', text: 'Venga, estuve allí. Sé que te gustó.' },
{ speaker: 'emil', text: 'No soy marica.' },
{ speaker: 'sergio', text: '¿Qué coño importa eso? Tío, disfrutaste de lo lindo. ¡Si te corriste sin ni tocarte! ¿Por qué renunciar a ello? Oye, ¿conoces GayNear?' },
{ speaker: 'emil', text: 'Eh... no. ¿Es una app de contactos?' },
{ speaker: 'sergio', text: 'Es más que eso. Solo hazte un perfil. Es muy discreto. Pruébala y no te arrepentirás. Tu secreto está protegido por nosotros.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[
{
text: 'Te despides con un guiño',
action: function() {
State.variables.emilgaynear = true;
State.variables.emildesvirgado = false;
Engine.play('salon3A');
}
}
] // 11
]
})>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living Room" />
</div>
<div id="rpg-display"></div>
<<run setup.showDoorDialogue("emilfiesta", {
characters: [
{
id: 'emil',
name: 'Emil',
portrait: 'images/fiestaerasmus/emilretrato.png',
color: '#3498db',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Semblantes/chicasexyretrato.png',
color: '#ff69b4',
facing: 'left'
}
],
lines: [
{ speaker: 'sergio', text: 'Hey Emil, how\'s it going?' },
{ speaker: 'emil', text: 'I shouldn\'t be talking to you after that blackmail with Adler. I\'ll keep my mouth shut, alright? What the hell is going on between you two? I told that stuff about him to you specifically.' },
{ speaker: 'sergio', text: 'Relax. I\'m not here to mess with you — quite the opposite. I\'m here to free you.' },
{ speaker: 'emil', text: 'What the hell are you talking about?' },
{ speaker: 'sergio', text: 'Did you enjoy what happened with Adler?' },
{ speaker: 'emil', text: '<em>He goes quiet and looks away.</em>' },
{ speaker: 'sergio', text: 'Come on, I was there. I know you enjoyed it.' },
{ speaker: 'emil', text: 'I\'m not gay.' },
{ speaker: 'sergio', text: 'Who cares about that? Man, you had the time of your life. You even came without being touched! Why give that up? Hey, do you know GayNear?' },
{ speaker: 'emil', text: 'Uh... no. Is it a dating app?' },
{ speaker: 'sergio', text: 'It\'s more than that. Just make a profile. It\'s very discreet. Try it and you won\'t regret it. Your secret is safe with us.' }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[], // 9
[], // 10
[
{
text: 'You wink and say goodbye',
action: function() {
State.variables.emilgaynear = true;
State.variables.emildesvirgado = false;
Engine.play('salon3A');
}
}
] // 11
]
})>>
<</if>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/emilgaynear.png" class="fgn-main-photo" alt="emilgaynear">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Punkboy_Bergen</div>
<div class="fgn-dist">~1500m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span><<if $idioma is "es">>23 años<<else>>23 years old<</if>></span></div>
<div class="fgn-info-row">🔎 <span><<if $idioma is "es">>Hombres dominantes y grandes.<<else>>Dominant and tall men<</if>></span></div>
<div class="fgn-info-row">🏠 <span><<if $idioma is "es">>Prefiero acudir a tu domicilio.<<else>>I prefer to come to your home.<</if>></span></div>
<div class="fgn-info-row">🤫 <span><<if $idioma is "es">>Acabo de entrar en este mundo y quiero probarlo todo.<<else>>I've just entered this world and I want to try everything.<</if>></span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/emil1.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/emil2.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/emil3.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarSolo('sergio', 'sexogaynearemil')">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none'; oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnContactarSolo = function(perfilRequerido, destino) {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === perfilRequerido) {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play(destino);
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😏 Parecen más interesados en tu verdadero yo...'
: '😏 They seem more interested in your true self...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Prueba con tu perfil real.'
: 'Try switching to your real profile.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(60)>>
Esperas casi diez minutos a que te responda, pero la respuesta es positiva. "Voy para allá" — te escribe, y aguardas pacientemente en tu cuarto hasta que suena el timbre.
"¿Sabes? En este edificio viven unos amigos míos." No le haces caso y te lanzas a besarle, y él te responde con efusión.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear1.webm" type="video/webm"></video></center>
Enseguida le colocas a cuatro patas y comienzas a devorarle el culo. Desde que lo viste por primera vez, ante el rostro enrojecido de Adler, pensaste en comértelo. Ahora es todo tuyo, y te dedicas con pasión.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear2.webm" type="video/webm"></video></center>
Cuando ya te hartaste de tanto culo, te lanzaste a follártelo. Tu polla entró fácilmente, lo que te hacía sospechar que Emil no había estado perdiendo el tiempo desde que se registró en GayNear. Comenzaste a taladrarlo sin piedad mientras él gemía y pedía más y más. Incluso le cogías del cuello mientras te lo follabas bien duro, lo que parecía gustarle aún más.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear3.webm" type="video/webm"></video></center>
Pero lo que más te gustó fue cuando él mismo se subió encima y comenzó a cabalgarte. ¡Joder, cómo disfrutaba de tu polla! Le estaba encantando, y a ti igual.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear4.webm" type="video/webm"></video></center>
Cambiásteis de nuevo de posición, cogiéndole las piernas boca arriba. Seguiste follándolo hasta que él anunció que no podía más y comenzó a masturbarse. En menos de un minuto ya se estaba corriendo sobre su delgado y fibroso pecho. Tú la sacaste e hiciste lo mismo.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear5.webm" type="video/webm"></video></center>
Os despedisteis y os prometisteis volver a quedar. ¡Qué suerte encontrar a alguien tan bueno en la cama como Emil!
[[Continuar|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(60)>>
You wait nearly ten minutes for a reply, but it's a positive one. "On my way" — he writes, and you wait patiently in your room until you hear the doorbell.
"You know, some friends of mine live in this building." You ignore him and go straight in for a kiss, which he returns with enthusiasm.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear1.webm" type="video/webm"></video></center>
You immediately get him on all fours and start eating him out. Ever since you first saw him, watching Adler's flushed face, you'd been thinking about it. Now he's all yours, and you go at it with passion.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear2.webm" type="video/webm"></video></center>
When you'd had your fill, you moved on to fucking him. Your cock slid in easily, which made you suspect Emil hadn't been wasting any time since signing up to GayNear. You drilled into him without mercy while he moaned and begged for more. You even grabbed him by the throat as you fucked him hard, which seemed to drive him even wilder.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear3.webm" type="video/webm"></video></center>
But what you enjoyed most was when he climbed on top himself and started riding you. God, how he loved your cock. He was having the time of his life — and so were you.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear4.webm" type="video/webm"></video></center>
You switched positions again, pushing his legs back. You kept fucking him until he announced he couldn't hold on any longer and started stroking himself. In less than a minute he was coming all over his lean, toned chest. You pulled out and did the same.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/emilgaynear5.webm" type="video/webm"></video></center>
You said your goodbyes and promised to meet up again. Lucky you, finding someone as good in bed as Emil!
[[Continue|habitacionsergio]]
<</if>><<if $idioma is "es">>
<!-- ============ VERSIÓN ESPAÑOLA ============ -->
<h2 class="fade">🌟 Recuerdo 2: La primera venganza</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Regresaste otro día a la fiesta para hablar de nuevo con Adler. El alemán, que no es estúpido, te increpó por manipularle, pero en un acto de verdadera astucia le convenciste diciéndole que venías a liberarle de la ira que había estado acumulando toda su vida contra los que le rodeaban. ¡Era el momento de vengarse! El primer objetivo de Adler fue Emil, un estudiante noruego que te había contado antiguas historias truculentas sobre el alemán.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Primero debías conocer mejor a tu víctima. Según Adler, Emil había sido pareja de Saara, la chica estonia, y esta te contó que no estaba muy interesado en el sexo. Pensando que quizá lo que le gustaban eran más los plátanos que las almejas, emborrachaste a Emil y le obligaste a entrar en el cuarto de Adler, alzando la voz sobre vuestro coqueteo para llamar su atención.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
En el cuarto, le desnudaste y le pusiste una venda en los ojos. Entonces hiciste entrar a Adler para que tuviera sexo con él mientras tú le grababas.
</p>
<center><img src="images/Adler/emilvenda.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras un poco de apoyo mediante la excitación a distancia, poniendo a Adler muy cachondo, el alemán se lanzó a comerle el culo a Emil. Este, creyendo aún que era una mujer quien se lo hacía, comenzó a disfrutarlo.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adlercomeculo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Entonces llegó el momento de la sorpresa. Le pasaste el móvil a Adler y este, colocando su polla en la entrada del orificio del noruego, le desvirgó en dos estocadas.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adleremil2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al quitarse la venda, Emil le recriminó el acto a Adler, pero no hizo nada más. Obviamente lo estaba disfrutando, por lo que, excitado por esa relación sexual prohibida y vengativa, Adler le "obligó" a comerle la polla.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adleremil3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Así como a cabalgarle. La polla de Emil nunca había estado tan dura.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adleremil5.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Tras el polvo, el noruego prometió no volver a difamar a Adler, y tú conseguiste que el alemán se follara a un hombre por venganza. Ahora tocaba buscar víctimas más grandes.
</p>
<div class="choice-container fade">
<<link "⬅️ Volver a Recuerdos de Adler" "RecuerdosAdler">><</link>>
</div>
<<else>>
<!-- ============ ENGLISH VERSION ============ -->
<h2 class="fade">🌟 Memory 2: The first revenge</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
You returned to the party another day to talk to Adler again. The German, who is no fool, confronted you about manipulating him — but in a stroke of genuine cunning, you convinced him that you had come to free him from the rage he had been building up his whole life against those around him. It was time for revenge! Adler's first target was Emil, a Norwegian student who had told you old, troubling stories about the German.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
First you needed to get to know your victim better. According to Adler, Emil had dated Saara, the Estonian girl, and she told you he hadn't been very interested in sex. Suspecting his tastes might run in a different direction, you got Emil drunk and lured him into Adler's room by raising your voice during your flirting to draw attention.
</p>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
In the room, you undressed him and blindfolded him. Then you brought Adler in to have sex with him while you recorded everything.
</p>
<center><img src="images/Adler/emilvenda.png" class="fade" width="500" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
With a little help from the remote arousal app, getting Adler worked up, the German threw himself into eating Emil out. The Norwegian, still believing it was a woman doing it, began to enjoy it.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adlercomeculo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then came the surprise. You handed the phone to Adler and he, pressing his cock against the Norwegian's entrance, took his virginity in two thrusts.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adleremil2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
When he pulled off the blindfold, Emil reproached Adler for what had happened — but did nothing more. He was clearly enjoying it, so, fired up by that forbidden, vengeful encounter, Adler "convinced" him to go down on him.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adleremil3.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
And then to ride him. Emil's cock had never been so hard.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Adler/adleremil5.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
After it was over, the Norwegian promised never to slander Adler again, and you had succeeded in getting the German to fuck a man out of pure revenge. Now it was time to find bigger targets.
</p>
<div class="choice-container fade">
<<link "⬅️ Back to Adler's Memories" "RecuerdosAdler">><</link>>
</div>
<</if>><<if $idioma is "es">>
<<set $Raulllegada to true>>
<<run setup.gameTime.addMinutes(10)>>
El móvil vibra de nuevo en tu pantalón, pero esta vez no es Dem. Es tu hermano, Raúl.
"Estoy llegando a casa" dice, para, después, colgar. Vas al Salón y pacientemente esperas su llegada.
Escuchas el sonido de unas llaves, y recuerdas que tu hermano tiene otro par; al fin y al cabo, la casa de tus abuelos es una herencia conjunta. No entiendes por qué entonces te ha llamado si podía entrar solo, pero le saludas con una sonrisa, la cual Raúl no te devuelve.
<center><img src="images/Raul/raulllegada.png" class="fade-in" width="500"></center>
Vuelves a saludarle, y él esta vez sí se digna a hablar contigo. Apenas tenéis un par de frases. Desde hace mucho tiempo que estás distanciado de tu hermano, pero esto se ve diferente. No parece enfadado, solo... ¿Triste? Le dejas que desempaque las maletas tranquilo.
Entonces, tu móvil vibra de nuevo, esta vez sí es Dem.
[[Coges el móvil|llamadaDemtrasraul]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
Your phone vibrates again in your pocket, but this time it's not Dem. It's your brother, Raúl.
"I'm on my way home," he says, then hangs up. You go to the living room and wait patiently for him to arrive.
You hear the sound of keys, and you remember that your brother has a spare set — after all, your grandparents' house is a shared inheritance. You don't understand why he called you if he could just let himself in, but you greet him with a smile, which Raúl doesn't return.
<center><img src="images/Raul/raulllegada.png" class="fade-in" width="500"></center>
You try again, and this time he at least deigns to speak. You exchange barely a handful of sentences. You've been distant from your brother for a long time, but this feels different. He doesn't seem angry, just... sad? You leave him to unpack his bags in peace.
Then your phone vibrates again — this time it is Dem.
[[You pick up|llamadaDemtrasraul]]
<<set $Raulllegada to true>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Ya tienes en tu casa a tu siguiente objetivo." },
{ speaker: "sergio", text: "Es mi hermano. Yo no veo que..." },
{ speaker: "dem", text: "¡BASTA! <em>La voz amigable de Dem es tan potente que notas cómo se agita el mismo móvil.</em>" },
{ speaker: "dem", text: "<em>El tono de voz vuelve a su carácter amigable.</em> Mira, ya has aceptado unos términos con el jefe y no puedes echarte atrás. Cuando acabe todo esto, habrás hecho que padres se acuesten con sus hijos. Que matrimonios se rompan. Que virginal muchacho se conviertan en hambrientos amantes deseosos de experimentar." },
{ speaker: "dem", text: "Todo eso requiere compromiso. Necesitas eliminar tus propias barreras." },
{ speaker: "sergio", text: "No sé si voy a poder..." },
{ speaker: "dem", text: "Podrás. Ves a tu hermano como ese niño que era, y no como el amante que va a ser. Destruye tus remilgos. Usa la app de Visión Sexual con Raúl. Desnúdale con la mirada y empieza a verle de otra manera." },
{ speaker: "sergio", text: "Yo... Vale." },
{ speaker: "dem", text: "Buen chico. Un paso sencillo. Venga, a por ello." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[ // 9 → última línea
{
text: "Cuelga.",
action: function() {
State.variables.misionraul1 = true;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Your next target is already living under your roof." },
{ speaker: "sergio", text: "He's my brother. I don't see how..." },
{ speaker: "dem", text: "ENOUGH! <em>Dem's friendly voice is so forceful you can feel the phone vibrate in your hand.</em>" },
{ speaker: "dem", text: "<em>Her tone softens back to its usual warmth.</em> Look, you've already agreed to the terms with the boss and there's no backing out now. When all this is over, you'll have made fathers sleep with their sons. Broken up marriages. Turned innocent young men into hungry lovers eager to experience everything." },
{ speaker: "dem", text: "All of that requires commitment. You need to tear down your own barriers." },
{ speaker: "sergio", text: "I don't know if I can..." },
{ speaker: "dem", text: "You can. You see your brother as that kid he used to be — not as the lover he's going to become. Drop the prudishness. Use the Sexual Vision app on Raúl. Look at him differently. Start seeing what's really there." },
{ speaker: "sergio", text: "I... Okay." },
{ speaker: "dem", text: "Good boy. One simple step. Now go get it." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[ // 9 → last line
{
text: "Hang up.",
action: function() {
State.variables.misionraul1 = true;
Engine.play("habitacionsergio");
}
}
]
]
});
});
<</script>>
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl está en el sofá con el mando en la mano, los ojos fijos en la pantalla. No parece especialmente concentrado, más bien como alguien que juega por inercia, para no pensar en nada.
<center><img src="images/Raul/raulconsola.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola.' }
],
options: [
[],
[
{ text: 'Volver al salón', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl is on the couch with the controller in his hand, eyes fixed on the screen. He doesn't look particularly focused — more like someone playing out of habit, to keep his mind empty.
<center><img src="images/Raul/raulconsola.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey.' }
],
options: [
[],
[
{ text: 'Back to the living room', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl está sentado a la mesa con un plato delante, comiendo en silencio. No ha puesto la tele, no escucha música. Solo él y su comida.
<center><img src="images/Raul/raulcomiendo.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola.' }
],
options: [
[],
[
{ text: 'Volver al salón', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl is sitting at the table with a plate in front of him, eating in silence. No TV, no music. Just him and his food.
<center><img src="images/Raul/raulcomiendo.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey.' }
],
options: [
[],
[
{ text: 'Back to the living room', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl está sentado en el sofá con el plato en las rodillas, cenando frente a la tele, donde se está retransmitiendo una serie antigua de ciencia ficción.
<center><img src="images/Raul/raulcenando.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola.' }
],
options: [
[],
[
{ text: 'Volver al salón', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl is sitting on the sofa with his plate on his lap, eating dinner in front of the TV, where an old science fiction series is being broadcast.
<center><img src="images/Raul/raulcenando.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey.' }
],
options: [
[],
[
{ text: 'Back to the living room', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl está de pie en el salón con una taza de café en la mano y una tostada a medias. Come deprisa, como alguien que tiene que salir pronto y no quiere entretenerse.
<center><img src="images/Raul/rauldesayunando.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola.' }
],
options: [
[],
[
{ text: 'Volver al salón', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl is standing in the living room with a cup of coffee in his hand and a half-eaten piece of toast. He's eating quickly, like someone who has to leave soon and doesn't want to linger.
<center><img src="images/Raul/rauldesayunando.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey.' }
],
options: [
[],
[
{ text: 'Back to the living room', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl y Toni están en el sofá, cada uno con su mando, con la vista clavada en la pantalla. Se escuchan efectos de sonido del juego y algún comentario entre ellos en voz baja. Es la versión más animada que has visto a Raúl desde que llegó.
<center><img src="images/Raul/raulconsolatoni.png" class="fade-in" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola.' }
],
options: [
[],
[
{ text: 'Volver al salón', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl and Toni are on the couch, each with their controller, eyes locked on the screen. You can hear game sound effects and the occasional low comment between them. It's the most lively you've seen Raúl since he arrived.
<center><img src="images/Raul/raulconsolatoni.png" class="fade-in" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey.' }
],
options: [
[],
[
{ text: 'Back to the living room', action: 'GOTO:Salón' }
]
]
});
});
<</script>>
<</if>><<set $fantasmaducha to true>>
<<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<script>>
if (!State.variables.formaFantasmalActiva) {
setTimeout(function() { Engine.play('raulteexpulsabaño'); }, 50);
}
<</script>>
<<set $raulExcitadoDestino = "Raulpajaducha">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
El sonido del agua corriendo al otro lado de la mampara llena el baño. En forma fantasmal entras hasta dentro de la cabina, pudiendo ver el cuerpo moreno y delgado de tu hermano a menos de veinte centímetros de ti.
<center><img src="images/Raul/raulduchandose.png" class="fade-in" width="400"></center>
[[Volver al baño|Bañosergio]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
The sound of running water on the other side of the shower screen fills the bathroom. In ghost form you slip inside the cubicle, able to see your brother's lean, dark body less than twenty centimetres away from you.
<center><img src="images/Raul/raulduchandose.png" class="fade-in" width="400"></center>
[[Back to the bathroom|Bañosergio]]
<</if>><<set _raulLocation = setup.getCharacterLocation('Raul')>>
<<set _raulEnHabitacion = _raulLocation && _raulLocation.passage === 'habitacionraul'>>
<<set _raulExcitadoActivo = setup.hasTemporalMark('Raul', 'excitado')>>
<<if _raulEnHabitacion and !_raulExcitadoActivo>>
<<if $idioma is "es">>
<<set _raulTexto = "Raúl está " + _raulLocation.action>>
<<else>>
<<set _raulTexto = "Raúl is " + _raulLocation.action>>
<</if>>
<<if _raulLocation.action.includes('estudiando') || _raulLocation.action.includes('studying')>>
<<set _raulDestino = 'raulestudiando'>>
<<elseif _raulLocation.action.includes('leyendo') || _raulLocation.action.includes('reading')>>
<<set _raulDestino = 'raulleyendo'>>
<<elseif _raulLocation.action.includes('durmiendo') || _raulLocation.action.includes('sleeping')>>
<<set _raulDestino = 'rauldurmiendo'>>
<</if>>
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
La habitación de tu hermano Raúl tiene, sin duda, más personalidad que la tuya. Es su propio feudo, su lugar donde le gusta resguardarse de los de fuera. Está repleta de sus pasiones: la física y la ciencia ficción.
<<if _raulExcitadoActivo>>
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta está cerrada por dentro. Se escuchan ruidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite entrar...</p>
<<link "👻 Entrar a la habitación">><<run Engine.play('espiasRaul')>><</link>>
<</if>>
<<elseif _raulEnHabitacion>>
<span class="link-internal"><<link _raulTexto>><<run Engine.play(_raulDestino)>><</link>></span>
<</if>>
[[Volver al salón|Salón]]
[[Ir al baño|Bañosergio]]
[[Ir a tu habitación|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Your brother Raúl's room has, without a doubt, more personality than yours. It's his own domain, the place where he likes to retreat from the outside world. It's filled with his passions: physics and science fiction.
<<if _raulExcitadoActivo>>
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The door is locked from inside. You can hear muffled noises.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you slip inside...</p>
<<link "👻 Enter the room">><<run Engine.play('espiasRaul')>><</link>>
<</if>>
<<elseif _raulEnHabitacion>>
<span class="link-internal"><<link _raulTexto>><<run Engine.play(_raulDestino)>><</link>></span>
<</if>>
[[Back to the living room|Salón]]
[[Go to the bathroom|Bañosergio]]
[[Go to your room|habitacionsergio]]
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Raúl está sentado en su escritorio con los apuntes extendidos delante de él. Tiene el ceño ligeramente fruncido, como alguien que intenta concentrarse en algo complicado. No ha puesto música ni nada que le distraiga.
<center><img src="images/Raul/raulestudiando.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola. No te molesto.' }
],
options: [
[],
[
{ text: 'Volver a la habitación', action: 'GOTO:habitacionraul' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Raúl is sitting at his desk with his notes spread out in front of him. His brow is slightly furrowed, like someone trying to focus on something complicated. No music, nothing to distract him.
<center><img src="images/Raul/raulestudiando.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey. I won\'t bother you.' }
],
options: [
[],
[
{ text: 'Back to the room', action: 'GOTO:habitacionraul' }
]
]
});
});
<</script>>
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Raúl está dormido. Está tumbado de lado, con la ropa de cama a medias tapándole. Respira despacio y con regularidad. Sobre la mesilla hay un libro boca abajo, como si se hubiera quedado dormido leyendo.
<center><img src="images/Raul/rauldurmiendo.png" class="fade-in" width="400"></center>
No tiene sentido despertarle.
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Raúl jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecararaul')>><</link>>
<</if>>
[[Volver a la habitación|habitacionraul]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Raúl is asleep. He's lying on his side, the bedclothes half covering him. His breathing is slow and steady. On the bedside table there's a book face down, as if he'd fallen asleep reading.
<center><img src="images/Raul/rauldurmiendo.png" class="fade-in" width="400"></center>
There's no point waking him up.
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Raúl would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecararaul')>><</link>>
<</if>>
[[Back to the room|habitacionraul]]
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Raúl está tumbado en la cama con un libro abierto sobre el pecho, la espalda apoyada contra la cabecera. La portada muestra una nave espacial y un título en inglés que no reconoces. Parece completamente absorto.
<center><img src="images/Raul/raulleyendo.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hola.' },
{ speaker: 'sergio', text: 'Hola.' }
],
options: [
[],
[
{ text: 'Volver a la habitación', action: 'GOTO:habitacionraul' }
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Raúl is lying on his bed with a book open on his chest, his back propped against the headboard. The cover shows a spaceship and a title you don't recognize. He looks completely absorbed.
<center><img src="images/Raul/raulleyendo.png" class="fade-in" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
setup.showDoorDialogue("Raul", {
characters: [
{
id: 'raul',
name: 'Raúl',
portrait: 'images/Raul/raul.png',
color: '#a0c4ff',
facing: 'left'
},
{
id: 'sergio',
name: 'Sergio',
portrait: 'images/Sergio/sergio.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'raul', text: 'Hey.' },
{ speaker: 'sergio', text: 'Hey.' }
],
options: [
[],
[
{ text: 'Back to the room', action: 'GOTO:habitacionraul' }
]
]
});
});
<</script>>
<</if>><<set $misionraul1 to false>>
<<set $notaRaul1 to false>>
<<set $notaRaul2 to true>>
<<set $RecuerdoRaul1 to true>>
<<set $corrupcionSergio to 40>>
<<if not $recuerdosRaul>><<set $recuerdosRaul = 0>><</if>>
<<set $recuerdosRaul += 1>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
Al momento de ver la imagen de tu hermano desnudo en la pantalla del móvil, esta se reemplaza por el rostro sonriente del demonio Dem.
"¿Has visto lo bueno que está tu hermano? ¿Tan bajito y tan guapo?"
La imagen de tu hermano, desnudo y con la polla empalmada, vuelve a aparecer en tu pantalla, y no puedes dejar de fijar tus ojos en él.
<center><img src="images/Raul/raulvision.jpg" class="fade-in" width="400"></center>
"Mira su polla, dura por ti." Continúa Dem, mientras la imagen permanece fija. "¿No te dan ganas de metértela toda en la boca?"
Te diriges a tu habitación. En la intimidad de tu cuarto, tu mano pronto comienza a acariciar tu entrepierna.
"Ahora fíjate en su culo." Te dice, y la imagen cambia, esta vez en otra postura. Tu hermano usa sus manos para exponer su agujero ante ti. "¿No te gustaría pasar una lengua por ese orificio?"
<center><img src="images/Raul/raulmision1.jpg" class="fade-in" width="400"></center>
La imagen cambia de nuevo. Esta vez es un primer plano de tu hermanito, con una polla en sus labios y una mirada tentadora.
<center><img src="images/Raul/raulmision2.jpg" class="fade-in" width="400"></center>
"Esa polla podría ser la tuya. Su lengua podría estar rozando tu glande. Podrías correrte en su rostro. Podría ser todo tuyo."
No sabes cuándo ha pasado, pero en ese momento te estás masturbando. Las imágenes empiezan a cambiar rápidamente, en diferentes posturas sexuales explícitas, hasta que, extasiado, eyaculas sobre el suelo de tu habitación pensando en el cuerpo desnudo de Raúl.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/pajaporraul.webm" type="video/webm"></video></center>
[[Recuperar el aliento|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
The moment you see the image of your naked brother on your phone screen, it's replaced by the smiling face of the demon Dem.
"Have you seen how good your brother looks? So compact and so handsome?"
The image of your brother, naked and hard, reappears on your screen, and you can't stop staring at him.
<center><img src="images/Raul/raulvision.jpg" class="fade-in" width="400"></center>
"Look at his cock, hard for you." Dem continues, as the image stays fixed. "Doesn't it make you want to take it all in your mouth?"
You head to your room. In the privacy of your bedroom, your hand soon starts to wander.
"Now look at his ass." she says, and the image shifts to another pose. Your brother uses his hands to expose his hole to you. "Wouldn't you love to run your tongue over that opening?"
<center><img src="images/Raul/raulmision1.jpg" class="fade-in" width="400"></center>
The image changes again. This time it's a close-up of your little brother, a cock between his lips and a teasing look in his eyes.
<center><img src="images/Raul/raulmision2.jpg" class="fade-in" width="400"></center>
"That cock could be yours. His tongue could be grazing your glans. You could cum on his face. He could be all yours."
You don't know when it happened, but you're masturbating. The images start shifting rapidly through explicit sexual positions until, overwhelmed, you ejaculate on your bedroom floor thinking about Raúl's naked body.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/pajaporraul.webm" type="video/webm"></video></center>
[[Catch your breath|habitacionsergio]]
<</if>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 1: ¡Se acabó la mojigatería!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Sobre un mueble del salón, una foto tuya y de tu hermano llama la atención de Dem. Este te recuerda que Raúl, al vivir también en tu casa, es uno de tus objetivos para ser corrompido. Intentas darle largas, pero a los tres días, al aparecer tu hermano, no puedes evitar tener una conversación tensa con el demonio.
</p>
<center><img src="images/Raul/raulllegada.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dem no te dio opción. Tenías que ver a tu hermano como alguien a quien debías follarte. Para eso, usaste la app de Visión Sexual, que desnudó a tu hermano y te lo mostró en una escena sensual y pornográfica.
</p>
<center><img src="images/Raul/raulmision1.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Distintas imágenes, todas de tu hermano en posturas y poses sexuales, fueron desfilando por la pantalla de tu móvil mientras Dem te susurraba, a través del auricular, ideas morbosas.
</p>
<center><img src="images/Raul/raulmision2.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al final, caliente como nunca, acabaste en tu cuarto, masturbándote mientras pensabas en follarte a tu hermano.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/pajaporraul.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al final te convenciste. Tu hermano debía caer en tus garras viciosas. Rotos todos los tabúes y remilgos, era hora de comenzar a pensar en cómo corromperlo.
</p>
<<else>>
<h2 class="fade">🌟 Memory 1: No more prudishness!</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
A photo of you and your brother sitting on a piece of furniture catches Dem's attention. She reminds you that Raúl, since he also lives in your home, is one of your targets to be corrupted. You try to stall, but three days later, when your brother shows up, you can't avoid a tense conversation with the demon.
</p>
<center><img src="images/Raul/raulllegada.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dem left you no choice. You had to start seeing your brother as someone you needed to fuck. For that, you used the Sexual Vision app, which undressed your brother and showed him to you in a sensual and pornographic scene.
</p>
<center><img src="images/Raul/raulmision1.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Different images, all of your brother in sexual positions and poses, paraded across your phone screen while Dem whispered dark, twisted ideas into your ear through the earpiece.
</p>
<center><img src="images/Raul/raulmision2.jpg" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
In the end, more turned on than ever, you ended up in your room, masturbating while thinking about fucking your brother.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/pajaporraul.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
In the end, you convinced yourself. Your brother had to fall into your clutches. With every taboo and scruple shattered, it was time to start thinking about how to corrupt him.
</p>
<</if>>
<div class="choice-container fade" style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Raúl" "RecuerdosRaul">><</link>>
<<else>>
<<link "⬅️ Back to Raúl's Memories" "RecuerdosRaul">><</link>>
<</if>>
</div><<script>>
if (!State.variables.formaFantasmalActiva) {
setTimeout(function() { Engine.play('raulteechasucuarto'); }, 50);
}
<</script>>
<<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Atraviesas la puerta de la habitación de tu hermano y, lentamente, entras.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/raulpaja.webm" type="video/webm"></video></center>
Está tumbado en la cama, con los ojos cerrados y la respiración agitada. Su mano se mueve lentamente bajo la sábana. No te ha oído entrar.
Por un momento te quedas paralizado en el umbral, sin saber si entrar o retroceder. Pero no puedes apartar la mirada.
Es tu hermano. Y, sin embargo, algo en ti se niega a marcharse.
[[Volver a la habitación|habitacionraul]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
You walk through the door of your brother's room and slowly enter.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/raulpaja.webm" type="video/webm"></video></center>
He's lying on the bed, eyes closed, breathing unevenly. His hand moves slowly under the sheet. He hasn't heard you come in.
For a moment you stand frozen in the doorway, unsure whether to step forward or pull back. But you can't look away.
He's your brother. And yet, something in you refuses to leave.
[[Back to the room|habitacionraul]]
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<set $demoneActivo = false>>
<<set $demoneDestino = "">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Te diriges a la puerta de casa y con un grito de "Voy a comprar, tardaré un par de horas" cierras la puerta pero permaneces dentro. Sigilosamente vuelves a tu escondite y observas a los dos amigos. Entonces pulsas el Demone y la pantalla de la tele se queda totalmente en negro. Toni y Raúl maldicen mientras se acercan a ver qué ha pasado. En ese momento, una escena porno donde dos hombres comparten la boca de una mujer muy atractiva aparece en pantalla.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/escenabisexual1.webm" type="video/webm"></video></center>
"Mira, alguno de tus vecinos debe de haber enviado por error a tu tele el porno que iba a ver." Dice jocoso Toni. "¿Vamos a ver qué perversiones le gustan?"
El amigo de tu hermano vuelve al sofá y se pone cómodo. Raúl, en cambio, baja la cara, avergonzado.
"No sé si..."
Está claro que necesitará algo de ayuda extra para dar el siguiente paso. Recuerdas el consejo de Dem. Quizá la app de Excitación a Distancia pueda hacer el resto.
<<set $raulExcitadoDestino = "intimidadRaulToni2">>
[[No haces nada y, frustrado, Dem devuelve el control de la tele|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
You head to the front door and call out "I'm going shopping, I'll be a couple of hours" before closing it — but staying inside. Silently you slip back to your hiding spot and watch the two friends. Then you press Demone and the TV screen goes completely black. Toni and Raúl curse under their breath as they get up to see what happened. At that moment, a porn scene appears on screen — two men sharing the mouth of a very attractive woman.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/escenabisexual1.webm" type="video/webm"></video></center>
"Look, one of your neighbors must have accidentally sent their porn to your TV." Toni says with a laugh. "Shall we see what perversions they're into?"
Your brother's friend settles back on the sofa and makes himself comfortable. Raúl, on the other hand, looks down, embarrassed.
"I don't know if..."
It's clear he'll need some extra help to take the next step. You remember Dem's advice. Maybe the Remote Arousal app can do the rest.
<<set $raulExcitadoDestino = "intimidadRaulToni2">>
[[You do nothing and, frustrated, Dem gives back control of the TV|Rellano del 2º]]
<</if>><<script>>setup.registerCharactersInLocation(['Raul']);<</script>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Contemplas desde la esquina a los dos jóvenes, absortos en su juego. Te ves incapaz de hacer que esos dos amigos de la infancia pasen al siguiente nivel hasta que una vibración en tu bolsillo te indica que estás recibiendo una llamada.
<center><img src="images/Raul/raulconsolatoni.png" class="fade-in" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "Ahí tienes a tus objetivos. ¿Tienes idea de cómo vas a hacerlo?" },
{ speaker: "sergio", text: "La verdad es que no. Toni ha sido el mejor amigo de mi hermano, si no el único, que ha tenido en toda su vida. Casi es como otro hermano para mí." },
{ speaker: "dem", text: "¿No estarás otra vez con tus remilgos?" },
{ speaker: "sergio", text: "No. Voy a corromperlos. Es lo que quiero, pero de verdad no sé cómo hacerlo." },
{ speaker: "dem", text: "Míralos, tan juntos y tan amigos. Solo debes ponerlos cachondos y ellos mismos se desnudarán. Quizá pueda ponerle algo picante al videojuego." },
{ speaker: "sergio", text: "Mi hermano es demasiado tímido. No hará nada por mucho porno que les pongas." },
{ speaker: "dem", text: "Quizá alguna app de tu móvil pueda ayudarte con ello. Yo me encargaré del ambiente. Voy a instalarte una nueva. No es de índole sexual, por lo que no necesitas hacer más misiones ni aumentará tu radio de influencia. Es una app de hackeo, por así decirlo. Me permitirá introducirme en los aparatos electrónicos." },
{ speaker: "sergio", text: "Eso sería muy útil." },
{ speaker: "dem", text: "Cuando veas que esta app comience a brillar, no dudes en usarla. Venga, probemos." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[ // 9 → última línea
{
text: "El móvil vibra.",
action: function() {
State.variables.appDemone = true;
console.log("App Demone instalada");
Engine.play("raulconsolaToni");
}
}
]
]
});
});
<</script>>
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
You watch from the corner as the two young men are absorbed in their game. You feel unable to push these childhood friends to the next level — until a vibration in your pocket tells you someone is calling.
<center><img src="images/Raul/raulconsolatoni.png" class="fade-in" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: "dem",
name: "Dem",
portrait: "images/dem.png",
color: "#ff69b4",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "dem", text: "There are your targets. Do you have any idea how you're going to do it?" },
{ speaker: "sergio", text: "Honestly, no. Toni has been my brother's best friend — his only one, really — his entire life. He's almost like another brother to me." },
{ speaker: "dem", text: "Don't tell me you're going soft on me again." },
{ speaker: "sergio", text: "No. I want to corrupt them. That's what I want. I just genuinely don't know how." },
{ speaker: "dem", text: "Look at them, so close and so friendly. All you need to do is get them aroused and they'll take care of the rest themselves. Maybe I could put something spicy on that video game." },
{ speaker: "sergio", text: "My brother is way too shy. He won't do anything no matter how much porn you throw at him." },
{ speaker: "dem", text: "Maybe one of your phone apps could help with that. I'll take care of setting the mood. I'm going to install a new one for you. It's not sexual in nature, so you won't need more missions and it won't increase your radius of influence. It's a hacking app, so to speak. It will let me get inside electronic devices." },
{ speaker: "sergio", text: "That would be very useful." },
{ speaker: "dem", text: "When you see the app start to glow, don't hesitate to use it. Come on, let's try it." }
],
options: [
[], // 1
[], // 2
[], // 3
[], // 4
[], // 5
[], // 6
[], // 7
[], // 8
[ // 9 → last line
{
text: "Your phone vibrates.",
action: function() {
State.variables.appDemone = true;
console.log("Demone app installed");
Engine.play("raulconsolaToni");
}
}
]
]
});
});
<</script>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl no habría hecho nada de lo que haría a continuación si todo su cuerpo no le pidiera vaciarse. Con una erección totalmente visible bajo su pantalón corto, se sentó en una silla del comedor, lejos de su amigo, a ver el vídeo. Toni, guiñándole un ojo, se bajó los pantalones para mostrar una polla, nada desdeñable, que ya apuntaba al cielo.
La escena del vídeo subió de tono, y los hombres devoraban cada uno uno de los pezones duros de la mujer. Raúl, aún incómodo, comenzaba a pasar su mano por su entrepierna.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/raulseponecachondo.webm" type="video/webm"></video></center>
Al final, desesperado, liberó su polla. Su miembro, oscuro pero de menor tamaño que el de Toni, como ya sabías gracias a la Visión Sexual, atrajo tu mirada como si fuera una joya. Toni sonrió de nuevo a su amigo mientras se desnudaba completamente y comenzaba a masturbarse. Raúl le acompañó, pero vestido.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Raul/tonipaja.webm" type="video/webm"></video></center>
De repente, algo extraño sucedió en la película de la tele. Los dos hombres se miraron fijamente y comenzaron a besarse. Sonreíste al ver el truco que había elaborado Dem. ¡La película era sobre bisexuales! Tras la sorpresa, y sin decir nada, los dos amigos siguieron acariciando sus pollas mientras ahora eran la mujer y uno de los hombres los que compartían el duro miembro del tercero.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/escenabisexual2.webm" type="video/webm"></video></center>
Los minutos pasaron, y ambos amigos, sin anunciar nada, empezaron a eyacular. El último de los dos fue Raúl, que manchó su pantalón con su propio esperma.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/raulpaja2.webm" type="video/webm"></video></center>
Entonces la película desapareció de la tele con un pantallazo negro para, al momento, aparecer de nuevo el juego al que estaban jugando, pausado y a la espera.
"Deja que me limpie y seguimos jugando. ¿Te parece?" Preguntó Toni, colocándose de nuevo las gafas.
Raúl asintió, y ambos se levantaron para ir al baño. Tú corriste hacia la puerta y saliste de la casa, confiado en que esa paja en pareja fuera el primer paso de algo mayor.
[[Recuperar el aliento|Rellano del 2º]]
<<set $notaRaul2 to false>>
<<set $notaRaul3 to true>>
<<set $RecuerdoRaul2 to true>>
<<set $corrupcionRaul to 15>>
<<set $recuerdosRaul += 1>>
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/salonsergio.webp" alt="salon2A" />
</div>
Raúl would never have done what he did next if his entire body hadn't been crying out for release. With a fully visible erection under his shorts, he moved to a chair at the dining table, away from his friend, to watch the video. Toni, winking at him, pulled down his pants to reveal a cock — nothing to scoff at — already pointing skyward.
The scene in the video grew more intense, the men each devouring one of the woman's hard nipples. Raúl, still uncomfortable, began running his hand along his crotch.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/raulseponecachondo.webm" type="video/webm"></video></center>
Finally, desperate, he freed his cock. His member — darker but smaller than Toni's, as you already knew from Sexual Vision — drew your gaze like a jewel. Toni smiled again at his friend as he stripped completely and began to masturbate. Raúl joined him, but stayed dressed.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Raul/tonipaja.webm" type="video/webm"></video></center>
Suddenly, something strange happened on the TV. The two men stared at each other and began to kiss. You smiled, seeing the trick Dem had pulled off. The film was about bisexuals! After the initial surprise, and without saying a word, both friends kept stroking their cocks as now it was the woman and one of the men sharing the third man's hard member.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/escenabisexual2.webm" type="video/webm"></video></center>
Minutes passed, and both friends, without a word, began to ejaculate. The last of the two was Raúl, who stained his pants with his own cum.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Raul/raulpaja2.webm" type="video/webm"></video></center>
Then the film vanished from the screen with a black flash, and a moment later the game they had been playing reappeared, paused and waiting.
"Let me clean up and we'll keep playing. Sound good?" Toni asked, adjusting his glasses.
Raúl nodded, and both got up to head to the bathroom. You ran to the front door and slipped out of the house, confident that this shared moment was just the first step toward something greater.
[[Catch your breath|Rellano del 2º]]
<<set $notaRaul2 to false>>
<<set $notaRaul3 to true>>
<<set $RecuerdoRaul2 to true>>
<<set $corrupcionRaul to 15>>
<<set $recuerdosRaul += 1>>
<</if>><<if $idioma is "es">>
<h2 class="fade">🌟 Recuerdo 2: Intimidad entre amigos</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Aceptado que ibas a corromper a tu hermano y que, en cierto momento, este caería en tus brazos, decidiste ponerte manos a la obra para romper las barreras que el tímido e introvertido Raúl se había generado. Sabías que el único modo de acceder a la parte física de tu hermano sería a través de su amigo de la infancia, Toni, con quien quedaba varios días a la semana para jugar juntos a la consola.
</p>
<center><img src="images/Raul/raulconsolatoni.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dem te llamó en el momento en que espiabas a los dos amigos. Te ofreció una app nueva que te permitía enviar al demonio a cualquier aparato electrónico: la app Demone. De ese modo, cambió la imagen del videojuego por la de una película porno.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/escenabisexual1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Toni enseguida le dijo a su amigo que aprovecharan y se hicieran una paja, pero Raúl aún era reticente. Para ayudarle, usaste la app de Excitación a Distancia para ponerle lo más caliente posible.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/raulseponecachondo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Los dos amigos comenzaron a masturbarse con la mirada absorta en la película. Toni, incluso, llegó a desnudarse del todo.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/tonipaja.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Entonces se descubrió el truco de Dem. La película porno era sobre dos hombres bisexuales. Aunque la escena derivó hacia algo más explícito, los dos amigos siguieron masturbándose sin inmutarse.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/escenabisexual2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Al final, ambos se corrieron sin importarles lo que mostraba la pantalla. Raúl manchó su propio pantalón con su esperma.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/raulpaja2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
¿Podría ser este el primer paso para que la relación entre Raúl y Toni fuera más profunda?
</p>
<<else>>
<h2 class="fade">🌟 Memory 2: Intimacy between friends</h2>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Having accepted that you were going to corrupt your brother — and that at some point he would fall into your hands — you decided to get to work breaking down the barriers that shy, introverted Raúl had built around himself. You knew the only way to reach your brother's physical side would be through his childhood friend Toni, with whom he met several days a week to play console games together.
</p>
<center><img src="images/Raul/raulconsolatoni.png" class="fade" width="400" style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Dem called you at the very moment you were spying on the two friends. She offered you a new app that would let her send her demon into any electronic device — the Demone app. Using it, she replaced the video game with a porn film.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/escenabisexual1.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Toni immediately suggested they take advantage of the moment and jerk off together, but Raúl was still reluctant. To help him along, you used the Remote Arousal app to get him as worked up as possible.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/raulseponecachondo.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Both friends began masturbating, their eyes glued to the film. Toni even went so far as to strip completely.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/tonipaja.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Then Dem's trick was revealed. The porn film featured two bisexual men. As the scene grew more explicit, both friends kept stroking themselves without flinching.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/escenabisexual2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
In the end, both came without caring what was on screen. Raúl stained his own pants with his cum.
</p>
<center><video autoplay loop muted playsinline style="border-radius: 15px; border: 3px solid #ff69b4; box-shadow: 0 0 20px rgba(255, 105, 180, 0.5); margin: 20px 0;"><source src="images/Raul/raulpaja2.webm" type="video/webm"></video></center>
<p class="fade" style="font-size: 1.1em; line-height: 1.8; color: #ddd; padding: 0 20px;">
Could this be the first step toward something deeper between Raúl and Toni?
</p>
<</if>>
<div class="choice-container fade" style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a Recuerdos de Raúl" "RecuerdosRaul">><</link>>
<<else>>
<<link "⬅️ Back to Raúl's Memories" "RecuerdosRaul">><</link>>
<</if>>
</div><<if $idioma is "es">>
<div class="header-image">
<img src="images/Raul/Raul.png" alt="Raúl">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Recuerdos de Raúl</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
Has desbloqueado <strong><<print $recuerdosRaul>></strong> recuerdo<<if $recuerdosRaul > 1>>s<</if>> especial<<if $recuerdosRaul > 1>>es<</if>> con Raúl.
</p>
<<else>>
<div class="header-image">
<img src="images/Raul/Raul.png" alt="Raúl">
</div>
<h2 style="text-align: center; color: #ff69b4; margin-bottom: 10px;">🔥 Memories with Raúl</h2>
<p style="text-align: center; color: #ff69b4; font-size: 1.1em; margin-top: 5px; margin-bottom: 30px;">
You have unlocked <strong><<print $recuerdosRaul>></strong> special memor<<if $recuerdosRaul > 1>>ies<<else>>y<</if>> with Raúl.
</p>
<</if>>
<div class="recuerdos-list">
<<if $RecuerdoRaul1>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 1: ¡Se acabó la mojigatería!</h3>
<p>Tu hermano regresa a casa y cambias el modo en que lo miras.</p>
<<else>>
<h3>Memory 1: No more prudishness!</h3>
<p>Your brother comes home and you start seeing him in a different light.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRaul1">><</link>>
<<else>>
<<link "View →" "RecuerdoRaul1">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRaul2>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 2: Intimidad entre amigos</h3>
<p>Raúl y su amigo Toni comparten un momento íntimo y sexual.</p>
<<else>>
<h3>Memory 2: Intimacy between friends</h3>
<p>Raúl and his friend Toni share an intimate and sexual moment.</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRaul2">><</link>>
<<else>>
<<link "View →" "RecuerdoRaul2">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRaul3>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 3: Contenido próximo</h3>
<p>Próximamente...</p>
<<else>>
<h3>Memory 3: Upcoming content</h3>
<p>Coming soon...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRaul3">><</link>>
<<else>>
<<link "View →" "RecuerdoRaul3">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRaul4>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 4: Contenido próximo</h3>
<p>Próximamente...</p>
<<else>>
<h3>Memory 4: Upcoming content</h3>
<p>Coming soon...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRaul4">><</link>>
<<else>>
<<link "View →" "RecuerdoRaul4">><</link>>
<</if>>
</div>
</div>
<</if>>
<<if $RecuerdoRaul5>>
<div class="recuerdo-box">
<div class="recuerdo-box-icon">⭐</div>
<div class="recuerdo-box-content">
<<if $idioma is "es">>
<h3>Recuerdo 5: Contenido próximo</h3>
<p>Próximamente...</p>
<<else>>
<h3>Memory 5: Upcoming content</h3>
<p>Coming soon...</p>
<</if>>
</div>
<div class="recuerdo-box-btn">
<<if $idioma is "es">>
<<link "Ver →" "RecuerdoRaul5">><</link>>
<<else>>
<<link "View →" "RecuerdoRaul5">><</link>>
<</if>>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 30px;">
<<if $idioma is "es">>
<<link "⬅️ Volver a la Galería" "Recuerdosporno">><</link>>
<<else>>
<<link "⬅️ Back to Gallery" "Recuerdosporno">><</link>>
<</if>>
</div>
<style>
.recuerdos-list {
max-width: 700px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 15px;
padding: 0 20px;
}
.recuerdo-box {
background: linear-gradient(135deg, rgba(255, 105, 180, 0.15) 0%, rgba(255, 20, 147, 0.1) 100%);
border: 2px solid rgba(255, 105, 180, 0.4);
border-radius: 15px;
padding: 20px;
display: flex;
align-items: center;
gap: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 105, 180, 0.2);
}
.recuerdo-box:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 105, 180, 0.4);
border-color: #ff69b4;
background: linear-gradient(135deg, rgba(255, 105, 180, 0.2) 0%, rgba(255, 20, 147, 0.15) 100%);
}
.recuerdo-box-icon {
font-size: 2.5em;
flex-shrink: 0;
filter: drop-shadow(0 0 8px rgba(255, 105, 180, 0.6));
}
.recuerdo-box-content {
flex: 1;
}
.recuerdo-box-content h3 {
margin: 0 0 8px 0;
color: #ff69b4;
font-size: 1.3em;
text-shadow: 0 0 10px rgba(255, 105, 180, 0.5);
}
.recuerdo-box-content p {
margin: 0;
color: #ddd;
font-size: 0.95em;
font-style: italic;
}
.recuerdo-box-btn {
flex-shrink: 0;
}
.recuerdo-box-btn a {
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, #ff69b4, #ff1493);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1em;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(255, 105, 180, 0.3);
text-decoration: none;
}
.recuerdo-box-btn a:hover {
background: linear-gradient(135deg, #ff1493, #ff69b4);
transform: scale(1.05);
box-shadow: 0 6px 15px rgba(255, 105, 180, 0.5);
}
a.link-internal {
display: inline-block;
padding: 12px 30px;
background: linear-gradient(135deg, #555, #333);
color: white !important;
border-radius: 25px;
font-weight: bold;
font-size: 1.1em;
transition: all 0.3s ease;
text-decoration: none;
}
a.link-internal:hover {
background: linear-gradient(135deg, #666, #444);
transform: scale(1.05);
}
@media (max-width: 600px) {
.recuerdo-box {
flex-direction: column;
text-align: center;
gap: 15px;
}
.recuerdo-box-icon { font-size: 2em; }
.recuerdo-box-content h3 { font-size: 1.1em; }
.recuerdo-box-btn a { width: 100%; padding: 12px 20px; }
}
</style><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(35)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="Habitación" />
</div>
<div id="rpg-display"></div>
Nervioso, llamas de nuevo al teléfono que te dio el camello y esperas, casi taquicárdico, a que suene el timbre. Cuando lo hace, saltas del sillón para abrir la puerta. Aun sabiendo quién es, y que le has llamado tú, no puedes librarte de la sensación de peligro que te transmite su dura mirada.
<center><img src="images/Alex/camellopuerta.png" class="fade-in" width="400"></center>
"¿Quieres más mercancía?" —Pregunta, directo.
Asientes, y él saca de su bolsillo una nueva bolsa de la "marihuana especial de Dem". El camello no espera a recibir su pago de nuevo. Empujándote a la cama, te baja los pantalones y comienza, de nuevo, a hacerte una felación. Hasta que no te corres en su boca abierta no se da por satisfecho.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/camellomamada.webm" type="video/webm"></video></center>
Luego se viste y, sin más despedidas que un movimiento de cabeza, se marcha de tu casa.
<<set $Bolsadedroga = true>>
<span><<link "Te guardas la bolsa de droga">><<run Engine.play("habitacionsergio")>><</link>></span>
<<else>>
<<run setup.gameTime.addMinutes(35)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="Bedroom" />
</div>
<div id="rpg-display"></div>
Nervous, you call the dealer's number again and wait, heart nearly pounding out of your chest, for the doorbell to ring. When it does, you leap from the armchair to answer the door. Even knowing who it is—and that you called him yourself—you can't shake the sense of danger his hard stare conveys.
<center><img src="images/Alex/camellopuerta.png" class="fade-in" width="400"></center>
"You want more product?" —He asks, straight to the point.
You nod, and he pulls a new bag of "Dem's special marijuana" from his pocket. The dealer doesn't wait to receive payment this time. Pushing you onto the bed, he pulls down your pants and begins, once again, to go down on you. He only considers himself satisfied once you come in his open mouth.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Alex/camellomamada.webm" type="video/webm"></video></center>
Then he gets dressed and, with no farewell beyond a nod of his head, leaves your apartment.
<<set $Bolsadedroga = true>>
<span><<link "You pocket the bag of drugs">><<run Engine.play("habitacionsergio")>><</link>></span>
<<endif>>
<<set $abelmovilhackeado = true>>
<<set $abelgaynear to true>>
<<set $remanentesDeseo to $remanentesDeseo + 1>>
<<if $idioma is "es">>
Tu móvil vibra como para indicarte que Dem está haciendo su trabajo. Al marcharte, recibes un mensaje de tu asistente demonio.
<center><img src="images/demmovil.png" width="500"></center>
"Le he mandado varias publicidades de Gaynear que no podrá obviar. Yo creo que si entras en la app ya lo tendrás por ahí, buscando nuevas pollas de desconocidos por el vecindario."
[[Guardas el móvil|Rellano del 3º]]
<<else>>
Your phone vibrates as if to let you know that Dem is doing his job. As you leave, you receive a message from your demon assistant.
<center><img src="images/demmovil.png" width="500"></center>
"I've sent him several GayNear ads he won't be able to ignore. I reckon if you open the app you'll already find him there, hunting for new strangers' cocks around the neighbourhood."
[[You put your phone away|Rellano del 3º]]
<</if>><div id="francescogaynear-page">
<div class="fgn-topbar">
<div class="fgn-topbar-profile">
<img id="fgn-my-profile-img" src="images/Gaynear/sergiogaynear.png" alt="">
</div>
<span class="fgn-logo" onclick="window.openAppDirect('AppGaynear')">gay<span>near</span></span>
<span class="fgn-back-btn" onclick="window.openAppDirect('AppGaynear')">↩</span>
</div>
<div class="fgn-profile-section">
<div class="fgn-profile-left">
<div class="fgn-main-photo-wrap" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/abelgaynear.png" class="fgn-main-photo" alt="abelgaynear">
</div>
</div>
<div class="fgn-profile-right">
<div class="fgn-nick">Chicoabiertoynuevo06</div>
<div class="fgn-dist">~50m</div>
<div class="fgn-info-block">
<div class="fgn-info-row">🎂 <span><<if $idioma is "es">>20 años<<else>>20 years old<</if>></span></div>
<div class="fgn-info-row">🔎 <span><<if $idioma is "es">>No tengo predilección por ningún tipo de hombres.<<else>>I have no preference for any type of man.<</if>></span></div>
<div class="fgn-info-row">🏠 <span><<if $idioma is "es">>Vivo con mis abuelos, iría a tu casa.<<else>>I live with my grandparents, I would go to your place.<</if>></span></div>
<div class="fgn-info-row">🤫 <span><<if $idioma is "es">>Hace poco me desvirgaron, y ahora querría probar con otros hombres.<<else>>I recently lost my virginity, and now I'd like to try it with other men.<</if>></span></div>
</div>
</div>
</div>
<div class="fgn-bottom-section">
<div class="fgn-gallery">
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/abel1.jpg" alt="">
</div>
<div class="fgn-thumb" onclick="window.fgnExpandPhoto(this)">
<img src="images/Gaynear/abel2.jpg" alt="">
</div>
<div class="fgn-thumb fgn-thumb-video" onclick="window.fgnExpandVideo(this)">
<video src="images/Gaynear/abel3.mp4" muted></video>
<span class="fgn-play-icon">▶</span>
</div>
</div>
<div class="fgn-contact-col">
<button class="fgn-contact-btn" onclick="window.fgnContactarSolo('sergio', 'sexogaynearabel')">
<<if $idioma is "es">>CONTACTAR<<else>>CONTACT<</if>>
</button>
</div>
</div>
</div>
<div id="fgn-media-overlay" onclick="window.fgnCollapseMedia()">
<img id="fgn-media-img" src="" style="display:none;">
<video id="fgn-media-video" controls style="display:none;"></video>
</div>
<div id="fgn-reject-overlay">
<div class="fgn-reject-inner">
<p id="fgn-reject-msg1"></p>
<p id="fgn-reject-msg2"></p>
<button id="fgn-reject-close">
<<if $idioma is "es">>Cerrar<<else>>Close<</if>>
</button>
</div>
</div>
<<script>>
window.fgnCollapseMedia = function() {
var overlay = document.getElementById('fgn-media-overlay');
var oVid = document.getElementById('fgn-media-video');
overlay.classList.remove('active');
oVid.pause();
};
window.fgnExpandPhoto = function(thumb) {
var img = thumb.querySelector('img');
if (!img) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oVid.style.display = 'none'; oVid.pause();
oImg.src = img.src;
oImg.style.display = 'block';
overlay.classList.add('active');
};
window.fgnExpandVideo = function(thumb) {
var vid = thumb.querySelector('video');
if (!vid) return;
var overlay = document.getElementById('fgn-media-overlay');
var oImg = document.getElementById('fgn-media-img');
var oVid = document.getElementById('fgn-media-video');
oImg.style.display = 'none';
oVid.src = vid.src;
oVid.style.display = 'block';
oVid.play();
overlay.classList.add('active');
};
window.fgnContactarSolo = function(perfilRequerido, destino) {
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var lang = State.variables.idioma || 'es';
if (selected === perfilRequerido) {
var overlay = document.getElementById('app-overlay');
if (overlay) overlay.classList.remove('active');
Engine.play(destino);
} else {
document.getElementById('fgn-reject-msg1').textContent = lang === 'es'
? '😏 Parecen más interesados en tu verdadero yo...'
: '😏 They seem more interested in your true self...';
document.getElementById('fgn-reject-msg2').textContent = lang === 'es'
? 'Prueba con tu perfil real.'
: 'Try switching to your real profile.';
document.getElementById('fgn-reject-overlay').classList.add('active');
}
};
document.getElementById('fgn-reject-close').addEventListener('click', function() {
document.getElementById('fgn-reject-overlay').classList.remove('active');
});
(function() {
var profileImgs = {
'sergio': 'images/Gaynear/sergiogaynear.png',
'chicosexy': 'images/Gaynear/chicosexygaynear.png'
};
var selected = State.variables.gaynearSelectedProfile || 'sergio';
var img = document.getElementById('fgn-my-profile-img');
if (img && profileImgs[selected]) img.src = profileImgs[selected];
})();
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(35)>>
"¿También me hablas por aquí?" Te responde Abel al recibir tu mensaje.
"Verte me ha puesto muy cachondo" le respondes. "¿Bajas a mi casa, o qué?"
En menos de cinco minutos lo tienes en tu puerta y, enseguida, os estáis desnudando. Abel, más experimentado desde vuestro primer encuentro, se lanza a comerte la polla. Tú haces lo mismo, realizando un 69.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/abelgaynear1.webm" type="video/webm"></video></center>
Os pasáis la siguiente media hora follando. El culo de Abel es perfecto y el muchacho disfruta con tu polla tanto que te exprime más rápido de lo que te hubiera gustado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/abelgaynear2.webm" type="video/webm"></video></center>
"Llámame cuando quieras" te dice, y tú le sonríes, sabiendo que tener un amante tan bueno tan cerca de casa es un lujo que no vas a desaprovechar.
[[Continuar|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(35)>>
"You're messaging me here too?" Abel replies when he gets your message.
"Seeing you got me really horny," you answer. "Come down to mine, or what?"
In less than five minutes he's at your door and, within moments, you're both undressing. Abel, more experienced since your first encounter, dives straight for your cock. You do the same, falling into a 69.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/abelgaynear1.webm" type="video/webm"></video></center>
You spend the next half hour fucking. Abel's ass is perfect and the guy enjoys your cock so much that he wrings you out faster than you would have liked.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Gaynear/abelgaynear2.webm" type="video/webm"></video></center>
"Call me whenever you want," he says, and you smile back, knowing that having such a good lover so close to home is a luxury you're not going to waste.
[[Continue|habitacionsergio]]
<</if>><<run setup.gameTime.addMinutes(10)>>
<<if setup.isNight()>>
<div class="header-image">
<img src="images/localizaciones/gimnoche.png" alt="Gimnasio de noche" />
</div>
<<else>>
<div class="header-image">
<img src="images/localizaciones/gim.png" alt="Gimnasio" />
</div>
<</if>>
<<if $idioma is "es">>
Nunca has estado demasiado interesado en el gimnasio del barrio, pero varios de tus objetivos modelan sus cuerpos de deseo detrás de esos ventanales, así que ahora es tu nuevo patio de juegos.
CONTENIDO PROXIMO
<<else>>
You've never been too interested in the neighborhood gym, but several of your targets sculpt their desirable bodies behind those windows, so now it's your new playground.
COMING SOON
<</if>><<run setup.gameTime.addMinutes(6)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
Antes de ver qué sucede en el último rellano, escuchas el sonido inconfundible de una mudanza. Muebles siendo arrastrados, cajas que se dejan en el suelo con escaso cuidado, y voces de hombres resollando por el esfuerzo. Parece que los nuevos vecinos ya han llegado.
<center><img src="images/Sergio/mudanza.png" width="500"></center>
Enseguida notas cómo vibra el móvil, y sabes de inmediato que es Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sergio", text: "Dime, Dem." },
{ speaker: "dem", text: "Ya tienes nuevos objetivos. ¿Estás nervioso?" },
{ speaker: "sergio", text: "No... bueno, sí." },
{ speaker: "dem", text: "Sé que casi te he obligado a un extra de trabajo. Por eso quiero recompensarte." },
{ speaker: "sergio", text: "¿Una recompensa?" },
{ speaker: "dem", text: "He infiltrado a otro de mis amigos. Es ese, el que te está mirando." },
{ speaker: "sergio", text: "¿Cómo?" },
{ speaker: "dem", text: "Acércate a él. No tengas miedo." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Te acercas",
action: function() { Engine.play("Mudanza2"); }
}
]
]
});
});
<</script>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
Before you can see what's happening on the top landing, you hear the unmistakable sounds of a move. Furniture being dragged, boxes dropped on the floor with little care, and the voices of men grunting with the effort. It seems the new neighbors have finally arrived.
<center><img src="images/Sergio/mudanza.png" width="500"></center>
Your phone buzzes almost immediately, and you already know it's Dem.
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "dem", name: "Dem", portrait: "images/dem.png", color: "#ff69b4", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sergio", text: "What is it, Dem?" },
{ speaker: "dem", text: "You've got new targets. Nervous?" },
{ speaker: "sergio", text: "No... well, yes." },
{ speaker: "dem", text: "I know I've practically forced extra work on you. That's why I want to reward you." },
{ speaker: "sergio", text: "A reward?" },
{ speaker: "dem", text: "I've planted one of my friends in the building. That one, the one looking at you." },
{ speaker: "sergio", text: "What?" },
{ speaker: "dem", text: "Go up to him. Don't be afraid." }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[
{
text: "You approach him",
action: function() { Engine.play("Mudanza2"); }
}
]
]
});
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(20)>>
<<set $notaatico2 to false>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
Te acercas, dubitativo, a los tres hombres que trabajan en la mudanza. Uno de ellos enseguida te hace una seña y se separa de los otros dos. Te aproximas con él hacia una zona más apartada del rellano. Allí, el hombre se abre el mono de trabajo, mostrando un cuerpo delgado pero muy tonificado y, asomándose por la cintura, el glande reluciente de una polla erecta y húmeda de precum.
<center><img src="images/Sergio/mudanza2.png" width="500"></center>
Impactado, empiezas a notar cómo tu propio miembro se activa ante esa visión. El hombre se gira y se adentra en el interior del ático, y tú le sigues. Refugiados tras unas cajas, comenzáis a besaros. Tu mano pronto recorre su pecho compacto, pero el "regalo de Dem" no tarda en ponerse de rodillas y, sacando tu polla, empezar a mamártela.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/mudanza3.webm" type="video/webm"></video></center>
La combinación entre lo morboso de la situación y el temor a ser descubiertos te lleva pronto al éxtasis, y sientes que vas a acabar enseguida en el rostro de ese hombre. Él, que se percata enseguida, te da la vuelta y comienza a comerte el culo con una habilidad encomiable. Entonces se detiene, escuchas cómo escupe en su miembro y, tras meterte unos segundos un par de dedos, introduce su polla en tu agujero lentamente hasta que este se habitúa a su tamaño. Luego empieza a bombear y tú te muerdes el labio para no gritar de placer.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/mudanza4.webm" type="video/webm"></video></center>
Entonces te agarra de la cintura, y notas cómo se vacía en tu interior con tres descargas. Luego, de vuelta de rodillas, te masturba y te come la polla hasta que te corres, y tu esperma entra del todo por su garganta. Luego os vestís y salís del ático como si no hubiera pasado nada reseñable.
<<if $aticoinfluencer is true>>
[[Conocer al influencer|conocerinfluencer]]
<</if>>
<<if $aticofamilialatina is true>>
[[Conocer a la familia latina|conocerlatinos]]
<</if>>
<<if $aticofamiliareligiosa is true>>
[[Conocer a la familia religiosa|conocerreligiosos]]
<</if>>
<<if $aticoreciencasado is true>>
[[Conocer a la pareja|conocercasados]]
<</if>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
You approach the three men working on the move, somewhat hesitantly. One of them immediately signals to you and steps away from the other two. You follow him toward a more secluded corner of the landing. There, the man unzips his work overalls, revealing a lean but very toned body and, peeking out above his waistband, the glistening head of an erect cock wet with precum.
<center><img src="images/Sergio/mudanza2.png" width="500"></center>
Taken aback, you start to feel your own member stir at the sight. The man turns and heads inside the penthouse, and you follow. Hidden behind some boxes, you begin to kiss. Your hand soon travels across his firm chest, but Dem's "gift" doesn't take long to drop to his knees and, pulling out your cock, start sucking you off.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/mudanza3.webm" type="video/webm"></video></center>
The combination of the taboo thrill and the fear of being caught brings you quickly to the edge, and you feel you're about to finish all over that man's face. He senses it immediately, spins you around, and starts eating your ass with remarkable skill. Then he stops — you hear him spit onto his cock and, after working a couple of fingers into you for a few seconds, he slides his dick into your hole slowly until you adjust to his size. Then he starts to thrust, and you bite your lip to keep from crying out with pleasure.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/mudanza4.webm" type="video/webm"></video></center>
Then he grabs your waist, and you feel him emptying himself inside you in three deep pulses. Back on his knees, he strokes and sucks you until you come, your load sliding all the way down his throat. Then you both get dressed and leave the penthouse as if nothing worth mentioning had happened.
<<if $aticoinfluencer is true>>
[[Meet the influencer|conocerinfluencer]]
<</if>>
<<if $aticofamilialatina is true>>
[[Meet the Latin family|conocerlatinos]]
<</if>>
<<if $aticofamiliareligiosa is true>>
[[Meet the religious family|conocerreligiosos]]
<</if>>
<<if $aticoreciencasado is true>>
[[Meet the couple|conocercasados]]
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
Ya fuera en el rellano de nuevo, enseguida detectas quién es el nuevo habitante del edificio. El hombre es más grande de lo que te pareció en las fotos que te envió Dem. Discute con unos hombres con pinta de técnicos eléctricos, que no paran de subir herramientas y material.
El hombre, al percatarse, se gira hacia ti y, con una sonrisa increíblemente forzada, inicia una conversación.
<center><img src="images/Roca/rocallegada.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "roca", name: "Roca", portrait: "images/Roca/roca.png", color: "#e67e22", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "roca", text: "Veo que me ha encontrado un seguidor..." },
{ speaker: "sergio", text: "Eh... no... bueno..." },
{ speaker: "roca", text: "Entenderás que necesito mi espacio y mi privacidad. No temas. Estoy seguro de que publicaré un nuevo vídeo en unos días." },
{ speaker: "sergio", text: "No, a ver. No me has entendido, soy un vecino." },
{ speaker: "roca", text: "Ah, entonces ¿qué quieres?" },
{ speaker: "sergio", text: "Nada, presentarme." },
{ speaker: "roca", text: "Pues hola, y gracias por la bienvenida. No le digas a nadie que vivo aquí. Me gustaría mantener mi privacidad." },
{ speaker: "sergio", text: "Tranquilo, aunque..." },
{ speaker: "roca", text: "¿Qué pasa?" },
{ speaker: "sergio", text: "¿Podemos hacernos una foto?" },
{ speaker: "roca", text: "Uhmm, de acuerdo. Pero no la publiques en redes, ¿entendido?" }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "Le sacas una foto",
action: function() {
State.variables.Rocacontacto = true;
State.variables.notaRoca1 = true;
State.variables.corrupcionRoca = 0;
Engine.play("Rellano del 4º");
}
}
]
]
});
});
<</script>>
<<else>>
<div class="header-image">
<img src="images/localizaciones/rellano4.png" alt="rellano4" />
</div>
Back on the landing, you immediately spot who the building's new resident is. The man is bigger than he seemed in the photos Dem sent you. He's arguing with a group of men who look like electricians, constantly hauling tools and equipment up the stairs.
The man notices you, turns around, and with an incredibly forced smile, starts a conversation.
<center><img src="images/Roca/rocallegada.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "roca", name: "Roca", portrait: "images/Roca/roca.png", color: "#e67e22", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "roca", text: "I see a fan has tracked me down..." },
{ speaker: "sergio", text: "Uh... no... well..." },
{ speaker: "roca", text: "You'll understand that I need my space and my privacy. Don't worry. I'm sure I'll post a new video in a few days." },
{ speaker: "sergio", text: "No, hang on. You've misunderstood me — I'm a neighbor." },
{ speaker: "roca", text: "Ah. So what do you want?" },
{ speaker: "sergio", text: "Nothing, just to introduce myself." },
{ speaker: "roca", text: "Well, hi, and thanks for the welcome. Don't tell anyone I live here. I'd like to keep my privacy." },
{ speaker: "sergio", text: "Don't worry, although..." },
{ speaker: "roca", text: "What?" },
{ speaker: "sergio", text: "Can we take a photo together?" },
{ speaker: "roca", text: "Uhmm, fine. But don't post it online, understood?" }
],
options: [
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[
{
text: "You take a photo of him",
action: function() {
State.variables.Rocacontacto = true;
State.variables.notaRoca1 = true;
State.variables.corrupcionRoca = 0;
Engine.play("Rellano del 4º");
}
}
]
]
});
});
<</script>>
<</if>><<run setup.gameTime.addMinutes(1)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/bañokebab.png" alt="Baño del kebab" />
</div>
El baño del kebab de Ahmed no es su zona más vistosa para los clientes. Está algo anticuado, heredado del negocio anterior, pero está limpio. No tendrías problemas en usarlo si la comida no te ha sentado del todo bien.
<<if setup.hasTemporalMark('Juanan', 'excitado') or setup.hasTemporalMark('Ernesto', 'excitado') or setup.hasTemporalMark('Adler', 'excitado')>>
<<if $formaFantasmalActiva is true>>
<span style="color: #88ccff; font-style: italic;">👻 Tu forma fantasmal te permite deslizarte al interior sin hacer ruido...</span>
<<if setup.hasTemporalMark('Juanan', 'excitado')>>
<<link "👻 Entrar al baño tras Juanan">><<run Engine.play('JuananExcitadoBaño')>><</link>>
<</if>>
<<if setup.hasTemporalMark('Ernesto', 'excitado')>>
<<link "👻 Entrar al baño tras Ernesto">><<run Engine.play('ErnestoExcitadoBaño')>><</link>>
<</if>>
<<if setup.hasTemporalMark('Adler', 'excitado')>>
<<link "👻 Entrar al baño tras Adler">><<run Engine.play('AdlerExcitadoBaño')>><</link>>
<</if>>
<<else>>
<span style="color: #888; font-style: italic;">Escuchas ruidos amortiguados procedentes del interior del baño. La puerta está cerrada por dentro.</span>
<</if>>
<</if>>
[[Volver al restaurante|Kebab]]
[[Salir del local|Exterior]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/bañokebab.png" alt="Kebab bathroom" />
</div>
Ahmed's kebab bathroom isn't the most impressive part of the place for customers. It's a bit dated, inherited from the previous business, but it's clean. You wouldn't have any trouble using it if the food didn't quite agree with you.
<<if setup.hasTemporalMark('Juanan', 'excitado') or setup.hasTemporalMark('Ernesto', 'excitado') or setup.hasTemporalMark('Adler', 'excitado')>>
<<if $formaFantasmalActiva is true>>
<span style="color: #88ccff; font-style: italic;">👻 Your ghost form lets you slip inside without making a sound...</span>
<<if setup.hasTemporalMark('Juanan', 'excitado')>>
<<link "👻 Slip into the bathroom after Juanan">><<run Engine.play('JuananExcitadoBaño')>><</link>>
<</if>>
<<if setup.hasTemporalMark('Ernesto', 'excitado')>>
<<link "👻 Slip into the bathroom after Ernesto">><<run Engine.play('ErnestoExcitadoBaño')>><</link>>
<</if>>
<<if setup.hasTemporalMark('Adler', 'excitado')>>
<<link "👻 Slip into the bathroom after Adler">><<run Engine.play('AdlerExcitadoBaño')>><</link>>
<</if>>
<<else>>
<span style="color: #888; font-style: italic;">You can hear muffled sounds coming from inside the bathroom. The door is locked from within.</span>
<</if>>
<</if>>
[[Back to the restaurant|Kebab]]
[[Leave the place|Exterior]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Zona privada del kebab" />
</div>
Hace apenas unos minutos que has visto a Ahmed atravesar a toda prisa esta puerta, y sabes perfectamente a qué ha venido. Mediante tu forma etérea, cruzas esa barrera para acceder a la parte privada del local. Los gemidos del cocinero son inconfundibles. Se encuentra en la zona de descanso, un pequeño apartamento en miniatura. Allí, completamente desnudo, Ahmed se masturba con rapidez. Su cuerpo velludo y fibroso te atrae tanto que casi te lanzas a abrazarlo, pero lo atravesarías igual que has atravesado la puerta. Huele a sudor, especias y, ahora también, a sexo. Te sacas la polla y le acompañas.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ahmed/ahmedsexy4.webm" type="video/webm"></video>
El turco se sienta en una de las sillas y comienza a convulsionarse. Su polla empieza a eyacular sobre su pecho y su vello atrapa toda la leche. Mientras se viste, aprovechando que está de espaldas, tú también te corres. Tu corrida, sólida al abandonar tu cuerpo, le impacta en la parte trasera del muslo. Se gira al notarlo, pero al no ver nada no le da importancia, se limpia apenas un poco y se marcha. Tú sales poco después.
[[Salir de la zona privada|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Kebab private area" />
</div>
Just a few minutes ago you watched Ahmed hurry through this door, and you know exactly why. Using your ethereal form, you pass straight through the barrier and into the private part of the place. The cook's moans are unmistakable. He's in the break room — a tiny makeshift apartment. There, completely naked, Ahmed is stroking himself rapidly. His hairy, lean body draws you in so much you almost reach out to embrace him, though you'd pass right through him just as you passed through the door. It smells of sweat, spices, and now sex. You pull out your cock and join him.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Ahmed/ahmedsexy4.webm" type="video/webm"></video>
The Turk sits down on one of the chairs and begins to shudder. His cock starts to unload over his chest, his body hair catching every drop. While he gets dressed, with his back turned, you finish too. Your cum, solid the moment it leaves your body, strikes him on the back of the thigh. He turns around at the sensation, but seeing nothing there, dismisses it — gives himself a cursory wipe and heads out. You follow shortly after.
[[Leave the private area|Kebab]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Zona privada del kebab" />
</div>
Convertido en fantasma, sigues a Hamza, que ha entrado rápidamente en la zona privada del local para, seguramente, librarse del calentón en el que le has metido. Aciertas: en la pequeña zona de descanso que hay tras la puerta, el repartidor está desnudo en el suelo, acariciando su polla con los ojos cerrados, pensando en algo que le excite.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Hamza/Hamzapajaprivado.webm" type="video/webm"></video>
Deseas meterle tu polla en la boca, pero lo máximo que puedes hacer es sacártela y acompañar al turco con tu propia paja. Os corréis casi a la vez. Él sobre su pecho, y tú, para evitar problemas, sobre la alfombra a centímetros del joven, pues sabes que todo lo que pierda contacto con tu cuerpo se convierte al instante en sólido. El repartidor se viste y se marcha, dejándote solo con la mancha de tu ADN sobre la alfombra, como recordatorio de lo que quieres hacerle algún día al muchacho.
[[Salir de la zona privada|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(20)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Kebab private area" />
</div>
As a ghost, you follow Hamza, who has slipped quickly into the private area of the place to deal with the arousal you've stirred up in him. You're right: in the small break room behind the door, the delivery guy is on the floor, naked, stroking his cock with his eyes closed, thinking of something to fuel his excitement.
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;"><source src="images/Hamza/Hamzapajaprivado.webm" type="video/webm"></video>
You'd love to push your cock between his lips, but the most you can do is pull it out and join the Turk with your own. You come almost simultaneously. Him over his chest, and you — carefully — over the carpet a few centimetres from the young man, knowing that anything that leaves your body instantly becomes solid. The delivery guy gets dressed and leaves, and you're left alone with your DNA on the carpet as a reminder of what you want to do to him someday.
[[Leave the private area|Kebab]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Zona privada del kebab" />
</div>
Tras la puerta se abre la zona privada del kebab. Al fondo hay un almacén. A la derecha, el baño de los empleados. Y a la izquierda, una zona de descanso que parece un pequeño apartamento en miniatura: mesa, minicocina e incluso una cama.
[[Regresar al kebab|Kebab]]
<<else>>
<<run setup.gameTime.addMinutes(2)>>
<div class="header-image">
<img src="images/localizaciones/privadokebab.png" alt="Kebab private area" />
</div>
Beyond the door lies the kebab's private area. At the back, a storeroom. To the right, the staff bathroom. And to the left, a break room that feels like a tiny self-contained apartment — a table, a small kitchen, and even a bed.
[[Back to the kebab|Kebab]]
<</if>><<set $fantasmapaja to true>>
<<run setup.gameTime.addMinutes(10)>>
<<script>>
if (!State.variables.formaFantasmalActiva) {
setTimeout(function() { Engine.play('raulteexpulsabaño'); }, 50);
}
<</script>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
Desde la seguridad de tu invisibilidad fantasmal, puedes ver cómo tu combinación de botones en la app ha convertido su polla en una dura vara. Raúl no pierde el tiempo y comienza a masturbarse, y tú, de rodillas, la observas a centímetros de tu rostro.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Raul/Raulpajaducha.webm" type="video/webm"></video></center>
Cuando acaba, cierras los ojos y abres la boca, pero nada de su esperma te alcanza. Cae sobre la mampara de la ducha. Molesto, sales del baño más caliente de lo que estabas.
[[Sales del baño|Salón]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
From the safety of your ghostly invisibility, you can watch as your combination of buttons in the app has turned his cock into a hard rod. Raúl wastes no time and starts stroking himself, while you, on your knees, observe it just centimetres from your face.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Raul/Raulpajaducha.webm" type="video/webm"></video></center>
When he finishes, you close your eyes and open your mouth — but none of his cum reaches you, falling instead against the shower screen. Frustrated, you leave the bathroom more worked up than when you arrived.
[[You leave the bathroom|Salón]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habitación de Raúl" />
</div>
De repente, Raúl se percata de que estás en su cuarto. Con la polla dura, grita al verte y se tapa a mitad de su paja con la sábana.
"¿QUÉ HACES AQUÍ? ¡FUERA!"
<center><img src="images/Raul/raulteechacuarto.png" class="fade-in" width="400"></center>
[[Te disculpas y sales de allí|Salón]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="Raúl's room" />
</div>
Suddenly, Raúl realises you're in his room. Hard and mid-stroke, he shouts when he sees you and covers himself with the sheet.
"WHAT ARE YOU DOING HERE? GET OUT!"
<center><img src="images/Raul/raulteechacuarto.png" class="fade-in" width="400"></center>
[[You apologise and leave|Salón]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
Raúl abre los ojos y te encuentra allí, en el baño. Rápidamente coge una toalla y se tapa mientras te grita:
"¿QUÉ HACES AQUÍ? ¡FUERA!"
<center><img src="images/Raul/raulteexpulsaducha.png" class="fade-in" width="400"></center>
[[Te disculpas y sales del baño|Salón]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/bañosergio.jfif" alt="baño" />
</div>
Raúl opens his eyes and finds you there, in the bathroom. He quickly grabs a towel to cover himself and shouts at you:
"WHAT ARE YOU DOING HERE? GET OUT!"
<center><img src="images/Raul/raulteexpulsaducha.png" class="fade-in" width="400"></center>
[[You apologise and leave the bathroom|Salón]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Algo en ti piensa que esto no está bien, pero debes cumplir el encargo de Dem. Además, hacerlo es tan prohibido que te excita. Sacándote la polla, comienzas a pajearte a centímetros del rostro de tu hermano, con la seguridad de que no vas a ser descubierto.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Entonces llega, una, dos tres, descargas. El esperma se solidifica al dejar tu cuerpo y cae, espeso y traslúcido, en el rostro de Raúl. Este no se percata, y sigue durmiendo como si nada. Con una sonrisilla, abandonas el cuarto.
<center><img src="images/Raul/raulconcorrida.png" class="fade-in" width="400"></center>
[[Te marchas|habitacionsergio]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionraul.png" alt="habraul" />
</div>
Something inside you tells you this isn't right, but you have to do what Dem asked. Besides, doing it is so forbidden that it excites you. Pulling out your cock, you start jerking off inches from your brother's face, confident that you won't be caught.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Then it comes, one, two, three, you ejaculate. The semen solidifies as it leaves your body and falls, thick and translucent, onto Raúl's face. He doesn't notice and continues sleeping as if nothing happened. With a small smile, you leave the room.
<center><img src="images/Raul/raulconcorrida.png" class="fade-in" width="400"></center>
[[You're leaving|habitacionsergio]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="habraul" />
</div>
A pesar de la oscuridad, el cuerpo atractivo del deportista es perfectamente visible en la penumbra. Con paso firme, y seguro de tu forma fantasmal, te acercas al rostro de Damián y le escuchas expirar, cansado seguramente por su entrenamiento diario. Sin dudar, te sacas la polla y comienzas a pajearte rápidamente.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Aunque quieres tocarle, sabes que no estás ahí para eso. Tu eyaculación no tarda en llegar, y tu esperma, sólido al salir de tu cuerpo, impacta sobre el rostro de Damián, que apenas se mueve. Cuando despierte solo notara algo seco sobre su rostro, y pensara que habrán sido sus propias babas.
<center><img src="images/Damian/damiancorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="habraul" />
</div
Despite the darkness, the athlete's attractive body is perfectly visible in the gloom. With a firm step, confident in your ghostly form, you approach Damian's face and hear him exhale, undoubtedly tired from his daily training. Without hesitation, you pull out your cock and begin to masturbate rapidly.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Even though you want to touch him, you know you're not there for that. Your ejaculation comes quickly, and your sperm, solid as it leaves your body, hits Damian's face, who barely moves. When he wakes up, he'll only notice something dry on his face and think it was his own saliva.
<center><img src="images/Damian/damiancorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1A]]<<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="habmat1A" />
</div>
Aunque en forma fantasmal no haces el menor ruido, no puedes evitar moverte como si Ernesto fuera a despertarse. Al llegar a su lado, te das cuenta por sus ronquidos que no será capaz de escucharte aunque fueras sólido. Sonríes, te sacas la polla y comienzas a masturbarte a centímetros de su rostro.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
No tardas en acabar sobre el rostro del médico. El cubano sigue dormido, aunque varios chorros de semen le resbalan entre las mejillas. Sonríes y sales de la habitación.
<center><img src="images/Ernesto/ernestocorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionmatrimonio1A.png" alt="habmat1A" />
</div>
Although you're ghostly and make no sound, you can't help but move as if Ernesto might wake up. When you reach his side, you realize from his snores that he wouldn't be able to hear you even if you were solid. You smile, pull out your cock, and start masturbating inches from his face.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
You quickly finish on the doctor's face. The Cuban is still asleep, though several spurts of semen trickle down his cheeks. You smile and leave the room.
<center><img src="images/Damian/damiancorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1A]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="habmat1A" />
</div>
Descubres, al entrar en el cuarto, que a pesar de ser un ente insustancial, puedes oler perfectamente el acre olor a sudor, humanidad y marihuana. Recordando todos los desplantes y malas palabras que ha tenido Alex contigo, te acercas a su cara y comienzas a pajearte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Cuando sientes que vas a correrte, no dudas en apuntar al rostro del porrero que, drogado como seguramente está, se llena de tu leche sin inmutarse. Te alejas unos pasos para ver tu obra, orgulloso.
<center><img src="images/Alex/alexcorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="habmat1A" />
</div>
Upon entering the room, you discover that despite being an insubstantial being, you can clearly smell the acrid scent of sweat, humanity, and marijuana. Remembering all the insults and harsh words Alex has hurled at you, you approach his face and begin to masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
When you feel like you're about to ejaculate, you don't hesitate to aim at the face of the stoner who, high as he surely is, gets covered in your cum without flinching. You step back a few paces to admire your handiwork, proud of it.
<center><img src="images/Alex/alexcorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1A]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncilloalex to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Habitación de Alex" />
</div>
Es fácil escoger cualquier calzoncillo usado de Alex como trofeo, pues el cuarto está lleno de ellos. Coges uno cerca de la cama y enseguida notas su olor característico a sudor y maría, tan propio de un porrero empedernido.
<center><img src="images/Alex/alexcalzoncillos.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionalex.png" alt="Alex's room" />
</div>
It's easy to pick any of Alex's used underwear as a trophy since the room is full of them. You grab one near the bed and immediately notice its characteristic smell of sweat and weed, so typical of a hardcore stoner.
<center><img src="images/Alex/alexcalzoncillos.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor1A]]
<</if>>
<<set $fantasmacalzoncillo to true>>
<<set $calzoncillodamian to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
Aun en forma fantasmal, giras el rostro buscando dónde podría guardar el deportista alguna prenda interior usada. Entonces ves, en una de las esquinas, su bolsa de deporte. La abres y enseguida encuentras el suspensorio del entrenamiento de ese día. Aún está algo húmedo.
<center><img src="images/Damian/calzoncillodamian.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
Still in ghost form, you glance around looking for where the athlete might have left some used underwear. Then you spot his sports bag in one of the corners. You open it and immediately find his jockstrap from that day's training session. It's still slightly damp.
<center><img src="images/Damian/calzoncillodamian.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor1A]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncilloernesto to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Habitación de Damián" />
</div>
Aun en forma fantasmal, giras el rostro buscando dónde podría guardar el deportista alguna prenda interior usada. Entonces ves, en una de las esquinas, su bolsa de deporte. La abres y enseguida encuentras el suspensorio del entrenamiento de ese día. Aún está algo húmedo.
<center><img src="images/Ernesto/ernestocalzoncillo.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor1A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño1A.png" alt="Damián's room" />
</div>
Still in ghost form, you glance around looking for where the athlete might have left some used underwear. Then you spot his sports bag in one of the corners. You open it and immediately find his jockstrap from that day's training session. It's still slightly damp.
<center><img src="images/Ernesto/ernestocalzoncillo.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor1A]]
<</if>><<set $juananExcitadoDestino to "habitacionjuanan">>
<<set $taoExcitadoDestino to "Taoexcitado">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Salón" />
</div>
Juanan y Tao están en el sofá viendo la televisión juntos. Tao está casi dormido apoyado en el hombro de su padre, que le pasa el brazo por encima sin apartar los ojos de la pantalla. Una escena cotidiana y tranquila.
<center><img src="images/Juanan/juanantaosalon.png" width="500"></center>
[[Salir del salón|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Living room" />
</div>
Juanan and Tao are on the couch watching television together. Tao is almost asleep leaning on his father's shoulder, who has his arm around him without taking his eyes off the screen. A quiet, everyday scene.
<center><img src="images/Juanan/juanantaosalon.png" width="500"></center>
[[Leave the living room|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Salón" />
</div>
Juanan está espatarrado en el sofá con una cerveza en la mano, viendo la televisión solo. Parece que esta es la única forma de desconectar que se permite después de un día duro de trabajo. No te ha visto entrar.
<center><img src="images/Juanan/juanansolosalon.png" width="500"></center>
[[Salir del salón|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Living room" />
</div>
Juanan is sprawled on the couch with a beer in hand, watching television alone. It seems this is the only way he allows himself to unwind after a hard day's work. He hasn't noticed you come in.
<center><img src="images/Juanan/juanansolosalon.png" width="500"></center>
[[Leave the living room|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var currentSemblante = State.variables.currentSemblanteActive;
var isAllowed = false;
if (!isAllowed) {
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}
}, 100);
<</script>><<set $taoExcitadoDestino to "Taoexcitado">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Salón" />
</div>
Tao está en el sofá con el móvil en la mano, scrolleando sin parar entre vídeos y chats mientras se come algo. Su padre todavía no ha llegado del trabajo y aprovecha para tener el mando de la tele para él solo.
<center><img src="images/Tao/taosalonsolo.png" width="500"></center>
[[Salir del salón|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Living room" />
</div>
Tao is on the couch with his phone in hand, endlessly scrolling through videos and chats while eating something. His father hasn't come home from work yet and he's taking advantage of having the TV remote all to himself.
<center><img src="images/Tao/taosalonsolo.png" width="500"></center>
[[Leave the living room|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Juanan te mira extrañado al verte dentro de su casa. Cruza los brazos y, como nunca lo has visto, cambia su expresión a una bastante seria, casi agresiva.
<center><img src="images/Juanan/juanantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "juanan",
name: "Juanan",
portrait: "images/Juanan/juanan.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "juanan", text: "¿Sergio? No recuerdo haberte dejado entrar en mi casa. ¿Cómo has entrado?" },
{ speaker: "sergio", text: "Pues mira... Tao me ha dejado entrar." },
{ speaker: "juanan", text: "Qué extraño. ¿Necesitas algo o...?" },
{ speaker: "sergio", text: "No, tranquilo, ya me iba." }
],
options: [
[], [], [],
[
{
text: "Marcharse avergonzado",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Juanan se gira bruscamente hacia ti. Su rostro se tensa al ver a un extraño en su hogar.
<center><img src="images/Juanan/juanantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "juanan",
name: "Juanan",
portrait: "images/Juanan/juanan.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "juanan", text: "¿Quién es usted? ¿Qué hace en mi casa?" },
{ speaker: "sergio", text: "¡Disculpe! Me he confundido de piso..." },
{ speaker: "sergio", text: "Ya me voy, perdone." },
{ speaker: "juanan", text: "¡Largo de aquí!" }
],
options: [
[], [], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Juanan stops dead in his tracks when he sees you inside his home. He crosses his arms and, in a way you have never seen before, his expression turns serious, almost aggressive.
<center><img src="images/Juanan/juanantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "juanan",
name: "Juanan",
portrait: "images/Juanan/juanan.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "juanan", text: "Sergio? I don\'t remember letting you in. How did you get in?" },
{ speaker: "sergio", text: "Well... Tao let me in." },
{ speaker: "juanan", text: "That\'s strange. Do you need something or...?" },
{ speaker: "sergio", text: "No, it\'s fine, I was just leaving." }
],
options: [
[], [], [],
[
{
text: "Leave embarrassed",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Juanan turns sharply toward you. His face tenses when he sees a stranger in his home.
<center><img src="images/Juanan/juanantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "juanan",
name: "Juanan",
portrait: "images/Juanan/juanan.png",
color: "#4a90e2",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "juanan", text: "Who are you? What are you doing in my house?" },
{ speaker: "sergio", text: "I\'m sorry! I got the wrong apartment." },
{ speaker: "sergio", text: "I\'m leaving now, sorry." },
{ speaker: "juanan", text: "Get out of here!" }
],
options: [
[], [], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Tao levanta la vista y te mira sorprendido. No parece asustado, pero sí algo confuso ante tu presencia.
<center><img src="images/Tao/taotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "tao",
name: "Tao",
portrait: "images/Tao/tao.png",
color: "#f9a825",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "tao", text: "¡Eh, Sergio! ¿Qué haces aquí? No sabía que ibas a venir." },
{ speaker: "sergio", text: "Sí, perdona, pasaba por aquí y..." },
{ speaker: "tao", text: "Mi padre no está en casa ahora mismo. ¿Querías hablar con él?" },
{ speaker: "sergio", text: "Sí, algo así. Ya volveré otro día." },
{ speaker: "tao", text: "Vale, no hay problema. Luego le digo que has venido." }
],
options: [
[], [], [], [],
[
{
text: "Marcharse",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Tao te mira con los ojos muy abiertos, claramente nervioso. No reconoce tu cara y retrocede un paso.
<center><img src="images/Tao/taotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "tao",
name: "Tao",
portrait: "images/Tao/tao.png",
color: "#f9a825",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "tao", text: "¿Quién es usted? ¿Cómo ha entrado aquí?" },
{ speaker: "sergio", text: "Tranquilo, me he confundido de piso. Ya me voy." },
{ speaker: "tao", text: "Pues... váyase, por favor. No debería estar aquí." },
{ speaker: "sergio", text: "Sí, sí, ya me marcho." },
{ speaker: "tao", text: "Como no se vaya ahora mismo llamo a mi padre." }
],
options: [
[], [], [], [],
[
{
text: "Marcharse rápidamente",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Tao looks up and stares at you, surprised. He doesn't seem scared, but he's clearly confused by your presence.
<center><img src="images/Tao/taotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "tao",
name: "Tao",
portrait: "images/Tao/tao.png",
color: "#f9a825",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "tao", text: "Hey, Sergio! What are you doing here? I didn\'t know you were coming." },
{ speaker: "sergio", text: "Yeah, sorry, I was passing by and..." },
{ speaker: "tao", text: "My dad\'s not home right now. Did you want to talk to him?" },
{ speaker: "sergio", text: "Yes, something like that. I\'ll come back another day." },
{ speaker: "tao", text: "Sure, no problem. I\'ll tell him you stopped by." }
],
options: [
[], [], [], [],
[
{
text: "Leave",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Tao stares at you with wide eyes, clearly nervous. He doesn't recognise your face and takes a step back.
<center><img src="images/Tao/taotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "tao",
name: "Tao",
portrait: "images/Tao/tao.png",
color: "#f9a825",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "tao", text: "Who are you? How did you get in here?" },
{ speaker: "sergio", text: "Don\'t worry, I got the wrong apartment. I\'m leaving." },
{ speaker: "tao", text: "Please leave. You shouldn\'t be here." },
{ speaker: "sergio", text: "Yes, yes, I\'m going." },
{ speaker: "tao", text: "If you don\'t leave right now I\'m calling my dad." }
],
options: [
[], [], [], [],
[
{
text: "Leave quickly",
action: function() {
Engine.play("Rellano del 1º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<set $juananExcitadoDestino to "habitacionjuanan">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Salón" />
</div>
Juanan desayuna de pie junto a la encimera, con el café en una mano y el móvil en la otra. Come rápido, como alguien acostumbrado a no tener tiempo. Ni siquiera se ha sentado.
<center><img src="images/Juanan/juanandesayunando.png" width="500"></center>
[[Salir del salón|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/salon1B.png" alt="Living room" />
</div>
Juanan is having breakfast standing by the counter, coffee in one hand and phone in the other. He eats quickly, like someone used to not having enough time. He hasn't even sat down.
<center><img src="images/Juanan/juanandesayunando.png" width="500"></center>
[[Leave the living room|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $juananExcitadoDestino to "habitacionjuanan">>
<<set $taoExcitadoDestino to "Taoexcitado">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Cocina" />
</div>
Juanan y Tao cenan juntos en la cocina. Tao habla animadamente de algo que pasó hoy mientras Juanan escucha con atención, asintiendo de vez en cuando. Es evidente que la relación entre padre e hijo es lo más sólido de esta casa.
<center><img src="images/Juanan/juanantaocenando.png" width="500"></center>
[[Salir de la cocina|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Kitchen" />
</div>
Juanan and Tao are having dinner together in the kitchen. Tao talks animatedly about something that happened today while Juanan listens attentively, nodding every now and then. It's clear that the father-son relationship is the most solid thing in this house.
<center><img src="images/Juanan/juanantaocenando.png" width="500"></center>
[[Leave the kitchen|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Cocina" />
</div>
La cocina del 1B es funcional y sin pretensiones. Muebles de madera clara, encimera de granito y los electrodomésticos justos. En la nevera hay una nota manuscrita con la lista de la compra: pan, leche, huevos, agua. Imanes de Segovia y otros recuerdos de viajes cubren la puerta blanca. Sobre la encimera, los restos de algún pedido de comida a domicilio que no se han tirado todavía. Una cocina de padre soltero que hace lo que puede.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _juananPresent to false>><<set _taoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 7.5)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9 and _currentTime < 10)>>\
<<set _juananPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 10 and _currentTime < 11)>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 14 and _currentTime < 15)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_currentTime >= 21 and _currentTime < 22)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
\
<<if _juananPresent and _taoPresent>>\
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>\
<<if (_currentTime >= 7 and _currentTime < 7.5)>>\
Juanan y Tao desayunan juntos rápidamente antes de salir. Juanan de pie con el café, Tao sentado terminando sus tostadas a toda prisa. [[Observarlos|JuananDesayunando]]
<<elseif (_currentTime >= 14 and _currentTime < 15)>>\
Juanan y Tao comen juntos en la cocina. [[Observarlos|JuananTaoComiendo]]
<<else>>\
Juanan y Tao cenan juntos en la cocina. [[Observarlos|JuananTaoCenando]]
<</if>>\
<<set _charactersPresent.push('Juanan', 'Tao')>>\
<<elseif _juananPresent>>\
<<run setup.registerCharactersInLocation(['Juanan'])>>\
Juanan desayuna solo en la cocina, tranquilamente, aprovechando el fin de semana. [[Acercarte|JuananDesayunando]]
<<set _charactersPresent.push('Juanan')>>\
<<elseif _taoPresent>>\
<<run setup.registerCharactersInLocation(['Tao'])>>\
Tao desayuna tarde en la cocina, en pijama y con cara de sueño. [[Acercarte|TaoDesayunando]]
<<set _charactersPresent.push('Tao')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de Tao|habitaciontao]]
[[Ir al salón|salon1B]]
[[Ir al recibidor|recibidor1B]]
[[Ir a la habitación de Juanan|habitacionjuanan]]
[[Ir al baño|baño1B]]
[[Salir de la casa|Rellano del 1º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Kitchen" />
</div>
The kitchen of 1B is functional and unpretentious. Light wooden cabinets, granite countertops and just the essential appliances. On the fridge there's a handwritten shopping list: bread, milk, eggs, water. Magnets from Segovia and other travel souvenirs cover the white door. On the counter, the remains of some takeaway order that hasn't been thrown out yet. A single father's kitchen doing the best it can.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _juananPresent to false>><<set _taoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 7.5)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9 and _currentTime < 10)>>\
<<set _juananPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 10 and _currentTime < 11)>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 14 and _currentTime < 15)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
<<if (_currentTime >= 21 and _currentTime < 22)>>\
<<set _juananPresent to true>>\
<<set _taoPresent to true>>\
<</if>>\
\
<<if _juananPresent and _taoPresent>>\
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>\
<<if (_currentTime >= 7 and _currentTime < 7.5)>>\
Juanan and Tao have a quick breakfast together before heading out. Juanan standing with his coffee, Tao sitting rushing through his toast. [[Watch them|JuananDesayunando]]
<<elseif (_currentTime >= 14 and _currentTime < 15)>>\
Juanan and Tao are having lunch together in the kitchen. [[Watch them|JuananTaoComiendo]]
<<else>>\
Juanan and Tao are having dinner together in the kitchen. [[Watch them|JuananTaoCenando]]
<</if>>\
<<set _charactersPresent.push('Juanan', 'Tao')>>\
<<elseif _juananPresent>>\
<<run setup.registerCharactersInLocation(['Juanan'])>>\
Juanan is having breakfast alone in the kitchen, taking it easy on the weekend. [[Approach him|JuananDesayunando]]
<<set _charactersPresent.push('Juanan')>>\
<<elseif _taoPresent>>\
<<run setup.registerCharactersInLocation(['Tao'])>>\
Tao is having a late breakfast in the kitchen, still in his pyjamas and half asleep. [[Approach him|TaoDesayunando]]
<<set _charactersPresent.push('Tao')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to Tao's room|habitaciontao]]
[[Go to the living room|salon1B]]
[[Go to the hallway|recibidor1B]]
[[Go to Juanan's room|habitacionjuanan]]
[[Go to the bathroom|baño1B]]
[[Leave the house|Rellano del 1º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}, 100);
<</script>><<set $juananExcitadoDestino to "habitacionjuanan">>
<<set $taoExcitadoDestino to "Taoexcitado">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Cocina" />
</div>
Juanan y Tao comen juntos en la cocina un sábado o domingo tranquilo. Juanan ha cocinado algo sencillo pero con cariño. Tao devora el plato mientras le cuenta a su padre los planes para la tarde.
<center><img src="images/Juanan/juanantaocomiendo.png" width="500"></center>
[[Salir de la cocina|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan', 'Tao'])>>
<<set $juananExcitadoDestino to "habitacionjuanan">>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Kitchen" />
</div>
Juanan and Tao are having lunch together in the kitchen on a quiet Saturday or Sunday. Juanan has cooked something simple but with care. Tao wolfs down his plate while telling his father about his plans for the afternoon.
<center><img src="images/Juanan/juanantaocomiendo.png" width="500"></center>
[[Leave the kitchen|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $taoExcitadoDestino to "Taoexcitado">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Cocina" />
</div>
Tao está desayunando tarde en la cocina, todavía en pijama y con el pelo revuelto. Tiene el móvil apoyado contra el vaso de zumo y lo mira mientras come, completamente absorto en algún vídeo o chat con sus amigos.
<center><img src="images/Tao/taodesayunando.png" width="500"></center>
[[Salir de la cocina|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/cocina1B.png" alt="Kitchen" />
</div>
Tao is having a late breakfast in the kitchen, still in his pyjamas with his hair all messy. He has his phone propped against his glass of juice and is staring at it while he eats, completely absorbed in some video or chat with his friends.
<center><img src="images/Tao/taodesayunando.png" width="500"></center>
[[Leave the kitchen|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<set $juananExcitadoDestino to "juananpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Baño" />
</div>
Juanan se ducha después del trabajo. El vapor llena el baño. A través de la mampara se adivina su silueta, un cuerpo que delata años de esfuerzo físico pero también de cansancio acumulado. Se frota el cuello con los ojos cerrados, ajeno por completo a tu presencia.
<center><img src="images/Juanan/juananducha.png" class="fade-in" width="400"></center>
[[Alejarte|baño1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Juanan'])>>
<<set $juananExcitadoDestino to "juananpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Bathroom" />
</div>
Juanan showers after work. Steam fills the bathroom. Through the shower screen you can make out his silhouette, a body that shows years of physical effort but also accumulated exhaustion. He rubs his neck with his eyes closed, completely unaware of your presence.
<center><img src="images/Juanan/juananducha.png" class="fade-in" width="400"></center>
[[Walk away|baño1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 6000);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<set $taoExcitadoDestino to "Taoexcitadoducha">>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Baño" />
</div>
Bajo el agua de la ducha, Tao canturrea una canción en japonés mientras se enjabona el pelo. La ducha le despierta para darle energias para ese dia.
<center><img src="images/Tao/taoduchandose.png" class="fade-in" width="600"></center>
[[Alejarte|baño1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Bathroom" />
</div>
Under the shower water, Tao hums a song in Japanese as he shampoos his hair. The shower wakes him up and gives him energy for the day.
<center><img src="images/Tao/taoduchandose.png" class="fade-in" width="600"></center>
[[Walk away|baño1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacalzoncillo to true>>
<<set $calzoncillojuanan to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Habitación de Juanan" />
</div>
No te es difícil encontrar un calzoncillo usado de Juanan. Su cuarto lo tiene todo desordenado y, sin problemas, escoges uno que se encontraba sobre la cama. No puedes evitar olerlo, y su fuerte aroma a macho te encandila al momento.
<center><img src="images/Juanan/calzoncillojuanan.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Juanan's bedroom" />
</div>
It's not hard to find a pair of Juanan's used underwear. His room is completely messy and, without any trouble, you pick a pair that was lying on the bed. You can't help but smell it, and its strong masculine scent captivates you instantly.
<center><img src="images/Juanan/calzoncillojuanan.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor1B]]
<</if>><<run setup.registerCharactersInLocation(['Tao'])>>
<<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
Tao se agita, incómodo por lo que siente bajo su pantalón. Otra persona se hubiera marchado a algún lugar tranquilo para desahogarse, pero parece que el inocente Tao sigue huyendo de todo lo que le parezca a sexo y a adultez.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Tao/taoexcitado.webm" type="video/webm"></video></center>
Lo dejas tranquilo. Quizá cuando esté más corrupto.
[[Te alejas|recibidor1B]]
<<else>>
Tao fidgets, uncomfortable with what he feels under his pants. Someone else might have gone somewhere quiet to relieve himself, but it seems innocent Tao continues to run from anything that resembles sex and adulthood.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Tao/taoexcitado.webm" type="video/webm"></video>
</center>
Leave him alone. Maybe when he's even more corrupt.
[[You walk away|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Baño" />
</div>
El agua corre por el cuerpo de Tao y este entreabre los labios, con un suspiro, mientras su cuerpo reacciona a tu excitación digital. Su polla crece de tamaño, pero enseguida el joven agita su cabeza, como intentando huir de esa sensación. Aún no está preparado para ello.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Tao/taoexcitadoducha.webm" type="video/webm"></video></center>
[[Sales del baño|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tao'])>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Baño" />
</div>
Water runs down Tao's body, and he parts his lips slightly, letting out a sigh, as his body reacts to your digital stimulation. His cock grows in size, but the young man quickly shakes his head, as if trying to escape the sensation. He's not ready for it yet.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 400px; height: auto;"><source src="images/Tao/taoexcitadoducha.webm" type="video/webm"></video></center>
[[You leave the bathroom|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacalzoncillo to true>>
<<set $calzoncillotao to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Habitación de Juanan" />
</div>
En una esquina del baño encuentras el cesto de la ropa sucia. Entre camisetas de anime y pantalones cortos encuentras unos calzoncillos usados que, por su diseño, solo pueden pertenecer a Tao.
<center><img src="images/Tao/calzoncillostao.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño1B.png" alt="Habitación de Juanan" />
</div>
In a corner of the bathroom, you find the laundry basket. Among anime t-shirts and shorts, you find a pair of used underwear that, judging by their design, could only belong to Tao.
<center><img src="images/Tao/calzoncillostao.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor1B]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Habitación de Juanan" />
</div>
En la soledad de su cuarto —o eso cree él— Juanan se saca la polla del calzoncillo, gruesa y dura, y comienza a masturbarse para liberar esa calentura repentina que le invade el cuerpo. Mientras se pajea, su mano acaricia su pecho peludo y sus pezones, duros.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juananpajacama.webm" type="video/webm"></video></center>
En tu insustancialidad, le acompañas, y ambos casi os corréis a la vez. Tú consigues disparar a una esquina de la habitación para evitar dejar pruebas, mientras Juanan se corre sobre sí mismo. Luego coge un pañuelo de la mesita, se limpia un poco y se marcha.
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="Juanan's bedroom" />
</div>
In the solitude of his room — or so he thinks — Juanan pulls his cock out of his underwear, thick and hard, and begins to masturbate to release the sudden heat that has overtaken his body. As he strokes himself, his hand caresses his hairy chest and his hardened nipples.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Juanan/juananpajacama.webm" type="video/webm"></video></center>
In your incorporeal state, you join him, and you both almost finish at the same time. You manage to aim at a corner of the room to avoid leaving evidence, while Juanan comes over himself. He then grabs a tissue from the bedside table, cleans himself up a little, and leaves.
[[You leave|recibidor1B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="habraul" />
</div>
Como un espectro vicioso te acercas al rostro angelical de Tao. Duerme pacíficamente, como si no hubiera roto jamás un plato. Hace tiempo que cruzaste todas las líneas, así que te sacas la polla y la acercas a su bello rostro.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
La corrida no tarda en venir, solidificándose al salir de tu cuerpo. Salpicas tanto que no solo llenas el rostro lampiño del chico con tu leche, si no que también manchas a uno de sus muñecos, del que se impregna. Lo dejas todo de ese modo y sales de la habitación.
<center><img src="images/Tao/taocorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontao.png" alt="habraul" />
</div>
Like a vicious specter, you approach Tao's angelic face. She sleeps peacefully, as if she'd never done anything wrong. You crossed all the lines long ago, so you pull out your cock and bring it close to her beautiful face.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
The ejaculation comes quickly, solidifying as it leaves your body. You splatter so much that you not only cover the boy's hairless face with your semen, but also stain one of his toys, which becomes soaked. You leave it like that and exit the room.
<center><img src="images/Tao/taocorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1B]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="habraul" />
</div>
Aunque fueras con tu forma corporea, seria imposible que Juanan detectara tu presencia, pues duerme profundamente. Además, bien podrias hacer ruido, ya que sus ronquidos son bastante fuertes. Con una sonrisa viciosa en los labios, te acercas a su rostro barbudo, inhalas el olor a macho que desprende y comienzas a pajearte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
El albañil es un oso de verdad, y te pone tanto que no tardas en disparar varias lefadas sobre el rostro de Juanan, que se agita un poco, pero sigue dormido. Sonríes al ver su barba llena de esperma.
<center><img src="images/Juanan/juanancorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionjuanan.png" alt="habraul" />
</div>
Even if you were there in your physical form, it would be impossible for Juanan to detect your presence, as he's fast asleep. Besides, you could easily make noise, since his snores are quite loud. With a wicked smile on your lips, you approach his bearded face, inhale the masculine scent he gives off, and begin to masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
The bricklayer is a real bear, and he turns you on so much that you quickly shoot several loads onto Juanan's face. He stirs a little, but remains asleep. You smile at the sight of his beard covered in sperm.
<center><img src="images/Juanan/juanancorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1B]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor2B.png" alt="Recibidor" />
</div>
El recibidor de los Ruiz Villar está tan limpio y ordenado que más parece el de una clínica que el de una casa real. En eso se ve la mano de Marta, la mujer de la casa, conocida entre los vecinos por ser algo "especial" con la organización y la limpieza. Más allá, el pasillo que lleva al resto de la casa.
[[Ir a la habitación de Leo|habitacionleo]]
[[Ir al comedor|comedor2B]]
[[Ir a la habitación de matrimonio|habitacionrafael]]
[[Ir al baño|baño2B]]
[[ir a la cocina|cocina2B]]
[[Ir a la habitación de Adrián|habitacionadrian]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/recibidor2B.png" alt="Hallway" />
</div>
The Ruiz Villar's hallway is so clean and tidy that it looks more like a clinic than a real home. The hand of Marta, the woman of the house, is evident here — she's known among the neighbours for being somewhat "particular" about organisation and cleanliness. Beyond it, the corridor that leads to the rest of the apartment.
[[Go to Leo's room|habitacionleo]]
[[Go to the dining room|comedor2B]]
[[Go to the kitchen|cocina2B]]
[[Go to the master bedroom|habitacionrafael]]
[[Go to the bathroom|baño2B]]
[[Go to Adrián's room|habitacionadrian]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Habitación de Leo" />
</div>
La habitación de Leo es el cuarto de alguien que vive de noche. Las persianas siempre bajadas, la luz principal nunca encendida y el monitor del ordenador como única fuente de luz real. Hay ropa por el suelo, cajas de pizza vacías junto a la papelera y una colección de tazas de café en el escritorio. En la pared, un par de pósters de videojuegos y una pantalla secundaria. Es el cuarto de alguien que prefiere el mundo virtual al real.
<<if $leoEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('leopajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 0 and _currentTime < 10)>>\
Leo está profundamente dormido en su cama. [[Observarlo|LeoDurmiendo]]
<<set _charactersPresent.push('Leo')>>\
<<elseif (_currentTime >= 10.5 and _currentTime < 14) or (_currentTime >= 18 and _currentTime < 22)>>\
Leo está frente al ordenador completamente concentrado en su partida. Lleva los auriculares puestos y no parece dispuesto a despegarse de la silla. [[Observarlo|LeoJugando]]
<<set _charactersPresent.push('Leo')>>\
<<elseif (_currentTime >= 15 and _currentTime < 16)>>\
Leo está tumbado en la cama viendo una serie en el portátil, con los auriculares puestos y medio tapado con el edredón. [[Observarlo|LeoViendoSerie]]
<<set _charactersPresent.push('Leo')>>\
<<elseif (_currentTime >= 0 and _currentTime < 1)>>\
La puerta está entornada y se intuye la luz del móvil. Leo está despierto a estas horas, viendo algo que claramente no quiere que nadie vea. [[Acercarte|leopajacuarto]]
<<set _charactersPresent.push('Leo')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloleo isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloleo')>><</link>>
<</if>>
<</if>>
[[Ir al comedor|comedor2B]]
[[Ir al recibidor|recibidor2B]]
[[Ir a la habitación de matrimonio|habitacionrafael]]
[[Ir al baño|baño2B]]
[[Ir a la habitación de Adrián|habitacionadrian]]
[[Ir a la cocina|cocina2B]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Leo's room" />
</div>
Leo's room is the bedroom of someone who lives at night. Blinds always down, main light never on and the computer monitor as the only real source of light. There are clothes on the floor, empty pizza boxes next to the bin and a collection of coffee mugs on the desk. On the wall, a couple of video game posters and a secondary screen. It's the room of someone who prefers the virtual world to the real one.
<<if $leoEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('leopajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_currentTime >= 0 and _currentTime < 10)>>\
Leo is sleeping deeply in his bed. [[Watch him|LeoDurmiendo]]
<<set _charactersPresent.push('Leo')>>\
<<elseif (_currentTime >= 10.5 and _currentTime < 14) or (_currentTime >= 18 and _currentTime < 22)>>\
Leo is in front of his computer completely focused on his game. He has his headphones on and doesn't look like he plans to leave his chair any time soon. [[Watch him|LeoJugando]]
<<set _charactersPresent.push('Leo')>>\
<<elseif (_currentTime >= 15 and _currentTime < 16)>>\
Leo is lying on his bed watching a series on his laptop, headphones on and half covered by the duvet. [[Watch him|LeoViendoSerie]]
<<set _charactersPresent.push('Leo')>>\
<<elseif (_currentTime >= 0 and _currentTime < 1)>>\
The door is slightly ajar and the light from his phone is visible. Leo is awake at this hour, watching something he clearly doesn\'t want anyone to see. [[Approach him|leopajacuarto]]
<<set _charactersPresent.push('Leo')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloleo isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloleo')>><</link>>
<</if>>
<</if>>
[[Go to the dining room|comedor2B]]
[[Go to the hallway|recibidor2B]]
[[Go to the master bedroom|habitacionrafael]]
[[Go to the bathroom|baño2B]]
[[Go to Adrián's room|habitacionadrian]]
[[Go to the kitchen|cocina2B]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.leoEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
El baño del 2B es moderno y minimalista, con azulejos en tonos beige cálidos y una mampara de ducha de cristal transparente. Un espejo retroiluminado sobre el lavabo flotante da al cuarto un aire casi de spa. Todo huele a limpio y está en su sitio. Marta no permite que sea de otra manera.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _rafaPresent to false>><<set _adrianPresent to false>><<set _leoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 7.5)>>\
<<set _rafaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 11 and _currentTime < 12)>>\
<<set _rafaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 10 and _currentTime < 10.5)>>\
<<set _leoPresent to true>>\
<</if>>\
\
<<if _rafaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa'])>>\
<<set _charactersPresent.push('Rafa')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Rafa se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Rafaducha')>><</link>>
<</if>>
<<elseif _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Adrian'])>>\
<<set _charactersPresent.push('Adrian')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Adrián se está duchando después de correr.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Adrianducha')>><</link>>
<</if>>
<<elseif _leoPresent>>\
<<run setup.registerCharactersInLocation(['Leo'])>>\
<<set _charactersPresent.push('Leo')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta del baño está cerrada por dentro. Se escucha el sonido del agua. Leo se está duchando.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Entrar al baño">><<run Engine.play('Leoducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir al comedor|comedor2B]]
[[Ir al recibidor|recibidor2B]]
[[Ir a la habitación de matrimonio|habitacionrafael]]
[[Ir a la habitación de Adrián|habitacionadrian]]
[[Ir a la habitación de Leo|habitacionleo]]
[[Ir a la cocina|cocina2B]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
The bathroom of 2B is modern and minimalist, with warm beige tiles and a transparent glass shower screen. A backlit mirror above the floating sink gives the room an almost spa-like feel. Everything smells clean and is in its place. Marta doesn't allow it to be any other way.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _rafaPresent to false>><<set _adrianPresent to false>><<set _leoPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7 and _currentTime < 7.5)>>\
<<set _rafaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 11 and _currentTime < 12)>>\
<<set _rafaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 7 and _currentTime >= 10 and _currentTime < 10.5)>>\
<<set _leoPresent to true>>\
<</if>>\
\
<<if _rafaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa'])>>\
<<set _charactersPresent.push('Rafa')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Rafa is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Rafaducha')>><</link>>
<</if>>
<<elseif _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Adrian'])>>\
<<set _charactersPresent.push('Adrian')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Adrián is showering after his run.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Adrianducha')>><</link>>
<</if>>
<<elseif _leoPresent>>\
<<run setup.registerCharactersInLocation(['Leo'])>>\
<<set _charactersPresent.push('Leo')>>\
<center><img src="images/localizaciones/bañocerrado.png" class="fade-in" width="500"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bathroom door is locked from inside. You can hear the sound of running water. Leo is showering.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Enter the bathroom">><<run Engine.play('Leoducha')>><</link>>
<</if>>
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to the dining room|comedor2B]]
[[Go to the hallway|recibidor2B]]
[[Go to the master bedroom|habitacionrafael]]
[[Go to Adrián's room|habitacionadrian]]
[[Go to Leo's room|habitacionleo]]
[[Go to the kitchen|cocina2B]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Habitación de Adrián" />
</div>
La habitación de Adrián no puede ser mas típica de un hombre obsesionado con el gimnasio. Ves una barra de dominadas anclada en la pared y una pila de mancuernas en el suelo junto a la cama. Sobre el escritorio, una botella de proteínas y revistas de culturismo. En el suelo, ropa de entreno abandonada con prisa. La habitación que huele a esfuerzo y a testosterona.
<<if $adrianEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('adrianpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and ((_currentTime >= 0 and _currentTime < 6) or (_currentTime >= 23 and _currentTime < 24)))>>\
Adrián está profundamente dormido, ocupando toda la cama. Su respiración es lenta y regular. [[Observarlo|AdrianDurmiendo]]
<<set _charactersPresent.push('Adrian')>>\
<<elseif (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 6.5)>>\
Adrián está durmiendo. Su cuerpo descansa después de la semana. [[Observarlo|AdrianDurmiendo]]
<<set _charactersPresent.push('Adrian')>>\
<<elseif (_dayOfWeek is 7 and _currentTime >= 23 and _currentTime < 24)>>\
Adrián está en su habitación disfrutando de un momento íntimo. [[Acercarte|adrianpajacuarto]]
<<set _charactersPresent.push('Adrian')>>\
<<elseif (_dayOfWeek is 6 and _currentTime >= 23 and _currentTime < 24)>>\
Adrián está viendo una película antes de dormir. [[Observarlo|AdrianViendoPelicula]]
<<set _charactersPresent.push('Adrian')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloadrian isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncilloadrian')>><</link>>
<</if>>
<</if>>
[[Ir al comedor|comedor2B]]
[[Ir al recibidor|recibidor2B]]
[[Ir a la habitación de matrimonio|habitacionrafael]]
[[Ir al baño|baño2B]]
[[Ir a la habitación de Leo|habitacionleo]]
[[Ir a la cocina|cocina2B]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Adrián's room" />
</div>
Adrian's room couldn't be more typical of a man obsessed with the gym. You see a pull-up bar bolted to the wall and a stack of dumbbells on the floor next to the bed. On the desk, a bottle of protein powder and bodybuilding magazines. On the floor, workout clothes hastily discarded. The room smells of hard work and testosterone.
<<if $adrianEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('adrianpajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and ((_currentTime >= 0 and _currentTime < 6) or (_currentTime >= 23 and _currentTime < 24)))>>\
Adrián is sleeping deeply, taking up the whole bed. His breathing is slow and regular. [[Watch him|AdrianDurmiendo]]
<<set _charactersPresent.push('Adrian')>>\
<<elseif (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 6.5)>>\
Adrián is sleeping. His body rests after the week. [[Watch him|AdrianDurmiendo]]
<<set _charactersPresent.push('Adrian')>>\
<<elseif (_dayOfWeek is 7 and _currentTime >= 23 and _currentTime < 24)>>\
Adrián is in his room enjoying a private moment. [[Approach him|adrianpajacuarto]]
<<set _charactersPresent.push('Adrian')>>\
<<elseif (_dayOfWeek is 6 and _currentTime >= 23 and _currentTime < 24)>>\
Adrián is watching a film before going to sleep. [[Watch him|AdrianViendoPelicula]]
<<set _charactersPresent.push('Adrian')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncilloadrian isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncilloadrian')>><</link>>
<</if>>
<</if>>
[[Go to the dining room|comedor2B]]
[[Go to the hallway|recibidor2B]]
[[Go to the master bedroom|habitacionrafael]]
[[Go to the bathroom|baño2B]]
[[Go to Leo's room|habitacionleo]]
[[Go to the kitchen|cocina2B]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.adrianEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Cocina" />
</div>
La cocina del 2B es tan impecable que parece que nadie cocina en ella. Superficies de mármol blanco sin una miga, electrodoméstico como el lavavajillas o la lavadora, están alineados con precisión milimétrica y un orden que roza lo obsesivo. Es la cocina de Marta, y se nota.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _rafaPresent to false>><<set _adrianPresent to false>><<set _martaPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 6 and _currentTime < 6.5)>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _rafaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 7 and _currentTime < 8)>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9 and _currentTime < 9.5)>>\
<<set _rafaPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 12 and _currentTime < 14)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21 and _currentTime < 22)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 20 and _currentTime < 22)>>\
<<set _martaPresent to true>>\
<</if>>\
\
<<if _rafaPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Marta')>>\
Rafa y Marta desayunan juntos el fin de semana. Él con el café, ella con el zumo. Apenas hablan pero no hace falta. [[Observarlos|RafaMartaDesayunan]]
<<elseif _rafaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa'])>>\
<<set _charactersPresent.push('Rafa')>>\
Rafa desayuna de pie junto a la encimera, con el café en una mano y el móvil en la otra. Come rápido, como alguien acostumbrado a no tener tiempo. [[Acercarte|RafaDesayunando]]
<<elseif _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Adrian'])>>\
<<set _charactersPresent.push('Adrian')>>\
Adrián está preparándose un desayuno proteico antes de salir a correr. Huevos, avena y un batido. Todo medido, todo calculado. [[Acercarte|AdrianDesayunando]]
<<elseif _martaPresent>>\
<<run setup.registerCharactersInLocation(['Marta'])>>\
<<set _charactersPresent.push('Marta')>>\
<<if (_currentTime >= 21 and _currentTime < 22) or (_currentTime >= 20 and _currentTime < 22)>>\
Marta está preparando la cena con la precisión de alguien que hace las cosas bien o no las hace. Todo tiene su tiempo y su lugar. [[Observarla|Martacocinando]]
<<else>>\
Marta está preparando la comida del mediodía. Se mueve por la cocina con eficiencia quirúrgica. [[Observarla|Martacocinando]]
<</if>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillorafa isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillorafa')>><</link>>
<</if>>
[[Ir al comedor|comedor2B]]
[[Ir al recibidor|recibidor2B]]
[[Ir a la habitación de matrimonio|habitacionrafael]]
[[Ir al baño|baño2B]]
[[Ir a la habitación de Adrián|habitacionadrian]]
[[Ir a la habitación de Leo|habitacionleo]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Kitchen" />
</div>
The kitchen in apartment 2B is so spotless it looks like nobody cooks in it. White marble surfaces are pristine, and appliances like the dishwasher and washing machine are aligned with millimeter precision and an almost obsessive order. It's Marta's kitchen, and it shows.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _rafaPresent to false>><<set _adrianPresent to false>><<set _martaPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 6 and _currentTime < 6.5)>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 7.5 and _currentTime < 8)>>\
<<set _rafaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 7 and _currentTime < 8)>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9 and _currentTime < 9.5)>>\
<<set _rafaPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 12 and _currentTime < 14)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 21 and _currentTime < 22)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 20 and _currentTime < 22)>>\
<<set _martaPresent to true>>\
<</if>>\
\
<<if _rafaPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Marta')>>\
Rafa and Marta have breakfast together on the weekend. He has coffee, she has juice. They barely speak but they don't need to. [[Watch them|RafaMartaDesayunan]]
<<elseif _rafaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa'])>>\
<<set _charactersPresent.push('Rafa')>>\
Rafa is having breakfast standing by the counter, coffee in one hand and phone in the other. He eats quickly, like someone used to not having enough time. [[Approach him|RafaDesayunando]]
<<elseif _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Adrian'])>>\
<<set _charactersPresent.push('Adrian')>>\
Adrián is preparing a protein breakfast before going out for a run. Eggs, oats and a shake. Everything measured, everything calculated. [[Approach him|AdrianDesayunando]]
<<elseif _martaPresent>>\
<<run setup.registerCharactersInLocation(['Marta'])>>\
<<set _charactersPresent.push('Marta')>>\
<<if (_currentTime >= 21 and _currentTime < 22) or (_currentTime >= 20 and _currentTime < 22)>>\
Marta is preparing dinner with the precision of someone who either does things right or doesn't do them at all. Everything has its time and place. [[Watch her|Martacocinando]]
<<else>>\
Marta is preparing lunch. She moves around the kitchen with surgical efficiency. [[Watch her|Martacocinando]]
<</if>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillorafa isnot true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillorafa')>><</link>>
<</if>>
[[Go to the dining room|comedor2B]]
[[Go to the hallway|recibidor2B]]
[[Go to the master bedroom|habitacionrafael]]
[[Go to the bathroom|baño2B]]
[[Go to Adrián's room|habitacionadrian]]
[[Go to Leo's room|habitacionleo]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Comedor" />
</div>
El salón-comedor del 2B refleja perfectamente la personalidad de Marta. Minimalista, ordenado y sin un solo elemento fuera de lugar. Un sofá beige de líneas limpias frente a una enorme televisión, y al fondo una mesa de comedor con seis sillas que parece sacada de un catálogo. Todo impecable, todo frío. Las únicas concesiones personales son un par de fotografías familiares en la estantería y una planta de olivo en la esquina que, curiosamente, parece la única cosa viva del salón.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _rafaPresent to false>><<set _leoPresent to false>><<set _adrianPresent to false>><<set _martaPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 22)>>\
<<set _rafaPresent to true>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 21)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_currentTime >= 22 and _currentTime < 23)>>\
<<set _rafaPresent to true>>\
<<set _leoPresent to true>>\
<<set _adrianPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _leoPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _rafaPresent to true>>\
<<set _leoPresent to true>>\
<</if>>\
<<if (_currentTime >= 14 and _currentTime < 15)>>\
<<set _leoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9.5 and _currentTime < 12)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 12 and _currentTime < 14)>>\
<<set _rafaPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 16 and _currentTime < 20)>>\
<<set _rafaPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 19 and _currentTime < 22)>>\
<<set _adrianPresent to true>>\
<</if>>\
\
<<if _rafaPresent and _adrianPresent and _leoPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Leo', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Adrian', 'Leo', 'Marta')>>\
La familia al completo cena junta. Rafa preside la mesa, Marta sirve, Adrián come en silencio y Leo apenas levanta la vista del móvil. [[Observarlos|FamiliaCenando2B]]
<<elseif _rafaPresent and _adrianPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Adrian', 'Marta')>>\
Rafa y Adrián están en el sofá. Marta acaba de llegar y se sienta con ellos, visiblemente cansada. [[Observarlos|RafaAdrianMartaSalon]]
<<elseif _rafaPresent and _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian'])>>\
<<set _charactersPresent.push('Rafa', 'Adrian')>>\
Rafa y Adrián están en el sofá viendo la televisión. El ambiente es tranquilo. [[Observarlos|RafaAdrianSalon]]
<<elseif _rafaPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Marta')>>\
<<if (_currentTime >= 12 and _currentTime < 14)>>\
Rafa y Marta comen juntos el fin de semana. La conversación es ligera. [[Observarlos|RafaMartaComiendo]]
<<elseif (_currentTime >= 16 and _currentTime < 20)>>\
Rafa y Marta están en el sofá pasando tiempo juntos. [[Observarlos|RafaMartaSalon]]
<<else>>\
Rafa y Marta cenan juntos tranquilamente. [[Observarlos|RafaMartaCenando]]
<</if>>\
<<elseif _rafaPresent and _leoPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Leo'])>>\
<<set _charactersPresent.push('Rafa', 'Leo')>>\
Rafa está viendo una película y Leo está en el sofá viendo la tele también. No se hablan mucho. [[Observarlos|RafaLeoNoche]]
<<elseif _rafaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa'])>>\
<<set _charactersPresent.push('Rafa')>>\
Rafa está en el sofá viendo la televisión, relajándose después del trabajo. [[Acercarte|RafaViendoTele]]
<<elseif _leoPresent>>\
<<run setup.registerCharactersInLocation(['Leo'])>>\
<<set _charactersPresent.push('Leo')>>\
<<if (_currentTime >= 14 and _currentTime < 15)>>\
Leo come solo en silencio, mirando el móvil. Parece que prefiere la compañía de la pantalla. [[Acercarte|LeoComiendo]]
<<else>>\
Leo está en el sofá viendo algo en la televisión. [[Acercarte|LeoViendoTele]]
<</if>>\
<<elseif _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Adrian'])>>\
<<set _charactersPresent.push('Adrian')>>\
Adrián está en el sofá descansando después de un largo día. [[Acercarte|AdrianDescansando]]
<<elseif _martaPresent>>\
<<run setup.registerCharactersInLocation(['Marta'])>>\
<<set _charactersPresent.push('Marta')>>\
Marta está en el salón, ordenando o preparando algo con su eficiencia característica. [[Acercarte|MartaSola]]
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Ir a la habitación de Leo|habitacionleo]]
[[Ir al recibidor|recibidor2B]]
[[Ir a la habitación de matrimonio|habitacionrafael]]
[[Ir al baño|baño2B]]
[[Ir a la habitación de Adrián|habitacionadrian]]
[[Ir a la cocina|cocina2B]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
The living and dining room of 2B perfectly reflects Marta's personality. Minimalist, tidy and not a single element out of place. A beige sofa with clean lines facing an enormous television, and at the back a dining table with six chairs that looks like it came straight out of a catalogue. Everything immaculate, everything cold. The only personal concessions are a couple of family photographs on the shelving unit and an olive tree in the corner that, curiously, seems to be the only living thing in the room.
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<set _rafaPresent to false>><<set _leoPresent to false>><<set _adrianPresent to false>><<set _martaPresent to false>>\
\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 22)>>\
<<set _rafaPresent to true>>\
<<set _adrianPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 18 and _currentTime < 21)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_currentTime >= 22 and _currentTime < 23)>>\
<<set _rafaPresent to true>>\
<<set _leoPresent to true>>\
<<set _adrianPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _leoPresent to true>>\
<</if>>\
<<if (_dayOfWeek is 6 and _currentTime >= 23 and _currentTime < 24)>>\
<<set _rafaPresent to true>>\
<<set _leoPresent to true>>\
<</if>>\
<<if (_currentTime >= 14 and _currentTime < 15)>>\
<<set _leoPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 9.5 and _currentTime < 12)>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 12 and _currentTime < 14)>>\
<<set _rafaPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 16 and _currentTime < 20)>>\
<<set _rafaPresent to true>>\
<<set _martaPresent to true>>\
<</if>>\
<<if (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 19 and _currentTime < 22)>>\
<<set _adrianPresent to true>>\
<</if>>\
\
<<if _rafaPresent and _adrianPresent and _leoPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Leo', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Adrian', 'Leo', 'Marta')>>\
The whole family is having dinner together. Rafa presides at the table, Marta serves, Adrián eats in silence and Leo barely looks up from his phone. [[Watch them|FamiliaCenando2B]]
<<elseif _rafaPresent and _adrianPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Adrian', 'Marta')>>\
Rafa and Adrián are on the couch. Marta has just arrived and sits with them, visibly tired. [[Watch them|RafaAdrianMartaSalon]]
<<elseif _rafaPresent and _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian'])>>\
<<set _charactersPresent.push('Rafa', 'Adrian')>>\
Rafa and Adrián are on the couch watching television. The atmosphere is calm. [[Watch them|RafaAdrianSalon]]
<<elseif _rafaPresent and _martaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>\
<<set _charactersPresent.push('Rafa', 'Marta')>>\
<<if (_currentTime >= 12 and _currentTime < 14)>>\
Rafa and Marta are having lunch together on the weekend. The conversation is light. [[Watch them|RafaMartaComiendo]]
<<elseif (_currentTime >= 16 and _currentTime < 20)>>\
Rafa and Marta are on the couch spending time together. [[Watch them|RafaMartaSalon]]
<<else>>\
Rafa and Marta are having dinner together quietly. [[Watch them|RafaMartaCenando]]
<</if>>\
<<elseif _rafaPresent and _leoPresent>>\
<<run setup.registerCharactersInLocation(['Rafa', 'Leo'])>>\
<<set _charactersPresent.push('Rafa', 'Leo')>>\
Rafa is watching a film and Leo is also on the couch watching TV. They don't talk much. [[Watch them|RafaLeoNoche]]
<<elseif _rafaPresent>>\
<<run setup.registerCharactersInLocation(['Rafa'])>>\
<<set _charactersPresent.push('Rafa')>>\
Rafa is on the couch watching television, unwinding after work. [[Approach him|RafaViendoTele]]
<<elseif _leoPresent>>\
<<run setup.registerCharactersInLocation(['Leo'])>>\
<<set _charactersPresent.push('Leo')>>\
<<if (_currentTime >= 14 and _currentTime < 15)>>\
Leo is eating alone in silence, staring at his phone. He seems to prefer the company of a screen. [[Approach him|LeoComiendo]]
<<else>>\
Leo is on the couch watching something on television. [[Approach him|LeoViendoTele]]
<</if>>\
<<elseif _adrianPresent>>\
<<run setup.registerCharactersInLocation(['Adrian'])>>\
<<set _charactersPresent.push('Adrian')>>\
Adrián is on the couch resting after a long day. [[Approach him|AdrianDescansando]]
<<elseif _martaPresent>>\
<<run setup.registerCharactersInLocation(['Marta'])>>\
<<set _charactersPresent.push('Marta')>>\
Marta is in the living room, tidying or preparing something with her characteristic efficiency. [[Approach her|MartaSola]]
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
[[Go to Leo's room|habitacionleo]]
[[Go to the hallway|recibidor2B]]
[[Go to the master bedroom|habitacionrafael]]
[[Go to the bathroom|baño2B]]
[[Go to Adrián's room|habitacionadrian]]
[[Go to the kitchen|cocina2B]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Leo', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
La familia al completo cena junta. Rafa preside la mesa sin pretenderlo, Marta sirve con la precisión de siempre, Adrián come en silencio con la cabeza en el entrenamiento de mañana y Leo apenas levanta la vista del móvil. Cada uno en su mundo, pero todos en la misma mesa. Es lo más parecido a una familia funcional que tienen.
<center><img src="images/Rafael/familiacenando2B.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Leo', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
The whole family is having dinner together. Rafa presides over the table without meaning to, Marta serves with her usual precision, Adrián eats in silence with his mind already on tomorrow's training and Leo barely looks up from his phone. Everyone in their own world, but all at the same table. It's the closest thing to a functional family they have.
<center><img src="images/Rafael/familiacenando2B.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Marta acaba de llegar del trabajo y se ha sentado en el sofá junto a Rafa y Adrián. Los tres ven la televisión en silencio. Marta tiene todavía el maletín a los pies y cara de no haber desconectado del todo. Rafa le ha preguntado qué tal el día y ella ha respondido con un "bien" que no invitaba a seguir preguntando.
<center><img src="images/Rafael/rafaadrianmartasalon.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Marta has just arrived home from work and has sat down on the couch next to Rafa and Adrián. The three of them are watching television in silence. Marta still has her briefcase at her feet and the look of someone who hasn't fully switched off yet. Rafa asked her how her day was and she replied with a "fine" that didn't invite further questions.
<center><img src="images/Rafael/rafaadrianmartasalon.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Rafa y Adrián están en el sofá viendo la televisión. Padre e hijo, cada uno a su manera de descansar. Rafa con su cerveza y Adrián con su botella de agua proteica. De vez en cuando intercambian algún comentario sobre lo que están viendo. Es la versión tranquila de esta familia.
<center><img src="images/Rafael/rafaadriansalon.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Adrian'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Rafa and Adrián are on the couch watching television. Father and son, each resting in their own way. Rafa with his beer and Adrián with his protein water bottle. Every now and then they exchange a comment about what they're watching. This is the calm version of this family.
<center><img src="images/Rafael/rafaadriansalon.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Rafa y Marta comen juntos el fin de semana. Marta ha cocinado algo elaborado, como siempre, y Rafa lo agradece con algún comentario escueto. La mesa está perfectamente puesta, con servilletas de tela y todo. Es el tipo de comida familiar que desde fuera parece idílica y desde dentro resulta simplemente correcta.
<center><img src="images/Rafael/rafamartacomiendo.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Rafa and Marta are having lunch together on the weekend. Marta has cooked something elaborate, as always, and Rafa acknowledges it with a brief comment. The table is perfectly set, cloth napkins and all. It's the kind of family meal that from the outside looks idyllic and from the inside is simply adequate.
<center><img src="images/Rafael/rafamartacomiendo.png" width="500">
</center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Rafa y Marta están en el sofá juntos pero en sus mundos. Él con el mando de la tele, ella con el móvil. La distancia entre los dos cuerpos en el sofá es discreta pero significativa. No hay tensión, pero tampoco hay mucho más que eso.
<center><img src="images/Rafael/rafamartasalon.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Rafa and Marta are on the couch together but in their own worlds. He has the TV remote, she has her phone. The distance between the two bodies on the couch is discreet but telling. There's no tension, but there isn't much more than that either.
<center><img src="images/Rafael/rafamartasalon.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Rafa y Marta cenan juntos el fin de semana, sentados en extremos opuestos de la mesa. La conversación es educada pero escasa. Cada uno habla de su semana como quien hace un informe. No hay mala sangre, pero tampoco chispa. Llevan demasiados años juntos para fingir que la tienen.
<center><img src="images/Rafael/rafamartacenando.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Rafa and Marta have dinner together on the weekend, sitting at opposite ends of the table. The conversation is polite but sparse. Each of them talks about their week like someone filing a report. There's no bad blood, but no spark either. They've been together too long to pretend they still have one.
<center><img src="images/Rafael/rafamartacenando.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Leo'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Rafa está viendo una película de acción en el sofá con una cerveza en la mano. Leo ha aparecido en algún momento sin decir nada y se ha sentado en el otro extremo del sofá con el móvil. Ninguno de los dos ha propuesto ver algo juntos, simplemente han coincidido en el mismo espacio. No se molestan, pero tampoco se hablan.
<center><img src="images/Rafael/rafaleonoche.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Leo'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Rafa is watching an action film on the couch with a beer in hand. Leo has appeared at some point without saying anything and has sat down at the other end of the couch with his phone. Neither of them suggested watching something together, they simply ended up in the same space. They don't bother each other, but they don't talk either.
<center><img src="images/Rafael/rafaleonoche.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Rafa está espatarrado en el sofá con el mando en la mano, viendo un partido o algún programa de crímenes. Después de un día en la comisaría y dos horas en el gimnasio, el sofá es lo más parecido al paraíso que existe. Tiene una cerveza en la mesita y los zapatos tirados en el suelo, lo único que delata que Marta no está cerca.
<center><img src="images/Rafael/rafaviendotele.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Rafa is sprawled on the couch with the remote in hand, watching a match or some crime show. After a day at the station and two hours at the gym, the couch is the closest thing to paradise that exists. There's a beer on the side table and his shoes thrown on the floor, the only giveaway that Marta isn't nearby.
<center><img src="images/Rafael/rafaviendotele.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Leo está sentado a la mesa con una caja de pizza abierta delante. Come directamente de la caja, sin plato. No parece que la comida sea lo importante, sino el vídeo que está viendo.
<center><img src="images/Leo/leocomiendo.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Leo is sitting at the table with an open pizza box in front of him. He eats straight from the box, no plate. The food doesn't seem to be what matters, but rather the video he's watching.
<center><img src="images/Leo/leocomiendo.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Leo está en el sofá con las piernas cruzadas, el móvil en una mano y la vista clavada en el televisor donde sigue un directo de Twitch. Alguien está jugando al mismo juego que él lleva semanas farmeando y cada vez que el streamer comete un error Leo suelta un comentario en voz baja, como si pudiera escucharle.
<center><img src="images/Leo/leoviendotele.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Leo is on the couch with his legs crossed, phone in one hand and eyes fixed on the television where he's watching a Twitch livestream. Someone is playing the same game he's been grinding for weeks and every time the streamer makes a mistake Leo mutters a comment under his breath, as if the streamer could actually hear him
.
<center><img src="images/Leo/leoviendotele.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Adrián está despatarrado en el sofá con los ojos entrecerrados. Después de un día en el taller y dos horas en el gimnasio, su cuerpo pide descanso. Tiene la camiseta ligeramente sudada y los pies descalzos sobre la mesa de centro. No parece haberse dado cuenta de tu presencia.
<center><img src="images/Adrian/adriandescansando.png" width="500">
</center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Adrián is sprawled on the couch with his eyes half closed. After a day at the garage and two hours at the gym, his body is crying out for rest. His t-shirt is slightly sweaty and his bare feet rest on the coffee table. He doesn't seem to have noticed your presence.
<center><img src="images/Adrian/adriandescansando.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Marta'])>>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Salón" />
</div>
Marta está en el salón con el portátil sobre las rodillas, revisando algo que parece trabajo aunque ya esté en casa. Tiene una copa de vino blanco en la mesita. Es de los pocos momentos del día en que parece relajada, aunque su expresión siga siendo la de alguien que lleva la cuenta de todo.
<center><img src="images/mujeres/martasola.png" width="500"></center>
[[Salir del salón|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Marta'])>>
<div class="header-image">
<img src="images/localizaciones/comedor2B.png" alt="Living room" />
</div>
Marta is in the living room with her laptop on her knees, reviewing something that looks like work even though she's already home. There's a glass of white wine on the side table. It's one of the few moments of the day when she seems relaxed, although her expression is still that of someone who keeps track of everything.
<center><img src="images/mujeres/martasola.png" width="500"></center>
[[Leave the living room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Habitación de Adrián" />
</div>
Adrián duerme a pierna suelta, cansado de todo el esfuerzo físico del dia. Su pecho musculado sube y baja con cada respiración. Las sábanas le cubren apenas hasta la cintura. Duerme como solo duerme alguien que ha vaciado el cuerpo por completo durante el día.
<center><img src="images/Adrian/adriandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Adrián jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaraadrian')>><</link>>
<</if>>
[[Salir de la habitación|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Adrián's room" />
</div>
Adrian sleeps soundly, exhausted from the day's physical exertion. His muscular chest rises and falls with each breath. The sheets barely cover him to his waist. He sleeps like only someone who has completely emptied their body during the day.
<center><img src="images/Adrian/adriandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Adrián would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecaraadrian')>><</link>>
<</if>>
[[Leave the room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Habitación de Adrián" />
</div>
Tumbado sobre la cama, Adrián comienza a desvestirse hasta quedarse totalmente desnudo. Su cuerpo de escultura griega brilla por el sudor ante tus ojos, mientras su mano derecha se mueve rítmicamente sobre su polla.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Adrian/adrianpajacama.webm" type="video/webm"></video></center>
En forma fantasmal, te sacas la polla y te pajeas junto a tu crush, hasta que ambos eyaculáis sin miedo sobre las sábanas de su habitación.
[[Te marchas|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Adrián's room" />
</div>
Lying on his bed, Adrián begins to undress until he's completely naked. His sculpted, Greek-god body glistens with sweat before your eyes, while his right hand moves rhythmically over his cock.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Adrian/adrianpajacama.webm" type="video/webm"></video></center>
In ghost form, you pull out your cock and stroke yourself alongside your crush, until you both come fearlessly over the sheets of his room.
[[You leave|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "adrianpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Habitación de Adrián" />
</div>
Adrián está tumbado en la cama viendo una película de acción en el televisor. Lleva solo el calzoncillo y tiene una mano detrás de la nuca. La luz de la pantalla ilumina su cuerpo en la oscuridad del cuarto.
<center><img src="images/Adrian/adrianviendopelicula.png" width="500">
</center>
[[Salir de la habitación|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "adrianpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Adrián's room" />
</div>
Adrián is lying on his bed watching an action film on the television. He's wearing only his underwear with one hand behind his neck. The light from the screen illuminates his body in the darkness of the room. Every now and then he mutters a comment under his breath about what he's watching.
<center><img src="images/Adrian/adrianviendopelicula.png" width="500"></center>
[[Leave the room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Cocina" />
</div>
Rafa y Marta desayunan juntos el fin de semana. Él con el café, ella con un zumo recién exprimido. La cocina huele a tostadas y a normalidad forzada. Se hablan poco, pero sin tensión. Es uno de esos momentos en que la convivencia funciona precisamente porque ninguno de los dos exige nada al otro.
<center><img src="images/Rafael/rafamartadesayunando.png" width="500"></center>
[[Salir de la cocina|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa', 'Marta'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Kitchen" />
</div>
Rafa and Marta have breakfast together on the weekend. He has coffee, she has a freshly squeezed juice. The kitchen smells of toast and forced normality. They speak little, but without tension. It's one of those moments when living together works precisely because neither of them demands anything from the other.
<center><img src="images/Rafael/rafamartadesayunando.png" width="500"></center>
[[Leave the kitchen|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Cocina" />
</div>
Rafa desayuna de pie junto a la encimera, recién duchado y ya en uniforme. Café solo y dos tostadas con aceite. Lo hace en silencio, mirando por la ventana sin ver nada en particular. Es ese momento del día en que todavía no ha empezado a ser policía pero ya ha dejado de ser persona normal.
<center><img src="images/Rafael/rafadesayunando.png" width="500"></center>
[[Salir de la cocina|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Kitchen" />
</div>
Rafa is having breakfast standing at the counter, freshly showered and already in uniform. Black coffee and two slices of toast with olive oil. He does it in silence, staring out the window without really seeing anything in particular. It's that moment of the day when he's no longer a normal person but hasn't quite started being a cop yet.
<center><img src="images/Rafael/rafadesayunando.png" width="500"></center>
[[Leave the kitchen|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Cocina" />
</div>
Adrián desayuna de pie junto a la encimera, con prisa y sin demasiado ruido. Huevos revueltos, avena y un batido de proteínas que mezcla directamente en el vaso de la coctelera. Lleva la ropa de correr ya puesta. En cuanto termina, frota el plato, lo deja perfecto y sale sin hacer ruido para no despertar a nadie.
<center><img src="images/Adrian/adriandesayunando.png" width="500">
</center>
[[Salir de la cocina|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "habitacionadrian">>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Kitchen" />
</div>
Adrián has breakfast standing at the counter, in a hurry and without much noise. Scrambled eggs, oats and a protein shake that he mixes directly in the shaker cup. He's already wearing his running clothes. As soon as he finishes, he scrubs his plate, leaves it spotless and heads out without making a sound so as not to wake anyone
.
<center><img src="images/Adrian/adriandesayunando.png" width="500"></center>
[[Leave the kitchen|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Marta'])>>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Cocina" />
</div>
Marta se mueve por la cocina con una eficiencia casi irritante. Cada gesto tiene un propósito, cada ingrediente está en su sitio. No hay improvisación posible en esta cocina. <<if $gameHours >= 20>>Es tarde y la cena tiene que estar lista a su hora. Punto.<<else>>La comida del mediodía no se hace sola, y Marta lo sabe mejor que nadie.<</if>>
<center><img src="images/mujeres/martacocinando.png" width="500"></center>
[[Salir de la cocina|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Marta'])>>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Kitchen" />
</div>
Marta moves around the kitchen with an almost irritating efficiency. Every gesture has a purpose, every ingredient is in its place. There is no room for improvisation in this kitchen. <<if $gameHours >= 20>>It's late and dinner has to be ready on time. End of story.<<else>>Lunch doesn't make itself, and Marta knows that better than anyone.<</if>>
<center><img src="images/mujeres/martacocinando.png" width="500"></center>
[[Leave the kitchen|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="habraul" />
</div>
Tener ante ti, dormido e indefenso, al que ha sido durante estos años tu obsesión es tan excitante que tu polla se pone dura al momento. Al momento te colocas cerca de su rostro, con tu cuerpo atravesando la propia cama, y comienzas a pajearte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Tus huevos pronto están en las últimas, y con fuerza liberas varias descargas sobre el rostro de tu crush, dejándoselo lleno de esperma, que se solidifica al salir de tu cuerpo. Adrián está tan cansado que apenas mueve algo el rostro.
<center><img src="images/Adrian/adriancorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="habraul" />
</div>
Having before you, asleep and defenseless, the one who has been your obsession for all these years is so exciting that your cock gets hard instantly. You immediately position yourself close to his face, your body practically passing through the bed, and begin to masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Your balls are soon running low, and you forcefully release several spurts onto your crush's face, leaving it covered in sperm, which solidifies as it leaves your body. Adrian is so tired he barely moves his face.
<center><img src="images/Adrian/adriancorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1B]]
<</if>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "leopajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
Leo se ducha como hace todo, sin prisa y a su ritmo. El vapor llena el baño mientras él permanece bajo el agua más tiempo del necesario, probablemente pensando en la partida que acaba de dejar a medias y las nueves estrategias que puede elaborar.
<center><img src="images/Leo/leoduchandose.png" class="fade-in" width="500"></center>
[[Alejarte|baño2B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "leopajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
Leo showers as he does everything else, unhurried and at his own pace. Steam fills the bathroom as he stays under the water longer than necessary, probably thinking about the game he just left unfinished and the new strategies he can devise.
<center><img src="images/Leo/leoduchandose.png" class="fade-in" width="400"></center>
[[Walk away|baño2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<<set $rafaExcitadoDestino to "rafapajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
Rafa se ducha con la rutina de alguien que lleva años haciendo lo mismo a la misma hora. Metódico, eficiente. Primero el pelo, luego el cuerpo. Verle en un entorno tan íntimo, tan vulnerable, es excitante.
<center><img src="images/Rafael/rafaducha.png" class="fade-in" width="400"></center>
[[Alejarte|baño2B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<<set $rafaExcitadoDestino to "rafapajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
RRafa showers with the routine of someone who has been doing the same thing at the same time for years. Methodical, efficient. First his hair, then his body. Seeing him in such an intimate, vulnerable environment is exciting.
<center><img src="images/Rafael/rafaducha.png" class="fade-in" width="400"></center>
[[Walk away|baño2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "adrianpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
Adrián se ducha con la misma intensidad con la que hace todo lo demás. El agua fría primero, caliente después. Se frota con energía, como si quisiera quitarse los kilos del entrenamiento de encima. Su cuerpo lleno de músculo brilla bajo el agua mientras el vapor llena el cubículo de cristal.
<center><img src="images/Adrian/adrianduchandose.png" class="fade-in" width="500"></center>
[[Alejarte|baño2B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<<set $adrianExcitadoDestino to "adrianpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
Adrián showers with the same intensity he does everything else. Cold water first, hot after. He scrubs himself vigorously, as if trying to wash off the weight of his training session. His muscular body glistens under the water while steam fills the glass cubicle.
<center><img src="images/Adrian/adrianduchandose.png" class="fade-in" width="500"></center>
[[Walk away|baño2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Habitación de Leo" />
</div>
Leo duerme hecho un ovillo entre las sábanas revueltas, con el móvil todavía encendido sobre la almohada y los auriculares a medio poner. Detrás de él la pantalla del ordenador aun esta enchufada, iluminando con luz eléctrica la pantalla.
<center><img src="images/Leo/leodurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Leo jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaraleo')>><</link>>
<</if>>
[[Salir de la habitación|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Leo's bedroom" />
</div>
Leo sleeps curled up in a ball among the rumpled sheets, his phone still on the pillow and his headphones half-plugged in. Behind him, the computer screen is still plugged in, its electric light illuminating the display.
<center><img src="images/Leo/leodurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Leo would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecaraleo')>><</link>>
<</if>>
[[Leave the room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "Leopajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Habitación de Leo" />
</div>
Leo está pegado a la pantalla con los auriculares puestos, completamente desconectado del mundo real. Sus dedos se mueven sobre el teclado con una precisión que no demuestra en ningún otro aspecto de su vida. De vez en cuando suelta un insulto en voz baja o celebra algo en silencio levantando el puño.
<center><img src="images/Leo/leojugando.png" width="500"></center>
[[Salir de la habitación|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Leo's bedroom" />
</div>
Leo is glued to the screen with his headphones on, completely disconnected from the real world. His fingers move across the keyboard with a precision he doesn't show in any other aspect of his life. Every now and then he mutters an insult under his breath or silently celebrates something with a fist pump.
<center><img src="images/Leo/leojugando.png" width="500"></center>
[[Leave the room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "Leopajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Habitación de Leo" />
</div>
Leo está esta tumbado en la cama, y desde allí, y con unos cascos inalámbricos, mira una seria de superhéroes en la pantalla de su ordenado. Su móvil no está lejos, por si debe interrumpir lo que está haciendo por algo igual de importante.
<center><img src="images/Leo/leoviendoserie.png" width="500"></center>
[[Salir de la habitación|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<<set $leoExcitadoDestino to "habitacionleo">>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Leo's bedroom" />
</div>
Leo is lying in bed, and from there, wearing wireless headphones, he's watching a superhero series on his computer screen. His phone isn't far away, in case he needs to interrupt what he's doing for something equally important.
<center><img src="images/Leo/leoviendoserie.png" width="500"></center>
[[Leave the room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Habitación de Leo" />
</div>
Recostado en su silla gamer, con los pantalones por los tobillos y la mirada fija en la pantalla del ordenador donde se reproduce un vídeo porno, Leo se masturba con la furia y la energía de alguien que lleva demasiado tiempo solo. Tú observas excitado cómo su mano sube y baja por su polla reluciente.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Leo/leopajawebcam.webm" type="video/webm"></video></center>
[[Te marchas|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Leo's bedroom" />
</div>
Leaning back in his gaming chair, trousers around his ankles and eyes fixed on his computer screen where a porn video is playing, Leo masturbates with the fury and energy of someone who has been alone for too long. You watch, aroused, as his hand moves up and down his glistening cock.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Leo/leopajawebcam.webm" type="video/webm"></video></center>
[[You leave|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacalzoncillo to true>>
<<set $calzoncilloleo to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Habitación de Leo" />
</div>
A pesar de haber ropa usada por todos lados, te resulta algo complicado encontrar la ropa interior, como si Leo no se cambiara de calzoncillo todos los días. Al encontrarlo, bajo una camiseta en el respaldo de su silla, confirmas, al olerlo, tu teoría.
<center><img src="images/Leo/leocalzoncillo.png" class="fade-in" width="400">
</center>
[[Te marchas con tu trofeo|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="Leo's bedroom" />
</div>
Despite there being used clothes everywhere, finding his underwear turns out to be surprisingly tricky, as if Leo doesn't change his boxers every day. When you finally find them, tucked under a t-shirt on the back of his chair, one sniff confirms your theory.
<center><img src="images/Leo/leocalzoncillo.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor2B]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="habraul" />
</div>
Entras en el refugio de Leo, y detectas perfectamente al joven durmiendo sobre la cama, gracias a la iluminación de la pantalla del ordenador, aun encendida. Está tumbado de lado, con su rostro hacia la pared, pero eso no es problema dada tu capacidad para atravesar cosas sólidas. Te sacas la polla y comienzas a masturbarte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Tras unos minutos, notas que te corres, y apuntas al rostro del muchacho. Dos descargas se vuelven sólidas al salir por tu uretra e impactas sobre la cara de Leo, una de ellas, copiosa, se desliza desde su frente hasta la comisura de sus labios. Tu vecino ni se da cuenta.
<center><img src="images/Leo/leocorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionleo.png" alt="habraul" />
</div>
You enter Leo's hideout and spot the young man asleep on the bed, thanks to the light from the still-on computer screen. He's lying on his side, his face toward the wall, but that's no problem given your ability to pass through solid objects. You pull out your cock and start masturbating.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
After a few minutes, you feel yourself coming, and you aim for the boy's face. Two spurts solidify as they exit your urethra and land on Leo's face; one of them, copious, slides from his forehead to the corner of his lips. Your neighbor doesn't even notice.
[[Go out|recibidor1B]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="Habitación de Rafa" />
</div>
Rafa duerme de lado, relajado y seguro, y algo apartado de su mujer. Hay una distancia discreta entre los dos cuerpos. Es la imagen de una pareja que lleva muchos años compartiendo cama, con todo lo que eso implica, para bien y para mal.
<center><img src="images/Rafael/rafadurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Rafael jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecararafa')>><</link>>
<</if>>
[[Salir de la habitación|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="Rafa's bedroom" />
</div>
Rafa sleeps on his side, relaxed and secure, a little apart from his wife. There's a discreet distance between them. It's the image of a couple who have shared a bed for many years, with all that entails, for better and for worse.
<center><img src="images/Rafael/rafadurmiendo.png" width="500"></center>
<center><img src="images/Adrian/adriandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Rafael would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecararafa')>><</link>>
<</if>>
[[Leave the room|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="habraul" />
</div>
Aunque sabes que eres invisible, incorpóreo e inaudible, sientes cierta aprensión por entrar en el dormitorio de tus vecinos. No sabes muy bien si es por Rafa o por su mujer, Marta, ya que ambos son de armas tomar. Te sacas la polla y, a unos centímetros del policía, comienzas a masturbarte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Tras varios minutos, llega tu descarga. Tu esperma se solidifica al salir de tu polla y varias lefadas impactan sobre el rostro de Rafael, que hace un chistoso movimientos con su nariz. Luego sigue durmiendo.
<center><img src="images/Rafael/rafaelcorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="habraul" />
</div>
Even though you know you're invisible, incorporeal, and inaudible, you feel a certain apprehension about entering your neighbors' bedroom. You're not quite sure if it's because of Rafa or his wife, Marta, since they're both quite formidable. You pull out your penis and, a few centimeters from the policeman, begin to masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
After several minutes, you ejaculate. Your sperm solidifies as it leaves your cock, and several spurts hit Rafael's face, who makes a funny movement with his nose. Then he goes back to sleep.
<center><img src="images/Rafael/rafaelcorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor1B]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
Adrián, cachondo como nunca por tu excitación, aprovecha que el agua le corre por su cuerpo fibroso para hacerse una paja. Tú, deseoso de recibir su sagrado néctar, te pones de rodillas ante él.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Adrian/adrianpajaducha.webm" type="video/webm"></video></center>
Adrián se corre y su esperma te atraviesa, golpeando la mampara detrás de ti. Hoy no será el día en que pruebes su leche.
[[Salir del baño|baño2B]]
<<else>>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Adrian'])>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
Adrián, hornier than ever from your arousal, takes advantage of the water running down his toned body to stroke himself. You, desperate to receive his sacred nectar, get down on your knees before him.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Adrian/adrianpajaducha.webm" type="video/webm"></video></center>
Adrián comes and his cum passes right through you, hitting the shower screen behind you. Today is not the day you get to taste his load.
[[Leave the bathroom|baño2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
Leo, con los ojos cerrados, se masturba con ganas mientras el agua le cae sobre su delgado pecho. Su polla, larga y delgada, soporta sus embestidas con ritmo constante. Parece que no es la primera vez que lo hace en la ducha.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Leo/leopajaducha.webm" type="video/webm"></video></center>
[[Salir del baño|baño2B]]
<<else>>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Leo'])>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
Leo, eyes closed, strokes himself eagerly as water falls over his slim chest. His cock, long and slender, takes his rhythmic thrusts with ease. This is clearly not the first time he's done this in the shower.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Leo/leopajaducha.webm" type="video/webm"></video></center>
[[Leave the bathroom|baño2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Baño" />
</div>
La excitación llega a Rafa como una oleada. Para tu sorpresa, sale de la ducha, se seca y comienza a masturbarse cerca del lavabo. Sus músculos se contraen por el esfuerzo, tensos y definidos bajo la luz del espejo retroiluminado.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Rafael/rafapajaducha.webm" type="video/webm"></video></center>
Al acabar, sus descargas caen perfectamente sobre el inodoro. Es un experto en no dejar pruebas. Policía hasta en esto.
[[Salir del baño|baño2B]]
<<else>>
<<run setup.gameTime.addMinutes(12)>>
<<run setup.registerCharactersInLocation(['Rafa'])>>
<div class="header-image">
<img src="images/localizaciones/baño2B.png" alt="Bathroom" />
</div>
The arousal hits Rafa like a wave. To your surprise, he steps out of the shower, dries himself off and begins to stroke himself near the sink. His muscles tense with the effort, tight and defined under the light of the backlit mirror.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Rafael/rafapajaducha.webm" type="video/webm"></video></center>
When he finishes, his load lands perfectly into the toilet bowl. He's an expert at leaving no evidence. A cop through and through.
[[Leave the bathroom|baño2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacalzoncillo to true>>
<<set $calzoncilloadrian to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Habitación de Adrián" />
</div>
En el suelo, enterrado entre un pantalón de deporte usado y una camiseta sudada, encuentras tu delicioso premio: un calzoncillo que Adrián gastó el día anterior en su rutina de ejercicios y que no puede oler más a hombre. Lo esnifas una última vez antes de decidir marcharte.
<center><img src="images/Adrian/calzoncilloadrian.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadrian.png" alt="Adrián's bedroom" />
</div>
On the floor, buried between a used pair of sports shorts and a sweaty t-shirt, you find your delicious prize: a pair of underwear Adrián wore the day before during his workout, smelling as manly as anything could. You take one last sniff before deciding to leave.
<center><img src="images/Adrian/calzoncilloadrian.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor2B]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncillorafa to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(8)>>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Habitación de Rafa" />
</div>
Sabes que, al haber una lavadora en la habitación, también debe haber un cesto donde guardar la ropa sucia. Te cuesta encontrarlo, pues es obvio que a Marta no le gusta que nadie rompa su limpia línea de diseño. Al final, tras abrir todas las puertas de los armarios, descubres un calzoncillo blanco y usado que, por el corte, seguro que pertenece a Rafa.
<center><img src="images/Rafael/calzoncillorafa.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(8)>>
<div class="header-image">
<img src="images/localizaciones/cocina2B.png" alt="Rafa's bedroom" />
</div>
You know that with a washing machine in the room there must also be a laundry basket somewhere. It takes a while to find it, since it's obvious Marta doesn't like anything breaking her clean design aesthetic. Eventually, after opening every wardrobe door, you discover a white, used pair of underwear that, judging by the cut, definitely belongs to Rafa.
<center><img src="images/Rafael/calzoncillorafa.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor2B]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="Habitación de Rafa" />
</div>
La habitación de matrimonio del 2B es la más ordenada de la casa, lo cual no es casualidad. La cama siempre hecha, la ropa siempre colgada y cada objeto en su sitio. Es el territorio de Marta, aunque Rafa duerma aquí. En la mesita de noche de él hay una novela policiaca a medias y una foto de la familia de hace años, cuando los chicos eran pequeños.
<<if $rafaEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">La puerta de la habitación está cerrada por dentro. Se escuchan sonidos apagados.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te permite atravesar la puerta...</p>
<<link "👻 Atravesar la puerta">><<run Engine.play('rafapajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_currentTime >= 0 and _currentTime < 7)) or (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
Rafa está durmiendo profundamente junto a Marta. Su respiración es lenta y regular. [[Observarlo|RafaDurmiendo]]
<<set _charactersPresent.push('Rafa')>>\
<<elseif (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 7)>>\
Rafa está durmiendo. El fin de semana también tiene derecho a descansar. [[Observarlo|RafaDurmiendo]]
<<set _charactersPresent.push('Rafa')>>\
<<elseif (_dayOfWeek is 7 and _currentTime >= 23 and _currentTime < 24)>>\
La puerta está cerrada y se escuchan sonidos que no dejan lugar a dudas. Rafa y Marta tienen su momento íntimo del domingo.
<<set _charactersPresent.push('Rafa')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillorafa is not true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu presencia invisible te permite husmear sin ser visto...</p>
<<link "👻 Buscar ropa interior usada">><<run Engine.play('calzoncillorafa')>><</link>>
<</if>>
<</if>>
[[Ir al comedor|comedor2B]]
[[Ir al recibidor|recibidor2B]]
[[Ir al baño|baño2B]]
[[Ir a la habitación de Adrián|habitacionadrian]]
[[Ir a la habitación de Leo|habitacionleo]]
[[Ir a la cocina|cocina2B]]
[[Salir de la casa|Rellano del 2º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set $rafaExcitadoDestino to "habitacionrafael">>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="Rafa's bedroom" />
</div>
The master bedroom of 2B is the tidiest room in the house, which is no coincidence. The bed always made, clothes always hung up and every object in its place. It's Marta's territory, even though Rafa sleeps here too. On his bedside table there's a half-finished crime novel and a family photo from years ago, when the boys were small.
<<if $rafaEnCuarto is true>>
<center><img src="images/localizaciones/puertacerrada.png" class="fade-in" width="400"></center>
<p style="color:#888; font-style:italic; text-align:center;">The bedroom door is locked from inside. Muffled sounds can be heard.</p>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form lets you pass through the door...</p>
<<link "👻 Pass through the door">><<run Engine.play('rafapajacuarto')>><</link>>
<</if>>
<<else>>
<<set _dayOfWeek to $gameDayIndex + 1>><<set _currentTime to $gameHours + ($gameMinutes / 60)>><<set _charactersPresent = []>>\
<<if (_dayOfWeek >= 1 and _dayOfWeek <= 5 and (_currentTime >= 0 and _currentTime < 7)) or (_dayOfWeek >= 1 and _dayOfWeek <= 5 and _currentTime >= 23 and _currentTime < 24)>>\
Rafa is sleeping deeply next to Marta. His breathing is slow and regular. [[Watch him|RafaDurmiendo]]
<<set _charactersPresent.push('Rafa')>>\
<<elseif (_dayOfWeek >= 6 and _dayOfWeek <= 7 and _currentTime >= 0 and _currentTime < 7)>>\
Rafa is sleeping. Even on weekends he deserves to rest. [[Watch him|RafaDurmiendo]]
<<set _charactersPresent.push('Rafa')>>\
<<elseif (_dayOfWeek is 7 and _currentTime >= 23 and _currentTime < 24)>>\
The door is closed and the sounds coming from inside leave little to the imagination. Rafa and Marta are having their Sunday night together.
<<set _charactersPresent.push('Rafa')>>\
<</if>>\
<<run setup.registerCharactersInLocation(_charactersPresent)>>
<<if $formaFantasmalActiva is true and $calzoncillorafa is not true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your invisible presence lets you snoop around undetected...</p>
<<link "👻 Search for used underwear">><<run Engine.play('calzoncillorafa')>><</link>>
<</if>>
<</if>>
[[Go to the dining room|comedor2B]]
[[Go to the hallway|recibidor2B]]
[[Go to the bathroom|baño2B]]
[[Go to Adrián's room|habitacionadrian]]
[[Go to Leo's room|habitacionleo]]
[[Go to the kitchen|cocina2B]]
[[Leave the house|Rellano del 2º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
if (State.variables.rafaEnCuarto === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="Habitación de Rafa" />
</div>
Rafael no se anda con tonterías. Al llegar a su habitación se desnuda totalmente y comienza a masturbarse con ganas. Su cuerpo fibroso se contrae con cada movimiento de mano mientras su cara refleja una rabia e intensidad que nunca habías visto en tu vecino.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Rafael/rafapajacuarto.webm" type="video/webm"></video></center>
A pesar de toda esa energía animal, el hombre consigue recoger sus descargas en unos pañuelos de papel que había preparado con anterioridad. Está claro que no quiere enfrentarse a Marta por una posible "mancha sospechosa".
[[Te marchas|recibidor2B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacionrafael.png" alt="Rafa's bedroom" />
</div>
Rafael doesn't mess around. As soon as he gets to his room he strips completely and starts stroking himself eagerly. His toned body tenses with every stroke while his face reflects a fury and intensity you had never seen in your neighbour before.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Rafael/rafapajacuarto.webm" type="video/webm"></video></center>
Despite all that animal energy, the man manages to catch his load in some tissues he had prepared beforehand. It's clear he has no intention of facing Marta over a suspicious stain.
[[You leave|recibidor2B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Leo te ve y frunce el ceño, confuso ante tu presencia.
<center><img src="images/Leo/leotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "leo",
name: "Leo",
portrait: "images/Leo/leo.png",
color: "#e8a020",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "leo", text: "Sergio, ¿qué haces aquí? No sabía que ibas a venir." },
{ speaker: "sergio", text: "Nada, pasaba por aquí. Ya me iba." },
{ speaker: "leo", text: "Vale, pues... hasta luego." }
],
options: [
[], [],
[
{
text: "Marcharse",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Leo te mira con desconfianza. No te conoce y no entiende qué haces en su casa.
<center><img src="images/Leo/leotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "leo",
name: "Leo",
portrait: "images/Leo/leo.png",
color: "#e8a020",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "leo", text: "Oye, ¿quién eres tú? ¿Qué haces aquí?" },
{ speaker: "sergio", text: "Me he equivocado, disculpa. Ya me voy." },
{ speaker: "leo", text: "Pues date prisa, que llamo a mi padre." }
],
options: [
[], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Leo sees you and frowns, confused by your presence.
<center><img src="images/Leo/leotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "leo",
name: "Leo",
portrait: "images/Leo/leo.png",
color: "#e8a020",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "leo", text: "Sergio, what are you doing here? I didn\'t know you were coming." },
{ speaker: "sergio", text: "Nothing, I was just passing by. I\'m heading out." },
{ speaker: "leo", text: "Okay, well... see you." }
],
options: [
[], [],
[
{
text: "Leave",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Leo looks at you with suspicion. He doesn\'t know you and doesn\'t understand what you\'re doing in his house.
<center><img src="images/Leo/leotedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "leo",
name: "Leo",
portrait: "images/Leo/leo.png",
color: "#e8a020",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "leo", text: "Hey, who are you? What are you doing here?" },
{ speaker: "sergio", text: "I got the wrong place, sorry. I\'m leaving." },
{ speaker: "leo", text: "You better hurry up or I\'m calling my dad." }
],
options: [
[], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Rafa te ve y su instinto de policía se activa al instante. Se levanta despacio, sin perder la calma, pero con una autoridad que llena la habitación.
<center><img src="images/Rafael/rafatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "rafa",
name: "Rafa",
portrait: "images/Rafael/rafa.png",
color: "#2b6cb0",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "rafa", text: "Sergio. ¿Qué estás haciendo aquí?" },
{ speaker: "sergio", text: "Nada, buscaba a Adrián. Me equivoqué de habitación." },
{ speaker: "rafa", text: "Ya. La próxima vez llamas al timbre como todo el mundo. ¿Entendido?" },
{ speaker: "sergio", text: "Sí, claro. Lo siento." }
],
options: [
[], [], [],
[
{
text: "Marcharse",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Rafa te mira fijamente. Veinte años de policía le han dado un olfato infalible para detectar cuando algo no encaja, y tú no encajas.
<center><img src="images/Rafael/rafatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "rafa",
name: "Rafa",
portrait: "images/Rafael/rafa.png",
color: "#2b6cb0",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "rafa", text: "Quieto. ¿Quién eres y qué haces en mi casa?" },
{ speaker: "sergio", text: "Me he equivocado de piso, lo siento mucho." },
{ speaker: "rafa", text: "¿Equivocado de piso? Soy inspector de policía. Tienes exactamente cinco segundos para salir por esa puerta." },
{ speaker: "sergio", text: "Ya me voy, ya me voy." }
],
options: [
[], [], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Rafa sees you and his cop instinct kicks in immediately. He stands up slowly, without losing his composure, but with an authority that fills the room.
<center><img src="images/Rafael/rafatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "rafa",
name: "Rafa",
portrait: "images/Rafael/rafa.png",
color: "#2b6cb0",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "rafa", text: "Sergio. What are you doing here?" },
{ speaker: "sergio", text: "Nothing, I was looking for Adrián. I got the wrong room." },
{ speaker: "rafa", text: "Right. Next time you ring the doorbell like everyone else. Understood?" },
{ speaker: "sergio", text: "Yes, of course. Sorry." }
],
options: [
[], [], [],
[
{
text: "Leave",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Rafa stares at you. Twenty years on the force have given him an infallible instinct for detecting when something doesn't add up, and you don't add up.
<center><img src="images/Rafael/rafatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "rafa",
name: "Rafa",
portrait: "images/Rafael/rafa.png",
color: "#2b6cb0",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "rafa", text: "Don\'t move. Who are you and what are you doing in my house?" },
{ speaker: "sergio", text: "I got the wrong apartment, I\'m very sorry." },
{ speaker: "rafa", text: "Wrong apartment? I\'m a police inspector. You have exactly five seconds to get out that door." },
{ speaker: "sergio", text: "I\'m going, I\'m going." }
],
options: [
[], [], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Adrián te ve y se incorpora de golpe, con la expresión de alguien que no esperaba visita.
<center><img src="images/Adrian/adriantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "adrian",
name: "Adrián",
portrait: "images/Adrian/adrian.png",
color: "#e05a2b",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "adrian", text: "Sergio, tío, ¿qué haces aquí? No te esperaba." },
{ speaker: "sergio", text: "Nada, pasaba por aquí. Pillé mal el momento, ya me voy." },
{ speaker: "adrian", text: "Sí, mejor avisa la próxima vez." }
],
options: [
[], [],
[
{
text: "Marcharse",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Adrián te mira de arriba abajo con los ojos entrecerrados. Su complexión imponente hace que la situación sea algo intimidante.
<center><img src="images/Adrian/adriantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "adrian",
name: "Adrián",
portrait: "images/Adrian/adrian.png",
color: "#e05a2b",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "adrian", text: "Oye, ¿quién eres y qué haces en mi casa?" },
{ speaker: "sergio", text: "Me he equivocado de piso, lo siento. Ya me voy." },
{ speaker: "adrian", text: "Pues lárgate antes de que llame a mi padre, que es policía." }
],
options: [
[], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Adrián sees you and sits up sharply, with the expression of someone who wasn't expecting a visit.
<center><img src="images/Adrian/adriantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "adrian",
name: "Adrián",
portrait: "images/Adrian/adrian.png",
color: "#e05a2b",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "adrian", text: "Sergio, man, what are you doing here? Wasn\'t expecting you." },
{ speaker: "sergio", text: "Nothing, I was just passing by. Bad timing, I\'m heading out." },
{ speaker: "adrian", text: "Yeah, give me a heads up next time." }
],
options: [
[], [],
[
{
text: "Leave",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Adrián looks you up and down with narrowed eyes. His imposing build makes the situation somewhat intimidating.
<center><img src="images/Adrian/adriantedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "adrian",
name: "Adrián",
portrait: "images/Adrian/adrian.png",
color: "#e05a2b",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "adrian", text: "Hey, who are you and what are you doing in my house?" },
{ speaker: "sergio", text: "I got the wrong apartment, sorry. I\'m leaving." },
{ speaker: "adrian", text: "You better get out before I call my dad, who\'s a cop by the way." }
],
options: [
[], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Marta te ve y se detiene en seco. Su expresión no es de miedo sino de desaprobación total. La clase de mirada que congela a cualquiera en el sitio.
<center><img src="images/mujeres/martatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "marta",
name: "Marta",
portrait: "images/mujeres/marta.png",
color: "#9b59b6",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "marta", text: "Sergio. No recuerdo haberte invitado a entrar." },
{ speaker: "sergio", text: "Lo siento, Marta. Buscaba a Adrián y..." },
{ speaker: "marta", text: "En esta casa se llama al timbre. Siempre. ¿Está claro?" },
{ speaker: "sergio", text: "Sí, tienes razón. No volverá a pasar." },
{ speaker: "marta", text: "Más te vale. Ahora sal." }
],
options: [
[], [], [], [],
[
{
text: "Marcharse avergonzado",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Marta te mira con una frialdad que corta. No grita, no se alarma. Simplemente te evalúa como si fueras un problema que resolver.
<center><img src="images/mujeres/martatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "marta",
name: "Marta",
portrait: "images/mujeres/marta.png",
color: "#9b59b6",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "marta", text: "¿Quién es usted y cómo ha entrado en mi casa?" },
{ speaker: "sergio", text: "Me he equivocado de piso. Lo siento mucho, ya me voy." },
{ speaker: "marta", text: "Efectivamente, se va. Ahora mismo. Y sepa que mi marido es inspector de policía." },
{ speaker: "sergio", text: "No hace falta, ya me marcho." }
],
options: [
[], [], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Marta sees you and stops dead. Her expression isn't fear but total disapproval. The kind of look that freezes anyone on the spot.
<center><img src="images/mujeres/martatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "marta",
name: "Marta",
portrait: "images/mujeres/marta.png",
color: "#9b59b6",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "marta", text: "Sergio. I don\'t recall inviting you in." },
{ speaker: "sergio", text: "I\'m sorry, Marta. I was looking for Adrián and..." },
{ speaker: "marta", text: "In this house you ring the doorbell. Always. Is that clear?" },
{ speaker: "sergio", text: "Yes, you\'re right. It won\'t happen again." },
{ speaker: "marta", text: "It better not. Now leave." }
],
options: [
[], [], [], [],
[
{
text: "Leave embarrassed",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Marta looks at you with a coldness that cuts right through. She doesn't shout, she doesn't panic. She simply evaluates you like a problem to be solved.
<center><img src="images/mujeres/martatedescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "marta",
name: "Marta",
portrait: "images/mujeres/marta.png",
color: "#9b59b6",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "marta", text: "Who are you and how did you get into my house?" },
{ speaker: "sergio", text: "I got the wrong apartment. I\'m very sorry, I\'m leaving." },
{ speaker: "marta", text: "Indeed you are. Right now. And know that my husband is a police inspector." },
{ speaker: "sergio", text: "No need, I\'m already going." }
],
options: [
[], [], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 2º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite', 'Abel'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Los tres comen juntos en la mesa del salón. Abel obserba poco interesado la comida de sus abuelos,mas acostumbrado a la comida moderna. Sus abuelos, en cambio, actuan como si este estuviera en un parque de atracciones.
<center><img src="images/Abel/tomasmaiteabelcomiendo.png" width="500"></center>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite', 'Abel'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
The three of them eat together at the living room table. Abel watches his grandparents' meal with little interest, being more accustomed to modern food. His grandparents, on the other hand, act as if he were in an amusement park.
<center><img src="images/Abel/tomasmaiteabelcomiendo.png" width="500"></center>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Tomás y Maite cenan juntos en la mesa del salón. Él le ha preparado algo sencillo pero con cariño, como lleva haciendo toda la vida. Ella le agradece cada bocado con una sonrisa. Es la escena más tierna que has visto en mucho tiempo.
<center><img src="images/Tomas/tomasymaitecomiendo.png" width="500"></center>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
Tomás and Maite are having dinner together at the living room table. He has prepared something simple but with love, as he has done all his life. She thanks him for every bite with a smile. It's the most tender scene you've seen in a long time.
<center><img src="images/Tomas/tomasymaitecomiendo.png" width="500"></center>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
setTimeout(function() {
Engine.play("tomastededescubre");
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite', 'Abel'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Salón 3B" />
</div>
Los tres están en el salón viendo la televisión. Tomás y Maite siguen el programa con atención, comentándolo entre ellos en voz baja. Abel está en el otro extremo del sofá con el móvil en la mano, mirando la pantalla de vez en cuando por pura educación pero con la cabeza claramente en otro sitio.
<center><img src="images/Tomas/tomasmaiteabeltele.png" width="500">
</center>
[[Ir a la habitación de matrimonio|habitaciontomas]]
[[Ir al baño|baño3B]]
[[Ir a la segunda habitación|habitacioninvitados3B]]
[[Ir a la cocina|cocina3B]]
[[Ir al recibidor|recibidor3B]]
[[Salir de la casa|Rellano del 3º]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Tomas', 'Maite', 'Abel'])>>
<<set $tomasExcitadoDestino to "habitaciontomas">>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/salon3B.png" alt="Living room 3B" />
</div>
The three of them are in the living room watching television. Tomás and Maite follow the programme attentively, commenting on it quietly between themselves. Abel is at the other end of the sofa with his phone in hand, glancing at the screen every now and then out of pure politeness but with his mind clearly somewhere else entirely.
<center><img src="images/Tomas/tomasmaiteabeltele.png" width="500"></center>
[[Go to the master bedroom|habitaciontomas]]
[[Go to the bathroom|baño3B]]
[[Go to the second bedroom|habitacioninvitados3B]]
[[Go to the kitchen|cocina3B]]
[[Go to the hallway|recibidor3B]]
[[Leave the house|Rellano del 3º]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Tomas'])>>
<<set $tomasExcitadoDestino to "tomapajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Baño 3B" />
</div>
Tomás se ducha despacio, con la parsimonia de alguien que lleva décadas haciendo lo mismo a la misma hora. El agua caliente le cae sobre los hombros mientras se enjabona metódicamente. Observa con cuidado el suelo de la bañera, esperando que no resbale.
<center><img src="images/Tomas/tomasducha.png" class="fade-in" width="400"></center>
[[Alejarte|baño3B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Tomas'])>>
<<set $tomasExcitadoDestino to "tomapajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Bathroom 3B" />
</div>
Tomás showers slowly, with the unhurried pace of someone who has been doing the same thing at the same time for decades. The hot water cascades over his shoulders as he lathers methodically. He carefully watches the bathtub floor, hoping he won't slip.
<center><img src="images/Tomas/tomasducha.png" class="fade-in" width="400"></center>
[[Walk away|baño3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "abelpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Baño 3B" />
</div>
Abel se ducha en la bañera antigua de sus abuelos claramente molesto. No le gusta estar en un lugar tan anticuado, y mira con disgusto el agua que se estanca entre sus pies por tener el desagüe un poco embozado.
<center><img src="images/Abel/abelducha.png" class="fade-in" width="400"></center>
[[Alejarte|baño3B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "abelpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Bathroom 3B" />
</div>
Abel showers in his grandparents' old bathtub, clearly annoyed. He doesn't like being in such an outdated place, and looks with distaste at the water pooling around his feet due to the slightly blocked drain.
<center><img src="images/Abel/abelducha.png" class="fade-in" width="400"></center>
[[Walk away|baño3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Baño 3B" />
</div>
Abel no se siente cohibido por masturbarse en casa de sus abuelos. Se la machaca con ganas y los ojos cerrados, mientras con su otra mano se acaricia el cuerpo.
<video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;">
<source src="images/Abel/abelpajaducha.webm" type="video/webm">
</video>
[[Te marchas|baño3B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Bathroom 3B" />
</div>
Abel doesn't feel inhibited about masturbating at his grandparents' house. He strokes himself eagerly with his eyes closed, while his other hand caresses his body.
<video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;">
<source src="images/Abel/abelpajaducha.webm" type="video/webm">
</video>
[[You leave|baño3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Baño" />
</div>
Tomás, excitado de una manera que casi no recordaba, comienza a machacarse la polla con una velocidad y una fuerza que casi parece que se la va a arrancar. Tú le observas divertido y excitado a la vez.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tomas/tomaspajabaño.webm" type="video/webm"></video></center>
Luego le copias, y ambos os corréis con ganas tras varios minutos de actividad manual. Tienes la picardía de hacerlo sobre algún lugar no visible, dado que tu esperma se solidifica al salir de tu uretra.
[[Te marchas|baño3B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/baño3B.png" alt="Bathroom" />
</div>
Tomás, aroused in a way he had almost forgotten, starts pounding his cock with a speed and force that almost looks like he might tear it off. You watch him, amused and turned on at the same time.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Tomas/tomaspajabaño.webm" type="video/webm"></video></center>
Then you follow suit, and you both come hard after several minutes of manual activity. You have the wit to aim somewhere out of sight, since your cum solidifies as it leaves your body.
[[You leave|baño3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/cocina3B.png" alt="Cocina 3B" />
</div>
Abel está cocinando con el ceño ligeramente fruncido y los auriculares puestos, como quien hace algo por obligación y no por vocación. Sigue una receta en el móvil apoyado contra el azucarero, dando los pasos uno a uno con más resignación que entusiasmo. De vez en cuando prueba algo, asiente sin mucha convicción y sigue adelante. El resultado huele bien, aunque él no parezca especialmente orgulloso.
<center><img src="images/Abel/abelcocinando.png" width="500"></center>
[[Salir de la cocina|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/cocina3B.png" alt="Kitchen 3B" />
</div>
Abel is cooking with a slightly furrowed brow and his headphones on, like someone doing something out of obligation rather than passion. He follows a recipe on his phone propped against the sugar bowl, going through each step with more resignation than enthusiasm. Every now and then he tastes something, nods without much conviction and carries on. The result smells good, even if he doesn't seem particularly proud of it.
<center><img src="images/Abel/abelcocinando.png" width="500"></center>
[[Leave the kitchen|recibidor3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacalzoncillo to true>>
<<set $calzoncilloabel to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Habitación de Tomás" />
</div>
En la galería de la casa, junto a la lavadora, encuentras la cesta de la ropa sucia. Al rebuscar en ella encuentras un calzoncillo que entiendes que es imposible que pertenezca a tu vecino más mayor. Debe ser de Abel.
<center><img src="images/Abel/calzoncillosabel.png" class="fade-in" width="400">
</center>
[[Te marchas con tu trofeo|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Tomás's bedroom" />
</div>
In the utility room next to the washing machine, you find the laundry basket. Rummaging through it you come across a pair of underwear that you immediately understand could not possibly belong to your older neighbour. It must be Abel's.
<center><img src="images/Abel/calzoncillosabel.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor3B]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncillotomas to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Habitación de Tomás" />
</div>
En la galería de la casa, junto a la lavadora, encuentras la cesta de la ropa sucia. Al rebuscar en ella encuentras un calzoncillo de un estilo tan antiguo que solo puede pertenecer a Tomás.
<center><img src="images/Tomas/calzoncillostomas.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="Tomás's bedroom" />
</div>
In the utility room next to the washing machine, you find the laundry basket. Rummaging through it you come across a pair of underwear in such an old-fashioned style that it could only belong to Tomás.
<center><img src="images/Tomas/calzoncillostomas.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor3B]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="habraul" />
</div>
Te sientes un intruso entrando como un fantasma en el cuarto de tu adorable vecino Tomás mientras él duerme con su esposa enferma, pero al momento te das cuenta de lo absurdo de tus reticencias. Te sacas la polla y comienzas a pajearte cerca de su cara.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Eyaculas sobre su rostro. Tu esperma se vuelve sólido al escapar de ti e impacta sobre la cara de Tomás, que sigue durmiendo, sin apenas realizar ningún movimiento.
<center><img src="images/Tomas/tomascorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciontomas.png" alt="habraul" />
</div>
You feel like an intruder, entering like a ghost into your adorable neighbor Tomás's room while he sleeps with his sick wife, but you immediately realize the absurdity of your reluctance. You pull out your cock and start jerking off near his face.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
You ejaculate onto his face. Your sperm solidifies as it escapes from you and splashes onto Tomás's face, who is still asleep, barely moving.
<center><img src="images/Tomas/tomascorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor3B]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="habraul" />
</div>
El cuerpo de Abel, dormido profundamente, parece llamarte como una sirena. El joven farfulla algo en sueños, y tu sonríes anticipándote por lo que vas a hacer en unos minutos. Te sacas la polla y comienzas a masturbarte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Te corres sobre su cara. Dos impactos caen directos sobre sus mejillas, deslizándose por ellas como si fueran dos lágrimas de esperma. Otro cae cercano a sus labios. El durmiente se agita, pero no se despierta.
<center><img src="images/Abel/abelcorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="habraul" />
</div>
Abel's body, fast asleep, seems to call to you like a siren. The young man mumbles something in his sleep, and you smile, anticipating what you're going to do in a few minutes. You pull out your cock and begin to masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
You ejaculate on his face. Two spurts land directly on his cheeks, sliding down them like two tears of semen. Another lands near his lips. The sleeper stirs, but doesn't wake up.
<center><img src="images/Abel/abelcorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor1B]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Habitación de invitados 3B" />
</div>
Abel duerme profundamente en la cama que pertenecia a su padre. Duerme placidamente, sin percatarse de tu presencia.
<center><img src="images/Abel/abeldurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Abel jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corrersecaraabel')>><</link>>
<</if>>
[[Salir de la habitación|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "habitacioninvitados3B">>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Guest room 3B" />
</div>
Abel sleeps soundly in the bed that belonged to his father. He sleeps peacefully, unaware of your presence.
<center><img src="images/Abel/abeldurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Abel would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corrersecaraabel')>><</link>>
<</if>>
[[Leave the room|recibidor3B]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "abelpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Habitación de invitados 3B" />
</div>
Abel está tumbado en la cama con el móvil en la mano, scrolleando sin rumbo fijo. A veces suelta una sonrisa por algo que ve, a veces frunce el ceño. Parece relajado pero con esa inquietud de fondo de alguien que no termina de encontrar su sitio en esta casa de abuelos.
<center><img src="images/Abel/abelencama.png" width="500"></center>
[[Salir de la habitación|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Abel'])>>
<<set $abelExcitadoDestino to "abelpajacuarto">>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Guest room 3B" />
</div>
Abel is lying on the bed with his phone in hand, scrolling aimlessly. Sometimes he lets out a smile at something he sees, sometimes he frowns. He seems relaxed but with that underlying restlessness of someone who hasn't quite found their place in this grandparents' house.
<center><img src="images/Abel/abelencama.png" width="500"></center>
[[Leave the room|recibidor3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Habitación de invitados 3B" />
</div>
Abel, desnudo en su cuarto, se masturba con ganas. Tú te colocas enfrente de él, con la seguridad de que no vas a ser detectado, y te sacas la polla también. Ambos os corréis al mismo momento, aprovechando el orgasmo del joven para que tu esperma caiga también sobre su pecho, mezclándose ambas leches.
<video autoplay loop muted playsinline width="500">
<source src="images/Abel/abelpajacuarto.webm" type="video/webm">
</video>
[[Te marchas|recibidor3B]]
<<else>>
<<run setup.gameTime.addMinutes(15)>>
<div class="header-image">
<img src="images/localizaciones/habitacioninvitados3B.png" alt="Guest room 3B" />
</div>
Abel, naked in his room, strokes himself eagerly. You position yourself in front of him, confident you won't be detected, and pull out your cock too. You both come at the same moment, taking advantage of the young man's orgasm to let your cum fall on his chest as well, both loads mixing together.
<video autoplay loop muted playsinline width="500">
<source src="images/Abel/abelpajacuarto.webm" type="video/webm">
</video>
[[You leave|recibidor3B]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Abel levanta la vista y te ve. Frunce el ceño, claramente incómodo ante tu presencia inesperada.
<center><img src="images/Abel/abelteDescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "abel",
name: "Abel",
portrait: "images/Abel/abel.png",
color: "#27ae60",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "abel", text: "Sergio, ¿qué haces aquí? No me avisaste de que venías." },
{ speaker: "sergio", text: "Perdona, quería ver a Tomás y... me he colado sin querer." },
{ speaker: "abel", text: "Ya. Pues la próxima vez llamas al timbre, ¿no?" },
{ speaker: "sergio", text: "Tienes razón, lo siento." }
],
options: [
[], [], [],
[
{
text: "Marcharse",
action: function() {
Engine.play("Rellano del 3º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Abel te mira con desconfianza. No te conoce y no entiende qué haces en casa de sus abuelos.
<center><img src="images/Abel/abelteDescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
var dialogueConfig = {
characters: [
{
id: "abel",
name: "Abel",
portrait: "images/Abel/abel.png",
color: "#27ae60",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "abel", text: "Oye, ¿quién eres y qué haces aquí?" },
{ speaker: "sergio", text: "Me he equivocado de piso, lo siento mucho." },
{ speaker: "abel", text: "¿Equivocado de piso? Esto es una casa particular." },
{ speaker: "sergio", text: "Ya me voy, disculpa." },
{ speaker: "abel", text: "Más te vale. Como no te largues ahora mismo llamo a la policía." }
],
options: [
[], [], [], [],
[
{
text: "Salir precipitadamente",
action: function() {
Engine.play("Rellano del 3º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.nameEn === "Sergio">>
Abel looks up and sees you. He frowns, clearly uncomfortable at your unexpected presence.
<center><img src="images/Abel/abelteDescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var dialogueConfig = {
characters: [
{
id: "abel",
name: "Abel",
portrait: "images/Abel/abel.png",
color: "#27ae60",
facing: "left"
},
{
id: "sergio",
name: "Sergio",
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "abel", text: "Sergio, what are you doing here? You didn\'t let me know you were coming." },
{ speaker: "sergio", text: "Sorry, I wanted to see Tomás and... I kind of wandered in by mistake." },
{ speaker: "abel", text: "Right. Well next time you ring the doorbell, yeah?" },
{ speaker: "sergio", text: "You\'re right, I\'m sorry." }
],
options: [
[], [], [],
[
{
text: "Leave",
action: function() {
Engine.play("Rellano del 3º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<<else>>
Abel looks at you with suspicion. He doesn't know you and doesn't understand what you're doing in his grandparents' house.
<center><img src="images/Abel/abelteDescubre.png" width="400"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
var dialogueConfig = {
characters: [
{
id: "abel",
name: "Abel",
portrait: "images/Abel/abel.png",
color: "#27ae60",
facing: "left"
},
{
id: "sergio",
name: semblanteName,
portrait: "images/Sergio/sergio.png",
color: "#8af7ff",
facing: "right"
}
],
lines: [
{ speaker: "abel", text: "Hey, who are you and what are you doing here?" },
{ speaker: "sergio", text: "I got the wrong apartment, I\'m very sorry." },
{ speaker: "abel", text: "Wrong apartment? This is a private home." },
{ speaker: "sergio", text: "I\'m leaving now, sorry." },
{ speaker: "abel", text: "You better. If you\'re not gone right now I\'m calling the police." }
],
options: [
[], [], [], [],
[
{
text: "Leave hastily",
action: function() {
Engine.play("Rellano del 3º");
}
}
]
]
};
rpgDialogue(dialogueConfig);
});
<</script>>
<</if>>
<</if>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "francescopajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño 3A" />
</div>
Francesco se ducha tarareando algo en italiano, completamente ajeno a tu presencia. Tiene una rutina precisa incluso para ducharse: primero el pelo, luego el cuerpo, siempre en el mismo orden.
<center><img src="images/Francesco/francescoducha.png" class="fade-in" width="400"></center>
[[Alejarte|baño3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "fiestafrancesco">>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom 3A" />
</div>
Francesco showers humming something in Italian, completely unaware of your presence. He has a precise routine even for showering: hair first, then body, always in the same order.
<center><img src="images/Francesco/francescoducha.png" class="fade-in" width="400"></center>
[[Walk away|baño3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "seanpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño 3A" />
</div>
El agua cae sobre la espalda de Sean, que con los ojos perdidos parece que medita. Nunca lo has visto tan introspectivo. Parece que en la intimidad es más él mismo.
<center><img src="images/Sean/seanduchandose.png" class="fade-in" width="400"></center>
[[Alejarte|baño3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "seanpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom 3A" />
</div>
The water falls on Sean's back as he stares into space, as if meditating. You've never seen him this introspective. It seems like in private he's more himself.
<center><img src="images/Sean/seanduchandose.png" class="fade-in" width="400"></center>
[[Walk away|baño3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmaducha to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "adlerpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño 3A" />
</div>
Adler se está duchando y, mientras se enjabona el pelo, canta una canción absurda en alemán que no entiendes. Es tan tierno y a la vez tan sexy que casi te dan ganas de arrodillarte y comérsela ahí mismo.
<center><img src="images/Adler/adlerduchandose.png" class="fade-in" width="400"></center>
[[Alejarte|baño3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "adlerpajaducha">>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom 3A" />
</div>
Adler is showering and, while he soaps his hair, he sings some nonsensical song in German that you can't understand. He's so endearing and yet so sexy that you almost feel like getting on your knees and going down on him right there.
<center><img src="images/Adler/adlerduchandose.png" class="fade-in" width="400"></center>
[[Walk away|baño3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño 3A" />
</div>
Francesco, con la polla dura como una piedra, comienza a masturbarse bajo el agua de la ducha. El agua corre y apelmaza su denso vello sobre el pecho, mientras su cara de niño bueno hace muecas de placer.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescopajaducha.webm" type="video/webm">
</video>
</center>
[[Salir del baño|baño3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom 3A" />
</div>
Francesco, with his cock hard as a rock, begins to stroke himself under the shower water. The water runs down and mats his thick chest hair while his good-boy face contorts with pleasure.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescopajaducha.webm" type="video/webm">
</video>
</center>
[[Leave the bathroom|baño3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño 3A" />
</div>
Sean, excitado, comienza a pajease mientras el agua cae sobre su pecho lampiño y su polla, dura y grande, recibe las atenciones de su mano.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Sean/seanpajaducha.webm" type="video/webm">
</video>
</center>
[[Salir del baño|baño3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom 3A" />
</div>
Sean, turned on, starts stroking himself as the water falls over his smooth chest and his cock, hard and big, receives the attention of his hand.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Sean/seanpajaducha.webm" type="video/webm">
</video>
</center>
[[Leave the bathroom|baño3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Baño 3A" />
</div>
Adler, con la misma determinación con la que afronta todo, se masturba bajo el agua con una concentración absoluta. Su cuerpo atlético y su polla bien formada reciben el chorro de la ducha mientras él, con los ojos cerrados, acelera el ritmo sin perder el compás.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Adler/adlerpajaducha.webm" type="video/webm">
</video>
</center>
[[Salir del baño|baño3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<div class="header-image">
<img src="images/localizaciones/baño3A.png" alt="Bathroom 3A" />
</div>
Adler, with the same determination he applies to everything, masturbates under the water with absolute focus. His athletic body and well-formed cock receive the shower stream while he, eyes closed, picks up the pace without losing his rhythm.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Adler/adlerpajaducha.webm" type="video/webm">
</video>
</center>
[[Leave the bathroom|baño3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Adler desayuna sentado en el sofá del salón, mojando galletas en un vaso de leche con una sonrisa satisfecha.
<center><img src="images/Adler/adlerdesayunando.png" width="500"></center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
Adler is having breakfast sitting on the living room sofa, dunking cookies into a glass of milk with a satisfied smile.
<center><img src="images/Adler/adlerdesayunando.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Francesco desayuna en una esquina de la mesa del salón, con un café y un cruasán. Come con una elegancia discreta, sin migas, sin prisa. En este piso, él es el único que desayuna como una persona civilizada.
<center><img src="images/Francesco/francescodesayunando.png" width="500"></center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
Francesco has breakfast in a corner of the living room table, with a coffee and a croissant. He eats with discreet elegance, no crumbs, no rush. In this apartment, he's the only one who has breakfast like a civilised person.
<center><img src="images/Francesco/francescodesayunando.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Adler está comiendo solo en la mesa del salón una lasaña de esas que vienen en bandeja de plástico y se meten al microondas. Poco le importa si no es lo mas sano del mundo.
<center><img src="images/Adler/adlercomiendo.png" width="500"></center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
Adler is eating alone at the living room table, a microwaveable lasagna that comes in a plastic tray. He doesn't care if it's not the healthiest thing in the world.
<center><img src="images/Adler/adlercomiendo.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler', 'Sean', 'Francesco'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<<set $seanExcitadoDestino to "habitacionsean">>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Los tres compañeros cenan juntos alrededor de la mesa del salón con varias cajas de pizza abiertas en el centro. Adler devora su tercera porción mientras habla con la boca llena. Sean bromea sobre sus conquistas y Francesco mira las cajas con una expresión entre resignación y horror, pero come igualmente. Es el único momento del día en que los tres coinciden y se nota que, pese a todo, se llevan bien.
<center><img src="images/Sean/trescenando.png" width="500">
</center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler', 'Sean', 'Francesco'])>>
<<set $adlerExcitadoDestino to "habitacionadler">>
<<set $seanExcitadoDestino to "habitacionsean">>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
The three colleagues eat dinner together around the living room table, several open pizza boxes in the center. Adler devours his third slice while talking with his mouth full. Sean jokes about his conquests, and Francesco looks at the boxes with an expression somewhere between resignation and horror, but eats anyway. It's the only time of day the three of them are together, and it's clear that, despite everything, they get along well.
<center><img src="images/Sean/trescenando.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean', 'Francesco'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Sean y Francesco comen juntos en la mesa del salón. Sean la engulle sin contemplaciones Y el italiano lo hace con mas delicadeza y finura.
<center><img src="images/Francesco/seanfrancescocomiendo.png"
width="500"></center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean', 'Francesco'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
Sean and Francesco eat together at the living room table. Sean devours his meal without hesitation, while the Italian eats it with more delicacy and finesse.
<center><img src="images/Francesco/seanfrancescocomiendo.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Sean desayuna en el sofá con una bolsa de bollería industrial y un zumo de naranja en la mano. Come con la parsimonia de alguien que todavía no está del todo despierto.
<center><img src="images/Sean/seandesayunando.png" width="500"></center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
Sean eats breakfast on the sofa with a bag of packaged pastries and an orange juice in his hand. He eats with the slowness of someone who isn't fully awake yet.
<center><img src="images/Sean/seandesayunando.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Salón 3A" />
</div>
Francesco está comiendo solo en la mesa del salón con un plato de pasta que se ha preparado él mismo. Lo hace con la seriedad de alguien que considera la cocina italiana un asunto de estado. Enrolla los espaguetis en el tenedor con una precisión que roza lo ceremonial y los saborea sin prisa. En el plato no hay ni rastro de salsa de bote.
<center><img src="images/Francesco/francescocomiendo.png" width="500"></center>
[[Salir del salón|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="Living room 3A" />
</div>
Francesco is eating alone at the living room table with a plate of pasta he's cooked himself. He does it with the seriousness of someone who considers Italian cooking a matter of national importance. He twirls the spaghetti on his fork with an almost ceremonial precision and savours each bite unhurriedly. There's not a trace of jar sauce on the plate.
<center><img src="images/Francesco/francescocomiendo.png" width="500"></center>
[[Leave the living room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Sean duerme de cualquier manera, con medio cuerpo fuera de las sábanas y una almohada en el suelo. Su ropa del día anterior está tirada donde se la quitó. Ronca levemente. Es el sueño profundo e inconsciente de alguien que no tiene ningún remordimiento.
<center><img src="images/Sean/seandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Sean jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corridacarasean')>><</link>>
<</if>>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
Sean sleeps any which way, with half his body hanging out of the sheets and a pillow on the floor. His clothes from the day before are thrown wherever he took them off. He snores lightly. It's the deep, oblivious sleep of someone with absolutely no regrets.
<center><img src="images/Sean/seandurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Sean would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corridacarasean')>><</link>>
<</if>>
[[Leave the room|recibidor3A]]
<</if>>
<<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Aunque Sean no necesita masturbarse para liberar sus testículos con frecuencia, dado que liga bastante, también es un veinteañero caliente. Así que, como todos los de su edad, se masturba con ganas.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Sean/seanpajacuarto.webm" type="video/webm">
</video>
</center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
Although Sean doesn't need to masturbate to release his balls very often, given how much he gets around, he's also a hot twenty-something. So, like everyone his age, he strokes himself eagerly.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Sean/seanpajacuarto.webm" type="video/webm">
</video>
</center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
$(document).one(":passagedisplay", function() {
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
if (Story.has(discoveryPassage)) {
Engine.play(discoveryPassage);
}
}, 200);
});
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Sean está tumbado en la cama con el portátil apoyado en el pecho, viendo alguna serie o jugando a algo. Tiene una lata de cerveza en la mesita y los auriculares puestos a medio poner, como quien no descarta que le llamen. Es su modo de descanso natural: horizontal, con pantalla y sin obligaciones.
<center><img src="images/Sean/seanrelajado.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "habitacionsean">>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
Sean is lying on his bed with his laptop resting on his chest, watching some series or playing something. There's a can of beer on the bedside table and his headphones are half on, like someone who isn't ruling out getting a call. It's his natural resting mode: horizontal, with a screen and no obligations.
<center><img src="images/Sean/seanrelajado.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
$(document).one(":passagedisplay", function() {
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
if (Story.has(discoveryPassage)) {
Engine.play(discoveryPassage);
}
}, 200);
});
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "SeanMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Sean se está preparando para salir con la energía de quien sabe que esta noche va a ligar. Se echa colonia a chorro, elige la camiseta más ajustada que tiene y se peina con una mano frente al espejo con expresión de satisfacción. Sobre la cama hay un rastro de ropa descartada que cuenta la historia de los últimos veinte minutos.
<center><img src="images/Sean/seanpreparandose.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<<set $seanExcitadoDestino to "SeanMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
Sean is getting ready to go out, brimming with the energy of someone who knows he's going to score tonight. He douses himself in cologne, chooses his tightest t-shirt, and runs a hand through his hair in front of the mirror, a satisfied expression on his face. A trail of discarded clothing on the bed tells the story of the last twenty minutes.
<center><img src="images/Sean/seanpreparandose.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
$(document).one(":passagedisplay", function() {
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
if (Story.has(discoveryPassage)) {
Engine.play(discoveryPassage);
}
}, 200);
});
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
Sean está follando con la chica que se trajo de la discoteca. La mujer disfruta del irlandés, que demuestra sus dotes de follador. Su polla entra y sale de la vagina de la mujer provocándole gemidos que, seguro, llegan al resto de habitantes de la casa.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Sean/seanychicasexy1.webm" type="video/webm">
</video>
</center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Sean'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
Sean is having sex with the girl he brought home from the club. The woman is enjoying the Irishman, who is demonstrating his skills as a lover. His cock goes in and out of the woman's vagina, causing her to moan, which surely reaches the other inhabitants of the house.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Sean/seanychicasexy1.webm" type="video/webm">
</video>
</center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
$(document).one(":passagedisplay", function() {
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
if (Story.has(discoveryPassage)) {
Engine.play(discoveryPassage);
}
}, 200);
});
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Adler duerme boca arriba con la boca abierta y roncando fuertemente. Duerme solo en calzoncillos, por lo que te controlas no quitarle la ligera sabana que le cubre.
<center><img src="images/Adler/adlerdurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Adler jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corridacaraadler')>><</link>>
<</if>>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's room" />
</div>
Adler sleeps on his back with his mouth open and snoring loudly. He sleeps in just his underwear, so you restrain yourself from removing the light sheet covering him.
<center><img src="images/Adler/adlerdurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Adler would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corridacaraadler')>><</link>>
<</if>>
[[Leave the room|recibidor3A]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "AdlerMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Adler está tumbado en la cama con el móvil en la mano, scrolleando por alguna red social con una expresión relajada que no se le ve casi nunca. Se ha quitado los zapatos pero sigue con la ropa del día, como alguien que ha decidido descansar cinco minutos y no se ha levantado.
<center><img src="images/Adler/adlerdescansando.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "AdlerMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's room" />
</div>
Adler is lying on his bed with his phone in hand, scrolling through some social media with a relaxed expression you almost never see on him.He's taken his shoes off but is still in his day clothes, like someone who decided to rest for five minutes and never got back up.
<center><img src="images/Adler/adlerdescansando.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "AdlerMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Adler está en su escritorio rodeado de apuntes, libros y subrayadores de colores. De vez en cuando para, relee algo, asiente levemente y continúa. No parece estar muy centrado en los estudios.
<center><img src="images/Adler/adlerstudiando.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "AdlerMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's room" />
</div>
Adler sits at his desk surrounded by notes, books, and colored highlighters. Every now and then he stops, rereads something, nods slightly, and continues. He doesn't seem very focused on his studies.
<center><img src="images/Adler/adlerstudiando.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "AdlerMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Adler se está preparando para salir con Sean. Se mira en el espejo con más atención de la que reconocería en público, probándose una camiseta, descartándola y eligiendo otra. Sobre la cama hay tres conjuntos descartados.
<center><img src="images/Adler/adlerpreparandose.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<<set $adlerExcitadoDestino to "AdlerMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's room" />
</div>
Adler is getting ready to go out with Sean. He looks at himself in the mirror with more attention than he would publicly admit, trying on a t-shirt, discarding it and choosing another. Three discarded outfits lie on the bed.
<center><img src="images/Adler/adlerpreparandose.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Francesco duerme de lado con las manos juntas bajo la mejilla, como en una estampa. La cama está tan bien hecha incluso con él dentro que parece que no se ha movido en toda la noche. Su respiración es tranquila y regular.
<center><img src="images/Francesco/francescodurmiendo.png" width="500">
</center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Tu forma fantasmal te da una libertad que Francesco jamás aprobaría conscientemente...</p>
<<link "👻 Correrte en su cara">><<run Engine.play('corridacarafrancesco')>><</link>>
<</if>>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
Francesco sleeps on his side with his hands clasped under his cheek, like a picture postcard. The bed is so neatly made even with him in it that it looks like he hasn't moved all night. His breathing is calm and steady.
<center><img src="images/Francesco/francescodurmiendo.png" width="500"></center>
<<if $formaFantasmalActiva is true>>
<p style="color:#88ccff; font-style:italic; text-align:center;">👻 Your ghost form gives you a freedom Francesco would never consciously approve of...</p>
<<link "👻 Cum on his face">><<run Engine.play('corridacarafrancesco')>><</link>>
<</if>>
[[Leave the room|recibidor3A]]
<</if>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "FrancescoMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Francesco está tumbado en la cama mirando el techo con los auriculares puestos. Es de los pocos momentos del día en que no tiene un libro o un apunte en la mano.
<center><img src="images/Francesco/francescodescansando.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "FrancescoMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
Francesco is lying on his bed staring at the ceiling with his headphones on. It's one of the few moments of the day when he doesn't have a book or notes in his hand.
<center><img src="images/Francesco/francescodescansando.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Francesco está, sin lugar a dudas, totalmente cachondo. El italiano, desnudo y tumbado en su cama, se masturba la polla con ganas mientras con la otra mano se acaricia el peludo pecho. La imagen es deliciosa.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo3.webm" type="video/webm">
</video>
</center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
Francesco is, without a doubt, completely turned on. The Italian, naked and lying on his bed, strokes his cock eagerly while his other hand caresses his hairy chest. The image is delicious.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Francesco/francescovideo3.webm" type="video/webm">
</video>
</center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "FrancescoMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Francesco está en su escritorio con tres libros abiertos a la vez y el portátil encendido. Tiene un subrayador en la mano y una expresión de concentración absoluta. Cada cierto tiempo anota algo en su cuaderno con una letra perfectamente legible. La música clásica suena de fondo a un volumen bajo.
<center><img src="images/Francesco/francescoestudiando.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "habitacionfrancesco">>
<div class="header-image">
<img src="images/localizaciones/FrancescoMasturbandose.png" alt="Francesco's room" />
</div>
Francesco is at his desk with three books open at once and his laptop on. He has a highlighter in his hand and an expression of absolute concentration. Every now and then he jots something down in his notebook in perfectly legible handwriting. Classical music plays softly in the background.
<center><img src="images/Francesco/francescoestudiando.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "FrancescoMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Francesco está sentado en su escritorio con el portátil abierto, en videollamada con su prometida. Habla en italiano en voz baja, con una sonrisa que no se le ve en ningún otro momento del día. De vez en cuando ríe por algo que ella dice.
<center><img src="images/Francesco/francescovideollamada.png" width="500"></center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Francesco'])>>
<<set $francescoExcitadoDestino to "FrancescoMasturbandose">>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
Francesco is sitting at his desk with his laptop open, on a video call with his fiancée. He speaks Italian in a low voice, with a smile you don't see on him at any other moment of the day. Every now and then he laughs at something she says. .
<center><img src="images/Francesco/francescovideollamada.png" width="500"></center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="habraul" />
</div>
La habitación está oscura, pero logras identificar la figura del irlandés enseguida, gracias a sus ronquidos rítmicos. Sean duerme placidamente, con la boca entre abierta, y eso hace que te pongas un reto. ¿A ver si puedes hacer diana?
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Atravesando tanto la cama como el cuerpo de Sean, te sacas la polla y comienzas a pajearte. Tras unos minutos notas como empieza a salir tu esperma, que se solidifica al escapar de tu cuerpo. Por desgracia, no eres un gran tirador, y dejas todo el rostro del irlandés lleno de tu leche. Aunque ves como parte de ella sí que ha golpeado el objetivo.
<center><img src="images/Sean/seancorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="habraul" />
</div>
The room is dark, but you can spot the Irishman right away, thanks to his rhythmic snores. Sean is sleeping peacefully, his mouth slightly open, and that gives you a challenge. Let's see if you can hit the bullseye.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Reaching through both the bed and Sean's body, you pull out your cock and start jerking off. After a few minutes, you feel your sperm starting to come out, solidifying as it escapes your body. Unfortunately, you're not a great shot, and you end up covering the Irishman's face in your cum. Although you do see that some of it hit the target.
<center><img src="images/Sean/seancorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor3A]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="habraul" />
</div>
Adler ronca tan fuerte que seria imposible que te detectara si fueras corpóreo. Aun así, decides seguir con tu plan y, sigiloso como solo puede ser un fantasma, atraviesas su cama y su cuerpo para ponerte encima de él y te sacas la polla.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Estás tan excitado por la situación que no tardes en correrte. Tu leche se solidifica al salir de tus testículos, y dos descargas caen sobre el rostro del alemán, impactando incluso cerca de su boca abierta. Estás seguro de que algo a caído dentro. Adler sigue sin inmutarse, así que tú decides salir de la habitación.
<center><img src="images/Adler/adlercorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="habraul" />
</div>
Adler snores so loudly that it would be impossible for him to detect you if you were corporeal. Even so, you decide to continue with your plan and, as stealthy as only a ghost can be, you pass through his bed and his body to get on top of him and pull out your cock.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
You're so excited by the situation that you don't take long to ejaculate. Your semen solidifies as it leaves your testicles, and two spurts land on the German's face, even landing near his open mouth. You're sure some of it got inside. Adler remains unfazed, so you decide to leave the room.
<center><img src="images/Adler/adlercorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor3A]]
<</if>><<set $fantasmacorrida to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="habraul" />
</div>
La habitación está en silencio. En su cama, durmiendo placidamente, Francesco espera a que le bañes con tu leche. O no, pero eso no importa. Es lo que vas a hacer. Te acercas a su rostro y, sacándote el miembro, comienzas a masturbarte.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
Tras sacudírtela un rato, consigues lanzar tres buenas descargas sobre la cara del italiano, que se vuelven sólidas al salir de tu forma fantasmal. Francesco se agita, e incluso se da la vuelta. Decides que, aunque eres invisible, sería recomendable alejarte de la escena.
<center><img src="images/Francesco/francescocorridacara.png" class="fade-in" width="500"></center>
[[Te marchas|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="habraul" />
</div
The room is silent. In his bed, sleeping peacefully, Francesco waits for you to bathe him in your milk. Or not, but that doesn't matter. It's what you're going to do. You approach his face and, taking out your member, begin to masturbate.
<center><video autoplay loop muted playsinline style="max-width: 80%; width: 500px; height: auto;"><source src="images/Sergio/pajafantasma.webm" type="video/webm"></video></center>
After shaking it off for a while, you manage to unleash three powerful blasts onto the Italian's face, which solidify as they emerge from your ghostly form. Francesco stirs, even turning around. You decide that, although invisible, it would be wise to move away from the scene.
<center><img src="images/Francesco/francescocorridacara.png" class="fade-in" width="500"></center>
[[Go out|recibidor3A]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncillosean to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Habitación de Sean" />
</div>
En apenas un par de minutos encuentras un calzoncillo de Sean usado. Está sobre la silla. Lo recoges y, antes de irte, decides olerlo un poquillo. Casi huele a dulce.
<center><img src="images/Sean/calzoncillosean.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionsean.png" alt="Sean's room" />
</div>
In barely a couple of minutes you find a used pair of Sean's underwear. It's on the chair. You pick it up and, before leaving, decide to give it a little sniff. It almost smells sweet.
<center><img src="images/Sean/calzoncillosean.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor3A]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncilloadler to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Rebuscas entre la ropa diseminada por la cama hasta que, bajo un pantalón vaquero, encuentras un calzoncillo de gran tamaño que, al momento, sabes que pertenece a Adler. Antes de guardártelo, te lo acercas al rostro y lo hueles.
<center><img src="images/Adler/calzoncilloadler.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's room" />
</div>
You rummage through the clothes scattered on the bed until, under a pair of jeans, you find a large pair of underwear that you immediately know belongs to Adler. Before pocketing it, you bring it to your face and smell it.
<center><img src="images/Adler/calzoncilloadler.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor3A]]
<</if>><<set $fantasmacalzoncillo to true>>
<<set $calzoncillofrancesco to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Habitación de Francesco" />
</div>
Francesco tiene la habitación limpia y ordenada. Te pasas varios minutos intentando encontrar un recuerdo del estudiante italiano hasta que, bajo la cama, encuentras un slip negro que huele a hombre.
<center><img src="images/Francesco/calzoncillofrancesco.png" class="fade-in" width="400"></center>
[[Te marchas con tu trofeo|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<div class="header-image">
<img src="images/localizaciones/habitacionfrancesco.png" alt="Francesco's room" />
</div>
Francesco keeps his room clean and tidy. You spend several minutes trying to find a souvenir from the Italian student until, under the bed, you find a black brief that smells of man.
<center><img src="images/Francesco/calzoncillofrancesco.png" class="fade-in" width="400"></center>
[[You leave with your trophy|recibidor3A]]
<</if>><<set $fantasmapaja to true>>
<<if $idioma is "es">>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Habitación de Adler" />
</div>
Adler está claramente cachondo. Se ha liberado de toda su ropa, como si le diera calor, y se machaca la polla con fuerza. Su piel blanquecina brilla de sudor por el esfuerzo mientras su polla no aguanta mucho el embate y comienza a eyacular sobre la barriga y el pecho del alemán.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Adler/adlerpajacuarto.webm" type="video/webm">
</video>
</center>
[[Salir de la habitación|recibidor3A]]
<<else>>
<<run setup.gameTime.addMinutes(10)>>
<<run setup.registerCharactersInLocation(['Adler'])>>
<div class="header-image">
<img src="images/localizaciones/habitacionadler.png" alt="Adler's room" />
</div>
Adler is clearly turned on. He has stripped off all his clothes, as if he were overheating, and strokes his cock hard. His pale skin glistens with sweat from the effort while his cock can't hold out much longer and begins to ejaculate over the German's stomach and chest.
<center>
<video autoplay loop muted playsinline style="max-width: 80%; width: 600px; height: auto;">
<source src="images/Adler/adlerpajacuarto.webm" type="video/webm">
</video>
</center>
[[Leave the room|recibidor3A]]
<</if>>
<<script>>
setTimeout(function() {
if (State.variables.formaFantasmalActiva === true) return;
var charactersPresent = State.variables.charactersInCurrentLocation || [];
if (charactersPresent.length === 0) return;
var discovererName = charactersPresent[0];
var discoveryPassage = discovererName.toLowerCase() + "tedescubre";
setTimeout(function() {
Engine.play(discoveryPassage);
}, 60);
}, 100);
<</script>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Francesco te descubre en el piso. Te mira con una expresión educada pero fría, la de alguien que sabe exactamente lo que está pasando y espera una explicación a la altura.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "francesco", name: "Francesco", portrait: "images/Francesco/francesco.png", color: "#e74c3c", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "francesco", text: "Sergio. Esto es una sorpresa poco agradable." },
{ speaker: "sergio", text: "Perdona, no quería molestar. La puerta estaba..." },
{ speaker: "francesco", text: "La puerta no importa. Este es nuestro hogar, no un lugar público." },
{ speaker: "sergio", text: "Tienes razón. Lo siento de verdad." },
{ speaker: "francesco", text: "Por favor, no vuelvas a entrar sin que te inviten." }
],
options: [
[], [], [], [],
[{ text: "Marcharse", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<<else>>
Francesco te descubre en el piso. Te mira con cortesía pero sin un ápice de confianza, como quien evalúa una situación antes de actuar.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
rpgDialogue({
characters: [
{ id: "francesco", name: "Francesco", portrait: "images/Francesco/francesco.png", color: "#e74c3c", facing: "left" },
{ id: "sergio", name: semblanteName, portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "francesco", text: "Disculpa, ¿puedo preguntarte qué haces aquí?" },
{ speaker: "sergio", text: "Me he equivocado de piso. Lo siento mucho." },
{ speaker: "francesco", text: "Entiendo. Aun así, esto es una propiedad privada." },
{ speaker: "sergio", text: "Lo sé, ya me voy. Perdona las molestias." },
{ speaker: "francesco", text: "No hay problema. Pero por favor, ten más cuidado la próxima vez." }
],
options: [
[], [], [], [],
[{ text: "Salir precipitadamente", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Francesco spots you in the apartment. He looks at you with a polite but cold expression, like someone who knows exactly what's going on and expects a decent explanation.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "francesco", name: "Francesco", portrait: "images/Francesco/francesco.png", color: "#e74c3c", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "francesco", text: "Sergio. This is an unpleasant surprise." },
{ speaker: "sergio", text: "Sorry, I didn't mean to intrude. The door was..." },
{ speaker: "francesco", text: "The door doesn't matter. This is our home, not a public place." },
{ speaker: "sergio", text: "You're right. I'm truly sorry." },
{ speaker: "francesco", text: "Please don't come in again without being invited." }
],
options: [
[], [], [], [],
[{ text: "Leave", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<<else>>
Francesco spots you in the apartment. He looks at you politely but without a trace of trust, like someone assessing a situation before acting.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
rpgDialogue({
characters: [
{ id: "francesco", name: "Francesco", portrait: "images/Francesco/francesco.png", color: "#e74c3c", facing: "left" },
{ id: "sergio", name: semblanteName, portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "francesco", text: "Excuse me, may I ask what you're doing here?" },
{ speaker: "sergio", text: "I got the wrong apartment. I'm very sorry." },
{ speaker: "francesco", text: "I understand. Even so, this is private property." },
{ speaker: "sergio", text: "I know, I'm leaving. Sorry for the trouble." },
{ speaker: "francesco", text: "No problem. But please be more careful next time." }
],
options: [
[], [], [], [],
[{ text: "Leave hastily", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Sean te descubre en el piso. Te mira con una sonrisa torcida, más divertido que enfadado, como si la situación le hiciera gracia.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "sean", name: "Sean", portrait: "images/Sean/sean.png", color: "#27ae60", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sean", text: "¡Ey! ¿Sergio? ¿Qué narices haces aquí tío?" },
{ speaker: "sergio", text: "Perdona, la puerta estaba abierta y..." },
{ speaker: "sean", text: "Colega, esto no es un bar. No puedes entrar así como así." },
{ speaker: "sergio", text: "Lo sé, lo siento. No volverá a pasar." },
{ speaker: "sean", text: "Bueno, esta vez pase. Pero la próxima vez llama al timbre, ¿eh?" }
],
options: [
[], [], [], [],
[{ text: "Marcharse", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<<else>>
Sean te descubre en el piso. Te mira de arriba abajo con curiosidad, sin perder la sonrisa característica que tiene para todo.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
rpgDialogue({
characters: [
{ id: "sean", name: "Sean", portrait: "images/Sean/sean.png", color: "#27ae60", facing: "left" },
{ id: "sergio", name: semblanteName, portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sean", text: "Ey ey ey, ¿y tú quién eres? ¿Qué haces en mi piso?" },
{ speaker: "sergio", text: "Me he equivocado de piso. Disculpa la intromisión." },
{ speaker: "sean", text: "¿Equivocado de piso? Qué manera más curiosa de colarse, jajaja." },
{ speaker: "sergio", text: "Lo siento mucho, ya me voy." },
{ speaker: "sean", text: "Venga, no pasa nada. Pero la próxima vez llama al timbre, ¿eh guapa?" }
],
options: [
[], [], [], [],
[{ text: "Salir precipitadamente", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Sean spots you in the apartment. He looks at you with a crooked smile, more amused than annoyed, as if he finds the whole situation funny.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "sean", name: "Sean", portrait: "images/Sean/sean.png", color: "#27ae60", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sean", text: "Hey! Sergio? What the hell are you doing here mate?" },
{ speaker: "sergio", text: "Sorry, the door was open and..." },
{ speaker: "sean", text: "Mate, this isn't a pub. You can't just walk in like that." },
{ speaker: "sergio", text: "I know, I'm sorry. It won't happen again." },
{ speaker: "sean", text: "Alright, let it go this time. But next time ring the doorbell, yeah?" }
],
options: [
[], [], [], [],
[{ text: "Leave", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<<else>>
Sean spots you in the apartment. He looks you up and down with curiosity, never losing that characteristic smile he has for everything.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
rpgDialogue({
characters: [
{ id: "sean", name: "Sean", portrait: "images/Sean/sean.png", color: "#27ae60", facing: "left" },
{ id: "sergio", name: semblanteName, portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "sean", text: "Hey hey hey, who are you? What are you doing in my place?" },
{ speaker: "sergio", text: "I got the wrong apartment. Sorry for the intrusion." },
{ speaker: "sean", text: "Wrong apartment? That's a funny way to sneak in, haha." },
{ speaker: "sergio", text: "I'm really sorry, I'm leaving now." },
{ speaker: "sean", text: "No worries. But next time ring the doorbell, yeah love?" }
],
options: [
[], [], [], [],
[{ text: "Leave hastily", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Adler te descubre en el piso. Te mira fijamente con esa expresión analítica suya, procesando la situación antes de decir nada.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "adler", name: "Adler", portrait: "images/Adler/adler.png", color: "#3498db", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "adler", text: "Sergio. No recuerdo haberte invitado." },
{ speaker: "sergio", text: "Perdona, la puerta estaba abierta y entré sin pensar." },
{ speaker: "adler", text: "Eso no es una explicación válida." },
{ speaker: "sergio", text: "Tienes razón. No volverá a pasar." },
{ speaker: "adler", text: "Más te vale. Ahora vete, por favor." }
],
options: [
[], [], [], [],
[{ text: "Marcharse", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<<else>>
Adler te descubre en el piso y te mira con desconfianza. No te conoce y no entiende qué haces aquí.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.name : "Desconocido";
rpgDialogue({
characters: [
{ id: "adler", name: "Adler", portrait: "images/Adler/adler.png", color: "#3498db", facing: "left" },
{ id: "sergio", name: semblanteName, portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "adler", text: "¿Quién eres y qué haces en nuestro piso?" },
{ speaker: "sergio", text: "Me he equivocado de piso, lo siento mucho." },
{ speaker: "adler", text: "Esto es un piso privado. No hay nada que ver aquí." },
{ speaker: "sergio", text: "Lo sé, ya me voy." },
{ speaker: "adler", text: "La próxima vez que alguien entre sin permiso llamo a la policía." }
],
options: [
[], [], [], [],
[{ text: "Salir precipitadamente", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<set _currentSemblante = $currentSemblanteActive>>
<<if !_currentSemblante or _currentSemblante.name === "Sergio">>
Adler spots you in the apartment. He stares at you with that analytical expression of his, processing the situation before saying anything.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{ id: "adler", name: "Adler", portrait: "images/Adler/adler.png", color: "#3498db", facing: "left" },
{ id: "sergio", name: "Sergio", portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "adler", text: "Sergio. I don't remember inviting you." },
{ speaker: "sergio", text: "Sorry, the door was open and I came in without thinking." },
{ speaker: "adler", text: "That's not a valid explanation." },
{ speaker: "sergio", text: "You're right. It won't happen again." },
{ speaker: "adler", text: "It better not. Now please leave." }
],
options: [
[], [], [], [],
[{ text: "Leave", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<<else>>
Adler spots you in the apartment and looks at you with suspicion. He doesn't know you and doesn't understand what you're doing here.
<div class="header-image">
<img src="images/localizaciones/salon3A.png" alt="3A" />
</div>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
var currentSemblante = State.variables.currentSemblanteActive;
var semblanteName = currentSemblante ? currentSemblante.nameEn : "Unknown";
rpgDialogue({
characters: [
{ id: "adler", name: "Adler", portrait: "images/Adler/adler.png", color: "#3498db", facing: "left" },
{ id: "sergio", name: semblanteName, portrait: "images/Sergio/sergio.png", color: "#8af7ff", facing: "right" }
],
lines: [
{ speaker: "adler", text: "Who are you and what are you doing in our apartment?" },
{ speaker: "sergio", text: "I got the wrong apartment, I'm very sorry." },
{ speaker: "adler", text: "This is a private apartment. There's nothing for you here." },
{ speaker: "sergio", text: "I know, I'm leaving." },
{ speaker: "adler", text: "Next time someone enters without permission I'm calling the police." }
],
options: [
[], [], [], [],
[{ text: "Leave hastily", action: function() { Engine.play("Rellano del 3º"); } }]
]
});
});
<</script>>
<</if>>
<</if>><<run setup.gameTime.addMinutes(5)>>
<<set $rocaExcitadoDestino to "Rocapajacuarto">>
<<set State.temporary.excitacionSuccessPassage = 'Rocapajacuarto'>>
<div class="header-image">
<img src="images/localizaciones/habitacionsergio.jfif" alt="habsergio" />
</div>
<<set _rocaLoc to setup.getCharacterLocation('Roca')>>
<<set _rocaAction to (_rocaLoc ? _rocaLoc.action : "")>>
<<set _rocaActionEs to (_rocaLoc ? _rocaLoc.actionEs : "")>>
<<if $idioma is "es">>
En el canal, ahora se muestra a Roca <<print _rocaActionEs>>.
<<if _rocaAction is "training">>
<center><img src="images/Roca/rocaentreno.png" width="500"></center>
<<elseif _rocaAction is "recording and editing content">>
<center><img src="images/Roca/rocagrabando.png" width="500"></center>
<<elseif _rocaAction is "eating">>
<center><img src="images/Roca/rocacomiendo.png" width="500"></center>
<<elseif _rocaAction is "managing social media">>
<center><img src="images/Roca/rocaredes.png" width="500"></center>
<<elseif _rocaAction is "having dinner">>
<center><img src="images/Roca/rocacomiendo.png" width="500"></center>
<<elseif _rocaAction is "showering">>
<center><img src="images/Roca/rocaducha.png" width="500"></center>
<<elseif _rocaAction is "sleeping">>
<center><img src="images/Roca/rocadurmiendo.png" width="500"></center>
<<else>>
<center><img src="images/Roca/roca.png" width="500"></center>
<</if>>
[[Cerrar el canal|habitacionsergio]]
<<else>>
The channel now shows Roca <<print _rocaAction>>.
<<if _rocaAction is "training">>
<center><img src="images/Roca/rocaentreno.png" width="500"></center>
<<elseif _rocaAction is "recording and editing content">>
<center><img src="images/Roca/rocagrabando.png" width="500"></center>
<<elseif _rocaAction is "eating">>
<center><img src="images/Roca/rocacomiendo.png" width="500"></center>
<<elseif _rocaAction is "managing social media">>
<center><img src="images/Roca/rocaredes.png" width="500"></center>
<<elseif _rocaAction is "having dinner">>
<center><img src="images/Roca/rocacomiendo.png" width="500"></center>
<<elseif _rocaAction is "showering">>
<center><img src="images/Roca/rocaducha.png" width="500"></center>
<<elseif _rocaAction is "sleeping">>
<center><img src="images/Roca/rocadurmiendo.png" width="500"></center>
<<else>>
<center><img src="images/Roca/roca.png" width="500"></center>
<</if>>
[[Close the channel|habitacionsergio]]
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Parque" />
</div>
Tao se remueve en el banco con evidente incomodidad. Cruza y descruza las piernas, aprieta la mandíbula y desvía la mirada hacia cualquier punto que no seas tú. Juanan le pregunta si se encuentra bien. Él dice que sí, aunque está claro que algo le pasa.
[[Volver al parque|Parque]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/parque.jpg" alt="Park" />
</div>
Tao shifts on the bench with obvious discomfort. He crosses and uncrosses his legs, clenches his jaw, and looks away at any point that isn't you. Juanan asks if he's feeling alright. He says yes, though it's clear something is off.
[[Return to the park|Parque]]
<</if>><<run setup.gameTime.addMinutes(5)>>
<<if $idioma is "es">>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab" />
</div>
Tao deja de comer. Apoya los codos en la mesa y se frota la cara con las manos, visiblemente inquieto. Juanan le pregunta qué le pasa. "Nada, papá. Que de repente me encuentro raro." Se levanta con la excusa de ir al baño y desaparece unos minutos.
[[Volver al kebab|Kebab]]
<<else>>
<div class="header-image">
<img src="images/localizaciones/kebab.png" alt="Kebab" />
</div>
Tao stops eating. He leans his elbows on the table and rubs his face with his hands, visibly restless. Juanan asks what's wrong. "Nothing, dad. I just suddenly feel weird." He gets up on the pretext of going to the bathroom and disappears for a few minutes.
[[Return to the kebab|Kebab]]
<</if>><<if $idioma is "es">>
<<run setup.gameTime.addMinutes(5)>>
<!-- Registrar a Damián como presente para Excitación a Distancia -->
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to 'damianyjaimesexo'>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Habitación de Damián" />
</div>
<<if !$damianJaimePrimeraVez>>
<!-- PRIMERA VEZ - CONVERSACIÓN COMPLETA -->
Desde el resguardo de tu invisibilidad, observas como los dos jugadores, tensos, hablan entre ellos.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: 'Venga va, llevamos ya aquí algún tiempo y supongo que no ha sido para hablar del partido, cosa que no hemos hecho nunca. ¿Qué es lo que quieres?' },
{ speaker: 'damian', text: 'Solo quiero hablar Jaime, y solucionar nuestros problemas...' },
{ speaker: 'jaime', text: '¿Qué problemas?' },
{ speaker: 'damian', text: 'Problemas de comunicación. De conexión, de feeling...' },
{ speaker: 'jaime', text: 'Ya. ¿Y qué? Mira tío, no me caes bien. Eso no afecta a mi juego...' },
{ speaker: 'damian', text: 'Sí que lo hace. No participas de las jugadas que yo comienzo. Cuando estoy solo no me pasas la pelota. No sigues ninguna de mis órdenes en la cancha. Eso es un problema Jaime, y tenemos que solucionarlo.' },
{ speaker: 'jaime', text: '¿Y cómo vamos a hacerlo? No acepto que mi padre te pusiera a ti como capitán. Te importa una mierda el equipo. Solo piensas en él como un trampolín para subir de categoría.' },
{ speaker: 'damian', text: 'No es del todo así. Tienes problemas con más jugadores además que conmigo.' },
{ speaker: 'jaime', text: '*Desvía la mirada*' },
{ speaker: 'damian', text: 'Jaime... *baja el rostro, nervioso* Me han llegado ciertas informaciones que creo que son el verdadero motivo de tu incapacidad para conectar con el resto del equipo. No hablaría de esto contigo si no creyera de verdad que afecta al juego del equipo. Jaime, eres gay.' },
{ speaker: 'jaime', text: '¿Qué coño? *hace ademán de marcharse*' },
{ speaker: 'damian', text: '*Le coge de la muñeca* ¡Espera! No pasa nada, en serio. No lo sabe nadie, solo yo. A nadie va a importarle, te lo prometo.' },
{ speaker: 'jaime', text: '¿Quién coño te crees que eres para hablar de esto conmigo?' },
{ speaker: 'damian', text: '*Mira de nuevo hacia el suelo, incapaz de saber qué decir en ese momento. Su rostro apenas a unos centímetros del de Jaime.*' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{ text: 'Permanecer en el armario', action: 'GOTO:quedartearmario' }
]
]
});
State.variables.damianJaimePrimeraVez = true;
});
<</script>>
<<else>>
<!-- VECES POSTERIORES - CONVERSACIÓN BREVE -->
Desde el resguardo de tu invisibilidad, observas como los dos jugadores, tensos, hablan entre ellos.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: '¿Por qué coño me has llamado otra vez, Damián?' },
{ speaker: 'damian', text: 'Porque necesitamos hablar de lo que pasó la última vez...' },
{ speaker: 'jaime', text: 'No hay nada que hablar. Ya te lo dije.' },
{ speaker: 'damian', text: 'Jaime, por favor. Solo escúchame...' },
{ speaker: 'jaime', text: '*Suspira* Tienes cinco minutos.' }
],
options: [
[], [], [], [],
[
{ text: 'Permanecer en el armario', action: 'GOTO:quedartearmario' }
]
]
});
});
<</script>>
<</if>>
<<else>>
<<run setup.gameTime.addMinutes(5)>>
<<run setup.registerCharactersInLocation(['Damian'])>>
<<set $damianExcitadoDestino to 'damianyjaimesexo'>>
<div class="header-image">
<img src="images/localizaciones/habitaciondamian.png" alt="Damián's room" />
</div>
<<if !$damianJaimePrimeraVez>>
<!-- FIRST TIME - FULL CONVERSATION -->
From the safety of your invisibility, you watch as the two players, tense, talk to each other.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: 'Come on, we\'ve been here for a while and I guess it wasn\'t to talk about the game, which we\'ve never done. What do you want?' },
{ speaker: 'damian', text: 'I just want to talk Jaime, and solve our problems...' },
{ speaker: 'jaime', text: 'What problems?' },
{ speaker: 'damian', text: 'Communication problems. Connection, feeling...' },
{ speaker: 'jaime', text: 'Yeah. So what? Look man, I don\'t like you. That doesn\'t affect my game...' },
{ speaker: 'damian', text: 'Yes it does. You don\'t participate in the plays I start. When I\'m alone you don\'t pass me the ball. You don\'t follow any of my orders on the court. That\'s a problem Jaime, and we need to fix it.' },
{ speaker: 'jaime', text: 'And how are we going to do that? I don\'t accept that my father made you captain. You don\'t give a shit about the team. You only think of it as a stepping stone to move up a category.' },
{ speaker: 'damian', text: 'It\'s not entirely like that. You have problems with more players besides me.' },
{ speaker: 'jaime', text: '*Looks away*' },
{ speaker: 'damian', text: 'Jaime... *lowers his face, nervous* I\'ve received certain information that I believe is the real reason for your inability to connect with the rest of the team. I wouldn\'t talk about this with you if I didn\'t truly believe it affects the team\'s performance. Jaime, you\'re gay.' },
{ speaker: 'jaime', text: 'What the fuck? *makes a move to leave*' },
{ speaker: 'damian', text: '*Grabs his wrist* Wait! It\'s okay, seriously. Nobody knows, just me. Nobody\'s going to care, I promise.' },
{ speaker: 'jaime', text: 'Who the hell do you think you are to talk about this with me?' },
{ speaker: 'damian', text: '*Looks down again, unable to know what to say at that moment. His face was just centimeters from Jaime\'s.*' }
],
options: [
[], [], [], [], [], [], [], [], [], [], [], [], [],
[
{ text: 'Stay in the closet', action: 'GOTO:quedartearmario' }
]
]
});
State.variables.damianJaimePrimeraVez = true;
});
<</script>>
<<else>>
<!-- SUBSEQUENT TIMES - BRIEF CONVERSATION -->
From the safety of your invisibility, you watch as the two players, tense, talk to each other.
<center><img src="images/Damian/damianyjaime2.png" width="500"></center>
<div id="rpg-display"></div>
<<script>>
$(document).one(":passagedisplay", function () {
rpgDialogue({
characters: [
{
id: 'damian',
name: 'Damián',
portrait: 'images/Damian/damian.png',
color: '#ff6b6b',
facing: 'left'
},
{
id: 'jaime',
name: 'Jaime',
portrait: 'images/Damian/jaimeretrato.png',
color: '#8af7ff',
facing: 'right'
}
],
lines: [
{ speaker: 'jaime', text: 'Why the fuck did you call me again, Damián?' },
{ speaker: 'damian', text: 'Because we need to talk about what happened last time...' },
{ speaker: 'jaime', text: 'There\'s nothing to talk about. I already told you.' },
{ speaker: 'damian', text: 'Jaime, please. Just listen to me...' },
{ speaker: 'jaime', text: '*Sighs* You have five minutes.' }
],
options: [
[], [], [], [],
[
{ text: 'Stay in the closet', action: 'GOTO:quedartearmario' }
]
]
});
});
<</script>>
<</if>>
<</if>><<if $idioma is "es">>
<<if $notaDamian1 eq true>>
<span style="font-size: 1.5em;">El mundo de Damián es el baloncesto. Su vida da vueltas sobre él. Debe de haber algo que puedas usar para poder corromperlo. Descubre qué puede haber en su interior.</span>
<</if>>
<<if $notaDamian2 eq true>>
<span style="font-size: 1.5em;">CONTENIDO PRÓXIMO.</span>
<</if>>
<<else>>
<<if $notaDamian1 eq true>>
<span style="font-size: 1.5em;">Damián's world revolves around basketball. His life centers on it. There must be something you can use to corrupt him. Discover what might be lurking inside.</span>
<</if>>
<<if $notaDamian2 eq true>>
<span style="font-size: 1.5em;">UPCOMING CONTENT.</span>
<</if>>
<</if>>