<<if $game = "Prologue">> <header class="floating-header">
<div class="header-left">
<span class="back-arrow"><<link "←" >><<run Engine.backward()>><</link>></span>
Net Worth
</div>
<div class="dropdown">
<div class="dropdown-header"> $player ▾</div>
<div class="dropdown-content">
[[Settings]]
</div>
</div>
</header>
<<else>>
<div class="header-left">
<span class="back-arrow"><<link "←" >><<run Engine.backward()>><</link>></span>
Starlight Management
</div>
<div class="header-right">
<div class="caption-group">
<span class="header-stat">
Week: <span id="week-display"><<print $week>></span>
</span>
<span class="header-stat">
AP: <span id="player-ap-display"><<print $playerAP>></span> / <<print $playerMaxAP>>
</span>
<span class="header-stat">
Likes: <span id="player-likes-display"><<print $playerLikes>></span> / <<print $playerMaxLikes>>
</span>
<span class="header-stat">
$<span id="player-money-display"><<print window.formatNumber($playerMoney)>></span>
</span>
</div>
<div class="dropdown">
<div class="dropdown-header"> Roster ▾</div>
<div class="dropdown-content">
[[Creator Roster|RosterScreen]]
[[Scoutr App|ScoutrApp]]
</div>
</div>
<div class="dropdown">
<div class="dropdown-header"> $player ▾</div>
<div class="dropdown-content">
[[OfficeHub]]
[[Settings]]
</div>
</div>
</div>
</header>
<</if>><div class="setup-screen-custom">
<h1>Settings</h1>
<h3 class="menu-section-header">Manage Game</h3>
<div class="menu-option-group">
<div class="btn-104">
<<link "Save / load ">><<script>>UI.saves()<</script>><</link>>
</div>
</div>
<hr class="menu-divider">
<h3 class="menu-section-header">Start Over</h3>
<span id="restart-confirm-area">
<div class="menu-option-group">
<div class="btn-104">
<<linkreplace "Restart Game">>
<div class="restart-confirm-message">
Are you sure you want to restart? You will lose all unsaved progress.
</div>
<div class="choice-options">
<div class="btn-104 confirm-yes">
<<link "Yes, restart the game">>
<<run Engine.restart()>>
<</link>>
</div>
<div class="btn-104 confirm-no">
<<link "No, go back">>
<<goto "Settings">>
<</link>>
</div>
</div>
<</linkreplace>>
</div>
</div>
</span>
</div><<include "Init_player">>
<<include "Init_npc">>
<<include "Init_scoutr">>
<<include "Init_rivals">>
<<set $week = 1>>
<<set $game = "prologue">>:: Init_player
/*==========player info==========*/
<<set $player = "Chavy">>
<<set $playerMoney = 5000>>
<<set $playerAP = 5>>
<<set $playerMaxAP = 5>>
<<set $playerLikes = 3>>
<<set $playerMaxLikes = 3>>
/*==========NEW STUDIO VARS==========*/
<<set $studioLevel = 1>>
<<set $studioName = "Garage Studio">>
<<set $studioMaxCreators = 1>>
<<set $studioUpgradeCost = 15000>> /* Cost for Level 2 *//* =================================================================== */
/* == CHARACTER DEFINITIONS
/* =================================================================== */
<<set $characters = {}>>
/* --- Main Characters --- */
<<set $_character = {
id: "zoeb",
name: "Zoe B",
age: 22,
imgPath: "img/npc/zoeb/",
mainSkill: "Modeling",
skills: { modeling: 10,
streaming: 5 },
friendship: 50,
opinion: 50,
trust: 30,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
jealousy: 0, /* <--- ADD THIS LINE */
followers: 50,
value: 1500,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: true,
mood: 80,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "alicem",
name: "Alice M",
age: 24,
imgPath: "img/npc/alicem/",
mainSkill: "Modeling",
skills: { modeling: 15,
streaming: 8 },
friendship: 10,
opinion: 25,
trust: 5,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 2000,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 80,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
/* --- Potential Recruits --- */
<<set $_character = {
id: "adria",
name: "Adria",
age: 20, /* Default age, change as needed */
imgPath: "img/npc/adria/",
mainSkill: "Modeling", /* Default skill, change as needed */
skills: { modeling: 5, streaming: 0 }, /* Default skills */
friendship: 0, /* Default starting value */
opinion: 25, /* Default starting value */
trust: 0, /* Default starting value */
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0, /* Default starting value */
value: 1000, /* Default starting value */
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false, /* Defaulted to false */
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "alex",
name: "Alex",
age: 21,
imgPath: "img/npc/alex/",
mainSkill: "Modeling",
skills: { modeling: 5, streaming: 2 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1100,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "amalia",
name: "Amalia",
age: 19,
imgPath: "img/npc/amalia/",
mainSkill: "Modeling",
skills: { modeling: 6, streaming: 0 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1200,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "dakota",
name: "Dakota",
age: 22,
imgPath: "img/npc/dakota/",
mainSkill: "Modeling",
skills: { modeling: 4, streaming: 3 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 900,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "emma",
name: "Emma",
age: 20,
imgPath: "img/npc/emma/",
mainSkill: "Modeling",
skills: { modeling: 7, streaming: 0 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1300,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "gabbie",
name: "Gabbie",
age: 23,
imgPath: "img/npc/gabbie/",
mainSkill: "Streaming",
skills: { modeling: 3, streaming: 7 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1250,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "hazel",
name: "Hazel",
age: 19,
imgPath: "img/npc/hazel/",
mainSkill: "Modeling",
skills: { modeling: 8, streaming: 1 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1400,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "isa",
name: "Isabella",
age: 21,
imgPath: "img/npc/isa/",
mainSkill: "Modeling",
skills: { modeling: 6, streaming: 3 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1350,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "jillian",
name: "Jillian",
age: 20,
imgPath: "img/npc/jillian/",
mainSkill: "Modeling",
skills: { modeling: 5, streaming: 0 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1000,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "kylie",
name: "Kylie",
age: 22,
imgPath: "img/npc/kylie/",
mainSkill: "Modeling",
skills: { modeling: 7, streaming: 2 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1450,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "caprice",
name: "Caprice",
age: 24,
imgPath: "img/npc/caprice/",
mainSkill: "Modeling",
skills: { modeling: 8, streaming: 4 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1600,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "nancy",
name: "Nancy",
age: 20,
imgPath: "img/npc/nancy/",
mainSkill: "Modeling",
skills: { modeling: 5, streaming: 1 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1050,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "rebecca",
name: "Rebecca",
age: 21,
imgPath: "img/npc/rebecca/",
mainSkill: "Modeling",
skills: { modeling: 6, streaming: 0 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1200,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "sara",
name: "Sara",
age: 19,
imgPath: "img/npc/sara/",
mainSkill: "Modeling",
skills: { modeling: 5, streaming: 3 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1150,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
<<set $_character = {
id: "vero",
name: "Veronica",
age: 23,
imgPath: "img/npc/vero/",
mainSkill: "Streaming",
skills: { modeling: 4, streaming: 8 },
friendship: 0,
opinion: 25,
trust: 0,
romancePathActive: false,
relationshipStatus: "neutral",
relationshipTone: "",
followers: 0,
value: 1500,
gallery: { "1": [], "2": [], "3": [], "4": [] },
photoLevels: {
"1": { unlocked: true, completed: false, path: "1/", blurPath: "1/blur/" },
"2": { unlocked: false, completed: false, path: "2/", blurPath: "2/blur/" },
"3": { unlocked: false, completed: false, path: "3/", blurPath: "3/blur/" },
"4": { unlocked: false, completed: false, path: "4/", blurPath: "4/blur/" }
},
managed: false,
mood: 70,
actionPoints: 2,
maxActionPoints: 2,
photoshootsDone: 0,
level2shootsDone: 0,
schedule: [null, null, null, null, null]
}>>
<<set $characters[$_character.id] = $_character>>
/* =================================================================== */
/* == RANDOMIZE FOLLOWER COUNTS
/* =================================================================== */
/* This loop runs after all characters are defined and
randomizes followers for unmanaged NPCs. */
<<for $_id, $_char range $characters>>
<<if $_char.managed == false>>
<<set $_char.followers = random(500, 2500000)>>
<</if>>
<</for>>:: StoryWidgets [widget]
/* The 'say' widget
Usage:
<<say "characterId" "Dialogue text here.">>
<<say "player" "Player dialogue text here.">>
*/
<<widget "say">>
<<if _args.length < 2>>
<<error "The <<say>> widget requires 2 arguments: a character ID (or 'player') and a dialogue string.">>
<<else>>
<<set $_charId = _args[0]>>
<<set $_dialogue = _args[1]>>
<<set $_name = "">>
<<set $_portraitPath = "">>
<<set $_containerClass = "say-container">>
<<if $_charId == "player">>
/* This is the player */
<<set $_name = $player>>
/* We'll assume a standard path for the player's portrait */
<<set $_portraitPath = "img/player/portrait.jpg">>
<<set $_containerClass += " player">>
<<else>>
/* This is an NPC */
<<set $_char = $characters[$_charId]>>
<<set $_name = $_char.name>>
/* We'll assume each character has a 'portrait.jpg' portrait
inside their imgPath. (e.g., "img/npc/zoeb/portrait.jpg")
*/
<<set $_portraitPath = $_char.imgPath + "portrait.jpg">>
<</if>>
/* This is the HTML structure that will be created */
<div @class="$_containerClass">
<div class="say-portrait">
<img @src="$_portraitPath" @alt="$_name">
</div>
<div class="say-box">
<div class="say-name"><<print $_name>></div>
<div class="say-dialogue">
<<print $_dialogue>>
</div>
</div>
</div>
<</if>>
<</widget>>/* The 'npcCard' widget
Usage:
<<npcCard "characterId">>
*/
<<widget "npcCard">>
<<if _args.length < 1>>
<<error "The <<npcCard>> widget requires 1 argument: a character ID.">>
<<else>>
<<set $_charId = _args[0]>>
<<set $_char = $characters[$_charId]>>
<<set $_portraitPath = $_char.imgPath + "portrait.jpg">>
<center><div class="npc-card">
<div class="npc-card-left">
<div class="npc-card-portrait">
<img @src="$_portraitPath" alt="NPC Portrait">
</div>
<div class="npc-card-header">
<h3><<print $_char.name>></h3>
<span>Age: <<print $_char.age>></span>
</div>
</div>
<div class="npc-card-right">
<div class="npc-card-stats-column">
<h4>Creator Stats</h4>
<div class="stat-bar">
<span class="stat-label">Modeling</span>
<span class="stat-value"><<print $_char.skills.modeling>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Streaming</span>
<span class="stat-value"><<print $_char.skills.streaming>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Action Points</span>
<span class="stat-value"><<print $_char.actionPoints>> / <<print $_char.maxActionPoints>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Followers</span>
<span class="stat-value"><<print formatNumber($_char.followers)>></span>
</div>
</div>
<div class="npc-card-stats-column">
<h4>Relationship</h4>
<div class="stat-bar">
<span class="stat-label">Friendship</span>
<span class="stat-value"><<print $_char.friendship>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Opinion</span>
<span class="stat-value"><<print $_char.opinion>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Trust</span>
<span class="stat-value"><<print $_char.trust>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Mood</span>
<span class="stat-value"><<print $_char.mood>> / 100</span>
</div>
</div>
</div>
<div class="npc-card-footer">
<<capture $_charId>>
<span class="btn-104">
<<link "Gallery" "CharacterGallery">><<set $tempCharId = $_charId>><</link>>
</span>
<span class="btn-104">
<<link "Actions" "CharacterAction">><<set $tempCharId = $_charId>><</link>>
</span>
<</capture>>
</div>
</div></center>
<</if>>
<</widget>><div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Hey, did you see my last photoshoot? I think it went really well!
</div>
<div class="chat-bubble player">
Just saw it, amazing work Zoe. The client was thrilled.
</div>
<div class="chat-bubble npc">
Thanks! Btw, are you free to chat later? Have an idea I want to run by you.
</div>
</div>
<div class="chat-choices">
[[Sure, what's up?|Zoe Chat 2]]
[[I'm a bit busy, can it wait?|Zoe Chat 3]]
</div>
</div>
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Starlight Crew</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Is anyone else having trouble with the new streaming software?
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I am! It's super laggy.
</div>
<div class="chat-bubble player">
I'll check the license. Don't use it for any paid streams until I confirm.
</div>
</div>
<div class="chat-choices">
[[Okay, thanks.|OfficeHub]]
</div>
</div>
<div class="start-screen-container">
<div class="game-logo">
<img src="img/system/logo.png" alt="Net Worth Game Logo">
</div>
<div class="disclaimer-box">
<p>This is a work of fiction. All characters, names, places, and events are products of the author's imagination or are used fictitiously. Any resemblance to actual events, locales, or persons, living or dead, is entirely coincidental.</p>
<p><strong>All characters depicted in this game are 18 years of age or older.</strong></p>
</div>
<div class="name-input-box">
<label for="player-name-input">Please enter your name:</label>
<<textbox "$player" "" >>
</div>
<div class="start-button-box">
<span class="btn-104">
<<link "Start Game">>
<<if $player.trim() != "">>
<<goto "Prologue_Start">>
<<else>>
<<run $("#start-error-msg").empty().append("Please enter a name.")>>
<</if>>
<</link>>
</span>
<div id="start-error-msg" class="start-error"></div>
</div>
</div>/* The 'doPhotoshoot' widget
Usage:
<<doPhotoshoot "characterId">>
This widget handles the entire photoshoot mechanic.
*/
<<widget "doPhotoshoot">>
<<nobr>>
<<set $_charId = _args[0]>>
<<set $_char = $characters[$_charId]>>
<<set $_result = {
success: false,
charId: $_charId,
img: "",
message: "",
level: null,
levelCompleted: false,
allLevelsCompleted: false,
moneyGain: 0,
followerGain: 0
}>>
/* 1. Check for Action Points */
<<if $_char.actionPoints <= 0>>
<<set $_result.message = "Out of Action Points!">>
<<set $photoshootResult = $_result>>
<<return>>
<</if>>
/* 2. Find the current active level */
<<set $_activeLevel = null>>
<<set $_activeLevelNum = 0>>
<<for $_levelNum, $_levelData range $_char.photoLevels>>
<<if $_levelData.unlocked && !$_levelData.completed>>
<<set $_activeLevel = $_levelData>>
<<set $_activeLevelNum = parseInt($_levelNum)>>
<<set $_result.level = $_levelNum>>
<<break>>
<</if>>
<</for>>
/* 3. Check if all levels are already complete */
<<if !$_activeLevel>>
<<set $_result.message = "$_char.name has completed all available photoshoots.">>
<<set $_result.allLevelsCompleted = true>>
<<set $photoshootResult = $_result>>
<<return>>
<</if>>
/* 4. Spend Action Point */
<<set $_char.actionPoints -= 1>>
/* 5. Calculate Success Chance */
<<set $_successChance = 30 + ($_char.mood * 0.45)>>
<<if random(1, 100) <= $_successChance>>
/* ====== SUCCESS ====== */
<<set $_result.success = true>>
/* Find what photo number this is */
<<set $_photoNum = ($_char.gallery[$_activeLevelNum].length + 1).toString().padStart(3, '0')>>
<<set $_photoFile = $_photoNum + ".jpg">>
/* Add photo to gallery */
<<run $_char.gallery[$_activeLevelNum].push($_photoFile)>>
/* Set result image path */
<<set $_result.img = $_char.imgPath + $_activeLevel.path + $_photoFile>>
/*
* ====== REWARDS CALCULATION ======
*/
/* Money: (Base + Value/10 + Skill*5) * Level * (random 0.9-1.1) */
<<set $_baseMoney = (100 + ($_char.value / 10) + ($_char.skills.modeling * 5)) * $_activeLevelNum>>
<<set $_moneyGain = Math.round($_baseMoney * (1 + random(-10, 10) / 100))>>
/* Followers: (Base + Skill*10 + Level*50) * (random 0.9-1.1) */
<<set $_baseFollowers = (50 + ($_char.skills.modeling * 10) + ($_activeLevelNum * 50))>>
<<set $_followerGain = Math.round($_baseFollowers * (1 + random(-10, 10) / 100))>>
/* Apply rewards */
<<set $playerMoney += $_moneyGain>>
<<set $_char.followers += $_followerGain>>
/* Store rewards in result to show player */
<<set $_result.moneyGain = $_moneyGain>>
<<set $_result.followerGain = $_followerGain>>
/*
* ====== END REWARDS CALCULATION ======
*/
<<set $_result.message = "Success! A great new photo for Level $_activeLevelNum.">>
/* 6. Check for Level Completion */
<<if $_char.gallery[$_activeLevelNum].length >= 10>>
<<set $_char.photoLevels[$_activeLevelNum].completed = true>>
<<set $_result.levelCompleted = true>>
<<set $_result.message = "Success! And that's the last photo for Level $_activeLevelNum!">>
<<if $_char.photoLevels[$_activeLevelNum + 1]>>
<<set $_char.photoLevels[$_activeLevelNum + 1].unlocked = true>>
<<set $_result.message += " Level " + ($_activeLevelNum + 1) + " is now unlocked!">>
<<else>>
<<set $_result.allLevelsCompleted = true>>
<<set $_result.message += " All photoshoots for $_char.name are complete!">>
<</if>>
<</if>>
<<else>>
/* ====== FAILURE (BLUR) ====== */
<<set $_result.success = false>>
<<set $_result.message = "Failed! The photo is blurred. Mood was too low.">>
<<set $_photoNum = ($_char.gallery[$_activeLevelNum].length + 1).toString().padStart(3, '0')>>
<<set $_photoFile = $_photoNum + ".jpg">>
<<set $_result.img = $_char.imgPath + $_activeLevel.blurPath + $_photoFile>>
<</if>>
/* 7. Pass the result to the passage */
<<set $photoshootResult = $_result>>
/* 8. Update the header money display */
<<run updateHeaderStats()>>
<</nobr>>
<</widget>><<set $_char = $characters[$activeCharId]>>
<div class="photoshoot-ui">
<div class="photoshoot-header">
<h3>Photoshoot: <<print $_char.name>></h3>
<span>
Action Points: <<print $_char.actionPoints>> / <<print $_char.maxActionPoints>>
</span>
<span>
Mood: <<print $_char.mood>> / 100
</span>
</div>
<div class="photoshoot-result">
<<if def $photoshootResult>>
<<if $photoshootResult.img>>
<img @src="$photoshootResult.img" alt="Photoshoot Result">
<</if>>
<p @class="$photoshootResult.success ? 'success' : 'failure'">
<<print $photoshootResult.message>>
</p>
<<if $photoshootResult.success>>
<div class="rewards-box">
<div class="reward-item">
<span class="reward-label">You Earned:</span>
<span class="reward-value success">+$<<print formatNumber($photoshootResult.moneyGain)>></span>
</div>
<div class="reward-item">
<span class="reward-label"><<print $_char.name>> Gained:</span>
<span class="reward-value">
+<<print formatNumber($photoshootResult.followerGain)>> Followers
</span>
</div>
</div>
<</if>>
<<else>>
<div class="location-preview">
<img src="img/locations/garage.jpg" alt="Garage Studio">
<p>Location: Garage Studio. Ready to shoot.</p>
</div>
<</if>>
</div>
<div class="photoshoot-actions">
<span class="btn-104">
[[Back to Actions|CharacterAction]]
</span>
<<if $_char.actionPoints > 0 and (def $photoshootResult and !$photoshootResult.allLevelsCompleted or !def $photoshootResult)>>
<span class="btn-104">
<<link "Take Photo (1 AP)" "PassagePhotoshoot">>
<<doPhotoshoot $activeCharId>>
<</link>>
</span>
<<else>>
<span class="btn-104" disabled>
<a>Take Photo (1 AP)</a>
</span>
<</if>>
</div>
</div>:: CharacterAction
<<set $_char = $characters[$tempCharId]>>
<<npcCard $_char.id>>
<div class="action-menu">
/% THIS IS THE FIXED LOGIC: %/
/% 1. Call the widget, which sets $tempActiveLevel %/
<<getNpcActiveLevel $tempCharId>>
/% 2. Now use that variable in the <<if>> statements %/
<<if $playerAP > 0>>
<<if $tempActiveLevel == null>>
<span class="btn-104" disabled>
<a>All Photoshoots Complete</a>
</span>
<<elseif $tempActiveLevel <= $studioLevel>>
<span class="btn-104">
<<link `"Start Photoshoot (Lvl $tempActiveLevel) (1 AP)"` "PassagePhotoshoot">>
<<set $playerAP -= 1>>
<<set $activeCharId = $_char.id>>
<<unset $photoshootResult>>
<<run updateHeaderStats()>>
<</link>>
</span>
<<else>>
<span class="btn-104 disabled-reason" disabled>
<a>Requires Studio Level <<print $tempActiveLevel>></a>
</span>
<</if>>
<<else>>
<span class="btn-104" disabled>
<a>Start Photoshoot (0 AP)</a>
</span>
<</if>>
<span class="btn-104" disabled>
<a>Manage Schedule (WIP)</a>
</span>
<span class="btn-104" disabled>
<a>Have a Talk (WIP)</a>
</span>
</div>:: CharacterGallery
<<set $_char = $characters[$tempCharId]>>
<div class="gallery-container">
<div class="gallery-header">
<h3><<print $_char.name>>'s Gallery</h3>
<span class="btn-104">
[[Back to Roster|RosterScreen]]
</span>
</div>
<div class="gallery-content">
<<for $_levelNum, $_levelData range $_char.photoLevels>>
<div class="gallery-level-section">
<h4>Level <<print $_levelNum>>
<<if $_levelData.completed>>
<span class="level-status-completed">(Completed)</span>
<<elseif $_levelData.unlocked>>
<span class="level-status-unlocked">(In Progress)</span>
<<else>>
<span class="level-status-locked">(Locked)</span>
<</if>>
</h4>
<<if $_levelData.unlocked>>
<div class="gallery-grid">
<<for _i = 1; _i <= 10; _i++>>
<<set $_photoFile = _i.toString().padStart(3, '0') + ".jpg">>
<<set $_isUnlocked = $_char.gallery[$_levelNum].includes($_photoFile)>>
<<if $_isUnlocked>>
<<set $_imgPath = $_char.imgPath + $_levelData.path + $_photoFile>>
<div class="gallery-thumbnail unlocked gallery-link" @data-full-img="$_imgPath">
<img @src="$_imgPath" alt="Gallery Photo">
</div>
<<else>>
<<set $_imgPath = $_char.imgPath + $_levelData.blurPath + $_photoFile>>
<div class="gallery-thumbnail locked">
<img @src="$_imgPath" alt="Locked Photo">
</div>
<</if>>
<</for>>
</div>
<<else>>
<div class="gallery-locked-message">
This level is not unlocked yet.
</div>
<</if>>
</div>
<</for>>
</div>
</div><div class="roster-container">
<h2 class="roster-title">Your Managed Creators</h2>
<div class="roster-grid">
<<showAllNpcCards>>
</div>
</div>/* The 'scoutrApp' widget
Usage:
<<scoutrApp>>
*/
<<widget "scoutrApp">>
<<nobr>>
<div class="scoutr-app">
<div class="scoutr-header">Scoutr</div>
<div class="scoutr-message-bar"><<print $scoutrMessage>></div>
<div class="scoutr-feed">
<<for $_charId, $_char range $characters>>
<<if !$_char.managed && !$scoutedNPCs[$_charId]>>
<<set $_portraitPath = $_char.imgPath + "portrait.jpg">>
<<set $_scoutrPath = $_char.imgPath + "scoutr.png">>
<div class="scoutr-post">
<div class="post-header">
<img @src="$_portraitPath" class="post-portrait">
<span class="post-name"><<print $_char.name>></span>
</div>
<div class="post-image">
<img @src="$_scoutrPath" alt="Scoutr Post">
</div>
<div class="post-actions">
<span class="post-followers">
<<print formatSocial($_char.followers)>> followers
</span>
<<if $playerLikes > 0>>
<span class="heart-btn">
<<link `getScoutrIcon("outline")` "ScoutrChat_Start">>
<<set $playerLikes -= 1>>
<<set $scoutedNPCs[$_charId] = true>>
<<set $tempCharId = $_charId>>
<<set $scoutrMessage = "">>
<<run updateHeaderStats()>>
<</link>>
</span>
<<else>>
<span class="heart-btn active" style="opacity: 0.5; cursor: not-allowed;">
<<print getScoutrIcon("outline")>>
</span>
<</if>>
</div>
</div>
<</if>>
<</for>>
<p class="scoutr-empty-feed">No new creators found.</p>
</div>
</div>
<</nobr>>
<</widget>>/* == Scoutr App Setup == */
/* This will track which unmanaged NPCs you have "liked" */
<<set $scoutedNPCs = {}>>
/* This will hold the result message after liking someone */
<<set $scoutrMessage = "">>
/* This creates the main chat object */
<<set $chatHistory = {}>>
/* This adds a new, empty chat channel to your chat history for scout replies */
<<set $chatHistory.scoutr_dms = {
id: "scoutr_dms",
type: "group", /* We'll use 'group' so sender names are visible */
name: "Scoutr DMs",
participants: ["player"], /* Starts with just the player */
unread: false,
messages: [] /* Starts empty */
}>><<scoutrApp>><<set $_char = $characters[$tempCharId]>>
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name"><<print $_char.name>></div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Hey, I saw you liked my post?
</div>
<div class="chat-bubble player">
I did! I'm a manager at Starlight Management. Your feed is impressive.
</div>
<div class="chat-bubble npc">
Oh, wow. Thanks!
</div>
</div>
<div class="chat-choices">
[[Ask to meet|ScoutrChat_Meet]]
[[Be professional|ScoutrChat_Professional]]
</div>
</div>/* The 'showAllNpcCards' widget
Usage:
<<showAllNpcCards>>
This widget loops through all characters, sorts them alphabetically,
and displays their info card ONLY if they are managed.
*/
<<widget "showAllNpcCards">>
<<nobr>>
/* Get an array of all character IDs (e.g., ["zoeb", "alicem"]) */
<<set $_allCharIds = Object.keys($characters)>>
/* Sort the array of IDs based on the character's name */
<<run $_allCharIds.sort(function(a, b) {
var charA = State.variables.characters[a];
var charB = State.variables.characters[b];
if (charA.name < charB.name) { return -1; }
if (charA.name > charB.name) { return 1; }
return 0;
})>>
/* Now loop through the sorted array and print each card */
<<for _id range $_allCharIds>>
<<set $_char = $characters[_id]>>
<<if $_char.managed>>
<<npcCard _id>>
<</if>>
<</for>>
<</nobr>>
<</widget>>:: OfficeHub
<div class="office-hub">
<h2>Week <<print $week>> Dashboard</h2>
<div class="dashboard-grid">
<div class="dash-box dash-box-stats">
<h3>Company Stats</h3>
<ul class="stat-list">
<li>
<span class="stat-label">Agency Value</span>
<span class="stat-value">$<<print formatNumber($playerMoney)>></span>
</li>
<li>
<span class="stat-label">Total Followers</span>
<span class="stat-value"><<sumManagedFollowers>></span>
</li>
<li>
<span class="stat-label">Creators</span>
<span class="stat-value"><<countManagedCreators>> / <<print $studioMaxCreators>></span>
</li>
</ul>
</div>
<div class="dash-box dash-box-creators">
<h3>Top Creators</h3>
<<dashboardTopCreators>>
</div>
<div class="dash-box dash-box-leaderboard">
<h3>Agency Leaderboard</h3>
<<dashboardLeaderboard>>
</div>
</div>
<hr>
<div class="office-actions">
<span class="btn-104">
[[Manage Roster|RosterScreen]]
</span>
<span class="btn-104">
[[Find Talent|ScoutrApp]]
</span>
<span class="btn-104">
[[Check Competition|Leaderboard]]
</span>
<span class="btn-104">
[[Studio Upgrades|UpgradesScreen]]
</span>
</div>
<hr>
<div class="end-week-box">
<p>Finish your work for the week?</p>
<span class="btn-104">
[[End Week|AdvanceWeek]]
</span>
</div>
</div>:: AdvanceWeek
/* 1. Trigger Unforeseen Events */
<<include "UnforeseenEvents">>
/* 2. Simulate Rival Agency Growth */
<<for _rival range $rivalAgencies>>
/* They earn 2-5% of their current money */
<<set _moneyGain = Math.round(_rival.money * (random(2, 5) / 100))>>
<<set _rival.money += _moneyGain>>
/* They gain a random amount of followers */
<<set _followerGain = random(500, 3000)>>
<<set _rival.followers += _followerGain>>
<</for>>
/* 3. Increment Week */
<<set $week += 1>>
/* 4. Refill Player Stats */
<<set $playerAP = $playerMaxAP>>
<<set $playerLikes = $playerMaxLikes>>
/* 5. Update NPCs (Refill AP & Adjust Followers) */
<<for $_id, $_char range $characters>>
<<if $_char.managed>>
/* MANAGED: Just refill their AP */
<<set $_char.actionPoints = $_char.maxActionPoints>>
<<else>>
/* UNMANAGED: Fluctuate their followers */
<<set $_percentChange = random(-5, 10)>>
<<set $_followerChange = Math.round($_char.followers * ($_percentChange / 100))>>
<<set $_char.followers += $_followerChange>>
<<if $_char.followers < 100>>
<<set $_char.followers = 100>>
<</if>>
<</if>>
<</for>>
/* 6. Update header and go back to hub */
<<run updateHeaderStats()>>
<<goto "OfficeHub">>/%
This passage is for weekly events.
Later, we can add logic like:
<<if random(1, 10) == 1>>
You get an alert: "Server Maintenance!"
<<set $playerAP -= 1>>
<</if>>
%/
<div class="event-box">
<p class="narration-text">You file your reports and prepare for the next week.</p>
</div>/* =================================================================== */
/* == RIVAL AGENCIES
/* =================================================================== */
<<set $rivalAgencies = [
{
id: "prestige",
name: "Prestige Models",
money: 10000,
followers: 25000
},
{
id: "chroma",
name: "Chroma Talent",
money: 7500,
followers: 18000
},
{
id: "vanguard",
name: "Vanguard Management",
money: 12000,
followers: 22000
}
]>>:: Leaderboard
<div class="leaderboard-container">
<h2>Agency Leaderboard</h2>
<p class="narration-text">
Track your progress against rival agencies.
</p>
<<dashboardLeaderboard>>
<br><br>
<span class="btn-104">
[[Back to Office|OfficeHub]]
</span>
</div>:: UpgradesScreen
<div class="upgrade-screen">
<h2>Studio Upgrades</h2>
<div class="upgrade-status-box">
<h3>Current Studio: <<print $studioName>> (Level <<print $studioLevel>>)</h3>
<ul>
<li>Allows Photoshoots up to Level <<print $studioLevel>></li>
<li>Max <<print $studioMaxCreators>> Managed Creator(s)</li>
</ul>
</div>
<hr>
<div class="upgrade-action-box">
<<if $studioLevel == 1>>
<h4>Next Upgrade: "Pro Equipment" (Level 2)</h4>
<p>This will equip your studio with professional lighting and backdrops.</p>
<ul>
<li>Unlocks Level 2 Photoshoots</li>
<li>Increases Max Creators to 2</li>
</ul>
<<if $playerMoney >= $studioUpgradeCost>>
<span class="btn-104">
<<link "Upgrade (Cost: $<<print formatNumber($studioUpgradeCost)>>)" "UpgradesScreen">>
<<set $playerMoney -= $studioUpgradeCost>>
<<set $studioLevel = 2>>
<<set $studioName = "Pro Studio">>
<<set $studioMaxCreators = 2>>
<<set $studioUpgradeCost = 50000>> /* Set new cost for Lvl 3 */
<<run updateHeaderStats()>>
<</link>>
</span>
<<else>>
<p class="upgrade-cost-fail">
Cost: $<<print formatNumber($studioUpgradeCost)>>
(Not enough money)
</p>
<span class="btn-104" disabled>
<a>Upgrade (Not enough money)</a>
</span>
<</if>>
<<elseif $studioLevel == 2>>
<h4>Next Upgrade: "Deluxe Studio" (Level 3)</h4>
<p>You're maxed out for now!</p>
<<else>>
<p>You have fully upgraded your studio!</p>
<</if>>
</div>
<br><br>
<span class="btn-104">
[[Back to Office|OfficeHub]]
</span>
</div>/* The 'getNpcActiveLevel' widget
Usage: <<getNpcActiveLevel "characterId">>
SETS the $tempActiveLevel variable to the number (1-4) or null.
*/
<<widget "getNpcActiveLevel">>
<<nobr>>
<<set $_char = $characters[_args[0]]>>
<<set $tempActiveLevel = null>>
<<for $_levelNum, $_levelData range $_char.photoLevels>>
<<if $_levelData.unlocked && !$_levelData.completed>>
<<set $tempActiveLevel = parseInt($_levelNum)>>
<<break>>
<</if>>
<</for>>
<</nobr>>
<</widget>>/* The 'countManagedCreators' widget
Usage: <<countManagedCreators>>
Returns the number of currently managed NPCs.
*/
<<widget "countManagedCreators">>
<<nobr>>
<<set _count = 0>>
<<for $_id, $_char range $characters>>
<<if $_char.managed>>
<<set _count++>>
<</if>>
<</for>>
<<print _count>>
<</nobr>>
<</widget>>:: RecruitAttempt
<<set $_currentManaged = <<countManagedCreators>> >>
<<if $_currentManaged < $studioMaxCreators>>
<<goto "RecruitSuccess">>
<<else>>
<<goto "RecruitFail_StudioFull">>
<</if>>:: RecruitSuccess
<<set $_char = $characters[$tempCharId]>>
<<set $_char.managed = true>>
<div class="event-box">
<h3>Recruit Success!</h3>
<p>
<<print $_char.name>> has agreed to sign with Starlight Management!
They are now available on your Roster.
</p>
<span class="btn-104">
[[Back to Office|OfficeHub]]
</span>
</div>:: RecruitFail_StudioFull
<div class="event-box" style="border-color: #c00;">
<h3>Recruit Failed!</h3>
<p>
You don't have enough space or equipment for a new creator!
You currently have <b><<print <<countManagedCreators>> >> / <<print $studioMaxCreators>></b> creators.
</p>
<p>
You should upgrade your studio from the "Studio Upgrades" menu in your office.
</p>
<span class="btn-104">
[[Back to Office|OfficeHub]]
</span>
</div>/* The 'sumManagedFollowers' widget
Usage: <<sumManagedFollowers>>
Returns the formatted total follower count of all managed NPCs.
*/
<<widget "sumManagedFollowers">>
<<nobr>>
<<set _total = 0>>
<<for $_id, $_char range $characters>>
<<if $_char.managed>>
<<set _total += $_char.followers>>
<</if>>
<</for>>
<<print formatNumber(_total)>>
<</nobr>>
<</widget>>
/* The 'dashboardTopCreators' widget
Usage: <<dashboardTopCreators>>
Displays a list of your top 3 managed creators by followers.
*/
<<widget "dashboardTopCreators">>
<<nobr>>
<<set _managed = []>>
<<for $_id, $_char range $characters>>
<<if $_char.managed>>
<<run _managed.push($_char)>>
<</if>>
<</for>>
/* Sort the list by followers (highest first) */
<<run _managed.sort(function(a, b) { return b.followers - a.followers; })>>
/* Get only the top 3 */
<<set _top3 = _managed.slice(0, 3)>>
<ul class="top-creator-list">
<<if _top3.length > 0>>
<<for _i = 0; _i < _top3.length; _i++>>
<<set $_char = _top3[_i]>>
<li class="top-creator-item">
<span class="rank">#<<print _i + 1>></span>
<img @src="$_char.imgPath + 'portrait.jpg'" class="portrait">
<span class="name"><<print $_char.name>></span>
<span class="followers"><<print formatSocial($_char.followers)>></span>
</li>
<</for>>
<<else>>
<li class="top-creator-item-empty">No managed creators yet.</li>
<</if>>
</ul>
<</nobr>>
<</widget>>
/* The 'dashboardLeaderboard' widget
Usage: <<dashboardLeaderboard>>
Generates just the leaderboard table.
*/
<<widget "dashboardLeaderboard">>
<<nobr>>
/* 1. Calculate Player's Total Managed Followers */
<<set $_playerTotalFollowers = 0>>
<<for $_id, $_char range $characters>>
<<if $_char.managed>>
<<set $_playerTotalFollowers += $_char.followers>>
<</if>>
<</for>>
/* 2. Create a master list for sorting */
<<set $_leaderboardEntries = []>>
<<run $_leaderboardEntries.push({
id: "player",
name: "Starlight Management",
money: State.variables.playerMoney,
followers: State.variables._playerTotalFollowers
})>>
<<for _rival range $rivalAgencies>>
<<run $_leaderboardEntries.push(_rival)>>
<</for>>
/* 3. Sort the list by followers (highest first) */
<<run $_leaderboardEntries.sort(function(a, b) {
return b.followers - a.followers;
})>>
<</nobr>>
<table class="leaderboard-table dashboard-table">
<thead>
<tr>
<th>Rank</th>
<th>Agency</th>
<th>Followers</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<<for _i = 0; _i < $_leaderboardEntries.length; _i++>>
<<set $_entry = $_leaderboardEntries[_i]>>
<<set $_rowClass = $_entry.id == "player" ? "player-row" : "">>
<tr @class="$_rowClass">
<td>#<<print _i + 1>></td>
<td><<print $_entry.name>></td>
<td><<print formatNumber($_entry.followers)>></td>
<td>$<<print formatNumber($_entry.money)>></td>
</tr>
<</for>>
</tbody>
</table>
<</widget>><span class="narration-text">
You’re lying on your bed, phone in hand, half-lost in an endless scroll of curated lives.</span>
<span class="narration-text">Smiling faces. Late-night selfies. Thigh gaps and sunset filters. A few familiar names drift past — mutuals, classmates, maybe that girl who works the juice bar near the metro. You pause on one post — cute, slightly-too-thirsty, but still cute.</span>
<span class="narration-text">
You're mid-scroll on the next bikini Boomerang when your phone buzzes</span>
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-bubble npc">
hey,
</div>
<div class="chat-bubble npc">
are you busy?
</div>
<div class="chat-bubble player">
not really. What’s up?
</div>
<div class="chat-bubble npc">
um
</div>
<div class="chat-bubble npc">
can you come over
</div>
<div class="chat-bubble npc">
like… now?
</div>
<div class="chat-bubble player">
uh. Sure? Is everything okay?
</div>
<div class="chat-bubble npc">
idk
</div>
<div class="chat-bubble npc">
kind of
</div>
<div class="chat-bubble npc">
not really
</div>
<div class="chat-bubble npc">
it’s dumb, maybe
</div>
<div class="chat-bubble npc">
i just need to talk
</div>
<div class="chat-bubble player">
Talk about what?
</div>
<div class="chat-bubble npc">
i’ll tell you when you’re here
</div>
<div class="chat-bubble npc">
pls?
</div>
</div>
<span class="narration-text">You stare at her last message for a second, thumb hovering over the keyboard.
The typing dots appear. Then vanish. Then reappear. Then stop.</span>
<span class="narration-text">Whatever this is... it’s clearly bothering her.</span>
<span class="narration-text">You get up and grab your keys.</span>
<span class="btn-104">
[[go to zoe|Prologue_Meet_Zoe]]
</span>
@@.narration-text;
Zoe lives on the fourth floor of a building that smells like old carpet and yesterday’s takeout. You know the code by heart — she changed it once but gave up and changed it back within a week.
<br><br>
As you climb the narrow stairwell, you hear faint music — something moody and echoey — leaking through the walls. It’s coming from her apartment, of course. Zoe doesn’t do silence.
<br><br>
You knock once. Before you can knock again, the door swings open.
<br><br>
She’s in an oversized hoodie, hair up in a lopsided bun, sleeves swallowed halfway down her hands. One of her socks is halfway off, the other missing completely.
Her eyes flick over you, then back down.
@@
<<say "zoeb" "Hey. Come in.">>
@@.narration-text;
The apartment is the usual mess — not dirty, just Zoe messy. Throw pillows on the floor. Open laptop on the couch, still playing some fast-cut vlog. A single ring light leans against the window, off. Her phone sits on the coffee table, screen up, glowing with a frozen follower count.
<br><br>
She doesn’t sit. She paces. You watch her wind up like she’s about to launch into something, but she hesitates. Walks in a small circle. Picks up her phone, puts it down.
<br><br>
Then finally:
@@
<<say "zoeb" "Okay, so… before I say anything, I just want to preface this by saying that I know this sounds stupid. Like. Stupid stupid. Like, ‘drink too much wine and text your ex’ stupid.">>
@@.narration-text;
She stops pacing. Breathes in. Fiddles with the sleeve of her hoodie.
@@
<<say "zoeb" "I’m just— I’m in a spiral. And I know it’s not a real crisis, but it feels real to me, okay? I’ve been trying so hard — posting, editing, staying on trend, like, really staying on trend. Do you know how hard it is to look effortless? It’s exhausting.">>
@@.narration-text;
She looks at you, eyes wide, voice rushing now.
@@
<<say "zoeb" "And it’s like… nothing. No growth. No engagement. Not even hate comments, which is worse somehow? Like I don’t even register enough to get hate. I’m just invisible.">>
@@.narration-text;
A beat. She looks away. Laughs awkwardly.
@@
<<say "zoeb" "I know you probably think this is dumb. You’re logical, and chill, and not a hot mess. But I… I need help. I don’t know what I’m doing wrong, and it’s driving me insane. And I thought — maybe — you could help me figure it out?">>
@@.narration-text;
She looks back at you again, tentative. Embarrassed.
@@
<<say "zoeb" "You know. If you’re not, like, too busy scrolling through girls who actually get likes.">>
<div class="prologue-choices">
<span class="btn-104">
[[ "It's not stupid. Tell me what's going on." |Prologue_Listen]]
</span>
<span class="btn-104">
[[ "I mean, it's just social media, Zoe." |Prologue_Dismiss]]
</span>
</div>@@.narration-text;
Zoe exhales like she’s been holding her breath since you walked in. She sinks onto the couch, knees pulled up, arms wrapped tight around them like she’s trying to shrink out of existence.
<br><br>
Her eyes flick to the glowing phone screen on the table — then back to you.
@@
<<say "zoeb" "It’s everything. The algorithm hates me. I’ve tried every trend, every format. Even the stupid little dances, which, for the record, I am *terrible* at." >>
<<say "zoeb" "I keep watching everyone else blow up, even people who don’t post half as much. Like — I know I’m not a model or whatever, but I’m trying. I *care*. That should count for something, right?" >>
@@.narration-text;
She grabs a throw pillow and hugs it to her chest, eyes suddenly glossy but defiant.
@@
<<say "zoeb" "I know it’s just social media. I know. But I put so much of myself into this. And it feels like shouting into a void while everyone else gets applause." >>
<<say "zoeb" "I just want to matter. Even a little. Even to strangers." >>
<div class="prologue-choices">
<span class="btn-104">
<<link "Comfort her" "Prologue_Listen_2">>
<<set $characters['zoeb'].relationshipStatus = "romance">>
<</link>>
</span>
<span class="btn-104">
<<link "Keep it casual" "Prologue_Listen_2">>
<<set $characters['zoeb'].relationshipStatus = "friendly">>
<</link>>
</span>
</div>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
<<say "player" "Zoe… you already matter. To me. To people who know you. This stuff online — it’s not the whole picture. It never was." >>
@@.narration-text;
Zoe looks up, startled. You see her blink fast, like she's trying not to cry but might fail soon.
@@
<<say "zoeb" "You really think that? Even when I feel like I’m disappearing?" >>
<<say "player" "Especially then." >>
@@.narration-text;
She leans against you — not dramatically, not for show, just tired. Quiet.
<br><br>
For once, she lets the silence exist.
@@
<<else>>
<<say "player" "I get it, Zoe. It sucks. But hey, that stuff doesn’t define you. It’s just numbers." >>
@@.narration-text;
She gives a weak laugh and flops back against the couch, burying her face in the pillow for a second.
@@
<<say "zoeb" "You always make things sound simple." >>
<<say "player" "I mean, if anyone could break the algorithm with sheer stubbornness, it’d be you." >>
@@.narration-text;
That earns you a proper laugh — tired, but real.
@@
<</if>>
<div class="prologue-choices">
<span class="btn-104">
<<link "COntinue" "Prologue_Listen_3">><</link>>
</span>
</div><<say "player" "I get it, Zoe. It sucks. But hey, that stuff doesn’t define you. It’s just numbers." >>
@@.narration-text;
She gives a weak laugh and flops back against the couch, burying her face in the pillow for a second.
@@
<<say "zoeb" "You always make things sound simple." >>
<<say "player" "I mean, if anyone could break the algorithm with sheer stubbornness, it’d be you." >>
@@.narration-text;
That earns you a proper laugh — tired, but real.
@@<<say "player" "I mean, it’s just social media, Zoe." >>
@@.narration-text;
The words hang there longer than you expect them to.
<br><br>
Zoe’s expression doesn’t crack right away — she even gives a quick, half-hearted laugh, but it’s the kind of sound that doesn’t quite reach her eyes.
@@
<<say "zoeb" "Yeah… I mean, I know. Obviously. It’s not like it’s real life or anything." >>
@@.narration-text;
She waves a hand in the air like she’s brushing it off, but the motion’s too quick, too practiced.
<br><br>
She sinks back onto the couch, crossing her legs tightly. The room feels smaller for a moment, quieter.
@@
<<say "zoeb" "Sorry. You’re right. I’m being ridiculous." >>
@@.narration-text;
Her voice is light, but her posture gives her away — shoulders drawn in, eyes focused on the glowing phone screen instead of you.
<br><br>
The silence that follows isn’t angry. Just… deflated.
@@
<<say "player" "Hey, I didn’t mean it like that. I just meant… maybe you’re putting too much pressure on yourself." >>
<<say "zoeb" "No, it’s fine. Really. I get it." >>
@@.narration-text;
She offers a faint smile — polite, distant — and it lands heavier than any argument could have.
<br><br>
For the first time tonight, you’re not sure what to say next.
@@
<<say "zoeb" "I think I just need to figure it out myself, anyway. You know how I get." >>
@@.narration-text;
She glances at you briefly, then back to her phone. The light from the screen reflects off her face — blue and cold.
<br><br>
You sit there a moment longer, realizing you’ve said the wrong thing, even if you didn’t mean to.
<br><br>
Outside, a car passes, headlights sweeping through the room before fading into nothing.
@@
<span class="btn-104">
<<link "Keep it casual" "Prologue_Dismiss_2">>
<<set $characters['zoeb'].relationshipStatus = "distant">>
<</link>>
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
She stays like that for a moment — leaning into you, quiet, still. The tension in her shoulders slowly begins to fade, and her voice is barely above a whisper when she finally speaks again.
@@
<<say "zoeb" "You’re the only one who doesn’t make me feel like I’m being ridiculous." >>
@@.narration-text;
Then, gently, she shifts — and wraps her arms around you in a full hug. Not awkward, not performative. Just real. Warm. Needing.
@@
<<say "zoeb" "Will you help me?" >>
@@.narration-text;
She pulls back just enough to meet your eyes, her voice soft but serious now.
@@
<<say "zoeb" "Not just listen — I mean actually help. Like, figure out how to get more people to follow me. You’re good at this kind of stuff. Smarter than me about… systems. Patterns. Stuff I suck at." >>
<<say "zoeb" "Will you?" >>
@@.narration-text;
There’s a trace of vulnerability behind her usual dramatic flair — the part of Zoe most people don’t get to see. And right now, she’s trusting you with it.
<br><br>
You don’t hesitate.
@@
<<say "player" "Yeah. I’ll help you." >>
@@.narration-text;
Relief floods her expression, so quick and complete it’s almost startling.
@@
<<say "zoeb" "Okay. Okay. Thank you. You’re— I mean, I *was* hoping you'd say yes, but I didn’t want to push or—" >>
@@.narration-text;
She stops herself mid-ramble, then grins a little.
@@
<<say "zoeb" "Okay. Let’s start tomorrow. First thing. I’ll make coffee. But not the weird oat milk kind, I swear." >>
@@.narration-text;
She leans back into the couch with a breath that sounds like it’s been waiting to come out all day. For the first time tonight, she actually looks a little lighter.
@@
<<else>>
<<say "zoeb" "Still. I kinda hate how right you are sometimes." >>
<<say "player" "Only sometimes? Rude." >>
@@.narration-text;
She sits up a little straighter, legs crossed, phone now balanced in her lap. She taps the screen once, watches her follower count sit there like a stubborn rock.
@@
<<say "zoeb" "I’m still gonna ask anyway." >>
@@.narration-text;
She glances at you, one eyebrow raised — a bit sheepish, but mostly determined.
@@
<<say "zoeb" "Will you help me? Like, actually help me figure this out? Boosting posts, hacking the algorithm, decoding the mystical aura of TikTok trends…" >>
<<say "player" "I’m not sure even I can decode that last one." >>
<<say "zoeb" "Ugh, fair. Still. You’re smarter than me at this kind of thing. I trust you. And I really don’t want to do it alone anymore." >>
<<say "player" "Alright. I’m in. But I’m not dancing on camera, just so we’re clear." >>
@@.narration-text;
She laughs again, more freely this time — the kind of sound that makes you forget just how tightly wound she was ten minutes ago.
@@
<<say "zoeb" "Deal. No dancing. At least not yet." >>
@@.narration-text;
She sinks into the couch beside you, this time with a small, satisfied sigh.
<br><br>
The mood shifts. Still her — still dramatic, impulsive, a little chaotic — but calmer now. Like knowing someone’s in her corner made it all feel just a little more possible.
@@
<</if>>
<div class="prologue-choices">
<span class="btn-104">
<<link "Continue" "Prologue_Listen_4">><</link>>
</span>
</div><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The evening winds down slowly, but not awkwardly. Zoe doesn’t ask you to stay longer, and you don’t rush to leave. Time just settles into something quieter — less crisis, more calm.
<br><br>
Eventually, you stand, stretching a little. She follows you to the door, barefoot now, hoodie sleeves still draped over her hands like armor she forgot to take off.
@@
<<say "zoeb" "Hey... thanks. For coming over. And for not making fun of me." >>
<<say "player" "I wouldn’t. You were brave to ask for help." >>
@@.narration-text;
Zoe smiles — not her usual smirk or dramatic grin, but something softer. She shifts on her feet like she wants to say something else... then doesn’t.
<br><br>
Instead, she opens the door for you, and just before you step through, she reaches out and gently bumps her knuckles against your arm.
@@
<<say "zoeb" "You’re a good one, you know that?" >>
@@.narration-text;
You hold her gaze for a moment longer than you mean to. She notices — you can tell — but neither of you moves.
<br><br>
Then she steps back, and the moment passes.
@@
<<say "player" "Goodnight, Zoe." >>
<<say "zoeb" "Night." >>
@@.narration-text;
The hallway feels cooler than it did on the way in. You take the stairs slower this time.
<br><br>
Outside, the night air hits your face and you let out a breath you didn’t realize you were holding.
<br><br>
You’re not sure what just shifted between you — but something did. Not loud. Not obvious.
<br><br>
Just… something.
@@
<<else>>
@@.narration-text;
The evening winds down with the low murmur of half-finished thoughts and an episode of something neither of you is really watching.
<br><br>
Zoe seems calmer now. Less frayed at the edges. She stretches out on the couch, her hoodie sleeves falling over her fingers again as she absentmindedly scrolls through her feed.
<br><br>
You check the time. It’s late — not too late, but enough.
@@
<<say "player" "I should probably head out." >>
<<say "zoeb" "Yeah. Don’t want to risk your brain cells getting corrupted by too many vlogs in one night." >>
@@.narration-text;
You laugh. She walks you to the door, barefoot and yawning, arms loosely crossed like she’s already halfway back in her own world.
<br><br>
She opens the door but doesn’t rush you out.
@@
<<say "zoeb" "Thanks for not acting like I’m a total disaster." >>
<<say "player" "Zoe, you *are* a disaster." >>
<<say "player" "But like… the charming, functioning kind." >>
@@.narration-text;
That earns you a soft eye-roll and a quick smirk.
@@
<<say "zoeb" "Ugh. Fine. I’ll allow it." >>
@@.narration-text;
You step into the hallway. She leans against the doorframe, watching you go.
@@
<<say "player" "Text me if you get any new weird algorithm theories at 2AM." >>
<<say "zoeb" "No promises." >>
@@.narration-text;
The door closes behind you with a quiet click.
<br><br>
Outside, the air is still and cool. You shove your hands in your pockets and walk with the easy kind of tired that only comes after calming someone else's storm.
<br><br>
Whatever comes next — algorithm plans, trend breakdowns, or just another midnight freak-out — you’ll be there for it.
<br><br>
Because that’s what friends do.
@@
<</if>>
<div class="prologue-choices">
<span class="btn-104">
<<link "Continue" "Pre_Shoot">><</link>>
</span>
</div>@@.narration-text;
You watch her scroll aimlessly, fingers flicking at the screen like it's something she wants to disappear into.
<br><br>
The silence presses in around you — and with it, the weight of what you said. Or maybe what you *didn’t* say.
@@
<<say "player" "Zoe..." >>
@@.narration-text;
She doesn't look up, but her fingers slow.
@@
<<say "player" "I’m sorry. That came out wrong." >>
<<say "player" "I wasn’t trying to minimize it. I know this matters to you. I just… don’t always know how to say things right when people are hurting." >>
@@.narration-text;
For a second, you think she’s going to shrug it off again — but instead, she lets the phone fall to her lap and looks at you.
<br><br>
There’s still a guardedness in her eyes, but the edge has softened.
@@
<<say "zoeb" "You think I’m being overdramatic, don’t you?" >>
<<say "player" "No. I think you’re being real. And I respect that." >>
@@.narration-text;
That makes her pause.
<br><br>
She draws her knees up onto the couch, hugging them loosely, face half-lit by the lamp beside her.
@@
<<say "zoeb" "You’re weird, you know that?" >>
<<say "player" "Comes with the job description." >>
@@.narration-text;
A small smile plays at the corner of her mouth. Not quite forgiveness — but not rejection, either.
<br><br>
You feel the tension in the room shift again — not back to where it was, but to something quieter. Mending.
@@
<span class="btn-104">
<<link "Keep it casual" "Prologue_Dismiss_3">>
<</link>>
</span>@@.narration-text;
There’s a long pause where neither of you speaks. Zoe pulls the blanket tighter around her legs, the light from the phone screen casting a soft glow across her features.
<br><br>
Then, without looking at you, she picks up her phone again — not to scroll, but to type.
<br><br>
A few seconds later, your phone buzzes in your pocket.
@@
@@.narration-text;
You pull it out and check the screen.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
will you still help me?
</div>
<div class="chat-bubble npc">
even if i was a little dramatic
</div>
<div class="chat-bubble npc">
🥺❤️
</div>
</div>
</div>
@@.narration-text;
You glance up from the message. Zoe’s watching you now — head tilted, a tiny, hopeful smile tugging at her mouth.
@@
<<say "player" "Yeah. Of course I will." >>
@@.narration-text;
Something in her shoulders drops — not in defeat, but relief. The tension that’s been holding her together all night finally lets go, just a little.
<br><br>
She doesn’t make a speech, doesn’t get emotional again. She just leans back, comfortable now, like she trusts you again.
<br><br>
You stay a while longer. Talk about nothing. Watch muted videos with ridiculous captions. At some point, she falls half-asleep with her head on the couch armrest.
<br><br>
Eventually, you stand to leave.
@@
<<say "player" "I’ll text you tomorrow. We’ll come up with a plan." >>
<<say "zoeb" "Okay. You’re the best." >>
@@.narration-text;
She doesn’t get up, just gives you a lazy wave, the blanket half-slipping off her shoulder.
<br><br>
You let yourself out quietly.
<br><br>
The hallway feels a little less cold than before.
@@
<div class="prologue-choices">
<span class="btn-104">
<<link "Continue" "Pre_Shoot">><</link>>
</span>
</div><<set $_char = $characters['zoeb']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe fidgets with the edge of her blouse as you adjust the camera strap around your neck. The sunlight filters through the patio canopy, casting soft shadows across the stone floor.
<br><br>
She looks stunning. Not just the outfit, or the light, or the setup — it’s the way she keeps glancing your way, eyes nervous but excited. Like she wants this to go perfectly, for reasons that go deeper than social media metrics.
@@
<<say "zoeb" "Okay... do I smile? Or do, like, moody mysterious influencer face?" >>
<<say "player" "Smile. Just be you." >>
@@.narration-text;
She bites her lip, then smiles — not the exaggerated one she posts online, but a real one, meant just for you.
<br><br>
You lift the camera.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '001.jpg'" alt="Prologue photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("001.jpg")>>
@@.narration-text;
The shutter clicks. She blinks once, then laughs — half-relieved, half-shy.
<br><br>
You lower the camera slowly, realizing your heart’s beating faster than it should be.
@@
<<say "zoeb" "Was that okay? I feel like I look awkward." >>
<<say "player" "You look... perfect." >>
@@.narration-text;
Her cheeks flush slightly, and she looks away, but not before you catch the smallest smile tugging at her mouth.
<br><br>
She straightens up, brushing her hair back.
@@
<<say "zoeb" "Okay, round two. Gimme serious confidence vibes." >>
@@.narration-text;
She steps into the light again — this time more certain, more poised, still smiling... but now with intent.
<br><br>
You don’t say anything. You just lift the camera and let her be seen.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '002.jpg'" alt="Prologue photo 2">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("002.jpg")>>
@@.narration-text;
The lens lowers. She looks at you like she wants to ask what you’re thinking — and maybe part of her already knows.
<br><br>
Something shifted in those two clicks. And neither of you’s saying it… but both of you feel it.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe is already mid-rant about lighting filters and bad angles as you finish setting up the shot. She's pacing in front of a big terracotta planter, flapping her kimono sleeve like a bird learning to fly.
<br><br>
You can’t help smiling. She’s in full Zoe-mode — all nerves and energy and too much coffee.
@@
<<say "zoeb" "Okay wait, does this top look weird? Be honest. It’s like, cottagecore but also… almost pajamas?" >>
<<say "player" "You look like someone who totally knows what cottagecore means, so you're winning already." >>
@@.narration-text;
She sticks her tongue out at you — then poses dramatically, arms out like she’s about to launch into a musical number.
<br><br>
You lift the camera and shake your head.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '001.jpg'" alt="Prologue photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("001.jpg")>>
@@.narration-text;
Click.
<br><br>
She grins, peeks over at the camera screen like a curious kid, and makes a face.
@@
<<say "zoeb" "Okay, that one’s cute. I’m shocked. Let’s do another before the sunlight betrays me." >>
<<say "player" "One betrayal per shoot, max." >>
@@.narration-text;
She moves into position again, this time with hands on hips, feet planted like she owns the space.
<br><br>
Still Zoe. But more grounded. Like she believes in herself for a second.
<br><br>
You catch it through the lens.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '002.jpg'" alt="Prologue photo 2">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("002.jpg")>>
@@.narration-text;
Click.
@@
<<say "zoeb" "That felt better," >>
@@.narration-text;
she says, exhaling.
@@
<<say "zoeb" "Like, maybe I'm not total trash at this." >>
@@.narration-text;
You don’t argue. You just show her the photo — and watch her smile for real this time.
@@
<<else>>
@@.narration-text;
Zoe doesn’t say much as you unpack the camera. She scrolls through her phone, only glancing up when you clear your throat and nod toward the first backdrop.
<br><br>
She walks over without a word, positioning herself like she’s done this alone a hundred times.
@@
<<say "player" "Ready when you are." >>
<<say "zoeb" "Just take it fast, yeah?" >>
@@.narration-text;
You lift the camera. Her smile is tight, distant — the kind you give to strangers or when you're forcing yourself to care.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '001.jpg'" alt="Prologue photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("001.jpg")>>
@@.narration-text;
The shutter clicks. She doesn’t wait for feedback.
<br><br>
She adjusts her top slightly, eyes darting away from you and toward the passing cars across the lot.
@@
<<say "zoeb" "One more." >>
@@.narration-text;
You nod. The silence between you isn’t hostile, but it’s definitely there.
It wasn’t like this a few days ago.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '002.jpg'" alt="Prologue photo 2">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("002.jpg")>>
@@.narration-text;
Click.
<br><br>
She exhales sharply, not looking at the screen this time.
<br><br>
You think about saying something — anything — but the words sit too heavy in your throat.
<br><br>
So you don’t.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_Results_1]]
</span>
@@.narration-text;
The next morning comes quicker than you expected. Your phone buzzes before your brain fully catches up.
<br><br>
It’s from Zoe:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Shooooot day 😎 Bring the camera. Coffee's on me. 💅✨
</div>
</div>
</div>
@@.narration-text;
She doesn’t mention last night. Doesn’t have to.
<br><br>
You get dressed, grab your camera, and head out the door. The sun's already burning off the morning haze as you step into the street — a little sleepy, but curious.
<br><br>
Zoe’s already texting again by the time you hit the sidewalk.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Also do NOT let me wear the black boots. I swear they’re cursed
</div>
</div>
</div>
@@.narration-text;
You type back a quick reply, half-laughing, and start walking toward her spot.
<br><br>
It’s photoshoot day. And knowing Zoe, it’s not going to be quiet.
@@
<span class="btn-104">
[[Continue|Photoshoot_1]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 150>>
<<set $characters['zoeb'].followers += $_followerGain>>
/* We also need to update her "value" if it's based on followers */
<<set $characters['zoeb'].value += 50>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
You’re scrolling through your phone when you hear a gasp from Zoe’s end of the couch — sharp, like she just saw a ghost with good news.
<br><br>
She whips around, phone held out like it might explode.
@@
<<say "zoeb" "Two. Hundred." >>
<<say "player" "Two hundred… what?" >>
<<say "zoeb" "Followers! I was at fifty this morning! And now I’m at TWO. HUNDRED!" >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
Before you can respond, she launches across the space between you and practically jumps on you, arms thrown around your neck in a full-body tackle-hug.
<br><br>
You catch her out of instinct — laughing, surprised, nearly dropping your phone.
@@
<<say "player" "Whoa— okay! That’s one way to celebrate!" >>
<<say "zoeb" "This is happening! I thought it’d be nothing, or, like, five bots and a spam comment! But this— this feels real!" >>
@@.narration-text;
She pulls back just enough to look you in the eyes, still holding onto your shoulders, grinning like she’s on fire inside.
<br><br>
And for a second, you forget all the logic and numbers.
You just feel her energy — and how much of it is aimed at you.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe is sitting cross-legged on the couch, editing a post, when her phone buzzes. Once. Then again. Then again.
<br><br>
You glance over as she stares at the screen.
@@
<<say "zoeb" "Wait... what the hell?" >>
<<say "player" "What is it?" >>
<<say "zoeb" "I just went from fifty to two hundred followers. In, like, three hours. What did you *do*?" >>
@@.narration-text;
She practically jumps up, nearly knocks over her iced coffee, and lets out a cheer that startles the cat outside.
@@
<<say "zoeb" "This is insane! Look!" >>
@@.narration-text;
She holds her phone up, screen flashing, eyes wide with disbelief.
<br><br>
You lean over to check the metrics — and yeah, it’s real. Comments too. A couple even call her “underrated.”
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "Looks like people are actually seeing you now." >>
<<say "zoeb" "Not just seeing me. Following. Engaging. *Caring.*" >>
@@.narration-text;
She spins once in place, laughing, then flops back down beside you, showing you every single stat like a kid showing off their first good grade.
<br><br>
It’s infectious — her joy, her energy.
And for once, she doesn’t need to hype herself up. Reality’s doing it for her.
@@
<<elseif $_status == "distant">>
@@.narration-text;
You hear her sigh — one of those long, scrolling-too-long kind of sounds — but it’s followed by silence.
<br><br>
You look over. Zoe’s staring at her phone, expression unreadable.
@@
<<say "player" "Something wrong?" >>
@@.narration-text;
She shakes her head slowly. Then blinks.
@@
<<say "zoeb" "I… no. I mean… I think it’s good. Really good." >>
<<say "player" "What happened?" >>
<<say "zoeb" "I had fifty followers this morning. I just checked. I’m at two hundred." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
She says it flat, like she’s trying not to let herself believe it yet.
<br><br>
You wait — and after a few more seconds, her fingers tighten around the phone just slightly.
@@
<<say "zoeb" "People commented. Shared. I didn’t even think they'd notice." >>
<<say "player" "Well. They did." >>
@@.narration-text;
She nods once, quietly. Still staring at the screen.
<br><br>
Then, softer:
@@
<<say "zoeb" "It’s dumb how much I needed this, huh?" >>
<<say "player" "No. It’s not dumb." >>
@@.narration-text;
She doesn’t smile exactly, but her shoulders drop. Her voice loses some of its usual armor.
<br><br>
For the first time in days, she actually looks… calm.
@@
<<say "zoeb" "Thanks. For helping. Even when I was… kind of a mess." >>
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_2]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
<<elseif $_status == "friendly">>
<<elseif $_status == "distant">>
<</if>>
<div class="prologue-choices">
<span class="btn-104">
<<link "Continue" "Pre_Shoot">><</link>>
</span>
</div><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe is still riding the high from the follower jump, pacing your living room barefoot, animated, phone in hand, already scrolling for post inspiration.
<br><br>
You’re at the table with your laptop open, pretending to work while watching her spin through a dozen ideas in thirty seconds.
@@
<<say "zoeb" "Okay, so the next shoot has to feel more personal. Like ‘effortless at-home goddess’ but not *too* effortless or people think I didn’t try." >>
<<say "player" "So… chaos with natural lighting?" >>
<<say "zoeb" "Exactly." >>
@@.narration-text;
She stops pacing suddenly and looks at you — eyes focused, thoughtful.
@@
<<say "zoeb" "Can we shoot at your place? Not in a creepy influencer way. Just… your space feels safe." >>
@@.narration-text;
The way she says it — like it slipped out faster than she meant to — makes you pause.
<br><br>
She bites her lip, clearly nervous now.
@@
<<say "player" "Yeah. Of course. Any time." >>
<<say "zoeb" "Really?" >>
<<say "player" "You already kind of live here with how much you text me, so…" >>
@@.narration-text;
She throws a pillow at you, but she’s smiling — softer, more honest than usual.
<br><br>
This shoot won’t just be about angles and likes.
<br><br>
Not this time.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s half-sitting, half-stretching across your couch, legs tangled in a blanket as she scrolls through fashion tags and mutters to herself.
<br><br>
You’ve got a notepad out, scribbling down lighting setups, prop ideas, and the word "NO BLACK BOOTS" in all caps.
@@
<<say "zoeb" "Okay so hear me out: next shoot, indoor vibe, cozy aesthetic, maybe fake reading a book I’ll never actually finish." >>
<<say "player" "Should I fake holding a camera I don’t actually charge?" >>
<<say "zoeb" "Exactly. It’s the illusion that counts." >>
@@.narration-text;
She swings her legs off the couch and sits up, hair falling into her face as she grins.
@@
<<say "zoeb" "What if we just shoot here? At your place. You’ve got good windows. Plants. Less risk of stepping in gum." >>
<<say "player" "Sure, why not. But I’m not vacuuming." >>
<<say "zoeb" "Ew. Don’t even joke about dust bunnies. I’ll bring props. And candles. Maybe a throw blanket that says 'I pretend to journal.'" >>
@@.narration-text;
You nod, already imagining the lighting setup.
<br><br>
Zoe leans over the table and snaps a photo of your scribbled notes.
<br><br>
"We’re gonna fake being productive so hard," she says, and you both laugh.
@@
<<elseif $_status == "distant">>
@@.narration-text;
You and Zoe sit across from each other at your kitchen table, both nursing half-drunk cups of coffee. She's quieter today, more measured.
<br><br>
Her phone is open to a saved folder of shoot references — minimal backgrounds, soft tones, just a little edge.
@@
<<say "zoeb" "I’ve been thinking…" >>
<<say "player" "Dangerous." >>
<<say "zoeb" "...Ha. You’re hilarious." >>
@@.narration-text;
She doesn’t follow it with a smile — but there’s a slight shift in her voice, a little less guarded.
@@
<<say "zoeb" "Maybe we do the next shoot somewhere less… curated. More real. Like your place." >>
<<say "player" "You want to shoot here?" >>
<<say "zoeb" "If that’s okay. It’s not that I trust your taste or anything…" >>
@@.narration-text;
She glances around at your walls, like she's still deciding if she’s allowed to ask this much of you.
<br><br>
But the question hangs — honest, and more vulnerable than her tone lets on.
@@
<<say "player" "Yeah. We can do that." >>
<<say "zoeb" "Cool. I’ll bring a vibe playlist and, like, zero expectations." >>
@@.narration-text;
There’s an awkward silence after that — not heavy, just uncertain.
<br><br>
But something’s shifting. Not fast. Not obvious.
<br><br>
Still, you notice it.
@@
<</if>><span class="btn-104">
[[Continue|Photoshoot_2]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
<<set $_char = $characters['zoeb']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe steps out of your bedroom in the rust-colored dress like she’s not sure she believes her own reflection.
<br><br>
You’re mid-checking your camera settings when you look up — and everything else fades for a second.
@@
<<say "player" "Wow." >>
@@.narration-text;
She gives you a look, one eyebrow arched, feigning nonchalance.
@@
<<say "zoeb" "Is that ‘wow, good lighting’? Or ‘wow, you didn’t totally screw this up’?" >>
<<say "player" "It’s just… wow." >>
@@.narration-text;
She smiles — real and a little shy — and steps into the natural light filtering from the window.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("003.jpg")>>
@@.narration-text;
You lift the camera and snap. Her pose is confident, but her eyes keep flicking toward you, like she’s checking how you see her.
<br><br>
When you lower the lens, she’s standing a little closer than before.
@@
<<say "zoeb" "I don’t usually feel like this in front of a camera." >>
<<say "player" "Like what?" >>
<<say "zoeb" "Like… I’m allowed to just be me. No act. No mask. Just… this." >>
@@.narration-text;
You want to say something, but she turns back to face the light again — the moment lingers, unspoken.
<br><br>
Then she shifts — new pose, chin up, arm on hip.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Prologue photo 4">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("004.jpg")>>
@@.narration-text;
Click.
<br><br>
This time, she doesn’t ask to see the photo. She just walks up to you, quietly, hands brushing yours as you hold the camera.
<br><br>
You both say nothing.
<br><br>
And somehow, that says everything.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s rust-colored dress fits the apartment’s neutral palette a little *too* well — like she’s been swallowed by the aesthetic gods of Pinterest.
<br><br>
She twirls once, nearly knocking over a floor lamp.
@@
<<say "zoeb" "Okay but admit it — I look amazing. Like, aggressively amazing." >>
<<say "player" "Aggressively amazing and mildly dangerous to home decor. Perfect combo." >>
@@.narration-text;
She strikes a playful pose, one hand on her hip, smirking like she’s about to sell out a concert she didn’t rehearse for.
<br><br>
You lift the camera.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("003.jpg")>>
@@.narration-text;
Click.
<br><br>
She giggles and breaks the pose immediately.
<br><br>
"Was that too much eyebrow? I felt like it was too much eyebrow."
<br><br>
You show her the preview and she snorts.
@@
<<say "zoeb" "Okay, not bad. I look like I almost have my life together." >>
<<say "player" "Don’t worry, I’ll Photoshop in a functional calendar behind you." >>
@@.narration-text;
She steps to the side, straightens her posture, and gives you a mock-serious face — the kind of expression that screams, *“I read self-help books ironically.”*
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Prologue photo 4">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("004.jpg")>>
@@.narration-text;
Click.
<br><br>
She throws her hands up in triumph.
@@
<<say "zoeb" "I am unstoppable. Or at least postable." >>
<<say "player" "Might want that on a T-shirt." >>
@@.narration-text;
The shoot wraps with laughter, coffee, and Zoe stealing your phone to inspect all the pictures.
<br><br>
For a moment, it just feels like two friends creating something that actually works.
@@
<<elseif $_status == "distant">>
@@.narration-text;
She doesn’t say much when she comes out in the dress — just a quiet nod as she walks toward the window.
<br><br>
You’ve moved the furniture slightly, opened the blinds, made the space feel less like your apartment and more like a studio.
<br><br>
Zoe glances at you briefly. Not suspicious. Not hostile. Just unsure.
@@
<<say "player" "You good?" >>
<<say "zoeb" "I will be. Let’s just shoot." >>
@@.narration-text;
She positions herself near the couch, one hand on her hip, but it’s stiff — like she’s holding something in.
<br><br>
You raise the camera.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("003.jpg")>>
@@.narration-text;
Click.
<br><br>
You don’t say anything. Neither does she.
<br><br>
She adjusts slightly, sighs through her nose, then glances out the window.
@@
<<say "zoeb" "I didn’t think I’d care about this. About any of it." >>
<<say "player" "But now you do." >>
<<say "zoeb" "Yeah." >>
@@.narration-text;
There’s a beat of silence. Not awkward this time — more like a crack in the ice.
<br><br>
She turns slightly, trying a different angle. Her voice is low, but steady.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Prologue photo 4">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("004.jpg")>>
@@.narration-text;
Click.
<br><br>
You look up from the camera. She meets your gaze.
<br><br>
Not a smile. But not a wall anymore, either.
<br><br>
Progress.
@@
<</if>>
<span class="btn-104">
[[Continue|Prologue_Results_2]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 300>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 100>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe sits cross-legged on your couch, scrolling, her thumb frozen mid-swipe.
<br><br>
You glance over just in time to catch the look on her face — something between awe and disbelief.
@@
<<say "zoeb" "I’m at five hundred." >>
<<say "player" "What?" >>
<<say "zoeb" "I gained three hundred *since this morning.* These pictures are everywhere." >>
@@.narration-text;
She flips the screen to show you — reposts, story mentions, even a small account writing a post about her “authentic aesthetic.”
<br><br>
For a second, she doesn’t speak. Her eyes dart over the numbers like they might vanish.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "This was supposed to be slow. Like, gradual. I don’t even have a plan for this." >>
@@.narration-text;
You don’t interrupt. She’s breathing a little faster now, caught between joy and panic.
<br><br>
Then she looks at you. Direct.
@@
<<say "zoeb" "Can I still ask for your help if this gets... bigger than me?" >>
<<say "player" "I’m not going anywhere, Zoe." >>
@@.narration-text;
She stares for a beat. Then moves across the couch and leans against you — not dramatically, just close.
<br><br>
You feel her exhale. And this time, it’s not from anxiety.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s sprawled out on the floor, feet in the air, head hanging upside down off your couch, yelling at her phone.
<br><br>
Not angrily. Ecstatically.
@@
<<say "zoeb" "I gained *three hundred* followers in one day! What even IS my life right now?" >>
@@.narration-text;
She flips around upright, hair flying, and waves her phone like a victory flag.
<br><br>
You glance at the screen — yep, the second shoot is *booming*. Likes. Comments. Shares.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "I think the internet has discovered Zoe 2.0." >>
<<say "zoeb" "Zoe 2.0 has way better lighting and a slightly chaotic support team." >>
<<say "player" "Hey. Slightly chaotic is a brand." >>
@@.narration-text;
She laughs and throws a pillow at you.
<br><br>
"This is the first time I feel like I’m doing something right," she says, softer this time.
<br><br>
Then she taps the phone against her palm.
@@
<<say "zoeb" "Thanks for not letting me bail when I wanted to." >>
<<elseif $_status == "distant">>
@@.narration-text;
Zoe sits by your window with her knees pulled up, phone resting on the edge of the armrest. She hasn’t said anything for five minutes.
<br><br>
You’re halfway through cleaning up cables from the shoot when you notice the look on her face.
@@
<<say "player" "Something wrong?" >>
<<say "zoeb" "...No. Just... surprised." >>
@@.narration-text;
She holds up her phone slowly, like she’s still deciding if it’s real.
@@
<<say "zoeb" "I gained three hundred followers. Since we posted. That’s... I didn’t think people would care." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
Her voice is flat — not cold, just uncertain.
<br><br>
She sets the phone down, carefully.
@@
<<say "zoeb" "It feels like I’m finally getting seen. And I don’t know if that’s good or scary." >>
<<say "player" "Maybe both. But it’s deserved." >>
@@.narration-text;
She looks at you like she’s trying to decide if you mean it — then nods, just once.
<br><br>
Not open, not glowing. But less closed.
<br><br>
And that’s something.
@@
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_3]]
</span><div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
</div>
<div class="chat-bubble player">
</div>
</div>
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Starlight Crew</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Is anyone else having trouble with the new streaming software?
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I am! It's super laggy.
</div>
<div class="chat-bubble player">
I'll check the license. Don't use it for any paid streams until I confirm.
</div>
</div>
<div class="chat-choices">
[[Okay, thanks.|OfficeHub]]
</div>
</div><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Your phone buzzes just as you’re brushing your teeth. Zoe, of course. The clock reads 11:38 PM.
<br><br>
You open the message.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
So… thinking about a shoot. Outdoors. Cute top. Sunset hair. Maybe some hand-holding? 👀
</div>
<div class="chat-bubble player">
Is that part of the brand now?
</div>
<div class="chat-bubble npc">
Only if you're the one holding it.
</div>
</div>
</div>
@@.narration-text;
You pause — smiling, then typing slower than usual.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
I’ll bring the camera. You bring the dangerous levels of charm.
</div>
<div class="chat-bubble npc">
Deal. 😏 Meet me at the old garden park tomorrow? Late light is ✨everything✨ there.
</div>
<div class="chat-bubble player">
It’s a date. I mean. Shoot. It’s a shoot.
</div>
<div class="chat-bubble npc">
Uh huh. Sleep tight, camera boy.
</div>
</div>
</div>
@@.narration-text;
You stare at the screen a moment longer before locking it and heading to bed — heart thudding just a little harder than it should.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
You’re halfway through a bowl of cereal when your phone lights up.
<br><br>
Zoe
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Idea. Park shoot. Daylight. Nature. Something chill, but *still cute.*
</div>
<div class="chat-bubble player">
Outdoor vibes and natural lighting? You trying to be a Pinterest board now?
</div>
<div class="chat-bubble npc">
Duh. Manifesting my soft aesthetic era.
</div>
</div>
</div>
@@.narration-text;
You grab your camera bag from the corner and snap a pic of it, replying instantly.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
I’m ready. Let’s do it. You got an outfit?
</div>
<div class="chat-bubble npc">
Yes. Jeans. Crop top. Mildly scandalous. But family friendly. 😇
</div>
<div class="chat-bubble player">
Iconic.
</div>
<div class="chat-bubble npc">
Park at 2pm. Bring snacks. Or I'm posing angry.
</div>
<div class="chat-bubble player">
Can’t have hangry influencer content. Got it.
</div>
</div>
</div>
@@.narration-text;
You finish your cereal with a grin. Tomorrow’s gonna be fun.
@@
<<elseif $_status == "distant">>
@@.narration-text;
Your phone buzzes just after lunch. Zoe.
<br><br>
Her message is short — no emojis this time.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Thinking about doing an outdoor shoot. Something simple.
</div>
<div class="chat-bubble player">
Got a location in mind?
</div>
<div class="chat-bubble npc">
Garden park. Midday. Light’s clean.
</div>
</div>
</div>
@@.narration-text;
You’re surprised she’s texting you about it at all — but not surprised that it’s all business.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Sounds good. I’ll bring the gear.
</div>
<div class="chat-bubble npc">
Crop top, jeans. Casual. Real. Might help balance the last set.
</div>
<div class="chat-bubble player">
Yeah, that’ll work. You okay if we keep it low-key?
</div>
<div class="chat-bubble npc">
Low-key’s all I’ve got today.
</div>
</div>
</div>
@@.narration-text;
You read the message twice.
<br><br>
She’s still guarded — but maybe today, she's letting just a little bit in.
@@
<</if>>
<span class="btn-104">
[[Continue|Photoshoot_3]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The park’s nearly empty, late afternoon light stretching long and gold through the trees. Zoe’s already there when you arrive — leaning against the stone bench like it’s her private runway.
<br><br>
She’s wearing a soft blue top and jeans that catch the sun just right. Casual, but there’s intent in it.
@@
<<say "zoeb" "You’re late. I almost had to selfie this masterpiece." >>
<<say "player" "And deny the world a professional angle of that outfit? Criminal." >>
@@.narration-text;
She rolls her eyes, but there’s a grin under it.
<br><br>
Without needing to be asked, she steps onto the white blanket you brought, strikes a pose, and tilts her head toward the light.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("005.jpg")>>
@@.narration-text;
Click.
<br><br>
She shifts her weight, eyes flicking back to you instead of the camera. Her smile softens. Less for the audience — more for you.
@@
<<say "zoeb" "You always catch me looking... better than I feel." >>
<<say "player" "Maybe I’m just showing you what’s already there." >>
@@.narration-text;
She doesn’t say anything — just turns slowly, brushing her hair back as the wind catches it.
<br><br>
You lift the camera again.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Prologue photo 6">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("006.jpg")>>
@@.narration-text;
Click.
<br><br>
When she glances over her shoulder at you afterward, there’s something quiet in her expression — like she’s letting you see a side not meant for the feed.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
The park is sunny, mild, and smells like cut grass and optimism. Zoe’s already bouncing with energy when you show up, doing exaggerated runway walks across the stone paths.
@@
<<say "zoeb" "This is the content that’s going to change the game. Outdoor casual realness." >>
<<say "player" "At least you didn’t bring glitter this time." >>
<<say "zoeb" "Yet." >>
@@.narration-text;
She steps onto the white blanket you laid out, tugs down her crop top playfully, and plants her feet like she’s about to model for a denim brand that sells self-confidence.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("005.jpg")>>
@@.narration-text;
Click.
<br><br>
She immediately breaks the pose with a laugh.
@@
<<say "zoeb" "I felt like a catalog model from 2009 just now." >>
<<say "player" "You nailed it. Somewhere a vintage editor is crying with joy." >>
@@.narration-text;
She hops down, spins around, then glances over her shoulder with a mischievous look.
<br><br>
No words — just a knowing smirk as she leans toward the camera.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Prologue photo 6">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("006.jpg")>>
@@.narration-text;
Click.
<br><br>
You both laugh.
<br><br>
This shoot isn’t flawless. The wind catches her hair weird, she blinks in a few — but it’s real. And it works.
@@
<<elseif $_status == "distant">>
@@.narration-text;
The park is quiet. Zoe’s standing near the old stone benches, arms folded, shifting from foot to foot like she’s second-guessing the whole thing.
<br><br>
You lift your camera, but wait a beat. Let her settle.
@@
<<say "player" "You sure you want to do this here?" >>
<<say "zoeb" "It’s fine. Just… give me a second." >>
@@.narration-text;
She steps onto the blanket without a word, takes a breath, and relaxes her arms.
<br><br>
Her pose is simple. Natural. But her eyes don’t look at the camera — not yet.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("005.jpg")>>
@@.narration-text;
Click.
<br><br>
You lower the camera and glance at her.
@@
<<say "player" "That one looked good. Real." >>
<<say "zoeb" "...Good." >>
@@.narration-text;
She turns slightly, tucks a strand of hair behind her ear, and finally looks your way. Not at the lens — at you.
<br><br>
It’s brief. But honest.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Prologue photo 6">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("006.jpg")>>
@@.narration-text;
Click.
<br><br>
Afterward, she steps back without saying anything, checking her phone, face unreadable.
<br><br>
But she doesn’t walk away.
<br><br>
Progress.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_3]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 300>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 100>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<elseif $_status == "friendly">>
<<elseif $_status == "distant">>
<</if>>
<div class="prologue-choices">
<span class="btn-104">
<<link "Continue" "P">><</link>>
</span>
</div><<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 600>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 250>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The park shoot's barely been up an hour when Zoe’s voice cuts through the quiet of your apartment.
<br>
She’s sitting at the edge of the couch, knees tucked in, staring down at her phone like it just confessed a secret.
@@
<<say "zoeb" "I broke a thousand." >>
<<say "player" "Wait, already?" >>
<<say "zoeb" "Yeah. Six hundred new followers in a day." >>
@@.narration-text;
She tilts the screen toward you, her profile now sitting pretty at 1,100 — comments, likes, reposts stacking by the second.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "People are finally catching up to what I already saw." >>
<<say "zoeb" "That’s sweet. Dangerous. But sweet." >>
@@.narration-text;
She laughs lightly, then goes quiet, scrolling for a moment.
<br>
Then:
@@
<<say "zoeb" "You don’t think it’s stupid that this makes me feel... seen, right?" >>
<<say "player" "Not stupid at all." >>
@@.narration-text;
She sets the phone aside and shifts closer — not dramatically, just close enough to make your pulse jump a little.
@@
<<say "zoeb" "You know, all this feels a little less scary when you're around." >>
@@.narration-text;
She doesn’t look at you when she says it — but her hand brushes against yours, just barely.
<br><br>
The message is there, even if she’s not ready to say it all yet.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe kicks the door open with her foot, waving her phone above her head like it’s a trophy.
<br>
She’s beaming.
@@
<<say "zoeb" "Eleven hundred! I’m at eleven *hundred!* That’s six hundred new people!" >>
<<say "player" "Welcome to the triple digits club. Perks include… way more DMs than you want." >>
<<say "zoeb" "Already got two marriage proposals and one guy offering to paint me like his French dog." >>
@@.narration-text;
You both burst into laughter as she drops onto the couch next to you.
<br>
She flips the phone around — follower count solid at 1,100 and climbing.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "Okay, no joke, I actually feel like I’m *doing* something now." >>
<<say "player" "That’s because you are." >>
@@.narration-text;
She pauses, almost surprised at the praise — then gives you a playful nudge with her elbow.
@@
<<say "zoeb" "We’re kind of an okay team, huh?" >>
<<say "player" "Mildly tolerable in small doses. But yeah." >>
@@.narration-text;
She smiles and sinks deeper into the cushions.
<br>
The energy’s high, but the comfort between you is even higher.
@@
<<elseif $_status == "distant">>
@@.narration-text;
Zoe’s staring at her screen again — not with joy, not even with confusion. Just... frozen.
<br>
You glance up from your camera bag.
@@
<<say "player" "Everything okay?" >>
<<say "zoeb" "I hit eleven hundred followers." >>
<<say "player" "Wow. That’s..." >>
<<say "zoeb" "Six hundred new people. One shoot." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
She doesn’t look up. Just slowly scrolls through the notifications like they’re in another language.
@@
<<say "zoeb" "I don’t get it. Same outfit. Same me. Why *now*?" >>
<<say "player" "Maybe because now... you’re letting people see the real you." >>
@@.narration-text;
She looks at you, unsure whether to argue or agree.
<br>
After a pause, she speaks again — softer.
@@
<<say "zoeb" "You really think I can make something out of this?" >>
<<say "player" "You already are." >>
@@.narration-text;
Zoe doesn’t answer. But she nods — once.
<br><br>
And when she puts the phone down this time, she doesn’t pick it back up right away.
@@
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_4]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Your phone buzzes just after lunch. Zoe.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Sooo... I had an idea for today’s shoot. But don’t judge me.
</div>
<div class="chat-bubble player">
No promises. Lay it on me.
</div>
<div class="chat-bubble npc">
Workout girl. But, like... flirty. Purple shorts. Golf club as a prop.
</div>
<div class="chat-bubble player">
I already hate how good that sounds.
</div>
<div class="chat-bubble npc">
Knew you’d like it 😏 I’m packing the outfit. You bring the charm.
</div>
</div>
</div>
@@.narration-text;
She sends a selfie a minute later — just her smile and the top of the purple shorts peeking into frame.
<br><br>
Your heart skips, but your fingers move fast:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
You’re gonna break the internet.
</div>
<div class="chat-bubble npc">
Only if my camera guy keeps making me feel this confident. 💜
</div>
</div>
</div>
@@.narration-text;
You can feel the blush on your face — and she isn’t even in the room yet.
<br><br>
She’ll be here soon.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Your screen lights up with a message from Zoe.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Okay hear me out: fake sports shoot.
</div>
<div class="chat-bubble player">
Define fake?
</div>
<div class="chat-bubble npc">
Like… shorts, crop top, a golf club I found in my dad’s garage. No actual sports. Just vibes.
</div>
<div class="chat-bubble player">
So… athletic illusion. I’m in.
</div>
<div class="chat-bubble npc">
Yes! Meet at the back garden again. I’m bringing props. And maybe snacks.
</div>
<div class="chat-bubble player">
Only one of those makes you a professional.
</div>
<div class="chat-bubble npc">
It’s the snacks, isn’t it.
</div>
</div>
</div>
@@.narration-text;
She follows with a quick photo of the outfit laid out on her bed — sporty, colorful, a bit chaotic. Very Zoe.
<br>
This one’s going to be a weird but fun shoot.
@@
<<elseif $_status == "distant">>
@@.narration-text;
Your phone buzzes with a short text from Zoe.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Got an outfit. Athletic casual. Thinking sporty poses. Backyard setting.
</div>
<div class="chat-bubble player">
You want to do it solo again or need me to set up background?
</div>
<div class="chat-bubble npc">
Need you. I can’t trust my brother with a camera again.
</div>
</div>
</div>
@@.narration-text;
You raise an eyebrow. That’s the first real joke she’s texted you since this started.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Alright. What’s the look?
</div>
<div class="chat-bubble npc">
Purple shorts. Crop top. Probably barefoot. Natural light only.
</div>
<div class="chat-bubble player">
Cool. Bring the outfit. I’ll bring the tripod and gear.
</div>
</div>
</div>
@@.narration-text;
She doesn’t send an emoji or a follow-up.
<br><br>
But twenty minutes later, she texts again:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Thanks for sticking with this, by the way.
</div>
</div>
</div>
@@.narration-text;
Short.
<br><br>
But that’s the closest she’s come to gratitude.
<br><br>
You pocket your phone and grab your bag.
@@
<</if>>
<span class="btn-104">
[[Continue|Photoshoot_4]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe stretches her arms over her head, purple shorts hugging her hips, tank top knotted in the center.
The sun leaks through the trees as she spins the golf club in one hand like she’s about to challenge you to a duel.
@@
<<say "zoeb" "You think I could pass as athletic if I just post this right?" >>
<<say "player" "Athletic? No. Adorable? Absolutely." >>
<<say "zoeb" "Flattery gets you… more content." >>
@@.narration-text;
She leans on the club, winks, and strikes a side pose.
<br><br>
You lift the camera.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '007.jpg'" alt="Prologue photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("007.jpg")>>
@@.narration-text;
Click.
<br><br>
She turns her head, still smiling — but there’s a softness to it this time.
@@
<<say "zoeb" "You know, I feel weirdly safe when we do these." >>
<<say "player" "It’s not weird. You’re just finally trusting the lens." >>
@@.narration-text;
She smirks, flips her hair, and walks forward slowly.
@@
<<say "zoeb" "Maybe I’m trusting the person behind it." >>
@@.narration-text;
You barely have time to aim again before she flashes that heart-hitting grin.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '008.jpg'" alt="Prologue photo 8">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("008.jpg")>>
@@.narration-text;
Click.
<br><br>
You lower the camera, and she lowers her voice.
@@
<<say "zoeb" "Don’t post the best one yet. I kinda want that one to stay... ours." >>
@@.narration-text;
She brushes past you lightly on her way to grab her bag, her hand grazing yours for just a second too long.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
The moment Zoe steps onto the grass in her purple shorts and playful smirk, you know this shoot’s going to be fun.
@@
<<say "zoeb" "Alright! I’m ready to pretend I work out!" >>
<<say "player" "You’re holding that club like it’s a lightsaber." >>
<<say "zoeb" "That’s because I’m *dangerously photogenic.*" >>
@@.narration-text;
She poses with exaggerated attitude, leaning slightly with the golf club like she’s about to challenge a country club to a duel.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '007.jpg'" alt="Prologue photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("008.jpg")>>
@@.narration-text;
Click.
<br><br>
She turns, adjusts her top slightly, and flips her hair over her shoulder.
@@
<<say "zoeb" "If I ever go viral for this outfit, you’re getting 10%." >>
<<say "player" "I’ll take it in snacks." >>
<<say "zoeb" "Deal." >>
@@.narration-text;
She stops mid-joke and gives you a real smile — confident, proud.
@@
<<say "zoeb" "This one’s gonna be a hit. I can feel it." >>
@@.narration-text;
She leans slightly, giving the camera a softer, more genuine expression.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '008.jpg'" alt="Prologue photo 8">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("008.jpg")>>
@@.narration-text;
Click.
@@
<<say "zoeb" "You good with those?">>
@@.narration-text;
she asks, already scrolling through her gallery.
@@
<<say "zoeb" "I’m thinking: caption it with 'accidentally athletic.">>
@@.narration-text;
It fits her — chaotic, but creative.
@@
<<elseif $_status == "distant">>
@@.narration-text;
Zoe adjusts her purple shorts with a half-sigh, holding the golf club upright like she doesn’t really know what to do with it.
<br>
You’ve barely said more than ten words since she arrived. But her tone is… lighter than usual.
@@
<<say "zoeb" "Alright. Let’s do this. I’ll fake being coordinated." >>
<<say "player" "If it helps, you look like you could take over a tennis court." >>
@@.narration-text;
She smiles — small, but real.
<br>
Then strikes a simple side pose and glances at you, not the lens.
<br><br>
Like she’s checking for approval.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '007.jpg'" alt="Prologue photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("008.jpg")>>
@@.narration-text;
Click.
<br><br>
You lower the camera slightly. She shifts her stance, brushing hair from her cheek.
@@
<<say "zoeb" "...Hey. Just so you know... I appreciate you sticking around." >>
@@.narration-text;
You look up.
<br><br>
The bravado fades just a little in her voice.
@@
<<say "player" "I said I would, didn’t I?" >>
<<say "zoeb" "Yeah, but I didn’t exactly make it easy." >>
@@.narration-text;
She holds the club lightly now, no longer trying to pose — just *being* there.
<br>
Then, slowly, she lifts her chin and offers the softest look you’ve seen from her yet.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '008.jpg'" alt="Prologue photo 8">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("008.jpg")>>
@@.narration-text;
Click.
<br><br>
That one wasn’t for her followers.
<br><br>
It was for you.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_4]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 1200>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 500>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe practically falls onto your couch, phone clutched in her hand, disbelief painted across her face.
@@
<<say "zoeb" "Twelve hundred. In *one day.*" >>
<<say "player" "You’re officially a micro-influencer. Time to start selling protein bars." >>
<<say "zoeb" "Shut up." >>
@@.narration-text;
She’s laughing, the nervous kind. The kind that comes with big, fast change.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "Okay but… this is real now, right?" >>
<<say "player" "Yeah. And you earned every click." >>
@@.narration-text;
She looks up from the screen, meeting your eyes.
@@
<<say "zoeb" "You think I’d still be doing this if you hadn’t showed up that night?" >>
<<say "player" "You might’ve stopped. But the girl who wanted to be seen? She was always there." >>
@@.narration-text;
She blinks at you, stunned silent for just a moment — then sets her phone down and leans into you, head against your shoulder.
@@
<<say "zoeb" "Remind me to never let you go." >>
@@.narration-text;
Your hand brushes hers. She doesn’t move it away.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe bursts through the door like a cheer squad of one, phone raised above her head.
@@
<<say "zoeb" "One thousand two hundred! Dude!" >>
<<say "player" "Let me guess: someone already offered you free leggings?" >>
<<say "zoeb" "Two brands. One of them might be a scam but whatever — progress!" >>
@@.narration-text;
She plops down beside you, scrolling through dozens of new notifications.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "Okay, that shoot? Absolute magic. You crushed it." >>
<<say "player" "I think it helps when the subject’s secretly enjoying herself." >>
<<say "zoeb" "Secretly? Please, I was LIVING." >>
@@.narration-text;
You both laugh, looking through the top comments.
@@
<<say "zoeb" "Seriously… this is the first time I’ve felt like I actually know what I’m doing." >>
<<say "player" "You’re building something. And I’m glad to be part of it." >>
@@.narration-text;
She gives you a proud little side-hug before diving back into analytics.
<br><br>
This isn’t just a game to her anymore. And you’re not just her camera guy.
@@
<<elseif $_status == "distant">>
@@.narration-text;
Zoe’s voice cuts through the quiet, low but steady.
@@
<<say "zoeb" "You’re not gonna believe this." >>
@@.narration-text;
You glance over from your laptop. She’s standing in the doorway, phone in hand — not grinning, but glowing.
@@
<<say "player" "Hit me." >>
<<say "zoeb" "Twelve hundred. I gained twelve hundred followers overnight." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
You blink.
@@
<<say "player" "Wow. I mean… that’s incredible." >>
<<say "zoeb" "I don’t know how to react. I used to joke about this happening, but now..." >>
<<say "player" "Now it’s real." >>
@@.narration-text;
She moves across the room and sits — not across from you like she used to, but *next to you.*
@@
<<say "zoeb" "It’s weird. I actually feel… good. Like this thing we’re doing? It’s not just helping the numbers." >>
<<say "player" "You mean it’s helping you?" >>
<<say "zoeb" "Yeah. I feel like me again." >>
@@.narration-text;
She looks at you differently now. Like the guard’s dropped. Like she’s finally letting you see her outside the grid.
@@
<<say "player" "You were right, you know. Back at the beginning. You said you just needed a chance to be seen." >>
<<say "zoeb" "...And you gave it to me." >>
@@.narration-text;
For a moment, neither of you say anything.
<br><br>
And for the first time since all this started, you’re not doing this just as a favor anymore.
<br><br>
You're in it too.
@@
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_5]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Your phone buzzes just after dark. Zoe.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Idea for tomorrow’s shoot. Sidewalk café. Patio vibes. Like... effortlessly flirty.
</div>
<div class="chat-bubble player">
You mean like a ‘look how dateable I am’ vibe?
</div>
<div class="chat-bubble npc">
Exactly. Except it’s not pretend if the camera guy’s cute too.
</div>
<div class="chat-bubble player">
Then I better shave.
</div>
<div class="chat-bubble npc">
And I better wear perfume. 😘
</div>
</div>
</div>
@@.narration-text;
You’re smiling stupidly at the screen, your heart already ahead of schedule.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Outfit plans?
</div>
<div class="chat-bubble npc">
White skirt. Green top. Legs for days. You’ll see.
</div>
<div class="chat-bubble player">
Looking forward to it.
</div>
<div class="chat-bubble npc">
Me too. Bring your A-game, loverboy.
</div>
</div>
</div>
@@.narration-text;
You’re already wondering if it’s the lighting she’s after — or the chance to be seen... by *you*.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s message arrives right after lunch.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
TOMORROW = outdoor café shoot! Bring your sun hat and unearned confidence.
</div>
<div class="chat-bubble player">
I don’t own a sun hat. I *do* own unearned confidence.
</div>
<div class="chat-bubble npc">
Perfect. You’ll match my aesthetic then. I’m thinking white skirt, green top, iced coffee vibes.
</div>
<div class="chat-bubble player">
Do I get a frappuccino for effort?
</div>
<div class="chat-bubble npc">
If you shoot me like I belong in Vogue, yes.
</div>
</div>
</div>
@@.narration-text;
She sends a blurry pic of her outfit laid out on her bed.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
It’s simple but cute. Trying to go for that whole 'I just woke up like this but also spent an hour picking earrings' thing.
</div>
<div class="chat-bubble player">
A timeless look.
</div>
<div class="chat-bubble npc">
2PM. Patio café. Let’s make it work.
</div>
</div>
</div>
@@.narration-text;
You smile, already knowing she’s going to nail it.
@@
<<elseif $_status == "distant">>
@@.narration-text;
The text is shorter than usual — but there’s something different in the tone.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Want to shoot near the café row tomorrow. Midday. Good shadows.
</div>
<div class="chat-bubble player">
You going for something editorial?
</div>
<div class="chat-bubble npc">
Not really. Just something more open. Light. I dunno. Softer, maybe.
</div>
</div>
</div>
@@.narration-text;
You pause, rereading that last word.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Outfit ready?.
</div>
<div class="chat-bubble npc">
Yeah. White skirt. Green lace top. Might try heels this time.
</div>
<div class="chat-bubble player">
Sounds like a confidence boost kind of fit.
</div>
<div class="chat-bubble npc">
...Maybe I’m finally starting to feel it.
</div>
</div>
</div>
@@.narration-text;
You don’t know what changes more — her tone, or the fact that she let herself *sound hopeful.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
You want me to scout the café path?
</div>
<div class="chat-bubble npc">
No. Walk it with me tomorrow. I think I want this one to feel more... real.
</div>
</div>
</div>
@@.narration-text;
You stare at the screen a little longer than you should.
<br><br>
Something's shifting. And for once, she’s not pulling away.
@@
<</if>>
<span class="btn-104">
[[Continue|Photoshoot_5]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The sunlight hits Zoe just right as she steps between the café tables — skirt fluttering slightly, that green lace top hugging her like a whispered promise.
<br><br>
She stops and looks over her shoulder.
@@
<<say "zoeb" "Tell me this doesn’t scream 'I accidentally fell in love at brunch.'" >>
<<say "player" "You’re going to crash brunch menus everywhere." >>
<<say "zoeb" "Then you better make sure they know who took the photo." >>
@@.narration-text;
She poses between tables, fingers touching the hem of her skirt, a natural smile tugging at her lips.
<br><br>
You raise the camera.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '009.jpg'" alt="Prologue photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("009.jpg")>>
@@.narration-text;
Click.
<br><br>
She doesn’t move right away. Just watches you lower the camera.
@@
<<say "zoeb" "You’re always so quiet behind the lens. What do you think about when you shoot me?" >>
<<say "player" "Mostly how not to mess it up." >>
<<say "zoeb" "And the rest of the time?" >>
@@.narration-text;
She steps toward a sunnier spot, the yellow umbrella behind her casting a golden glow over her bare shoulders.
<br><br>
She doesn’t pose this time. She just looks at you.
<br><br>
And you click.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '010.jpg'" alt="Prologue photo 10">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("010.jpg")>>
@@.narration-text;
Click.
<br><br>
Her smile lingers longer this time.
<br><br>
And in that moment, it’s no longer just a photo. It’s a memory in the making.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe spins once in the middle of the café walkway, almost knocking into a chair.
@@
<<say "zoeb" "Okay, this might be my favorite outfit yet." >>
<<say "player" "It’s the 'I run a lifestyle blog and know where to get the best matcha' look." >>
<<say "zoeb" "Perfect! That’s exactly what I’m going for." >>
@@.narration-text;
She slips between the tables, then stands with her legs apart slightly, hands just brushing her skirt.
<br><br>
You give her a nod.
@@
<<say "player" "Hold it. That’s the shot." >>
<div class="photoshoot-result">
<img @src="$_level1Path + '009.jpg'" alt="Prologue photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("009.jpg")>>
@@.narration-text;
Click.
<br><br>
She relaxes, then tosses her hair and lifts her chin confidently.
@@
<<say "zoeb" "It’s kinda wild how normal this feels now. Remember when I couldn’t even look at a camera?" >>
<<say "player" "Now you command the frame. It’s like second nature." >>
<<say "zoeb" "Credit where it’s due. I’ve got the best hype team in the biz." >>
@@.narration-text;
She finds a sunny spot near the patio railing, her body angled just slightly, one foot forward — completely in her element.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '010.jpg'" alt="Prologue photo 10">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("010.jpg")>>
@@.narration-text;
Click.
<br><br>
You both look at the preview together.
@@
<<say "zoeb" "I’d follow me. Wouldn’t you?" >>
<<say "player" "Already do." >>
@@.narration-text;
She beams.
<br><br>
Not just for the camera.
<br><br>
For you.
@@
<<elseif $_status == "distant">>
@@.narration-text;
Zoe adjusts the buttons on her skirt, then takes a few steps along the edge of the café patio — slow, deliberate.
<br><br>
She pauses.
@@
<<say "zoeb" "This okay?" >>
<<say "player" "More than okay. Don’t move." >>
@@.narration-text;
You lift the camera.
<br><br>
For a moment, she doesn’t pose — she just lets herself *be*.
<br><br>
And you capture it.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '009.jpg'" alt="Prologue photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("009.jpg")>>
@@.narration-text;
Click.
<br><br>
She relaxes — visibly.
<br><br>
Then walks toward a chair under one of the umbrellas, half-shielded by yellow light.
<br><br>
She brushes her hair behind one shoulder.
@@
<<say "zoeb" "Y’know... I used to hate being looked at." >>
<<say "player" "What changed?" >>
<<say "zoeb" "Now I feel like someone’s actually *seeing* me." >>
@@.narration-text;
She holds the gaze — not with the camera. With you.
<br><br>
You steady your hand. And take the shot.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '010.jpg'" alt="Prologue photo 10">
<p class="success">Another great picture!</p>
</div>
<<run $characters['zoeb'].gallery["1"].push("010.jpg")>>
@@.narration-text;
Click.
<br><br>
For the first time, this doesn't feel like a shoot.
<br><br>
It feels like a conversation.
<br><br>
And maybe that’s exactly what she’s been trying to have all along.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_5]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 2000>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 750>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe’s phone is blowing up before she even finishes her coffee. Notifications stack like confetti — comments, likes, DMs.
@@
<<say "zoeb" "Two thousand new followers. Since yesterday." >>
<<say "player" "And not one thirst trap required. I’m impressed." >>
<<say "zoeb" "Excuse me — I *am* the thirst trap." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
She laughs, spinning in a half-circle in your living room, then collapses beside you on the couch.
@@
<<say "zoeb" "This... actually feels good. Like I didn’t trick anyone. I just showed them *me.*" >>
<<say "player" "That’s what they followed. The real you." >>
@@.narration-text;
She stops. Looks at you.
<br><br>
Then, quietly:
@@
<<say "zoeb" "And you were the first one who saw that." >>
@@.narration-text;
You don’t say anything — you just take her hand.
<br><br>
And this time, she doesn’t let go.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe's bouncing on her heels when you meet her outside — phone waving in one hand, the other half-typing a reply.
@@
<<say "zoeb" "TWO. THOUSAND. Do you believe this?" >>
<<say "player" "Nope. You’ve clearly been bottling influencer energy in secret." >>
<<say "zoeb" "I’m telling you, this outfit? It *slayed.* We OWNED that patio." >>
@@.narration-text;
She scrolls through her DMs, half-laughing, half in disbelief.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "I’ve got brand requests, local boutiques wanting to collab... like, what is happening?" >>
<<say "player" "What’s happening is you're catching fire. And it's fun to watch." >>
<<say "zoeb" "Fun to *live*, too. Honestly... I don’t think I’d be this far without you." >>
@@.narration-text;
She nudges you playfully, then holds her phone up like a trophy.
@@
<<say "zoeb" "Okay, Team Zoe is officially trending upward." >>
<<say "player" "Glad to be drafted." >>
<<elseif $_status == "distant">>
@@.narration-text;
You glance over and see Zoe frozen mid-scroll, lips parted, thumb hovering over her phone.
@@
<<say "player" "Good news?" >>
<<say "zoeb" "...I gained two thousand followers." >>
<<say "player" "...Seriously?" >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "Dead serious. And they’re not bots. Real people. Comments, DMs, reposts... I—" >>
@@.narration-text;
She trails off, voice catching on the edge of disbelief.
@@
<<say "zoeb" "I didn’t think anyone would ever *care* what I posted." >>
@@.narration-text;
You exhale. The moment stretches. Feels heavier than usual.
@@
<<say "player" "Zoe... I owe you an apology." >>
<<say "zoeb" "For what?" >>
<<say "player" "For doubting you. For thinking this was just... vanity or desperation. I didn’t get it then. But I do now." >>
<<say "zoeb" "...Thank you." >>
@@.narration-text;
She looks down, then back up — and for the first time, there’s *no wall* in her expression.
@@
<<say "zoeb" "Honestly? I wasn’t just scared of the internet. I was scared no one would ever believe I was worth seeing." >>
<<say "player" "I believe it. And I’m here. If this ride keeps going, I’ve got your back." >>
@@.narration-text;
She smiles — warm, full, and honest.
@@
<<say "zoeb" "Okay then. Let’s make it official." >>
@@.narration-text;
She extends a hand like you're sealing a pact.
@@
<<say "zoeb" "Team Zoe. No more walls." >>
<<say "player" "Deal." >>
@@.narration-text;
And just like that, the distance fades.
<br><br>
From this moment forward, it’s not “distant” anymore — it’s *friendly*.
<br><br>
And you both know it.
@@
<<set $characters['zoeb'].relationshipStatus = "friendly">>
<</if>>
<span class="btn-104">
[[Continue|event1]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe swirls a glass of rosé in her hand as you sit across from her. She’s curled up on the couch in soft, patterned pants and a white tee that clings in all the right ways.
@@
<div class="event-image-container">
<img src="img/npc/zoeb/events/e1_001.jpg" alt="Zoe on the couch with a glass of wine">
</div>
<<say "zoeb" "Okay. I’ve been thinking." >>
<<say "player" "About the next shoot?" >>
<<say "zoeb" "Mmhm. I want to shift gears a little. Not drastic. Just... more *me*, but confident-me. Less 'look at me,' more 'this is how I feel.'" >>
@@.narration-text;
She takes a sip, watching you over the rim of her glass.
@@
<<say "zoeb" "Something like this." >>
@@.narration-text;
She gestures at herself — not in a showy way. Just quiet certainty.
@@
<<say "zoeb" "It’s soft. Chill. But I feel pretty in it. Strong, even." >>
<<say "player" "So, bold through mood — not just style." >>
<<say "zoeb" "Exactly. Not revealing. Just... real. Vulnerable, maybe. But still classy." >>
@@.narration-text;
You nod slowly, understanding this isn’t just about a look — it’s about trust.
@@
<<say "player" "Then let’s shoot it that way. You, unfiltered." >>
<<say "zoeb" "...With good lighting." >>
<<say "player" "Of course. I have standards." >>
@@.narration-text;
She smiles, more relaxed than you’ve seen her in a while.
And you wonder if maybe this *is* her boldest move yet — being completely herself.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
You find Zoe already on the couch when you arrive — barefoot, holding a half-full glass of wine, wearing loose patterned pants and a fitted white top.
@@
<div class="event-image-container">
<img src="img/zoeb/events/e1_001.jpg" alt="Zoe on the couch with a glass of wine">
</div>
<<say "zoeb" "I wanted to test a vibe. Casual, but... grown." >>
<<say "player" "You mean chill-glam?" >>
<<say "zoeb" "Exactly. Something soft. But still with edge." >>
@@.narration-text;
She shifts, letting her hair fall over her shoulder.
@@
<<say "zoeb" "I don’t want the next shoot to scream ‘sexy.’ I want it to whisper confidence." >>
<<say "player" "This is definitely whispering. In a good way." >>
<<say "zoeb" "Think... lounge energy. A little skin. A lot of story. Like I’m inviting people into my space, not just my feed." >>
@@.narration-text;
You nod, imagining how the photos might frame her here — natural light, relaxed posture, just enough elegance to make people pause.
@@
<<say "player" "So not just changing your wardrobe — you’re changing the mood." >>
<<say "zoeb" "Exactly. I want to be noticed for *how* I show up, not how much I show." >>
@@.narration-text;
You raise your glass.
@@
<<say "player" "To boldness by way of quiet confidence." >>
<<say "zoeb" "Cheers to that." >>
@@.narration-text;
The clink of glasses is soft — but somehow, it still feels like a turning point.
@@
<</if>>
<span class="btn-104">
<<link "Let's get to work" "Photoshoot_6">>
<<set $characters['zoeb'].photoLevels["2"].unlocked = true>>
<<set $tempCharId = 'zoeb'>>
<</link>>
</span><<set $_char = $characters['zoeb']>>
<<set $_level2Path = $_char.imgPath + $_char.photoLevels["2"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The lake catches the last stretch of golden light as Zoe steps onto the grass, her running outfit sleek and form-fitting. Her tank top hugs close, shorts resting high on her legs. Her hair’s tied up loosely — polished but real.
@@
<<say "zoeb" "Let’s show them strong can be soft too." >>
@@.narration-text;
She poses with both hands on her hips, the wind catching the curve of her profile as you snap frame after frame. She stretches one arm overhead, confidence radiating from every movement.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '001.jpg'" alt="Level 2 Photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("001.jpg")>>
@@.narration-text;
Click. Click. Click.
<br><br>
Then she smirks, stepping slightly forward, tugging her shorts just a bit higher — bold, teasing, but in control.
@@
<<say "zoeb" "This one’s for the ‘engagement metrics’ you love so much." >>
<div class="photoshoot-result">
<img @src="$_level2Path + '002.jpg'" alt="Level 2 Photo 2">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("002.jpg")>>
@@.narration-text;
Your camera lowers slightly, caught for a second in the mood. Not because of the pose — but because of her gaze. Direct. Intentional.
<br><br>
She doesn’t need to try.
<br><br>
She already owns the frame.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
The lake breeze rustles the tall grass as Zoe jogs lightly in place, settling into the shoot. She’s in full fitness mode — tight tank, fitted shorts — but the look in her eye is playful.
@@
<<say "zoeb" "Okay — cardio queen or chaotic energy?" >>
<<say "player" "Let’s go with ‘influencer on a mission.’" >>
@@.narration-text;
She laughs and strikes a pose, hands on her hips, gaze steady, one foot turned slightly like she’s ready to sprint.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '001.jpg'" alt="Level 2 Photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("001.jpg")>>
@@.narration-text;
Click.
<br><br>
She then adjusts her shorts, tugging them up slightly with an exaggerated wink at the lens.
@@
<<say "zoeb" "Gotta give the algorithm something to chew on." >>
<div class="photoshoot-result">
<img @src="$_level2Path + '002.jpg'" alt="Level 2 Photo 2">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("002.jpg")>>
@@.narration-text;
Click.
<br><br>
After a few more shots, she walks over, scrolling through your camera preview.
@@
<<say "zoeb" "Okay, not gonna lie — I *love* how those turned out." >>
<<say "player" "Strong. Playful. Totally your vibe." >>
<<say "zoeb" "Exactly. Feels like I’m not just posing anymore. I’m... showing up." >>
@@.narration-text;
She grins, already thinking about the caption.
<br><br>
And for once, it doesn’t feel like she's chasing trends — it feels like she’s starting one.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_6]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 4000>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 2000>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe’s phone buzzes nonstop — the screen a blur of notifications, follows, shares, and comments.
<br><br>
She’s on the floor, half-laughing, half in shock.
@@
<<say "zoeb" "Four. Thousand. People. *Today.*" >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "You're trending." >>
<<say "zoeb" "I'm not used to this many strangers knowing my name... and liking what they see." >>
@@.narration-text;
She looks at you — eyes wide, but glowing.
@@
<<say "zoeb" "Do you think I went too far?" >>
<<say "player" "No. I think you went exactly far enough to be *seen.*" >>
<<say "zoeb" "Then I’m glad you were the one behind the lens." >>
@@.narration-text;
She leans her head against your shoulder. No words. No filter. Just warmth.
<br><br>
This isn’t just about photos anymore.
<br><br>
It’s about *who she’s becoming* — and the part you’re playing in it.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s pacing back and forth, phone in hand, her voice somewhere between excitement and disbelief.
@@
<<say "zoeb" "Four. THOUSAND. Followers. Like… I posted, went to make a smoothie, came back and BAM." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "You broke your own record." >>
<<say "zoeb" "It’s wild. They’re all like, ‘🔥 queen,’ and ‘inspo vibes’ and some guy made a *GIF* of my pose!" >>
<<say "player" "You know you've made it when you become a reaction meme." >>
@@.narration-text;
She plops onto the couch, still scrolling.
@@
<<say "zoeb" "I thought bold might backfire. I thought people would think I was trying too hard." >>
<<say "player" "But you didn’t try. You *owned* it." >>
<<say "zoeb" "Yeah... I think I actually did." >>
@@.narration-text;
She looks up at you, and for a second, you see more than excitement — you see pride.
@@
<<say "zoeb" "I finally feel like I'm not just chasing trends. I'm starting to *be* one." >>
<<say "player" "Then I’d say we’re just getting started." >>
<<say "zoeb" "Let’s go even bigger next time." >>
@@.narration-text;
You nod, and she flashes you a grin that’s pure fire.
<br><br>
The climb isn’t over — it’s just kicked into high gear.
@@
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_7]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance",
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe paces your living room, barefoot, holding her phone like it might launch sparks.
@@
<<say "zoeb" "So… you saw how well that last one did, right?" >>
<<say "player" "You mean the four thousand people suddenly obsessed with you? Yeah. Kinda hard to miss." >>
<<say "zoeb" "I was nervous. But it felt... right. Not fake. Not forced. Just *me*, with confidence." >>
@@.narration-text;
She stops in front of you, eyes bright but unsure.
@@
<<say "zoeb" "So I wanna push it again. A little more. Something bold — but classy. Feminine. Like... flirty without being too loud." >>
<<say "player" "And let me guess. You already picked the outfit." >>
<<say "zoeb" "White. Short. Soft fabric, but it pops. What do you think?" >>
@@.narration-text;
She holds it up with both hands, waiting for your reaction. It’s pretty — light and flowing — but it hugs just right.
@@
<<say "player" "It’s... perfect." >>
<<say "zoeb" "You’ll make it look perfect." >>
@@.narration-text;
There’s a long pause where neither of you speaks — not because there's nothing to say, but because everything’s already in the look between you.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe flops onto your couch, legs crossed, phone already open to a Pinterest board full of pastel fabrics and soft filters.
@@
<<say "zoeb" "Okay, hear me out: we go for something bold again. Not like workout-bold — more… cute-bold." >>
<<say "player" "You’re inventing a new genre." >>
<<say "zoeb" "Yup. Call it ‘Confident Casual.’ Light colors, fitted, a bit of leg — but keep it tasteful." >>
@@.narration-text;
She holds up a white outfit on a hanger — short, flowy, delicate straps.
@@
<<say "zoeb" "What do you think? Too much?" >>
<<say "player" "Not at all. It’s fun. And you’ve got the energy for it." >>
<<say "zoeb" "You’ll help me not go overboard, right?" >>
<<say "player" "As long as I still get to do lighting and captions." >>
<<say "zoeb" "Deal." >>
@@.narration-text;
She’s already pulling out her makeup bag, humming something under her breath.
<br><br>
This one feels different — lighter, but still part of something bigger. She's not just following the algorithm.
<br><br>
She’s shaping it.
@@
<</if>>
<span class="btn-104">
[[Continue|Photoshoot_7]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level2Path = $_char.imgPath + $_char.photoLevels["2"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The soft light from the living room lamp catches Zoe’s figure as she stands by the couch in that crisp white outfit. The fabric dances with every step — sweet, but undeniably striking.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '003.jpg'" alt="Level 2 Photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("003.jpg")>>
@@.narration-text;
She holds the pose, arms behind her, arching just enough for the dress to shift.
@@
<<say "zoeb" "You know how to make a girl feel like she’s on a magazine cover, right?" >>
<<say "player" "You're making the job pretty easy." >>
@@.narration-text;
But her smile lingers just a bit too long. Her gaze doesn’t leave yours between photos like it used to.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '004.jpg'" alt="Level 2 Photo 4">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("004.jpg")>>
@@.narration-text;
Click.
<br><br>
She walks past you to check the shots on the camera screen — her fingers grazing your wrist for just a second longer than needed.
@@
<<say "zoeb" "These look good... but do *you* like them?" >>
@@.narration-text;
You nod, but she doesn’t look away.
@@
<<say "zoeb" "Because sometimes I wonder if the likes matter as much as yours." >>
@@.narration-text;
She turns, smoothing the edge of her dress — not to adjust it, but to keep from saying more.
<br><br>
Something’s shifting. The playful energy is still there, but underneath… she wants to be seen by you, not just the lens.
<br><br>
And the camera’s not the only thing catching the heat.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe does a twirl on the rug, laughing as her dress flutters mid-spin.
@@
<<say "zoeb" "Okay, this outfit may look like napwear, but it feels surprisingly powerful." >>
<<say "player" "You’re redefining cozy-core influencer vibes." >>
@@.narration-text;
She shoots you finger guns and strikes a bold pose next to the couch.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '003.jpg'" alt="Level 2 Photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("003.jpg")>>
@@.narration-text;
Click.
<br><br>
Then she softens it — hands folded in front, a quieter smile.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '004.jpg'" alt="Level 2 Photo 4">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("004.jpg")>>
@@.narration-text;
Click.
<br><br>
She hops over to see the camera screen, tilting her head.
@@
<<say "zoeb" "These feel a little different... like I’m finally relaxed in front of the lens." >>
<<say "player" "Because you're not performing anymore — you're just being Zoe." >>
<<say "zoeb" "Is that a compliment or a pitch for my bio?" >>
<<say "player" "Both." >>
@@.narration-text;
She elbows you gently, beaming.
<br><br>
This isn’t about pressure or proving anything now — it’s a creative rhythm. Comfortable. Empowered. The kind of shoot that feels like progress.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_7]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 5000>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 2500>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe’s sitting cross-legged on the couch, phone in hand, jaw slightly open. You watch her thumb pause over the screen — then slowly scroll up.
@@
<<say "zoeb" "Five. Thousand. *In one night.*" >>
<<say "player" "You're officially unstoppable." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
She lets out a soft laugh but doesn’t take her eyes off you.
@@
<<say "zoeb" "No, I’m not. Not without you." >>
@@.narration-text;
She sets the phone down on the cushion beside her. The buzz of it vibrating continues — more likes, more DMs — but she doesn’t care right now.
@@
<<say "zoeb" "Everyone online thinks they know me now." >>
<<say "player" "Do they?" >>
<<say "zoeb" "Not the real me. But you do. That’s what makes this feel different." >>
@@.narration-text;
There’s a beat of silence before she leans in, closer than before — no teasing smile this time.
@@
<<say "zoeb" "You see me through the lens… but I want you to see me *without* it too." >>
@@.narration-text;
The moment hangs there — soft, electric. And this time, she doesn’t pull away.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s voice comes from the hallway before she even enters the room.
@@
<<say "zoeb" "You. Are. Not. Going. To. Believe. This." >>
@@.narration-text;
She half-jogs in, holding her phone like it’s glowing.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "zoeb" "Five thousand new followers. Five thousand! I had to check if the app was glitching!" >>
<<say "player" "You’re in the algorithm’s good graces now." >>
<<say "zoeb" "No, this one was us. That shoot? The outfit? The angles? The vibe? We nailed it." >>
@@.narration-text;
She spins dramatically on the rug and flops onto the couch, scrolling her exploding notifications.
@@
<<say "zoeb" "And you know what? I didn’t even feel scared this time. Just… in control." >>
<<say "player" "That’s the confidence kicking in. Told you it’d show up." >>
<<say "zoeb" "And to think, I was crying in this very room about not cracking 100." >>
@@.narration-text;
She nudges your foot with hers, playful.
@@
<<say "zoeb" "Let’s plan the next one soon. We’ve got a wave to ride." >>
@@.narration-text;
You nod, already mentally sketching out locations and colors.
<br><br>
Zoe’s not just growing — she’s glowing. And you’re right there with her.
@@
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_8]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe’s sitting sideways on the arm of your couch, her phone in one hand, the other tapping against her leg with barely contained energy.
@@
<<say "zoeb" "Okay, so… I had this idea for the next shoot. A little more skin, but still soft. Playful. Like… *suggestive,* not shouty." >>
@@.narration-text;
You raise an eyebrow. She smirks.
@@
<<say "zoeb" "I know that look. Don’t worry. It’s not about shock value. I just wanna *own* this next one. Give them confidence, not clickbait." >>
<<say "player" "What are we thinking? Location? Style?" >>
<<say "zoeb" "Simple space. Indoors. Something minimal — clean background, soft tones, white, denim, bare feet. Let the outfit pop." >>
<<say "player" "So the vibe is: ‘girl-next-door who just realized she’s kinda unstoppable’?" >>
<<say "zoeb" "Exactly!" >>
@@.narration-text;
She swings her legs down, nudging her knee lightly against yours as she leans in to show you the reference photos.
@@
<<say "zoeb" "Also… you don't think it's too much, right? The top’s kind of..." >>
<<say "player" "It’s perfect. You're not pushing it — you're leading it." >>
@@.narration-text;
Her lips curl into a soft smile, eyes lingering on you a second longer than needed.
@@
<<say "zoeb" "Then let's make this one unforgettable." >>
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe sits cross-legged on your floor, back against the couch, her phone screen glowing with mood board pics.
@@
<<say "zoeb" "I’m thinking something more natural this time. Casual light, neutral colors, maybe a little playful with the outfit — but still me." >>
<<say "player" "Got a specific look in mind?" >>
<<say "zoeb" "Yeah. That cream lace top I love and my high-cut denim shorts. No heels, just barefoot. Like a spontaneous shoot at home, only planned to *look* spontaneous." >>
<<say "player" "So basically, controlled chaos — influencer edition." >>
<<say "zoeb" "Exactly!" >>
@@.narration-text;
She scrolls down to another image.
@@
<<say "zoeb" "Also… I want the focus to be more on expressions. I’m learning it’s not just what you wear, it’s how you *wear it.* You know?" >>
@@.narration-text;
You nod, already picturing the setup.
@@
<<say "player" "Then we’ll keep it light. Natural light, neutral tones, and you being totally Zoe." >>
<<say "zoeb" "That’s the brand now, huh?" >>
@@.narration-text;
She grins.
<br><br>
<<say "zoeb" "Okay. Let’s shoot this tomorrow before I second guess it all." >>
@@
<</if>>
<span class="btn-104">
[[Continue|Photoshoot_8]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level2Path = $_char.imgPath + $_char.photoLevels["2"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
You adjust the lighting for the room’s soft tone. Zoe steps in, her outfit exactly as discussed: cream lace top hugging her frame, high-cut denim shorts casually undone at the waist — confident, comfortable... and calculated.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '005.jpg'" alt="Level 2 Photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("005.jpg")>>
@@.narration-text;
She moves with deliberate ease — the kind that isn’t meant for the camera, but for you.
@@
<<say "zoeb" "Tell me when I look too good to post." >>
@@.narration-text;
You chuckle.
@@
<<say "player" "That’s not even possible.">>
@@.narration-text;
She laughs, then holds her gaze a moment too long. It’s playful — but under that, something else.
<br><br>
You lift the camera. She leans forward, resting her hand on the back of a chair, twisting at the waist just slightly.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '006.jpg'" alt="Level 2 Photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("006.jpg")>>
@@.narration-text;
Click.
<br><br>
Then she shifts again — tugging gently at the waistband of her shorts, smiling as if you’re the only person in the room.
@@
<<say "zoeb" "You’re not saying much." >>
<<say "player" "I’m focused." >>
@@.narration-text;
She nods, but her lips part — like she was about to say something more… and didn’t.
<br><br>
The shoot continues. But you can feel it — a weight behind every glance, every pose. She's saying something without speaking, and you’re not quite catching it.
<br><br>
Not yet.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe slips into the frame, barefoot, twirling once in the lace top and denim shorts combo. It’s bold, sure — but she’s grinning the whole time. Nothing forced.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '005.jpg'" alt="Level 2 Photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("005.jpg")>>
<<say "zoeb" "Alright, this is either my most confident look yet or I forgot how buttons work." >>
<<say "player" "Let’s say it’s the first one and shoot fast." >>
@@.narration-text;
She strikes a solid pose next to the door, arms relaxed, that warm smirk making the camera love her.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '006.jpg'" alt="Level 2 Photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("006.jpg")>>
@@.narration-text;
The vibe stays upbeat. No tension. No second guessing. Just a model who’s figuring herself out, and a friend who’s here for it.
@@
<<say "zoeb" "You think it’s too much?" >>
<<say "player" "Nope. It's perfect for this shoot. And more importantly — you're owning it." >>
@@.narration-text;
She beams at that.
@@
<<say "zoeb" "You always know what to say when I’m second-guessing myself." >>
<<say "player" "That’s what I’m here for, Zoe." >>
@@.narration-text;
Another snap. Another laugh. She tosses her hair back, then winks into the lens. Confident. Unapologetic.
<br><br>
And totally in control.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_8]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 7000>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 3000>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The next morning, your phone buzzes.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Check your Insta. NOW.
</div>
</div>
</div>
@@.narration-text;
You open her profile. Your thumb freezes mid-scroll.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
...Seven. Thousand?
</div>
<div class="chat-bubble player">
SEVEN. THOUSAND. OVERNIGHT.
</div>
</div>
</div>
@@.narration-text;
Her next message comes with a flurry of heart emojis and fire symbols.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
You said it wasn’t too much. You were right. They’re LOVING it.
</div>
</div>
</div>
@@.narration-text;
A second later, your doorbell rings.
<br><br>
You open it — and there she is, breathless, phone still in hand.
<br><br>
She doesn’t even say anything. Just pulls you into the tightest hug yet — body pressed close, her cheek warm against yours.
@@
<<say "zoeb" "I didn’t think I could do this. But you… you saw this in me before I did." >>
@@.narration-text;
You’re frozen. She’s not letting go.
<br><br>
And when she finally leans back, eyes searching yours, there’s no way you could miss it this time.
<br><br>
She isn’t just celebrating followers.
<br><br>
She’s celebrating *you.*
@@
<<elseif $_status == "friendly">>
@@.narration-text;
You hear the chime before you even finish your coffee.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
DUDE. Seven. Thousand. New. Followers.
</div>
</div>
</div>
@@.narration-text;
You almost spill your cup.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
You’re joking.
</div>
<div class="chat-bubble npc">
NOPE. I refreshed twice to make sure. This shoot just blew UP.
</div>
</div>
</div>
@@.narration-text;
You hop over to her page — and yeah, it’s real.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
You hop over to her page — and yeah, it’s real.
<br><br>
Comment sections overflowing. Shares climbing. Her DMs probably on fire.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
This is the post that turned it. I *felt* it yesterday — and now it’s fact.
</div>
<div class="chat-bubble player">
That’s what happens when you stay real and show some edge. The combo works.
</div>
<div class="chat-bubble npc">
It’s more than that. I think it’s how I *felt* while doing it. Like... confident in my own weird little way.
</div>
</div>
</div>
@@.narration-text;
You grin. Zoe’s always had it in her. The numbers just caught up to her light.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Thank you. Like seriously — I never thought I’d get this far.
</div>
<div class="chat-bubble player">
You’re just getting started.
</div>
</div>
</div>
@@.narration-text;
She sends a thumbs-up emoji. Then a little spark emoji. Then a popcorn gif.
<br><br>
Classic Zoe.
@@
<</if>>
<span class="btn-104">
[[Continue|Unknown_Contact]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level2Path = $_char.imgPath + $_char.photoLevels["2"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
<div class="photoshoot-result">
<img @src="$_level2Path + '005.jpg'" alt="Level 2 Photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("005.jpg")>>
<div class="photoshoot-result">
<img @src="$_level2Path + '006.jpg'" alt="Level 2 Photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("006.jpg")>>
<<elseif $_status == "friendly">>
<div class="photoshoot-result">
<img @src="$_level2Path + '005.jpg'" alt="Level 2 Photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("005.jpg")>>
<div class="photoshoot-result">
<img @src="$_level2Path + '006.jpg'" alt="Level 2 Photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("006.jpg")>>
<</if>>
<span class="btn-104">
[[Check the results| ]]
</span>
@@.narration-text;
Your phone buzzes — a message from an unknown number.
“Hey! :) This is kind of random, but I hope it’s okay I’m texting you.”
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Unkown contact</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Hey! My name's Alicia — I think you worked with Zoe, right? I’ve been following her for a while and… wow.
</div>
<div class="chat-bubble player">
Yeah, I’ve helped her out here and there. Why?
</div>
<div class="chat-bubble npc">
Because in like… two months she went from *nothing* to blowing up. The photos, the vibe — it’s really polished but still real?
</div>
<div class="chat-bubble npc">
Sorry, I’m fangirling a bit 🙈
</div>
<div class="chat-bubble player">
It’s okay. She’s been working hard. She’s got that spark.
</div>
<div class="chat-bubble npc">
Exactly! I just started taking my page seriously and I’d *love* to learn from someone who helped build something like that.
</div>
<div class="chat-bubble npc">
No pressure! But if you ever had time to maybe… chat? Or give some advice? I’d really appreciate it.
</div>
<div class="chat-bubble player">
We can talk. Let’s see what you’re working with.
</div>
<div class="chat-bubble npc">
Really?! Omg thank you 🙏 I’ll send over my profile in a sec. You’re awesome.
</div>
</div>
</div>
@@.narration-text;
A moment later, a link to her Insta drops into your messages.
Alicia: bright, bubbly, and clearly trying — but still rough around the edges.
<br><br>
You recognize that early hustle.
<br><br>
The question is…
Are you ready to help someone else climb?
@@
<span class="btn-104">
[[Let's check with Zoe|Alice_join]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
<<if $_status == "romance">>
@@.narration-text;
You type casually:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Hey — someone messaged me earlier. A girl named Alice. Said she saw your profile and wanted some help."
</div>
</div>
</div>
@@.narration-text;
There’s a pause.
<br><br>
Then three dots. Then nothing.
<br><br>
Then finally—
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Oh.
</div>
<div class="chat-bubble npc">
Just figured I’d mention it before saying yes.
</div>
</div>
</div>
@@.narration-text;
Another delay.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
So now you’re managing other girls too?
</div>
<div class="chat-bubble player">
It’s not like that. She just asked for advice.
</div>
<div class="chat-bubble npc">
Right. Advice. Totally harmless. Just another random girl who thinks you’re magic.
</div>
</div>
</div>
@@.narration-text;
You reread the message. That wasn’t sarcasm.
<br><br>
That was jealousy.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Do whatever you want. You’re not mine.
</div>
</div>
</div>
<div class="prologue-choices">
<span class="btn-104">
<<link "Reassure her" "Zoe_Jealous">>
<<set $characters['zoeb'].relationshipStatus = "romance">>
<</link>>
</span>
<span class="btn-104">
<<link "Play it cool" "Zoe_Jealous">>
<<set $characters['zoeb'].relationshipStatus = "friendly">>
<</link>>
</span>
</div>
<<elseif $_status == "friendly">>
@@.narration-text;
You text Zoe:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Hey, random question — you cool if I help another model out? A girl named Alice messaged me after seeing your page blow up." >>
</div>
</div>
</div>
@@.narration-text;
She replies almost instantly.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Wait. Someone reached out because of ME?!
</div>
<div class="chat-bubble player">
Yeah, she’s super new. Just starting out.
</div>
<div class="chat-bubble npc">
That’s kinda adorable. And awesome.
</div>
</div>
</div>
@@.narration-text;
She sends a line of sparkle emojis, followed by:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
You should totally help her! We all start somewhere, right? Lemme know if she needs any tips too — I’ve got a few bruises from learning the hard way."
</div>
<div class="chat-bubble player">
I knew you’d say that.
</div>
<div class="chat-bubble npc">
What can I say? We’re a team now. Team Algorithm Busters™.
</div>
</div>
</div>
@@.narration-text;
She sends a goofy selfie — a wink, a peace sign, and a “Team Zoe + Alicia + $player ?” scribbled in digital marker across her forehead.
@@
<span class="btn-104">
[[Continue|Pre_Shoot_9]]
</span>
<</if>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
You’re scrolling through your feed when a message from Zoe pops up.
It’s short — unusually short for her.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Hey… if you’re not busy, can you come over for a bit?"
</div>
<div class="chat-bubble player">
Everything okay?"
</div>
<div class="chat-bubble npc">
Yeah. I just… want to talk through the next post."
A lot on my mind.
</div>
</div>
</div>
@@.narration-text;
She doesn’t say more.
<br><br>
You stare at the screen a moment longer than necessary. You can’t read her tone, but you feel something under the surface. Like she wants to say more — but won’t over text.
<br><br>
You grab your jacket. You’re halfway out the door before even responding.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Your phone buzzes with a familiar name and two emojis:
🧠📸
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Thinkin' time. Come over if you’re free?"
</div>
<div class="chat-bubble player">
Shoot ideas?
</div>
<div class="chat-bubble npc">
Yep. I wanna try something new — got a vibe in mind. Bring the brain and the lens.
</div>
</div>
</div>
@@.narration-text;
She sends a GIF of someone dramatically adjusting sunglasses and nodding in slow motion.
<br><br>
Classic Zoe.
<br><br>
You toss your keys in your pocket and head out the door — whatever she’s cooking up, you’re ready for it.
@@
<</if>>
<span class="btn-104">
[[Continue|Prologue_part_2_prep]]
</span>
<<set $characters['alicem'].managed = "true">>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe paces near the window, holding her phone loosely as you walk in. She barely waits for the door to click shut.
@@
<<say "zoeb" "So, about the next shoot…">>
@@.narration-text;
She spins to face you, her eyes searching yours more than usual. There’s a quiet tension in the air. Not uncomfortable — more like anticipation.
@@
<<say "player" "You’ve got an idea?" >>
@@.narration-text;
She nods, biting her lip.
@@
<<say "zoeb" "I want to keep that soft, flirty vibe we had last time. But maybe... lean into it just a *bit* more." >>
<<say "player" "You mean, something bolder?" >>
<<say "zoeb" "Still classy! Always classy. But yeah, playful. Something that feels... a little more *me*, a little more us." >>
@@.narration-text;
She gives you a look. One you’ve seen flash during a shoot but never this close. It lingers, just a second too long.
@@
<<say "zoeb" "What do you think? Just us again — no distractions." >>
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe is already rearranging props in her room when you arrive — hangers, pastel tops, and a pink throw blanket are spread across her bed.
@@
<<say "zoeb" "Hey! Okay, I’ve been thinking about the next vibe." >>
<<say "player" "You’ve got that look in your eyes again." >>
<<say "zoeb" "Bold, but cute. I found this skirt — super girly. I’m thinking we shoot something light, fun, and totally Insta-captivating." >>
<<say "player" "Flirty and playful but still you?" >>
<<say "zoeb" "Exactly! No overthinking, no filters. Just good lighting, a bit of attitude, and boom — something the algorithm can’t ignore." >>
@@.narration-text;
She tosses a scrunchie at you playfully.
@@
<<say "zoeb" "We’ll keep it comfortable, but I’m down to experiment a little. Think you can handle that, coach?" >>
@@.narration-text;
You give her a mock salute, already picturing the next setup.
@@
<</if>>
<span class="btn-104">
[[Continue|Photoshoot_9]]
</span>
<<set $_char = $characters['zoeb']>>
<<set $_level2Path = $_char.imgPath + $_char.photoLevels["2"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The light from Zoe’s window bathes the room in a soft glow. She steps into frame wearing the pink skirt and white crop top — delicate and dangerously charming. Her eyes flick toward you before each pose, like she's checking if you're watching.
<br><br>
She starts off playful — a few cute over-the-shoulder shots, a sweet grin — but there’s a shift. A moment when her fingers trail the hem of her skirt just a little longer. Her smile softens. It's not for the camera anymore.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '007.jpg'" alt="Level 2 Photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("007.jpg")>>
<<say "player" "Try that again — tilt your chin up a little.">>
<<say "zoeb" "Like this?" >>
@@.narration-text;
Her voice is quieter. Closer. She's moving differently now — less model, more… something else.
<br><br>
You snap the next photo a little late.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '008.jpg'" alt="Level 2 Photo 8">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("008.jpg")>>
<<say "player" "Yeah… that’s good.">>
@@.narration-text;
Zoe steps out of frame, brushing past you — close enough to feel the warmth off her skin.
@@
<<say "zoeb" "You always say that. But… am I good because of the photo or... because of how I look to you?" >>
@@.narration-text;
There’s a second where neither of you speaks. The silence is thick with something new — unspoken, but undeniably there.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe twirls once and stops in the center of the room, laughing as she nearly knocks over a lamp.
@@
<<say "zoeb" "Okay, I feel like a strawberry cupcake. Let’s make it work." >>
@@.narration-text;
You chuckle as you lift your camera, adjusting the lens.
@@
<<say "player" "You’ve never looked more influencer-core in your life." >>
@@.narration-text;
She strikes a few confident poses — hands on hips, a cheeky smile, a hair flip. You guide her posture slightly with calm, familiar instructions. You both fall into a rhythm.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '007.jpg'" alt="Level 2 Photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("007.jpg")>>
<<say "zoeb" "You think I’m getting better at this, huh?" >>
<<say "player" "No question. You’re glowing today." >>
<div class="photoshoot-result">
<img @src="$_level2Path + '008.jpg'" alt="Level 2 Photo 8">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("008.jpg")>>
@@.narration-text;
She lights up at the compliment, but doesn’t linger on it. Just grins and flicks her ponytail as she resets for another round.
<br><br>
Click. Snap. Laugh. Repeat. Another solid session in the books.
@@
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_9]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 10000>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 5000>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
Zoe’s phone lights up like a slot machine jackpot. Notifications pour in — likes, comments, shares — it’s a flood.
<br><br>
She stares at the screen in disbelief, then slowly turns toward you, wide-eyed and glowing.
@@
<<say "zoeb" "Ten. Thousand. New. Followers." >>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "I know. I just saw the counter jump. That’s insane." >>
@@.narration-text;
She doesn't speak. She just rushes at you — arms flung around your neck, pulling you into the tightest hug yet. But this time… she doesn't let go.
<br><br>
Her fingers stay resting behind your neck. Her forehead presses gently to yours.
@@
<<say "zoeb" "I’m not just happy about the numbers. You get that, right? This means so much more… because of you. Because you believed in me.">>
@@.narration-text;
Her voice wavers slightly, breathless with joy — and something deeper.
@@
<<say "player" "Zoe…">>
@@.narration-text;
You don’t finish the sentence.
<br><br>
Because there’s a look in her eyes — soft, raw, and impossible to ignore — and for the first time, it’s not about the camera or her feed. It’s about you.
<br><br>
And she knows you finally see it.
@@
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe squeals — like, actual squeals — as she throws herself across the couch with her phone held high in the air.
@@
<<say "zoeb" "TEN. THOUSAND. NEW. FOLLOWERS!">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<<say "player" "I thought your phone was gonna combust from all those notifications." >>
@@.narration-text;
She holds the screen out for you to see — endless hearts, comments, tags. A whirlwind of engagement.
@@
<<say "zoeb" "I can't believe this. I mean, I *hoped*, but I didn’t actually think we’d blow up this fast!" >>
<<say "player" "You put in the work, Zoe. I just aimed the camera." >>
@@.narration-text;
She beams, practically bouncing on the cushions.
@@
<<say "zoeb" "Okay, okay — but we’re a team, yeah? I couldn’t have done this without you." >>
@@.narration-text;
She lifts her hand and you meet it with a satisfying high five. The kind that stings a little.
<br><br>
No tension. No awkwardness. Just two friends riding a wave of unexpected success.
@@
<<elseif $_status == "distant">>
<</if>>
<span class="btn-104">
[[Continue|Event_2]]
</span>@@.narration-text;
Your phone buzzes. Again.
<br><br>
It’s Alice.
<br><br>
She’s been messaging you on and off since yesterday — excited, nervous, and apparently very eager to start her social media journey with your help.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Sooo... you think tomorrow’s still on? 😄
</div>
<div class="chat-bubble player">
Definitely. You still set on the first shoot idea?
</div>
<div class="chat-bubble npc">
Yup! Casual, fun, and kinda cute. Like 'girl-next-door but knows it' 😉
</div>
</div>
</div>
@@.narration-text;
You can almost picture the smirk behind the emoji.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
I was thinking: dark blue top, belly out, fitted jeans. Thoughts?
</div>
<div class="chat-bubble player">
Sounds good. The natural light in that window spot should pop with that color.
</div>
<div class="chat-bubble npc">
Mmh, love that you notice these things. 😘
</div>
</div>
</div>
@@.narration-text;
You pause. That… wasn’t subtle.
<br><br>
Before you can decide how to reply, another message pings in.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Also — is Zoe okay joining? I don’t wanna step on toes. But if she's chill, I’d actually love her input.
</div>
<div class="chat-bubble player">
Sure, let me loop her in.
</div>
</div>
</div>
<br><br>
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe, Alice, $player </div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-zoeb">
<span class="sender-name">Zoe</span> Hey! Welcome to the chaos 😅 I'm totally down to help! This shoot idea sounds super cute.
</div>
<div class="chat-bubble npc sender-alicem">
<span class="sender-name">Alice</span> Thanks, Zoe! You’re like, goals. Not gonna lie, I stalked your profile and was like: ‘How do I become HER?’ 😍
</div>
<div class="chat-bubble npc sender-zoeb">
<span class="sender-name">Zoe</span> Haha, omg. Trust me — it’s all smoke, mirrors, and good lighting. You’ll kill it.
</div>
<div class="chat-bubble npc sender-alicem">
<span class="sender-name">Alice</span> With your help *and* his eye for pics? I'm in good hands. Very, very good hands...
</div>
</div>
</div>
@@.narration-text;
There’s a beat of silence in the chat. Zoe sends a blinking emoji.
<br><br>
You... probably need to steer this now.
@@
<span class="btn-104">
[[Keep things friendly and professional|aliceShoot_friendly]]
</span>
<br><br>
<span class="btn-104">
[[Flirt back a little|aliceShoot_flirty]]
</span><div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe, Alice </div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Let’s focus on the shoot first. We’ll get you those first 100 followers before we start with any charm tactics 😉
</div>
<div class="chat-bubble npc sender-alicem">
<span class="sender-name">Zoe</span>
Oof, called out 😂 Okay, okay. All business. For now.
</div>
<div class="chat-bubble npc sender-zoeb">
<span class="sender-name">Alice</span>
He’s good at that. Keeping things on track, I mean.
</div>
<div class="chat-bubble npc sender-alicem">
<span class="sender-name">Alice</span>
Mmhmm. We’ll see how long that lasts 😇
</div>
</div>
</div>
@@.narration-text;
The rest of the chat stays upbeat and creative — Alice pitching ideas, Zoe refining them, and you laying out the logistics.
<br><br>
No drama. Just energy and excitement.
@@
<div class="prologue-choices">
<span class="btn-104">
<<link "To the photoshoot" "Photoshoot_alice_1">>
<<set $characters['alicem'].relationshipStatus = "friendly">>
<</link>>
</span>
</div><div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe, Alice </div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Good hands, huh? You haven't even seen me behind the camera yet 😉
</div>
<div class="chat-bubble npc sender-zoeb">
<span class="sender-name">Alice</span>
Guess I’ll have to judge *up close*, then.
</div>
<div class="chat-bubble npc sender-alicem">
<span class="sender-name">Zoe</span>
...
</div>
<div class="chat-bubble npc sender-alicem">
<span class="sender-name">Zoe</span>
Well! I’ll bring the backup lights and a few tips. Focus on making her feel comfortable, okay?
</div>
<div class="chat-bubble npc sender-zoeb">
<span class="sender-name">Alice</span>
Oh, I’m *very* comfortable already.
</div>
</div>
</div>
@@.narration-text;
Zoe doesn't reply immediately, but you sense the tension shift. Alice keeps the tone playful, but it’s clear — she’s testing boundaries.
<br><br>
You’re going to have to be careful navigating this one.
@@
<div class="prologue-choices">
<span class="btn-104">
<<link "To the photoshoot" "Photoshoot_alice_1">>
<<set $characters['alicem'].relationshipStatus = "romance">>
<</link>>
</span>
</div><<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
<<set $_status = $characters['alicem'].relationshipStatus>>
<<if $_status == "romance">>
@@.narration-text;
Zoe’s apartment smells like coffee and camera lenses — a familiar chaos that somehow feels focused when you’re working together.
<br><br>
Today, though, it’s different.
<br><br>
Alice is already there when you arrive. She’s standing in front of the window, hands on her hips, posing like she’s done it a hundred times — even though it’s her first real shoot.
<br><br>
Her dark blue blouse rides just above her waistline, the curve of her confidence on full display.
@@
<<say "alicem" "Took you long enough. Hope the camera's ready, because *I* am." >>
@@.narration-text;
Zoe sits on the couch, one leg tucked under her, quiet. Watching. You can’t read her face.
@@
<<say "player" "You look great. Let’s warm up with a few full-body shots. Natural light’s perfect here." >>
<<say "zoeb" "Try soft shoulders — and lift your chin just slightly." >>
<<say "alicem" "Like this?" >>
@@.narration-text;
She turns toward you as she asks — not Zoe — and her voice lingers.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '001.jpg'" alt="Alice prologue photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("001.jpg")>>
@@.narration-text;
The shoot continues. Alice plays it cool, teasing between takes, brushing past you with little glances. Her confidence is loud, but it's *for* you — not the lens.
<br><br>
Zoe doesn’t say much after that.
<br><br>
She just watches.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '002.jpg'" alt="Alice prologue photo 2">
<p class="success">Another great picture!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("002.jpg")>>
<<elseif $_status == "friendly">>
@@.narration-text;
You and Zoe have the lights set up by the time Alice arrives. She steps inside with a nervous laugh, clutching her phone, her eyes scanning the space.
<br><br>
Her dark blue blouse catches the light just right, and despite her nerves, she plants her hands on her hips with purpose.
@@
<<say "alicem" "Okay. I’m not gonna lie — I’ve never done this before. Like… at all. So if I freeze up, don’t laugh." >>
<<say "zoeb" "No one freezes around us. We’re basically chaos with a ring light." >>
@@.narration-text;
Zoe tosses her a wink. You offer a relaxed nod as you lift the camera.
@@
<<say "player" "Just breathe. Don’t perform. Be you. That’s what people connect with." >>
@@.narration-text;
Alice smiles. For a moment, it’s clear she needed to hear that.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '001.jpg'" alt="Alice prologue photo 1">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("001.jpg")>>
@@.narration-text;
The first few shots are stiff. But with Zoe’s direction and your calming tone, Alice starts to loosen up.
@@
<<say "alicem" "This is… actually kind of fun?" >>
<<say "zoeb" "Told you. You’re doing awesome." >>
<div class="photoshoot-result">
<img @src="$_level1Path + '002.jpg'" alt="Alice prologue photo 2">
<p class="success">Another great picture!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("002.jpg")>>
@@.narration-text;
Click. Snap. Adjust. Encourage. The three of you move in sync — not perfect, but honest.
<br><br>
It’s a strong start.
@@
<</if>>
<span class="btn-104">
[[Continue|Prologue_result_alice_1]]
</span><<set $_followerGain = 1000>>
<<if $characters['alicem'].followers > 1000>>
<<set $characters['alicem'].followers = 0>>
<</if>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
<<if $characters['alicem'].relationshipStatus == "romance">>
@@.narration-text;
The numbers aren’t just good — they’re wild.
<br><br>
Alice's phone lights up nonstop with likes, comments, follows. In under an hour, she’s already gained **1,000 new followers**. Double what Zoe got on her first post.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "alicem" "NO. WAY. I’m— This is INSANE!" >>
@@.narration-text;
Before you can react, she shrieks, runs toward you, and launches herself into your arms.
<br><br>
She presses kisses all over your face — cheeks, forehead, nose, eben your lips — between fits of wild laughter.
@@
<<say "alicem" "You’re a genius. You’re my *magic button*! I swear, I could kiss you forever!" >>
@@.narration-text;
You glance past her shoulder — and there’s Zoe.
@@
<<if $characters['zoeb'].relationshipStatus == "romance">>
@@.narration-text;
Her arms are crossed. Her smile? Thin.
<br><br>
Her eyes? Not smiling at all.
@@
<<say "zoeb" "Wow. 1,000 already. That’s… impressive." >>
<<say "player" "Zoe—" >>
<<say "zoeb" "No, seriously. You guys look... perfect." >>
@@.narration-text;
She turns before you can answer and disappears into her room, the door clicking a little louder than usual.
<br><br>
And just like that, the celebration tastes a little bitter.
@@
<<else>>
<<say "zoeb" "Oh my god! A thousand?! That’s wild!" >>
@@.narration-text;
Zoe wraps her arms around both of you from the side, bouncing with laughter.
@@
<<say "zoeb" "Okay Alice, first shoot and you're already breaking records. You owe me pizza. Or three." >>
<<say "alicem" "You’re on!" >>
<</if>>
<<else>>
@@.narration-text;
Alice stares at her phone, jaw dropped.
@@
<<say "alicem" "I— I'm at *a thousand* followers. Already?! My first post??!" >>
<<say "zoeb" "Told you, newbie. Star quality." >>
@@.narration-text;
Zoe practically tackles her into a hug.
<br><br>
You smile, holding back a laugh as the two of them bounce on the couch in shared disbelief.
@@
<<say "player" "Beginner’s luck?" >>
<<say "alicem" "Or maybe... dream team energy?" >>
@@.narration-text;
She offers you a high-five that turns into a one-armed hug. It’s warm, sincere — not flirtatious. Just three creators riding a wave together.
<br><br>
And it feels right.
@@
<</if>>
<span class="btn-104">
[[Next day|Pre_Shoot_10]]
</span><<set $_status = $characters['zoeb'].relationshipStatus>>
<<if $_status == "romance">>
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Do whatever you want. You’re not mine.
</div>
<div class="chat-bubble player">
Zoe, come on… it’s not like that. I’m just helping her, same way I helped you at the start.
</div>
<div class="chat-bubble npc">
I know. <br>
I just didn’t expect it to bug me this much.
</div>
<div class="chat-bubble player">
You’re allowed to feel stuff. I’d rather know what’s real than have you go quiet on me.
</div>
<div class="chat-bubble npc">
That’s unfair. You’re being *weirdly* nice. <br>
Stop that. 🙄
</div>
<div class="chat-bubble player">
You like it. 😏
</div>
<div class="chat-bubble npc">
...maybe. <br>
Just don’t forget who got you into all this, okay?
</div>
<div class="chat-bubble player">
Not a chance.
</div>
</div>
</div>
<<elseif $_status == "friendly">>
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
You're right. We're just working. That's all.
</div>
<div class="chat-bubble npc" style="background: none; box-shadow: none; color: #888; font-style: italic; padding-left: 0;">
Seen
</div>
<div class="chat-bubble npc">
Cool. Good luck with the shoot then.
</div>
<div class="chat-bubble player">
Thanks. Should be simple.
</div>
<div class="chat-bubble npc">
👍
</div>
</div>
<div class="chat-choices"></div>
</div>
@@.narration-text;
You stare at the last message for a few seconds.
<br><br>
Short. Dry. No emoji. No teasing.
<br><br>
Something just shifted. And you’re not sure it’s going back.
@@
<</if>>
<span class="btn-104">
[[Continue|Pre_Shoot_9]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
It’s been a few hours since Alice’s first shoot went live.
<br><br>
You thought Zoe would be in the group chat hyping it up, making memes out of bloopers, doing her usual thing.
<br><br>
But your phone's been quiet.
Too quiet.
<br><br>
You text her. It takes longer than usual for her to respond.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Guess people really like Alice.
</div>
<div class="chat-bubble player">
She did great, yeah. <br>
But so did you. You *are* great.
</div>
<div class="chat-bubble npc">
I just thought I'd be further ahead by now, I guess. <br>
Maybe I'm not really that kind of pretty.
</div>
<div class="chat-bubble player">
Hey. Stop. You’re *exactly* that kind of pretty — and the kind people remember.
</div>
<div class="chat-bubble npc">
You're sweet. You *have* to say that.
</div>
<div class="chat-bubble player">
No I don’t. I’m not texting Alice at 2AM reminding her she’s magic. <br>
Just you.
</div>
<div class="chat-bubble npc" style="background: none; box-shadow: none; color: #888; font-style: italic; padding-left: 0;">
Seen
</div>
<div class="chat-bubble npc">
Okay. That helped. A little. <br>
Maybe the next shoot will be my redemption arc 😌
</div>
<div class="chat-bubble player">
I already know it will be 🔥
</div>
<div class="chat-bubble npc">
I’ve got an idea. Something different. <br>
But I’m not telling. Surprise incoming 😏
</div>
<div class="chat-bubble player">
Now I’m nervous.
</div>
<div class="chat-bubble npc">
Good. You should be 😇
</div>
</div>
</div>
<<elseif $_status == "friendly">>
@@.narration-text;
The group chat’s been quiet since Alice hit 1,000 followers. Zoe finally pings you in private, way later than she usually would.
<br><br>
Not her usual style.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Wild how fast Alice blew up, huh?
</div>
<div class="chat-bubble player">
She got lucky. Right look, right timing. <br>
That doesn’t take anything away from you.
</div>
<div class="chat-bubble npc">
Yeah, yeah. I know. Logic brain gets it. <br>
Insecure brain’s just being dramatic.
</div>
<div class="chat-bubble player">
Hey, everyone has those moments. <br>
You’re still building something real — and you’re doing it with style.
</div>
<div class="chat-bubble npc">
Aw. Thanks, coach. 😅 <br>
It’s dumb, I know. I just… want to keep up.
</div>
<div class="chat-bubble player">
You will. Your next shoot’s gonna be a banger.
</div>
<div class="chat-bubble npc">
You think?
</div>
<div class="chat-bubble player">
I know.
</div>
<div class="chat-bubble npc">
...Well then.
</div>
<div class="chat-bubble npc">
I’ve got an idea. But I’m not telling you. <br>
Not yet 😏
</div>
<div class="chat-bubble player">
You’re such a menace.
</div>
<div class="chat-bubble npc">
You love it.
</div>
</div>
</div>
<</if>> <span class="btn-104">
[[Next day|Photoshoot_10]]
</span><<set $_char = $characters['zoeb']>>
<<set $_level2Path = $_char.imgPath + $_char.photoLevels["2"].path>>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
You’re just about to head to Zoe’s apartment when your phone buzzes.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Change of plan. Park. You’ll know where. Don’t ask. Just come.
And don’t be late.
</div>
</div>
</div>
@@.narration-text;
Golden hour paints everything soft as you arrive.
Zoe waits near the grove you’ve used before — hoodie zipped to her neck, hands fidgeting in the sleeves.
@@
<<say "player" "You okay?" >>
<<say "zoeb" "Yeah. Just... nervous. This is either gonna be epic or totally insane." >>
<<say "zoeb" "Turn around. No peeking." >>
@@.narration-text;
You do as she asks. The sounds behind you are unmistakable — a zipper, fabric shifting, a deep breath.
@@
<<say "zoeb" "Okay. You can turn back." >>
@@.narration-text;
You turn — and your brain stops working.
<br><br>
She’s standing there in lace and bravery. Elegant, exposed, radiant. Her cheeks are flushed, but her eyes stay locked on yours.
@@
<<say "player" "Holy—" >>
<<say "zoeb" "Still breathing?" >>
<<say "player" "Barely." >>
@@.narration-text;
She strikes her first pose — one foot tilted, her arms draped lightly behind her. It’s simple, but her confidence hits harder than the outfit.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '009.jpg'" alt="Level 2 Photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("009.jpg")>>
@@.narration-text;
You try to lift the camera. Focus. But she keeps moving — now a twist of the waist, a soft smile playing at the edge of her lips.
<br><br>
You swear she knows exactly how much this is messing with you.
@@
<<say "zoeb" "Eyes on the lens, not the model, genius." >>
@@.narration-text;
It’s impossible to tell whether she’s serious.
You lift the camera anyway.
<br><br>
Click.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '010.jpg'" alt="Level 2 Photo 10">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("010.jpg")>>
@@.narration-text;
By the time the shoot wraps, you’re not sure what came out more shaken — your focus or your heart rate.
<br><br>
Zoe just tosses you a knowing smile and pulls her hoodie back on.
@@
<<say "zoeb" "Told you it’d be a surprise." >>
<<elseif $_status == "friendly">>
@@.narration-text;
You’re just zipping up your gear bag when Zoe sends a surprise message.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Meet me at the park. The usual spot.
Got something cool planned. And yes, I’m being mysterious on purpose 😎
</div>
</div>
</div>
@@.narration-text;
She’s already waiting when you arrive — hoodie pulled over her head, bouncing lightly on her toes like she’s about to do a warm-up lap.
@@
<<say "player" "This better not involve glitter again." >>
<<say "zoeb" "No glitter. I promise. But still a first."
Now, be a good sport and turn around." >>
@@.narration-text;
You turn, just as she starts shifting. You hear the quick sound of zippers, fabric, and a half-stifled laugh.
<br><br>
Then—
@@
<<say "zoeb" "Okay. Look." >>
@@.narration-text;
You turn, expecting a statement piece.
<br><br>
You get... Zoe in lingerie.
<br><br>
Simple. Beautiful. Confident.
@@
<<say "player" "Okay wow. You went bold." >>
<<say "zoeb" "Is it too much?" >>
<<say "player" "Not if you’re comfortable. It’s all about how you carry it — and you're owning it." >>
@@.narration-text;
She exhales, then strikes her first pose — the kind that says *I'm here. Deal with it.*
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '009.jpg'" alt="Level 2 Photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("009.jpg")>>
@@.narration-text;
You find the light. Shift angles. Snap a few close shots while Zoe experiments with posture.
<br><br>
It’s new territory, but it suits her.
<br><br>
And the confidence keeps building.
@@
<div class="photoshoot-result">
<img @src="$_level2Path + '010.jpg'" alt="Level 2 Photo 10">
<p class="success">You got the shot!</p>
</div>
<<run $characters['zoeb'].gallery["2"].push("010.jpg")>>
@@.narration-text;
The final few clicks are effortless.
<br><br>
Zoe slips her hoodie back on and tosses you a thumbs up.
@@
<<say "zoeb" "Might be the best set yet." >>
<<say "player" "I’m inclined to agree." >>
<</if>>
<span class="btn-104">
[[Check the results|Prologue_results_10]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
/* --- Add Followers --- */
<<set $_followerGain = 30000>>
<<set $characters['zoeb'].followers += $_followerGain>>
<<set $characters['zoeb'].value += 12500>> /* A slightly higher value bump */
/*
The variable $_status is now "friendly", "romance", or "distant".
Now we just check it.
*/
<<if $_status == "romance">>
@@.narration-text;
The shoot goes live late in the afternoon. By nightfall, Zoe’s follower count starts climbing so fast you can barely refresh fast enough to keep up.
<br><br>
10,000.
18,000.
30,000.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
@@.narration-text;
It's more than double her previous total — all in less than a day.
<br><br>
You expect celebration.
<br><br>
Instead, her message comes short and sharp.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Have you seen the comments?
</div>
</div>
</div>
@@.narration-text;
You hesitate. Then you check.
<br><br>
Mixed in with the fire emojis, hearts, and “queen” declarations —
There they are.
<br><br>
The other ones.
<br><br>
No profile picture. No accountability. Just cruelty.
<br><br>
When you call her, she picks up on the first ring.
@@
<<say "player" "Zoe, don’t—" >>
<<say "zoeb" "I can’t *not* respond. They don’t even know me and they’re—" >>
<<say "player" "You *can’t* win with them. You clap back, and they just multiply. It’s what they want." >>
@@.narration-text;
Silence.
<br><br>
You hear her breathing. Fast. Shaky.
@@
<<say "player" "You crushed that shoot. You looked strong. Confident. Real. Don’t let the noise drown that out." >>
<<say "zoeb" "...It’s just hard. I was finally proud of something. And now I feel like I need to hide again." >>
<<say "player" "No. You *don’t*. You showed up. You owned it. The rest? Not worth your energy." >>
@@.narration-text;
For a second, nothing. Then a breath — a long, slow exhale.
@@
<<say "zoeb" "Thanks. I needed that.
I’ll... turn the comments off for a bit. Just focus on the next thing." >>
<<say "player" "Good. And hey... I’m proud of you. Every step." >>
@@.narration-text;
You hear a faint laugh, tired but real.
@@
<<say "zoeb" "You’re too nice sometimes. But thanks." >>
<<elseif $_status == "friendly">>
@@.narration-text;
Zoe’s post hits the algorithm like lightning.
<br><br>
By the time you check it, the numbers are already wild.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['zoeb'].followers)>>
</span>
</div>
</div>
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Dude. 30k. THIRTY.
Is this real life??
</div>
<div class="chat-bubble player">
Confirmed: the world is catching up to your awesomeness.
</div>
<div class="chat-bubble npc">
Yeah, but also...
Have you read the comments?
</div>
</div>
</div>
@@.narration-text;
You scroll. The likes are through the roof.
The reposts. The DM shares.
<br><br>
But then the replies start turning sour.
<br><br>
Not all. But enough to sting.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Ignore the trash. It’s noise. Not truth.
</div>
<div class="chat-bubble npc">
Easy to say. Harder when it’s about *you*.
</div>
</div>
</div>
@@.narration-text;
You can picture her — curled up on the couch, phone in hand, scrolling too fast to think.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Don’t feed it. That’s what they want.
</div>
<div class="chat-bubble npc">
I *want* to go off on them. Like... paragraph long, capital letter rage.
</div>
<div class="chat-bubble player">
You *could*. But you’ll end up feeling worse.
</div>
</div>
</div>
@@.narration-text;
There’s a pause. Then three dots. Then nothing.
Then finally:
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Okay.
Deep breath. Ignoring idiots.
Next shoot idea incoming soon. Stay tuned 👀
</div>
<div class="chat-bubble player">
That’s the Zoe I know.
</div>
</div>
</div>
<</if>>
<br>
<span class="btn-104">
[[Later that night|Aftermath_Proloque_Zoe]]
</span>
<<set $_status = $characters['zoeb'].relationshipStatus>>
<<if $_status == "romance">>
@@.narration-text;
You’re not doing much — scrolling, half-watching something on mute — when her name pops up on your screen.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Can you come over?
</div>
<div class="chat-bubble player">
Of course. Everything okay?
</div>
<div class="chat-bubble npc">
Sort of.
</div>
<div class="chat-bubble npc">
There’s just... stuff I wanna talk about. In person.
</div>
<div class="chat-bubble player">
Is this about the comments?
</div>
<div class="chat-bubble npc">
Not exactly.
</div>
<div class="chat-bubble npc">
Just come, yeah?
</div>
</div>
</div>
@@.narration-text;
You stare at the screen a moment longer.
<br><br>
Her message wasn’t cold — but it wasn’t casual either.
Serious, but... something else under it.
<br><br>
You grab your jacket and head out, not entirely sure what you’re walking into.
@@
<span class="btn-104">
[[Rush over to Zoe|Event_2_1]]
</span>
<<elseif $_status == "friendly">>
@@.narration-text;
You’re about to shut your laptop when Zoe messages again.
No memes. No sarcasm. Just... her.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Been thinking about those comments.
</div>
<div class="chat-bubble npc">
Still kinda stings.
</div>
<div class="chat-bubble player">
Of course it does. It would for anyone.
</div>
<div class="chat-bubble npc">
I keep rereading them. Like, trying to find one that hurts less.
</div>
<div class="chat-bubble npc">
There isn’t.
</div>
<div class="chat-bubble player">
That's not where your power is. You don’t need to win their approval — you already have *your* voice.
</div>
<div class="chat-bubble npc">
I guess. Still sucks, though.
</div>
<div class="chat-bubble player">
Yeah.
</div>
<div class="chat-bubble player">
But we learn. We build armor. And we keep creating.
</div>
<div class="chat-bubble npc">
Thanks.
</div>
<div class="chat-bubble npc">
Really. I needed that tonight.
</div>
</div>
</div>
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_2_Friendly]]
</span>
<</if>>
@@.narration-text;
You arrive at Zoe’s place, still assuming the message she sent was about the comments from her last shoot. But as she opens the door, you feel something different in her energy. Not sadness — something more uncertain. Nervous, even.
<br><br>
Zoe barely says a word before turning and walking inside.
She stops at her bedroom door, glancing over her shoulder.
@@
<<say "zoeb" "Can we talk in here?">>
@@.narration-text;
You follow, a little confused. The room is quiet except for the hum of the street outside. She sits cross-legged on the bed, fidgeting with the hem of her sleeve. Her eyes never quite meet yours.
@@
<img src="img/npc/zoeb/events/e2_001.jpg" class="vn-image">
<<say "zoeb" "So... this isn’t really about the shoot. Or the hate comments. It’s... something else.">>
<<say "player" "Okay. You’re kinda scaring me here. What’s going on?">>
@@.narration-text;
Zoe lets out a laugh — short and nervous — then covers her face for a moment before dropping her hands and looking up at you.
@@
<<say "zoeb" "I’ve been trying to ignore it. Or maybe pretend it’s not real. But I can’t anymore.">>
<<say "zoeb" "I like you. Not just ‘you’re a good guy’ like. Not just ‘you take great photos’ like. I mean..." (she trails off, eyes darting down again) "...I think about you all the time. And it’s stupid. And I probably ruined everything now, but—">>
@@.narration-text;
Her voice cracks just slightly, but she pushes through, forcing herself to meet your eyes again.
@@
<<say "zoeb" "You don’t have to say anything. I just— I needed to be honest. Before it drives me completely insane.">>
@@.narration-text;
She sits there, hands gripped tightly in her lap, waiting for your response. This isn’t just about attraction. She’s opening herself up. And she’s terrified.
<br><br>
You have to decide how to respond.
@@
<img src="img/npc/zoeb/events/e2_002.jpg" class="vn-image">
<div class="prologue-choices">
<span class="btn-104">
[[ "Zoe… I feel the same." |Long_night]]
</span>
<span class="btn-104">
[[ "Zoe… I don’t want to risk what we have." |Short_night]]
</span>
</div>@@.narration-text;
You open Alice’s message.
<br><br>
She’s quick — overly enthusiastic for this early in the morning.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Hey!! Sooo, any chance you're free soon? I can't wait to shoot again! Last one BLEW UP!! 🔥
</div>
</div>
</div>
@@.narration-text;
Before you even type a reply, another message comes through.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
I was thinking something sleek and powerful.
</div>
<div class="chat-bubble npc">
Like, office look. Desk, computer, dark blue blouse... black skirt halfway up the thighs.
</div>
<div class="chat-bubble npc">
Classy, but confident. Think: boss babe energy.*
</div>
</div>
</div>
@@.narration-text;
You glance at Zoe, who’s still curled up under the sheets beside you.
<br><br>
She raises an eyebrow.
You show her the screen.
<br><br>
@@
<<say "player" "She’s thinking... office setting. Like a whole 'power woman' aesthetic.">>
<<say "zoeb" "(dryly) Let me guess — skirt involved.">>
<<say "player" "Halfway up the thighs, apparently.">>
<<say "zoeb" "Of course it is.">>
@@.narration-text;
You hesitate before typing anything back. Zoe’s tone isn’t hostile, just... pointed. Measured.
<br><br>
You sigh, thumbs hovering over your screen.
<br><br>
Then another buzz.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc">
Actually — you know what? Let’s just make this easier.*
</div>
<div class="chat-bubble npc">
Mind if I add Zoe to the chat?
</div>
</div>
</div>
@@.narration-text;
You blink.
<br><br>
Zoe snorts softly beside you.
@@
<<say "zoeb" "Wow. She has *no* idea I’m literally in your bed reading this with you, huh?">>
<<say "player" "Nope. Not a clue.">>
<<say "zoeb" "Yeah. Add me. I wanna see what her ‘boss babe’ energy looks like when I’m around.">>
@@.narration-text;
You type back quickly, trying not to smile too much.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble player">
Sure. Go ahead.
</div>
</div>
</div>
@@.narration-text;
The notification pings a moment later.
@@
<div class="chat-notification-static">
<div class="chat-sender-name">
<span class="chat-sender-icon">★</span>
Alice 📸 + Zoe 💫 + $player
</div>
<div class="chat-message-preview">
Group chat created
</div>
<span class="chat-notification-time">
just now
</span>
</div>
@@.narration-text;
This should be interesting.
@@
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_2a]]
</span><<set $inRelationshipWithZoe to true>>
@@.narration-text;
You barely realize the words are leaving your mouth until they’re out.
@@
<<say "player" "I feel the same. I think..." >>
@@.narration-text;
It’s not dramatic. Not poetic. Just true.
<br><br>
Zoe’s eyes widen — not in surprise, but something closer to relief. She starts to smile.
<br><br>
But you can’t hold her gaze. Not for long.
<br><br>
A sharp wave of anxiety creeps in. A familiar discomfort. Not from her — from *you*. Your brain, already racing ten steps ahead, calculating what comes next, what to say, how not to ruin the moment.
@@
<<say "player" "I... I meant that. I just..." >>
<<say "player" "This is really hard for me. I’m not good at this. And I don’t want to mess it up.">>
<<say "zoeb" "Hey, it’s okay. We just took a huge step. You’re allowed to be overwhelmed.">>
@@.narration-text;
You pace for a moment, trying to regulate your breathing. Your fingers tap against your leg, a small repetitive rhythm you hope she won’t notice — but of course she does.
@@
<<say "player" "I have Asperger’s. I thought maybe you’d guessed. Or maybe I hid it better than I thought. But this... this is one of those things I’ve never known how to handle. Emotions. Closeness. I want it. I *want* you. But I’m afraid I’ll say something wrong or freeze or..." >>
<<say "player" "...just break it somehow.">>
@@.narration-text;
Zoe stands and steps toward you slowly. She doesn't interrupt. She doesn’t try to fix anything with words right away.
<br><br>
She just takes your hand.
@@
<<say "zoeb" "I knew you were different. Not in a bad way. Just... quieter in your own head. Careful with your space. I noticed.">>
<<say "zoeb" "And I didn’t care then. I don’t now.">>
@@.narration-text;
You feel her thumb trace softly along your knuckles.
<br><br>
Something calms inside you, but not completely.
@@
<<say "player" "I don’t know how to do this. Not the way people expect. Not without overthinking every word.">>
<<say "zoeb" "Then don’t do it the way people expect. We’ll figure *our* way. One step at a time.">>
@@.narration-text;
You sit down beside her again, your hand still in hers. It feels both terrifying and exactly right.
<br><br>
There’s still tension in your chest. Still uncertainty.
<br><br>
But she doesn’t let go.
@@
<<say "zoeb" "We don’t need a perfect plan. We just need to be honest. And right now, this is honest enough.">>
@@.narration-text;
You nod slowly.
<br><br>
And for once, that feels like the right move.
@@
<span class="btn-104">
[[Continue|Long_night_2]]
</span>@@.narration-text;
You don’t answer right away.
<br><br>
Your heart pounds, not from excitement, but from fear — raw, unfiltered fear. Zoe watches you with a glimmer of hope, but even that seems to fade as your silence lingers.
@@
<<say "player" "Zoe... I didn’t expect this. And the worst part is, I don’t know what to do with it.">>
<<say "player" "I feel something for you. It’s not just admiration or excitement about your work. It’s something I’ve never really let myself feel before. Not like this.">>
@@.narration-text;
She tilts her head slightly, searching your face for understanding, or maybe for something she’s afraid you won’t say.
<br><br>
You look away, hands fidgeting with your sleeves.
@@
<<say "player" "There’s something I haven’t told you. I have Asperger's.">>
<<say "player" "I’ve always struggled with people — with connection. Trust, closeness, letting people into my space... it terrifies me. I keep my world small on purpose. It's how I survive.">>
<<say "player" "But then you came along. And every rule I set for myself, every wall I built — it started shaking. And it scares the hell out of me.">>
@@.narration-text;
Zoe’s lips part slightly. She’s quiet, but you can see a mix of surprise and softness behind her eyes.
@@
<<say "player" "I’m not saying no because I don’t want you. I’m saying no because I’m afraid I’ll ruin this — ruin us. And if I lose you…">>
<<say "player" "...I wouldn’t know how to handle that.">>
@@.narration-text;
The words hang in the air, heavy and aching. Zoe slowly nods, her fingers tightening around her knees.
@@
<<say "zoeb" "I... I didn’t know. Thank you for trusting me with that.">>
@@.narration-text;
Her voice is warm, but there’s a shadow behind it. You wish you could say more, wish you had the clarity and courage to leap. But instead, all you can do is stay where you are.
@@
<<say "player" "You matter to me, Zoe. A lot more than I’m probably showing right now. I just... I need time. Space to figure myself out. And I really hope you’ll still be there when I do.">>
@@.narration-text;
She nods again. There’s a forced smile, but also something sincere behind it.
<br><br>
Not forgiveness yet, but maybe understanding.
@@
<<say "zoeb" "I’m not going anywhere. Not yet.">>
@@.narration-text;
And just like that, things don’t fall apart — but they don’t move forward either.
<br><br>
A fragile balance. One breath away from tipping either direction.
@@
<span class="btn-104">
[[Continue|Short_night_2]]
</span>@@.narration-text;
The room stays quiet. But not tense.
Not anymore.
<br><br>
Zoe doesn’t speak — she just shifts toward you, her eyes soft, her expression unreadable.
Then, without a word, she wraps her arms gently around you.
<br>br>
Her hug is warm. Steady. Grounding.
@@
<<say "zoeb" "I’m still here, you know. Even if your head’s a mess. I’m not scared of waiting.">>
<<say "player" "I’m not trying to push you away. I just... I need to get my thoughts straight. Figure out how to *feel* all this without shutting down.">>
<<say "zoeb" "Then I’ll stay right here while you do." >>
@@.narration-text;
She leans back on the bed, pulling you down with her. Her head rests gently on your chest, the rhythm of your heartbeat settling between you.
<br><br>
Your fingers drift into her hair. She lets out a soft breath — half sigh, half peace.
<br><br>
For a long time, you say nothing.
<br><br>
And in that silence... the fear doesn’t go away. But it quiets.
@@
@@.narration-text;
Sleep creeps up slowly. One thought at a time slips away.
When morning breaks, golden light spills into the room through her curtains. Her hand is still tucked over your chest.
<br><br>
Then — your phone buzzes.
@@
<span class="btn-104">
[[Read message|Pre_Shoot_Alice_2]]
</span>@@.narration-text;
Zoe is still holding your hand.
<br>
You can feel the weight of everything you just admitted — and everything she didn’t run away from. The room is warm, quiet, calm. But your chest still tightens.
<br>
Then she leans closer, her voice gentle.
@@
<<say "zoeb" "Can I ask something?" >>
<<say "player" "Yeah... sure.">>
<<say "zoeb" "Will you trust me? Like... really trust me. Just for a bit.">>
@@.narration-text;
You hesitate. Not because you don’t want to — but because you’re still trying to understand what trust even *means* in a moment like this.
<br><br>
She squeezes your hand.
@@
<<say "zoeb" "I know you’re scared. I can see it. But you don’t have to carry all of it alone. Let me take the lead. Just for tonight.">>
<<say "player" "...Lead how?">>
<<say "zoeb" "(smiling softly) You’ll see.">>
@@.narration-text;
Your brain screams to overanalyze, to break the moment apart before it unfolds. But her eyes are steady. Safe.
<br>
You exhale slowly and nod.
@@
<<say "player" "Okay. I trust you.">>
@@.narration-text;
She doesn’t say anything right away. Just wraps her arms around you in a tight, reassuring hug.
<br><br>
Her lips press gently to yours — warm, light, careful. Like she’s asking a question with the kiss and waiting for your answer without rushing it.
<br><br>
Then she pulls back and smiles.
@@
<<say "zoeb" "Close your eyes.">>
<<say "player" "Zoe... what are you—">>
<<say "zoeb" "(grinning) Just... trust.">>
@@.narration-text;
You close your eyes.
<br><br>
There’s a soft shuffle of fabric.
The sound of a zipper. A shirt falling to the floor.
Footsteps shifting lightly on carpet.
<br><br>
Your heart beats harder, but you don’t move.
<br><br>
Then — her voice, quieter now:
@@
<<say "zoeb" "Okay... you can look.">>
<span class="btn-104">
[[Open your eyes|Long_night_3]]
</span><<popup 'Night_wtih_Zoe_video' 'Your first night with Zoe'>>
@@.narration-text;
Warm light filters through the curtains, casting soft shapes across the sheets.
<br><br>
You’re not fully awake, not yet. But you feel her — Zoe — curled against you, her back pressing gently into your chest. One of your arms is wrapped around her waist, her hand resting over yours.
<br><br>
Neither of you speaks. Not because there’s nothing to say, but because right now... silence feels like peace.
<br><br>
Her hair smells faintly of lavender shampoo. Her skin is warm. And for once, your thoughts aren’t racing ahead of the moment.
<br><br>
She shifts slightly, her voice low and rough from sleep.
@@
<<say "zoeb" "You still alive back there?">>
<<say "player" "Barely. You might’ve killed me last night.">>
<<say "zoeb" "(laughing softly) No regrets, though. Right?">>
@@.narration-text;
You both laugh — tired, happy, unsure.
<br><br>
But slowly, reality begins to creep in.
@@
<<say "player" "So... what does this mean? For us. For the shoots. You still want to do them? Like... *those* kinds of shoots?">>
<<say "zoeb" "(quiet) I don’t know. That’s the weird part. It felt right before — like it was a way to claim myself. But now... I guess it feels more personal. More exposed in a different way.">>
<<say "player" "I don’t want you to stop if it’s what you love. But I also don’t want you doing anything that makes you feel... disconnected from what we are now.">>
@@.narration-text;
Zoe rolls onto her back, looking up at the ceiling.
@@
<<say "zoeb" "We’ll figure it out. Like we always do. But maybe we keep things lighter for now. More fashion, less skin. Just until I feel clear again.">>
<<say "player" "Whatever you decide — I’m with you.">>
@@.narration-text;
She smiles at that, then leans her head on your shoulder. The moment stretches — soft, uncertain, but full of trust.
<br><br>
Then your phone buzzes on the nightstand.
<br><br>
Both of you flinch slightly.
@@
<div class="chat-notification-static">
<div class="chat-sender-name">
<span class="chat-sender-icon">★</span>
Alice
</div>
<div class="chat-message-preview">
Still asleep? It's alomost noon :) :) :) Sleepyhead
</div>
<span class="chat-notification-time">
just now
</span>
</div>
@@.narration-text;
You reach for it and glance at the screen.
<br><br>
It’s from Alice.
<br><br>
You look at Zoe, raising an eyebrow.
@@
<<say "player" "It’s Alice. She probably wants to talk shoot plans. Should I... text her back?">>
<<say "zoeb" "(nodding) Yeah. Go ahead. Let’s keep it professional — no need to make it weird.">>
@@.narration-text;
You unlock your phone and start reading, feeling Zoe’s presence beside you, grounding you even through the screen’s glow.
@@
<span class="btn-104">
[[Check Message|Pre_Shoot_Alice_2]]
</span>
<<nobr>>
<<set _slides to [
'img/npc/zoeb/events/ev2/001.jpg', 'img/npc/zoeb/events/ev2/002.jpg', 'img/npc/zoeb/events/ev2/003.jpg',
'img/npc/zoeb/events/ev2/004.jpg', 'img/npc/zoeb/events/ev2/005.jpg', 'img/npc/zoeb/events/ev2/006.jpg',
'img/npc/zoeb/events/ev2/007.jpg', 'img/npc/zoeb/events/ev2/008.jpg', 'img/npc/zoeb/events/ev2/009.jpg',
'img/npc/zoeb/events/ev2/010.jpg', 'img/npc/zoeb/events/ev2/011.jpg', 'img/npc/zoeb/events/ev2/012.jpg',
'img/npc/zoeb/events/ev2/013.jpg'
]>>
<<set _activeSlide to 0>>
<</nobr>>
<div id="slideshow-wrapper" class="photoseries-container">
<div id='slideshow' class="slideshow-image-wrapper">
[img[_slides[_activeSlide]]]
</div>
<div id="slideshow-controls-placement">
<<include "Slide_Controls_Logic">>
</div>
</div><<if _activeSlide > 0>>
<span class="slideshow-nav-button prev-control">
<<link "<< Previous">>
<<set _activeSlide -= 1>>
<<replace "#slideshow">>[img[_slides[_activeSlide]]]<</replace>>
<<replace "#slideshow-controls-placement">><<include "Slide_Controls_Logic">><</replace>>
<</link>>
</span>
<</if>>
<<if _activeSlide < _slides.length - 1>>
<span class="slideshow-nav-button next-control">
<<link "Next >>">>
<<set _activeSlide += 1>>
<<replace "#slideshow">>[img[_slides[_activeSlide]]]<</replace>>
<<replace "#slideshow-controls-placement">><<include "Slide_Controls_Logic">><</replace>>
<</link>>
</span>
<</if>>@@.narration-text;
The group chat lights up instantly.
Alice wastes no time.
@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name"> Alice 📸 + Zoe 💫 + $player </div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Yaaay finally! 👏 Okay, so, I was thinking Monday or Tuesday next week. Whatever fits your schedule.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
I found this place with a real office vibe — glass desk, bookshelf, and that kind of “boss energy” lighting. 🔥
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Zoe, you in? It could be fun to collab a little again 😇
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Actually...
</div>
</div>
</div>
@@.narration-text;
You glance at Zoe lying beside you.
She types quietly, her face unreadable.
Your stomach knots.
Then her message drops:
@@
<div class="chat-window group-chat">
<div class="chat-messages">
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I’m going to step away from the shoots for a while. Personal reasons.
</div>
</div>
</div>
@@.narration-text;
You blink. Hard.
She didn’t say anything.
Not a whisper.
Not even a hint.
Your eyes shoot toward her — she still hasn’t looked at you.@@
<<say "player" "...Zoe?">>
@@.narration-text;
She stays focused on the phone.
The chat explodes again.
@@
<div class="chat-window group-chat">
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Wait— what? You serious?
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Like, a long break? Is everything okay?
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Why’s no one answering me?? 😅
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
You guys still here or what?
</div>
</div>
</div>
@@.narration-text;
Your fingers hover over the keyboard, but you don’t type.
You can’t. You’re right beside her, but somehow
— she suddenly feels far away.
@@
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_2b]]
</span>@@.narration-text;
Zoe finally sets her phone down on the blanket.
<br><br>
The room feels heavier than it did just a minute ago. Your thoughts are scrambling — trying to catch up with what just happened.
<br><br>
She turns toward you slowly, finally meeting your eyes.
@@
<<say "zoeb" "Hey... don’t look like that. I’m okay. I promise.">>
<<say "player" "But you didn’t say anything. I’m lying right here and you just—">>
<<say "zoeb" "I know. I should’ve told you first. But I didn’t even know I was going to say it until I typed it.">>
@@.narration-text;
She scoots a little closer under the sheets, her knee bumping yours.
@@
<<say "zoeb" "I just... need a little time to put everything back in place, you know? My head, my feelings, all of it.">>
<<say "player" "Because of me? Because of the night, or the stuff we said—?">>
<<say "zoeb" "(softly) Partly. But not in a bad way. Just... intense. The comments. Us. Me feeling all kinds of things and not knowing what’s real yet.">>
@@.narration-text;
You nod slowly, eyes still fixed on her. Her tone is calm, but there's emotion just under the surface — like she's carefully walking across a frozen lake, afraid to crack it.
@@
<<say "zoeb" "I’m not disappearing. I’m just catching my breath. And maybe it’s good — gives you space too, right? To figure out what you really want.">>
<<say "player" "I don’t want space from *you.* I just—">>
<<say "zoeb" "—Need to catch up to yourself. I know." >>
@@.narration-text;
She leans in, pressing her forehead gently against yours.
<br><br>
No kiss. No pressure.
<br><br>
Just presence.
@@
<<say "zoeb" "We’re okay. But I need to get okay with *me*, too. That’s all this is.">>
@@.narration-text;
The moment lingers, still and fragile.
<br><br>
Your phone vibrates again — probably Alice, still confused in the chat.
<br><br>
Zoe doesn’t move away.
<br><br>
She just closes her eyes.
@@
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_2c]]
</span>@@.narration-text;Zoe picks up her phone again, fingers hesitating mid-air. Then, with a soft sigh, she starts typing into the group chat.@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Alice 📸 + Zoe 💫 + $player</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Hey, sorry to drop that on you both. Just want to say — I’m okay. Nothing dramatic, I promise.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I just realized I need to take a step back from the spotlight. For now.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Still want to help out, though — planning, ideas, helping with shoots if you need it. I’m not vanishing. Just shifting lanes.
</div>
</div>
</div>
@@.narration-text;You glance at Zoe beside you as she hits send, then quickly pick up your phone too — realizing your silence might seem strange to Alice. You type quickly:@@
<div class="chat-window group-chat">
<div class="chat-messages">
<div class="chat-bubble player">
Hey sorry, was mid-call. Just saw all this. Zoe’s good — she explained it to me earlier.
</div>
<div class="chat-bubble player">
She’s still totally on board with helping out behind the scenes. Just needs a little pause from being in front of the camera.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Oh okay!! Thanks for jumping in — was wondering why you ghosted me 😅
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Good to hear she’s okay tho! And yeah I get it. You two have been going hard on these shoots. Breaks are healthy.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Appreciate you being cool with it, Alice 💙
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Always! I’ll keep brainstorming for that office thing. And Zoe — when you’re back, we better plan a double shoot 😏
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
We’ll see 😉
</div>
</div>
</div>
@@.narration-text;Zoe gently sets her phone down on the nightstand, face-down this time. She stares at the ceiling for a moment, then turns toward you.@@
<<say "zoeb" "Thanks for covering. I wasn’t sure how to explain it without... explaining *everything.*">>
<<say "player" "You don’t have to. Not to her. That’s between us.">>
@@.narration-text;She doesn’t say anything. Just reaches over and pulls you close again. You let her. <br>Your arms circle around her as you both sink into the quiet — no more group chats, no cameras, no lights. <br>Just the steady rise and fall of her breath against your chest.
<br><br>
The hug lasts a long time. Not needing to speak. Just needing to *be*.@@
<span class="btn-104">
[[Continue|Alice_Office_Shoot_2_Entry]]
</span>@@.narration-text;The next morning, a new group chat lights up. Alice added Zoe to the conversation overnight. She’s already fired off a few enthusiastic messages before either of you reply.@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Group Chat: Alice 📸 + Zoe 💫 + $player </div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Okayyy, SO — idea for the next shoot 😍
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Office vibe. Desk. Computer. Sleek, confident, powerful.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Dark blue blouse, tucked just enough. Black skirt — halfway up the thighs. Professional but hot 😏
</div>
<div class="chat-bubble player">
Sounds like a solid concept. Classy, strong aesthetic.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Knew you'd get it! Zoe, you in? Or want to collab on creative again?
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Actually… I was going to bring that up.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I’m going to take a step back from shooting — not quitting, just... pausing for personal reasons.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
BUT I’d love to help plan, style, and support the shoots however I can.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Oh! Okay — I mean, I totally respect that. Are you alright?
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I’m good, promise. Just recharging. I think it’ll be good to shift focus for a bit.
</div>
<div class="chat-bubble player">
Zoe’s still the brain behind half this project. We’re lucky to have her even behind the lens.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
100% agreed 😌 Let’s keep the train rolling then! I’ll send some location ideas later?
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Sounds good 💬 Can’t wait to see what you two cook up.
</div>
</div>
</div>
<br>
<span class="btn-104">
[[Continue|Alice_Office_Shoot_2_Entry]]
</span><<set $_zoe = $characters['zoeb'].relationshipStatus>>
<<set $_alice = $characters['zoeb'].relationshipStatus>>
<<if $_zoe == "romance" and $_alice == "romance">>
<<goto "Shoot_Office_ZRomance_ARomance">>
<<elseif $_zoe == "romance" and $_alice == "friendly">>
<<goto "Shoot_Office_ZRomance_AFriendly">>
<<elseif $_zoe == "friendly" and $_alice == "romance">>
<<goto "Shoot_Office_ZFriendly_ARomance">>
<<elseif $_zoe == "friendly" and $_alice == "friendly">>
<<goto "Shoot_Office_ZFriendly_AFriendly">>
<</if>><<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
The lighting is already perfect when you arrive — soft, angled through the office blinds. You finish setting up the tripod as the front door opens.
<br><br>
Alice steps in, confident as ever, wearing exactly what she said:
a dark blue blouse, fitted just right, and a black skirt that lands mid-thigh. She gives a small wave, casual but focused.
<br><br>
Zoe follows a few minutes later, quieter. She takes a seat on the edge of the desk, arms crossed, offering a tight smile.
<br><br>
You catch her gaze briefly — something unreadable flickers there.
@@
<<say "alicem" "Everything set? I brought a backup top just in case the light hits this one weird.">>
<<say "player" "Nah, you’re good. It’s working with the color tone.">>
@@.narration-text;
Alice takes her position behind the desk, sliding the chair slightly sideways, one arm resting across the table, posture strong.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Alice prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("003.jpg")>>
@@.narration-text;
Click. Click. The shutter snaps quietly as Alice shifts between poses — nothing over the top, just subtle expression changes, small posture shifts. She listens well to direction.
<br><br>
You glance toward Zoe once. She's watching you — not Alice.
<br><br>
Then she looks away.
@@
<<say "zoeb" "Lighting’s solid. Maybe have her lean forward slightly next frame. Catch the angle from below.">>
<<say "player" "Yeah, good call. Alice, try leaning in — elbows on the desk. Hold the expression, like you just closed the best deal of your life.">>
<<say "alicem" "Boss mode. Got it.">>
@@.narration-text;
She adjusts, chin tilted slightly downward, lips parted like she’s about to say something powerful.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Alice prologue photo 4">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("004.jpg")>>
@@.narration-text;
Another round of shots. Clean. Sharp. Professional.
<br><br>
Zoe shifts her weight on the desk and finally speaks again.
@@
<<say "zoeb" "She’s got a good energy today. I’ll admit it.">>
<<say "player" "Yeah. It’s all flowing pretty naturally.">>
<<say "zoeb" (softly) "Mm.">>
@@.narration-text;
She smiles again — just barely.
<br><br>
But you know her well enough to see it:
That smile isn’t just about the shoot.
@@
<span class="btn-104">
[[Continue|Alice_Office_Shoot_Results_ZRomance_AFriendly]]
</span><<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
The makeshift office space is ready. Natural light slices through the blinds like stage lighting. You adjust the last light stand just as the door opens.
<br><br>
Alice walks in like it’s a runway — confident, smooth, eyes locked onto you the moment she steps in.
<br><br>
Dark blue blouse, black skirt just grazing her thighs, a wink as she brushes past.
@@
<<say "alicem" "Hope you're ready for magic. I dressed for impact.">>
<<say "player" "(smirking) You never dress halfway, huh?">>
@@.narration-text;
She gives a little spin near the desk before sitting. No backup tops today — she knows she nailed the look. Her fingers brush along the edge of the desk as she leans back slightly, waiting.
<br><br>
Then the door creaks again. Zoe enters.
<br><br>
She doesn’t say anything right away — just watches as Alice poses herself, legs crossed, one heel tapping rhythmically against the floor.
<br><br>
Zoe moves to the back wall and leans there, arms folded, lips a tight line. Her eyes flick from you, to Alice, then back to you.
@@
<<say "zoeb" "(quietly) Guess she’s comfortable in the spotlight.">>
<<say "player" "Yeah... she’s definitely got presence.">>
@@.narration-text;
You take the first few shots. Alice angles herself toward the light, blouse hugging just enough curve to turn the desk into a stage.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Alice prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("003.jpg")>>
@@.narration-text;
She glances past the lens — at you, not through you — like this is a private moment, not a photoshoot.
@@
<<say "alicem" "You’re staring.">>
<<say "player" "I’m focusing.">>
<<say "alicem" "Sure. Just remember where the lens is, not the lips.">>
@@.narration-text;
A quiet breath from behind you. You don’t need to look. Zoe definitely heard that.
<br><br>
She steps closer, just off to your right.
@@
<<say "zoeb" "Try the lean-in again, but this time with less... drama.">>
<<say "alicem" "(grinning) A little drama sells. You’d know, right?">>
<<say "zoeb" "(flatly) We’ll see what sells.">>
@@.narration-text;
You refocus. Alice leans into the desk, elbows planted, lips curled — the look of someone about to close a deal and ruin a man with a smile.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Alice prologue photo 4">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("004.jpg")>>
@@.narration-text;
The tension in the room isn’t in the light or the angles — it’s between glances. Between unspoken things.
<br><br>
You lower the camera and meet Zoe’s eyes.
She doesn’t say anything. But it’s written across her face.
<br><br>
And Alice?
She knows exactly what she’s stirring.
@@
<span class="btn-104">
[[Continue|Alice_Office_Shoot_Results_ZRomance_ARomance]]
</span>
<<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
It’s a crisp morning shoot — perfect light streaming through the blinds. You’re checking focus on the first setup when Alice arrives.
<br><br>
The office space goes from neutral to charged in two seconds flat.
@@
<<say "alicem" "Miss me already?" >>
<<say "player" "(grinning) I just got here.">>
<<say "alicem" "Exactly. Feels like forever.">>
@@.narration-text;
She twirls a pen between her fingers, then sets it down on the desk and stretches slowly — blouse fitting in all the right ways. The black skirt moves as she walks like a magnet drawing focus.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Alice prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("003.jpg")>>
@@.narration-text;
You snap a few shots, adjusting your position. Zoe walks in not long after — hoodie tied at the waist, casual and bright-eyed.
@@
<<say "zoeb" "Oof, this setup's killer. Alice, that top? Totally works.">>
<<say "alicem" "Knew you'd approve. I figured I'd make your co-director here a little distracted.">>
<<say "player" "(laughing awkwardly) Focus is fine. We’re rolling.">>
<<say "zoeb" "(grinning) Don’t get him flustered, Alice. He needs both hands on the camera.">>
@@.narration-text;
Alice smirks, crossing her legs under the desk and leaning forward.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Alice prologue photo 4">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("004.jpg")>>
<<say "alicem" "You sure you’re okay back there? You look like you forgot how to breathe.">>
<<say "player" "I’m good. Just… framing.">>
@@.narration-text;
Zoe chuckles lightly, adjusting a desk lamp to shift the shadows. She doesn't seem to catch the deeper tone in Alice’s voice. Or maybe she just trusts you both enough not to worry.
<br><br>
Alice, however, keeps pushing — brushing her hair back, biting her lip, holding a pose for *just* a second too long.
@@
<<say "alicem" "If this set doesn’t blow up, I might need a private shoot. You in?" >>
<<say "player" "Let's get through this one first.">>
@@.narration-text;
Zoe leans in, tapping her phone to adjust a filter preview.
@@
<<say "zoeb" "Lighting’s spot on. These are gonna hit hard. You two are a great team.">>
@@.narration-text;
You try not to react too much — to Alice’s teasing, or the way Zoe’s compliment catches you off guard.
<br><br>
The camera doesn’t lie. And right now, it’s catching heat from all sides.
@@
<span class="btn-104">
[[Continue|Alice_Office_Shoot_Results_ZFriendly_ARomance]]
</span><<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
You finish balancing the soft light when the door swings open.
<br><br>
Alice steps in, waving a hand with a confident grin.
She's dressed exactly as she said: dark blue blouse, black skirt, minimal makeup — polished and powerful.
@@
<<say "alicem" "Hey, team! Ready to make some office magic happen?">>
<<say "player" "Let’s get to it. Desk’s yours.">>
@@.narration-text;
She struts in and immediately starts positioning herself, testing the chair height, playing with pen props. No time wasted.
<br><br>
Zoe arrives next, humming a tune, her messenger bag slung over one shoulder.
@@
<<say "zoeb" "Nice setup! This whole thing looks like a glossy cover shoot. You nailed the outfit, Alice.">>
<<say "alicem" "Thanks! I feel like I should be negotiating mergers right now.">>
<<say "player" "Or leading a boardroom into revolution.">>
<<say "zoeb" (grinning) "Power pose time, clearly.">>
@@.narration-text;
Alice adjusts her blouse and leans slightly forward at the desk.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '003.jpg'" alt="Alice prologue photo 3">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("003.jpg")>>
@@.narration-text;
Click. Click. The rhythm of the shoot flows like water. No awkwardness, no tension — just three creative minds, synced up.
@@
<<say "zoeb" "Try shifting the chair slightly to the left. Framing will look killer with those blinds in the background.">>
<<say "player" "Yeah, and lean in a bit more — like you’re just about to close the deal of the century.">>
<<say "alicem" "I got you. CEO energy incoming.">>
@@.narration-text;
Alice adjusts again — posture confident, eyes sharp.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '004.jpg'" alt="Alice prologue photo 4">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("004.jpg")>>
@@.narration-text;
Zoe walks behind you, checking the preview on the camera screen.
@@
<<say "zoeb" "I think this might be your smoothest set yet.">>
<<say "player" "You really think so?">>
<<say "zoeb" "Definitely. You two have a good flow. It’s fun to watch.">>
<<say "alicem" "Let’s keep leveling up then. Next shoot, rooftop?">>
<<say "player" "Rooftop. Sunset. Challenge accepted.">>
@@.narration-text;
The laughter and momentum carry through the final frames.
You don't even need to check the shots yet — you can already tell:
This one’s going to land.
@@
<span class="btn-104">
[[Continue|Alice_Office_Shoot_Results_ZFriendly_AFriendly]]
</span><<set $_followerGain = 2537>>
<<if $characters['alicem'].followers > 1000>>
<<set $characters['alicem'].followers = 0>>
<</if>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
@@.narration-text;
The stats are climbing like a rocket. You refresh twice just to be sure.
<br><br>
+2,537 followers in under an hour.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
@@.narration-text;
Alice is ecstatic.
@@
<<say "alicem" "OH MY GOD. I LOVE THESE. <br>
This is INSANE. Two thousand? Already??">>
<<say "player" "Yeah… it's wild. And they're still coming in.">>
<<say "alicem" "You’re like... a sorcerer with a camera. I'm telling you.">>
@@.narration-text;
Before you can respond, she sends a flood of emojis — hearts, fire, and something that looks like a confetti cannon.
@@
<<say "alicem" "Ok but like… seriously. You’re mine for every shoot now. 😘">>
<<say "zoeb" "Whoa, possessive much?">>
@@.narration-text;
You glance at Zoe. She's leaning against the wall, arms folded. <br>
Her voice is light, but her eyes... not so much.
@@
<<say "player" "Hey — this is all good. Big win for everyone.">>
<<say "zoeb" "hhm. You two seem to have a *great* thing going.">>
@@.narration-text;
She walks off to pack up the lights without another word.
<br><br>
That hollow feeling creeps back in.
<br><br>
And you know this just got complicated.
@@
<span class="btn-104">
[[Continue|ZRomance_ARomance_Confrontation]]
</span>
<<set $_followerGain = 2537>>
<<if $characters['alicem'].followers > 1000>>
<<set $characters['alicem'].followers = 0>>
<</if>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
@@.narration-text;
You watch the likes surge and the comments multiply.
<br><br>
Over 2,537 new followers.
<br><br>
Alice is practically glowing.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "alicem" "Whaaaaat?! Dude. This is NUTS. Look at this graph. Look. At. It.">>
<<say "player" "I’m looking. It’s impressive. You owned that office shoot.">>
<<say "alicem" "All thanks to the guy behind the lens 💕">>
<<say "zoeb" "You really did amazing, Alice. The shots look incredible.">>
@@.narration-text;
Zoe walks over with her usual warm smile and lightly nudges your shoulder.
@@
<<say "zoeb" "Not bad, partner. Looks like you’ve got the golden touch.">>
<<say "player" "You helped with framing — don’t pretend you weren’t part of this.">>
<<say "alicem" "Team effort. But yeah... I’m already planning the next shoot in my head. Hope you're ready.">>
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_3a]]
</span>
<<set $_followerGain = 2537>>
<<if $characters['alicem'].followers > 1000>>
<<set $characters['alicem'].followers = 0>>
<</if>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
@@.narration-text;
The studio is still buzzing with energy when the follower count passes 2,500.
<br><br>
Alice nearly jumps out of her heels.
@@
<<say "alicem" "DID YOU SEE THIS?! This is UNREAL!">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "player" "You earned every click. Clean shoot. Strong looks. Office goddess vibes.">>
<<say "zoeb" "Told you you had a great aesthetic.">>
@@.narration-text;
Zoe walks over and raises her hand — Alice slaps it with a grinning high five.
@@
<<say "alicem" "Okay, okay, I’m not gonna cry, but this feels kinda huge?">>
<<say "zoeb" "It *is* huge. And you’ve got momentum now.">>
<<say "player" "Next shoot’s gonna ride that wave hard.">>
<<say "alicem" "Then let’s book it. Same crew?">>
<<say "zoeb" "Wouldn’t miss it.">>
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_3c]]
</span>
<set $_followerGain = 2537>>
<<if $characters['alicem'].followers > 1000>>
<<set $characters['alicem'].followers = 0>>
<</if>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
@@.narration-text;
You barely refresh the screen before Alice lets out a gleeful shriek.
@@
<<say "alicem" "TWO THOUSAND FIVE HUNDRED? You’re kidding me!!">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "player" "I mean, no? You saw the poses. You killed it.">>
<<say "alicem" "I *know*, right? But I didn't think *this* much. You bring something out of me.">>
@@.narration-text;
She steps closer — way into your personal space — and wraps her arms around your neck.
@@
<<say "alicem" "Seriously. You’re dangerous. You’re gonna ruin me for any other photographer. 😘">>
@@.narration-text;
Zoe laughs from the side, but doesn’t move closer. She just watches — carefully.
@@
<<say "zoeb" "Big results. Well-deserved.">>
<<say "player" "It’s all her — I just clicked the shutter.">>
<<say "alicem" "Don’t be modest. Next time, we go bigger. Better. Bolder.">>
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_3b]]
</span>
@@.narration-text;
Zoe didn’t even wait inside.
<br>
You spot her pacing just outside your building, hoodie on, arms crossed tight.
<br>
She looks like she hasn’t slept.
@@
<<say "zoeb" "So. Are we gonna talk about what the hell that was?">>
<<say "player" "Zoe, look—">>
<<say "zoeb" "She was all over you. Again. And you just… smiled. Flirted back. Right in front of me.">>
<<say "player" "It wasn’t like that. You know I—">>
<<say "zoeb" "Do I? Because I felt like a third wheel in my *own* life.">>
@@.narration-text;
Her voice cracks, just for a second. <br>
And that hurts worse than if she yelled.
@@
<<say "zoeb" "You told me I mattered. That I wasn’t just another girl behind a lens. But now it’s her on every frame… and you just—">>
<<say "player" "I didn’t mean to hurt you. I just—">>
<<say "zoeb" "Then choose. Right now. Is it her… or me?">>
@@.narration-text;
Silence. <br>
The moment stretches between you like a wire.
<br>
<br>
<br>
And then you answer.
@@
<span class="btn-104">
[[Choose Zoe|ZRomance_ARomance_ChooseZoe]]
</span>
<br><br>
<span class="btn-104">
[[Choose Alice|ZRomance_ARomance_ChooseAlice]]
</span>@@.narration-text;
You step closer. <br>
Her eyes are glassy, but she doesn’t flinch.
@@
<<say "player" "It’s you, Zoe. Always you. I just got lost in the middle of all this.">>
<<say "zoeb" "You really mean that? You’re not just saying it because I gave you an ultimatum?">>
<<say "player" "I mean it. Alice is... exciting, sure. But you're the one I care about. The one I want this with.">>
@@.narration-text;
Zoe looks at you for a long second. <br>
Then pulls you into a crushing hug.
@@
<<say "zoeb" "Okay. Then I’m in. All in. But I need you to have my back next time. No more doubts.">>
<<say "player" "You got it. I'm sorry I let it get this far.">>
@@.narration-text;
Behind her back, your phone buzzes again. Alice. <br>
But this time, you don’t reach for it.
@@
<span class="btn-104">
[[Continue|Pre_Shoot_Alice_3a]]
</span><<set $characters['zoeb'].managed = false>>
@@.narration-text;
The words hang heavy.
@@
<<say "player" "I... I think it’s Alice. I didn’t expect this, but I can’t deny there’s something there.">>
<<say "zoeb" "...Wow. Okay.">>
<<say "player" "Zoe, I didn’t plan for this to happen. It just—">>
<<say "zoeb" "No. It’s fine. You made your choice. That’s all I needed to hear.">>
@@.narration-text;
She steps back, face unreadable.
@@
<<say "zoeb" "I won’t be a backup plan. Not for anyone. So this... us... and the shoots? We're done.">>
<<say "player" "Zoe—">>
<<say "zoeb" "Goodbye.">>
@@.narration-text;
She turns and walks away. <br><br>
You watch her go, the weight of your choice hitting harder than you thought.
<br><br>
You still have Alice.
But something just broke you might never fix.
@@
<span class="btn-104">
[[Next day|Pre_Shoot_Alice_3a]]
</span>
<<nobr>>
<<set _slides to [
'img/npc/zoeb/events/ev2/video/001.mp4',
'img/npc/zoeb/events/ev2/video/002.mp4',
'img/npc/zoeb/events/ev2/video/003.mp4',
'img/npc/zoeb/events/ev2/video/004.mp4',
'img/npc/zoeb/events/ev2/video/005.mp4',
'img/npc/zoeb/events/ev2/video/006.mp4',
'img/npc/zoeb/events/ev2/video/007.mp4'
]>>
<<set _activeSlide to 0>>
<</nobr>>
<div id="slideshow-wrapper-video" class="video-container-wrapper">
<div id='slideshow' class="video-display-area">
<video width="100%" autoplay @src="_slides[_activeSlide]" class="lightbox-video-passage" onended="$('#next-video-button a').click()"></video>
</div>
<div id="controls-placement-video">
<<include "Slide_Controls_Logic_Video">>
</div>
</div><<if _activeSlide > 0>>
<span class="slideshow-nav-button prev-control">
<<link "<< Previous">>
<<set _activeSlide -= 1>>
<<replace "#slideshow">><video width="100%" autoplay @src="_slides[_activeSlide]" class="lightbox-video-passage" onended="$('#next-video-button a').click()"></video><</replace>>
<<replace "#controls-placement-video">><<include "Slide_Controls_Logic_Video">><</replace>>
<</link>>
</span>
<</if>>
<<if _activeSlide < _slides.length - 1>>
<span id="next-video-button" class="slideshow-nav-button next-control">
<<link "Next >>">>
<<set _activeSlide += 1>>
<<replace "#slideshow">><video width="100%" autoplay @src="_slides[_activeSlide]" class="lightbox-video-passage" onended="$('#next-video-button a').click()"></video><</replace>>
<<replace "#controls-placement-video">><<include "Slide_Controls_Logic_Video">><</replace>>
<</link>>
</span>
<</if>><<if $characters['zoeb'].managed == true>>
@@.narration-text;
Zoe and you are sitting on the couch, legs lazily tangled as you scroll through your shared feed. <br>
The success of the last shoot still echoes through the growing follower numbers,
but the focus now turns to Alice.
@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Starlight Crew</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Okay, okay — hear me out!
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
I wanna go just a liiiittle bolder for the next shoot. 😇
</div>
<div class="chat-bubble player">
Define “a little bolder,” Alice.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Same office vibes... but with a twist.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Thinking a semi see-through sleeveless blouse — light blue — tucked into a black skirt. Hits about mid-thigh.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Classy with a playful edge. I like it.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Omg Zoe, *thank you*. I wasn’t sure if it would come across as too much.
</div>
<div class="chat-bubble player">
Sounds clean but confident. Could work great with that high-rise office backdrop.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Just make sure the lighting’s soft — play into the contrast.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Ugh, yes. You both get me.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
I’ll send some inspo later. But this is going to be 🔥
</div>
</div>
</div>
@@.narration-text;
Zoe leans into your side, resting her head on your shoulder as the chat quiets down.
@@
<<say "zoeb" "Nice to see her confidence grow,">>
@@.narration-text;
You nod.
@@
<<say "player" "Yeah .... You had something to do with that.">>
@@.narration-text;
Zoe smiles faintly and squeezes your hand.
@@
<span class="btn-104">
[[Next day|Photoshoot_Alice_3a]]
</span>
<</if>>
<<if $characters['zoeb'].managed == false>>
@@.narration-text;
You’re alone this time as the messages light up your phone.
Zoe’s absence is still fresh — a quiet gap in the rhythm of your daily routine.
Alice starts the group chat, unaware of how different it all feels now.
@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Starlight Crew</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Okay, okay — hear me out!
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
I wanna go just a liiiittle bolder for the next shoot. 😇
</div>
<div class="chat-bubble player">
Define “a little bolder,” Alice.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Same office vibes... but with a twist.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Thinking a semi see-through sleeveless blouse — light blue — tucked into a black skirt. Hits about mid-thigh.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
By the way... where’s Zoe? Haven’t seen her in the chat lately.
</div>
<div class="chat-bubble player">
She stepped back. Said she needed a break — personal stuff.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Oh… I hope she’s okay.
</div>
<div class="chat-bubble player">
She’ll be fine. Just needs space. I’m still here though — and ready to shoot.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Glad to hear that. Alright then — let’s melt some lenses 🔥
</div>
</div>
</div>
@@.narration-text;
You set your phone down, letting out a breath you didn’t realize you were holding.
There’s work ahead — just a different kind now.
@@
<span class="btn-104">
[[Next day|Photoshoot_Alice_3a]]
</span>
<</if>>
<<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
<<if $characters['zoeb'].managed == true>>
@@.narration-text;
The afternoon sun spills into the room, casting a soft glow over the makeshift office set you and Zoe put together.
<br><br>
The camera's ready, lighting’s set, and Alice adjusts her blouse before stepping into frame.<br>
Zoe lingers near you, hands crossed, eyes flicking between you and the model in front of the lens.
@@
<<set $_alice = $characters['alicem'].relationshipStatus>>
<<if $_alice == "romance">>
<<say "alicem" "Sooo... how’s your focus today, Mr. Photographer? 😉">>
<<say "player" "The lens doesn’t flirt back, Alice. Let’s just get the framing right.">>
<<say "alicem" "Mmm, cold! But I like a challenge.">>
<<say "zoeb" "Alice, can you shift your shoulders a little? The light’s better from the left.">>
<<say "alicem" "Yes ma’am. All about the angles.">>
@@.narration-text;
You lift your camera and focus. Alice tilts her head, playing directly into the light.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
She moves confidently — but you keep the session strictly professional, ignoring the occasional smirks she tosses your way.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("006.jpg")>>
@@.narration-text;
As you lower the camera, Alice lets out a soft breath, clearly enjoying herself. Zoe doesn’t say anything — but you can feel her eyes lingering longer than usual.
@@
<<else>> <!-- FRIENDLY Alice version -->
<<say "alicem" "Ready when you are! Let’s get this shot looking next-level.">>
<<say "zoeb" "You look great. Just soften your shoulders a little. Yep, perfect.">>
<<say "player" "Alright, let’s roll. Light looks good.">>
@@.narration-text;
Alice steps into position, confident and collaborative. Her blouse catches the soft highlights near the window, blending sharp professionalism with poise.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
She switches poses naturally, listening to both you and Zoe without hesitation.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("006.jpg")>>
@@.narration-text;
You adjust your angle slightly. Zoe leans in and gives a quick thumbs-up.
@@
<</if>>
@@.narration-text;
The last click echoes through the room. Alice walks over, grinning, as Zoe brushes her arm lightly against yours.
@@
<<say "alicem" "You’re getting really good at this,">>
@@.narration-text;
She says softly — and maybe it's the way she says *you* that makes your chest feel a bit tighter.
<br><br>
You nod, unsure if she noticed Alice’s earlier glances — or if she did, and just didn’t care.
@@
<</if>>
<<if $characters['zoeb'].managed == false>>
@@.narration-text;
The apartment feels a bit quieter than usual.
Zoe’s not here this time — and it shows in the energy.
You’re prepping the lights and checking your framing when Alice steps forward, already playing to the invisible camera.
@@
<<set $_alice = $characters['alicem'].relationshipStatus>>
<<if $_alice == "romance">>
<<say "alicem" "No Zoe today? Guess I’ve got your full attention then… 😘">>
<<say "player" "You’ve got my lens. That’s all you need for now.">>
<<say "alicem" "Mmm... we’ll see about that.">>
@@.narration-text;
Alice settles onto the couch, crossing her legs slowly, letting the soft pink fabric catch the light just right.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
You keep your focus through sheer willpower — her glances, her posture, all demanding attention.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("006.jpg")>>
@@.narration-text;
Alice leans forward slightly, resting her elbows on her knees, gaze locked on you — playful and bold.
You lower the camera, clearing your throat.
@@
<<say "player" "Alright, that's a wrap. Great shots.">>
<</if>>
<<if $_alice == "friendly">>
<<say "alicem" "All set! You’ve got me solo today — hope I can live up to the pressure. 😄">>
<<say "player" "You’ll do fine. Let’s make it count.">>
@@.narration-text;
Alice takes her pose — confident but cooperative, aiming for something polished and elevated.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
Each click captures her charm and polish. She moves with ease, feeding off your simple cues.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("006.jpg")>>
@@.narration-text;
The shoot winds down smoothly. Alice stretches slightly, then walks over with a casual grin.
@@
<</if>>
<<say "alicem" "Solid stuff today. You’ve definitely found your rhythm.">>
<</if>>
<span class="btn-104">
[[Continue to Results|Shoot_Skirt_Results_ZRomance]]
</span>
@@.narration-text;Your phone buzzes — it’s the group chat with Zoe and Alice. You glance at it, not expecting anything out of the ordinary. But what starts as a quick check-in for the next shoot… shifts fast.@@
---
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Group Chat: Zoe, Alice, $player</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Heyyy, just wanted to say — that last shoot? 🔥
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
$player, you seriously bring out the best in me. Or maybe I just like how you look at me through that lens. 😉
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
We all bring our own style. That’s what makes the project work.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Oh, for sure. I just think Player and I have... a special vibe. Don’t you think?
</div>
<div class="chat-bubble player">
Uh, you’re definitely great on camera, Alice.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
😊
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Maybe we should do a *private* shoot sometime? Just us two. 😘
</div>
<div class="chat-bubble player">
Let’s… focus on the upcoming shoot for now.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Good idea.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Boo. You two are no fun.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Anyway, I’ll start putting together some outfit options. Can't wait to shoot with you again, $player 😘
</div>
</div>
</div>
---
<span class="btn-104">
[[Next day|Photoshoot_Alice_3b]]
</span><<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
The space is already set up by the time you arrive — Zoe arranged the lighting and backdrop with surprising precision.
<br><br>
Alice stands near the desk setup, adjusting her blouse and flicking her hair back confidently.
<br><br>
The vibe? Clean, stylish, professional.
You give a quick thumbs-up to both of them.
@@
<<set $_alice = $characters['alicem'].relationshipStatus>>
<<if $_alice == "romance">>
<<say "alicem" "I’ve been looking forward to this more than I should. Just you, me, and your camera lens. 😘">>
<<say "player" "We’re here to shoot, Alice. Let’s keep the focus sharp.">>
<<say "zoeb" "Light’s solid from that angle. Alice, just shift your foot slightly — yep, perfect.">>
@@.narration-text;
Alice poses confidently, eyes locking with yours a little longer than necessary.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
You stay focused, professional. But the flirtation lingers in her expressions — bold, curious, testing boundaries.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice prologue photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("001.jpg")>>
@@.narration-text;
Zoe stays upbeat through the process, clearly enjoying the creative vibe, even if she doesn't comment on the tension in the room.
@@
<<else>> <!-- Friendly Alice version -->
<<say "alicem" "Alright, let’s do this! I’m thinking confident with a touch of playful.">>
<<say "player" "Sounds perfect. Lighting looks great — you’re good to go.">>
<<say "zoeb" "Try angling your body a bit more to the left. Yes! That’s it.">>
@@.narration-text;
Alice steps into character — crisp lines, composed energy. She’s got the style down pat.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
She adjusts her skirt slightly, keeping the pose natural but assertive.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice prologue photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("001.jpg")>>
@@.narration-text;
Zoe chuckles lightly after one of the shots, clearly enjoying how easily this team clicks together.
@@
<</if>>
@@.narration-text;
The session wraps smoothly. Alice gives you a bright smile as she walks past to check some previews.
<br><br>
Zoe stands beside you, brushing some imaginary dust off your sleeve.
@@
<<say "zoeb" "Another solid one. You’ve definitely got an eye for this.">>
@@.narration-text;
You give her a smile. If she noticed any of Alice’s extra glances, she’s keeping it to herself.
@@
<span class="btn-104">
[[Continue to Results|Shoot_Skirt_Results_ZFriendly]]
</span>@@.narration-text;Your phone lights up with a ping — it’s the group chat. Zoe and Alice have already been chatting, and you’re just in time to catch the spark of planning energy.@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Group Chat: Zoe, Alice, You</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Okayyy — hear me out for the next shoot 😄
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Light blue sleeveless blouse, semi-sheer, tucked into a black skirt. Just above the knee.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Ooh, nice contrast with the last one. Still office-themed, but a touch edgier.
</div>
<div class="chat-bubble player">
Sounds like something that pops on camera. High contrast + clean backdrop = win.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Yes! I’m going for confident but still sharp. I’ve got a vibe in mind.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Let us know what props you want. I can help pick up stuff if needed.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
You're the best, Zoe 🫶
</div>
<div class="chat-bubble player">
We’re becoming a real production team at this point.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Honestly? Dream team energy. Can’t wait.
</div>
</div>
</div>
<br>
<span class="btn-104">
[[Next day|Photoshoot_Alice_3b]]
</span><<set $_followerGain = 10000>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
<<set $_alice = $characters['alicem'].relationshipStatus>>
<<set $_zoeManaged = $characters['zoeb'].managed>>
@@.narration-text;
The numbers come in fast.
Alice’s post is barely an hour old and her follower count has already exploded.
@@
<<if $_alice == "romance">>
@@.narration-text;
+10,000 followers. Comments pour in.
Fire emojis, admiration, compliments on the confidence in her look.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">+<<print formatNumber($_followerGain)>></span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value"><<print formatNumber($characters['alicem'].followers)>></span>
</div>
</div>
@@.narration-text;
Alice practically jumps into your arms, eyes wide with joy.
@@
<<say "alicem" "TEN THOUSAND! Can you believe this?? You’re magic! No — better than magic. You’re..." >>
@@.narration-text;
She trails off as she presses kisses against your cheek, forehead, neck — all in rapid succession.
@@
<<if $_zoeManaged == true>>
<<say "zoeb" "...Right here. Still here.">>
@@.narration-text;
Her voice cuts in from the side. Not angry, but tight.
<br><br>
Alice finally lets go, still beaming, clearly unaware of Zoe’s mood.
@@
<<say "alicem" "Sorry! I’m just... I didn’t think this would happen so fast!">>
<<say "player" "It’s okay. I get it. It’s huge.">>
@@.narration-text;
Zoe doesn’t say much after that. She just turns toward the gear bag and starts packing up.
@@
<span class="btn-104">
[[Continue|Zoe_Trip_Text_Invite]]
</span>
<<else>>
<span class="btn-104">
[[Continue|Post_Zoe_Trip_Setup]]
</span>
<</if>>
<</if>>
<<if $_alice == "friendly">>
@@.narration-text;
+10,000 new followers.
Alice stares at her screen, wide-eyed, then lets out a whoop that fills the space.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">+<<print formatNumber($_followerGain)>></span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value"><<print formatNumber($characters['alicem'].followers)>></span>
</div>
</div>
<<if $_zoeManaged == true>>
<<say "alicem" "OH MY GOD. Guys — GUYS. We did it. Look at this spike!">>
@@.narration-text;
She spins around and hugs you both at once — you and Zoe caught in the squeeze.
@@
<<say "zoeb" "I knew it’d work. You looked amazing, Alice.">>
<<say "player" "You owned it out there. No surprise to me.">>
<<say "alicem" "No way I’d have pulled it off without you two. Seriously. Thank you.">>
@@.narration-text;
The three of you just stand there for a moment, surrounded by open equipment cases and the soft hum of triumph.
@@
<span class="btn-104">
[[Continue|Zoe_Trip_Text_Invite]]
</span>
<<else>>
<<say "alicem" "OH MY GOD. We did it. Look at this spike!">>
@@.narration-text;
She hugs you hard, laughing breathlessly as she holds her phone in one hand, still scrolling.
@@
<<say "player" "All that confidence paid off. You crushed it.">>
<<say "alicem" "Couldn’t have done it without you. This team is gold.">>
<span class="btn-104">
[[Continue|Zoe_Trip_Text_Invite]]
</span>
<</if>>
<</if>>
<<set $_followerGain = 10000>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
<<set $_alice = $characters['alicem'].relationshipStatus>>
@@.narration-text;
The notifications hit like a tidal wave. <br><br>
Within an hour, Alice’s account has surged by over 10,000 new followers. <br><br>
You and Zoe sit beside each other on the edge of the shoot setup as Alice stares at her phone in disbelief.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<if $_alice == "romance">>
<<say "alicem" "Ten. Thousand. Followers. Holy crap. I think I’m going to scream. Or faint. Or both.">>
<<say "player" "You earned every click. You were amazing today.">>
<<say "zoeb" "See? Told you that outfit would do wonders. You looked powerful.">>
@@.narration-text;
Alice turns toward you, eyes gleaming — then suddenly wraps her arms around your neck and pulls you into a surprisingly long hug.
<br><br>
Zoe raises an eyebrow. You notice... but don’t react. You keep your hands carefully at your sides.
<br><br>
Alice pulls back slightly, her face still close.
@@
<<say "alicem" "You sure I don’t owe you dinner or something? Professional thank-you? Personal thank-you? 😏">>
<<say "player" "We’ll call it... one great shoot. Let’s focus on that.">>
@@.narration-text;
Zoe lets out a soft laugh behind you.
@@
<<say "zoeb" "He’s good at staying on task, Alice. No matter how many people throw themselves at him.">>
@@.narration-text;
You all share a laugh — but there’s a tension under it. Friendly, for now.
@@
<</if>>
<<if $_alice == "friendly">>
<<say "alicem" "This is INSANE. Look at these numbers! You two — seriously — I can't even.">>
@@.narration-text;
She grabs your wrist and shows you the screen: 10,000+ new followers, hundreds of comments flooding in.
@@
<<say "player" "Told you it would land. You brought confidence, and it showed.">>
<<say "zoeb" "This is what happens when preparation meets presence. You nailed it, Alice.">>
<<say "alicem" "Honestly, couldn’t have done this without either of you. I mean it.">>
@@.narration-text;
The moment is genuine. Gratitude, relief, pride.
<br><br>
The three of you high-five like a team walking off a championship game.
<br><br>
Zoe grins at you afterward, bumping your shoulder.
@@
<<say "zoeb" "Looks like you’re really getting the hang of this.">>
<</if>>
<span class="btn-104">
[[Continue|Zoe_Trip_Text_Invite]]
</span>
@@.narration-text;Just as you're finishing up checking messages, your phone buzzes again — this time from Zoe.@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
You free later?
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
There’s this chill spot — little bar with a terrace. I wanna talk about something.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Not drama. Just... stuff.
</div>
<div class="chat-bubble player">
<<print 'You okay?'>>
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Yeah. Promise. Just meet me there?
</div>
<div class="chat-bubble player">
<<print 'Sure. Be there soon.'>>
</div>
</div>
</div>
<br>
<span class="btn-104">
[[Head to the bar|Zoe_Trip_Announcement_Bar]]
</span><<set $_alice = $characters['alicem'].relationshipStatus>>
<<set $_zoeManaged = $characters['zoeb'].managed>>
@@.narration-text;
You're barely done closing out your last task when your phone lights up again — Alice. She's already thinking ahead.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Sooo... what do you say? Another shoot soon? 😇
</div>
<div class="chat-bubble player">
You read my mind.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Got an outfit idea already. White top, straps. Tight pink skirt. Cute but killer. 💖
</div>
<<if $_zoeManaged == false>>
<<if $_alice == "romance">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Might need help adjusting the straps though... 😉
</div>
<div class="chat-bubble player">
We’ll keep it professional. Mostly. 😅
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Mostly? Dangerous word. I like dangerous. 😏
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Let’s make this next shoot unforgettable.
</div>
<<else>> <!-- friendly -->
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Think it'll look great on camera. Soft vibe, but confident.
</div>
<div class="chat-bubble player">
Sounds like a win.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Let’s light up that feed again. 💪
</div>
<</if>>
<<else>> <!-- Zoe is still managed -->
<<if $_alice == "romance">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Might need help adjusting the straps though... 😉
</div>
<div class="chat-bubble player">
We’ll keep it professional. Mostly. 😅
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Mostly? Dangerous word. Can’t wait.
</div>
<div class="chat-bubble player">
Heads-up — Zoe’s out of town for a few days. She mentioned it was pre-planned.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Ooh. Guess that means we’ve got full creative control. 😏
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Tell her I said hi. (Unless you two need space 👀)
</div>
<div class="chat-bubble player">
I’ll let her know. We’re all good.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Then let’s make this next one 🔥
</div>
<<else>> <!-- friendly -->
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Think it'll look great on camera. Soft vibe, but confident.
</div>
<div class="chat-bubble player">
Sounds perfect.
</div>
<div class="chat-bubble player">
Just a heads-up — Zoe’s out for a few days. Pre-booked trip.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Ahh okay. Hope she gets a break. Girl works hard.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
We’ll hold it down here. Let's make this next shoot pop. 😎
</div>
<div class="chat-bubble player">
You got it.
</div>
<</if>>
<</if>>
</div>
</div>
<br>
<span class="btn-104">
[[Next Day|Shoot_TopSkirt_Setup]]
</span>
<<set $_zoe = $characters['zoeb'].relationshipStatus>>
@@.narration-text;
You spot Zoe before she sees you — seated on the terrace of a small bar tucked between shops, her hoodie hood down for once, hair loosely tied, sunglasses resting on the table beside a half-empty drink.
<br><br>
The late afternoon breeze carries the scent of lemon and street food. She waves you over as you step onto the patio.
<br><br>
You slide into the seat across from her.
@@
<img src="img/npc/zoeb/events/e3_001.jpg" class="vn-image">
<<if $_zoe == "romance">>
<<say "zoeb" "Thanks for coming. I needed to tell you something in person.">>
@@.narration-text;
She sips from her glass, watching your reaction carefully.
@@
<<say "zoeb" "I’m going away for a few days. Just... a trip with a friend. It was planned weeks ago. Kinda forgot to mention it until now.">>
<<say "player" "Oh? Okay. I mean, yeah, that’s fine. I didn’t know you had anything booked.">>
<<say "zoeb" "I didn’t either. It sort of snuck up on me.">>
@@.narration-text;
She fidgets with her straw — something between nervous and casual.
@@
<img src="img/npc/zoeb/events/e3_002.jpg" class="vn-image">
<<say "zoeb" "I just didn’t want you to wonder why I wasn’t texting much. No drama. Just some quiet.">>
@@.narration-text;
You nod, trying not to read into it. But part of you still wonders — about the timing, the friend, the unspoken things.
@@
<<say "player" "Got it. I’ll hold down the fort. You deserve a break.">>
@@.narration-text;
She leans forward, resting her hand on yours briefly.
@@
<<say "zoeb" "Thanks for understanding. That means more than you know.">>
<<elseif $_zoe == "friendly">>
<<say "zoeb" "Hey. I figured you'd prefer me telling you straight rather than dropping offline. So— I'm heading out of town for a bit.">>
<<say "player" "Oh? Some kind of escape plan?">>
<<say "zoeb" "Ha — not quite. Just a short trip. Friend of mine and I planned it weeks ago. I kinda forgot it was this soon.">>
<<say "player" "Where are you headed?">>
<<say "zoeb" "Some lakeside cabin. Nothing fancy. Just... needed to unplug for a while. Recharge.">>
<<say "player" "Yeah. Can’t blame you. You’ve been grinding hard. You’ll come back with like ten new shoot ideas.">>
<<say "zoeb" "Don’t tempt me. But yeah, maybe. Anyway — just wanted you to know. Didn’t want it to feel weird.">>
<<say "player" "Appreciate that. We’ll catch up when you're back.">>
@@.narration-text;
She grins and clinks her glass gently against your water.
@@
<img src="img/npc/zoeb/events/e3_002.jpg" class="vn-image">
<<say "zoeb" "Deal. Don’t let Alice blow up without me.">>
@@.narration-text;
The two of you sit for a few more minutes, letting the moment settle.
<br><br>
Whatever this is — friendship, something more — it matters enough for honesty.
@@
<</if>>
<span class="btn-104">
[[Continue|Post_Zoe_Trip_Setup]]
</span><<set $_alice = $characters['alicem'].relationshipStatus>>
<<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
The room is bathed in soft white light — a guest bedroom turned temporary studio. <br><br>
The bedsheets are crisp, the curtains sheer, and the air smells faintly of coconut lotion.
<br><br>
Alice walks out of the side room in her outfit: a white top with thin straps and a tight pink skirt that hugs her figure like a second skin. She does a small twirl, then grins at you.
@@
<<if $_alice == "romance">>
<<say "alicem" "What do you think? Too cute? Too much? Too irresistible?">>
<<say "player" "You're going to break the algorithm with that.">>
@@.narration-text;
She laughs, slow and smoky, stepping closer as she adjusts the strap of her top.
@@
<<say "alicem" "Just make sure I’m in focus. Not that you’ll be able to focus.">>
@@.narration-text;
You lift the camera, fingers steady, even if your thoughts aren’t. <br>
The shoot begins.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '007.jpg'" alt="Alice prologue photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("007.jpg")>>
@@.narration-text;
Alice stretches onto the edge of the bed, giving just enough flirt in the curve of her hips, the arch of her back.
<br><br>
You remain quiet, professional, snapping shot after shot — but she sees the crack in your focus and smirks.
@@
<<say "alicem" "You’re really keeping it together, huh? Must be exhausting.">>
<<say "player" "Let’s just say the lighting helps keep my eyes on task.">>
<div class="photoshoot-result">
<img @src="$_level1Path + '008.jpg'" alt="Alice prologue photo 8">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("008.jpg")>>
@@.narration-text;
She pulls at the hem of her skirt slightly, shifting on the bed with deliberate grace.
<br><br>
Despite every tease, you never cross the line. But it's a close dance — and she knows it.
@@
<<say "alicem" "Done torturing you — for now. Let’s see how they came out.">>
<</if>>
<<if $_alice == "friendly">>
<<say "alicem" "Alright! Pink skirt, white top — total soft glam vibes. You ready?">>
<<say "player" "Let’s roll. The setup’s clean, the light’s on our side.">>
@@.narration-text;
She hops onto the bed, playful and confident, striking a pose that’s cute and commanding.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '007.jpg'" alt="Alice prologue photo 7">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("007.jpg")>>
<<say "alicem" "This look screams 'effortless' — but I 100% sweated over which skirt to wear.">>
<<say "player" "Worth it. You’re glowing. Let’s try a seated shot.">>
<div class="photoshoot-result">
<img @src="$_level1Path + '008.jpg'" alt="Alice prologue photo 8">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("008.jpg")>>
@@.narration-text;
She sits up straight, crossing her legs just so, hands lightly brushing the edge of the bedframe.
<br><br>
The shoot flows easily. Laughter fills the space.
No pressure. Just progress.
@@
<<say "alicem" "That felt really good. I’m starting to feel like this whole 'influencer' thing might stick.">>
<<say "player" "It’s not sticking. It’s thriving.">>
<</if>>
<span class="btn-104">
[[View the results|Shoot_TopSkirt_Results]]
</span><<set $_followerGain = 25000>>
<<if $characters['alicem'].followers > 1000>>
<<set $characters['alicem'].followers = 0>>
<</if>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
<<set $_alice = $characters['alicem'].relationshipStatus>>
@@.narration-text;
It doesn’t take long. <br><br>
By the time you finish editing the last few shots, Alice’s phone is buzzing nonstop — likes, comments, shares, followers.
<br><br>
A spike. No, a surge.
@@
<<if $_alice == "romance">>
<<say "alicem" "Twenty-five thousand. In like... two hours. Holy *crap*.">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "player" "That might be a record-breaker.">>
@@.narration-text;
She practically leaps across the room, clutching her phone like a trophy.
@@
<<say "alicem" "Do you know what this means? We’re unstoppable. And Zoe’s not even here to slow things down.">>
<<say "player" "Zoe’s not slowing anything. She’s—">>
<<say "alicem" "Relax. I mean it in the best way. Less noise. More us.">>
@@.narration-text;
She steps in closer than necessary, eyes locked on yours — gleaming with ambition and something deeper. <br><br>
Your breath catches for just a second.
@@
<<say "alicem" "What would happen... if we stopped pretending you weren’t tempted?">>
<<say "player" "...We’d probably burn this whole project down.">>
<<say "alicem" "Mmm. Still sounds kinda worth it.">>
@@.narration-text;
Your heartbeat pounds, but you pull back just enough to ground yourself.
@@
<<say "player" "Let’s not lose what we’ve built.">>
<<say "alicem" "Fine. Be good. For now.">>
@@.narration-text;
She spins away with a smirk, flopping onto the couch — <br>
but you feel her eyes on you the whole time.
@@
<</if>>
<<if $_alice == "friendly">>
<<say "alicem" "Hold. Up. Twenty. Five. Thousand.">>
<<say "player" "Seriously?!">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "alicem" "Seriously. I think I just screamed in five emojis.">>
@@.narration-text;
She sends a confetti gif in your chat, then runs over to hug you — arms wrapping tight around your shoulders.
@@
<<say "alicem" "I couldn’t have done this without you. Not like this. You make me feel like I can actually *do* this. Like it’s real.">>
<<say "player" "It is real. You’re killin’ it. This is just the beginning.">>
<<say "alicem" "Remind me to put you in my acceptance speech when I hit a million.">>
<<say "player" "I'll hold you to that.">>
@@.narration-text;
The moment holds for a beat longer — full of shared momentum and honest gratitude. <br><br>
No pressure. Just progress.
@@
<</if>>
<<if $characters['zoeb'].managed == true>>
<span class="btn-104">
[[Continue|Zoe_Text_AlicePostReaction]]
</span>
<<else>>
<span class="btn-104">
[[Continue|Preshoot_alice_10]]
</span>
<</if>>
<<set $_zoe = $characters['zoeb'].relationshipStatus>>
@@.narration-text;Later that night, just as you’re cleaning up the shoot folder, your phone buzzes. Zoe. You haven't heard much since she left. But it seems she’s been watching from a distance.@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Zoe B</div>
</div>
<div class="chat-messages">
<<if $_zoe == "romance">>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Saw Alice’s new post.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
That look she gave the camera near the end... Was that meant for the audience or someone *behind* the lens?
</div>
<div class="chat-bubble player">
Come on. It was just part of the vibe. She’s playing the role, that’s all.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I know, I know. Guess I’m just seeing it differently from over here.
</div>
<div class="chat-bubble player">
You’ve got nothing to worry about. Promise.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
...Okay. Just checking.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
You’re still mine, right?
</div>
<div class="chat-bubble player">
Of course.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Good. Now go edit your magic, Mr. Professional.
</div>
<div class="chat-bubble player">
Yes ma’am.
</div>
<<elseif $_zoe == "friendly">>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
DUDE. That shoot? 🔥
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Alice is killing it — you two crushed that vibe.
</div>
<div class="chat-bubble player">
Thanks. She really brought her A-game this time.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
It's wild watching from the sidelines like this. Part of me wants to jump back in already.
</div>
<div class="chat-bubble player">
You’ll know when it’s the right time. No rush.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Still — so proud of you both. Miss being part of that rhythm.
</div>
<div class="chat-bubble player">
It’s not the same without you. But we’re holding the fort.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
I see that. 😎
</div>
<</if>>
</div>
</div>
<br>
<span class="btn-104">
[[Continue|Preshoot_alice_10]]
</span><<set $_alice = $characters['alicem'].relationshipStatus>>
@@.narration-text;
You’re mid-scroll through editing previews when Alice’s name pops up with a ping.
She’s already buzzing about the next shoot.
@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Quick q — will Zoe be at the next shoot? 👀
</div>
<<if $characters['zoeb'].managed == false>>
<div class="chat-bubble player">
No. She’s… no longer part of the shoots.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Oh... wow.
Wasn’t expecting that.
You okay?
</div>
<div class="chat-bubble player">
Yeah. It was... complicated.
But we move forward, right?
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Always. You’re not getting rid of me that easy. 😏
</div>
<<else>> <!-- Zoe is still managed -->
<div class="chat-bubble player">
Nah. Still out of town for a few more days.
</div>
<</if>>
<<if $_alice == "romance">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Good to know. Guess I’ll have to… step up the heat a little.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Gonna burn the algorithm down 🔥
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Outfit? Oh no no — spoilers. You’ll see it when the camera’s up.
</div>
<div class="chat-bubble player">
Should I be nervous?
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Only if you’re bad at keeping focus. 😉
</div>
<<elseif $_alice == "friendly" || $_alice == "distant">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Perfect! I’ve got something totally explosive in mind.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Algorithm won’t know what hit it.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
And no, I’m not telling you what I’m wearing yet. Where’s the fun in that?
</div>
<div class="chat-bubble player">
Building suspense. Classic influencer move.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Gotta keep the mystery alive 😄
</div>
<</if>>
</div>
</div>
<br>
<span class="btn-104">
[[Continue|Shoot_Heatwave_Alice]]
</span>
<<set $_alice = $characters['alicem'].relationshipStatus>>
<<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
Alice greets you at the apartment door in a light pink dress that might as well be a whispered suggestion.
<br><br>
The moment you see her, you know today’s shoot is going to require iron focus.
Not for the lighting. Not for the framing.
For you.
@@
<<if $_alice == "romance">>
@@.narration-text;
She saunters across the living room and sinks onto the white leather couch, legs crossing in a slow, deliberate motion.
Her gaze? Anywhere but the camera. Especially *you*.
<br><br>
She lets the silence hang — like a trap waiting to be sprung.
@@
<<say "alicem" "What, no compliments? I wore this just for you.">>
<<say "player" "Trying to keep things professional.">>
<<say "alicem" "Hmm. Shame. I was hoping you’d lose your grip just a little.">>
@@.narration-text;
You raise the camera.<br><br>
Alice sits on the couch, legs crossed, dress tugging at the edge, gaze turned away.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '009.jpg'" alt="Alice prologue photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("009.jpg")>>
@@.narration-text;
Click.
<br><br>
Then she shifts.
The second pose is bolder. She leans forward — the top of her dress slipping down her shoulders, revealing the delicate outline of her barely-there bra.
<br><br>
She looks directly into the lens this time.
@@
<<say "alicem" "Still professional? Even now?">>
<<say "player" "Barely.">>
<div class="photoshoot-result">
<img @src="$_level1Path + '010.jpg'" alt="Alice prologue photo 10">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("010.jpg")>>
@@.narration-text;
You swallow hard and take the shot.
@@
<<say "alicem" "Good. I’d hate to make this *too* easy for you.">>
<</if>>
<<if $_alice == "friendly">>
@@.narration-text;
Alice plops herself on the white couch and flashes a grin.
@@
<<say "alicem" "Alright, I’m trusting you to make me look dangerously hot — without crossing the algorithm’s invisible line.">>
<<say "player" "That line’s been fading with every outfit.">>
<<say "alicem" "Good. I brought an eraser.">>
@@.narration-text;
She adjusts her pose — legs crossed, dress barely making the effort. <br><br>
Head tilted slightly, smirk just shy of scandalous.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '009.jpg'" alt="Alice prologue photo 9">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("009.jpg")>>
<<say "alicem" "Tell me that doesn’t belong on a billboard.">>
<<say "player" "That belongs in an *ad campaign*.">>
@@.narration-text;
She laughs — then shifts forward, her dress dropping to reveal her near-sheer bra.
<br><br>
The air changes.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '010.jpg'" alt="Alice prologue photo 10">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("010.jpg")>>
<<say "alicem" "You okay over there, camera guy? You’re kinda quiet.">>
<<say "player" "Trying to focus. You’re not making it easy.">>
<<say "alicem" "Guess I’m just that good at my job.">>
@@.narration-text;
You both share a smile that holds more heat than either of you acknowledge. <br>
But the work continues.
<</if>>
<span class="btn-104">
[[Continue|Shoot_Heatwave_Results]]
</span>
<<set $_followerGain = 40000>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
@@.narration-text;
Alice is still sitting on the couch, pink dress low, the sheer bra underneath barely pretending to hide anything.
<br><br>
Her phone chimes. Once. Twice. Then it explodes with notifications.
@@
<<say "alicem" "Wait... oh my god. Forty thousand. Forty. *Thousand*. In one hour?!">>
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
@@.narration-text;
She jumps to her feet, nearly stumbling as she shouts with joy.
@@
<<say "alicem" "I could cry. I could scream. I could—">>
@@.narration-text;
She throws herself into your arms, hugging you tightly — then peppering your face with kisses.
<br><br>
One on your cheek.
<br><br>
Another on your temple.
<br><br>
Then your jaw.
<br><br>
And then... she stops.
<br><br><br>
Her hands move to your face, gently cradling it.
<br><br>
She’s breathing fast, eyes wide — locked on yours.
<br><br>
A moment suspended in heat and adrenaline.
@@
<<say "alicem" "I don’t care anymore. I want this. You. Right now.">>
@@.narration-text;
She leans in — slowly — lips drawing closer.
@@
<span class="btn-104">
[[Kiss Her|Shoot_Heatwave_Kiss]]
</span>
<br><br>
<span class="btn-104">
[[Pull Back|Shoot_Heatwave_PullBack]]
</span>
@@.narration-text;
You don’t hesitate. <br>
You lean in — lips meeting hers, soft and electric.
<br><br>
For a heartbeat, the world shrinks to nothing but the heat of the moment. <br>
But the kiss doesn’t stay gentle.
<br><br>
It deepens — slowly, then all at once.
<br><br>
Alice’s fingers slide into your hair as she pulls you closer.
Your hands find her waist — and time stops moving.
@@
@@.narration-text;
By the time she pulls back, both of you are breathless.
<br><br>
She keeps her forehead against yours, eyes fluttering open.
@@
<<say "alicem" "So...">>
<<say "alicem" "Do you want to take this further? Just... us. Right now.">>
@@.narration-text;
She’s not teasing.
<br>
Not playing.
<br>
Just open. Vulnerable. Wanting.
@@
<span class="btn-104">
[[Continue...|Shoot_Heatwave_Continue]]
</span>
<span class="btn-104">
[[Back Down|Shoot_Heatwave_BackDown]]
</span><<set $_zoe = $characters['zoeb'].relationshipStatus>>
<<if $_zoe == "romance">>
@@.narration-text;
Your heart races, her lips just inches from yours. <br>
But something holds you back.
<br><br>
You gently place your hands on her shoulders and take a step away.
@@
<<say "player" "Alice... I can’t.">>
@@.narration-text;
She blinks, surprised — the moment hanging between you.
@@
<<say "player" "There’s someone else. Zoe. I care about her too much to risk what we have.">
<<say "alicem" "...I see.">>
@@.narration-text;
She nods, forcing a smile that doesn’t quite reach her eyes.
@@
<<say "alicem" "Well... guess that’s my answer.">>
@@.narration-text;
You start to say more, but she waves it off gently.
@@
<<say "alicem" "It’s fine. Really. Just... got caught up.">>
@@.narration-text;
She smooths out her dress and looks away.
<br><br>
The energy in the room shifts — not hostile, just quieter.
@@
<</if>>
<<if $_zoe == "friendly">>
@@.narration-text;
Your heart pounds, her breath warm against your skin. <br>
But you hesitate.
<br><br>
You ease back just enough to break the moment.
@@
<<say "player" "Alice... you're amazing. But I don’t want to mess this up.">>
<<say "player" "What we have — the shoots, the flow, the fun — I’d rather protect that.">>
@@.narration-text;
She pauses. Smiles, but this time it’s wistful.
@@
<<say "alicem" "You’re really gonna play the professional card, huh?">>
<<say "player" "I think it's the right call.">>
<<say "alicem" "For now, maybe. Just don’t expect me to stop testing that professionalism.">>
@@.narration-text;
You both chuckle — but there’s a hint of something unspoken lingering between you.
<br><br>
She adjusts her dress and stretches, shifting the energy back to casual.
@@
<</if>>
<span class="btn-104">
[[Continue|Heatwave_Settling]]
</span><<popup 'First_time_alice_video' 'Your first time with Alice'>>
@@.narration-text;
The room is quiet now.
<br><br>
Alice is lying in your arms, her head resting gently against your chest. <br>
The sheets are tangled beneath you both, the soft glow of the late afternoon light spilling through the curtains.
<br><br>
She doesn’t say anything.
<br>
She doesn’t need to.
<br><br>
Your fingers trace lazy, silent patterns along her back — slow, thoughtful.
<br>
Her breathing is calm, steady, syncing with yours.
@@
<<say "alicem" "I needed that.">
@@.narration-text;
She shifts slightly, looking up at you with the smallest of smiles.
@@
<<say "alicem" "Not just... that. *You.* This. Just being close.">>
@@.narration-text;
You can’t help but smile too. <br>
No expectations. No roles. No camera.
<br><br>
Just the two of you, in a rare moment of peace.
@@
<<say "player" "I'm glad you're here.">>
<<say "alicem" "Me too.">>
@@.narration-text;
For a long while, there are no more words.
<br><br>
Just warmth.
<br>
Breath.
<br>
And stillness.
@@
<span class="btn-104">
[[Countine|Heatwave_Settling]]
</span>@@.narration-text;
Your lips are still tingling from the kiss, her hands still gently holding your face.
<br><br>
She leans in again — a question in her eyes.
<br><br>
But this time, you pause.
<br><br>
You place your hand softly over hers and shake your head — not harshly. Just… gently.
@@
<<say "player" "I’m not saying this was wrong. It wasn’t.">>
<<say "player" "But going further right now… it doesn’t feel right. Not yet.">>
@@.narration-text;
Alice blinks, clearly caught off guard. Then — she exhales, slow and deep.
<br><br>
She pulls back just a little, giving you space.
@@
<<say "alicem" "You sure? Because… that kiss said something else.">>
<<say "player" "It did. And I meant it. But I don’t want this to be a moment we look back on and wish we waited.">>
<<set $characters['alicem'].relationshipStatus = "romance">>
@@.narration-text;
She watches you for a long second. Then… she smiles.
<br><br>
Not disappointed.
Not bitter.
<br><br>
Just understanding.
@@
<<say "alicem" "That’s frustratingly mature of you.">>
<<say "alicem" "But okay. I respect that. No pressure.">>
@@.narration-text;
You both sit back, letting the adrenaline cool.
<br><br>
The silence that follows isn’t awkward — it’s calm. Comfortable.
<br><br>
And when she finally speaks again, her tone is lighter.
@@
<<say "alicem" "Still… best shoot I've ever had. Hands down.">>
<span class="btn-104">
[[Continue|Heatwave_Settling]]
</span>
<<nobr>>
<<set _slides to [
'img/npc/alicem/events/ev2/video/001.mp4',
'img/npc/alicem/events/ev2/video/002.mp4',
'img/npc/alicem/events/ev2/video/003.mp4',
'img/npc/alicem/events/ev2/video/004.mp4',
'img/npc/alicem/events/ev2/video/005.mp4',
'img/npc/alicem/events/ev2/video/006.mp4',
'img/npc/alicem/events/ev2/video/007.mp4',
'img/npc/alicem/events/ev2/video/008.mp4'
]>>
<<set _activeSlide to 0>>
<</nobr>>
<div id="slideshow-wrapper-video" class="video-container-wrapper">
<div id='slideshow' class="video-display-area">
<video width="100%" autoplay @src="_slides[_activeSlide]" class="lightbox-video-passage" onended="$('#next-video-button a').click()"></video>
</div>
<div id="controls-placement-video">
<<include "Slide_Controls_Logic_Video">>
</div>
</div>@@.narration-text;
You lean back, screen still glowing with numbers, photos, and memories.
<br><br>
What began as a few casual pictures..<br>.
Is now a storm of feelings, followers, and choices.
<br><br>
And it’s only just begun.
@@
<span class="btn-104">
[[To be continued in the full version...|Heatwave_Settling]]
</span>
@@.narration-text;
This marks the end of the current version.
<br><br>
More shoots, more choices, and unexpected turns are coming soon.<br>
Thank you for playing — your feedback helps shape what comes next. 💬
@@
<a href="https://tally.so/r/QKKVLp" target="_blank" class="btn-104">
📩 Send Us Your Feedback
</a>
/* The 'npcCard' widget
Usage:
<<npcCard "characterId">>
*/
<<widget "npcCard">>
<<if _args.length < 1>>
<<error "The <<npcCard>> widget requires 1 argument: a character ID.">>
<<else>>
<<set $_charId = _args[0]>>
<<set $_char = $characters[$_charId]>>
<<set $_portraitPath = $_char.imgPath + "portrait.jpg">>
<center><div class="npc-card">
<div class="npc-card-left">
<div class="npc-card-portrait">
<img @src="$_portraitPath" alt="NPC Portrait">
</div>
<div class="npc-card-header">
<h3><<print $_char.name>></h3>
<span>Age: <<print $_char.age>></span>
</div>
</div>
<div class="npc-card-right">
<div class="npc-card-stats-column">
<h4>Creator Stats</h4>
<div class="stat-bar">
<span class="stat-label">Modeling</span>
<span class="stat-value"><<print $_char.skills.modeling>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Streaming</span>
<span class="stat-value"><<print $_char.skills.streaming>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Action Points</span>
<span class="stat-value"><<print $_char.actionPoints>> / <<print $_char.maxActionPoints>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Followers</span>
<span class="stat-value"><<print formatNumber($_char.followers)>></span>
</div>
</div>
<div class="npc-card-stats-column">
<h4>Relationship</h4>
<div class="stat-bar">
<span class="stat-label">Friendship</span>
<span class="stat-value"><<print $_char.friendship>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Opinion</span>
<span class="stat-value"><<print $_char.opinion>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Trust</span>
<span class="stat-value"><<print $_char.trust>></span>
</div>
<div class="stat-bar">
<span class="stat-label">Mood</span>
<span class="stat-value"><<print $_char.mood>> / 100</span>
</div>
</div>
</div>
<div class="npc-card-footer">
<<capture $_charId>>
<span class="btn-104">
<<link "Gallery" "CharacterGallery">><<set $tempCharId = $_charId>><</link>>
</span>
<<if $game = "Prologue">> <<else>> <span class="btn-104">
<<link "Actions" "CharacterAction">><<set $tempCharId = $_charId>><</link>>
</span><</if>>
<</capture>>
</div>
</div></center>
<</if>>
<</widget>>@@.narration-text;
Zoe and you are sitting on the couch, legs lazily tangled as you scroll through your shared feed. <br>
The success of the last shoot still echoes through the growing follower numbers,
but the focus now turns to Alice.
@@
<div class="chat-window group-chat">
<div class="chat-header">
<div class="chat-header-name">Starlight Crew</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Okay, okay — hear me out!
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
I wanna go just a liiiittle bolder for the next shoot. 😇
</div>
<div class="chat-bubble player">
Define “a little bolder,” Alice.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Same office vibes... but with a twist.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Thinking a semi see-through sleeveless blouse — light blue — tucked into a black skirt. Hits about mid-thigh.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Classy with a playful edge. I like it.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Omg Zoe, *thank you*. I wasn’t sure if it would come across as too much.
</div>
<div class="chat-bubble player">
Sounds clean but confident. Could work great with that high-rise office backdrop.
</div>
<div class="chat-bubble npc sender-zoeb">
<div class="sender-name">Zoe B</div>
Just make sure the lighting’s soft — play into the contrast.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Ugh, yes. You both get me.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
I’ll send some inspo later. But this is going to be 🔥
</div>
</div>
</div>
@@.narration-text;
Zoe leans into your side, resting her head on your shoulder as the chat quiets down. @@
<<say "zoeb" "Nice to see her confidence grow,">>
@@.narration-text;
You nod.
@@
<<say "player" "Yeah .... You had something to do with that.">>
@@.narration-text;
Zoe smiles faintly and squeezes your hand.
@@
<span class="btn-104">
[[Next day|Photoshoot_Alice_3a]]
</span>
<<set $_char = $characters['alicem']>>
<<set $_level1Path = $_char.imgPath + $_char.photoLevels["1"].path>>
@@.narration-text;
The afternoon sun spills into the room, casting a soft glow over the makeshift office set you and Zoe put together.
<br><br>
The camera's ready, lighting’s set, and Alice adjusts her blouse before stepping into frame.<br>
Zoe lingers near you, hands crossed, eyes flicking between you and the model in front of the lens.
@@
<<set $_alice = $characters['alicem'].relationshipStatus>>
<<if $_alice == "romance">>
<<say "alicem" "Sooo... how’s your focus today, Mr. Photographer? 😉">>
<<say "player" "The lens doesn’t flirt back, Alice. Let’s just get the framing right.">>
<<say "alicem" "Mmm, cold! But I like a challenge.">>
<<say "zoeb" "Alice, can you shift your shoulders a little? The light’s better from the left.">>
<<say "alicem" "Yes ma’am. All about the angles.">>
@@.narration-text;
You lift your camera and focus. Alice tilts her head, playing directly into the light.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-text;
She moves confidently — but you keep the session strictly professional, ignoring the occasional smirks she tosses your way.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice prologue photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("001.jpg")>>
@@.narration-text;
As you lower the camera, Alice lets out a soft breath, clearly enjoying herself. Zoe doesn’t say anything — but you can feel her eyes lingering longer than usual.
@@
<<else>> <!-- FRIENDLY Alice version -->
<<say "alicem" "Ready when you are! Let’s get this shot looking next-level.">>
<<say "zoeb" "You look great. Just soften your shoulders a little. Yep, perfect.">>
<<say "player" "Alright, let’s roll. Light looks good.">
@@.narration-text;
Alice steps into position, confident and collaborative. Her blouse catches the soft highlights near the window, blending sharp professionalism with poise.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '005.jpg'" alt="Alice prologue photo 5">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("005.jpg")>>
@@.narration-tex;
She switches poses naturally, listening to both you and Zoe without hesitation.
@@
<div class="photoshoot-result">
<img @src="$_level1Path + '006.jpg'" alt="Alice prologue photo 6">
<p class="success">You got the shot!</p>
</div>
<<run $characters['alicem'].gallery["1"].push("006.jpg")>>
@@.narration-text;
You adjust your angle slightly. Zoe leans in and gives a quick thumbs-up.
@@
<</if>>
@@.narration-text;
The last click echoes through the room. Alice walks over, grinning, as Zoe brushes her arm lightly against yours.
@@
<<say "alicem" "You’re getting really good at this,">>
@@.narration-text;
She says softly — and maybe it's the way she says *you* that makes your chest feel a bit tighter.
<br><br>
You nod, unsure if she noticed Alice’s earlier glances — or if she did, and just didn’t care.
@@
<span class="btn-104">
[[Continue to Results|Shoot_Skirt_Results_ZRomance]]
</span>
<<set $_followerGain = 10000>>
<<set $characters['alicem'].followers += $_followerGain>>
<<set $characters['alicem'].value += Math.round($_followerGain / 3)>>
<<set $_alice = $characters['alicem'].relationshipStatus>>
@@.narration-text;
The numbers come in fast.
Alice’s post is barely an hour old and her follower count has already exploded.
@@
<<if $_alice == "romance">>
@@.narration-text;
+10,000 followers. Comments pour in.
Fire emojis, admiration, compliments on the confidence in her look.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
@@.narration-text;
Alice practically jumps into your arms, eyes wide with joy.
@@
<<say "alicem" "TEN THOUSAND! Can you believe this?? You’re magic! No — better than magic. You’re..." >>
@@.narration-text;
She trails off as she presses kisses against your cheek, forehead, neck — all in rapid succession.
@@
<<say "zoeb" "...Right here. Still here.">>
@@.narration-text;
Her voice cuts in from the side. Not angry, but tight.
<br><br>
Alice finally lets go, still beaming, clearly unaware of Zoe’s mood.
@@
<<say "alicem" "Sorry! I’m just... I didn’t think this would happen so fast!">
<<say "player" "It’s okay. I get it. It’s huge.">>
@@.narration-text;
Zoe doesn’t say much after that. She just turns toward the gear bag and starts packing up.
@@
<</if>>
<<if $_alice == "friendly">>
@@.narration-text;
+10,000 new followers.
Alice stares at her screen, wide-eyed, then lets out a whoop that fills the space.
@@
<div class="prologue-rewards rewards-box">
<div class="reward-item">
<span class="reward-label">New Followers:</span>
<span class="reward-value">
+<<print formatNumber($_followerGain)>>
</span>
</div>
<div class="reward-item">
<span class="reward-label">Total Followers:</span>
<span class="reward-value">
<<print formatNumber($characters['alicem'].followers)>>
</span>
</div>
</div>
<<say "alicem" "OH MY GOD. Guys — GUYS. We did it. Look at this spike!">>
@@.narration-text;
She spins around and hugs you both at once — you and Zoe caught in the squeeze.
@@
<<say "zoeb" "I knew it’d work. You looked amazing, Alice.">>
<<say "player" "You owned it out there. No surprise to me.">>
<<say "alicem" "No way I’d have pulled it off without you two. Seriously. Thank you.">>
@@.narration-text;
The three of you just stand there for a moment, surrounded by open equipment cases and the soft hum of triumph.
@@
<</if>>
<span class="btn-104">
[[Continue|Zoe_Trip_Text_Invite]]
</span><<set $_alice = $characters['alicem'].relationshipStatus>>
@@.narration-text;You're barely done closing out your last task when your phone lights up again — Alice. She's already thinking ahead.@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Sooo... what do you say? Another shoot soon? 😇
</div>
<div class="chat-bubble player">
You read my mind.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Got an outfit idea already. White top, straps. Tight pink skirt. Cute but killer. 💖
</div>
<<if $_alice == "romance">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Might need help adjusting the straps though... 😉
</div>
<div class="chat-bubble player">
We’ll keep it professional. Mostly. 😅
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Mostly? Dangerous word. Can’t wait.
</div>
<div class="chat-bubble player">
Heads-up — Zoe’s out of town for a few days. She mentioned it was pre-planned.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Ooh. Guess that means we’ve got full creative control. 😏
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Tell her I said hi. (Unless you two need space 👀)
</div>
<div class="chat-bubble player">
I’ll let her know. We’re all good.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Then let’s make this next one 🔥
</div>
<<elseif $_alice == "friendly">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Think it'll look great on camera. Soft vibe, but confident.
</div>
<div class="chat-bubble player">
Sounds perfect.
</div>
<div class="chat-bubble player">
Just a heads-up — Zoe’s out for a few days. Pre-booked trip.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Ahh okay. Hope she gets a break. Girl works hard.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
We’ll hold it down here. Let's make this next shoot pop. 😎
</div>
<div class="chat-bubble player">
You got it.
</div>
<</if>>
</div>
</div>
<br>
<span class="btn-104">
[[Plan the location|Shoot_TopSkirt_Setup]]
</span><<set $_alice = $characters['alicem'].relationshipStatus>>
@@.narration-text;You’re mid-scroll through editing previews when Alice’s name pops up with a ping. She’s already buzzing about the next shoot.@@
<div class="chat-window private-chat">
<div class="chat-header">
<div class="chat-header-name">Alice M</div>
</div>
<div class="chat-messages">
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Quick q — will Zoe be at the next shoot? 👀
</div>
<div class="chat-bubble player">
Nah. Still out of town for a few more days.
</div>
<<if $_alice == "romance">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Good to know. Guess I’ll have to… step up the heat a little.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Gonna burn the algorithm down 🔥
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Outfit? Oh no no — spoilers. You’ll see it when the camera’s up.
</div>
<div class="chat-bubble player">
Should I be nervous?
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Only if you’re bad at keeping focus. 😉
</div>
<<elseif $_alice == "friendly" || $_alice == "distant">>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Perfect! I’ve got something totally explosive in mind.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Algorithm won’t know what hit it.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
And no, I’m not telling you what I’m wearing yet. Where’s the fun in that?
</div>
<div class="chat-bubble player">
Building suspense. Classic influencer move.
</div>
<div class="chat-bubble npc sender-alicem">
<div class="sender-name">Alice M</div>
Gotta keep the mystery alive 😄
</div>
<</if>>
</div>
</div>
<br>
<span class="btn-104">
[[Continue|Shoot_Heatwave_Alice]]
</span><<set $_zoe = $characters['zoeb'].relationshipStatus>>
<<if $_zoe == "romance">>
@@.narration-text;
Your heart races, her lips just inches from yours. <br>
But something holds you back.
<br><br>
You gently place your hands on her shoulders and take a step away.
@@
<<say "player" "Alice... I can’t.">>
@@.narration-text;
She blinks, surprised — the moment hanging between you.
@@
<<say "player" "There’s someone else. Zoe. I care about her too much to risk what we have.">
<<say "alicem" "...I see.">>
@@.narration-text;
She nods, forcing a smile that doesn’t quite reach her eyes.
@@
<<say "alicem" "Well... guess that’s my answer.">>
@@.narration-text;
You start to say more, but she waves it off gently.
@@
<<say "alicem" "It’s fine. Really. Just... got caught up.">>
@@.narration-text;
She smooths out her dress and looks away.
<br><br>
The energy in the room shifts — not hostile, just quieter.
@@
<</if>>
<<if $_zoe == "friendly">>
@@.narration-text;
Your heart pounds, her breath warm against your skin. <br>
But you hesitate.
<br><br>
You ease back just enough to break the moment.
@@
<<say "player" "Alice... you're amazing. But I don’t want to mess this up.">>
<<say "player" "What we have — the shoots, the flow, the fun — I’d rather protect that.">>
@@.narration-text;
She pauses. Smiles, but this time it’s wistful.
@@
<<say "alicem" "You’re really gonna play the professional card, huh?">>
<<say "player" "I think it's the right call.">>
<<say "alicem" "For now, maybe. Just don’t expect me to stop testing that professionalism.">>
@@.narration-text;
You both chuckle — but there’s a hint of something unspoken lingering between you.
<br><br>
She adjusts her dress and stretches, shifting the energy back to casual.
@@
<</if>>
<span class="btn-104">
[[Continue|Heatwave_Settling]]
</span>