width:10px;
height:10px;
}background:linear-gradient(180deg, var(--brick2), var(--brick));
border-radius:999px;
}
@media(max-width:1180px) {
#story .player-skill-grid,
#story .home-stats-card .skillbox.compact-skills,
#story .home-stats-card .skillbox.player-skill-grid {
grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
}
@media(max-width:700px) {
#story .player-skill-grid,
#story .home-stats-card .skillbox.compact-skills,
#story .home-stats-card .skillbox.player-skill-grid {
grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
gap:7px !important;
}
#story .player-skill-label,
#story .player-skill-tile > .skill-label,
#story .home-stats-card .skillrow > .skill-label {
font-size:.74rem !important;
}
}
@media(max-width:560px) {
#story .identity-card .girl-identity-head {
display:grid !important;
grid-template-columns:1fr auto !important;
align-items:baseline !important;
gap:4px 10px !important;
}
#story .identity-card .girl-identity-name {
white-space:normal !important;
}
#story .identity-card .girl-identity-traits {
grid-column:1 / -1 !important;
min-width:0 !important;
}
}
@media(max-width:360px) {
#story .player-skill-grid,
#story .home-stats-card .skillbox.compact-skills,
#story .home-stats-card .skillbox.player-skill-grid {
grid-template-columns:1fr !important;
}
#story .identity-card .girl-identity-head {
display:flex !important;
flex-direction:column !important;
align-items:flex-start !important;
}
}background:#100d0a;
}<<run setup.CC.init()>>
<<set $cc.view = "character">>
<<set $cc.passageHint = "Character Creation">>
<<= setup.CC.view("character") >><<run setup.CC.init()>>
<<set $cc.view = "cheatsSupport">>
<<set $cc.passageHint = "Cheats Support">>
<<= setup.CC.view("cheatsSupport") >>/% CHARACTER_CREATION
{
"questions": [
{
"id": "origin",
"label": "Where did your life start?",
"options": [
{
"id": "quiet_suburb",
"label": "A quiet suburb",
"desc": "Stable streets made you observant, polite, and patient.",
"bonuses": {
"focus": 6,
"empathy": 5,
"charm": 4,
"finance": 3
}
},
{
"id": "inner_blocks",
"label": "Dense inner blocks",
"desc": "Crowded streets taught you speed, nerve, and presence.",
"bonuses": {
"hustle": 6,
"willpower": 5,
"dominance": 4,
"anal": 3
}
},
{
"id": "student_district",
"label": "A student district",
"desc": "Books, debate, and screens were always nearby.",
"bonuses": {
"intelligence": 6,
"informatic": 5,
"focus": 4,
"oral": 3
}
},
{
"id": "coastal_town",
"label": "A coastal town",
"desc": "Open air, movement, and good light shaped your habits.",
"bonuses": {
"fitness": 6,
"sports": 5,
"photography": 4,
"penetration": 3
}
},
{
"id": "old_town_kitchens",
"label": "Old town kitchens",
"desc": "You grew up around food, music, and people talking late.",
"bonuses": {
"cooking": 6,
"music": 5,
"massage": 4,
"touching": 3
}
},
{
"id": "arts_commune",
"label": "An arts commune",
"desc": "Performers, painters, and loose schedules made you expressive.",
"bonuses": {
"art": 6,
"teasing": 5,
"kissing": 4,
"charm": 3
}
}
]
},
{
"id": "childhood",
"label": "What filled your childhood?",
"options": [
{
"id": "helped_home",
"label": "Helping at home",
"desc": "You cooked, cleaned, and noticed what others needed.",
"bonuses": {
"cooking": 6,
"empathy": 5,
"focus": 4,
"finance": 3
}
},
{
"id": "played_team_sports",
"label": "Team sports",
"desc": "Practice, bruises, routines, and locker room confidence.",
"bonuses": {
"fitness": 6,
"sports": 5,
"willpower": 4,
"dominance": 3
}
},
{
"id": "built_computers",
"label": "Building computers",
"desc": "You broke parts, fixed them, and learned logic the hard way.",
"bonuses": {
"informatic": 6,
"intelligence": 5,
"hustle": 4,
"penetration": 3
}
},
{
"id": "drew_and_shot",
"label": "Drawing and photos",
"desc": "You learned faces, framing, and small visual details.",
"bonuses": {
"art": 6,
"photography": 5,
"charm": 4,
"kissing": 3
}
},
{
"id": "learned_instruments",
"label": "Learning instruments",
"desc": "Timing, rhythm, and performance became familiar.",
"bonuses": {
"music": 6,
"teasing": 5,
"oral": 4,
"touching": 3
}
},
{
"id": "watched_people",
"label": "Watching people",
"desc": "You studied moods, habits, and who held power in a room.",
"bonuses": {
"empathy": 6,
"massage": 5,
"anal": 4,
"focus": 3
}
}
]
},
{
"id": "teen_years",
"label": "What shaped your teen years?",
"options": [
{
"id": "part_time_hustles",
"label": "Part-time hustles",
"desc": "You chased cash, favors, and better ways to spend time.",
"bonuses": {
"hustle": 6,
"finance": 5,
"charm": 4,
"cooking": 3
}
},
{
"id": "library_afternoons",
"label": "Library afternoons",
"desc": "You built patience, vocabulary, and discipline in silence.",
"bonuses": {
"intelligence": 6,
"focus": 5,
"willpower": 4,
"informatic": 3
}
},
{
"id": "amateur_performance",
"label": "Amateur performance",
"desc": "Stages and attention made you playful under pressure.",
"bonuses": {
"music": 6,
"teasing": 5,
"kissing": 4,
"art": 3
}
},
{
"id": "martial_practice",
"label": "Martial practice",
"desc": "You learned balance, contact, and controlled aggression.",
"bonuses": {
"fitness": 6,
"dominance": 5,
"sports": 4,
"anal": 3
}
},
{
"id": "first_relationships",
"label": "First relationships",
"desc": "You learned closeness, hesitation, and when touch matters.",
"bonuses": {
"empathy": 6,
"touching": 5,
"oral": 4,
"penetration": 3
}
},
{
"id": "online_side_gigs",
"label": "Online side gigs",
"desc": "You worked with screens, edits, payments, and clients.",
"bonuses": {
"photography": 6,
"finance": 5,
"informatic": 4,
"massage": 3
}
}
]
},
{
"id": "early_work",
"label": "What was your first serious work?",
"options": [
{
"id": "kitchen_helper",
"label": "Kitchen helper",
"desc": "Fast hands, timing, heat, and pressure trained you.",
"bonuses": {
"cooking": 6,
"hustle": 5,
"focus": 4,
"oral": 3
}
},
{
"id": "retail_assistant",
"label": "Retail assistant",
"desc": "You handled strangers without losing patience.",
"bonuses": {
"charm": 6,
"empathy": 5,
"willpower": 4,
"kissing": 3
}
},
{
"id": "photo_freelancer",
"label": "Photo freelancer",
"desc": "You chased light, angles, clients, and payment.",
"bonuses": {
"photography": 6,
"art": 5,
"finance": 4,
"teasing": 3
}
},
{
"id": "it_support",
"label": "IT support",
"desc": "You solved tedious problems while people panicked nearby.",
"bonuses": {
"informatic": 6,
"intelligence": 5,
"focus": 4,
"penetration": 3
}
},
{
"id": "massage_assistant",
"label": "Massage assistant",
"desc": "You practiced pressure, pace, and reading physical tension.",
"bonuses": {
"massage": 6,
"touching": 5,
"sports": 4,
"anal": 3
}
},
{
"id": "nightlife_runner",
"label": "Nightlife runner",
"desc": "Noise, flirting, favors, and pressure became normal.",
"bonuses": {
"hustle": 6,
"fitness": 5,
"dominance": 4,
"music": 3
}
}
]
},
{
"id": "comfort_zone",
"label": "What pulled you out of your comfort zone?",
"options": [
{
"id": "late_night_parties",
"label": "Late-night parties",
"desc": "Noise, dancing, flirting, and crowded rooms taught you timing.",
"bonuses": {
"charm": 6,
"teasing": 5,
"music": 4,
"kissing": 3
}
},
{
"id": "rough_training_partners",
"label": "Rough training partners",
"desc": "You learned balance, stamina, and how to hold your ground.",
"bonuses": {
"fitness": 6,
"sports": 5,
"willpower": 4,
"dominance": 3
}
},
{
"id": "intimate_experiments",
"label": "Intimate experiments",
"desc": "You learned to read breath, hesitation, and physical feedback up close.",
"bonuses": {
"touching": 6,
"oral": 5,
"penetration": 4,
"empathy": 3
}
},
{
"id": "careful_taboo_curiosity",
"label": "Careful taboo curiosity",
"desc": "You learned that delicate pressure needs patience, control, and trust.",
"bonuses": {
"anal": 6,
"focus": 5,
"intelligence": 4,
"informatic": 3
}
},
{
"id": "paid_creative_jobs",
"label": "Paid creative jobs",
"desc": "You sold taste, angles, style, and quick solutions for real money.",
"bonuses": {
"photography": 6,
"art": 5,
"finance": 4,
"hustle": 3
}
},
{
"id": "hands_on_care",
"label": "Hands-on care",
"desc": "You helped with sore bodies, tense moods, and practical comforts.",
"bonuses": {
"massage": 6,
"cooking": 5,
"empathy": 4,
"focus": 3
}
}
]
},
{
"id": "social_style",
"label": "How do people usually read you?",
"options": [
{
"id": "warm_listener",
"label": "Warm listener",
"desc": "You make people feel heard before you push forward.",
"bonuses": {
"empathy": 6,
"charm": 5,
"cooking": 4,
"oral": 3
}
},
{
"id": "playful_tease",
"label": "Playful tease",
"desc": "You test reactions with jokes, looks, and timing.",
"bonuses": {
"teasing": 6,
"kissing": 5,
"music": 4,
"art": 3
}
},
{
"id": "direct_leader",
"label": "Direct leader",
"desc": "You decide quickly and make hesitation feel unnecessary.",
"bonuses": {
"dominance": 6,
"willpower": 5,
"hustle": 4,
"anal": 3
}
},
{
"id": "calm_observer",
"label": "Calm observer",
"desc": "You slow things down and watch for the useful detail.",
"bonuses": {
"focus": 6,
"intelligence": 5,
"informatic": 4,
"photography": 3
}
},
{
"id": "smooth_networker",
"label": "Smooth networker",
"desc": "You remember names, value, and how people want to be seen.",
"bonuses": {
"charm": 6,
"finance": 5,
"massage": 4,
"penetration": 3
}
},
{
"id": "stubborn_protector",
"label": "Stubborn protector",
"desc": "You stand your ground and use your body with care.",
"bonuses": {
"willpower": 6,
"fitness": 5,
"touching": 4,
"sports": 3
}
}
]
},
{
"id": "personal_study",
"label": "What did you study for yourself?",
"options": [
{
"id": "home_cooking",
"label": "Home cooking",
"desc": "You studied flavor, timing, shopping, and hospitality.",
"bonuses": {
"cooking": 6,
"empathy": 5,
"finance": 4,
"touching": 3
}
},
{
"id": "coding_projects",
"label": "Coding projects",
"desc": "You built tools, scripts, and a habit of testing details.",
"bonuses": {
"informatic": 6,
"intelligence": 5,
"focus": 4,
"penetration": 3
}
},
{
"id": "money_tracking",
"label": "Money tracking",
"desc": "You learned budgets, deals, and how to stretch a small start.",
"bonuses": {
"finance": 6,
"hustle": 5,
"willpower": 4,
"anal": 3
}
},
{
"id": "visual_arts",
"label": "Visual arts",
"desc": "You practiced style, pose, framing, and presentation.",
"bonuses": {
"art": 6,
"photography": 5,
"teasing": 4,
"kissing": 3
}
},
{
"id": "music_nights",
"label": "Music nights",
"desc": "You studied rhythm, mood, timing, and attention.",
"bonuses": {
"music": 6,
"charm": 5,
"oral": 4,
"dominance": 3
}
},
{
"id": "bodywork_notes",
"label": "Bodywork notes",
"desc": "You studied posture, soreness, touch, and recovery.",
"bonuses": {
"massage": 6,
"sports": 5,
"fitness": 4,
"focus": 3
}
}
]
},
{
"id": "drive",
"label": "What drives you now?",
"options": [
{
"id": "stability",
"label": "Stability",
"desc": "You want money, routine, and fewer surprises.",
"bonuses": {
"finance": 6,
"willpower": 5,
"focus": 4,
"cooking": 3
}
},
{
"id": "recognition",
"label": "Recognition",
"desc": "You want to be seen, remembered, and desired.",
"bonuses": {
"photography": 6,
"charm": 5,
"art": 4,
"kissing": 3
}
},
{
"id": "discipline",
"label": "Discipline",
"desc": "You trust effort, training, and repeatable results.",
"bonuses": {
"willpower": 6,
"fitness": 5,
"sports": 4,
"dominance": 3
}
},
{
"id": "curiosity",
"label": "Curiosity",
"desc": "You want to understand systems, people, and taste.",
"bonuses": {
"intelligence": 6,
"informatic": 5,
"music": 4,
"massage": 3
}
},
{
"id": "pleasure",
"label": "Pleasure",
"desc": "You want confidence, touch, and intimate skill.",
"bonuses": {
"touching": 6,
"oral": 5,
"penetration": 4,
"empathy": 3
}
},
{
"id": "control",
"label": "Control",
"desc": "You want to guide the room and test limits carefully.",
"bonuses": {
"dominance": 6,
"anal": 5,
"teasing": 4,
"hustle": 3
}
}
]
}
]
}
END_CHARACTER_CREATION %//% DATA_LOCATIONS
{
"home": {
"number": 0,
"name": "Your home",
"icon": "🏠",
"vibe": "private",
"desc": "Private base, rest, work, sleep."
},
"loc1": {
"number": 1,
"name": "Gym",
"icon": "🏋️",
"vibe": "active",
"desc": "Weights, sweat, mirrors, motion."
},
"loc2": {
"number": 2,
"name": "Mall",
"icon": "🛍️",
"vibe": "public",
"desc": "Shops, food, errands, crowds."
},
"loc3": {
"number": 3,
"name": "Low Income Residential",
"icon": "🏚️",
"vibe": "street",
"desc": "Cheap flats, bus stops, corner stores."
},
"loc4": {
"number": 4,
"name": "High Income Residential",
"icon": "🏘️",
"vibe": "quiet",
"desc": "Clean streets, gates, quiet courtyards."
},
"loc5": {
"number": 5,
"name": "University Library",
"icon": "📚",
"vibe": "study",
"desc": "Books, laptops, whispers, focus."
},
"loc6": {
"number": 6,
"name": "Cafe Row",
"icon": "☕",
"vibe": "social",
"desc": "Coffee, pastries, gossip, laptops."
},
"loc7": {
"number": 7,
"name": "Nightclub",
"icon": "🎵",
"vibe": "night",
"desc": "Bass, lights, drinks, heat."
},
"loc8": {
"number": 8,
"name": "City Park",
"icon": "🌳",
"vibe": "calm",
"desc": "Paths, benches, joggers, shade."
},
"loc9": {
"number": 9,
"name": "Beachfront",
"icon": "🏖️",
"vibe": "sun",
"desc": "Sand, sun, towels, volleyball."
},
"loc10": {
"number": 10,
"name": "Office District",
"icon": "🏢",
"vibe": "work",
"desc": "Glass towers, lunch rush, deals."
},
"loc11": {
"number": 11,
"name": "Art Studio",
"icon": "🎨",
"vibe": "creative",
"desc": "Paint, photos, sketches, models."
},
"loc12": {
"number": 12,
"name": "Transit Plaza",
"icon": "🚉",
"vibe": "busy",
"desc": "Trains, buses, kiosks, commuters."
},
"loc13": {
"number": 13,
"name": "Financial District",
"icon": "🏦",
"vibe": "finance",
"desc": "Banks, suits, trades, quick lunches."
},
"loc14": {
"number": 14,
"name": "Wellness Spa",
"icon": "🧖",
"vibe": "wellness",
"desc": "Steam, towels, massage, calm."
}
}
END_DATA_LOCATIONS %//% PHOTO_DATA
{
"basePath": "img",
"fallbackFolder": "00",
"defaultKey": "portrait",
"files": {
"portrait": "portrait.png",
"profile": "portrait.png",
"social_topbot": "social topbot.png",
"social_topund": "social topund.png",
"social_toppus": "social toppus.png",
"social_brabot": "social brabot.png",
"social_braund": "social braund.png",
"social_brapus": "social brapus.png",
"social_titbot": "social titbot.png",
"social_titund": "social titund.png",
"social_naked": "social naked.png",
"massage_topbot": "massage topbot.png",
"massage_topund": "massage topund.png",
"massage_toppus": "massage toppus.png",
"massage_brabot": "massage brabot.png",
"massage_braund": "massage braund.png",
"massage_brapus": "massage brapus.png",
"massage_titbot": "massage titbot.png",
"massage_titund": "massage titund.png",
"massage_naked": "massage naked.png",
"cunnilingus": "cunnilingus.png",
"fingering": "fingering.png",
"blowjob": "blowjob.png",
"handjob": "handjob.png",
"sixtynine": "69.png",
"titjob": "titjob.png",
"titfuck_licktip": "titfuck licktip.png",
"naked_legspread": "naked legspread.png",
"missionary": "missionary.png",
"doggy_sex": "doggy sex.png",
"cowgirl_sex": "cowgirl sex.png",
"revcow_sex": "revcow sex.png",
"standwall_sex": "standwall sex.png",
"anal_missionary": "missionary anal.png",
"anal_doggy": "doggy anal.png",
"anal_cowgirl": "cowgirl anal.png",
"anal_reverse_cowgirl": "revcow anal.png",
"anal_wall": "standwall anal.png",
"cum_on_body": "cum on body.png",
"cum_on_back": "cum back.png",
"cum_on_breasts": "cum tits.png",
"cum_on_face": "cum facial.png",
"cum_in_mouth": "cum mouth.png",
"cum_inside_pussy": "cum creampie.png",
"cum_inside_ass": "cum anal.png",
"footjob": "footjob.png",
"titfuck": "titfuck.png",
"deepthroat": "deepthroat.png",
"analingus": "analingus.png",
"kiss": "kiss.png",
"fingering_anal": "fingering anal.png",
"cafe": "cafe.png",
"gym": "gym.png",
"gallery": "gallery.png"
},
"statePools": {
"social": {
"topbot": "social_topbot",
"topund": "social_topund",
"toppus": "social_toppus",
"brabot": "social_brabot",
"braund": "social_braund",
"brapus": "social_brapus",
"titbot": "social_titbot",
"titund": "social_titund",
"naked": "social_naked"
},
"massage": {
"topbot": "massage_topbot",
"topund": "massage_topund",
"toppus": "massage_toppus",
"brabot": "massage_brabot",
"braund": "massage_braund",
"brapus": "massage_brapus",
"titbot": "massage_titbot",
"titund": "massage_titund",
"naked": "massage_naked"
}
},
"actionMap": {
"introduce": "pool:social",
"ask_about_schedule": "pool:social",
"talk_cooking": "pool:social",
"talk_sports": "pool:social",
"talk_computers": "pool:social",
"talk_finance": "pool:social",
"talk_art": "pool:social",
"talk_photography": "pool:social",
"talk_massage": "pool:social",
"talk_music": "pool:social",
"compliment_style": "pool:social",
"flirt_soft": "pool:social",
"flirt_bold": "pool:social",
"tease_words": "pool:social",
"ask_number": "pool:social",
"ask_address": "pool:social",
"invite_coffee": "cafe",
"invite_workout": "gym",
"invite_gallery": "gallery",
"invite_room": "pool:social",
"invite_private_movie": "pool:social",
"invite_meal": "pool:social",
"look_eyes": "pool:social",
"admire_outfit": "pool:social",
"gaze_chest": "pool:social",
"gaze_legs": "pool:social",
"whisper_dirty": "pool:social",
"touch_hand": "pool:social",
"touch_arm": "pool:social",
"hug_her": "pool:social",
"caress_thigh": "pool:social",
"pet_over_clothes": "pool:social",
"gentle_command": "pool:social",
"hold_eye_contact_command": "pool:social",
"guide_position": "pool:social",
"dirty_praise": "pool:social",
"massage_start": "pool:massage",
"massage_shoulders": "pool:massage",
"massage_neck": "pool:massage",
"massage_back": "pool:massage",
"massage_lower_back": "pool:massage",
"massage_legs": "pool:massage",
"massage_breasts": "pool:massage",
"massage_ass": "pool:massage",
"massage_inner_thighs": "pool:massage",
"massage_pussy_fabric": "pool:massage",
"massage_pussy_bare": "pool:massage",
"massage_vagina": "pool:massage",
"kiss_cheek": "kiss",
"kiss_lips": "kiss",
"deep_kiss": "kiss",
"finger_pussy": "fingering",
"lick_pussy": "cunnilingus",
"suck_clit": "cunnilingus",
"sit_on_face": "cunnilingus",
"ask_permission_oral": "cunnilingus",
"demand_cunnilingus": "cunnilingus",
"beg_cunnilingus": "cunnilingus",
"sixty_nine": "sixtynine",
"beg_sixty_nine": "sixtynine",
"ask_blowjob": "blowjob",
"demand_blowjob": "blowjob",
"beg_blowjob": "blowjob",
"ask_handjob": "handjob",
"demand_handjob": "handjob",
"beg_handjob": "handjob",
"breast_sex": "titfuck",
"missionary": "missionary",
"cont_sex_missionary": "missionary",
"doggy": "doggy_sex",
"cont_sex_doggy": "doggy_sex",
"cowgirl": "cowgirl_sex",
"cont_sex_cowgirl": "cowgirl_sex",
"reverse_cowgirl": "revcow_sex",
"cont_sex_reverse_cowgirl": "revcow_sex",
"against_wall": "standwall_sex",
"cont_sex_wall": "standwall_sex",
"anal_missionary": "anal_missionary",
"cont_anal_missionary": "anal_missionary",
"anal_doggy": "anal_doggy",
"cont_anal_doggy": "anal_doggy",
"anal_cowgirl": "anal_cowgirl",
"cont_anal_cowgirl": "anal_cowgirl",
"anal_reverse_cowgirl": "anal_reverse_cowgirl",
"cont_anal_reverse_cowgirl": "anal_reverse_cowgirl",
"anal_wall": "anal_wall",
"cont_anal_wall": "anal_wall",
"come_body": "cum_on_body",
"come_boobs": "cum_on_breasts",
"come_face": "cum_on_face",
"come_mouth": "cum_in_mouth",
"come_inside": "cum_inside_pussy",
"come_inside_ass": "cum_inside_ass",
"come_back": "cum_on_back",
"say_goodbye": "pool:social",
"remove_your_clothes": "pool:social",
"ask_top_off": "pool:social",
"try_top_off": "pool:social",
"unhook_bra": "pool:social",
"ask_bra_off": "pool:social",
"ask_bottom_off": "pool:social",
"try_bottom_off": "pool:social",
"remove_panties": "pool:social",
"ask_panties_off": "pool:social",
"strip_together": "pool:social",
"ask_naked": "pool:social",
"make_her_hold_still": "pool:social",
"use_massage_oil": "pool:massage",
"massage_tongue_pussy": "cunnilingus",
"massage_tongue_ass": "analingus",
"rub_breasts_fabric": "pool:social",
"rub_pussy_fabric": "pool:social",
"suck_nipples": "pool:social",
"grind_together": "pool:social",
"ask_permission_finger": "fingering",
"cont_finger_keep": "fingering",
"cont_finger_to_mouth": "cunnilingus",
"cont_cunni_add_fingers": "fingering",
"cont_cunni_keep": "cunnilingus",
"cont_cunni_tease": "cunnilingus",
"cont_cunni_to_analingus": "analingus",
"cont_analingus_keep": "analingus",
"cont_analingus_slow": "analingus",
"cont_analingus_circle": "analingus",
"cont_analingus_to_cunni": "cunnilingus",
"cont_bj_let_continue": "blowjob",
"cont_bj_guide_rhythm": "blowjob",
"cont_bj_praise": "blowjob",
"cont_bj_deeper": "deepthroat",
"cont_bj_slow_down": "blowjob",
"cont_bj_eye_contact": "blowjob",
"cont_bj_touch_hair": "blowjob",
"cont_hj_keep": "handjob",
"cont_hj_guide_rhythm": "handjob",
"cont_hj_kiss": "handjob",
"cont_hj_tease": "handjob",
"cont_hj_to_bj": "blowjob",
"cont_69_keep": "sixtynine",
"cont_69_focus_her": "sixtynine",
"cont_69_let_her_focus_you": "sixtynine",
"cont_69_grind": "sixtynine",
"cont_sex_to_69": "sixtynine",
"anal_talk": "pool:social",
"finger_ass": "fingering_anal",
"cont_finger_tease": "fingering",
"cont_rubbing_keep": "pool:social",
"cont_rubbing_to_fingering": "fingering",
"gaze_ass": "pool:social",
"ask_footjob": "footjob",
"beg_footjob": "footjob",
"demand_footjob": "footjob",
"cont_footjob_keep": "footjob",
"ask_titfuck": "titfuck",
"beg_titfuck": "titfuck",
"demand_titfuck": "titfuck",
"cont_titfuck_keep": "titfuck",
"cont_titfuck_let_work": "titfuck",
"cont_titfuck_lick_tip": "titfuck_licktip",
"demand_sixty_nine": "sixtynine"
},
"imageFallbackKeys": {
"titfuck_licktip": "titfuck",
"deepthroat": "blowjob",
"analingus": "social_naked",
"cafe": "social_topbot",
"gym": "social_topbot",
"gallery": "social_topbot",
"portrait": "social_topbot",
"profile": "social_topbot",
"social_topund": "social_topbot",
"social_toppus": "social_topbot",
"social_brabot": "social_topbot",
"social_braund": "social_topbot",
"social_brapus": "social_topbot",
"social_titbot": "social_topbot",
"social_titund": "social_topbot",
"social_naked": "social_topbot",
"massage_topbot": "social_topbot",
"massage_topund": "social_topbot",
"massage_toppus": "social_topbot",
"massage_brabot": "social_topbot",
"massage_braund": "social_topbot",
"massage_brapus": "social_topbot",
"massage_titbot": "social_topbot",
"massage_titund": "social_topbot",
"massage_naked": "social_topbot",
"cunnilingus": "social_topbot",
"fingering": "social_topbot",
"blowjob": "social_topbot",
"handjob": "social_topbot",
"sixtynine": "social_topbot",
"titjob": "social_topbot",
"naked_legspread": "social_topbot",
"missionary": "social_topbot",
"doggy_sex": "social_topbot",
"cowgirl_sex": "social_topbot",
"revcow_sex": "social_topbot",
"standwall_sex": "social_topbot",
"anal_missionary": "social_topbot",
"anal_doggy": "social_topbot",
"anal_cowgirl": "social_topbot",
"anal_reverse_cowgirl": "social_topbot",
"anal_wall": "social_topbot",
"cum_on_body": "social_topbot",
"cum_on_back": "social_topbot",
"cum_on_breasts": "social_topbot",
"cum_on_face": "social_topbot",
"cum_in_mouth": "social_topbot",
"cum_inside_pussy": "social_topbot",
"cum_inside_ass": "social_topbot",
"footjob": "social_topbot",
"titfuck": "social_topbot",
"kiss": "social_topbot",
"fingering_anal": "social_topbot"
}
}
END_PHOTO_DATA %//% DATA_SKILLS
{
"mainSkills": [
"fitness",
"charm",
"empathy",
"hustle",
"intelligence",
"willpower",
"focus"
],
"knowledgeSkills": [
"cooking",
"informatic",
"sports",
"finance",
"art",
"photography",
"massage",
"music"
],
"sexSkills": [
"kissing",
"touching",
"teasing",
"oral",
"penetration",
"anal",
"dominance"
],
"actionTabs": [
"Talk",
"Flirt",
"Touch",
"Petting",
"Sexual",
"Strip",
"Command",
"Climax"
],
"jobTabs": [
"Basic",
"Service",
"Skilled",
"Creative",
"Expert",
"Training"
],
"skillLabels": {
"fitness": "Fitness",
"charm": "Charm",
"empathy": "Empathy",
"hustle": "Hustle",
"intelligence": "Intelligence",
"willpower": "Willpower",
"focus": "Focus",
"cooking": "Cooking",
"informatic": "Informatic",
"sports": "Sports",
"finance": "Finance",
"art": "Art",
"photography": "Photography",
"massage": "Massage",
"music": "Music",
"kissing": "Kissing",
"touching": "Touching",
"teasing": "Teasing",
"oral": "Oral",
"penetration": "Penetration",
"anal": "Anal",
"dominance": "Dominance"
}
}
END_DATA_SKILLS %/Lust is long-term attraction and sexual openness. It rises slowly and survives across days, like trust, affection, obedience, and knowledge.
Arousal is the short-term encounter meter. Some saves may still store it under the older stat name, but the UI and player-facing text call it arousal. Girl arousal rises during relevant intimate actions, resets to 0 at the start of every day, and is hidden when it is 0.
Girl arousal no longer appears in the normal stat list. During interaction it has its own compact bar. Patience also uses a compact bar.
Your arousal has a state:
0-4 is hidden.
5-9 means soft, but getting harder.
10-19 means getting harder.
20-39 means hard.
40-79 means rock hard.
80+ means twitching, you will come soon.
Penetrative actions require you to be at least hard, meaning 20+ arousal.
Your arousal cannot rise past 50 from non-physical stimulation. Talk, flirting, gaze, and massage can build tension, but they cannot push you beyond that cap. Physical stimulation, blowjob, 69, sex, anal, grinding, and similar direct states can push you past 50.
At 100 arousal, normal actions are hidden and only climax choices appear. The girl can accept or physically block the chosen finish. If she blocks it, you still come partly on her and yourself, but gains are weak and trust or affection can drop.
Female orgasms do not stop the current action anymore. The girl can orgasm and you can continue the active rhythm until you come. When you come, your arousal drops to 0 and the active sexual state stops because you are no longer hard.
Continuation actions now cost less stamina, while arousal gains are slower overall. This should make longer escalation possible without turning every encounter into an instant climax.
Most actions can now reach 100% chance if the stats, skills, preferences, arousal and setting support it.
Trust and charm are no longer the answer to everything. Social actions still care about them, but dominance, lust, obedience, arousal, preferences, Touching skill and context have more weight where they make sense. Command actions are meant to build obedience, lust and the player's Dominance skill.
Schedule model: girls now follow deterministic 7 moment x 7 day schedules. The old percentage values are ignored by the engine and hidden from the UI. The player does not know the full table at first: the first schedule clue unlocks at 4 Knowledge, then one additional random stable clue unlocks every 2 Knowledge, up to all 49 clues at 100 Knowledge. Asking about her schedule is harder than before but gives a much larger Knowledge reward. Residential slots require knowing her address before she can appear there or be visited.
END_DATA_STAT_MODEL %/<div id="cc-cheat-dialog-mount" class="cc-cheat-dialog-mount"><p class="muted">Opening cheats menu...</p></div><div id="cc-photo-dialog-mount" class="cc-photo-dialog-mount"><p class="muted">Opening image...</p></div>/% DIALOGUE_DATA
{
"girlId": "g0",
"girl": "Maya Bell",
"readyVariable": "dialogue001ready",
"notes": [],
"heatInterruptions": {
"success": [
"\"One answer. Then keep your hands where they were.\"",
"\"Fast. I was enjoying the part where I did not have to talk.\""
],
"failure": [
"\"No. Wrong moment.\"",
"\"You just broke the rhythm. Fix that first.\""
],
"successHot": [
"\"One answer. Then get back to making me forget the rest.\"",
"\"I can barely think. Make it quick.\""
],
"failureHot": [
"\"No. Worst possible second.\"",
"\"Stop. You pulled me out of it.\""
]
},
"responses": [
{
"action": "talk_cooking",
"success": [
"\"Yes. That. Heat first, timing second, ego never. You actually understand food.\"",
"\"Fuck, finally. Someone who knows flavor is not just throwing more ingredients at a plate.\"",
"\"Good. You know when to leave something alone. Half of cooking is not ruining the part that already worked.\"",
"\"That is the first time today someone made seasoning sound like a decision instead of a panic response.\""
],
"failure": [
"\"No. That is not cooking. That is menu noise with confidence.\"",
"\"You just made food sound like a grocery list. I hate that more than I expected.\"",
"\"That is how people overcook chicken and call it rustic.\"",
"\"Please do not talk about flavor like it is a button you press at the end.\""
]
},
{
"action": "talk_photography",
"success": [
"\"Yes. The light is doing the work there, not the pastry. Good eye.\"",
"\"Leave the crumbs in the frame. Perfect food looks fake, and fake food makes me angry.\"",
"\"Good. You noticed the shine before the shape. That is what makes it feel warm.\"",
"\"Exactly. The photo should make you remember touching it, not just seeing it.\""
],
"failure": [
"\"No. You looked at the subject and missed the shot.\"",
"\"That is a lazy angle. The frame is doing more than 'pretty thing in middle'.\"",
"\"That is how people photograph dinner like evidence.\"",
"\"You missed the light completely, and now I am offended on behalf of the plate.\""
]
},
{
"action": "massage_start",
"success": [
"\"Shoulders first. If your hands wander, we are done.\"",
"\"Fine. Useful hands only, at least until I decide otherwise.\""
],
"failure": [
"\"Not with that energy. You are not touching my back like a shortcut.\"",
"\"No. You look like you want the ending before the work.\""
]
},
{
"action": "invite_meal",
"success": [
"\"You are cooking for me? Bold. Potentially tragic, but bold.\"",
"\"Fine. Feed me something that tastes like a decision.\""
],
"failure": [
"\"Not if you are using dinner as bait.\"",
"\"No. I do not want to supervise your panic in a kitchen.\""
]
},
{
"action": "talk_massage",
"success": [
"\"Good. Shoulders first because that is where people store every lie they tell about being fine.\"",
"\"That is annoyingly right. Tension does not leave because someone orders it to.\"",
"\"Yes. Slow pressure, then wait. If the body trusts you, it tells you where to go next.\"",
"\"Careful. Keep describing it like that and I might start believing your hands are useful.\""
],
"failure": [
"\"No. That sounds like you want a shortcut to touching someone.\"",
"\"Massage is not rubbing until something turns sexual. Please be less obvious.\"",
"\"You just made relaxation sound like a sales pitch with hands.\"",
"\"If your first thought is where your hands get to end up, you already missed the point.\""
]
},
{
"action": "talk_sports",
"success": [
"\"That is actually sensible. Pacing matters more than pretending pain is a personality.\"",
"\"Good. Effort without the motivational-poster garbage. I can respect that.\"",
"\"Yes. Stamina is not drama. It is showing up again when nobody claps.\"",
"\"That makes sense. A body has limits, and pretending otherwise is just expensive stupidity.\""
],
"failure": [
"\"No. 'Push harder' is not a plan, it is how people hurt themselves loudly.\"",
"\"Do not make exhaustion sound noble. Sometimes people are just tired.\"",
"\"That sounded like advice from a man about to tear something important.\"",
"\"If pain is the only proof it worked, maybe the plan is bad.\""
]
},
{
"action": "talk_art",
"success": [
"\"I like that. Art should look like somebody had a pulse while making it.\"",
"\"Yes. The imperfect part is the only reason that piece feels alive.\"",
"\"Good. You noticed the hand in it. I like work that still shows where someone touched it.\"",
"\"That actually works. Clean enough to mean it, messy enough to breathe.\""
],
"failure": [
"\"No. That is not taste, that is decorating a sentence.\"",
"\"If your whole opinion is 'nice colors', save it for someone with more patience.\"",
"\"That sounded like a gallery label trying to hide that it has nothing to say.\"",
"\"You are talking around it because you do not know what it did to you.\""
]
},
{
"action": "talk_music",
"success": [
"\"Okay, I hear it. The pause before the chorus is doing more than the chorus.\"",
"\"That is better than calling it a vibe and hoping I forgive you.\"",
"\"Yes. The restraint is the good part. It does not beg you to feel something.\"",
"\"Fine, that was a useful way to explain it. Annoying, but useful.\""
],
"failure": [
"\"No. That is not taste. That is recognizing that something was loud.\"",
"\"You missed the quiet part, which was the only part I cared about.\"",
"\"If you say 'energy' one more time without explaining what changed, I am leaving the song alone.\"",
"\"That sounded like you were describing a playlist cover.\""
]
},
{
"action": "talk_finance",
"success": [
"\"I do not enjoy money talk, but ugly bills are real. At least you get that part.\"",
"\"Fine. A plan that survives rent is more useful than ambition with nice shoes.\"",
"\"That part I respect. Numbers are boring until they decide whether the door stays open.\"",
"\"You made the unsexy part sound necessary, which is unfortunately how reality works.\""
],
"failure": [
"\"No. That is not ambition. That is a fantasy wearing expensive shoes.\"",
"\"If your plan dies the first time a bill arrives, it was never a plan.\"",
"\"That sounded like someone who thinks debt is just confidence with paperwork.\"",
"\"Do not make money sound abstract. It gets very concrete when something breaks.\""
]
},
{
"action": "talk_computers",
"success": [
"\"I understood half of that, but I like that you made it sound useful instead of sacred.\"",
"\"Okay. A machine breaking for a specific reason is almost comforting.\"",
"\"Fine, that part makes sense. If it saves time without becoming a new problem, I respect it.\"",
"\"You explained the fix before the jargon. That is the only reason I stayed with you.\""
],
"failure": [
"\"You lost me, and I am not chasing you through that sentence.\"",
"\"No. Explain the useful part or spare me the ritual.\"",
"\"That sounded like a machine apologizing badly.\"",
"\"If the solution needs that much explaining, I already distrust it.\""
]
}
]
}
END_DIALOGUE_DATA %//% DIALOGUE_DATA
{
"girlId": "g1",
"girl": "Zoe Bellamy",
"readyVariable": "dialogue002ready",
"notes": [],
"heatInterruptions": {
"success": [
"\"One answer. Then no more interruptions.\"",
"\"Briefly. I am trying to stay in this.\""
],
"failure": [
"\"No. Bad timing.\"",
"\"That question does not belong here.\""
],
"successHot": [
"\"One answer. My focus is already compromised.\"",
"\"Quickly. I am not stable enough for a discussion.\""
],
"failureHot": [
"\"No. Not while I am like this.\"",
"\"Stop. That broke the signal.\""
]
},
"responses": [
{
"action": "talk_computers",
"success": [
"\"Yes. Exactly. You checked the failure point before blaming the whole system.\"",
"\"That is the first useful hardware thought I have heard today. Keep going.\"",
"\"Good. You isolated the variable instead of poking everything and calling it intuition.\"",
"\"That would actually narrow the fault. I am... impressed, reluctantly.\""
],
"failure": [
"\"No. You are describing the symptom like it is the cause.\"",
"\"That is how people break a machine twice and call the second break mysterious.\"",
"\"Please do not troubleshoot by vibes. The machine does not care about your confidence.\"",
"\"You skipped the test and went straight to guessing. That is how screws go missing.\""
]
},
{
"action": "talk_music",
"success": [
"\"You heard the pattern under it. Most people only notice the melody.\"",
"\"Yes. The quiet part matters because it changes what the next note means.\"",
"\"Good. The repetition is not filler. It is setting up the break.\"",
"\"That is... exact. I did not expect you to catch the timing there.\""
],
"failure": [
"\"No. You are counting sound and missing structure.\"",
"\"That is a very confident way to not hear what is happening.\"",
"\"You heard the loudest part and treated it like the whole piece.\"",
"\"That is not analysis. That is standing near music while having an opinion.\""
]
},
{
"action": "gaze_chest",
"success": [
"\"I know where you are looking. Be precise or stop.\"",
"\"You noticed. Now decide whether you can behave.\""
],
"failure": [
"\"Eyes up. You are being obvious in the boring way.\"",
"\"No. That look has no discipline.\""
]
},
{
"action": "invite_private_movie",
"success": [
"\"A private movie is a room with sound cover. That is not subtle.\"",
"\"Maybe. But I choose the volume and the door.\""
],
"failure": [
"\"No. You made that sound cheap.\"",
"\"Not with that much implication and that little care.\""
]
},
{
"action": "talk_photography",
"success": [
"\"That is a good observation. The frame is hiding more than it shows.\"",
"\"Yes. Negative space is not empty. It is pressure.\"",
"\"Good. You noticed what the image refuses to explain.\"",
"\"That read makes sense. The subject is almost less important than what is missing.\""
],
"failure": [
"\"No. You looked where the image told you to look and stopped there.\"",
"\"That is not analysis. That is pointing at the obvious part.\"",
"\"You described the object and ignored the photograph.\"",
"\"No. The empty space is not a mistake just because you did not know what to do with it.\""
]
},
{
"action": "talk_cooking",
"success": [
"\"I do not think about food that way, but your logic is clear.\"",
"\"That makes sense. Timing and sequence are at least systems I can respect.\"",
"\"I still do not care about the meal, but the process is cleaner than I expected.\"",
"\"That is almost elegant, if I pretend the ingredients are components.\""
],
"failure": [
"\"I am not invested enough in cooking to rescue that argument.\"",
"\"You lost me somewhere between flavor and confidence.\"",
"\"No. I do not care enough about cooking to follow you into that mistake.\"",
"\"That made food sound chaotic, which is not helping my interest level.\""
]
},
{
"action": "talk_finance",
"success": [
"\"That is... more coherent than I expected. Risk tables at least behave like real information.\"",
"\"I do not love the topic, but your reasoning is tidy enough to follow.\"",
"\"Okay. That at least has inputs, outputs, and consequences. I can tolerate that.\"",
"\"You made the numbers sound less like theater and more like a tool. Barely.\""
],
"failure": [
"\"No. That is just guessing with numbers attached.\"",
"\"I am not interested enough in finance to pretend that made sense.\"",
"\"That sounded like probability being used as decoration.\"",
"\"No. If the number does not change what you do next, why is it there?\""
]
},
{
"action": "talk_art",
"success": [
"\"I usually do not know what to say about art, but that interpretation has structure.\"",
"\"That helps. I can follow the composition when you explain what it is doing.\"",
"\"Okay. The way you broke down the shape actually gives me somewhere to look.\"",
"\"I still would not have seen it alone, but now I can trace the idea.\""
],
"failure": [
"\"I already do not know much about art. That made me know less.\"",
"\"No. That sounded like you were trying to impress the wall.\"",
"\"That was too vague to be useful and too confident to be harmless.\"",
"\"I am going to leave that sentence behind and walk away.\""
]
},
{
"action": "talk_sports",
"success": [
"\"I still do not care about sports, but the mechanics are less stupid when you explain them.\"",
"\"That was almost interesting. The body as a system, not a scoreboard.\"",
"\"Fine. Movement efficiency makes more sense to me than competition.\"",
"\"If you keep it about mechanics and not cheering, I can listen for another minute.\""
],
"failure": [
"\"I have no useful sports opinion, and that did not give me one.\"",
"\"No. My interest was already low and you somehow lowered it.\"",
"\"You lost me at the part where I was supposed to care who won.\"",
"\"That sounded like noise, sweat, and rules I did not ask for.\""
]
},
{
"action": "talk_massage",
"success": [
"\"I suppose pressure points are just debugging, but with nerves. That is... tolerable.\"",
"\"That explanation is careful enough that I do not immediately distrust it.\"",
"\"If you treat it like feedback instead of magic, I can see the logic.\"",
"\"That almost makes sense. The body complains, you trace the complaint.\""
],
"failure": [
"\"No. That sounds like an excuse to touch someone while pretending it is technical.\"",
"\"I am not letting vague hand theory become a serious topic.\"",
"\"That explanation had too much confidence and not enough anatomy.\"",
"\"No. I distrust any method that starts with 'just relax'.\""
]
}
]
}
END_DIALOGUE_DATA %//% DIALOGUE_DATA
{
"girlId": "g2",
"girl": "Iris Moon",
"readyVariable": "dialogue003ready",
"notes": [],
"responses": [
{
"action": "talk_art",
"success": [
"\"Yes. That is what I was trying to see, but you said it better.\"",
"\"Oh. I like that. It makes the piece feel less impossible to explain.\"",
"\"You noticed the part that felt unfinished on purpose. I thought I was imagining it.\"",
"\"That is a real art thought. Sorry, that sounded rude. I mean... I liked hearing it.\""
],
"failure": [
"\"Maybe. I do not know. I think I see it differently.\"",
"\"I might be wrong, but that feels a little too simple for this one.\"",
"\"Sorry, I think the piece is doing something quieter than that.\"",
"\"I get what you mean. I just do not think it is where the interesting part is.\""
]
},
{
"action": "talk_photography",
"success": [
"\"Yes. The light is doing more than making it pretty. I like that you saw that.\"",
"\"Oh, good. You noticed the hands. I always look at hands first.\"",
"\"That crop would make it feel more honest. I think you are right.\"",
"\"I like when photos catch people before they know what face they are making.\""
],
"failure": [
"\"Maybe. I usually look for smaller things first.\"",
"\"I think I understand, but I am not sure the photo agrees.\"",
"\"That sounds more like a nice picture than a good photograph. Sorry, that was meaner than I meant.\"",
"\"I might be wrong, but I think the background matters more here.\""
]
},
{
"action": "talk_cooking",
"success": [
"\"That sounds warm. I like food that feels warm before it tries to be impressive.\"",
"\"Oh, that makes sense. Colors change so much when food is actually working.\"",
"\"I like that. Simple, but not careless.\"",
"\"You made cooking sound less intimidating. That is hard to do.\""
],
"failure": [
"\"I am not very useful here, but I think I got lost.\"",
"\"Maybe. I mostly notice if something looks comforting.\"",
"\"That sounds like a lot of steps. I would probably forget one and apologize to a pan.\"",
"\"I am not sure. Food becomes mysterious once it needs confidence.\""
]
},
{
"action": "talk_music",
"success": [
"\"I like that. It makes the song feel like light caught in a corner.\"",
"\"Yes, the pause mattered. I thought I was being dramatic for noticing it.\"",
"\"That made sense to me visually, which is usually how music reaches me.\"",
"\"I like when you explain things without making them feel too loud.\""
],
"failure": [
"\"Maybe. I mostly know whether a song changes the feeling around me.\"",
"\"I think I lost the thread a little.\"",
"\"That sounds right in a technical way. I just did not feel it that way.\"",
"\"I might not be good enough at music to follow you there.\""
]
},
{
"action": "talk_sports",
"success": [
"\"That makes bodies sound less terrifying. I like that.\"",
"\"I can understand movement when you describe it like shape and balance.\"",
"\"That almost sounds like drawing poses, but with more sweating.\"",
"\"I like the careful part. Careful makes sense to me.\""
],
"failure": [
"\"I am not very sporty. I mostly understand falling badly.\"",
"\"That sounds exhausting, but maybe in a useful way.\"",
"\"I think I missed why people enjoy that part.\"",
"\"I believe you. I just feel like my knees would object.\""
]
},
{
"action": "talk_computers",
"success": [
"\"Oh, that actually makes sense. I like when machines stop being fog for a second.\"",
"\"If it helps organize images, I can understand the usefulness.\"",
"\"That sounds less scary when you explain it slowly.\"",
"\"I think I followed that. I am weirdly proud of myself.\""
],
"failure": [
"\"I am sorry, my brain turned into static.\"",
"\"I believe you. I just cannot picture it.\"",
"\"That sounds like something I would click wrong immediately.\"",
"\"I think I need a drawing. Or three drawings.\""
]
},
{
"action": "talk_finance",
"success": [
"\"That sounds responsible. I am not very good at responsible, but I admire it.\"",
"\"I like that you made it sound smaller and less terrifying.\"",
"\"That makes sense. Planning is less scary when it is not pretending to be a personality.\"",
"\"I should probably understand that more than I do.\""
],
"failure": [
"\"Money talk makes me nervous, sorry.\"",
"\"I think I got lost when the numbers started acting confident.\"",
"\"That sounds important and very far away from my talents.\"",
"\"I am not saying it is wrong. I am saying I would need help.\""
]
},
{
"action": "talk_massage",
"success": [
"\"That sounds nice. Sorry, I reacted too fast. It does sound nice.\"",
"\"I like the idea of touch having a reason to start gentle.\"",
"\"That would probably work on me embarrassingly fast.\"",
"\"You made it sound careful, and careful is... persuasive.\""
],
"failure": [
"\"Maybe. I get nervous if touch sounds too sudden.\"",
"\"I think I need massage to sound less like a plan and more like patience.\"",
"\"That might work for someone braver than me.\"",
"\"I am not sure. I mostly like the gentle part.\""
]
}
]
}
END_DIALOGUE_DATA %//% DIALOGUE_DATA
{
"girlId": "g3",
"girl": "Tessa Grant",
"readyVariable": "dialogue004ready",
"notes": [],
"heatInterruptions": {
"success": [
"\"One answer. Then return to the task.\"",
"\"Briefly. Do not spend the moment.\""
],
"failure": [
"\"No. Poor timing.\"",
"\"That was not the correct interruption.\""
],
"successHot": [
"\"One answer. My patience is thin.\"",
"\"Fast. I am not stopping for a conversation.\""
],
"failureHot": [
"\"No. You chose a terrible second.\"",
"\"Stop. You just made this less useful.\""
]
},
"responses": [
{
"action": "talk_finance",
"success": [
"\"Good. You separated risk from panic. Most people never get that far.\"",
"\"That is the first finance take today that did not need a mercy killing.\"",
"\"Correct. Liquidity matters because confidence does not pay when the timing is wrong.\"",
"\"Good. You found the leverage without pretending leverage is free.\""
],
"failure": [
"\"No. That is not strategy, that is gambling with nicer shoes.\"",
"\"You are confusing confidence with leverage. Expensive mistake.\"",
"\"That is how amateurs mistake motion for control.\"",
"\"No. You are pricing the upside and ignoring the knife under the table.\""
]
},
{
"action": "talk_sports",
"success": [
"\"Correct. Discipline is not intensity. Intensity is what undisciplined people use to feel productive.\"",
"\"Good. You understand recovery as part of performance, not a reward for it.\"",
"\"Yes. Consistency beats drama. Drama just photographs better.\"",
"\"That is a competent answer. Effort should be measured, not worshipped.\""
],
"failure": [
"\"No. That is amateur pain worship.\"",
"\"If your method requires stupidity to look brave, it is a bad method.\"",
"\"That is how people confuse injury with commitment.\"",
"\"No. Suffering is not a strategy just because it sounds serious.\""
]
},
{
"action": "gentle_command",
"success": [
"\"Clear. I can work with clear.\"",
"\"That tone is acceptable. Continue carefully.\""
],
"failure": [
"\"No. Authority without precision is just volume.\"",
"\"You have not earned that tone.\""
]
},
{
"action": "ask_panties_off",
"success": [
"\"Ask cleanly. Then wait for the answer.\"",
"\"You want the final layer. I noticed.\""
],
"failure": [
"\"No. You are spending permission you do not have.\"",
"\"Not yet. You rushed the most important part.\""
]
},
{
"action": "talk_computers",
"success": [
"\"Useful. I do not need the romance of the machine, just the point where it saves time.\"",
"\"That actually improves the workflow. I am listening.\"",
"\"Good. Automation that removes friction instead of creating a new dependency.\"",
"\"If it reduces errors and keeps people accountable, I can use that.\""
],
"failure": [
"\"No. You made the tool sound more expensive than useful.\"",
"\"If the explanation takes longer than the saved labor, the system failed.\"",
"\"That is not efficiency. That is a prettier way to lose track of responsibility.\"",
"\"No. A dashboard is not a solution just because it has colors.\""
]
},
{
"action": "talk_photography",
"success": [
"\"That is a competent read. The image sells control without admitting it is selling anything.\"",
"\"Good. You noticed the polish and the threat under it.\"",
"\"Exactly. The lighting is expensive because it is pretending not to be persuasive.\"",
"\"That subject knows who it wants to intimidate. Useful observation.\""
],
"failure": [
"\"No. You stopped at expensive-looking and called it analysis.\"",
"\"That is how people buy bad portraits and call them branding.\"",
"\"You missed the power play in the composition. That was the entire point.\"",
"\"No. Gloss is not the same thing as control.\""
]
},
{
"action": "talk_music",
"success": [
"\"Not bad. The structure is clean even if the taste is questionable.\"",
"\"I can respect a track that knows where it is going.\"",
"\"Good. It builds without begging for attention. Rare quality.\"",
"\"The arrangement is disciplined. I will give it that.\""
],
"failure": [
"\"No. Loud is not the same thing as controlled.\"",
"\"That sounded like taste by committee.\"",
"\"You described noise and hoped I would hear intention.\"",
"\"No. The track is not bold, it is crowded.\""
]
},
{
"action": "talk_art",
"success": [
"\"That is a sharper read than I expected. The piece knows exactly what room it wants to dominate.\"",
"\"Good. You noticed the intention, not just the decoration.\"",
"\"Yes. It is not pretty by accident. It is arranged to make people behave differently around it.\"",
"\"That is a useful read. The empty space is doing crowd control.\""
],
"failure": [
"\"No. That is decorative language pretending to be taste.\"",
"\"You mistook price for meaning. Common, but still disappointing.\"",
"\"That is the sort of opinion that gets sold with cheap champagne.\"",
"\"No. You admired the frame and missed the work.\""
]
},
{
"action": "talk_cooking",
"success": [
"\"I do not care much about cooking, but that was at least efficient thinking.\"",
"\"Fine. Process, timing, waste control. That part translates.\"",
"\"That is almost interesting if I treat cooking as a logistics problem.\"",
"\"I respect anything that reduces waste without pretending chaos is charm.\""
],
"failure": [
"\"No. Food is already not my subject. You made it less worth entering.\"",
"\"That sounded like domestic chaos with seasoning.\"",
"\"You made cooking sound inefficient, which was a poor strategy with me.\"",
"\"No. If the process cannot survive pressure, I do not care how it tastes.\""
]
},
{
"action": "talk_massage",
"success": [
"\"Useful if done properly. Control, pressure, restraint. I can respect those.\"",
"\"That is a tolerable answer. Touch without discipline is just noise.\"",
"\"Good. You understand restraint as part of touch, not the absence of it.\"",
"\"That answer at least knows the difference between comfort and surrender.\""
],
"failure": [
"\"No. That sounded like indulgence trying to pass as skill.\"",
"\"If you cannot explain control, I do not trust your hands.\"",
"\"That was vague enough to make me tense on principle.\"",
"\"No. Touch without precision is just an interruption.\""
]
}
]
}
END_DIALOGUE_DATA %//% REACTION_DATA
{
"girlId": "g4",
"girl": "Leah Cross",
"readyVariable": "dialogue005ready",
"notes": [],
"responses": [
{
"action": "flirt_soft",
"success": [
"Leah tries not to reward the line too obviously, but the corner of her mouth gives her away.",
"Leah keeps her face steady, though her attention stays on you longer than before.",
"Leah lets the light flirt stand, guarded but not cold."
],
"failure": [
"Leah hears the light flirt and gives you a look that says you reached too early.",
"Leah lets the line fall flat, arms still loose but expression unimpressed.",
"Leah does not smile back, and the flirt has nowhere else to go."
]
},
{
"action": "flirt_bold",
"success": [
"Leah looks almost annoyed that the bolder line got a reaction out of her.",
"Leah holds your gaze, testing whether you can stand behind what you just said.",
"Leah gives the bold line one sharp breath of attention instead of shutting it down."
],
"failure": [
"Leah shuts the bold line down with a flat look.",
"Leah does not move, but her expression makes the answer clear.",
"Leah lets the silence punish the overreach."
]
},
{
"action": "compliment_style",
"success": [
"Leah glances down at herself once, then back at you with guarded approval.",
"Leah accepts the compliment like she is checking it for bullshit first.",
"Leah lets the compliment land, short and practical, but not unwelcome."
],
"failure": [
"Leah does not bite on the compliment.",
"Leah gives the compliment a quick look and lets it die there.",
"Leah keeps her expression flat, refusing to turn it into a moment."
]
},
{
"action": "admire_outfit",
"success": [
"Leah notices the open look and does not immediately punish it.",
"Leah lets you look for one second longer than she probably meant to.",
"Leah catches the attention on her outfit and holds your gaze afterward."
],
"failure": [
"Leah catches the look and makes it clear you are being too obvious.",
"Leah shifts her stance, cutting off the way you were looking at her.",
"Leah does not let the visual compliment become comfortable."
]
},
{
"action": "gaze_chest",
"success": [
"Leah catches your eyes dipping and lets the silence stretch for a dangerous second.",
"Leah notices where you looked, then watches whether you have the nerve to own it.",
"Leah does not hide the fact that she caught you looking."
],
"failure": [
"Leah catches the stare at her chest and shuts it down fast.",
"Leah pulls your attention back to her face with a hard look.",
"Leah does not let your eyes stay there."
]
},
{
"action": "gaze_ass",
"success": [
"Leah catches the look behind her and does not pretend she missed it.",
"Leah glances back once, expression sharp enough to make the stare feel risky.",
"Leah lets the look exist for a second, then makes you meet her eyes again."
],
"failure": [
"Leah catches you staring at her ass and cuts it off with one look.",
"Leah turns enough to make the stare obvious, not welcome.",
"Leah does not let you get comfortable looking there."
]
},
{
"action": "gaze_legs",
"success": [
"Leah notices your eyes on her legs and lets the look hang for a second.",
"Leah shifts her weight, aware of exactly what you noticed.",
"Leah catches the glance and keeps her expression just controlled enough."
],
"failure": [
"Leah catches your eyes on her legs and gives you no reward for it.",
"Leah shifts her stance, cutting the look short.",
"Leah makes you bring your eyes back up."
]
},
{
"action": "look_eyes",
"success": [
"Leah holds your gaze longer than necessary, testing who looks away first.",
"Leah does not blink away from the eye contact.",
"Leah lets the silence sharpen between you."
],
"failure": [
"Leah breaks the stare with a look that says you are trying too hard.",
"Leah does not let the eye contact turn into a challenge.",
"Leah looks away just enough to kill the moment."
]
},
{
"action": "touch_hand",
"success": [
"Leah lets your hand stay there, though she watches you like she is counting seconds.",
"Leah allows the contact, tense at first, then a little less.",
"Leah does not pull away, which from her says plenty."
],
"failure": [
"Leah slips her hand away before your fingers can settle.",
"Leah moves her hand out of reach without making it dramatic.",
"Leah stops the touch before it becomes contact."
]
},
{
"action": "touch_arm",
"success": [
"Leah lets the light touch stay on her arm for a short, careful second.",
"Leah notices your hand but does not move away.",
"Leah allows the touch, guarded but not rejecting it."
],
"failure": [
"Leah shifts her arm away before the touch can settle.",
"Leah gives your hand one warning look and moves out of reach.",
"Leah does not let the small touch become casual."
]
},
{
"action": "tease_words",
"success": [
"Leah hears the tease and takes a second too long to answer.",
"Leah keeps her expression controlled, but the line gets through.",
"Leah looks unimpressed on purpose, which makes it less convincing."
],
"failure": [
"Leah lets the suggestive line hit the floor.",
"Leah gives you nothing back for the tease.",
"Leah shuts the implication down before it can turn playful."
]
},
{
"action": "whisper_dirty",
"success": [
"Leah goes still for a second when the dirty words reach her ear.",
"Leah does not move closer, but she does not move away either.",
"Leah keeps her face controlled while the whisper does its damage."
],
"failure": [
"Leah leans away before the whisper can settle in her ear.",
"Leah shuts the dirty line down with a hard look.",
"Leah does not let you stay close enough for another whisper."
]
}
]
}
END_REACTION_DATA %//% REACTION_DATA
{
"girlId": "g5",
"girl": "Sofia Reed",
"readyVariable": "dialogue006ready",
"notes": [],
"responses": []
}
END_REACTION_DATA %//% REACTION_DATA
{
"girlId": "g6",
"girl": "Valerie King",
"readyVariable": "dialogue007ready",
"notes": [],
"responses": []
}
END_REACTION_DATA %//% REACTION_DATA
{
"girlId": "g7",
"girl": "Hazel Mercer",
"readyVariable": "dialogue008ready",
"notes": [],
"responses": []
}
END_REACTION_DATA %//% DIALOGUE_DATA
{
"girlId": "g4",
"girl": "Leah Cross",
"readyVariable": "dialogue005ready",
"notes": [],
"responses": [
{
"action": "talk_sports",
"success": [
"\"Good. You know the difference between training and showing off.\"",
"\"Finally. Someone said recovery without making it sound like weakness.\"",
"\"Yes. Form first. Ego can wait outside until it learns manners.\"",
"\"That is a real answer. Effort counts when it is repeatable, not when it is loud.\""
],
"failure": [
"\"No. That is ego talking in gym clothes.\"",
"\"If your plan is just 'go harder', your plan is how people get injured.\"",
"\"That is the kind of advice that makes me hide the heavy weights.\"",
"\"No. Pain is feedback, not a medal.\""
]
},
{
"action": "talk_music",
"success": [
"\"Yeah, I get that. A good beat can carry a bad day farther than motivation ever does.\"",
"\"That works. Not fancy, just steady enough to keep you moving.\"",
"\"Good. The rhythm has a job, and it does the job.\"",
"\"That is the kind of track that gets you through the last set without lying to you.\""
],
"failure": [
"\"No. That sounds like playlist talk from someone who skips warmups.\"",
"\"I am not hearing what you think you are selling.\"",
"\"That beat would make me rerack the weights and reconsider my life.\"",
"\"You made it sound loud and useless, which is not a great combo.\""
]
},
{
"action": "talk_photography",
"success": [
"\"That is useful. A good progress photo tells the truth without letting ego edit it.\"",
"\"I like that. The posture says more than the pose.\"",
"\"Yes. If the shoulders lie, the whole photo lies.\"",
"\"Good. A real before-and-after is about work, not lighting tricks.\""
],
"failure": [
"\"No. That is mirror-brain nonsense.\"",
"\"If the photo is only there to flatter you, it is not telling you anything.\"",
"\"That is how people pose around the problem instead of fixing it.\"",
"\"No. If the picture hides the work, I do not trust it.\""
]
},
{
"action": "talk_cooking",
"success": [
"\"That makes sense. Food is fuel, but fuel still has to be something a human can live with.\"",
"\"Good. Protein, timing, and not pretending sadness is a meal. I can work with that.\"",
"\"Yes. Eating clean does not mean chewing punishment out of a plastic box.\"",
"\"That is useful. If the plan tastes like defeat, nobody sticks to it.\""
],
"failure": [
"\"No. That is how people eat like trash and call it bulking.\"",
"\"If your meal plan makes you miserable and weak, congratulations, it failed twice.\"",
"\"That sounds like a diet written by someone angry at breakfast.\"",
"\"No. Food should support training, not make life feel like a dare.\""
]
},
{
"action": "talk_finance",
"success": [
"\"I do not love money talk, but keeping a place open takes more than motivational speeches.\"",
"\"Fine. Costs, repairs, rent. That part is real enough to respect.\"",
"\"Yeah. Equipment breaks, bills do not care, and enthusiasm does not patch flooring.\"",
"\"That is practical. I can respect numbers when they keep the lights on.\""
],
"failure": [
"\"No. That is not business, that is pretending bills respect enthusiasm.\"",
"\"If your numbers only work when nothing breaks, your numbers are lying.\"",
"\"That is how people open a gym and discover rent has hands.\"",
"\"No. Hope is not a maintenance budget.\""
]
},
{
"action": "talk_art",
"success": [
"\"I still do not care much about art, but I get the body language in that.\"",
"\"That was not bad. Shape and movement I can understand.\"",
"\"Okay. If the piece is about weight and balance, I can meet it halfway.\"",
"\"That makes more sense when you put it in terms of posture.\""
],
"failure": [
"\"No. You lost me in the decorative part.\"",
"\"I am sure that means something to someone. It is not doing much for me.\"",
"\"That sounded like a fancy way to avoid saying what it is.\"",
"\"I tried to care, but the painting did not spot me back.\""
]
},
{
"action": "talk_computers",
"success": [
"\"If it keeps schedules clean and clients from whining at the desk, I am listening.\"",
"\"I do not care about the tech. I care if it works when I need it.\"",
"\"Good. If it stops double bookings, it has my attention.\"",
"\"That is useful. Anything that saves me from three phone calls is already stronger than most people.\""
],
"failure": [
"\"No. You made it sound complicated and still did not tell me why I should care.\"",
"\"If I need a manual to understand the benefit, the benefit is already losing.\"",
"\"That sounds like a new way for the front desk to break something.\"",
"\"No. I asked what it fixes, not how many menus it has.\""
]
},
{
"action": "talk_massage",
"success": [
"\"Good. Recovery work is not a luxury. It is how you keep the body useful.\"",
"\"That is right. Pressure with purpose, not random poking and hoping.\"",
"\"Yes. Find the tight place, work around it, do not just attack it like an idiot.\"",
"\"That is useful. A good massage should make tomorrow easier, not just today nicer.\""
],
"failure": [
"\"No. That is not recovery, that is hands guessing.\"",
"\"If the person leaves tighter than they started, you did not help.\"",
"\"That sounds like someone pressing pain and calling it progress.\"",
"\"No. Muscles are not stubborn doors. You do not just shove harder.\""
]
},
{
"action": "flirt_soft",
"success": [
"\"Careful. That almost sounded natural.\"",
"\"Not bad. Keep it there.\"",
"\"You practiced that, or was it luck?\""
],
"failure": [
"\"Too early.\"",
"\"That sounded forced.\"",
"\"Do not sell it that hard.\""
]
},
{
"action": "flirt_bold",
"success": [
"\"Bold. Not smart, but bold.\"",
"\"You really said that out loud.\"",
"\"That one almost worked.\""
],
"failure": [
"\"No. Too much.\"",
"\"You overplayed it.\"",
"\"Try less ego next time.\""
]
},
{
"action": "compliment_style",
"success": [
"\"Good. You noticed the practical part.\"",
"\"Thanks. That was almost normal.\"",
"\"I will take that.\""
],
"failure": [
"\"Do not make it weird.\"",
"\"That is enough.\"",
"\"Move on.\""
]
},
{
"action": "admire_outfit",
"success": [
"\"I saw you looking.\"",
"\"At least you are not pretending.\"",
"\"Careful with your eyes.\""
],
"failure": [
"\"Do not stare.\"",
"\"Eyes up.\"",
"\"That is enough looking.\""
]
},
{
"action": "gaze_chest",
"success": [
"\"I saw that.\"",
"\"Eyes are higher. But yes, I noticed.\"",
"\"You are not subtle.\""
],
"failure": [
"\"Eyes up.\"",
"\"My face is up here.\"",
"\"Do not stare at my chest.\""
]
},
{
"action": "gaze_ass",
"success": [
"\"I know where you looked.\"",
"\"Do not act innocent now.\"",
"\"You are terrible at hiding that.\""
],
"failure": [
"\"Stop staring at my ass.\"",
"\"Eyes up.\"",
"\"Do not be obvious.\""
]
},
{
"action": "gaze_legs",
"success": [
"\"You noticed.\"",
"\"Careful where your eyes stop.\"",
"\"Not subtle, but not wasted.\""
],
"failure": [
"\"Eyes up.\"",
"\"Do not stare.\"",
"\"That is enough looking.\""
]
},
{
"action": "look_eyes",
"success": [
"\"You trying to win something?\"",
"\"Fine. Hold it, then.\"",
"\"You do not look away easily.\""
],
"failure": [
"\"Do not stare me down.\"",
"\"Too much.\"",
"\"Stop trying so hard.\""
]
},
{
"action": "touch_hand",
"success": [
"\"Do not make a production of it.\"",
"\"Fine. Just my hand.\"",
"\"Careful.\""
],
"failure": [
"\"No. Not my hand.\"",
"\"Do not touch me yet.\"",
"\"Too soon.\""
]
},
{
"action": "touch_arm",
"success": [
"\"I noticed.\"",
"\"Keep it light.\"",
"\"Do not push your luck.\""
],
"failure": [
"\"No. Do not touch me yet.\"",
"\"Too soon.\"",
"\"Hands off.\""
]
},
{
"action": "tease_words",
"success": [
"\"You are getting brave.\"",
"\"Careful. That almost worked.\"",
"\"You like risk, apparently.\""
],
"failure": [
"\"Too soon.\"",
"\"That was clumsy.\"",
"\"Do not push it.\""
]
},
{
"action": "whisper_dirty",
"success": [
"\"You are lucky I heard that quietly.\"",
"\"Do not say that unless you can handle the answer.\"",
"\"Careful. My ear is not a shortcut.\""
],
"failure": [
"\"No. Not in my ear.\"",
"\"Too soon.\"",
"\"Back up.\""
]
}
]
}
END_DIALOGUE_DATA %//% DIALOGUE_DATA
{
"girlId": "g5",
"girl": "Sofia Reed",
"readyVariable": "dialogue006ready",
"notes": [],
"responses": [
{
"action": "talk_music",
"success": [
"\"Yes. That is the part. The hook is not just catchy, it buys the whole room three minutes of courage.\"",
"\"You heard the pocket. Good. Most people only hear volume and call it energy.\"",
"\"Exactly. A song can lie with lyrics, but the rhythm always tells on it.\"",
"\"Okay, that was actually a real music thought. I am suspicious and impressed.\""
],
"failure": [
"\"No. Loud is not the same thing as alive.\"",
"\"That take sounds like you walked past a club once and got overconfident.\"",
"\"You missed the groove completely. That is where the song keeps its money.\"",
"\"Do not call it vibes if you cannot tell me what changed when the drums came in.\""
]
},
{
"action": "talk_art",
"success": [
"\"Yeah, I like that. It looks like it made a bad decision and committed to it.\"",
"\"Good eye. The ugly color is the reason the pretty part works.\"",
"\"That piece has presence. I respect objects that know how to make an entrance.\"",
"\"Okay. You made me look at it twice, and now I am annoyed that you were right.\""
],
"failure": [
"\"No. That is greeting-card talk with museum shoes on.\"",
"\"You just described the frame and hoped nobody noticed.\"",
"\"That sounded like something a rich person says near free wine.\"",
"\"If your whole opinion is 'interesting texture', I am leaving you with the silence after it.\""
]
},
{
"action": "talk_finance",
"success": [
"\"That part I understand. If the night does not pay, the romance gets very quiet.\"",
"\"Good. You are talking cash flow, not fantasy hustle.\"",
"\"Yeah. Exposure is not a payment plan. I like that you know that.\"",
"\"That is boring in the useful way. Rent likes boring.\""
],
"failure": [
"\"No. That is how people call an unpaid gig an opportunity and expect me to smile.\"",
"\"If the math needs optimism to work, the math is lying.\"",
"\"That sounds like a plan made by someone who has never had a landlord.\"",
"\"Do not turn being broke into an aesthetic. It sucks in very practical ways.\""
]
},
{
"action": "talk_photography",
"success": [
"\"Good. You noticed the light, not just the outfit.\"",
"\"Yeah. The best photos look like the second before someone stops pretending.\"",
"\"That angle would catch the setting and the lie at the same time. I like it.\"",
"\"Okay, that is a good read. The background is doing more work than the face.\""
],
"failure": [
"\"No. That is just saying someone looks hot with more syllables.\"",
"\"You missed the environment. A photo without context is just evidence.\"",
"\"That sounds like a profile picture, not a photograph.\"",
"\"If you crop out the context, you crop out the story. Basic mistake.\""
]
},
{
"action": "talk_cooking",
"success": [
"\"I do not cook beautifully, but I respect food that fixes a bad night.\"",
"\"Okay. Cheap ingredients, good timing, actual flavor. That is a survival skill.\"",
"\"That sounds like something you can make after midnight without crying. Useful.\"",
"\"Fine, you made cooking sound less like a chore and more like a decent favor.\""
],
"failure": [
"\"No. That sounds like dishes, stress, and a sad pan.\"",
"\"You lost me when dinner started needing a project manager.\"",
"\"I am sure that matters to someone with matching containers. I am not her.\"",
"\"That meal sounds like it would charge me emotionally and financially.\""
]
},
{
"action": "talk_sports",
"success": [
"\"I still do not care about sports, but I like anything with rhythm and footwork.\"",
"\"Okay, movement I can understand. The scoreboard can stay out of it.\"",
"\"That almost makes sense. Bodies do have tempo when people stop showing off.\"",
"\"You made it sound like choreography, which is the only reason I am still listening.\""
],
"failure": [
"\"No. You lost me at the part where everyone yells at a ball.\"",
"\"That sounds sweaty in a way I cannot monetize or dance to.\"",
"\"I believe you care. I will be emotionally elsewhere.\"",
"\"If the best part is winning, I am already bored.\""
]
},
{
"action": "talk_computers",
"success": [
"\"I understood half of that, but if it keeps the backing track from dying, I am listening.\"",
"\"Okay. Useful tech. I respect anything that prevents public embarrassment.\"",
"\"That makes sense if I imagine it as sound equipment with extra spite.\"",
"\"Fine. You explained the part that actually matters before the magic words started.\""
],
"failure": [
"\"No. That sounded like a laptop having a panic attack.\"",
"\"If I need three new passwords to understand it, I am out.\"",
"\"You lost me and I refuse to die inside a settings menu.\"",
"\"That topic just put a loading icon over my soul.\""
]
},
{
"action": "talk_massage",
"success": [
"\"I do not usually slow down long enough for that, but the way you describe it sounds dangerous.\"",
"\"Okay. If it fixes the neck pain after a bad set, I am listening.\"",
"\"That sounds less like pampering and more like someone noticing where the night stuck to me.\"",
"\"Fine. Careful hands after loud music is a persuasive argument.\""
],
"failure": [
"\"No. That sounds like a lazy excuse to touch someone.\"",
"\"If the whole pitch is 'relax', I already hate it.\"",
"\"That made massage sound slower than my worst Tuesday.\"",
"\"I am not lying still for vague hand confidence.\""
]
}
]
}
END_DIALOGUE_DATA %//% DIALOGUE_DATA
{
"girlId": "g6",
"girl": "Valerie King",
"readyVariable": "dialogue007ready",
"notes": [],
"responses": [
{
"action": "talk_art",
"success": [
"\"Good. You are looking at the wound in the piece, not the price tag.\"",
"\"Yes. That is the part. The pretty surface is just where it learned to lie.\"",
"\"You noticed the restraint. Most people only notice the darkness and feel clever.\"",
"\"That is a real observation. I may have to update my opinion of your eyes.\""
],
"failure": [
"\"No. That is the kind of thing people say when they want the sentence to forgive them for not looking.\"",
"\"You described the mood and missed the painting.\"",
"\"That sounded almost sincere, which makes the laziness more disappointing.\"",
"\"If you say 'haunting' without earning it, the gallery should be allowed to fine you.\""
]
},
{
"action": "talk_photography",
"success": [
"\"Good. You saw the hand before the face. That is where the truth usually leaks out.\"",
"\"Yes. The light is not flattering her. It is accusing her. That is why it works.\"",
"\"That crop would make the silence louder. I like that.\"",
"\"You noticed what the subject was trying to hide. That is the start of a real portrait.\""
],
"failure": [
"\"No. A portrait is not a face with expensive lighting.\"",
"\"You missed the hands. That is where half the photograph was happening.\"",
"\"That sounds like someone selling a camera, not someone taking a picture.\"",
"\"If your only thought is that she looks beautiful, the photograph already defeated you.\""
]
},
{
"action": "talk_finance",
"success": [
"\"Practical. Less romantic than art people prefer, which is usually why it matters.\"",
"\"Yes. Art without invoices is just unpaid drama with better lighting.\"",
"\"That is a sensible risk. I appreciate sensible more than I admit.\"",
"\"You are talking about survival, not greed. That distinction matters.\""
],
"failure": [
"\"That sounds like a collector explaining generosity while holding the receipt.\"",
"\"No. You are making uncertainty sound more elegant than it is.\"",
"\"That plan has the structure of wet paper.\"",
"\"I understand the words. I distrust the optimism holding them together.\""
]
},
{
"action": "talk_music",
"success": [
"\"I do not live inside music the way some people do, but that was a good read of the silence around it.\"",
"\"Yes. The pause before the note matters more than the note pretending to be important.\"",
"\"That made me understand the piece visually, which is probably why it worked on me.\"",
"\"Fine. You made sound feel arranged instead of merely loud.\""
],
"failure": [
"\"That sounded like you wanted volume to do the thinking.\"",
"\"I am sure the song survived worse opinions, but only barely.\"",
"\"You lost me when everything became 'energy'. Energy is what people say when they forgot structure.\"",
"\"No. That was noise wearing a borrowed thesis.\""
]
},
{
"action": "talk_cooking",
"success": [
"\"I still do not care deeply about cooking, but you made the timing sound almost like composition.\"",
"\"That is more practical than charming. I respect practical.\"",
"\"You made food sound less like domestic theater and more like craft. That helps.\"",
"\"I can admire restraint in a plate, even if I would rather not be responsible for it.\""
],
"failure": [
"\"No. That sounds like steam, dishes, and disappointment.\"",
"\"I am not emotionally available for a sauce.\"",
"\"You made dinner sound like an obligation with garnish.\"",
"\"That topic has already asked too much of me.\""
]
},
{
"action": "talk_sports",
"success": [
"\"I still do not care about the score, but the body mechanics are not uninteresting.\"",
"\"That almost works if I think of it as movement under pressure.\"",
"\"I can respect the discipline. I do not need the shouting.\"",
"\"You made it sound less like noise and more like form. Briefly.\""
],
"failure": [
"\"No. You lost me somewhere between the yelling and the laundry.\"",
"\"I believe people care. I simply do not understand why they are so damp about it.\"",
"\"That sounded like choreography without taste.\"",
"\"I am going to leave sports with the people who enjoy being red-faced in public.\""
]
},
{
"action": "talk_computers",
"success": [
"\"I understood enough to see the usefulness. Do not push your luck.\"",
"\"Digital archives are fragile little graves. That part, at least, I respect.\"",
"\"If it prevents a catalog from eating itself, I am willing to listen.\"",
"\"You explained the function before the jargon. Rare mercy.\""
],
"failure": [
"\"No. That sounded like a machine apologizing badly.\"",
"\"You lost me at the part where the solution needed three menus and a blood oath.\"",
"\"I already dislike the interface in this story.\"",
"\"That topic makes me want to return to paper and candlelight out of spite.\""
]
},
{
"action": "talk_massage",
"success": [
"\"I do not trust relaxation as a concept, but you made the technique sound specific.\"",
"\"That almost sounds useful. Almost dangerous, but useful.\"",
"\"You are better at explaining hands when you do not make them sound vague.\"",
"\"If the point is tension, I can follow you. Tension is honest.\""
],
"failure": [
"\"No. That sounded like an excuse looking for skin.\"",
"\"If your whole argument is 'relax', I am already irritated.\"",
"\"Vague hands are not persuasive.\"",
"\"You made massage sound like waiting with ambition.\""
]
}
]
}
END_DIALOGUE_DATA %//% DIALOGUE_DATA
{
"girlId": "g7",
"girl": "Hazel Mercer",
"readyVariable": "dialogue008ready",
"notes": [],
"responses": [
{
"action": "talk_cooking",
"success": [
"\"That makes sense. I like when food is simple enough that tired people can still make it.\"",
"\"Oh, I know that part. Not fancy, but useful. Useful is good.\"",
"\"I never think of it that clearly, but yes. That is why timing matters so much.\"",
"\"I like how you explained that. It makes kitchen work sound less invisible.\""
],
"failure": [
"\"Maybe. I am not really a chef, so I might be missing something.\"",
"\"I think I understand what you mean. Maybe not all of it.\"",
"\"That sounds a little more complicated than how I usually think about food.\"",
"\"Sorry, I might not be the best person for that part. I mostly help.\""
]
},
{
"action": "talk_music",
"success": [
"\"Yes. That is exactly it. Some songs make a shift feel less heavy.\"",
"\"I like that. Music does not have to be important to help.\"",
"\"That part would keep me going while cleaning up. I can tell.\"",
"\"You noticed the mood of it. I like when you notice things like that.\""
],
"failure": [
"\"Maybe. I usually just know if it makes things feel better.\"",
"\"I do not think about music that deeply, sorry.\"",
"\"That might be true. I mostly just hum along if it helps.\"",
"\"I am not sure. I think I lost the point a little.\""
]
},
{
"action": "talk_art",
"success": [
"\"That is pretty. I mean, what you said made it feel pretty.\"",
"\"I like that idea. It makes the piece feel less intimidating.\"",
"\"Oh. I did not notice that until you said it.\"",
"\"I like when you explain art without making me feel stupid.\""
],
"failure": [
"\"Maybe. I am not very good at talking about art.\"",
"\"I think I understand the feeling more than the explanation.\"",
"\"Sorry, I mostly just know if I like looking at it.\"",
"\"That sounds smart, but I do not know if I followed it.\""
]
},
{
"action": "talk_photography",
"success": [
"\"That is sweet. I like photos that make normal things look cared for.\"",
"\"Oh, yes. The light makes it feel softer.\"",
"\"I did not know how to say that, but I saw it too.\"",
"\"I like that you noticed the small part. Small parts matter.\""
],
"failure": [
"\"Maybe. I usually just like photos if they feel warm.\"",
"\"I do not know much about cameras, sorry.\"",
"\"That might be right. I think I missed the detail.\"",
"\"I am not sure I can tell the difference, but I like listening to you try.\""
]
},
{
"action": "talk_sports",
"success": [
"\"That sounds healthy in a way that does not scare me.\"",
"\"I like the part about moving carefully. That makes sense.\"",
"\"Maybe I could try something like that if nobody yelled.\"",
"\"You make it sound less embarrassing than I expected.\""
],
"failure": [
"\"I am not very sporty, sorry.\"",
"\"That sounds tiring. Not bad, just tiring.\"",
"\"I think I would be the person dropping the ball.\"",
"\"I am happy you understand it. I mostly understand being out of breath.\""
]
},
{
"action": "talk_computers",
"success": [
"\"Oh, that is useful. I like useful things.\"",
"\"I think I followed that. Mostly because you made it less scary.\"",
"\"If it stops things from breaking, I am interested enough.\"",
"\"That sounds like something I would ask for help with, honestly.\""
],
"failure": [
"\"I am sorry, I got lost almost immediately.\"",
"\"Computers make me feel like I clicked the wrong thing before I even start.\"",
"\"I believe you. I just do not understand it.\"",
"\"That sounded important and very far away from my brain.\""
]
},
{
"action": "talk_finance",
"success": [
"\"That sounds responsible. I am trying to be better at responsible.\"",
"\"I like that you made it sound simple. Money usually makes me nervous.\"",
"\"That makes sense. Small planning is less scary than big plans.\"",
"\"I should probably think about that more than I do.\""
],
"failure": [
"\"Money talk makes my stomach feel weird, sorry.\"",
"\"I think I understand, but I also think I am nervous now.\"",
"\"That sounds like something I would need written down very slowly.\"",
"\"I am not good at that. I mostly try not to make things worse.\""
]
},
{
"action": "talk_massage",
"success": [
"\"That sounds really nice. Safe, I mean. Safe and nice.\"",
"\"I like the idea of touch starting gentle.\"",
"\"That makes me feel calmer just hearing it.\"",
"\"If you did it that way, I think I would relax pretty fast.\""
],
"failure": [
"\"Maybe. I get nervous if touch feels too sudden.\"",
"\"I think I would need it slower than that.\"",
"\"That sounds a little too confident for me.\"",
"\"Sorry, I think gentle is the part I care about most.\""
]
}
]
}
END_DIALOGUE_DATA %/This generic bank stores spoken lines only. Every line should be exactly what a girl says.
/% DIALOGUE_BANK
{
"admire_outfit_failure": [
"\"Do not stare.\"",
"\"You are being obvious.\"",
"\"That is enough looking.\"",
"\"My outfit is not an invitation.\"",
"\"Keep your eyes polite.\""
],
"admire_outfit_success": [
"\"You actually noticed.\"",
"\"That part was intentional.\"",
"\"Careful. You are looking very openly.\"",
"\"I did choose it for a reason.\"",
"\"Okay, you have some taste.\""
],
"against_wall_failure": [
"\"No. Not that.\"",
"\"No. Not against the wall.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Back up. I don't want this pressed against the wall.\""
],
"against_wall_success": [
"\"Against the wall... fuck.\"",
"\"Hold me up.\"",
"\"Do not drop me.\"",
"\"Keep it steady.\"",
"\"That is intense.\""
],
"anal_anal_position_switch_failure": [
"\"No. Stop there.\"",
"\"Not like that.\"",
"\"Too sudden. Stop moving.\"",
"\"No, not that angle yet.\"",
"\"Slow down. I need a second.\""
],
"anal_anal_position_switch_success": [
"\"Slowly... we can try this way.\"",
"\"Give me a second, then keep fucking my ass.\"",
"\"Move me carefully. I can still take it.\"",
"\"Okay... change it, but go slow.\"",
"\"Do not rush me while you move me.\""
],
"anal_cowgirl_failure": [
"\"No. Not that.\"",
"\"No. I'm not getting on top for anal.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"My ass isn't taking you like that.\""
],
"anal_cowgirl_pleasure_failure": [
"\"My ass is not ready for that.\"",
"\"Too fast. Give me time.\"",
"\"Not that deep.\"",
"\"Stop, I need to adjust.\"",
"\"Slow down.\"",
"\"Pull back for a second.\"",
"\"Wait... that hits wrong. Slow it down.\"",
"\"Careful, not like that.\""
],
"anal_cowgirl_pleasure_success": [
"\"Stay still while I ride your cock.\"",
"\"Let me take it in my ass.\"",
"\"Fuck... my ass is taking you.\"",
"\"My ass is so full.\"",
"\"I will control how deep it goes.\"",
"\"I can feel it stretching me.\"",
"\"Do not move, I have it.\"",
"\"Let me work it down.\""
],
"anal_cowgirl_success": [
"\"Stay still. My ass decides.\"",
"\"Do not thrust up.\"",
"\"Let me control it.\"",
"\"Slowly... fuck.\"",
"\"I can take it this way.\""
],
"anal_doggy_failure": [
"\"No. Not that.\"",
"\"No. I'm not getting on all fours for that.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not from behind. My ass isn't ready.\""
],
"anal_doggy_pleasure_failure": [
"\"My ass is not ready for that.\"",
"\"Too fast. Give me time.\"",
"\"Not that deep.\"",
"\"Stop, I need to adjust.\"",
"\"Slow down.\"",
"\"Pull back for a second.\"",
"\"Stop pushing so deep. I need it slower.\"",
"\"Careful, not like that.\""
],
"anal_doggy_pleasure_success": [
"\"Fuck my ass from behind.\"",
"\"Hold my hips and keep going.\"",
"\"My ass can take it.\"",
"\"Fuck, my ass is full.\"",
"\"Go deep, but do not lose the rhythm.\"",
"\"Slow. I want to feel it.\"",
"\"Deeper... yes.\"",
"\"That angle is filthy.\""
],
"anal_doggy_success": [
"\"Slow in my ass.\"",
"\"Hold my hips carefully.\"",
"\"Fuck my ass slowly.\"",
"\"Do not force it.\"",
"\"Give me time.\""
],
"anal_missionary_failure": [
"\"No. Not that.\"",
"\"No. You're not going in my ass.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Stay close, but keep it out of there.\""
],
"anal_missionary_pleasure_failure": [
"\"My ass is not ready for that.\"",
"\"Too fast. Give me time.\"",
"\"Not that deep.\"",
"\"Stop, I need to adjust.\"",
"\"Slow down.\"",
"\"Pull back for a second.\"",
"\"Easy... you're too deep, too fast.\"",
"\"Careful, not like that.\""
],
"anal_missionary_pleasure_success": [
"\"Look at me while you take my ass.\"",
"\"Go slow... but stay in my ass.\"",
"\"My ass is so tight around you.\"",
"\"Fuck, I can feel all of it.\"",
"\"Deeper, but carefully.\"",
"\"Do not rush it.\"",
"\"I can take it like this.\"",
"\"That stretch is intense.\""
],
"anal_missionary_success": [
"\"Do not rush my ass.\"",
"\"Slow. I need to feel you.\"",
"\"Stay close.\"",
"\"I can take it if you listen.\"",
"\"Careful... keep going.\""
],
"anal_pleasure_failure": [
"\"Stop fucking my ass.\"",
"\"Out of my ass.\"",
"\"Your cock comes out now.\"",
"\"Enough. My ass is done.\"",
"\"No more anal.\""
],
"anal_pleasure_success": [
"\"Slow in my ass.\"",
"\"Do not force it.\"",
"\"That is deep.\"",
"\"Careful... keep going.\"",
"\"I can take it if you listen.\""
],
"anal_reverse_cowgirl_failure": [
"\"No. Not that.\"",
"\"No. I'm not turning around for anal.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not like that. My ass needs more time.\""
],
"anal_reverse_cowgirl_pleasure_failure": [
"\"My ass is not ready for that.\"",
"\"Too fast. Give me time.\"",
"\"Not that deep.\"",
"\"Stop, I need to adjust.\"",
"\"Slow down.\"",
"\"Pull back for a second.\"",
"\"Wait. That hurts if you move me like this.\"",
"\"Careful, not like that.\""
],
"anal_reverse_cowgirl_pleasure_success": [
"\"My ass is swallowing your cock.\"",
"\"Watch my ass take you.\"",
"\"Stay hard inside my ass.\"",
"\"I can feel you so deep back there.\"",
"\"Do not move, I want to ride it.\"",
"\"Fuck, this angle is filthy.\"",
"\"Look at how deep you are.\"",
"\"I can take more.\""
],
"anal_reverse_cowgirl_success": [
"\"Watch my ass take you.\"",
"\"Do not rush me.\"",
"\"I will move.\"",
"\"Fuck... that is deep.\"",
"\"Stay still under me.\""
],
"anal_talk_failure": [
"\"No. Not talking about that.\"",
"\"Leave my ass out of this.\"",
"\"Wrong subject.\"",
"\"Do not push that.\"",
"\"That is not happening.\""
],
"anal_talk_success": [
"\"You are thinking about my ass.\"",
"\"Maybe. Do not rush me.\"",
"\"That is a dangerous topic.\"",
"\"Careful with that idea.\"",
"\"I heard exactly what you want.\""
],
"anal_wall_failure": [
"\"No. Not that.\"",
"\"No. Not against the wall for anal.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Don't pin me there for my ass.\""
],
"anal_wall_pleasure_failure": [
"\"My ass is not ready for that.\"",
"\"Too fast. Give me time.\"",
"\"Not that deep.\"",
"\"Stop, I need to adjust.\"",
"\"Slow down.\"",
"\"Pull back for a second.\"",
"\"Hold on... against the wall is too much.\"",
"\"Careful, not like that.\""
],
"anal_wall_pleasure_success": [
"\"Fuck my ass against the wall.\"",
"\"Hold my hips and go deep.\"",
"\"My ass feels so full.\"",
"\"I can take it from behind.\"",
"\"Do not let me move away.\"",
"\"Fuck, that is rough.\"",
"\"Keep me pressed there.\"",
"\"Go slow, but deep.\""
],
"anal_wall_success": [
"\"Do not force my ass.\"",
"\"Slow, against the wall.\"",
"\"Hold me steady.\"",
"\"Careful... keep me up.\"",
"\"That is deep.\""
],
"analingus_fingers_failure": [
"\"No. Stop there.\"",
"\"Not that.\"",
"\"Mouth only, not fingers.\"",
"\"Do not push inside.\"",
"\"I said slow. Stop.\"",
"\"No. Your tongue was enough.\""
],
"analingus_fingers_success": [
"\"Slow. Keep your tongue there.\"",
"\"That feels filthy. Do it again.\"",
"\"Careful with your fingers.\"",
"\"Use your tongue first.\"",
"\"Do not rush my ass.\"",
"\"Keep licking, but be careful with your fingers.\"",
"\"Careful. Keep doing that.\""
],
"analingus_pleasure_failure": [
"\"Do not lick my asshole again.\"",
"\"No. Not my ass.\"",
"\"Mouth away from there.\"",
"\"Enough with my ass.\"",
"\"Stop rimming me.\""
],
"analingus_pleasure_success": [
"\"Slow on my ass.\"",
"\"Keep your tongue there.\"",
"\"That is filthy.\"",
"\"Do not rush it.\"",
"\"Fuck... there.\""
],
"analingus_to_anal_failure": [
"\"No, not your cock.\"",
"\"Keep using your mouth.\"",
"\"Stay with your tongue.\"",
"\"I am not ready to take it.\"",
"\"Do not push inside.\"",
"\"No anal sex right now.\""
],
"analingus_to_anal_success": [
"\"Slow. My ass needs a second.\"",
"\"You can try, but carefully.\"",
"\"Do not force it.\"",
"\"Let me adjust.\"",
"\"Careful... that is bigger than your tongue.\""
],
"analingus_to_cunnilingus_failure": [
"\"No, keep licking my ass.\"",
"\"Do not move your tongue yet.\"",
"\"I want more on my ass.\"",
"\"Keep your mouth where it was.\"",
"\"Not my pussy yet.\"",
"\"Stay there.\""
],
"analingus_to_cunnilingus_success": [
"\"Yes, back there.\"",
"\"My pussy. Use your tongue there again.\"",
"\"That is easier to take.\"",
"\"Keep licking me there.\"",
"\"Good... back to my clit.\""
],
"ask_about_schedule_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"ask_about_schedule_success": [
"\"I can tell you the useful part.\"",
"\"You want to know when to find me.\"",
"\"Fine. I will give you the basics.\"",
"\"That depends on the day.\"",
"\"Ask properly and I may answer.\""
],
"ask_address_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"ask_address_success": [
"\"That is private.\"",
"\"You are asking for a lot.\"",
"\"Maybe later, not casually.\"",
"\"Careful with that question.\"",
"\"I do not give that easily.\"",
"\"Use that address carefully.\"",
"\"Text before you come over.\"",
"\"Do not just show up.\""
],
"ask_anal_sex_failure": [
"\"No. Not that.\"",
"\"No. I'm not ready for anal.\"",
"\"That is too far.\"",
"\"No. Not my ass.\"",
"\"Not my ass tonight. Don't push it.\""
],
"ask_anal_sex_success": [
"\"My ass is not something you rush.\"",
"\"You want my ass.\"",
"\"If I allow that, you go slow.\"",
"\"That is not a small ask.\"",
"\"Maybe. Careful with me.\"",
"\"Keep going. My ass can take it.\"",
"\"Fuck my ass like that.\"",
"\"Slow. I want to feel it.\"",
"\"Do not rush the first inches.\"",
"\"Stay deep, but listen to me.\""
],
"ask_blowjob_failure": [
"\"No. I am not putting my mouth on you.\"",
"\"No. I don't want your cock in my mouth right now.\"",
"\"That is too far.\"",
"\"No. I'm not putting my mouth on you.\"",
"\"Not now. My mouth is off limits.\""
],
"ask_blowjob_success": [
"\"I will use my mouth, but do not push.\"",
"\"You want my mouth on you?\"",
"\"Fine. Give it to me slowly.\"",
"\"Stay still if I do this.\"",
"\"Alright. Let me decide the pace.\"",
"\"I like feeling you in my mouth.\"",
"\"Let me taste you.\"",
"\"I want to feel you get harder.\""
],
"ask_bottom_off_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"ask_bottom_off_success": [
"\"You want my bottoms off?\"",
"\"That changes things.\"",
"\"Maybe. Slowly.\"",
"\"Fine, but do not rush.\"",
"\"You are asking for more now.\""
],
"ask_bra_off_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"ask_bra_off_success": [
"\"You want the bra off too?\"",
"\"That is another step.\"",
"\"Ask like you mean it.\"",
"\"Fine. Slowly.\"",
"\"Do not get greedy.\""
],
"ask_footjob_failure": [
"\"Ask for something else. My feet are off limits.\"",
"\"No. Not with my feet.\"",
"\"That is not happening right now.\"",
"\"Do not put that on me yet.\"",
"\"No. I'm not doing that with my feet.\""
],
"ask_footjob_success": [
"\"You really want my feet for this? Fine, stay still.\"",
"\"Do not rush me. I need to feel the angle.\"",
"\"Like this? Tell me if I press too hard.\"",
"\"I can try it, but you keep control of yourself.\"",
"\"Alright. Let me use my feet on you.\"",
"\"Keep your cock against my feet.\"",
"\"That is it. Keep rubbing against me.\"",
"\"I can feel you getting harder.\""
],
"ask_handjob_failure": [
"\"No. I am not touching you there.\"",
"\"No. I don't want to stroke you right now.\"",
"\"That is too far.\"",
"\"No. I don't want my hand on you.\"",
"\"Not with that angle. Don't put this on me.\""
],
"ask_handjob_success": [
"\"You want my hand?\"",
"\"I can use my hand.\"",
"\"Fine. I will stroke you.\"",
"\"Stay still.\"",
"\"Do not get greedy.\"",
"\"Let me feel you in my hand.\"",
"\"Your cock is getting so hard.\"",
"\"Move with my hand.\""
],
"ask_naked_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"ask_naked_success": [
"\"You want me naked.\"",
"\"That is everything.\"",
"\"Ask very carefully.\"",
"\"Maybe. Slowly.\"",
"\"If I do this, you do not rush.\""
],
"ask_number_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"ask_number_success": [
"\"You want my number.\"",
"\"Maybe. Do not abuse it.\"",
"\"Fine, but use it carefully.\"",
"\"That is a step.\"",
"\"I will decide if you get it.\"",
"\"Do not make me regret giving you that.\"",
"\"Fine. Text first.\"",
"\"Use it properly.\""
],
"ask_panties_off_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"ask_panties_off_success": [
"\"You want my panties off?\"",
"\"You are asking for the real line.\"",
"\"That is not a small ask.\"",
"\"Maybe. Slowly.\"",
"\"Fine, but careful.\""
],
"ask_permission_finger_failure": [
"\"No. Not that.\"",
"\"No. I'm not ready for your fingers.\"",
"\"That is too far.\"",
"\"No. I don't want your fingers there.\"",
"\"Ask me later. I'm not opening up yet.\""
],
"ask_permission_finger_success": [
"\"Ask before your hand goes inside.\"",
"\"Use your fingers carefully.\"",
"\"You want to finger me?\"",
"\"Fine. Slowly.\"",
"\"I will let you, but do not rush.\"",
"\"I want to feel your fingers inside me.\"",
"\"Yes. Keep your fingers there.\"",
"\"Use your thumb on my clit.\""
],
"ask_permission_oral_failure": [
"\"No. Not that.\"",
"\"No. I don't want your mouth on me yet.\"",
"\"That is too far.\"",
"\"No. I don't want you going down on me.\"",
"\"Not yet. I'm not ready for that kind of attention.\""
],
"ask_permission_oral_success": [
"\"You want your mouth on my pussy?\"",
"\"Fine. Use your tongue slowly.\"",
"\"Yes. Get between my thighs.\"",
"\"I will let you lick me.\"",
"\"Do not waste the permission.\"",
"\"Use your tongue like that again.\"",
"\"My clit. Stay on it.\"",
"\"Do not stop with your mouth.\""
],
"ask_sex_failure": [
"\"No. I do not want sex right now.\"",
"\"No. I'm not ready to have sex.\"",
"\"That is too far.\"",
"\"No. Not sex yet.\"",
"\"Not yet. I don't want you inside me.\""
],
"ask_sex_success": [
"\"You want to fuck me.\"",
"\"If we do this, go slow.\"",
"\"Fine. Put it in carefully.\"",
"\"Yes, but do not rush me.\"",
"\"I know what you are asking.\"",
"\"I want to feel your cock.\"",
"\"Fuck me like that.\"",
"\"Stay inside me.\""
],
"ask_titfuck_failure": [
"\"Ask for something else. My tits are not yours to fuck.\"",
"\"No. Not with my tits.\"",
"\"I am not letting you use my chest like that.\"",
"\"No. I don't want to do that with my tits.\"",
"\"No. My tits aren't for that right now.\""
],
"ask_titfuck_success": [
"\"You want my tits around you? Alright, come closer.\"",
"\"Fine. Use my tits, but listen when I tell you to slow down.\"",
"\"Like this? Keep your hips slow.\"",
"\"Do not shove. Let me hold you between them.\"",
"\"I can feel how hard you are against me.\"",
"\"Put your cock between my tits.\"",
"\"Keep your eyes on my tits.\"",
"\"Use my chest like that.\""
],
"ask_top_off_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"ask_top_off_success": [
"\"You want my top off?\"",
"\"Maybe. Ask properly.\"",
"\"Fine, I can take it off.\"",
"\"Do not stare like an idiot.\"",
"\"Slow. I decide how.\""
],
"beg_anal_sex_failure": [
"\"No. Not that.\"",
"\"Begging won't make my ass ready.\"",
"\"That is too far.\"",
"\"No. I'm not ready for anal.\"",
"\"No. Don't try to plead your way into anal.\""
],
"beg_anal_sex_success": [
"\"You are begging for my ass.\"",
"\"That is a dangerous thing to beg for.\"",
"\"If I let you, you do not force it.\"",
"\"Maybe. Slowly.\"",
"\"You want it that badly? Careful.\"",
"\"Keep going. My ass can take it.\"",
"\"Fuck my ass like that.\"",
"\"Slow. I want to feel it.\""
],
"beg_blowjob_failure": [
"\"No. Not that.\"",
"\"Begging won't put my mouth on your cock.\"",
"\"That is too far.\"",
"\"No. I don't want to use my mouth.\"",
"\"No. That pleading is making me want it less.\""
],
"beg_blowjob_success": [
"\"You sound desperate for my mouth.\"",
"\"Alright. Give me your cock.\"",
"\"Fine. Begging worked this time.\"",
"\"Stay still and let me choose.\"",
"\"You want it that badly?\"",
"\"I like feeling you in my mouth.\"",
"\"Let me taste you.\"",
"\"I want to feel you get harder.\""
],
"beg_cunnilingus_failure": [
"\"No. Not that.\"",
"\"No. Begging won't make me spread my legs.\"",
"\"That is too far.\"",
"\"No. I don't want your mouth there.\"",
"\"Not now. I'm not letting you taste me.\""
],
"beg_cunnilingus_success": [
"\"Begging for my pussy. Dangerous.\"",
"\"Use your tongue properly.\"",
"\"You want to lick me that badly?\"",
"\"Fine. Get down there.\"",
"\"Yes. Make it worth it.\"",
"\"Use your tongue like that again.\"",
"\"My clit. Stay on it.\"",
"\"Do not stop with your mouth.\""
],
"beg_footjob_failure": [
"\"Begging does not make that a yes.\"",
"\"No. I am not doing that with my feet.\"",
"\"I heard you. The answer is still no.\"",
"\"Not like that. You are making it worse.\"",
"\"Stop begging for my feet.\""
],
"beg_footjob_success": [
"\"You sound pathetic asking for it like that. Stay there.\"",
"\"Fine. I will use my feet, but you asked for this.\"",
"\"Begging actually suits you right now.\"",
"\"I want to see you hold still while I do it.\"",
"\"Alright, I will give you my feet. Do not waste it.\"",
"\"Keep your cock against my feet.\"",
"\"That is it. Keep rubbing against me.\"",
"\"I can feel you getting harder.\""
],
"beg_handjob_failure": [
"\"No. Not that.\"",
"\"No. Don't beg for my hand like that.\"",
"\"That is too far.\"",
"\"No. I don't want to touch you like that.\"",
"\"Not with that angle. You're making it awkward.\""
],
"beg_handjob_success": [
"\"You really want my hand.\"",
"\"Stay still and take my hand.\"",
"\"I will do it, but I set the pace.\"",
"\"Fine. I will touch it.\"",
"\"Begging makes you honest.\"",
"\"Let me feel you in my hand.\"",
"\"Your cock is getting so hard.\"",
"\"Move with my hand.\""
],
"beg_sex_failure": [
"\"No. Not that.\"",
"\"No. Begging won't make me ready for sex.\"",
"\"That is too far.\"",
"\"No. I'm not ready to have sex.\"",
"\"Not yet. Wanting it badly doesn't make me ready.\""
],
"beg_sex_success": [
"\"You want my pussy that badly?\"",
"\"Fine. Show me why I should let you.\"",
"\"Begging for sex suits you.\"",
"\"If I say yes, go slow.\"",
"\"Alright. Do not waste it.\"",
"\"I want to feel your cock.\"",
"\"Fuck me like that.\"",
"\"Stay inside me.\""
],
"beg_sixty_nine_failure": [
"\"No. Not that.\"",
"\"No. Begging won't make me climb into that.\"",
"\"That is too far.\"",
"\"No. Begging won't make me do that.\"",
"\"Not now. That position is too much for me.\""
],
"beg_sixty_nine_success": [
"\"Begging for my mouth and my pussy.\"",
"\"Keep your tongue useful.\"",
"\"You want both at once that badly?\"",
"\"Fine. Get into position.\"",
"\"Alright. Earn it.\"",
"\"I can handle you while you lick me.\"",
"\"Keep your mouth on me.\"",
"\"Let me feel you in my mouth too.\""
],
"beg_titfuck_failure": [
"\"No. Begging does not make my tits available.\"",
"\"Do not plead for that. I am not doing it.\"",
"\"Not now, and not because you begged.\"",
"\"I heard you the first time. No.\"",
"\"You are making it awkward. Stop.\""
],
"beg_titfuck_success": [
"\"Begging for my tits is a good look on you.\"",
"\"There. Is that enough for your desperate cock?\"",
"\"You want it that badly? Then hold still.\"",
"\"Fine. I will give you this, but I set the pace.\"",
"\"Put your cock between my tits.\"",
"\"Keep your eyes on my tits.\"",
"\"Do not move until I tell you.\"",
"\"Use my chest like that.\""
],
"blowjob_to_sex_failure": [
"\"No, stay in my mouth.\"",
"\"Let me finish with my mouth.\"",
"\"Not my pussy right now.\"",
"\"I want to keep sucking.\"",
"\"Do not switch yet.\"",
"\"Keep it here.\""
],
"blowjob_to_sex_success": [
"\"You can fuck me now.\"",
"\"Use my pussy too.\"",
"\"I am wet enough.\"",
"\"Come here. Put it in slowly.\"",
"\"My mouth got you ready. Now fuck me.\""
],
"breast_sex_failure": [
"\"No. Not that.\"",
"\"No. I'm not wrapping my tits around your cock.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not with my breasts. Give me space.\""
],
"breast_sex_pleasure_failure": [
"\"No. Stop there.\"",
"\"Slow down.\"",
"\"Not like that.\"",
"\"Change the angle.\"",
"\"Wait, that does not feel right.\"",
"\"Ease up a little.\"",
"\"Give me a second.\"",
"\"Wrong angle.\""
],
"breast_sex_pleasure_success": [
"\"Do you like my breasts around it?\"",
"\"Your cock looks good between them.\"",
"\"Use my tits.\"",
"\"Keep sliding between my tits.\"",
"\"My tits are yours right now.\"",
"\"Do not stop, I can feel you twitching.\"",
"\"Cum between them if you need to.\"",
"\"I will hold them tight for you.\""
],
"breast_sex_success": [
"\"Use my tits.\"",
"\"Fuck my tits slowly.\"",
"\"Not too rough.\"",
"\"Keep it between them.\"",
"\"I can feel you twitching.\""
],
"caress_thigh_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"caress_thigh_success": [
"\"Slowly on my thigh.\"",
"\"Your hand is warm there.\"",
"\"That is close.\"",
"\"Do not rush higher.\"",
"\"Careful. That feels good.\""
],
"casual_heat_failure": [
"\"No. Stop there.\"",
"\"Not like that.\"",
"\"No. That does not land.\"",
"\"Are you serious right now?\"",
"\"You killed the mood.\"",
"\"Wrong time. Completely.\""
],
"casual_heat_success": [
"\"Now come back here.\"",
"\"There. Question answered.\"",
"\"This really could have waited.\"",
"\"One answer, then focus.\"",
"\"Bad timing, but fine.\""
],
"climax_back_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_back_success": [
"\"I can feel it on my back.\"",
"\"You marked me from behind.\"",
"\"That is all over my back.\"",
"\"Do not look so proud.\"",
"\"You really wanted it there.\""
],
"climax_body_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_body_success": [
"\"You made a mess on me.\"",
"\"That is warm.\"",
"\"You came all over my skin.\"",
"\"Do not pretend that was accidental.\"",
"\"Look what you did.\""
],
"climax_boobs_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_boobs_success": [
"\"You came all over my tits.\"",
"\"That is a lot of cum.\"",
"\"Do you like seeing it on my chest?\"",
"\"My tits are covered.\"",
"\"You made your point.\""
],
"climax_crotch_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_crotch_success": [
"\"That landed close.\"",
"\"You almost got it on my pussy.\"",
"\"Careful where you aim.\"",
"\"I can feel it near my slit.\"",
"\"That was not subtle.\""
],
"climax_face_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_face_success": [
"\"You covered my face.\"",
"\"Look at the mess you made.\"",
"\"Do not look so proud.\"",
"\"You got it all over me.\"",
"\"My face, really?\""
],
"climax_failure": [
"\"Use your hand.\"",
"\"Not there.\"",
"\"No. Finish on yourself.\"",
"\"Keep it off me.\"",
"\"I said not there.\"",
"\"No. Not there.\""
],
"climax_hands_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_hands_success": [
"\"You came all over my hands.\"",
"\"My fingers are covered.\"",
"\"Give me a second. That is a lot.\"",
"\"You made a mess in my palms.\"",
"\"I felt every pulse.\""
],
"climax_inside_ass_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_inside_ass_success": [
"\"I can feel your cum in my ass.\"",
"\"You came inside my asshole.\"",
"\"Do not move yet.\"",
"\"Fuck... that is deep.\"",
"\"I can still feel you back there.\""
],
"climax_inside_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_inside_success": [
"\"I can feel your cum inside me.\"",
"\"You came in my pussy.\"",
"\"Do not pull out yet.\"",
"\"Fuck... that is deep.\"",
"\"I can still feel it pulsing.\""
],
"climax_mouth_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_mouth_success": [
"\"I can taste you.\"",
"\"You came right on my tongue.\"",
"\"Give me a second. My mouth is full.\"",
"\"Fuck... you filled my mouth.\"",
"\"I got it. All of it.\""
],
"climax_pants_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_pants_success": [
"\"In your pants?\"",
"\"You really could not hold it.\"",
"\"That is going to show.\"",
"\"You made a mess of yourself.\"",
"\"That was not your proudest finish.\""
],
"climax_stomach_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_stomach_success": [
"\"You came on my stomach.\"",
"\"That is warm.\"",
"\"Look at the mess on me.\"",
"\"You got it all over my belly.\"",
"\"Do not pretend you missed.\""
],
"climax_success": [
"\"Fuck... you came hard.\"",
"\"I saw that.\"",
"\"You really let go.\"",
"\"That took you over.\"",
"\"You could not hold that back.\""
],
"climax_throat_failure": [
"\"No. Not there.\"",
"\"Do not finish there.\"",
"\"Move it away.\"",
"\"Not there.\"",
"\"I said not there.\""
],
"climax_throat_success": [
"\"You went deep.\"",
"\"I felt every pulse in my throat.\"",
"\"Fuck, I need air.\"",
"\"You really made me swallow that.\"",
"\"My throat can still feel you.\""
],
"command_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"No. Try asking first.\"",
"\"Not happening.\""
],
"command_success": [
"\"That voice works when you do not waste it.\"",
"\"I heard you.\"",
"\"Say it that clearly again.\"",
"\"Fine. Lead, then.\"",
"\"I will follow that much.\""
],
"compliment_style_failure": [
"\"Thanks. Leave it there.\"",
"\"Do not make it weird.\"",
"\"That is enough.\"",
"\"I heard you.\"",
"\"Move on.\""
],
"compliment_style_success": [
"\"You noticed that? Good.\"",
"\"That was almost tasteful.\"",
"\"I will accept that one.\"",
"\"Careful. That was charming.\""
],
"cont_69_focus_her_failure": [
"\"Don't make my side of this disappear.\"",
"\"Do not change it like that.\"",
"\"Slow your mouth down. I need room to breathe.\"",
"\"Too much on me at once. Ease off.\"",
"\"Keep it mutual. I don't want to be swallowed by it.\""
],
"cont_69_focus_her_success": [
"\"Keep your mouth on me.\"",
"\"Fuck... your tongue.\"",
"\"You are making it hard to suck.\"",
"\"Keep licking me.\"",
"\"Do not stop for me.\"",
"\"I am losing the rhythm.\""
],
"cont_69_grind_failure": [
"\"Too much. Slow down.\"",
"\"Do not fuck my mouth like that yet.\"",
"\"Less force. I am still trying to breathe.\"",
"\"Keep it mutual. Do not just push into me.\"",
"\"No. Not that hard.\""
],
"cont_69_grind_success": [
"\"Careful. I can take some, not all of that.\"",
"\"Fuck... keep your mouth on me if you move like that.\"",
"\"Do not just use my mouth. Keep licking.\"",
"\"That is rougher... but do not stop.\"",
"\"I can feel you trying to fuck my mouth.\""
],
"cont_69_keep_failure": [
"\"Wait, I'm losing the rhythm.\"",
"\"Do not change it like that.\"",
"\"Slow down. We're getting tangled.\"",
"\"Give me a second to catch up.\"",
"\"Don't rush it. I need the pace back.\""
],
"cont_69_keep_success": [
"\"Do not stop your tongue.\"",
"\"I can feel you in my mouth.\"",
"\"Keep licking while I suck you.\"",
"\"Mmh... both of us.\"",
"\"Stay in position.\""
],
"cont_69_let_her_focus_you_failure": [
"\"Don't make me do all the work.\"",
"\"Do not change it like that.\"",
"\"I'm not taking over while you just lie there.\"",
"\"Stay with me. Move with me, not against me.\"",
"\"No, I need you in this too.\""
],
"cont_69_let_her_focus_you_success": [
"\"Your cock is twitching.\"",
"\"Let me focus on you.\"",
"\"Stay still.\"",
"\"I can make you react.\"",
"\"Do not distract me.\""
],
"cont_69_to_sex_failure": [
"\"No, stay like this. I don't want to fuck yet.\"",
"\"Do not change it like that.\"",
"\"No, stay like this. I do not want to fuck yet.\"",
"\"Not sex. Keep your mouth where it is.\"",
"\"Don't turn this into penetration.\""
],
"cont_69_to_sex_success": [
"\"Okay... fuck me while I am still wet.\"",
"\"We can change it into sex.\"",
"\"Put it in slowly.\"",
"\"Do not waste what we just did.\"",
"\"I want you inside me now.\""
],
"cont_anal_cowgirl_failure": [
"\"Easy. I can't take your ass like that from on top.\"",
"\"Do not change it like that.\"",
"\"Slow down under me. I'm too tight for that pace.\"",
"\"Don't drive up into me like that.\"",
"\"Wait. Let me decide how deep it goes.\""
],
"cont_anal_cowgirl_success": [
"\"My ass decides the pace.\"",
"\"Do not thrust up.\"",
"\"I can handle it.\"",
"\"Let me take it.\"",
"\"Stay still.\""
],
"cont_anal_doggy_failure": [
"\"Careful. Don't hammer my ass like that.\"",
"\"Do not change it like that.\"",
"\"Slow down behind me. I need to feel in control.\"",
"\"Not so deep. My body is tensing up.\"",
"\"Hold my hips, but don't use them like handles.\""
],
"cont_anal_doggy_success": [
"\"Fuck my ass from behind.\"",
"\"Hold my hips.\"",
"\"Slow but deep.\"",
"\"Do not rush.\"",
"\"I can take it.\""
],
"cont_anal_hold_failure": [
"\"Don't lock me in place like that.\"",
"\"Do not change it like that.\"",
"\"Loosen your grip. I need to move.\"",
"\"Careful. That hold makes me tighten up.\"",
"\"Let my body move with it.\""
],
"cont_anal_hold_success": [
"\"Do not move yet.\"",
"\"Let me adjust.\"",
"\"Stay still.\"",
"\"I need a second.\"",
"\"Okay... slowly.\""
],
"cont_anal_missionary_failure": [
"\"Stay close, but give me a slower rhythm.\"",
"\"Do not change it like that.\"",
"\"My ass needs more patience than that.\"",
"\"Don't press into me like you're trying to prove something.\"",
"\"Easy. I need a second under you.\""
],
"cont_anal_missionary_success": [
"\"Slow in my ass.\"",
"\"Stay close.\"",
"\"Do not look away.\"",
"\"That is deep.\"",
"\"Careful... keep going.\""
],
"cont_anal_reverse_cowgirl_failure": [
"\"Don't make me take it that fast.\"",
"\"Do not change it like that.\"",
"\"Let me set the rhythm from here.\"",
"\"Not so deep from behind me.\"",
"\"Slow down. I can feel every inch.\""
],
"cont_anal_reverse_cowgirl_success": [
"\"Watch my ass.\"",
"\"Do not rush me.\"",
"\"I will move.\"",
"\"That is deep.\"",
"\"Stay still.\""
],
"cont_anal_slow_failure": [
"\"Even slower. I mean it.\"",
"\"Do not change it like that.\"",
"\"Careful. My ass is still tight.\"",
"\"Don't rush the next push.\"",
"\"Hold on. Let me breathe through it.\""
],
"cont_anal_slow_success": [
"\"My ass needs time.\"",
"\"Slow. Keep it slow.\"",
"\"Do not force it.\"",
"\"That is deep.\"",
"\"Careful... keep going.\""
],
"cont_anal_wall_failure": [
"\"Don't pin me that hard.\"",
"\"Do not change it like that.\"",
"\"The wall makes it rougher. Slow down.\"",
"\"Careful. I need my balance.\"",
"\"Not so deep against the wall.\""
],
"cont_anal_wall_success": [
"\"Hold me steady.\"",
"\"Slow against the wall.\"",
"\"Do not force it.\"",
"\"That is intense.\"",
"\"Careful... keep going.\""
],
"cont_analingus_circle_failure": [
"\"Not so much circling. It's too sensitive.\"",
"\"Do not change it like that.\"",
"\"Careful with your tongue there.\"",
"\"Slow it down. My ass is getting tight.\"",
"\"Lighter. That spot needs patience.\""
],
"cont_analingus_circle_success": [
"\"Tongue and fingers... fuck.\"",
"\"Slow with my ass.\"",
"\"Do not force it.\"",
"\"That is too much... keep going.\"",
"\"Careful there.\""
],
"cont_analingus_keep_failure": [
"\"Easy. Give me a second before you keep going.\"",
"\"Do not change it like that.\"",
"\"Don't keep pushing your tongue in like that.\"",
"\"Slow down. I'm too sensitive there.\"",
"\"Give me a breath before you keep going.\""
],
"cont_analingus_keep_success": [
"\"Keep your tongue there.\"",
"\"Slow on my ass.\"",
"\"That is filthy.\"",
"\"Do not stop.\"",
"\"Fuck... there.\""
],
"cont_analingus_slow_failure": [
"\"Even slower. Don't tease it so hard.\"",
"\"Do not change it like that.\"",
"\"Careful. That spot is raw right now.\"",
"\"Don't drag it out until I tense up.\"",
"\"Slow is fine, but make it lighter.\""
],
"cont_analingus_slow_success": [
"\"Do not tease my ass like that.\"",
"\"Keep your tongue careful.\"",
"\"Slow... fuck.\"",
"\"You are making it worse.\"",
"\"That is too filthy.\""
],
"cont_analingus_to_anal_failure": [
"\"No. Your mouth back there doesn't mean your cock.\"",
"\"Do not change it like that.\"",
"\"No, keep using your tongue. Do not put it in.\"",
"\"Don't turn rimming into anal sex.\"",
"\"Not penetration. Stay with your tongue.\""
],
"cont_analingus_to_anal_success": [
"\"Slow. My ass needs a second.\"",
"\"You can try, but carefully.\"",
"\"Do not force it.\"",
"\"Let me adjust.\"",
"\"Careful... that is bigger than your tongue.\""
],
"cont_analingus_to_cunni_failure": [
"\"No, don't switch places so suddenly.\"",
"\"Do not change it like that.\"",
"\"Keep your mouth where I can handle it.\"",
"\"Not my pussy yet. Slow down.\"",
"\"Wait. Don't rush from one place to the other.\""
],
"cont_analingus_to_cunni_success": [
"\"Yes, back there.\"",
"\"My pussy. Use your tongue there again.\"",
"\"That is easier to take.\"",
"\"Keep licking me there.\"",
"\"Good... back to my clit.\""
],
"cont_bj_deeper_failure": [
"\"No deeper. I mean it.\"",
"\"Do not change it like that.\"",
"\"No deeper.\"",
"\"Careful. I can only take so much.\"",
"\"Don't push your cock farther in.\""
],
"cont_bj_deeper_success": [
"\"Slow. I need to breathe.\"",
"\"Do not force my throat.\"",
"\"I can take a little more.\"",
"\"Careful... deeper.\"",
"\"Let me control it.\""
],
"cont_bj_eye_contact_failure": [
"\"Don't stare at me like I'm a test.\"",
"\"Do not change it like that.\"",
"\"That look is making me tense.\"",
"\"Let me focus without your eyes pinning me down.\"",
"\"No, not with that stare.\""
],
"cont_bj_eye_contact_success": [
"\"Mmh... eyes on you.\"",
"\"Watch me, then.\"",
"\"Do not look away.\"",
"\"You like seeing me like this.\"",
"\"That makes it dirtier.\""
],
"cont_bj_guide_rhythm_failure": [
"\"Don't guide my head like that.\"",
"\"Do not change it like that.\"",
"\"Let me find the pace with my mouth.\"",
"\"Your hands are rushing me.\"",
"\"No, I'm not following that rhythm.\""
],
"cont_bj_guide_rhythm_success": [
"\"Guide me slowly.\"",
"\"Not too fast.\"",
"\"I can follow that.\"",
"\"Do not push too deep.\"",
"\"Like this?\""
],
"cont_bj_let_continue_failure": [
"\"Don't just go quiet and leave me guessing.\"",
"\"Do not change it like that.\"",
"\"Give me something to follow.\"",
"\"I need you present, not silent.\"",
"\"No, don't make me carry the whole thing.\""
],
"cont_bj_let_continue_success": [
"\"Do not rush my mouth.\"",
"\"Let me keep going.\"",
"\"Stay still.\"",
"\"I can feel you getting harder.\"",
"\"Mmh... like this?\""
],
"cont_bj_praise_failure": [
"\"Don't talk to me like I'm being graded.\"",
"\"Do not change it like that.\"",
"\"Less commentary. Let me focus.\"",
"\"That praise feels strange right now.\"",
"\"No, don't turn this into a performance.\""
],
"cont_bj_praise_success": [
"\"Do not make me blush with my mouth full.\"",
"\"Mmh... you like that?\"",
"\"Tell me when it is good.\"",
"\"I can feel you react.\"",
"\"Keep praising me.\""
],
"cont_bj_slow_down_failure": [
"\"Don't keep changing the pace on me.\"",
"\"Do not change it like that.\"",
"\"If you want slower, stop moving into my mouth.\"",
"\"No, that makes it harder to breathe.\"",
"\"Careful. Slower doesn't mean pushing harder.\""
],
"cont_bj_slow_down_success": [
"\"Slower, then.\"",
"\"Trying not to come?\"",
"\"I can slow down.\"",
"\"Stay with me.\"",
"\"Do not lose it too soon.\""
],
"cont_bj_to_sex_failure": [
"\"No. My mouth doesn't mean sex.\"",
"\"Do not change it like that.\"",
"\"Not sex. Keep it where it is.\"",
"\"Don't pull me from this into fucking.\"",
"\"No, I'm not spreading for you yet.\""
],
"cont_bj_to_sex_success": [
"\"You can fuck me now.\"",
"\"Use my pussy too.\"",
"\"I am wet enough.\"",
"\"Come here. Put it in slowly.\"",
"\"My mouth got you ready. Now fuck me.\""
],
"cont_bj_touch_hair_failure": [
"\"Don't grab my hair.\"",
"\"Do not change it like that.\"",
"\"Easy with my hair.\"",
"\"Hands out of my hair unless I let you.\"",
"\"No, that makes me tense.\""
],
"cont_bj_touch_hair_success": [
"\"Keep your hand soft.\"",
"\"Careful with my hair.\"",
"\"Do not pull too hard.\"",
"\"You can touch it.\"",
"\"Mmh... gently.\""
],
"cont_cunni_add_fingers_failure": [
"\"No fingers. Just your mouth.\"",
"\"Do not change it like that.\"",
"\"Keep licking, but don't push inside.\"",
"\"My clit is enough right now.\"",
"\"Don't add your hand yet.\""
],
"cont_cunni_add_fingers_success": [
"\"Fingers too... yes.\"",
"\"Keep licking while you finger me.\"",
"\"That is too good.\"",
"\"Do not stop either.\"",
"\"Fuck, both.\""
],
"cont_cunni_keep_failure": [
"\"Slow down. My clit is too sensitive.\"",
"\"Do not change it like that.\"",
"\"Don't lick so hard.\"",
"\"Give me a second, but stay there.\"",
"\"Softer. You're making me tense.\""
],
"cont_cunni_keep_success": [
"\"Do not stop your tongue.\"",
"\"Right there on my clit.\"",
"\"Use your mouth.\"",
"\"Keep licking me.\"",
"\"Fuck... yes.\""
],
"cont_cunni_tease_failure": [
"\"Don't tease me like that.\"",
"\"Do not change it like that.\"",
"\"Either stay on my clit or slow down.\"",
"\"That back and forth is too much.\"",
"\"No, stop playing around with it.\""
],
"cont_cunni_tease_success": [
"\"Give me more tongue.\"",
"\"Stay on my clit.\"",
"\"Do not tease me like that.\"",
"\"Fuck, you are cruel.\"",
"\"Stop making me chase it.\""
],
"cont_cunni_to_analingus_failure": [
"\"No. My ass isn't part of this.\"",
"\"Do not change it like that.\"",
"\"No, keep your mouth on my pussy.\"",
"\"Keep your mouth on my pussy.\"",
"\"Don't move your tongue back there.\""
],
"cont_cunni_to_analingus_success": [
"\"Careful... lower than that is different.\"",
"\"Go slow if you are moving there.\"",
"\"Do not rush my ass.\"",
"\"Okay... carefully.\"",
"\"I feel where your mouth is going.\""
],
"cont_cunni_to_sex_failure": [
"\"No, keep licking me. I don't want to fuck yet.\"",
"\"Do not change it like that.\"",
"\"No, keep licking me. I do not want to fuck yet.\"",
"\"Not sex. Your mouth was good.\"",
"\"Don't stop eating me just to push inside.\""
],
"cont_cunni_to_sex_success": [
"\"Yes... fuck me while I am still wet.\"",
"\"You can put it in now.\"",
"\"Do not waste what your mouth did.\"",
"\"I want to feel you inside me.\"",
"\"Slow first. I am still sensitive.\""
],
"cont_finger_keep_failure": [
"\"Easy with your fingers.\"",
"\"Do not change it like that.\"",
"\"Not so fast inside me.\"",
"\"Slow down. I'm too sensitive.\"",
"\"Don't curl that hard.\""
],
"cont_finger_keep_success": [
"\"Your fingers are making me shake.\"",
"\"Keep fingering me.\"",
"\"Curl them there.\"",
"\"Do not stop.\"",
"\"Yes, inside me.\""
],
"cont_finger_tease_failure": [
"\"Don't tease me and then pull away.\"",
"\"Do not change it like that.\"",
"\"That is making me tense, not wet.\"",
"\"Stay steady or slow down.\"",
"\"No, not that stop-start thing.\""
],
"cont_finger_tease_success": [
"\"Do not tease me too much.\"",
"\"Fuck... keep them in.\"",
"\"You are doing that on purpose.\"",
"\"Stop pulling back.\"",
"\"Make me feel it.\""
],
"cont_finger_to_mouth_failure": [
"\"No. Don't switch to your mouth yet.\"",
"\"Do not change it like that.\"",
"\"Keep your fingers there for now.\"",
"\"Not your tongue. Not yet.\"",
"\"Don't move down so fast.\""
],
"cont_finger_to_mouth_success": [
"\"Your mouth now.\"",
"\"Yes... lick me there.\"",
"\"Do not stop touching me completely.\"",
"\"Use your tongue.\"",
"\"I am already wet. Keep going.\""
],
"cont_footjob_keep_failure": [
"\"Careful. Not so rough with your feet.\"",
"\"Do not change it like that.\"",
"\"Don't squeeze me like that.\"",
"\"Slow your feet down.\"",
"\"Easy. You're making me too sensitive.\""
],
"cont_footjob_keep_success": [
"\"Stay there.\"",
"\"My feet are enough?\"",
"\"Do not move too much.\"",
"\"I can feel you twitching.\"",
"\"Keep it between my soles.\""
],
"cont_hj_guide_rhythm_failure": [
"\"Don't guide my hand like that.\"",
"\"Do not change it like that.\"",
"\"Let me stroke you my way.\"",
"\"Your rhythm is too pushy.\"",
"\"No, stop steering every motion.\""
],
"cont_hj_guide_rhythm_success": [
"\"Let me feel you in my hand.\"",
"\"Show me the rhythm.\"",
"\"Like that?\"",
"\"Do not squeeze too hard?\"",
"\"I can follow that.\"",
"\"Guide me slowly.\""
],
"cont_hj_keep_failure": [
"\"Easy. Your cock is getting too sensitive.\"",
"\"Do not change it like that.\"",
"\"Slow down under my hand.\"",
"\"Don't thrust into my grip like that.\"",
"\"Give me a second to keep control.\""
],
"cont_hj_keep_success": [
"\"My hand is enough for now.\"",
"\"Like this?\"",
"\"You are getting harder.\"",
"\"Stay still.\"",
"\"I can feel you twitch.\""
],
"cont_hj_kiss_failure": [
"\"No, don't add kissing right now.\"",
"\"Do not change it like that.\"",
"\"Let my hand focus first.\"",
"\"That kiss throws me off.\"",
"\"Not like that. I'm busy with you.\""
],
"cont_hj_kiss_success": [
"\"Let me feel you in my hand.\"",
"\"Kiss me while I do it.\"",
"\"Keep kissing me.\"",
"\"Mmh... you are still hard.\"",
"\"Do not lose the rhythm.\"",
"\"That is distracting.\""
],
"cont_hj_tease_failure": [
"\"Don't tease yourself through my hand.\"",
"\"Do not change it like that.\"",
"\"That pace is annoying me.\"",
"\"No, keep it cleaner than that.\"",
"\"Stop making my grip chase you.\""
],
"cont_hj_tease_success": [
"\"You like my hand too much.\"",
"\"You are making this worse.\"",
"\"Do not tease me while I hold it.\"",
"\"I can feel you pulse.\"",
"\"Keep talking if you can.\""
],
"cont_hj_to_bj_failure": [
"\"No. My hand doesn't mean my mouth.\"",
"\"Do not change it like that.\"",
"\"No. My hand is enough.\"",
"\"Don't guide me down there.\"",
"\"Not my mouth. Keep it in my hand.\""
],
"cont_hj_to_bj_success": [
"\"I can use my mouth for a bit.\"",
"\"Stay still.\"",
"\"Let me take over.\"",
"\"Okay... my mouth then.\"",
"\"Do not push. I have it.\""
],
"cont_rubbing_keep_failure": [
"\"Careful. The fabric is rubbing too hard.\"",
"\"Do not change it like that.\"",
"\"Softer. That is too much friction.\"",
"\"Don't press into me like that.\"",
"\"Slow down. I'm getting tense.\""
],
"cont_rubbing_keep_success": [
"\"Through the fabric... yes.\"",
"\"Keep it there.\"",
"\"Do not go inside yet.\"",
"\"That is working.\"",
"\"Slow, keep rubbing.\""
],
"cont_rubbing_to_fingering_failure": [
"\"No. Stay over the fabric.\"",
"\"Do not change it like that.\"",
"\"No, keep it over the clothes.\"",
"\"Don't slide your fingers inside yet.\"",
"\"Keep it outside. I'm not ready.\""
],
"cont_rubbing_to_fingering_success": [
"\"Careful. That is direct now.\"",
"\"You got past the clothes.\"",
"\"Slow... I feel your fingers now.\"",
"\"That is more than rubbing.\"",
"\"Okay. Just do not rush.\""
],
"cont_sex_cowgirl_failure": [
"\"Don't make me ride harder than I want.\"",
"\"Do not change it like that.\"",
"\"Let me keep the pace from up here.\"",
"\"No, your thrusts are throwing me off.\"",
"\"Slow down. I'm trying to stay with it.\""
],
"cont_sex_cowgirl_success": [
"\"Let me ride you.\"",
"\"Stay still.\"",
"\"I control this angle.\"",
"\"You feel good under me.\"",
"\"Watch me take it.\""
],
"cont_sex_doggy_failure": [
"\"Not so rough from behind.\"",
"\"Do not change it like that.\"",
"\"Hold on. I need the pace slower.\"",
"\"Don't drive into me like that.\"",
"\"Careful. My legs are getting tense.\""
],
"cont_sex_doggy_success": [
"\"Hold my hips.\"",
"\"From behind... yes.\"",
"\"Keep fucking me.\"",
"\"Not too fast.\"",
"\"I can take it.\""
],
"cont_sex_missionary_failure": [
"\"Slow down while you're over me.\"",
"\"Do not change it like that.\"",
"\"Not that hard. Stay with me.\"",
"\"Careful. I need a softer rhythm.\"",
"\"Don't make me feel trapped under you.\""
],
"cont_sex_missionary_success": [
"\"Stay close.\"",
"\"Fuck me like that.\"",
"\"Do not stop.\"",
"\"I can feel you deep.\"",
"\"Keep looking at me.\""
],
"cont_sex_reverse_cowgirl_failure": [
"\"Let me move from here.\"",
"\"Do not change it like that.\"",
"\"Slow down. Let me keep the rhythm.\"",
"\"Don't buck up into me like that.\"",
"\"No, I need control in this position.\""
],
"cont_sex_reverse_cowgirl_success": [
"\"Watch me ride it.\"",
"\"Do not grab too hard.\"",
"\"I will move.\"",
"\"You like this view.\"",
"\"Stay under me.\""
],
"cont_sex_to_69_failure": [
"\"No. I want your cock, not a new position.\"",
"\"Do not change it like that.\"",
"\"No. Stay with what we're doing.\"",
"\"Don't pull out for sixty-nine.\"",
"\"Stay inside me. Don't switch yet.\""
],
"cont_sex_to_69_success": [
"\"Yeah, we can do that for a bit.\"",
"\"Use your mouth again.\"",
"\"Come here. I want to taste you too.\"",
"\"Okay... switch with me.\"",
"\"I can keep going like this.\""
],
"cont_sex_to_anal_failure": [
"\"No. My pussy is one thing, my ass is another.\"",
"\"Do not change it like that.\"",
"\"No, keep fucking my pussy. Not my ass.\"",
"\"Don't aim for my ass.\"",
"\"Not anal. Stay where you are.\""
],
"cont_sex_to_anal_success": [
"\"Slow. That is not the same hole.\"",
"\"Careful with my ass.\"",
"\"Give me a second first.\"",
"\"Do not push too fast.\"",
"\"Okay... but slowly.\""
],
"cont_sex_wall_failure": [
"\"Careful. The wall makes this hit too hard.\"",
"\"Do not change it like that.\"",
"\"Slow down. That's too much.\"",
"\"Don't pin me so tightly.\"",
"\"Slow down before I lose my footing.\""
],
"cont_sex_wall_success": [
"\"Hold me up.\"",
"\"Against the wall... fuck.\"",
"\"Do not drop me.\"",
"\"Keep it steady.\"",
"\"That is intense.\""
],
"cont_titfuck_keep_failure": [
"\"Careful. Don't shove between my tits like that.\"",
"\"Do not change it like that.\"",
"\"Slow down. I need a second.\"",
"\"Slow down. My chest can feel every push.\"",
"\"No, not that rough against my breasts.\""
],
"cont_titfuck_keep_success": [
"\"Use my tits.\"",
"\"Fuck my tits slowly.\"",
"\"Not too rough.\"",
"\"Keep it between them.\"",
"\"I can feel you twitch.\""
],
"cont_titfuck_let_work_failure": [
"\"Don't just make me do all of it.\"",
"\"Do not change it like that.\"",
"\"Slow down. You're rushing me.\"",
"\"Help me keep the rhythm.\"",
"\"No, don't turn me into the whole show.\""
],
"cont_titfuck_let_work_success": [
"\"Put your cock between my tits.\"",
"\"Do not thrust yet.\"",
"\"I can handle the rhythm.\"",
"\"Stay still. I will do it.\"",
"\"Let me work.\"",
"\"Watch me.\""
],
"cont_titfuck_lick_tip_failure": [
"\"No. Don't push the head toward my mouth.\"",
"\"Do not change it like that.\"",
"\"Not like that. Slow down.\"",
"\"Keep it between my tits, not on my tongue.\"",
"\"Not my mouth. Stay with my chest.\""
],
"cont_titfuck_lick_tip_success": [
"\"Do not push into my mouth.\"",
"\"Keep it between my tits.\"",
"\"Just the tip.\"",
"\"I will lick it.\"",
"\"That makes you twitch.\""
],
"cowgirl_failure": [
"\"No. Not that.\"",
"\"No. I'm not getting on top right now.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not like that. I'm not riding you.\""
],
"cowgirl_pleasure_failure": [
"\"No. Stop there.\"",
"\"Slow down.\"",
"\"Not like that.\"",
"\"Change the angle.\"",
"\"Wait, that does not feel right.\"",
"\"Ease up a little.\"",
"\"Give me a second.\"",
"\"Wrong angle.\""
],
"cowgirl_pleasure_success": [
"\"My pussy is taking you so deep.\"",
"\"Let me use your cock.\"",
"\"Let me ride it.\"",
"\"I want to set the pace.\"",
"\"Stay still. I want to take it.\"",
"\"You feel so good under me.\"",
"\"I can feel every inch like this.\"",
"\"I like being on top.\"",
"\"Do not move. I have it.\""
],
"cowgirl_success": [
"\"Let me ride it.\"",
"\"Stay still. I will move.\"",
"\"I can feel you under me.\"",
"\"Do not grab too hard.\"",
"\"Watch me take it.\""
],
"cunnilingus_to_analingus_failure": [
"\"No, I want your tongue on my cunt.\"",
"\"No, stay on my pussy.\"",
"\"Not my ass right now.\"",
"\"Keep your mouth higher.\"",
"\"Do not lick there.\"",
"\"No. Keep your mouth away from my ass.\""
],
"cunnilingus_to_analingus_success": [
"\"Careful... lower than that is different.\"",
"\"Go slow if you are moving there.\"",
"\"Do not rush my ass.\"",
"\"Okay... carefully.\"",
"\"I feel where your mouth is going.\""
],
"cunnilingus_to_sex_failure": [
"\"I want your mouth, not your cock right now.\"",
"\"Keep your tongue on my pussy.\"",
"\"Do not stop with your mouth yet.\"",
"\"No, keep licking.\"",
"\"Not inside me yet.\"",
"\"Stay down there.\"",
"\"Not yet. Keep licking me.\"",
"\"Do not rush into sex.\""
],
"cunnilingus_to_sex_success": [
"\"Yes... fuck me while I am still wet.\"",
"\"You can put it in now.\"",
"\"Do not waste what your mouth did.\"",
"\"I want to feel you inside me.\"",
"\"Slow first. I am still sensitive.\""
],
"deep_kiss_failure": [
"\"No. Do not push it.\"",
"\"That is enough.\"",
"\"Not deeper.\"",
"\"Too much.\"",
"\"Slow down.\""
],
"deep_kiss_success": [
"\"Mmh... keep kissing me.\"",
"\"Kiss me like that again.\"",
"\"You can use your tongue.\"",
"\"That is a real kiss.\"",
"\"You kiss like you want more.\"",
"\"Careful. That gets dangerous fast.\"",
"\"That is better.\"",
"\"Do not stop yet.\""
],
"deepthroat_pleasure_failure": [
"\"No. That is too deep. Keep it where I can handle it.\"",
"\"Not that far. Slow down.\"",
"\"No. Not that deep.\"",
"\"Slow down. I am not taking it that deep.\"",
"\"No. Shallow is fine. Deeper is not happening.\""
],
"deepthroat_pleasure_success": [
"\"I can handle it. Just do not jam it down my throat.\"",
"\"Mmh... okay. More of your cock. Slow.\"",
"\"Easy... I can take more. Just give me a second.\"",
"\"Fuck... deeper, then. Hold still and let me do it.\"",
"\"Let me breathe, then I will take you deeper.\""
],
"default_failure": [
"\"No. Stop there.\"",
"\"Not like that.\"",
"\"That is not a yes.\"",
"\"Back off for now.\"",
"\"No. Change approach.\""
],
"default_success": [
"\"Alright. Keep going.\"",
"\"That is fine. Do not rush it.\"",
"\"I am still with you.\"",
"\"Careful, but yes.\"",
"\"Keep going like that.\""
],
"demand_anal_sex_failure": [
"\"No. Do not order me to give you my ass.\"",
"\"My ass is not yours to command.\"",
"\"No. That demand is too much.\"",
"\"Do not talk like you can order anal from me.\"",
"\"No. Ask better or stop asking.\""
],
"demand_anal_sex_success": [
"\"Fine. I heard you.\"",
"\"You want my ass because you said so? Careful.\"",
"\"I will let you try, but you listen when I say slow.\"",
"\"That order is dangerous. Do not waste it.\"",
"\"If I obey this, you do not force me.\"",
"\"Alright. But slow, and I mean it.\""
],
"demand_blowjob_failure": [
"\"No. Do not order my mouth onto your cock.\"",
"\"I am not sucking you because you commanded it.\"",
"\"No. That demand gets you nothing.\"",
"\"Do not talk like my mouth belongs to you.\"",
"\"No. Try asking like a person.\""
],
"demand_blowjob_success": [
"\"Fine. I heard the order.\"",
"\"I will use my mouth, but do not push my head.\"",
"\"You want obedience? Stay still.\"",
"\"Alright. I will do it.\"",
"\"Do not get greedy just because I listened.\"",
"\"I will suck you, but you keep yourself under control.\""
],
"demand_cunnilingus_failure": [
"\"No. Do not order me open for your mouth.\"",
"\"I am not spreading because you commanded it.\"",
"\"No. That demand goes too far.\"",
"\"Do not talk like my pussy owes you anything.\"",
"\"No. You do not get to command that.\""
],
"demand_cunnilingus_success": [
"\"Fine. Use your mouth, then.\"",
"\"I heard the order. Make it worth obeying.\"",
"\"Alright. But do not rush me.\"",
"\"If I let you, you do it properly.\"",
"\"You want your mouth on me? Fine.\"",
"\"I will let you try, but you listen.\""
],
"demand_footjob_failure": [
"\"No. Do not order my feet onto you.\"",
"\"I am not doing that because you commanded it.\"",
"\"No. That demand gets you nowhere.\"",
"\"Do not order me around like that.\"",
"\"No. Stop commanding and listen.\""
],
"demand_footjob_success": [
"\"Fine. I will use my feet.\"",
"\"You like ordering me around for this, do you?\"",
"\"I heard you. Stay still.\"",
"\"Do not get smug. I am doing it.\"",
"\"Alright. I will give you that.\"",
"\"I will do it, but you do not get more just because you demanded it.\""
],
"demand_handjob_failure": [
"\"No. Do not order me to touch your cock.\"",
"\"I am not touching you because you commanded it.\"",
"\"No. That demand makes me want to move my hand away.\"",
"\"Do not talk like my hand belongs on you.\"",
"\"No. Ask better.\""
],
"demand_handjob_success": [
"\"Fine. My hand, then.\"",
"\"I heard you.\"",
"\"Stay still if you want me to obey.\"",
"\"I will stroke you, but do not order more than that.\"",
"\"Alright. I will touch you.\"",
"\"Do not get greedy just because I listened.\""
],
"demand_sex_failure": [
"\"No. You do not get to order sex from me.\"",
"\"I am not fucking you because you commanded it.\"",
"\"No. That demand goes too far.\"",
"\"Do not talk like my body is yours to use.\"",
"\"No. Ask better or stop.\""
],
"demand_sex_success": [
"\"Fine. I heard the demand.\"",
"\"I will let you fuck me, but you go slow.\"",
"\"You want sex because you said so? Careful.\"",
"\"Alright. But do not make me regret obeying.\"",
"\"If I say yes to that command, you listen.\"",
"\"Fine. I will do it, but you stay in control.\""
],
"demand_sixty_nine_failure": [
"\"No. Do not order me into that.\"",
"\"You do not get my mouth because you commanded it.\"",
"\"No. That demand is too much.\"",
"\"I am not getting into that position because you ordered it.\"",
"\"No. Stop commanding.\""
],
"demand_sixty_nine_success": [
"\"Fine. Both of us, then.\"",
"\"I heard the order. Do not just take.\"",
"\"Alright. But your mouth works too.\"",
"\"I will do it if you do not get selfish.\"",
"\"Fine. Get ready, then.\"",
"\"If I obey, you make me feel it too.\""
],
"demand_titfuck_failure": [
"\"No. Do not order me to use my tits.\"",
"\"You do not get that by demanding it.\"",
"\"Back off. That command does not work here.\"",
"\"I am not giving you my chest because you ordered it.\"",
"\"No. Stop there.\""
],
"demand_titfuck_success": [
"\"Fine. I will use my tits.\"",
"\"I heard you. Keep your hips under control.\"",
"\"You are really ordering me to do this? Then stay still.\"",
"\"Do not make me regret letting you command this.\"",
"\"Alright. I will give you that.\"",
"\"I will do it, but do not get greedy.\""
],
"dirty_praise_failure": [
"\"Not yet.\"",
"\"Do not talk to me like that yet.\"",
"\"You have not earned that.\"",
"\"No. Too early.\"",
"\"That does not work on me.\""
],
"dirty_praise_success": [
"\"Do not say that unless you mean it.\"",
"\"You like talking to me like that.\"",
"\"That is filthy praise.\"",
"\"Careful. I liked that.\"",
"\"Say it again, slower.\""
],
"doggy_failure": [
"\"No. Not that.\"",
"\"No. I'm not turning around for you.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not from behind. Not with that angle.\""
],
"doggy_pleasure_failure": [
"\"No. Stop there.\"",
"\"Slow down.\"",
"\"Not like that.\"",
"\"Change the angle.\"",
"\"Wait, that does not feel right.\"",
"\"Ease up a little.\"",
"\"Give me a second.\"",
"\"Wrong angle.\""
],
"doggy_pleasure_success": [
"\"Hold my hips.\"",
"\"My pussy wants more.\"",
"\"Fuck me harder from behind.\"",
"\"Deeper... yes, like that.\"",
"\"Do not stop. I want it rougher.\"",
"\"Fuck, that angle is deep.\"",
"\"Keep taking me like that.\"",
"\"Use that angle again.\"",
"\"Yes... right there.\""
],
"doggy_success": [
"\"Hold my hips.\"",
"\"Fuck me from behind.\"",
"\"Not too fast.\"",
"\"I can feel you deep.\"",
"\"Keep it steady.\""
],
"end_orgasm_her_1": [
"\"That was good. I needed that.\"",
"\"There... yes. That hit me.\"",
"\"Do not move yet.\"",
"\"I am still sensitive.\"",
"\"Give me a second.\""
],
"end_orgasm_her_2": [
"\"Twice... fuck.\"",
"\"You made me come twice.\"",
"\"I am still shaking.\"",
"\"Do not move yet.\"",
"\"My legs are not ready.\""
],
"end_orgasm_her_3": [
"\"Fuck... my whole body is shaking.\"",
"\"Three times? I can barely think.\"",
"\"I need a second.\"",
"\"I cannot think straight.\"",
"\"My body is still twitching.\""
],
"end_orgasm_her_4": [
"\"I cannot believe you kept me there that long.\"",
"\"Four... I am a mess.\"",
"\"Do not ask me to stand up yet.\"",
"\"I can barely move.\"",
"\"My body needs a minute.\""
],
"end_orgasm_her_5": [
"\"I feel like my legs forgot what they are for.\"",
"\"That was too much... in the best way.\"",
"\"Five... I am completely ruined.\"",
"\"Do not touch me for a second.\"",
"\"I need to remember how to breathe.\""
],
"end_orgasm_her_6": [
"\"Six... I am gone.\"",
"\"I cannot even think right now.\"",
"\"You put me in heaven.\"",
"\"I need a minute before I move.\"",
"\"My body is still shaking.\""
],
"end_orgasm_none_her_many_you": [
"\"You came that many times and I did not come once? Come on.\"",
"\"You had a lot of fun. I need you to care about mine too.\"",
"\"I am still worked up, and you know it.\"",
"\"That got way too one-sided.\"",
"\"Next time, do not leave me hanging like that.\""
],
"end_orgasm_none_her_one_you": [
"\"You came, but I did not. That was not exactly fair.\"",
"\"You finished. I am still waiting.\"",
"\"I did not get there.\"",
"\"Next time, remember I need to finish too.\"",
"\"That was mostly yours.\""
],
"end_orgasm_you_0": [
"\"You did not even come.\"",
"\"I noticed you held back.\"",
"\"You stopped before you finished.\"",
"\"You are still wound up.\"",
"\"You left yourself unfinished.\""
],
"end_orgasm_you_0_guilt": [
"\"You made me come that hard and you did not even finish? I feel bad now.\"",
"\"I should have paid more attention to you.\"",
"\"You are still hard. I should not have missed that.\"",
"\"I got carried away and left you hanging.\"",
"\"Let me make that up to you next time.\""
],
"end_orgasm_you_1": [
"\"That was enough for both of us, I think.\"",
"\"Good. That felt right.\"",
"\"You finished hard.\"",
"\"I liked feeling you let go.\"",
"\"You look better now.\""
],
"end_orgasm_you_2": [
"\"Twice? You were really into that.\"",
"\"We had too much fun.\"",
"\"You came twice. I am impressed.\"",
"\"I like that I pulled that out of you.\"",
"\"You really needed that second one.\""
],
"end_orgasm_you_3": [
"\"We came so many times. That chemistry is insane.\"",
"\"Fuck, we are dangerous together.\"",
"\"You came so much I lost count.\"",
"\"That was more than I expected.\"",
"\"I can still feel how intense that got.\""
],
"finger_ass_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"finger_ass_success": [
"\"Slow with my ass.\"",
"\"Do not force it.\"",
"\"That is tight... careful.\"",
"\"Use your finger slowly.\"",
"\"Fuck, there? Okay, slow.\""
],
"finger_pussy_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"finger_pussy_success": [
"\"Your fingers... yes.\"",
"\"Keep them inside me.\"",
"\"Curl them there.\"",
"\"Do not stop fingering me.\"",
"\"Fuck... that is right.\""
],
"fingering_pleasure_failure": [
"\"No fingers.\"",
"\"Your hand moves away now.\"",
"\"Enough with your fingers.\"",
"\"Stop fingering me.\"",
"\"Not inside me.\""
],
"fingering_pleasure_success": [
"\"Keep your fingers inside me.\"",
"\"Fuck... your hand.\"",
"\"Curl them there.\"",
"\"Do not stop fingering me.\"",
"\"Yes, inside.\""
],
"fingering_tease_failure": [
"\"No. Stop there.\"",
"\"Not that.\"",
"\"No, that is not working.\"",
"\"Stop teasing and slow down.\"",
"\"Wrong rhythm.\"",
"\"Not like that.\""
],
"fingering_tease_success": [
"\"Yes. Keep your fingers there.\"",
"\"Keep doing that, but do not stop.\"",
"\"Do not tease me too much.\"",
"\"Mmh... that is cruel.\"",
"\"You are making me chase it.\""
],
"flirt_bold_failure": [
"\"No. Too much.\"",
"\"That was not smooth.\"",
"\"Do not try that again right now.\"",
"\"You overplayed it.\"",
"\"That did not land.\""
],
"flirt_bold_success": [
"\"You decided to say that out loud?\"",
"\"I will give you credit for nerve.\"",
"\"Bold. Risky, but bold.\"",
"\"Careful... I noticed that.\"",
"\"That almost sounded dangerous.\""
],
"flirt_failure": [
"\"That did not earn the look you wanted.\"",
"\"No. Do not touch me like that.\"",
"\"Too early.\"",
"\"That sounded forced.\"",
"\"You reached past the mood.\"",
"\"No. Build toward it first.\""
],
"flirt_soft_failure": [
"\"No. That sounded forced.\"",
"\"Too early.\"",
"\"That did not work.\"",
"\"Do not push it.\"",
"\"Keep it normal.\""
],
"flirt_soft_success": [
"\"That was smooth enough.\"",
"\"You are trying to be charming.\"",
"\"Not bad. Keep it light.\"",
"\"I heard that.\"",
"\"Careful. That almost worked.\""
],
"flirt_success": [
"\"Do not start that unless you can finish the thought.\"",
"\"Careful. That one almost worked too well.\"",
"\"You are making it difficult to ignore you.\"",
"\"Say it again like you mean it.\"",
"\"That was bold. I noticed.\""
],
"footjob_pleasure_failure": [
"\"No. That's enough with your feet.\"",
"\"No, I need to stop that.\"",
"\"My legs are done for now.\"",
"\"Not more. Change it.\"",
"\"I cannot keep that angle.\""
],
"footjob_pleasure_success": [
"\"Do not move too much. Let my feet handle it.\"",
"\"Stay there. I can feel when it works.\"",
"\"You are harder than I expected against my feet.\"",
"\"You really like this. I can tell.\"",
"\"Like that? I can keep doing it.\""
],
"gaze_ass_failure": [
"\"Stop staring at my ass.\"",
"\"Do not be obvious.\"",
"\"That is enough looking.\"",
"\"Eyes up.\"",
"\"Not there.\""
],
"gaze_ass_success": [
"\"My ass has your attention, apparently.\"",
"\"If you stare, do not act innocent.\"",
"\"You looked. I noticed.\"",
"\"Careful. That look says a lot.\"",
"\"You are not subtle at all.\""
],
"gaze_chest_failure": [
"\"Eyes up.\"",
"\"My face is up here.\"",
"\"Do not stare at my chest.\"",
"\"You are being obvious.\"",
"\"Not there.\""
],
"gaze_chest_success": [
"\"Eyes are higher, but I noticed.\"",
"\"Careful. You are making it obvious.\"",
"\"I know where you are looking.\"",
"\"That look is not subtle.\"",
"\"If you look, at least own it.\""
],
"gaze_failure": [
"\"You are making the wrong part of this loud.\"",
"\"Eyes up.\"",
"\"Look at my face before you lose the room.\"",
"\"Stop looking at me like that.\"",
"\"Not now.\"",
"\"That was too much too soon.\""
],
"gaze_legs_failure": [
"\"Eyes up.\"",
"\"Do not stare.\"",
"\"That is enough looking.\"",
"\"You are being obvious.\"",
"\"Not there.\""
],
"gaze_legs_success": [
"\"Careful where your eyes settle.\"",
"\"At least you are honest about it.\"",
"\"You like my legs, then?\"",
"\"That was not subtle.\"",
"\"I saw that look.\""
],
"gaze_success": [
"\"If you are going to stare, do it honestly.\"",
"\"Yes. Like that.\"",
"\"You are not subtle.\"",
"\"I can feel you looking.\"",
"\"Do not look away now.\""
],
"gentle_command_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"Not happening.\"",
"\"You do not have that kind of pull yet.\""
],
"gentle_command_success": [
"\"Do not mistake this for surrender.\"",
"\"Okay. Show me.\"",
"\"I heard you. Do not push it.\"",
"\"Careful. That command almost works.\"",
"\"Fine. I can follow that much.\"",
"\"Say it like that and maybe.\""
],
"grind_together_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"grind_together_success": [
"\"That is making it harder to think.\"",
"\"I can feel you.\"",
"\"Careful. That is not subtle.\"",
"\"Mmh... keep it slow.\"",
"\"You are grinding against me.\""
],
"guide_position_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"Not happening.\"",
"\"You do not have that kind of pull yet.\""
],
"guide_position_success": [
"\"There?\"",
"\"Fine. Guide me, then.\"",
"\"Slowly. I am moving.\"",
"\"You are very sure of yourself.\"",
"\"Tell me where you want me.\""
],
"handjob_pleasure_failure": [
"\"No more. I need a second.\"",
"\"Your cock is not in my hand now.\"",
"\"Do not put my hand back there.\"",
"\"I am letting go.\"",
"\"Enough stroking.\""
],
"handjob_pleasure_success": [
"\"You are getting hard in my hand.\"",
"\"Like this?\"",
"\"Stay still.\"",
"\"I can feel you pulse.\"",
"\"Do not come too fast.\""
],
"handjob_to_blowjob_failure": [
"\"No, my hand is enough.\"",
"\"Not with my mouth right now.\"",
"\"Do not push it to my lips.\"",
"\"Hands only for now.\"",
"\"I will keep stroking it.\"",
"\"I am not sucking it yet.\""
],
"handjob_to_blowjob_success": [
"\"I can use my mouth for a bit.\"",
"\"Stay still.\"",
"\"Let me take over.\"",
"\"Okay... my mouth then.\"",
"\"Do not push. I have it.\""
],
"hold_eye_contact_command_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"Not happening.\"",
"\"You do not have that kind of pull yet.\""
],
"hold_eye_contact_command_success": [
"\"Fine. Eyes on you.\"",
"\"You want my attention? You have it.\"",
"\"I am looking.\"",
"\"That is a dangerous order.\"",
"\"Do not blink first.\""
],
"hug_her_failure": [
"\"No hug.\"",
"\"Not yet.\"",
"\"Do not pull me in.\"",
"\"Too close.\"",
"\"No. Keep some space.\""
],
"hug_her_success": [
"\"Yes. Like that.\"",
"\"Alright. Just a hug.\"",
"\"Do not squeeze too hard.\"",
"\"That is warmer than I expected.\"",
"\"Fine. A moment.\"",
"\"You get one.\""
],
"inquire_jobs_failure": [
"\"No. I am not sending you anywhere yet.\"",
"\"Ask me when I know you better.\"",
"\"I do not have a lead for you.\"",
"\"Not right now.\"",
"\"No. That is not something I am sharing yet.\""
],
"inquire_jobs_success": [
"\"There may be something worth checking.\"",
"\"Ask around carefully. People remember who wastes their time.\"",
"\"You are looking for work, not miracles. Good.\"",
"\"I might know a lead.\"",
"\"Fine. I can point you somewhere.\""
],
"inquire_training_failure": [
"\"No. I am not teaching you that yet.\"",
"\"Ask me when I know you better.\"",
"\"Not giving you that advice right now.\"",
"\"No. Figure out the basics first.\"",
"\"Not yet.\""
],
"inquire_training_success": [
"\"Training only helps if you stay with it.\"",
"\"Fine. I know a place to start.\"",
"\"You sound like you might actually use the advice.\"",
"\"Ask properly and you may learn something.\"",
"\"There are a few options.\""
],
"introduce_dominant_failure": [
"\"No. You do not get to start like that.\"",
"\"That is not going to work.\"",
"\"Try being less impressed with yourself.\"",
"\"Wrong start.\"",
"\"No. Not from you.\""
],
"introduce_dominant_success": [
"\"Confident. I will give you that. What is your name?\"",
"\"That is a strong opening. Now say something worth it.\"",
"\"Careful. I heard the tone, and I am still listening.\"",
"\"You like taking the lead, don't you? Fine, lead.\"",
"\"Bold. I have not decided if that is good or annoying yet.\"",
"\"I can talk about that.\""
],
"introduce_failure": [
"\"Hi. That is all you get for now.\"",
"\"Not a great start.\"",
"\"Try again with less noise.\"",
"\"I heard you.\"",
"\"That did not make much of an impression.\""
],
"introduce_success": [
"\"That is a decent start. Keep talking.\"",
"\"I am {name}. What should I call you?\"",
"\"Alright. You have my attention. What is your name?\"",
"\"Fine, I will bite. What brought you over?\"",
"\"At least you opened like a normal person. Go on.\""
],
"invite_coffee_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"invite_coffee_success": [
"\"Coffee is safe enough. Maybe.\"",
"\"Fine, coffee can happen.\"",
"\"Maybe. I could use coffee.\"",
"\"That sounds simple. I like simple.\"",
"\"A public table first. That works.\""
],
"invite_gallery_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"invite_gallery_success": [
"\"A gallery is not a bad idea.\"",
"\"Maybe. I want to see what you notice.\"",
"\"That sounds better than a drink.\"",
"\"Fine. Show me your taste.\"",
"\"That could be interesting.\""
],
"invite_meal_failure": [
"\"Not today. Dinner at your place is still too private.\"",
"\"No. I am not ready to come over for that.\"",
"\"I do not know you well enough for dinner at your place.\"",
"\"No. Somewhere public would be better.\"",
"\"I appreciate the offer, but I am not coming over yet.\"",
"\"Tempting, but too much right now.\"",
"\"It sounds nice, but not today.\"",
"\"Maybe another time. Not tonight.\""
],
"invite_meal_success": [
"\"Okay. A meal at your place sounds good.\"",
"\"If you are cooking, I am curious.\"",
"\"Alright. I would like to try your cooking.\"",
"\"That sounds nice. I would like that.\"",
"\"Dinner sounds better than just coming over.\"",
"\"I would like to see what you cook.\"",
"\"I can do dinner. That sounds comfortable.\"",
"\"That sounds nice. I will give it a try.\""
],
"invite_private_movie_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"invite_private_movie_success": [
"\"A movie. Privately. I heard both parts.\"",
"\"A private movie can happen. Carefully.\"",
"\"I can talk about a movie.\"",
"\"Maybe. I choose the movie.\"",
"\"That sounds like an excuse, but not a bad one.\"",
"\"Fine, but the door stays my decision.\""
],
"invite_room_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"invite_room_success": [
"\"Your place. That is not a small ask.\"",
"\"Maybe, but I decide what happens there.\"",
"\"Fine, but do not get ahead of yourself.\"",
"\"Private means careful.\"",
"\"I hear what you are asking.\""
],
"invite_workout_failure": [
"\"No. Not now.\"",
"\"That is not happening today.\"",
"\"I am not giving you that.\"",
"\"You are asking too soon.\"",
"\"No. Leave that for later.\""
],
"invite_workout_success": [
"\"Training together? Maybe.\"",
"\"Do not make me regret saying yes.\"",
"\"Fine. Sweat first, flirting later.\"",
"\"If you keep up, maybe.\"",
"\"That could be useful.\""
],
"kiss_cheek_failure": [
"\"No. Not that.\"",
"\"Too soon.\"",
"\"Do not kiss me yet.\"",
"\"Not now.\"",
"\"Back up.\""
],
"kiss_cheek_success": [
"\"That was gentle.\"",
"\"That was sweet.\"",
"\"Do not get greedy.\"",
"\"That was sweet.\"",
"\"You can do that again.\""
],
"kiss_lips_failure": [
"\"No kiss.\"",
"\"Too soon.\"",
"\"Do not try that yet.\"",
"\"Not now.\"",
"\"Back up.\""
],
"kiss_lips_success": [
"\"I liked that kiss.\"",
"\"There. That was my mouth.\"",
"\"You wanted that kiss.\"",
"\"Careful. Lips mean more.\"",
"\"That was good.\"",
"\"Do that again, slowly.\"",
"\"Stay close.\"",
"\"Again, but do not rush it.\""
],
"lick_pussy_failure": [
"\"No. Not that.\"",
"\"No. I'm not ready for your mouth.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not there. Keep your tongue away for now.\""
],
"lick_pussy_success": [
"\"Use your tongue there.\"",
"\"Yes... my pussy.\"",
"\"Stay on my clit.\"",
"\"Lick me slowly.\"",
"\"Do not stop.\""
],
"look_eyes_failure": [
"\"Do not stare me down.\"",
"\"Too much.\"",
"\"Stop trying to make that a thing.\"",
"\"Not now.\"",
"\"You are overdoing it.\""
],
"look_eyes_success": [
"\"You are not looking away.\"",
"\"That is a dangerous habit.\"",
"\"Steady. I noticed.\"",
"\"You have my attention.\"",
"\"Do not waste that look.\""
],
"make_her_hold_still_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"Not happening.\"",
"\"You do not have that kind of pull yet.\""
],
"make_her_hold_still_success": [
"\"Okay. Show me.\"",
"\"Still. Fine.\"",
"\"You like giving orders.\"",
"\"Do not make me regret obeying.\"",
"\"I can hold still. Briefly.\"",
"\"Careful. That command gets noticed.\""
],
"massage_ass_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"No. Don't work my ass like that.\""
],
"massage_ass_success": [
"\"You like my ass that much?\"",
"\"Keep your hands steady.\"",
"\"You are very low now.\"",
"\"Mmh... not so rough.\"",
"\"Careful. That feels good.\""
],
"massage_back_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Too much. Keep the massage lighter.\""
],
"massage_back_success": [
"\"Keep your hands like that.\"",
"\"I needed that more than I thought.\"",
"\"That is good.\"",
"\"Lower, but not too low.\"",
"\"You found the tension.\""
],
"massage_breasts_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"No. My breasts aren't part of the massage yet.\""
],
"massage_breasts_success": [
"\"Mmh... my tits are sensitive.\"",
"\"Careful with them.\"",
"\"Do not squeeze too hard.\"",
"\"That feels too good.\"",
"\"Keep your thumbs slow.\""
],
"massage_failure": [
"\"Reset your hands.\"",
"\"Stop. That is not helping.\"",
"\"Too rough.\"",
"\"Lighter. Listen to my body.\"",
"\"That is not the spot.\""
],
"massage_inner_thighs_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Careful. That is getting too close.\""
],
"massage_inner_thighs_success": [
"\"Careful between my thighs.\"",
"\"You know what you are doing there.\"",
"\"That is close.\"",
"\"Mmh... not too fast.\"",
"\"Stay slow.\""
],
"massage_legs_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Softer. You're making my legs tense.\""
],
"massage_legs_success": [
"\"Your hands are warm.\"",
"\"That helps. Keep going.\"",
"\"That helps.\"",
"\"Stay slow.\"",
"\"Not too high yet.\""
],
"massage_lower_back_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Easy there. Don't push it lower.\""
],
"massage_lower_back_success": [
"\"Careful. That is getting low.\"",
"\"Do not pretend that is innocent.\"",
"\"Mmh... slow there.\"",
"\"That is dangerous territory.\"",
"\"Keep it controlled.\""
],
"massage_neck_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Not so close to my neck.\""
],
"massage_neck_success": [
"\"Careful there.\"",
"\"That is sensitive.\"",
"\"Slowly. That feels good.\"",
"\"Do not press too hard.\"",
"\"Mmh... keep it controlled.\""
],
"massage_pussy_bare_failure": [
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Do not move your hands there.\"",
"\"No. Your fingers aren't going there bare.\"",
"\"Back to the massage, not that.\""
],
"massage_pussy_bare_success": [
"\"Touch my pussy slowly.\"",
"\"Do not stop rubbing my clit.\"",
"\"That is right on my slit.\""
],
"massage_pussy_fabric_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"No. Not between my legs like that.\""
],
"massage_pussy_fabric_success": [
"\"Oh... your hands feel good.\"",
"\"Do not go inside yet.\"",
"\"Keep rubbing me like that.\"",
"\"That is making me wet.\"",
"\"Slow. The cloth is enough.\""
],
"massage_shoulders_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Ease up. My shoulders aren't a handle.\""
],
"massage_shoulders_success": [
"\"Do not rush your hands.\"",
"\"That helps. Keep going.\"",
"\"Right there.\"",
"\"Right there. That feels good.\"",
"\"Keep it steady.\"",
"\"That is better.\""
],
"massage_start_failure": [
"\"Back to the massage, not that.\"",
"\"Do not move your hands there.\"",
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"No. I don't want a massage right now.\""
],
"massage_start_success": [
"\"Start slow.\"",
"\"Fine. Useful hands only.\"",
"\"Alright. Show me you can be careful.\"",
"\"Shoulders first.\"",
"\"Do not make it weird.\""
],
"massage_success": [
"\"Your hands are finally useful.\"",
"\"That helps. Keep going.\"",
"\"Mmh... right there.\"",
"\"Do not rush. That feels good.\"",
"\"Deeper there, slowly.\"",
"\"Yes. You found it.\""
],
"massage_tongue_ass_failure": [
"\"Back to the massage, not that.\"",
"\"Do not put your mouth there.\"",
"\"No. Not with your mouth.\"",
"\"Keep it safer than that.\"",
"\"No. Your mouth isn't going to my ass.\""
],
"massage_tongue_ass_success": [
"\"Do not rush my ass.\"",
"\"Your tongue... slow.\"",
"\"Oh fuck, there?\"",
"\"That is filthy.\"",
"\"Keep it careful.\""
],
"massage_tongue_pussy_failure": [
"\"Back to the massage, not that.\"",
"\"Do not put your mouth there.\"",
"\"No. Not with your mouth.\"",
"\"Keep it safer than that.\"",
"\"No. I'm not turning this into oral.\""
],
"massage_tongue_pussy_success": [
"\"Oh fuck... your tongue.\"",
"\"Lick my pussy slowly.\"",
"\"Stay on my clit.\"",
"\"Do not stop now.\"",
"\"That is filthy... keep going.\""
],
"massage_vagina_failure": [
"\"No. Not there.\"",
"\"Keep it safer than that.\"",
"\"Do not move your hands there.\"",
"\"No. Don't turn the massage into that.\"",
"\"Back to the massage, not that.\""
],
"massage_vagina_success": [
"\"Mmh... keep rubbing my pussy.\"",
"\"Stay there. Slow.\"",
"\"Do not stop rubbing me.\"",
"\"That feels good. Keep it steady.\"",
"\"Use your fingers like that.\"",
"\"Your fingers are right there.\"",
"\"Keep it gentle, but do not stop.\""
],
"missionary_failure": [
"\"No. Not that.\"",
"\"No. I'm not lying under you right now.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not like this. I'm not ready for sex.\""
],
"missionary_pleasure_failure": [
"\"No. Stop there.\"",
"\"Slow down.\"",
"\"Not like that.\"",
"\"Change the angle.\"",
"\"Wait, that does not feel right.\"",
"\"Ease up a little.\"",
"\"Give me a second.\"",
"\"Wrong angle.\""
],
"missionary_pleasure_success": [
"\"Your cock feels so good inside me.\"",
"\"Keep your cock right there.\"",
"\"Fuck me like that.\"",
"\"You feel so deep like this.\"",
"\"Move exactly like that... yes.\"",
"\"Look at me while you fuck me.\"",
"\"Do not pull out yet.\"",
"\"Fuck me slowly like this.\"",
"\"Stay close. I like it like this.\""
],
"missionary_success": [
"\"Slow... stay close.\"",
"\"I can feel all of you.\"",
"\"Fuck me like that.\"",
"\"Do not rush.\"",
"\"Keep looking at me.\""
],
"mutual_oral_pleasure_failure": [
"\"Mouths off. Now.\"",
"\"No more. I need to breathe.\"",
"\"We are stopping this position.\"",
"\"I need out of this.\"",
"\"Enough. Slow down.\""
],
"mutual_oral_pleasure_success": [
"\"Do not stop your tongue.\"",
"\"I can feel you in my mouth.\"",
"\"Keep licking while I suck you.\"",
"\"Mmh... both of us.\"",
"\"Stay in position.\""
],
"oral_giving_pleasure_failure": [
"\"Your cock stays away from my mouth.\"",
"\"No more. Give me a second.\"",
"\"I am taking my mouth off.\"",
"\"Do not push my head.\"",
"\"I said enough.\""
],
"oral_giving_pleasure_success": [
"\"Your cock is twitching.\"",
"\"Mmh... like this?\"",
"\"I can feel you getting harder.\"",
"\"Do not push too fast.\"",
"\"Stay still.\""
],
"oral_receiving_pleasure_failure": [
"\"No more mouth.\"",
"\"Your tongue is done.\"",
"\"Move away from my pussy.\"",
"\"Enough. Mouth off.\"",
"\"Stop licking me.\""
],
"oral_receiving_pleasure_success": [
"\"Keep licking my pussy.\"",
"\"Stay on my clit.\"",
"\"Use your tongue.\"",
"\"Do not stop.\"",
"\"Fuck... there.\""
],
"orgasm_success": [
"\"Cum for me.\"",
"\"Fuck... I am coming.\"",
"\"Do not stop, I am right there.\"",
"\"Yes... yes, keep going.\"",
"\"Oh fuck, that hit hard.\""
],
"penetration_pleasure_failure": [
"\"Your cock comes out now.\"",
"\"I said stop thrusting.\"",
"\"Stop fucking me.\"",
"\"Pull out.\"",
"\"No more sex.\""
],
"penetration_pleasure_success": [
"\"Keep fucking me.\"",
"\"Do not stop.\"",
"\"Slow... yes.\"",
"\"I can feel you deep.\"",
"\"Stay with me.\""
],
"pet_over_clothes_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"pet_over_clothes_success": [
"\"Through my clothes is enough for now.\"",
"\"Do not rush under the fabric.\"",
"\"Okay. Slowly.\"",
"\"Careful. I can still feel that.\"",
"\"Oh... your hands feel nice.\"",
"\"Keep it slow.\""
],
"petting_failure": [
"\"Hands off for now.\"",
"\"Do not keep touching me like that.\"",
"\"Not there.\"",
"\"That is too familiar.\"",
"\"No more petting.\""
],
"petting_success": [
"\"Careful with your hands.\"",
"\"Stay there. Do not rush it.\"",
"\"That is enough for now.\"",
"\"Slow. I am letting this stay.\"",
"\"Do not make me stop you.\""
],
"player_undress_failure": [
"\"You can get naked. That does not mean I am ready.\"",
"\"Slow down. I need to catch up.\"",
"\"That was your choice, not mine.\"",
"\"I did not stop you. I am just not there with you yet.\"",
"\"Being naked is not the same as permission.\""
],
"player_undress_success": [
"\"Yes. Keep your eyes on me.\"",
"\"So that is what you wanted me to see.\"",
"\"Keep going, but do not expect me to pretend I am not watching.\"",
"\"Okay. Slowly.\"",
"\"Alright... I am looking.\""
],
"refusal_ask_low_failure": [
"\"What?! No, of course I do not want to.\"",
"\"No. Why would you even ask me that right now?\"",
"\"Absolutely not. You are not close to that.\"",
"\"What made you think I would say yes to that?\"",
"\"Do not ask me that like it is normal.\"",
"\"No. I'm not ready for that.\"",
"\"I am not doing that with you. Not now.\"",
"\"No. That is way too much.\""
],
"refusal_ask_normal_failure": [
"\"No. Ask me again when this feels less sudden.\"",
"\"No. Not yet.\"",
"\"I do not want to do that yet.\"",
"\"Maybe later, but not now.\"",
"\"I am not ready for that.\"",
"\"I need more time before that.\"",
"\"The timing is not right.\"",
"\"I am saying no for now.\""
],
"refusal_beg_low_failure": [
"\"I do not care how much you want this. It is not going to happen.\"",
"\"Begging is not going to change my answer.\"",
"\"No. Do not plead with me for that.\"",
"\"I am not doing that because you begged.\"",
"\"No. Don't ask me like that.\"",
"\"No. That is desperate, not convincing.\"",
"\"No. Begging will not make me want this.\"",
"\"No. You cannot talk me into that by pleading.\""
],
"refusal_beg_normal_failure": [
"\"Maybe another time, but not like this.\"",
"\"I get it, but my answer is still no.\"",
"\"I am not saying never. I am saying not now.\"",
"\"I know you want it, but not now.\"",
"\"Do not make it harder to say no.\"",
"\"I am not there yet.\"",
"\"Please don't ask me like that.\"",
"\"Ask me normally another time.\""
],
"refusal_command_low_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"Not happening.\"",
"\"You do not have that kind of pull yet.\""
],
"refusal_command_normal_failure": [
"\"No. I am not doing that.\"",
"\"Do not order me around yet.\"",
"\"That does not work on me.\"",
"\"Not happening.\"",
"\"You do not have that kind of pull yet.\""
],
"remove_panties_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"remove_panties_success": [
"\"Careful with my panties.\"",
"\"That is the last layer.\"",
"\"Slowly.\"",
"\"You know what this means.\"",
"\"Fine. Do it carefully.\""
],
"remove_your_clothes_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"remove_your_clothes_success": [
"\"Good. Let me see.\"",
"\"Good. Fair is fair.\"",
"\"Let me see, then.\"",
"\"Do not make it awkward.\"",
"\"Fine. Your turn.\""
],
"reverse_cowgirl_failure": [
"\"No. Not that.\"",
"\"No. I'm not turning around on your cock.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not that position. I'm not ready.\""
],
"reverse_cowgirl_pleasure_failure": [
"\"No. Stop there.\"",
"\"Slow down.\"",
"\"Not like that.\"",
"\"Change the angle.\"",
"\"Wait, that does not feel right.\"",
"\"Ease up a little.\"",
"\"Give me a second.\"",
"\"Wrong angle.\""
],
"reverse_cowgirl_pleasure_success": [
"\"Watch my ass while I ride you.\"",
"\"Look at how I take your cock.\"",
"\"My pussy is soaking you.\"",
"\"I can take it deeper like this.\"",
"\"Do not move, let me work.\"",
"\"Fuck... this angle feels good.\"",
"\"I want to ride you backwards.\"",
"\"Stay hard for me.\"",
"\"Let me bounce on it.\""
],
"reverse_cowgirl_success": [
"\"Do not rush my hips.\"",
"\"Watch from there.\"",
"\"I will take it like this.\"",
"\"You like the view?\"",
"\"Let me move.\""
],
"rub_breasts_fabric_failure": [
"\"Not my tits.\"",
"\"Hands off my chest.\"",
"\"No. Not there.\"",
"\"Too much.\"",
"\"Stop that.\""
],
"rub_breasts_fabric_success": [
"\"Careful.\"",
"\"You like doing that through my clothes?\"",
"\"Not too much.\"",
"\"I can feel that.\"",
"\"Slow.\""
],
"rub_pussy_fabric_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"rub_pussy_fabric_success": [
"\"Oh... yes, like that.\"",
"\"Keep rubbing my pussy like that.\"",
"\"Do not go inside yet.\"",
"\"That is making me wet.\"",
"\"Slow. The cloth is enough.\""
],
"rubbing_pleasure_failure": [
"\"Move your hand away.\"",
"\"Stop rubbing me.\"",
"\"No more friction.\"",
"\"Do not grind that there.\"",
"\"Enough. Stop rubbing.\""
],
"rubbing_pleasure_success": [
"\"Oh... keep touching me like that.\"",
"\"Keep rubbing there.\"",
"\"Do not go inside yet.\"",
"\"That feels good.\"",
"\"Slow. Keep it like that.\""
],
"rubbing_to_fingering_failure": [
"\"Do not take my panties off yet.\"",
"\"No. Stop there.\"",
"\"No. Not inside.\"",
"\"The rubbing was enough.\"",
"\"Not that far right now.\""
],
"rubbing_to_fingering_success": [
"\"Careful. That is direct now.\"",
"\"You got past the clothes.\"",
"\"Slow... I feel your fingers now.\"",
"\"That is more than rubbing.\"",
"\"Okay. Just do not rush.\""
],
"sex_sex_position_switch_failure": [
"\"No. Stop there.\"",
"\"Not that.\"",
"\"Wait, we lost it.\"",
"\"No, the angle is wrong.\"",
"\"Go back for a second.\""
],
"sex_sex_position_switch_success": [
"\"Any position is fine... just keep fucking me.\"",
"\"Yeah, we can try this way.\"",
"\"Oh, are you tired? Sure, we can change for a bit.\"",
"\"Move me however you want, just do not stop.\"",
"\"Okay... this works too.\""
],
"sex_to_69_failure": [
"\"Stay inside my pussy.\"",
"\"No. Stop there.\"",
"\"No, keep fucking me.\"",
"\"Do not change position.\"",
"\"I want normal sex right now.\"",
"\"Do not turn me around.\"",
"\"Keep this rhythm.\""
],
"sex_to_69_success": [
"\"Yeah, we can do that for a bit.\"",
"\"Use your mouth again.\"",
"\"Come here. I want to taste you too.\"",
"\"Okay... switch with me.\"",
"\"I can keep going like this.\""
],
"sex_to_anal_failure": [
"\"No, stay in my pussy.\"",
"\"Not my ass right now.\"",
"\"Keep fucking my pussy instead.\"",
"\"Do not push into my ass.\"",
"\"Do not switch there.\"",
"\"I am not ready for anal.\"",
"\"Not there. Not now.\"",
"\"Stop, that is too much.\""
],
"sex_to_anal_success": [
"\"Slow. That is not the same hole.\"",
"\"Careful with my ass.\"",
"\"Give me a second first.\"",
"\"Do not push too fast.\"",
"\"Okay... but slowly.\""
],
"sexual_failure": [
"\"Not like that.\"",
"\"Wait, slow down.\"",
"\"That does not feel right.\"",
"\"Stop for a second.\"",
"\"No, change the pace.\"",
"\"Stop. Not like that.\"",
"\"Too much.\"",
"\"Wrong angle.\""
],
"sexual_success": [
"\"Fuck me like that.\"",
"\"Stay inside me.\"",
"\"Mmh... keep going.\"",
"\"Yes, that feels good.\"",
"\"Do not stop now.\"",
"\"Fuck, I like that.\"",
"\"Stay with that rhythm.\"",
"\"More... just like that.\"",
"\"Yes... keep going.\"",
"\"Fuck... right there.\"",
"\"I want more.\"",
"\"You are getting me wet.\""
],
"sit_on_face_failure": [
"\"No. Not that.\"",
"\"No. I'm not sitting on your face.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not now. I don't want your mouth under me.\""
],
"sit_on_face_success": [
"\"Use your tongue like that again.\"",
"\"My clit. Stay on it.\"",
"\"Do not stop with your mouth.\"",
"\"Use your tongue properly.\"",
"\"Alright. Mouth open.\"",
"\"Do not make me regret sitting down.\"",
"\"Right there. Keep licking.\"",
"\"Yes. Keep your face there.\""
],
"sixty_nine_failure": [
"\"No. Not that.\"",
"\"No. I'm not doing sixty-nine right now.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not that position. I'm not putting my mouth there.\""
],
"sixty_nine_success": [
"\"I can handle you while you lick me.\"",
"\"I will use my mouth if you use yours.\"",
"\"Keep your mouth on me.\"",
"\"Let me feel you in my mouth too.\"",
"\"Both mouths at once?\"",
"\"Do not stop eating me.\"",
"\"Yes. Both at once.\"",
"\"Fine. Keep up.\""
],
"sixty_nine_to_sex_failure": [
"\"No, keep your mouth there.\"",
"\"I want to stay like this.\"",
"\"Do not switch to sex yet.\"",
"\"Keep licking while I suck you.\"",
"\"Not inside me right now.\"",
"\"No, keep your mouth there. I don't want to fuck yet.\""
],
"sixty_nine_to_sex_success": [
"\"Okay... fuck me while I am still wet.\"",
"\"We can change it into sex.\"",
"\"Put it in slowly.\"",
"\"Do not waste what we just did.\"",
"\"I want you inside me now.\""
],
"slide_hand_inside_panties_public_failure": [
"\"No. Not here. People can see us.\"",
"\"Do not change it like that.\"",
"\"No. Not here.\"",
"\"Keep your hand out of my panties in public.\"",
"\"Not in the open. Are you insane?\""
],
"slide_hand_inside_panties_public_success": [
"\"Your hand is inside...\"",
"\"Careful, people are close.\"",
"\"Slow. We are not alone.\"",
"\"Fuck, be careful.\""
],
"slide_inside_panties_public_failure": [
"\"No. Not inside my panties in public.\"",
"\"Too much. Keep your hand out.\"",
"\"No. Stop there.\"",
"\"Not here.\"",
"\"You are pushing it too far.\""
],
"slide_inside_panties_public_success": [
"\"Do not make me regret letting your hand there.\"",
"\"Slow. If anyone notices, you stop.\"",
"\"Yes. Keep rubbing me there.\"",
"\"Careful. Not obvious.\"",
"\"Keep it hidden.\""
],
"social_failure": [
"\"I do not have much to say about that.\"",
"\"That is not where my head is.\"",
"\"Wrong subject.\"",
"\"This feels forced.\"",
"\"Let it go for now.\""
],
"social_success": [
"\"That is something I can actually answer.\"",
"\"That is closer to what I care about.\"",
"\"Keep it like this and do not make it weird.\"",
"\"Better. You listened.\"",
"\"I can talk about that.\""
],
"start_anal_success": [
"\"Use my ass carefully.\"",
"\"Yes... put it in my ass.\"",
"\"Okay... go slow.\"",
"\"Mmh... I can take it.\"",
"\"Go slow, but do it.\""
],
"start_analingus_success": [
"\"Mmh... okay, use your tongue.\"",
"\"Oh fuck... there?\"",
"\"Do it slowly.\"",
"\"That is filthy... keep going.\"",
"\"Careful... but yes.\""
],
"start_blowjob_success": [
"\"Yes, I want your cock in my mouth.\"",
"\"Put it in my mouth.\"",
"\"Okay... give it to me.\"",
"\"I will suck it.\"",
"\"Mmh... let me taste you.\""
],
"start_breast_sex_success": [
"\"Use my tits.\"",
"\"Yes, fuck my breasts.\"",
"\"Mmh... put it between them.\"",
"\"I will hold them tight for you.\"",
"\"Go on... use my chest.\""
],
"start_cunnilingus_success": [
"\"Put your mouth on me.\"",
"\"Go on, use your tongue.\"",
"\"Yes... lick me.\"",
"\"Mmh... eat me out.\"",
"\"Yes, right there.\""
],
"start_fingering_success": [
"\"Go on... I want your fingers inside me.\"",
"\"Okay... use your fingers.\"",
"\"Yes, touch my pussy.\"",
"\"Mmh... keep your hand there.\"",
"\"Do it slowly at first.\""
],
"start_handjob_success": [
"\"Okay... I will use my hand.\"",
"\"Let me stroke it.\"",
"\"Mmh... you are hard.\"",
"\"I will make it feel good.\"",
"\"Tell me if you want it faster.\""
],
"start_rubbing_success": [
"\"Oh... your hands feel nice.\"",
"\"Mmh... keep your hand there.\"",
"\"Yes. Keep rubbing me there.\"",
"\"Yes... rub me there.\"",
"\"Do not rush inside yet.\""
],
"start_sex_success": [
"\"I want you in my pussy.\"",
"\"Yes... put it inside me.\"",
"\"Go on... fuck me.\"",
"\"Mmh... I want this.\"",
"\"Yes, I am ready.\""
],
"start_sixty_nine_success": [
"\"I will use my mouth if you use yours.\"",
"\"Yes, I want your mouth too.\"",
"\"Yes... make me feel it while I suck you.\"",
"\"Okay... let us do it.\"",
"\"Get under me.\""
],
"strip_failure": [
"\"Hands off the fabric.\"",
"\"No. Not my clothes.\"",
"\"My clothes stay where they are.\"",
"\"Not yet.\"",
"\"Do not rush that door.\"",
"\"No. You have not earned that.\""
],
"strip_success": [
"\"Keep your eyes on me.\"",
"\"Now we stop pretending this is harmless.\"",
"\"Okay. Slowly.\"",
"\"Watch properly.\"",
"\"You wanted to see. So look.\""
],
"strip_together_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"strip_together_success": [
"\"Both of us, then?\"",
"\"Fine. No hiding.\"",
"\"You first too.\"",
"\"Slowly. Let me see.\"",
"\"Alright. Together.\""
],
"suck_clit_failure": [
"\"No. Not that.\"",
"\"No. Keep your mouth off my clit.\"",
"\"That is too far.\"",
"\"No. Do not push this.\"",
"\"Not there. That is too much right now.\""
],
"suck_clit_success": [
"\"Oh fuck, my clit.\"",
"\"Keep your mouth there.\"",
"\"Careful... that is sensitive.\"",
"\"Suck it slowly.\"",
"\"Do not stop now.\""
],
"suck_nipples_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"suck_nipples_success": [
"\"Use your tongue slowly.\"",
"\"Keep your mouth there.\"",
"\"Mmh... my nipples.\"",
"\"That is sensitive.\"",
"\"Do not bite unless I ask.\""
],
"talk_art_failure": [
"\"I do not think that lands.\"",
"\"That feels like you are guessing at the mood.\"",
"\"I am not really buying that read.\"",
"\"That sounds more like a label than an opinion.\""
],
"talk_art_success": [
"\"That gives me something to look at differently.\"",
"\"I can see what you mean in the details.\"",
"\"That is better than just calling it pretty.\"",
"\"Okay, that angle actually works.\""
],
"talk_computers_failure": [
"\"I think you lost the useful part.\"",
"\"That sounds like jargon trying to hide the answer.\"",
"\"I am not following that fix.\"",
"\"That made the problem feel worse, not clearer.\""
],
"talk_computers_success": [
"\"That is a useful way to break the problem down.\"",
"\"Good. You found the part that actually matters.\"",
"\"That explanation makes the problem less annoying.\"",
"\"Okay, that is practical enough to follow.\""
],
"talk_cooking_failure": [
"\"That does not sound like it would come together.\"",
"\"I think you skipped the part that makes it work.\"",
"\"That sounds more complicated than good.\"",
"\"I am not convinced that would taste right.\""
],
"talk_cooking_success": [
"\"That sounds like something that would actually taste right.\"",
"\"Good. You noticed the timing, not just the recipe.\"",
"\"That makes the food sound simple in the good way.\"",
"\"Okay, I can follow that method.\""
],
"talk_finance_failure": [
"\"That sounds like numbers pretending to be a plan.\"",
"\"I do not think that risk goes away because you named it.\"",
"\"That feels too vague to trust.\"",
"\"I am not convinced the math is doing what you think it is.\""
],
"talk_finance_success": [
"\"That sounds like an actual plan, not just hope with numbers.\"",
"\"Good. You are thinking about risk, not just profit.\"",
"\"That is grounded enough to make sense.\"",
"\"Okay, that part of the math actually matters.\""
],
"talk_massage_failure": [
"\"That sounds too vague to make anyone relax.\"",
"\"I do not trust a massage plan that starts with guesswork.\"",
"\"That sounds more like an excuse than a technique.\"",
"\"I think you missed the part where touch needs patience.\""
],
"talk_massage_success": [
"\"That sounds careful enough to be useful.\"",
"\"Good. You are thinking about pressure, not just touching.\"",
"\"That would probably help if your hands matched the explanation.\"",
"\"Okay, that sounds like you understand where tension sits.\""
],
"talk_music_failure": [
"\"That sounds like you heard the loud part and stopped there.\"",
"\"I do not think that is where the song is working.\"",
"\"That take feels a little flat.\"",
"\"I am not sure you listened to the same thing I did.\""
],
"talk_music_success": [
"\"That makes the song easier to hear properly.\"",
"\"Good. You listened past the obvious part.\"",
"\"That is a detail worth noticing.\"",
"\"Okay, I can hear what you mean.\""
],
"talk_photography_failure": [
"\"That sounds like you only looked at the surface.\"",
"\"I think you missed what the image is built around.\"",
"\"That does not really explain why the shot works.\"",
"\"I am not sure that angle says anything useful.\""
],
"talk_photography_success": [
"\"That gives the image a clearer reason to exist.\"",
"\"Good. You noticed the light doing the work.\"",
"\"That is the kind of detail a photo needs.\"",
"\"Okay, that frame would actually say something.\""
],
"talk_sports_failure": [
"\"That sounds like effort without a plan.\"",
"\"I think you missed what actually makes the movement work.\"",
"\"That is not really how training pays off.\"",
"\"I am not convinced that would help anyone improve.\""
],
"talk_sports_success": [
"\"That makes the effort sound real, not just sweaty.\"",
"\"Good. You understand the discipline behind it.\"",
"\"That is a practical way to look at training.\"",
"\"Okay, that sounds like you know what the body is doing.\""
],
"tease_words_failure": [
"\"No. Too soon.\"",
"\"That was clumsy.\"",
"\"Do not make it dirty yet.\"",
"\"You are pushing it.\"",
"\"Not that.\""
],
"tease_words_success": [
"\"Careful. Words can still get you in trouble.\"",
"\"Say that again only if you mean it.\"",
"\"That is a dirty thought.\"",
"\"Careful... I heard that.\"",
"\"I heard exactly what you meant.\""
],
"titfuck_let_work_failure": [
"\"I am not working your cock like that right now.\"",
"\"No. You do not get to just lie there and make me do it.\"",
"\"If you want more, do not dump all of it on me.\"",
"\"No. That feels too one-sided.\"",
"\"Move back. I am not taking over.\""
],
"titfuck_let_work_success": [
"\"Keep your hands off and let my tits do it.\"",
"\"Do not thrust. Let me move.\"",
"\"You like watching me work for it?\"",
"\"There. I can make you feel it too.\"",
"\"Fine, I will do it. Stay still.\""
],
"titfuck_lick_tip_failure": [
"\"No. My mouth is not joining this.\"",
"\"You already have my tits. Do not get greedy.\"",
"\"Do not push the tip at my lips.\"",
"\"No tongue. Not with that angle.\"",
"\"Keep that away from my mouth.\""
],
"titfuck_lick_tip_success": [
"\"There. Tits and tongue. Happy?\"",
"\"Just the tip. Do not push into my mouth.\"",
"\"You wanted my tongue too? Then stay still.\"",
"\"I can taste you every time you slide up.\"",
"\"Do not waste that. I am doing more than enough.\""
],
"titfuck_pleasure_failure": [
"\"No, stop using my tits like that.\"",
"\"Too much. Pull back.\"",
"\"I need a break from that.\"",
"\"Not another stroke. Stop.\"",
"\"That is enough with my chest.\""
],
"titfuck_pleasure_success": [
"\"Put your cock between my tits.\"",
"\"You are sliding all over my tits.\"",
"\"I can feel you twitching between them.\"",
"\"Use them, but do not lose control.\"",
"\"Keep it there. Not too rough.\"",
"\"Mmh... keep going.\""
],
"touch_arm_failure": [
"\"No. Do not touch me yet.\"",
"\"Too soon.\"",
"\"Hands off.\"",
"\"Not now.\"",
"\"Do not start that.\""
],
"touch_arm_success": [
"\"Your hand is warm.\"",
"\"That is alright.\"",
"\"Careful, but fine.\"",
"\"Do not make it weird.\"",
"\"That much is okay.\""
],
"touch_failure": [
"\"I did not give you that much room.\"",
"\"No. Do not touch me like that.\"",
"\"Not now.\"",
"\"Not like that.\"",
"\"Too soon for that.\"",
"\"Try listening before touching.\""
],
"touch_hand_failure": [
"\"No. Not my hand.\"",
"\"Do not touch me yet.\"",
"\"Not there.\"",
"\"Too soon.\"",
"\"Hands off.\""
],
"touch_hand_success": [
"\"That is fine. Just my hand.\"",
"\"You can hold it for now.\"",
"\"Slow is better.\"",
"\"Do not squeeze too hard.\"",
"\"Alright. That much is okay.\""
],
"touch_success": [
"\"You can keep your hand there.\"",
"\"Yes. Like that.\"",
"\"There. That is fine.\"",
"\"Careful, but yes.\"",
"\"Do not rush past that.\""
],
"transition_failure": [
"\"No. Stop there.\"",
"\"Wait.\"",
"\"Not yet, I need a second.\"",
"\"The timing is off.\"",
"\"Slow down first.\""
],
"transition_success": [
"\"Alright. Keep going.\"",
"\"Do not lose it now.\"",
"\"Yes... just like that.\"",
"\"Good, keep moving like that.\"",
"\"Okay, we can try this.\"",
"\"Do not stop completely.\""
],
"try_bottom_off_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"try_bottom_off_success": [
"\"Careful with my bottoms.\"",
"\"Do not pull too fast.\"",
"\"Slowly.\"",
"\"You are getting bold.\"",
"\"Fine. Help, do not grab.\""
],
"try_slip_inside_failure": [
"\"Move your hand back.\"",
"\"No. Not there.\"",
"\"Do not touch me like that yet.\"",
"\"That is too far.\"",
"\"No. You are rushing it.\""
],
"try_slip_inside_success": [
"\"You are trying to put it in.\"",
"\"Slow... do not force it.\"",
"\"Fuck, that is close.\"",
"\"Careful with me.\"",
"\"If it happens, go slowly.\""
],
"try_top_off_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"try_top_off_success": [
"\"Careful with my top.\"",
"\"Do not yank it.\"",
"\"Slowly.\"",
"\"You are eager.\"",
"\"Fine. Help, do not grab.\""
],
"unhook_bra_failure": [
"\"No. That stays on.\"",
"\"Not that layer.\"",
"\"Do not undress me like that.\"",
"\"Stop. Too soon.\"",
"\"No. Leave it.\""
],
"unhook_bra_success": [
"\"Fine. Hands steady.\"",
"\"Careful with the clasp.\"",
"\"Do not fumble too much.\"",
"\"Slowly. That is delicate.\"",
"\"You want my bra open.\""
],
"wall_pleasure_failure": [
"\"No. Stop there.\"",
"\"Slow down.\"",
"\"Not like that.\"",
"\"Change the angle.\"",
"\"Wait, that does not feel right.\"",
"\"Ease up a little.\"",
"\"Give me a second.\"",
"\"Wrong angle.\""
],
"wall_pleasure_success": [
"\"Your cock feels so deep standing up.\"",
"\"Do not stop, I am still with you.\"",
"\"Right there, keep me against the wall.\"",
"\"Fuck me against the wall.\"",
"\"Hold me up and keep going.\"",
"\"Do not let me slip.\"",
"\"Harder... I can take it.\"",
"\"I like how rough this feels.\"",
"\"Keep me pinned like this.\""
],
"whisper_dirty_failure": [
"\"No. Do not whisper that to me.\"",
"\"Too soon.\"",
"\"Not in my ear.\"",
"\"Do not make it dirty yet.\"",
"\"Back up.\""
],
"whisper_dirty_success": [
"\"Do not whisper that unless you can handle the answer.\"",
"\"You are too close to say things like that.\"",
"\"That is filthy.\"",
"\"I heard every word.\"",
"\"Careful. That got under my skin.\""
],
"rub_ass_clothes_success": [
"\"You like my ass that much?\"",
"\"Careful where your hand is.\"",
"\"You are getting bold.\"",
"\"Slow. Not too obvious.\"",
"\"I felt that.\""
],
"rub_ass_clothes_failure": [
"\"Not my ass.\"",
"\"Move your hand.\"",
"\"No. Not there.\"",
"\"Do not grab me like that.\"",
"\"Stop.\""
],
"bring_hand_inside_pants_success": [
"\"Are you serious? Here?\"",
"\"Keep still.\"",
"\"Do not make it look obvious.\"",
"\"If someone sees, I am stopping.\"",
"\"Fine. Be quiet.\"",
"\"You are insane.\"",
"\"Only for a second.\"",
"\"Do not move too much.\""
],
"bring_hand_inside_pants_failure": [
"\"No, what the fuck are you doing?\"",
"\"Not here.\"",
"\"Are you crazy?\"",
"\"Get my hand away from there.\"",
"\"No. Absolutely not.\"",
"\"Someone could see.\"",
"\"Do not try that in public.\"",
"\"Stop. Now.\""
],
"cont_public_handjob_keep_success": [
"\"Stay quiet.\"",
"\"Do not make me stop.\"",
"\"Keep your face normal.\"",
"\"I said stay still.\"",
"\"I can feel you getting harder.\"",
"\"Is it odd that I am enjoying this?\"",
"\"Fuck, this is risky.\""
],
"cont_public_handjob_keep_failure": [
"\"I think that couple noticed. Stop.\"",
"\"No, someone is looking.\"",
"\"Too risky.\"",
"\"I am stopping.\"",
"\"Not with them right there.\"",
"\"We are done.\"",
"\"I said stop moving.\""
],
"come_public_hand_success": [
"\"Keep still.\"",
"\"Fuck, you came in my hand.\"",
"\"Do not make a face.\"",
"\"I need something to wipe this.\"",
"\"That is in my hand now.\""
],
"come_public_hand_failure": [
"\"Not here.\"",
"\"No, not in my hand.\"",
"\"Stop. Someone is too close.\"",
"\"I am not catching that here.\""
],
"talk_anal_private_success": [
"\"You really want to talk about my ass?\"",
"\"I am listening.\"",
"\"Maybe. Say it properly.\"",
"\"That depends how you ask.\"",
"\"I have thought about it.\"",
"\"Careful. That is not a small question.\""
],
"talk_anal_private_failure": [
"\"No. Not talking about that.\"",
"\"Leave my ass out of this.\"",
"\"That is not happening.\"",
"\"Do not push that.\"",
"\"Wrong subject.\"",
"\"I said no.\""
],
"talk_anal_public_success": [
"\"Lower your voice.\"",
"\"Do not say that so loudly.\"",
"\"Here? Really?\"",
"\"I heard you. Be careful.\"",
"\"Not where people can hear.\"",
"\"We can talk, quietly.\""
],
"talk_anal_public_failure": [
"\"Not here.\"",
"\"Are you insane? Someone could hear.\"",
"\"Do not talk about my ass in public.\"",
"\"Shut up. Not now.\"",
"\"Wrong place.\"",
"\"Later. Maybe.\""
],
"fingering_to_cunnilingus_success": [
"\"Your mouth now.\"",
"\"Yes... lick me there.\"",
"\"Do not stop touching me completely.\"",
"\"Use your tongue.\"",
"\"I am already wet. Keep going.\""
]
}
END_DIALOGUE_BANK %//% FIRST_TIME_DATA
{
"girlId": "g0",
"girl": "Maya Bell",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"Maya is behind the cafe counter, wiping the steam wand with a folded cloth while the machine settles into a low hiss.",
"She notices you at the register, finishes the motion, then sets the cloth aside.",
"\"What can I get you?\"",
"You order something simple and give your name when she asks for it.",
"She writes it on the cup, glances at you once, then sets the cup beside the machine.",
"\"First time here?\"",
"You tell her yes.",
"She starts the drink without rushing. The grinder kicks on, loud for a few seconds, and she waits for it to stop before speaking again.",
"\"Sugar is at the end of the counter. Lids too.\"",
"It is plain, almost automatic, but she looks at you when she says it instead of past you.",
"When the drink is ready, she slides it over with the name facing you.",
"\"Maya.\"",
"She says it before you ask, then reaches for the next cup."
]
},
"first_phone_success": {
"text": [
"Maya writes her number on a narrow strip of paper, holding it flat with two fingers while the pen moves in small, careful strokes.",
"She checks the digits once before tearing the strip free.",
"For a second, she keeps it in her hand.",
"\"Text first. I do not always pick up calls.\"",
"You say that is fine.",
"She gives you the paper. Her fingers brush your palm, quick and light, then move away.",
"\"And write your name, so I know it is you.\"",
"She puts the pen down, but her eyes stay on you a moment longer."
]
},
"first_address_success": {
"text": [
"Maya writes the address more slowly than she wrote her number.",
"She checks the street name, then the building number, then keeps the paper under her fingers instead of handing it over right away.",
"\"This is where I live. Do not show up unless I invite you.\"",
"You tell her you understand.",
"She watches your face for a second, not looking for a clever answer, just making sure the answer was simple enough to trust.",
"Then she folds the paper once and gives it to you.",
"\"Okay. Keep it private.\"",
"Her voice stays even, but she does not pull her hand back as quickly this time."
]
},
"first_hug": {
"text": [
"You step close and try to wrap your arms around Maya.",
"For a second she goes still, surprised by the contact, but she does not move away or stop you.",
"Her cheek ends up close to your shoulder. Her hands stay low at first, unsure where to place themselves.",
"You keep the hug gentle.",
"After a few seconds, her hands touch your sides, then settle there.",
"You feel her breathe out against you.",
"When you let go, she smooths the front of her shirt and looks down for a moment.",
"\"This was nice... but, what did it mean?\"",
"It comes out a bit worried, but not cold.",
"You tell her not to think about it too much. It was just a hug.",
"She gives an uncertain smile, but it is clear that she did not hate it. Her guard is lowering."
]
},
"first_kiss_cheek": {
"text": [
"You lean in while Maya is still close and kiss her cheek.",
"She stops in the middle of whatever she was about to say.",
"For a second her face stays turned toward you, close enough that you can see the surprise before she hides most of it.",
"One hand rises toward the spot you kissed, then drops again before it gets there.",
"\"You did that fast.\"",
"You ask if you should not have.",
"Maya looks away, but the corner of her mouth moves before she can stop it.",
"\"No. I just was not ready for it.\"",
"She touches her cheek after all, quick and almost absent, then looks back at you like she wants to know if you noticed."
]
},
"first_dirty_whisper": {
"text": [
"You lean close enough that your voice does not need to carry.",
"Maya notices the change immediately. Her eyes flick to your mouth, then back up.",
"You tell her what you want: your hands on her hips, your mouth on her neck, and your fingers moving between her thighs until she has to stop pretending her breathing is steady.",
"She goes very still for half a second.",
"\"You cannot just say that.\"",
"You ask if she wants you to stop.",
"Maya looks away. Her cheeks are red, but she stays where she is.",
"\"No. Just... not so loud.\"",
"The answer comes out smaller than her usual voice. She still has not stepped back."
]
},
"first_massage_start": {
"text": [
"You start the massage at Maya's shoulders, where the tension is easiest to find.",
"At first she watches you like she expects your hands to get impatient.",
"They do not. You work your thumbs into the tight muscle near her neck, then down along the sore place beside her spine.",
"Maya's shoulders drop a little.",
"\"There. A little lower.\"",
"You follow the direction and keep the pressure slow.",
"Her breathing gets quieter after the first minute. She stops checking your hands and lets her head lower.",
"\"Okay. You are actually good at this.\"",
"She says it like she did not plan to give you anything that direct, but she does not take it back."
]
},
"first_massage_orgasm": {
"text": [
"Your hands stay on Maya's shoulders until the tension starts to loosen under your thumbs.",
"You work down her back, slow enough that she has time to relax into each touch before the next one moves lower.",
"By the time your hands reach her hips, Maya has gone quiet. Her fingers curl against the surface beneath her when your thumb presses into the base of her back.",
"You move along her hips first, then down to the outside of her thighs.",
"When your fingers brush the inside of one thigh, she catches your wrist.",
"She holds it there for a second. Her grip is tight, but she does not push you away.",
"\"Slow.\"",
"You keep your hand there until she lets go.",
"Then you touch her through her panties, rubbing over the fabric until the heat of her pussy is clear under your fingers.",
"Maya's thighs part a little. Her breath catches, and this time she does not cover it with a joke.",
"You rub her clit through the fabric in small circles. She tries to stay still, but her hips answer before her mouth does.",
"\"Fuck... there.\"",
"You slip beneath the edge of her panties and touch her bare pussy. She is wet enough that your fingers slide easily over her clit.",
"Maya grabs your wrist again, not to stop you this time, but to keep your hand exactly where it is.",
"You keep rubbing her clit until her legs start to tremble, then slide two fingers inside her wet cunt.",
"Her body tightens around your fingers. The sound she makes is rough, short, and too honest for her to dress up afterward.",
"You curl your fingers and keep your thumb on her clit, steady through every twitch of her hips.",
"Maya comes hard around your hand, pussy pulsing against your fingers while her thighs close around your wrist.",
"When it finally eases, she stays still for a few seconds, flushed and breathing hard.",
"\"Give me a second.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Maya, and she notices the mistakes before she says anything about them.",
"She takes the first bite, chews slowly, then looks at the pan instead of at you.",
"\"The heat was too high at the start.\"",
"You look at the plate, then back at her.",
"Maya takes another bite anyway. That makes the criticism feel less like a dismissal and more like the way she talks when she actually cares about the answer.",
"\"It is not bad. It is just not finished. Salt earlier next time, and do not rush the pan.\"",
"She reaches over, adds a small adjustment from what is on the table, and pushes the fork back toward you.",
"\"Try it now. Better, right?\"",
"She is already watching your face before you answer."
],
"high": [
"You cook for Maya, and the first bite makes her quiet in a way you have not seen before.",
"She looks at the plate, then at the pan, then back at the plate like she is checking whether the result makes sense.",
"\"You paid attention.\"",
"You ask if that is a compliment.",
"She takes another bite before answering.",
"\"Yes. Do not interrupt it.\"",
"The meal turns into her asking what you used, when you added it, and why you did not drown the whole thing in heat like most people would have.",
"By the end, she is talking with her fork still in her hand, more animated than she means to be.",
"\"Cook for me again sometime. I want to see if this was luck.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Maya happens after she has already stayed close longer than she needed to.",
"You see her notice it too. Her eyes drop to your mouth, then lift again like she is annoyed at herself for being that obvious.",
"You kiss her before she can cover it with a joke.",
"For one breath, she goes still against you.",
"Then her hand catches the front of your shirt and she kisses back, not hard at first, but with enough pressure to make it clear she is not just letting it happen.",
"You slow down. Maya follows the pace after a second, lips parting under yours, her fingers still twisted in your shirt.",
"When you pull back, she stays close.",
"\"Again.\"",
"Her voice is quieter than usual.",
"\"Slower this time.\""
]
},
"first_handjob": {
"text": [
"The first time Maya reaches for your cock, her fingers hover for a second before they close around you.",
"Her grip is light at first. She feels the shape of your shaft, then tightens her hand when your cock twitches in her palm.",
"You get harder in her hand, and she notices immediately.",
"\"That fast?\"",
"Her voice is quiet, more surprised than teasing.",
"She strokes you once, then again, watching the way your breath changes when her thumb moves over the head.",
"The next stroke is firmer. Maya's eyes stay on her hand, focused on the movement, then lift to your face.",
"\"Tell me if I am too rough.\"",
"You tell her she is not.",
"She nods once and keeps going, slower than she needs to, learning your cock by the way it twitches and throbs in her palm."
]
},
"first_blowjob": {
"text": [
"Maya lowers herself to her knees slowly, one hand resting on your thigh while the other reaches for your cock.",
"Her fingers close around your shaft before her mouth gets involved. She strokes you twice, eyes fixed on the swollen head, then looks up at you.",
"\"Stay still.\"",
"Her lips touch the tip first. Warm, careful, almost too light.",
"Then her mouth closes around the head of your cock, and the first wet pull makes your hips tense before you can stop them.",
"Maya notices, but she does not pull away. Her hand tightens around the base, keeping you in place while she takes a little more of you.",
"She has to stop once to breathe, lips wet, cheeks flushed, her fingers still wrapped around your shaft.",
"The second time she lowers her mouth, she goes deeper.",
"Your cock slides over her tongue, and a small sound catches low in her throat.",
"When she pulls back again, a thin line of spit follows her lip for a second before it breaks.",
"\"Like that?\"",
"You answer with a rough sound, and Maya's grip tightens before she takes you back into her mouth."
]
},
"first_cunnilingus": {
"text": [
"Maya is already wet when you get between her thighs.",
"She notices you looking and presses her lips together, embarrassed by how obvious her body has made it.",
"You kiss the inside of her thigh first. Her leg shifts under your mouth, but she stays open for you.",
"When your tongue runs up her slit, her breath catches hard.",
"\"Fuck.\"",
"You lick her again, slower, parting her folds with your tongue until you find her clit.",
"Maya's hand moves into your hair. At first she only touches you there. Then her fingers tighten when your tongue starts circling her clit.",
"Her hips lift, just a little, then again when you keep the pressure steady.",
"She tries to stay quiet, but the next sound slips out of her before she can hide it.",
"\"There. Do not move.\"",
"You keep your mouth on her, licking her clit until her thighs begin to tremble around your head."
]
},
"first_facesitting": {
"text": [
"Maya hesitates the first time she climbs over your face.",
"She looks down at you, thighs on either side of your head, one hand braced nearby while she lowers herself slowly.",
"Her pussy is close enough that you can feel the heat of her before your mouth touches her.",
"The first lick makes her hand tighten.",
"\"Oh.\"",
"It comes out soft, before she can hold it back.",
"You lick her again, tongue pressing up through her wet slit until it reaches her clit.",
"Maya's hips dip without warning. She catches herself, then stays there, breathing shallowly above you.",
"Your hands settle on her thighs to keep her close.",
"This time, when her hips move, she lets the movement happen.",
"\"Again. Do that again.\""
]
},
"first_beg_facesit_success": {
"text": [
"When you ask Maya to sit on your face, she looks away with her cheeks already turning red.",
"You ask again, lower this time, making it clear how badly you want her there.",
"Her fingers flex once at her side.",
"\"You really want that.\"",
"You tell her yes.",
"Maya looks down at your mouth, then at your hands. Her breathing is not as steady as she wants it to be.",
"She steps over you carefully and lowers herself until her wet pussy rests against your tongue.",
"The first lick makes her hips jerk down harder than she expected.",
"Her hand finds something to hold. Her thighs close a little around your head.",
"\"Fuck... okay.\"",
"She stays there, flushed and unsteady, letting your mouth work her open while her breathing gets worse."
]
},
"first_69": {
"text": [
"The first sixty-nine with Maya starts with both of you shifting until your bodies finally line up the right way.",
"Her mouth is close to your cock. Your mouth is close to her pussy. For a few seconds, neither of you moves first.",
"Then Maya's hand wraps around your shaft, and you put your mouth on her at the same time.",
"Her breath breaks against your cock before her lips close around it.",
"You lick up through her wet slit and find her clit while she takes the head of your cock into her mouth.",
"The rhythm is uneven at first. She pauses when you make her moan. You lose your pace when her tongue moves under the head.",
"Then it starts to settle into something messier and better.",
"Maya's thighs tighten near your face. Her mouth gets wetter around your cock, less careful each time your tongue circles her clit.",
"She pulls off once, breathing hard against your shaft.",
"\"Fuck. Keep going.\"",
"Then she takes you back into her mouth and stops trying to make it neat."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time your fingers move between Maya's legs in public, you keep the touch small enough to hide from everyone else.",
"She feels it anyway. Her eyes snap to yours, sharp with surprise.",
"You rub her through the fabric, slow and controlled, just enough pressure to find the shape of her pussy under your fingers.",
"Maya shifts her stance like she is only adjusting herself, but her breath gives her away.",
"\"Careful.\"",
"The warning is quiet, but she stays where she is.",
"You keep going, your fingers moving over the damp heat of her slit through her clothes.",
"She looks away first, checking the space around you, then looks back at you with her face warmer than before.",
"Her thighs press together for a second, trapping your hand there.",
"\"Slow. If someone sees, I am walking away.\"",
"She does not walk away."
]
},
"first_fingering": {
"text": [
"The first time your fingers slide inside Maya, the teasing has already made her too wet to hide it.",
"You touch her clit first, slow circles that make her breath catch and her thighs open a little more.",
"Then one finger presses against her entrance.",
"Maya's hand catches your wrist, but she does not push you back.",
"\"Slow.\"",
"You push in carefully. Her pussy takes your finger with a wet, tight pull, and her grip on your wrist tightens as she adjusts to it.",
"You give her a few seconds, then start moving inside her while your thumb stays on her clit.",
"Her hips answer before she says anything. Small movements at first, then more honest when the pleasure starts to build.",
"You add a second finger, and Maya's cunt clenches around both of them.",
"\"Fuck... there.\"",
"Her hand moves from your wrist to your shoulder, holding on while you curl your fingers and keep rubbing her clit."
]
},
"first_analingus": {
"text": [
"Maya goes quiet when your mouth moves lower than she expected.",
"You kiss the inside of her thigh, then the curve beneath her ass, giving her time to understand where you are going.",
"She looks back at you once, face hot, breathing held in her chest.",
"\"You want to do that?\"",
"You answer by kissing closer, your hands holding her hips steady.",
"When your tongue touches her tight little asshole, her whole body goes still.",
"The second circle makes her fingers grip the surface under her.",
"\"Oh... fuck.\"",
"The sound is surprised and low in her throat.",
"You lick her slowly, circling her ass until her hips ease under your hands.",
"By the time your tongue presses a little firmer, Maya is breathing through her mouth, head lowered, fingers still gripping the surface beneath her."
]
},
"first_ask_sex_success": {
"text": [
"When you ask Maya if she wants to have sex, she does not answer fast.",
"She looks at you, then down between you, where your hard cock is pressing against your clothes.",
"For a few seconds she seems caught between nerves and wanting it badly enough to stop pretending she is only thinking about it.",
"Then she steps closer and puts her hand on your chest.",
"\"Yes.\"",
"The word is quiet, but not uncertain.",
"Her hand slides down your body until her fingers brush your hard cock through your clothes.",
"She feels you twitch under her touch and exhales slowly.",
"\"I want you too.\"",
"Her eyes lift back to yours.",
"\"Start slow. I mean it.\""
]
},
"first_beg_sex_success": {
"text": [
"Begging Maya for sex works because, this time, you sound too honest to mock properly.",
"She tries anyway. The smile starts, then fades when she hears the way you say her name.",
"\"You really want me that badly?\"",
"You say yes. No performance. No cleverness.",
"Maya steps close, hand dropping to your hard cock with a slow squeeze that makes both of you breathe differently.",
"\"Good. Come here.\"",
"Her mouth finds yours before she can turn the rest into a joke."
]
},
"first_demand_sex_success": {
"text": [
"The first time you demand sex from Maya and she says yes, she tries to answer with her glare before her breath gives her away.",
"The words hit something already burning between you. Her breath changes before her mouth does.",
"Her eyes drop to your cock, then back to your face.",
"\"Say it again.\"",
"You do, lower this time, telling her you want her wet and close and under your hands.",
"Maya's smile comes back smaller, hotter, less safe than usual.",
"\"Then fuck me like you mean it.\""
]
},
"first_vaginal_intro": {
"text": [
"The first time Maya feels your cock at her pussy, everything else drops away.",
"There is only her breath, your hands, and how wet she is when the swollen head presses against her slit.",
"\"Slow first.\"",
"You push in by inches. Her tight little pussy stretches around you, hot and slick, and Maya's eyes flutter before she forces them open again.",
"The first full slide steals the joke from her mouth completely.",
"\"Fuck.\"",
"Her nails dig into your shoulder, not to stop you, but because the next inch makes her clench around your cock."
]
},
"first_anal_intro": {
"text": [
"Maya's first anal starts with nerves and heat tangled together.",
"You get her slick first, fingers working her open until her breathing goes uneven and her ass stops fighting every touch.",
"When the head of your cock presses against her tight little asshole, her fingers dig into your arm.",
"\"Slow.\"",
"You push in carefully, feeling her stretch around you inch by inch.",
"Maya curses under her breath when the pressure turns real.",
"\"Fuck. Wait.\"",
"You stop, buried just enough to make her shake. A second later her hips move back by a fraction.",
"\"Okay. More. A little.\""
]
},
"first_position_missionary": {
"text": [
"Maya's first missionary fuck is face-to-face enough that she cannot hide behind jokes. Every inch of your cock entering her makes her expression change before she can cover it.",
"\"Do not look so pleased with yourself.\"",
"You thrust slowly and her legs tighten around you.",
"\"Okay. Maybe a little pleased. Just keep moving.\""
]
},
"first_position_cowgirl": {
"text": [
"The first time Maya rides you, she climbs over your cock with a look that dares you to call it need.",
"Then she sinks down on your cock and loses half the sentence she was using to prove the point.",
"Her hands brace on your chest. Her hips start practical and turn greedy before she can joke her way out of it.",
"\"Oh.\"",
"You stay still while she finds the pace herself, slow at first, then deeper when her pussy clenches around you.",
"Maya's head dips, hair falling forward as her breath turns rough.",
"\"There. Fuck. That.\""
]
},
"first_position_reverse_cowgirl": {
"text": [
"Maya turns around before lowering herself onto you, acting like she is testing an idea. The first slide of your cock into her pussy makes her back arch and kills the experiment immediately.",
"\"Do not stare too much. Actually... no. Stare. I want to know what this looks like from there.\"",
"She rides you with her round ass shifting over your hips, getting bolder each time your breath catches."
]
},
"first_position_doggy": {
"text": [
"Maya takes doggy with both hands braced and one last look over her shoulder.",
"Your cock pushes into her soaked pussy from behind, and her head dips when the angle hits deeper than she expected.",
"The first thrusts are careful. Then her hips press back once, almost despite her, asking for more before her mouth does.",
"\"Fuck.\"",
"You hold her hips and thrust again, slow enough to feel her cunt tighten around you, hard enough to make her breath break.",
"She looks back once more, flushed and rough-voiced.",
"\"Again. Like that.\""
]
},
"first_position_wall": {
"text": [
"The first wall fuck with Maya starts with laughter because neither of you quite believes you are trying it. Then your hands lift her, her legs hook around you, and the laugh turns into a gasp when your cock finds her pussy.",
"\"This is ridiculous,\" she says, and the laugh catches when your cock fills her against the wall.",
"You thrust once. Her nails dig into your shoulders.",
"\"Ridiculous can stay.\""
]
},
"first_anal_position_missionary": {
"text": [
"Maya chooses missionary for the first anal position because she wants your face where she can read it. She watches every breath as your cock presses into her ass, inch by inch.",
"\"If I say stop, you stop. If I say wait, you wait.\"",
"You do. That is why she lets you get deeper."
]
},
"first_anal_position_cowgirl": {
"text": [
"When Maya rides your cock with her ass for the first time, she starts slow, jaw tight, one hand on your chest.",
"She lowers herself by inches, her tight asshole stretching around the head while her breath shakes.",
"\"Fuck.\"",
"No joke follows. She just stops halfway down, eyes closed, trying to let her body catch up.",
"Then she sinks lower, and the sound she makes is too raw to cover.",
"Her ass tightens around your cock, then eases enough to take more.",
"\"Okay. I can... I can feel all of that.\""
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Maya takes reverse cowgirl anal like she needs the courage of not looking at your face.",
"Her back is tense as she lowers herself onto your cock, ass stretching slowly around you while her hands grip your thighs.",
"Halfway down, she stops and breathes hard.",
"\"Shit.\"",
"You can see her asshole tight around your cock, see the tremor in her hips when her body gives another inch.",
"The view gets to both of you. Maya feels it in the way your hands tense against her.",
"\"I know. I can feel you looking.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy makes Maya's first anal from behind feel more exposed than she expected.",
"She braces herself while you press the head of your cock to her asshole, already slick, already tense.",
"\"Slow.\"",
"You push in carefully, feeling her tight ass resist and then give by tiny degrees.",
"Maya's fingers squeeze the surface beneath her, and the first deep inch makes her breath break into a rough little moan.",
"Her hips pull away once, then push back on their own.",
"\"Okay. More. Not much. Just... more.\""
]
},
"first_anal_position_wall": {
"text": [
"The first wall anal with Maya is awkward for the first few seconds, all grip and balance and her muttering about terrible ideas.",
"Then your cock presses against her ass and the joking cuts off.",
"\"Slow.\"",
"You hold her steady and push in carefully, feeling her asshole stretch around the head while her nails dig into your shoulder.",
"The pressure makes her curse under her breath. The next inch makes her moan before she can swallow it.",
"She laughs once, breathless and embarrassed, forehead near yours.",
"\"Still a terrible idea. Keep going.\""
]
},
"first_sex": {
"text": [
"Maya's first time with you is not clean, perfect, or poetic.",
"It is warm skin, a sharp mouth going quiet, and her hand pulling you back when you hesitate too long.",
"Your cock slides into her pussy and the cleverness leaves her face in one broken breath.",
"\"Fuck.\"",
"You move slowly at first, feeling her wet cunt stretch and clench around you with every careful thrust.",
"Maya grips your shoulder, half annoyed at needing it and half ruined by how much it helps.",
"When her hips start meeting yours, the careful part starts to fall apart.",
"\"More. I said slow, not scared.\""
]
},
"first_anal": {
"text": [
"Maya's first anal is slow at first because it has to be.",
"The first inch into her tight ass takes her breath and yours, her fingers twisting in the fabric beneath her while her body fights the stretch.",
"\"Okay. Wait.\"",
"You stop, cock held inside her just deep enough to make her shake.",
"Maya breathes through it, flushed and tense, then pushes back by a fraction.",
"The next inch is slower. Dirtier. Her asshole opens around you, tight and hot, and her voice breaks when it starts feeling good through the pressure.",
"\"Fuck. More. Carefully.\""
]
},
"first_demand_anal_success": {
"text": [
"Demanding anal from Maya only works after she already trusts the hunger under your voice.",
"She looks at you, then down at your cock, and the flush on her face arrives before the answer does.",
"\"That is a lot to ask like that.\"",
"You say it again, lower, telling her you want her ass and you want to take your time with it.",
"Maya's breath catches. For once, she does not have a fast joke ready.",
"\"Fuck.\"",
"She steps closer.",
"\"I might want that too.\""
]
},
"first_undress_top_off": {
"text": [
"The first time Maya lets her top come off, she makes you wait while she finishes one last thought, because giving in too quickly would irritate her.",
"The fabric lifts, and her skin appears warm and close enough that the joke she was building never reaches her mouth.",
"\"Look if you want. Just do not look like you won something.\""
]
},
"first_undress_bra_off": {
"text": [
"Maya unhooks her bra with the brisk annoyance of someone removing an obstacle that has done its job for too long.",
"Her tits come free, and for once she does not rush to bury the softness of it under a joke.",
"\"You can look. I am not doing all this for the wall.\""
]
},
"first_undress_bottom_off": {
"text": [
"The first time Maya lets her bottoms slide down, she watches your face instead of the fabric. She wants to see the exact second the mood stops being theoretical.",
"\"There it is. That look.\"",
"She steps out of the clothes and comes closer, bare legs brushing yours.",
"\"Say something before I start pretending this was a terrible idea.\""
]
},
"first_undress_panties_off": {
"text": [
"The first time Maya lets her panties come off, she is quieter than she was with every other layer. No joke lands fast enough to cover what she is choosing.",
"\"Say something smart and I might forgive you for staring.\"",
"You tell her she looks beautiful like this, and for once Maya does not immediately weaponize the compliment.",
"She steps closer, bare and trying not to look as moved as she is.",
"\"Good. That was almost smart.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Maya hooks her fingers under the hem and pulls the top off before she can make another excuse for it.",
"Your hands return to her shoulders, skin to skin this time, and the first slow press makes her stop explaining herself.",
"\"Fine. That is better. Do not make me regret admitting it.\""
]
},
"first_massage_undress_bra_off": {
"text": [
"Maya pauses before the bra comes off during massage. The clasp is a small thing, but her breathing changes when it opens.",
"\"Hands stay where I put them.\"",
"You nod. She opens the clasp herself. Her tits slip free, and your hands return to her shoulders instead of rushing for them.",
"For once she does not cover the silence with a joke right away.",
"\"Good. I like it when you can wait.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Maya lets her bottoms come off during massage after pretending the decision is purely practical for too long.",
"Your palms return to her hips and thighs. You keep your hands slow, and her breath keeps catching despite the glare she gives the floor.",
"\"You are enjoying how tense I am. I hate that it is working.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Maya lets her panties come off during massage, she is still lying on her front with her cheek against her folded arms.",
"You slide the fabric down slowly. Her thighs tense, then part just enough to help you. Her pussy is wet before your hand gets anywhere near it.",
"\"Do not get smug.\"",
"You return to her hips and inner thighs first, using the same patient hands that got her this far.",
"Her voice drops into the cushion.",
"\"Fuck. Fine. That is exactly why I warned you.\""
]
},
"first_slide_inside_panties_public": {
"text": [
"The first time your hand slips inside Maya's panties in public, she catches your wrist before your fingers reach anything dangerous.",
"For a second you think she will stop you. Then her grip loosens by one tiny degree.",
"\"You picked the worst possible place.\"",
"Your fingers slide under the fabric and find her wet slit. Her breath catches so quietly it almost disappears under the noise around you.",
"\"Slow. If I have to act normal, you had better keep your hand steady.\""
]
},
"first_deep_kiss": {
"text": [
"The first time Maya lets the kiss turn deep, she does not give in all at once. She tests it first, mouth soft, then sharper when she realizes you are not rushing her.",
"\"Slow. I want to know what I am agreeing to.\"",
"You kiss her again, deeper this time, and the careful line she was holding starts to blur. Her hand catches your shirt and stays there, fingers tightening whenever your mouth moves deeper.",
"When your tongue brushes hers, Maya makes a small sound she clearly wishes had stayed private.",
"\"Do not look so proud. I am still deciding how good that was.\""
]
},
"first_invite_room": {
"text": [
"The first time Maya agrees to come to your room, she makes the answer sound practical because that is easier than admitting it means something.",
"\"Fine. But if your room looks like a crime scene with laundry, I am leaving.\"",
"She steps inside with the careful attention of someone who notices more than she says. The bed. The light. The distance between the door and where you stand.",
"You ask if she is comfortable.",
"\"Not completely.\"",
"Then she looks at you, softer than the joke she is already building.",
"\"But I am still here, so do not waste the part where I am trying.\""
]
},
"first_private_movie": {
"text": [
"The first movie night with Maya lasts maybe ten minutes before both of you stop pretending the movie is the point.",
"She starts with commentary. Too sharp, too accurate, quietly funny enough that you keep watching her instead of the screen.",
"\"If you stare at me through the entire plot, I am charging you for a second ticket.\"",
"You move closer. She lets your shoulder touch hers, then lets the silence sit there until it becomes permission.",
"When your hand finds hers, Maya looks at the screen like it is personally responsible for how warm her fingers feel.",
"\"Fine. But if this movie gets good, I am blaming you for making me miss it.\""
]
},
"first_invite_gallery": {
"text": [
"The first time you take Maya to the gallery, she starts by pretending she is only there to judge the lighting.",
"\"Half of this is rich people explaining beige to each other.\"",
"Then she stops in front of a photograph longer than she means to. Her expression changes, not dramatic, not open, just honest enough that she notices you noticing.",
"You ask what she sees.",
"\"Someone who knew when to leave the mess in the frame.\"",
"She glances at you and the sarcasm comes back softer.",
"\"Do not get sentimental. I am still mostly here for the lighting.\""
]
},
"first_invite_workout": {
"text": [
"The first time Maya agrees to work out with you, she makes it sound like a terrible idea she is generously supervising.",
"\"If you try to impress me and injure yourself, I am not carrying you home.\"",
"She is not effortless. That makes it better. She gets tired, mutters complaints, adjusts her posture, and keeps going with the same stubborn focus she brings to everything else.",
"When you slow down to match her, she notices.",
"\"Do not do that fake noble thing. I can keep up.\"",
"A few minutes later, she adds, quieter:",
"\"But... maybe do not speed up yet.\""
]
},
"first_public_handjob": {
"text": [
"The first time Maya lets her hand slip inside your pants in public, she looks at you like she cannot believe you made the idea real.",
"\"Here? You picked here?\"",
"Her fingers find your cock anyway, hidden under the cover of your clothes.",
"The first stroke is tense and careful. The second is slower, because she feels you twitch in her hand and it clearly does something to her.",
"Maya keeps her face almost normal while her palm moves over your shaft, but the corner of her mouth trembles when your breathing changes.",
"\"Oh, you are bad at hiding that.\"",
"She strokes you again, thumb brushing the head of your cock under the fabric.",
"\"Do not make a sound unless you want us both in trouble.\""
]
},
"first_footjob": {
"text": [
"The first time Maya gives you a footjob, she looks more amused by your reaction than by the act itself.",
"\"This is either very flattering or very strange. I have not decided.\"",
"Her foot presses against your cock through the first slow stroke, testing how much pressure makes your breathing change.",
"You react too clearly. Maya notices, of course she notices.",
"\"Oh.\"",
"The next stroke is slower, her foot dragging along your shaft until your hips tense.",
"The amusement on her face turns warmer and a little less safe.",
"\"So that works. Good to know.\""
]
},
"first_titfuck": {
"text": [
"The first time Maya lets you slide your cock between her tits, she makes you wait only long enough to see how badly you want it.",
"\"You have wanted this for a while.\"",
"She presses her breasts around your cock, warm skin closing tight as you start moving between her tits.",
"The first stroke makes your breath catch. Maya feels the twitch of your cock between her breasts and her expression changes.",
"\"Oh.\"",
"She holds herself tighter around you, letting your shaft rub between her tits while your breathing gets rougher.",
"The joke she was building never quite arrives.",
"\"Fine. I understand. Keep going.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Maya's body, she watches your face more than the mess itself, like she wants to understand the exact second you lose control.",
"Your cock jerks, spilling over her skin while her hand stays close enough to feel the last twitch without making a show of it.",
"\"There it is.\"",
"She looks down at the cum on her body, then back at you with a small, tired smile that is softer than the joke she is trying to build.",
"\"You look far too pleased with yourself for someone who just came all over me.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Maya's ass, she goes still when she feels the first hot line hit her skin.",
"It is not her favorite kind of attention, not exactly, but she does not move away. She just looks back over her shoulder, breathing through the moment while your cock keeps pulsing over her.",
"\"You really like looking at me like this.\"",
"You tell her yes. Maya huffs like she expected the answer and still wanted to hear it.",
"\"Fine. Enjoy the view. Then find me something to clean up with.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Maya's tits, she gives you one last warning look, then holds still for it anyway.",
"Your cock jerks over her chest, streaking cum across her skin while her breath catches despite the expression she is trying to hold.",
"\"Your face is giving you away.\"",
"She glances down at the mess, then touches one finger to it like she is annoyed by how much your reaction affects her.",
"\"I should be more offended by how much you wanted that.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Maya's face, she does not turn it into a performance. She stays close because she chose to, eyes narrowed like she is daring herself not to flinch.",
"Your cock pulses, painting her cheek and lips while her fingers tighten briefly against your thigh.",
"For a second, neither of you jokes.",
"\"Careful.\"",
"She wipes a little cum from the corner of her mouth with her thumb, still looking at you.",
"\"That is not something you get to make casual.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Maya lets you cum in her mouth, she looks nervous right up until she decides not to pull away.",
"Your cock is heavy on her tongue, her hand tight around your shaft as your warning comes out rough.",
"She hears it and keeps her mouth there.",
"The first pulse hits her tongue and her eyes close hard.",
"You cum into her mouth in thick spurts while her fingers dig into your thigh.",
"Maya swallows once, then again, throat working around your load before she pulls back with wet lips and uneven breathing.",
"For a second she looks genuinely shaken by how much she wanted to prove she could take it.",
"\"Fuck.\"",
"Then, because she is still Maya, she wipes her mouth with the back of her hand and adds, \"Do not look that happy.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Maya's hand in public, she looks around once before she lets you finish, practical even when her fingers are wrapped around your cock.",
"You come hard into her hidden palm, the mess trapped between her hand and your clothes while she keeps her face almost normal.",
"\"Do not move.\"",
"Her voice is low enough to vanish under the room around you. Her hand stays closed, warm and wet around what you left there.",
"\"I need to clean my hand, and you need to stop looking proud before someone notices why.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Maya's pussy, your warning comes out broken because she is already clenching around you.",
"She hears it, and her legs tighten anyway.",
"\"Inside.\"",
"The word is rough and almost too quiet, but it is enough.",
"Your cock pulses deep in her cunt, filling her while her inner walls squeeze around every spurt.",
"Maya gasps, face flushed, fingers digging into your back as she feels you cum inside her.",
"\"Fuck. I can feel it.\"",
"She keeps you there until the last twitch fades, breathing hard against your mouth.",
"\"Okay. That was... not small.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Maya's ass, she is already shaking from taking you that deep.",
"You warn her while you are still buried in her tight asshole, every breath between you rough and uneven.",
"Maya grips whatever is under her and nods once.",
"\"Okay.\"",
"Your cock jerks inside her ass, filling her with hot cum while she tries and fails to keep quiet.",
"The first pulse makes her moan. The second makes her push back against you by instinct.",
"When it is over, she stays very still, flushed and stunned, your cock still inside her cum-filled ass.",
"\"Fuck. Give me a second.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g1",
"girl": "Zoe Bellamy",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"You meet Zoe while she is trying to solve a small problem with very little patience.",
"She has the focused look of someone who already found the flaw and is waiting for the world to stop adding noise.",
"You mention the one detail that keeps repeating.",
"Zoe stops and looks at you for the first time.",
"\"You noticed that?\"",
"You say it happened twice while you were waiting.",
"She checks again, adjusts the problem without making a show of it, and watches the result change.",
"\"Huh.\"",
"Her eyes return to you, more curious than friendly.",
"\"Fine. You can stand there. Quietly.\""
]
},
"first_phone_success": {
"text": [
"Zoe takes a moment before giving you her number.",
"She writes it down in small, neat digits, then hesitates with the paper still under her fingers.",
"\"Text first. I do not like surprise calls.\"",
"You ask if she always gives instructions with her number.",
"\"Usually people need more of them.\"",
"She hands it over before the moment can turn awkward.",
"\"You might need fewer. Maybe.\""
]
},
"first_address_success": {
"text": [
"Zoe gives you her address like she is not entirely sure whether she is doing something smart.",
"She writes it once, folds the paper, then hands it over.",
"\"Text before you come over.\"",
"You nod.",
"Her shoulders loosen a little.",
"\"Good.\"",
"A small pause.",
"\"I like knowing when to be nervous.\""
]
},
"first_hug": {
"text": [
"The first hug with Zoe almost stops before it starts.",
"You step closer, she stiffens, and you stop moving.",
"That pause makes the difference.",
"Zoe exhales and steps into you herself.",
"Her arms settle around your back carefully, like she is still learning where to put them.",
"Then her forehead rests against your shoulder.",
"For once, she does not have a correction ready.",
"\"Okay,\" she says into your shirt. \"That is... nice.\""
]
},
"first_kiss_cheek": {
"text": [
"You kiss Zoe's cheek, quick and soft.",
"She blinks, then touches the spot with two fingers before she can pretend she did not react.",
"\"Oh.\"",
"You ask if that was okay.",
"She looks away for half a second.",
"\"Yes. I just did not expect it to feel like anything.\""
]
},
"first_dirty_whisper": {
"text": [
"You wait until Zoe is close enough that nobody else can hear.",
"Then you tell her, plainly, that you want your hand under her clothes and your mouth near her ear while she tries to stay quiet.",
"Zoe does not answer right away.",
"Her breathing changes first.",
"\"That was very specific.\"",
"You say you meant it that way.",
"Her eyes drop to your mouth.",
"\"Say it again later. Somewhere I can do something about it.\""
]
},
"first_massage_start": {
"text": [
"Zoe treats the first massage like something she is allowing herself to test.",
"\"Shoulders first.\"",
"You start over her shirt, thumbs pressing into the stiff line beside her neck.",
"She stays tense at first, then shifts forward a little to give you a better angle.",
"\"Lower.\"",
"Your hands move lower by degrees, giving her time to breathe before your thumbs reach her hips.",
"The silence softens.",
"\"There. Keep it slow.\""
]
},
"first_massage_orgasm": {
"text": [
"Zoe's first massage orgasm starts with her trying to keep the whole thing ordinary.",
"You work her shoulders, then her back, then the tense line of her hips until her breathing goes slow and uneven.",
"When your hand slides lower, she looks away instead of stopping you.",
"By the time your fingers reach her panties, the fabric is damp against her pussy.",
"You rub her through it in slow circles, barely enough at first, until her hips start making the movements bigger for you.",
"Zoe's breath catches. She tries to swallow the sound and fails.",
"\"Fuck.\"",
"Your fingers slip under the edge of her panties and find her clit swollen and slick.",
"She grips your wrist, but only to keep your hand there.",
"You rub her clit with two fingers, then slide them lower into her wet cunt, feeling her tighten around you immediately.",
"Her thighs close around your hand. Her head drops forward, and the next moan comes out broken.",
"\"There. There.\"",
"You keep fingering her, thumb working her clit while her cunt clenches around your fingers in harder, wetter pulls.",
"The orgasm hits before she can make another sentence. Her hips jerk into your hand, her pussy pulsing around your fingers while she moans into her own shoulder.",
"She keeps shaking after the first wave, wet and flushed and still holding your wrist between her legs.",
"\"Wait,\" she breathes, then lets out a weak, embarrassed laugh. \"No. I do not know. Fuck.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Zoe, and she notices the timing before she comments on the taste.",
"\"You changed the heat because you panicked.\"",
"She still eats another bite.",
"Then she points with her fork.",
"\"Start lower next time. Less rescuing, more planning.\"",
"A pause.",
"\"It is not bad. Just doing too many things at once.\""
],
"high": [
"You cook for Zoe, and she goes quiet after the first bite.",
"Zoe only goes quiet like that when something is worth examining.",
"\"Good. You controlled the heat instead of apologizing with seasoning.\"",
"The meal turns into timing, order, and why small mistakes get bigger when nobody catches them early.",
"When she finishes, she sets the fork down neatly.",
"\"I can do this again.\"",
"She glances up.",
"\"The meal. Possibly the rest of the evening.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Zoe starts carefully.",
"Her mouth is soft for one second. Then she presses in harder, surprising both of you.",
"Your hand settles at her waist, and she does not move it away.",
"When your tongue touches hers, she makes a small sound and immediately kisses you harder to hide it.",
"You pull back just enough to see her face.",
"\"No,\" she says, before you can ask. \"Do not stop because I made a sound.\"",
"Then she kisses you again, less carefully."
]
},
"first_handjob": {
"text": [
"The first time Zoe wraps her hand around your cock, she looks calm enough to make the moment feel almost clinical.",
"Then your shaft twitches in her grip and the calm gets thinner.",
"\"So that is the response.\"",
"Her thumb drags over the head, gathering the slickness there with careful pressure.",
"She watches your breathing change, not smiling yet, but not looking away either.",
"\"Tell me when the pace is wrong. I would rather learn accurately.\"",
"Her hand starts moving again, more confident now that your body has answered her."
]
},
"first_blowjob": {
"text": [
"Zoe does not rush the first blowjob.",
"She sits between your legs and looks at your cock like she is still annoyed by how much she wants to know what you taste like.",
"\"Hands where I can see them.\"",
"Then her fingers wrap around your shaft.",
"She strokes you once, watching your face, then leans in and licks the swollen head.",
"Your cock twitches against her tongue.",
"\"Oh.\"",
"The second lick is slower. Then her lips close around you, warm and careful, taking your cock into her mouth by inches.",
"She has to stop, breathe, adjust her hand, try again.",
"Then she finds the rhythm, and the way you throb on her tongue makes her cheeks flush.",
"She keeps going without another clever line, one hand on your shaft, mouth wet around the head, eyes flicking up whenever your breathing breaks.",
"When you groan, her lips tighten around you for half a second.",
"\"Again,\" she says, barely off your cock. \"Make that sound again.\""
]
},
"first_cunnilingus": {
"text": [
"Zoe lets you go down on her with visible hesitation, but she is already wet by the time you settle between her thighs.",
"\"Do not make a show of it.\"",
"You kiss the inside of her thigh, then the other, giving her a second to stop bracing.",
"When your tongue finally drags up her wet slit, her whole body tightens.",
"\"Oh, fuck.\"",
"The words come out before she can edit them.",
"You lick her pussy again, slower, spreading her folds with your tongue until you find her clit.",
"Zoe's hand goes into your hair. She does not push. She just holds on.",
"Her hips lift toward your mouth anyway.",
"You keep your tongue on her clit until her legs start shaking and her breathing turns into soft, broken little sounds.",
"\"There,\" she whispers. \"There. Fuck.\""
]
},
"first_facesitting": {
"text": [
"Zoe climbs over your face like she is still deciding whether this is a terrible idea.",
"Her thighs settle on either side of your head, wet pussy close enough that you can feel her heat.",
"\"Tap if you need air.\"",
"That is all she says before lowering herself to your mouth.",
"The first lick makes her breath catch. The second makes her thighs tighten.",
"You eat her pussy slowly at first, tongue working her slit and clit while she tries to stay balanced above you.",
"Zoe's hand grabs for anything stable. Her hips roll once before she can stop them.",
"After that, she stops trying to stay perfectly still.",
"Her pussy presses harder against your mouth, slick and hot, and the sound she makes is too breathless to be a command.",
"\"Fuck. Again.\""
]
},
"first_beg_facesit_success": {
"text": [
"You beg Zoe to sit on your face, and for once she does not have a clean answer ready.",
"She looks at your mouth, then at your face, and the flush on her neck gives her away.",
"\"You really want that.\"",
"You say yes.",
"Zoe climbs over you without another lecture, one knee beside your shoulder, wet enough that you can smell her before she lowers herself.",
"\"Fine. Mouth open.\"",
"Her pussy settles onto your tongue, and the first real lick makes her hips dip harder than she meant them to.",
"\"Oh.\"",
"She grips whatever she can reach and stays there, breathing hard, thighs tightening against your cheeks.",
"\"Yes. Like that.\""
]
},
"first_69": {
"text": [
"Zoe agrees to sixty-nine with more curiosity than confidence.",
"\"Fuck. I cannot focus on both.\"",
"She says it, then still positions herself over you, mouth close to your cock while her pussy lowers toward your face.",
"For the first minute it is awkward in a real way: breath, shifting thighs, her hand finding your hip, your tongue learning where she gets sensitive.",
"Then her lips close around your cock and your mouth finds her clit at the same time.",
"Zoe moans around you, surprised enough that the sound turns sloppy.",
"She pulls off to breathe and her hips grind once against your mouth before she catches herself.",
"\"Fuck,\" she whispers.",
"Then she takes your cock back into her mouth before she can say anything smarter."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"Zoe's eyes sweep the room once before her body admits she feels your fingers.",
"Her eyes move once, quick and sharp, then return to you.",
"\"Small movements.\"",
"Your fingers press against her slit through the fabric. She goes still, but the heat under your hand is immediate.",
"You rub her slowly, barely enough to disturb her posture, and feel the cloth grow wetter against her pussy.",
"Zoe's knees press together around your hand for half a second.",
"Her lips part, then close again before the sound can escape.",
"\"Fuck,\" she whispers, staring straight ahead. \"I can feel how wet that is.\""
]
},
"first_fingering": {
"text": [
"The first time your fingers slide into Zoe's pussy, she grabs your wrist and then does not pull you away.",
"Her cunt is wet enough that the first finger goes in slowly but easily, her inner walls tightening around you as her breath catches.",
"\"Wait.\"",
"You stop with your finger still inside her.",
"Zoe's eyes close, and her grip on your wrist changes.",
"\"No. Not out.\"",
"You start moving again, rubbing her clit with your thumb while your finger works deeper inside her.",
"Her legs part a little more.",
"You add a second finger and Zoe swears under her breath, hips jerking once before she can hide it.",
"\"Oh. Fuck.\"",
"After that, she stops giving directions. Her cunt keeps doing it for her, clenching and pulling around your fingers every time you curl them inside her."
]
},
"first_analingus": {
"text": [
"Zoe needs the first time your mouth moves to her ass to feel deliberate, not like a joke you are trying on her.",
"She looks back once, cheeks already flushed.",
"\"You are actually serious.\"",
"You kiss the inside of her thigh, then lower, spreading her enough to put your mouth where she is tightest.",
"The first touch of your tongue against her asshole makes her go completely still.",
"\"Oh.\"",
"You lick her again, slow and filthy, tongue circling the tight little hole until her fingers grip the surface beneath her.",
"Her voice comes out thinner than before.",
"\"Again.\"",
"You do it again, and this time her hips move back toward your mouth by themselves."
]
},
"first_ask_sex_success": {
"text": [
"You ask Zoe for sex, and she looks at you for a few seconds without answering.",
"Her face goes quiet while the yes catches up to the rest of her.",
"\"Yes.\"",
"The word comes out plain, almost too quiet.",
"She steps closer and puts one hand on your chest.",
"\"Slow at first. I want to feel all of it.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Zoe for sex, and the need in your voice hits her harder than she expects.",
"She looks away once, but her hand has already caught the front of your shirt.",
"You say it again, simpler this time. You want her. You want to be inside her.",
"Zoe's breath catches.",
"\"Good.\"",
"She pulls you closer.",
"\"Come here before I think about it too much.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Zoe, and her first reaction is a long, sharp look.",
"For a second you think you pushed too hard.",
"Then her eyes drop to your mouth and back up.",
"\"Say that again.\"",
"You do, lower this time, making it clear you want her, not just any body under you.",
"That is what changes her expression.",
"She steps into you, close enough that her voice loses its clean edge.",
"\"Now.\""
]
},
"first_vaginal_intro": {
"text": [
"When the head of your cock presses against Zoe's wet slit for the first time, she stops breathing for a second.",
"Her hand tightens on your arm.",
"\"Wait.\"",
"You hold still with your cock right there, slick against her entrance.",
"Zoe looks down between you, then back at your face, flushed and more naked than her body alone could make her.",
"\"Okay. Slow.\"",
"You push in by inches. Her pussy stretches around you, tight and wet, and the first real slide inside makes her mouth fall open.",
"\"Fuck,\" she whispers. \"I felt that everywhere.\""
]
},
"first_anal_intro": {
"text": [
"Zoe's first anal starts quiet and tense, with her body trying to decide whether curiosity was a terrible idea.",
"You slick your cock and press the head against her asshole.",
"Her fingers twist in the fabric beneath her.",
"\"Slow.\"",
"That is all she gets out before the first pressure starts to open her.",
"You push in carefully, inch by inch, feeling her tight ass resist and then give around your cock.",
"Zoe's breath breaks when the stretch becomes too real to analyze.",
"\"Fuck. Wait. No, keep it there. Just... let me catch up.\""
]
},
"first_position_missionary": {
"text": [
"Missionary lets Zoe keep your face close while your cock fills her pussy.",
"She watches you at first, trying to stay composed, but every slow thrust makes that harder.",
"Her nipples are already stiff against your chest, betraying her faster than her mouth does.",
"When you push deeper, her cunt clenches around you and she gasps right into your mouth.",
"\"Stay close,\" she says. \"I like seeing what I am doing to you.\""
]
},
"first_position_cowgirl": {
"text": [
"Zoe chooses cowgirl with more curiosity than confidence.",
"She lowers herself onto your cock slowly, lips parted, hands braced on your chest while her pussy takes you inch by inch.",
"At first she watches the way you react to her.",
"Then the fullness hits her and her hips stop halfway down.",
"\"Oh.\"",
"You stay still until she starts moving again on her own, careful at first, then less careful when her body realizes how good the angle feels.",
"Her breath turns shaky when she finds it.",
"\"There. Fuck. That.\""
]
},
"first_position_reverse_cowgirl": {
"text": [
"Zoe turns away before taking you, hiding her face while her body becomes harder to hide.",
"She sinks down on your cock with her back to you, shoulders tense, hips careful as her pussy takes you deeper.",
"You see the moment she stops trying to look composed. Her head dips, her breath shakes, and her thighs press tighter around your hips.",
"Your hands settle on her waist.",
"This time she does not correct them.",
"She starts moving, slow and uneven, then harder when the angle makes her clench.",
"\"Okay,\" she says, rougher than before. \"I feel it.\""
]
},
"first_position_doggy": {
"text": [
"Doggy makes Zoe tense at first, then the first deep thrust pulls the hesitation out of her.",
"She braces herself on her hands, then looks back once as your cock presses against her wet pussy from behind.",
"\"Start slow.\"",
"You push into her carefully, feeling her cunt stretch around you from an angle that makes her shoulders tense.",
"The first thrusts are quiet. Then your hips find a deeper stroke and Zoe's head drops between her arms.",
"\"Fuck. There.\"",
"You do it again, and her back arches before she can make it look intentional."
]
},
"first_position_wall": {
"text": [
"Against the wall, Zoe looks more exposed than she expected.",
"You lift and brace her carefully, and her legs tighten around you as your cock lines up with her pussy.",
"\"This is a bad idea.\"",
"She says it while pulling you closer.",
"You push inside her, slow enough to keep her steady, deep enough to make her grip your shoulders hard.",
"Zoe bites back a moan and fails halfway through it.",
"\"Okay,\" she breathes, almost laughing. \"Bad idea. Still good.\""
]
},
"first_anal_position_missionary": {
"text": [
"For first anal in missionary, Zoe keeps you close enough that she can bury her reaction against your mouth if she needs to.",
"Your cock presses into her ass slowly, stretching her tight asshole while her fingers grip your shoulders.",
"\"Do not rush.\"",
"You do not. You give her every inch by degrees until her body stops fighting the pressure and starts taking you.",
"When you finally settle deeper inside her ass, Zoe exhales shakily against your lips.",
"\"Fuck. That is a lot.\"",
"Her legs pull you closer before her mouth can add anything else."
]
},
"first_anal_position_cowgirl": {
"text": [
"Zoe takes cowgirl for anal because she wants to decide how fast her ass has to open around you.",
"She lowers herself onto your cock with her hands braced on your chest, stopping when the stretch makes her jaw tighten.",
"At first it is all breath and tiny movements.",
"Then she sinks another inch and makes a sound she clearly did not plan.",
"\"Oh.\"",
"Her ass tightens around your cock, then gives a little more.",
"Her eyes go unfocused for a second.",
"\"Fuck. I see why people lose words here.\""
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal lets Zoe hide her face while leaving the rest of her exposed to you.",
"Her back is tense as she lowers herself onto your cock, ass stretching slowly around the head.",
"Halfway down, she stops and grips your thigh.",
"\"Fuck.\"",
"No explanation follows. She just breathes, then takes another inch.",
"When she finally settles lower, her shoulders tremble.",
"You see her asshole stretched around your cock, see the tension in her back, see the second her body decides it wants more.",
"\"Do not say anything,\" she breathes. \"I can feel you looking.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal makes Zoe look more vulnerable than she wants to, and for once she does not cover it with a clever line.",
"She braces herself, breath already uneven, while you press the head of your cock to her asshole.",
"\"Slow first.\"",
"You push into her tight ass carefully, feeling the resistance give by tiny degrees.",
"Zoe's fingers twist against the surface beneath her. Her hips pull away once, then push back on their own.",
"\"There.\"",
"The word breaks when you slide a little deeper.",
"\"More. A little more.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal leaves Zoe shaking before you are even fully inside her.",
"The position makes everything too close: your hands on her, her breath against the wall, your cock pressing into her tight asshole from behind.",
"\"Hold me steady.\"",
"You do, and start pushing in slow.",
"Her ass stretches around you inch by inch, and the first deep slide makes her moan before she can swallow it.",
"\"Fuck. I heard that.\"",
"A breathless, embarrassed laugh slips out of her.",
"\"Keep going anyway.\""
]
},
"first_sex": {
"text": [
"The first time your cock sinks fully into Zoe's pussy, her careful expression does not survive the feeling.",
"She is tight, wet, and hotter than she looked ready to admit, her inner walls clenching around you with every slow inch.",
"She tries to breathe through the first thrust like it is something she can manage.",
"Then you move again and the sound comes out of her anyway.",
"\"Fuck.\"",
"Her legs tighten around you as you fuck her slowly at first, then deeper when her hips start meeting yours.",
"\"More,\" she says, almost angry at how simple the word is. \"I want more.\""
]
},
"first_anal": {
"text": [
"Zoe's first anal is slow until it is not.",
"At first every inch matters: your cock pressing in, her tight asshole stretching, her breath catching when her body gives a little more.",
"She keeps her face turned down until the next inch pulls a rough sound out of her.",
"Then you settle deep enough that she cannot pretend it is small.",
"\"Fuck.\"",
"Her voice is thin, almost stunned.",
"You hold still inside her ass while her body trembles around you.",
"Then her hips move back by a fraction.",
"\"Again,\" she whispers. \"Slow.\""
]
},
"first_demand_anal_success": {
"text": [
"You demand anal from Zoe, and for a second the pause gets too sharp.",
"She looks at you, then down at your cock, then away again.",
"\"You really decided to say that out loud.\"",
"You say it again, lower, less like a line and more like something you actually want from her.",
"Zoe's face flushes before she can hide it.",
"\"Fuck.\"",
"She steps closer.",
"\"I might want that too.\""
]
},
"first_undress_top_off": {
"text": [
"Zoe takes her top off with quick, neat movements, like going slowly would make the moment too large.",
"The fabric comes away, leaving her bra pulled tight over nipples that are already hard.",
"She notices your eyes drop.",
"For a second, she looks like she might say something sharp.",
"Instead she just breathes in, and her nipples press harder against the fabric.",
"\"They do that fast,\" she says. \"You noticed.\""
]
},
"first_undress_bra_off": {
"text": [
"Zoe unhooks her bra and pauses before letting it fall.",
"When she does, her tits are bare and her nipples are already stiff, flushed, and too sensitive for her calm face to be convincing.",
"You look at them and she looks at you looking.",
"\"Yes,\" she says, quieter than expected.",
"\"They are sensitive.\"",
"A breath.",
"\"Touch them slowly.\""
]
},
"first_undress_bottom_off": {
"text": [
"Zoe slides her bottoms down without looking away from you.",
"It is not a show. That somehow makes it feel more intimate.",
"She steps out of them, bare legs close enough to touch yours.",
"\"You can look.\"",
"You do.",
"Her mouth tightens like she regrets how much she likes being watched.",
"\"Okay. That was enough to affect you.\""
]
},
"first_undress_panties_off": {
"text": [
"Zoe's panties come off last.",
"She folds them automatically, then sees your eyes drop and seems to realize how absurd that habit is when she is bare in front of you.",
"Her pussy is already wet, her slit glistening in the low light.",
"For a second, the careful version of Zoe has nothing useful to say.",
"\"I know,\" she says at last.",
"You have not spoken yet.",
"\"That is why I said it first.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Zoe removes her top only after your hands have stayed useful for long enough.",
"\"The fabric is in the way.\"",
"It is a practical excuse, and both of you know it.",
"Your thumbs return to her shoulders, now against bare skin.",
"The next breath she takes is not practical at all.",
"\"Same place. A little harder.\""
]
},
"first_massage_undress_bra_off": {
"text": [
"Zoe hesitates before removing her bra during the massage.",
"This layer changes more than the last one did.",
"She takes it off and lies back down with her tits bare, nipples already hard from air, nerves, and anticipation.",
"Your hands return carefully to her back and shoulders.",
"Zoe exhales.",
"\"I felt you notice.\"",
"A pause.",
"\"I liked that. Keep going.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Zoe removes her bottoms during the massage with a quiet efficiency that almost hides how much the choice affects her.",
"Almost.",
"Her legs shift when your hands return to her lower back and hips.",
"You keep the touch slow, thumbs working the tense line above her ass.",
"Her thighs part a little.",
"\"That was not an accident,\" she says, barely above a whisper."
]
},
"first_massage_undress_panties_off": {
"text": [
"When Zoe slips her panties off during the massage, she keeps her face turned away.",
"Her pussy is wet enough that pretending this is only practical would insult both of you.",
"You rest your hand near her thigh and wait until her legs part by themselves.",
"\"Now,\" she says.",
"It comes out too fast, too needy, and her face goes red.",
"\"I mean... touch me.\""
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slip inside Zoe's panties in public, and her first reaction is a quick scan of the room.",
"Only after that does she feel your hand.",
"Her pussy is already slick, hidden under fabric and the stillness she is trying to keep on her face.",
"\"Small movements.\"",
"You rub her clit in tiny strokes, barely moving your wrist.",
"Her breath catches under the noise around you.",
"The fabric shifts against your knuckles, warmer and wetter with every second.",
"\"Fuck,\" she whispers, staring straight ahead. \"I can feel how wet that is.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Zoe starts as something careful and turns into something neither of you can keep tidy.",
"Her mouth opens slowly under yours.",
"When your tongue touches hers, she makes a small sound and chases it before she can think better of it.",
"Your hand tightens at her waist.",
"Zoe presses closer instead of correcting you.",
"\"Again,\" she says, almost against your mouth.",
"So you kiss her again, and this time she stops pretending she is only testing it."
]
},
"first_invite_room": {
"text": [
"The first time Zoe agrees to come to your room, she looks more nervous than she wants to.",
"\"Send me the address.\"",
"When she arrives, she notices the door, the bed, the light, and the places sound might carry.",
"You ask if she wants to leave.",
"\"No.\"",
"The answer comes quickly.",
"Then, softer:",
"\"I am trying to decide what this room says about you.\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Zoe starts with her adjusting the volume before the opening scene finishes.",
"\"Too loud makes it obvious. Too quiet makes it suspicious.\"",
"She sits close enough that your thigh touches hers.",
"For a while, both of you pretend to watch.",
"When your hand finds hers, she keeps her eyes on the screen.",
"Her fingers tighten around yours.",
"\"The movie is loud enough that I can stop pretending the silence is protecting me.\"",
"A pause.",
"\"That means I like it.\""
]
},
"first_invite_gallery": {
"text": [
"The first gallery walk with Zoe is more awkward than romantic, which somehow makes it better.",
"\"I do not know what I am supposed to say about most of this.\"",
"You ask what she notices anyway.",
"She stops in front of a photograph with too much empty space and a shadow that almost looks accidental.",
"\"That part.\"",
"She points, then frowns at herself for caring.",
"\"The empty space is doing more work than the subject.\""
]
},
"first_invite_workout": {
"text": [
"The first time Zoe agrees to train with you, she makes it clear that agreement is not enthusiasm.",
"\"I am not doing competitive suffering.\"",
"She follows the instructions carefully, corrects one thing you explain badly, and looks offended when her body gets tired faster than her mind does.",
"You slow down without making a point of it.",
"Zoe notices anyway.",
"\"Thank you for not making that obvious.\""
]
},
"first_public_handjob": {
"text": [
"The first time Zoe wraps her hand around your cock in public, she looks calm enough to be mistaken for innocent.",
"That is the point.",
"Her fingers move under cover, small and steady, every stroke hidden by posture and timing.",
"\"Try not to look like I have my hand around your cock.\"",
"You try. She feels you twitch in her hand and her mouth tightens.",
"\"Good. Your face only gave you away once.\"",
"Her thumb slides over the head of your cock, slow enough to make normal much harder.",
"\"Keep pretending,\" she murmurs, fingers tightening around your cock."
]
},
"first_footjob": {
"text": [
"The first footjob with Zoe feels less like something she planned and more like a test she did not expect to enjoy.",
"\"This should not be working as well as it is.\"",
"She says it while pressing her foot against your cock again.",
"The second stroke is slower.",
"\"But not useless.\"",
"She watches your breathing change, thoughtful and faintly flushed.",
"Her toes press under the shaft, dragging a reaction out of you.",
"\"Oh. That works more than I expected.\""
]
},
"first_titfuck": {
"text": [
"The first time Zoe lets you slide your cock between her tits, she looks nervous for a reason she cannot hide.",
"Her breasts are already sensitive, nipples hard before your cock even touches them.",
"\"They are going to react.\"",
"You press between her tits, and she sucks in a breath at the friction against her own skin.",
"Her hands close around her breasts, holding them around your shaft while you start moving.",
"Your cock slides between her tits, rubbing against stiff nipples and warm skin.",
"\"Fuck,\" she says, surprised by herself. \"Okay. I feel why you wanted this.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Zoe's body, she watches your face until your control breaks.",
"Your cock jerks in your hand, spilling hot cum over her skin.",
"Zoe's breath catches when the first streak hits her.",
"\"Oh.\"",
"You pulse again, painting her stomach and thigh while she looks down at the mess you made.",
"Her voice comes back quieter.",
"\"I wanted to see that.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Zoe's ass, she stays still when the first hot line hits her skin.",
"Your cock pulses behind her, streaking cum over her ass while her shoulders tighten.",
"She looks back just enough to see your face.",
"\"You are very obvious right now.\"",
"You spill the last of it over her, and she exhales through her nose.",
"\"I do not hate that.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Zoe's tits, it affects her more than she expected.",
"Your cock jerks, painting her sensitive breasts while her nipples stay hard under the heat of it.",
"She looks down, breathing shallowly as cum streaks over her skin.",
"\"Oh.\"",
"Another pulse lands across her nipple, and her mouth tightens around a sound she almost hides.",
"\"Fuck. I did not expect that to feel so good on my skin.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Zoe's face, she keeps her eyes on you until the last second.",
"Your cock pulses, and the first streak of cum lands across her cheek.",
"She flinches once, more from shock than refusal.",
"Another shot catches near her lips.",
"For a second, neither of you says anything.",
"Zoe wipes a little from the corner of her mouth with her thumb and stares at it.",
"\"Fuck. That was intense.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Zoe lets you cum in her mouth, she looks nervous right up until she decides not to pull away.",
"Your cock is deep enough on her tongue that your warning comes out rough.",
"She hears it and keeps her mouth there.",
"The first pulse hits her tongue, and her eyes close hard.",
"You cum into her mouth in thick spurts while her fingers dig into your thigh.",
"She swallows once, then again, throat working around your load.",
"When she pulls back, her lips are wet and her breathing is uneven.",
"\"I wanted to know if I could do that.\"",
"A small pause.",
"\"I can.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Zoe's hand in public, the whole thing stays hidden by inches.",
"Her palm closes around your cock under cover, stroking just enough to push you over the edge.",
"\"Quiet.\"",
"You cum into her hand, hot and messy, while she keeps her face still enough to fool anyone not looking closely.",
"Her fingers close around the mess, holding your load against her palm.",
"Zoe stares straight ahead, cheeks flushed.",
"\"I can feel it,\" she whispers. \"Do not make me laugh right now.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Zoe's pussy, your warning comes out broken because she is already clenching around you.",
"She hears it and pulls you closer instead of away.",
"\"Inside.\"",
"The word is barely there, but it is enough.",
"Your cock pulses deep in her cunt, filling her while her inner walls tighten around every spurt.",
"Zoe gasps, legs locked around you, face flushed and stunned by how much she feels it.",
"\"Fuck. I can feel you cumming.\"",
"She keeps you inside until the last twitch fades.",
"\"Do not pull out yet.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Zoe's ass, she is already shaking from taking you that deep.",
"You warn her, still buried in her tight asshole.",
"She grips whatever is under her and nods once.",
"\"Okay.\"",
"Your cock jerks inside her ass, filling her with hot cum while she tries and fails to keep her breathing steady.",
"The first pulse makes her moan. The second makes her push back against you by instinct.",
"When it is over, she stays very still, flushed and stunned.",
"\"Give me a second,\" she whispers. \"Fuck.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g2",
"girl": "Iris Moon",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"You first meet Iris because she notices you looking at the smudge of charcoal on her hand before she notices it herself.",
"She rubs at it too quickly, only making it worse.",
"\"Sorry. I look like I lost a fight with a pencil.\"",
"You say it suits her.",
"Iris looks down at her fingers, then back at you, uncertain whether that was a compliment she is allowed to keep.",
"\"That is probably the nicest possible description of being covered in graphite.\"",
"She gives a small, nervous smile.",
"\"I am Iris. I usually make less sense before I introduce myself, so this is progress.\""
]
},
"first_phone_success": {
"text": [
"Iris gives you her number after writing it, crossing out one digit, and then rewriting the entire thing because the mistake bothered her.",
"\"That was dramatic for a phone number.\"",
"She tears the corner of the page carefully and hands it to you.",
"Her fingers touch yours for half a second and she looks away first.",
"\"You can text me. I mean, I would like that.\"",
"A pause.",
"\"If I answer too fast, pretend I was doing something normal first.\""
]
},
"first_address_success": {
"text": [
"Iris gives you her address like she is asking you to be kind to the version of her that lives there.",
"\"It is messy. Not interesting messy. Just... objects everywhere messy.\"",
"You say you do not mind.",
"She nods, then writes the address in small careful letters.",
"\"Text before you come. Not because I do not want you there.\"",
"Her cheeks warm.",
"\"I just need time to move laundry out of the visible universe.\""
]
},
"first_hug": {
"text": [
"The first hug with Iris begins with her hands hovering like she forgot how arms work.",
"You step close slowly.",
"She lets herself lean in.",
"Her body is tense for the first breath, then softer on the second, sweater and hair and the faint smell of graphite near your shoulder.",
"\"Oh.\"",
"The sound is small and surprised.",
"Her fingers curl into your shirt.",
"\"I thought I would feel more awkward than this.\"",
"She stays where she is.",
"\"I mean, I am awkward. Just... not unhappy.\""
]
},
"first_kiss_cheek": {
"text": [
"You kiss Iris on the cheek, and she freezes so completely that for a second you think you misread everything.",
"Then her hand rises to the spot your mouth touched.",
"\"That was nice.\"",
"She says it too quickly, then blushes because it was too honest.",
"\"Sorry. I did not mean nice like boring nice. I meant nice like my brain stopped for a second.\"",
"She looks down.",
"\"That sounded worse. I liked it.\""
]
},
"first_dirty_whisper": {
"text": [
"You lean close and tell Iris what you want, low enough that the words stay between you.",
"Your hands on her thighs, her skirt pushed higher, her trying to keep quiet while your fingers make that impossible.",
"Iris goes very still.",
"Her eyes drop to your mouth, then to the floor.",
"\"I pictured that immediately.\"",
"She covers part of her face with one hand.",
"\"I pictured that immediately, and now I cannot look normal.\"",
"You ask if she wants you to stop.",
"She shakes her head before you finish.",
"\"No. Please keep talking. I might melt into the floor, but keep talking.\""
]
},
"first_massage_start": {
"text": [
"Iris accepts the first massage with the nervous gratitude of someone who wants touch but does not know how to ask for it.",
"\"My shoulders are always bad. I think I hold anxiety there. And possibly every failed sketch.\"",
"You start gently over her clothes.",
"She watches your hands until the first slow press makes her eyes close.",
"\"Oh.\"",
"Her voice is softer now.",
"\"That is better than I expected. Sorry, I do not know why I apologized.\"",
"You keep going, and she stops trying to comment on every reaction."
]
},
"first_massage_orgasm": {
"text": [
"Iris's first massage orgasm starts with her trying to stay the observer, even while your hands make her body the subject.",
"You work her shoulders first, then her back, slow enough that she can pretend she is studying the sensation instead of falling into it.",
"Her breathing softens in little uneven strokes, like a sketch line losing control of its shape.",
"When your hand settles near her thigh, she looks back with wide, uncertain eyes.",
"\"Is that okay? I mean... I think it is okay.\"",
"You ask if she wants you to keep going.",
"Her answer is barely louder than a breath.",
"\"Yes.\"",
"Your fingers press between her legs through the fabric, and Iris goes still in a way that makes every tiny reaction easier to see.",
"She is already damp under your hand.",
"\"Oh no. You can probably feel that.\"",
"You rub her pussy through the fabric, slow and patient, until her hips twitch into the pressure and she notices you noticing it.",
"Her face turns toward her arm.",
"\"I know you can see me reacting.\"",
"Your fingers slip under her panties and find her clit slick and swollen.",
"The first circle ruins the pose.",
"\"Fuck.\"",
"You slide one finger into her wet cunt, then a second when her thighs part for you, thumb still working her clit.",
"Iris moans into her sleeve, but the hidden sound only makes the rest of her more visible: hips moving, thighs trembling, pussy tightening around your fingers with every stroke.",
"\"Please. I do not know what I am doing. Please keep doing that.\"",
"The orgasm breaks through her in a trembling rush. Her cunt clenches hard around your fingers, hips grinding into your hand while every hidden reaction becomes visible.",
"She gasps and moans like every sound embarrasses her and turns her on more.",
"Afterward, she stays folded forward, wet and flushed and breathing fast.",
"\"I think I left my body for a second.\"",
"A shaky breath.",
"\"No. I was in it too much.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Iris, and she watches with the anxious focus of someone afraid of being asked to help at the wrong time.",
"\"That color changed. Is it supposed to?\"",
"You say probably.",
"She looks uncertain but sits down anyway.",
"The meal is imperfect. Iris eats it like she is trying to be brave for both of you.",
"\"It is warm. Warm helps.\"",
"She smiles shyly.",
"\"Also you made it, so I am biased.\""
],
"high": [
"You cook well enough that Iris stops narrating her nervousness and simply eats.",
"\"Oh. That is actually good.\"",
"She looks surprised, then embarrassed by sounding surprised.",
"The conversation drifts through food colors, texture, and the strange comfort of someone doing a practical thing with care.",
"\"I like this,\" she says quietly.",
"She looks down at the plate.",
"\"Not just the food. The being cared for part. Sorry, that sounded dramatic.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Iris starts so softly that she has time to panic and want it at the same time.",
"Your mouth touches hers.",
"She kisses back carefully, almost asking with every movement.",
"When your tongue brushes her lips, she makes a small sound and grabs your sleeve.",
"You slow down, and she follows you instead of letting the kiss end.",
"\"No, I liked it.\"",
"The words come out too fast.",
"Her cheeks burn.",
"\"I mean, I liked your tongue. That sounded awful. Please kiss me again before I keep talking.\""
]
},
"first_handjob": {
"text": [
"The first time Iris wraps her hand around your cock, she looks startled by how real the heat of you feels in her palm.",
"Her grip is careful at first, fingers shifting like she is afraid of doing it wrong.",
"\"I am staring again. Sorry.\"",
"You tell her she can look, and that makes her blush without making her let go.",
"When your cock throbs in her hand, her breath catches and her thumb moves over the head by instinct.",
"\"Oh. That changed because of me.\"",
"The next stroke is still nervous, but it is slower, warmer, and much more curious."
]
},
"first_blowjob": {
"text": [
"The first time Iris puts her mouth on your cock, she looks overwhelmed by how different it is to study something that reacts to her.",
"Her fingers wrap around your shaft carefully, thumb brushing the head until precum shines at the tip.",
"\"I am staring. Sorry.\"",
"You tell her she can look.",
"That makes her blush harder, but she keeps looking.",
"She leans in and licks the head of your cock, tasting the precum with a nervous little inhale.",
"\"Oh.\"",
"Her lips part and take you into her mouth.",
"The first inches are slow and careful, tongue pressing under your shaft while her hand strokes what she cannot take yet.",
"Your cock throbs against her tongue and her eyes lift to your face, searching for the moment her mouth changes you.",
"Your groan answers her.",
"She takes you again, a little deeper, mouth warm and wet, lips slick around your cock.",
"When she pulls back for air, her voice is small and dazed.",
"\"I like seeing what my mouth does to you.\"",
"She looks embarrassed by how much that matters to her.",
"\"That sounds strange. But I do.\"",
"Then she puts her mouth back on you before she can soften the truth, watching your face while her tongue works under your shaft."
]
},
"first_cunnilingus": {
"text": [
"Iris is almost too embarrassed to let you settle between her thighs.",
"She keeps looking at the ceiling, then at your face, then away again.",
"\"I am going to make a stupid sound.\"",
"You kiss the inside of her thigh, and her whole body tightens from that alone.",
"Your mouth moves higher.",
"When your tongue drags up her wet slit, the sound comes out immediately.",
"You lick her pussy again, spreading her folds with your tongue until you find her clit.",
"\"Oh my god.\"",
"Her hands cover her face.",
"You keep your mouth on her, tongue circling her swollen clit while her hips lift in shy little jerks.",
"She tries to apologize for moving and turns it into a moan instead.",
"\"There. Please. There.\""
]
},
"first_facesitting": {
"text": [
"Iris climbs over your face like she is certain the whole universe can see how nervous she is.",
"\"I do not know where to put my hands.\"",
"You guide her down gently.",
"Her wet pussy lowers to your mouth, and the first lick makes her gasp.",
"\"Oh. Sorry. I almost sat too fast.\"",
"You lick her again, tongue sliding through her wet folds to her clit from below.",
"Iris trembles over you, thighs tense beside your head, hands grabbing for balance.",
"For a few seconds she keeps hovering.",
"Then pleasure makes her sink closer.",
"\"I can feel your mouth everywhere.\"",
"Her hips move once, tiny and accidental.",
"You keep licking her clit until the second movement is not accidental at all."
]
},
"first_beg_facesit_success": {
"text": [
"You beg Iris to sit on your face, and the request turns her red down to her throat.",
"\"You want that? With me on you like that?\"",
"You say yes.",
"She swallows, clearly affected by how much you want it.",
"\"I think I want to. I am just scared I will do it wrong.\"",
"You tell her she cannot do it wrong if she feels good.",
"That makes her eyes go soft.",
"She climbs over you, hands trembling, wet pussy lowering toward your mouth.",
"The first lick makes her gasp.",
"\"Oh. Okay. That helps.\"",
"Her hips dip closer, shy and needy at once."
]
},
"first_69": {
"text": [
"Iris agrees to sixty-nine because curiosity gets there before courage, and then courage has to catch up.",
"\"I am going to lose track of everything.\"",
"She positions herself over you, her wet pussy lowering toward your mouth while her lips hover near your cock.",
"For a second, Iris sees the shape of it too clearly: your face between her thighs, her mouth near your cock, nowhere left to hide.",
"Your tongue touches her slit at the same moment her fingers close around your shaft.",
"Iris gasps and almost forgets the cock in front of her.",
"Then she lowers her mouth around the head.",
"Her lips are wet and careful, tongue shy under your shaft while your mouth works her pussy from below.",
"When your tongue finds her clit, she moans around your cock.",
"The vibration runs through you, and her eyes widen like she felt your reaction in her mouth.",
"She pulls back, breathing hard, flushed by the proof that both of you are watching each other fall apart.",
"\"Too much,\" she gasps, and then takes you back into her mouth anyway.",
"You lick her clit again.",
"Her hips tremble and she takes you back into her mouth, less careful now, trying to suck you while her own pussy gets wetter against your tongue.",
"The more she loses focus, the more clearly Iris becomes the thing she would have stared at in a drawing: mouth full, thighs shaking, cunt wet, body too honest to hide."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time you rub Iris's pussy through fabric in public, she looks like the room has become full of eyes even when no one is watching.",
"Her gaze darts to the nearest reflection, then down to your hand.",
"\"Someone might notice.\"",
"You keep the touch small, fingers pressing against her slit through the fabric.",
"She does not move away.",
"The cloth warms under your fingertips, then grows damp as you rub her gently.",
"Iris looks mortified by how fast her body gives her away.",
"\"I am getting wet.\"",
"She whispers it like a confession.",
"Your fingers move again and her knees press together around your hand.",
"For a second her eyes catch the reflected shape of both of you, and that makes the blush worse.",
"\"Please be careful. I still want it. Just... careful.\""
]
},
"first_fingering": {
"text": [
"The first time your fingers touch Iris's bare pussy, she can barely look at you.",
"She is wet enough that the first touch makes her blush harder than being naked.",
"\"Sorry. I am really...\"",
"She cannot finish the sentence.",
"You rub her clit in slow circles, and her thighs twitch around your hand.",
"Your first finger slides into her cunt, slick and tight.",
"Iris gasps, eyes closing immediately.",
"\"Oh. That is inside me.\"",
"You move slowly, thumb still working her clit while her pussy clenches around your finger.",
"When you add a second finger, she grips your wrist and then immediately loosens her hand, afraid you will think she wants you to stop.",
"\"No, keep going. Please.\"",
"You curl your fingers and her hips lift into your hand.",
"\"Fuck. Again. Please again.\""
]
},
"first_analingus": {
"text": [
"Iris goes stiff when your mouth moves lower than her pussy.",
"\"There?\"",
"The word is frightened and curious at the same time.",
"You kiss the back of her thigh first, giving her time to breathe.",
"Your tongue touches her asshole and her fingers twist against the surface beneath her.",
"\"Oh.\"",
"You lick her again, slow and careful around the tight little hole.",
"It is not her favorite kind of pleasure, but the intimacy of it makes her tremble.",
"\"That feels... strange.\"",
"You pause, and she looks back, embarrassed by wanting to know more.",
"\"Maybe slowly. Just slowly.\""
]
},
"first_ask_sex_success": {
"text": [
"You ask Iris for sex, and she looks at you like the sentence is both too much and exactly what she wanted.",
"\"With me?\"",
"You say yes.",
"Her face warms immediately.",
"\"Sorry. Stupid question.\"",
"Her hand finds yours, fingers uncertain.",
"\"I want that. I am nervous, but I want you.\"",
"Then, quieter:",
"\"Probably very much.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Iris for sex, and the need in your voice makes her stop looking away.",
"\"You really want me like that.\"",
"It is not a question.",
"She looks overwhelmed by the proof of it.",
"Her fingers tighten around your hand.",
"\"Okay.\"",
"The word comes out soft and shaky.",
"\"Please touch me before I talk myself into being scared.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Iris, and the directness almost makes her retreat into herself.",
"Then she hears the want underneath it.",
"Her eyes drop to your mouth.",
"\"I do not know how to answer that without sounding ridiculous.\"",
"You step closer instead of making her perform confidence.",
"That helps.",
"Iris takes your hand and puts it at her waist.",
"\"I want you. I am just... bad at sounding brave.\""
]
},
"first_vaginal_intro": {
"text": [
"When your cock presses against Iris's wet slit for the first time, she looks down between you and forgets to breathe.",
"\"That is really happening.\"",
"You push forward slowly, the head of your cock spreading her pussy open.",
"Iris gasps and grips your shoulders.",
"Her cunt is wet and tight, stretching around the first inch while her body trembles around the feeling.",
"\"Oh. Fuck.\"",
"You slide deeper by degrees, and her inner walls clench hard around your cock.",
"Her eyes close, face flushed with want and disbelief.",
"\"I can feel all of you.\"",
"You keep going until you are buried inside her.",
"Iris moans softly and pulls you closer.",
"\"Please move. I think I need you to move.\""
]
},
"first_anal_intro": {
"text": [
"Iris's first anal is nervous and careful, more curiosity than confidence.",
"\"I do not know if I can.\"",
"You take your time with lube, touch, and quiet patience.",
"The head of your cock presses against her tight asshole.",
"Iris grips the fabric beneath her and hides her face.",
"\"Oh. That is a lot already.\"",
"You push in just enough for the first stretch to start.",
"Her breath catches, body tightening around the pressure.",
"\"Wait. Please wait.\"",
"You wait until she breathes again.",
"After a few seconds, she looks back with embarrassment and need tangled together.",
"\"Maybe a little more. Very little.\""
]
},
"first_position_missionary": {
"text": [
"Missionary feels safe to Iris because your face stays close and she can keep finding you when the feeling gets too big.",
"Your cock slides into her wet pussy while she watches you with nervous, open eyes.",
"The first thrust makes her grip your shoulders.",
"The second makes her eyes flutter shut.",
"\"I wanted to keep looking at you.\"",
"You slow just enough for her to open them again.",
"Her cunt tightens around you when your mouth nears hers.",
"\"Okay. Yes. Like this.\"",
"You fuck her close and steady, and every moan lands against your lips."
]
},
"first_position_cowgirl": {
"text": [
"Cowgirl makes Iris nervous because being on top feels too visible and too responsible.",
"She lowers herself onto your cock with both hands on your chest, cheeks red as her pussy takes you inch by inch.",
"\"I look ridiculous.\"",
"You tell her she does not.",
"She tries to believe you.",
"Her hips move once, uncertain, and the angle makes her gasp.",
"\"Oh.\"",
"She tries again, less scared this time because your hands stay steady on her hips.",
"\"Help me a little? I think I like it, but I do not know what I am doing.\""
]
},
"first_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl lets Iris hide her face, but it also turns the rest of her into something you can watch.",
"She sinks down onto your cock with her back turned, hands braced on your thighs, shoulders tense.",
"Her pussy takes you slowly, wet and tight, while her hair falls forward.",
"\"I can take more when I do not have to watch your face.\"",
"Then your hands settle on her hips and her breath catches.",
"She starts moving in small strokes, and her cunt tightens when she realizes your gaze is still on her.",
"\"But I know you are looking.\"",
"A tiny, embarrassed sound escapes her.",
"Every roll of her hips makes her more visible: the curve of her back, the trembling in her thighs, the way her body pulls your cock deeper even while her voice stays shy.",
"\"I think I like knowing.\"",
"She moves again, slower, like the watched part of it has become part of the pleasure."
]
},
"first_position_doggy": {
"text": [
"Doggy makes Iris nervous before it makes her needy.",
"She braces herself, glancing back once as your cock lines up with her wet pussy from behind.",
"\"This feels very exposed.\"",
"You push into her slowly, feeling her cunt stretch open around you.",
"Her fingers curl against the surface beneath her.",
"\"Oh. That is deep.\"",
"You hold her hips gently and start moving.",
"The angle makes her moan faster than she expected, back arching before she can make it look intentional.",
"\"Fuck. Okay. That feels... that feels good.\"",
"Her body answers the next thrust before her voice can."
]
},
"first_position_wall": {
"text": [
"Against the wall, Iris looks overwhelmed by how close everything is and how little room there is to disappear.",
"Her back touches the surface, your hands hold her, and your cock presses against her wet slit.",
"\"I feel like I cannot disappear like this.\"",
"You kiss her instead of answering.",
"Then you push inside her.",
"Iris gasps into your mouth, pussy stretching around your cock while her legs tighten around you.",
"The wall frames her in place: flushed face, parted lips, hands clinging to your shoulders, every reaction caught where you can see it.",
"You hold her steady and thrust again.",
"\"Oh. Fuck.\"",
"The wall keeps her there, close and unable to hide from the feeling.",
"Her cunt clenches around you when she realizes you can watch the moment hit her.",
"\"I am scared I like this.\"",
"You move deeper.",
"Her head tips back against the wall, throat exposed, hips answering before she can make the reaction smaller.",
"\"No, I do. I like it.\""
]
},
"first_anal_position_missionary": {
"text": [
"Missionary anal is the only version Iris can imagine trying first because your face stays close.",
"Your cock presses against her asshole while her hands hold your shoulders.",
"\"Slow. Please.\"",
"You push in carefully, feeling her tight hole resist and then start to open around the head.",
"Iris squeezes her eyes shut.",
"\"Fuck.\"",
"You stop with only part of your cock inside her ass, close enough for her breath to shake against your mouth.",
"She opens her eyes after a few seconds.",
"\"Okay. I am still here.\"",
"A tiny nod.",
"\"A little more.\""
]
},
"first_anal_position_cowgirl": {
"text": [
"Cowgirl anal makes Iris look like she is trying to be braver than she feels.",
"She lowers herself onto the head of your cock, tight asshole resisting the stretch immediately.",
"Her hands press against your chest.",
"\"I do not know if I can.\"",
"You stay still.",
"She breathes, then sinks a fraction lower.",
"The sound she makes is shaky and embarrassed.",
"\"Oh. That is... everywhere.\"",
"Her ass tightens around you and she leans forward, needing your hands on her.",
"\"Hold me. I can try a little more if you hold me.\""
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal lets Iris hide her face while you watch her ass take your cock, which makes her both safer and more embarrassed.",
"She lowers herself carefully, tight asshole stretching around the head while her back trembles.",
"\"Do not say what it looks like.\"",
"You stay quiet.",
"That helps.",
"She takes another inch and moans anyway.",
"Your view is filthy and impossible to miss: her ass spread, her hole stretched around you, her thighs shaking as she tries to keep going.",
"Iris whispers without looking back.",
"\"I know you can see everything.\"",
"Her voice breaks on the last word.",
"\"I think that is making it worse. Or better. I do not know.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal leaves Iris with her face hidden and her ass exposed, which makes her shake before your cock is even inside.",
"You press the head to her tight asshole and wait until she nods.",
"\"Slow.\"",
"You push in carefully, opening her inch by inch.",
"Her body fights the stretch at first, then gives a little, and the moan that comes out of her sounds surprised by itself.",
"\"Oh. Oh, that is...\"",
"She cannot finish the sentence.",
"You hold still until she breathes.",
"Then her hips move back by a fraction.",
"\"Okay. A little more.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal makes Iris feel held together and exposed at the same time.",
"You brace her against the wall, cock pressing against her tight asshole while her breath shakes near your neck.",
"\"I am nervous.\"",
"You go slowly.",
"The head starts to push in, stretching her open, and her hands slide against your shoulders for something to hold.",
"\"Fuck. Wait.\"",
"You wait.",
"She breathes until the panic thins into want.",
"\"Okay. I think I can.\"",
"You slide a little deeper, and Iris moans into your shoulder.",
"\"I can if you keep holding me.\""
]
},
"first_sex": {
"text": [
"The first time your cock sinks fully into Iris's pussy, she looks stunned by how real it feels and how clearly you can see it on her.",
"Her cunt is wet and tight around you, fluttering with every small movement while she grips your shoulders.",
"\"You are really inside me.\"",
"You thrust slowly, and her eyes go unfocused for a second.",
"The next moan comes out louder than she expects.",
"Her face burns.",
"\"Sorry. I did not know I would sound like that.\"",
"You move again, deeper, and she stops apologizing long enough to moan into your mouth.",
"Her hips start following yours, shy and needy.",
"The dreamy distance drops out of her face. What is left is wetness, broken breath, and the way her mouth opens when your cock presses deeper.",
"\"Please. More like that.\"",
"She says it like she is surprised to hear herself become so clear."
]
},
"first_anal": {
"text": [
"Iris's first anal is slow, nervous, and much dirtier than the careful setup prepared her for.",
"Your cock presses into her tight asshole by degrees, stretching her open while she shakes under you.",
"She keeps trying to describe what it feels like and losing the words halfway through.",
"\"It is... it is too much.\"",
"You stop.",
"Her hips push back by a tiny amount.",
"\"Not bad too much. Just... fuck.\"",
"You slide deeper and her hands grip the surface beneath her, ass tight around your cock while her voice falls apart into a moan.",
"\"Slowly. Please. I still want it.\""
]
},
"first_demand_anal_success": {
"text": [
"You ask Iris for anal directly enough that her face goes red all at once.",
"\"Oh. That is a very real sentence.\"",
"She looks down, then back up, flustered and trying to be honest.",
"\"I am scared.\"",
"You give her room to say no.",
"That is what lets her keep talking.",
"\"But I am curious. With you. Slowly.\"",
"Her hand finds yours.",
"\"Please do not make me pretend I am braver than I am.\""
]
},
"first_undress_top_off": {
"text": [
"Iris takes her top off with a nervous little laugh that turns into silence when the fabric is gone.",
"She looks down at herself, then at you, like she is waiting for the world to point out a mistake.",
"\"I feel like every part of me is easier to see now.\"",
"You tell her she looks good.",
"She tries to smile.",
"\"I want to believe you immediately. That is embarrassing.\"",
"Her hands hover near her chest, then fall away.",
"\"You can look. I am trying not to hide.\""
]
},
"first_undress_bra_off": {
"text": [
"Iris unhooks her bra and holds it in place for one extra second.",
"Then she lets it fall.",
"Her tits are bare, nipples already stiff from nerves and the way you are looking at her.",
"She inhales when your eyes drop to them.",
"\"I know they are not perfect.\"",
"You tell her you want to touch them.",
"That shuts her up more effectively than reassurance.",
"\"Oh. Then... yes.\"",
"Your hand cups her breast and she leans into it before she can decide whether that was too eager."
]
},
"first_undress_bottom_off": {
"text": [
"Iris slides her bottoms down and immediately looks embarrassed by how intimate the small movement feels.",
"She steps out of them, legs bare, thighs close together.",
"\"This is the part where I forget how to stand normally.\"",
"You reach for her hand instead of teasing her.",
"She takes it.",
"\"Thank you. I am being very brave and very stupid.\"",
"A small nervous smile.",
"\"Mostly brave, I hope.\""
]
},
"first_undress_panties_off": {
"text": [
"Iris's panties come off last, and she has to look away while she does it.",
"When they slide down, her wet pussy is exposed, slit glistening, thighs pressed together like she can still hide what you already saw.",
"\"I know.\"",
"She says it before you can say anything.",
"Her face is burning.",
"\"I got wet. I know. Please do not make me say it better than that.\"",
"Her thighs part by a tiny amount.",
"\"Unless you want me to. I might try.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Iris removes her top because your hands keep finding places the fabric blocks.",
"\"This is practical,\" she says, and immediately looks embarrassed by how unconvincing that sounds.",
"You return your hands to her bare shoulders.",
"Her skin is warm under your palms, and the first slow press makes her exhale.",
"\"Okay. That is... extremely practical.\"",
"Her voice softens.",
"\"Please keep touching me like that.\""
]
},
"first_massage_undress_bra_off": {
"text": [
"Iris takes her bra off during the massage with shaky fingers.",
"When she lies back down, her tits are bare against the air, nipples hard before your hands even get close.",
"You keep rubbing her back first.",
"That makes her relax more than rushing would have.",
"Then your thumbs pass near the side of her breast and she inhales sharply.",
"\"Sorry. Sensitive. Apparently.\"",
"You touch her more deliberately, and the apology dissolves into a soft sound."
]
},
"first_massage_undress_bottom_off": {
"text": [
"Iris removes her bottoms during the massage and tries to make it casual.",
"It does not work.",
"Her thighs keep shifting when your hands return to her lower back and hips.",
"You work the tense place above her ass, slow and warm, until she stops pretending not to enjoy it.",
"\"I keep thinking about where your hands could go,\" she admits, almost too quietly.",
"Her face turns toward the surface under her.",
"\"I wanted to say that without sounding desperate. I failed.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Iris slips her panties off during the massage, everything goes quiet in a way that makes her blush worse.",
"Her pussy is wet, and she knows you can see it when she shifts onto her stomach again.",
"\"This is embarrassing.\"",
"You rest your hand on her thigh.",
"She opens her legs a little before you ask.",
"\"Okay. Touch me before I think about it too much.\"",
"Your fingers move closer to her wet slit, and her hips lift before contact.",
"\"Please.\""
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slide inside Iris's panties in public, and she forgets to breathe for a second.",
"Her pussy is wet under your hand, slick against your fingertips while she stares at nothing and tries to look normal.",
"\"Someone might see.\"",
"You rub her clit with two fingers, small and slow.",
"Iris's knees press together around your hand, but that only traps your fingers against her wet slit.",
"Her mouth opens on a silent gasp.",
"\"Oh my god,\" she whispers. \"I can feel myself getting wetter.\"",
"She leans closer by the smallest amount.",
"\"Just a little more. Then I need to breathe.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Iris starts with her trying to stay soft and careful.",
"Then your tongue touches hers and she forgets both plans.",
"Her hand grips your shirt, and the sound she makes is small enough to be embarrassing and real enough to change the kiss.",
"You kiss her deeper.",
"Iris presses closer, breath shaking against your mouth.",
"\"Again.\"",
"No art excuse. No nervous joke. Just that.",
"Then she blushes because even that felt too honest."
]
},
"first_invite_room": {
"text": [
"The first time Iris comes to your room, she looks around like she is trying to memorize it without being obvious.",
"\"I always look at rooms too much. Sorry.\"",
"She notices the bed, then immediately pretends she did not.",
"You ask if she is okay.",
"\"Yes. Nervous. But yes.\"",
"Her hand finds yours.",
"\"I want to be here. That is the scary part.\"",
"She smiles faintly.",
"\"Also the nice part.\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Iris barely survives the opening scene.",
"She comments on the colors first, then the framing, then forgets the sentence when your shoulder touches hers.",
"\"I am watching the movie.\"",
"You glance at the paused screen.",
"Iris follows your eyes and turns red.",
"\"Okay, I am watching the idea of the movie.\"",
"Her hand slides into yours anyway.",
"\"I think I have lost the movie completely.\""
]
},
"first_invite_gallery": {
"text": [
"The first gallery invite with Iris makes her brighter before she remembers to be shy.",
"\"Yes. Sorry. That was too fast. Yes.\"",
"She moves through the room like every wall is quietly speaking to her.",
"At one piece, she forgets you are watching and leans closer, lips parted, eyes tracking the brushwork.",
"You say she looks happy.",
"Iris glances back, embarrassed but not hiding it.",
"\"I am,\" she says, then looks embarrassed by how quickly it came out.",
"She winces softly at herself.",
"\"I know. I am being strange about a simple thing.\"",
"Later, she stops in front of a portrait and goes quiet.",
"\"I like when someone looks seen instead of pretty.\"",
"Then she realizes how much that says about her and looks away.",
"\"That was probably too much information about me.\""
]
},
"first_invite_workout": {
"text": [
"The first workout with Iris is mostly her discovering that bodies are harder to pose from the inside.",
"\"I draw legs all the time. This should count for something.\"",
"It does not count for enough.",
"She gets tired, laughs at herself, then keeps going with shy little bursts of pride.",
"When you correct her stance gently, she looks down at her own body like it has become a difficult reference.",
"\"Okay. That actually helps.\"",
"A pause.",
"\"I like when you show me without making me feel stupid.\""
]
},
"first_public_handjob": {
"text": [
"The first time Iris strokes your cock in public, her hand shakes before it gets brave.",
"She keeps her eyes forward, fingers hidden under cover, palm closing around your shaft.",
"\"I cannot believe I am touching you here.\"",
"She strokes slowly, feeling you harden and twitch in her hand.",
"The reaction makes her breath catch.",
"Her thumb brushes the head of your cock, and she bites her lip so hard she almost looks angry at herself.",
"\"You are getting harder. I can feel it.\"",
"Her eyes flick around, then to a reflection that almost catches the hidden movement.",
"That near-image makes her squeeze a little tighter.",
"Her voice turns smaller.",
"\"That makes me want to keep going.\""
]
},
"first_footjob": {
"text": [
"The first footjob with Iris begins with her laughing because she is nervous, then stopping because your reaction is too real.",
"\"Wait, that actually works?\"",
"Her foot presses against your cock again, slower this time.",
"You react, and she watches with open fascination.",
"The next stroke is deliberate, sole dragging up the shaft while her face goes red.",
"\"That is... kind of beautiful in a really dirty way.\"",
"She says it, then covers her mouth.",
"\"Sorry. Not beautiful. I mean dirty. I mean both.\"",
"She tries again, encouraged by the way your cock responds."
]
},
"first_titfuck": {
"text": [
"The first time Iris lets you slide your cock between her tits, she looks embarrassed by how much she wants to see it.",
"\"I thought I understood the shape of this until it was your cock between my tits.\"",
"A pause.",
"\"That was not supposed to be out loud.\"",
"She presses her breasts together around your shaft, nipples stiff as your cock starts moving between them.",
"The first slide makes both of you react.",
"Iris looks down, transfixed by the way your cock moves between her tits.",
"\"Oh. It feels different when it is your cock.\"",
"She holds herself there, shy and intent, because your reaction makes her feel braver.",
"Every thrust gives her another detail to fail at ignoring: the pressure against her chest, the wet head pushing through, the way your face changes when her body becomes part of the image.",
"\"I should not be this interested in watching it.\"",
"She tightens her breasts around your cock anyway."
]
},
"first_climax_body": {
"text": [
"The first time you cum on Iris's body, she watches your cock until the first pulse hits her skin.",
"Hot cum streaks across her stomach, then her thigh, and her breath catches like the mess surprised her even though she asked to see it.",
"\"Oh.\"",
"Another spurt lands lower, and her hand hovers near it without touching.",
"She looks up at your face, flushed and wide-eyed.",
"\"I wanted to know what you looked like when that happened.\"",
"Then she looks down again, voice smaller.",
"\"And what it looked like on me.\"",
"The cum on her skin holds her attention in a way that feels almost artistic and too dirty to call artistic.",
"Her fingers finally touch the edge of the mess.",
"\"It looks different on me.\"",
"A nervous, aroused breath.",
"\"Sorry. I saw it before I knew how to feel it.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Iris's ass, she looks back too late to hide how much she wants to see your face.",
"Your cock jerks, painting hot cum across her ass while her fingers clutch the surface beneath her.",
"She gasps when the first streak lands.",
"\"Oh my god.\"",
"You pulse again, leaving another wet line over her skin.",
"Iris stays still, breathing hard.",
"\"That feels dirtier than I pictured.\"",
"A shy, shaky laugh.",
"\"I pictured it, apparently.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Iris's tits, she looks almost hypnotized by the buildup.",
"Your cock pulses, spilling cum over her breasts and across one stiff nipple.",
"Iris makes a small broken sound when the heat hits her skin.",
"\"Oh.\"",
"Another spurt lands between her tits, sliding down toward her stomach.",
"She watches it move, face red and fascinated.",
"\"I should not like seeing that this much.\"",
"She looks up at you, softer now.",
"\"But I do.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Iris's face, she keeps looking up at you until the first streak hits her cheek.",
"She gasps, eyes blinking from shock, then stays there while your cock pulses again near her lips.",
"Hot cum marks her skin, messy and impossible to pretend is only visual.",
"For a second, Iris cannot speak.",
"Then she touches the edge of the mess with trembling fingers.",
"\"I can feel it on my face.\"",
"Her voice is tiny and aroused at the same time.",
"\"Fuck.\"",
"She looks embarrassed by how much that word meant.",
"She sees herself in your eyes, marked and flushed, and the distance she usually hides behind disappears.",
"White streaks, flushed skin, wet mouth, no distance left.",
"\"I look...\"",
"She stops before she can escape into description.",
"\"I wanted it. I know you can see that.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Iris lets you cum in her mouth, she looks nervous right until your cock starts pulsing on her tongue.",
"You warn her, and she keeps her lips around you, fingers tight on your thigh.",
"The first spurt hits her tongue and her eyes go wide.",
"You cum into her mouth in thick pulses, and she tries to swallow before she has the rhythm for it.",
"A little slips to the corner of her lips.",
"She swallows again, throat working around your load, cheeks red and eyes wet.",
"When she pulls back, her mouth is messy and her breathing shakes.",
"\"I did it.\"",
"Then, quieter:",
"\"I wanted to. I think I wanted to more than I expected.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Iris's hand in public, she looks terrified of how much she wants it to happen.",
"Her fingers stroke your cock under cover, small and quick now, chasing the twitch she can feel in your shaft.",
"\"You are close. I can tell.\"",
"You cum into her palm, hot and messy, hidden only by fabric and luck.",
"Iris's eyes widen as your load spills into her hand.",
"She closes her fingers around it, breathing too fast.",
"\"Oh my god. It is in my hand.\"",
"Then she has to bite back a laugh because panic and arousal hit at the same time.",
"\"I should be more horrified. I am not.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Iris's pussy, she realizes what is happening from the way your cock throbs deep in her.",
"\"Wait, are you...\"",
"Then the first pulse hits, and her question turns into a moan.",
"Your cock spills inside her cunt, filling her while her inner walls clench around every spurt.",
"Iris grips you hard, eyes wide, hips pressing up like her body wants every last twitch.",
"\"Oh fuck. I can feel it.\"",
"You keep pulsing inside her, cum filling her pussy until she is shaking under you.",
"\"That is inside me. You came inside me.\"",
"She sounds stunned, turned on, and almost embarrassed by how much she needed to say it.",
"Then she holds onto you like letting go too quickly would make the feeling less real."
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Iris's ass, she is already shaking from the stretch.",
"Your cock is buried in her tight asshole when you warn her.",
"She makes a small sound that might be yes, then grips whatever is under her as the first pulse hits.",
"You fill her ass with hot cum, your cock jerking inside her while her body trembles around you.",
"Iris moans into the surface beneath her, too overwhelmed to make it pretty.",
"The second pulse makes her hips twitch back against you.",
"\"Oh my god. I felt that.\"",
"When it is over, she stays still, breathing hard, ass still tight around the last twitch of your cock.",
"\"I do not know what face I am making right now.\"",
"A breath.",
"\"Probably not a dignified one.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g3",
"girl": "Tessa Grant",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"Tessa notices you before you decide whether approaching her is a good idea.",
"She moves through the space like she already knows which conversations are worth ending.",
"You hold her attention for half a second longer than most people seem to manage.",
"\"You are either about to waste my time or surprise me.\"",
"You ask which outcome she prefers.",
"Tessa's smile is small and not soft at all.",
"\"Surprise me. Obviously.\""
]
},
"first_phone_success": {
"text": [
"Tessa gives you her number without pretending it is an accident.",
"She enters it herself, checks the screen once, then hands the phone back.",
"\"Do not make me regret being efficient.\"",
"You ask what counts as regret.",
"\"If you text me, make it worth answering.\"",
"Her eyes flick over your face.",
"\"Send something worth answering.\""
]
},
"first_address_success": {
"text": [
"Tessa gives you her address with no cute hesitation, but the pause before she sends it is real.",
"\"This is not an invitation to appear whenever you feel bold.\"",
"You say you understand.",
"She watches you long enough to decide whether she believes it.",
"Then she sends it.",
"\"Good. I like confidence better when it can read a room.\""
]
},
"first_hug": {
"text": [
"The first hug with Tessa is brief because she makes it brief.",
"Then, halfway through, her hand settles at your back and stays there one second longer than the exit required.",
"You feel the small contradiction in it: clean posture, controlled breath, fingers that do not quite let go.",
"When she steps back, her expression is already composed again.",
"\"Acceptable.\"",
"A pause.",
"\"Do not look so pleased.\""
]
},
"first_kiss_cheek": {
"text": [
"You kiss Tessa on the cheek, and she lets the contact land without moving away.",
"Her eyes shift to you, cool at first, then a little sharper when she realizes you are watching for her reaction.",
"\"That was bold for something so small.\"",
"You ask if she disliked it.",
"\"No.\"",
"The answer comes too quickly to be indifferent.",
"\"But I noticed. Keep that in mind.\""
]
},
"first_dirty_whisper": {
"text": [
"You lean close enough that your voice belongs only to Tessa.",
"You tell her exactly what you want: her clothes coming off piece by piece, her mouth losing that polished edge, your hands on her hips while she tries to stay composed.",
"Tessa does not blush easily. This time, color still reaches her throat.",
"\"That was direct.\"",
"You say she would have hated vague.",
"Her eyes hold yours.",
"\"Correct.\"",
"A beat.",
"\"Say the last part again later. Slower.\""
]
},
"first_massage_start": {
"text": [
"Tessa accepts the first massage like she is evaluating a service she expects to be disappointed by.",
"You start at her shoulders, over her clothes, firm enough to be useful and slow enough not to look overeager.",
"For the first minute, she says nothing.",
"For Tessa, that small silence is better than praise.",
"Then her head tilts forward by a fraction.",
"\"There. Stay with that pressure.\"",
"You do, and the tension under your hands finally starts to give."
]
},
"first_massage_orgasm": {
"text": [
"Tessa's first massage orgasm starts when your hands reach places her composure cannot manage.",
"You work her shoulders until her breathing slows, then her back, then the tight line above her hips where every inch of her tries to stay disciplined.",
"When your hand slides between her legs, she catches your wrist for one second.",
"Her fingers stay there, feeling how steady your hand is.",
"Her panties are already damp when your fingers press against her pussy through the fabric.",
"\"Of course you noticed.\"",
"The complaint is weak. Her hips move into your hand before she can make it stronger.",
"You rub her clit through the fabric until her breath starts breaking, then slip beneath the edge and touch her bare, swollen clit directly.",
"Tessa's head drops forward.",
"\"Fuck.\"",
"You slide two fingers into her wet cunt and feel her clamp down immediately, tight and hot around you.",
"She tries to keep her posture. She loses it when your thumb finds her clit again.",
"Her thighs close around your hand, hips grinding in short, rough little pushes as if her body is furious at how well this works.",
"\"There. Fuck, there.\"",
"After that, words fail her. Her cunt clenches around your fingers, slick and hard, and the orgasm rips through her with a low moan she clearly meant to keep smaller.",
"She keeps pulsing around your fingers until the last wave leaves her bent forward, breath uneven, hand still locked around your wrist.",
"When she can speak again, the polish is not fully back.",
"\"Again later,\" she says, then laughs once under her breath. \"When my legs work.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Tessa, and she looks at the plate like it has already failed an interview.",
"\"This should not work as well as it does.\"",
"She tries it anyway.",
"Her expression barely changes, but she takes a second bite.",
"\"Not good. Not insulting. Those are different categories.\"",
"That is probably the best review you were going to get."
],
"high": [
"You cook well enough that Tessa has to stop looking prepared to criticize it.",
"She takes one bite, then another, slower.",
"\"Good process. Clean timing. No panic hidden under seasoning.\"",
"You ask if that is praise.",
"\"Do not get greedy.\"",
"But she finishes the plate, and when she sets the fork down, her mouth is almost smiling.",
"\"You may cook again.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Tessa starts like a test and stops being one almost immediately.",
"Her mouth meets yours with controlled pressure, just enough to make clear she is not being taken by surprise.",
"Then your hand settles at her waist and her lips part under yours.",
"The kiss deepens. Her fingers curl into your shirt before she can make the gesture look deliberate.",
"When your tongue touches hers, her breath catches through her nose.",
"She pulls back only far enough to speak.",
"\"Better than expected.\"",
"Then she kisses you again before you can answer."
]
},
"first_handjob": {
"text": [
"The first time Tessa gives you her hand, she does it with the same composed precision she brings to everything else.",
"Her fingers settle around your shaft, firm enough to make the permission feel deliberate.",
"\"Say something if I am too rough.\"",
"You barely get the answer out before her stroke makes your breath shift.",
"Her eyes sharpen when she feels you throb in her palm.",
"\"Good. Then I know where the line is.\"",
"She keeps the rhythm controlled, but the way she watches you makes the control feel anything but distant."
]
},
"first_blowjob": {
"text": [
"The first time Tessa puts her mouth on your cock, she does not pretend she is doing it by accident or curiosity alone.",
"She kneels with deliberate grace, one hand wrapping around your shaft while she looks up at you like she expects you to remember this.",
"\"Hands visible.\"",
"Then she licks the head of your cock, slow and clean, watching your stomach tense.",
"Her lips close around you before she can turn the pause into another line.",
"She takes the first inches carefully, tongue pressing under the shaft, hand stroking what her mouth does not take yet.",
"Your cock throbs against her tongue, and her eyes sharpen with satisfaction.",
"Then she takes you deeper.",
"The sound is wet and obscene in the quiet between you.",
"Tessa pulls back just enough to breathe, lips slick, voice lower than before.",
"\"There. I felt that.\"",
"Then her mouth is back on your cock, less polished now, hungrier when you groan for her."
]
},
"first_cunnilingus": {
"text": [
"The first time you go down on Tessa, she starts with her composure intact and loses pieces of it quickly.",
"You settle between her thighs and kiss your way up until your mouth is close enough to feel the heat of her pussy.",
"She looks down at you, breathing carefully.",
"\"Show me.\"",
"You drag your tongue up her wet slit, and the command dies in her throat.",
"Her clit is already swollen when you find it, and the first slow circle makes her fingers tighten against the surface beneath her.",
"You lick her pussy until her thighs start to tense around your head.",
"\"There.\"",
"It comes out less like an order and more like she is trying not to moan.",
"You stay on her clit, tongue working steady pressure over the sensitive bud until her hips lift toward your mouth.",
"By the time she says your name, the polish is gone from it."
]
},
"first_facesitting": {
"text": [
"Tessa sits on your face for the first time with her thighs steady and her wet pussy close enough to take over your attention.",
"Her thighs frame your head, pussy wet and close, the heat of her already against your mouth before she lowers fully.",
"\"Tongue.\"",
"You give it to her.",
"The first lick makes her inhale sharply. The second makes her hips press down harder than she planned.",
"You eat her pussy with your tongue working her clit while her thighs tighten around your head.",
"Tessa's hand catches anything stable enough to keep the first moan from sounding like defeat.",
"It still sounds like one.",
"\"Fuck. Again.\""
]
},
"first_beg_facesit_success": {
"text": [
"You beg Tessa to sit on your face, and the blunt need in your voice clearly pleases her.",
"\"That is better.\"",
"She climbs over you without pretending to hesitate, thighs settling around your head, wet pussy hovering just above your mouth.",
"For one second she looks completely in control.",
"Then your tongue reaches her clit and her breath breaks.",
"She lowers herself harder onto your mouth, fingers gripping whatever she can reach.",
"\"There. Yes.\"",
"After that, she stops using full sentences for a while."
]
},
"first_69": {
"text": [
"Tessa treats sixty-nine like a position that should be efficient if both people know what they are doing.",
"That lasts until your mouth finds her pussy at the same time her lips close around your cock.",
"The first minute is controlled: her hand on your shaft, her mouth taking you in measured strokes, her hips steady above your face.",
"Then your tongue finds her clit and her mouth falters around you.",
"The sound she makes vibrates against your cock.",
"You keep licking, and her hips roll once against your mouth before she can make the movement look intentional.",
"She pulls off just long enough to breathe.",
"\"Oh. Fuck.\"",
"Then she takes your cock back into her mouth with noticeably less patience."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time you rub Tessa's pussy through fabric in public, she gives you a look that should stop you and does not.",
"Your fingers press against her slit through the fabric, small enough to hide, firm enough to matter.",
"Her posture stays perfect. The heat under your hand does not.",
"The cloth is damp before her face gives you anything useful.",
"\"You are enjoying how difficult this is to show.\"",
"You rub her slowly, and one controlled breath slips out wrong.",
"Her knees shift by a fraction, trapping your fingers more tightly against her wet pussy.",
"\"Fuck. Not yet.\""
]
},
"first_fingering": {
"text": [
"The first time your fingers slide into Tessa's pussy, she looks ready to stay composed out of spite.",
"Her cunt is too wet for that to last long.",
"You rub her clit first, slow and firm, until her breath starts catching between words she chooses not to say.",
"Then you push two fingers inside her, and her inner walls clamp down hard around you.",
"\"Fuck.\"",
"It is the first sound she does not manage to shape.",
"You curl your fingers and feel her hips jerk into your hand.",
"She catches your shoulder, nails pressing through your shirt.",
"\"There. Fuck, there.\"",
"You give her more, fingers fucking her wet cunt while your thumb works her clit, and Tessa's composure starts coming apart in sharp little breaths."
]
},
"first_analingus": {
"text": [
"The first time your mouth moves to Tessa's ass, she is quiet in a way that makes the air feel expensive.",
"She glances back once as your hands spread her.",
"No joke. No coyness.",
"You kiss the inside of her thigh, then lower until your tongue touches her asshole.",
"Her breath catches.",
"You lick her ass slowly, tongue circling the tight little hole while her fingers tighten against the surface beneath her.",
"\"Again.\"",
"The word is low and rough, not polished at all.",
"You do it again, and this time her hips lift back toward your mouth before she can hide the answer."
]
},
"first_ask_sex_success": {
"text": [
"You ask Tessa for sex, and she studies you for one clean second.",
"Then her eyes drop to your mouth.",
"\"Yes.\"",
"The word is simple enough to feel more dangerous than a speech.",
"She steps close and puts your hand on her waist herself.",
"\"Do not waste the answer.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Tessa for sex, and the need in it lands exactly where you meant it to.",
"Her expression sharpens, but her breath changes too.",
"\"Say it again.\"",
"You do, lower and rougher, telling her you want to be inside her.",
"Tessa's hand closes around your shirt and pulls you close.",
"\"Good.\"",
"Her mouth is almost against yours now.",
"\"Now stop begging and fuck me.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Tessa, and she does not soften to make it easier for you.",
"She steps closer instead, eyes locked on yours.",
"\"Good. Say it like you mean me.\"",
"You repeat it, and this time the bluntness makes her breath catch.",
"Her hand slides to the back of your neck.",
"\"Good. Now prove you can do more than sound sure.\""
]
},
"first_vaginal_intro": {
"text": [
"When your cock presses against Tessa's wet slit for the first time, she looks down between you like she wants to watch the moment happen clearly.",
"Her pussy is slick against the head of your cock, ready enough that her composure looks almost insulting.",
"\"Slow first.\"",
"You push in by inches, feeling her cunt stretch around you, tight and hot and wetter with every breath she tries to control.",
"Halfway in, Tessa's hand grips your arm.",
"Not stopping you. Holding on.",
"When you sink deeper, her mouth opens on a low sound she does not quite swallow.",
"\"Fuck. I felt that.\""
]
},
"first_anal_intro": {
"text": [
"Tessa's first anal is not shy. It is serious.",
"You slick your cock and press the head against her asshole while her body holds perfectly still for the first second.",
"Then the pressure starts opening her.",
"Her fingers curl hard against the surface beneath her.",
"\"Slow.\"",
"You push in carefully, inch by inch, feeling her tight ass stretch around your cock.",
"The first real give pulls a sharp breath out of her.",
"She hates how much it sounds like need.",
"\"More. Fuck... slow.\""
]
},
"first_position_missionary": {
"text": [
"Missionary puts your face too close to hers, and Tessa holds your gaze like she refuses to be the first one to look away.",
"Your cock slides into her pussy while her hands grip your shoulders, not pushing you away, not letting you drift either.",
"Every slow thrust makes her grip tighten and her breath come later.",
"When you push deeper, her cunt clenches around you and her eyes finally close.",
"\"No.\"",
"She opens them again, breathing harder.",
"\"I want to watch you when you feel that.\""
]
},
"first_position_cowgirl": {
"text": [
"Cowgirl puts Tessa above you, and the first slow roll of her hips tells you she knows exactly how good she looks there.",
"She lowers herself onto your cock with both hands on your chest, taking you in slow, controlled inches until her pussy is stretched around you.",
"For a few strokes, she keeps the pace measured.",
"Then the angle catches her clit just right and her rhythm breaks.",
"\"Oh.\"",
"Her hips move again, harder this time, chasing the same friction.",
"She rides you with a steady pace until the first rough breath breaks through.",
"\"There. I found it.\""
]
},
"first_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl gives Tessa the pleasure of making you watch her take your cock.",
"She sinks down with her back to you, ass and hips moving slowly as her pussy swallows you inch by inch.",
"You see her shoulders tense when you fill her, then loosen when she starts to ride.",
"At first, every movement is deliberate.",
"Then her pace turns rougher, breath catching when your cock hits deeper from below.",
"\"Look at me.\"",
"Her voice is lower now.",
"\"I want to feel you watching.\""
]
},
"first_position_doggy": {
"text": [
"Doggy makes Tessa give up eye contact, and that bothers her for about three seconds.",
"Then your cock pushes into her from behind and the angle makes her hands grip the surface beneath her.",
"Her pussy takes you tight and wet, hips held still until the first deep thrust forces a moan out of her.",
"\"Fuck.\"",
"You thrust again, and her back arches without permission from the polished part of her.",
"She looks back over her shoulder, breathing hard.",
"\"Again. That one.\""
]
},
"first_position_wall": {
"text": [
"Against the wall, Tessa has less room to arrange herself into something untouchable.",
"You hold her up, her legs tight around you, your cock pressing against her wet pussy before sliding inside.",
"The first deep thrust makes her fingers dig into your shoulders.",
"\"Good.\"",
"The second makes her head touch the wall behind her.",
"You fuck her there, close and hard enough that her breath keeps breaking against your mouth.",
"\"Don't drop me.\"",
"A rough breath slips out of her.",
"\"Fuck. Keep going.\""
]
},
"first_anal_position_missionary": {
"text": [
"First anal in missionary makes Tessa keep your face close while your cock stretches her ass open.",
"She watches you through the first pressure, jaw tight, fingers pressing into your shoulders.",
"You push in slowly, and her tight asshole gives by degrees around your cock.",
"\"Fuck.\"",
"The word comes out low and clipped.",
"You stop long enough for her to breathe, then slide a little deeper.",
"Her legs shift around you before she has words for what she wants.",
"\"Keep going. Slow.\""
]
},
"first_anal_position_cowgirl": {
"text": [
"Cowgirl anal gives Tessa exactly what she wants: control over the stretch and a clear view of what it does to you.",
"She lowers herself onto your cock slowly, tight asshole resisting before it starts to take you.",
"Her hands press into your chest, nails biting a little when she sinks another inch.",
"\"Stay still a second. I want to feel this.\"",
"That is the last clean command for a while.",
"The next inch makes her mouth fall open, and her ass clenches around you in a hard pulse.",
"\"Fuck.\"",
"She starts moving before she has a better word for it."
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal turns Tessa into a view she knows exactly how much you want.",
"Her back is to you, ass spread as she lowers herself onto your cock, tight hole stretching around the head.",
"She pauses when the pressure gets sharp, then takes more with a slow, controlled breath.",
"You see the moment control turns into arousal in the movement of her hips.",
"Her ass settles lower, tight around your cock, and her shoulders tremble once.",
"\"You are staring.\"",
"She sounds pleased and wrecked at the same time.",
"\"Good.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal makes Tessa's control physical instead of verbal.",
"She braces herself, hips raised, ass offered with no coyness at all.",
"Your cock presses against her asshole and starts opening her slowly.",
"Her fingers dig into the surface beneath her when the stretch turns real.",
"\"Slow.\"",
"You push deeper into her tight ass, and the next breath leaves her as a low moan.",
"Her hips push back before she says anything else.",
"\"More.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal leaves Tessa shaking in a way she cannot fully turn into posture.",
"You brace her against the wall, cock pressing against her tight asshole from behind.",
"She tries to keep her breathing even until the head starts to push in.",
"Then her hands spread against the wall and her breath breaks.",
"\"Fuck.\"",
"You stretch her open slowly, inch by inch, holding her steady while her ass tightens around you.",
"When you finally slide deeper, she moans against the wall.",
"\"Fuck. Keep going.\""
]
},
"first_sex": {
"text": [
"The first time your cock sinks fully into Tessa's pussy, the clean version of her expression does not survive it.",
"Her cunt is tight and wet around you, inner walls clenching like her body has no interest in looking composed.",
"You thrust slowly at first, letting her feel every inch.",
"Tessa's hand grips your shoulder.",
"\"Deeper.\"",
"You give her deeper, and the sound she makes is too low to be elegant.",
"After that, her body starts answering before her mouth does: hips meeting yours, thighs tightening, breath breaking every time your cock fills her again."
]
},
"first_anal": {
"text": [
"Tessa's first anal is careful only until her body decides careful is not enough.",
"Your cock stretches her tight asshole open by slow degrees, each inch pulling a rougher breath out of her.",
"She grips the surface beneath her, jaw tight, eyes sharp until the fullness gets too deep for that look to hold.",
"\"Fuck.\"",
"You stop with your cock buried partway inside her ass, letting her adjust.",
"Then her hips push back on their own.",
"The movement is small, but it says more than a command would.",
"\"More.\""
]
},
"first_demand_anal_success": {
"text": [
"You demand anal from Tessa, and she goes still in a way that makes the air sharper.",
"She looks at you, then at your cock, then back up with heat under the composure.",
"\"Bold.\"",
"You say it again, and this time the bluntness hits lower.",
"Her thighs shift before she can hide the reaction.",
"\"Fine.\"",
"Her voice has lost some of its polish.",
"\"Show me how badly you want my ass.\""
]
},
"first_undress_top_off": {
"text": [
"Tessa takes her top off like she knows undressing is not just removing fabric.",
"She makes you watch the motion: the lift of her arms, the exposed line of her stomach, the pause before the garment comes free.",
"Her bra stays on, but the moment is already charged.",
"\"Eyes here.\"",
"You look where she wants you to look.",
"The small smile that follows is all control, but the flush at her throat is not."
]
},
"first_undress_bra_off": {
"text": [
"Tessa unhooks her bra slowly because she knows the wait matters.",
"When it falls, her tits are bare, nipples stiff under your stare.",
"She looks composed for about one breath too long.",
"Then your eyes settle on her breasts and her own breathing changes.",
"\"Yes. You can want them.\"",
"You step closer, and for the first time in the undressing, her hands are not perfectly still."
]
},
"first_undress_bottom_off": {
"text": [
"Tessa slides her bottoms down with the same deliberate pace, making the act feel less like surrender than display.",
"She steps out of them and stands there in her underwear, legs bare, posture perfect, eyes on your face.",
"\"You are allowed to look impressed.\"",
"You do.",
"Her smile sharpens.",
"\"Good. I dislike wasted effort.\""
]
},
"first_undress_panties_off": {
"text": [
"Tessa's panties come off last, and the confidence of the act is undercut by how wet she already is.",
"She slides them down slowly, exposing her pussy inch by inch until the damp fabric leaves her bare.",
"Her slit is glistening, her thighs held still by will more than calm.",
"You see the evidence before she can manage it into elegance.",
"\"Yes.\"",
"The word is quiet and almost annoyed.",
"\"You did that.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Tessa removes her top once it becomes inconvenient to pretend the touch is only functional.",
"The fabric comes off, and your hands return to bare skin.",
"Her shoulders stay squared for the first press.",
"Then your thumbs find the right tension and her posture gives by a fraction.",
"\"There.\"",
"The word is softer than she probably intended."
]
},
"first_massage_undress_bra_off": {
"text": [
"Tessa removes her bra during the massage with a look that dares you to make too much of it.",
"Her tits are bare when she settles again, nipples already hard before your hands get near them.",
"You keep massaging her back first.",
"That restraint lands better than a compliment.",
"Then your thumb brushes the side of her breast and her breath catches.",
"\"I felt that.\"",
"A pause.",
"\"Again.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Tessa removes her bottoms during the massage without losing the controlled pace of it.",
"Then your hands return to her lower back and hips, and the control starts costing more.",
"Your thumbs work the tense line above her ass while her thighs shift against the surface beneath her.",
"She says nothing at first.",
"Then one knee moves outward by a small, deliberate inch.",
"\"Continue.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Tessa takes off her panties during the massage, she makes the choice look clean until the wet fabric gives her away.",
"Her pussy is bare when your hands return to her hips, slick enough that both of you know where the massage is going.",
"For once, she does not dress the moment up with a line.",
"She parts her thighs slightly.",
"Your hands settle on her hips, and her breath tells you where the massage is going.",
"Your hand moves between her legs, and her breath catches before your fingers even touch her clit."
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slide inside Tessa's panties in public, and her expression barely changes.",
"Her body is less convincing.",
"Her pussy is already wet under your fingertips, clit swollen enough to find immediately.",
"You rub her with small, hidden strokes, and her breath leaves a fraction too slowly.",
"\"You are testing my face.\"",
"You keep touching her anyway.",
"The next stroke makes her thighs tighten around your hand.",
"\"Good. Keep it difficult.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Tessa begins with her letting you think you are setting the pace.",
"Then her mouth opens under yours and her hand slides to the back of your neck.",
"She kisses you harder, tongue meeting yours with clean intent until your breath changes first.",
"That seems to please her.",
"Then you press closer and her own breath catches against your mouth.",
"For a second, the kiss stops being neat.",
"\"Again,\" she says, low and immediate."
]
},
"first_invite_room": {
"text": [
"The first time Tessa agrees to come to your room, she looks around once and takes in everything you hoped she would not notice.",
"\"Better than expected.\"",
"You ask if that is praise.",
"\"It is an opening score. Do not ruin the trend.\"",
"She steps closer, eyes moving briefly to the bed and then back to you.",
"\"Now. What did you invite me here to do?\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Tessa keeps pretending to be about the movie until her knee touches yours and both of you stop humoring the lie.",
"She sits close, composed, one leg crossed, eyes on the screen while your hand rests near hers.",
"\"If this is the plan, you are taking your time.\"",
"You move closer.",
"Her fingers touch yours before you reach for her properly.",
"\"Better.\"",
"The movie keeps playing, useful mostly because it gives her something to ignore while she looks at your mouth."
]
},
"first_invite_gallery": {
"text": [
"The first gallery invite with Tessa becomes less about art and more about watching her judge a room without raising her voice.",
"\"Half of this is expensive hesitation.\"",
"You ask if she likes anything.",
"She stops in front of a piece that dominates the wall without looking loud.",
"\"That.\"",
"A small smile appears.",
"\"It knows what it is doing. I respect that.\""
]
},
"first_invite_workout": {
"text": [
"The first workout with Tessa is not playful for the first ten minutes.",
"She treats the warmup like an audit and your form like a report with possible errors.",
"Then effort starts doing what charm could not.",
"Her breathing gets heavier, her skin warms, and the competitive edge turns more honest.",
"\"Not terrible.\"",
"You ask if that means good.",
"She wipes sweat from her throat and looks at you.",
"\"It means continue.\""
]
},
"first_public_handjob": {
"text": [
"The first time Tessa wraps her hand around your cock in public, she makes the risk look like manners.",
"Her fingers move under cover, palm closing around your shaft with slow, hidden confidence.",
"Your reaction gives you away faster than hers does.",
"\"Quiet.\"",
"She strokes you with just enough pressure to make quiet difficult, thumb passing over the head of your cock whenever you start to settle.",
"Her face stays composed. Her hand does not.",
"\"I can feel every twitch.\""
]
},
"first_footjob": {
"text": [
"The first footjob with Tessa starts like something she intends to mock and ends before the mockery can survive your reaction.",
"Her foot presses against your cock, slow at first, testing the pressure through your breath.",
"\"Interesting.\"",
"She drags her sole along your shaft again, firmer this time, and watches your body answer.",
"The control on her face sharpens into curiosity.",
"\"That works on you more than I expected.\"",
"Her next stroke is not an experiment anymore."
]
},
"first_titfuck": {
"text": [
"The first time Tessa lets you slide your cock between her tits, she knows exactly what the sight is doing to you.",
"She presses her breasts around your shaft, nipples stiff, skin warm, eyes fixed on your reaction as you start moving.",
"Your cock slides between her tits in slow, slick strokes.",
"For the first few seconds, she looks pleased with how badly you want it.",
"Then the friction brushes her nipple and her breath catches too.",
"\"Oh.\"",
"Her hands tighten around her breasts.",
"\"There. Fuck, I felt that.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Tessa's body, she watches the buildup without blinking.",
"Your cock jerks in your hand, spilling hot cum across her stomach and thigh.",
"Her composure holds for the first streak, then her breathing changes when the second lands lower.",
"\"Good.\"",
"It is barely a word, almost swallowed.",
"You pulse again, marking her skin while she looks down at the mess.",
"\"That is a better expression on you.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Tessa's ass, she looks back over her shoulder at the exact wrong moment for her composure.",
"Your cock pulses, streaking hot cum over her ass while her fingers press into the surface beneath her.",
"Another spurt lands across her skin, and her breath catches before she can hide it.",
"\"You wanted that badly.\"",
"Her voice is steady. Her thighs are not.",
"\"I felt you shake.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Tessa's tits, she looks almost too composed while waiting for it.",
"Then your cock jerks, spilling over her breasts and across one stiff nipple.",
"Her breath catches, small but real.",
"Another pulse streaks between her tits, sliding down her skin.",
"Tessa looks down at the mess, then back at you.",
"\"I see why you wanted that.\"",
"A pause, less polished.",
"\"I might have wanted it too.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Tessa's face, she holds your gaze until your cock starts pulsing.",
"The first streak lands across her cheek, hot and messy enough to break the clean image of her for one breath.",
"Another shot catches near her lips.",
"Her eyes close for half a second, then open sharper and more aroused than before.",
"She wipes a little cum from the corner of her mouth with her thumb.",
"\"That was bold.\"",
"Her voice drops.",
"\"Do not waste the look on your face.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Tessa lets you cum in her mouth, she commits to it with the same intensity she brings to everything else.",
"Your cock is deep on her tongue when you warn her.",
"She does not pull away.",
"The first spurt hits her mouth and her fingers tighten around your thigh.",
"You cum in thick pulses, and Tessa swallows around your cock with a rough, controlled effort that starts losing its control by the second pulse.",
"When she pulls back, her lips are wet and her breathing is heavier than she wants it to be.",
"\"Good.\"",
"A pause.",
"\"I wanted to taste what I did to you.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Tessa's hand in public, she makes it look like nothing is happening until your control breaks.",
"Her fingers tighten around your cock under cover, stroking with small, brutal efficiency.",
"\"Quiet.\"",
"You cum into her palm, hot and hidden, while her face stays almost perfect.",
"Almost.",
"Her lips part when your cock pulses again and fills her hand with more mess.",
"\"I can feel it.\"",
"The words are lower than usual, and not nearly as composed."
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Tessa's pussy, she knows before you finish warning her.",
"Her legs tighten around you, and her hand locks behind your neck.",
"\"Inside.\"",
"You bury yourself deep and pulse into her cunt, filling her while her inner walls clench hard around every spurt.",
"Tessa gasps against your mouth, composure gone for the first hot rush of cum inside her.",
"Your cock keeps twitching, pumping more into her wet pussy while her hips hold you there.",
"\"Fuck.\"",
"Her voice is rough, almost startled.",
"\"Stay in.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Tessa's ass, she is already stretched tight and breathing hard around the fullness of you.",
"You warn her while your cock is buried deep in her tight asshole.",
"Her answer is not polished. It is a harsh little inhale and her hips pressing back.",
"You pulse inside her, filling her ass with hot cum while her fingers claw at the surface beneath her.",
"The second spurt makes her moan, low and almost angry with how good it feels.",
"Her ass clenches around your cock until the last twitch fades.",
"For a moment, Tessa says nothing at all.",
"Then, breathless:",
"\"Fuck.\"",
"A small, broken laugh follows.",
"\"Not now. But... again.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g4",
"girl": "Leah Cross",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"You meet Leah while she is fixing a problem someone else clearly walked away from.",
"She gives you one look, then points at the thing nearest your hand.",
"\"If you can stand there, you can help.\"",
"You help.",
"That earns you half a nod and exactly no applause.",
"\"Good. You understood the assignment without needing a speech.\"",
"She wipes her hands and studies you again.",
"\"I am Leah. If you want something, talk straight.\""
]
},
"first_phone_success": {
"text": [
"Leah gives you her number after watching you show up enough times that the request no longer sounds like a line.",
"\"Text if you are late or hurt. If you send gym selfies, they better have a reason.\"",
"You ask if she gives everyone that warning.",
"\"Only the ones I might actually answer.\"",
"She sends the number and pockets her phone.",
"\"Keep it useful. Useful can be fun. Eventually.\""
]
},
"first_address_success": {
"text": [
"Leah gives you her address like it is practical, then looks away just long enough to prove it is not.",
"\"Do not show up sweaty from the gym unless you plan to shower first.\"",
"You say that sounds like permission.",
"She looks at you for a second, then laughs under her breath.",
"\"It is an address. Earn the permission when you get there.\"",
"Then, softer, almost hidden:",
"\"But yeah. I want you to have it.\""
]
},
"first_hug": {
"text": [
"The first hug with Leah feels like getting past a locked door without hearing it open.",
"She steps in like it is no big deal, arms strong around your back, body warm from the day.",
"For one second it is all muscle and posture.",
"Then her grip changes.",
"Not softer exactly. More honest.",
"\"There,\" she mutters against your shoulder. \"You can stop looking proud now.\"",
"She stays for one more breath before stepping back.",
"\"Do not get sentimental. It was one hug.\""
]
},
"first_kiss_cheek": {
"text": [
"You kiss Leah on the cheek before she has time to make it into a challenge.",
"She stops, towel in one hand, eyes narrowing like she is deciding whether to give you grief for it.",
"\"Bold.\"",
"You ask if bold is bad.",
"Her mouth twitches.",
"\"Depends what you can back it up with.\"",
"Then she turns away before the small smile can become obvious."
]
},
"first_dirty_whisper": {
"text": [
"You lean in and tell Leah what you want: your hands on her hips, her back against a wall, her trying to keep her voice down while you make that difficult.",
"Leah goes still for half a second.",
"Then she looks at you like she is annoyed by how cleanly the picture landed.",
"\"You have been thinking about that.\"",
"You say yes.",
"Her eyes drop to your mouth.",
"\"Good. Think harder. Then maybe do something about it later.\""
]
},
"first_massage_start": {
"text": [
"Leah accepts the massage like someone accepting maintenance, not indulgence.",
"\"Shoulder first. The bad one.\"",
"You start carefully, thumbs working around the old tension instead of attacking it.",
"She watches your hands for a while.",
"\"Not bad.\"",
"Her shoulders drop another fraction.",
"When your pressure finds the right place, her jaw loosens and she exhales through her nose.",
"\"Yeah. There. Stay around that spot.\""
]
},
"first_massage_orgasm": {
"text": [
"Leah's first massage orgasm starts with her shoulder and ends with her legs spread wider than she planned.",
"You work the old tightness down slowly, from shoulder to back to hips, and Leah gets quieter the better your hands become.",
"The first real softness comes out of her as a rough breath, not a word.",
"Your hand slides lower. She looks down at it, jaw tight, then lets her thighs shift apart.",
"By the time your fingers press between her legs, her panties are damp and warm against her pussy.",
"You rub her through the fabric, slow and firm, until her hips push into your hand before she can hide it.",
"\"Fuck.\"",
"Your fingers slip under and find her clit swollen and slick.",
"Leah grips the edge of the seat, shoulders tense, breath turning rough as you rub her clit in tight circles.",
"When you slide two fingers into her wet cunt, her thighs clamp around your wrist.",
"The first few strokes drag low sounds out of her. Then your thumb finds her clit again and the rest of her composure breaks.",
"Her hips jerk against your hand, pussy clenching hard around your fingers, and the moan that comes out of her is rough enough to sound angry.",
"\"Don't stop.\"",
"It comes out broken enough to stop sounding like an order.",
"You keep fingering her through the orgasm until the last pulse leaves her breathing hard, hand still locked around your forearm.",
"She looks down at your hand between her legs and laughs once, rough and embarrassed.",
"\"That shoulder excuse is officially dead.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Leah, and she inspects the plate like it might be part of a meal plan she did not approve.",
"\"This is either dinner or a cry for help.\"",
"She eats anyway.",
"A second bite follows, which is more forgiving than the comment.",
"\"Needs protein. Less sadness. But I would eat it again.\"",
"Then she points the fork at you.",
"\"Next time, we fix it before it reaches the plate.\""
],
"high": [
"You cook for Leah well enough that she stops making jokes after the first bite.",
"\"Okay. That actually works.\"",
"She eats like someone who respects fuel but still likes flavor when it shows up properly.",
"You talk protein, timing, and why food that makes you miserable is bad training disguised as discipline.",
"Leah points her fork at you.",
"\"That part I agree with. If the plan tastes like punishment, people quit.\"",
"She takes another bite.",
"\"You can cook for me again.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Leah does not start gentle for long.",
"She lets your mouth meet hers, tests the pressure, then kisses back harder than you expected.",
"Her hand catches the front of your shirt.",
"The kiss lands warm, firm, and unmistakably Leah.",
"When your tongue brushes hers, she makes a low sound and pulls you closer instead of pretending she did not.",
"\"Good,\" she says against your mouth.",
"Then she kisses you again before either of you can turn it into a conversation."
]
},
"first_handjob": {
"text": [
"The first time Leah agrees to stroke you, she treats it like a physical challenge she intends to understand quickly.",
"Her hand closes around your cock with a grip that is careful, then immediately more confident.",
"\"Tell me if the pressure is wrong.\"",
"You react before you answer, and that gets a short, focused look from her.",
"She adjusts her wrist, testing the angle until your hips give her the truth.",
"\"There. That works.\"",
"The next strokes are steadier, her attention locked on how your body answers her hand."
]
},
"first_blowjob": {
"text": [
"Leah looks at your cock, then up at your face, unimpressed by any attempt to act casual.",
"\"You want my mouth?\"",
"You say yes.",
"She holds your gaze for one more second, then wraps one hand around your shaft.",
"\"Good.\"",
"She strokes you twice before licking the head of your cock.",
"The taste makes her eyes flick up.",
"Her lips close around you, warm and firm, taking the first inches without turning it into a show.",
"She works you with mouth and hand together, practical at first, then hungrier when your hips twitch.",
"When you groan, she pulls back just enough to breathe, lips wet.",
"\"Yeah. There.\"",
"Then she takes your cock back into her mouth deeper than before, and the next sound from you makes her fingers tighten around your shaft."
]
},
"first_cunnilingus": {
"text": [
"Leah watches you at first, guarded, until your tongue makes the guard less useful.",
"Her legs part anyway.",
"You kiss the inside of her thigh, then drag your tongue up her wet slit.",
"The first real lick makes her stomach tighten.",
"\"Fuck.\"",
"You spread her folds with your tongue and find her clit.",
"She grips the edge under her hand, jaw working like she hates how good it feels.",
"You keep licking her pussy, slow and steady, until her hips start meeting your mouth.",
"\"There. Keep... yeah. Like that.\"",
"Her voice gets rougher, less certain, and that is when you know it is working."
]
},
"first_facesitting": {
"text": [
"Leah sitting on your face feels less like a pose and more like a dare she decided to accept.",
"She gives you one quick look before her thighs settle around your head and her wet pussy lowers to your mouth.",
"\"Tap if you need air.\"",
"Then there is no more warning, just her heat against your lips and the first taste of her on your tongue.",
"The first lick makes her hand grab for something stable.",
"\"Fuck.\"",
"You eat her pussy with your tongue working her clit, and her hips start moving before she can pretend she is only holding still.",
"Leah's thighs tighten around your ears.",
"She starts to say something, loses it, and grinds down harder instead.",
"\"Yeah. Like that.\"",
"The last words come out rough, closer to a moan than an instruction."
]
},
"first_beg_facesit_success": {
"text": [
"You beg Leah to sit on your face, and she stares at you like she is trying not to enjoy the sound of it.",
"\"You really want to be under me that badly?\"",
"You say yes.",
"Her expression changes.",
"\"Good answer.\"",
"She climbs over you and lowers her wet pussy to your mouth before the moment can get too cute.",
"Your tongue finds her clit and her hips drop harder than she meant them to.",
"\"Fuck. Okay. Earned some enthusiasm there.\""
]
},
"first_69": {
"text": [
"Leah agrees to sixty-nine like she expects it to be awkward and is willing to be proven wrong.",
"\"This better not turn into both of us doing a bad job at once.\"",
"Then her mouth is near your cock and her pussy is over your face, and the joke loses priority fast.",
"You lick her wet slit while her hand wraps around your shaft.",
"Her lips close around the head of your cock, and your tongue finds her clit at almost the same time.",
"Leah moans around you, surprised by it.",
"She pulls off to breathe, lips wet, eyes unfocused for half a second.",
"\"Fuck.\"",
"Then she goes back down before she can turn it into another comment."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time you rub Leah's pussy through fabric in public, she gives you one warning look and then does not move away.",
"\"You are pushing your luck.\"",
"Your fingers press against her slit through the fabric, small and firm.",
"Her posture barely changes, but the heat under your hand is immediate.",
"You rub her slowly, feeling the cloth grow damp against her pussy.",
"Leah's jaw tightens.",
"\"Fuck.\"",
"Her knees shift, trapping your hand for half a second.",
"\"Keep it small.\""
]
},
"first_fingering": {
"text": [
"The first time your fingers slide into Leah's pussy, she is already wet enough that the act makes both of you quiet.",
"You rub her clit first, and her thighs tense around your hand.",
"Her breath catches low in her chest.",
"Your first finger pushes into her cunt, tight and hot, and Leah grips your shoulder hard.",
"You start moving slowly, thumb still working her clit.",
"Her hips follow your hand after the third stroke.",
"\"Fuck.\"",
"You add a second finger and feel her pussy clench around you.",
"Leah exhales through her teeth, then laughs once because she cannot make it sound casual.",
"The laugh breaks into a moan when you curl your fingers deeper.",
"\"Yeah. That works.\""
]
},
"first_analingus": {
"text": [
"Leah is not naturally shy, but your mouth moving toward her ass makes her look back fast.",
"\"That is not usually first on my list.\"",
"You kiss the back of her thigh, then lower with enough patience that she stays where she is.",
"Your tongue touches her asshole and her whole body tightens.",
"\"Fuck.\"",
"You lick her again, slow, circling the tight little hole while her fingers grip the surface beneath her.",
"She does not pretend it is nothing.",
"She also does not give you much more than that.",
"\"Okay. Careful. That is... a lot.\""
]
},
"first_ask_sex_success": {
"text": [
"You ask Leah for sex, and she holds your gaze without blinking away from it.",
"\"Yeah.\"",
"Plain. Direct. No performance.",
"Then she steps closer and puts your hand on her hip.",
"\"You want me, say it again when you touch me.\"",
"You do.",
"Her mouth twitches.",
"\"Better.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Leah for sex, and she looks more affected by it than she clearly planned to.",
"\"Damn. You are not subtle.\"",
"You say you do not want to be.",
"That lands.",
"She grabs the front of your shirt and pulls you closer.",
"\"Good. I hate fake calm.\"",
"Her voice drops.",
"\"Come here.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Leah, and she gives you a look that would flatten weaker confidence.",
"You hold it.",
"That matters.",
"\"There you are.\"",
"She steps closer, chest almost against yours.",
"\"If you are going to talk like that, use your hands like you mean it.\"",
"She puts your hands on her hips herself."
]
},
"first_vaginal_intro": {
"text": [
"When your cock presses against Leah's wet slit for the first time, she stops joking completely.",
"Her hands grip your shoulders.",
"You push in by inches, feeling her pussy stretch around you, hot and slick and tighter than her confidence made it look.",
"Halfway in, her breath breaks.",
"\"Fuck.\"",
"You keep going until your cock is buried inside her.",
"Leah pulls you closer with both hands.",
"For a second she just breathes against your mouth, hips shifting like her body is asking before she does.",
"\"Move.\"",
"It comes out rough, stripped down to want."
]
},
"first_anal_intro": {
"text": [
"Leah's first anal is cautious because she knows her body and does not pretend otherwise.",
"\"A lot of lube. Slow. No hero shit.\"",
"You slick your cock and press the head against her tight asshole.",
"Her fingers grip the surface beneath her when the pressure starts opening her.",
"You push in carefully, giving her every inch by degrees.",
"\"Fuck.\"",
"Her voice is rough, more surprised than theatrical.",
"Her tight ass resists around the head of your cock, then gives just enough for the stretch to turn real.",
"You hold still until she breathes again.",
"Leah swallows, hips trembling once.",
"\"A little more.\""
]
},
"first_position_missionary": {
"text": [
"Missionary with Leah is closer than she expected to like.",
"Your cock slides into her pussy while her arms lock around your back.",
"She looks at you like she is daring the position to turn soft.",
"Then you thrust and her expression breaks for half a second.",
"\"Fuck. Okay.\"",
"Her legs tighten around you.",
"\"Closer. If we are doing this one, do it close.\""
]
},
"first_position_cowgirl": {
"text": [
"Cowgirl makes Leah look impatient with the amount of balance involved.",
"She lowers herself onto your cock anyway, hands on your chest, thighs tense as her pussy takes you.",
"\"If I look awkward, shut up.\"",
"Then she sinks lower and stops caring what she looks like.",
"Her hips move once, testing the angle.",
"\"Oh.\"",
"A second roll makes her grip your chest harder.",
"\"Okay. That part works.\""
]
},
"first_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl is not Leah's usual favorite, but she tries it with the stubbornness of someone who refuses to be bad at a position.",
"She sinks down onto your cock with her back to you, ass settling against your hips.",
"The first few movements are careful.",
"Then your hands find her hips and help the rhythm.",
"\"Yeah. That helps.\"",
"Her pussy tightens around you when the angle catches right.",
"\"There. Keep that pace.\""
]
},
"first_position_doggy": {
"text": [
"Doggy suits Leah better than she admits at first.",
"She braces herself, looks back once, then lets your cock press into her wet pussy from behind.",
"\"Start steady.\"",
"You push in, and her fingers curl hard against the surface beneath her.",
"The angle makes the first deep thrust rougher than expected.",
"\"Fuck.\"",
"Her hips push back before she says anything else.",
"\"Again. Like that.\""
]
},
"first_position_wall": {
"text": [
"The first time you press Leah to the wall, her legs come up fast enough to tell you this was already her favorite.",
"You press her back to the wall, hands on her hips, her legs coming up around you with a strength that pulls you closer.",
"She grips your shoulders as your cock lines up with her wet pussy.",
"You push in and her head hits the wall lightly, mouth opening on a hard breath.",
"\"Fuck. There.\"",
"You thrust again and her body tightens around you, pinned between you and the wall.",
"Her hands drag down your back, holding you close instead of explaining what she wants.",
"When you drive into her harder, her moan comes out rough and pleased.",
"\"Yeah. Like that.\""
]
},
"first_anal_position_missionary": {
"text": [
"Missionary anal makes Leah keep her face close to yours while she deals with the stretch.",
"You press the head of your cock against her tight asshole and start slow.",
"Her hands grip your arms.",
"\"Easy.\"",
"You push in by degrees, feeling her ass open around you while she breathes through the pressure.",
"When you get deeper, her voice roughens.",
"\"Fuck. That is a lot.\"",
"She pulls you closer anyway."
]
},
"first_anal_position_cowgirl": {
"text": [
"Cowgirl anal is Leah taking the difficult way because she wants control over the stretch.",
"She lowers herself onto your cock slowly, jaw tight, hands on your chest.",
"Her ass resists, then starts to take you.",
"\"Damn.\"",
"She stops halfway down, breathing hard.",
"\"Okay. That is not casual.\"",
"Then she takes another inch because apparently saying that did not mean quitting."
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal makes Leah quiet in a way she usually is not.",
"She lowers herself onto your cock with her back to you, ass stretching slowly around the head.",
"Her shoulders tense when the pressure gets real.",
"\"Slow.\"",
"You stay still while she takes more of you by choice.",
"When she finally sinks lower, she exhales hard.",
"\"Fuck. I felt that everywhere.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal makes Leah brace herself like she is preparing for something serious.",
"You slick your cock and press into her tight asshole from behind.",
"\"Careful first.\"",
"You push in slowly, inch by inch, while her fingers grip the surface beneath her.",
"Her ass opens around you with tight, hot resistance.",
"\"Fuck.\"",
"Her hips move back by a fraction.",
"\"Okay. A little more.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal is intense even for Leah.",
"You hold her against the wall with your cock pressed to her tight asshole, her breath already rough before you push in.",
"\"Steady.\"",
"You start slow, stretching her open while her legs tighten around you.",
"The first deeper slide makes her swear into your shoulder.",
"\"Fuck, that is a lot.\"",
"She grips you harder.",
"\"Do not let go.\""
]
},
"first_sex": {
"text": [
"The first time your cock sinks fully into Leah's pussy, her blunt confidence turns into a rough breath against your mouth.",
"She is wet and tight around you, hips already trying to pull more of you in.",
"\"Yeah. Fuck, that is it.\"",
"You start moving, and her hands drag down your back.",
"The first slow thrust becomes a harder one when she pulls you close.",
"\"More.\"",
"You fuck her deeper, and Leah's control turns into grip, breath, and heat.",
"\"There. Fucking there.\""
]
},
"first_anal": {
"text": [
"Leah's first anal is not a fantasy she rushes into. It is careful, explicit, and a little overwhelming once it starts.",
"Your cock presses into her tight asshole slowly, stretching her open while she grips the surface beneath her and breathes through it.",
"\"Fuck. Slow.\"",
"You give her slow.",
"Her body resists at first, then takes more of you by inches.",
"When you finally settle deeper inside her ass, Leah's voice drops rough and honest.",
"\"Okay. I get why people talk about that.\"",
"A breath.",
"\"Still slow.\""
]
},
"first_demand_anal_success": {
"text": [
"You demand anal from Leah, and she gives you a look like she is deciding whether you are brave or stupid.",
"\"That is a lot. Say it like you know that.\"",
"You hold your ground.",
"She looks down at your cock, then back at you.",
"\"Fine. You want my ass, you listen when I tell you slow.\"",
"Her voice drops.",
"\"And if you do it right, I will tell you when to give me more.\""
]
},
"first_undress_top_off": {
"text": [
"Leah takes her top off without making it delicate.",
"The fabric comes up and away, leaving her in her bra, shoulders strong, posture still guarded even with less armor on.",
"You look at her body and she notices immediately.",
"\"Yeah?\"",
"You tell her she looks good.",
"Her mouth twitches.",
"\"Good. I worked for it.\""
]
},
"first_undress_bra_off": {
"text": [
"Leah unhooks her bra and lets it drop without turning away.",
"Her tits are bare, but the moment is less about softness than trust.",
"She watches your face, not your hands.",
"\"You can touch. Just do not act like you found the only interesting part of me.\"",
"You touch her slowly anyway.",
"That earns you a breath she did not plan to give."
]
},
"first_undress_bottom_off": {
"text": [
"Leah pushes her bottoms down and steps out of them with the same directness she uses for everything else.",
"Her thighs are strong, her stance steady, but the way she watches you watch her gives the moment heat.",
"\"Still with me?\"",
"You say yes.",
"\"Good.\"",
"She steps closer.",
"\"Then stop looking like you forgot how hands work.\""
]
},
"first_undress_panties_off": {
"text": [
"Leah's panties come off last, and even she goes quieter when her wet pussy is bare in front of you.",
"She does not cover herself.",
"She does not turn it into a joke fast enough either.",
"You see the slick shine of her slit and the way her thighs tense when your eyes drop.",
"\"Yeah,\" she says, voice lower. \"I am wet.\"",
"A breath.",
"Her hand reaches for yours and puts it on her thigh.",
"\"Come here.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Leah removes her top because the fabric is in the way and because both of you know the excuse is getting thin.",
"\"Better access.\"",
"You return your hands to her bare shoulders and work around the bad one.",
"Her breath goes out slowly.",
"\"Yeah. That helps.\"",
"Then your thumbs pass lower and she gets quiet for a different reason."
]
},
"first_massage_undress_bra_off": {
"text": [
"Leah takes her bra off during the massage after your hands have earned enough trust not to rush.",
"Her bare chest rises and falls while she settles back into your touch.",
"You stay on her back and shoulders first.",
"\"Smart.\"",
"Then your hand slides near the side of her breast and her breath catches anyway.",
"\"Still felt that.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Leah removes her bottoms during the massage and gives you a look like she is daring you to make a big deal out of it.",
"You do not.",
"You keep working her hips and lower back until her stance starts to loosen.",
"Her legs part slightly under your hands.",
"\"That was not a mistake.\"",
"She exhales.",
"\"Keep going.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Leah slips her panties off during the massage, she gets very quiet for someone who is usually so direct.",
"Her pussy is wet, and she knows you can see it.",
"\"Yeah. I know.\"",
"You rest your hand on her thigh.",
"She opens her legs before you have to ask.",
"\"Touch me.\"",
"She does not joke this time."
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slide inside Leah's panties in public, and her whole body goes still for one hard second.",
"\"You are pushing your luck.\"",
"Her pussy is wet against your fingertips, slick and hot under the fabric.",
"You rub her clit in small strokes, hidden by the angle of your bodies.",
"Leah's jaw tightens.",
"\"Fuck.\"",
"Her hand catches your wrist, but she does not pull it away.",
"The next stroke makes her knees shift just enough to trap your fingers more tightly against her wet slit.",
"\"Small,\" she breathes, and the word is almost gone under the noise around you.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Leah starts firm and gets hungry fast.",
"Her mouth opens under yours, and her hand grabs your shirt like she got tired of pretending this was going to stay careful.",
"Your tongue touches hers and she makes a low sound against your mouth.",
"\"Yeah.\"",
"She pulls you closer.",
"\"Like that.\"",
"Then she kisses you again with less patience."
]
},
"first_invite_room": {
"text": [
"The first time Leah comes to your room, she looks around once and reads too much from too little.",
"\"You cleaned.\"",
"You ask if that is good.",
"\"It means you thought about me before I got here.\"",
"She steps closer.",
"\"Good. I like answers that do not waste time.\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Leah lasts longer than expected because she actually tries to watch it.",
"Then your leg brushes hers and she glances over.",
"\"You planned that?\"",
"You say maybe.",
"She snorts, but she does not move away.",
"\"Terrible footwork.\"",
"Her hand settles on your thigh.",
"\"Try again.\""
]
},
"first_invite_gallery": {
"text": [
"The first gallery invite with Leah is not elegant, but she gives it a real try.",
"\"I am warning you, if this turns into ten rooms of expensive squares, I am blaming you.\"",
"She ends up stopping in front of a photo of a tired boxer sitting alone after a match.",
"For once, she does not make a joke right away.",
"\"That one gets it.\"",
"You ask what.",
"\"The part after everyone stops watching.\""
]
},
"first_invite_workout": {
"text": [
"The first workout with Leah is not a date in her mind until it suddenly is.",
"She corrects your stance, taps your knee into place, and tells you to breathe before you make the set ugly.",
"You listen.",
"Her expression changes then, small but real.",
"\"Good.\"",
"She steps closer to adjust your shoulders, hands firm and warm.",
"\"Most people hear correction and start defending themselves. You got better instead.\""
]
},
"first_public_handjob": {
"text": [
"The first time Leah strokes your cock in public, she does it like someone who knows exactly how stupid the idea is and likes that anyway.",
"Her hand slips under cover, fingers closing around your shaft.",
"\"Keep your face steady.\"",
"She strokes you slowly, grip firm, thumb dragging over the head when your breath catches.",
"You try to stay still.",
"Leah feels the twitch in your cock and smiles without looking at you.",
"\"You almost look normal. Almost.\""
]
},
"first_footjob": {
"text": [
"The first footjob with Leah starts as a joke and stops being one when your reaction is too obvious.",
"\"Seriously? This works for you?\"",
"She presses her foot against your cock again, slower.",
"You react, and her eyebrows lift.",
"\"Huh.\"",
"The next stroke is firmer, dragging along your shaft until your hips shift.",
"\"Okay. I did not expect you to react that much.\""
]
},
"first_titfuck": {
"text": [
"The first time Leah lets you fuck her tits, she looks amused by how much you want it.",
"\"You are very focused for a man pretending not to be.\"",
"She presses her breasts around your cock and lets you start moving between them.",
"Her breast sensitivity is not what drives it. Your reaction is.",
"You thrust between her tits, cock sliding against warm skin while she watches your face.",
"\"Yeah. That is the part I like.\"",
"She tightens her hold.",
"\"Seeing you lose the plot.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Leah's body, she watches you right up to the moment you break.",
"Your cock jerks, spilling hot cum over her stomach and thigh.",
"Leah exhales sharply when the first streak hits her skin.",
"\"Fuck.\"",
"Another pulse lands lower, and she looks down at the mess before looking back at your face.",
"\"Yeah. You needed that.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Leah's ass, she looks back over her shoulder just before it happens.",
"Your cock pulses, streaking cum across her ass while her fingers grip the surface under her.",
"\"Oh.\"",
"The sound is rougher than she meant it to be.",
"You spill the last of it over her skin, and Leah stays still long enough to feel it.",
"\"Okay. That felt dirtier than expected.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Leah's tits, she is more interested in your face than the mess.",
"Your cock jerks, painting her chest with hot cum while her hands hold her breasts steady.",
"She looks down, then back up.",
"\"That one did something to you.\"",
"Another spurt lands across her skin.",
"Leah's mouth twitches.",
"\"Good. I like knowing where the weak spots are.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Leah's face, she keeps her eyes on you until the first streak hits her cheek.",
"She flinches once, then holds still while your cock pulses again near her mouth.",
"Hot cum marks her face, messy and blatant.",
"\"Fuck.\"",
"She wipes a little from the corner of her mouth with her thumb.",
"The look she gives you is sharp, flushed, and not offended.",
"\"That is going to stay in your head.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Leah lets you cum in her mouth, she knows exactly what she is doing and still looks hungry when it starts.",
"Your cock pulses on her tongue, and her hand grips your thigh as the first spurt hits.",
"You cum into her mouth in thick pulses, and Leah takes it with a low sound in her throat.",
"She swallows once, then keeps her mouth on you for the last twitch.",
"When she pulls back, her lips are wet and her breathing is rough.",
"\"Yeah.\"",
"She wipes her mouth with the back of her hand.",
"The cocky line almost comes back. Then she just exhales and looks at you, flushed.",
"\"Fuck. Okay.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Leah's hand in public, she holds you steady like she is stopping you from giving the whole thing away.",
"\"Quiet.\"",
"Her grip tightens around your cock, hidden under cover, and the next stroke pushes you over.",
"You cum into her hand, hot and messy, while her face stays almost normal.",
"Leah closes her fingers around your load and exhales through her nose.",
"\"Jesus. You really went for it.\"",
"A tiny smile breaks through.",
"\"Good.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Leah's pussy, she realizes it from the way your cock starts throbbing deep in her.",
"\"Inside?\"",
"You are already too close to answer cleanly.",
"Her legs tighten around you instead of letting go.",
"You pulse inside her cunt, filling her while her pussy clenches hard around every spurt.",
"Leah gasps, hands locked on your back.",
"\"Fuck. I can feel it.\"",
"She holds you there until the last twitch fades, breathing hard against your mouth.",
"For once, the next thing she says is not sharp.",
"\"Wait. Just... stay there a second.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Leah's ass, she is already fighting to keep her breathing steady.",
"Your cock is buried in her tight asshole when you warn her.",
"\"Okay.\"",
"The first pulse makes her grip the surface beneath her hard.",
"You fill her ass with hot cum, cock jerking inside her while her body trembles around you.",
"Leah moans into her arm, rough and surprised by how much the feeling lands.",
"\"Fuck. I felt that.\"",
"When it is over, she stays still, breathing hard.",
"\"Give me a second before you move.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g5",
"girl": "Sofia Reed",
"readyVariable": "first006ready",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"You meet Sofia while she is untangling a problem with one hand and pretending it is funnier than annoying.",
"She winces when the noise around you spikes, then laughs under her breath and keeps working.",
"\"If life could stop screaming directly into my ear, that would be adorable.\"",
"You help before the mess gets worse.",
"She watches your hands for a second, then looks back at your face.",
"\"Useful and not immediately annoying. Rare combo.\"",
"Sofia grins like she has already decided the day might be salvageable.",
"\"I am Sofia. If I forget your name, blame the chaos.\""
]
},
"first_phone_success": {
"text": [
"Sofia gives you her number after making you work just enough for it to feel like a win.",
"She takes your phone, types it in, then adds a tiny music note after her name.",
"\"So you remember I am the fun one.\"",
"You say you probably would have remembered.",
"\"Good answer. Possibly fake, but good.\"",
"She hands the phone back and steps closer for half a second, close enough that everything else feels farther away.",
"\"Text me something better than hey. I get a lot of hey.\""
]
},
"first_address_success": {
"text": [
"Sofia gives you her address with a half-smile that looks braver than she feels.",
"\"Do not look like I handed you a backstage pass. It is an apartment.\"",
"She writes it down, then taps the paper against your chest.",
"\"But it is mine, so do not be weird about it.\"",
"A pause.",
"Her smile softens before she covers it with another joke.",
"\"And if you judge the laundry situation, I will write a sad song about you and make it catchy.\""
]
},
"first_hug": {
"text": [
"The first hug with Sofia starts like a joke and becomes real too quickly for her to dodge it.",
"She steps into your arms with a little laugh, one hand landing on your back, the other still holding her bag strap.",
"\"Careful. I am full of loose change and bad decisions.\"",
"Then her body settles against yours.",
"The joke fades for one quiet breath.",
"She smells faintly like perfume and night air.",
"\"Okay,\" she says into your shoulder, softer than before. \"That was a good one.\""
]
},
"first_kiss_cheek": {
"text": [
"You kiss Sofia on the cheek before she can turn the moment into banter.",
"She freezes for half a beat, then touches the spot with two fingers.",
"\"That was unfairly cute.\"",
"You ask if unfairly cute is allowed.",
"She tilts her head, pretending to consider it.",
"\"Allowed, yes. Free, no.\"",
"Then she gives your sleeve a tiny tug and lets the smile stay."
]
},
"first_dirty_whisper": {
"text": [
"You lean close enough that the noise around you covers every word.",
"Then you tell Sofia you want your hand at her waist, your mouth on her neck, and her trying to keep that bright smile while your fingers make that impossible.",
"Her eyes flick to the side, then back to you.",
"\"You have thought about that too much,\" she whispers, and does not sound offended.",
"You say you have thought about it.",
"Her grin comes back slower this time, warmer under the tease.",
"\"Yeah. I can tell.\"",
"She leans in until her lips almost brush your ear.",
"\"Think about the part where I look back at you.\""
]
},
"first_massage_start": {
"text": [
"Sofia accepts the massage like she does not fully trust anything that involves being quiet.",
"\"If I start making weird singer noises, ignore me.\"",
"You start at her shoulders, over her clothes, working through the tension left by bad chairs, late buses, and too much time standing near speakers.",
"Her first exhale is almost a laugh.",
"\"Oh. That is rude. My body liked that before I approved it.\"",
"You keep your hands steady.",
"Sofia gets quiet for once, then ruins it softly.",
"\"Fine. You can keep doing that.\""
]
},
"first_massage_orgasm": {
"text": [
"Sofia's first massage orgasm starts when your hands reach a place where her next joke dies in her throat.",
"You work her shoulders, then her back, then the tense line of her hips until her voice thins and her thighs stop staying still.",
"\"Your hands are getting dangerous.\"",
"Your hand slides lower.",
"She looks back at you, cheeks warm, and does not move away.",
"By the time your fingers press between her legs, her panties are already damp against her pussy.",
"\"Oh.\"",
"The word is small enough to sound unlike her.",
"You rub her through the fabric until her hips start following your hand.",
"Then your fingers slip under and find her clit slick and swollen.",
"Sofia grabs the edge of the seat and laughs once, breathless and nervous.",
"\"Fuck. Okay. Not laughing.\"",
"You slide two fingers into her wet cunt, thumb still rubbing her clit, and the next sound comes out rawer than anything she meant to give you.",
"Her pussy clenches around your fingers while her hips grind down into your hand.",
"\"There. Don't... fuck, there.\"",
"The orgasm hits her fast and messy. Her thighs close around your wrist, cunt pulsing around your fingers while she moans into her own shoulder like someone might hear even if nobody is there.",
"Afterward, she stays still, breathing hard, one hand over her face until the grin slowly comes back.",
"\"If I ever say massage is boring, remind me I am a liar.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Sofia, and she treats the first bite like an unpaid gig she hopes will surprise her.",
"\"This could use a chorus.\"",
"You ask if food can have a chorus.",
"\"Everything can have a chorus if it wants people to remember it.\"",
"She eats another bite anyway.",
"\"Not my favorite verse, but I would stay for the chorus.\""
],
"high": [
"You cook well enough that Sofia stops joking after the first bite.",
"\"Oh. Wait. That is actually good.\"",
"She leans over the plate like she is trying to catch a harmony.",
"The meal turns into flavor, cheap ingredients, late-night food, and the survival art of eating decently when rent is rude.",
"\"This tastes like someone planned ahead, which is very suspicious.\"",
"She takes another bite, smiling despite herself.",
"\"Do it again sometime. I might even pretend to help.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Sofia does not stay gentle for long.",
"She lets your mouth meet hers, smiles against it, then kisses back like she has been waiting to see if you would keep up.",
"Her hand catches your collar.",
"The noise around you fades under the warmth of her mouth and the way her tongue brushes yours.",
"\"Good,\" she murmurs, too close to make it casual.",
"You kiss her again and she makes a soft sound into your mouth, less polished than her usual laugh.",
"When she pulls back, her eyes stay on your lips.",
"\"That one gets a second verse.\""
]
},
"first_handjob": {
"text": [
"The first time Sofia gets her hand around your cock, she looks far too pleased with herself for someone pretending to be casual.",
"Her fingers tighten, then loosen, then tighten again when she feels you twitch.",
"\"Oh, that is responsive.\"",
"She says it like a joke, but her eyes stay on your shaft while her thumb brushes the head.",
"Your breath catches and her smile turns nervous at the edges.",
"\"Okay. Less joking. Maybe a little joking.\"",
"Her hand starts moving again, playful at first, then slower when she realizes exactly what she is doing to you."
]
},
"first_blowjob": {
"text": [
"Sofia looks at your cock with a grin that starts playful and turns quieter when she wraps her hand around your shaft.",
"\"You are very proud of this situation.\"",
"You say she is staring.",
"\"I sing for crowds. I can stare at one cock.\"",
"The line lands, then her mouth softens as she strokes you once and watches you twitch in her hand.",
"She leans in and licks the head of your cock, tasting the precum there.",
"\"Oh.\"",
"Her lips close around you before she can make another joke.",
"She takes you in slow, mouth warm and wet, tongue working under the shaft while her hand strokes what she cannot take yet.",
"Your groan makes her eyes lift.",
"That is the part she likes: your reaction, immediate and impossible to fake.",
"She takes your cock deeper, messier now, lips wet when she pulls back to breathe.",
"\"Yeah. I like that sound.\""
]
},
"first_cunnilingus": {
"text": [
"Sofia is used to being watched, but your face between her thighs makes the attention feel much harder to laugh off.",
"\"If you look that serious, I am going to get nervous.\"",
"You kiss her inner thigh instead of answering.",
"Her fingers tighten against the surface beneath her.",
"When your tongue drags up her wet slit, the first sound she makes is almost a gasp and almost your name.",
"You lick her pussy again, slower, spreading her folds with your tongue until you find her clit.",
"\"Fuck.\"",
"Her hips lift toward your mouth before she can turn it into a joke.",
"You keep your tongue on her clit, and Sofia's performer voice disappears into short, breathy sounds.",
"\"There. Yes. There.\"",
"She grabs your hair, not pushing, just holding on while her body stops pretending this is under control."
]
},
"first_facesitting": {
"text": [
"Sofia climbs over your face like she is trying to decide whether this is filthy or hilarious.",
"\"This is a very good angle for you,\" she says, hovering close enough for her wet pussy to warm your mouth, \"and a very dangerous one for me.\"",
"Then her wet pussy lowers to your mouth and the joke gets swallowed by her first sharp breath.",
"Your tongue works up her slit and finds her clit.",
"Her thighs tighten around your head.",
"\"Oh, fuck.\"",
"She grips the headboard, hips hovering for a few seconds before pleasure makes her sink lower.",
"You eat her pussy until her breath turns shaky and her body starts moving with your tongue.",
"\"Okay. No, yeah. Keep doing that.\"",
"She laughs once, almost helpless, then moans when your mouth does not let her keep laughing."
]
},
"first_beg_facesit_success": {
"text": [
"You beg Sofia to sit on your face, and her grin turns bright enough to be trouble.",
"\"That is the kind of request a girl remembers.\"",
"You tell her you meant it.",
"Her thighs press together once.",
"\"I know. That is why it worked.\"",
"She climbs over you, wet pussy already close enough that you can smell her.",
"When she lowers onto your mouth, the first lick makes her laugh break into a gasp.",
"\"Oh. You really did mean it.\"",
"Her hips dip again, less careful this time."
]
},
"first_69": {
"text": [
"Sofia agrees to sixty-nine because the idea sounds like chaos and she likes chaos when it has a rhythm.",
"\"If we both get distracted, I am blaming you.\"",
"She positions herself over you, pussy lowering toward your mouth while her lips hover near your cock.",
"The first minute is breath, shifting thighs, her hand around your shaft, your tongue finding where she gets wettest.",
"Then her mouth closes around your cock and your tongue lands on her clit at the same time.",
"Sofia moans around you, surprised and messy.",
"She pulls off with wet lips and a laugh that does not quite work.",
"\"Okay. That is a lot.\"",
"Then your tongue moves again and she takes your cock back into her mouth before finishing the thought."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time you rub Sofia's pussy through fabric in public, her eyes go bright before her breath catches.",
"\"Here?\"",
"You keep your fingers small and hidden, pressing against her slit through the fabric.",
"Her smile stays on, but her breath changes.",
"The cloth warms and dampens under your touch.",
"\"You are going to make me miss my cue.\"",
"You rub her a little firmer.",
"Her knees press together around your hand, trapping your fingers against her wet pussy.",
"\"Fuck. Okay. Tiny movements. Tiny.\""
]
},
"first_fingering": {
"text": [
"The first time your fingers slide into Sofia's pussy, she tries to watch your face and fails when the feeling hits.",
"She is wet enough that the first finger sinks in smoothly, her cunt tightening around you as her breath catches.",
"\"Oh.\"",
"You rub her clit with your thumb and start moving inside her.",
"Sofia's hand catches your wrist, then slides up your arm because she does not actually want to stop you.",
"You add a second finger when her hips start moving into your hand.",
"\"Fuck. That is... yeah.\"",
"Her pussy clenches around your fingers, slick and hot, and her voice turns rougher with every stroke.",
"\"Do that again.\"",
"You curl your fingers and her next moan lands without the old smile to dress it up."
]
},
"first_analingus": {
"text": [
"Sofia looks back fast when your mouth starts moving toward her ass.",
"\"That is not usually where the applause goes.\"",
"She says it, but she stays where she is.",
"You kiss the back of her thigh, then lower, hands spreading her carefully.",
"Your tongue touches her asshole and her fingers grip the surface beneath her.",
"\"Oh.\"",
"The second lick is slower, dirtier, circling the tight little hole while her hips try to decide whether to move away or back.",
"\"Fuck, that is weird.\"",
"A breath.",
"\"Weird. Not bad. Just give me a second.\""
]
},
"first_ask_sex_success": {
"text": [
"You ask Sofia for sex, and her playful expression drops into something warmer and much less public.",
"\"Yeah?\"",
"You say yes.",
"She steps closer, fingers hooking lightly into your shirt.",
"\"Good. I like when people say the actual thing.\"",
"Her mouth brushes yours once, not quite a kiss.",
"\"I want you too.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Sofia for sex, and the sound of it lights up her face before it softens her.",
"\"Oh, that was honest.\"",
"You say it again, less polished and more desperate.",
"Her hand slides to the back of your neck.",
"\"Careful. I like a good chorus.\"",
"The joke is there, but her breathing is not joking.",
"\"Come here.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Sofia, and she stares at you like she is deciding whether to laugh or kiss you.",
"\"That is a dangerous way to talk to a singer.\"",
"You hold the look and say it again.",
"Her grin fades into heat.",
"\"Okay.\"",
"She steps into you, hips close, eyes bright.",
"\"Now make it sound true with your hands.\""
]
},
"first_vaginal_intro": {
"text": [
"When your cock presses against Sofia's wet slit for the first time, her jokes finally run out.",
"She looks down between you, then back up with her mouth slightly open.",
"\"Oh.\"",
"You push in slowly, the head of your cock spreading her pussy open inch by inch.",
"Sofia grabs your shoulder as her cunt stretches around you, wet and tight and much quieter than she usually is.",
"\"Fuck. I feel you.\"",
"You slide deeper and the rest of the sentence becomes a moan.",
"Her hips lift into you.",
"\"Yeah. Keep going.\""
]
},
"first_anal_intro": {
"text": [
"Sofia's first anal starts with more caution than her grin prepared you for.",
"Her anal sensitivity is low enough that curiosity does not erase the nerves.",
"\"Slow. I am serious this time.\"",
"You slick your cock and press the head against her tight asshole.",
"She grips the surface beneath her when the pressure starts to open her.",
"You push in carefully, inch by inch, feeling her ass resist around you.",
"\"Fuck.\"",
"It comes out sharp, not playful.",
"You hold still until her breathing steadies.",
"\"Okay. Little more. Little.\""
]
},
"first_position_missionary": {
"text": [
"Missionary makes Sofia feel strangely exposed because there is nowhere to perform except your face.",
"Your cock slides into her pussy while she watches you watch her.",
"For once, her smile keeps slipping.",
"\"This one is very... eye contact.\"",
"You thrust slowly, and her cunt tightens around you.",
"The next sound comes out before she can make it clever.",
"\"Fuck.\"",
"Her hands pull you closer.",
"\"Okay. I get it. Keep looking at me.\""
]
},
"first_position_cowgirl": {
"text": [
"Cowgirl gives Sofia enough space to act brave, which is exactly why she tries it.",
"She lowers herself onto your cock with both hands on your chest, grin shaky around the edges as her pussy takes you inch by inch.",
"\"I am absolutely making this look better than it feels in my knees.\"",
"Then the angle hits and the joke leaves her face.",
"\"Oh.\"",
"She rolls her hips again, slower, finding the place that makes her clench around you.",
"\"Okay. That part is good.\""
]
},
"first_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl is Sofia's fantasy before she ever admits it.",
"She turns away from you, lowers herself onto your cock, and looks back over her shoulder at the exact moment her pussy starts taking you.",
"The view is impossible to miss: her ass settling over your hips, her back arched, her thighs bracketing you while she sinks lower.",
"She catches you staring and smiles like she just found the spotlight.",
"\"Yeah. Look.\"",
"Then she starts moving.",
"Every roll of her hips shows you how well she knows what the position does to her body.",
"Your hands settle on her waist, close to her ass, and her cunt tightens around your cock.",
"\"Fuck. I felt that. Keep watching.\""
]
},
"first_position_doggy": {
"text": [
"Doggy makes Sofia more self-conscious than reverse cowgirl because she cannot check your face as easily.",
"She looks back once as your cock lines up with her wet pussy from behind.",
"\"You better be enjoying the view.\"",
"You push into her slowly, feeling her cunt stretch around you while her fingers grip the surface beneath her.",
"Her ass shifts back against your hips, and the attention makes her breath catch.",
"\"Oh. Okay.\"",
"You thrust again, deeper, and her back arches before she can turn it into a joke.",
"\"Fuck. That one.\""
]
},
"first_position_wall": {
"text": [
"Wall sex makes Sofia laugh at first because it feels like something that should happen in a bad music video.",
"Then you lift her, press her back to the wall, and line your cock up with her wet pussy.",
"The laugh stops when you push inside.",
"\"Oh, fuck.\"",
"Her legs tighten around you, hands grabbing your shoulders as your cock fills her.",
"You thrust and the wall catches the sound her body makes.",
"\"Okay. Better video than expected.\"",
"The next thrust makes her stop talking."
]
},
"first_anal_position_missionary": {
"text": [
"Missionary anal is too close for Sofia to hide how nervous she is.",
"You press the head of your cock against her tight asshole while her hands grip your shoulders.",
"\"Slow. For real.\"",
"You push in carefully, feeling her ass resist and then give around the head.",
"Her eyes go wide.",
"\"Oh god.\"",
"You hold still, only partly inside her, while she breathes against your mouth.",
"\"Okay. That is a lot. A little more.\""
]
},
"first_anal_position_cowgirl": {
"text": [
"Cowgirl anal makes Sofia look braver than she feels.",
"She lowers herself onto your cock slowly, tight asshole stretching around the head while her hands press into your chest.",
"\"I am making a face, aren't I?\"",
"You do not answer fast enough.",
"She laughs once, breathless, then sinks a fraction lower.",
"\"Fuck.\"",
"Her ass tightens around you hard.",
"\"Okay. No jokes for a second.\""
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal gives Sofia the spotlight and the nerves at the same time.",
"She faces away, ass over your hips, and lowers herself onto the head of your cock.",
"Her tight asshole stretches slowly around you while her hands brace on your thighs.",
"She looks back over her shoulder, trying to keep the grin alive.",
"It breaks when she takes another inch.",
"\"Fuck.\"",
"You can see everything: her ass spread around your cock, her back tense, her thighs shaking.",
"That attention gets to her even through the stretch.",
"\"I know you are looking. Don't stop.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal makes Sofia go quieter than usual.",
"She braces herself, ass exposed, while you slick your cock and press it to her tight asshole.",
"\"Careful.\"",
"You push in slowly, stretching her open inch by inch.",
"The resistance is tight, hot, and serious enough to take the joke out of her mouth.",
"\"Fuck, wait.\"",
"You stop until she breathes again.",
"Her hips push back by a tiny amount.",
"\"Okay. Just... slow.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal makes Sofia feel too exposed to perform properly.",
"You hold her against the wall with your cock pressed to her asshole, her breath already shaky before you push in.",
"\"This is a terrible idea.\"",
"She says it while keeping her legs around you.",
"You start slow, stretching her tight ass around the head of your cock.",
"Her laugh breaks into a moan.",
"\"Fuck. Okay. Terrible but not bad.\"",
"You hold her steady until her body gives enough to take more."
]
},
"first_sex": {
"text": [
"The first time your cock sinks fully into Sofia's pussy, the performer in her drops the act.",
"She is wet and tight around you, hips already trying to turn the first thrust into rhythm.",
"\"Oh, fuck.\"",
"You move slowly at first, and she grabs your shoulders like she needs somewhere to put the noise.",
"Her cunt clenches around you with every stroke.",
"\"That is good. That is really good.\"",
"The next thrust goes deeper and her head tips back.",
"For once, Sofia does not look like she is singing for anyone.",
"She just moans."
]
},
"first_anal": {
"text": [
"Sofia's first anal is not her main fantasy, and the scene knows it.",
"There is more lube, more breathing, more stopping to check whether the stretch is too much.",
"Your cock presses into her tight asshole slowly, and every inch makes her grip the surface beneath her harder.",
"\"Fuck. That is different.\"",
"You hold still when she needs it.",
"Then her body gives a little more, ass opening around your cock with tight, hot resistance.",
"Sofia swallows a nervous laugh.",
"\"Okay. I am still here. Keep going a little.\""
]
},
"first_demand_anal_success": {
"text": [
"You demand anal from Sofia, and for once her grin does not land immediately.",
"\"You really chose the hard way to ask.\"",
"You say it again, lower, making the want clear without turning it into a joke.",
"Her eyes drop, then come back up.",
"\"I am not promising I will love it.\"",
"A pause.",
"\"But I am curious enough to be stupid.\""
]
},
"first_undress_top_off": {
"text": [
"Sofia takes her top off with the quick ease of someone who has changed in too many bad backstage corners.",
"The fabric comes away, and for a second she holds your gaze instead of covering herself.",
"\"Do not make the obvious comment.\"",
"You ask which one.",
"Her smile flashes.",
"\"Any of them.\"",
"Then she lets you look anyway, enjoying the attention more than the warning admits."
]
},
"first_undress_bra_off": {
"text": [
"Sofia unhooks her bra and lets it fall with more attitude than vulnerability.",
"Her tits are bare, but her breath changes because your eyes stay on her.",
"It is your eyes on her.",
"\"You are very quiet.\"",
"You tell her you are looking.",
"That makes her smile turn warmer.",
"\"Good. I dressed down for an audience of one.\""
]
},
"first_undress_bottom_off": {
"text": [
"Sofia slides her bottoms down slowly enough to know exactly what she is doing.",
"Her hips shift as the fabric drops, and she looks back over one shoulder before stepping free.",
"\"This is the part where you try not to look too happy.\"",
"You fail a little.",
"She notices.",
"\"Cute.\"",
"She smiles, but her thighs press together before she can stop them."
]
},
"first_undress_panties_off": {
"text": [
"Sofia's panties come off last, and she gets quieter in a way even she cannot joke over immediately.",
"She slides them down, exposing her wet pussy, slit slick and flushed from how long the teasing has been working.",
"You look, and her breath catches before the smile returns.",
"\"Yeah. I know.\"",
"She steps out of the panties and lets them fall aside.",
"\"I was going to act cooler about this. My body disagreed.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Sofia removes her top because the fabric is in the way and because she likes feeling your attention change.",
"\"Better access,\" she says, like she did not enjoy saying it.",
"Your hands return to her bare shoulders.",
"Her skin is warm, tense from late nights and bad chairs.",
"When your thumbs press in, she exhales and lets her head dip forward.",
"\"Okay. That was less sexy in my head and better in my body.\""
]
},
"first_massage_undress_bra_off": {
"text": [
"Sofia takes her bra off during the massage with a little flourish that becomes shyer once it is actually off.",
"Her tits are bare, nipples hard in the air.",
"You keep your hands on her back first, and that makes her quieter than rushing would have.",
"\"I thought you would go straight for them.\"",
"You keep working her shoulders.",
"Her breath softens.",
"\"Good surprise.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Sofia removes her bottoms during the massage and tries to make it look like part of the show.",
"It almost works.",
"Then your hands return to her lower back and hips, and her breathing gives her away.",
"You work your thumbs along the tense line above her ass.",
"She looks back at you when your gaze drops.",
"\"Caught you.\"",
"Her smile is warm and dirty.",
"\"Not complaining.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Sofia slips her panties off during the massage, the tease gets less safe and much more real.",
"Her pussy is wet when she shifts back into your reach.",
"\"Okay,\" she says, then laughs under her breath. \"That sounded nervous because it was.\"",
"You rest a hand on her thigh.",
"She opens her legs a little.",
"\"Touch me before I make this into a joke and ruin it.\""
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slide inside Sofia's panties in public, and the stage smile stays up for one brave second.",
"Then your fingertips find her wet pussy.",
"\"Oh.\"",
"She stares toward the room like she can hold the whole scene together by looking normal.",
"You rub her clit in tiny hidden circles, feeling her get slicker under your hand.",
"Her voice drops under the noise.",
"\"You can feel that, can't you?\"",
"You keep moving.",
"Sofia's hips shift once, just enough to press herself harder against your fingers.",
"\"Fuck. I hope nobody is watching. No, wait. I don't know.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Sofia starts loud around you and quiet between you.",
"Her mouth opens under yours, tongue brushing yours with less teasing than usual.",
"Your hand settles at her waist and she leans into it.",
"The kiss gets messy fast, warm and wet and harder to pass off as flirting.",
"Sofia pulls back just enough to breathe.",
"\"Yeah.\"",
"Then she kisses you again before the performance can have her back."
]
},
"first_invite_room": {
"text": [
"The first time Sofia comes to your room, she looks around like every detail might become a lyric later.",
"\"So this is where you make questionable decisions.\"",
"You ask if she is counting herself as one.",
"She drops her bag and smiles, but the smile is softer than the line.",
"\"Maybe. I am still deciding how questionable I want to be.\"",
"Her eyes land on the bed, then back on you.",
"\"Okay. More than maybe.\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Sofia barely pretends to be about the movie.",
"She comments on the soundtrack twice, mocks one line of dialogue, then goes quiet when your thigh touches hers.",
"\"This film has terrible pacing.\"",
"You point out that she has not looked at the screen in five minutes.",
"Sofia turns toward you, caught and smiling.",
"\"Maybe I found the better scene.\"",
"Her hand slides over yours before the next line of the movie can interrupt."
]
},
"first_invite_gallery": {
"text": [
"The first gallery invite with Sofia works because she treats the whole place like a quieter stage.",
"She stops in front of a painting with too much color and laughs under her breath.",
"\"That one looks like a chorus exploded.\"",
"Then she grows more thoughtful in front of a photograph of an empty club after closing.",
"The chairs are up, the lights are ugly, and the floor looks sticky even in black and white.",
"\"That one gets it.\"",
"You ask what.",
"\"The part after everyone goes home.\""
]
},
"first_invite_workout": {
"text": [
"The first workout with Sofia is half effort and half performance.",
"\"If I die doing squats, make sure the last photo has good lighting.\"",
"She complains, laughs, tries anyway, and gets annoyed when the exercise is harder than it looks.",
"You correct her stance without making a big deal of it.",
"That earns you a real look.",
"\"Okay. That actually helped.\"",
"She adjusts again, more serious this time.",
"\"Still hate it. But slightly more professionally.\""
]
},
"first_public_handjob": {
"text": [
"The first time Sofia wraps her hand around your cock in public, she looks like she is about to get away with something and knows it.",
"Her fingers close around your shaft under cover, hidden by the angle of your bodies and the noise around you.",
"\"Do not make a face.\"",
"She strokes you slowly, then smiles when you fail by a fraction.",
"\"That was a face.\"",
"Her thumb brushes the head of your cock and your body twitches in her hand.",
"The teasing leaves her voice for a second.",
"\"Fuck. I felt that.\""
]
},
"first_footjob": {
"text": [
"The first footjob with Sofia begins as a dare neither of you took seriously enough.",
"\"This is either very stupid or very inspired.\"",
"She presses her foot against your cock, then watches your reaction change the joke.",
"\"Oh. Inspired, then.\"",
"Her next stroke is slower, dragging along your shaft until your hips shift.",
"She laughs, but the sound is warmer now.",
"\"I love when a bit accidentally works.\""
]
},
"first_titfuck": {
"text": [
"The first time Sofia lets you fuck her tits, she does it more for the sight of your face than for the feeling itself.",
"She presses her breasts together around your cock, nipples hard but not especially sensitive, eyes fixed on you as you start to move.",
"Your cock slides between her tits in warm, tight strokes.",
"Sofia watches the way your breath changes.",
"\"Yeah. That is the part.\"",
"She tightens her hands around her breasts, giving you more pressure.",
"\"You look like you forgot every word you know.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Sofia's body, she watches you like she is waiting for the chorus to hit.",
"Your cock jerks, spilling hot cum across her stomach and thigh.",
"Her breath catches when the first streak lands.",
"\"Oh.\"",
"Another pulse paints her skin, and the performance smile drops into something more honest.",
"She looks down at the mess, then back at your face.",
"\"That was a very good finish.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Sofia's ass, she looks back over her shoulder just in time to see your face change.",
"Your cock pulses, streaking hot cum across her ass while her fingers grip the surface beneath her.",
"She gasps when the first line lands.",
"\"Fuck.\"",
"Another spurt hits lower, and she stays still, letting you finish over her skin.",
"Her voice comes back rough and pleased.",
"\"Okay. I get why you wanted the view.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Sofia's tits, she is watching your reaction more than the target.",
"Your cock jerks, spilling cum over her breasts and down between them.",
"She inhales when the heat hits her skin, then looks down with a crooked smile.",
"\"Messy.\"",
"Another pulse lands across her chest.",
"She looks back up at you, cheeks flushed.",
"\"Very photogenic, though.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Sofia's face, the first streak catches her cheek and wipes the joke right off her mouth.",
"She gasps, eyes blinking once, then stays there while your cock pulses again near her lips.",
"Hot cum marks her face, messy and bright against her skin.",
"\"Oh my god.\"",
"The words come out half laugh, half shock.",
"She touches the edge of it with two fingers and looks at you through the mess.",
"\"You are going to remember that one.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Sofia lets you cum in her mouth, the decision looks braver than her jokes made it sound.",
"Swallowing is not her favorite, and she is clearly thinking about that when your cock starts throbbing on her tongue.",
"You warn her, and she keeps her lips around you for the first pulse.",
"Cum hits her tongue and her fingers dig into your thigh.",
"\"Mm.\"",
"She swallows once, awkward and determined, then pulls back before the last twitch can make it too much.",
"A little cum catches at the corner of her mouth.",
"She wipes it with her thumb, breathing hard.",
"\"Okay. Not my usual encore.\"",
"A pause.",
"\"But I liked your face.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Sofia's hand in public, she looks thrilled and terrified by the timing.",
"Her fingers stroke your cock under cover, fast enough now that hiding it takes both of you.",
"\"You are close, aren't you?\"",
"You barely manage an answer before your cock pulses in her hand.",
"You cum into her palm, hot and messy, while she stares forward like the room is not one glance away from knowing.",
"\"Fuck.\"",
"Her fingers close around your load, holding the mess hidden.",
"A laugh slips out of her, breathless and almost panicked.",
"\"That was stupid. That was so stupid. I loved it.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Sofia's pussy, she realizes it from the way your cock starts throbbing deep in her.",
"\"Wait, are you...\"",
"The first pulse hits before she finishes.",
"Your cock spills inside her cunt, filling her while her inner walls clench around every spurt.",
"Sofia gasps, hips pressing up, face stripped of every practiced expression.",
"\"Fuck. I can feel it.\"",
"You keep pulsing inside her, and her pussy tightens like it wants every last twitch.",
"When it is over, she stays close, breathing hard.",
"\"That was... wow. Okay. No clever line for that.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Sofia's ass, she is already shaking from the stretch.",
"Your cock is buried in her tight asshole when you warn her.",
"She grips whatever is under her and nods once, breath caught in her throat.",
"The first pulse makes her gasp.",
"You fill her ass with hot cum, cock jerking inside her while her body tightens around the feeling.",
"\"Fuck. I felt that.\"",
"Another spurt hits and her hips twitch back despite how careful the whole scene has been.",
"When it is over, Sofia stays still for a few seconds, breathing hard.",
"\"Okay. I need a second after that.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g6",
"girl": "Valerie King",
"readyVariable": "first007ready",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"You first notice Valerie because people seem to lower their voices around her without being asked.",
"She stands with perfect posture, white braids resting over black lace, one hand holding a slim folder close to her chest.",
"Someone nearby says something vague and overconfident.",
"Valerie looks at them for one silent second.",
"\"That is almost a thought.\"",
"The conversation dies politely.",
"She turns to you next, amber eyes taking in the fact that you watched the correction instead of the dress.",
"\"You were listening.\"",
"You admit you were trying to figure out whether she is always that precise.",
"For the first time, her mouth almost smiles.",
"\"Only when people make imprecision expensive.\""
]
},
"first_phone_success": {
"text": [
"Valerie gives you her number after a pause long enough to make the choice visible.",
"She writes it in small, neat digits on the back of a small card, then slides it toward you with two fingers.",
"\"Text. Do not call unless something is actually on fire.\"",
"You ask if that happens often.",
"\"With artists? More than it should.\"",
"Her eyes drop to the card, then back to you.",
"\"Send me a detail you noticed. I would rather read that than a compliment.\""
]
},
"first_address_success": {
"text": [
"Valerie gives you her address like she is handing over something more fragile than a location.",
"The writing is clean, black ink on a torn corner of inventory paper.",
"\"The building door sticks. Pull before you push.\"",
"You ask if that is a warning or an invitation.",
"She looks at you for a second, then folds the paper once.",
"\"Both, if you are paying attention.\"",
"Her fingers brush yours when she gives it to you.",
"\"Do not make me regret the practical information.\""
]
},
"first_hug": {
"text": [
"The first hug with Valerie begins awkwardly because she clearly has to decide where her arms are allowed to go.",
"You step in slowly.",
"She does not move away.",
"Her hands settle at your back, light at first, then firmer when she realizes you are not trying to make the moment loud.",
"The fabric of her dress presses cool against your chest, but her breathing is warm near your throat.",
"\"This is less absurd than I expected.\"",
"She stays for one more breath.",
"\"Do not make a museum out of it.\""
]
},
"first_kiss_cheek": {
"text": [
"You kiss Valerie on the cheek, close to the black edge of her lipstick but not touching it.",
"She goes still.",
"Then her fingers rise to the place your mouth touched, not quite covering it.",
"\"That was... softer than your usual choices.\"",
"You ask if soft is bad.",
"Her eyes shift away for half a second.",
"\"No.\"",
"The answer is quiet enough to mean more than the word."
]
},
"first_dirty_whisper": {
"text": [
"You lean close enough that your voice stays under the nearest murmur.",
"You tell Valerie you keep thinking about her legs under that dark skirt, your hand on her knee, your mouth against her ear while her thighs stop behaving as elegantly as the rest of her.",
"Her gaze stays fixed just past you.",
"Her breathing does not.",
"\"That is a dangerous amount of attention to put on a detail.\"",
"You say you meant every word.",
"The fingers resting on her catalogue tighten slightly.",
"\"I know. That is why I heard it.\""
]
},
"first_massage_start": {
"text": [
"Valerie accepts the first massage as if agreeing to a restoration test on damaged paper.",
"\"Shoulders only, at first.\"",
"You start over the fabric, slow enough that the touch does not feel like an ambush.",
"Her posture stays perfect for almost a minute.",
"Then your thumb finds the stiff line near her neck and her breath slips.",
"\"There.\"",
"The word is small, almost annoyed by how honest it is.",
"You keep working the tension down until her head dips forward by a fraction."
]
},
"first_massage_orgasm": {
"text": [
"Valerie's first massage orgasm starts with her trying to keep her clothes, posture, and expression arranged in the same careful order.",
"You work her shoulders, then lower, thumbs pressing slow lines along her back until her breathing starts to lose its public calm.",
"When your hand settles near her hip, the long skirt shifts under your fingers.",
"Her thighs tense before she says anything.",
"\"Your hand is drifting.\"",
"You stop.",
"Valerie closes her eyes, then parts her knees by a small, deliberate inch.",
"\"I know.\"",
"Your hand slides along her thigh through the dark fabric, feeling the heat gather under all that perfect restraint.",
"By the time your fingers press between her legs, her panties are damp against her pussy.",
"She exhales sharply and looks away.",
"You rub her through the fabric first, slow and firm, until her thighs close around your hand and her hips make the next stroke larger.",
"When your fingers slip under her panties and find her clit, she stops speaking completely.",
"Her clit is swollen and slick under your fingertips, and the first tight circle makes her hand grip the edge of the seat.",
"\"Fuck.\"",
"You slide two fingers into her wet cunt, thumb still rubbing her clit, and feel her inner walls clamp down around you.",
"The sound she makes is low, broken, and nothing like the voice she uses in public.",
"You keep fingering her until her thighs shake under the skirt, cunt clenching harder with every stroke.",
"\"There. There.\"",
"The orgasm takes the rest of the sentence from her. Her hips jerk into your hand, pussy pulsing around your fingers while she moans through clenched teeth and fails to keep the elegance on her face.",
"Afterward, she stays very still, wet and flushed and breathing like she has been caught in bad lighting.",
"\"Give me a moment before I try to look composed again.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Valerie, and she regards the plate with the quiet concern usually reserved for damaged canvases.",
"\"This has ambition.\"",
"You ask if that is good.",
"\"Not always.\"",
"She takes a careful bite, pauses, then takes another.",
"\"It is not elegant, but it is sincere. I have seen worse openings.\""
],
"high": [
"You cook well enough that Valerie goes quiet after the first bite.",
"She looks at the plate, then at you, like she has to revise an assumption.",
"\"Good. You understood restraint.\"",
"The meal becomes a conversation about texture, timing, bitter notes, and the difference between simple and unfinished.",
"Valerie takes another bite, slower this time.",
"\"I would serve this with better lighting.\"",
"A pause.",
"\"That is a compliment.\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Valerie begins with a silence that feels almost formal.",
"Then your mouth touches hers and formality becomes less useful.",
"Her lips are cool for the first second, black lipstick soft against your mouth.",
"When you kiss her deeper, her hand tightens at your sleeve.",
"She makes a small sound and immediately tries to swallow it.",
"You do not let the kiss become a joke.",
"That is what makes her lean in.",
"\"Again,\" she says, barely off your mouth.",
"You kiss her again, and this time her lips part sooner."
]
},
"first_handjob": {
"text": [
"Valerie is very still the first time her hand closes around your cock.",
"Her grip is light, almost formal, until your shaft throbs against her palm.",
"\"I felt that.\"",
"The words come out quieter than she means them to.",
"She strokes once, then again, watching your face with more attention than confidence.",
"Your reaction gives her enough to keep going.",
"Her hand grows firmer by degrees, turning the awkward first contact into something slow and deliberate."
]
},
"first_blowjob": {
"text": [
"Valerie kneels with more stillness than confidence the first time her hand wraps around your cock.",
"She looks at it for a moment, studying the swollen head, the precum at the tip, the way your shaft twitches when her thumb moves.",
"\"You are very easy to read from here.\"",
"The line is dry, but her voice is lower than usual.",
"She leans in and licks the head of your cock, slow enough to taste you.",
"Her eyes close for half a second.",
"Then her lips part and take you into her mouth.",
"The first inches are careful. Her tongue presses under your shaft, her hand stroking what her mouth does not take yet.",
"Your cock throbs against her tongue and she glances up, cheeks faintly flushed.",
"She pulls back with wet lips, breathing through her nose.",
"\"Do not move too much.\"",
"Then she takes your cock back into her mouth, less composed when your groan makes her fingers tighten around your shaft."
]
},
"first_cunnilingus": {
"text": [
"Valerie lies back like she still believes the right posture can protect her from how exposed this is.",
"Her skirt is gathered carefully, her thighs pale and tense on either side of your shoulders.",
"You kiss the inside of one knee, then higher along her thigh.",
"That is where she reacts first: not at her pussy, but at the attention moving up her leg.",
"\"Oh.\"",
"By the time your mouth reaches her wet slit, her breathing has already changed.",
"You lick her pussy slowly, tongue dragging up through her folds before settling on her clit.",
"Valerie's thighs tighten around your head.",
"\"Fuck.\"",
"You keep licking, mouth warm against her cunt, tongue circling her swollen clit until her hips start to lift in small, helpless movements.",
"Her hand finds your hair and stays there, not pushing, just holding on while the quiet starts breaking out of her."
]
},
"first_facesitting": {
"text": [
"Valerie climbing over your face looks like a portrait trying not to admit it is becoming obscene.",
"Her skirt is lifted just enough, her thighs on either side of your head, her wet pussy hovering above your mouth.",
"\"This is less graceful than I imagined.\"",
"Then your tongue touches her slit and grace stops mattering.",
"Her fingers grab for anything stable.",
"You lick her pussy from below, tongue spreading her folds and finding her clit while her thighs tremble against your cheeks.",
"Valerie tries to stay lifted for a few seconds.",
"Then pleasure makes her sink lower.",
"\"Oh, fuck.\"",
"Her hips move once against your mouth, and the second time she does not pretend it was an accident."
]
},
"first_beg_facesit_success": {
"text": [
"You beg Valerie to sit on your face, and the request makes her look away before it makes her answer.",
"\"That is a very direct use for a mouth.\"",
"You say you want it.",
"Her thighs press together under the long skirt.",
"\"Yes. I heard that part.\"",
"She climbs over you, gathering her skirt, wet pussy lowering toward your mouth with less poise than she wants.",
"The first lick makes her inhale hard.",
"\"Oh.\"",
"You lick her clit again, and her fingers curl against the surface beneath her.",
"\"Do that again.\""
]
},
"first_69": {
"text": [
"Sixty-nine changes Valerie faster than either of you expect.",
"She can handle being looked at. She can handle wanting. What unsettles her is having both of you exposed at once, mouth and body answering each other with no clean place to hide.",
"She positions herself carefully over you, dark skirt pushed up, thighs framing your face while her mouth hovers above your cock.",
"Your breath hits her wet pussy at the same moment her fingers wrap around your shaft.",
"She looks back once, and the sight of your face between her legs makes her lose the first thing she meant to say.",
"Then your tongue drags up her slit and her lips close around your cock.",
"The first sound she makes vibrates around the head of your cock.",
"You lick her clit again, slow and firm, and her mouth falters, wet lips sliding off you for one broken breath.",
"\"Fuck.\"",
"She takes you back into her mouth, tongue pressing under your shaft while her hips start moving against your tongue.",
"Your mouth works her pussy, licking through her wet folds and circling her swollen clit, and every time she moans around your cock you feel it in the shaft.",
"Valerie tries to keep a rhythm. It falls apart when your tongue stays on her clit long enough for her thighs to shake.",
"She pulls off again, mouth wet, voice barely controlled.",
"\"I cannot focus when you do that.\"",
"You do it again.",
"She takes you back onto her tongue, hips pressing harder against your mouth, dignity gone where pleasure can reach it."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time you rub Valerie's pussy through fabric in public, she does not look at your hand.",
"She looks at the room.",
"That is how you know she felt it.",
"Your fingers press against her slit through the layers of skirt and panties, small enough to hide, firm enough to matter.",
"Her posture remains perfect for three seconds.",
"Then her knee shifts.",
"You rub her slowly, feeling heat build under the fabric until dampness starts to gather against your fingertips.",
"\"That is unwise.\"",
"Her voice is quiet and thin at the edges.",
"You move your fingers again and her thighs tighten around your hand.",
"\"Fuck.\"",
"The word is almost silent.",
"\"\""
]
},
"first_fingering": {
"text": [
"The first time your fingers reach Valerie's bare pussy, she watches your face like she is trying to survive the attention by understanding it.",
"Her thighs are already tense, legs parted just enough for your hand.",
"You rub her clit first, and the reaction is immediate: a sharp inhale, a small lift of her hips, her fingers tightening in dark fabric.",
"She is wet when your first finger slides into her cunt.",
"\"Oh.\"",
"Her inner walls clench around you, tight and slick, and her eyes close before she can stop them.",
"You move slowly, thumb circling her clit while your finger works inside her.",
"When you add a second finger, Valerie's hand catches your wrist.",
"Not pulling away.",
"Holding on.",
"\"There.\"",
"You curl your fingers and her legs tremble, pale thighs flexing as her pussy tightens around you.",
"\"Again. Fuck, again.\""
]
},
"first_analingus": {
"text": [
"Valerie looks back quickly when your mouth moves lower than her pussy.",
"\"That is not where I expected your attention to go.\"",
"She says it dryly, but her voice has already lost some of its clean edge.",
"You kiss the back of her thigh, then lower, hands spreading her carefully.",
"The first touch of your tongue to her asshole makes her go completely still.",
"\"Oh.\"",
"You lick her again, slow and filthy, tongue circling the tight little hole while her fingers grip the surface beneath her.",
"Her anal sensitivity is not high enough to make her melt instantly, but the intimacy of it gets under her skin.",
"\"That is... difficult to ignore.\"",
"You do it again and her hips shift by a fraction.",
"\"Slowly.\""
]
},
"first_ask_sex_success": {
"text": [
"She studies your face long enough to decide the want is real.",
"\"Yes.\"",
"The word is quiet.",
"Then she steps closer and takes your hand, placing it at her waist over the dark fabric she loves so much.",
"\"Do not rush me out of my clothes.\"",
"A pause.",
"\"But yes. I want you.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Valerie for sex, and the rawness of it affects her more than a polished demand would have.",
"Her eyes drop to your mouth.",
"\"You sound ruined already.\"",
"It could have been cruel. It is not.",
"You say you want her.",
"Her fingers tighten around yours.",
"\"Good.\"",
"The word comes out softer than expected.",
"\"Come here.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Valerie, and she gives you a long, quiet look.",
"With old Valerie, that look might have been a verdict.",
"She studies your face, quieter than usual, deciding whether your directness reaches her.",
"You say it again, lower, making it about her and not just the act.",
"Her breath changes.",
"\"Better.\"",
"She steps close enough for her skirt to brush your leg.",
"\"Use your hands carefully. I am listening.\""
]
},
"first_vaginal_intro": {
"text": [
"When your cock presses against Valerie's wet slit for the first time, she loses the careful line of her posture.",
"Her clothes are still partly on, dark fabric gathered around her hips, thighs exposed more than she would ever allow by accident.",
"You push forward slowly, the head of your cock spreading her pussy open.",
"Valerie's fingers grip your arm.",
"\"Oh.\"",
"The first inch slides in, tight and slick, and her cunt clenches hard around you.",
"You give her more by degrees, feeling her inner walls stretch around your cock while her breathing turns uneven.",
"\"Fuck. I can feel...\"",
"The rest disappears when you sink deeper.",
"Her thighs tighten around you.",
"\"Keep going.\""
]
},
"first_anal_intro": {
"text": [
"Valerie's first anal starts with caution, not fantasy.",
"She is tense enough that you slow everything down: more lube, more silence, more waiting for her body to answer honestly.",
"You press the head of your cock against her tight asshole.",
"She grips the surface beneath her, pale knuckles tense against dark fabric.",
"\"Slow.\"",
"You push in carefully, feeling her ass resist around the head.",
"The first stretch pulls a sharp breath out of her.",
"\"Fuck.\"",
"You hold still, only partly inside, until her breathing steadies.",
"She swallows and nods once.",
"\"A little more. Not much.\""
]
},
"first_position_missionary": {
"text": [
"Missionary with Valerie feels almost too direct for someone who uses stillness as a shield.",
"Your cock slides into her wet pussy while she watches your face from under pale lashes.",
"The first thrust makes her lips part.",
"The second makes her eyes close despite the way she tries to keep them open.",
"\"I can see too much from here.\"",
"You ask if that is bad.",
"She answers by pulling you closer.",
"Her cunt tightens around your cock when your mouth nears hers.",
"\"No.\""
]
},
"first_position_cowgirl": {
"text": [
"Cowgirl is not Valerie's natural pose, but she tries it with quiet stubbornness.",
"She lowers herself onto your cock, skirt gathered high, pale thighs tense as her pussy takes you inch by inch.",
"Her hands brace on your chest.",
"For a few seconds she looks composed.",
"Then the fullness hits and her breath catches.",
"\"Oh.\"",
"She moves her hips once, testing the position, and her cunt clenches when the angle catches.",
"\"That is... more visible than I expected.\"",
"She does it again anyway."
]
},
"first_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl lets Valerie face away, which helps until she realizes how much of her body you can see.",
"She sinks down onto your cock with her back to you, dark fabric bunched at her waist, pale thighs spread around your hips.",
"Her pussy takes you slowly, wet and tight, while her hands brace on your legs.",
"You see her shoulders tense when your gaze travels down her back.",
"\"I know you are looking.\"",
"Her voice is low, not angry.",
"She starts moving before you can answer.",
"Every roll of her hips pulls your cock through her cunt and makes her thighs tighten.",
"\"Do not tell me what I look like,\" she whispers.",
"A breath.",
"\"Just keep watching.\""
]
},
"first_position_doggy": {
"text": [
"Doggy affects Valerie because it makes the gaze impossible to manage.",
"She braces herself, skirt pushed up, thighs pale under the dark fabric as your cock presses against her wet pussy from behind.",
"\"This is indecently visual.\"",
"The line almost holds.",
"Then you push into her, and her voice stops being dry.",
"Her cunt stretches around your cock, tight and wet, and her fingers grip the surface beneath her.",
"\"Fuck.\"",
"You thrust again and her back arches before she can make it look deliberate.",
"Her thighs tremble, legs too sensitive to hide what the position is doing to her.",
"\"There. Again.\""
]
},
"first_position_wall": {
"text": [
"Against the wall, Valerie looks quieter than you expected, the lifted edge of her skirt ruining the last of her distance.",
"She looks exposed, half-framed by her own clothes, dark skirt lifted just enough for your cock to line up with her wet pussy.",
"You push inside her slowly.",
"Her hand catches your shoulder, black nails pressing through fabric.",
"\"Oh.\"",
"The wall holds her still while your thrusts make her composure slip one breath at a time.",
"Her cunt clenches around you when your hips press closer.",
"\"That is good,\" she says, almost surprised by the plainness of it.",
"Then the next thrust takes the rest of the thought."
]
},
"first_anal_position_missionary": {
"text": [
"Missionary anal gives Valerie nowhere to hide from your face or the stretch.",
"You press the head of your cock against her asshole while her hands grip your shoulders.",
"\"Slow.\"",
"You push in carefully, feeling her tight ass resist and then give around the head.",
"The pressure makes her breath catch hard.",
"\"Fuck.\"",
"You hold still, only partly inside her ass, while she adjusts to the fullness.",
"Her legs shift around you.",
"\"A little more.\"",
"You give her another inch and watch the sentence leave her face."
]
},
"first_anal_position_cowgirl": {
"text": [
"Cowgirl anal makes Valerie look calmer than her body actually is.",
"She lowers herself onto your cock with slow, deliberate movements, tight asshole stretching around the head while her thighs tense hard.",
"Her hands press into your chest.",
"\"I need a second.\"",
"You stay still.",
"She breathes, pale hair falling forward as she takes another fraction of you.",
"\"Fuck.\"",
"Her ass clenches around your cock, then gives just enough for her to sink lower.",
"\"That is a lot.\""
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal leaves Valerie facing away while you watch her ass take your cock.",
"She is not built around being stared at from behind the way Sofia is, but the quiet attention still gets under her skin.",
"Her tight asshole stretches slowly around the head, dark skirt gathered high, pale thighs shaking around your hips.",
"\"Do not narrate it.\"",
"You do not.",
"She takes another inch and moans anyway.",
"The view is filthy and intimate: her ass opening around your cock, her back tense, her hands gripping your legs.",
"\"Fuck,\" she whispers. \"I know.\""
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal makes Valerie quiet in a way that feels more exposed than words would.",
"You press your cock to her tight asshole from behind and start with slow pressure.",
"Her fingers curl against the surface beneath her.",
"\"Careful.\"",
"You push in by inches, stretching her ass open while her thighs tremble under the dark edge of her skirt.",
"The first real give pulls a broken sound from her throat.",
"\"Fuck. Wait.\"",
"You stop.",
"A few breaths later, her hips shift back by a tiny amount.",
"\"Okay. Slowly.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal makes Valerie tense against every point of contact: the wall, your hands, your cock pressing against her tight asshole.",
"You hold her steady as your cock presses against her tight asshole from behind.",
"She breathes out through her nose.",
"\"Slow.\"",
"You start pushing in, careful and slick, feeling her ass resist around the head.",
"Her hand spreads against the wall when the stretch becomes real.",
"\"Oh. Fuck.\"",
"You hold her there, half open around you, until the tremor in her legs eases.",
"\"A little more,\" she whispers."
]
},
"first_sex": {
"text": [
"The first time your cock sinks fully into Valerie's pussy, her careful expression disappears by inches.",
"She is still partly dressed, black fabric gathered, pale thighs spread, lipstick dark against a mouth that has stopped shaping clever sentences.",
"Her cunt is wet and tight around you, clenching with every slow inch.",
"\"Fuck.\"",
"You start moving and her fingers dig into you.",
"The first thrust is careful. The second is deeper. By the third, her hips are answering.",
"Her legs shake when your cock drags through her inner walls and presses deep enough to make her breath break.",
"\"There.\"",
"You fuck her slowly, close enough to see the exact moment she stops trying to look composed.",
"\"Do not stop there.\""
]
},
"first_anal": {
"text": [
"Valerie's first anal starts with her fingers twisting against the surface beneath her and your cock slick against her tight asshole.",
"Your cock presses into her tight asshole with slow pressure, lube slick between you, her body resisting until the first inch finally gives.",
"Her fingers twist against the surface beneath her.",
"\"Fuck.\"",
"You hold still while her ass clenches around the head of your cock.",
"She breathes through it, pale thighs tense under the lifted fabric of her skirt.",
"When you slide deeper, her voice thins.",
"\"That is enough. Wait.\"",
"You wait.",
"Her hips move back by a fraction before she can turn it into a decision.",
"\"A little more.\""
]
},
"first_demand_anal_success": {
"text": [
"You demand anal from Valerie, and the bluntness makes her look at you very quietly.",
"\"That is a crude sentence for a complicated request.\"",
"You say it again, slower, making the want clear without pretending the act is small.",
"Her eyes drop, then return to yours.",
"\"I am not saying yes because you made it sound pretty.\"",
"A pause.",
"\"I am saying yes because I am curious.\""
]
},
"first_undress_top_off": {
"text": [
"Valerie removing her top feels less like undressing and more like letting someone touch a locked cabinet.",
"She does it slowly, not to tease, but because every fastening seems to mean something to her.",
"The black fabric comes away and she watches your face with guarded attention.",
"\"Careful with it.\"",
"The question hangs there, half about the clothing and half about the step she just took.",
"She folds the fabric as carefully as if the answer were hidden in it.",
"Her shoulders are bare now, pale against the remaining dark layers.",
"She looks more exposed than the amount of skin should explain."
]
},
"first_undress_bra_off": {
"text": [
"Valerie hesitates before removing her bra.",
"The layer matters because Valerie pauses with the clasp open, suddenly more exposed than the skin alone explains.",
"When the bra falls, her tits are bare, nipples tightening in the air.",
"She does not cover herself.",
"She also does not quite breathe normally.",
"\"Do not look like you are cataloging me.\"",
"You touch her carefully instead.",
"Her eyes lower for a second.",
"\"Better.\""
]
},
"first_undress_bottom_off": {
"text": [
"Valerie's bottoms are harder to remove than the top because the long dark skirt is part of how she holds the world at a distance.",
"She gathers the fabric in both hands, then stops.",
"\"I like this skirt.\"",
"You say you know.",
"That helps more than a compliment would have.",
"She slides it down slowly, revealing pale legs that make everything feel much quieter.",
"Your eyes linger at her knees, calves, ankles.",
"Valerie notices all of it.",
"\"That,\" she says softly, \"is the dangerous way to look.\""
]
},
"first_undress_panties_off": {
"text": [
"Valerie's panties come off last, and even after every other layer, this one makes her pause.",
"Undressing her was never going to be casual.",
"She slips them down and exposes her wet pussy, slit glistening between pale thighs that have already given away too much.",
"For a second, she looks less arranged and more like a woman trying to stand inside her own heartbeat.",
"\"I am aware.\"",
"You have not said anything.",
"Her mouth tightens, almost a smile.",
"\"You were about to.\"",
"Her thighs shift, nervous and aroused.",
"\"Come here before I become articulate again.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Valerie removes her top only after your hands have stayed patient long enough to make the decision feel safe.",
"The fabric leaves her shoulders, and she folds it automatically before setting it aside.",
"\"Habit.\"",
"You return your hands to her bare upper back.",
"The first slow press makes her eyes close.",
"Without the layer, every small reaction is easier to see.",
"She knows that too.",
"\"That is rather unfair.\""
]
},
"first_massage_undress_bra_off": {
"text": [
"Valerie takes her bra off during the massage with the careful displeasure of someone letting the air become too honest.",
"Her bare tits rise and fall as she settles back under your hands.",
"You do not rush toward them.",
"That is why her breathing softens.",
"Your thumbs work along her back, then near the side of her breast.",
"Her nipple tightens before she can hide the reaction.",
"\"I noticed that,\" she says.",
"Her voice is quieter.",
"\"So did you.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Valerie removing her skirt during the massage changes the air between you.",
"She keeps her face turned away while the fabric slides down, revealing pale legs and the careful tension in her thighs.",
"You go back to her lower back first, then her hips, then the long line of one thigh.",
"Her breath catches there first.",
"Your hand moves over her leg with slow pressure, not rushing to her pussy, and her breath catches harder than expected.",
"\"Oh.\"",
"Her knees part by a small amount.",
"\"That is... yes. There.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Valerie slips her panties off during the massage, she folds them before she remembers that dignity has already lost this argument.",
"Her pussy is wet when she settles back within reach, and the contrast between the neat little fold of fabric and the slick heat between her thighs is almost obscene.",
"You rest your hand on her leg first.",
"She trembles at the touch before your fingers get anywhere explicit.",
"\"My legs,\" she says, embarrassed by how quickly the words came out.",
"You stroke up her thigh, closer and closer to her wet slit.",
"Her knees open.",
"\"Yes. Then... touch me.\""
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slide inside Valerie's panties in public, under layers chosen specifically to keep the world at a distance.",
"The first touch of your fingertips against her wet pussy makes her posture go still.",
"Her eyes remain on the painting in front of you.",
"\"No one is looking.\"",
"She says it like a fact she badly needs to be true.",
"You rub her clit in tiny hidden circles, feeling slickness gather under your fingers.",
"Her thighs tighten, trapping your hand against her wet slit.",
"\"Fuck.\"",
"The word is nearly silent.",
"You keep the strokes small, and her breath starts to break under the gallery hush.",
"\"I can feel how wet I am.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Valerie begins with black lipstick and restraint.",
"Then your tongue touches hers and restraint becomes much less convincing.",
"Her hand closes around your sleeve, fingers tight in the fabric.",
"You kiss her deeper, and she answers with a soft, involuntary sound that makes her still for half a second.",
"You do not tease her for it.",
"That is why she keeps going.",
"Her mouth opens more fully under yours, warm and wet and less careful with every breath.",
"\"Again,\" she whispers.",
"This time, she reaches for you first."
]
},
"first_invite_room": {
"text": [
"The first time Valerie comes to your room, she takes it in without pretending not to judge it.",
"\"You cleaned.\"",
"You say yes.",
"\"Good. Effort is not taste, but it is at least evidence.\"",
"She removes her gloves slowly, one finger at a time, and sets them somewhere safe.",
"That small act feels more intimate than it should.",
"\"I am staying,\" she says, before you ask.",
"A pause.",
"\"For a while.\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Valerie survives about twenty minutes as an actual movie.",
"She notices the lighting, the framing, the costume choices, and one piece of dialogue she describes as unforgivable.",
"Then your hand rests on her knee.",
"The critique stops.",
"Her leg tenses under your palm.",
"\"That is not the film.\"",
"You say no.",
"Your fingers move slowly along her thigh, over the dark fabric.",
"Valerie's eyes remain on the screen, but her breathing is suddenly much easier to hear.",
"\"Continue.\"",
"The word leaves her softer than she meant it to."
]
},
"first_invite_gallery": {
"text": [
"Inviting Valerie to the gallery feels strange because the room is hers before it is yours.",
"Still, she lets you walk beside her after closing, when the lights are lower and the floor no longer belongs to donors.",
"\"This is better without the voices.\"",
"She stops in front of a portrait and adjusts nothing for once.",
"You ask what she sees.",
"\"Someone trying very hard not to ask for help.\"",
"Then she glances at you, almost amused.",
"\"Do not look so pleased. Noticing things is not your private talent.\""
]
},
"first_invite_workout": {
"text": [
"The first workout with Valerie is a quiet disaster of incompatible aesthetics.",
"She looks at the equipment like it has been arranged by a hostile culture.",
"\"I own shoes less threatening than this bench.\"",
"Still, she tries.",
"The first exercise makes her composure wobble, the second makes her hair fall forward, and the third makes her laugh once under her breath.",
"\"I dislike how honest this is.\"",
"You help correct her stance.",
"She accepts the help, then looks away when your hand briefly steadies her leg.",
"\"That part was not terrible.\""
]
},
"first_public_handjob": {
"text": [
"The first time Valerie wraps her hand around your cock in public, it happens under enough fabric and stillness to make the risk feel unreal.",
"Her fingers close around your shaft carefully, hidden by posture, shadow, and the room's polite disinterest.",
"\"Do not move suddenly.\"",
"Her grip is light at first, then firmer when she feels you harden in her hand.",
"Your cock twitches against her palm.",
"Her face remains composed.",
"Her breathing does not.",
"\"I felt that.\"",
"She strokes you slowly, thumb brushing the head of your cock beneath the cover.",
"The hidden filth of it makes her voice almost disappear.",
"\"This is obscene.\"",
"Her hand keeps moving."
]
},
"first_footjob": {
"text": [
"The first footjob with Valerie is not really about feet at all.",
"It is about her legs, and she knows it before you say anything.",
"She sits with one leg crossed, long skirt drawn just high enough to show pale calf, ankle, the slow flex of her foot as it presses against your cock.",
"\"You are looking at my legs, not my foot.\"",
"You do not deny it.",
"That is what makes her breath catch.",
"She drags her foot along your shaft, awkward at first, then slower when your reaction tells her what works.",
"Her calf tenses. Her thigh shifts under the fabric.",
"The whole scene is inefficient and extremely focused.",
"\"Oh.\"",
"She presses again, watching your cock move against her foot while your eyes keep returning to her legs.",
"\"That is the part you like.\"",
"A pause.",
"\"I can use that.\""
]
},
"first_titfuck": {
"text": [
"The first titfuck with Valerie is not one of her natural weaknesses.",
"Her breast sensitivity is low, and she seems more interested in your expression than the pressure against her own skin.",
"Still, she presses her tits around your cock, pale skin warm around the shaft.",
"Your cock slides between them, head pushing through with each thrust.",
"Valerie watches the way your face changes.",
"\"So this is mostly visual.\"",
"You thrust again, and a flicker of heat reaches her when your cock brushes close to one nipple.",
"\"Mm.\"",
"The sound is too soft to be deliberate.",
"She tightens her hands around her breasts anyway.",
"\"I can appreciate visual.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Valerie's body, she watches your cock like she is trying not to blink through the important part.",
"Your shaft jerks in your hand and hot cum streaks across her pale stomach.",
"Her breath catches when the first line hits her skin.",
"\"Oh.\"",
"Another pulse lands lower, stark against her body and the dark fabric still gathered around her.",
"She looks down at the mess, then up at your face.",
"Her public voice is gone.",
"\"I wanted to see that happen.\""
]
},
"first_climax_back": {
"text": [
"The first time you cum on Valerie's back, she is angled away just enough for the sight to matter.",
"Your cock pulses, streaking hot cum across pale skin and the edge of dark fabric.",
"Her shoulders tense when the first streak lands.",
"\"Fuck.\"",
"Another spurt hits lower, and she stays still, feeling it mark her.",
"The image is obscene in a quiet way: white hair, black lace, cum on her skin, her breath caught between dignity and heat.",
"When she looks back, her face is flushed.",
"\"That is going to be difficult to forget.\""
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Valerie's tits, she seems almost more affected by your face than the heat on her skin.",
"Your cock jerks, spilling cum over her bare breasts and across one nipple.",
"She inhales when it hits, looking down as the streaks slide over pale skin.",
"\"Messy.\"",
"Another pulse lands between her tits.",
"Her voice lowers.",
"\"Very difficult to arrange elegantly.\"",
"Then she looks back at you and the dryness almost breaks.",
"\"Good.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Valerie's face, she keeps her eyes open until the first streak hits her cheek.",
"Her breath catches, black lipstick parted, white hair framing the shock of hot cum on pale skin.",
"Your cock pulses again, another spurt landing near her mouth.",
"For once, she has no immediate sentence ready.",
"She touches the edge of the mess with two fingers.",
"\"Oh.\"",
"The sound is small and very real.",
"A final pulse marks her chin.",
"Valerie looks up at you through the ruined elegance of it.",
"\"That was... not subtle.\""
]
},
"first_climax_mouth": {
"text": [
"The first time Valerie lets you cum in her mouth, it is clearly not because swallowing is one of her favorite things.",
"She chooses it anyway, lips around your cock, one hand steady on your shaft.",
"You warn her when you get close.",
"Her eyes flick up.",
"The first pulse hits her tongue and her grip tightens.",
"You cum into her mouth in thick spurts while she tries to keep the act neat and immediately fails.",
"Some of your load slips to the corner of her black lipstick.",
"She swallows once, slow and visible, throat working around the cum.",
"Then she pulls back before the last twitch can make the mess worse.",
"Her mouth is wet, marked, and much less composed.",
"\"I do not think I am elegant at this.\"",
"A breath.",
"\"That may be the point.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Valerie's hand in public, the hidden nature of it makes her almost too still.",
"Her fingers stroke your cock under cover, small movements, quiet room, the risk buried under etiquette.",
"\"You are close.\"",
"It is not a question.",
"Your cock pulses in her hand, hot cum spilling into her palm while her face remains turned toward the art like nothing obscene is happening.",
"Her fingers close around your load.",
"A breath slips through her nose.",
"\"Fuck.\"",
"The word is silent enough for only you.",
"She keeps the mess hidden, cheeks faintly flushed.",
"\"We are leaving soon.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Valerie's pussy, she realizes it from the way your cock starts throbbing deep in her cunt.",
"\"Inside?\"",
"The word comes out small, breathless, caught between surprise and want.",
"Then the first pulse hits and her thighs tighten around you.",
"Your cock spills inside her, filling her wet pussy while her inner walls clench around every spurt.",
"Valerie gasps, fingers digging into your back as the heat of your cum spreads inside her.",
"\"Fuck. I can feel it.\"",
"You keep pulsing, buried deep, and her cunt holds you like her body wants the last twitch even if her face cannot admit it gracefully.",
"When it fades, she does not let go immediately.",
"\"Wait.\"",
"A shaky breath.",
"\"Just a moment.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Valerie's ass, the scene is already raw from how carefully her body had to take you.",
"Your cock is buried in her tight asshole when you warn her.",
"She grips the sheet, breath caught.",
"The first pulse makes her whole body tense.",
"You fill her ass with hot cum, cock jerking inside her while the tight ring of muscle clenches around every spurt.",
"\"Fuck.\"",
"Her voice breaks on the word.",
"Another pulse hits and her thighs shake, dark fabric gathered uselessly around all that ruined composure.",
"When it is over, she stays still, breathing hard.",
"\"Do not move yet.\"",
"This time it sounds less like control and more like she needs the world to stop tilting."
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_DATA
{
"girlId": "g7",
"girl": "Hazel Mercer",
"readyVariable": "first008ready",
"notes": [],
"moments": {
"first_meeting": {
"text": [
"You first meet Hazel when she steps aside too quickly and nearly drops the things in her arms.",
"She catches them against her sweater with a tiny panicked sound, then looks immediately embarrassed that anyone saw.",
"\"Sorry. I have it.\"",
"You help anyway.",
"Hazel looks at your hands, then up at your face, cheeks already warm.",
"\"Thank you. I probably did not have it.\"",
"She gives a small nervous laugh and tucks a loose strand of auburn hair behind her ear.",
"\"I am Hazel. I mostly try to be useful and not drop things.\""
]
},
"first_phone_success": {
"text": [
"Hazel gives you her number like she is afraid the phone might judge her for it.",
"She types it in carefully, checks it twice, then hesitates with her thumb hovering over the contact name.",
"\"You can text me. I would like that.\"",
"You say you want to.",
"That makes her smile too quickly, and she tries to hide it by looking down.",
"\"Okay. Good. I would like that.\"",
"A pause.",
"\"I might answer fast. That does not mean I was waiting. Even if I was.\""
]
},
"first_address_success": {
"text": [
"Hazel gives you her address after looking nervous about it for long enough that you almost tell her she does not have to.",
"\"It's not fancy.\"",
"You say that is not what you asked.",
"She nods, relieved by the plain answer.",
"\"Right. Sorry.\"",
"She writes it down in careful, rounded letters and adds a small note about the entrance.",
"\"Text first. I want you there, I just need a minute to stop panic-cleaning.\""
]
},
"first_hug": {
"text": [
"The first hug with Hazel starts with her arms half-raised and uncertain.",
"You step closer slowly enough for her to choose the rest.",
"She does.",
"Her body fits against yours softly, sweater warm under your hands, cheek near your shoulder.",
"\"Oh.\"",
"It slips out of her before she can make it smaller.",
"Her fingers curl lightly into the back of your shirt.",
"\"I just... that felt really nice.\"",
"She stays there, nervous and happy, like leaving too quickly would be worse than admitting she wanted it."
]
},
"first_kiss_cheek": {
"text": [
"You kiss Hazel on the cheek, and her whole face goes pink before she manages to speak.",
"\"Oh. That was...\"",
"She touches the spot with her fingertips.",
"\"I forgot the rest of the sentence.\"",
"You ask if it was okay.",
"Hazel nods fast.",
"\"Yes. Very okay. Too okay. I mean, not too. Just... yes.\""
]
},
"first_dirty_whisper": {
"text": [
"You lean close and tell Hazel what you want, low enough that nobody else can hear.",
"Your hand on her waist. Her back against the wall. Her mouth open while she tries to be quiet and fails.",
"Hazel stops breathing for a second.",
"Her eyes lower to your chest because looking at your face is suddenly too much.",
"\"I... I pictured that.\"",
"Her voice is barely there.",
"You ask if she wants you to stop saying things like that.",
"She shakes her head immediately, cheeks burning.",
"\"No. Please do not stop.\""
]
},
"first_massage_start": {
"text": [
"Hazel accepts the first massage because you make it sound like help, not pressure.",
"\"My shoulders do get kind of bad after work.\"",
"She sits carefully, hands folded in her lap like she needs somewhere safe to put them.",
"You start over her sweater, slow pressure at the base of her neck.",
"Her first exhale is shaky.",
"\"Oh, that's good.\"",
"Then she winces at how needy it sounded.",
"\"You can keep going. I would like that.\""
]
},
"first_massage_orgasm": {
"text": [
"Hazel's first massage orgasm starts because she keeps relaxing into your hands until she forgets to be afraid of wanting more.",
"You work her shoulders first, then her back, then the soft line of her hips through her clothes.",
"Her breathing keeps changing before her words do.",
"When your hand settles near her thigh, she looks down at it, lips parted.",
"\"Is this okay?\"",
"You ask her if it feels okay.",
"Hazel nods, nervous and almost ashamed of how fast she answers.",
"\"Yes. It feels really okay.\"",
"Your fingers press between her legs through the fabric, and her thighs close around your hand on instinct.",
"She whispers your name like she did not mean to.",
"You rub her pussy through her clothes, slow and steady, until heat and dampness gather under your fingertips.",
"\"I am getting wet. I know you can feel it.\"",
"Your fingers slip under her panties and find her clit slick and swollen.",
"Hazel makes a small broken sound.",
"You rub her clit in gentle circles, then slide one finger into her wet cunt.",
"Her hips lift into your hand before she can apologize for it.",
"\"Oh. Oh, please.\"",
"You add a second finger when her body starts asking for it, thumb still working her clit while her pussy clenches around you.",
"The orgasm catches her mid-breath. Her thighs shake around your wrist, cunt pulsing around your fingers, face hidden while she moans softly into her sleeve.",
"You keep your hand there until the last little clench fades.",
"Hazel stays folded forward, breathing hard.",
"\"I did not know I could do that from being touched like that.\"",
"A tiny pause.",
"\"I liked it. A lot.\""
]
},
"first_meal": {
"cookingVariants": {
"threshold": 45,
"low": [
"You cook for Hazel, and she tries very hard not to look like she wants to help.",
"\"I can chop something. Or wash something. Sorry, I know you said sit.\"",
"The meal comes out a little rough, but she eats it with the expression of someone determined to find the good part.",
"\"It's warm. Warm is good.\"",
"She takes another bite and smiles shyly.",
"\"Also, you made it for me. That helps more than seasoning probably should.\""
],
"high": [
"You cook for Hazel well enough that she goes quiet after the first bite.",
"\"Oh. This is good.\"",
"She says it like she is surprised and pleased and a little touched all at once.",
"The conversation stays simple: work food, cheap meals, things that can be made when someone is tired, songs that make kitchen cleanup less awful.",
"Hazel looks down at the plate, then up at you.",
"\"I like when someone makes food without making it feel like a test.\"",
"A small smile.",
"\"Can I help next time? Just a little?\""
]
}
},
"first_kiss": {
"text": [
"The first real kiss with Hazel is soft enough that she has time to get nervous and deep enough that she forgets what she was nervous about.",
"Your mouth touches hers.",
"She kisses back carefully, then a little harder when she realizes you are not pulling away.",
"Her fingers clutch the front of your shirt.",
"When your tongue brushes her lips, she lets out a tiny sound and immediately blushes against your mouth.",
"You slow down.",
"Hazel follows you, almost stumbling into the kiss.",
"\"No,\" she whispers. \"I mean... I liked that.\"",
"So you kiss her again, and this time she opens her mouth sooner."
]
},
"first_handjob": {
"text": [
"The first time Hazel touches your cock, her hand shakes so much that the first stroke barely counts.",
"She looks at you, then down at her fingers around your shaft, like she is checking that she is still allowed to continue.",
"\"I am doing this. Okay. I am doing this.\"",
"You stay still for her, and her grip becomes a little braver.",
"When your cock throbs in her hand, she gasps like the reaction surprised both of you.",
"\"That was because of me?\"",
"The next stroke is slow, nervous, and full of the kind of courage she has to build one inch at a time."
]
},
"first_blowjob": {
"text": [
"The first time Hazel gets on her knees for your cock, she looks nervous enough to run and eager enough to stay.",
"Her hands rest on your thighs for a second before one of them reaches for your shaft.",
"She wraps her fingers around you carefully, feeling the heat and weight of your cock in her hand.",
"\"I want to do this right.\"",
"It is not a rule. It is a confession.",
"She leans in and kisses the head of your cock, soft at first, then opens her mouth and licks the precum from the tip.",
"The taste makes her eyes flutter.",
"\"Oh.\"",
"Her lips close around you.",
"She takes the first inches slowly, tongue pressing under your shaft while her hand strokes what she cannot fit in her mouth yet.",
"Hazel looks up when you groan, and the sound seems to give her courage.",
"She takes you a little deeper, mouth warm and wet around your cock, cheeks flushing as her tongue works clumsily but earnestly.",
"You feel her swallow once around the head, testing herself.",
"Her fingers tighten on your thigh.",
"\"I like knowing you feel it,\" she whispers when she pulls back for air, lips slick.",
"Then she puts her mouth back on your cock, less afraid of wanting to be good at it."
]
},
"first_cunnilingus": {
"text": [
"Hazel is almost more embarrassed by receiving oral than by giving it.",
"She lies back with her hands near her face, sweater pushed up, thighs parting slowly.",
"\"You really want to?\"",
"You kiss the inside of her thigh instead of answering with a speech.",
"Her body answers before she does.",
"When your tongue drags up her wet slit, Hazel gasps and covers her mouth with one hand.",
"You lick her pussy again, slower, spreading her folds until you find her clit.",
"\"Oh, that's...\"",
"She loses the rest when your tongue circles the swollen little bud.",
"Her hips lift toward your mouth, shy and helpless.",
"\"Sorry. Sorry, I am moving.\"",
"You keep licking until the apology turns into a soft moan and her thighs start trembling around your head."
]
},
"first_facesitting": {
"text": [
"Hazel climbs over your face like she is certain she is doing something wrong just by wanting it.",
"\"I might be too heavy.\"",
"You pull her down gently before she can hide inside that fear.",
"Her wet pussy settles against your mouth, and the first lick makes her gasp so hard her hands grab for balance.",
"\"Oh. Oh, sorry.\"",
"You lick her again, tongue sliding through her wet folds and finding her clit from below.",
"Hazel trembles over you, thighs tense beside your head, hips afraid to move and wanting to anyway.",
"Her hand covers her mouth.",
"You keep eating her pussy until she sinks lower by accident, clit pressing against your tongue.",
"\"I can't... I can't stay still.\"",
"Her hips rock once, tiny and embarrassed.",
"You lick her clit again and she does it a second time, moaning into her palm."
]
},
"first_beg_facesit_success": {
"text": [
"You beg Hazel to sit on your face, and the request makes her look both terrified and wanted.",
"\"You want that? Me? Like that?\"",
"You say yes.",
"Her hands twist together.",
"\"I don't know if I know how.\"",
"You tell her she does not need to perform.",
"Her shoulders loosen, and she climbs over you.",
"She climbs over you, thighs shaking, wet pussy lowering toward your mouth.",
"The first touch of your tongue makes her gasp.",
"\"Oh. That's... yes.\"",
"She settles a little closer, still nervous, but now her body is listening more than her fear."
]
},
"first_69": {
"text": [
"Sixty-nine overwhelms Hazel because she wants to be good with her mouth and immediately forgets how to focus when your mouth touches her too.",
"She positions herself carefully, cheeks red, one hand around your cock while her wet pussy hovers above your face.",
"\"I might get distracted.\"",
"Your tongue answers by dragging up her slit.",
"Hazel gasps and almost drops your cock from her hand.",
"Then she remembers what she wanted and lowers her mouth around you.",
"Her lips close around the head of your cock, tongue shy under the shaft, while your mouth works her pussy from below.",
"The first time your tongue circles her clit, she moans around you.",
"The vibration runs through your cock and makes her eyes widen.",
"\"Sorry,\" she breathes when she pulls off.",
"You lick her again.",
"She gives up on the apology and takes you back into her mouth, wetter and needier, trying to suck you while her hips tremble against your tongue."
]
},
"first_rub_pussy_fabric_public": {
"text": [
"The first time you rub Hazel's pussy through fabric in public, she looks like her heart jumps into her throat.",
"\"Here?\"",
"Her voice is tiny.",
"You keep the touch hidden, fingers pressing against her slit through her clothes.",
"She does not move away.",
"She stays close to you, trembling, but she stays.",
"The fabric warms under your hand, then grows damp as you rub her gently.",
"Hazel's eyes lower and her fingers clutch at her sleeve.",
"\"I'm getting wet.\"",
"She says it so quietly it almost disappears.",
"You move again, and her thighs close around your hand.",
"\"Please be careful. I don't want anyone else to know.\""
]
},
"first_fingering": {
"text": [
"The first time your fingers touch Hazel's bare pussy, she is already wet and embarrassed by how obvious it is.",
"She looks down, sees your hand between her thighs, and immediately looks away again.",
"\"Sorry. I am really wet.\"",
"You rub her clit first, slow circles that make her breath shake.",
"Her hips lift before she can ask them not to.",
"Then your first finger slides into her cunt.",
"Hazel gasps and grips your wrist with both hands, not stopping you, just needing something to hold.",
"\"Oh. That's inside.\"",
"You move carefully, thumb still brushing her swollen clit while her pussy tightens around your finger.",
"When you add a second finger, she moans and hides her face against your shoulder.",
"\"Please. I don't know what to do with my hands.\"",
"You curl your fingers inside her, and the answer becomes her hips moving into your touch."
]
},
"first_analingus": {
"text": [
"Hazel goes very still when your mouth moves lower than she expected.",
"\"There?\"",
"She sounds nervous, not disgusted.",
"You kiss the back of her thigh first, then the soft curve under her ass, giving her time to breathe.",
"Her fingers twist against the surface beneath her.",
"When your tongue touches her asshole, Hazel makes a small startled sound.",
"\"Oh. That's strange.\"",
"You lick her again, slow and careful around the tight little hole.",
"She does not melt into it the way she does with your cock in her mouth or a wall at her back, but the intimacy makes her tremble.",
"\"I don't hate it,\" she whispers, surprised by herself.",
"A pause.",
"\"Just slowly.\""
]
},
"first_ask_sex_success": {
"text": [
"You ask Hazel for sex, and for a moment she looks like the words have gone straight through her.",
"\"With me?\"",
"You say yes.",
"Her eyes get wet before anything has even happened, and she smiles like she is trying not to look too happy.",
"\"I want that.\"",
"She steps closer, hands hovering before they settle on your shirt.",
"\"I want you. I just get nervous because I want it so much.\""
]
},
"first_beg_sex_success": {
"text": [
"You beg Hazel for sex, and the need in your voice seems to undo her more than confidence would have.",
"She stares at you, breathing shallowly.",
"\"You really want me like that?\"",
"You tell her yes.",
"Her hands come to your chest, soft and trembling.",
"\"Okay.\"",
"The word is small, but her body is already moving closer.",
"\"Please touch me. I don't want to overthink it.\""
]
},
"first_demand_sex_success": {
"text": [
"You demand sex from Hazel, and she almost flinches from how direct it is.",
"Then she realizes the want is aimed at her, and her face turns helplessly red.",
"\"I... yes.\"",
"She swallows, eyes dropping to your mouth.",
"\"I mean, I want to. I am just nervous.\"",
"She reaches for your hand and places it against her waist like she needs your touch to finish the sentence.",
"\"Please be gentle at first. Then... I think I can follow you.\""
]
},
"first_vaginal_intro": {
"text": [
"When your cock presses against Hazel's wet slit for the first time, she looks at you like she is about to cry from wanting it and being scared of wanting it.",
"\"I am ready. I want you inside me.\"",
"You push forward slowly, the head of your cock spreading her pussy open.",
"Hazel gasps and clings to you.",
"Her cunt is wet and tight, stretching around the first inch while her breath breaks against your shoulder.",
"\"Oh. I can feel you.\"",
"You give her another inch, and her pussy clenches around your cock.",
"She moans softly, almost apologetically.",
"\"Please keep going.\"",
"You slide deeper until she has taken you inside, warm and trembling around you.",
"Her legs tighten around your hips.",
"\"I feel so full.\""
]
},
"first_anal_intro": {
"text": [
"Hazel's first anal starts with a lot of nerves and no pretending otherwise.",
"\"I don't know if I can do that.\"",
"You take it slowly, with enough lube and enough time for her to breathe.",
"The head of your cock presses against her tight asshole, and Hazel grips the surface beneath her.",
"\"Oh. That's... that's a lot.\"",
"You hold still until she nods.",
"Then you push in just a little, feeling her tight ring stretch around the head.",
"Hazel whimpers and hides her face.",
"\"Wait. Just wait.\"",
"You wait.",
"After a few breaths, her hips shift by the smallest amount.",
"\"Maybe a little more. Really slowly.\""
]
},
"first_position_missionary": {
"text": [
"Missionary makes Hazel feel safe enough to look at you while your cock slides into her pussy.",
"She holds your shoulders, eyes wide, mouth parted with each slow inch.",
"\"I like seeing you.\"",
"The admission makes her blush even while your cock is buried inside her.",
"You move carefully at first, and her wet cunt clenches around you with every thrust.",
"Her breathing turns soft and broken.",
"\"Oh. That feels good.\"",
"She pulls you closer with surprising need.",
"\"Can you stay close like this? Please.\""
]
},
"first_position_cowgirl": {
"text": [
"Cowgirl makes Hazel nervous almost immediately.",
"She lowers herself onto your cock with both hands on your chest, but the position leaves her too visible and too responsible for the rhythm.",
"Her pussy takes you slowly, wet and tight, but her face is flushed with uncertainty.",
"\"I don't know if I'm doing it right.\"",
"You help her hips move once.",
"She gasps, then laughs nervously.",
"\"Oh. That felt good. I just... I think I like when you lead more.\"",
"She tries a few more strokes, shy and clumsy, before sinking down and letting you hold her steady."
]
},
"first_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl is even harder for Hazel because she cannot see your face.",
"She faces away, lowering herself onto your cock in tiny, uncertain movements.",
"Her pussy is wet enough to take you, but her hands keep searching for balance.",
"\"I feel too far away.\"",
"You hold her hips and guide her gently.",
"That helps, but not enough to make the position feel like hers.",
"She takes a few shallow strokes, cunt tightening around your cock, then looks back over her shoulder.",
"\"Can we be closer after this? I like closer.\""
]
},
"first_position_doggy": {
"text": [
"Doggy makes Hazel nervous, but not in the same way cowgirl does.",
"She does not have to lead. She only has to trust you.",
"Her hands grip the surface beneath her as your cock presses against her wet pussy from behind.",
"\"Okay. I'm ready.\"",
"You push inside slowly, and she moans into her own arm.",
"Her cunt is hot and slick around you, tightening with each careful inch.",
"You hold her hips and start moving.",
"Hazel's breath catches at the deeper angle.",
"\"Oh. That... that's really deep.\"",
"Her back arches without her meaning to.",
"\"Please don't stop. Just not too fast.\""
]
},
"first_position_wall": {
"text": [
"The first time Hazel has your cock inside her against the wall, something in her gives way completely.",
"She is nervous at first, back pressed to the wall, hands clutching your shoulders while your body pins her there.",
"\"I feel like I can't hide.\"",
"You kiss her and line your cock up with her wet pussy.",
"She shivers before you even push in.",
"Then the head of your cock spreads her open and Hazel gasps into your mouth.",
"You lift and hold her steady as you slide deeper, her cunt wet and tight around you, thighs trembling against your hips.",
"\"Oh my god.\"",
"Her voice sounds small and wrecked.",
"You thrust once, and the wall holds her in place while your cock drags through her pussy.",
"Hazel clings to you, breasts pressed to your chest, breath breaking with every stroke.",
"\"I like this,\" she whispers, almost shocked by herself. \"I like this so much.\"",
"You fuck her there, firm and close, and she stops trying to sound careful.",
"Her moans come out soft, needy, and full of surrender, pussy clenching harder every time your hips pin her back to the wall."
]
},
"first_anal_position_missionary": {
"text": [
"Missionary anal lets Hazel keep your face close, which is the only reason she can breathe through the nerves.",
"Your cock presses against her tight asshole while her hands cling to your shoulders.",
"\"I'm scared,\" she whispers.",
"You go slowly, pushing only enough for the head to start stretching her.",
"Hazel gasps and squeezes her eyes shut.",
"\"Wait. Please wait.\"",
"You do.",
"When she opens her eyes again, she looks relieved that you are still close.",
"\"Okay. A little. Just a little more.\"",
"You ease deeper and feel her ass tighten around you while she breathes shakily against your mouth."
]
},
"first_anal_position_cowgirl": {
"text": [
"Cowgirl anal is difficult for Hazel from the start.",
"She tries because she wants to please you, but lowering herself onto your cock this way makes her shake.",
"The head presses against her tight asshole and she grips your chest.",
"\"I don't know if I can.\"",
"You keep still and let her decide the pace.",
"She manages the first stretch, face flushed, breath broken.",
"\"Oh. That is too much. Not bad, just... I need you close.\"",
"She takes a tiny bit more, ass clenching around the head of your cock, then stops and leans forward for comfort.",
"\"Hold me. Please.\""
]
},
"first_anal_position_reverse_cowgirl": {
"text": [
"Reverse cowgirl anal leaves Hazel too far from your face and too aware of the stretch.",
"She faces away, hands braced on your thighs, tight asshole hovering over your cock.",
"\"I feel nervous like this.\"",
"You hold her hips gently while she lowers herself a little.",
"The head of your cock starts to open her, and she freezes.",
"\"Oh. Wait.\"",
"You wait.",
"She breathes, then takes another fraction, ass clenching hard around you.",
"\"I can try. I just need to know you're still with me.\"",
"Her voice shakes more than the position does."
]
},
"first_anal_position_doggy": {
"text": [
"Doggy anal makes Hazel tremble because she cannot see you, but your hands on her hips keep her grounded.",
"Your cock presses to her tight asshole from behind, slick and careful.",
"\"Slow. Please.\"",
"You push in by degrees, opening her around the head.",
"Hazel whimpers against the surface beneath her.",
"\"Oh. That's so much.\"",
"You hold still until her body stops fighting the stretch.",
"Then you slide a little deeper, and her fingers curl hard into the fabric.",
"\"Okay. I can take a little more. I think.\""
]
},
"first_anal_position_wall": {
"text": [
"Wall anal terrifies Hazel and turns her on in the same breath.",
"Her back is against the wall, your body steadying hers, your cock pressed to her tight asshole instead of her pussy.",
"\"I trust you,\" she whispers, like she needs to hear herself say it.",
"You start slow, slick pressure opening her by a fraction.",
"Her nails dig into your shoulders.",
"\"Oh, please wait.\"",
"You wait until she nods against your neck.",
"Then you push in a little more, feeling her ass stretch tight around the head of your cock.",
"Hazel makes a broken little sound.",
"\"It feels scary. But being held like this... I like that part.\""
]
},
"first_sex": {
"text": [
"The first time your cock is fully inside Hazel's pussy, she looks overwhelmed by how much she wanted it.",
"She is wet, tight, and trembling around you, hands clinging to your shirt like she still needs permission to hold on.",
"\"You feel so good inside me.\"",
"The words leave her in a rush, and her cheeks flush darker.",
"You move slowly at first, letting her feel every inch slide through her cunt.",
"Her breath breaks each time you push deep.",
"\"Oh. Please. More.\"",
"You give her more, and her pussy clenches hard around your cock.",
"Her hips start moving with yours, shy at first, then needier.",
"\"I want to be good for you,\" she whispers, and then she moans because your next thrust drives the thought out of her mouth."
]
},
"first_anal": {
"text": [
"Hazel's first anal is careful, nervous, and full of tiny pauses.",
"Your cock presses into her tight asshole slowly, lube slick between you, her body tense under your hands.",
"\"I'm trying to relax.\"",
"The head starts to stretch her open and she whimpers.",
"You stop until she breathes again.",
"\"Okay. I can feel it. I can really feel it.\"",
"You ease in a little more, and her ass clenches around the head of your cock.",
"She hides her face, voice muffled and shaky.",
"\"It's not my favorite, but I like that you're being gentle.\"",
"A pause.",
"\"Maybe a little more.\""
]
},
"first_demand_anal_success": {
"text": [
"You ask Hazel for anal directly enough that she goes pale, then pink.",
"\"Oh. That is... a lot.\"",
"She looks down, fingers twisting in her sweater.",
"You soften your voice and make sure she knows she can say no.",
"That is what lets her answer honestly.",
"\"I am scared,\" she admits.",
"A breath.",
"\"But I want to try for you. Slowly. Please slowly.\""
]
},
"first_undress_top_off": {
"text": [
"Hazel takes her sweater off like it is a much bigger step than the amount of skin would explain.",
"She pulls it over her head and immediately smooths her hair with nervous hands.",
"Her bra is visible now, her cheeks flushed, shoulders slightly hunched like she is trying not to be too exposed.",
"\"I know it's just a sweater.\"",
"She laughs quietly at herself.",
"\"It feels like more.\"",
"You look at her gently, and the tension in her posture eases by a fraction.",
"\"Thank you for not rushing.\""
]
},
"first_undress_bra_off": {
"text": [
"Hazel's hands tremble a little when she unhooks her bra.",
"She lets it slide down her arms, then looks away while her tits are bare in front of you.",
"Her nipples tighten in the air, and the sight makes her blush harder than the chill does.",
"\"I feel very naked now.\"",
"You tell her she looks beautiful.",
"Her eyes get soft and uncertain.",
"\"I believe you. I think. I want to.\"",
"When your hand touches her breast, she exhales in a small shaky sound and leans into the warmth."
]
},
"first_undress_bottom_off": {
"text": [
"Hazel removes her bottoms with slow, nervous movements.",
"She keeps glancing at your face like she is checking whether you still want her.",
"You do.",
"That makes her blush worse.",
"The fabric slides down her hips, leaving her legs bare and her panties visible.",
"\"Sorry. I keep wanting to hide.\"",
"She does not hide.",
"She stays there, breathing carefully, letting you look while her hands twist together at her waist."
]
},
"first_undress_panties_off": {
"text": [
"Hazel hesitates before taking off her panties.",
"Undressing is hard for her, and this last layer makes her fingers pause at the waistband.",
"You wait.",
"Only then does she slide them down.",
"She slides the panties down, exposing her wet pussy, and immediately covers her face with one hand.",
"\"I'm sorry. I'm really wet.\"",
"You move closer instead of teasing her.",
"Her thighs press together, then slowly part.",
"\"I want you to see. I am just embarrassed that I want it.\""
]
},
"first_massage_undress_top_off": {
"text": [
"During the massage, Hazel removes her sweater only after your hands have been gentle for a while.",
"\"It might be easier without it.\"",
"She says it like she is asking permission from the air.",
"The sweater comes off, and she sits in her bra, arms close to her sides.",
"You return your hands to her shoulders, warm against bare skin now.",
"Her eyes close immediately.",
"\"Oh. That's much better.\"",
"She smiles shyly without opening them.",
"\"I mean, for my shoulders. Mostly.\""
]
},
"first_massage_undress_bra_off": {
"text": [
"Hazel takes off her bra during the massage because your hands have made the touch feel safe enough for a little more courage.",
"Her breasts are bare, nipples tight, but she keeps her head down while you continue working her shoulders.",
"You do not rush to grab her tits.",
"That makes her breathe out, relieved and aroused at once.",
"\"I like that you can wait.\"",
"Then your thumb brushes near the side of her breast and she makes a tiny sound.",
"\"But you can touch me there too. I think I want that.\""
]
},
"first_massage_undress_bottom_off": {
"text": [
"Hazel removes her bottoms during the massage with a nervous little smile that disappears when your hands return to her hips.",
"The touch feels warmer now, closer.",
"You work down from her lower back to the soft curve of her hips, then along her thighs.",
"Her legs part slightly before she notices.",
"\"Sorry.\"",
"She starts to close them.",
"You keep your hand gentle on her thigh, not forcing anything.",
"Hazel stops hiding from the feeling.",
"\"No. I mean... it's okay. I liked it.\""
]
},
"first_massage_undress_panties_off": {
"text": [
"When Hazel takes her panties off during the massage, the courage seems to cost her something.",
"Her pussy is wet when she settles back within reach.",
"She knows you can see it and can barely look at you.",
"\"I wanted to take them off,\" she whispers.",
"You rest your hand on her thigh.",
"She opens her legs slowly, breath shaking.",
"Your fingers move closer to her wet slit, and her hips lift by a tiny amount before contact.",
"\"Please touch me.\"",
"The words are almost too quiet.",
"Then your fingertips reach her pussy and she stops trying to say anything else."
]
},
"first_slide_inside_panties_public": {
"text": [
"Your fingers slide inside Hazel's panties in public, and she looks immediately overwhelmed by how private it feels in the wrong place.",
"\"Someone might see.\"",
"The fear is real, but she still leans closer to you instead of away.",
"Your fingertips find her wet pussy under the fabric.",
"She inhales sharply and grips your sleeve.",
"You rub her clit in tiny hidden circles, feeling her slickness gather against your fingers.",
"Hazel's voice turns into a whisper.",
"\"I am so wet. I can't believe I am this wet here.\"",
"Her thighs tighten around your hand.",
"\"Please. Just a little more. Then we should stop before I make a sound.\""
]
},
"first_deep_kiss": {
"text": [
"The first deep kiss with Hazel makes her forget to be careful.",
"Your tongue touches hers and she gives a soft, surprised moan into your mouth.",
"Her hands clutch at your shirt, holding on like the kiss might take her balance.",
"You kiss her deeper, and she opens for you with a shy eagerness that feels almost helpless.",
"She pulls back only far enough to breathe.",
"\"I liked that too much.\"",
"Then she blushes at her own honesty.",
"\"Can we do it again?\""
]
},
"first_invite_room": {
"text": [
"The first time Hazel comes to your room, she looks around like she is trying not to touch anything wrong.",
"\"It's nice.\"",
"You ask if she means that.",
"She smiles nervously.",
"\"I am mostly noticing that I am alone with you, so my room opinions are probably useless.\"",
"Her hands fold together, then unfold.",
"\"I wanted to come here. I just get shy after I get what I wanted.\""
]
},
"first_private_movie": {
"text": [
"The first private movie with Hazel lasts longer than expected because she really does try to watch it.",
"Music from the film fills the quiet, and she relaxes a little, humming under her breath before realizing you can hear.",
"\"Sorry.\"",
"You tell her you like it.",
"Her smile is small and bright.",
"Then your hand touches her knee and the humming stops.",
"Hazel looks down at your hand, then at the screen, then back at your hand.",
"\"I am still watching.\"",
"A pause.",
"\"Not very well.\""
]
},
"first_invite_gallery": {
"text": [
"The first gallery invite with Hazel turns into her trying earnestly to understand more than she does.",
"She stops in front of a painting and tilts her head.",
"\"I think I like the colors. I do not know if that is a smart answer.\"",
"You tell her it is an honest one.",
"That visibly helps.",
"She spends the rest of the visit noticing small things: a soft shadow, a pretty frame, a photograph that makes her sad without knowing why.",
"\"I like this,\" she says quietly. \"I like not having to be clever about it.\""
]
},
"first_invite_workout": {
"text": [
"The first workout with Hazel is mostly her trying not to apologize to exercise equipment.",
"\"I am not very sporty.\"",
"She does it anyway, because you are there and because she likes being gently encouraged more than she expected.",
"You correct her stance and she blushes from the touch.",
"\"Thank you. I would have pretended I understood and done it wrong.\"",
"By the end, she is tired, shyly proud, and smiling through the embarrassment.",
"\"I might like this if nobody yells.\""
]
},
"first_public_handjob": {
"text": [
"The first time Hazel touches your cock in public, her hand shakes so much you almost stop her.",
"She looks at you, cheeks burning, and gives the smallest nod.",
"Her fingers close around your shaft under cover, hidden by fabric and the angle of your bodies.",
"\"I can feel you getting harder.\"",
"The words come out in a stunned whisper.",
"She strokes you carefully, palm warm, thumb brushing the head of your cock when she gets braver.",
"Your twitch in her hand makes her eyes go wide.",
"\"Oh. You liked that.\"",
"She keeps moving, still shy, but now a little desperate to feel that reaction again."
]
},
"first_footjob": {
"text": [
"The first footjob with Hazel is awkward enough that she almost laughs from nerves.",
"\"I don't know if this is going to work.\"",
"She presses her foot against your cock, tentative and unsure.",
"You react anyway.",
"That makes her blush hard.",
"\"Oh. It does.\"",
"She tries again, sliding her foot along your shaft with careful pressure while watching your face for every sign.",
"It is not one of her strongest instincts, but pleasing you is.",
"\"Tell me if that feels good,\" she whispers.",
"Then she corrects herself immediately.",
"\"No, sorry, I can see it does.\""
]
},
"first_titfuck": {
"text": [
"The first time Hazel lets you fuck her tits, she looks embarrassed by how exposed the act feels.",
"She presses her breasts together around your cock, soft skin warm against the shaft.",
"Her breast sensitivity makes her breath catch when your cock slides between them.",
"\"Oh. I feel that.\"",
"You start thrusting slowly, the head of your cock pushing through the tight space between her tits.",
"Hazel watches with wide eyes, cheeks flushed.",
"She is shy about it, but the way your body reacts makes her feel useful and wanted.",
"\"You like this too?\"",
"She presses her breasts together a little tighter.",
"\"Okay. Then I like it.\""
]
},
"first_climax_body": {
"text": [
"The first time you cum on Hazel's body, she watches you with nervous devotion instead of performance.",
"Your cock jerks, spilling hot cum across her stomach.",
"Hazel gasps when it hits her skin.",
"\"Oh.\"",
"Another pulse lands lower, streaking over her soft belly and the edge of her hip.",
"She looks down at the mess, face burning, then back at you.",
"\"That came out because of me.\"",
"The thought makes her smile shyly and tremble at the same time."
]
},
"first_climax_back": {
"text": [
"The first time you cum on Hazel's back, she stays still because you asked her softly and she wants to do it right.",
"Your cock pulses, streaking hot cum across her skin.",
"She gasps at the heat, shoulders tensing.",
"\"Oh, that's warm.\"",
"Another spurt lands lower, and her fingers curl against the surface beneath her.",
"She looks back carefully, trying to see your face more than the mess.",
"\"Did that feel good?\"",
"She already knows, but hearing it matters to her."
]
},
"first_climax_boobs": {
"text": [
"The first time you cum on Hazel's tits, she looks down at herself with flushed disbelief.",
"Your cock jerks, spilling cum across her breasts and over one sensitive nipple.",
"She inhales sharply.",
"\"Oh. I felt that.\"",
"Another pulse lands between her tits, sliding over soft skin.",
"Hazel keeps her hands nearby like she is not sure whether to touch it or just let you look.",
"\"It's messy,\" she whispers.",
"A shy smile follows.",
"\"But I like that you wanted to do it on me.\""
]
},
"first_climax_face": {
"text": [
"The first time you cum on Hazel's face, she looks overwhelmed before it even happens.",
"You warn her, and she stays there because she wants to be good for you.",
"Your cock pulses, a hot streak of cum landing on her cheek.",
"Hazel gasps and blinks, eyes wide.",
"Another spurt hits near her mouth, marking her soft expression and making her look even more helplessly turned on.",
"\"Oh my god.\"",
"She touches the edge of the mess with trembling fingers.",
"Her voice is tiny.",
"\"I look like yours, don't I?\"",
"Then she blushes harder than the cum on her face ever could have made her."
]
},
"first_climax_mouth": {
"text": [
"The first time Hazel lets you cum in her mouth, she already wants it so badly that her nerves cannot hide it.",
"Her lips are around your cock, tongue working under the shaft, both hands resting on your thighs as she looks up at you.",
"You warn her you are close.",
"Instead of pulling back, Hazel seals her mouth more firmly around the head.",
"The first pulse hits her tongue and her eyes flutter.",
"Hot cum spills into her mouth in thick spurts, and she makes a small needy sound around your cock.",
"She swallows once, then again, throat working as she takes your load because she wants the taste and the proof that she made you finish.",
"Some cum slips to the corner of her lips, but she does not pull away until the last twitch is done.",
"When she finally lifts her mouth off your cock, her lips are wet and her eyes look dazed.",
"\"I swallowed it.\"",
"She says it like a secret she is proud of.",
"A breath.",
"\"I liked the taste. I liked... all of it.\""
]
},
"first_climax_public_hand": {
"text": [
"The first time you cum in Hazel's hand in public, she looks scared of the risk and thrilled that you trusted her with it.",
"Her fingers stroke your cock under cover, quickening when she feels you twitch.",
"\"You're close.\"",
"The words come out soft and amazed.",
"You pulse into her palm, hot cum spilling over her fingers while she stares forward, lips pressed tight to trap the sound.",
"Hazel's hand closes around the mess.",
"Her breathing goes shaky.",
"\"I have you in my hand.\"",
"She almost laughs, almost whimpers.",
"\"Your cum is in my hand. I cannot think.\""
]
},
"first_climax_inside_pussy": {
"text": [
"The first time you cum inside Hazel's pussy, she realizes it from the way your cock starts throbbing deep in her.",
"\"Are you... inside me?\"",
"The first pulse answers her.",
"You spill into her cunt, hot cum filling her while her inner walls clench around every spurt.",
"Hazel gasps and wraps her legs around you like she cannot decide whether to hold you still or pull you deeper.",
"\"Oh. I can feel it.\"",
"Her voice breaks on the last word.",
"You keep pulsing inside her, and her wet pussy tightens around your cock as if her body wants every bit of it.",
"When it is over, she is trembling under you, eyes soft and stunned.",
"\"You came inside me.\"",
"A shy, breathless smile.",
"\"I know I should say something smarter, but I just feel really happy.\""
]
},
"first_climax_inside_ass": {
"text": [
"The first time you cum inside Hazel's ass, the act is careful and overwhelming from start to finish.",
"Your cock is buried in her tight asshole when you tell her you are close.",
"She grips the surface beneath her, breathing hard.",
"\"Okay. I trust you.\"",
"The first pulse makes her whole body tense.",
"You fill her ass with hot cum, cock jerking inside her while the tight ring of muscle clenches around every spurt.",
"Hazel whimpers against the surface beneath her.",
"\"I felt that.\"",
"Another pulse hits and her thighs shake from the sheer intensity of being held through it.",
"When it is over, she stays still until you touch her gently.",
"\"I did it,\" she whispers.",
"Then, smaller:",
"\"Thank you for going slow.\""
]
}
}
}
END_FIRST_TIME_DATA %//% FIRST_TIME_BANK
{
"first_anal": {
"description": [
"Her hand stays on you while her tight asshole stretches around your cock.",
"The first time you press your cock to her ass, she needs a second before she nods and lets you start.",
"The careful start turns dirtier once she realizes she can take more.",
"You ease in by small degrees, stopping whenever her body needs time.",
"By the time you are inside her, she is breathing hard and keeping you close.",
"The first anal stretch demands patience. You move carefully, letting every inch become a negotiation between trust, heat, and how much she is willing to take."
],
"dialogue": [
"\"Slow. Let me breathe through it.\"",
"\"Do not rush. I need to feel safe with this.\"",
"\"Do not rush my ass.\"",
"\"Stay there. I need a second.\"",
"\"Fuck, that is so full.\""
],
"reaction": [
"Her fingers clutch at you while her ass takes the stretch.",
"Her asshole grips you hard once you are inside.",
"She trembles, but her hips do not pull away.",
"Her breathing breaks when another inch slips in.",
"She tightens hard at first, then exhales when you give her time.",
"She tightens hard at first, then exhales when you give her time to adjust."
]
},
"first_handjob": {
"description": [
"The first time her hand wraps around your cock, the contact starts careful and turns real as soon as your body reacts.",
"Her fingers close around your shaft, testing pressure and rhythm while she watches your breathing change.",
"The first stroke is cautious. The next one is slower, guided by the way you throb in her hand.",
"Her palm settles around you, warm and uncertain at first, then firmer when she feels what the touch does."
],
"dialogue": [
"\"Tell me if I should slow down.\"",
"\"I can feel you reacting.\"",
"\"Like this?\"",
"\"Keep still for a second. I want to feel it.\""
],
"reaction": [
"Her grip changes when your cock throbs in her hand.",
"Her eyes flick from your face to her fingers wrapped around you.",
"She grows more confident once your body answers the stroke.",
"Her thumb brushes the head, then repeats the motion when your breath catches."
]
},
"first_blowjob": {
"description": [
"She keeps one hand on your thigh while her lips work around your cock.",
"The first time her mouth closes around your cock, she starts with the head and watches how you react.",
"The blowjob starts cautious, but the wet sound of her mouth makes it dirtier fast.",
"Her tongue moves carefully at first, then she takes more when she feels you getting harder.",
"She pulls back once to breathe, then returns to your cock with more confidence.",
"The first time her mouth closes around you, the room narrows to heat, breath, and the wet rhythm she is learning from your reactions."
],
"dialogue": [
"\"Tell me if you want it slower.\"",
"\"I want to hear what this does to you.\"",
"\"I like feeling you get harder.\"",
"\"Keep watching me.\"",
"\"I want to feel you throb.\"",
"\"Tell me if you are close.\""
],
"reaction": [
"Her eyes flick up while your cock is still in her mouth.",
"Her hand squeezes your thigh when your body reacts.",
"Her lips tighten when she feels you throb.",
"Precum slicks her tongue before she pulls back.",
"She looks up once, gauging what you can handle, then grows bolder when your body answers.",
"She breathes through her nose and takes another inch."
]
},
"first_cunnilingus": {
"description": [
"The first time your mouth reaches her pussy, she goes still for a second, then lets her thighs open.",
"You start with slow licks over her slit and move to her clit when her breathing changes.",
"Her hand finds your hair without forcing you, just keeping you close when it starts to feel good.",
"By the time you pull back, her pussy is wetter and her thighs are trembling.",
"The first taste of her turns the scene quiet and intimate. Your tongue moves carefully at first, then follows the places where her body starts to tremble.",
"You keep your tongue on her until she stops trying to stay perfectly quiet."
],
"dialogue": [
"\"Right there... do not stop.\"",
"\"Your mouth feels better than I expected.\"",
"\"Right there. Keep licking.\"",
"\"Do not stop with your mouth.\"",
"\"My clit. Stay on it.\""
],
"reaction": [
"Her hips lift when your tongue finds her clit.",
"Her thighs tighten around your head.",
"She grips your hair, then loosens her fingers before it gets too rough.",
"A real moan slips out before she can swallow it.",
"Her body stays open for your mouth.",
"Her thighs tense around your head, then ease open when the rhythm finds her."
]
},
"first_kiss": {
"description": [
"The first real kiss starts carefully. You lean in, she does not pull away, and your mouths meet for a few slow seconds.",
"Her lips part just enough to make the kiss feel wanted instead of accidental.",
"You kiss her properly for the first time, keeping it soft until she starts kissing back.",
"You keep one hand still near her side while the kiss turns warmer.",
"The first real kiss changes the distance between you. It starts as a risk, then becomes a decision when neither of you pulls away.",
"When you pull back, the first kiss has done enough without needing to become anything bigger yet."
],
"dialogue": [
"\"Okay... that was real.\"",
"\"Do that again, but slower.\"",
"\"You can kiss me like that.\"",
"\"Stay close for a second.\"",
"\"Okay. That was good.\"",
"\"Do that again, but slowly.\""
],
"reaction": [
"Her eyes stay on your mouth after the kiss ends.",
"She goes still for the first heartbeat, then answers the kiss with a warmer pressure.",
"Her fingers twitch once near your shirt before she catches herself.",
"She goes quiet for a second, then lets out a small breath.",
"She does not step away, which says more than her face does.",
"A faint flush stays on her cheeks."
]
},
"first_sex": {
"description": [
"The first thrusts are careful, but the heat turns real once her hips start moving back.",
"The first time your cock enters her pussy, she watches your face and breathes through the first stretch.",
"You start slowly, letting her wet cunt take you before either of you gets rougher.",
"The first time you slide into her, the rhythm starts slow enough for both of you to feel the change. The heat becomes heavier, closer, and impossible to treat like teasing anymore.",
"She holds onto you when you push deeper, not pulling away even when her breath catches.",
"When you finally settle inside her, the teasing is over and the sex is real."
],
"dialogue": [
"\"Slow at first... I want to feel all of it.\"",
"\"Stay close. Do not rush this.\"",
"\"Slow first. Then harder.\"",
"\"Stay inside me.\"",
"\"Deeper. That feels good.\"",
"\"I want to feel all of it.\""
],
"reaction": [
"Her pussy clenches around your cock.",
"Her hips begin to answer yours after the first few thrusts.",
"She grips you as the first thrust settles, her breath catching before her hips answer yours.",
"Her fingers dig into you when you push deeper.",
"She exhales hard and keeps you close.",
"She looks a little overwhelmed, but she does not pull away."
]
}
}
END_FIRST_TIME_BANK %/<div class="game-closed-page">
<div class="card game-closed-card">
<h1>You have closed the game.</h1>
<h2>The game is now closed</h2>
<p>Sorry, I think you have to close the window yourself</p>
</div>
</div><<run setup.CC.init()>>
<<set $cc.view = "girl">>
<<= setup.CC.view("girl") >><<set $photo001ready to 1>>
/% VIDEO_LIST: analingus,blowjob,cowgirl anal,cowgirl sex,cum facial,cunnilingus,doggy anal,doggy sex,fingering,footjob,handjob,missionary,missionary anal,revcow anal,revcow sex %/
<<set $dialogue001ready to 1>>
/% GIRL_DATA
{
"id": "g0",
"slot": 0,
"first": "Maya",
"last": "Bell",
"name": "Maya Bell",
"age": 24,
"avatar": "🌿",
"style": "warm",
"difficulty": -5,
"bio": "Maya Bell runs a crowded Cafe Row coffee shop with a smile sharp enough to survive bad customers and bad suppliers. She is warm, observant, and funny, but the joke usually arrives half a second before anyone can notice how tired she is.",
"personality": [
"warm",
"observant",
"sharp humor"
],
"inclinations": [
"foodie",
"massage weakness",
"after-hours tease",
"slow trust"
],
"details": {
"eyeColor": "vibrant blue",
"eyeShape": "almond eyes with heavy blue eyeshadow",
"hairColor": "vivid crimson red",
"hairStyle": "long wavy with thick side braid",
"hairLength": "waist-length",
"hairTexture": "silky with volume",
"skinTone": "porcelain pale",
"height": "5'7",
"bustSize": "very large breasts (natural, heavy)",
"buttSize": "thick, round, juicy ass",
"waist": "narrow, defined",
"legs": "long, toned thighs",
"faceShape": "heart-shaped face",
"lips": "full, painted red",
"eyebrows": "elegant arched brows",
"voice": "husky but sweet",
"makeup": "blue eyeshadow",
"nails": "long red polish",
"tattoos": "no",
"piercings": "gold hoop earrings",
"posture": "confident, hips-forward",
"demeanor": "seductive tease",
"top": "tight yellow crop tee",
"bottom": "skin-tight blue jeans",
"outfitFit": "casual but dangerously sexy",
"underwear": "orange lace thong + orange lace bra",
"shoes": "red heels or barefoot",
"accessories": "gold earrings, thin gold chain",
"perfumeStrength": "barely there",
"movement": "controlled gestures",
"laugh": "low, throaty chuckle",
"hobby": "cooking",
"occupation": "cafe owner and barista"
},
"interests": {
"cooking": 82,
"sports": 54,
"informatic": 12,
"finance": 14,
"art": 40,
"photography": 63,
"music": 36
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 46
},
"positionPrefs": {
"kissing": 15,
"touching": 16,
"breast_sensitivity": 35,
"legs_sensitivity": 52,
"receiving_oral": 33,
"giving_oral": 7,
"swallowing": 34,
"sixty_nine": 46,
"missionary": 10,
"cowgirl": 10,
"reverse_cowgirl": 22,
"doggy": 33,
"wall": 13,
"vaginal_sensitivity": 53,
"anal_sensitivity": 34,
"ass_sensitivity": 9,
"breast_sex": 33,
"fingering": 32,
"handjob": 26,
"undressing": 25,
"exhibitionism": 52,
"massage": 78
},
"routine": {
"home": "loc3",
"work": "loc6",
"favorite": "loc8",
"weekend": "loc9",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 62,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 64,
"fallback": "near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on cafe shift"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 001",
"bioStages": [
{
"knowledge": 20,
"text": "You start seeing how much of the cafe is really Maya. She opens early, checks deliveries herself, fixes the grinder with a butter knife when it jams, and still remembers who needs oat milk before they ask. The teasing is real, but so is the exhaustion. She rubs the heel of her hand under her shoulder when she thinks nobody is watching, and the tiny pause in her breathing says more than her jokes ever do."
},
{
"knowledge": 40,
"text": "The chef story is not romantic failure. It is theft with good lighting. At twenty, Maya worked unpaid prep for a visiting pop-up chef who praised her instincts, photographed her notebook, and sold her citrus-coffee glaze, rosemary lamb marinade, and midnight pastry layout to investors as his own concept. He called her a junior assistant when the press came. She had dated photos, a burn scar on her wrist, and no money to fight him. The cafe is not just ambition now. It is evidence that she can build something nobody gets to steal."
},
{
"knowledge": 60,
"text": "Bell After Dark is not a cute supper-club fantasy. It is Maya trying to take back the night he stole from her. Ten seats after closing, handwritten menus, one camera over the prep table, no influencer chaos, no investors renaming her work. She tests dishes alone under the warm counter lights, photographing torn fruit, glossy pastry, oil on her fingers, red nails pressing into dough like she is daring the image to admit what it wants. The plan is food, money, revenge, and attention all braided together. That is why she gets embarrassed when you understand it too quickly."
},
{
"knowledge": 80,
"text": "Her weakness for massage makes more sense once you know how long she has been holding herself upright. Maya likes shoulders first because she can pretend it is practical. Then lower back, hips, inner thighs, the places standing all day has turned private. The dirty part is not being overpowered. It is being handled carefully enough that she stops managing the room. If she lets you keep going after closing, with the chairs stacked and the streetlights on the windows, she is letting you touch the tired owner and the needy woman under her at the same time."
},
{
"knowledge": 95,
"text": "Maya finally admits the want when she is too relaxed to make it clever. She wants food eaten from her skin, photos that make her look desired instead of useful, and hands that can turn her from exhausted cafe owner into a wet, trembling mess without making her feel stupid for needing it. She wants to be cared for so completely that wanting stops feeling like another job. If she lets you see that greedy, filthy, unguarded version of her, it means she trusts you with the part of herself she usually hides behind work and a sharp mouth."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(0)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 001">>
<<= setup.CC.view("girl") >><<set $photo002ready to 1>>
/% VIDEO_LIST: blowjob,doggy sex,doggy anal,fingering,handjob,missionary anal,missionary,revcow sex,revcow anal,standwall anal,standwall sex,69,cowgirl sex, cowgirl anal,analingus,cunnilingus,titfuck %/
<<set $dialogue002ready to 1>>
/% GIRL_DATA
{
"id": "g1",
"slot": 1,
"first": "Zoe",
"last": "Bellamy",
"name": "Zoe Bellamy",
"age": 22,
"avatar": "📚",
"style": "reserved",
"difficulty": -8,
"bio": "Zoe Bellamy works in the University Library, repairs old computers, and notices small sounds before most people notice whole conversations. She is reserved and exacting, but there is a private daring under the quiet if someone earns access slowly.",
"personality": [
"reserved",
"analytical",
"quietly daring"
],
"inclinations": [
"informatic",
"music",
"controlled exhibitionism"
],
"details": {
"eyeColor": "gray",
"eyeShape": "almond eyes",
"hairColor": "blonde",
"hairStyle": "in waves",
"hairLength": "short",
"hairTexture": "coarse",
"skinTone": "brown skin",
"skinDetail": "clear skin",
"height": "tall",
"bodyShape": "an athletic build",
"bustSize": "a small bust",
"buttSize": "a round butt",
"waist": "a soft waist",
"legs": "toned legs",
"faceShape": "a heart-shaped face",
"lips": "wide smile",
"eyebrows": "arched brows",
"voice": "a bright voice",
"makeup": "light makeup",
"scent": "clean soap",
"nails": "painted nails",
"tattoos": "an ankle tattoo",
"piercings": "a nose stud",
"posture": "a restless posture",
"demeanor": "reserved",
"top": "a fitted tee",
"bottom": "a skirt",
"outfitFit": "casual",
"underwear": "a lace underwear set",
"shoes": "a pair of flats",
"accessories": "a watch",
"perfumeStrength": "barely there",
"movement": "controlled gestures",
"laugh": "a quiet laugh",
"hobby": "informatic",
"occupation": "library assistant and hardware repair tech"
},
"interests": {
"cooking": 35,
"sports": 6,
"informatic": 76,
"finance": 33,
"art": 14,
"photography": 38,
"music": 76
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 58
},
"positionPrefs": {
"kissing": 38,
"touching": 21,
"breast_sensitivity": 97,
"legs_sensitivity": 17,
"receiving_oral": 16,
"giving_oral": 15,
"swallowing": 75,
"sixty_nine": 27,
"missionary": 39,
"cowgirl": 19,
"reverse_cowgirl": 32,
"doggy": 10,
"wall": 10,
"vaginal_sensitivity": 75,
"anal_sensitivity": 45,
"ass_sensitivity": 32,
"breast_sex": 7,
"fingering": 33,
"handjob": 26,
"undressing": 19,
"exhibitionism": 87,
"massage": 10
},
"routine": {
"home": "loc4",
"work": "loc5",
"favorite": "loc6",
"weekend": "loc11",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "working the library desk"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 64,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 64,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 002",
"bioStages": [
{
"knowledge": 20,
"text": "Zoe catches small patterns before most people notice anything is wrong: a failing fan, a record needle, the spacing of footsteps in the stacks. She is not cold so much as tuned differently. Flirting at her like a loud song gets you nowhere. The first real sign she likes you is smaller: she lowers one side of her headphones, lets the music keep playing between you, and corrects your mistake about a broken machine without making you feel foolish."
},
{
"knowledge": 40,
"text": "Her private life shifted when she restored a donated archive laptop and found old campus radio files buried in corrupted folders. Most were harmless: dedications, bad bands, late-night confessions. One was not harmless to her. A girl in the recording described being touched in the booth while someone watched through the glass, terrified and turned on by the red light still glowing. Zoe repaired the audio, labeled it preservation work, and listened until she knew every breath."
},
{
"knowledge": 60,
"text": "Zoe keeps an encrypted folder called Static. It holds restored audio, abandoned playlists, media-room tests, and her own notes about public quiet: locked doors, frosted glass, lights that say recording even when nobody is supposed to be there. Her breasts are embarrassingly sensitive, and she hates how fast a precise look or careful touch can make her nipples hard. She does not want random hands. She wants exact attention, chosen slowly enough that she can pretend control is still possible."
},
{
"knowledge": 80,
"text": "Her risk is almost-witnessed, not reckless. A media room with the door locked but the red light on. A library desk where shadows move behind frosted glass. Music low enough to hide a breath, not low enough to make the room innocent. Zoe gets sharper in that state, not softer. She tells you where to stand, when to wait, when to look, and when not to touch yet. The danger is measured, and that measurement is exactly what makes her wet."
},
{
"knowledge": 95,
"text": "When Zoe lets you in, she admits that exposure is what scares her because it works. A silhouette at the archive glass. A blouse pulled tight over hard nipples from one shaky inhale. A recording of her own whimper that she should delete and never does. Her calm is not emptiness. It is a locked room with music still playing inside, and if she opens the door for you, she expects you to hear everything without turning it cheap."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(1)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 002">>
<<= setup.CC.view("girl") >><<set $photo003ready to 1>>
/% VIDEO_LIST: missionary,footjob %/
<<set $dialogue003ready to 1>>
/% GIRL_DATA
{
"id": "g2",
"slot": 2,
"first": "Iris",
"last": "Moon",
"name": "Iris Moon",
"age": 22,
"avatar": "🎨",
"style": "dreamy",
"difficulty": -12,
"bio": "Iris Moon is an art student and mural assistant who seems older than her confidence. She drifts through rooms like she is half watching the light and half looking for somewhere to disappear. She notices color, posture, shadows, and the small expressions people make when they think no one is looking, but she rarely trusts her own place in the scene. Iris is not passive because she has no desires. She is passive because desire makes her feel too visible. With patience, she warms into a shy, eager softness that is not domestic like Hazel's, but visual and dreamy: the observer slowly becoming the subject.",
"personality": [
"dreamy",
"aloof",
"insecure"
],
"inclinations": [
"art as a hiding place",
"photography as proof",
"observer becoming the subject",
"visual shame and arousal",
"needs gentle encouragement"
],
"details": {
"eyeColor": "brown",
"eyeShape": "soft eyes",
"hairColor": "blonde",
"hairStyle": "in curls",
"hairLength": "very long",
"hairTexture": "silky",
"skinTone": "deep brown skin",
"skinDetail": "freckles",
"height": "average height",
"bodyShape": "a curvy build",
"bustSize": "a small bust",
"buttSize": "a round butt",
"waist": "a soft waist",
"legs": "toned legs",
"faceShape": "round face",
"lips": "wide smile",
"eyebrows": "dark brows",
"voice": "a soft voice",
"makeup": "no makeup",
"scent": "vanilla",
"nails": "painted nails",
"tattoos": "an ankle tattoo",
"piercings": "a nose stud",
"posture": "a restless posture",
"demeanor": "dreamy",
"top": "a fitted jacket",
"bottom": "a pair of jeans",
"outfitFit": "work-ready",
"underwear": "plain underwear",
"shoes": "a pair of heels",
"accessories": "no accessories",
"perfumeStrength": "subtle",
"movement": "quick steps",
"laugh": "a nervous laugh",
"hobby": "art",
"occupation": "art student and mural assistant"
},
"interests": {
"cooking": 51,
"sports": 44,
"informatic": 15,
"finance": 8,
"art": 93,
"photography": 67,
"music": 45
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 17
},
"positionPrefs": {
"kissing": 14,
"touching": 23,
"breast_sensitivity": 49,
"legs_sensitivity": 9,
"receiving_oral": 9,
"giving_oral": 14,
"swallowing": 68,
"sixty_nine": 24,
"missionary": 65,
"cowgirl": 14,
"reverse_cowgirl": 43,
"doggy": 35,
"wall": 33,
"vaginal_sensitivity": 14,
"anal_sensitivity": 24,
"ass_sensitivity": 26,
"breast_sex": 34,
"fingering": 12,
"handjob": 88,
"undressing": 25,
"exhibitionism": 77,
"massage": 43
},
"routine": {
"home": "loc3",
"work": "loc11",
"favorite": "loc6",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "working on illustrations"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Midday": {
"label": "Midday",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 003",
"bioStages": [
{
"knowledge": 20,
"text": "Iris studies art and helps with murals, but she often acts like she is only temporarily allowed near the work. She carries brushes, mixes colors, watches people pose, and notices details faster than she volunteers an opinion. When someone asks what she thinks, she usually answers softly and then looks nervous that she said too much."
},
{
"knowledge": 40,
"text": "Her aloofness is partly defense. Iris can look distant, distracted, or impossible to read, but most of that comes from insecurity rather than confidence. She trusts sketches and photos because they let her hold a moment still without having to prove she belongs inside it."
},
{
"knowledge": 60,
"text": "Iris is most comfortable when attention has an excuse: a drawing, a photograph, a pose, a reference, a shared joke about light or color. Direct attention makes her flustered, especially if it is kind. She believes criticism faster than praise, which makes genuine encouragement affect her more than she wants to admit."
},
{
"knowledge": 80,
"text": "Her sexuality has the same contradiction as her art. She is drawn to being seen, but being seen scares her. A patient gaze can affect her more than bold praise, especially when it catches a detail she thought was hidden: the shift of her hips, her mouth opening, her thighs tensing, the moment her body gives away a want before she finds words for it."
},
{
"knowledge": 100,
"text": "With trust, Iris stops treating desire like something she has to observe from outside herself. She is still dreamy, still awkward, still older than Hazel but less sure of herself than she appears. When she finally gives in, she does not become loud or commanding. She becomes visible: flushed, wet, trembling, explicit, and unable to hide the exact moment her body turns into the image she used to be afraid of becoming."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(2)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 003">>
<<= setup.CC.view("girl") >><<set $photo004ready to 1>>
/% VIDEO_LIST: none %/
<<set $dialogue004ready to 1>>
/% GIRL_DATA
{
"id": "g3",
"slot": 3,
"first": "Tessa",
"last": "Grant",
"name": "Tessa Grant",
"age": 27,
"avatar": "💼",
"style": "controlled",
"difficulty": -5,
"bio": "Tessa Grant is a financial analyst with polished manners, athletic discipline, and a smile that can close a conversation without raising her voice. She is private, competitive, and used to setting the terms before anyone else reaches for them.",
"personality": [
"assertive",
"private",
"competitive"
],
"inclinations": [
"finance",
"controlled undressing",
"private dominance"
],
"details": {
"eyeColor": "gray",
"eyeShape": "almond eyes",
"hairColor": "dark red",
"hairStyle": "straight",
"hairLength": "long",
"hairTexture": "silky",
"skinTone": "deep brown skin",
"skinDetail": "smooth complexion",
"height": "tall",
"bodyShape": "a toned build",
"bustSize": "a modest bust",
"buttSize": "wide hips and a fuller butt",
"waist": "a narrow waist",
"legs": "toned legs",
"faceShape": "a heart-shaped face",
"lips": "wide smile",
"eyebrows": "dark brows",
"voice": "a calm voice",
"makeup": "light makeup",
"scent": "coffee",
"nails": "clean-polished nails",
"tattoos": "no visible tattoos",
"piercings": "a nose stud",
"posture": "a restless posture",
"demeanor": "controlled",
"top": "a fitted jacket",
"bottom": "a pair of jeans",
"outfitFit": "stylish",
"underwear": "a lace underwear set",
"shoes": "a pair of sneakers",
"accessories": "a watch",
"perfumeStrength": "light",
"movement": "quick steps",
"laugh": "a quiet laugh",
"hobby": "finance",
"occupation": "financial analyst"
},
"interests": {
"cooking": 2,
"sports": 59,
"informatic": 55,
"finance": 94,
"art": 29,
"photography": 47,
"music": 32
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 86
},
"positionPrefs": {
"kissing": 13,
"touching": 16,
"breast_sensitivity": 47,
"legs_sensitivity": 21,
"receiving_oral": 75,
"giving_oral": 26,
"swallowing": 13,
"sixty_nine": 10,
"missionary": 28,
"cowgirl": 76,
"reverse_cowgirl": 13,
"doggy": 11,
"wall": 7,
"vaginal_sensitivity": 32,
"anal_sensitivity": 82,
"ass_sensitivity": 50,
"breast_sex": 13,
"fingering": 41,
"handjob": 18,
"undressing": 91,
"exhibitionism": 11,
"massage": 16
},
"routine": {
"home": "loc4",
"work": "loc13",
"favorite": "loc6",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 70,
"fallback": "near office clients"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 70,
"fallback": "near office clients"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc13",
"chance": 82,
"fallback": "at the finance desk"
},
"Evening": {
"label": "Evening",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 004",
"bioStages": [
{
"knowledge": 20,
"text": "Tessa treats self-control like capital. Her calendar is tight, her gym bag is packed, and she has no patience for sloppy timing. She does not care about cooking beyond fuel, and casual touching earns analysis before warmth. Attraction starts when someone proves useful under pressure: clean answers, quick thinking, and enough backbone to meet her directly without wasting her time."
},
{
"knowledge": 40,
"text": "She learned money through fear before she learned it through finance. As a teenager, she watched adults smile through overdraft notices, favors with hooks, and relatives who made emergencies contagious. That history made her ambitious, but also almost violently private. Tessa does not like witnesses when she loses composure. Doors locked, phones down, risks named clearly: that is how she convinces herself desire is still a decision."
},
{
"knowledge": 60,
"text": "Her dirtiest habit is ritualized undressing. Not spontaneous mess, not public teasing, not being pawed at before she has chosen the scene. Jacket first, watch next, blouse button by button, each piece folded somewhere deliberate. The strip is powerful because she controls the pace and makes you understand that permission is not access. The real heat is in the waiting, and in the fact that careful attention can make her wet before a hand ever reaches her skin."
},
{
"knowledge": 80,
"text": "Tessa is less exhibitionistic than people assume. Her fantasies are private, expensive, and tightly controlled: clean sheets, blackout curtains, a locked office after everyone else has left. She likes being on top because the pace stays hers. She likes receiving oral because competence is easiest to judge when your mouth is between her thighs. Anal is not a casual dare for her. It is a serious trust test, the most private surrender she allows, and even then she wants to set every term while her tight ass opens by degrees."
},
{
"knowledge": 95,
"text": "Tessa does not secretly want to be beaten at her own game. She wants someone strong enough that choosing them never feels like lowering her standards. She wants to ride you until her control cracks and still make you earn the next inch. She wants your mouth focused enough to make her stop correcting you. If she lets you have her ass, it is not weakness or shock value. It means she trusts you enough to fall apart while still telling you exactly how to fuck her."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(3)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 004">>
<<= setup.CC.view("girl") >><<set $photo005ready to 1>>
<<set $dialogue005ready to 1>>
/% GIRL_DATA
{
"id": "g4",
"slot": 4,
"first": "Leah",
"last": "Cross",
"name": "Leah Cross",
"age": 25,
"avatar": "🏋️",
"style": "athletic owner",
"difficulty": -3,
"bio": "Leah Cross owns Iron Circuit, a gym that looks rougher than it runs. She opens before sunrise, fixes machines when they break, and has no patience for people who treat strength like a costume. She is blunt, protective, and difficult to impress, but she notices effort before charm. If someone keeps showing up, listens when corrected, and does not confuse pride with courage, Leah starts standing closer.",
"personality": [
"direct",
"protective",
"physically intense"
],
"inclinations": [
"rewards real effort",
"trust through touch",
"wall sex fantasy",
"hates reckless pride"
],
"details": {
"eyeColor": "bright teal",
"eyeShape": "sharp almond eyes",
"hairColor": "pink hair with blue-dyed tips",
"hairStyle": "falling around her face",
"hairLength": "long",
"hairTexture": "wavy",
"skinTone": "warm tan skin",
"skinDetail": "smooth complexion",
"height": "medium height",
"bodyShape": "a fit athletic build",
"bustSize": "a full bust",
"buttSize": "a firm round butt",
"waist": "a tight waist",
"legs": "strong legs",
"faceShape": "a neat sharp jaw",
"lips": "glossed lips",
"eyebrows": "clean dark brows",
"voice": "a firm gym-floor voice",
"makeup": "gold eye makeup",
"scent": "citrus",
"nails": "dark-polished nails",
"tattoos": "a hidden tattoo",
"piercings": "a nose stud",
"posture": "upright coaching posture",
"demeanor": "focused and demanding",
"top": "a teal athletic zip jacket",
"bottom": "a pair of fitted track pants",
"outfitFit": "sporty and clean",
"underwear": "simple athletic underwear",
"shoes": "a pair of gym trainers",
"accessories": "a small nose stud",
"perfumeStrength": "barely there",
"movement": "quick, controlled steps",
"laugh": "a short restrained laugh",
"hobby": "lifting and gym repair",
"occupation": "gym owner and fitness coach"
},
"interests": {
"cooking": 34,
"sports": 94,
"informatic": 14,
"finance": 24,
"art": 26,
"photography": 38,
"music": 52
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 74
},
"positionPrefs": {
"kissing": 22,
"touching": 84,
"breast_sensitivity": 12,
"legs_sensitivity": 48,
"receiving_oral": 18,
"giving_oral": 28,
"swallowing": 79,
"sixty_nine": 16,
"missionary": 28,
"cowgirl": 22,
"reverse_cowgirl": 17,
"doggy": 44,
"wall": 82,
"vaginal_sensitivity": 32,
"anal_sensitivity": 13,
"ass_sensitivity": 28,
"breast_sex": 18,
"fingering": 20,
"handjob": 30,
"undressing": 72,
"exhibitionism": 34,
"massage": 46
},
"routine": {
"home": "loc4",
"work": "loc1",
"favorite": "loc8",
"weekend": "loc9",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Midday": {
"label": "Midday",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 62,
"fallback": "keeping her legs moving"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Midday": {
"label": "Midday",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Midday": {
"label": "Midday",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the waterline"
},
"Midday": {
"label": "Midday",
"loc": "loc8",
"chance": 62,
"fallback": "keeping her legs moving"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the waterline"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 82,
"fallback": "coaching at the gym"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "moving across the city"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 005",
"bioStages": [
{
"knowledge": 20,
"text": "Leah owns Iron Circuit, not just the keys. She opens before sunrise, cleans chalk out of the deadlift platform, fixes cable machines with a wrench from her office, and knows which beginners are pretending not to be nervous. Her coaching is blunt because she would rather annoy someone than watch them get hurt. She does not care who looks impressive for one set. She cares who comes back next week and moves better."
},
{
"knowledge": 40,
"text": "She used to compete until a bad meet damaged her shoulder and burned the lesson in permanently. It was not one dramatic accident. It was ego, noise, a bad spotter, and a room full of people cheering a lift that should have been stopped. Leah hates reckless strength because she has felt the cost of it in her own body. That is why she corrects form before she compliments muscle."
},
{
"knowledge": 60,
"text": "Leah warms up when effort becomes consistent. She starts correcting from closer range, presses a hand between your shoulders to fix posture, taps your knee into position, and pretends those small touches are only coaching. She likes sweat, breath, grip, and the honesty of a body doing real work. Big talk does nothing for her. A tired person trying again can hold her attention all day."
},
{
"knowledge": 80,
"text": "Touch matters to Leah because she spends most of her day keeping touch professional. When she finally wants hands on her, she wants them direct and sure. Not pawing, not worship, not timid hovering. Hold her hips, press her to the wall, pull her close enough that she has to trust your strength. The wall fantasy is not about being trapped. It is about being met by someone steady enough that she can stop carrying all the weight alone."
},
{
"knowledge": 100,
"text": "Leah's hidden softness is not fragile. It is private, physical, and hard-earned. Undressing her feels like being let past armor she has worn so long she forgot it was armor. When she gives in, she is still blunt, still demanding, still Leah, but the hunger under it is much less guarded. She wants to be held hard, fucked close, and taken seriously when she says more. When she gets on her knees, she does not dress it up as softness. She likes the weight of the choice, the mess of it, and the look on your face when she does not flinch."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(4)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 005">>
<<= setup.CC.view("girl") >><<set $photo006ready to 1>>
<<set $dialogue006ready to 1>>
/% GIRL_DATA
{
"id": "g5",
"slot": 5,
"first": "Sofia",
"last": "Reed",
"name": "Sofia Reed",
"age": 21,
"avatar": "🎧",
"style": "neon club singer",
"difficulty": -2,
"bio": "Sofia Reed lives between club doors, borrowed stages, last trains, and the kind of applause that disappears before rent is paid. She sings anywhere with a working mic, flirts like she is getting away with something, and reads a room faster than most people read a text. The stage smile is real, but it is not the whole woman. Sofia likes noise, attention, kissing in loud places, and people who can tell the difference between wanting her and wanting the performance.",
"personality": [
"playful",
"street-smart",
"restless"
],
"inclinations": [
"lives for music and crowd heat",
"likes kissing in loud places",
"enjoys being watched on her terms",
"reverse cowgirl fantasy",
"protects the woman behind the stage smile"
],
"details": {
"eyeColor": "hazel",
"eyeShape": "almond eyes",
"hairColor": "black",
"hairStyle": "in braids",
"hairLength": "shoulder-length",
"hairTexture": "soft",
"skinTone": "deep brown skin",
"skinDetail": "sun-kissed skin",
"height": "short",
"bodyShape": "an athletic build",
"bustSize": "a generous bust",
"buttSize": "a round butt",
"waist": "a soft waist",
"legs": "long legs",
"faceShape": "a sharp jaw",
"lips": "full lips",
"eyebrows": "arched brows",
"voice": "a confident voice",
"makeup": "bold lipstick",
"scent": "floral perfume",
"nails": "painted nails",
"tattoos": "a small wrist tattoo",
"piercings": "no piercings",
"posture": "a relaxed posture",
"demeanor": "social",
"top": "a fitted tee",
"bottom": "a skirt",
"outfitFit": "casual",
"underwear": "soft cotton underwear",
"shoes": "a pair of sneakers",
"accessories": "a bracelet",
"perfumeStrength": "strong",
"movement": "quick steps",
"laugh": "a nervous laugh",
"hobby": "writing hooks on her phone",
"occupation": "club singer and session musician"
},
"interests": {
"cooking": 26,
"sports": 20,
"informatic": 20,
"finance": 46,
"art": 56,
"photography": 34,
"music": 96
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 56
},
"positionPrefs": {
"kissing": 76,
"touching": 30,
"breast_sensitivity": 20,
"legs_sensitivity": 25,
"receiving_oral": 30,
"giving_oral": 22,
"swallowing": 7,
"sixty_nine": 28,
"missionary": 18,
"cowgirl": 34,
"reverse_cowgirl": 78,
"doggy": 28,
"wall": 40,
"vaginal_sensitivity": 44,
"anal_sensitivity": 14,
"ass_sensitivity": 68,
"breast_sex": 16,
"fingering": 28,
"handjob": 21,
"undressing": 34,
"exhibitionism": 70,
"massage": 18
},
"routine": {
"home": "loc3",
"work": "loc5",
"favorite": "loc7",
"weekend": "loc9",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "meeting over coffee"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking rehearsal space"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in campus practice"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 45,
"fallback": "meeting over coffee"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 62,
"fallback": "following the music"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 006",
"bioStages": [
{
"knowledge": 20,
"text": "Sofia knows the club circuit from the ugly side: late buses, missing drink tickets, DJs who forget names, managers who call exposure a paycheck, and rooms that love a song but forget the singer. She still walks in dressed like the night belongs to her because sometimes it actually does."
},
{
"knowledge": 40,
"text": "Music is not decoration for Sofia. It is how she keeps moving when the city tries to make everything transactional. She studies crowds, learns which songs make strangers look up, and remembers every bartender, sound tech, bouncer, and booker who can turn a dead night into paid work."
},
{
"knowledge": 60,
"text": "Her confidence is real, but it has rent behind it. Sofia can laugh through a bad set, charm a room that barely deserves her, and then go quiet outside while counting whether the night was worth it. She likes people who notice the hustle without making her explain it."
},
{
"knowledge": 80,
"text": "Sofia likes public spark: a kiss near the speakers, a hand at her waist while she looks back over her shoulder, a glance that says she knows exactly who is watching. She enjoys being wanted, especially when she gets to decide how much of herself the room gets to see. Attention on her ass gets under her skin fast, but it is a flavor of the performance, not the whole song."
},
{
"knowledge": 100,
"text": "When Sofia trusts you, the stage smile drops into something warmer, messier, and more dangerous because it is not for the room anymore. She wants fun without begging for permission, attention without being owned by it, and sex that lets her feel like the star without having to perform for anyone but you."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(5)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 006">>
<<= setup.CC.view("girl") >><<set $photo007ready to 1>>
<<set $dialogue007ready to 1>>
/% GIRL_DATA
{
"id": "g6",
"slot": 6,
"first": "Valerie",
"last": "King",
"name": "Valerie King",
"age": 31,
"avatar": "🖼️",
"style": "white-haired goth gallery director",
"difficulty": 4,
"bio": "Valerie King runs a small art gallery with the quiet severity of someone who learned that taste does not need to raise its voice. She dresses like mourning was invited to tea, keeps her white hair immaculate, and can make a donor, artist, or courier lower their volume with one look. She is not cold so much as carefully arranged. The gallery depends on her because she notices what everyone else misses: bad lighting, false praise, nervous hands, and the tiny moment when someone stops pretending to understand a painting.",
"personality": [
"reserved",
"dry",
"observant"
],
"inclinations": [
"quiet gallery authority",
"loves her clothes",
"leg-focused visual tension",
"private sixty-nine fixation",
"specific attention breaks composure"
],
"details": {
"eyeColor": "dark brown",
"eyeShape": "almond eyes",
"hairColor": "silver-dyed",
"hairStyle": "in a sleek ponytail",
"hairLength": "short",
"hairTexture": "thick",
"skinTone": "deep brown skin",
"skinDetail": "clear skin",
"height": "tall",
"bodyShape": "a toned build",
"bustSize": "a generous bust",
"buttSize": "a firm butt",
"waist": "a defined waist",
"legs": "slim legs",
"faceShape": "a sharp jaw",
"lips": "full lips",
"eyebrows": "arched brows",
"voice": "a bright voice",
"makeup": "no makeup",
"scent": "coffee",
"nails": "painted nails",
"tattoos": "a hidden tattoo",
"piercings": "no piercings",
"posture": "a restless posture",
"demeanor": "commanding",
"top": "a fitted jacket",
"bottom": "a pair of shorts",
"outfitFit": "carefully matched",
"underwear": "a matching underwear set",
"shoes": "a pair of boots",
"accessories": "a watch",
"perfumeStrength": "barely there",
"movement": "quick steps",
"laugh": "a dry laugh",
"hobby": "private collection notes",
"occupation": "art gallery director"
},
"interests": {
"cooking": 14,
"sports": 12,
"informatic": 20,
"finance": 42,
"art": 94,
"photography": 82,
"music": 44
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 47
},
"positionPrefs": {
"kissing": 48,
"touching": 26,
"breast_sensitivity": 28,
"legs_sensitivity": 97,
"receiving_oral": 42,
"giving_oral": 36,
"swallowing": 14,
"sixty_nine": 88,
"missionary": 34,
"cowgirl": 18,
"reverse_cowgirl": 30,
"doggy": 44,
"wall": 32,
"vaginal_sensitivity": 42,
"anal_sensitivity": 24,
"ass_sensitivity": 24,
"breast_sex": 14,
"fingering": 28,
"handjob": 20,
"undressing": 7,
"exhibitionism": 36,
"massage": 24
},
"routine": {
"home": "loc4",
"work": "loc11",
"favorite": "loc10",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Evening": {
"label": "Evening",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 70,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Evening": {
"label": "Evening",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "managing the gallery"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Midday": {
"label": "Midday",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Evening": {
"label": "Evening",
"loc": "loc10",
"chance": 62,
"fallback": "handling office-side errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 007",
"bioStages": [
{
"knowledge": 20,
"text": "Valerie handles the gallery's fragile ecosystem: collectors who want to sound profound, artists pretending not to panic, invoices, wall labels, lighting, shipping forms, and openings where everyone talks too loudly near expensive things. She does not dominate the room. She lowers the temperature until people start behaving."
},
{
"knowledge": 40,
"text": "Her goth style is not decoration. It is control over what kind of attention reaches her. The black lace, structured bodices, long skirts, white hair, and dark lipstick make people look carefully or not at all. Valerie prefers that. Careless attention feels worse to her than silence."
},
{
"knowledge": 60,
"text": "She loves her clothes because they let her choose the shape of herself before anyone else gets an opinion. Undressing her is not easy because the outfit is not packaging. It is armor, taste, mood, and warning. If she lets someone past it, the moment has to matter."
},
{
"knowledge": 80,
"text": "Valerie is more sensitive to specific visual attention than she admits, especially when it settles on details she thought were safely composed: crossed legs under a long skirt, pale ankles, calves half hidden by fabric, the slow shift of her thighs when she sits. Crude staring is easy to dismiss. Exact attention is harder."
},
{
"knowledge": 100,
"text": "With trust, Valerie's stillness becomes less defensive and more intimate. She does not become loud or easy, but the distance thins. She wants to be wanted carefully, touched through the tension she built around herself, and drawn into sex private enough to ruin her composure without turning her into someone else."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(6)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 007">>
<<= setup.CC.view("girl") >><<set $photo008ready to 1>>
<<set $dialogue008ready to 1>>
/% GIRL_DATA
{
"id": "g7",
"slot": 7,
"first": "Hazel",
"last": "Mercer",
"name": "Hazel Mercer",
"age": 24,
"avatar": "🍞",
"style": "soft-spoken kitchen helper",
"difficulty": -8,
"bio": "Hazel Mercer works as a kitchen helper in the kind of place where the morning starts too early, the floor is always a little damp, and someone is always asking where the clean towels went. She is not a chef and does not pretend to be one. She chops, rinses, carries, wipes counters, restocks, hums along to whatever music is playing, and quietly keeps the room from falling apart around louder people. Hazel is sweet, shy, and too quick to apologize, but there is more under the soft sweater and careful smile than people usually notice. She likes simple comforts, gentle attention, and the feeling of being useful. When desire gets direct, she folds faster than she expects, especially when someone pins her close enough that she cannot hide behind politeness.",
"personality": [
"sweet",
"shy",
"accommodating"
],
"inclinations": [
"quiet kitchen helper",
"uses music to stay cheerful",
"comfort through massage",
"eager to please",
"dirty oral streak",
"likes being pinned against a wall"
],
"details": {
"eyeColor": "green",
"eyeShape": "almond eyes",
"hairColor": "auburn",
"hairStyle": "in a messy bun",
"hairLength": "long",
"hairTexture": "thick",
"skinTone": "brown skin",
"skinDetail": "freckles",
"height": "tall",
"bodyShape": "a slim build",
"bustSize": "a small bust",
"buttSize": "wide hips and a fuller butt",
"waist": "a soft waist",
"legs": "curvy legs",
"faceShape": "a sharp jaw",
"lips": "full lips",
"eyebrows": "arched brows",
"voice": "a bright voice",
"makeup": "natural makeup",
"scent": "vanilla",
"nails": "clean-polished nails",
"tattoos": "a hidden tattoo",
"piercings": "multiple earrings",
"posture": "an athletic stance",
"demeanor": "practical",
"top": "a loose sweater",
"bottom": "a pair of jeans",
"outfitFit": "practical",
"underwear": "a lace underwear set",
"shoes": "a pair of boots",
"accessories": "a bracelet",
"perfumeStrength": "strong",
"movement": "quick steps",
"laugh": "a quiet laugh",
"hobby": "testing cheap recipes",
"occupation": "kitchen helper"
},
"interests": {
"cooking": 55,
"sports": 34,
"informatic": 14,
"finance": 12,
"art": 44,
"photography": 42,
"music": 55
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 8
},
"positionPrefs": {
"kissing": 42,
"touching": 16,
"breast_sensitivity": 42,
"legs_sensitivity": 28,
"receiving_oral": 30,
"giving_oral": 92,
"swallowing": 84,
"sixty_nine": 20,
"missionary": 26,
"cowgirl": 10,
"reverse_cowgirl": 8,
"doggy": 36,
"wall": 96,
"vaginal_sensitivity": 62,
"anal_sensitivity": 16,
"ass_sensitivity": 22,
"breast_sex": 38,
"fingering": 24,
"handjob": 32,
"undressing": 18,
"exhibitionism": 14,
"massage": 46
},
"routine": {
"home": "loc3",
"work": "loc6",
"favorite": "loc2",
"weekend": "loc8",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "on kitchen prep"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 008",
"bioStages": [
{
"knowledge": 20,
"text": "Hazel's work is not glamorous. She preps ingredients, carries trays, washes tools, restocks shelves, and tries to solve small problems before anyone turns them into big ones. She is used to being thanked quickly or not at all, which is probably why genuine attention makes her blush so easily."
},
{
"knowledge": 40,
"text": "Cooking matters to Hazel because it is work, routine, and usefulness, not because she dreams about perfect recipes. Music matters more emotionally. A good playlist can get her through a long shift, keep her hands moving, and make a dull afternoon feel less lonely."
},
{
"knowledge": 60,
"text": "Hazel has mild interests in a lot of things rather than one grand passion. She likes pretty photos, handmade objects, easy songs, warm rooms, and people who do not make her defend every small preference. She usually lets stronger personalities take the lead, then quietly remembers what made them happy."
},
{
"knowledge": 80,
"text": "Her shyness becomes obvious around clothes and attention. Undressing makes her nervous because it feels like losing the soft buffer she uses to move through the world. Massage works better on her because it gives touch a reason to start gentle before it becomes something more intimate."
},
{
"knowledge": 100,
"text": "With trust, Hazel's private desires turn out to be much more direct than her daily voice. She wants to be guided without being mocked, held firmly without being scared, and wanted in ways that let her stop thinking for a while. A wall at her back, a hand steadying her jaw, a cock in her mouth, and the messy choice to swallow can undo her faster than any polished seduction."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(7)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 008">>
<<= setup.CC.view("girl") >><<set $photo009ready to 0>>
<<if $dialogue009ready is undefined>><<set $dialogue009ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g8",
"slot": 8,
"first": "Elena",
"last": "Park",
"name": "Elena Park",
"age": 26,
"avatar": "💻",
"style": "repair tech",
"difficulty": -10,
"bio": "Elena Park repairs laptops, networks, and other people's terrible explanations. She is practical, dry, and more competitive than she first appears. If she says a problem is simple, it means she already solved the part that made everyone else sweat.",
"personality": [
"precise",
"competitive",
"dry"
],
"inclinations": [
"likes competence",
"oral control",
"wall sex",
"hates unpaid favors"
],
"details": {
"eyeColor": "green",
"eyeShape": "wide eyes",
"hairColor": "black",
"hairStyle": "in waves",
"hairLength": "very long",
"hairTexture": "soft",
"skinTone": "olive skin",
"skinDetail": "freckles",
"height": "average height",
"bodyShape": "a soft build",
"bustSize": "a modest bust",
"buttSize": "a firm butt",
"waist": "a defined waist",
"legs": "curvy legs",
"faceShape": "oval face",
"lips": "glossy lips",
"eyebrows": "soft brows",
"voice": "a calm voice",
"makeup": "light makeup",
"scent": "coffee",
"nails": "dark-polished nails",
"tattoos": "a hidden tattoo",
"piercings": "a nose stud",
"posture": "a restless posture",
"demeanor": "focused",
"top": "a tank top",
"bottom": "a pair of jeans",
"outfitFit": "work-ready",
"underwear": "plain underwear",
"shoes": "a pair of sneakers",
"accessories": "a thin necklace",
"perfumeStrength": "barely there",
"movement": "quick steps",
"laugh": "a quiet laugh",
"hobby": "restoring old laptops",
"occupation": "repair tech"
},
"interests": {
"cooking": 24,
"sports": 40,
"informatic": 94,
"finance": 66,
"art": 28,
"photography": 18,
"music": 34
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 67
},
"positionPrefs": {
"kissing": 18,
"touching": 28,
"breast_sensitivity": 12,
"legs_sensitivity": 26,
"receiving_oral": 20,
"giving_oral": 82,
"swallowing": 43,
"sixty_nine": 34,
"missionary": 20,
"cowgirl": 22,
"reverse_cowgirl": 28,
"doggy": 34,
"wall": 68,
"vaginal_sensitivity": 38,
"anal_sensitivity": 28,
"ass_sensitivity": 22,
"breast_sex": 16,
"fingering": 28,
"handjob": 44,
"undressing": 62,
"exhibitionism": 20,
"massage": 16
},
"routine": {
"home": "loc4",
"work": "loc10",
"favorite": "loc5",
"weekend": "loc6",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 70,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 82,
"fallback": "on a systems job"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 009",
"bioStages": [
{
"knowledge": 20,
"text": "Elena sees the city through broken things: dead laptops, jammed printers, old routers, backups that never backed up anything. She likes machines because they do not pretend. Either the file opens and the client pays, or it does not."
},
{
"knowledge": 40,
"text": "Money matters to her because she has watched skilled people get underpaid by clients who call technical work magic. She writes quotes, keeps receipts, and refuses to discount expertise for a smile."
},
{
"knowledge": 60,
"text": "Elena respects competence before charm. Solve a problem, keep your word, and pay on time. That will impress her more than a dramatic confession. She is not cold. She just likes proof she can hold."
},
{
"knowledge": 80,
"text": "Her sexual confidence shows up in service that still feels like command. Giving oral lets her choose the pace, watch the effect, and turn skill into power. Wall sex appeals for the same reason: no softness, no speeches, just bodies and results."
},
{
"knowledge": 100,
"text": "When Elena trusts you, the dry jokes get filthier and the rules get clearer. She likes being wanted by someone who can keep up with her brain and her hands. Waste her time and she leaves. Match her, and she becomes fiercely, almost dangerously generous."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(8)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 009">>
<<= setup.CC.view("girl") >><<set $photo010ready to 0>>
<<if $dialogue010ready is undefined>><<set $dialogue010ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g9",
"slot": 9,
"first": "Rita",
"last": "Fox",
"name": "Rita Fox",
"age": 22,
"avatar": "🌊",
"style": "beach lifeguard",
"difficulty": -4,
"bio": "Rita Fox is a lifeguard with sun in her hair, sand in every bag, and no patience for people who confuse confidence with safety. She looks unserious until something goes wrong. Then she is already moving.",
"personality": [
"playful",
"alert",
"sunny"
],
"inclinations": [
"legs obsession",
"footjob teasing",
"beach confidence",
"hates fake emergencies"
],
"details": {
"eyeColor": "blue",
"eyeShape": "soft eyes",
"hairColor": "auburn",
"hairStyle": "in waves",
"hairLength": "long",
"hairTexture": "thick",
"skinTone": "olive skin",
"skinDetail": "smooth complexion",
"height": "short",
"bodyShape": "an athletic build",
"bustSize": "a modest bust",
"buttSize": "a firm butt",
"waist": "a defined waist",
"legs": "toned legs",
"faceShape": "a heart-shaped face",
"lips": "full lips",
"eyebrows": "neat brows",
"voice": "a confident voice",
"makeup": "natural makeup",
"scent": "clean soap",
"nails": "short nails",
"tattoos": "a small wrist tattoo",
"piercings": "multiple earrings",
"posture": "a relaxed posture",
"demeanor": "restless",
"top": "a tank top",
"bottom": "a skirt",
"outfitFit": "casual",
"underwear": "a matching underwear set",
"shoes": "a pair of sneakers",
"accessories": "a watch",
"perfumeStrength": "subtle",
"movement": "slow movements",
"laugh": "a dry laugh",
"hobby": "beach running",
"occupation": "lifeguard"
},
"interests": {
"cooking": 32,
"sports": 90,
"informatic": 10,
"finance": 16,
"art": 28,
"photography": 46,
"music": 60
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 48
},
"positionPrefs": {
"kissing": 66,
"touching": 32,
"breast_sensitivity": 26,
"legs_sensitivity": 96,
"receiving_oral": 20,
"giving_oral": 28,
"swallowing": 23,
"sixty_nine": 24,
"missionary": 36,
"cowgirl": 28,
"reverse_cowgirl": 24,
"doggy": 24,
"wall": 16,
"vaginal_sensitivity": 40,
"anal_sensitivity": 8,
"ass_sensitivity": 20,
"breast_sex": 10,
"fingering": 18,
"handjob": 78,
"undressing": 36,
"exhibitionism": 48,
"massage": 22
},
"routine": {
"home": "loc3",
"work": "loc9",
"favorite": "loc1",
"weekend": "loc9",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 45,
"fallback": "keeping her legs moving"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "moving across the city"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Midday": {
"label": "Midday",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Midday": {
"label": "Midday",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 74,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 74,
"fallback": "out under the bass"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 82,
"fallback": "working near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 010",
"bioStages": [
{
"knowledge": 20,
"text": "Rita spends more time watching people than flirting with them. She spots the drunk swimmer, the kid drifting too far out, and the guy who wants a rescue to look romantic. The beach makes her playful. The job made her fast."
},
{
"knowledge": 40,
"text": "Her body is built by running on sand, climbing stands, dragging boards, and swimming when the water is cold enough to punish vanity. She likes her legs because they earned every line. Compliment them well and she beams. Make it cheap and she laughs you into the ground."
},
{
"knowledge": 60,
"text": "Rita is not shy, but she dislikes being cornered. She responds best to jokes, movement, and dares she can win. Sitting still makes her restless. Give her a reason to race you and she will remember the challenge."
},
{
"knowledge": 80,
"text": "Her leg fixation turns dirty once she trusts you. A foot on your thigh, a heel dragging down your stomach, her toes closing around your cock just to watch your face. She likes teasing from a position where she can still spring away laughing."
},
{
"knowledge": 100,
"text": "When Rita lets herself want, it stays bright and physical. She kisses hard, moves constantly, and turns embarrassment into a joke before it can slow her down. Under the jokes is a girl who wants to be chosen even after the rescue fantasy is gone."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(9)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 010">>
<<= setup.CC.view("girl") >><<set $photo011ready to 0>>
<<if $dialogue011ready is undefined>><<set $dialogue011ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g10",
"slot": 10,
"first": "Clara",
"last": "Voss",
"name": "Clara Voss",
"age": 29,
"avatar": "🍷",
"style": "event planner",
"difficulty": -13,
"bio": "Clara Voss plans events with clean lists, sharp shoes, and a smile that can kill a disaster before guests notice. She likes beauty, profit, and a room that behaves. Chaos annoys her because she is usually the one paid to clean it up.",
"personality": [
"elegant",
"strategic",
"composed"
],
"inclinations": [
"public risk",
"anal curiosity",
"social games",
"likes manners with dirt underneath"
],
"details": {
"eyeColor": "green",
"eyeShape": "wide eyes",
"hairColor": "auburn",
"hairStyle": "straight",
"hairLength": "very long",
"hairTexture": "soft",
"skinTone": "olive skin",
"skinDetail": "freckles",
"height": "short",
"bodyShape": "a toned build",
"bustSize": "a modest bust",
"buttSize": "a round butt",
"waist": "a defined waist",
"legs": "slim legs",
"faceShape": "round face",
"lips": "a soft smile",
"eyebrows": "neat brows",
"voice": "a bright voice",
"makeup": "light makeup",
"scent": "floral perfume",
"nails": "short nails",
"tattoos": "an ankle tattoo",
"piercings": "multiple earrings",
"posture": "an athletic stance",
"demeanor": "elegant",
"top": "a fitted jacket",
"bottom": "a skirt",
"outfitFit": "practical",
"underwear": "plain underwear",
"shoes": "a pair of heels",
"accessories": "a thin necklace",
"perfumeStrength": "subtle",
"movement": "slow movements",
"laugh": "a bright laugh",
"hobby": "collecting venue gossip",
"occupation": "event planner"
},
"interests": {
"cooking": 28,
"sports": 22,
"informatic": 34,
"finance": 70,
"art": 68,
"photography": 54,
"music": 52
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 75
},
"positionPrefs": {
"kissing": 34,
"touching": 24,
"breast_sensitivity": 18,
"legs_sensitivity": 22,
"receiving_oral": 32,
"giving_oral": 20,
"swallowing": 86,
"sixty_nine": 44,
"missionary": 24,
"cowgirl": 30,
"reverse_cowgirl": 38,
"doggy": 24,
"wall": 42,
"vaginal_sensitivity": 36,
"anal_sensitivity": 72,
"ass_sensitivity": 32,
"breast_sex": 16,
"fingering": 24,
"handjob": 18,
"undressing": 46,
"exhibitionism": 92,
"massage": 18
},
"routine": {
"home": "loc4",
"work": "loc10",
"favorite": "loc11",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 70,
"fallback": "dealing with money errands"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 82,
"fallback": "handling client logistics"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Midday": {
"label": "Midday",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking art and photos"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 011",
"bioStages": [
{
"knowledge": 20,
"text": "Clara lives in seating maps, contracts, flowers that arrive warm, and clients who change their minds after everything is printed. She makes it look graceful because panic is bad for business. Anyone who notices the work behind the smile earns a better version of it."
},
{
"knowledge": 40,
"text": "She understands money because events punish wishful thinking. A missing deposit can ruin a week. A badly priced room can eat the profit from an entire job. Clara has taste, but taste only matters if the invoice clears."
},
{
"knowledge": 60,
"text": "Her public streak grew out of work. She knows what a room notices, what it ignores, and how far a dress can slip before gossip starts doing the advertising for her. She enjoys that little danger more than she admits."
},
{
"knowledge": 80,
"text": "Clara likes dirty secrets wrapped in good manners. A hand at her back in a crowded hallway, a locked service door, a smile across a table that means something completely different. Anal curiosity fits her because it feels forbidden without being sloppy."
},
{
"knowledge": 100,
"text": "When Clara trusts you, the hostess act finally gets to rest. She still wants the world upstairs to look perfect. Downstairs, behind a door nobody should open, she wants someone who can make her stop managing every second and still keep the secret."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(10)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 011">>
<<= setup.CC.view("girl") >><<set $photo012ready to 0>>
<<if $dialogue012ready is undefined>><<set $dialogue012ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g11",
"slot": 11,
"first": "Mina",
"last": "Hart",
"name": "Mina Hart",
"age": 18,
"avatar": "🚌",
"style": "commuter student",
"difficulty": 2,
"bio": "Mina Hart is a commuter student who knows which cafes allow long study sessions and which streets feel better before dark. She is shy, overprepared, and much sharper than her nervous voice suggests.",
"personality": [
"shy",
"bright",
"overprepared"
],
"inclinations": [
"gentle kissing",
"breast sensitivity",
"slow guidance",
"specific praise"
],
"details": {
"eyeColor": "gray",
"eyeShape": "soft eyes",
"hairColor": "blonde",
"hairStyle": "straight",
"hairLength": "long",
"hairTexture": "silky",
"skinTone": "deep brown skin",
"skinDetail": "beauty mark",
"height": "short",
"bodyShape": "a curvy build",
"bustSize": "a modest bust",
"buttSize": "a firm butt",
"waist": "a defined waist",
"legs": "long legs",
"faceShape": "a heart-shaped face",
"lips": "a soft smile",
"eyebrows": "dark brows",
"voice": "a calm voice",
"makeup": "natural makeup",
"scent": "clean soap",
"nails": "short nails",
"tattoos": "no visible tattoos",
"piercings": "a nose stud",
"posture": "a restless posture",
"demeanor": "shy",
"top": "a fitted jacket",
"bottom": "a skirt",
"outfitFit": "casual",
"underwear": "plain underwear",
"shoes": "a pair of boots",
"accessories": "no accessories",
"perfumeStrength": "light",
"movement": "quick steps",
"laugh": "a bright laugh",
"hobby": "study photography",
"occupation": "student and tutor"
},
"interests": {
"cooking": 50,
"sports": 12,
"informatic": 70,
"finance": 20,
"art": 38,
"photography": 64,
"music": 42
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 17
},
"positionPrefs": {
"kissing": 72,
"touching": 52,
"breast_sensitivity": 86,
"legs_sensitivity": 28,
"receiving_oral": 30,
"giving_oral": 12,
"swallowing": 86,
"sixty_nine": 20,
"missionary": 50,
"cowgirl": 14,
"reverse_cowgirl": 12,
"doggy": 16,
"wall": 9,
"vaginal_sensitivity": 40,
"anal_sensitivity": 7,
"ass_sensitivity": 30,
"breast_sex": 42,
"fingering": 38,
"handjob": 16,
"undressing": 32,
"exhibitionism": 20,
"massage": 44
},
"routine": {
"home": "loc3",
"work": "loc5",
"favorite": "loc12",
"weekend": "loc6",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Evening": {
"label": "Evening",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Evening": {
"label": "Evening",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "in study hours"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 62,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 64,
"fallback": "coffee and conversation"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 012",
"bioStages": [
{
"knowledge": 20,
"text": "Mina carries too much because being unprepared scares her more than sore shoulders. Chargers, snacks, pens, a sweater, library books, backup notes. She is not helpless. She is used to solving problems quietly before anyone notices she had them."
},
{
"knowledge": 40,
"text": "Computers became practical for her before they became interesting. She fixed her own laptop because paying someone was impossible, then found she liked the logic. A broken machine with a clear cause feels kinder than people on a bad day."
},
{
"knowledge": 60,
"text": "Mina responds to gentleness faster than confidence. Slow kissing, patient hands, and praise that names something real can make her look up instead of away. Attention on her breasts embarrasses her because her body reacts before she can hide it."
},
{
"knowledge": 80,
"text": "Trust makes her curious. She asks quiet questions, then turns red because she already imagined the answer. She wants guidance without being rushed, touch without being handled like a project, and desire that lets her stay nervous without feeling foolish."
},
{
"knowledge": 100,
"text": "Mina gets bold in small, shocking pieces. A kiss she starts herself. Fingers curling into your shirt. A whispered request that makes her cover her face afterward. When she finally lets herself want, it is not practiced. It is nervous, hungry, and real."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(11)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 012">>
<<= setup.CC.view("girl") >><<set $photo013ready to 0>>
<<if $dialogue013ready is undefined>><<set $dialogue013ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g12",
"slot": 12,
"first": "Paige",
"last": "Sterling",
"name": "Paige Sterling",
"age": 28,
"avatar": "🧾",
"style": "soft accountant",
"difficulty": -7,
"bio": "Paige Sterling is an accountant with neat ledgers, soft cardigans, and a frightening memory for numbers that do not line up. She is polite until someone lies to her. Then the softness stays, but the excuses start dying quickly.",
"personality": [
"polite",
"watchful",
"quietly greedy"
],
"inclinations": [
"mutual oral",
"reciprocity kink",
"kissing warmth",
"proof over promises"
],
"details": {
"eyeColor": "brown",
"eyeShape": "wide eyes",
"hairColor": "blonde",
"hairStyle": "straight",
"hairLength": "long",
"hairTexture": "coarse",
"skinTone": "porcelain skin",
"skinDetail": "smooth complexion",
"height": "tall",
"bodyShape": "a curvy build",
"bustSize": "a full bust",
"buttSize": "wide hips and a fuller butt",
"waist": "a narrow waist",
"legs": "curvy legs",
"faceShape": "round face",
"lips": "a soft smile",
"eyebrows": "neat brows",
"voice": "a bright voice",
"makeup": "light makeup",
"scent": "clean soap",
"nails": "clean-polished nails",
"tattoos": "an ankle tattoo",
"piercings": "a nose stud",
"posture": "a relaxed posture",
"demeanor": "careful",
"top": "a button shirt",
"bottom": "a pair of leggings",
"outfitFit": "carefully matched",
"underwear": "soft cotton underwear",
"shoes": "a pair of heels",
"accessories": "earrings",
"perfumeStrength": "strong",
"movement": "controlled gestures",
"laugh": "a quiet laugh",
"hobby": "spotting bad numbers",
"occupation": "accountant"
},
"interests": {
"cooking": 38,
"sports": 20,
"informatic": 54,
"finance": 96,
"art": 24,
"photography": 12,
"music": 56
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 38
},
"positionPrefs": {
"kissing": 64,
"touching": 30,
"breast_sensitivity": 26,
"legs_sensitivity": 22,
"receiving_oral": 46,
"giving_oral": 44,
"swallowing": 74,
"sixty_nine": 88,
"missionary": 34,
"cowgirl": 20,
"reverse_cowgirl": 18,
"doggy": 24,
"wall": 12,
"vaginal_sensitivity": 42,
"anal_sensitivity": 14,
"ass_sensitivity": 20,
"breast_sex": 16,
"fingering": 34,
"handjob": 26,
"undressing": 38,
"exhibitionism": 30,
"massage": 38
},
"routine": {
"home": "loc4",
"work": "loc13",
"favorite": "loc6",
"weekend": "loc8",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 70,
"fallback": "near office clients"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 70,
"fallback": "near office clients"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc13",
"chance": 82,
"fallback": "on finance paperwork"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "taking a measured coffee break"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 013",
"bioStages": [
{
"knowledge": 20,
"text": "Paige likes books that balance because they tell the truth eventually. Receipts, dates, deposits, strange little gaps nobody else respects. Her work looks boring until a business exposes itself through one missing decimal."
},
{
"knowledge": 40,
"text": "She is cautious with people because she has seen how expensive a lazy promise can become. A bad signature, a favor that becomes debt, a smile used as paperwork. The quickest way to interest her is to admit what you do not know."
},
{
"knowledge": 60,
"text": "Paige is not as shy as she first looks. She likes fairness turning filthy: both mouths busy, both bodies losing composure, neither person hiding behind generosity. Sixty-nine hits her harder than she expected because it makes giving and taking happen at once."
},
{
"knowledge": 80,
"text": "The accountant mask slips when pleasure stops being countable. Paige tries to track your reactions, her breath, who is winning. Then the math fails, and the failure makes her blush hard enough to want more."
},
{
"knowledge": 100,
"text": "With trust, Paige becomes quietly greedy. She still smooths her cardigan afterward and checks her phone like nothing happened, but she asks for what she wants with new confidence. Equal pleasure, clear promises, no emotional debt left unpaid."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(12)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 013">>
<<= setup.CC.view("girl") >><<set $photo014ready to 0>>
<<if $dialogue014ready is undefined>><<set $dialogue014ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g13",
"slot": 13,
"first": "Bianca",
"last": "Rowe",
"name": "Bianca Rowe",
"age": 24,
"avatar": "💆",
"style": "massage therapist",
"difficulty": 5,
"bio": "Bianca Rowe is a massage therapist with calm hands, firm rules, and the unnerving ability to find the sore spot before someone admits it hurts. She is gentle, but not vague. Anyone who mistakes warmth for permission learns quickly.",
"personality": [
"grounded",
"firm",
"warm"
],
"inclinations": [
"massage intimacy",
"missionary closeness",
"touch with purpose",
"strict professional boundaries"
],
"details": {
"eyeColor": "hazel",
"eyeShape": "almond eyes",
"hairColor": "auburn",
"hairStyle": "in curls",
"hairLength": "very long",
"hairTexture": "coarse",
"skinTone": "brown skin",
"skinDetail": "sun-kissed skin",
"height": "average height",
"bodyShape": "a toned build",
"bustSize": "a full bust",
"buttSize": "a small butt",
"waist": "a narrow waist",
"legs": "slim legs",
"faceShape": "a sharp jaw",
"lips": "full lips",
"eyebrows": "soft brows",
"voice": "a calm voice",
"makeup": "natural makeup",
"scent": "floral perfume",
"nails": "clean-polished nails",
"tattoos": "a hidden tattoo",
"piercings": "multiple earrings",
"posture": "an upright posture",
"demeanor": "calm",
"top": "a tank top",
"bottom": "a skirt",
"outfitFit": "carefully matched",
"underwear": "plain underwear",
"shoes": "a pair of boots",
"accessories": "a watch",
"perfumeStrength": "light",
"movement": "restless hands",
"laugh": "a dry laugh",
"hobby": "bodywork and cooking simple meals",
"occupation": "massage therapist"
},
"interests": {
"cooking": 52,
"sports": 60,
"informatic": 20,
"finance": 28,
"art": 44,
"photography": 30,
"music": 42
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 69
},
"positionPrefs": {
"kissing": 32,
"touching": 74,
"breast_sensitivity": 18,
"legs_sensitivity": 34,
"receiving_oral": 20,
"giving_oral": 38,
"swallowing": 95,
"sixty_nine": 20,
"missionary": 88,
"cowgirl": 26,
"reverse_cowgirl": 16,
"doggy": 18,
"wall": 10,
"vaginal_sensitivity": 64,
"anal_sensitivity": 30,
"ass_sensitivity": 22,
"breast_sex": 12,
"fingering": 36,
"handjob": 20,
"undressing": 24,
"exhibitionism": 7,
"massage": 94
},
"routine": {
"home": "loc4",
"work": "loc14",
"favorite": "loc6",
"weekend": "loc8",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Morning": {
"label": "Morning",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Midday": {
"label": "Midday",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Midday": {
"label": "Midday",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 82,
"fallback": "taking spa appointments"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 014",
"bioStages": [
{
"knowledge": 20,
"text": "Bianca remembers injuries, surgeries, bad backs, tight shoulders, and clients who claim they are fine while their bodies tell on them. She is not mystical about touch. She simply pays attention and does the work properly."
},
{
"knowledge": 40,
"text": "She keeps her private life away from her massage table because she has seen people confuse relief with romance. Professional kindness is still professional. If you want anything more from Bianca, you have to prove you understand where work ends."
},
{
"knowledge": 60,
"text": "When Bianca wants someone, she becomes more direct rather than coy. She likes a hand placed clearly, a kiss that does not fumble, and bodies face to face where nobody gets treated like equipment. Missionary appeals because the person stays in the act."
},
{
"knowledge": 80,
"text": "Massage is what she gives. Being touched back is the rare thing. If she lets your hands work over her slowly, she is not grading technique anymore. She is letting herself stop being the expert for once."
},
{
"knowledge": 100,
"text": "Bianca wants to be held in a way that does not require supervision. No audience, no rushed fumbling, no client smile. Just skin, breath, and someone steady enough to make her lose composure without making her regret it."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(13)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 014">>
<<= setup.CC.view("girl") >><<set $photo015ready to 0>>
<<if $dialogue015ready is undefined>><<set $dialogue015ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g14",
"slot": 14,
"first": "Hana",
"last": "Sato",
"name": "Hana Sato",
"age": 20,
"avatar": "🎹",
"style": "quiet musician",
"difficulty": -15,
"bio": "Hana Sato teaches music with a soft voice and terrifying standards. She corrects beginners kindly, practices until her fingers ache, and notices who is actually listening instead of waiting to talk.",
"personality": [
"soft-spoken",
"intense",
"meticulous"
],
"inclinations": [
"receiving oral",
"sensitive breasts",
"music lessons",
"needs quiet trust"
],
"details": {
"eyeColor": "blue",
"eyeShape": "wide eyes",
"hairColor": "brown",
"hairStyle": "in curls",
"hairLength": "shoulder-length",
"hairTexture": "soft",
"skinTone": "tan skin",
"skinDetail": "sun-kissed skin",
"height": "short",
"bodyShape": "a toned build",
"bustSize": "a generous bust",
"buttSize": "a round butt",
"waist": "a narrow waist",
"legs": "slim legs",
"faceShape": "oval face",
"lips": "wide smile",
"eyebrows": "soft brows",
"voice": "a bright voice",
"makeup": "no makeup",
"scent": "citrus",
"nails": "dark-polished nails",
"tattoos": "a small wrist tattoo",
"piercings": "earrings",
"posture": "an upright posture",
"demeanor": "gentle",
"top": "a fitted tee",
"bottom": "a pair of leggings",
"outfitFit": "casual",
"underwear": "plain underwear",
"shoes": "a pair of sneakers",
"accessories": "earrings",
"perfumeStrength": "strong",
"movement": "quick steps",
"laugh": "a dry laugh",
"hobby": "arranging practice pieces",
"occupation": "music teacher"
},
"interests": {
"cooking": 42,
"sports": 18,
"informatic": 34,
"finance": 14,
"art": 56,
"photography": 30,
"music": 96
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 22
},
"positionPrefs": {
"kissing": 52,
"touching": 30,
"breast_sensitivity": 64,
"legs_sensitivity": 18,
"receiving_oral": 90,
"giving_oral": 18,
"swallowing": 25,
"sixty_nine": 22,
"missionary": 40,
"cowgirl": 12,
"reverse_cowgirl": 16,
"doggy": 18,
"wall": 14,
"vaginal_sensitivity": 46,
"anal_sensitivity": 20,
"ass_sensitivity": 16,
"breast_sex": 76,
"fingering": 42,
"handjob": 16,
"undressing": 34,
"exhibitionism": 12,
"massage": 38
},
"routine": {
"home": "loc4",
"work": "loc5",
"favorite": "loc11",
"weekend": "loc6",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking rehearsal space"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking rehearsal space"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 62,
"fallback": "checking rehearsal space"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 82,
"fallback": "teaching or practicing"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking rehearsal space"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 64,
"fallback": "meeting over coffee"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 62,
"fallback": "checking rehearsal space"
},
"Evening": {
"label": "Evening",
"loc": "loc11",
"chance": 62,
"fallback": "checking rehearsal space"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "following the music"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 015",
"bioStages": [
{
"knowledge": 20,
"text": "Hana spends her days on scales, borrowed rooms, cheap keyboards, and parents who think talent should cost less. She is patient because teaching demands it, not because she lacks opinions. Lazy listening bothers her more than wrong notes."
},
{
"knowledge": 40,
"text": "Music gives Hana a way to be intense without becoming loud. She can spend twenty minutes on one phrase until it finally opens. That habit follows her everywhere. She would rather repeat something properly than pretend a clumsy first try was enough."
},
{
"knowledge": 60,
"text": "Her shyness hides a fierce appetite for being understood. She likes when someone notices small changes: how her shoulders drop, how her voice gets warmer, how a touch to her chest makes her lose the sentence she was trying to finish."
},
{
"knowledge": 80,
"text": "Receiving oral overwhelms Hana because it makes her stop managing herself. She tries to stay quiet, then fails in little broken sounds that embarrass her afterward. Breast play has the same effect: too visible, too responsive, too hard to turn into a lesson."
},
{
"knowledge": 100,
"text": "When Hana trusts you, the quiet does not vanish. It becomes intimate. She asks for things in a low voice, hides her face when pleasure gets too obvious, then reaches for you again because hiding did not make the wanting smaller."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(14)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 015">>
<<= setup.CC.view("girl") >><<set $photo016ready to 0>>
<<if $dialogue016ready is undefined>><<set $dialogue016ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g15",
"slot": 15,
"first": "Keira",
"last": "Lane",
"name": "Keira Lane",
"age": 24,
"avatar": "📷",
"style": "watchful photographer",
"difficulty": -2,
"bio": "Keira Lane photographs people who think they are hiding. She catches fake confidence, lonely clothes, and the split second before a smile becomes work. Her camera lets her stare first. Getting her to step out from behind it is the hard part.",
"personality": [
"dry",
"observant",
"guarded"
],
"inclinations": [
"likes being looked at when she chooses it",
"receiving oral fixation",
"camera confidence",
"does not trust flattery"
],
"details": {
"eyeColor": "gray",
"eyeShape": "wide eyes",
"hairColor": "black",
"hairStyle": "in a sleek ponytail",
"hairLength": "short",
"hairTexture": "curly",
"skinTone": "deep brown skin",
"skinDetail": "smooth complexion",
"height": "tall",
"bodyShape": "a slim build",
"bustSize": "a modest bust",
"buttSize": "a firm butt",
"waist": "a soft waist",
"legs": "curvy legs",
"faceShape": "oval face",
"lips": "a soft smile",
"eyebrows": "neat brows",
"voice": "a husky voice",
"makeup": "no makeup",
"scent": "floral perfume",
"nails": "painted nails",
"tattoos": "an ankle tattoo",
"piercings": "a nose stud",
"posture": "an upright posture",
"demeanor": "watchful",
"top": "a loose sweater",
"bottom": "a pair of leggings",
"outfitFit": "stylish",
"underwear": "a lace underwear set",
"shoes": "a pair of boots",
"accessories": "earrings",
"perfumeStrength": "barely there",
"movement": "controlled gestures",
"laugh": "a quiet laugh",
"hobby": "night photography",
"occupation": "photographer and shoot assistant"
},
"interests": {
"cooking": 20,
"sports": 24,
"informatic": 34,
"finance": 18,
"art": 84,
"photography": 96,
"music": 40
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 61
},
"positionPrefs": {
"kissing": 31,
"touching": 24,
"breast_sensitivity": 24,
"legs_sensitivity": 34,
"receiving_oral": 86,
"giving_oral": 12,
"swallowing": 82,
"sixty_nine": 22,
"missionary": 26,
"cowgirl": 22,
"reverse_cowgirl": 36,
"doggy": 18,
"wall": 40,
"vaginal_sensitivity": 34,
"anal_sensitivity": 20,
"ass_sensitivity": 30,
"breast_sex": 14,
"fingering": 48,
"handjob": 15,
"undressing": 42,
"exhibitionism": 76,
"massage": 18
},
"routine": {
"home": "loc4",
"work": "loc11",
"favorite": "loc8",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Midday": {
"label": "Midday",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "watching the night crowd"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 45,
"fallback": "passing through the cheaper blocks"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 82,
"fallback": "shooting studio work"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 62,
"fallback": "looking for light and faces"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 38,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 016",
"bioStages": [
{
"knowledge": 20,
"text": "Keira works small shoots that look rich only after the edits. She hauls lights, pins fabric, fixes bad poses, and catches the one frame where a nervous model forgets to act expensive. She respects faces more than outfits."
},
{
"knowledge": 40,
"text": "She manages her own image like a locked cabinet. She knows the jacket that makes her look untouchable and the window light that softens her face. If a conversation gets too personal, she reaches for the camera and lets the lens answer."
},
{
"knowledge": 60,
"text": "Keira is not shy about desire. She is shy about being caught wanting. Compliment the work and she listens. Compliment only her body and she files you with the clients who think a pretty shot takes no skill."
},
{
"knowledge": 80,
"text": "Being watched excites her when she has chosen the frame. She likes the wickedness of standing in the light on purpose, knowing exactly what you can see. Receiving oral fits her because it forces her to stop directing the shot and let her body ruin the composition."
},
{
"knowledge": 100,
"text": "If Keira trusts you, the camera becomes a game instead of a shield. A door left open, a shirt lifted with a smirk, a picture deleted because the real memory is better. She still wants control over what the world sees. With you, she wants the private version to be much dirtier."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(15)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 016">>
<<= setup.CC.view("girl") >><<set $photo017ready to 0>>
<<if $dialogue017ready is undefined>><<set $dialogue017ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g16",
"slot": 16,
"first": "Diana",
"last": "Rook",
"name": "Diana Rook",
"age": 25,
"avatar": "🎮",
"style": "streamer tech",
"difficulty": -9,
"bio": "Diana Rook streams games with fast hands, sharp jokes, and a version of herself built for people who confuse attention with friendship. She is funny, defensive, and smarter than her chat deserves most nights.",
"personality": [
"funny",
"defensive",
"quick"
],
"inclinations": [
"fingering focus",
"camera thrill",
"tech competence",
"sarcasm as armor"
],
"details": {
"eyeColor": "dark brown",
"eyeShape": "wide eyes",
"hairColor": "dark red",
"hairStyle": "in curls",
"hairLength": "short",
"hairTexture": "curly",
"skinTone": "fair skin",
"skinDetail": "clear skin",
"height": "average height",
"bodyShape": "a soft build",
"bustSize": "a small bust",
"buttSize": "a round butt",
"waist": "a narrow waist",
"legs": "toned legs",
"faceShape": "a sharp jaw",
"lips": "a soft smile",
"eyebrows": "dark brows",
"voice": "a husky voice",
"makeup": "light makeup",
"scent": "floral perfume",
"nails": "painted nails",
"tattoos": "a hidden tattoo",
"piercings": "a nose stud",
"posture": "a relaxed posture",
"demeanor": "sharp",
"top": "a fitted jacket",
"bottom": "a skirt",
"outfitFit": "stylish",
"underwear": "soft cotton underwear",
"shoes": "a pair of flats",
"accessories": "no accessories",
"perfumeStrength": "light",
"movement": "controlled gestures",
"laugh": "a nervous laugh",
"hobby": "modding stream layouts",
"occupation": "streamer and tech fixer"
},
"interests": {
"cooking": 16,
"sports": 30,
"informatic": 92,
"finance": 26,
"art": 50,
"photography": 48,
"music": 54
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 56
},
"positionPrefs": {
"kissing": 24,
"touching": 36,
"breast_sensitivity": 20,
"legs_sensitivity": 46,
"receiving_oral": 62,
"giving_oral": 16,
"swallowing": 57,
"sixty_nine": 28,
"missionary": 22,
"cowgirl": 18,
"reverse_cowgirl": 18,
"doggy": 24,
"wall": 30,
"vaginal_sensitivity": 42,
"anal_sensitivity": 18,
"ass_sensitivity": 22,
"breast_sex": 16,
"fingering": 84,
"handjob": 36,
"undressing": 32,
"exhibitionism": 78,
"massage": 18
},
"routine": {
"home": "loc3",
"work": "loc3",
"favorite": "loc5",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Evening": {
"label": "Evening",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Evening": {
"label": "Evening",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Morning": {
"label": "Morning",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Midday": {
"label": "Midday",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Evening": {
"label": "Evening",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 64,
"fallback": "out under the bass"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 62,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 82,
"fallback": "streaming from home"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 017",
"bioStages": [
{
"knowledge": 20,
"text": "Diana learned computers because streaming punishes ignorance. Audio breaks, drivers fail, overlays vanish, and strangers complain like they own her evening. She troubleshoots fast because ending early feels like letting the crowd win."
},
{
"knowledge": 40,
"text": "The loud online persona protects a quieter person behind it. Sarcasm buys her time. A joke turns discomfort into content before anyone can see the bruise. She likes attention best when she can mute, ban, crop, or cut away."
},
{
"knowledge": 60,
"text": "Her hands are always moving: controller, keyboard, cable, screwdriver, mouse. Fingering hits the same focused part of her brain. She reacts hard to skill that does not ask for applause."
},
{
"knowledge": 80,
"text": "Diana is drawn to the risk of being seen, but only when she holds the off switch. A camera covered with tape, a stream ending two minutes early, a shirt pulled up after the room goes quiet. The danger works because she can still say stop."
},
{
"knowledge": 100,
"text": "When Diana trusts you, the jokes stay, but they stop being a shield. She lets you see the tired girl after the stream, the one with sore wrists and messy hair who still wants to be touched like she is worth watching when nobody else is online."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(16)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 017">>
<<= setup.CC.view("girl") >><<set $photo018ready to 0>>
<<if $dialogue018ready is undefined>><<set $dialogue018ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g17",
"slot": 17,
"first": "Olivia",
"last": "Stone",
"name": "Olivia Stone",
"age": 24,
"avatar": "🌺",
"style": "catering caretaker",
"difficulty": 3,
"bio": "Olivia Stone works catering with warm hands, tired feet, and the habit of feeding everyone before admitting she is hungry. She is nurturing without being naive. She knows exactly who says thank you and who leaves her to clean the mess.",
"personality": [
"nurturing",
"tired",
"quietly stubborn"
],
"inclinations": [
"mutual oral warmth",
"leg admiration",
"feeding as affection",
"hates being taken for granted"
],
"details": {
"eyeColor": "green",
"eyeShape": "wide eyes",
"hairColor": "blonde",
"hairStyle": "in curls",
"hairLength": "shoulder-length",
"hairTexture": "silky",
"skinTone": "brown skin",
"skinDetail": "sun-kissed skin",
"height": "tall",
"bodyShape": "a slim build",
"bustSize": "a modest bust",
"buttSize": "wide hips and a fuller butt",
"waist": "a defined waist",
"legs": "toned legs",
"faceShape": "a heart-shaped face",
"lips": "full lips",
"eyebrows": "dark brows",
"voice": "a husky voice",
"makeup": "light makeup",
"scent": "floral perfume",
"nails": "dark-polished nails",
"tattoos": "an ankle tattoo",
"piercings": "earrings",
"posture": "a restless posture",
"demeanor": "nurturing",
"top": "a fitted jacket",
"bottom": "a pair of tailored pants",
"outfitFit": "carefully matched",
"underwear": "plain underwear",
"shoes": "a pair of boots",
"accessories": "a bracelet",
"perfumeStrength": "strong",
"movement": "restless hands",
"laugh": "a bright laugh",
"hobby": "baking for friends",
"occupation": "catering worker"
},
"interests": {
"cooking": 92,
"sports": 26,
"informatic": 20,
"finance": 32,
"art": 28,
"photography": 44,
"music": 54
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 32
},
"positionPrefs": {
"kissing": 44,
"touching": 38,
"breast_sensitivity": 32,
"legs_sensitivity": 72,
"receiving_oral": 38,
"giving_oral": 40,
"swallowing": 11,
"sixty_nine": 86,
"missionary": 34,
"cowgirl": 20,
"reverse_cowgirl": 34,
"doggy": 24,
"wall": 8,
"vaginal_sensitivity": 40,
"anal_sensitivity": 12,
"ass_sensitivity": 28,
"breast_sex": 16,
"fingering": 32,
"handjob": 20,
"undressing": 28,
"exhibitionism": 18,
"massage": 42
},
"routine": {
"home": "loc3",
"work": "loc6",
"favorite": "loc2",
"weekend": "loc8",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 64,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc2",
"chance": 62,
"fallback": "running mall errands"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 82,
"fallback": "handling food orders"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 018",
"bioStages": [
{
"knowledge": 20,
"text": "Olivia knows trays, timing, guests who grab too much, and kitchens that turn brutal behind beautiful rooms. She keeps people fed because it matters, but she also notices who treats service like furniture."
},
{
"knowledge": 40,
"text": "Cooking is how Olivia measures care. Not fancy plating, not ego, just whether someone feels better after eating. She saves broken pastries, brings leftovers to friends, and remembers who hates cilantro. The sweet part hides how often she forgets herself."
},
{
"knowledge": 60,
"text": "She likes balance because she gives too much by habit. Sixty-nine appeals to the part of her that wants pleasure to come back across the table. She can be generous, but she does not want to disappear inside generosity."
},
{
"knowledge": 80,
"text": "Her legs are stronger than people notice until she has been standing through a twelve-hour event. Complimenting them means more than praising her patience. Patience is what people take from her. Her legs are what carry her out."
},
{
"knowledge": 100,
"text": "When Olivia trusts you, she lets herself be wanted without serving first. She still laughs softly, still checks if you are okay, but she stops using care as a hiding place. For once, the hunger on the table is hers too."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(17)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 018">>
<<= setup.CC.view("girl") >><<set $photo019ready to 0>>
<<if $dialogue019ready is undefined>><<set $dialogue019ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g18",
"slot": 18,
"first": "Selene",
"last": "Black",
"name": "Selene Black",
"age": 27,
"avatar": "🌙",
"style": "nightclub door",
"difficulty": 0,
"bio": "Selene Black works the nightclub door with dark eyeliner, calm eyes, and the patience of someone who has already seen three bad decisions before midnight. She is cool, observant, and much kinder to nervous people than to loud ones.",
"personality": [
"cool",
"watchful",
"deadpan"
],
"inclinations": [
"ass fixation",
"doggy sex",
"night photography",
"likes quiet confidence"
],
"details": {
"eyeColor": "gray",
"eyeShape": "soft eyes",
"hairColor": "black",
"hairStyle": "in braids",
"hairLength": "long",
"hairTexture": "silky",
"skinTone": "tan skin",
"skinDetail": "smooth complexion",
"height": "tall",
"bodyShape": "an athletic build",
"bustSize": "a modest bust",
"buttSize": "a small butt",
"waist": "a narrow waist",
"legs": "long legs",
"faceShape": "round face",
"lips": "full lips",
"eyebrows": "neat brows",
"voice": "a confident voice",
"makeup": "no makeup",
"scent": "citrus",
"nails": "dark-polished nails",
"tattoos": "a small wrist tattoo",
"piercings": "earrings",
"posture": "a restless posture",
"demeanor": "nocturnal",
"top": "a fitted jacket",
"bottom": "a pair of tailored pants",
"outfitFit": "stylish",
"underwear": "a matching underwear set",
"shoes": "a pair of heels",
"accessories": "a thin necklace",
"perfumeStrength": "barely there",
"movement": "restless hands",
"laugh": "a nervous laugh",
"hobby": "shooting neon streets",
"occupation": "nightclub door staff"
},
"interests": {
"cooking": 10,
"sports": 30,
"informatic": 46,
"finance": 36,
"art": 42,
"photography": 70,
"music": 88
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 79
},
"positionPrefs": {
"kissing": 26,
"touching": 22,
"breast_sensitivity": 18,
"legs_sensitivity": 30,
"receiving_oral": 46,
"giving_oral": 20,
"swallowing": 91,
"sixty_nine": 34,
"missionary": 40,
"cowgirl": 22,
"reverse_cowgirl": 20,
"doggy": 62,
"wall": 44,
"vaginal_sensitivity": 36,
"anal_sensitivity": 38,
"ass_sensitivity": 86,
"breast_sex": 14,
"fingering": 42,
"handjob": 24,
"undressing": 36,
"exhibitionism": 40,
"massage": 16
},
"routine": {
"home": "loc3",
"work": "loc7",
"favorite": "loc6",
"weekend": "loc7",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc12",
"chance": 45,
"fallback": "crossing the transit plaza"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc9",
"chance": 45,
"fallback": "near the water"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 45,
"fallback": "training or stretching"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc8",
"chance": 45,
"fallback": "walking through the park"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Morning": {
"label": "Morning",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Morning": {
"label": "Morning",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Midday": {
"label": "Midday",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Evening": {
"label": "Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Night": {
"label": "Night",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc3",
"chance": 38,
"fallback": "sleeping after the club"
},
"Morning": {
"label": "Morning",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Midday": {
"label": "Midday",
"loc": "loc11",
"chance": 45,
"fallback": "checking rehearsal space"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc6",
"chance": 62,
"fallback": "meeting over coffee"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 82,
"fallback": "hosting the club floor"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 38,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 019",
"bioStages": [
{
"knowledge": 20,
"text": "Selene knows nightlife from the unromantic side: fake IDs, bathroom tears, rich men who think rules are optional, and regulars who tip because they are lonely. She can read a line before security spots the problem."
},
{
"knowledge": 40,
"text": "Music matters to her because it changes what people admit with their bodies. Photography matters because morning lies about the night. She takes pictures of empty sidewalks, smeared lipstick on glasses, and neon in puddles."
},
{
"knowledge": 60,
"text": "She likes calm people because the club gives her enough noise. Stand steady, speak plainly, and do not make her babysit your ego. Selene notices the ones who can wait without performing boredom."
},
{
"knowledge": 80,
"text": "Her desire runs darker than her manners. She likes ass, doggy, and the feeling of giving someone a look over her shoulder that leaves no room for misunderstanding. She is not delicate about wanting, but she is selective about who gets to see it."
},
{
"knowledge": 100,
"text": "When Selene trusts you, the door-girl distance finally drops. She becomes dry, funny, and surprisingly tender after the club empties out. The city feels quieter beside her, and the filth she offers in private feels like a secret she chose, not a performance she owed."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(18)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 019">>
<<= setup.CC.view("girl") >><<set $photo020ready to 0>>
<<if $dialogue020ready is undefined>><<set $dialogue020ready to 0>><</if>>
/% GIRL_DATA
{
"id": "g19",
"slot": 19,
"first": "Amara",
"last": "West",
"name": "Amara West",
"age": 23,
"avatar": "🚲",
"style": "bike courier",
"difficulty": -6,
"bio": "Amara West rides deliveries through traffic like every red light insulted her family. She is athletic, impatient, independent, and more artistic than her courier bag suggests. If she sits still, she is probably deciding where to run next.",
"personality": [
"impatient",
"athletic",
"defiant"
],
"inclinations": [
"ass confidence",
"handjob grin",
"fast undressing",
"hates being pinned down emotionally"
],
"details": {
"eyeColor": "green",
"eyeShape": "soft eyes",
"hairColor": "auburn",
"hairStyle": "straight",
"hairLength": "shoulder-length",
"hairTexture": "thick",
"skinTone": "deep brown skin",
"skinDetail": "beauty mark",
"height": "tall",
"bodyShape": "a toned build",
"bustSize": "a full bust",
"buttSize": "wide hips and a fuller butt",
"waist": "a defined waist",
"legs": "toned legs",
"faceShape": "round face",
"lips": "wide smile",
"eyebrows": "arched brows",
"voice": "a bright voice",
"makeup": "no makeup",
"scent": "vanilla",
"nails": "clean-polished nails",
"tattoos": "an ankle tattoo",
"piercings": "a nose stud",
"posture": "an athletic stance",
"demeanor": "energetic",
"top": "a fitted tee",
"bottom": "a pair of tailored pants",
"outfitFit": "carefully matched",
"underwear": "soft cotton underwear",
"shoes": "a pair of boots",
"accessories": "a thin necklace",
"perfumeStrength": "barely there",
"movement": "controlled gestures",
"laugh": "a bright laugh",
"hobby": "street stickers",
"occupation": "bike courier and sticker artist"
},
"interests": {
"cooking": 12,
"sports": 92,
"informatic": 32,
"finance": 24,
"art": 56,
"photography": 42,
"music": 34
},
"stats": {
"trust": 0,
"patience": 15,
"affection": 0,
"lust": 0,
"heat": 0,
"obedience": 0,
"knowledge": 0,
"assertiveness": 78
},
"positionPrefs": {
"kissing": 28,
"touching": 26,
"breast_sensitivity": 14,
"legs_sensitivity": 64,
"receiving_oral": 16,
"giving_oral": 16,
"swallowing": 40,
"sixty_nine": 18,
"missionary": 20,
"cowgirl": 28,
"reverse_cowgirl": 28,
"doggy": 40,
"wall": 30,
"vaginal_sensitivity": 36,
"anal_sensitivity": 20,
"ass_sensitivity": 92,
"breast_sex": 8,
"fingering": 18,
"handjob": 84,
"undressing": 66,
"exhibitionism": 46,
"massage": 10
},
"routine": {
"home": "loc3",
"work": "loc12",
"favorite": "loc1",
"weekend": "loc9",
"weekly": {
"Mon": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Midday": {
"label": "Midday",
"loc": "loc13",
"chance": 45,
"fallback": "dealing with money errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Tue": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Midday": {
"label": "Midday",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc4",
"chance": 45,
"fallback": "visiting the quiet upper blocks"
}
},
"Wed": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Midday": {
"label": "Midday",
"loc": "loc10",
"chance": 45,
"fallback": "handling office-side errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc11",
"chance": 45,
"fallback": "checking art and photos"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Thu": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Midday": {
"label": "Midday",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc5",
"chance": 45,
"fallback": "reading or studying"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc7",
"chance": 45,
"fallback": "out under the bass"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Fri": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Midday": {
"label": "Midday",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc12",
"chance": 82,
"fallback": "running courier routes"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sat": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the waterline"
},
"Midday": {
"label": "Midday",
"loc": "loc9",
"chance": 64,
"fallback": "near the waterline"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc14",
"chance": 45,
"fallback": "unwinding at the spa"
},
"Evening": {
"label": "Evening",
"loc": "loc8",
"chance": 45,
"fallback": "keeping her legs moving"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
},
"Sun": {
"Dawn": {
"label": "Dawn",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Morning": {
"label": "Morning",
"loc": "loc9",
"chance": 64,
"fallback": "near the waterline"
},
"Midday": {
"label": "Midday",
"loc": "loc2",
"chance": 45,
"fallback": "running mall errands"
},
"Afternoon": {
"label": "Afternoon",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Evening": {
"label": "Evening",
"loc": "loc1",
"chance": 62,
"fallback": "training hard"
},
"Late Evening": {
"label": "Late Evening",
"loc": "loc6",
"chance": 45,
"fallback": "coffee and conversation"
},
"Night": {
"label": "Night",
"loc": "loc3",
"chance": 55,
"fallback": "at home between plans"
}
}
}
},
"flags": {},
"counters": {},
"pressure": {},
"notes": [],
"passage": "Girl 020",
"bioStages": [
{
"knowledge": 20,
"text": "Amara knows the city by shortcuts, cracked pavement, rude drivers, and buildings where security guards pretend couriers are invisible. She likes speed because it keeps people from asking questions she does not want to answer."
},
{
"knowledge": 40,
"text": "Her art lives in sketchbooks, sticker designs, and photos taken one-handed at stoplights. She refuses to call it serious because serious things attract expectations. Still, she notices color everywhere, especially on walls most people ignore."
},
{
"knowledge": 60,
"text": "Amara uses attitude as a helmet. It keeps the city from asking where she lives, what she wants, and why she hates owing anyone. Challenge her honestly and she sparks. Try to own her and she is gone before the sentence ends."
},
{
"knowledge": 80,
"text": "Her body confidence sits in her ass, thighs, and hands. Courier work made her strong, but being looked at still feels like a dare. She likes turning that dare back on someone: bending too low, stripping too fast, giving a handjob with a grin that says she knows exactly what she is doing."
},
{
"knowledge": 100,
"text": "When Amara trusts you, she does not become tame. She becomes honest about wanting someone who can keep pace. The sex is fast, physical, and a little reckless, but the real prize is afterward, when she stays beside you without pretending she only stopped to catch her breath."
}
]
}
END_GIRL_DATA %/
<<run setup.CC.init()>>
<<run setup.CC.openGirlSlot(19)>>
<<set $cc.view = "girl">>
<<set $cc.passageHint = "Girl 020">>
<<= setup.CC.view("girl") >><<run setup.CC.init()>>
<<set $cc.view = "girls">>
<<set $cc.passageHint = "Girls">>
<<= setup.CC.view("girls") >><<run setup.CC.init()>>
<<set $cc.view = "home">>
<<set $cc.passageHint = "Home">>
<div class="cc-root home-intro-page">
<div class="card start-intro-card home-arrival-card">
<h1>Welcome to your new home</h1>
<p>You arrived with a bag, a little money, and just a handful of skills that might barely help you survive.</p>
<p>The room you found is cramped, cheap, and rough around the edges. It is not the life you came here for, but it is a door that closes and a bed that belongs to you.</p>
<p>Every Monday morning, rent comes first. For now, the landlord takes $200 a week. If you cannot cover it, the debt still follows you into the new week.</p>
<p>It is not much of a home yet. That can change.</p>
<div class="start-choice-grid">
[[Start in your room|Home]]
</div>
</div>
</div><<run setup.CC.init()>>
<<if $cc and $cc.gameStarted and $cc.mode neq "encounter" and $cc.location neq "home">>
<<run setup.CC.openLocation("home")>>
<</if>>
<<goto "Home">><<run setup.CC.init()>>
<<run setup.CC.openLocation("home")>>
<<set $cc.view = "home">>
<<set $cc.passageHint = "Home">>
<<= setup.CC.view("home") >>/% JOBS
[
{
"id": "odd_jobs_runner",
"label": "Transit errand runner",
"category": "Basic",
"minutes": 60,
"energy": 15,
"basePay": 14,
"payScale": 0.55,
"requires": {
"hustle": 2,
"fitness": 1
},
"min": {},
"gains": {
"hustle": 0.1,
"fitness": 0.05
},
"text": [
"You spend an hour moving through Transit Plaza with small parcels, pickup notes, and cheap cash jobs that reward speed more than pride."
],
"location": "loc12",
"availability": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc12",
"source": "Transit gig board",
"button": "Check the courier board",
"min": {},
"passText": "",
"failText": "The board is open, but nothing stops you from taking a basic runner lead.",
"girlIds": [
"g19"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Transit Plaza has short errand work.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"localSuccessLines": [
"You check the courier board near the Transit Plaza lockers and ignore the posts that look shady or overpaid.",
"The clean listings are simple errands: envelopes, small parcels, pickup slips, and short runs across town.",
"You copy the board location, the usual posting times, and a few notes about which routes are worth taking."
],
"npcSuccessLines": [
"Amara points at the station lockers instead of making it sound noble.",
"\"Small parcels, envelopes, pickup slips. You take the clean ones, move fast, and do not argue with the board.\"",
"\"If a job looks sketchy, leave it. If the pay looks stupidly high, leave it faster.\"",
"She marks the courier board on your map and circles the posts that usually stay simple."
]
}
},
{
"id": "dishwasher_shift",
"label": "Cafe dish pit shift",
"category": "Basic",
"minutes": 120,
"energy": 27,
"basePay": 32,
"payScale": 0.55,
"requires": {
"hustle": 2,
"willpower": 1
},
"min": {},
"gains": {
"hustle": 0.12,
"willpower": 0.07
},
"text": [
"You take the dish pit during a cafe rush, scrape plates, stack racks, and keep your hands moving while the kitchen shouts around you."
],
"location": "loc6",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc6",
"source": "Cafe Row kitchen door",
"button": "Ask the kitchen about dish shifts",
"min": {},
"passText": "",
"failText": "The kitchen needs someone who can take a long, ugly shift without whining. Build Hustle and Willpower first.",
"girlIds": [
"g0",
"g7"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Cafe Row has kitchen work.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"localSuccessLines": [
"You stop by the kitchen door on Cafe Row and catch the staff in the short quiet gap between rushes.",
"The shift is scrape plates, load racks, haul bins, mop spills, and keep the dish pit from burying the cooks.",
"It is hot, wet, loud work, but nobody expects charm. They expect your hands to keep moving."
],
"npcSuccessLines": [
"She points you to a dish pit shift that hires through the Cafe Row kitchen door.",
"Expect scraping plates, loading racks, hauling bins, mopping spills, and keeping clean pans moving before the cooks start yelling.",
"The work is ugly but simple: show up on time, keep your hands moving, and do not make the rush worse.",
"She gives you the kitchen door hours and tells you to wear shoes you can ruin."
]
},
"relationshipGains": [
{
"girlId": "g0",
"trust": 0.24,
"affection": 0.22
}
]
},
{
"id": "stockroom_help",
"label": "Mall stockroom shift",
"category": "Basic",
"minutes": 90,
"energy": 24,
"basePay": 22,
"payScale": 0.55,
"requires": {
"fitness": 2,
"hustle": 1,
"focus": 1
},
"min": {},
"gains": {
"fitness": 0.1,
"hustle": 0.08,
"focus": 0.05
},
"text": [
"You work behind the mall floor, unload boxes, count stock, and learn how to move fast without making the shelves worse."
],
"location": "loc2",
"availability": [
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc2",
"source": "Mall hiring desk",
"button": "Ask the mall hiring desk",
"min": {
"fitness": 10,
"focus": 8
},
"passText": "",
"failText": "They need someone who can lift, count, and not slow everyone down.",
"girlIds": [],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Mall hiring desk",
"localSuccessLines": [
"The mall hiring desk points you away from the sales floor and toward the back corridors.",
"The work is unloading boxes, checking counts, moving carts, and getting merchandise out before the store runs short.",
"You leave with a stockroom contact and the warning that a bad count becomes someone else's problem later."
]
}
},
{
"id": "flyer_handout",
"label": "Transit flyer handout",
"category": "Basic",
"minutes": 75,
"energy": 18,
"basePay": 16,
"payScale": 0.5,
"requires": {
"charm": 1,
"hustle": 1
},
"min": {},
"gains": {
"charm": 0.08,
"hustle": 0.07
},
"text": [
"You stand in commuter traffic, catch eyes before they slide away, and hand out enough flyers to make the promoter stop checking on you."
],
"location": "loc12",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc12",
"source": "Transit kiosk promoter",
"button": "Check the promo board",
"min": {},
"passText": "",
"failText": "This promo work is simple enough to take immediately.",
"girlIds": [],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Transit kiosk promoter",
"localSuccessLines": [
"A promoter at the transit kiosk hands you a thick stack of flyers and points at the commuter flow.",
"The job is standing where people can see you, offering the flyer before they look away, and staying polite after being ignored.",
"You take the posting details and learn which entrances get enough foot traffic to make the hour worth it."
]
}
},
{
"id": "cleaning_contract",
"label": "After-hours cleaning contract",
"category": "Basic",
"minutes": 150,
"energy": 36,
"basePay": 34,
"payScale": 0.5,
"requires": {
"fitness": 1,
"hustle": 2,
"willpower": 1
},
"min": {},
"gains": {
"hustle": 0.12,
"fitness": 0.08,
"willpower": 0.05
},
"text": [
"You clean after hours when the building is mostly empty, hauling trash, wiping desks, and leaving each room ready for people who will never notice."
],
"location": "loc3",
"availability": [
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc3",
"source": "Residential notice board",
"button": "Read the cleaning notices",
"min": {
"hustle": 10,
"willpower": 8
},
"passText": "",
"failText": "The contract is long and dull. Build Hustle and Willpower before anyone hands you keys.",
"girlIds": [],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Residential notice board",
"localSuccessLines": [
"You read the cleaning notices on the residential board and copy the one that looks steady.",
"The work is after-hours cleanup: trash bags, wiped surfaces, vacuuming, bathroom checks, and leaving the place ready for morning.",
"No one watches the whole time, which means no one fixes skipped corners for you."
]
}
},
{
"id": "cafe_counter",
"label": "Cafe counter shift",
"category": "Service",
"minutes": 120,
"energy": 30,
"basePay": 30,
"payScale": 0.72,
"requires": {
"hustle": 2,
"empathy": 1,
"charm": 1
},
"min": {
"charm": 16.0,
"hustle": 16.0,
"empathy": 16.0
},
"gains": {
"hustle": 0.15,
"charm": 0.1,
"empathy": 0.09
},
"text": [
"You work a real counter rush: names, cups, impatient faces, spilled sugar, and the constant need to smile without slowing down."
],
"location": "loc6",
"availability": [
"Dawn",
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc6",
"source": "Cafe Row counter staff",
"button": "Ask Maya about counter work",
"min": {
"charm": 16,
"hustle": 16,
"empathy": 16
},
"passText": "",
"failText": "Maya looks you over and says the rush would eat you alive right now. Build Charm, Hustle, and Empathy.",
"girlIds": [
"g0"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Maya or Cafe Row can point you at counter shifts.",
"personOnly": true,
"prereqJobs": [
"dishwasher_shift"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Maya taps the counter with a pen and looks past you at the line forming outside.",
"\"You take orders, call names, fix little mistakes, and keep smiling when three people decide they are next.\"",
"\"The coffee is the easy part. The hard part is not letting someone else's bad morning become yours.\"",
"She tears off a schedule slip and points out the shifts where a beginner will do the least damage."
]
}
},
{
"id": "retail_floor",
"label": "Retail floor shift",
"category": "Service",
"minutes": 120,
"energy": 27,
"basePay": 28,
"payScale": 0.68,
"requires": {
"charm": 2,
"empathy": 1,
"focus": 1
},
"min": {
"charm": 16.0,
"empathy": 16.0,
"focus": 16.0
},
"gains": {
"charm": 0.15,
"empathy": 0.1,
"focus": 0.07
},
"text": [
"You handle the floor through slow browsers and sudden rushes, keeping displays straight while customers test your patience from every direction."
],
"location": "loc2",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc2",
"source": "Mall hiring desk",
"button": "Ask about retail floor work",
"min": {
"charm": 16,
"empathy": 16,
"focus": 16
},
"passText": "",
"failText": "They want someone pleasant, alert, and hard to rattle.",
"girlIds": [],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Mall hiring desk",
"localSuccessLines": [
"The mall hiring desk offers floor work after checking that you can deal with customers.",
"You would straighten displays, answer basic questions, watch for messes, and keep browsing customers from turning the store into a laundry pile.",
"It is retail, so half the work is staying polite while someone insists the sign says something it does not."
]
}
},
{
"id": "event_host",
"label": "Event host assistant",
"category": "Service",
"minutes": 150,
"energy": 33,
"basePay": 40,
"payScale": 0.75,
"requires": {
"charm": 2,
"willpower": 1,
"focus": 1,
"empathy": 1
},
"min": {
"charm": 16.0,
"focus": 16.0,
"willpower": 16.0,
"empathy": 16.0
},
"gains": {
"charm": 0.16,
"willpower": 0.1,
"empathy": 0.09
},
"text": [
"You help run a noisy guest list, point people where they belong, and solve small problems before the promoter has to see them."
],
"location": "loc7",
"availability": [
"Evening",
"Late Evening",
"Night"
],
"unlock": {
"location": "loc7",
"source": "Nightclub event promoter",
"button": "Talk to the event promoter",
"min": {
"charm": 20,
"focus": 18,
"willpower": 18
},
"passText": "",
"failText": "The promoter needs someone sharper and steadier for guest problems. Build Charm, Focus, and Willpower.",
"girlIds": [
"g10"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Nightclub promoters need event help.",
"personOnly": true,
"prereqJobs": [
"barback_shift"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Clara sells the job with a grin, then gets practical fast.",
"\"Names at the door, guests pointed the right way, little problems caught before they turn loud.\"",
"\"You smile because it keeps things easy. You pay attention because smiling does not stop idiots.\"",
"She gives you the promoter name and a note about which entrance always gets backed up."
]
}
},
{
"id": "barback_shift",
"label": "Nightclub barback shift",
"category": "Service",
"minutes": 180,
"energy": 42,
"basePay": 52,
"payScale": 0.78,
"requires": {
"hustle": 2,
"fitness": 1,
"charm": 1,
"willpower": 1
},
"min": {
"hustle": 16.0,
"fitness": 16.0,
"charm": 16.0,
"willpower": 16.0
},
"gains": {
"hustle": 0.18,
"fitness": 0.11,
"willpower": 0.08
},
"text": [
"You haul ice, restock bottles, clear glass, and keep the bar alive while music and drunk orders hammer at your head."
],
"location": "loc7",
"availability": [
"Evening",
"Late Evening",
"Night"
],
"unlock": {
"location": "loc7",
"source": "Nightclub bar manager",
"button": "Ask the bar manager for work",
"min": {
"hustle": 18,
"fitness": 16,
"willpower": 16
},
"passText": "",
"failText": "The barback shift is heavy and loud. Build Hustle, Fitness, and Willpower first.",
"girlIds": [
"g18"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "The Nightclub needs barbacks at night.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Selene lists the job like she is checking stock.",
"\"Ice, bottles, glassware, trash, spills. If the bar runs out, the bartender hears about it first, but the barback caused it.\"",
"\"Stay moving, stay behind the counter, and do not flirt while someone is waiting on clean glasses.\"",
"She writes the manager's number on a napkin and tells you the first hour is only the warmup."
]
}
},
{
"id": "reception_cover",
"label": "Reception cover",
"category": "Service",
"minutes": 120,
"energy": 21,
"basePay": 32,
"payScale": 0.7,
"requires": {
"charm": 1,
"focus": 2,
"empathy": 1
},
"min": {
"focus": 26,
"charm": 21,
"empathy": 21
},
"gains": {
"focus": 0.15,
"charm": 0.08,
"empathy": 0.08
},
"text": [
"You cover a front desk, answer phones, redirect visitors, and keep a clean face while office problems pile up in quiet ways."
],
"location": "loc10",
"availability": [
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc10",
"source": "Office temp desk",
"button": "Ask the temp desk about reception cover",
"min": {
"focus": 26,
"charm": 21,
"empathy": 21
},
"passText": "",
"failText": "They need someone more focused and socially steady. Build Focus, Charm, and Empathy.",
"girlIds": [
"g3"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Office District temp desks offer reception cover.",
"personOnly": true,
"npcSuccessLines": [
"Tessa explains the desk like it is a small machine that jams when people get clever.",
"\"Calls, sign-ins, visitors, messages. You keep the front calm while the rest of the office pretends it is not on fire.\"",
"\"Do not invent policy. If you do not know, find the person who does and write down the answer.\"",
"She forwards the temp desk contact and adds one warning: boring work still leaves evidence when you mess it up."
]
}
},
{
"id": "freelance_coding",
"label": "Small bug-fix contract",
"category": "Skilled",
"minutes": 150,
"energy": 27,
"basePay": 67,
"payScale": 0.95,
"requires": {
"informatic": 3,
"focus": 2,
"intelligence": 1
},
"min": {
"informatic": 40,
"focus": 35,
"intelligence": 35
},
"gains": {
"informatic": 0.24,
"focus": 0.1,
"intelligence": 0.08
},
"text": [
"You take a small bug-fix contract and spend the block reading messy code, finding the break, and sending back something that actually runs."
],
"location": "loc10",
"availability": [
"Afternoon",
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc10",
"source": "Freelance tech board",
"button": "Check the freelance tech board",
"min": {
"informatic": 40,
"focus": 35,
"intelligence": 35
},
"passText": "",
"failText": "The tasks are not beginner work. Build Informatic, Focus, and Intelligence.",
"girlIds": [
"g1",
"g8"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Office District and Zoe can point you at coding work.",
"personOnly": true,
"prereqJobs": [
"coding_course"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She sends you a freelance tech board lead with small bug-fix tickets instead of crisis work.",
"The jobs are broken forms, dead buttons, tiny pages, and client notes written by people who only know that something stopped working.",
"Reproduce the bug, change as little as possible, test it, and write the fix in words a normal person can understand.",
"She marks two starter tickets and warns you not to touch anything labeled urgent yet."
]
}
},
{
"id": "bookkeeping_help",
"label": "Bookkeeping overflow",
"category": "Skilled",
"minutes": 120,
"energy": 24,
"basePay": 59,
"payScale": 0.92,
"requires": {
"finance": 3,
"focus": 2,
"intelligence": 1
},
"min": {
"finance": 40,
"focus": 35,
"intelligence": 35
},
"gains": {
"finance": 0.24,
"focus": 0.1
},
"text": [
"You clean up someone else's numbers, match receipts to lines, and find the small mistakes that make the whole sheet look wrong."
],
"location": "loc13",
"availability": [
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc13",
"source": "Small accounting office",
"button": "Ask about bookkeeping overflow",
"min": {
"finance": 40,
"focus": 35,
"intelligence": 35
},
"passText": "",
"failText": "They are not letting you near accounts yet. Build Finance, Focus, and Intelligence.",
"girlIds": [
"g3",
"g12"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Financial District has bookkeeping overflow.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She gives you a bookkeeping overflow lead from a small accounting office that needs clean hands more than genius.",
"The work is receipts that do not match, totals that drift, and clients who swear the missing line was there yesterday.",
"You need clean notes, steady focus, and the nerve to question a number that looks too convenient.",
"She gives you the office contact and warns you that bad math gets expensive before anyone admits it is bad."
]
}
},
{
"id": "meal_prep_client",
"label": "Meal prep client list",
"category": "Skilled",
"minutes": 150,
"energy": 33,
"basePay": 46,
"payScale": 0.85,
"requires": {
"cooking": 3,
"hustle": 1,
"focus": 1
},
"min": {
"cooking": 38,
"hustle": 33,
"focus": 33
},
"gains": {
"cooking": 0.24,
"focus": 0.08,
"hustle": 0.07
},
"text": [
"You prep food for a client who wants clean containers, simple portions, and no excuses when the pickup time arrives."
],
"location": "loc6",
"availability": [
"Dawn",
"Morning",
"Midday"
],
"unlock": {
"location": "loc6",
"source": "Cafe Row meal-prep board",
"button": "Read the meal-prep requests",
"min": {
"cooking": 38,
"hustle": 33,
"focus": 33
},
"passText": "",
"failText": "The requests expect reliability, not experiments. Build Cooking, Hustle, and Focus.",
"girlIds": [
"g0",
"g17"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Cafe Row has meal prep clients.",
"personOnly": true,
"prereqJobs": [
"recipe_test_notes"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She gives you a meal-prep client lead from the Cafe Row board.",
"The clients want labeled containers, steady portions, pickup times that do not drift, and food that still tastes good after a night in the fridge.",
"If you change a recipe, write it down. If you burn something, remake it before anyone has to complain.",
"She copies the client list and marks the safest first request."
]
}
},
{
"id": "photo_gig",
"label": "Small paid photo shoot",
"category": "Skilled",
"minutes": 120,
"energy": 24,
"basePay": 38,
"payScale": 0.95,
"requires": {
"photography": 3,
"charm": 1,
"art": 1
},
"min": {
"photography": 40,
"charm": 35,
"art": 35
},
"gains": {
"photography": 0.25,
"art": 0.1,
"charm": 0.08
},
"text": [
"You take a small paid shoot, manage light, pose the subject without sounding awkward, and deliver shots that do not look accidental."
],
"location": "loc11",
"availability": [
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc11",
"source": "Studio photo board",
"button": "Check the small photo board",
"min": {
"photography": 40,
"charm": 35,
"art": 35
},
"passText": "",
"failText": "The board is real work, but your portfolio is too thin. Build Photography, Charm, and Art.",
"girlIds": [
"g15",
"g6"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Art Studio has paid photo leads.",
"personOnly": true,
"prereqJobs": [
"content_photo_walk"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Valerie points you toward the smaller paid photo leads pinned behind the studio desk, the ones that pay enough to matter and look simple until a nervous client sits down.",
"\"Start with portraits, product shots, and profile images. Usable first. Interesting second.\"",
"\"Charge your battery, clean your lens, and do not promise mood when you have not handled focus.\"",
"She writes down the board contact in neat black ink."
]
}
},
{
"id": "massage_booking",
"label": "Massage booking",
"category": "Skilled",
"minutes": 90,
"energy": 27,
"basePay": 36,
"payScale": 0.92,
"requires": {
"massage": 3,
"empathy": 1,
"focus": 1
},
"min": {
"massage": 38,
"empathy": 33,
"focus": 33
},
"gains": {
"massage": 0.25,
"empathy": 0.1,
"focus": 0.08
},
"text": [
"You take a massage booking, ask what hurts, work slowly through the tight areas, and finish only when the client can move more easily."
],
"location": "loc14",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc14",
"source": "Spa front desk",
"button": "Ask the spa desk about bookings",
"min": {
"massage": 38,
"empathy": 33,
"focus": 33
},
"passText": "",
"failText": "They do not trust your hands yet. Build Massage, Empathy, and Focus.",
"girlIds": [
"g13"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Wellness Spa has massage bookings.",
"personOnly": true,
"prereqJobs": [
"massage_class"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Bianca checks your hands before she gives you the front desk lead.",
"\"Ask where it hurts, start lighter than your ego wants, and keep your pressure steady.\"",
"\"People remember rushed hands. They also remember when someone listened the first time they said too much.\"",
"She gives you the booking contact and tells you to keep your nails short."
]
}
},
{
"id": "fitness_coach_intro",
"label": "Beginner fitness coaching",
"category": "Skilled",
"minutes": 120,
"energy": 36,
"basePay": 54,
"payScale": 0.9,
"requires": {
"sports": 3,
"fitness": 3,
"charm": 1
},
"min": {
"sports": 40,
"fitness": 35
},
"gains": {
"sports": 0.21,
"fitness": 0.16,
"charm": 0.08
},
"text": [
"You coach a beginner through basic movement, correct bad form, and keep them working without making them feel stupid."
],
"location": "loc1",
"availability": [
"Dawn",
"Morning",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc1",
"source": "Leah Cross",
"button": "Inquire about coaching work",
"personOnly": true,
"prereqJobs": [
"paid_gym_plan"
],
"min": {
"sports": 40,
"fitness": 35
},
"passText": "",
"inquiryPassText": "",
"failText": "Leah folds her arms and refuses to put beginners in front of you yet.",
"inquiryFailText": "She says you are not ready yet.",
"girlIds": [
"g4"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Follow Leah's basic gym plan before asking about coaching work.",
"npcSuccessLines": [
"Leah looks you over like she is deciding whether you would survive correcting someone else's squat.",
"\"You would not be training athletes. You would help new people get through their first weeks without wrecking their knees.\"",
"\"Show the movement, correct the obvious stuff, and keep them working without turning it into a lecture.\"",
"She puts the beginner roster on the desk and says your own form needs to be clean before you touch anyone else's."
]
}
},
{
"id": "art_studio_assist",
"label": "Art studio assistant",
"category": "Creative",
"minutes": 90,
"energy": 18,
"basePay": 26,
"payScale": 0.75,
"requires": {
"art": 2,
"focus": 1,
"photography": 1
},
"min": {
"art": 30,
"focus": 25,
"photography": 25
},
"gains": {
"art": 0.2,
"photography": 0.11,
"focus": 0.07
},
"text": [
"You prep the studio, move props, clean brushes, hold lights, and do the unglamorous work that lets someone else make art."
],
"location": "loc11",
"availability": [
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc11",
"source": "Art Studio manager",
"button": "Ask about studio assistant work",
"min": {
"art": 30,
"focus": 25,
"photography": 25
},
"passText": "",
"failText": "They need someone with better eyes and better discipline. Build Art, Focus, and Photography.",
"girlIds": [
"g2",
"g6"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Art Studio needs assistants.",
"personOnly": true,
"prereqJobs": [
"photo_course"
],
"npcSuccessLines": [
"Valerie gives you a studio assistant lead that is mostly practical work hidden under creative panic.",
"\"Props, lights, tape, brushes, labels, boxes. If you can help quietly, they will remember you.\"",
"\"Do not try to look artistic while carrying things. Just carry them correctly.\"",
"She gives you the manager contact and notes which door sticks."
]
}
},
{
"id": "music_session_help",
"label": "Sound booth session help",
"category": "Creative",
"minutes": 120,
"energy": 21,
"basePay": 30,
"payScale": 0.78,
"requires": {
"music": 3,
"focus": 1,
"charm": 1
},
"min": {
"music": 30,
"focus": 25,
"charm": 25
},
"gains": {
"music": 0.25,
"focus": 0.09,
"charm": 0.06
},
"text": [
"You help in a small music session, carry gear, watch levels, and learn when to speak and when to shut up and listen."
],
"location": "loc7",
"availability": [
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc7",
"source": "Nightclub sound booth",
"button": "Ask the sound booth about session help",
"min": {
"music": 30,
"focus": 25,
"charm": 25
},
"passText": "",
"failText": "The sound booth is not babysitting you. Build Music, Focus, and Charm.",
"girlIds": [
"g5",
"g14"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Nightclub sound staff know paid music sessions.",
"personOnly": true,
"prereqJobs": [
"music_practice"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She points you toward sound booth session help, the kind of work where being quiet matters as much as being useful.",
"Carry gear, label cables, watch levels, and stay out of the way when people are trying to hear a take.",
"If someone asks for water, get water. If they ask for an opinion, keep it short and useful.",
"She gives you the rehearsal time and tells you to arrive before the band starts pretending they are early."
]
}
},
{
"id": "content_photo_walk",
"label": "Creator photo walk",
"category": "Creative",
"minutes": 90,
"energy": 18,
"basePay": 22,
"payScale": 0.8,
"requires": {
"photography": 2,
"art": 1,
"charm": 1
},
"min": {
"photography": 22.0,
"art": 22.0,
"charm": 22.0
},
"gains": {
"photography": 0.22,
"art": 0.14,
"charm": 0.07
},
"text": [
"You join a creator walk, find usable backdrops, take quick shots, and keep the mood moving before everyone gets bored."
],
"location": "loc8",
"availability": [
"Dawn",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc8",
"source": "Park creator meetup",
"button": "Join a creator photo walk",
"min": {
"photography": 22,
"art": 22,
"charm": 22
},
"passText": "",
"failText": "They want someone with a better eye and easier presence. Build Photography, Art, and Charm.",
"girlIds": [
"g2",
"g15"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "City Park creator meetups lead to content walks.",
"personOnly": true,
"prereqJobs": [
"photo_course"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She gives you a creator photo walk lead: paid chaos, simple shots, and people who need help looking less awkward.",
"You keep the group moving, spot usable backdrops, take fast photos, and keep everyone from wasting the light.",
"Do not wait for one perfect shot. Get enough good ones before everyone gets hungry, bored, or weird.",
"She sends the meetup pin and tells you to clear storage before you go."
]
}
},
{
"id": "recipe_test_notes",
"label": "Paid recipe test notes",
"category": "Creative",
"minutes": 90,
"energy": 18,
"basePay": 24,
"payScale": 0.72,
"requires": {
"cooking": 2,
"intelligence": 1,
"focus": 1
},
"min": {
"cooking": 30,
"intelligence": 25,
"focus": 25
},
"gains": {
"cooking": 0.2,
"intelligence": 0.09,
"focus": 0.08
},
"text": [
"You test a recipe and write notes a cook can actually use: texture, timing, heat, portions, and what broke when followed exactly."
],
"location": "loc6",
"availability": [
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc6",
"source": "Cafe Row recipe tester",
"button": "Ask about recipe testing",
"min": {
"cooking": 30,
"intelligence": 25,
"focus": 25
},
"passText": "",
"failText": "They need useful notes, not appetite. Build Cooking, Intelligence, and Focus.",
"girlIds": [
"g7",
"g17"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Cafe Row has recipe testing work.",
"personOnly": true,
"prereqJobs": [
"cooking_class"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She gives you a recipe test lead where the notes matter as much as the cooking.",
"Cook the recipe exactly as written. Time it, measure it, taste it, and mark where the instructions fall apart.",
"If you change three things and call it feedback, the cook will hate you, and they will be right.",
"She sends you the tester sheet and warns that messy notes are useless notes."
]
}
},
{
"id": "campus_tutoring",
"label": "Library tutoring client",
"category": "Creative",
"minutes": 90,
"energy": 21,
"basePay": 34,
"payScale": 0.85,
"requires": {
"intelligence": 3,
"focus": 2,
"empathy": 1
},
"min": {
"intelligence": 32,
"empathy": 27,
"focus": 27
},
"gains": {
"intelligence": 0.22,
"focus": 0.12,
"empathy": 0.09
},
"text": [
"You tutor someone through a problem set, slow down when they panic, and explain the same point three ways until it sticks."
],
"location": "loc5",
"availability": [
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc5",
"source": "University Library tutoring desk",
"button": "Ask the tutoring desk",
"min": {
"intelligence": 32,
"empathy": 27,
"focus": 27
},
"passText": "",
"failText": "They need proof you can explain without getting impatient. Build Intelligence, Empathy, and Focus.",
"girlIds": [
"g11"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "University Library runs tutoring signups.",
"personOnly": true,
"prereqJobs": [
"study_block"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Mina explains the tutoring desk without dressing it up.",
"\"One student, one problem, one place where they stopped understanding the material.\"",
"\"If they panic, slow down. If they fake it, make them try the next step on paper.\"",
"She books you into the desk rotation and tells you to bring patience, not speeches."
]
}
},
{
"id": "free_run",
"label": "Jog around the block",
"category": "Training",
"minutes": 40,
"energy": 20,
"basePay": 0,
"payScale": 0,
"cost": 0,
"requires": {
"willpower": 1
},
"min": {},
"gains": {
"fitness": 0.24,
"willpower": 0.08
},
"text": [
"You jog around the block, keep moving until your shirt starts sticking to your back, and come home with your legs awake instead of just restless."
],
"location": "home",
"availability": [
"Anytime"
],
"alwaysUnlocked": true,
"unlock": {
"hint": "You can jog around the block from home whenever you have the stamina.",
"localSuccessLines": [
"No one gives you this one. You just step outside and run the block.",
"Pavement, crossings, stairs if you want them, and enough distance to make your legs burn.",
"It is simple training you can do when the day has room for it."
]
},
"maxPerDay": 2
},
{
"id": "paid_gym_plan",
"label": "Structured gym plan",
"category": "Training",
"minutes": 90,
"energy": 30,
"basePay": 0,
"payScale": 0,
"cost": 18,
"requires": {
"fitness": 1,
"sports": 1
},
"min": {},
"gains": {
"fitness": 0.5,
"sports": 0.2,
"willpower": 0.12
},
"text": [
"You follow a structured gym plan, burning stamina on sets that force your body to adapt."
],
"location": "loc1",
"availability": [
"Morning",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc1",
"source": "Leah Cross",
"button": "Inquire about gym training",
"personOnly": true,
"min": {},
"passText": "",
"inquiryPassText": "",
"failText": "Leah can give you a basic plan immediately.",
"girlIds": [
"g4"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Ask Leah about a basic gym plan.",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Leah offers the plan like a tool, not a miracle cure.",
"\"You get a written schedule, a few form checks, and a reason to stop wandering between machines.\"",
"\"Keep the weights honest, write down what you did, and do the warmup without turning it into the whole workout.\"",
"She leaves the plan at the desk for you and tells you to book it only when you are ready to follow it."
]
},
"relationshipGains": [
{
"girlId": "g4",
"trust": 0.18,
"lust": 0.14
}
]
},
{
"id": "study_block",
"label": "Focused study block",
"category": "Training",
"minutes": 90,
"energy": 15,
"basePay": 0,
"payScale": 0,
"cost": 0,
"requires": {
"focus": 1
},
"min": {},
"gains": {
"intelligence": 0.3,
"focus": 0.2,
"willpower": 0.08
},
"text": [
"You sit down for a real study block, remove distractions, and grind through material until the page starts making sense."
],
"location": "loc5",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc5",
"source": "Library study rooms",
"button": "Ask about quiet study rooms",
"min": {},
"passText": "",
"failText": "You can use the library rooms whenever they are open.",
"girlIds": [
"g11"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "The University Library has proper study rooms.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Mina points you toward the study rooms instead of pretending there is a trick to it.",
"\"Pick one subject, sit down, and work until you can explain the page without staring at it.\"",
"\"No phone. No drifting. If you get stuck, write the question down instead of escaping into something easier.\"",
"She gives you the room hours and circles the quieter slots."
]
}
},
{
"id": "study_finance_library",
"label": "Study Finance in the library",
"category": "Training",
"minutes": 90,
"energy": 15,
"basePay": 0,
"payScale": 0,
"requires": {
"finance": 1,
"focus": 1,
"intelligence": 1
},
"min": {},
"gains": {
"finance": 0.26,
"intelligence": 0.08,
"focus": 0.07
},
"text": [
"You work through basic finance material in the library, turning terms, ledgers, risk, and return into something you can actually use."
],
"location": "loc5",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc5",
"source": "University Library finance shelf",
"button": "Find the finance study shelf",
"min": {},
"passText": "",
"failText": "The finance shelf is open once you find the right material.",
"girlIds": [],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "University Library has a finance shelf you can turn into structured practice.",
"localSuccessLines": [
"You find the finance shelf in the library and stop treating it like a wall of hostile numbers.",
"The useful books are practical: budgets, ledgers, interest, risk, taxes, and enough examples to make the patterns repeat.",
"You copy a study path and mark the sections that can build Finance from zero instead of assuming you already know the language."
]
}
},
{
"id": "paper_trading_practice",
"label": "Paper trading practice",
"category": "Training",
"minutes": 120,
"energy": 18,
"basePay": 0,
"payScale": 0,
"cost": 12,
"requires": {
"finance": 1,
"focus": 1,
"willpower": 1
},
"min": {
"finance": 30,
"focus": 25,
"willpower": 25
},
"gains": {
"finance": 0.48,
"focus": 0.12,
"willpower": 0.08
},
"text": [
"You practice with paper trades, write down the reason for each move, and compare the result against what the market actually did."
],
"location": "loc13",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc13",
"source": "Tessa Grant",
"button": "Ask Tessa about paper trading",
"personOnly": true,
"prereqJobs": [
"study_finance_library"
],
"min": {
"finance": 30,
"focus": 25,
"willpower": 25
},
"passText": "",
"failText": "Tessa says paper trading is only useful if you can already read the basics and stick to the plan. Build Finance, Focus, and Willpower first.",
"girlIds": [
"g3"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Tessa can teach you paper trading after you build solid Finance, Focus, and Willpower.",
"inquiryPassText": "",
"inquiryFailText": "She says you need stronger Finance, Focus, and Willpower before paper trading will help.",
"npcSuccessLines": [
"Tessa does not hand you a magic trick. She gives you a practice method.",
"\"No real money. Not yet. You write the trade, the reason, the risk, and the exit before you pretend you made a decision.\"",
"\"Then you check what actually happened and learn whether your idea was good or just lucky.\"",
"She gives you a paper trading routine and makes it very clear that the notes matter more than the fake wins."
]
}
},
{
"id": "coding_course",
"label": "Online coding course",
"category": "Training",
"minutes": 120,
"energy": 18,
"basePay": 0,
"payScale": 0,
"cost": 25,
"requires": {
"informatic": 1,
"focus": 1
},
"min": {},
"gains": {
"informatic": 0.30,
"intelligence": 0.10,
"focus": 0.08
},
"text": [
"You work through a coding lesson with exercises that reward clean logic and working tests."
],
"location": "loc5",
"availability": [
"Afternoon",
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc5",
"source": "Library tech course board",
"button": "Check the online course board",
"min": {},
"passText": "",
"failText": "The course is available once you find the board.",
"girlIds": [
"g1",
"g8",
"g16"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "The University Library lists tech courses.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She recommends an online coding course that starts small enough to hurt your pride instead of your wallet.",
"It begins with simple exercises, clean logic, and tests that tell you when you broke something.",
"Skip the boring parts and you will spend twice as long staring at errors that are your fault.",
"She sends the course link and tells you not to buy anything extra until the basics stop scaring you."
]
}
},
{
"id": "cooking_class",
"label": "Cooking class",
"category": "Training",
"minutes": 120,
"energy": 21,
"basePay": 0,
"payScale": 0,
"cost": 22,
"requires": {
"cooking": 1
},
"min": {},
"gains": {
"cooking": 0.5,
"focus": 0.12
},
"text": [
"You take a practical cooking class, handle the ingredients yourself, and leave with one technique you can repeat without the teacher."
],
"location": "loc6",
"availability": [
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc6",
"source": "Cafe Row class flyers",
"button": "Read the cooking class flyers",
"min": {},
"passText": "",
"failText": "The class is open once you know where it is.",
"girlIds": [
"g7",
"g17"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Cafe Row advertises cooking classes.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She points you to a cooking class that focuses on basics instead of pretending cooking is magic.",
"Knife work, timing, heat, cleanup: the simple things that turn into problems when people skip them.",
"You leave with one dish you can repeat on purpose. That is worth more than one lucky dinner.",
"She gives you the class time and tells you not to show up starving."
]
}
},
{
"id": "massage_class",
"label": "Massage class",
"category": "Training",
"minutes": 120,
"energy": 21,
"basePay": 0,
"payScale": 0,
"cost": 28,
"requires": {
"massage": 1,
"empathy": 1
},
"min": {},
"gains": {
"massage": 0.64,
"empathy": 0.16
},
"text": [
"You practice bodywork basics under supervision, correcting hand placement before bad habits settle in."
],
"location": "loc14",
"availability": [
"Morning",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc14",
"source": "Spa training board",
"button": "Ask about massage classes",
"min": {},
"passText": "",
"failText": "The class is available once you find the spa board.",
"girlIds": [
"g13"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Wellness Spa lists massage classes.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Bianca talks about the class like bad technique personally annoys her.",
"\"Pressure, posture, hand placement, and learning when to ask before you go deeper.\"",
"\"Most people rush because slow work makes them feel awkward. That is exactly why they need practice.\"",
"She points out the class listing and taps the part about clean hands twice."
]
}
},
{
"id": "sketching_practice",
"label": "Sketching practice",
"category": "Training",
"minutes": 75,
"energy": 15,
"cost": 10,
"basePay": 0,
"payScale": 0,
"requires": {
"art": 1,
"focus": 1
},
"min": {},
"gains": {
"art": 0.24,
"focus": 0.08
},
"text": [
"You buy a cheap canvas board and work through basic sketch practice, forcing yourself to draw the shape in front of you instead of the cleaner version your brain keeps inventing."
],
"location": "loc11",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc11",
"source": "Art Studio sketch table",
"button": "Check the sketch practice table",
"min": {},
"passText": "",
"failText": "The sketch practice table is open once you find it.",
"girlIds": [],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "The Art Studio has open sketch practice.",
"localSuccessLines": [
"You find a corner of the Art Studio set up for basic sketch practice.",
"The table has cheap canvas boards, worn pencils, reference objects, and a note reminding beginners to draw badly before they draw well.",
"Nobody expects finished work. The point is repetition, observation, and learning to stop guessing the shape before you look at it."
]
}
},
{
"id": "composition_study",
"label": "Composition study",
"category": "Training",
"minutes": 90,
"energy": 18,
"cost": 30,
"basePay": 0,
"payScale": 0,
"requires": {
"art": 2,
"focus": 1,
"intelligence": 1
},
"min": {},
"gains": {
"art": 0.38,
"focus": 0.12,
"intelligence": 0.07,
"photography": 0.06
},
"text": [
"You buy a better canvas and study composition, blocking out shape, contrast, balance, and where the eye moves before the details start to matter."
],
"location": "loc11",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc11",
"source": "Studio composition guidance",
"button": "Ask about composition study",
"min": {},
"passText": "",
"failText": "You need the studio guidance first.",
"girlIds": [
"g2",
"g15",
"g6"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Art-focused girls can point you toward composition study.",
"personOnly": true,
"prereqJobs": [
"sketching_practice"
],
"inquiryPassText": "",
"inquiryFailText": "She says the paid composition study is available once you have the studio lead.",
"npcSuccessLines": [
"Valerie points you toward structured composition study at the Art Studio.",
"\"Not prettier details. Structure. Shape, balance, contrast, where the eye goes when it thinks no one is guiding it.\"",
"\"Buy the better canvas. Cheap materials teach cheap patience.\"",
"She writes the supply cost beside the contact before you can pretend you did not see it."
]
}
},
{
"id": "photo_course",
"label": "Photography course",
"category": "Training",
"minutes": 120,
"energy": 18,
"basePay": 0,
"payScale": 0,
"cost": 24,
"requires": {
"photography": 1,
"art": 1
},
"min": {},
"gains": {
"photography": 0.5,
"art": 0.16,
"focus": 0.1
},
"text": [
"You work through a photography lesson on light, framing, and the difference between a lucky shot and a controlled one."
],
"location": "loc11",
"availability": [
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc11",
"source": "Studio course board",
"button": "Check the photography course board",
"min": {},
"passText": "",
"failText": "The course is available once you find the board.",
"girlIds": [
"g2",
"g15"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Art Studio has photo courses.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She points you to a practical photography course, not the one with the prettiest poster.",
"Light, framing, distance, and simple direction are the difference between a photo that looks found and one that looks made.",
"You will take plenty of boring shots first. Good. Boring shots show you what changed.",
"She gives you the course board address and tells you to bring a charged camera."
]
}
},
{
"id": "music_practice",
"label": "Music practice",
"category": "Training",
"minutes": 90,
"energy": 15,
"basePay": 0,
"payScale": 0,
"cost": 0,
"requires": {
"music": 1,
"focus": 1
},
"min": {},
"gains": {
"music": 0.3,
"focus": 0.1
},
"text": [
"You take a proper practice slot and repeat the hard parts until your hands and ears stop fighting each other."
],
"location": "loc7",
"availability": [
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc7",
"source": "Nightclub rehearsal listing",
"button": "Check the rehearsal listing",
"min": {},
"passText": "",
"failText": "You can practice once you know where the rehearsal slots are posted.",
"girlIds": [
"g5",
"g14"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Nightclub listings reveal rehearsal slots.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She gives you a rehearsal practice lead that people actually use for practice.",
"You repeat the parts that fall apart, listen back, and fix one ugly section at a time.",
"If you only play what already sounds good, you are just entertaining yourself.",
"She gives you the room times and warns that the walls are thin enough to keep you honest."
]
}
},
{
"id": "social_drills",
"label": "Social confidence drills",
"category": "Training",
"minutes": 75,
"energy": 15,
"basePay": 0,
"payScale": 0,
"cost": 0,
"requires": {
"charm": 1,
"willpower": 1
},
"min": {},
"gains": {
"charm": 0.28,
"willpower": 0.16,
"empathy": 0.12
},
"text": [
"You run approach drills, get used to strangers reacting in real time, and stop treating every conversation like a verdict."
],
"location": "loc2",
"availability": [
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc2",
"source": "Mall promo coach",
"button": "Ask about promo confidence drills",
"min": {},
"passText": "",
"failText": "The drills are easy to learn once you find someone using them.",
"girlIds": [
"g10"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Mall promoters can teach social drills.",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Clara laughs when she says it, but the drills are real.",
"\"Start conversations, keep them short, notice when someone wants out, and leave before they hate you.\"",
"\"It is not about becoming charming overnight. It is about not freezing when someone answers.\"",
"She gives you the coach contact and says the first session is mostly surviving embarrassment."
]
}
},
{
"id": "expert_private_coding",
"label": "High-stakes private coding contract",
"category": "Expert",
"minutes": 240,
"energy": 48,
"basePay": 232,
"payScale": 1.45,
"requires": {
"informatic": 4,
"focus": 3,
"intelligence": 3
},
"min": {
"informatic": 70,
"focus": 53,
"intelligence": 50
},
"gains": {
"informatic": 0.31,
"focus": 0.12,
"intelligence": 0.1
},
"text": [
"You take a private coding contract where the client pays well because the deadline is ugly and the codebase is worse."
],
"location": "loc10",
"availability": [
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc10",
"source": "Private software recruiter",
"button": "Talk to the software recruiter",
"min": {
"informatic": 70,
"focus": 53,
"intelligence": 50
},
"passText": "",
"failText": "The recruiter does not see contract-level skill yet. Build Informatic, Focus, and Intelligence.",
"girlIds": [
"g8",
"g16"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Office District recruiters hold private coding contracts.",
"personOnly": true,
"prereqJobs": [
"freelance_coding"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She forwards a private coding contract lead with enough money attached to make the mess your problem for a few hours.",
"Old system, missed deadline, nervous client, and no room for ego.",
"Find the failure, document everything, and do not rebuild half the project because you want to feel clever.",
"She sends the recruiter contact with a warning to answer professionally or not at all."
]
}
},
{
"id": "expert_financial_cleanup",
"label": "Complex financial cleanup",
"category": "Expert",
"minutes": 210,
"energy": 39,
"basePay": 208,
"payScale": 1.35,
"requires": {
"finance": 4,
"focus": 3,
"intelligence": 2
},
"min": {
"finance": 67,
"focus": 50,
"intelligence": 44
},
"gains": {
"finance": 0.31,
"focus": 0.11,
"intelligence": 0.09
},
"text": [
"You work through a complex financial cleanup, trace bad entries, and make the numbers line up without hiding the mess."
],
"location": "loc13",
"availability": [
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc13",
"source": "Financial cleanup broker",
"button": "Ask about complex cleanup work",
"min": {
"finance": 67,
"focus": 50,
"intelligence": 44
},
"passText": "",
"failText": "The broker needs proof you will not damage the numbers. Build Finance, Focus, and Intelligence.",
"girlIds": [
"g3",
"g12"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Financial District brokers offer complex cleanup work.",
"personOnly": true,
"prereqJobs": [
"bookkeeping_help"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She gives you a financial cleanup lead that pays well because the lies are not small.",
"The books are dirty: missing entries, duplicate payments, and numbers moved just far enough that someone hoped nobody would check.",
"Trace what happened, mark what can be proven, and leave notes clean enough that nobody can pretend they misunderstood.",
"She forwards the broker contact and warns you not to touch this unless you can keep your notes sharp."
]
}
},
{
"id": "expert_portrait_session",
"label": "Premium portrait session",
"category": "Expert",
"minutes": 180,
"energy": 39,
"basePay": 118,
"payScale": 1.4,
"requires": {
"photography": 4,
"art": 2,
"charm": 2
},
"min": {
"photography": 62,
"art": 40,
"charm": 38
},
"gains": {
"photography": 0.31,
"art": 0.12,
"charm": 0.09
},
"text": [
"You run a premium portrait session, manage the subject, control the light, and deliver images worth the higher fee."
],
"location": "loc11",
"availability": [
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc11",
"source": "Portrait studio owner",
"button": "Ask about premium portrait sessions",
"min": {
"photography": 62,
"art": 40,
"charm": 38
},
"passText": "",
"failText": "Premium clients need better work than you can promise yet. Build Photography, Art, and Charm.",
"girlIds": [
"g6"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Art Studio has premium portrait overflow.",
"personOnly": true,
"prereqJobs": [
"photo_gig"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Valerie is quiet about the premium portrait sessions, which somehow makes them sound more serious.",
"\"These clients do not need to be flattered. They need to survive looking at themselves.\"",
"\"Light, pose, expression, delivery. If any one of those is false, the whole portrait lies badly.\"",
"She gives you the studio contact and underlines the booking fee once."
]
}
},
{
"id": "expert_private_catering",
"label": "Private catering prep",
"category": "Expert",
"minutes": 240,
"energy": 54,
"basePay": 150,
"payScale": 1.32,
"requires": {
"cooking": 4,
"hustle": 3,
"focus": 2
},
"min": {
"cooking": 62,
"hustle": 48,
"focus": 41
},
"gains": {
"cooking": 0.29,
"hustle": 0.12,
"focus": 0.09
},
"text": [
"You prep private catering under a tight deadline, balancing taste, timing, portions, and the fact that rich clients notice everything."
],
"location": "loc4",
"availability": [
"Dawn",
"Morning",
"Midday"
],
"unlock": {
"location": "loc4",
"source": "Private residence caterer",
"button": "Ask the residence caterer about prep work",
"min": {
"cooking": 62,
"hustle": 48,
"focus": 41
},
"passText": "",
"failText": "Private catering needs better Cooking, Hustle, and Focus.",
"girlIds": [
"g17"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "High Income Residential has private catering contacts.",
"personOnly": true,
"prereqJobs": [
"meal_prep_client"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Olivia speaks from experience and a little remembered stress.",
"\"Trays, portions, sauces, backups. Everything has to look calm by the time guests walk in.\"",
"\"The trick is doing the ugly prep early enough that nobody sees it happen.\"",
"She passes you the caterer contact and says one late item can ruin the whole table."
]
}
},
{
"id": "expert_sports_program",
"label": "Custom fitness program",
"category": "Expert",
"minutes": 180,
"energy": 48,
"basePay": 145,
"payScale": 1.28,
"requires": {
"sports": 4,
"fitness": 3,
"charm": 1
},
"min": {
"sports": 60,
"fitness": 51,
"charm": 26
},
"gains": {
"sports": 0.28,
"fitness": 0.16,
"charm": 0.08
},
"text": [
"You build a custom fitness program, correct the client's weak points, and make the session hard enough to justify the price."
],
"location": "loc1",
"availability": [
"Dawn",
"Morning",
"Afternoon"
],
"unlock": {
"location": "loc1",
"source": "Leah Cross",
"button": "Inquire about custom programs",
"personOnly": true,
"prereqJobs": [
"fitness_coach_intro"
],
"min": {
"sports": 60,
"fitness": 51,
"charm": 26
},
"passText": "",
"inquiryPassText": "",
"failText": "Leah says custom clients will expose every weak spot you still have.",
"inquiryFailText": "She says you are not ready yet.",
"girlIds": [
"g4"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Earn Leah's trust on beginner coaching before asking about custom programs.",
"npcSuccessLines": [
"Leah gets more selective when the work involves custom clients.",
"\"You watch how they move, find what is weak, build around it, and adjust when their body argues back.\"",
"\"Yelling until someone sweats is easy. Building something they can repeat is the job.\"",
"She opens the custom roster for you and says one careless plan can wreck a month of progress."
]
}
},
{
"id": "expert_therapeutic_massage",
"label": "Therapeutic massage booking",
"category": "Expert",
"minutes": 150,
"energy": 42,
"basePay": 110,
"payScale": 1.35,
"requires": {
"massage": 4,
"empathy": 3,
"focus": 2
},
"min": {
"massage": 64,
"empathy": 44,
"focus": 38
},
"gains": {
"massage": 0.32,
"empathy": 0.1,
"focus": 0.08
},
"text": [
"You take a therapeutic massage booking, ask about the pain first, and work through the session with slow pressure, clear check-ins, and no rushed showmanship."
],
"location": "loc14",
"availability": [
"Morning",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc14",
"source": "Spa therapy coordinator",
"button": "Ask about therapeutic bookings",
"min": {
"massage": 64,
"empathy": 44,
"focus": 38
},
"passText": "",
"failText": "Therapeutic work needs much better Massage, Empathy, and Focus.",
"girlIds": [
"g13"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Wellness Spa has therapeutic bookings.",
"personOnly": true,
"prereqJobs": [
"massage_booking"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Bianca lowers her voice for this lead.",
"\"These clients have real pain, old injuries, or both. You ask questions first and keep your pride out of your hands.\"",
"\"Work slowly. Stop when something feels wrong. Do not chase a knot like you are trying to win a fight.\"",
"She gives you the coordinator contact and says one bad session can close that door for good."
]
}
},
{
"id": "expert_music_production",
"label": "Paid music production help",
"category": "Expert",
"minutes": 180,
"energy": 36,
"basePay": 105,
"payScale": 1.3,
"requires": {
"music": 4,
"focus": 3,
"art": 2
},
"min": {
"music": 60,
"focus": 42,
"art": 34
},
"gains": {
"music": 0.31,
"focus": 0.1,
"art": 0.08
},
"text": [
"You help clean up a paid music project: cutting rough sections, fixing timing problems, balancing parts, and making the finished track sound deliberate."
],
"location": "loc7",
"availability": [
"Evening",
"Late Evening"
],
"unlock": {
"location": "loc7",
"source": "Nightclub producer contact",
"button": "Ask about production help",
"min": {
"music": 60,
"focus": 42,
"art": 34
},
"passText": "",
"failText": "They need better Music, Focus, and Art before they hand you paid tracks.",
"girlIds": [
"g14"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Nightclub producers need music production help.",
"personOnly": true,
"prereqJobs": [
"music_session_help"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Hana explains the production work without making it sound glamorous.",
"\"Cut rough sections, clean timing, balance tracks, and make the song stop fighting itself.\"",
"\"You are not there to take over. You are there to help people hear what they were trying to make.\"",
"She gives you the producer contact and warns that every hour starts with someone blaming the headphones."
]
}
},
{
"id": "expert_private_tutoring",
"label": "Advanced private tutoring",
"category": "Expert",
"minutes": 150,
"energy": 33,
"basePay": 152,
"payScale": 1.25,
"requires": {
"intelligence": 4,
"empathy": 2,
"focus": 3
},
"min": {
"intelligence": 65,
"focus": 50,
"empathy": 38
},
"gains": {
"intelligence": 0.29,
"focus": 0.12,
"empathy": 0.08
},
"text": [
"You take an advanced tutoring client and keep the session moving through material that does not forgive lazy explanations."
],
"location": "loc5",
"availability": [
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc5",
"source": "Advanced tutoring coordinator",
"button": "Ask about advanced tutoring",
"min": {
"intelligence": 65,
"focus": 50,
"empathy": 38
},
"passText": "",
"failText": "Advanced tutoring needs higher Intelligence, Focus, and Empathy.",
"girlIds": [
"g11"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "University Library has advanced tutoring leads.",
"personOnly": true,
"prereqJobs": [
"campus_tutoring"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Mina warns you before she gives you the advanced clients.",
"\"Hard material, bad habits, and usually a deadline they ignored until it became everyone's emergency.\"",
"\"Keep them solving problems out loud. Explain clearly without performing how smart you are.\"",
"She gives you the coordinator contact and a list of topics she refuses to let you fake."
]
}
},
{
"id": "nightclub_bouncer",
"label": "Nightclub door security",
"category": "Expert",
"minutes": 180,
"energy": 45,
"basePay": 116,
"payScale": 0.82,
"requires": {
"fitness": 3,
"dominance": 3,
"willpower": 1
},
"min": {
"fitness": 62,
"dominance": 36
},
"gains": {
"dominance": 0.27,
"fitness": 0.18,
"willpower": 0.1
},
"text": [
"You work the nightclub door, hold the line, stop drunk arguments before they spread, and make people understand that moving past you is not optional."
],
"location": "loc7",
"availability": [
"Evening",
"Late Evening",
"Night"
],
"unlock": {
"location": "loc7",
"source": "Nightclub head of security",
"button": "Ask the head of security about door work",
"min": {
"fitness": 62,
"dominance": 36
},
"passText": "",
"failText": "He does not offer the job. You need at least Fitness 50 and Dominance 30 before he trusts you near the door.",
"girlIds": [
"g18"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Nightclub security needs strength and presence.",
"personOnly": true,
"prereqJobs": [
"barback_shift"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Selene explains door work without smiling.",
"\"You hold the line, check the mood, and stop trouble while it is still small enough to move.\"",
"\"If you need to prove how tough you are, you are already making the night worse.\"",
"She gives you the security contact and tells you the first rule is staying calmer than the drunkest person outside."
]
}
},
{
"id": "neighborhood_repair_helper",
"label": "Neighborhood repair helper",
"category": "Basic",
"minutes": 90,
"energy": 24,
"basePay": 30,
"payScale": 0.55,
"requires": {
"fitness": 2,
"hustle": 1,
"focus": 1
},
"min": {
"fitness": 12.0,
"hustle": 10.0
},
"gains": {
"fitness": 0.11,
"hustle": 0.09,
"focus": 0.04
},
"text": [
"You spend the block helping with small building repairs around the cheaper blocks: carrying tools, holding ladders, moving broken furniture, patching minor damage, and cleaning up before the next call."
],
"location": "loc3",
"availability": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc3",
"source": "Apartment maintenance shed",
"button": "Ask the maintenance guy about day work",
"min": {
"fitness": 12,
"hustle": 10
},
"passText": "",
"failText": "He does not need another slow body following him around. Build Fitness and Hustle.",
"girlIds": [],
"slots": [
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Apartment maintenance shed",
"localSuccessLines": [
"The maintenance guy gives you a number for small repair calls around the cheaper blocks.",
"The work is practical: carry tools, hold ladders, move broken furniture, patch minor damage, and clean up after.",
"You take it because the calls are straightforward and people actually need the help."
]
}
},
{
"id": "private_house_assistant",
"label": "Private house assistant",
"category": "Service",
"minutes": 150,
"energy": 30,
"basePay": 48,
"payScale": 0.7,
"requires": {
"charm": 2,
"focus": 2,
"empathy": 1
},
"min": {
"charm": 28,
"focus": 23
},
"gains": {
"focus": 0.16,
"charm": 0.1,
"empathy": 0.07
},
"text": [
"You help inside a private house for a long block: taking deliveries, preparing guest rooms, running quiet errands, and fixing small problems before the owner has to deal with them."
],
"location": "loc4",
"availability": [
"Morning",
"Midday",
"Afternoon"
],
"unlock": {
"location": "loc4",
"source": "Estate notice board",
"button": "Check the estate notice board",
"min": {
"charm": 28,
"focus": 23
},
"passText": "",
"failText": "The ad expects better manners and focus than you can show right now.",
"girlIds": [],
"slots": [
"Morning",
"Midday",
"Afternoon"
],
"minutes": 10,
"hint": "Estate notice board",
"localSuccessLines": [
"The estate board lists the position with very specific expectations and no patience for confusion.",
"You would take deliveries, prepare guest rooms, run small errands, and quietly fix problems before the owner notices.",
"The pay is better because the mistakes happen inside an expensive house."
]
}
},
{
"id": "park_bootcamp_helper",
"label": "Park bootcamp helper",
"category": "Service",
"minutes": 90,
"energy": 33,
"basePay": 38,
"payScale": 0.62,
"requires": {
"fitness": 2,
"sports": 2,
"charm": 1
},
"min": {
"fitness": 20.0,
"sports": 16.0
},
"gains": {
"sports": 0.16,
"fitness": 0.13,
"charm": 0.06
},
"text": [
"You help run a park bootcamp, demonstrate simple drills, correct sloppy movement, and keep tired people from quitting before the session ends."
],
"location": "loc8",
"availability": [
"Dawn",
"Morning",
"Evening"
],
"unlock": {
"location": "loc8",
"source": "Park bootcamp coach",
"button": "Talk to the bootcamp coach",
"min": {
"fitness": 20,
"sports": 16
},
"passText": "",
"failText": "The coach needs someone fitter and more sport-literate before putting them in front of beginners.",
"girlIds": [
"g9",
"g19"
],
"slots": [
"Dawn",
"Morning",
"Evening"
],
"minutes": 10,
"hint": "Park bootcamp coach",
"personOnly": true,
"prereqJobs": [
"beach_volleyball_drills"
],
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"She points you toward a park bootcamp coach who needs help keeping the group moving.",
"You demonstrate drills, fix obvious movement problems, count sets, and keep people from quitting when it stops being fun.",
"The coach runs the program. You keep bodies moving and morale alive.",
"She gives you the meeting time and says to bring water for yourself, not just advice for everyone else."
]
}
},
{
"id": "beach_kiosk_shift",
"label": "Beach kiosk shift",
"category": "Basic",
"minutes": 120,
"energy": 27,
"basePay": 26,
"payScale": 0.58,
"requires": {
"hustle": 2,
"charm": 1,
"willpower": 1
},
"min": {
"hustle": 12.0,
"charm": 10.0
},
"gains": {
"hustle": 0.11,
"charm": 0.06,
"willpower": 0.04
},
"text": [
"You work a beachfront kiosk through heat, sand, tourists, and small complaints, selling drinks and rentals while pretending the sun is not cooking you."
],
"location": "loc9",
"availability": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc9",
"source": "Beachfront rental kiosk",
"button": "Ask the kiosk owner about shifts",
"min": {
"hustle": 12,
"charm": 10
},
"passText": "",
"failText": "The kiosk needs someone quicker and easier with customers. Build Hustle and Charm.",
"girlIds": [
"g9"
],
"slots": [
"Dawn",
"Morning",
"Midday",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Beachfront rental kiosk",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Rita sighs like the kiosk has personally tested her patience.",
"\"Drinks, rentals, counters, tourist questions, sand in places sand should not reach.\"",
"\"It is not complicated. It is just constant, and constant is what wears people down.\"",
"She gives you the owner's number and tells you to bring water before the sun turns mean."
]
}
},
{
"id": "beach_volleyball_drills",
"label": "Beach volleyball drills",
"category": "Training",
"minutes": 75,
"energy": 27,
"cost": 0,
"basePay": 0,
"payScale": 0,
"requires": {
"fitness": 1,
"sports": 1
},
"min": {},
"gains": {
"sports": 0.26,
"fitness": 0.16,
"willpower": 0.07
},
"text": [
"You join beach volleyball drills, fight through sand under your feet, and learn fast footwork from people who punish every lazy step."
],
"location": "loc9",
"availability": [
"Dawn",
"Morning",
"Afternoon",
"Evening"
],
"unlock": {
"location": "loc9",
"source": "Beach volleyball group",
"button": "Join the beach volleyball group",
"min": {},
"passText": "",
"failText": "The group is open once you find them.",
"girlIds": [
"g9"
],
"slots": [
"Dawn",
"Morning",
"Afternoon",
"Evening"
],
"minutes": 10,
"hint": "Beach volleyball group",
"personOnly": true,
"inquiryPassText": "",
"inquiryFailText": "She says you are not ready yet.",
"npcSuccessLines": [
"Rita waves you over before you can turn the idea into a big decision.",
"\"You move in sand, chase short balls, work on footwork, and learn why standing still is not the same as being ready.\"",
"\"You will look stupid for a while. Everyone does. Then your body starts catching up.\"",
"She gives you the group times and tells you to wear something you can sweat through."
]
}
}
]
END_JOBS %/<<run setup.CC.init()>>
<<set $cc.view = "journal">>
<<set $cc.passageHint = "Journal">>
<<= setup.CC.view("journal") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("home")>>
<<set $cc.view = "home">>
<<set $cc.passageHint = "Home">>
<<= setup.CC.view("home") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc1")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 001 - Gym">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc2")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 002 - Mall">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc3")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 003 - Low Income Residential">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc4")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 004 - High Income Residential">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc5")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 005 - University Library">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc6")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 006 - Cafe Row">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc7")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 007 - Nightclub">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc8")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 008 - City Park">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc9")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 009 - Beachfront">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc10")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 010 - Office District">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc11")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 011 - Art Studio">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc12")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 012 - Transit Plaza">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc13")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 013 - Financial District">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<run setup.CC.openLocation("loc14")>>
<<set $cc.view = "location">>
<<set $cc.passageHint = "Location 014 - Wellness Spa">>
<<= setup.CC.view("location") >><<run setup.CC.init()>>
<<set $cc.view = "map">>
<<set $cc.passageHint = "Map">>
<<= setup.CC.view("map") >><<run setup.CC.init()>>
<<set $cc.view = "home">>
<<set $cc.passageHint = "Home">>
<<= setup.CC.view("home") >><<run setup.CC.init()>>
<<set $cc.view = "perks">>
<<set $cc.passageHint = "Perks">>
<<= setup.CC.view("perks")>>/% REACTION_DATA
{
"girlId": "g0",
"girl": "Maya Bell",
"readyVariable": "dialogue001ready",
"notes": [],
"responses": [
{
"action": "talk_cooking",
"success": [
"Maya leans in despite herself, already judging the idea by smell, texture, and timing.",
"Her teasing softens because the subject reaches the part of her that still cares too much."
],
"failure": [
"Maya gives the kind of smile she uses on customers who think foam art is cuisine.",
"Her attention shuts down as soon as the food talk turns shallow."
]
},
{
"action": "massage_start",
"success": [
"Maya rolls one shoulder before she can pretend she does not need it.",
"Her body betrays interest first; her mouth arrives later with conditions."
],
"failure": [
"Maya keeps her shoulders squared, refusing to give your hands an opening.",
"The offer lands too hungry, and she protects the tired places in her body."
]
}
]
}
END_REACTION_DATA %//% REACTION_DATA
{
"girlId": "g1",
"girl": "Zoe Bellamy",
"readyVariable": "dialogue002ready",
"notes": [],
"responses": [
{
"action": "talk_computers",
"success": [
"Zoe lowers one side of her headphones, which is more permission than most people get.",
"Her fingers pause over the keyboard as she lets the technical detail matter."
],
"failure": [
"Zoe retreats into the machine faster than into the conversation.",
"Her expression says the attempt was too sloppy to reward."
]
},
{
"action": "talk_music",
"success": [
"Zoe listens for the shape of your attention before she answers.",
"A small private smile appears and vanishes under the music."
],
"failure": [
"The music stays between you like a closed door.",
"Zoe gives the topic a clean, quiet exit."
]
}
]
}
END_REACTION_DATA %//% REACTION_DATA
{
"girlId": "g2",
"girl": "Iris Moon",
"readyVariable": "dialogue003ready",
"notes": [],
"responses": [
{
"action": "talk_art",
"success": [
"Iris brightens before she remembers to be shy about it.",
"Her hands start moving as if the idea has already become a sketch."
],
"failure": [
"Iris smiles politely, but the artist in her has already stepped away from the conversation.",
"Her attention slips away from the flat observation."
]
},
{
"action": "look_eyes",
"success": [
"Iris holds the look for one brave second longer than comfort allows.",
"Her face flushes, but she does not immediately look away."
],
"failure": [
"Iris drops her gaze and retreats into nervous motion.",
"The stare makes her self-conscious instead of warm."
]
}
]
}
END_REACTION_DATA %//% REACTION_DATA
{
"girlId": "g3",
"girl": "Tessa Grant",
"readyVariable": "dialogue004ready",
"notes": [],
"responses": [
{
"action": "talk_finance",
"success": [
"Tessa gives you the rare courtesy of considering the point before judging it.",
"Her attention sharpens; competence is the first door with her."
],
"failure": [
"Tessa dismisses the idea before it wastes more time.",
"Her expression stays polished, which somehow makes the rejection colder."
]
},
{
"action": "gentle_command",
"success": [
"Tessa measures the command, then allows the smallest amount of compliance.",
"Her posture does not soften, but the balance shifts in your favor."
],
"failure": [
"Tessa does not move. The failed command dies in the space between you.",
"Her eyes cool, separating confidence from entitlement."
]
}
]
}
END_REACTION_DATA %/This generic bank stores body language and reactions only. It should not contain quoted dialogue.
/% REACTION_BANK
{
"admire_outfit_failure": [
"She notices the open look and makes it clear she is not interested.",
"{name} does not let the outfit compliment become a longer moment.",
"Her face goes flat before the attention can turn flattering.",
"She shifts her body away from the way you are looking at her.",
"The attempt reads too obvious, and she shuts it down."
],
"admire_outfit_success": [
"Her eyes drop to her outfit, then back to you, checking where your gaze lingers.",
"She notices the look and decides whether it feels flattering or too obvious.",
"She leans into the contact by a small, honest amount."
],
"against_wall_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"She refuses the wall position before it becomes sex.",
"She moves out of position before you can continue."
],
"against_wall_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper.",
"{name} braces against the wall as the position turns urgent."
],
"anal_anal_position_switch_failure": [
"Her ass moves out of reach, and her hand stops you at the hip.",
"She stiffens hard and keeps you away from her ass.",
"{name} pulls back and makes the refusal clear.",
"Her posture closes and stays closed.",
"She stops you before it can continue."
],
"anal_anal_position_switch_success": [
"Her asshole tightens hard when the new position stretches her differently.",
"She braces herself while your cock stays buried in her ass.",
"Her breath catches as the movement changes around the same deep stretch.",
"Her fingers dig in while her ass adjusts around you.",
"The switch makes her clench before she settles into it."
],
"anal_cowgirl_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"anal_cowgirl_pleasure_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"She stiffens hard and keeps you away from her ass.",
"Her ass tightens too hard from above and she stops riding.",
"She pulls forward, leaving your hand with nothing to hold.",
"Her hips stop moving as the stretch becomes too much.",
"Her tight hole clamps down and she refuses the next drop."
],
"anal_cowgirl_pleasure_success": [
"She straddles you and lowers her tight asshole onto your cock in cowgirl.",
"She grinds her asshole down around your cock in deep cowgirl anal.",
"Her body jolts with each thrust into her ass.",
"She sinks down repeatedly, stretching her ass around your thick cock.",
"She bounces steadily, taking your cock balls-deep in her ass.",
"Her fingers dig into the surface beneath her.",
"She gasps hard when you push deeper into her ass.",
"Her ass cheeks jiggle while she rides you anally in cowgirl.",
"She leans back and works her tight hole up and down your shaft."
],
"anal_cowgirl_success": [
"Her fingers clutch at you while her asshole takes more.",
"Her ass grips your cock hard.",
"{name} takes her time above you as her ass opens around you.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases."
],
"anal_doggy_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"anal_doggy_pleasure_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her ass moves out of reach, and her hand stops you at the hip.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"She stiffens hard and keeps you away from her ass.",
"She pulls forward, leaving your hand with nothing to hold.",
"Her back tightens, and she refuses the anal push at once.",
"Her body tenses so hard the motion breaks."
],
"anal_doggy_pleasure_success": [
"Her ass ripples with every hard thrust while you fuck her in doggy.",
"Her asshole stretches visibly as you fuck her hard from behind.",
"Her body rocks forward each time you bury your cock in her tight ass.",
"Her back arches as your cock stretches her open.",
"The position gives perfect leverage to pound her ass relentlessly.",
"Doggy style anal turns rough and deep, her ass taking every inch."
],
"anal_doggy_success": [
"Her fingers clutch at you while her asshole takes more.",
"{name} braces hard as her asshole stretches around you.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases."
],
"anal_missionary_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"anal_missionary_pleasure_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"She stiffens hard and keeps you away from her ass.",
"She pulls forward, leaving your hand with nothing to hold.",
"She gasps uncomfortably and blocks the next thrust.",
"She pushes against your chest before the stretch becomes too much.",
"Her back tightens, and she refuses the anal push at once.",
"Her body asks for a slower, gentler reset."
],
"anal_missionary_pleasure_success": [
"Her asshole stretches around your cock with every deep missionary thrust.",
"Her legs spread wide while your cock pushes deep into her asshole in missionary.",
"Her ass takes every inch as you thrust steadily in the missionary anal position.",
"The intimate position lets you drive steadily into her clenching ass.",
"Her fingers dig into the surface beneath her.",
"Deep missionary anal stretches her hole wide with every powerful push."
],
"anal_missionary_success": [
"Her fingers clutch at you while her asshole takes more.",
"Her ass grips your cock hard.",
"{name} holds your gaze while her ass takes you inch by inch.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases."
],
"anal_pleasure_failure": [
"{name} breaks the rhythm before your cock can push into her asshole again.",
"{name} stops the anal before your cock can keep moving in her ass.",
"Her ass tightens and her body pulls away from the next thrust.",
"Her hips move away, refusing any more pressure in her ass.",
"{name} pulls back and makes the refusal clear.",
"She stops you before it can continue.",
"She braces against you and ends the anal sex immediately."
],
"anal_pleasure_success": [
"{name} breathes through the stretch as her asshole tightens around you.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"anal_reverse_cowgirl_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"anal_reverse_cowgirl_pleasure_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her ass moves out of reach, and her hand stops you at the hip.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"She stiffens hard and keeps you away from her ass.",
"Her ass tightens so hard the next movement stops.",
"She pulls off slowly, breathing tense and sharp.",
"She refuses to sink down again."
],
"anal_reverse_cowgirl_pleasure_success": [
"She turns around and sinks her asshole down onto your cock in reverse.",
"The reverse position gives a perfect view of her asshole taking cock.",
"Her asshole tightens around your cock.",
"Thick juices drip while she fucks her ass backwards on your cock.",
"Her ass bounces heavily while she rides you in reverse cowgirl anal.",
"She leans forward and works her ass up and down your shaft.",
"Her ass moves aggressively as she rides in reverse cowgirl.",
"The reverse cowgirl makes her ass look incredible while stretching around you."
],
"anal_reverse_cowgirl_success": [
"Her fingers clutch at you while her asshole takes more.",
"{name}'s back arches as her asshole tightens around you.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases."
],
"anal_talk_failure": [
"{name} shuts the topic down before it can go further.",
"{name} gives a short answer and stops feeding the conversation.",
"Her body closes at the mention of anal.",
"She cuts the subject off before it becomes a negotiation.",
"The boundary comes down fast and clean.",
"She looks away and leaves the topic dead."
],
"anal_talk_success": [
"The word changes her breathing, and she keeps her eyes on you instead of looking away.",
"She shifts her weight, aware that the conversation has moved toward her ass.",
"She holds your gaze at the mention of anal, not refusing it outright.",
"Her shoulders loosen as she keeps talking.",
"{name} holds still at the mention of anal, watching whether you treat the idea carefully.",
"Her posture tightens when anal becomes the subject, but she does not shut it down.",
"{name} lets the anal talk stay in the room, guarded but listening."
],
"anal_wall_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"anal_wall_pleasure_failure": [
"Her ass moves out of reach, and her hand stops you at the hip.",
"She braces against the wall and closes her ass hard against you.",
"Her body stiffens against the wall, refusing the next thrust.",
"She pulls forward, leaving your hand with nothing to hold.",
"She stiffens hard and keeps you away from her ass.",
"Her back tightens, and she refuses the anal push at once.",
"Her tight hole clenches shut before you can drive deeper.",
"She shuts down the wall position with her whole body."
],
"anal_wall_pleasure_success": [
"She braces on the wall while you thrust deep into her tight asshole.",
"Her body is pinned as you fuck her asshole deep and rough.",
"She stays pressed forward as your cock works deep into her ass.",
"The standing position lets you pound her ass with powerful strokes.",
"The wall supports her while you stretch her ass from behind.",
"The dominant standing anal turns rough against the wall."
],
"anal_wall_success": [
"Her fingers clutch at you while her asshole takes more.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases.",
"{name} braces against the wall as the anal angle turns intense."
],
"analingus_fingers_failure": [
"Her ass moves out of reach, and her hand stops you at the hip.",
"{name} pulls her ass away before you can continue.",
"Her hand moves back to cover herself.",
"She closes her thighs and stops the anal attention.",
"She stiffens hard and keeps you away from her ass."
],
"analingus_fingers_success": [
"Her hand grips the nearest surface while you lick her asshole.",
"{name}'s ass tenses at first, then opens a little for your tongue.",
"Her thighs twitch around your hand.",
"She shivers hard when the rimming becomes fingering, thighs tense while her body decides to accept it.",
"She bites back a sound and pushes into your touch."
],
"analingus_pleasure_failure": [
"{name} pulls her ass away before your tongue can return to her asshole.",
"She closes the angle and keeps your mouth away from her ass.",
"Her ass moves out of reach before your tongue can press in again.",
"Her hips tuck away, ending the rimming before it can continue.",
"{name} stops the analingus with a firm shift of her hips."
],
"analingus_pleasure_success": [
"{name}'s ass tenses at first, then opens a little for your tongue.",
"{name} shivers as the analingus stays focused and deliberate.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"analingus_to_anal_failure": [
"She clenches her asshole and pulls away.",
"Her body rejects you instantly.",
"She twists sharply and stops you.",
"She crawls forward and breaks it.",
"Her hole stays tightly closed.",
"She refuses entry completely."
],
"analingus_to_anal_success": [
"Her asshole tightens when your cock replaces your mouth.",
"She braces herself as the wet rim meets the head of your cock.",
"Her breath goes shallow while the analingus turns into penetration.",
"Her ass clenches around the new pressure before she lets you go farther.",
"The first push makes her fingers dig in while she adjusts."
],
"analingus_to_cunnilingus_failure": [
"She keeps her ass pressed toward your face.",
"She refuses to move back to her pussy.",
"She locks her thighs and blocks the switch.",
"She demands more attention on her ass.",
"Her back tightens, and she refuses the anal push at once.",
"She ignores the change completely."
],
"analingus_to_cunnilingus_success": [
"Her body relaxes a little when your mouth returns to her pussy.",
"Her hips follow your tongue back to her clit.",
"She exhales hard when the analingus turns back into cunnilingus.",
"Her thighs open wider once your mouth finds her wet slit again.",
"The familiar pressure on her pussy pulls a quicker reaction out of her."
],
"ask_about_schedule_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"ask_about_schedule_success": [
"A small smile slips through before she reins it in.",
"She keeps eye contact while she answers.",
"She gives you a few real details about when she is usually around.",
"Her shoulders loosen as she keeps talking.",
"{name} decides whether the question sounds considerate or too eager.",
"Her answer comes after a real pause, not automatic politeness.",
"She pauses, then gives you enough of an answer to work with.",
"The invitation lands more cleanly than she expected."
],
"ask_address_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"ask_address_success": [
"{name} writes the address down and makes sure you can read it.",
"She gives you the address, then watches your reaction.",
"Her fingers stay on the note for a second before she lets you take it.",
"{name} gives you the address without making a speech out of it.",
"She tells you where to find her and waits to see if you act normal about it.",
"{name} watches you closely before deciding how much of her private life to reveal.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible."
],
"ask_anal_sex_failure": [
"Her body turns guarded as soon as you ask for anal.",
"She gives a small shake of her head, uneasy with the idea of anal.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"ask_anal_sex_success": [
"Her fingers clutch at you while her asshole takes more.",
"Her ass grips your cock hard.",
"Her body shakes each time your cock sinks deeper.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases.",
"{name} freezes around the thought, measuring trust, heat, and risk before answering."
],
"ask_blowjob_failure": [
"She refuses the blowjob request and keeps her mouth to herself.",
"Her eyes drop for a second, then return with a clear refusal.",
"{name} stops the act before it can begin.",
"Her mouth stays closed, and her expression says she is not ready for that.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"ask_blowjob_success": [
"She looks up at you with your cock still in her mouth.",
"Her mouth grows wetter around your dick.",
"{name} looks down at your cock before deciding whether to give you her mouth.",
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"She takes another inch and breathes through her nose."
],
"ask_bottom_off_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"ask_bottom_off_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"ask_bra_off_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"ask_bra_off_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"ask_footjob_failure": [
"Her foot slips away from your cock and stays out of reach.",
"She draws her knees closer and leaves your cock untouched.",
"Her expression tightens before your cock gets anywhere near her feet.",
"She plants one foot out of reach, making the refusal obvious.",
"Her toes curl back against the floor, not around you."
],
"ask_footjob_success": [
"Her eyes drop to your cock before her feet move closer.",
"Her feet press around your cock and rub it slowly.",
"Your cock grows slick against her feet.",
"Her feet keep your cock trapped between them.",
"{name} watches your shaft slide between her soles.",
"She flexes her toes when you twitch against her.",
"She keeps you pinned between her soles.",
"She shifts her legs, testing the contact before she commits to the stroke."
],
"ask_handjob_failure": [
"She refuses the handjob request and keeps her hands to herself.",
"Her hands stay to herself after the request.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She keeps her hands still and refuses without making it dramatic."
],
"ask_handjob_success": [
"Her fingers tighten around your cock.",
"{name} watches your face while her hand works you.",
"She keeps her wrist loose and her eyes on you.",
"{name} watches your reaction as her hand moves toward you.",
"Precum slicks her palm as she keeps stroking.",
"Her grip changes when she feels you throb."
],
"ask_naked_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"ask_naked_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"ask_number_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"ask_number_success": [
"She checks your face before handing the number over.",
"{name} keeps her eyes on you while you put the number away.",
"{name} writes the number down and lets you take it.",
"Her fingers linger on the paper for a second before she lets go.",
"She gives you the number, then watches how carefully you save it.",
"{name} weighs whether you have earned a way to reach her outside this moment.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible."
],
"ask_panties_off_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"ask_panties_off_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She lets her panties come down but keeps her eyes on your hands.",
"The undressing makes the air warmer between you."
],
"ask_permission_finger_failure": [
"{name} pulls back and makes the refusal clear.",
"She refuses permission before your hand moves any farther.",
"{name} stops the act before it can begin.",
"Her thighs stay together while she refuses permission.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"ask_permission_finger_success": [
"Her pussy tightens around your fingers.",
"Her thighs tremble while your fingers move inside her.",
"{name}'s hips rock into your hand.",
"Her clit twitches under your thumb.",
"She gets wetter as your fingers keep working.",
"{name} looks at your hand, then at you, weighing the permission before giving it."
],
"ask_permission_oral_failure": [
"{name} pulls back and makes the refusal clear.",
"She refuses the request before your mouth goes anywhere.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"Her legs remain closed, and the look she gives you answers the request.",
"She moves out of position before you can continue."
],
"ask_permission_oral_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"Her pussy gets wetter against your tongue.",
"She breathes harder each time your mouth returns to her clit.",
"{name}'s thighs tense at the thought before she answers.",
"Her fingers tighten in your hair."
],
"ask_sex_failure": [
"She refuses the request before either of you changes position.",
"She seems uneasy about your request to have sex, and lets you know she is not ready.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"Her posture tightens at the question, making the answer clear before she says it.",
"She moves out of position before you can continue."
],
"ask_sex_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"She wraps herself closer as your cock moves inside her.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper.",
"{name} studies you at the edge of the decision, knowing exactly what yes would mean."
],
"ask_titfuck_failure": [
"She pulls her upper body back and keeps your cock away from her tits.",
"Her hands stay firm between your cock and her chest.",
"She shifts away, leaving your cock outside her chest.",
"Her tits press together for a second, then she breaks away.",
"Her arms shift across her chest, stopping the contact."
],
"ask_titfuck_success": [
"Your cock slips through the soft press of her tits.",
"Her tits squeeze around your cock.",
"Her nipples harden while your shaft moves between her breasts.",
"Her chest rises as she looks from your face to your cock.",
"She cups her tits uncertainly, then brings them together around you.",
"She exhales through her nose and lets her breasts close around your shaft.",
"Her breasts slide around you with each push.",
"{name} holds her chest tight and watches you slide through."
],
"ask_top_off_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"ask_top_off_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"beg_anal_sex_failure": [
"Her expression tightens at the plea for anal.",
"Her hand presses against your hip until you stop.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The pleading does not make her any more willing to give you her ass.",
"She moves out of position before you can continue."
],
"beg_anal_sex_success": [
"Her fingers clutch at you while her asshole takes more.",
"Her ass grips your cock hard.",
"Her body shakes each time your cock sinks deeper.",
"{name} hears the need in your voice and the risk in the act.",
"{name} breathes through the stretch and lets you stay inside.",
"She pushes back by a small amount once the stretch eases."
],
"beg_blowjob_failure": [
"She hears the begging and still refuses to use her mouth.",
"She hears the need in your voice and still keeps her mouth away.",
"{name} stops the act before it can begin.",
"Her face softens for a second, but her answer stays no.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"beg_blowjob_success": [
"She looks up at you with your cock still in her mouth.",
"Her mouth grows wetter around your dick.",
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} hears the desperation and decides whether to reward it with her lips.",
"She takes another inch and breathes through her nose."
],
"beg_cunnilingus_failure": [
"She seems uncomfortable with the begging and keeps her thighs closed.",
"She looks uncomfortable with how badly you want to go down on her.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"She refuses to open herself to your mouth.",
"Her thighs stay closed while she refuses the plea."
],
"beg_cunnilingus_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"Her pussy gets wetter against your tongue.",
"She breathes harder each time your mouth returns to her clit.",
"Her fingers tighten in your hair.",
"{name} hears the hunger in the request and lets it work on her."
],
"beg_footjob_failure": [
"Her face hardens at the need in your voice.",
"She looks down at you without giving her feet an inch.",
"Her legs tuck closer to herself, cutting off the route you wanted.",
"She hears the begging and still keeps her body closed.",
"Her foot leaves your shaft, ending the stroke at once."
],
"beg_footjob_success": [
"Her feet press around your cock and rub it slowly.",
"Your cock grows slick against her feet.",
"Her expression changes when she hears the need in your voice.",
"{name} watches your shaft slide between her soles.",
"She flexes her toes when you twitch against her.",
"She keeps you pinned between her soles.",
"She lets the silence stretch, then moves her feet into place.",
"Both feet squeeze you and slide together."
],
"beg_handjob_failure": [
"She hears the begging and keeps her hands to herself.",
"Her hands remain still despite the need in your voice.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"beg_handjob_success": [
"Her fingers tighten around your cock.",
"{name} watches your face while her hand works you.",
"She keeps her wrist loose and her eyes on you.",
"Precum slicks her palm as she keeps stroking.",
"Her grip changes when she feels you throb.",
"{name} lets the begging hang for a second before reaching for you."
],
"beg_sex_failure": [
"The begging does not change her answer.",
"She seems uneasy about your begging for sex and lets you know she isn't ready.",
"{name} stops the act before it can begin.",
"The begging makes her more uneasy instead of softer.",
"The heat cuts off at the boundary she sets.",
"She stays where she is, but the answer does not change."
],
"beg_sex_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"She wraps herself closer as your cock moves inside her.",
"{name} hears the desperation and decides whether it makes her want you closer or farther away.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper."
],
"beg_sixty_nine_failure": [
"She refuses the idea of sixty-nine before either of you moves.",
"The request for sixty-nine makes her guarded rather than tempted.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"beg_sixty_nine_success": [
"Her mouth works your cock while her hips grind against your face.",
"{name} keeps one hand on you while your tongue works her pussy.",
"She loses track of your cock for a second, then takes it back into her mouth.",
"Her thighs tighten around your head when you moan against her.",
"The two of you get wetter and sloppier together.",
"{name} lets the begging sharpen the idea before she moves."
],
"beg_titfuck_failure": [
"She keeps her tits away from your cock while the plea dies out.",
"Her arms fold lightly, closing the route to her breasts.",
"She shifts away, leaving your cock outside her chest.",
"Her tits press together for a second, then she breaks away.",
"She watches you beg without bringing her chest closer."
],
"beg_titfuck_success": [
"Your cock slips through the soft press of her tits.",
"Her nipples brush your cock as you thrust.",
"Her tits squeeze around your cock.",
"Her nipples harden while your shaft moves between her breasts.",
"She watches you for a beat, then cups her tits around you.",
"A small, pleased breath escapes her as her breasts close around your shaft.",
"{name} holds her chest tight and watches you slide through.",
"She keeps her chest together until your breathing changes."
],
"blowjob_to_sex_failure": [
"She keeps you trapped in her mouth.",
"Her head turns away, leaving your cock wet but untouched.",
"She stays locked on blowjob.",
"Her lips seal tight around you.",
"She sucks harder and refuses to stop.",
"She blocks any penetration.",
"She pushes you back to suck more.",
"She shakes her head and refuses."
],
"blowjob_to_sex_success": [
"Her breath catches when your cock moves from her mouth to her cunt.",
"Her pussy tightens as the wet head of your cock presses in.",
"She is still breathing like she had you in her mouth when your cock starts filling her.",
"Her thighs part wider as you turn the blowjob into sex.",
"Her body shifts from sucking to taking you, the change making her tense around the first thrust."
],
"breast_sex_failure": [
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"breast_sex_pleasure_failure": [
"She pulls her chest back before your cock can slide between her tits.",
"Her hands cover her breasts and stop the act there.",
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"She shifts away, leaving your cock outside her chest.",
"Her tits press together for a second, then she breaks away.",
"She moves her upper body back and ends the titfuck attempt."
],
"breast_sex_pleasure_success": [
"She squeezes her breasts together around your cock with a focused look.",
"Her nipples stay hard while your cock moves between her breasts.",
"She looks up while keeping your cock trapped between her tits.",
"Her tits squeeze around your cock.",
"Her tits press tight as you slide between them.",
"Her breasts slide around you with each push.",
"Her breasts bounce softly around your shaft.",
"She presses her chest tighter around your shaft."
],
"breast_sex_success": [
"Your cock slips through the soft press of her tits.",
"Her tits squeeze around your cock.",
"Her nipples harden while your shaft moves between her breasts.",
"{name}'s breasts squeeze around your shaft as she learns your rhythm.",
"{name} holds her chest tight and watches you slide through.",
"She keeps her chest together until your breathing changes."
],
"caress_thigh_failure": [
"She moves your hand away and steps back.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"caress_thigh_success": [
"She parts her stance slightly as your fingers trace higher along her thigh.",
"{name} lets your hand stay on her thigh, close enough to make the direction clear.",
"{name} watches your hand climb her thigh and allows the slow advance.",
"Her thigh warms under your touch as you test how far she will let it go.",
"Her leg tenses under your palm, but she does not pull away."
],
"casual_heat_success": [
"{name} answers, but her body is slower to come back to you.",
"She gives you the reply, then has to find the heat again.",
"Her attention returns, but the interruption leaves a small pause."
],
"climax_back_failure": [
"{name} blocks the target with a quick hand.",
"She turns your body away before you can cum there.",
"{name} blocks the target before the orgasm lands there.",
"She turns away and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_back_success": [
"Cum streaks across her back while she holds still through the last pulses.",
"She feels the hot streaks land across her back and exhales through the mess.",
"Her shoulders tense as your cum spreads over her skin from behind.",
"A thick line of cum slides down her back while she stays bent under the aftermath.",
"She glances back once, aware of the cum marking her from behind."
],
"climax_body_failure": [
"{name} blocks the target with a quick hand.",
"She turns your body away before you can cum there.",
"{name} blocks the target before the orgasm lands there.",
"She moves clear and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_body_success": [
"She looks down at the cum on her skin and lets the mess sit there.",
"Her stomach tightens under the warm streaks.",
"She exhales slowly, watching your cum spread across her body.",
"The mess clings to her skin while she decides whether to move or make you look at it.",
"She shifts just enough to feel the cum slide."
],
"climax_boobs_failure": [
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"{name} blocks the target before the orgasm lands there.",
"She turns away and protects her chest.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_boobs_success": [
"Her tits rise with her breathing, cum shining across her nipples.",
"She looks down at the mess on her breasts before looking back at you.",
"A thick streak slides between her tits while she stays still under it.",
"She presses her chest forward slightly, making the cum spread across her skin.",
"Her nipples stay hard under the warm mess."
],
"climax_crotch_failure": [
"{name} blocks the target with a quick hand.",
"She turns her hips away before you can cum there.",
"{name} blocks the target before the orgasm lands there.",
"She moves her pussy out of reach and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_crotch_success": [
"Cum lands across her lower belly and close to her slit, warm enough to make her tense.",
"She looks down at the mess near her pussy and holds still for the last pulse.",
"The cum lands dangerously close to her wet slit, and her thighs tighten around the sight of it.",
"A streak of cum slips toward her crotch while she keeps her eyes on you.",
"She shifts only after the last pulse lands near her pussy."
],
"climax_face_failure": [
"{name} blocks the target with a quick hand.",
"She turns her face away before you can cum there.",
"{name} blocks the target before the orgasm lands there.",
"She pulls her face clear and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_face_success": [
"She blinks through the mess, cum streaked across her cheeks and mouth.",
"A line of cum slips down toward her chin while she keeps staring at you.",
"She wipes nothing away at first, letting the facial sit hot on her skin.",
"Her lips part under the mess, breath slow and visibly shaken.",
"She looks up at you through the cum on her face."
],
"climax_failure": [
"She knocks your aim aside and keeps her body clear, leaving you to finish across your own hand.",
"She gets out of the way before the first pulse lands, and your cum spills over your fingers instead of her.",
"She blocks your aim at the last second, so the mess ends up on your stomach and hand.",
"She refuses to be marked there and makes you catch the orgasm with your own hand.",
"She turns your body away before you can cum there.",
"She pulls clear of the target and watches you lose it on yourself instead."
],
"climax_hands_failure": [
"Her hand leaves your cock and stays off it.",
"{name} stops touching you before you can chase it.",
"{name} blocks the target before the orgasm lands there.",
"She keeps her hands away and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_hands_success": [
"Her fingers stay open as your cum spills across her palms.",
"She watches your cock pulse into her hands, cum spreading over her fingers.",
"Her palms catch your cum, warm and thick between her fingers.",
"She holds your mess in her hands for a second before moving.",
"Your cum coats her fingers while she keeps her hands steady under you."
],
"climax_inside_ass_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"{name} blocks the target before the orgasm lands there.",
"She protects that boundary and keeps your cum out of her ass.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_inside_ass_success": [
"Her ass tightens around you as you finish inside her.",
"She goes still for a second, clearly feeling your cum deep in her asshole.",
"Her hole clenches around your cock through the last pulse.",
"She moves carefully afterward, sensitive and full from the anal creampie.",
"Her body stays tense around the cum you left in her ass."
],
"climax_inside_failure": [
"{name} blocks the target with a quick hand.",
"She turns your body away before you can cum inside her.",
"{name} blocks the target before the orgasm lands there.",
"She protects that boundary and keeps your cum out of her cunt.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_inside_success": [
"Her thighs tighten around you as your cum fills her cunt.",
"She takes a slow breath, clearly feeling the warmth deep inside her pussy.",
"Her cunt keeps clenching around your cock after the last pulse.",
"She presses her legs together for a second, holding your cum inside.",
"Her body stays close, wet and full around you."
],
"climax_mouth_failure": [
"{name} blocks the target with a quick hand.",
"She turns her mouth away before you can cum there.",
"{name} blocks the target before the orgasm lands there.",
"She pulls her mouth clear and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_mouth_success": [
"Her lips stay parted around the mess for a second before she pulls back.",
"Cum sits thick on her tongue, and she keeps her eyes on you before swallowing.",
"She breathes through her nose, mouth full of your cum, then lets her lips close around the last pulse.",
"A little cum slips onto her lower lip before she wipes it with her tongue.",
"She holds the cum in her mouth long enough to make sure you see it."
],
"climax_pants_failure": [
"{name} blocks the target with a quick hand.",
"She turns your body away before you can use her for it.",
"{name} blocks the target before the orgasm lands there.",
"She moves clear and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_pants_success": [
"Your cum soaks into your own clothes while she watches the failed restraint play out.",
"She looks down at the wet mess in your pants and lets the embarrassment sit there.",
"Your orgasm catches in your clothes, hot and uselessly contained.",
"Your body jerks through the orgasm while the cum spreads inside your pants.",
"She watches the stain grow and says nothing for a second too long."
],
"climax_stomach_failure": [
"{name} blocks the target with a quick hand.",
"She turns her stomach away before you can cum there.",
"{name} blocks the target before the orgasm lands there.",
"She moves her belly clear and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_stomach_success": [
"Cum spreads across her stomach while her breath lifts the mess in slow little movements.",
"She looks down as the hot streaks land over her belly.",
"Her stomach tightens under the warm cum.",
"A thick streak slips over her lower belly while she stays still.",
"She exhales slowly, watching your cum settle across her skin."
],
"climax_success": [
"She watches your cock pulse through the orgasm, eyes fixed on the cum you could not hold back.",
"Your body tightens as you cum, and she stays close enough to see every pulse.",
"She keeps her eyes on you while the orgasm drains out of your body.",
"Your breath breaks as you cum, and she studies the way control leaves you.",
"The last pulses leave you visibly spent while she watches without looking away."
],
"climax_throat_failure": [
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"{name} blocks the target before the orgasm lands there.",
"She pulls off and protects that boundary.",
"The orgasm still happens, but she denies the place you wanted.",
"She forces your cum off target at the last second.",
"Her refusal changes where the orgasm lands."
],
"climax_throat_success": [
"Her throat works around your cum, swallowing in tight little pulls.",
"Her eyes water, but she stays on you until the last pulse is done.",
"She pulls back slowly, breath rough, lips wet from taking you deep.",
"Her hand grips your thigh while her throat takes the last of your cum.",
"She swallows hard, then breathes out through parted lips."
],
"command_failure": [
"She refuses the instruction without moving.",
"Her body closes off, and the attempt ends.",
"She stops the order with a look before it can become action.",
"Her posture stiffens instead of obeying.",
"She shuts it down without letting it grow."
],
"command_success": [
"She follows the instruction after a brief pause.",
"She adjusts her body the way you told her to.",
"She gives in to the instruction, but keeps watching your face.",
"She lets the command guide her next movement.",
"Her body gives a clear response."
],
"compliment_style_failure": [
"She gives the compliment a short look and does not feed it.",
"{name} lets the compliment pass without warming to it.",
"Her expression stays closed around the failed compliment.",
"She answers briefly and leaves no room to continue.",
"The compliment gets a polite stop instead of a smile."
],
"compliment_style_success": [
"She keeps eye contact while she answers.",
"{name} gives the topic enough attention to answer properly.",
"Her shoulders loosen as she keeps talking."
],
"cont_69_focus_her_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her thighs tense around your face when you make your mouth carry too much of the sixty-nine.",
"Her mouth falters on your cock as your attention turns too one-sided.",
"Her thighs tighten around your face as the extra focus starts to overwhelm her.",
"The mutual rhythm gets uneven, her hips twitching instead of relaxing into your tongue.",
"She stays in place, but her body resists letting your mouth take over the whole exchange."
],
"cont_69_focus_her_success": [
"Her mouth works your cock while her hips grind against your face.",
"{name} keeps one hand on you while your tongue works her pussy.",
"{name} struggles to keep her mouth steady as your tongue takes over her focus."
],
"cont_69_grind_failure": [
"Her mouth pulls back before your hips can force the pace.",
"She turns her head enough to stop your cock from pressing deeper.",
"Her hand settles against your hip, stopping the grind before it becomes too much.",
"Her thighs tense around your head while her mouth refuses the extra pressure.",
"She breaks the rougher motion and makes you slow down."
],
"cont_69_grind_success": [
"Her lips tighten around your cock when your hips start moving into her mouth.",
"She adjusts around the pressure, breathing through her nose while your tongue stays on her pussy.",
"Her mouth loses its neat pace and turns messier around the way you grind into her.",
"Her thighs press harder around your head as your cock pushes deeper against her tongue.",
"The rougher motion makes her moan around your cock before she steadies herself."
],
"cont_69_keep_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her breathing breaks the mutual rhythm before either of you can settle back into it.",
"She keeps trying, but her mouth and hips fall out of sync.",
"Her body stays in position, though the shared rhythm loses some ease.",
"The sixty-nine stays in place, only rougher and less certain under her tension.",
"Her body remains over you, but the easy rhythm is gone."
],
"cont_69_keep_success": [
"Her mouth works your cock while her hips grind against your face.",
"{name} keeps one hand on you while your tongue works her pussy.",
"Her thighs tighten around your head when you moan against her.",
"{name} stays locked in the mutual rhythm, pleasure moving both ways."
],
"cont_69_let_her_focus_you_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her mouth slows when you hold back and expect her to carry the pleasure.",
"She hesitates around your cock, unsure what to do with the focus on her.",
"Her mouth stays near you, but focusing only on you makes the position feel one-sided.",
"Her lips stay on you, but the confidence drains out of the motion.",
"She does not pull away, yet her body never settles into taking charge."
],
"cont_69_let_her_focus_you_success": [
"Her mouth works your cock while her hips grind against your face.",
"{name} keeps one hand on you while your tongue works her pussy.",
"{name} uses the chance to work your cock more deliberately."
],
"cont_69_to_sex_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her legs tighten when your body starts shifting out of sixty-nine toward sex.",
"She catches the change in your hips and her breathing turns guarded.",
"She doesn't follow the shift from sixty-nine to sex.",
"The mutual oral remains there, but her body resists the move toward penetration.",
"She keeps the position from turning into sex, tense but still close."
],
"cont_69_to_sex_success": [
"Her thighs spread again when your cock replaces your mouth.",
"She is still wet from your tongue when the first thrust makes her body jolt.",
"Her breath catches as the messy oral turns into sex.",
"Her pussy opens under you, slick from the position you just left.",
"She gives up on keeping the oral rhythm once your cock starts pushing in."
],
"cont_anal_cowgirl_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her hips hover over you, too tense to ride the anal rhythm any harder.",
"The tight grip of her ass stays there, but her thighs stop helping the motion.",
"Her hips tense over you, and her riding loses its rhythm.",
"She braces with a sharp breath when the cowgirl angle strains her ass.",
"Her body remains over you, but the anal ride loses its confidence."
],
"cont_anal_cowgirl_success": [
"Her fingers clutch at you while her asshole takes more.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside.",
"{name} controls the anal rhythm from above."
],
"cont_anal_doggy_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her back stiffens in doggy, making every anal thrust feel less welcome.",
"Her hands press harder into the surface as her ass tightens around you.",
"Her back tightens, and the anal rhythm starts wearing her down.",
"The doggy rhythm stutters when her body stops yielding to the stretch.",
"She stays bent forward, but the tension in her hips makes you slow down."
],
"cont_anal_doggy_success": [
"{name} braces forward as her asshole tightens around your cock.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside."
],
"cont_anal_hold_failure": [
"{name} pulls back and makes the refusal clear.",
"She stops you before it can continue.",
"Her posture closes and stays closed.",
"Her ass clenches around you, too tense for the deep hold to feel easy.",
"She breathes shallowly while you stay buried, her body asking for less pressure.",
"Her ass clenches hard, and holding the position starts feeling like too much.",
"The stillness stops feeling steady and starts feeling strained in her hips.",
"She remains around your cock, but the hold makes her tighten instead of melt."
],
"cont_anal_hold_success": [
"{name} breathes through the stretch while you keep yourself restrained.",
"She adjusts to the change instead of losing the moment.",
"Her body reacts to the specific change in rhythm."
],
"cont_anal_missionary_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her knees draw in slightly as the face-to-face anal angle grows uncomfortable.",
"Her expression tightens under you while her asshole clenches hard around your cock.",
"Her body stays under you, but the anal rhythm starts pulling tension through her legs.",
"The missionary closeness stays, but her body stops softening to the anal pressure.",
"She keeps looking at you, tense enough to make the next thrust slow."
],
"cont_anal_missionary_success": [
"{name} holds your gaze while her ass takes each careful thrust.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside."
],
"cont_anal_reverse_cowgirl_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her back arches away from you, the reverse angle making her ass tighten too sharply.",
"Her hips lose their rhythm while her tight hole grips you harder than before.",
"Her ass tightens around you, and her movement starts to falter.",
"The reverse ride stays awkward under her tension instead of turning smooth.",
"She remains facing away, but the motion falters with each shallow breath."
],
"cont_anal_reverse_cowgirl_success": [
"{name}'s back arches as she works her asshole around your shaft.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside."
],
"cont_anal_slow_failure": [
"{name} pulls back and makes the refusal clear.",
"She stops you before it can continue.",
"Her posture closes and stays closed.",
"Even slowed down, her ass tightens like the pressure is still too much.",
"Her breathing steadies for a second, then catches again around your cock.",
"Her body tightens around your cock, making the anal rhythm harder to keep.",
"The careful pace does not settle her body the way you hoped.",
"She lets the anal stay there, but the tension in her hips keeps building."
],
"cont_anal_slow_success": [
"{name} breathes through the stretch while her body learns the pace.",
"She adjusts to the change instead of losing the moment.",
"Her body reacts to the specific change in rhythm."
],
"cont_anal_wall_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her hands press against the wall while her ass tightens around you.",
"The wall keeps her in place, but her body stiffens against the anal pressure.",
"Her body tightens against the wall as the anal rhythm grows harder to take.",
"Her breath hits the wall in short bursts as the angle turns uncomfortable.",
"She stays pinned, but the tension in her legs makes the rhythm break."
],
"cont_anal_wall_success": [
"{name} braces hard against the wall as your cock stays buried in her ass.",
"Her ass grips your cock hard.",
"{name} breathes through the stretch and lets you stay inside."
],
"cont_analingus_circle_failure": [
"{name} pulls her ass away before you can continue.",
"Her hand moves back to cover herself.",
"She closes her thighs and stops the anal attention.",
"Her ass tightens under your circling tongue instead of relaxing open.",
"The next slow circle makes her hips twitch away by a fraction.",
"Her ass tenses when your tongue circles more deliberately.",
"Her thighs tense around your head as the rimming starts to feel too pointed.",
"She keeps her position, but her body stops welcoming the tongue work."
],
"cont_analingus_circle_success": [
"Her hand grips the nearest surface while you lick her asshole.",
"{name}'s ass tightens as tongue and fingers work the same filthy focus.",
"{name}'s ass tenses at first, then opens a little for your tongue."
],
"cont_analingus_keep_failure": [
"{name} pulls her ass away before you can continue.",
"Her hand moves back to cover herself.",
"She closes her thighs and stops the anal attention.",
"Her hips stop offering you the same angle, making the rimming less certain.",
"She breathes harder through the continued licking, tension gathering in her ass.",
"Her body stays open, but the rimming starts drawing tension through her hips.",
"The longer your tongue stays there, the more her body guards the opening.",
"She remains spread, but the easy permission in her posture fades."
],
"cont_analingus_keep_success": [
"Her hand grips the nearest surface while you lick her asshole.",
"{name}'s ass tenses at first, then opens a little for your tongue.",
"{name} shivers into the analingus as the tension changes shape."
],
"cont_analingus_slow_failure": [
"{name} pulls her ass away before you can continue.",
"Her hand moves back to cover herself.",
"She closes her thighs and stops the anal attention.",
"The slower rimming makes her tense more, not less.",
"Her ass tightens under the drawn-out strokes of your tongue.",
"Her asshole tightens under your tongue when you change the pace.",
"She exhales unevenly, her body impatient with the slow attention.",
"The careful pace leaves her guarded instead of relaxed."
],
"cont_analingus_slow_success": [
"Her hand grips the nearest surface while you lick her asshole.",
"{name}'s ass tenses at first, then opens a little for your tongue.",
"{name} tenses at every slow pass of your tongue."
],
"cont_analingus_to_anal_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her body tenses when your mouth leaves her ass and your hips start to move closer.",
"She catches the shift from tongue to cock before the anal stretch begins.",
"Her ass tightens when rimming starts turning into anal sex.",
"The rimming had room to continue, but the move toward penetration makes her guard herself.",
"Her ass stays exposed, yet her posture refuses the heavier step."
],
"cont_analingus_to_anal_success": [
"Her asshole tightens when your cock replaces your mouth.",
"She braces herself as the wet rim meets the head of your cock.",
"Her breath goes shallow while the analingus turns into penetration.",
"Her ass clenches around the new pressure before she lets you go farther.",
"The first push makes her fingers dig in while she adjusts."
],
"cont_analingus_to_cunni_failure": [
"{name} pulls her ass away before you can continue.",
"Her hand moves back to cover herself.",
"She closes her thighs and stops the anal attention.",
"Her hips tense when your mouth leaves her ass for her pussy.",
"The shift away from rimming makes her body lose the thread of the pleasure.",
"Her body hesitates when your mouth starts moving from her ass back to her pussy.",
"She stays close, but her thighs do not open into the new angle.",
"Her ass had started to relax, and the change toward her slit breaks that ease."
],
"cont_analingus_to_cunni_success": [
"Her body relaxes a little when your mouth returns to her pussy.",
"Her hips follow your tongue back to her clit.",
"She exhales hard when the analingus turns back into cunnilingus.",
"Her thighs open wider once your mouth finds her wet slit again.",
"The familiar pressure on her pussy pulls a quicker reaction out of her."
],
"cont_bj_deeper_failure": [
"Her mouth stays on you, but the deeper push makes her rhythm turn tense.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Her throat tightens before she can take you any deeper.",
"Her lips stay around your cock, but her jaw stiffens against the deeper push.",
"She keeps the blowjob going, but gives no room for going deeper.",
"She keeps sucking, only shallower now, with a warning in her breathing.",
"The blowjob continues, but her mouth refuses the extra depth."
],
"cont_bj_deeper_success": [
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} breathes carefully around you as the blowjob turns deeper."
],
"cont_bj_eye_contact_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Her eyes flick away, and the blowjob loses its rhythm for a beat.",
"She keeps her mouth on you, but the forced eye contact makes her hesitate.",
"Her mouth keeps moving, but the eye contact makes her tense.",
"Her gaze breaks first, leaving her lips slower around your cock.",
"The look makes her cheeks tense even while the blowjob continues."
],
"cont_bj_eye_contact_success": [
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} looks up at you with her mouth still full."
],
"cont_bj_guide_rhythm_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Her mouth stumbles against the rhythm you try to guide.",
"Her hand tightens on your thigh as your control makes the blowjob less smooth.",
"Her lips stay near your cock, but her jaw tightens when you guide the pace.",
"She keeps you between her lips, but the pace no longer feels natural to her.",
"The guided rhythm makes her jaw tense instead of obedient."
],
"cont_bj_guide_rhythm_success": [
"{name} adjusts her mouth and tongue to the pace you set.",
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more."
],
"cont_bj_let_continue_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Left to her own pace, she slows until the blowjob starts to lose heat.",
"Her mouth stays on you, but the confidence behind it fades.",
"Her mouth stays near you, but the rhythm feels less eager.",
"She keeps going for another breath, then her rhythm turns uncertain.",
"The blowjob continues, only looser and more hesitant than before."
],
"cont_bj_let_continue_success": [
"She looks up at you with your cock still in her mouth.",
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} settles into the blowjob and watches your reaction from below."
],
"cont_bj_praise_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Your praise makes her mouth pause instead of encouraging her.",
"Her lips tighten around you, but the words pull her out of the rhythm.",
"Her mouth keeps moving, though the praise makes her expression tighten.",
"She keeps sucking, though her expression turns self-conscious.",
"The compliment lands awkwardly, leaving her mouth slower on your cock."
],
"cont_bj_praise_success": [
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} reacts to the praise without taking her mouth off you."
],
"cont_bj_slow_down_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"She tries to slow down, but the change makes her lose the rhythm.",
"Her lips stay around you while her pace turns stiff and uncertain.",
"Her mouth stays near you, but the slower pace brings tension into her jaw.",
"The slower blowjob feels controlled in the wrong way, and her jaw tightens.",
"She keeps going, but the easy motion is gone."
],
"cont_bj_slow_down_success": [
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} eases her mouth back and watches you fight the edge."
],
"cont_bj_to_sex_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Her mouth leaves you with hesitation when your body starts shifting toward sex.",
"She notices the move from blowjob to penetration and grows tense before it happens.",
"She doesn't follow the shift from her mouth to sex.",
"The blowjob has not fully ended, but her body resists the next step.",
"She keeps close, yet her posture says she is not ready to turn it into sex."
],
"cont_bj_to_sex_success": [
"Her breath catches when your cock moves from her mouth to her cunt.",
"Her pussy tightens as the wet head of your cock presses in.",
"She is still breathing like she had you in her mouth when your cock starts filling her.",
"Her thighs part wider as you turn the blowjob into sex.",
"Her body shifts from sucking to taking you, the change making her tense around the first thrust."
],
"cont_bj_touch_hair_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Her scalp tenses under your fingers, and her mouth slows around you.",
"Your hand in her hair makes her jaw tighten instead of relax.",
"Her mouth stays on you, but her body flinches when your hand touches her hair.",
"She keeps sucking, but the touch in her hair breaks her ease.",
"Her mouth stays on your cock while her body warns against guiding her head."
],
"cont_bj_touch_hair_success": [
"Her lips tighten around your cock.",
"{name}'s tongue works the head before she takes more.",
"{name} lets the touch stay in her hair without letting it become force."
],
"cont_cunni_add_fingers_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her thighs tense around your mouth when your fingers join your tongue.",
"The extra touch makes her hips twitch instead of opening wider.",
"Her body tightens when your fingers join your mouth.",
"Your tongue can stay, but her body resists the added fingers.",
"She breathes sharply as the cunnilingus turns too crowded for her."
],
"cont_cunni_add_fingers_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"{name}'s body reacts harder when your fingers join your mouth."
],
"cont_cunni_keep_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her thighs tremble around your head, less from pleasure now than strain.",
"She lets your mouth stay there, but her hips stop moving into it.",
"Her thighs tense around your mouth, and the rhythm loses momentum.",
"The licking continues while her body grows guarded under your tongue.",
"Her fingers tense against whatever she is holding as the oral loses ease."
],
"cont_cunni_keep_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"{name}'s thighs frame your face tighter as the pleasure builds.",
"Her fingers tighten in your hair."
],
"cont_cunni_tease_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"The teasing leaves her frustrated in the wrong way, her thighs tightening around you.",
"Her hips chase your tongue once, then tense when you keep denying the rhythm.",
"Her thighs close a little around your face as the teasing starts to overwhelm her.",
"She does not pull your mouth away, but the stop-start attention irritates her body.",
"The playful edge slips into discomfort before the teasing can work."
],
"cont_cunni_tease_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"Her fingers tighten in your hair."
],
"cont_cunni_to_analingus_failure": [
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her body tightens when your mouth leaves her pussy and drifts toward her ass.",
"The shift from clit to asshole makes her thighs close slightly around your head.",
"Her body tightens when your mouth starts drifting from her pussy toward her ass.",
"She was open for your tongue on her pussy, but not for the turn toward rimming.",
"Her hips angle away from the new direction before your mouth settles there."
],
"cont_cunni_to_analingus_success": [
"Her thighs tense when your mouth leaves her pussy and moves lower.",
"Her breath catches as your tongue finds her ass instead of her clit.",
"She stays open, but the dirtier target makes her body go still for a second.",
"Her pussy is still wet when your mouth starts working her asshole.",
"The change makes her tense first, then soften when you keep it careful."
],
"cont_cunni_to_sex_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her thighs tense when your mouth leaves her pussy and your hips start to rise.",
"The oral can continue, but the move toward sex makes her body guarded.",
"Her thighs tense when your mouth starts giving way to sex.",
"She keeps you close between her legs without giving the opening for penetration.",
"Her hips stay near your mouth, not ready to trade licking for your cock."
],
"cont_cunni_to_sex_success": [
"Her thighs stay open when your cock replaces your mouth.",
"Her cunt clenches as the first push turns the licking into sex.",
"She is still trembling from your tongue when your cock starts to enter her.",
"Her wet slit parts easily after everything your mouth did to her.",
"The first thrust makes her hips jump, her body still oversensitive from your tongue."
],
"cont_finger_keep_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"She catches your wrist before you can touch her again.",
"Her inner walls tighten around your fingers, turning the motion less welcome.",
"She keeps your hand there, but her thighs begin to close around your wrist.",
"Her hips stop following your hand, and the fingering turns awkward.",
"The fingering continues with less ease as her hips stop following your hand.",
"Her body grows tense around each curl of your fingers."
],
"cont_finger_keep_success": [
"Her pussy tightens around your fingers.",
"{name}'s cunt tightens around each slow curl of your fingers.",
"{name}'s hips rock into your hand."
],
"cont_finger_tease_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"She catches your wrist before you can touch her again.",
"The teasing makes her cunt clench, but her thighs tense with irritation too.",
"Her hips chase your fingers once, then stiffen when you pull back again.",
"Her body tightens around your hand, and the teasing no longer lands cleanly.",
"She does not reject the touch outright, but the shallow returns start bothering her.",
"The stop-start fingering leaves her breath sharp instead of hungry."
],
"cont_finger_tease_success": [
"Her pussy tightens around your fingers.",
"{name}'s hips rock into your hand.",
"{name} tenses around the teasing motion, frustrated by every retreat."
],
"cont_finger_to_mouth_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"She catches your wrist before you can touch her again.",
"Her thighs tighten when your fingers leave her cunt and your mouth moves in.",
"The shift from fingers to tongue makes her body hesitate before accepting the new touch.",
"Her thighs tense when your fingers begin giving way to your mouth.",
"She was open to your hand, but her hips guard against your mouth taking over.",
"The wet path your fingers made does not keep her relaxed when your face lowers."
],
"cont_finger_to_mouth_success": [
"Her hips jump when your tongue replaces your fingers.",
"Her wet pussy opens under your mouth after your fingers leave her.",
"She tightens from the sudden switch from hand to tongue.",
"Her thighs frame your face while her cunt is still slick from your fingers.",
"Her breath breaks when your tongue finds the clit your hand left sensitive."
],
"cont_footjob_keep_failure": [
"Her hand leaves your cock and stays off it.",
"She pulls away from your hard cock.",
"{name} stops touching you before you can chase it.",
"Her feet keep touching you, but the strokes turn stiff and uneven.",
"Her toes flex away from your shaft instead of curling around it.",
"Her feet remain near your cock, but the motion turns hesitant.",
"The footjob continues, only with less pressure and more hesitation.",
"Her legs tense as the motion starts feeling awkward to her."
],
"cont_footjob_keep_success": [
"Her feet press around your cock and rub it slowly.",
"{name} watches your shaft slide between her soles.",
"She flexes her toes when you twitch against her."
],
"cont_hj_guide_rhythm_failure": [
"Her hand leaves your cock and stays off it.",
"She pulls away from your hard cock.",
"{name} stops touching you before you can chase it.",
"Her grip tightens too much when you try to guide the stroke.",
"Your rhythm makes her hand less confident instead of smoother.",
"Her fingers stumble when you try to take control of the pace.",
"She keeps stroking, but her wrist turns stiff under your direction.",
"The guided handjob loses its natural pace in her fingers."
],
"cont_hj_guide_rhythm_success": [
"Her fingers tighten around your cock.",
"{name} watches your face while her hand works you.",
"Precum slicks her palm as she keeps stroking."
],
"cont_hj_keep_failure": [
"Her hand leaves your cock and stays off it.",
"She pulls away from your hard cock.",
"{name} stops touching you before you can chase it.",
"Her hand stays around you, but the stroke grows distracted and uneven.",
"She keeps touching your cock with less certainty than before.",
"Her grip stays around you, though the stroke starts losing warmth.",
"The handjob continues, only slower and more guarded in her grip.",
"Her fingers loosen slightly as discomfort slips into the motion."
],
"cont_hj_keep_success": [
"Her fingers tighten around your cock.",
"{name} watches your cock respond to her hand.",
"{name} watches your face while her hand works you."
],
"cont_hj_kiss_failure": [
"Her hand leaves your cock and stays off it.",
"She pulls away from your hard cock.",
"{name} stops touching you before you can chase it.",
"Her hand slows when you try to add a kiss to the stroke.",
"The kiss pulls her attention off the handjob instead of deepening it.",
"Her hand stays on you, but the added kiss makes her shoulders tighten.",
"She keeps her fingers around you, but her mouth does not meet the change easily.",
"Her grip turns uncertain as the kiss makes the moment too crowded."
],
"cont_hj_kiss_success": [
"Her fingers tighten around your cock.",
"{name} answers the kiss without letting her hand stop moving.",
"{name} watches your face while her hand works you."
],
"cont_hj_tease_failure": [
"Her hand leaves your cock and stays off it.",
"She pulls away from your hard cock.",
"{name} stops touching you before you can chase it.",
"The teasing stroke makes her hand pause when you expect it to play along.",
"Her fingers drag too lightly, then hesitate instead of finding a rhythm.",
"Her hand keeps moving, but the teasing leaves tension in her face.",
"The handjob stays in place, but the tease does not land the way you want.",
"Her grip loses confidence as the stroke turns stop-start."
],
"cont_hj_tease_success": [
"Her fingers tighten around your cock.",
"{name} becomes more aware of your cock in her hand with each word.",
"{name} watches your face while her hand works you."
],
"cont_hj_to_bj_failure": [
"Her lips part from your dick and stay away.",
"Her mouth leaves your cock and she keeps her face away.",
"{name} sits back before you can guide her again.",
"Her hand keeps control while her mouth stays away from your cock.",
"The shift from fingers to lips makes her face tighten before she moves closer.",
"She keeps her mouth away when the handjob starts turning toward oral.",
"She continues with her hand, but her mouth does not follow the escalation.",
"Her grip remains on you, refusing to trade the handjob for a blowjob."
],
"cont_hj_to_bj_success": [
"Her lips close around your cock while her hand keeps the base steady.",
"She lets her mouth take over without losing the rhythm her fingers built.",
"Her tongue meets the head of your cock as her hand slows underneath.",
"The first wet pull of her mouth makes your cock twitch against her fingers.",
"She keeps one hand on you while her lips start working."
],
"cont_rubbing_keep_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"She catches your wrist before you can touch her again.",
"Her body stays under your hand, but the rubbing starts to make her tense.",
"The fabric still moves under your fingers, only with less welcome from her hips.",
"Her hips stop meeting your hand, and discomfort starts to show.",
"She lets the touch remain there while her thighs begin to guard against it.",
"The through-clothes friction loses its easy charge and turns awkward."
],
"cont_rubbing_keep_success": [
"Her thighs press around your hand as the fabric drags over her pussy.",
"{name}'s hips shift into the friction.",
"{name}'s hips follow the cloth-dragging friction."
],
"cont_rubbing_to_fingering_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"She catches your wrist before you can touch her again.",
"Her thighs close when your hand starts searching past the fabric.",
"The rubbing was allowed, but the move toward bare fingers makes her tense.",
"She lets the rubbing continue, but closes off before your fingers can slip inside.",
"She catches the change before your fingers can slip inside.",
"Her body keeps the fabric between you, refusing the next step."
],
"cont_rubbing_to_fingering_success": [
"Her thighs tense when your fingers get past the fabric.",
"Her pussy is wetter than the rubbing made it look.",
"She goes still for a second as cloth gives way to direct touch.",
"Her slit tightens around your fingers after the teasing through fabric.",
"The direct contact makes her hips twitch harder than the rubbing did."
],
"cont_sex_cowgirl_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"She moves out from under you before it continues.",
"Her hips slow above you until the cowgirl rhythm turns strained.",
"She stays on your cock, but her thighs stop helping the ride.",
"Her thighs tense around you, and her riding loses confidence.",
"Her breath catches as the motion starts feeling less welcome.",
"The ride continues only shallowly, her body no longer giving itself to it."
],
"cont_sex_cowgirl_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"Her breath breaks each time you push deeper.",
"{name} controls the rhythm from above while you feel every drop of her weight."
],
"cont_sex_doggy_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"She moves out from under you before it continues.",
"Her back stiffens under your hands as the doggy rhythm starts to strain.",
"She stays bent forward, but her hips stop meeting your thrusts.",
"Her back tightens, and the doggy rhythm starts feeling harder for her to take.",
"The next thrusts make her brace instead of push back.",
"Her body remains in position, only tighter and less open to the pace."
],
"cont_sex_doggy_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"Her breath breaks each time you push deeper.",
"{name} braces herself and pushes back into the rhythm."
],
"cont_sex_missionary_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"She moves out from under you before it continues.",
"Her legs stay around you, but the face-to-face rhythm loses its softness.",
"She looks up at you with tension building under the next thrust.",
"Her body stays under you, but the missionary rhythm starts drawing tension out of her.",
"Her body stiffens beneath you while your cock stays inside.",
"The closeness remains, but her hips stop welcoming the motion."
],
"cont_sex_missionary_success": [
"Her pussy clenches around your cock.",
"{name} holds onto you as her pussy takes each thrust.",
"{name}'s hips meet your thrusts."
],
"cont_sex_reverse_cowgirl_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"She moves out from under you before it continues.",
"Her hips falter with her back to you, the reverse ride losing its rhythm.",
"She stays turned away, but her thighs tense around each motion.",
"Her hips hover over you, tense and uncertain, instead of settling into the change.",
"The angle stops feeling easy, and her body rides you more shallowly.",
"Her ass shifts against you, not enough to end it, but enough to show discomfort."
],
"cont_sex_reverse_cowgirl_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"{name} works her hips with her back turned, giving you the view and the rhythm.",
"Her breath breaks each time you push deeper."
],
"cont_sex_to_69_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She pushes your shoulder lightly until you stop.",
"Her body tenses when you start breaking the sex apart for sixty-nine.",
"The fucking can continue, but the move toward mutual oral makes her hesitate.",
"Her body doesn't follow the turn toward sixty-nine.",
"She keeps you close, not ready to turn the position into mouths and angles.",
"Her legs hold the current position, resisting the twist toward sixty-nine."
],
"cont_sex_to_69_success": [
"She follows the change, still flushed from being fucked.",
"Her mouth lowers toward your cock while her thighs settle around your face.",
"Her wet pussy stays close to your tongue as the sex turns into mutual oral.",
"She catches the rhythm after a second, mouth and hips finding you again.",
"Her body stays eager even as penetration gives way to mouths."
],
"cont_sex_to_anal_failure": [
"{name} pulls forward, keeping your cock out of her ass.",
"Her hand presses against your hip until you stop.",
"Her ass tightens away from you instead of taking more.",
"Her body tightens the moment your angle starts drifting toward her ass.",
"The vaginal rhythm stays possible, but the anal switch makes her guard herself.",
"She stays with you, but gives no opening for the switch to anal.",
"She keeps you near her pussy and gives no ease toward her asshole.",
"Her hips tense against the change before your cock can leave the safer path."
],
"cont_sex_to_anal_success": [
"Her body tenses when your cock leaves her pussy and presses against her ass.",
"Her cunt is still wet around nothing when the new pressure reaches her asshole.",
"She braces herself as the sex moves from her pussy to her ass.",
"Her breathing changes when the tighter pressure replaces the wet slide.",
"She holds still, letting her ass adjust before you push farther."
],
"cont_sex_wall_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"She moves out from under you before it continues.",
"Her hands brace against the wall as the pressure stops feeling exciting.",
"She stays pinned there, but her body grows rigid under the next thrusts.",
"Her back presses hard to the wall as the rhythm starts feeling too much.",
"The wall keeps the shape of the position while her rhythm starts to fail.",
"Her legs tense around you, warning that the urgency is pushing too hard."
],
"cont_sex_wall_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"{name} braces against you and the wall as each thrust moves through her."
],
"cont_titfuck_keep_failure": [
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"Her body turns aside before your touch can continue.",
"Her breasts remain around your cock, but the squeeze loses its confidence.",
"She keeps her chest close while her hands stop helping the rhythm.",
"Her body stays in the titfuck, but her shoulders tighten with reluctance.",
"The titfuck continues shallowly, her expression turning less certain.",
"Her tits stay pressed to you, but the motion no longer feels easy."
],
"cont_titfuck_keep_success": [
"Her tits squeeze around your cock.",
"Her breasts hold your shaft in a soft, tight channel.",
"{name} holds her chest tight and watches you slide through."
],
"cont_titfuck_let_work_failure": [
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"Her body turns aside before your touch can continue.",
"She tries to take over with her breasts, but the rhythm slips out of her control.",
"Her chest stays around your cock while her hands hesitate over the pressure.",
"Her hands stay close, though the motion starts losing confidence.",
"The titfuck becomes awkward when you let her carry too much of it.",
"She keeps trying, but the squeeze turns uneven against your shaft."
],
"cont_titfuck_let_work_success": [
"Her tits squeeze around your cock.",
"Her nipples harden while your shaft moves between her breasts.",
"{name} holds her chest tight and watches you slide through.",
"{name} controls the rhythm with her chest while watching your restraint."
],
"cont_titfuck_lick_tip_failure": [
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"Her body turns aside before your touch can continue.",
"Her tongue reaches the head once, then the added motion makes her hesitate.",
"The lick breaks the breast rhythm instead of making it hotter.",
"Her chest lifts under the titfuck, but the lick at the tip makes her tense.",
"She keeps your cock between her tits, but her mouth turns uncertain at the tip.",
"Her tongue flicks against you, then her chest loses the smooth squeeze."
],
"cont_titfuck_lick_tip_success": [
"Her tongue catches the head whenever her tits slide low enough.",
"Her tits squeeze around your cock.",
"{name} holds her chest tight and watches you slide through."
],
"cowgirl_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"cowgirl_pleasure_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hand stops your hip before your cock can get inside.",
"Her thighs close and stop the penetration.",
"She lifts her hips, refusing the depth from above.",
"Her thighs press together, shutting the sex down.",
"She pushes against your chest and keeps penetration from starting.",
"Her body locks up and she pulls away from your cock.",
"She stops riding and catches her breath."
],
"cowgirl_pleasure_success": [
"Her hips roll until your cock disappears inside her soaked cunt.",
"Her pussy clenches around your cock.",
"Her hips lift and drop over your cock.",
"She keeps riding until her pussy starts clenching in waves.",
"Her pussy swallows you each time she sinks down.",
"Her pussy slides down your shaft again and again.",
"Her thighs tighten as she rides you deeper.",
"Her body moves with greedy confidence over your cock.",
"Her thighs tense as she rides you."
],
"cowgirl_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"{name} steadies herself above you as her pussy takes you deeper.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper."
],
"cunnilingus_to_analingus_failure": [
"She blocks her asshole completely.",
"She flinches and pulls her ass away.",
"Her cheeks clench and she shuts it down.",
"She pushes your head back up.",
"She twists away uncomfortably.",
"Her body tenses and stops you."
],
"cunnilingus_to_analingus_success": [
"Her thighs tense when your mouth leaves her pussy and moves lower.",
"Her breath catches as your tongue finds her ass instead of her clit.",
"She stays open, but the dirtier target makes her body go still for a second.",
"Her pussy is still wet when your mouth starts working her asshole.",
"The change makes her tense first, then soften when you keep it careful."
],
"cunnilingus_to_sex_failure": [
"She pushes your hips back firmly.",
"Her thighs press together tightly.",
"She closes her legs and blocks you.",
"She stays tense and stops penetration.",
"Her body rejects the switch before you enter.",
"She twists away and refuses entry."
],
"cunnilingus_to_sex_success": [
"Her thighs stay open when your cock replaces your mouth.",
"Her cunt clenches as the first push turns the licking into sex.",
"She is still trembling from your tongue when your cock starts to enter her.",
"Her wet slit parts easily after everything your mouth did to her.",
"The first thrust makes her hips jump, her body still oversensitive from your tongue."
],
"deep_kiss_failure": [
"She turns her mouth away before the kiss can deepen.",
"{name} keeps the kiss from becoming anything more.",
"Her hand comes up between you, stopping the deeper kiss.",
"She breaks the closeness before your mouth can push further.",
"The kiss stops short of what you wanted."
],
"deep_kiss_success": [
"Her fingers brush your shirt while the kiss deepens.",
"Her tongue meets yours, careful at first, then warmer.",
"She holds the kiss long enough to breathe harder.",
"She follows your mouth instead of pulling back.",
"{name} answers with breath and tension, deciding whether to let the kiss turn hungry.",
"She answers with breath and tension, deciding whether to let the kiss turn hungry.",
"{name}'s mouth opens under yours."
],
"deepthroat_pleasure_failure": [
"She pulls back with wet eyes, wiping spit from her lips before refusing to go deeper.",
"Her throat tightens too soon, and she stops with your cock still near the front of her mouth.",
"She jerks back from your cock and refuses to let the blowjob get any deeper.",
"She coughs and lifts off you, keeping the blowjob from reaching her throat.",
"One hand presses at your hip as she breaks the contact and takes a breath."
],
"deepthroat_pleasure_success": [
"Her lips stay stretched around you while one hand braces against your thigh.",
"Her throat closes around the extra depth, and her eyes water while she keeps herself on your cock.",
"Her lips stretch tight around the shaft.",
"She gags once, breathes through her nose, and lowers again with saliva running over your shaft.",
"Her cheeks hollow as she holds the deeper take for a second before pulling back for air."
],
"default_failure": [
"{name} does not give the attempt any room to grow.",
"She shuts it down before it can go further.",
"Her answer stays short, and the moment ends there.",
"She pulls back enough to make the refusal clear.",
"The attempt fails before it can become anything more."
],
"default_success": [
"Her body gives a small but readable sign of permission.",
"She stays with you, cautious but still engaged.",
"She lets the closeness remain instead of stepping back.",
"She keeps looking at you instead of turning away."
],
"demand_anal_sex_failure": [
"The order makes her tense, and she rejects it before anal becomes a real option.",
"She gives you a hard look and refuses the anal command.",
"{name} does not move. The demand only makes her close off.",
"Her expression hardens at the order.",
"She rejects the demand and gives you no room to push it."
],
"demand_anal_sex_success": [
"She goes still at the anal demand, then gives a small, careful nod.",
"{name} holds your gaze after the order, tense but willing to obey.",
"The command lands. She does not look relaxed, but she does not refuse.",
"She accepts the order with a sharp breath and a warning look.",
"She hesitates, then lets the anal demand stand."
],
"demand_blowjob_failure": [
"She rejects the blowjob demand without moving closer.",
"Her jaw sets at the order, and she refuses it.",
"{name} does not obey. The command dies there.",
"The demand makes her colder instead of compliant.",
"She shuts the order down before it can become anything physical."
],
"demand_blowjob_success": [
"She pauses at the blowjob demand, then decides to obey.",
"{name} looks at you after the order, tense but willing.",
"The command lands, and she lets the silence confirm it.",
"She accepts the order with a controlled look.",
"She does not move yet, but the refusal never comes."
],
"demand_cunnilingus_failure": [
"She rejects the command to open for your mouth.",
"Her thighs stay closed as she refuses the order.",
"{name} does not obey. The demand goes nowhere.",
"The order makes her pull back emotionally before anything starts.",
"She refuses the command and keeps the boundary clear."
],
"demand_cunnilingus_success": [
"She hears the order and lets it stand, tense but interested.",
"{name} gives a small nod after the cunnilingus demand.",
"The command makes her breath catch before she accepts it.",
"She accepts the order, but her look tells you not to rush.",
"She does not spread yet, but she does not refuse the command."
],
"demand_footjob_failure": [
"She rejects the footjob command with a hard look.",
"The demand gets no obedience from her.",
"She refuses the order before the footjob can start.",
"Her expression makes it clear that commanding her feet did not work.",
"She does not follow the command."
],
"demand_footjob_success": [
"She accepts the footjob command with a tense breath.",
"The order lands, and she gives you a look that says she heard it.",
"Her jaw tightens, but she does not refuse.",
"{name} lets the command stand and prepares to obey.",
"She gives the smallest nod after the order."
],
"demand_handjob_failure": [
"She rejects the handjob demand without reaching for you.",
"Her hands stay still as she refuses the order.",
"{name} does not obey. The command only makes her colder.",
"She shuts the demand down before it becomes touch.",
"She keeps her hands to herself and refuses the order."
],
"demand_handjob_success": [
"She pauses at the handjob demand, then lets the order stand.",
"{name} gives you a controlled look and decides to obey.",
"The command reaches her. She does not smile, but she does not refuse.",
"She accepts the order with a tense breath.",
"Her hands have not moved yet, but her answer is yes."
],
"demand_sex_failure": [
"She rejects the sex demand before it can become physical.",
"Her expression hardens at the order.",
"{name} refuses the command and gives sex no opening.",
"The demand does not move her. It only sharpens the refusal.",
"She closes off at the command."
],
"demand_sex_success": [
"She goes still at the sex demand, then lets the order stand.",
"{name} holds your gaze after the command, tense but willing.",
"The demand lands, and she accepts it without softening.",
"She gives a small nod after the order.",
"Her breath changes when she decides to obey."
],
"demand_sixty_nine_failure": [
"She rejects the command before the position changes.",
"The sixty-nine demand makes her pull back.",
"{name} does not obey. The order ends there.",
"She refuses the command without giving either of you an opening.",
"The demand fails before anything physical starts."
],
"demand_sixty_nine_success": [
"She accepts the sixty-nine command, but her look warns you not to be selfish.",
"{name} lets the order stand after a tense pause.",
"The command reaches her, and she decides to obey.",
"She gives you a measured nod after the demand.",
"She accepts, but only because both of you will be involved."
],
"demand_titfuck_failure": [
"She rejects the titfuck demand immediately.",
"Her expression hardens at the command.",
"The order gets no obedience from her.",
"She refuses before the titfuck can become physical.",
"She keeps the boundary clear and rejects the command."
],
"demand_titfuck_success": [
"She accepts the titfuck command with a tense, focused look.",
"{name} hears the order and decides to obey.",
"The demand lands. She does not refuse, but she does not soften either.",
"She gives a small nod after the command.",
"She lets the order stand, watching your reaction."
],
"dirty_praise_failure": [
"She hears the dirty praise and refuses the control in it.",
"{name} does not let the praise become permission.",
"Her expression closes around the dirty compliment.",
"She rejects the praise before it can pull her in.",
"The line gets no obedience from her."
],
"dirty_praise_success": [
"{name} reacts to the approval despite herself, caught by how direct it sounds.",
"Her posture changes by a fraction, but it is enough to count.",
"She lets the instruction move her before she fully admits it.",
"The tension bends slightly in your direction.",
"She gives the command a narrow, controlled answer."
],
"doggy_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"She braces one hand back and makes the angle harder to keep.",
"She moves out of position before you can continue."
],
"doggy_pleasure_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hand stops your hip before your cock can get inside.",
"Her thighs close and stop the penetration.",
"Her body tightens and refuses the deeper thrusts.",
"Her body locks up and she pulls away from your cock.",
"Her thighs press together, shutting the sex down.",
"She moves her pelvis away and breaks the line-up.",
"She looks back with a warning in her expression."
],
"doggy_pleasure_success": [
"Her pussy clenches around your cock.",
"Her ass pushes back while her wet cunt takes you from behind.",
"Wet sounds follow each thrust into her cunt.",
"She pushes back onto your cock with each thrust.",
"Her fingers grip the surface under her as you fuck her from behind.",
"Her body rocks forward with every thrust, then pushes back for more.",
"Her thighs shake while you drive into her.",
"Her hips stay lifted, inviting the next deep stroke.",
"Her back dips and her pussy takes you deeper."
],
"doggy_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper.",
"{name} braces herself as the position turns rougher and more exposed."
],
"end_orgasm_her_1": [
"Her thighs tremble once as the orgasm fades.",
"Her pussy gives a few last little twitches.",
"She sits in the afterglow, warm and visibly satisfied.",
"Her body relaxes after a strong orgasm.",
"Her cheeks stay flushed with lingering pleasure.",
"She breathes slowly, still wearing the pleasure on her face.",
"She appears relaxed, fulfilled, and lightly sensitive.",
"She keeps her legs loose, still recovering from the orgasm."
],
"end_orgasm_her_2": [
"She presses her tits against you contentedly.",
"Her pussy stays wet and sensitive after the second climax.",
"A wicked little smile lingers on her lips.",
"She looks loose, flushed, and openly pleased.",
"She stays close with a deeply satisfied expression.",
"Her body is relaxed and glowing from the orgasms.",
"A greedy little smile lingers on her face.",
"Her breathing is still a bit ragged.",
"Her skin is warm and flushed."
],
"end_orgasm_her_3": [
"She pants softly with glassy eyes.",
"She seems to have lost some of her voice.",
"Her pussy keeps twitching through the last aftershocks.",
"Her body jerks through another hard aftershock.",
"She looks dazed, oversensitive, and deeply satisfied.",
"Her legs are still shaking slightly.",
"She looks beautifully wrecked and soaked.",
"Her whole body is flushed and trembling."
],
"end_orgasm_her_4": [
"Her voice is hoarse from all the moaning.",
"Her pussy is visibly dripping and sensitive.",
"She is shaking slightly in ecstatic disbelief.",
"She can barely hold herself together.",
"She appears completely overwhelmed.",
"Her body is still convulsing lightly.",
"She stares at the ceiling in bliss.",
"She looks drunk on pleasure."
],
"end_orgasm_her_5": [
"Her eyes look slightly unfocused.",
"She is in pure bliss, soft and spent.",
"She lies there glowing, too sensitive to move much.",
"She has turned into a quivering, wet puddle.",
"She is practically melting where she lies.",
"Her body is covered in sweat and bliss.",
"She lies limp and deeply satisfied.",
"She can barely form words anymore."
],
"end_orgasm_her_6": [
"Her eyes are unfocused and distant.",
"She looks like she is in absolute heaven.",
"She is completely gone in the afterglow, trembling at every touch.",
"She has been turned into a shaking, orgasm-drunk mess.",
"The pleasure has completely broken through her composure.",
"She is lost in a deep ecstatic state.",
"She twitches and stays oversensitive.",
"She looks ruined in the best possible way."
],
"end_orgasm_none_her_many_you": [
"She licks her lips, but her eyes show growing annoyance.",
"Her hips twitch once, reminding you she never came.",
"Her patience visibly thins when she realizes how one-sided the encounter became.",
"She looks at the mess and does not bother hiding her disappointment.",
"She is still untouched and frustrated after you got everything.",
"Her expression darkens as she understands she got nothing.",
"Her body remains wound tight, left completely denied."
],
"end_orgasm_none_her_one_you": [
"Her thighs stay slightly parted, still aching with need.",
"Her eyes narrow with clear dissatisfaction.",
"Her pussy still throbs visibly, left completely denied.",
"She looks at you with a disappointed little smirk.",
"She bites her lip, obviously annoyed she never got there.",
"She lets out a soft huff, unhappy with how the encounter ended.",
"Her breathing remains heavy with unmet desire."
],
"end_orgasm_you_0": [
"Her eyes flick to your cock, still waiting.",
"She studies your still-hard cock, aware you held back.",
"Her eyes drift down to your unsatisfied erection.",
"She raises an eyebrow when she realizes you did not cum.",
"She looks mildly surprised you held back.",
"Her gaze lingers on your body, noting that you never came.",
"She tilts her head, curious why you did not finish.",
"She becomes aware you never came during the encounter.",
"She notices your restraint with surprise and interest."
],
"end_orgasm_you_0_guilt": [
"Her eyes soften with real guilt when she realizes you held back.",
"A guilty expression crosses her face as she sees your unsatisfied cock.",
"She reaches for you with guilty, apologetic hands.",
"Guilt flashes in her eyes as she realizes how selfish she was.",
"She notices you never finished and looks genuinely guilty.",
"She whispers an apology for leaving you hanging.",
"Her gaze drops to your still-hard cock and her face changes.",
"She stays close, clearly aware she left you unfinished."
],
"end_orgasm_you_1": [
"Her eyes sparkle with satisfaction.",
"A pleased little smile appears on her face.",
"She presses her body against yours.",
"She stays close as you recover.",
"She gently strokes your chest.",
"She watches you catch your breath.",
"Her posture softens now that you are spent.",
"She looks satisfied with how you finished."
],
"end_orgasm_you_2": [
"She licks her lips, obviously enjoying the result.",
"She smiles at how much fun both of you had.",
"Two loads later, she is wearing a very satisfied grin.",
"Her expression is proud after draining you twice.",
"She teases you lightly about the second time.",
"Two orgasms from you leave her looking smug and happy.",
"She stays close while you recover from the second orgasm.",
"Her eyes keep returning to the evidence of how much you enjoyed it."
],
"end_orgasm_you_3": [
"Her eyes stay wide with lust while you recover.",
"She looks stunned by the raw chemistry between you.",
"She stays close, breathless from how intense it got.",
"She is impressed by your stamina after you came so much.",
"She cannot hide how turned on she is that you came multiple times.",
"She looks satisfied, almost smug, after pushing you that far.",
"She keeps looking at you like she is replaying the encounter.",
"Her breathing stays uneven while the afterglow settles."
],
"end_orgasm_you_3_messy": [
"Her eyes are wide with lust, her body covered in cum.",
"She licks her lips, obviously enjoying what you left on her.",
"She looks stunned by the raw chemistry between you.",
"She stays close, messy and breathless from how intense it got.",
"She cannot hide how turned on she is that you came multiple times.",
"She is still covered in your cum as she smiles in satisfaction.",
"The sheer amount of cum still on her leaves her visibly aroused.",
"She looks satisfied, almost smug, while the mess dries on her skin.",
"She traces a finger through the sticky mess, looking very pleased."
],
"finger_ass_failure": [
"{name} pulls her ass away before you can continue.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"finger_ass_success": [
"{name}'s ass tightens around your finger before she lets any of it in.",
"She breathes carefully while your finger works against her tight little asshole.",
"{name} keeps still while your finger tests her ass inch by inch.",
"Her hips tense around the anal touch, making you slow down and earn it.",
"Her ass gives a little around your finger, then tightens again."
],
"finger_pussy_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"finger_pussy_success": [
"{name} opens to your fingers as they find her pussy and start working inside.",
"Her hips twitch against your hand when your fingers curl inside her.",
"She breathes through the first push of your fingers into her wet slit.",
"{name} lets your fingers move inside her pussy, tense but responsive.",
"Her inner walls tighten around your fingers as you finger her carefully."
],
"fingering_pleasure_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} closes her thighs before your fingers can keep working her pussy.",
"Her hand catches your wrist and pulls it away from her slit.",
"{name} shifts her hips away, cutting off access to her pussy.",
"She stops the fingering before your fingers can find another rhythm.",
"Her body tightens shut and refuses your fingers."
],
"fingering_pleasure_success": [
"{name}'s cunt tightens around your fingers as her hips follow your hand.",
"Her pussy tightens around your fingers.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"fingering_tease_failure": [
"Her thighs close around your hand and keep it from going farther.",
"She stops your hand when the teasing turns frustrating.",
"Her body closes off, and the attempt ends.",
"She refuses the change before it can build.",
"She backs away and gives you nothing more."
],
"fingering_tease_success": [
"Her pussy tightens around your fingers.",
"Her thighs twitch around your hand.",
"Her pussy gets wetter against your fingers.",
"Her hips lift to meet your hand.",
"She tries to follow the teasing motion and loses a little composure."
],
"flirt_bold_failure": [
"The bold line lands badly, and her expression shuts it down.",
"{name} does not reward the nerve behind it.",
"She gives you a flat look instead of rising to it.",
"Her posture stays closed, cutting off the stronger flirt.",
"She lets the silence answer before you can push it further."
],
"flirt_bold_success": [
"{name} measures the boldness before deciding whether to reward it.",
"She measures the boldness before deciding whether to reward it.",
"She leans into the contact by a small, honest amount."
],
"flirt_failure": [
"She moves your hand away and steps back.",
"{name} stiffens and does not lean back in.",
"The flirt arrives before the mood can hold it.",
"She steps around the suggestion and leaves it behind.",
"Her expression cools at the timing.",
"The silence after the line does most of the refusing."
],
"flirt_soft_failure": [
"She hears the flirt and gives you nothing to build on.",
"{name} lets the line fall flat instead of smiling back.",
"Her expression cools, and the flirt dies there.",
"She keeps the conversation plain.",
"The attempt comes too early, and she does not help it along."
],
"flirt_soft_success": [
"She catches the flirt and does not shut it down.",
"{name} stays in the conversation a little longer than before.",
"Her mouth almost curves before she hides it.",
"She gives the line enough room to count.",
"The flirt gets a small reaction instead of a refusal."
],
"flirt_success": [
"Her mouth moves like she almost stopped it in time.",
"Her eyes stay on you longer than the line required.",
"She catches the suggestion and lets it hang there.",
"She does not step back from the flirt."
],
"footjob_pleasure_failure": [
"She pulls her feet away and plants them out of reach, leaving your cock untouched.",
"Her feet leave your lap before the contact can turn into a footjob.",
"She blocks your hand from reaching her ankle and moves both feet aside.",
"{name} tucks her legs back and keeps her soles away from you.",
"Her foot leaves your shaft, ending the stroke at once."
],
"footjob_pleasure_success": [
"Her soles tighten around your cock, and her toes flex when precum starts to slick the head.",
"She keeps her ankles close and rubs faster when your cock twitches between her soles.",
"She presses the arch of one foot under the head of your cock and drags it back down with a firmer stroke.",
"{name} watches your shaft move between her feet, adjusting her legs when you get harder against her skin.",
"A small smile crosses her face as she feels you throb against her feet."
],
"gaze_ass_failure": [
"She catches the look and turns enough to make the stare obvious.",
"{name} gives you a flat look over her shoulder.",
"Her posture changes, closing off the view you were taking.",
"She notices your eyes and does not play along.",
"The stare lasts too long, and she shuts it down."
],
"gaze_ass_success": [
"She notices your eyes on her ass and lets you keep looking for a second.",
"She notices the direction of your gaze and lets the charged pause answer for her.",
"She leans into the contact by a small, honest amount."
],
"gaze_chest_failure": [
"Her eyes snap back to your face, unimpressed.",
"{name} catches where you are looking and makes the mistake obvious.",
"She angles her body away from the stare.",
"Her expression hardens when your eyes stay too low.",
"She cuts the look short before it can become comfortable."
],
"gaze_chest_success": [
"{name} catches the look and lets the silence stretch just long enough to judge it.",
"She catches the look and lets the silence stretch just long enough to judge it.",
"She leans into the contact by a small, honest amount."
],
"gaze_failure": [
"She moves your hand away and steps back.",
"{name} stiffens and does not lean back in.",
"She pulls back and gives you a flat look.",
"Her posture sharpens, making it clear the look was too much.",
"She redirects your attention before it can become bolder."
],
"gaze_legs_failure": [
"She notices your eyes drifting and pulls the moment back to her face.",
"{name} shifts her stance, making the stare feel too obvious.",
"Her expression cools when your attention stays on her legs.",
"She does not let the look become a compliment.",
"The glance turns clumsy, and she cuts it off."
],
"gaze_legs_success": [
"{name} notices the attention on her legs and lets it stay for a second.",
"She shifts under the look, aware of exactly what you are admiring.",
"Her stance changes just enough to show she noticed.",
"She catches the glance and does not shut it down.",
"The look lasts long enough to feel intentional."
],
"gaze_success": [
"She catches the look and lets you keep it for a second.",
"{name} notices your eyes and does not immediately shut it down.",
"Her body language changes under the attention.",
"She lets the stare last just long enough to be clear.",
"She sees where your attention is and leaves the moment open."
],
"gentle_command_failure": [
"She hears the command and does not follow it.",
"{name} keeps stillness, movement, and attention under her own control.",
"Her expression cools as the order fails.",
"She gives you no compliance to build on.",
"The command stops at her refusal."
],
"gentle_command_success": [
"{name} tests the command, then allows the smallest amount of compliance.",
"Her posture changes by a fraction, but it is enough to count.",
"She lets the instruction move her before she fully admits it.",
"The tension bends slightly in your direction.",
"She gives the command a narrow, controlled answer."
],
"grind_together_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"grind_together_success": [
"Her thighs press around your hand as the fabric drags over her pussy.",
"Her breath catches when your fingers rub her through her clothes.",
"{name}'s hips shift into the friction.",
"She rocks against you through the fabric, turning the grind into a shared rhythm.",
"Her thighs adjust around the contact, letting the clothed grind stay deliberate.",
"{name} presses back into the grind, letting the clothed friction build between you."
],
"guide_position_failure": [
"She does not let you guide her position.",
"{name} stops before your instruction can place her.",
"Her posture stays her own.",
"She refuses the direction of your hand and voice.",
"The command fails before she moves for you."
],
"guide_position_success": [
"{name} follows the instruction and watches how you react.",
"Her posture changes by a fraction, but it is enough to count.",
"She lets the instruction move her before she fully admits it.",
"The tension bends slightly in your direction.",
"She gives the command a narrow, controlled answer."
],
"handjob_pleasure_failure": [
"Her hand leaves your cock and stays off it.",
"{name} lets go of your cock before her hand can keep stroking.",
"Her fingers leave your dick and refuse to find the rhythm again.",
"She pulls her hand back, ending the handjob immediately.",
"{name} releases your shaft and keeps her hand at her side.",
"The stroke stops when she decides not to touch your cock anymore."
],
"handjob_pleasure_success": [
"Her fingers tighten around your cock.",
"Her grip adjusts around your shaft as she watches what makes you react.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"handjob_to_blowjob_failure": [
"She teases but won't use her mouth.",
"She stays stuck on hand only.",
"Her lips stay closed tight.",
"The switch dies in her hand.",
"She keeps stroking and refuses to suck.",
"She shakes her head and rejects it.",
"She coughs once and backs off before taking you again.",
"She pulls her head back quickly."
],
"handjob_to_blowjob_success": [
"Her lips close around your cock while her hand keeps the base steady.",
"She lets her mouth take over without losing the rhythm her fingers built.",
"Her tongue meets the head of your cock as her hand slows underneath.",
"The first wet pull of her mouth makes your cock twitch against her fingers.",
"She keeps one hand on you while her lips start working."
],
"hold_eye_contact_command_failure": [
"She breaks eye contact instead of obeying.",
"{name} refuses to keep her eyes on yours.",
"Her gaze moves away from the order.",
"She hears the command and does not give you the stare.",
"The order fails before the eye contact can hold."
],
"hold_eye_contact_command_success": [
"{name} follows the instruction and watches how you react.",
"{name} holds the stare even as the order changes the air between you.",
"Her posture changes by a fraction, but it is enough to count.",
"She lets the instruction move her before she fully admits it.",
"The tension bends slightly in your direction.",
"She gives the command a narrow, controlled answer."
],
"hug_her_failure": [
"She steps back before the hug can close around her.",
"{name} keeps enough distance that the hug never starts.",
"Her shoulders turn away from the attempt.",
"She stops the closeness before your arms can settle.",
"The hug dies before it becomes contact."
],
"hug_her_success": [
"{name} stiffens first, then decides whether the hold feels safe enough to keep.",
"She stiffens first, then decides whether the hold feels safe enough to keep.",
"She leans into the contact by a small, honest amount."
],
"inquire_jobs_failure": [
"She gives you no useful lead on work.",
"{name} keeps the work lead to herself.",
"Her answer stays too vague to help.",
"She does not give you enough to follow up on.",
"The job question goes nowhere."
],
"inquire_jobs_success": [
"{name} gives the topic enough attention to answer properly.",
"{name} considers whether your request sounds useful enough to answer.",
"She considers whether your request sounds useful enough to answer."
],
"inquire_training_failure": [
"She gives you no useful lead on training.",
"{name} keeps the training advice to herself.",
"Her answer stays too short to unlock anything useful.",
"She does not trust the question enough to help yet.",
"The training question gets closed down fast."
],
"inquire_training_success": [
"{name} gives the topic enough attention to answer properly.",
"{name} looks for discipline in the way you ask before giving you anything useful.",
"She looks for discipline in the way you ask before giving you anything useful."
],
"introduce_dominant_failure": [
"The stronger introduction lands badly, and she stiffens.",
"{name} does not give the dominant opening any obedience.",
"Her expression closes before the introduction can recover.",
"She meets the force in your voice and refuses it.",
"The attempt at control gets nothing back."
],
"introduce_dominant_success": [
"{name} catches the confidence in your voice and answers it instead of brushing it off.",
"Her eyes stay on yours, wary but interested enough to let the stronger opening stand.",
"{name} gives the topic enough attention to answer properly.",
"Her shoulders loosen as she keeps talking.",
"She measures you for a second, then gives you a reply that sounds like a test.",
"The confidence gets her attention. She replies like she wants to see whether you can keep it."
],
"introduce_failure": [
"The introduction lands awkwardly, and she does not help it recover.",
"{name} gives you a short look and keeps her distance.",
"Her answer stays polite enough to end the exchange.",
"She does not give the introduction any momentum.",
"The first impression fails to open anything."
],
"introduce_success": [
"{name} lets the greeting become a conversation instead of a passing interruption.",
"{name} gives the topic enough attention to answer properly.",
"{name} gives you her name and keeps looking at you instead of turning away.",
"Her expression stays guarded, but she gives you enough of an answer to continue.",
"She takes your introduction seriously enough to reply with more than politeness."
],
"invite_coffee_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"invite_coffee_success": [
"A small smile slips through before she reins it in.",
"She keeps eye contact while she answers.",
"She considers it, then gives you a time that might actually work.",
"Her shoulders loosen as she keeps talking.",
"{name} considers the invitation as a small public step, not a promise of more.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible.",
"The invitation lands more cleanly than she expected."
],
"invite_gallery_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"invite_gallery_success": [
"A small smile slips through before she reins it in.",
"She keeps eye contact while she answers.",
"{name} gives the topic enough attention to answer properly.",
"Her shoulders loosen as she keeps talking.",
"{name} reacts to the fact that the invitation has shape, place, and taste.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible.",
"The invitation lands more cleanly than she expected."
],
"invite_meal_failure": [
"The home part makes her hesitate too long.",
"Her interest fades when the meal still means your place.",
"{name} gives a short answer and stops feeding the conversation.",
"She considers it, but her posture stays closed.",
"She shakes her head before the invite can go further.",
"She keeps her answer polite, but firm.",
"She pulls back before it can go further.",
"The offer does not get past her caution."
],
"invite_meal_success": [
"The cooking part earns a small, approving look.",
"Her guard lowers when she hears you mean an actual meal.",
"Her expression softens when you mention doing the cooking.",
"She pauses, then nods with a cautious smile.",
"She looks at you for a second, weighs the offer, then agrees.",
"She seems more curious than wary now.",
"She lets out a small laugh and agrees to see what you can make.",
"Her body gives a clear response."
],
"invite_private_movie_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"invite_private_movie_success": [
"A small smile slips through before she reins it in.",
"She keeps eye contact while she answers.",
"{name} gives the topic enough attention to answer properly.",
"Her shoulders loosen as she keeps talking.",
"She adds a detail she did not have to share.",
"{name} understands the cover story and judges whether she wants the room that comes with it.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible."
],
"invite_room_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"The request closes before it can gain momentum.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"invite_room_success": [
"A small smile slips through before she reins it in.",
"She keeps eye contact while she answers.",
"{name} gives the topic enough attention to answer properly.",
"Her shoulders loosen as she keeps talking.",
"She adds a detail she did not have to share.",
"{name} studies the invitation carefully because a private room changes the weight of every answer.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible."
],
"invite_workout_failure": [
"{name} gives a short answer and stops feeding the conversation.",
"She looks away before you can ask more.",
"Her posture closes, polite but clear.",
"{name} keeps the boundary firm around the invitation.",
"She does not let the offer become a negotiation.",
"She shakes her head and gives the training invite no opening.",
"She steps back from the implication in the ask.",
"Her refusal is calm, but final."
],
"invite_workout_success": [
"A small smile slips through before she reins it in.",
"She keeps eye contact while she answers.",
"{name} gives the topic enough attention to answer properly.",
"Her shoulders loosen as she keeps talking.",
"{name} weighs the invitation against the discipline it would actually require.",
"Her answer comes after a real pause, not automatic politeness.",
"She lets the idea exist long enough to become possible.",
"The invitation lands more cleanly than she expected."
],
"kiss_cheek_failure": [
"She turns her cheek away before the kiss lands.",
"{name} leans back from the small kiss.",
"Her expression closes before the gesture can feel sweet.",
"She stops the cheek kiss with a small shift away.",
"The kiss misses because she does not let it happen."
],
"kiss_cheek_success": [
"{name} holds still for the kiss, then looks back at you to see if you will try for more.",
"Her cheek warms under your lips before she turns her face back toward you.",
"She lets the small kiss land, guarded but not offended.",
"Her expression shifts after the kiss, giving you a better read on the boundary."
],
"kiss_lips_failure": [
"She turns away before your mouth reaches hers.",
"{name} stops the kiss before it lands.",
"Her hand comes up, keeping the distance between your faces.",
"She does not let the attempt become a kiss.",
"The closeness breaks before your lips touch."
],
"kiss_lips_success": [
"Her eyes stay on your mouth for a second.",
"{name} kisses back after the first soft second.",
"Her mouth stays on yours a little longer than expected.",
"Her breath catches against your lips.",
"She does not step away when the kiss ends.",
"{name} meets the kiss for a brief charged second before deciding how much to give back.",
"She meets the kiss for a brief charged second before deciding how much to give back."
],
"lick_pussy_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"She refuses to let your mouth settle between her thighs.",
"She moves out of position before you can continue."
],
"lick_pussy_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s thighs frame your face as your tongue starts working her.",
"{name}'s hips lift toward your mouth.",
"Her pussy gets wetter against your tongue.",
"She breathes harder each time your mouth returns to her clit.",
"Her fingers tighten in your hair."
],
"look_eyes_failure": [
"She breaks the eye contact before it can turn charged.",
"{name} does not let the silence stretch between you.",
"Her gaze slips away, leaving the attempt flat.",
"She meets your eyes once, then refuses the stare-down.",
"The look lasts too long, and she steps out of it."
],
"look_eyes_success": [
"{name} keeps the look for a moment.",
"She holds your gaze and waits to see what you do with it.",
"Her eyes stay on yours a little longer than casual.",
"She lets the silence stretch without looking away.",
"The eye contact holds long enough to change the mood."
],
"make_her_hold_still_failure": [
"She moves before the command can settle.",
"{name} refuses to hold still for you.",
"Her body shifts out of the instruction.",
"She keeps control of where she stands.",
"The order fails before she gives you stillness."
],
"make_her_hold_still_success": [
"{name} freezes for a beat, caught between resistance and the pull of being directed.",
"Her posture changes by a fraction, but it is enough to count.",
"She lets the instruction move her before she fully admits it.",
"The tension bends slightly in your direction.",
"She gives the command a narrow, controlled answer."
],
"massage_ass_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_ass_success": [
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"{name} shifts under your palms as the touch claims more of her body.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_back_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_back_success": [
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"{name} relaxes by degrees, her body giving more trust than her mouth does.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_breasts_failure": [
"Her body tightens, refusing the direction of the massage.",
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"{name} stops the movement before your hands settle there.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_breasts_success": [
"{name} breathes in sharply as the massage becomes openly sexual.",
"{name}'s chest lifts into your hands.",
"Her nipples harden under your attention.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_failure": [
"She catches your wrist before the massage turns into something worse.",
"She pulls back before it can go further.",
"Her body closes off, and the attempt ends.",
"She backs away and gives you nothing more.",
"Her breathing turns sharper, warning you to reset."
],
"massage_inner_thighs_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_inner_thighs_success": [
"{name}'s thighs tense around your hands, her body aware of how close you are.",
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_legs_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_legs_success": [
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"{name} lets her legs relax into your hands, still watching how close you get.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_lower_back_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_lower_back_success": [
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"{name} notices how low your hands are and lets the tension turn warmer.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_neck_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_neck_success": [
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"{name} tilts her head despite herself, letting the touch reach a vulnerable place.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_pussy_bare_failure": [
"{name} closes her thighs before the bare contact can settle.",
"Her hips pull back, ending the massage before it turns into pussy play.",
"She catches your wrist and moves your hand away from her slit.",
"Her body tenses at the direct touch, and the rhythm breaks.",
"She blocks the move before your fingers can stay between her thighs."
],
"massage_pussy_bare_success": [
"{name} parts her thighs enough for your fingers to keep rubbing her bare pussy.",
"Her hips follow the touch by a small amount before she catches herself.",
"Her breathing changes when your fingers settle on her slit.",
"She lets the bare contact continue, tense but not pulling away.",
"Her thighs tremble around your hand as the massage turns sexual.",
"{name}'s thighs open around your hand as the touch becomes direct."
],
"massage_pussy_fabric_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"Her body tightens, refusing the direction of the massage.",
"{name} stops the movement before your hands settle there.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_pussy_fabric_success": [
"Her thighs press around your hand as the fabric drags over her pussy.",
"{name}'s hips shift into the friction.",
"{name}'s hips answer the friction before she can hide it.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_shoulders_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_shoulders_success": [
"She tilts toward the massage instead of away from it.",
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_start_failure": [
"Her body tightens, refusing the direction of the massage.",
"{name} shifts away from your hands.",
"{name} stops the movement before your hands settle there.",
"Her shoulders tense instead of loosening.",
"She catches your wrist and resets the boundary.",
"She moves the touch away before it becomes familiar."
],
"massage_start_success": [
"Her muscles soften under your hands.",
"{name}'s breathing slows while your hands work.",
"{name} checks your intent before letting the first touch settle.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_success": [
"Her body relaxes into the massage.",
"Her muscles loosen under your hands.",
"Her breathing slows as your palms keep working.",
"A small sound escapes before she can make it polite.",
"Her skin warms under your palms as her body relaxes."
],
"massage_tongue_ass_failure": [
"{name} pulls her ass away before you can continue.",
"She shifts her hips out of reach before your tongue gets there.",
"Her hand moves back to keep your mouth away.",
"{name} stops the movement before your tongue can settle there.",
"She pushes your head back and ends the attempt.",
"She moves out of position before it becomes rimming."
],
"massage_tongue_ass_success": [
"Her hand grips the nearest surface while you lick her asshole.",
"{name} stiffens at first, then shivers as your tongue circles her asshole.",
"{name}'s ass tenses at first, then opens a little for your tongue.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_tongue_pussy_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"She moves out of position before your tongue can touch her.",
"{name} pushes your head back and sits up a little.",
"Her legs close and the massage mood breaks.",
"She turns her hips away from your mouth before it can become oral."
],
"massage_tongue_pussy_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"{name}'s breath breaks as your tongue replaces your hands.",
"A small sound escapes before she controls it.",
"The contact changes her breathing."
],
"massage_vagina_failure": [
"{name} stops your hand before the massage reaches her pussy.",
"Her thighs close and the rhythm breaks immediately.",
"She pulls your wrist away from the place you were aiming for.",
"Her body refuses the lower touch before it can become direct.",
"She shifts back, making the boundary clear without letting it linger."
],
"massage_vagina_success": [
"{name} parts her thighs a little more as the massage becomes pussy play.",
"Her thighs twitch around your hand before she says anything.",
"She lets the pressure remain and adjusts to it."
],
"missionary_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"She refuses the position before sex can start.",
"She moves out of position before you can continue."
],
"missionary_pleasure_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hand stops your hip before your cock can get inside.",
"Her thighs close and stop the penetration.",
"Her body tightens instead of opening to the thrusts.",
"She pushes against your chest and keeps penetration from starting.",
"Her body locks up and she pulls away from your cock.",
"Her thighs press together, shutting the sex down.",
"She moves out from under you before it continues."
],
"missionary_pleasure_success": [
"She locks her legs around you and takes the thrusts deeper.",
"Her breath breaks each time your hips meet hers.",
"She arches under you, cunt clenching with every steady push.",
"Her hips lift toward you, asking for more without words.",
"A trembling moan slips out as she takes you deeper.",
"Her legs tighten around your hips.",
"Her hands clutch at your back.",
"Her inner walls flutter while she watches your face.",
"Her breath catches each time you drive into her face to face."
],
"missionary_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"{name} looks up at you as her cunt takes you in.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper."
],
"mutual_oral_pleasure_failure": [
"{name} stops the mouth-to-pussy and mouth-to-cock rhythm completely.",
"{name} breaks the sixty-nine position before either mouth can keep working.",
"{name} pulls back and makes the refusal clear.",
"She stops you before it can continue.",
"Her posture closes and stays closed.",
"She stays in the position, but the shared rhythm turns uneasy.",
"Her body gets tense in the sixty-nine position, and the shared rhythm slips."
],
"mutual_oral_pleasure_success": [
"{name} struggles to keep her mouth steady while your tongue works her.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"oral_giving_pleasure_failure": [
"{name} pulls her mouth away from your cock before the blowjob can continue.",
"Her mouth leaves your cock and she keeps her face away.",
"She releases your dick and keeps her mouth out of reach.",
"Her mouth keeps moving, but the rhythm turns reluctant.",
"She keeps her mouth near you, but gives less with each motion.",
"Her rhythm turns reluctant, and her mouth gives you less with each motion."
],
"oral_giving_pleasure_success": [
"Her lips tighten around your cock.",
"{name} watches your reaction while her mouth stays busy.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"oral_receiving_pleasure_failure": [
"{name} pulls her hips back before your mouth can stay on her pussy.",
"Her thighs close enough to stop your tongue from finding her clit again.",
"Her thighs close enough to keep your mouth away.",
"{name} shifts away from your mouth, keeping her pussy out of reach.",
"{name} pulls her hips back from your face.",
"She breaks the cunnilingus before your mouth can settle back into rhythm.",
"Her thighs tense around your head, and the oral attention starts feeling less welcome."
],
"oral_receiving_pleasure_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s thighs tighten around your mouth as the pleasure builds.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"orgasm_success": [
"Her cunt pulses through the last waves of pleasure.",
"{name} watches your body tighten as you get close.",
"Her body locks up as the orgasm takes her.",
"She watches you lose it and does not look away.",
"She keeps still while you finish."
],
"penetration_pleasure_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hips pull away from penetration and refuse the next thrust.",
"{name} stops the sex before your cock can keep moving inside her.",
"{name} breaks the rhythm, pushing your cock out before it continues.",
"She braces against you and ends the vaginal sex immediately.",
"Her body closes off the penetration and forces you to stop."
],
"penetration_pleasure_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"Her pussy tightens around your cock with each thrust.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"pet_over_clothes_failure": [
"Her body tightens under your hand, and the touch stops feeling welcome.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"pet_over_clothes_success": [
"{name} lets your hand press over her clothes, feeling the shape beneath the fabric.",
"She allows the through-clothes petting, aware of exactly where your hand rests.",
"{name} shifts against your palm while the fabric keeps the contact restrained.",
"Her breath catches as your hand explores over the clothing instead of stopping.",
"Her body tightens under the clothed touch, but she keeps you there."
],
"petting_failure": [
"She moves your hand away and steps back.",
"{name} catches your hand before the petting settles anywhere intimate.",
"Her body moves out of range before your hand can explore further.",
"She closes her posture and keeps the touch from becoming familiar.",
"{name} stops the petting at the first clear escalation.",
"She breaks the contact and makes the boundary physical."
],
"petting_success": [
"{name} lets the petting remain only while it stays controlled.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"player_undress_failure": [
"She watches you undress, unimpressed, and the mood turns colder rather than warmer.",
"Her eyes drop to your naked body, then back to your face, guarded.",
"She does not stop you from stripping, but her posture closes immediately.",
"The clothes are off, but the reaction is colder than you wanted.",
"She looks away for a second, giving you a clear sign you moved faster than she did."
],
"player_undress_success": [
"{name} watches your clothes come off, her attention dropping over your body before returning to your face.",
"Her eyes follow the movement. She does not stop you, but she measures what your confidence is asking from her.",
"She looks over you openly once there is less between you.",
"Her gaze lingers before she makes herself meet your eyes again.",
"She stays where she is, letting the change in your clothing settle between you."
],
"refusal_ask_low_failure": [
"{name} pulls back and makes the refusal clear.",
"Her reaction is immediate, sharp, and closed.",
"She pulls back as soon as she understands what you asked for.",
"The request makes her guarded in an instant.",
"She backs away and gives you nothing more.",
"Her body language turns cold before you can recover it."
],
"refusal_ask_normal_failure": [
"{name} pulls back and makes the refusal clear.",
"She refuses before moving any closer.",
"Her expression softens, but the answer stays no.",
"She keeps the boundary calm and clear.",
"She backs away and gives you nothing more.",
"Her body stays where it is, closed to the next step."
],
"refusal_beg_low_failure": [
"The pleading makes her pull back harder.",
"Her body closes off, and the attempt ends.",
"She stops you with a firm movement.",
"Her posture closes fast, more guarded than before.",
"She cuts the plea off before it can become messier."
],
"refusal_beg_normal_failure": [
"{name} pulls back and makes the refusal clear.",
"She stops you before it can continue.",
"She softens for a second, but the refusal stays in place.",
"The plea does not move her body any closer.",
"She hears the desire in it and still keeps her distance.",
"Her expression shows a little sympathy, not permission.",
"She refuses gently without giving the idea a path forward."
],
"refusal_command_low_failure": [
"Her body stiffens against the order immediately.",
"Her body closes off, and the attempt ends.",
"The order makes her step back instead of comply.",
"She backs away and gives you nothing more.",
"Her expression turns hard and closed."
],
"refusal_command_normal_failure": [
"She does not move, even after hearing the command.",
"Her posture stays firm, refusing the order without panic.",
"She stops you with a firm movement.",
"The command reaches her, but her body does not follow.",
"She refuses without anger, but she still refuses."
],
"refusal_massage_ass_failure": [
"She shifts away quickly when your hands move to her ass.",
"Her body tenses hard and she pulls away from the ass massage.",
"She turns and ends the massage the second you touch her ass.",
"She blocks any further ass massage with her body language.",
"She sits up and shuts down the ass massage completely.",
"{name} shifts away from your hands.",
"She stops you before you can properly grope her ass.",
"She moves out from under your hands with a sharp motion."
],
"refusal_massage_breasts_failure": [
"The mood breaks as she refuses to let you massage her breasts.",
"She grabs your wrist and pulls your hands away from her breasts.",
"Her hands cover her breasts and stop the act there.",
"She shakes her head and removes your hands from her breasts.",
"She pulls her chest away from your hands.",
"{name} covers her tits and steps back.",
"Her body goes stiff as she stops you from touching her tits.",
"She moves your hands off her chest with a firm look."
],
"refusal_massage_tongue_ass_failure": [
"She flinches hard and pulls her ass away from your tongue.",
"She stops you instantly before you can lick her asshole.",
"She ends the massage the second you go for her ass.",
"She shuts it down firmly, not wanting her asshole licked.",
"{name} pulls her ass away before you can continue.",
"Her body rejects the ass licking immediately.",
"She clenches her cheeks and blocks your tongue.",
"She pushes your head away with a tense sound."
],
"refusal_massage_tongue_pussy_failure": [
"Her thighs close enough to keep your mouth away.",
"Her thighs clamp shut, blocking access to her pussy.",
"She sits up and ends the massage right there.",
"She closes her legs quickly and pulls away from your tongue.",
"She stops you before you can lick her pussy.",
"Her body tenses and she refuses the sudden oral on her cunt.",
"She pushes your head away, ending the pussy licking.",
"The mood breaks as she rejects having her pussy eaten."
],
"remove_panties_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"remove_panties_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"remove_your_clothes_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"remove_your_clothes_success": [
"{name} watches your clothes come off, her attention dropping over your body before returning to your face.",
"Her eyes follow the movement. She does not stop you, but she measures what your confidence is asking from her.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her body reacts to the exposure before she puts words on it.",
"She watches your clothes come off without looking away.",
"The undressing makes the air warmer between you."
],
"reverse_cowgirl_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"reverse_cowgirl_pleasure_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hand stops your hip before your cock can get inside.",
"Her thighs close and stop the penetration.",
"She pushes against your chest and keeps penetration from starting.",
"Her body locks up and she pulls away from your cock.",
"Her thighs press together, shutting the sex down.",
"She moves her pelvis away and breaks the line-up.",
"The reverse position stops working and she pulls forward."
],
"reverse_cowgirl_pleasure_success": [
"She rides you in reverse cowgirl, her ass bouncing up and down on your cock.",
"The reverse cowgirl gives a perfect view of her ass taking your cock.",
"Her ass cheeks ripple while she rides your cock hard in reverse.",
"Her ass moves aggressively as she fucks herself deep in reverse position.",
"She faces away, sliding her wet pussy down your shaft in steady bounces.",
"She grinds and bounces backwards, her pussy swallowing every inch.",
"The position lets her ass move freely while she fucks you aggressively.",
"She leans forward and rides your cock with deep, wet strokes in reverse."
],
"reverse_cowgirl_success": [
"Her pussy clenches around your cock.",
"{name}'s hips meet your thrusts.",
"{name}'s hips find the angle while her back stays turned to you.",
"Her wet cunt holds you tight.",
"Her breath breaks each time you push deeper."
],
"rub_breasts_fabric_failure": [
"She catches your wrist before your hand settles.",
"Her shoulders pull back, closing off the touch.",
"She moves your hand away from her chest.",
"Her expression tightens, and the answer is clear before she speaks.",
"She stops your hand before it can rub over her tits."
],
"rub_breasts_fabric_success": [
"Her nipples harden under the fabric, and she does not move your hand away.",
"Her breath catches as your palm drags over her tits.",
"She glances down at your hand, then lets the touch continue.",
"Her chest rises a little faster under your fingers.",
"She stays still, but her nipples answer through the fabric."
],
"rub_pussy_fabric_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"rub_pussy_fabric_success": [
"Her thighs press around your hand as the fabric drags over her pussy.",
"{name} reacts as your fingers rub her pussy through the fabric.",
"Her thighs tense around your hand while the cloth drags over her slit.",
"She lets the friction stay on her pussy through the clothes, breathing harder.",
"{name} presses subtly into the rubbing as the fabric works against her clit."
],
"rubbing_pleasure_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"She catches your wrist before you can touch her again.",
"{name} stops the rubbing before the friction can build again.",
"{name} breaks the friction and refuses to settle back into it.",
"Her body pulls out of the rubbing rhythm before it can sharpen."
],
"rubbing_pleasure_success": [
"Her thighs press around your hand as the fabric drags over her pussy.",
"{name}'s hips answer the fabric-dragging pressure.",
"{name}'s hips shift into the friction.",
"Her body responds to the exact kind of contact.",
"She reacts to the contact instead of the idea of it.",
"The pleasure shows in a small, physical answer."
],
"rubbing_to_fingering_failure": [
"Her thighs close around your hand and keep it from going farther.",
"She catches the fabric and blocks the escalation.",
"Her hand stops yours before you can get inside.",
"She pulls the panties back into place.",
"She backs away and gives you nothing more."
],
"rubbing_to_fingering_success": [
"Her thighs tense when your fingers get past the fabric.",
"Her pussy is wetter than the rubbing made it look.",
"She goes still for a second as cloth gives way to direct touch.",
"Her slit tightens around your fingers after the teasing through fabric.",
"The direct contact makes her hips twitch harder than the rubbing did."
],
"sex_sex_position_switch_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hand stops your hip before your cock can get inside.",
"Her thighs close and stop the penetration.",
"Her thighs press together, shutting the sex down.",
"She moves her pelvis away and breaks the line-up."
],
"sex_sex_position_switch_success": [
"Her cunt clenches when the new position makes you push differently.",
"Her breath breaks as the change makes your cock hit deeper.",
"She adjusts around you, thighs tense while your cock stays inside.",
"Her body stutters through the movement, then takes the new rhythm.",
"She tightens around you before settling into the new position."
],
"sex_to_69_failure": [
"She keeps her pussy glued to your cock.",
"Her hand stops your hip before your cock can get inside.",
"She refuses to turn and keeps riding you.",
"She pins you down and blocks the change.",
"She twists away and stops the switch.",
"She stays focused on fucking you.",
"She shakes her head and kills it.",
"She stays selfish with normal sex."
],
"sex_to_69_success": [
"She follows the change, still flushed from being fucked.",
"Her mouth lowers toward your cock while her thighs settle around your face.",
"Her wet pussy stays close to your tongue as the sex turns into mutual oral.",
"She catches the rhythm after a second, mouth and hips finding you again.",
"Her body stays eager even as penetration gives way to mouths."
],
"sex_to_anal_failure": [
"Her ass moves out of reach, and her hand stops you at the hip.",
"She twists her hips and gasps uncomfortably.",
"She stiffens hard and keeps you away from her ass.",
"She clenches tight and pulls away fast.",
"She stays clenched shut and blocks you.",
"Her expression turns tense as she shuts it down."
],
"sex_to_anal_success": [
"Her body tenses when your cock leaves her pussy and presses against her ass.",
"Her cunt is still wet around nothing when the new pressure reaches her asshole.",
"She braces herself as the sex moves from her pussy to her ass.",
"Her breathing changes when the tighter pressure replaces the wet slide.",
"She holds still, letting her ass adjust before you push farther."
],
"sexual_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her thighs close and stop the penetration.",
"Her thighs press together, shutting the sex down.",
"She pushes against your chest and keeps penetration from starting.",
"She moves out from under you before it continues.",
"She pulls back before the action can keep building.",
"Her body turns away from the contact instead of opening to it.",
"She stops the action before it can turn worse."
],
"sexual_success": [
"Her pussy clenches around your cock.",
"Her pussy tightens around your cock.",
"Her hips answer before she can hide how much she wants it.",
"A low moan slips out when the pleasure hits the right spot.",
"She takes each thrust with a sharp little jolt.",
"Her breathing turns rougher as the contact keeps working.",
"She stays with the action, flushed and visibly aroused."
],
"sit_on_face_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"The heat cuts off at the boundary she sets.",
"She moves out of position before you can continue."
],
"sit_on_face_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"Her pussy gets wetter against your tongue.",
"She breathes harder each time your mouth returns to her clit.",
"Her fingers tighten in your hair.",
"{name} imagines the position before she decides whether to climb over you."
],
"sixty_nine_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"Her body stiffens in the sixty-nine position, and the shared rhythm turns awkward.",
"She moves out of position before you can continue."
],
"sixty_nine_success": [
"Her mouth works your cock while her hips grind against your face.",
"{name} keeps one hand on you while your tongue works her pussy.",
"She loses track of your cock for a second, then takes it back into her mouth.",
"Her thighs tighten around your head when you moan against her.",
"The two of you get wetter and sloppier together.",
"{name} looks at the position in her head before letting the idea turn physical."
],
"sixty_nine_to_sex_failure": [
"Her thighs stay where they are, refusing penetration for now.",
"She pushes against your chest and keeps penetration from starting.",
"Her body locks up and she pulls away from your cock.",
"She refuses to leave the mutual oral position.",
"She keeps the 69 going and blocks the switch.",
"She does not let the position become sex."
],
"sixty_nine_to_sex_success": [
"Her thighs spread again when your cock replaces your mouth.",
"She is still wet from your tongue when the first thrust makes her body jolt.",
"Her breath catches as the messy oral turns into sex.",
"Her pussy opens under you, slick from the position you just left.",
"She gives up on keeping the oral rhythm once your cock starts pushing in."
],
"slide_hand_inside_panties_public_failure": [
"She catches your wrist before your fingers can slip under her panties.",
"She holds the clothing in place and steps back.",
"Her body turns away enough to make the refusal clear.",
"Her body stiffens at the public risk before your fingers can settle inside.",
"She catches the danger of the place and tightens around your hand.",
"She breaks the continuation and resets the boundary.",
"The public setting makes her breath sharpen and her hips go guarded.",
"She keeps the touch from becoming hidden under her panties while anyone might notice."
],
"slide_hand_inside_panties_public_success": [
"{name} goes still as your fingers cross the hidden line.",
"She adjusts to the change instead of losing the moment.",
"Her body reacts to the specific change in rhythm."
],
"slide_inside_panties_public_failure": [
"Her thighs close around your hand and keep it from going farther.",
"{name} moves your fingers away from her pussy.",
"{name}'s hand closes around your wrist and keeps the boundary clear.",
"She shifts her hips away, stopping the attempt before anyone else can notice.",
"She catches your wrist before you can touch her again.",
"Her posture tightens at once, turning the public risk into a hard refusal."
],
"slide_inside_panties_public_success": [
"Her thighs press around your hand as the fabric drags over her pussy.",
"Her breath catches when your fingers rub her through her clothes.",
"{name}'s body goes still before it softens, the shock of your fingers under the panties making the public risk sharper.",
"{name}'s hips shift into the friction.",
"She glances around once, then her thighs tense around the hidden touch instead of pushing it away.",
"She stays with the act and lets it continue."
],
"social_failure": [
"{name} pulls back and makes the refusal clear.",
"She stops you before it can continue.",
"Her posture closes and stays closed.",
"She lets the topic die before it turns into a real exchange.",
"Her answer stays short, giving you no opening to keep the conversation alive.",
"The subject misses her interest, and she does not pretend otherwise.",
"Her attention drifts away before the conversation can warm.",
"She steps back enough to end it."
],
"social_success": [
"Her eyes stay on you while she replies.",
"She gives you a real reply instead of a polite nod.",
"Her shoulders loosen, and she stays in the conversation.",
"A real reaction crosses her face before politeness can cover it.",
"Her guardedness eases because the subject fits her."
],
"start_anal_success": [
"Her asshole tightens around your cock.",
"Her tight hole starts to take you slowly.",
"She breathes hard through the stretch.",
"Her body trembles but keeps the position.",
"She holds still while the anal begins."
],
"start_analingus_success": [
"Her ass twitches against your mouth.",
"She stiffens, then holds the position.",
"Her breathing turns nervous and hungry at once.",
"She pushes back a little after the first lick.",
"Her body stays tense but does not pull away."
],
"start_blowjob_success": [
"Her tongue presses under the head of your cock.",
"She keeps her eyes on you as her mouth takes over.",
"Her cheeks hollow around your cock.",
"Her lips close around you.",
"Saliva runs down your shaft as she keeps going."
],
"start_breast_sex_success": [
"The head of your cock pushes up between her breasts.",
"Her hands keep her tits closed around you.",
"Her breasts press around your shaft.",
"She presses her chest tighter around your shaft.",
"She watches you react to the tight slide."
],
"start_cunnilingus_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"Her hips tense when your mouth reaches her.",
"Her breathing breaks as your tongue starts.",
"Her thighs frame your face as she lets you in.",
"She holds herself open for your mouth.",
"She spreads wider after the first lick."
],
"start_fingering_success": [
"Her breath catches as your fingers enter her pussy.",
"Her hips shift toward your hand when the first finger slides in.",
"Her thighs open under your hand.",
"Her cunt tightens around the first strokes.",
"She gets wetter around your fingers."
],
"start_handjob_success": [
"Her fingers adjust around your cock.",
"Her hand tightens around your shaft.",
"She tests the stroke and watches your reaction.",
"Her thumb circles the head between strokes.",
"She strokes you from base to tip."
],
"start_rubbing_success": [
"Her thighs tense as your hand works her through the fabric.",
"Her pussy gets wetter against your fingers.",
"The fabric grows warmer under your fingers as she stops pulling away.",
"Her hips shift subtly into the rubbing without letting you inside yet.",
"She breathes harder while your hand stays over the barrier."
],
"start_sex_success": [
"Her body opens around the first thrust.",
"Her breath catches as your cock enters her.",
"Her pussy tightens around the sudden fullness.",
"Her hips shift to take you deeper.",
"She pulls you closer as penetration begins."
],
"start_sixty_nine_success": [
"Her mouth works your cock while her thighs tighten around your head.",
"Her thighs tighten around your face while her mouth finds you.",
"Her hips press down toward your mouth as she keeps sucking.",
"She adjusts her hips until both mouths are in place.",
"Her body trembles as the position locks in."
],
"strip_failure": [
"She stops your hands before the fabric moves further.",
"Her hand stops at the fabric.",
"She steps back and holds her clothes in place.",
"She keeps her clothes in place.",
"She pulls the clothing back into place.",
"She gives you a look that says the timing is wrong.",
"She refuses before more skin is exposed.",
"Her body closes off and the undressing stops.",
"She covers herself and stops the undressing."
],
"strip_success": [
"She lets more skin show and keeps her eyes on you.",
"The fabric drops, and she stays in front of you.",
"Her hands finish removing the clothing.",
"She keeps her gaze on you as the clothes come away.",
"Her breathing changes as more of her body is revealed.",
"She lets you see the body underneath.",
"She stays close, flushed and aware of your stare.",
"More skin shows, and she does not try to hide it."
],
"strip_together_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"strip_together_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"suck_clit_failure": [
"Her thighs close enough to keep your mouth away.",
"{name} pulls her hips back from your face.",
"{name} stops the act before it can begin.",
"Her body closes against the escalation.",
"Her thighs tense around your mouth, making the pressure feel less welcome.",
"She moves out of position before you can continue."
],
"suck_clit_success": [
"Her thighs tighten around your head while your tongue works her clit.",
"{name}'s hips lift toward your mouth.",
"Her pussy gets wetter against your tongue.",
"She breathes harder each time your mouth returns to her clit.",
"Her fingers tighten in your hair."
],
"suck_nipples_failure": [
"She pulls her chest away from your hands.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"suck_nipples_success": [
"Her chest lifts into your mouth, her nipple hardening under your tongue.",
"She catches her breath when your lips and tongue work over her nipple.",
"Her hand tightens near you as your mouth draws another reaction from her nipple.",
"{name} arches slightly as your mouth closes around her nipple.",
"{name} lets the nipple play continue, tense and sensitive under your mouth."
],
"talk_art_failure": [
"Her interest thins before the thought can land.",
"She gives the subject a second look and clearly does not find your angle there.",
"The conversation stalls around the weak interpretation.",
"Her answer stays polite, but the topic loses her."
],
"talk_art_success": [
"{name} follows the idea instead of letting the topic drop.",
"She looks at the subject again, this time with your angle in mind.",
"Her attention stays with the detail you pointed out.",
"The conversation warms because the observation gives her something real to answer."
],
"talk_computers_failure": [
"Her attention slips when the explanation turns into fog.",
"She waits for the useful part and does not hear it.",
"The topic loses her before the fix becomes clear.",
"Her answer closes the problem instead of opening it."
],
"talk_computers_success": [
"{name} follows the problem through instead of tuning out.",
"She listens for the practical part and stays with you.",
"The explanation gives her something concrete to answer.",
"Her focus sharpens once the fix sounds useful."
],
"talk_cooking_failure": [
"The topic goes flat before it becomes appetizing.",
"She does not find enough in the explanation to keep going.",
"Her answer stays short because the method does not land.",
"The conversation cools around the weak detail."
],
"talk_cooking_success": [
"The topic gives her something practical to hold onto.",
"She follows the details instead of giving polite agreement.",
"Her expression warms when the method starts to make sense.",
"The conversation settles into something easier and more useful."
],
"talk_finance_failure": [
"The numbers do not give her anything solid to answer.",
"Her interest fades when the plan stays vague.",
"She hears the risk more clearly than the point.",
"The conversation stalls around the uncertainty."
],
"talk_finance_success": [
"She listens because the numbers finally connect to a decision.",
"The practical risk in your point keeps her attention.",
"She follows the plan far enough to answer seriously.",
"The conversation gains weight when the math becomes useful."
],
"talk_massage_failure": [
"The idea loses her when the touch sounds too vague.",
"Her posture tightens instead of relaxing.",
"She does not trust the explanation enough to lean into it.",
"The subject cools before it becomes comfortable."
],
"talk_massage_success": [
"The promise of careful touch makes the subject easier to answer.",
"Her shoulders soften a little as the idea becomes practical.",
"She listens because the technique sounds specific.",
"The topic gets warmer when you talk about pressure instead of vague comfort."
],
"talk_music_failure": [
"The topic loses its rhythm before she can answer much.",
"She does not hear the point the way you meant it.",
"Her attention drifts when the detail stays too thin.",
"The conversation misses the beat."
],
"talk_music_success": [
"The rhythm of the topic keeps her with you.",
"She listens again in her head before answering.",
"The detail gives the song more shape for her.",
"The conversation moves because the observation has a pulse."
],
"talk_photography_failure": [
"The image does not open up from that angle.",
"She looks for the detail you mean and does not find enough there.",
"The conversation blurs around the weak observation.",
"Her answer stays short because the frame does not convince her."
],
"talk_photography_success": [
"She follows the image through the detail you noticed.",
"The frame gives her something concrete to answer.",
"Her attention stays with the light and the reason behind it.",
"The conversation sharpens around the part of the image that matters."
],
"talk_sports_failure": [
"The topic loses her before the effort sounds meaningful.",
"She does not find the practical part in what you said.",
"The movement sounds like work without purpose.",
"Her answer closes around the weak point."
],
"talk_sports_success": [
"The practical rhythm of the subject keeps her attention.",
"She responds to the effort behind the point.",
"The movement makes more sense when you explain the discipline behind it.",
"The conversation stays grounded in what the body is actually doing."
],
"tease_words_failure": [
"The suggestive line lands flat, and she does not pick it up.",
"{name} hears the implication and lets it die there.",
"Her expression says the tease arrived too early.",
"She refuses to turn the conversation dirty for you.",
"The teasing line gets no smile back."
],
"tease_words_success": [
"{name} reacts to the heat in the words before deciding how much of it to allow.",
"She reacts to the heat in the words before deciding how much of it to allow.",
"She leans into the contact by a small, honest amount."
],
"titfuck_let_work_failure": [
"She stops moving and lets her breasts fall away from your cock.",
"{name} refuses to take over, leaving your hands with nothing to guide.",
"Her chest pulls back from your shaft, and she will not keep the titfuck going by herself.",
"She shakes her head and breaks the contact before you can make her do the work.",
"She moves her upper body back and ends the titfuck attempt."
],
"titfuck_let_work_success": [
"{name} takes over with both hands, pressing her tits around your cock and moving them herself.",
"She keeps your cock pinned between her tits and makes each stroke slower near the head.",
"She watches your face while she strokes you with her breasts, tightening the squeeze whenever you react.",
"A little confidence shows in her eyes as she learns how hard to squeeze and where to rub.",
"She presses her chest tighter around your shaft."
],
"titfuck_lick_tip_failure": [
"She turns her mouth away before the head of your cock reaches her tongue.",
"Her lips stay closed, and she moves her face back from your cock.",
"She breaks the contact with her chest rather than let your cock reach her mouth.",
"She stops the request there, keeping her tongue away and letting your shaft slip free.",
"{name} keeps the titfuck from getting messier and refuses to lick the tip."
],
"titfuck_lick_tip_success": [
"Her tongue catches the head of your cock as it slips out from between her tits.",
"She keeps her tits around your shaft and flicks her tongue over the tip whenever it reaches her mouth.",
"A wet line connects her tongue to your cock before her breasts pull you back down.",
"{name} licks away the precum, then squeezes her breasts tighter and strokes you again.",
"She tastes the head, smiles against it, and keeps rubbing your shaft between her tits."
],
"titfuck_pleasure_failure": [
"She covers her chest and moves back before your cock can touch her tits.",
"{name} keeps her breasts out of reach and stops your hands from guiding her closer.",
"She pulls her chest away from your hands.",
"Her body pulls away, breaking the contact before the titfuck can start.",
"She holds her top in place and refuses to let your cock near her chest.",
"She closes the distance for a second, then thinks better of it and backs off."
],
"titfuck_pleasure_success": [
"Her tits squeeze around your cock, and she keeps them tight enough for the head to push out between them.",
"{name} looks down at your shaft sliding through her breasts, then tightens her hands around them.",
"Precum smears across her chest while she keeps her tits moving over your cock.",
"She leans closer, breathing over the tip each time it slips free from between her breasts.",
"Her nipples brush your shaft as she works you with her tits, keeping you trapped in the soft squeeze."
],
"touch_arm_failure": [
"She shifts her arm away from your hand.",
"{name} does not let the light touch settle.",
"Her body stiffens, and your hand has nowhere to stay.",
"She steps out of the touch before it can feel casual.",
"The small touch lands too soon, and she shuts it down."
],
"touch_arm_success": [
"{name} lets the touch stay for a second while she reads your intent.",
"She lets the touch stay for a second while she reads your intent.",
"She leans into the contact by a small, honest amount."
],
"touch_failure": [
"Her eyes warn you before your hand can settle.",
"She moves your hand away and steps back.",
"Her hand stops yours with a clear boundary.",
"{name} stiffens and does not lean back in.",
"She breaks the contact before it settles.",
"The contact ends fast, and the distance comes back.",
"She pulls back from the contact."
],
"touch_hand_failure": [
"She pulls her hand back before your fingers can settle.",
"{name} moves her hand out of reach.",
"Her fingers close away from yours.",
"She stops the touch before it becomes contact.",
"The attempt ends with her hand safely out of yours."
],
"touch_hand_success": [
"{name} looks down at the contact and decides whether to leave her hand there.",
"She looks down at the contact and decides whether to leave her hand there.",
"She leans into the contact by a small, honest amount."
],
"touch_success": [
"She stays close under your hand.",
"Her breath catches, but she stays close.",
"Her body softens around the small point of contact.",
"She lets the contact last."
],
"transition_failure": [
"She stops the transition with a tense shift of her hips.",
"{name} pulls back and makes the refusal clear.",
"She pulls back before it can go further.",
"Her body closes off, and the attempt ends.",
"Her body refuses the new position and forces you to stop adjusting."
],
"transition_success": [
"She adjusts with you, keeping contact while the position changes.",
"Her body follows the switch without losing the arousal already built.",
"She stays with the act and lets it continue.",
"She helps the change happen instead of making you force it."
],
"try_bottom_off_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"try_bottom_off_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"The undressing makes the air warmer between you."
],
"try_slip_inside_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"{name} moves your hand away before the touch can settle.",
"Her body closes against the escalation.",
"She interrupts the contact before it becomes familiar.",
"The boundary comes down fast and clean.",
"She shifts out of reach and keeps the line there."
],
"try_slip_inside_success": [
"She stays with you as your cock finds her slit and starts to enter.",
"{name} lets you push past the last hesitation and guide your cock toward her pussy.",
"Her thighs adjust around you as the contact turns from petting into penetration.",
"Her body opens enough for the attempt to become real penetration.",
"{name} holds herself still while you slip from teasing into sex."
],
"try_top_off_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"try_top_off_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"Her top slides up and she holds still while more skin shows."
],
"unhook_bra_failure": [
"Her hand catches the clothing before it can move farther.",
"{name} catches your hand before you can keep undressing her.",
"She holds the clothing in place and steps back.",
"{name} stops the undressing with a firm motion.",
"She keeps the layer in place and resets the boundary.",
"The refusal lands before the clothing changes.",
"She steps back from the attempt to expose more."
],
"unhook_bra_success": [
"She lets the fabric come away and watches your face.",
"{name} lets the clothing shift happen, watching how you handle the permission.",
"Her skin shows a little more, and she does not cover it.",
"Her breathing changes once more skin is exposed.",
"Her body reacts to the exposure before she puts words on it.",
"She allows the layer to change without giving away the whole moment.",
"Her bra loosens and her chest lifts with a sharper breath."
],
"wall_pleasure_failure": [
"{name} pushes your hips back before your cock can stay inside.",
"Her hand stops your hip before your cock can get inside.",
"Her thighs close and stop the penetration.",
"Her pussy tightens uncomfortably and she pushes back against your chest.",
"Her body locks up and she pulls away from your cock.",
"Her thighs press together, shutting the sex down.",
"She moves her pelvis away and breaks the line-up.",
"She turns her face away as the wall position misses the mood."
],
"wall_pleasure_success": [
"Her pussy clenches around your cock.",
"Her back stays against the wall while her wet pussy takes each hard thrust.",
"The wall keeps her in place as her pussy clenches around you.",
"She gasps against your mouth while you fuck her standing.",
"Her legs tighten around you while you hold her up.",
"Her palms press against the wall as you fuck her.",
"Her body bounces lightly between you and the wall.",
"She stays face to face with you, flushed and dripping.",
"She clings to you as the wall sex gets rougher."
],
"whisper_dirty_failure": [
"She leans away before the dirty words can feel private.",
"{name} does not let your lowered voice pull her closer.",
"Her expression hardens at the whisper.",
"She cuts off the dirty line before it can work on her.",
"The whisper lands wrong, and she moves out of it."
],
"whisper_dirty_success": [
"{name} stills at the whisper and listens.",
"She catches the dirty words and does not move away.",
"Her breath changes when she hears what you said.",
"She lets the whisper stay between you.",
"The dirty line reaches her before she can dismiss it."
],
"rub_ass_clothes_success": [
"Her ass tenses under your hand, then relaxes enough to let you keep going.",
"She shifts her hips once, making the touch feel more intentional.",
"Her breath changes when your fingers press into her ass.",
"She looks back at you, but does not move away.",
"Her body gives a small pause before accepting the hand on her ass."
],
"rub_ass_clothes_failure": [
"She steps forward before your hand can settle.",
"Her hand catches your wrist and pulls it away from her ass.",
"She turns her hips out of reach.",
"Her body goes stiff, and the touch stops there.",
"She moves away before the rub can become anything more."
],
"bring_hand_inside_pants_success": [
"Her eyes flick around the area before her fingers close around your cock.",
"She hesitates for one sharp second, then hides her hand deeper inside your pants.",
"Her hand goes still when someone moves nearby, then starts stroking you again.",
"Her fingers wrap around your cock, careful and tense because of where you are.",
"She keeps her face calm, but her hand tightens inside your pants."
],
"bring_hand_inside_pants_failure": [
"She yanks her hand back before it gets inside.",
"Her eyes widen, and she pulls away from your pants immediately.",
"She catches what you are trying to do and stops you cold.",
"Her hand slips free, and the public risk kills the attempt instantly.",
"She steps back, refusing to let her hand disappear under your clothes."
],
"cont_public_handjob_keep_success": [
"Her hand keeps moving inside your pants, hidden but steady.",
"She keeps stroking you, eyes alert for anyone looking too long.",
"Her fingers tighten around your cock whenever the risk spikes.",
"She slows when someone passes, then starts jerking you again.",
"Her face stays almost normal while her hand keeps working you."
],
"cont_public_handjob_keep_failure": [
"Her hand stops the second she thinks someone noticed.",
"She pulls out fast, leaving your cock hard and unfinished.",
"Her eyes snap toward a nearby couple, and she stops touching you.",
"She withdraws her hand before the risk gets worse.",
"Her fingers leave your pants, and the public game ends there."
],
"come_public_hand_success": [
"Her fingers stay closed around the mess for a second before she pulls back.",
"She hides her palm quickly, eyes scanning the space around you.",
"Her hand stays low and tense, wet with cum under the cover of your clothes.",
"She breathes through her nose, trying to keep her face normal while your cum warms her hand.",
"She pulls her hand free carefully, keeping the mess out of sight."
],
"come_public_hand_failure": [
"She pulls away before your cum can reach her hand.",
"Her hand leaves your pants, and the hidden game stops there.",
"She refuses to let you cum in her hand and puts space between her fingers and your cock."
],
"talk_anal_private_success": [
"She listens instead of shutting the subject down.",
"Her expression changes, but she does not avoid the question.",
"She takes a second before answering, weighing the idea seriously.",
"Her thighs shift slightly, more from tension than refusal.",
"She looks at you long enough to make the answer feel real."
],
"talk_anal_private_failure": [
"Her face closes before the subject gets any further.",
"She gives you a look that makes the boundary obvious.",
"Her posture stiffens, and the conversation stops there.",
"She does not let the question turn into negotiation.",
"She shuts it down before you can soften it."
],
"talk_anal_public_success": [
"Her eyes flick around once before she answers under her breath.",
"She keeps her voice low, but she does not walk away from the subject.",
"The public risk makes her tense, not silent.",
"She glances past you, then answers quietly.",
"Her expression stays controlled while she keeps the answer between you."
],
"talk_anal_public_failure": [
"Her eyes cut toward the people nearby, and the subject dies there.",
"She gives you a sharp look for bringing that up here.",
"She refuses to answer where someone could hear.",
"Her posture tightens, and she moves the conversation away from anal.",
"She shuts it down with a glance around the room."
],
"fingering_to_cunnilingus_success": [
"Her hips jump when your tongue replaces your fingers.",
"Her wet pussy opens under your mouth after your fingers leave her.",
"She tightens from the sudden switch from hand to tongue.",
"Her thighs frame your face while her cunt is still slick from your fingers.",
"Her breath breaks when your tongue finds the clit your hand left sensitive."
]
}
END_REACTION_BANK %//% SCENE_DESCRIPTIONS_NONSEX
{
"admire_outfit_success": [
"You let your eyes travel over her outfit and name the detail that caught your attention.",
"You compliment the outfit itself, not just the body under it.",
"You notice the cut, color, or fit and make the appreciation specific.",
"You give the outfit a clear look, then meet her eyes before it becomes too much."
],
"ask_about_schedule_success": [
"You ask when her week usually opens up.",
"You ask which days she usually works and listen for the answer.",
"You ask about her schedule with practical interest, looking for when she can actually be found.",
"You ask which parts of her week she usually keeps open and watch whether she volunteers anything useful.",
"You ask when she is usually around and wait for a real answer.",
"You ask which days are easiest for her.",
"You ask when you are most likely to find her.",
"You ask when she is usually free."
],
"ask_address_success": [
"You ask for her address, then leave the choice in her hands.",
"You ask for her address and wait for the answer.",
"You keep the question simple and let her write the address down.",
"You ask where she lives and keep the question casual.",
"You ask if she is comfortable telling you where to find her.",
"You ask where she lives and keep your tone casual enough for her to refuse.",
"You calmly ask where she lives carefully, aware that the question asks for more trust than ordinary small talk.",
"You ask where she lives, careful not to make it sound like a demand."
],
"ask_number_success": [
"You give her your phone and let her decide whether to type the number in.",
"You ask if she wants to trade numbers and leave your phone within reach.",
"You ask for her number and wait for her answer.",
"You offer your phone and let her decide whether to give you her number.",
"You ask for her number directly and wait for her answer.",
"You ask for her number directly.",
"You ask for a way to text her later."
],
"casual_heat_failure": [
"You try to continue, but {name} stops it before it goes farther.",
"You push a little farther, but she pulls back and ends it.",
"You ask about that, but {name} gives you a short answer and lets it end.",
"You make the move, and she shuts it down at once.",
"You try to continue, but {name} stops the attempt before it goes further.",
"{name} stares at you like you just changed the subject at the worst possible second. The mood drops hard."
],
"casual_heat_failure_hot": [
"You try to continue, but {name} stops it before it goes farther.",
"You start, but she cuts it short.",
"You make the attempt, and {name} refuses it clearly.",
"You make the move, and she shuts it down at once.",
"{name} pulls away at once. Talking about that now feels absurd, and the arousal between you collapses into irritation."
],
"casual_heat_success": [
"You let the charged silence hang for a second, and {name} stays close instead of stepping out of it.",
"You make the approach directly, and {name} gives you a clear yes.",
"You do it without dressing it up, and {name} lets it continue.",
"You test the warmer tone, and {name} answers with enough attention to keep it alive."
],
"casual_heat_success_hot": [
"You let the talk turn suggestive and watch whether she moves closer or shuts it down.",
"You let the flirtation sharpen, and {name} stays close enough to make it clear she noticed.",
"You push the tone warmer, watching her reaction before you let it go further.",
"You make the charged part of the conversation obvious, and she keeps listening.",
"You hold the line between talk and temptation until she chooses not to break it."
],
"compliment_style_success": [
"You compliment her style by pointing to a detail that actually fits her.",
"You point out one detail of her outfit that actually suits her.",
"You let your attention stay on the way she presents herself, not only on her body.",
"You give the compliment with enough detail that it sounds chosen, not automatic.",
"You make it clear you noticed the look she put together."
],
"control_refusal": [
"You try to continue, but {name} stops it before it goes farther.",
"You start, but she cuts it short.",
"You make the attempt, and {name} refuses it clearly.",
"You try again, and she keeps you from continuing.",
"You try to continue, but {name} stops the attempt before it goes further."
],
"control_success": [
"You give her a clear instruction and wait for her to follow it.",
"You tell her exactly what you want from her.",
"You give the order plainly, and {name} follows it.",
"You make the instruction short and let the pause after it do the pressure.",
"You take charge, and {name} lets you steer what happens next.",
"You give her a direct instruction and wait to see if she follows it."
],
"deep_kiss_success": [
"You kiss her deeper, letting your tongue meet hers when her mouth opens.",
"You deepen the kiss and let your tongue tease hers.",
"You deepen the kiss, holding her close while your mouth asks for more than a simple touch.",
"Your mouth stays on hers until the kiss stops feeling polite.",
"You hold the kiss long enough for both of you to breathe harder.",
"The kiss turns slower and wetter as you keep her close."
],
"default_fail": [
"You make the move, and she shuts it down at once.",
"{name} gives a short answer and leaves you with little to build on.",
"The timing is off. {name} notices the effort, but her reaction stays guarded.",
"She gives you only short answers, and the opening dies there.",
"{name} does not warm to it, and the conversation loses traction."
],
"default_failure": [
"You try to continue, but {name} stops it before it goes farther.",
"You push a little farther, but she pulls back and ends it.",
"You make the move, and she shuts it down at once.",
"You try to continue, but {name} stops the attempt before it goes further.",
"{name} gives a short answer and lets the subject drop.",
"{name} closes the interaction down before it gets warmer."
],
"default_success": [
"You keep the move simple, and {name} stays with you.",
"{name} gives the conversation a little more attention.",
"{name} stays engaged, and her answer gives you something concrete to build on.",
"{name} gives you a small but real sign that you can keep going."
],
"dirty_praise_success": [
"You lower your voice and praise her body in words meant for her alone.",
"You let the compliment turn dirty, watching whether she likes the heat in it.",
"You praise her in a low voice, making the attention physical without touching her yet.",
"You say exactly what you like about her and let the silence after it do the rest."
],
"flirt_bold_success": [
"You stop hiding the attraction and let her hear it plainly.",
"You let the flirting get bolder and watch whether she comes with you.",
"You flirt more openly, making the interest clear, not hiding it behind politeness."
],
"flirt_soft_success": [
"You flirt lightly, warm enough to invite an answer without cornering her.",
"You let the conversation turn playful and leave room for her to step into it.",
"You give her a small opening, watching whether she smiles or pulls back.",
"You keep the flirtation soft, close, and easy for her to answer."
],
"flirt_success": [
"You let the conversation turn openly playful and watch whether she follows the heat in it.",
"You flirt with a clearer edge, making your interest visible without grabbing for more.",
"You hold her attention with a warmer tone and let the pause between you lengthen.",
"You let the smile linger a little too long and wait to see if she follows it."
],
"gaze_ass_success": [
"You look at her ass, then meet her eyes again.",
"Your eyes drop to her ass before you look back at her face.",
"You let yourself look at her ass for a second too long.",
"You glance down her body and stop at her ass.",
"You admire her ass openly enough for her to notice.",
"Your eyes settle on her ass with clear interest before you bring your attention back up."
],
"gaze_chest_success": [
"You look at her breasts, then back to her face before it turns crude.",
"You admire her chest openly, but keep your hands still.",
"Your eyes drop to her chest, obvious enough that the attention becomes part of the conversation.",
"Your eyes drop to her chest and linger just long enough to be noticed.",
"Your gaze stays on her chest for a second, then returns to her eyes.",
"You let yourself glance at her chest and do not pretend you did not."
],
"gaze_legs_success": [
"You look her over from her thighs back to her face.",
"Your eyes trace her legs before you look back up.",
"You let your gaze linger on her legs for a second.",
"You notice the line of her legs and make no attempt to hide it.",
"You admire her legs with a quiet, obvious look.",
"Your eyes trace the line of her legs, and she lets the look stay there."
],
"gentle_command_success": [
"You give her a clear instruction and wait for her to follow it.",
"You give {name} a calm instruction, firm enough to lead without turning it into a threat.",
"You give the instruction in a low, steady voice and leave no need to repeat it.",
"You give {name} a calm instruction, firm enough to lead without ever turning it into a threat."
],
"guide_position_success": [
"You guide {name} into position with a firm hand and a clear instruction, shaping her posture without rushing her.",
"You guide {name} into position with one hand and give her time to settle.",
"You guide her posture with one hand and a quiet instruction, giving her time to follow.",
"You guide {name} into position with a firm hand and a clear instruction, shaping her posture without ever rushing her."
],
"hold_eye_contact_command_success": [
"You tell {name} to keep her eyes on yours and hold the stare until she obeys.",
"You tell {name} to keep her eyes on you, holding the silence until she answers it.",
"You give her a clear instruction and wait for her to follow it.",
"You tell her to keep looking at you until the silence starts to work."
],
"hug_her_success": [
"You move in for a hug and keep your arms loose enough for her to settle into it.",
"You bring her close for a short hug, warm and careful.",
"You hold her for a few seconds, then let her go before it gets awkward.",
"You wrap your arms around her and keep the hug simple.",
"You hug her without squeezing too hard, giving her time to relax.",
"You draw her into a hug and keep it steady, giving her room to accept the closeness or break it."
],
"inquire_jobs_success": [
"You ask where someone can pick up a job nearby.",
"You ask about paid work in the area.",
"You ask if she knows any work worth taking.",
"You ask where the city has openings right now.",
"You ask what kind of work people actually find around here.",
"You ask about available work in the area, keeping the question practical, not desperate.",
"You ask which places are hiring."
],
"inquire_training_success": [
"You ask about training options in the area.",
"You ask where people train around here.",
"You ask which places are useful for learning new skills.",
"You ask if she knows somewhere worth practicing.",
"You ask where someone goes to improve.",
"You ask about training opportunities with enough focus to make the question sound serious."
],
"introduce_dominant_success": [
"You lead with your name and hold the pause afterward, giving her room to answer the confidence in your voice.",
"You approach with a steady voice and a sharper edge, confident enough that the greeting does not feel casual.",
"You introduce yourself with calm authority, making the confidence obvious without turning it into a threat.",
"You give your name and make it clear you expect hers.",
"You introduce yourself with a firm voice and hold her gaze while she answers."
],
"introduce_success": [
"You introduce yourself plainly, keeping your voice steady enough that the first exchange feels intentional.",
"You introduce yourself and ask her name."
],
"invite_coffee_success": [
"You bring up coffee like something specific you want to share with her.",
"You ask {name} to get coffee with you and wait for her answer.",
"You offer coffee without crowding her for an immediate reaction.",
"You turn the conversation toward coffee and wait to see if she wants the same thing."
],
"invite_gallery_success": [
"You invite {name} to walk through a gallery with you and talk about whatever catches her eye.",
"You mention a gallery nearby and ask if she would like to see it with you.",
"You ask {name} to visit a gallery with you.",
"You ask her to come to a gallery with you, leaving the answer open.",
"You turn the conversation toward gallery and wait to see if she wants the same thing."
],
"invite_meal_success": [
"You suggest a meal at your place, with you handling the kitchen.",
"You ask {name} to come by your place for a meal you will prepare.",
"You invite {name} over and offer to cook dinner yourself.",
"You offer {name} dinner at your place and tell her you will cook.",
"You tell {name} you have ingredients ready and want to cook for her.",
"You invite {name} to sit down for dinner at your place.",
"You offer to cook something simple and spend a couple of hours together.",
"You ask {name} to come over for dinner and a quiet evening."
],
"invite_private_movie_failure": [
"You try to bring up a movie, but {name} gives you a short answer and lets it end.",
"You ask about a movie, but {name} gives you a short answer and lets it end.",
"{name} hears the private part more than the movie part and turns it down.",
"You make the attempt, but {name} keeps the conversation brief.",
"The invitation feels too transparent, and she does not follow it."
],
"invite_private_movie_success": [
"You invite {name} over for a private movie, letting the excuse and the privacy sit side by side.",
"You suggest watching a movie somewhere private and let the implication sit there.",
"You invite {name} over to watch a movie alone with you.",
"You offer private movie without crowding her for an immediate reaction.",
"You turn the conversation toward private movie and wait to see if she wants the same thing."
],
"invite_room_success": [
"You invite {name} to your place, keeping the offer clear enough that she understands the privacy behind it.",
"You bring up your place like something specific you want to share with her.",
"You invite {name} back to your place and wait for her answer.",
"You offer your place without crowding her for an immediate reaction.",
"You turn the conversation toward your place and wait to see if she wants the same thing."
],
"invite_workout_success": [
"You suggest training together and make it sound like an actual workout, not a pretext.",
"You ask {name} to train with you and suggest doing the workout together.",
"You offer training together without crowding her for an immediate reaction.",
"You turn the conversation toward training together and wait to see if she wants the same thing."
],
"kiss_cheek_success": [
"You lean in and kiss her cheek, brief enough to stay gentle but close enough for her to feel it.",
"Your lips touch her cheek for a second before you pull back and watch her reaction.",
"You kiss her cheek softly, leaving the next move in her hands.",
"You step close and kiss her cheek, leaving it at that."
],
"kiss_lips_success": [
"You lean in and kiss her on the lips, starting soft.",
"You lean in and kiss her lips when she stays close enough to meet you.",
"You move from closeness into a kiss on her lips, waiting for her mouth to answer, not forcing it.",
"Your mouth meets hers for a careful kiss that lasts a few seconds.",
"You kiss her slowly enough for her to kiss back.",
"You keep the first touch of your lips gentle, then let it warm up.",
"You kiss her without rushing for more."
],
"look_eyes_success": [
"You hold her eyes for a few seconds without looking away first.",
"You look at her directly, letting the silence do part of the work.",
"You hold her eyes for a quiet second, long enough for the silence to matter.",
"You meet her gaze and keep your face still.",
"You keep eye contact long enough for her to notice.",
"You watch her face instead of looking away."
],
"make_her_hold_still_success": [
"You tell {name} to hold still, making your control clear through your voice before your hands do anything more.",
"You tell {name} to stay still, watching whether the command makes her freeze or lean in.",
"You tell {name} to hold still, making your control unmistakable through your voice before your hands do anything more.",
"You give her a clear instruction and wait for her to follow it."
],
"massage_back_success": [
"You keep the massage steady, focusing on the place you chose.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You work down her back with steady hands, pressing into each tight place until her breathing changes.",
"You work down her back with steady palms, pressing into each tight place until her breathing changes."
],
"massage_legs_success": [
"You keep the massage steady, focusing on the place you chose.",
"Your hands start at her calves and work upward, keeping the pressure useful and clean.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work.",
"Your hands work along her legs with steady pressure, keeping the touch useful before it turns intimate.",
"Your steady hands work along her legs with steady pressure, keeping the touch useful before it turns intimate.",
"Your palms work along her legs with steady pressure, keeping the touch useful before it turns intimate."
],
"massage_neck_success": [
"You keep the massage steady, focusing on the place you chose.",
"You massage her without turning it into anything else yet.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work.",
"Your fingers move slowly along her neck, avoiding the spots that make her tense.",
"Your fingers work along her neck until her shoulders start to loosen.",
"Your fingers move along her neck, easing around the sensitive spots."
],
"massage_shoulders_success": [
"You keep the massage steady, focusing on the place you chose.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"Your thumbs work into her shoulders, pressing out the tension without letting the massage turn hungry.",
"Your steady thumbs work into her shoulders, pressing out the tension without letting the massage turn hungry."
],
"massage_start_success": [
"You offer a massage and start with her shoulders, keeping the first touch nonsexual.",
"You keep the massage steady, focusing on the place you chose.",
"You begin with her shoulders, letting the first pressure feel safe before anything else.",
"You offer a massage and begin with careful, nonsexual pressure, letting her decide whether your palms are welcome.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"player_undress": [
"You take your clothes off while {name} watches.",
"You remove your own clothes first, exposing yourself without forcing her to follow.",
"You strip down slowly enough for her reaction to catch up."
],
"refusal_admire_outfit": [
"You openly admire her outfit, but {name} notices the look and shuts it down.",
"You let your eyes linger on her outfit, and {name} makes it clear that is enough.",
"You try to make the outfit compliment more visual, but {name} does not welcome it.",
"You look over her outfit with obvious appreciation, and {name} cuts the moment short.",
"You try to admire the way she looks, but {name} does not let it become comfortable."
],
"refusal_ask_about_schedule": [
"You try to bring up her schedule, but {name} gives you a short answer and lets it end.",
"You ask about her schedule, but {name} keeps the answer too vague to use.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_ask_address": [
"You try to continue, but {name} stops it before it goes farther.",
"You ask where she lives, and {name} closes the subject before it becomes personal.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_ask_number": [
"You try to continue, but {name} stops it before it goes farther.",
"You make the offer, but {name} refuses before it can turn into a plan.",
"You ask, but the answer stays clearly no.",
"You ask for her number, but {name} keeps that distance in place.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_compliment_style": [
"You compliment her style, but {name} keeps the answer short.",
"You mention her outfit, but she does not invite more conversation.",
"You try to make the compliment work, but {name} lets it pass.",
"You say something about her look, and {name} gives you almost nothing back.",
"You compliment the outfit, but she keeps the moment closed."
],
"refusal_deep_kiss": [
"You lean in to deepen the kiss, but {name} turns her mouth away.",
"You try to push the kiss further, and {name} stops it with a hand against you.",
"Your mouth asks for more, but {name} breaks the closeness first.",
"You try to make the kiss hungrier, and {name} cuts it short.",
"The kiss reaches for more than she wants to give, and she pulls back."
],
"refusal_dirty_praise": [
"You turn the praise dirty, but {name} does not accept it.",
"You try to make the compliment more controlling, and she shuts it down.",
"The dirty praise comes too early, and {name} refuses it.",
"You praise her like she already belongs to you, and she rejects it.",
"{name} hears the dirty praise and keeps herself out of your control."
],
"refusal_flirt_bold": [
"You try a bolder flirt, and {name} stops it immediately.",
"You make the line more direct, but she does not let it continue.",
"You push the flirt harder, and {name} cuts it short.",
"You try to make the conversation hotter, but she refuses the turn.",
"The bold line comes too early, and {name} shuts it down."
],
"refusal_flirt_soft": [
"You try a light flirt, but {name} does not smile back.",
"You keep the flirt small, and {name} lets it drop.",
"You try to make the conversation warmer, but she keeps it plain.",
"You offer a soft flirt, and {name} shuts it down early.",
"You test a playful line, but she does not take it."
],
"refusal_gaze_ass": [
"Your eyes move to her ass, and {name} catches the stare.",
"You let the look linger behind her, and she cuts it short.",
"You stare too openly at her ass, and {name} refuses to play along.",
"You try to take in the view, but she notices immediately.",
"Your attention drops behind her, and {name} makes the refusal clear."
],
"refusal_gaze_chest": [
"Your eyes drop to her chest, and {name} catches it.",
"You look at her chest too long, and she pulls your attention back up.",
"You let the glance linger on her chest, but {name} does not let it pass.",
"You stare too openly, and she stops the moment there.",
"Your attention settles too low, and {name} shuts it down."
],
"refusal_gaze_legs": [
"Your eyes drift to her legs, and {name} notices.",
"You let the glance linger on her legs, but she does not welcome it.",
"You look too openly at her legs, and {name} cuts the moment short.",
"You hold the look too long, and she makes it clear you are being obvious.",
"Your attention settles on her legs, and {name} pulls the conversation away from it."
],
"refusal_gentle_command": [
"You give her a simple instruction, but {name} does not follow it.",
"You try to lead her with a command, and she refuses.",
"You tell her what to do, but {name} keeps control of herself.",
"{name} hears the order and leaves it unanswered.",
"The command fails, and she does not move for it."
],
"refusal_guide_position": [
"You try to guide her position, but {name} refuses to move for you.",
"You tell her where to go, and she does not follow the instruction.",
"You reach for control of her posture, but she stops you there.",
"{name} hears the command and keeps her position her own.",
"The order fails before she lets you place her."
],
"refusal_hold_eye_contact_command": [
"You tell her to keep eye contact, but {name} looks away.",
"You order her to watch you, and she refuses the stare.",
"You try to hold her with the command, but she breaks eye contact.",
"{name} hears the order and looks away anyway.",
"The command fails, and her eyes leave yours."
],
"refusal_hug_her": [
"You move in for a hug, but {name} steps back.",
"You try to pull her into a hug, and she keeps the distance between you.",
"You open your arms, but {name} does not step into them.",
"You lean closer for a hug, and she turns the closeness away.",
"You try to make the moment warmer, but {name} refuses the hug."
],
"refusal_inquire_jobs": [
"You try to bring up work, but {name} gives you a short answer and lets it end.",
"You make the attempt, but {name} keeps the conversation brief.",
"You ask about work, but {name} gives you a short answer and lets it end.",
"You push a little, and {name} shuts it down before it becomes personal.",
"You ask about work nearby, but {name} gives you nothing useful."
],
"refusal_inquire_training": [
"You try to bring up training, but {name} gives you a short answer and lets it end.",
"You ask about training, but {name} gives you a short answer and lets it end.",
"You make the attempt, but {name} keeps the conversation brief.",
"You push a little, and {name} shuts it down before it becomes personal.",
"You ask about places to train, but {name} gives you nothing beyond a clipped answer."
],
"refusal_introduce": [
"You start the introduction, but her expression closes before the second sentence.",
"You ask about that, but {name} gives you a short answer and lets it end.",
"{name} hears the greeting and gives it no place to go.",
"You start the introduction, but {name} does not give you room to continue.",
"{name} turns the greeting aside without letting it become familiar."
],
"refusal_introduce_dominant": [
"You make the attempt, but {name} keeps the conversation brief.",
"You try to continue, but {name} does not give you anything more to work with.",
"You ask about that, but {name} gives you a short answer and lets it end.",
"You push a little, and {name} shuts it down before it becomes personal.",
"{name} hears the control in your voice and shuts it down immediately.",
"You open with too much force, and {name} refuses the tone before the introduction can settle.",
"You try to set the tone, but {name} gives you no obedience to build on.",
"You introduce yourself too forcefully, and {name} steps back."
],
"refusal_invite_coffee": [
"You try to bring up coffee, but {name} gives you a short answer and lets it end.",
"You make the offer, but {name} refuses before it can turn into a plan.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_invite_gallery": [
"You try to bring up art, but {name} gives you a short answer and lets it end.",
"You make the offer, but {name} refuses before it can turn into a plan.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_invite_meal": [
"You ask about food, but {name} gives you a short answer and lets it end.",
"{name} turns down the meal invitation before it becomes a plan.",
"{name} refuses the meal with a small shake of her head and keeps the evening closed.",
"{name} does not accept the dinner invite, leaving no time or promise attached to it.",
"{name} lets the offer sit for a moment, then declines before you can build on it.",
"{name} stops the dinner idea at the invitation, not the details."
],
"refusal_invite_private_movie": [
"You try to bring up a movie, but {name} gives you a short answer and lets it end.",
"You make the offer, but {name} refuses before it can turn into a plan.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_invite_room": [
"You try to bring up some privacy, but {name} gives you a short answer and lets it end.",
"You make the offer, but {name} refuses before it can turn into a plan.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_invite_workout": [
"You try to bring up working out, but {name} gives you a short answer and lets it end.",
"You make the offer, but {name} refuses before it can turn into a plan.",
"You ask, but the answer stays clearly no.",
"{name} hears the invitation and keeps the distance where it is.",
"The offer does not get past her caution.",
"{name} shuts the invitation down without leaving it half-open."
],
"refusal_kiss_cheek": [
"You try the touch, and {name} moves your hand away.",
"You lean in, but she stops you before it goes farther.",
"You start the contact, and {name} ends it with a firm look.",
"You lean toward her cheek for a kiss, but {name} turns away before it lands.",
"You reach for her, but {name} pulls back before the contact can settle."
],
"refusal_kiss_lips": [
"You lean toward her lips, but {name} turns away before the kiss can land.",
"You try the touch, and {name} moves your hand away.",
"You lean in, but she stops you before it goes farther.",
"You start the contact, and {name} ends it with a firm look.",
"You reach for her, but {name} pulls back before the contact can settle."
],
"refusal_look_eyes": [
"You try to hold her gaze, but {name} looks away first.",
"You keep your eyes on hers, and she refuses to stay in the stare.",
"You hold the eye contact too long, and {name} cuts it short.",
"You try to make the look matter, but she does not follow it.",
"The stare gets too heavy, and {name} steps out of it."
],
"refusal_make_her_hold_still": [
"You tell her to hold still, but {name} moves away from the command.",
"You try to keep her still, and she refuses to follow it.",
"You give the order, but she does not let you direct her body.",
"{name} hears the instruction and keeps herself out of your control.",
"The command fails before she gives you obedience."
],
"refusal_massage_back": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_legs": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move along her legs, and she pulls them back before you can continue."
],
"refusal_massage_neck": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} moves your hands away from her neck before the massage starts there.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_shoulders": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} moves away before your hands can settle on her shoulders.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_start": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"You offer the massage and move your hands closer, but {name} refuses before you start.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_private": [
"You try to continue, but {name} stops it before it goes farther.",
"You start, but she cuts it short.",
"You make the attempt, and {name} refuses it clearly.",
"You try again, and she keeps you from continuing.",
"You ask, but {name} refuses before the plan can go anywhere."
],
"refusal_public": [
"You try to continue, but {name} stops it before it goes farther.",
"You start, but she cuts it short.",
"You make the attempt, and {name} refuses it clearly.",
"You try again, and she keeps you from continuing.",
"You try to continue, but {name} stops the attempt before it goes further."
],
"refusal_remove_your_clothes": [
"You take off another layer, and {name}'s expression hardens the moment she sees you do it.",
"You strip down further in front of her, and {name} clearly does not like where you took it.",
"You keep undressing, and {name} gets visibly annoyed that you pushed it that far.",
"You remove another piece of clothing, and {name} makes it obvious she is not happy about it.",
"You undress further in front of her, and {name} clearly hates that you pushed it there."
],
"refusal_soft": [
"You try to continue, but {name} stops it before it goes farther.",
"You push a little farther, but she pulls back and ends it.",
"You start, but she cuts it short.",
"You make the attempt, and {name} refuses it clearly.",
"You try to continue, but {name} stops the attempt before it goes further.",
"You make the move, and she shuts it down at once."
],
"refusal_talk_art": [
"You try to bring up art, but {name} gives you a short answer and lets it end.",
"You ask about art, but {name} gives you a short answer and lets it end.",
"You bring up the texture and shape of the art, but {name} doesn't follow the thread.",
"You make the attempt, but {name} keeps the conversation brief.",
"You push a little, and {name} shuts it down before it becomes personal."
],
"refusal_talk_computers": [
"You try to bring up computers, but {name} gives you a short answer and lets it end.",
"You ask about computers, but {name} gives you a short answer and lets it end.",
"You make the attempt, but {name} keeps the conversation brief.",
"You push a little, and {name} shuts it down before it becomes personal."
],
"refusal_talk_cooking": [
"You try to bring up cooking, but {name} gives you a short answer and lets it end.",
"You ask about cooking, but {name} gives you a short answer and lets it end.",
"You make the attempt, but {name} keeps the conversation brief.",
"You push a little, and {name} shuts it down before it becomes personal."
],
"refusal_talk_finance": [
"You try to bring up money, but {name} gives you a short answer and lets it end.",
"You make the attempt, but {name} keeps the conversation brief.",
"You ask about money, but {name} gives you a short answer and lets it end.",
"You push a little, and {name} shuts it down before it becomes personal.",
"You bring up money and risk, but {name} refuses to turn it into a real conversation."
],
"refusal_talk_massage": [
"You move your hands into the massage, but {name} stops you before it continues.",
"You start the massage there, but she pulls back.",
"You bring up massage, but {name} shuts down the subject before it can become suggestive.",
"You try to work that spot, and {name} guides your hand away.",
"You press in with your hands, and {name} makes you stop."
],
"refusal_talk_music": [
"You try to bring up music, but {name} gives you a short answer and lets it end.",
"You ask about music, but {name} gives you a short answer and lets it end.",
"You bring up music, but {name} leaves the topic hanging with a short answer.",
"You make the attempt, but {name} keeps the conversation brief.",
"You try to continue, but {name} does not give you anything more to work with."
],
"refusal_talk_photography": [
"You try to bring up photography, but {name} gives you a short answer and lets it end.",
"You ask about photography, but {name} gives you a short answer and lets it end.",
"You make the attempt, but {name} keeps the conversation brief.",
"You push a little, and {name} shuts it down before it becomes personal.",
"You ask about photography, but {name} does not give the conversation a frame to build on."
],
"refusal_talk_sports": [
"You try to bring up sports, but {name} gives you a short answer and lets it end.",
"You ask about sports, but {name} gives you a short answer and lets it end.",
"You bring up training and sports, but {name} keeps the answer flat.",
"You make the attempt, but {name} keeps the conversation brief.",
"You push a little, and {name} shuts it down before it becomes personal."
],
"refusal_tease_words": [
"You try a suggestive line, but {name} gives it no room.",
"You let the implication hang, and she cuts it down.",
"You tease her with something suggestive, but she does not take the bait.",
"You try to make the conversation dirtier, and {name} keeps it clean.",
"You push the tease too early, and she shuts it down."
],
"refusal_touch_arm": [
"You reach for her arm, but {name} shifts away.",
"You try a light touch on her arm, and she moves out of it.",
"Your hand finds her arm for a second, then {name} shuts the contact down.",
"You test a simple touch, but she does not let it become casual.",
"You touch her arm lightly, and {name} steps out of reach."
],
"refusal_touch_hand": [
"You reach for her hand, but {name} slips it away.",
"You try to take her hand, and she moves it out of reach.",
"Your fingers move toward hers, but {name} pulls back first.",
"You try a small touch at her hand, and she refuses the contact.",
"You reach for her hand, but the touch never settles."
],
"refusal_whisper_dirty": [
"You lean close to whisper something dirty, but {name} moves away.",
"You lower your voice, and she refuses the dirty turn immediately.",
"You try to make the words private, but she does not let you stay that close.",
"You whisper the dirty line, and {name} cuts the moment short.",
"You lean in with dirty words, but she steps out of the closeness."
],
"schedule_success": [
"You ask what part of her week is usually free.",
"You keep the schedule question practical.",
"You ask which days are easiest for her.",
"You ask when you are most likely to find her.",
"You ask about the subject, and {name} replies without cutting the conversation short.",
"You ask when she is usually free.",
"{name} gives you a real opening in her schedule.",
"{name} thinks it over, then tells you where she is usually supposed to be at that time."
],
"small_talk_success": [
"You start with ordinary small talk and let her decide how much to give back.",
"You give her an easy subject and let the answer stay light.",
"You keep the conversation grounded in something she actually cares about. {name} relaxes and gives you more than a polite answer.",
"You ask about the subject, and {name} replies without cutting the conversation short.",
"The topic gives {name} an easy path into the conversation, and her answer feels less guarded than before.",
"{name} follows the topic long enough for the conversation to feel like it has a real center."
],
"talk_art_success": [
"You ask what kind of art actually holds her attention.",
"You bring up color, shape, and the feeling a piece leaves behind.",
"You compare two styles and let her choose which one makes more sense to her.",
"You mention a piece with strange colors and ask what she would see in it."
],
"talk_computers_success": [
"You ask about computers and keep the question practical.",
"You talk through a small technical problem and let her correct the details.",
"You bring up a practical tech problem and let the conversation stay grounded."
],
"talk_cooking_success": [
"You turn the conversation toward food, cooking habits, and the kind of meal that says more than small talk.",
"You ask what she cooks when nobody else is watching.",
"You bring up ingredients, timing, and the difference between eating and actually making a meal.",
"You talk about food in a way that makes the topic feel personal without forcing it.",
"You ask about the kind of meal she would make again without needing a reason."
],
"talk_finance_success": [
"You bring up easy money, bad risks, and what she would actually chase.",
"You ask whether money makes her cautious, hungry, or reckless.",
"You bring up work, spending, and the difference between confidence and waste.",
"You keep the money talk practical enough that it does not sound like bragging.",
"You ask how she thinks about security, risk, and getting ahead."
],
"talk_massage_success": [
"You talk about where tension hides and how easy it is to miss the spots that matter.",
"You massage her without turning it into anything else yet.",
"You talk about massage as pressure, patience, and knowing where tension hides.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"talk_music_success": [
"You stay on music long enough for the talk to feel natural.",
"You ask about music and let her name what she actually listens to.",
"You talk about rhythm, sound, and the parts of a song that stay in the body after it ends.",
"You bring up a song without pretending to know more than you do."
],
"talk_photography_success": [
"You talk about light, timing, and the difference between a pose and a real expression.",
"You ask what kind of photo makes her stop and look twice.",
"You bring up angles and lighting without turning it into a lecture.",
"You talk about the difference between catching a pose and catching a mood.",
"You let the photography talk stay visual, specific, and easy to picture."
],
"talk_sports_success": [
"You talk about training, movement, and the kind of discipline that shows in a body over time.",
"You ask what kind of sport feels natural to her and what only looks easy.",
"You bring up stamina, practice, and the work behind a clean movement.",
"You keep the sports talk about effort rather than empty competition.",
"You ask whether she prefers control, speed, strength, or endurance."
],
"tease_words_success": [
"You tease her with a low, suggestive line and watch how her face changes.",
"You let the words carry the dirty part before your hands do anything.",
"You say something meant to get under her skin and wait for the reaction.",
"You keep the tease verbal, close, and sharp enough to make her notice."
],
"touch_arm_success": [
"You touch her arm lightly and keep your hand still.",
"You brush her arm in passing, then leave the contact there when she does not pull away.",
"You let your hand settle on her arm with a gentle touch.",
"Your fingers rest against her arm for a few seconds.",
"You keep the touch brief, but not accidental.",
"Your fingers brush her arm lightly, close enough to be noticed and brief enough not to trap her."
],
"touch_hand_success": [
"You brush your fingers over her hand and wait for her to leave it there.",
"You let your hand meet hers and keep the contact small.",
"You take her hand lightly, not squeezing until she accepts it.",
"You keep the hand contact simple and warm.",
"Your hand finds hers, letting the contact start small before it asks for anything more.",
"Your fingers stay around hers for a few seconds."
],
"whisper_dirty_success": [
"You lean close and lower your voice, making the dirty words private enough to feel physical.",
"You whisper the line near her ear and let the silence after it do part of the work.",
"You keep your voice low, turning the words into something meant only for her.",
"You lean close and whisper something dirty where only she can hear it.",
"You say it softly enough that she has to stay near you to hear the rest."
]
}
END_SCENE_DESCRIPTIONS_NONSEX %//% SCENE_BANK
{
"default_success": [
"{name} follows the moment without making it feel automatic. Her reaction gives you a clearer read on what might work next.",
"{name} lets the action land, not with blind agreement, but with enough interest to keep the scene moving."
],
"default_fail": [
"{name} pulls the rhythm back before it turns awkward. It is not a disaster, but the pressure clearly needs correcting.",
"{name} refuses the timing more than the idea itself, making the boundary clear without making the whole encounter collapse."
],
"introduce_success": [
"You introduce yourself clearly. {name} gives you her name back and asks what brought you over.",
"The greeting lands cleanly, and {name} answers with enough interest for the conversation to start.",
"{name} accepts the introduction with a short reply, still guarded but no longer ignoring you."
],
"small_talk_success": [
"You keep the conversation grounded in something she actually cares about. {name} relaxes and gives you more than a polite answer."
],
"flirt_success": [
"{name} catches the meaning in your voice and does not shut it down. The tension warms because you let her answer it at her pace."
],
"invite_room_success": [
"{name} hesitates, weighs the privacy against what she knows about you, then agrees. The public noise drops away once you are alone."
],
"ask_number_success": [
"{name} gives you her number, warning you not to make her regret it."
],
"undress": [
"{name} lets the last pieces of clothing shift aside slowly, making the moment feel exposed instead of automatic. Her eyes stay on you while she decides to keep going.",
"{name} strips with a tense little breath, then stands close enough that the lack of clothing becomes part of the pressure between you."
],
"breasts": [
"You palm {name}'s breasts and squeeze firmly enough to make her breath catch.",
"You press your lips to {name}'s nipple, then drag your tongue over it until her chest lifts into your mouth.",
"Your hands cup her tits and test the weight of them, thumbs finding her nipples through the growing heat.",
"You work her breasts with your mouth and hands, teasing each nipple until she stops hiding the reaction."
],
"touch": [
"Your hand moves over {name} with careful pressure. She tenses at first, then starts reacting in smaller, harder to hide ways.",
"You keep the touch slow enough for her to accept it, but direct enough that she knows exactly what you want."
],
"clit": [
"You press your thumb to {name}'s clit and roll it in careful circles until her thighs start to part.",
"You rub {name}'s clit with two fingertips, slow at first, then firmer as her wetness gives you clearer feedback.",
"Your fingers work her clit in tight circles, keeping the pressure steady when her thighs start to tremble.",
"You tease her clit until her wet slit starts twitching under your hand.",
"Your thumb pins her swollen clit in a steady rhythm while your other fingers spread her folds."
],
"finger_pussy": [
"You slide your fingers into {name}'s wet cunt and curl them until her hips start chasing your hand.",
"Your fingers push into her soaked pussy, slow at first, then deeper when her inner walls tighten around you.",
"You work your hand between her thighs, finding the wet heat of her slit before pressing inside with a steady curl.",
"Your thumb keeps pressure near her clit while your fingers pump inside her cunt, building the rhythm instead of rushing it.",
"{name}'s pussy slicks your fingers as you keep moving, each curl making her tighten harder around your hand.",
"Your fingers slide inside {name}'s soaked cunt and settle into a wet, deliberate rhythm.",
"You finger her with a steady pace, feeling her slit pull slickly around each movement.",
"Your hand fucks her pussy in short, controlled strokes until her breathing starts breaking around the pressure."
],
"oral_receive": [
"Your mouth settles between {name}'s thighs, licking her pussy with wet, deliberate strokes until her hips start answering.",
"You drag your tongue through her slit and up to her clit, learning the pressure that makes her breath break.",
"The oral starts slow, your lips and tongue teasing her cunt open before focusing where she needs it most.",
"You lick her clit until her thighs tighten around your head and her wet pussy starts guiding the rhythm for you.",
"Your tongue works over her slit, tasting the wetness building there before returning to the spot that makes her tremble.",
"You stay between her legs and use your mouth on her pussy until her breathing turns sharp and needy.",
"The wet heat of her cunt spreads over your lips while you lick her with a steadier, hungrier rhythm.",
"Your tongue presses against her clit, then drags lower through her slit, making her hips lift toward your mouth."
],
"facesitting": [
"{name} lowers her pussy over your mouth, thighs tightening around your head as your tongue finds her clit.",
"She settles above you and lets you lick her from underneath, her wet slit pressing closer with every breath.",
"Her body hovers over your mouth for a second before she gives in and grinds her cunt against your tongue.",
"{name} sits on your face carefully at first, then lets her hips follow the rhythm when your mouth starts working.",
"Her pussy covers your mouth and she has to steady herself as your tongue starts licking her from below."
],
"sixty_nine": [
"{name} accepts the shift into 69, lowering herself into position until your mouth is between her thighs and hers is around your cock.",
"You guide {name} into 69 and she follows, flushed and eager, her thighs framing your face while her mouth settles around you.",
"The position locks in with her pussy over your mouth and your cock against her lips, both of you forced into the same messy rhythm.",
"She adjusts over you until your tongue reaches her slit and her mouth can take your cock without either of you staying passive.",
"The 69 starts uneven and hungry, your tongue working her cunt while her lips and hand answer around your shaft."
],
"oral_give": [
"{name} lowers her mouth to your cock and starts carefully, then grows bolder when your reaction tells her what works.",
"Her lips close around the head of your cock first, tongue testing you before she takes more.",
"She starts sucking your dick with controlled patience, watching for the moment restraint turns into need.",
"Her mouth works down your shaft in slow passes, wet heat replacing the teasing pause.",
"She keeps one hand at the base while her lips and tongue learn the shape of your cock."
],
"sex": [
"You push inside {name}'s wet pussy slowly, giving her cunt time to take the stretch before the rhythm becomes real.",
"{name} pulls you closer as penetration replaces anticipation, her soaked cunt tightening around your cock.",
"Your cock slides into her pussy, and the first full push makes the heat between you turn immediate and physical.",
"You sink into her wet slit with a careful thrust, then hold there while her body adjusts to the fullness.",
"The sex starts with one slow push into her cunt, deep enough to make the room narrow to her breath and your cock."
],
"missionary": [
"You settle over {name} in missionary and enter her with your cock, slow and steady. She watches your face as her legs tighten around you.",
"Your hips pin her open while your cock works into her pussy, the close angle making every breath feel exposed.",
"You fuck her face to face, driving into her cunt while her legs hold you close.",
"The missionary rhythm turns deep and intimate, your cock pushing into her wet slit while she watches every reaction.",
"You stay over her and thrust steadily, letting her pussy take you with no room to hide from the closeness."
],
"cowgirl": [
"{name} straddles you and lowers herself onto your cock, taking the depth at her own pace.",
"She rides you in cowgirl, her wet pussy sliding down until she has you buried exactly where she wants.",
"Her hips start moving over you, cunt swallowing your cock in slow, deliberate drops.",
"{name} controls the angle from above, grinding and lifting until the ride turns slick and confident.",
"She uses her weight to take you deeper, riding your cock until the rhythm belongs to her."
],
"doggy": [
"{name} gets on all fours and glances back as you line up behind her. The first thrust into her pussy makes her composure falter.",
"You take her from behind, hands on her hips while her cunt stretches around your cock.",
"The doggy angle drives deeper, her ass lifting toward you as your cock pumps into her wet pussy.",
"You fuck her from behind in steady strokes, watching her hips rock into every thrust.",
"Her pussy takes you from the back, slick and tight while your hands keep her in place."
],
"wall": [
"You keep {name} standing against the wall while your cock pushes into her, the urgent angle making every movement harder to hide.",
"Her back presses to the wall as you lift into her wet pussy, holding her steady through each thrust.",
"You fuck her against the wall, cock driving up into her while her legs fight to keep the position.",
"The standing angle turns rough and close, her cunt gripping you while the wall takes the force.",
"You hold her against the wall and keep thrusting until her wet slit starts taking the rhythm."
],
"breast_sex": [
"{name} presses her breasts around your cock and holds them tight while you slide between them.",
"You move between her tits, the pressure slick and focused as she squeezes them together around your shaft.",
"Her breasts close around you, soft and tight enough that every thrust drags heat up toward the head of your cock.",
"She keeps her chest pressed together while you fuck between her breasts, watching your reaction as the rhythm turns messy.",
"The titfuck becomes slicker with every pass, her nipples hard while she holds the pressure steady.",
"You thrust between her breasts until the tight slide of her skin starts pulling you toward the edge."
],
"anal_talk": [
"You talk about her ass in a low voice, letting the filthy idea sit between you before anything touches her.",
"You tell {name} exactly what you want to do with her ass and watch the thought start working on her.",
"The anal talk stays verbal for now, but the image of her tight little asshole being opened is already in the room.",
"You keep your voice low and dirty, making her imagine your mouth, fingers, or cock at her ass before you move."
],
"anal_play": [
"You tease {name}'s ass with slow, testing pressure, circling her tight little asshole until she exhales and stops pulling away.",
"Your fingers spread her just enough to play with her puckered hole, keeping it careful while the idea turns filthy.",
"You keep the anal touch slow, rubbing and circling until her ass starts answering the attention."
],
"anal_finger": [
"You work a finger into {name}'s ass with careful patience, feeling her tight little asshole clench hard around the first push.",
"Your fingertip presses past the ring of her ass, slow and steady, until she starts breathing through the stretch.",
"You finger her ass carefully, letting her tight hole adjust before curling deeper."
],
"anal_sex": [
"You enter {name}'s ass slowly, giving her tight hole time to stretch around your cock before the rhythm becomes demanding.",
"Your cock pushes into her ass with steady pressure, and you hold the pace until her body can take more.",
"The anal sex starts rougher in feeling than in speed, her asshole squeezing hard around every careful inch.",
"You fuck her ass slowly at first, letting the tight heat grip your shaft before each deeper thrust.",
"Her ass takes you inch by inch, the pressure filthy and controlled as you build the first rhythm."
],
"orgasm": [
"{name}'s body locks up as the orgasm hits, thighs shaking while her wetness gives away how hard it landed.",
"{name} comes with a broken moan, pussy clenching through the peak as her control slips for a few seconds.",
"The orgasm rolls through {name} in visible waves, her hips twitching and her breath breaking until it passes.",
"Her climax hits hard enough to interrupt the rhythm, leaving her trembling, wet, and unable to answer right away.",
"{name} shudders through the orgasm, cunt pulsing as the last of the pleasure drains out of her."
],
"refusal_soft": [
"{name} gives you a small shake of the head. The timing, tone, or pressure is wrong right now."
],
"refusal_public": [
"{name} catches your intent and steps back before it can become obvious in public."
],
"refusal_private": [
"{name} stops the private moment from moving faster. The room is not enough by itself."
],
"refusal_sex": [
"{name} tenses and stops the escalation before it becomes sex. She is not ready for that."
],
"refusal_anal": [
"{name} shuts that down immediately. Her ass is not something you get just because the mood is hot."
],
"casual_heat_success": [
"The casual topic cuts across the arousal in the room. {name} answers, but the rhythm cools and the moment loses some of its pull.",
"{name} gives you a short answer, then glances back at the space between you. The conversation lands, but it drags the arousal down with it."
],
"casual_heat_failure": [
"{name} stares at you like you just changed the subject at the worst possible second. The mood drops hard.",
"The question lands badly. {name} pulls back, irritated that you broke the tension for casual talk."
],
"casual_heat_success_hot": [
"{name} answers through a tight breath, but it is obvious she does not want conversation right now. The arousal slips while she tries to follow your topic.",
"You get a reply, barely. {name}'s expression says the subject could have waited, and the moment cools around the interruption."
],
"casual_heat_failure_hot": [
"{name} pulls away at once. Talking about that now feels absurd, and the arousal between you collapses into irritation.",
"The interruption kills the rhythm. {name} looks annoyed, not shy, and the mood turns colder than it was a second ago."
],
"strip_ask": [
"You ask instead of grabbing for the answer. {name} studies you, then lets the next layer come away because the mood has earned it.",
"{name} accepts the request with a slow breath, making the undressing feel chosen instead of automatic."
],
"strip_attempt": [
"Your hands test the clothing layer. {name} notices immediately, waits a beat, then allows the movement because the pressure stays readable.",
"{name} lets your hands finish the layer, but the look she gives you says the next move still has to be earned."
],
"petting": [
"Your hands move into suggestive caressing, sliding over {name}'s waist, hips, and thighs until the intent is impossible to miss.",
"You keep the petting slow and patient, letting your palms trace closer to the places she has not offered yet.",
"The touch turns heavier, your fingers dragging over fabric, curves, and warm skin without pretending it is innocent.",
"Your hands move over her through the fabric, slow enough to read her reaction and direct enough that she knows exactly what you want.",
"You keep the caress steady until {name} stops treating it like an accident, her breathing changing under the weight of your hand."
],
"massage_start": [
"{name} accepts the massage and turns enough to let you work, letting your hands settle into the first safe pressure.",
"You start the massage with patient hands, keeping the contact useful before it becomes anything more.",
"The massage begins simply: sore muscle, steady pressure, and enough quiet for {name} to decide how much she trusts your hands."
],
"massage": [
"The massage lands well. {name} relaxes under your hands and lets the room slow down.",
"Your hands find a rhythm that makes {name} stop guarding every inch of herself."
],
"massage_escalate": [
"The massage stops being only relief when your hands linger lower and {name} lets the bolder touch stay.",
"The safe rhythm starts turning sexual. {name} notices the change and stays under your hands instead of ending it.",
"Your hands carry the massage toward something dirtier, and {name}'s silence gives the escalation room to happen."
],
"refusal_strip_ask": [
"{name} refuses the request without making a scene. That layer is staying where it is for now."
],
"refusal_strip_attempt": [
"{name} stops your hands. The attempt was too much, too soon."
],
"refusal_petting": [
"{name} catches your hand before the touch can settle. She is not ready for that kind of pressure yet."
],
"refusal_massage": [
"{name} notices where the massage is going and stops your hands before you can pretend it was accidental."
],
"refusal_massage_start": [
"{name} declines the massage. She is not giving you that much access right now."
],
"refusal_massage_escalate": [
"{name} catches the escalation and shuts it down. The massage ends there."
],
"refusal_massage_chaste": [
"The massage does not really land. {name} shifts under your hands and tells you to ease up on the pressure."
],
"try_top_off": [
"You try to move the clothing layer. {name} notices your hands and allows the layer to come away."
],
"refusal_try_top_off": [
"{name} catches the attempt and stops your hands. That layer is not coming off like that."
],
"ask_bra_off": [
"You ask {name} to remove her bra. She studies the request, then lets the clothing question become part of the tension."
],
"refusal_ask_bra_off": [
"{name} refuses the request. That clothing layer stays where it is."
],
"try_bottom_off": [
"You try to move the clothing layer. {name} notices your hands and allows the layer to come away."
],
"refusal_try_bottom_off": [
"{name} catches the attempt and stops your hands. That layer is not coming off like that."
],
"ask_panties_off": [
"You ask {name} to remove her panties. She studies the request, then lets the clothing question become part of the tension."
],
"refusal_ask_panties_off": [
"{name} refuses the request. That clothing layer stays where it is."
],
"ask_top_off": [
"You ask {name} to remove her top. She studies the request, then lets the clothing question become part of the tension."
],
"refusal_ask_top_off": [
"{name} refuses the request. That clothing layer stays where it is."
],
"unhook_bra": [
"You try to move the clothing layer. {name} notices your hands and allows the layer to come away."
],
"refusal_unhook_bra": [
"{name} catches the attempt and stops your hands. That layer is not coming off like that."
],
"ask_bottom_off": [
"You ask {name} to remove her bottoms. She studies the request, then lets the clothing question become part of the tension."
],
"refusal_ask_bottom_off": [
"{name} refuses the request. That clothing layer stays where it is."
],
"remove_panties": [
"You try to move the clothing layer. {name} notices your hands and allows the layer to come away."
],
"refusal_remove_panties": [
"{name} catches the attempt and stops your hands. That layer is not coming off like that."
],
"strip_together": [
"You suggest undressing together. {name} understands the implication immediately: no hiding behind half measures, no pretending this is casual."
],
"refusal_strip_together": [
"{name} refuses the request. That clothing layer stays where it is."
],
"ask_naked": [
"You ask {name} to undress completely. She takes in the request, then lets the last layers fall because the scene has finally reached that point."
],
"refusal_ask_naked": [
"{name} refuses the request. That clothing layer stays where it is."
],
"caress_thigh": [
"Your hand moves along {name}'s thigh with slow intent. She feels the suggestion in the touch before it goes any higher."
],
"refusal_caress_thigh": [
"{name} shifts her thigh away before your hand can settle. The contact was too direct for the moment."
],
"pet_over_clothes": [
"You touch {name} through her clothes, keeping the pressure patient enough for her body to answer before your hands demand more."
],
"refusal_pet_over_clothes": [
"{name} pulls your hand away from the fabric before the caress can turn into something heavier."
],
"rub_breasts_fabric": [
"You rub {name}'s breasts through the fabric, letting the layer drag over her nipples with slow teasing pressure.",
"Your palms work over her tits through her clothes, feeling her nipples harden under the cloth.",
"You keep the fabric between your hand and her breasts, using it to make each pass slower and more deliberate."
],
"refusal_rub_breasts_fabric": [
"{name} blocks your hand at her chest before the fabric can become an excuse to keep going."
],
"rub_pussy_fabric": [
"You press two fingers against {name}'s pussy through the fabric, rubbing slowly until the cloth starts dragging wetly over her slit.",
"Your hand cups her between the legs and works her through the last layer, letting the fabric grind over her clit before anything comes off.",
"You keep the pressure outside her clothes, rubbing her pussy through the fabric until the barrier turns from protection into friction."
],
"refusal_rub_pussy_fabric": [
"{name} closes her thighs and catches your wrist before your fingers can keep rubbing through the fabric."
],
"refusal_finger_pussy": [
"{name} stops your hand before your fingers can reach her pussy."
],
"grind_together": [
"You press close and grind your hard cock against her slit, keeping it outside while the friction turns filthy.",
"You hold her against you and rub your cock along her pussy without entering, letting the wet heat build between bodies.",
"Your hips move against hers in slow grinding strokes, cock dragging over her covered or bare slit without pushing inside.",
"You keep the grinding outside her pussy, using the pressure until her hips start meeting yours."
],
"refusal_grind_together": [
"{name} pulls back before your bodies can settle into the grind."
],
"massage_shoulders": [
"You massage her shoulders with firm, useful pressure, working the tight muscle until she starts to loosen under your hands."
],
"refusal_massage_shoulders": [
"The massage her shoulders misses the right pressure. {name} corrects your hands, unimpressed by the technique, but the massage itself is not over."
],
"massage_neck": [
"You massage her neck slowly, thumbs working under the tension while she lets her head tip just enough to help you."
],
"refusal_massage_neck": [
"The massage her neck misses the right pressure. {name} corrects your hands, unimpressed by the technique, but the massage itself is not over."
],
"massage_back": [
"You work down her back with steady hands, pressing into each tight spot until her breathing starts to slow."
],
"refusal_massage_back": [
"The massage her back misses the right pressure. {name} corrects your hands, unimpressed by the technique, but the massage itself is not over."
],
"massage_lower_back": [
"Your hands settle at her lower back, kneading the sore muscle with enough patience to make her hips soften."
],
"refusal_massage_lower_back": [
"Your hands move too low on her back, and she shifts away from the pressure."
],
"massage_legs": [
"You massage her legs from knee to thigh, keeping the touch firm, slow, and careful enough for her to relax into it."
],
"refusal_massage_legs": [
"The massage her legs misses the right pressure. {name} corrects your hands, unimpressed by the technique, but the massage itself is not over."
],
"massage_inner_thighs": [
"Your hands move to her inner thighs, rubbing slowly enough to stay a massage while making the nearness to her pussy impossible to ignore."
],
"refusal_massage_inner_thighs": [
"Your hands move up her inner thighs, and she closes her legs before you can get higher."
],
"massage_pussy_fabric": [
"Your massage hand drifts between her thighs and starts rubbing her pussy through the fabric, turning the careful pressure into something much dirtier.",
"The massage crosses the line when your fingers find the cloth over her slit and begin working it in slow, wet circles.",
"You keep the contact over the last layer, grinding the fabric against her clit until the massage is no longer pretending to be innocent."
],
"massage_pussy_bare": [
"Your fingers find bare skin between her thighs and start rubbing her wet slit directly, turning the massage into explicit pussy play.",
"The massage becomes sexual the moment your hand reaches her bare cunt, fingertips sliding through her folds instead of stopping at safe pressure.",
"You spread her with your fingers and rub her exposed pussy in slow, deliberate circles, letting the oil-slick rhythm turn filthy."
],
"refusal_massage_pussy_fabric": [
"{name} notices the shift through the fabric and stops your hand. The massage ends there.",
"She catches what you are trying to turn the massage into, closes her thighs, and the mood drops sharply."
],
"refusal_massage_pussy_bare": [
"{name} feels the move go too far and stops you before the massage can pretend to be a massage anymore.",
"She reads the escalation immediately, moves your hand away, and the massage is over."
],
"continue_fingering": [
"Your fingers keep working inside {name}'s pussy, curling and pressing until her hips start following your hand.",
"You slide your fingers deeper into her wet slit, using the rhythm that makes her thighs tense around your wrist.",
"{name}'s cunt slicks your fingers as you keep moving, each curl making her body answer harder.",
"You keep your fingers inside her and use your thumb near her clit, building pressure without letting the rhythm fall apart.",
"Your hand works between her legs, wet and deliberate, until her pussy tightens around your fingers.",
"You finger her with a steady pace, feeling her slit pull slickly around each movement.",
"You keep your fingers inside her soaked cunt, curling deeper whenever her hips answer.",
"Your hand keeps fucking her pussy in a wet, steady rhythm."
],
"continue_cunnilingus": [
"{name} shifts closer instead of pulling away, her thighs framing your face as your tongue keeps working her cunt.",
"She catches her breath and holds herself in place, trying not to lose the rhythm of your mouth on her pussy.",
"{name} stops trying to sound composed. Her hips lift toward your mouth as the licking turns wet, steady, and impossible to ignore.",
"Your tongue keeps working her cunt with a rhythm that is no longer exploratory. {name} holds the position and lets the pleasure build.",
"You stay between her thighs, dragging your tongue over her slit until her breathing breaks into smaller, less controlled sounds.",
"The licking continues, wetter and more focused, each pass of your tongue making {name} tense and soften in waves.",
"You keep licking {name}, staying with the rhythm that makes her hips press her pussy toward your mouth.",
"Your mouth stays locked to her cunt, patient enough to build the feeling and hungry enough not to let it fade."
],
"continue_blowjob": [
"{name} keeps her mouth around your cock, using her tongue whenever she pulls back to the head.",
"Her lips slide along your shaft in a wet rhythm, hand stroking the base while her mouth takes what it can.",
"She sucks harder when your cock twitches, learning how to keep you trapped in the sensation.",
"Her tongue circles the head while her fingers keep pumping, turning the blowjob sharper and more focused.",
"{name} keeps the rhythm steady, mouth and hand working together until your restraint starts to crack."
],
"continue_sex": [
"You keep fucking {name} in the rhythm she already accepted, adjusting the angle until her breathing turns broken and eager.",
"{name} stays with you as the sex keeps building, her cunt slicking around your cock before she can make herself sound composed.",
"The position holds, but the feeling sharpens. {name} clings to the rhythm as every thrust drives your cock deeper.",
"You keep thrusting into her wet pussy, each stroke dragging more heat and slickness from her.",
"Her cunt keeps taking you in a steady, wet rhythm, tightening whenever the angle hits deep."
],
"continue_anal": [
"You keep fucking {name}'s ass with a slow, heavy rhythm, letting her tight hole squeeze around every thrust.",
"The anal continues carefully, your cock sliding deeper whenever her breathing steadies enough to take it.",
"Her asshole clenches around you with each stroke, tight and hot while you keep the pace controlled.",
"You stay buried in her ass and move with patient pressure, making every inch count.",
"The rhythm turns steadier, her ass opening around your cock while the dirty fullness builds."
],
"refusal_continue_state": [
"The rhythm breaks before you can keep it going, and {name} uses that pause to slow everything down."
],
"massage_breasts": [
"Your massage reaches her breasts, hands working over her tits while your thumbs find her nipples.",
"{name}'s breath catches when your palms settle on her breasts and the massage stops pretending to be innocent.",
"You rub her chest slowly, kneading her tits with enough pressure to make her nipples stiffen under your hands.",
"The breast massage turns hotter as your hands cup, squeeze, and circle until her chest rises into the touch."
],
"massage_ass": [
"Your hands move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier.",
"{name} tenses for a second when your palms settle on her ass, then eases as you knead the softness with deliberate pressure.",
"You rub her ass slowly, thumbs pressing near the crease without rushing the next step.",
"The massage shifts to her round ass, each squeeze making the line between care and lust harder to pretend around."
],
"refusal_massage_breasts": [
"Your hands move toward her breasts, and she catches your wrists before you can touch them.",
"Her body goes still under your hands. She moves you away from her chest and ends the massage right there."
],
"refusal_massage_ass": [
"Your hands move to her ass, and she shifts away before you can knead it.",
"She stops you before you can pretend it was still part of the massage. The moment closes down."
],
"massage_tongue_pussy": [
"She gasps sharply as your tongue finds her wet pussy.",
"Her thighs tremble while you lick her soaked cunt.",
"Thick juices coat your tongue as she moans softly.",
"She spreads her legs wider, clearly enjoying the pussy licking.",
"Her pussy drips heavily as your tongue works her clit.",
"A needy whimper escapes her while you eat her out.",
"Her hips roll against your mouth, chasing the pleasure.",
"She stays dripping wet and responsive to every lick.",
"Her cunt pulses against your tongue as arousal builds.",
"She bites her lip hard, lost in the wet pussy pleasure."
],
"refusal_massage_tongue_pussy": [
"{name} closes her thighs before your mouth can settle there. The massage ends on the spot.",
"The move is too sudden. {name} pulls back from your mouth, and the massage breaks immediately."
],
"massage_tongue_ass": [
"She freezes for a second when your mouth reaches her ass, then exhales as your tongue starts circling her tight hole.",
"The massage turns filthy as you spread her and lick her asshole with slow, deliberate pressure.",
"Your tongue works her ass carefully, turning the relaxed position into a dirty little trust test.",
"She trembles under the rimming, thighs tensing while her pussy grows wetter from the taboo pressure."
],
"refusal_massage_tongue_ass": [
"{name} pulls her ass away before your tongue can get there. The massage ends sharply.",
"She catches the rimming attempt immediately and moves out of reach before it can continue."
],
"massage_strip_warning": [
"{name} catches the clothing move and gives you one clear warning, but she does not end the massage yet.",
"{name} stops your hands for a moment. The warning is obvious: slower, or the massage ends."
],
"massage_strip_break": [
"{name} catches another clothing move and decides the massage is done.",
"That second kind of mistake costs the mood. {name} ends the massage before you can recover it."
],
"control_success": [
"{name} catches the control in your tone and adjusts, not because it is easy, but because the mood makes it hard to ignore.",
"You hold the frame without overexplaining it. {name} hesitates, then follows your lead."
],
"control_refusal": [
"{name} does not follow that lead and the moment loses some of its edge."
],
"climax_pants": [
"You lose control while still dressed, keeping most of the mess to yourself. {name} notices the restraint more than the cum."
],
"climax_hands": [
"You stroke yourself until cum spills into your hand.",
"Your orgasm stays in your own hand, contained but still visibly intense.",
"Your cock pulses in your fist until cum streaks over your fingers."
],
"climax_body": [
"You finish across her naked body, the orgasm leaving hot cum streaked over her skin.",
"Your cock pulses and unloads over her body while she stays close enough to watch it happen.",
"Thick cum lands across her body as the tension finally breaks."
],
"climax_boobs": [
"You finish over her breasts, cum streaking across her tits and nipples.",
"Her chest rises under the first hot ropes of cum as you unload on her breasts.",
"You paint her tits with cum while she watches the mess spread."
],
"climax_stomach": [
"You finish across her stomach, hot cum spreading over her belly.",
"Your load lands on her stomach in thick streaks while she breathes hard.",
"You unload across her belly and watch the mess settle on her skin."
],
"climax_crotch": [
"You finish close to her pussy, cum landing across her lower belly and crotch.",
"The risky finish leaves hot cum streaked near her wet folds.",
"You unload near her crotch while she holds still through the messy finish."
],
"climax_face": [
"You finish on her face, your cock pulsing as cum lands across her cheeks and lips.",
"The facial lands hot and messy, leaving her face marked by your orgasm.",
"You unload across her face while she stays in place for your cum."
],
"climax_mouth": [
"You finish into her mouth, thick cum pulsing over her tongue.",
"Her lips stay around you as your orgasm fills her mouth.",
"You unload into her mouth while she holds still and takes the cum."
],
"climax_inside": [
"You come deep inside her pussy, your cock pulsing while her cunt clenches around you.",
"Your orgasm floods her soaked pussy while she stays locked around you.",
"You finish buried inside her, filling her cunt with every twitch."
],
"climax_inside_ass": [
"You come deep inside her ass, the tight heat squeezing every pulse from your cock.",
"Your orgasm fills her asshole while her body trembles around the pressure.",
"You finish inside her ass and hold still until the last pulse fades."
],
"climax_throat": [
"{name} takes the deep finish and stays locked into the rhythm until it is over."
],
"climax_blocked": [
"{name} sees you about to cum where she refused and blocks you. You still cum, but not where you wanted."
],
"schedule_success": [
"{name} gives you a real piece of her week instead of a vague answer.",
"{name} thinks it over, then tells you where she is usually supposed to be at that time."
],
"refusal_ask_about_schedule": [
"{name} does not give you anything useful about her schedule.",
"{name} keeps the answer vague enough that you cannot use it."
],
"ask_address_success": [
"{name} gives you her address, making it possible to find her during home schedule slots.",
"{name} tells you where she lives, but her tone makes it clear that showing up still has to go well."
],
"refusal_ask_address": [
"{name} does not trust you with her address yet.",
"{name} avoids the question and keeps that boundary in place."
],
"continue_analingus": [
"{name} stays in position, tense at first, then softer as your tongue keeps the analingus slow and deliberate.",
"Her breath catches when you circle her asshole again, but she does not move away.",
"{name} holds still for you, flushed and overwhelmed, letting the taboo rhythm continue as long as you keep it controlled.",
"You keep rimming her, tongue working her tight hole until the dirty pleasure starts making her wetter.",
"Her ass stays spread for your mouth, and each careful lick makes her hips give a little more."
],
"cont_finger_to_mouth": [
"You keep your fingers moving as your mouth lowers to her clit. {name} gasps at the double pressure, hips jumping when tongue and hand finally work together.",
"Your fingers stay inside her while your tongue takes over the sensitive rhythm above. {name} grips anything she can reach as both sensations hit at once.",
"The transition is smooth: fingers curling inside her cunt, mouth settling between her thighs, your tongue finding the rhythm your hand had built.",
"You finger her soaked pussy while licking her clit, turning one kind of pressure into two before she can recover."
],
"cont_cunni_to_sex": [
"You rise from between her thighs and guide your cock to her while she is still wet and trembling.",
"Your mouth leaves her clit only long enough for your hips to replace it, the first thrust sliding into her soaked cunt.",
"You turn the licking into penetration without breaking the mood, pushing into her pussy while she is still riding the aftertaste of your mouth.",
"Her wet slit is already open from your tongue when your cock presses in and turns oral heat into sex.",
"You leave her pussy with your mouth and fill it with your cock before the rhythm can fade."
],
"cont_cunni_to_analingus": [
"Your tongue drifts lower from her pussy, slow enough to let her understand the change before your mouth reaches her ass.",
"You leave her clit wet and sensitive, tracing lower until the teasing becomes analingus.",
"The oral rhythm changes target without losing control, your tongue settling lower against her tight hole.",
"You drag the wetness down from her slit and start rimming her, cautious, filthy, and deliberate.",
"Your mouth moves from her pussy to her ass, turning the same wet rhythm into a dirtier kind of attention."
],
"cont_analingus_to_cunni": [
"You move your tongue back up to her pussy, letting the taboo tension melt into familiar wet pressure.",
"The analingus fades into cunnilingus as your mouth returns to the heat between her thighs.",
"You shift back to her pussy, dragging the sensation upward until her hips remember the old rhythm.",
"Your tongue leaves her asshole and finds her slit again, making her exhale hard as the pleasure turns easier to take.",
"You return to her cunt with slow licks, using the wetness there to pull her back into the rhythm."
],
"cont_analingus_to_anal": [
"You stop licking long enough to line your cock up with her ass, letting the analingus become a careful, heavier escalation.",
"The teasing at her ass turns into something more serious as your cock replaces your tongue at her tight hole.",
"You trade tongue for penetration with slow control, turning the analingus into anal sex without losing the careful rhythm that got you there.",
"Her asshole is wet from your mouth when your cock starts pressing in, making the escalation filthy and unmistakable.",
"You move from rimming to anal, holding steady as her tight little asshole learns the new pressure."
],
"cont_sex_to_anal": [
"You slow the thrusts long enough to change the angle, letting vaginal sex become a careful anal transition instead of a sudden demand.",
"The rhythm pauses on the edge of something rougher. You guide {name} carefully until your cock lines up with her ass.",
"You pull from her wet pussy and press against her tight asshole, waiting for her body to accept the new pressure.",
"The shift from cunt to ass turns the room sharper, your cock slick from her pussy as it starts pressing into her other hole.",
"You trade the wet slide of her pussy for the tight pressure of her ass, moving only when she can take it."
],
"cont_sex_to_69": [
"You break the thrusting and turn the heat into mutual oral, pulling {name} into a position where your mouth finds her pussy while hers lowers to your cock.",
"{name} follows the shift into 69, still flushed from being fucked, and the two of you trade thrusting for mouths, tongues, and uneven breath.",
"The sex pauses with her pussy still wet from your cock, then changes shape as she lowers her mouth and you find her clit again.",
"You turn the position until her cunt is over your mouth and your cock is ready for hers, keeping the heat alive in a different rhythm."
],
"refusal_cont_sex_to_anal": [
"{name} stops the angle change before it becomes too much. The refusal is clear, but the heat does not have to collapse unless you keep pushing.",
"{name} tightens and pulls the rhythm back. \"No. Not there right now.\""
],
"refusal_cont_sex_to_69": [
"{name} does not follow the repositioning, keeping you in the current rhythm instead. \"Not that. Stay with what is working.\"",
"{name} shakes her head before the shift settles. The idea is not dead, but the timing is wrong."
],
"continue_sixty_nine": [
"The 69 keeps its rhythm: your tongue works her cunt while her mouth answers with a warmer, wetter pace.",
"You both keep going, mouths and hips fighting for control of the same moment.",
"The position turns greedy and uneven, her thighs tense around your head as the mutual rhythm gets hotter.",
"Her lips tighten around your cock whenever your tongue finds her clit, breaking her rhythm for a second.",
"You keep licking her pussy while she sucks you, both of you getting messier with every broken breath."
],
"cont_hj_to_bj": [
"Her hand keeps stroking until you guide the rhythm higher, and {name} understands the invitation. She lowers her mouth to your cock without breaking the pace.",
"You let her hand lead the way, then draw her closer until her mouth takes over. {name} keeps stroking the base while her lips settle into rhythm.",
"The handjob turns into a blowjob as her mouth closes around the head and her fingers keep your shaft steady.",
"She strokes you until your cock is slick enough for her lips to take over, replacing her hand with wet heat."
],
"cont_bj_to_sex": [
"You pull {name} up from your lap and guide her closer, letting the heat from her mouth turn into the first press of sex.",
"Her mouth leaves your cock only because your hands bring her closer. Her thighs open, your hips line up, and the blowjob turns into full sex.",
"You take your cock from her lips and push it into her wet pussy, carrying the same hungry momentum into penetration.",
"The blowjob ends with her still breathless, and the next rhythm starts when your cock slides inside her cunt."
],
"cont_69_to_sex": [
"You break the 69 only long enough to turn the bodies around. {name} is still wet from your tongue when you line up with her.",
"The mutual oral collapses into something simpler and deeper. You move over {name}, guide yourself inside, and she answers with a moan.",
"Her mouth leaves your cock as your hips take over, the first thrust sliding into the same wet pussy your tongue just worked.",
"You trade the messy 69 for penetration, pushing into her cunt while the taste of her is still on your mouth."
],
"refusal_cont_hj_to_bj": [
"{name} keeps her hand where it is and stops the escalation with a look. 'Not my mouth. Not yet.'",
"She turns her cheek away from the suggestion, still holding you but refusing to move lower. 'Do not rush the shape of this.'"
],
"refusal_cont_bj_to_sex": [
"{name} pulls back before the position can change, breathing hard. 'No. We stay here or we slow down.'",
"She stops you with a hand on your hip. 'My mouth was one thing. Sex is another.'"
],
"refusal_cont_69_to_sex": [
"{name} shifts away from the attempted turn, thighs tightening as she breaks the rhythm. 'Not from this. Do not skip the answer.'",
"She catches the change before it becomes penetration, flushed but firm. 'Keep your mouth where it was, or stop.'"
],
"reverse_cowgirl": [
"{name} turns around on top of you and rides in reverse cowgirl, her ass moving over you while her pussy takes your cock.",
"She faces away and sinks down slowly, giving you a full view of her ass as she rides.",
"The reverse angle lets her control the depth while her wet cunt slides along your shaft.",
"Her hips bounce in reverse cowgirl, ass lifting and dropping as she works herself on your cock.",
"She leans forward and rides you backwards, showing off every wet inch she takes."
],
"anal_missionary": [
"You stay over {name} in anal missionary, keeping the pressure slow as your cock stretches her ass.",
"Face to face, you push into her tight little asshole and wait for her breath to steady before moving again.",
"The close angle makes the anal feel heavier, your cock buried in her ass while she watches you handle the pace.",
"You keep her under you and fuck her ass slowly, each controlled thrust making her tighten around you.",
"Her ass opens around your cock in missionary, private and intense enough to make every inch feel deliberate."
],
"anal_doggy": [
"You take {name}'s ass in doggy style, moving carefully through the first tight pressure.",
"Her hips stay lifted as your cock works into her asshole from behind.",
"The doggy angle makes the anal deeper, your hands holding her steady while her tight ass stretches around you.",
"You fuck her ass from behind in controlled strokes, watching her body take each inch.",
"Her ass grips your cock hard from the doggy angle, filthy and tight with every thrust."
],
"anal_cowgirl": [
"{name} rides you anally from above, controlling the pressure while her ass takes your cock.",
"She lowers herself onto you carefully, tight asshole stretching as she decides how much she can take.",
"The anal cowgirl starts slow, her hips working down until your cock is buried in her ass.",
"She controls the ride from above, ass clenching around you whenever she pauses on the depth.",
"Her body rocks over you, using her weight to take your cock into her ass by careful degrees."
],
"anal_reverse_cowgirl": [
"{name} rides you anally in reverse cowgirl, facing away while her ass works down your cock.",
"She gives you the view of her ass taking you, hips lifting and dropping with controlled pressure.",
"The reverse angle shows every inch of your cock disappearing into her tight asshole.",
"She leans forward and rides your cock with her ass, slow enough to own the stretch.",
"Her ass moves over you in reverse cowgirl, clenching whenever she sinks too deep."
],
"anal_wall": [
"{name} faces the wall while you take her ass from behind, steadying her through the pressure.",
"You press her to the wall and push into her asshole slowly, keeping one hand on her hip until she can take more.",
"Her palms brace against the wall while your cock stretches her ass from behind.",
"You fuck her ass against the wall in controlled thrusts, every push forcing her to stay steady.",
"The wall keeps her in place while her tight little asshole opens around your cock."
],
"climax_back": [
"{name} lets you finish across her ass, staying close enough to see how badly you needed it.",
"The ending lands across her ass, using the same messy cum as the body finish but from the available image angle."
],
"refusal_ask_low_scene": [
"{name} pulls back sharply.",
"{name} refuses at once.",
"{name} shuts it down.",
"{name} gives you a hard look.",
"{name} cuts the moment off.",
"{name} rejects it immediately.",
"{name} steps away.",
"{name} stiffens.",
"{name} stops you cold.",
"{name} makes the refusal clear."
],
"refusal_ask_normal_scene": [
"{name} pulls back.",
"{name} shakes her head.",
"{name} refuses.",
"{name} stops the moment.",
"{name} does not follow.",
"{name} steps back.",
"{name} closes off.",
"{name} hesitates, then refuses.",
"{name} keeps the boundary.",
"{name} turns the moment down."
],
"refusal_beg_low_scene": [
"{name} pulls back sharply.",
"{name} refuses at once.",
"{name} shuts it down.",
"{name} gives you a hard look.",
"{name} cuts the moment off.",
"{name} rejects it immediately.",
"{name} steps away.",
"{name} stiffens.",
"{name} stops you cold.",
"{name} makes the refusal clear."
],
"refusal_beg_normal_scene": [
"{name} pulls back.",
"{name} shakes her head.",
"{name} refuses.",
"{name} stops the moment.",
"{name} does not follow.",
"{name} steps back.",
"{name} closes off.",
"{name} hesitates, then refuses.",
"{name} keeps the boundary.",
"{name} turns the moment down."
],
"refusal_command_low_scene": [
"{name} pulls back sharply.",
"{name} refuses at once.",
"{name} shuts it down.",
"{name} gives you a hard look.",
"{name} cuts the moment off.",
"{name} rejects it immediately.",
"{name} steps away.",
"{name} stiffens.",
"{name} stops you cold.",
"{name} makes the refusal clear."
],
"refusal_command_normal_scene": [
"{name} pulls back.",
"{name} shakes her head.",
"{name} refuses.",
"{name} stops the moment.",
"{name} does not follow.",
"{name} steps back.",
"{name} closes off.",
"{name} hesitates, then refuses.",
"{name} keeps the boundary.",
"{name} turns the moment down."
],
"continue_cunnilingus_tease": [
"Your tongue circles her clit slowly, teasing her without giving full pressure.",
"You lick around her soaked entrance, keeping her desperate and dripping.",
"Your mouth stays close to her pussy, giving light flicks and kisses that never quite become enough.",
"You drag your tongue lazily across her wet folds, denying deeper pressure.",
"Soft teasing licks keep her pussy throbbing and needy.",
"Your tongue moves in slow, frustrating patterns around her cunt."
],
"continue_cunnilingus_fingers": [
"You slide two fingers deep into her cunt while licking her clit.",
"Your fingers pump inside her soaked pussy as your tongue works her swollen clit.",
"You finger-fuck her steadily while sucking on her clit.",
"Thick juices coat your fingers as you lick and thrust at the same time.",
"You curl your fingers against the spot inside her while your mouth works her clit.",
"Your hand fucks her cunt rhythmically while your tongue keeps her clit pinned in wet pressure."
],
"massage_vagina": "pool:massage",
"actionMap": {
"gaze_ass": "pool:social"
},
"slide_inside_panties_public": [
"You keep the rubbing hidden in public, then slide your hand inside {name}'s panties and find her wet slit under the fabric.",
"Your fingers slip beneath the waistband instead of staying outside it, still hidden by her clothes while you rub her pussy directly.",
"You move from fabric to skin, hand tucked inside her panties while your fingers tease the slick heat between her legs."
],
"refusal_slide_inside_panties_public": [
"You try to slip your hand inside {name}'s panties, but the public risk makes her clamp down and stop you before your fingers get under the fabric.",
"Your hand reaches for the waistband, but {name} catches your wrist before the hidden touch becomes direct.",
"You try to push the public rubbing further, but she blocks your hand before it can slide inside her panties."
]
}
END_SCENE_BANK %//% SCENE_DESCRIPTIONS_SEX
{
"against_wall_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You press {name} against the wall and guide your cock into her pussy while holding her there.",
"You slide inside her cunt and let her body adjust around you."
],
"anal_anal_position_switch": [
"You change the anal position slowly, keeping your cock inside her ass while she adjusts.",
"You reposition her carefully around the stretch, not pulling out of her tight asshole.",
"The position changes with your cock still buried in her ass.",
"You guide her into a new position, letting her asshole clench around every slow movement.",
"Your cock stays inside her as the anal sex shifts into a different position."
],
"anal_cowgirl": [
"You keep your hips controlled while her ass opens around your cock.",
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"{name} lowers herself onto your cock anally, controlling each inch with her hips."
],
"anal_cowgirl_success": [
"You keep your hips controlled while her ass opens around your cock.",
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"{name} lowers herself onto your cock anally, controlling each inch with her hips."
],
"anal_doggy": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You move behind {name} and push your cock into her ass in doggy style, slow enough to let her adjust.",
"You move behind {name} and push your cock into her ass in doggy style, steady enough to let her adjust."
],
"anal_doggy_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You move behind {name} and push your cock into her ass in doggy style, slow enough to let her adjust.",
"You move behind {name} and push your cock into her ass in doggy style, steady enough to let her adjust."
],
"anal_finger": [
"You press a fingertip to her asshole and wait for her body to loosen before easing in.",
"You spread her ass with one hand and work a slick finger against her tight hole.",
"Your finger presses against her asshole, slow and careful, then starts working her ass open.",
"Your finger presses against her asshole carefully, then starts working her ass open with slow pressure.",
"Your finger presses against her asshole, steady and careful, then starts working her ass open."
],
"anal_missionary": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"You settle close and press your cock into {name}'s ass in anal missionary, watching her face as she adjusts.",
"You settle close and press your cock into {name}'s ass, watching her face as she adjusts."
],
"anal_missionary_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"You settle close and press your cock into {name}'s ass in anal missionary, watching her face as she adjusts.",
"You settle close and fuck {name}'s ass while watching her face for every reaction."
],
"anal_play": [
"You keep the attention on her ass, testing the tight ring with slow pressure.",
"You spread her ass enough to lick her asshole slowly.",
"Your fingers and mouth keep her ass exposed before anything heavier starts.",
"You spread her ass and tease her asshole with slow pressure, keeping the focus on anal play before full penetration.",
"You keep her ass exposed and work the tight ring with your fingers and mouth before anything heavier starts."
],
"anal_pleasure": [
"Your cock moves through her tight asshole inch by inch.",
"You fuck her ass with slow, deliberate thrusts.",
"You keep your hips close while her ass grips you.",
"You push deeper into her ass and hold there before thrusting again.",
"Your cock moves in her ass with slow, controlled pressure.",
"Your cock moves steadily in her ass with slow, controlled pressure.",
"Your cock moves in her ass with slow, steady thrusts.",
"You keep the anal strokes controlled, letting her take the stretch."
],
"anal_reverse_cowgirl": [
"You keep your hips controlled while her ass opens around your cock.",
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"{name} turns away and rides your cock anally in reverse cowgirl, her ass working down your shaft."
],
"anal_reverse_cowgirl_success": [
"You keep your hips controlled while her ass opens around your cock.",
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"{name} turns away and rides your cock anally in reverse cowgirl, her ass working down your shaft."
],
"anal_sex": [
"Your cock stretches her asshole open, inch by inch.",
"Your hips drive into her from behind, cock buried in her ass.",
"You line your cock with her ass and push in until she has to brace herself.",
"You fuck her ass with short thrusts while she holds herself still.",
"You keep fucking her tight asshole until her body shakes under you."
],
"anal_talk": [
"You talk about her ass in a low voice, making the filthy idea clear before anything touches her.",
"You bring up anal carefully, watching whether the idea makes her close off or listen.",
"You let the conversation move toward her ass without pretending it is innocent.",
"You describe the thought plainly, keeping your hands back while she processes it.",
"You make the anal suggestion verbal first, giving her room to answer before it becomes physical."
],
"anal_talk_success": [
"You talk about her ass in a low voice, making the filthy idea clear before anything touches her.",
"You bring up anal carefully, watching whether the idea makes her close off or listen.",
"You let the conversation move toward her ass without pretending it is innocent.",
"You describe the thought plainly, keeping your hands back while she processes it.",
"You bring up her ass in a low voice and wait for her answer."
],
"anal_wall": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"You pin {name} against the wall and press your cock into her ass with careful, controlled force."
],
"anal_wall_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"You pin {name} against the wall and press your cock into her ass with careful, controlled force."
],
"analingus_pleasure": [
"You bring your mouth to her ass and use your tongue with careful strokes.",
"You spread her ass enough to lick her asshole slowly.",
"Your tongue circles her asshole with slow, filthy patience.",
"Your tongue circles her asshole with slow, filthy patience, staying there until her body starts to loosen.",
"Your tongue circles her asshole with careful, filthy patience."
],
"ask_anal_sex_success": [
"You ask for her ass directly. When she agrees, you line your cock up with her asshole and ease in slowly.",
"You ask to fuck her ass, and once she gives you permission, you press the head of your cock to her asshole.",
"You ask for anal and wait for her answer before pushing into her ass inch by inch."
],
"ask_blowjob_success": [
"You ask {name} to put her mouth on your cock, and she lowers herself until her lips close around the head.",
"You ask for her mouth. When she agrees, she leans down and takes your cock between her lips.",
"You ask for a blowjob, and she answers by wrapping her lips around your cock."
],
"ask_bottom_off": [
"You ask her to take her bottoms off and wait for her answer.",
"You ask for the lower layer, keeping the request to her bottoms for now.",
"You let your hand hover near her waistband and ask before anything moves."
],
"ask_bottom_off_success": [
"You ask her to take her bottoms off. When she agrees, she slides them down and leaves her panties in view.",
"She accepts the request and steps out of her bottoms, exposing her thighs and underwear.",
"The bottoms come off after she agrees, leaving her lower body one layer closer to bare.",
"She removes her bottoms for you, keeping her panties on while she watches your reaction."
],
"ask_bra_off": [
"You ask her to take off her bra and wait for her answer.",
"You ask her to take off her bra.",
"You let your attention settle on her bra and ask if she will remove it."
],
"ask_bra_off_success": [
"You ask her to remove her bra. When she agrees, the clasp opens and her bare tits come into view.",
"She accepts the request and slips the bra away, leaving her chest exposed.",
"The bra comes off after she gives permission, freeing her breasts under your eyes.",
"She removes her bra slowly enough for you to see the moment her tits are bare."
],
"ask_footjob_success": [
"You ask for her feet on your cock. She shifts closer, traps you between her soles, and starts rubbing.",
"You ask her for a footjob, and she sets both feet around your cock before the first stroke.",
"You ask her to use her feet, and she answers by pinning your shaft between her soles."
],
"ask_handjob_success": [
"You ask her to use her hand on your cock. She reaches down, wraps her fingers around you, and starts stroking.",
"You ask for a handjob, and she answers by closing her fingers around your shaft.",
"You ask her to stroke you, and her hand settles around your cock in a slow first pull."
],
"ask_naked": [
"You ask her to get completely naked and wait for her answer.",
"You ask her to take off every remaining layer.",
"You tell her you want to see all of her and leave the choice to her."
],
"ask_naked_success": [
"You ask her to get completely naked. When she agrees, every remaining layer comes off.",
"She accepts the full request and strips until nothing covers her body.",
"She removes the last pieces after agreeing, leaving her breasts, pussy, and ass exposed.",
"The final layers come off, and she stands naked in front of you."
],
"ask_panties_off": [
"You ask her to take her panties off and wait for a clear answer.",
"You ask for the last layer between you and her pussy.",
"You let your attention drop to her panties and ask if she will remove them."
],
"ask_panties_off_success": [
"You ask her to take her panties off. When she agrees, she slides them down and exposes her pussy.",
"She accepts the request and removes the last fabric covering her wet slit.",
"Her panties come off after she agrees, leaving her pussy bare under your eyes.",
"She slips her panties down slowly, letting you see her cunt once the fabric is gone."
],
"ask_permission_finger_success": [
"You ask if you can use your fingers. When she lets you, you slide your hand between her thighs and ease one finger into her pussy.",
"You ask permission to finger her, and once she agrees, your fingertips spread her wet slit.",
"You wait for her consent before sliding a finger into her pussy."
],
"ask_permission_oral_success": [
"You ask to go down on her. When she agrees, you lower your mouth between her thighs and lick her pussy.",
"You ask if she wants your mouth, and when she opens her thighs, your tongue finds her slit.",
"You ask to taste her before settling between her legs and licking up to her clit."
],
"ask_sex_success": [
"You ask {name} if she wants your cock inside her. When she agrees, you guide yourself to her pussy and push in slowly.",
"You ask to fuck her, and when she lets you, you line up with her slit and ease inside.",
"You ask for sex directly. Once she accepts, you spread her thighs and slide your cock into her wet pussy."
],
"ask_titfuck_success": [
"You ask for a titfuck, and she gets close enough to press her breasts around your cock.",
"You ask her to use her tits, and when she agrees, she squeezes them around your shaft.",
"You ask to fuck her tits, and she leans in until your cock is trapped between her breasts."
],
"ask_top_off": [
"You ask her to take her top off and wait for her answer before reaching for anything.",
"You ask for the top layer first, keeping the request limited to that piece of clothing.",
"You point your attention to her top and ask if she will remove it for you."
],
"ask_top_off_success": [
"You ask her to take her top off. When she agrees, she lifts it away and leaves her upper body more exposed.",
"You ask for the top layer, and she answers by pulling it up and off.",
"She accepts the request and removes her top, watching how you look at the layer underneath.",
"The top comes off after she agrees, changing the scene without skipping straight to full nudity."
],
"beg_anal_sex_success": [
"You beg for her ass until she gives you the angle, then you press into her asshole inch by inch.",
"Your begging finally makes her offer her ass, and you start slowly with the head of your cock.",
"You plead for anal until she lets you line up behind her and push in carefully."
],
"beg_blowjob_success": [
"You beg for her mouth, and she finally leans down, taking your cock between her lips.",
"You beg for a blowjob until she gives in and closes her mouth around the head of your cock.",
"Your pleading gets her onto her knees, and her lips start working over your cock."
],
"beg_cunnilingus_success": [
"You beg to taste her until she opens her thighs, letting you put your mouth on her pussy.",
"Your begging gets her legs apart, and your tongue goes straight to her wet slit.",
"You plead for her pussy until she lets your mouth settle between her thighs."
],
"beg_footjob_success": [
"You beg for her feet until she gives in, pressing both soles around your cock and stroking you off.",
"Your begging gets her feet around your cock, and she starts rubbing you between her soles.",
"You plead for a footjob until she traps your cock under her feet."
],
"beg_handjob_success": [
"You beg for her hand until she gives in, closing her fingers around your cock and starting a slow stroke.",
"Your begging gets her hand on your cock, and she begins stroking while watching your reaction.",
"You plead for her touch until her palm wraps around your shaft."
],
"beg_sex_success": [
"You beg to fuck her, and when she finally gives in, you push your cock into her wet pussy before she can change her mind.",
"You beg for her pussy until she opens her thighs, then you line up and slide inside.",
"Your begging gets her consent, and you answer it by pushing your cock into her cunt."
],
"beg_sixty_nine_success": [
"You beg for sixty-nine until she climbs into position, her mouth finding your cock as yours settles between her thighs.",
"Your begging gets her into sixty-nine, and mutual oral starts with her lips on your cock and your mouth on her pussy.",
"You plead for mutual oral until she turns with you and brings her pussy to your mouth."
],
"beg_titfuck_success": [
"You beg for her tits until she gives in, pulling them around your cock and letting you thrust between them.",
"Your begging gets her chest against you, and she cups her tits around your cock.",
"You plead for a titfuck until she exposes enough to slide your shaft between her breasts."
],
"breast_sex": [
"You push your cock through her tits in slow, slick passes.",
"She squeezes her tits around your cock and lets you thrust between them.",
"{name} presses her tits around your cock and holds them tight while you slide between them.",
"Your shaft slides between her breasts while she holds them tight."
],
"breast_sex_success": [
"You push your cock through her tits in slow, slick passes.",
"She squeezes her tits around your cock and lets you thrust between them.",
"{name} presses her tits around your cock and holds them tight while you slide between them.",
"Your shaft slides between her breasts while she holds them tight."
],
"breasts": [
"You press your lips to {name}'s nipple, then drag your tongue over it until her chest lifts into your mouth.",
"You work her breasts with your mouth and hands, teasing each nipple until she stops hiding the reaction.",
"You cup her tits and rub your thumbs over her nipples.",
"You palm {name}'s breasts and squeeze firmly enough to make her breath catch.",
"You cup her tits and work your thumbs over her nipples until her chest starts answering the touch."
],
"caress_thigh": [
"You place your hand on her thigh and let it move slowly enough for her to stop you.",
"Your fingers trace along her thigh, staying close without rushing higher.",
"You rest your hand on her thigh, then slide it a little closer when she does not pull away.",
"You caress her thigh with light pressure, testing how much intimacy she will allow."
],
"caress_thigh_success": [
"Your hand slides along her thigh, and she lets the touch stay.",
"Her thigh warms under your palm as your fingers trace higher.",
"Your hand slides along her thigh, stopping before you push any higher.",
"Your fingers move along her thigh slowly, stopping before the touch becomes a grab."
],
"climax_back": [
"You pull out and finish across her ass and back, marking her from behind.",
"You pull out and come across her ass and back, marking her from behind.",
"You pull free and cum across her back, the first streak landing between her shoulders.",
"You brace over her from behind and spill over her back and ass.",
"You get close and aim your cum where she can feel it."
],
"climax_blocked": [
"You start to lose control, but {name} keeps you from cumming where you wanted.",
"You get close to cumming there, but {name} redirects you before the first pulse lands.",
"You try to aim your orgasm, and she stops you in time.",
"She moves away from the shot, leaving the mess on your own hand and stomach.",
"She blocks the target before you can cum there, and you end up spilling over yourself.",
"She refuses the place you aimed for, and your cum lands away from her instead."
],
"climax_blocked_back": [
"{name} keeps her back out of reach, and your cum lands on you instead.",
"{name} blocks the target before you can cum there, forcing the orgasm away from her.",
"She turns aside at the last second, and you lose it without marking her back.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not across her back."
],
"climax_blocked_body": [
"{name} pulls her body away, and your cum lands on you instead.",
"{name} blocks the target before you can cum there, forcing the orgasm away from her.",
"She turns aside at the last second, and you lose it without marking her body.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not across her skin."
],
"climax_blocked_boobs": [
"{name} keeps her tits out of reach, and your cum lands on you instead.",
"{name} blocks the target before you can cum there, forcing the orgasm away from her chest.",
"She pulls her breasts away at the last second, and you lose it without marking her tits.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not across her tits."
],
"climax_blocked_crotch": [
"{name} keeps her crotch out of reach, and your cum lands on you instead.",
"{name} blocks the target before you can cum there, forcing the orgasm away from her pussy.",
"She turns her hips aside at the last second, and you lose it without marking her slit.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not across her crotch."
],
"climax_blocked_face": [
"{name} turns her face away, and your cum lands on you instead.",
"{name} blocks the target before you can cum there, forcing the orgasm away from her face.",
"She pulls her face aside at the last second, and you lose it without marking her mouth or cheeks.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not across her face."
],
"climax_blocked_hands": [
"{name} keeps her hands away from your cock, and your cum lands on you instead.",
"{name} blocks the target before you can cum into her palms.",
"She pulls her hands back at the last second, and you lose it over yourself instead.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not into her hands."
],
"climax_blocked_inside": [
"She makes you pull out before the orgasm can land inside her pussy.",
"{name} blocks the target before you can cum inside her.",
"She keeps the creampie from happening and forces the orgasm away from her cunt.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not inside her pussy."
],
"climax_blocked_inside_ass": [
"She makes you pull out before the orgasm can land inside her ass.",
"{name} blocks the target before you can cum inside her ass.",
"She keeps the anal creampie from happening and forces the orgasm away from her asshole.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not inside her ass."
],
"climax_blocked_mouth": [
"{name} keeps her mouth away from your cock, and your cum lands on you instead.",
"{name} blocks the target before you can cum in her mouth.",
"She pulls her mouth back at the last second, and you lose it over yourself instead.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not on her tongue."
],
"climax_blocked_pants": [
"{name} refuses to let you cum against her, and the mess lands on you instead.",
"{name} blocks the target before you can grind the orgasm against her.",
"She moves away at the last second, and you lose it without using her body.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not against her."
],
"climax_blocked_stomach": [
"{name} keeps her stomach out of reach, and your cum lands on you instead.",
"{name} blocks the target before you can cum across her belly.",
"She pulls her stomach away at the last second, and you lose it without marking her skin.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not across her stomach."
],
"climax_blocked_throat": [
"{name} keeps her throat away from your cock, and your cum lands on you instead.",
"{name} blocks the target before you can cum down her throat.",
"She pulls off at the last second, and you lose it over yourself instead.",
"{name} refuses that target and makes you take the orgasm somewhere else.",
"You cum anyway, but not down her throat."
],
"climax_body": [
"You finish across her body, cum streaking hot over her skin.",
"You unload over her, leaving warm cum across her stomach and body.",
"You cum across her skin in messy pulses.",
"You let the orgasm spill over her body instead of holding back.",
"You finish on her, leaving cum visible across her skin."
],
"climax_boobs": [
"You aim over her tits and cum across her nipples in thick streaks.",
"You finish over her breasts, your cum spreading across her tits and chest.",
"You cum over her tits, the first hot ropes landing across her nipples.",
"You unload across her breasts while she holds still under the mess.",
"You finish on her tits, cum glazing her skin in warm streaks."
],
"climax_crotch": [
"You finish across her lower belly and crotch, cum landing close to her pussy.",
"You come across her lower belly and crotch, cum landing close to her pussy.",
"You finish across her lower belly and crotch, your cum landing close to her pussy.",
"You pull out and cum across her lower belly, close enough for the mess to reach her pussy.",
"You get close and aim your cum where she can feel it."
],
"climax_face": [
"You aim high and cum across her face, streaking her cheeks and mouth.",
"You finish over her face, hot cum landing across her lips, chin, and cheeks.",
"You stroke through the last seconds and paint her face with cum.",
"You cum across her face in thick streaks, close enough for some to hit her mouth.",
"You let the orgasm spill over her face, marking her skin with cum."
],
"climax_hands": [
"You stroke yourself into her waiting hands and spill cum across her fingers.",
"You finish into her palms, your cock twitching against her grip.",
"You stroke yourself until cum spills into your hand.",
"You handle the cum yourself, stroking until it spills into your hand.",
"You stroke yourself until your cum spills into your hand."
],
"climax_inside": [
"You stay buried in her pussy and cum deep while her cunt tightens around you.",
"You push in close and unload inside her wet cunt.",
"You cum inside her pussy, cock pulsing while her inner walls grip you.",
"You hold your hips against hers and fill her cunt with cum.",
"You finish deep inside her, your cock twitching as her pussy takes every pulse."
],
"climax_inside_ass": [
"You stay deep in her ass and cum while her asshole clenches around your cock.",
"You press in close and unload inside her tight asshole.",
"You cum inside her ass, pulsing deep while her hole grips you.",
"You keep her ass stretched around you and finish without pulling out.",
"You empty yourself in her ass, your cock buried while her body tightens around it."
],
"climax_mouth": [
"You push the head of your cock onto her tongue and cum into her mouth in hot pulses.",
"You hold your cock at her lips and unload across her tongue.",
"You cum into her mouth, thick spurts landing on her tongue while she stays close.",
"You press against her open mouth and let the orgasm spill over her tongue.",
"You finish in her mouth, cock twitching as your cum hits her tongue and lips."
],
"climax_pants": [
"You grind through the last second and finish messily in your own clothes.",
"You grind through the last second and come messily in your own clothes.",
"You grind through the fabric and cum in your clothes, the mess trapped against your skin.",
"You finish hard, body tightening as you cum.",
"You get close and aim your cum where she can feel it."
],
"climax_stomach": [
"You stop holding back and let your orgasm take over.",
"You finish across her stomach, hot cum spreading over her belly.",
"You come across her stomach, hot cum spreading over her belly.",
"You finish across her stomach, hot cum spreading over her belly.",
"You finish across her stomach, warm cum spreading over her belly."
],
"climax_throat": [
"You push deep and cum in her throat while she holds herself around your cock.",
"You bury your cock deep enough for her throat to take your cum.",
"You cum down her throat in hard pulses, held there by her mouth and tight swallow.",
"You keep her on your cock and unload deep in her throat.",
"You finish deep in her mouth, the last pulses forced toward her throat."
],
"clit": [
"You keep your fingers on her swollen clit, rubbing until her hips start to move.",
"You tease her clit until her wet slit starts twitching under your hand.",
"Your fingers find her clit and rub it in short strokes until her thighs twitch.",
"You rub {name}'s clit with two fingertips, slow at first, then firmer as her wetness gives you clearer feedback.",
"You rub her clit until her breath catches."
],
"cont_69_focus_her_success": [
"You settle into sixty-nine, your mouth on her pussy while hers works your cock.",
"You keep licking her as she takes your cock into her mouth.",
"You line up together so your tongue can stay on her clit while she sucks you.",
"You focus your tongue on her pussy during sixty-nine, giving her more pleasure than you take for yourself."
],
"cont_69_grind_success": [
"You keep your mouth on her pussy while your hips start pushing your cock more deliberately into her mouth.",
"You hold the sixty-nine position and grind upward, making her mouth take more of your cock while your tongue stays on her cunt.",
"You press your hips into the position, trying to turn her sucking into something closer to a mouthfuck without leaving her pussy alone.",
"Your tongue stays between her thighs as your hips push your cock deeper against her tongue.",
"You use the locked position to grind into her mouth, forcing the mutual oral to become rougher on both sides."
],
"cont_69_keep_success": [
"You settle into sixty-nine, your mouth on her pussy while hers works your cock.",
"You trade focus back and forth, mouth on pussy and mouth on cock.",
"You keep the sixty-nine rhythm, licking her pussy while her mouth works your cock.",
"You keep licking her as she takes your cock into her mouth.",
"You line up together so your tongue can stay on her clit while she sucks you.",
"You keep the position tight enough for both of you to keep working."
],
"cont_69_let_her_focus_you_success": [
"You settle into sixty-nine, your mouth on her pussy while hers works your cock.",
"You keep licking her as she takes your cock into her mouth.",
"You hold back and let {name} focus her mouth on your cock while the sixty-nine position stays tangled."
],
"cont_69_to_sex": [
"You untangle from sixty-nine and guide your cock to her wet pussy while both of you are still slick from each other's mouths.",
"Her mouth leaves your cock as you turn her under you and line up with her cunt.",
"You pull away from the messy oral position and press your cock against the slit your tongue just worked.",
"You pull out of her mouth and shift from sixty-nine into sex, lining your cock up with her pussy.",
"The shared oral breaks apart long enough for your cock to find her soaked pussy."
],
"cont_69_to_sex_success": [
"You untangle from sixty-nine and guide your cock to her wet pussy while both of you are still slick from each other's mouths.",
"Her mouth leaves your cock as you turn her under you and line up with her cunt.",
"You pull away from the messy oral position and press your cock against the slit your tongue just worked.",
"You pull out of her mouth and shift from sixty-nine into sex, lining your cock up with her pussy.",
"The shared oral breaks apart long enough for your cock to find her soaked pussy."
],
"cont_anal_cowgirl_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"{name} keeps riding your cock anally, lowering herself at the pace her ass can take.",
"{name} continues riding your cock anally, lowering herself at the pace her ass can take."
],
"cont_anal_doggy_success": [
"You keep fucking {name}'s ass from behind, hands steady on her hips.",
"You keep fucking {name}'s ass from behind, hands steady on her hips.",
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch."
],
"cont_anal_hold_success": [
"You stop thrusting and let her feel your cock stretching her ass.",
"You hold still inside her ass and let {name} adjust around your cock.",
"You stay buried in her ass and hold still for a few seconds.",
"You keep your cock deep inside her while she breathes through the fullness.",
"You hold your hips against her, keeping every inch inside.",
"You keep her filled without moving until her body eases."
],
"cont_anal_missionary_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"You keep fucking {name}'s ass in missionary, close enough to watch the strain and pleasure on her face.",
"You keep fucking {name}'s ass in missionary, close enough to watch the strain and pleasure on her face."
],
"cont_anal_reverse_cowgirl_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"{name} keeps riding your cock anally in reverse cowgirl, her ass moving over you with careful control.",
"{name} continues riding your cock anally in reverse cowgirl, her ass moving over you with careful control."
],
"cont_anal_slow_success": [
"You hold your hips back and give her tight asshole time to adjust.",
"You slow your thrusts and let her ass take each inch.",
"You keep your cock in her ass and move with short, careful strokes.",
"You fuck her ass slowly, watching how she handles the stretch.",
"You keep the anal rhythm slow, letting her ass adjust around every inch of your cock.",
"You keep the anal rhythm steady, letting her ass adjust around every inch of your cock.",
"You keep the anal pace slow enough for her to breathe through it."
],
"cont_anal_wall_success": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"You keep fucking {name}'s ass against the wall, holding her steady through the intense angle.",
"You keep fucking {name}'s ass against the wall, holding her steady through the angle."
],
"cont_analingus_circle_success": [
"You keep your tongue on her asshole while your fingers join the anal play with careful pressure.",
"You bring your mouth to her ass and use your tongue with careful strokes.",
"You tease her asshole with your tongue, slow enough for her to take it.",
"You spread her ass enough to lick her asshole slowly.",
"You keep her ass spread and give the anal attention she allowed."
],
"cont_analingus_keep_success": [
"You keep licking her ass, tongue circling her asshole with slow, filthy patience.",
"You spread her ass wider and keep your mouth on her tight asshole.",
"Your tongue returns to her asshole again and again, keeping the analingus dirty and focused."
],
"cont_analingus_slow_success": [
"You bring your mouth to her ass and use your tongue with careful strokes.",
"You tease her asshole with your tongue, slow enough for her to take it.",
"You spread her ass enough to lick her asshole slowly.",
"You slow your tongue around her asshole, teasing the rim with light circles.",
"You ease the rimming into slower circles, keeping your tongue light on her asshole.",
"You keep her ass spread and give the anal attention she allowed."
],
"cont_analingus_to_anal": [
"You stop rimming her long enough to press your cock against her wet asshole.",
"Your tongue leaves her ass slick before your cock takes its place at the tight hole.",
"The analingus turns heavier as you replace your mouth with the head of your cock.",
"You move from rimming to anal sex, holding steady while her asshole adjusts to the new pressure.",
"Her ass is wet from your mouth when your cock starts pressing in."
],
"cont_analingus_to_anal_success": [
"You stop rimming her long enough to press your cock against her wet asshole.",
"Your tongue leaves her ass slick before your cock takes its place at the tight hole.",
"The analingus turns heavier as you replace your mouth with the head of your cock.",
"You move from rimming to anal sex, holding steady while her asshole adjusts to the new pressure.",
"Her ass is wet from your mouth when your cock starts pressing in."
],
"cont_analingus_to_cunni": [
"Your tongue leaves her asshole and returns to her wet pussy, making the pleasure easier for her to take.",
"You move your mouth back up from her ass to her slit, trading taboo pressure for direct clit work.",
"The analingus melts back into cunnilingus as your tongue finds her pussy again.",
"You leave her asshole wet from your tongue and move back to her cunt, dragging the same filthy attention over her slit.",
"Your mouth moves from her asshole to her clit, letting the dirty tension turn into wet pleasure."
],
"cont_analingus_to_cunni_success": [
"Your tongue leaves her asshole and returns to her wet pussy, making the pleasure easier for her to take.",
"You move your mouth back up from her ass to her slit, trading taboo pressure for direct clit work.",
"The analingus melts back into cunnilingus as your tongue finds her pussy again.",
"You leave her asshole wet and bring your mouth back to her pussy, licking her cunt before the anal tension fades.",
"Your mouth moves from her asshole to her clit, letting the dirty tension turn into wet pleasure."
],
"cont_bj_deeper_success": [
"You encourage {name} to take you deeper, letting your cock slide farther into her throat only as she allows it.",
"You guide the blowjob deeper until the head of your cock pushes farther into her mouth.",
"She takes more of your cock, slowly enough that the deeper push stays controlled."
],
"cont_bj_eye_contact_success": [
"You hold eye contact while {name} sucks your cock, turning the blowjob into a locked stare.",
"Her lips stay around your cock while you make her look up at you.",
"You keep her eyes on yours as her mouth works your shaft."
],
"cont_bj_guide_rhythm_success": [
"You guide your cock to her lips and let her mouth close around it.",
"You guide the pace of her blowjob, keeping your cock in her mouth while she follows the rhythm.",
"She takes your cock into her mouth and works the head with her tongue.",
"Your hand guides the rhythm while her lips stay around your cock, making each stroke of her mouth more deliberate.",
"She keeps your dick in her mouth and learns what makes you react.",
"She sucks you slowly at first, tongue moving around the head."
],
"cont_bj_let_continue_success": [
"You guide your cock to her lips and let her mouth close around it.",
"She takes your cock into her mouth and works the head with her tongue.",
"You let her keep your cock in her mouth, following the pace she chooses while her tongue keeps working you.",
"She keeps your dick in her mouth and learns what makes you react.",
"{name} keeps sucking your cock, mouth sliding over you while you let her hold the rhythm.",
"{name} continues sucking your cock, mouth sliding over you while you let her hold the rhythm.",
"She sucks you slowly at first, tongue moving around the head."
],
"cont_bj_praise_success": [
"You praise {name} while she sucks your cock, making every good motion obvious to her.",
"You tell her exactly when her mouth feels good, and she keeps working your cock through the praise.",
"Your praise follows each good stroke of her lips and tongue."
],
"cont_bj_slow_down_success": [
"You slow her blowjob down, holding back your orgasm by controlling the pace of her mouth.",
"You ease her mouth into a slower rhythm, letting each stroke drag longer over your cock.",
"Her lips stay around you while you make the blowjob slower and more controlled."
],
"cont_bj_to_sex": [
"Her lips leave your cock wet as you pull her up and line yourself with her pussy.",
"You pull your cock from her mouth and guide it toward her pussy, turning the blowjob into sex.",
"You lift her from your shaft and drag the wet head of your cock against her slit.",
"Her mouth leaves you slick, and you use that wetness as you push toward her cunt.",
"You break the blowjob and turn the heat of her mouth into the first push between her thighs."
],
"cont_bj_to_sex_success": [
"Her lips leave your cock wet as you pull her up and line yourself with her pussy.",
"You guide her off your cock and move between her legs before the saliva can cool.",
"You lift her from your shaft and drag the wet head of your cock against her slit.",
"Her mouth leaves you slick, and you use that wetness as you push toward her cunt.",
"You break the blowjob and turn the heat of her mouth into the first push between her thighs."
],
"cont_bj_touch_hair_success": [
"Your fingers slide into her hair while her mouth closes around your cock.",
"You touch her hair carefully while her tongue works the head of your cock.",
"Your fingers move through {name}'s hair while her mouth keeps working your cock.",
"Your fingers move through {name}'s hair while her mouth keeps working your cock.",
"Your fingers move through {name}'s hair while her mouth continues working your cock."
],
"cont_cunni_add_fingers_success": [
"You slide your fingers into her cunt while your tongue keeps working her clit.",
"Your tongue stays on her clit as two fingers ease inside her wet pussy.",
"You keep eating her out and add your fingers, filling her while your mouth stays busy."
],
"cont_cunni_keep_success": [
"You use your tongue on her pussy until her thighs start reacting.",
"You keep licking her pussy, tongue working her clit and slit without losing the rhythm.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"You lick her folds open and keep returning to her clit."
],
"cont_cunni_tease_success": [
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"Your tongue slows into teasing strokes, dragging over her slit and circling her clit without giving her enough.",
"Your tongue steadys into teasing strokes, dragging over her slit and circling her clit without giving her enough."
],
"cont_cunni_to_analingus": [
"Your mouth leaves her pussy and moves lower, dragging the wet attention toward her ass.",
"You leave her clit slick and sensitive before your tongue finds the tighter place below.",
"You drag your mouth down from her pussy to her ass and start licking her asshole.",
"You drag the wetness down from her slit and start rimming her with careful pressure.",
"Your mouth moves from her cunt to her asshole, turning the same heat into something more taboo."
],
"cont_cunni_to_analingus_success": [
"Your mouth leaves her pussy and moves lower, dragging the wet attention toward her ass.",
"You leave her clit slick and sensitive before your tongue finds the tighter place below.",
"You drag your mouth down from her pussy to her ass and start licking her asshole.",
"You drag the wetness down from her slit and start rimming her with careful pressure.",
"Your mouth moves from her cunt to her asshole, turning the same heat into something more taboo."
],
"cont_cunni_to_sex": [
"You lift your mouth from her pussy and drag your cock through the wetness your tongue left behind.",
"You rise from between her thighs and guide your cock to the slick cunt you just had under your mouth.",
"Your tongue leaves her clit, and your cock takes its place at her wet slit.",
"You lift your mouth from her wet pussy and line your cock up before the heat fades.",
"You shift up from her thighs and press the head of your cock against the cunt your mouth just opened."
],
"cont_cunni_to_sex_success": [
"You lift your mouth from her pussy and drag your cock through the wetness your tongue left behind.",
"You rise from between her thighs and guide your cock to the slick cunt you just had under your mouth.",
"Your tongue leaves her clit, and your cock takes its place at her wet slit.",
"You stop licking long enough to line your cock up with her soaked pussy.",
"You shift up from her thighs and press the head of your cock against the cunt your mouth just opened."
],
"cont_finger_keep_success": [
"Your fingers keep working inside {name}'s pussy, curling and pressing until her hips start following your hand.",
"Your fingers keep working inside {name}'s pussy, curling until her hips start following your hand.",
"You slide your fingers into her wet pussy and start with slow strokes.",
"You work one finger inside her, then bring your thumb to her clit.",
"You finger her carefully, feeling her cunt tighten around each stroke."
],
"cont_finger_tease_success": [
"You slide your fingers into her wet pussy and start with slow strokes.",
"You keep your hand between her thighs and push deeper by small degrees.",
"You use your fingers on her slit until she opens enough to take more.",
"You work one finger inside her, then bring your thumb to her clit.",
"You finger her carefully, feeling her cunt tighten around each stroke.",
"Your fingers slow, retreat, then curl back into her cunt, teasing her with every shallow return.",
"Your fingers draw back, pause, and push back into her cunt with a teasing curl."
],
"cont_finger_to_mouth": [
"Your fingers leave her wet enough for your mouth to take over, tongue settling against her clit.",
"You draw your fingers back from her cunt and lower your mouth to the slick slit you opened.",
"Your hand gives way to your tongue, turning the fingering into wet, direct oral.",
"You pull your fingers out slowly and replace them with your mouth between her thighs.",
"Her pussy stays open and slick from your fingers when your tongue finds her clit."
],
"cont_finger_to_mouth_success": [
"Your fingers leave her wet enough for your mouth to take over, tongue settling against her clit.",
"You draw your fingers back from her cunt and lower your mouth to the slick slit you opened.",
"Your hand gives way to your tongue, turning the fingering into wet, direct oral.",
"You pull your fingers out slowly and replace them with your mouth between her thighs.",
"Her pussy stays open and slick from your fingers when your tongue finds her clit."
],
"cont_footjob_keep_success": [
"{name} keeps your cock trapped between her feet, sliding both soles along your shaft.",
"Her soles squeeze your cock while she keeps stroking you with her feet.",
"She keeps the footjob going, dragging her soles over your hard cock in tight strokes."
],
"cont_hj_guide_rhythm_success": [
"She wraps her hand around your cock and starts stroking.",
"You guide her hand on your cock, setting the rhythm without taking it away from her.",
"Her hand keeps stroking your dick while you show her exactly which pace makes you react.",
"You guide the rhythm of her grip while her hand stays wrapped around your cock.",
"You let her stroke you until precum slicks her hand.",
"Her palm slides over your hard cock in steady strokes."
],
"cont_hj_keep_success": [
"She wraps her hand around your cock and starts stroking.",
"You guide her fingers around your shaft and let her work you.",
"Her hand keeps stroking your cock, grip firm enough to drag over the swollen head each time.",
"Her hand continues stroking your cock, grip firm enough to drag over the swollen head each time.",
"Her palm slides over your hard cock in steady strokes."
],
"cont_hj_kiss_success": [
"You kiss {name} while her hand strokes your cock, mixing her mouth with the rhythm of her grip.",
"Her hand keeps stroking your cock while you lean in and kiss her.",
"She keeps one hand on your dick while your mouth finds hers.",
"You kiss her instead of guiding her hand, letting her keep stroking your shaft.",
"You kiss her through the handjob, her strokes getting slick with precum.",
"Her palm keeps sliding over your hard cock while you kiss her."
],
"cont_hj_tease_success": [
"She wraps her hand around your cock and starts stroking.",
"You tease {name} while she strokes your cock, making her watch every reaction her hand earns.",
"You guide her fingers around your shaft and let her work you."
],
"cont_hj_to_bj": [
"Her hand keeps stroking until her mouth lowers and takes over around the head of your cock.",
"You guide her hand and mouth together until her lips replace her fingers around your cock.",
"Her fingers stay at the base while her mouth closes around your cock.",
"The handjob turns into a blowjob, her lips taking the rhythm her hand started.",
"She keeps you steady with her hand while her mouth moves onto your cock."
],
"cont_hj_to_bj_success": [
"Her hand keeps stroking until her mouth lowers and takes over around the head of your cock.",
"You guide the handjob toward her lips, and she replaces her fingers with wet heat.",
"Her fingers stay at the base while her mouth closes around your cock.",
"The handjob turns into a blowjob, her lips taking the rhythm her hand started.",
"She keeps you steady with her hand while her mouth moves onto your cock."
],
"cont_rubbing_keep_success": [
"You keep rubbing her pussy through the fabric, dragging your fingers over the damp cloth with steady pressure.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"You keep your hand between her thighs and rub her clothed pussy until the fabric pulls against her slit.",
"You keep rubbing her pussy through the fabric, dragging the cloth against her slit without going inside.",
"You keep your palm against her pussy and build the friction slowly.",
"You slip your hand low enough to make the contact unmistakable."
],
"cont_rubbing_to_fingering_success": [
"The rubbing through fabric becomes direct when your fingers slip past the last layer and find her wet pussy.",
"You move from rubbing her through the cloth to touching her cunt directly.",
"Your fingers leave the fabric behind and slide into the wet slit underneath.",
"The teasing over her clothes turns into fingering as your hand finally gets under the barrier.",
"You stop grinding fabric against her pussy and push your fingers into the slick heat below."
],
"cont_sex_cowgirl_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You slide inside her cunt and let her body adjust around you.",
"{name} keeps riding you in cowgirl, her pussy sliding down your cock at her chosen pace.",
"{name} continues riding you in cowgirl, her pussy sliding down your cock at her chosen pace."
],
"cont_sex_doggy_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You keep fucking {name} from behind, hands on her hips as your cock drives into her pussy.",
"You slide inside her cunt and let her body adjust around you."
],
"cont_sex_missionary_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You slide inside her cunt and let her body adjust around you.",
"You keep fucking {name} in missionary, staying close enough to watch every reaction cross her face."
],
"cont_sex_reverse_cowgirl_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You slide inside her cunt and let her body adjust around you.",
"{name} keeps riding you in reverse cowgirl, facing away while her ass moves over your hips.",
"{name} continues riding you in reverse cowgirl, facing away while her ass moves over your hips."
],
"cont_sex_to_69": [
"You break the thrusting and turn the heat into mutual oral, pulling her mouth toward your cock while yours finds her pussy.",
"The sex pauses with her pussy still wet from your cock, then changes into mouths and tongues.",
"You shift out of penetration and pull her into sixty-nine before the heat can fade.",
"You trade thrusting for mutual oral, keeping her wet cunt close to your mouth while she lowers to your cock.",
"You pull your cock out of her pussy and turn the position into sixty-nine, bringing your mouth to her cunt as hers finds your cock."
],
"cont_sex_to_69_success": [
"You break the thrusting and turn the heat into mutual oral, pulling her mouth toward your cock while yours finds her pussy.",
"The sex pauses with her pussy still wet from your cock, then changes into mouths and tongues.",
"You shift out of penetration and pull her into sixty-nine before the heat can fade.",
"You trade thrusting for mutual oral, keeping her wet cunt close to your mouth while she lowers to your cock.",
"You pull your cock out of her pussy and turn the position into sixty-nine, bringing your mouth to her cunt as hers finds your cock."
],
"cont_sex_to_anal": [
"You pull from her wet pussy and press your cock against her tight asshole, letting the switch happen carefully.",
"The vaginal rhythm breaks as you guide your slick cock from her cunt to her ass.",
"You pull out of her pussy and press your cock against her asshole, slowing down as the penetration shifts to anal.",
"Her cunt leaves your cock wet before you guide it toward her ass.",
"You trade the wet slide of her pussy for the tighter pressure of her ass, moving only when she can take it."
],
"cont_sex_to_anal_success": [
"You pull from her wet pussy and press your cock against her tight asshole, letting the switch happen carefully.",
"The vaginal rhythm breaks as you guide your slick cock from her cunt to her ass.",
"You pull out of her pussy and press your cock against her asshole, slowing down as the penetration shifts to anal.",
"Her cunt leaves your cock wet before you guide it toward her ass.",
"You trade the wet slide of her pussy for the tighter pressure of her ass, moving only when she can take it."
],
"cont_sex_wall_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You slide inside her cunt and let her body adjust around you.",
"You keep fucking {name} against the wall, holding her steady while the position stays urgent."
],
"cont_titfuck_keep_success": [
"{name} keeps your cock buried between her tits, squeezing them tight around each thrust.",
"Her breasts stay pressed around your shaft while you keep fucking between them.",
"You keep thrusting through her tits, the head of your cock sliding out with each push."
],
"cont_titfuck_let_work_success": [
"She squeezes her tits around your cock and lets you thrust between them.",
"You let {name} take over, and she moves her tits around your cock at her own pace.",
"Your shaft slides between her breasts while she holds them tight."
],
"cont_titfuck_lick_tip_success": [
"{name} keeps your cock between her tits and leans down to lick the head each time it pushes out.",
"She keeps your cock squeezed between her tits and flicks her tongue over the head when it reaches her mouth.",
"She squeezes her tits around your shaft and licks the head on every high stroke."
],
"continue_anal": [
"Your cock stretches her asshole open, inch by inch.",
"Your hips drive into her from behind, cock buried in her ass.",
"You line your cock with her ass and push in until she has to brace herself.",
"You fuck her ass with short thrusts while she holds herself still.",
"You keep fucking her tight asshole until her body shakes under you."
],
"continue_analingus": [
"You spread her cheeks and drag your tongue over her asshole.",
"You keep rimming her, tongue working her tight hole until the dirty pleasure starts making her wetter.",
"Her breath catches when you circle her asshole again, but she does not move away.",
"You keep her ass open and lick her slowly.",
"{name} stays in position, tense at first, then softer as your tongue keeps the analingus slow and deliberate."
],
"continue_analingus_fingers": [
"You keep your tongue on her asshole while your fingers join the anal play with careful pressure.",
"You bring your mouth to her ass and use your tongue with careful strokes.",
"You tease her asshole with your tongue, slow enough for her to take it.",
"You spread her ass enough to lick her asshole slowly.",
"You keep her ass spread and give the anal attention she allowed."
],
"continue_blowjob": [
"You keep your cock in her mouth while she works it with lips and tongue.",
"You guide your cock between her lips and she takes it with her tongue against the underside.",
"{name} keeps her mouth around your cock, using her tongue whenever she pulls back to the head.",
"Her tongue circles the head while her fingers keep pumping, turning the blowjob sharper and more focused.",
"She sucks harder when your cock twitches, learning how to keep you trapped in the sensation."
],
"continue_cunnilingus": [
"You bury your mouth against her cunt and lick until her hips start to jerk.",
"You put your mouth between her thighs and lick up to her clit.",
"You suck lightly on her clit, then flatten your tongue over her pussy again.",
"{name}'s thighs frame your face while your tongue keeps working her cunt.",
"You lick her pussy from the bottom of her folds up to her clit.",
"{name} stops trying to sound composed. Her hips lift toward your mouth as the licking turns wet, steady, and impossible to ignore.",
"The licking continues, wetter and more focused, each pass of your tongue making {name} tense and soften in waves.",
"Your mouth stays locked to her cunt, patient enough to build the feeling and hungry enough not to let it fade."
],
"continue_cunnilingus_fingers": [
"Your fingers pump inside her soaked pussy as your tongue works her swollen clit.",
"You slide two fingers deep into her cunt while licking her clit.",
"You curl your fingers against the spot inside her while your mouth works her clit.",
"Thick juices coat your fingers as you lick and thrust at the same time.",
"Your fingers slide into her pussy and curl inside her.",
"You finger-fuck her steadily while sucking on her clit."
],
"continue_cunnilingus_tease": [
"You bury your mouth against her cunt and lick until her hips start to jerk.",
"Your mouth goes between her thighs, tongue dragging over her wet slit.",
"Your mouth stays close to her pussy, giving light flicks and kisses that never quite become enough.",
"Your tongue moves in slow, frustrating patterns around her cunt.",
"Soft teasing licks keep her pussy throbbing and needy.",
"You lick around her soaked entrance, keeping her desperate and dripping."
],
"continue_deepthroat": [
"You ask for more depth, and {name} lowers again until your cock slides farther into her throat.",
"She takes a breath through her nose, opens her mouth wider, and lets more of your shaft disappear past her lips.",
"The blowjob gets deeper. She sinks down, gags once, and comes back with her lips stretched around more of you.",
"You guide her down slowly, feeding her cock inch by inch until her throat tightens around you.",
"{name} tries to take you deeper, saliva running down your shaft as she holds herself on your cock for a second longer."
],
"continue_fingering": [
"Your fingers keep working inside {name}'s pussy, curling and pressing until her hips start following your hand.",
"Your hand works between her thighs, fingers moving in and out of her pussy.",
"You keep your fingers inside her soaked cunt, curling deeper whenever her hips answer.",
"Your hand works between her legs, wet and deliberate, until her pussy tightens around your fingers.",
"You spread her wet folds and push two fingers into her cunt.",
"{name}'s cunt slicks your fingers as you keep moving, each curl making her body answer harder.",
"Your fingers slide into her pussy and curl inside her.",
"You finger her slowly, letting your thumb catch her clit between strokes."
],
"continue_fingering_tease": [
"You slide your fingers into her wet pussy and start with slow strokes.",
"Your fingers stay buried in her slit, moving playfully and cruelly enough to make her hips beg for the next stroke.",
"You spread her wet folds and push two fingers into her cunt.",
"Your fingers slow, curl, and retreat in teasing patterns that keep her cunt tense around every motion.",
"You drag your fingertips against her inner walls, then pause just long enough to make her clench around nothing."
],
"continue_footjob": [
"{name} keeps your cock between her feet, sliding both soles along your shaft until the head slips out and gets pulled back in.",
"The footjob continues with her legs raised and your cock trapped between her feet, slicking the skin with precum.",
"Her toes curl against you as she strokes your cock with her feet, squeezing just enough to make every pass drag.",
"She works you with both soles, one foot bracing the base while the other rubs over the head of your cock.",
"She keeps using her feet on you, rubbing from base to head and tightening her toes whenever your cock twitches."
],
"continue_handjob": [
"{name}'s fingers tighten around you as the handjob grows faster and dirtier.",
"Her thumb circles the head while her fingers keep pumping, turning the handjob sharper and more focused.",
"Her hand keeps stroking your cock, grip firm enough to make every pull drag over the swollen head.",
"Her hand works your cock while her thumb catches the head.",
"She pumps your shaft with her fingers tight around it."
],
"continue_rubbing": [
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"Your fingers drag over the cloth again and again, grinding the fabric against her clit until her hips begin to answer.",
"You rub her through her clothes, making the fabric slide against her pussy.",
"Your hand rubs her pussy through the fabric until the cloth sticks to her.",
"You work her through her panties without pushing inside yet, using the friction until the cloth feels warm and damp under your hand."
],
"continue_sex": [
"You push your cock into her wet pussy and start thrusting slowly.",
"Your cock sinks into her pussy and you start fucking her.",
"Your cock pushes into her pussy and the act becomes sex.",
"{name} stays with you as the sex keeps building, her cunt slicking around your cock before she can make herself sound composed.",
"You push into her until your hips meet hers.",
"She spreads her legs and takes your cock."
],
"continue_sixty_nine": [
"You both use your mouths, her thighs around your head and your cock between her lips.",
"You get into Sixty-nine, your mouth on her pussy while hers works your cock.",
"She lowers herself over your face and takes your cock into her mouth.",
"Your tongue works her cunt while she sucks you at the same time.",
"You keep licking her pussy while she sucks you, both of you getting messier with every broken breath."
],
"continue_titfuck": [
"{name} keeps your cock buried between her tits, squeezing them together as she strokes you with her chest.",
"Her breasts slide up and down your shaft, soft skin closing around your cock until the head pushes out between them.",
"The titfuck keeps going, your cock trapped in the warm press of her breasts while she moves against you.",
"She cups her tits tighter and works them over you, letting precum smear across her chest.",
"She keeps her chest around you and strokes steadily, dragging her tits along your shaft until you twitch."
],
"continue_titfuck_let_work": [
"Your cock slides between her breasts, the head pushing up toward her mouth.",
"She does the work herself, rolling her tits around your shaft and adjusting whenever your cock slips free.",
"You let {name} take over. She holds her tits around your cock and moves them herself, watching how your shaft reacts.",
"You stop guiding her, and she keeps going on her own, sliding her breasts over your cock until the head glistens.",
"{name} squeezes her tits together and traps your shaft between them."
],
"continue_titfuck_lick_tip": [
"The titfuck turns messier as she licks the tip between passes, her tongue and tits sharing the same slick path.",
"She holds her tits tight around you and drags her tongue over the exposed head whenever it reaches her mouth.",
"{name} keeps your cock between her tits and leans down to lick the head each time it pushes out.",
"Her breasts squeeze your shaft while her tongue flicks over the tip, catching precum before she strokes you again.",
"She works you with her chest, then dips her mouth low enough to taste the head of your cock."
],
"cowgirl": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You slide inside her cunt and let her body adjust around you.",
"{name} climbs over you and sinks onto your cock in cowgirl, controlling the first motion with her hips."
],
"cowgirl_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You slide inside her cunt and let her body adjust around you.",
"{name} climbs over you and sinks onto your cock in cowgirl, controlling the first motion with her hips."
],
"cunnilingus_to_sex": [
"You lift your mouth from her pussy and drag your cock through the wetness your tongue left behind.",
"You rise from between her thighs and guide your cock to the slick cunt you just had under your mouth.",
"Your tongue leaves her clit, and your cock takes its place at her wet slit.",
"You stop licking long enough to line your cock up with her soaked pussy.",
"You shift up from her thighs and press the head of your cock against the cunt your mouth just opened."
],
"default_failure": [
"You try to continue, but {name} stops it before it goes farther.",
"You start to push the contact farther, but {name} stops the move before it settles.",
"You make the attempt, and {name} refuses it clearly.",
"{name} cuts the action short before your hands can push the contact any further.",
"You try to continue, but she blocks the escalation and makes the limit clear.",
"The attempt reaches the edge of what she will allow, and she breaks it before it continues.",
"{name} interrupts the move before it can become more sexual."
],
"default_success": [
"You continue carefully, watching how she reacts.",
"You keep the move clear and physical, close enough that {name} can feel exactly what you are asking from her body.",
"You close the distance with a touch clear enough for her body to answer.",
"You move closer, letting your body make the next offer before your hands do.",
"You close the distance and put your hands on her."
],
"demand_anal_sex_success": [
"You demand anal from {name}, and she gives you a careful yes.",
"You order her to give you her ass, and she accepts the command with a tense look.",
"You command anal from her, and she lets the order stand instead of refusing.",
"{name} hears the demand for anal and gives you a careful, dangerous yes.",
"The anal demand lands. She does not look relaxed, but she agrees to obey."
],
"demand_blowjob_success": [
"You demand a blowjob, and {name} accepts the order after a tense pause.",
"You order her to use her mouth, and she decides to obey.",
"You command her to suck you, and she gives you a look that says she heard you.",
"{name} accepts the blowjob demand, but her eyes warn you not to push your luck.",
"The order lands. She agrees to use her mouth, but nothing starts until she chooses to move."
],
"demand_cunnilingus_success": [
"You demand to go down on her, and {name} accepts the command after a sharp breath.",
"You order her to open for your mouth, and she lets the demand stand.",
"You command her to let you lick her, and she accepts with a sharp breath.",
"{name} accepts the cunnilingus demand, but her look tells you to be careful.",
"The order lands. She agrees to let your mouth between her legs."
],
"demand_footjob_success": [
"You demand a footjob, and {name} accepts the order with a controlled look.",
"You order her to use her feet, and she decides to obey.",
"You command a footjob from her, and she lets the demand stand.",
"{name} accepts the footjob demand, but does not make it soft for you.",
"The order lands. She agrees to give you that much."
],
"demand_handjob_success": [
"You demand a handjob, and {name} accepts the order after a tense pause.",
"You order her to use her hand, and she decides to obey.",
"You command her to stroke you, and she lets the demand stand.",
"{name} accepts the handjob demand with a look that tells you not to ask for more yet.",
"The order lands. She agrees to touch you, but only on her terms."
],
"demand_sex_success": [
"You demand sex from {name}, and after a tense pause she accepts the order.",
"You order her to fuck you, and she accepts the command with a tense breath.",
"You command sex from her, and she lets the demand stand instead of refusing.",
"{name} accepts the sex demand, but her look tells you to keep control.",
"The order lands. She agrees to sex, but nothing physical starts before she is ready."
],
"demand_sixty_nine_success": [
"You demand sixty-nine, and {name} accepts the order after a measured pause.",
"You order her into sixty-nine, and she decides to obey.",
"You demand sixty-nine, and she accepts the order after making sure your mouth has work too.",
"{name} accepts the sixty-nine demand, but makes it clear your mouth has work too.",
"The order lands. She agrees to the position, but not to being the only one used."
],
"demand_titfuck_success": [
"You demand a titfuck, and {name} accepts the command with a hard look.",
"You order her to use her breasts, and she decides to obey.",
"You command her chest like it is yours, and she lets the demand stand for now.",
"{name} accepts the titfuck demand, but her eyes warn you not to get smug.",
"The order lands. She agrees to use her tits, but only because she chooses to obey."
],
"doggy": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You move behind {name} and push your cock into her pussy from behind.",
"You slide inside her cunt and let her body adjust around you."
],
"doggy_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You move behind {name} and push your cock into her pussy from behind.",
"You slide inside her cunt and let her body adjust around you."
],
"facesitting": [
"{name} lowers her pussy over your mouth, thighs tightening around your head as your tongue finds her clit.",
"You bury your mouth against her cunt and lick until her hips start to jerk.",
"Her pussy covers your mouth and she has to steady herself as your tongue starts licking her from below.",
"Her body hovers over your mouth for a second before she gives in and grinds her cunt against your tongue.",
"You lick her pussy from the bottom of her folds up to her clit."
],
"finger_ass_success": [
"You spread her ass with one hand and press a slick finger against her tight asshole.",
"You ease one finger into her ass slowly, pausing whenever her body tightens.",
"Your finger circles her asshole before slipping in with careful pressure.",
"You work one finger into her tight little asshole, slow enough for her to adjust.",
"You keep her ass spread while your finger tests her inch by inch."
],
"finger_pussy": [
"You slide your fingers into her wet pussy and start with slow strokes.",
"You work one finger inside her, then bring your thumb to her clit.",
"You finger her carefully, feeling her cunt tighten around each stroke.",
"Your fingers slide into {name}'s wet pussy and curl inside her, turning the petting into direct fingering.",
"Your slow fingers slide into {name}'s wet pussy and curl inside her, turning the petting into direct fingering."
],
"finger_pussy_success": [
"You slide your fingers into her wet pussy and start with slow strokes.",
"You work one finger inside her, then bring your thumb to her clit.",
"You finger her carefully, feeling her cunt tighten around each stroke.",
"Your fingers slide into {name}'s wet pussy and curl inside her, turning the petting into direct fingering.",
"Your slow fingers slide into {name}'s wet pussy and curl inside her, turning the petting into direct fingering."
],
"fingering_pleasure": [
"You slide your fingers into her wet pussy and start with slow strokes.",
"You work one finger inside her, then bring your thumb to her clit.",
"You finger her carefully, feeling her cunt tighten around each stroke.",
"Your fingers work inside her pussy, curling and pressing against her inner walls.",
"Your fingers work steadily inside her pussy, curling and pressing against her inner walls."
],
"grind_together": [
"You press your hips against her and grind slowly, making the friction come from your bodies instead of your hand.",
"You pull her close and grind against her through the clothes, keeping the pressure low and obvious.",
"Your hips move against hers, using the fabric between you to make every slow grind felt.",
"You keep your hips pressed to hers and build the friction slowly through your clothes.",
"You pull her close enough that the grind is unmistakable.",
"You press your hips into her and grind against her body, making the friction obvious through the closeness.",
"You press your hips into her and grind against her body, making the friction impossible to ignore through the closeness."
],
"grind_together_success": [
"You press your hips against her and grind slowly, making the friction come from your bodies instead of your hand.",
"You pull her close and grind against her through the clothes, keeping the pressure low and obvious.",
"Your hips move against hers, using the fabric between you to make every slow grind felt.",
"You keep your hips pressed to hers and build the friction slowly through your clothes.",
"You pull her close enough that the grind is unmistakable.",
"You press your hips into her and grind against her body, making the friction obvious through the closeness.",
"You press your hips into her and grind against her body, making the friction impossible to ignore through the closeness."
],
"handjob_pleasure": [
"She wraps her hand around your cock and starts stroking.",
"She keeps one hand on your dick and watches how you respond.",
"You guide her fingers around your shaft and let her work you.",
"You let her stroke you until precum slicks her hand.",
"{name}'s hand strokes your cock with a firm, testing rhythm.",
"{name}'s hand strokes your cock with a firm, testing rhythm.",
"Her palm slides over your hard cock in steady strokes."
],
"lick_pussy_success": [
"You lower your mouth to {name}'s pussy and start licking her slit and clit with deliberate strokes.",
"You lower your mouth to {name}'s pussy and start licking her slit and clit.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit."
],
"massage_ass": [
"Your hands move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier.",
"Your steady hands move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"Your palms move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier."
],
"massage_ass_success": [
"Your hands move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier.",
"Your steady hands move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"Your palms move over her ass, squeezing and spreading her cheeks while the massage turns lower and dirtier."
],
"massage_back": [
"You keep the massage steady, focusing on the place you chose.",
"You work down her back with steady hands, pressing into each tight spot until her breathing starts to slow.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"massage_breasts": [
"Your hands massage her tits, thumbs circling her nipples until they start hardening under the pressure.",
"Your steady massage reaches her breasts, hands working over her tits while your thumbs find the shape of her nipples.",
"Your massage reaches her breasts, palms working over her tits while your thumbs find the shape of her nipples.",
"You massage her breasts with both hands, keeping the pressure slow enough for her body to answer.",
"Your hands move over her breasts, kneading slowly while your thumbs circle her nipples."
],
"massage_breasts_success": [
"Your hands keep massaging her tits, thumbs working over her nipples without bringing your mouth in.",
"Your steady massage reaches her breasts, hands working over her tits while your thumbs find the shape of her nipples.",
"Your massage reaches her breasts, palms working over her tits while your thumbs find the shape of her nipples.",
"You massage her breasts with both hands, keeping the pressure slow enough for her body to answer.",
"Your hands move over her breasts, kneading slowly while your thumbs circle her nipples."
],
"massage_escalate": [
"You massage her ass with both hands, spreading and squeezing it.",
"The massage stops being only relief when your hands linger lower and {name} lets the bolder touch stay.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"Your palms move over her ass while she shifts under the touch."
],
"massage_inner_thighs": [
"Your hands move along {name}'s inner thighs, rubbing slowly while staying close enough to her pussy to charge every stroke.",
"Your steady hands move along {name}'s inner thighs, rubbing slowly while staying close enough to her pussy to charge every stroke.",
"You work your hands into her muscles with slow, firm strokes.",
"Your palms move along {name}'s inner thighs, rubbing slowly while staying close enough to her pussy to charge every stroke."
],
"massage_inner_thighs_success": [
"Your hands move along {name}'s inner thighs, rubbing slowly while staying close enough to her pussy to charge every stroke.",
"Your steady hands move along {name}'s inner thighs, rubbing slowly while staying close enough to her pussy to charge every stroke.",
"You work your hands into her muscles with slow, firm strokes.",
"Your palms move along {name}'s inner thighs, rubbing slowly while staying close enough to her pussy to charge every stroke.",
"Your hands move along {name}'s inner thighs, rubbing close enough to her pussy to charge every stroke."
],
"massage_legs": [
"You keep the massage steady, focusing on the place you chose.",
"Your hands knead her ass, fingers digging into the soft flesh.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"massage_lower_back": [
"You keep the massage steady, focusing on the place you chose.",
"Your hands knead her ass, fingers digging into the soft flesh.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"massage_lower_back_success": [
"Your hands move to her lower back, slow and heavy, close enough to make the massage feel risky.",
"Your steady hands move to her lower back, slow and heavy, close enough to make the massage feel risky.",
"Your hands move to her lower back, careful and heavy, close enough to make the massage feel risky.",
"You work your hands into her muscles with slow, firm strokes.",
"Your palms move to her lower back, slow and heavy, close enough to make the massage feel risky."
],
"massage_neck": [
"You keep the massage steady, focusing on the place you chose.",
"Your hands knead her ass, fingers digging into the soft flesh.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"massage_pussy_bare": [
"Your fingers leave the massage path and settle on her bare slit, rubbing slowly until her thighs part.",
"You rub her bare pussy with slow strokes, keeping the massage rhythm even as it turns sexual.",
"Your fingertips slide over her folds and circle her clit without rushing straight inside.",
"You work the massage down to her pussy, using steady pressure on her slit and clit.",
"Your hand stays between her thighs, rubbing her bare pussy until the massage becomes direct sexual touching."
],
"massage_pussy_bare_success": [
"Her bare slit is under your fingers now, and the massage becomes slow rubbing over her clit and folds.",
"You rub her bare pussy with slow strokes, keeping the massage rhythm even as it turns sexual.",
"Your fingertips slide over her folds and circle her clit without rushing straight inside.",
"You work the massage down to her pussy, using steady pressure on her slit and clit.",
"Your hand stays between her thighs, rubbing her bare pussy until the massage turns openly sexual."
],
"massage_pussy_fabric": [
"You drag your hand over her clothed slit until the fabric starts to dampen.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"Your hand rubs her pussy through the fabric, making the cloth drag over her slit with every slow stroke.",
"Your steady hand rubs her pussy through the fabric, making the cloth drag over her slit with every slow stroke.",
"Your hand rubs her pussy through the fabric, making the cloth drag over her slit with every careful stroke."
],
"massage_pussy_fabric_success": [
"You drag your hand over her clothed slit until the fabric starts to dampen.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"Your hand rubs her pussy through the fabric, making the cloth drag over her slit with every slow stroke.",
"Your steady hand rubs her pussy through the fabric, making the cloth drag over her slit with every slow stroke.",
"Your hand rubs her pussy through the fabric, making the cloth drag over her slit with every careful stroke."
],
"massage_shoulders": [
"You keep the massage steady, focusing on the place you chose.",
"Your hands knead her ass, fingers digging into the soft flesh.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"You press in carefully and let your hands do the work."
],
"massage_start": [
"You start the massage with patient hands, keeping the contact useful before it becomes anything more.",
"Your hands knead her ass, fingers digging into the soft flesh.",
"You work your hands into her muscles with slow, firm strokes.",
"You use both hands and follow the tight spots under your thumbs.",
"Your palms move over her ass while she shifts under the touch."
],
"massage_strip_break": [
"The massage pauses while the next layer comes off, then your hands return to warmer skin.",
"You break the massage long enough to remove a layer and make the next touch more exposed.",
"The clothing shift interrupts the rhythm for a moment before your hands settle again.",
"One layer comes away during the massage, changing the pressure from clothed to more direct."
],
"massage_strip_warning": [
"The massage is starting to turn into undressing, and the next touch will make that obvious.",
"Your hands find the edge of the next layer, and the massage pauses around that choice.",
"The layer still in the way makes the massage feel less innocent than when it started."
],
"massage_tongue_ass": [
"You bring your mouth to her ass and use your tongue with careful strokes.",
"You shift behind her and put your tongue to her ass, turning the massage into slow, filthy rimming.",
"You shift behind her and put your tongue to her ass, turning the massage into careful, filthy rimming.",
"You spread her ass enough to lick her asshole slowly."
],
"massage_tongue_ass_success": [
"You bring your mouth to her ass and use your tongue with careful strokes.",
"You shift behind her and put your tongue to her ass, turning the massage into slow, filthy rimming.",
"You shift behind her and put your tongue to her ass, turning the massage into careful, filthy rimming.",
"You spread her ass enough to lick her asshole slowly.",
"You work your tongue over her tight asshole until she starts to relax."
],
"massage_tongue_pussy": [
"You lower your mouth to her pussy, using your tongue on her slit and clit until the massage becomes cunnilingus.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"You lick her folds open and keep returning to her clit."
],
"massage_tongue_pussy_success": [
"You lower your mouth to her pussy, using your tongue on her slit and clit until the massage becomes cunnilingus.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"You lick her folds open and keep returning to her clit."
],
"massage_vagina": [
"Your fingers move between her thighs and start rubbing her pussy as the massage turns sexual.",
"You let the massage move onto her pussy, using slow strokes over her slit.",
"Your hand works between her thighs, rubbing her clit in slow strokes as the massage turns sexual.",
"Your fingers find her clit during the massage and rub it slowly while your other hand keeps her thighs open.",
"You keep massaging her inner thighs until your fingers are working her pussy directly."
],
"massage_vagina_success": [
"Your fingers move over her clit as the massage turns into pussy play.",
"You let the massage move onto her pussy, using slow strokes over her slit.",
"Your fingers work her pussy in slow strokes, staying on her clit until her hips answer.",
"Your fingers settle on her clit and rub with a slower rhythm, making the massage focus on her pussy.",
"You keep massaging her inner thighs until your fingers are working her pussy directly."
],
"missionary": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You settle between her legs, line up, and slide into her pussy face to face.",
"You settle between {name}'s legs and push your cock into her pussy in missionary.",
"You slide inside her cunt and let her body adjust around you."
],
"missionary_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You stay over her and fuck her in missionary, close enough to watch her breath change.",
"You settle between {name}'s legs and fuck her in missionary.",
"You slide inside her cunt and let her body adjust around you."
],
"mutual_oral_pleasure": [
"Your tongue stays on her clit as her lips move around your dick.",
"You keep your mouth on her pussy while she works your cock.",
"You keep the mutual oral rhythm, mouth on her pussy while hers works your cock.",
"You stay in sixty-nine, eating her pussy while she keeps your cock wet.",
"Her mouth and your tongue work at the same time, sloppy and close.",
"You lick her through another moan while she keeps sucking you."
],
"oral_give": [
"You keep your cock in her mouth while she works it with lips and tongue.",
"Her mouth closes around your cock and starts sucking again.",
"Her lips close around the head of your cock first, tongue testing you before she takes more.",
"Her lips slide down your cock, wet and tight around you.",
"She sucks the head of your cock before taking more of the shaft."
],
"oral_giving_pleasure": [
"You guide your cock to her lips and let her mouth close around it.",
"{name}'s mouth works your cock, tongue and lips moving over the head and shaft.",
"{name}'s mouth works your cock, her tongue moving over the head and shaft.",
"She takes your cock into her mouth and works the head with her tongue.",
"She sucks you slowly at first, tongue moving around the head."
],
"oral_receive": [
"Your tongue presses against her clit, then drags lower through her slit, making her hips lift toward your mouth.",
"You bury your mouth against her cunt and lick until her hips start to jerk.",
"You put your mouth between her thighs and lick up to her clit.",
"Your mouth goes between her thighs, tongue dragging over her wet slit.",
"The oral starts slow, your lips and tongue teasing her cunt open before focusing where she needs it most.",
"You lick her pussy from the bottom of her folds up to her clit.",
"You stay between her legs and use your mouth on her pussy until her breathing turns sharp and needy.",
"Your tongue works over her slit, tasting the wetness building there before returning to the spot that makes her tremble."
],
"oral_receiving_pleasure": [
"You use your tongue on her pussy until her thighs start reacting.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"Your tongue works her pussy, moving between her clit and wet slit with steady pressure.",
"Your tongue moves between her slit and clit, changing pace when her thighs tense.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"You lick her folds open and keep returning to her clit."
],
"orgasm": [
"The orgasm rolls through {name} in visible waves, her hips twitching and her breath breaking until it passes.",
"The orgasm breaks through the act, leaving breath, wet skin, and trembling muscles behind.",
"Your cock twitches as you reach the edge and finish hard.",
"{name} shudders through the orgasm, cunt pulsing as the last of the pleasure drains out of her.",
"You get close and keep going until the orgasm breaks through.",
"The build snaps, and you empty yourself where the act has taken you."
],
"penetration_pleasure": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You slide inside her cunt and let her body adjust around you.",
"You keep your cock inside her and build the pace from there.",
"You press deeper into her pussy and hold yourself there for a breath before moving again.",
"Your cock moves inside her pussy with a steady rhythm.",
"Your cock moves inside her pussy with a steady rhythm."
],
"pet_over_clothes": [
"You slide your hand over her clothes, feeling the shape of her body through the fabric.",
"Your palm traces her covered body without pushing underneath the fabric.",
"You rub her through her clothes, letting the fabric carry the pressure.",
"You keep the cloth between your hand and her skin while making the touch more intimate."
],
"pet_over_clothes_success": [
"You slide your hand over her clothes, feeling the shape of her body through the fabric.",
"Your palm traces her covered body without pushing underneath the fabric.",
"You rub her through her clothes, letting the fabric carry the pressure.",
"You keep the cloth between your hand and her skin while making the touch more intimate."
],
"petting": [
"Your hand lingers in a place that makes the closeness stop feeling casual.",
"Your hand settles against her hip, and you wait to see if she pulls away.",
"Your hand moves to her waist, close enough that she knows exactly what you are doing.",
"You let your hand linger where the contact can no longer be mistaken for casual."
],
"player_undress": [
"You remove your clothes while {name} watches.",
"You strip yourself down in front of {name}, giving her the full view.",
"You take your clothes off slowly enough for her to look.",
"You undress for her, leaving yourself exposed under her eyes."
],
"refusal_against_wall": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You start to enter her, but she stops you before it goes farther.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} puts a hand on your chest before you can pin her against the wall.",
"{name} plants a hand against your chest before the wall position can become sex.",
"{name} stops you before the act can begin."
],
"refusal_anal": [
"You try to continue, but {name} stops it before it goes farther.",
"You push toward anal, but {name} stops the idea before it can reach her ass.",
"You try to move the encounter toward her ass, but she blocks it.",
"You bring up anal, and {name} shuts the idea down before the scene can move there.",
"The request reaches a harder limit, and she shuts it down.",
"{name} makes it clear that anal is not happening now."
],
"refusal_anal_cowgirl": [
"You start to press into her asshole, but she refuses before it continues.",
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_anal_doggy": [
"You start to press into her asshole, but she refuses before it continues.",
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} pulls her ass away before your cock can press against it.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_anal_missionary": [
"You start to press into her asshole, but she refuses before it continues.",
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You line your cock up with her ass, but she stops your hips before you push in.",
"{name} stops you before the act can begin."
],
"refusal_anal_reverse_cowgirl": [
"You start to press into her asshole, but she refuses before it continues.",
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_anal_talk": [
"You bring up anal, but {name} refuses to let the subject go any further.",
"You ask about anal, and {name} gives you a short answer that ends it.",
"{name} stops the topic before it can become pressure.",
"You mention her ass, and she makes the boundary clear.",
"The subject pushes too far, and she cuts it short.",
"{name} cuts off the anal talk before you can keep pushing the subject."
],
"refusal_anal_wall": [
"You start to press into her asshole, but she refuses before it continues.",
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_ask_anal_sex": [
"You ask for anal, and {name} tells you she is not ready for your cock in her ass.",
"You ask for anal, and {name} refuses before your cock gets near her ass.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You ask to fuck her ass, and she shuts the idea down immediately.",
"{name} stops you before the act can begin."
],
"refusal_ask_blowjob": [
"You ask for her mouth, but {name} keeps her eyes on yours and says no before anything starts.",
"You ask her to suck your cock, and she refuses before moving toward you.",
"You ask for a blowjob, and she refuses without moving toward your cock.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You ask for her mouth, and she refuses before your cock gets anywhere near her lips.",
"{name} stops you before the act can begin."
],
"refusal_ask_bottom_off": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You ask her to take off her bottoms, and she refuses the step.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_ask_bra_off": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"You ask her to take off her bra, and she keeps it on.",
"{name} makes it clear that this layer stays on."
],
"refusal_ask_footjob": [
"{name} looks down at your cock, then back at you, and refuses the footjob before it starts.",
"You ask for a footjob, but {name} pulls her legs back and keeps her feet away from your cock.",
"You try to bring her foot back to your cock, but {name} pulls her legs away.",
"You try to guide her feet toward you, but she draws them under herself and stops the idea there."
],
"refusal_ask_handjob": [
"You ask for her hand, and {name} refuses without reaching for you.",
"You ask her to touch your cock, and she keeps her hands to herself.",
"You ask her to stroke your cock, and she keeps her hands off you.",
"You try to take the action there, but she blocks the step before it becomes real.",
"You ask her to touch your cock, and {name} keeps her hand away from it.",
"You ask her to touch your cock, and {name} keeps her hand away from it.",
"{name} stops you before the act can begin."
],
"refusal_ask_low_scene": [
"You try to continue, but {name} stops it before it goes farther.",
"You make the attempt, and {name} refuses it clearly.",
"The request is far ahead of what she is willing to allow, and she shuts it down immediately.",
"She reacts sharply to how much you asked for, pulling the encounter back before it can escalate.",
"The gap between the request and her comfort is too wide. She refuses before you can soften it."
],
"refusal_ask_naked": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"You ask her to get naked, and she refuses before the request turns into anything physical.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_ask_normal_scene": [
"You ask for more, and {name} refuses before anything physical starts.",
"You ask, and she shuts the request down before the act can start.",
"You ask for more, and {name} refuses before anything changes.",
"You make the move, and she pulls back at once.",
"You ask for more, and {name} refuses before anything changes.",
"She keeps the request in words only and makes it clear she is not ready."
],
"refusal_ask_panties_off": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"You ask her to remove her panties, and she keeps the final layer on.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_ask_permission_finger": [
"You ask to use your fingers, but {name} keeps the answer firm and her thighs closed.",
"You ask to finger her, and she refuses before your hand moves between her thighs.",
"You ask to use your fingers on her, and {name} refuses before your hand moves in.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You ask to finger her, and she refuses before your hand gets between her thighs.",
"{name} stops you before the act can begin."
],
"refusal_ask_permission_oral": [
"You try to continue, but {name} stops it before it goes farther.",
"You ask to lick her pussy, and she refuses before your mouth gets involved.",
"You ask to use your mouth on her, and {name} refuses before it becomes physical.",
"You try to take the action there, but she blocks the step before it becomes real.",
"You ask to lick her pussy, and {name} refuses before your mouth gets involved.",
"You ask to use your mouth on her, and she says no.",
"{name} stops you before the act can begin."
],
"refusal_ask_sex": [
"You ask to fuck her, and {name} refuses before either of you gets into position.",
"You ask for sex, and {name} makes it clear your cock is not going inside her.",
"You ask to fuck her, and she refuses before your cock gets near her pussy.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You ask for sex, and she refuses before either of you gets into position.",
"{name} stops you before the act can begin."
],
"refusal_ask_titfuck": [
"She hears the request, folds her arms over her chest, and stops you before your cock reaches her tits.",
"You try to move closer, but she backs away and refuses to use her breasts on you.",
"{name} rejects the titfuck and keeps your hands away from her top.",
"You ask for a titfuck, but {name} keeps her chest covered and refuses to get close.",
"The request goes nowhere. She keeps her chest out of reach and leaves you exposed."
],
"refusal_ask_top_off": [
"You ask her to take off her top, and she says no before either of you moves.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_beg_anal_sex": [
"You beg for anal, and she refuses before anything physical starts.",
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_beg_blowjob": [
"You beg her to suck your cock, but {name} refuses without lowering her mouth.",
"You beg her to suck your cock, and she refuses without lowering her mouth.",
"You move closer, but she keeps your dick away from her lips.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You beg her to suck your cock, but she keeps her mouth away from you.",
"{name} stops you before the act can begin."
],
"refusal_beg_cunnilingus": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You beg to lick her pussy, and she keeps her thighs closed.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You beg to lick her pussy, but she keeps her thighs closed.",
"{name} stops you before the act can begin."
],
"refusal_beg_footjob": [
"You beg for her feet, but {name} only pulls her legs farther away and refuses to reward it.",
"Your pleading does not move her. She keeps her feet tucked back and leaves your cock untouched.",
"{name} refuses the footjob and gives you no opening to turn the begging into anything physical.",
"She sees how badly you want it, but she still keeps her feet away from you."
],
"refusal_beg_handjob": [
"You beg her to stroke your cock, and {name} still keeps her hands off you.",
"You beg her to stroke your cock, and she keeps her hands away from it.",
"You try to guide her, but she keeps her hands off you.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You beg her to stroke you, but she keeps her hands to herself.",
"{name} stops you before the act can begin."
],
"refusal_beg_low_scene": [
"You try to continue, but {name} stops it before it goes farther.",
"You try to push the act farther, but {name} stops before it can continue.",
"You try for more, but she blocks it before it starts.",
"You start, but she cuts it short.",
"You make the attempt, and {name} refuses it clearly.",
"You beg for too much too early, and she pulls back before the act can start."
],
"refusal_beg_normal_scene": [
"You try to continue, but {name} stops it before it goes farther.",
"You try for more, but she blocks it before it starts.",
"You beg for it, and she refuses before giving you anything to work with.",
"You make the attempt, and {name} refuses it clearly.",
"You make the move, and she pulls back at once.",
"You beg for more, but she still refuses before anything changes."
],
"refusal_beg_sex": [
"You beg to fuck her, but {name} only grows more uneasy and refuses the request.",
"You beg to fuck her, and {name} refuses before your cock gets near her pussy.",
"You beg to fuck her, and she refuses before your cock gets near her pussy.",
"You try to take the action there, but she blocks the step before it becomes real.",
"You beg to fuck her, and {name} still keeps her body out of position.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_beg_sixty_nine": [
"You beg for sixty-nine, and {name} refuses before either of you gets into position.",
"You beg for sixty-nine, and {name} refuses before your mouth or hers gets involved.",
"You move in for oral, but she keeps your mouth away.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_beg_titfuck": [
"You ask again, desperate for her breasts around your cock, and she shuts it down.",
"You beg for her tits, but {name} keeps her chest covered and does not move closer.",
"Your pleading only makes her pull back, one hand guarding her top while she refuses.",
"She sees how much you want her tits, but she keeps them away from you.",
"{name} refuses the titfuck and gives you no chance to turn the begging into contact."
],
"refusal_breast_sex": [
"You reach for her breasts, but {name} pulls back.",
"You try to use her chest, and she stops you before your cock can settle there.",
"You move toward her tits, but she covers herself."
],
"refusal_caress_thigh": [
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"You reach for her, but {name} pulls back before the contact can settle.",
"{name} blocks the petting before your hand can settle where you want it.",
"Your hand moves up her thigh, and she shifts away before your fingers get higher.",
"The contact pushes too far, and she cuts it short.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_command_low_scene": [
"You try to continue, but {name} stops it before it goes farther.",
"You give the command too early, and she rejects it before moving.",
"You make the attempt, and {name} refuses it clearly.",
"You make the move, and she pulls back at once.",
"The command is too much for the trust you have, and she rejects it before you can steer her.",
"You give the order, and {name} refuses before anything changes."
],
"refusal_command_normal_scene": [
"You try to continue, but {name} stops it before it goes farther.",
"You give the order, and {name} refuses to obey before anything physical starts.",
"You start, but she cuts it short.",
"You give the order, and {name} refuses before anything changes.",
"You make the move, and she pulls back at once.",
"The command reaches her, but she keeps her body where it is and refuses to be moved by it."
],
"refusal_cont_69_focus_her": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You try to keep your mouth doing most of the work in sixty-nine, but {name}'s body tenses against that pace.",
"Your tongue stays on her too insistently, and she shifts enough to make you ease off.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_69_grind": [
"You try to push your cock deeper into her mouth from the sixty-nine position, but she breaks the motion before it turns rough.",
"Your hips start grinding upward while your mouth stays on her pussy, and {name} stops the pressure before it goes too far.",
"You try to make her mouth take more of you, but she pulls back enough to make the limit clear.",
"The sixty-nine position tightens when you start fucking into her mouth, and she interrupts before the pressure builds.",
"You push your hips into the position, but {name} does not let the mouth pressure become the new pace."
],
"refusal_cont_69_keep": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"You try to keep mutual oral going, but her timing falters and the position loses its ease.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_69_let_her_focus_you": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"You hold back to let her work your cock, but {name} does not settle into taking over.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_69_to_sex": [
"You try to turn sixty-nine into sex, but {name} stops before your cock lines up with her pussy.",
"Your mouth leaves her pussy as you shift toward penetration, and she blocks the change.",
"You try to move from mutual oral to sex, but she refuses the escalation."
],
"refusal_cont_anal_cowgirl": [
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_anal_doggy": [
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_anal_hold": [
"You try to continue, but {name} stops it before it goes farther.",
"You make the attempt, and {name} refuses it clearly.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_anal_missionary": [
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_anal_reverse_cowgirl": [
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_anal_slow": [
"You try to keep fucking her ass, but {name} pulls away before your cock pushes back in.",
"Your hips start another slow anal thrust, and she stops before you enter again.",
"You try to continue in her ass, but she moves off your cock."
],
"refusal_cont_anal_wall": [
"You line your cock up with her ass, and she pulls away.",
"You try to push toward anal, but {name} stops your hips before you enter her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_analingus_circle": [
"You move toward her ass, but {name} stops you before your tongue or fingers get there.",
"You try to give her anal attention, and she pulls away.",
"Your tongue circles her asshole again, but the next pass makes her tighten instead of relax.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_analingus_keep": [
"You try to keep your mouth on her ass, but {name} pulls away before your tongue reaches her asshole again.",
"Your tongue moves back toward her asshole, and she closes the angle.",
"You try to keep rimming her, but she shifts out of reach."
],
"refusal_cont_analingus_slow": [
"You move toward her ass, but {name} stops you before your tongue or fingers get there.",
"You try to give her anal attention, and she pulls away.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"You slow the rimming down, and {name}'s body goes tense under the slower attention.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_analingus_to_anal": [
"You rise from rimming her and line your cock with her ass, but {name} pulls away before you enter her.",
"Your mouth leaves her asshole and your cock moves into place, but she stops the escalation.",
"You try to turn analingus into anal sex, and she blocks your hips before the first push."
],
"refusal_cont_analingus_to_cunni": [
"Your mouth starts moving from her ass back to her pussy, but {name} pulls away before your tongue reaches her slit.",
"You try to trade rimming for pussy licking, and she stops the change immediately.",
"Your tongue leaves her asshole, but she blocks the move before it reaches her pussy."
],
"refusal_cont_bj_deeper": [
"You try to guide the blowjob deeper, but {name} pulls her mouth away from your cock.",
"Your cock presses farther toward her throat, and she stops before taking more.",
"You try to make her take more of you, but she sits back from the deeper push."
],
"refusal_cont_bj_eye_contact": [
"You try to make her look up while she sucks you, but the eye contact makes her rhythm uneasy.",
"You offer your cock, and she refuses before her mouth touches it.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_bj_guide_rhythm": [
"You try to guide her mouth to your cock, but {name} sits back.",
"You offer your cock, and she refuses before her mouth touches it.",
"You guide the pace of her mouth, and {name}'s rhythm stumbles against your control.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_bj_let_continue": [
"You try to guide her mouth to your cock, but {name} sits back.",
"You offer your cock, and she refuses before her mouth touches it.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"You try to let her keep going her way, but the blowjob loses its rhythm as her hesitation builds.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_bj_praise": [
"You try to guide her mouth to your cock, but {name} sits back.",
"You offer your cock, and she refuses before her mouth touches it.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"You praise her around the blowjob, but the words make her mouth slow instead of relax.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_bj_slow_down": [
"You try to guide her mouth to your cock, but {name} sits back.",
"You offer your cock, and she refuses before her mouth touches it.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"You slow the blowjob down, and {name}'s patience thins before the pace can settle.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_bj_to_sex": [
"You try to move from her mouth to sex, but {name} sits back before your cock reaches her pussy.",
"Her mouth leaves your cock, and she refuses when you try to line up with her.",
"You try to turn the blowjob into sex, but she blocks the escalation."
],
"refusal_cont_bj_touch_hair": [
"You try to guide her mouth to your cock, but {name} sits back.",
"You offer your cock, and she refuses before her mouth touches it.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_cunni_add_fingers": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"You add your fingers while your mouth stays on her, but the extra touch makes {name}'s thighs tense.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_cunni_keep": [
"You try to keep your mouth on her pussy, but {name} closes her thighs and stops you.",
"Your tongue returns to her slit, and she moves out of reach.",
"You lower your mouth for more cunnilingus, but she blocks the continuation."
],
"refusal_cont_cunni_tease": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You tease around her clit instead of giving her more, and the frustration turns into discomfort.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_cunni_to_analingus": [
"Your tongue starts moving from her pussy toward her ass, but {name} stops the shift before your mouth reaches her asshole.",
"You try to turn cunnilingus into rimming, and she closes the angle before it gets there.",
"Your mouth leaves her slit for her ass, but she pulls away from the change."
],
"refusal_cont_cunni_to_sex": [
"You lift your mouth from her pussy and try to move into sex, but {name} stops you before your cock lines up.",
"Your tongue leaves her slit as you shift your hips closer, and she blocks the escalation.",
"You try to turn cunnilingus into penetration, but she stops the change before it starts."
],
"refusal_cont_finger_keep": [
"You try to keep fingering her, but {name} closes her thighs around your hand.",
"Your fingers start moving again inside her, and she stops the motion.",
"You try to push another stroke into her pussy, but she pulls away."
],
"refusal_cont_finger_tease": [
"You shift the fingering into a tease, but {name}'s body tightens against the stop-start rhythm.",
"You try to touch her between the thighs, and she stops you before your fingers settle.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_finger_to_mouth": [
"You move your hand toward her pussy, but {name} catches your wrist.",
"You try to touch her between the thighs, and she stops you before your fingers settle.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_footjob_keep": [
"You try to keep the footjob going, but {name} pulls her feet back before the rhythm returns.",
"You guide her feet toward your cock again, and she stops before contact settles.",
"You try to continue the footjob, but she breaks the position and refuses the pace.",
"Your hips move to chase the pressure of her feet, but she pulls away.",
"You try to restart the motion, and she keeps her feet out of reach."
],
"refusal_cont_hj_guide_rhythm": [
"You try to put her on your cock, but {name} pulls away.",
"You move your cock toward her touch, and she stops the contact.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_hj_keep": [
"You try to keep the handjob going, but {name} takes her hand off your cock.",
"Her fingers leave your shaft when you try to continue.",
"You guide her hand back toward your cock, and she refuses the extra strokes."
],
"refusal_cont_hj_kiss": [
"You try to put her on your cock, but {name} pulls away.",
"You move your cock toward her touch, and she stops the contact.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_hj_tease": [
"You try to put her on your cock, but {name} pulls away.",
"You move your cock toward her touch, and she stops the contact.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_hj_to_bj": [
"You try to guide her mouth toward your cock, but {name} sits back before her lips touch it.",
"You offer your cock to her mouth, and she refuses before the change happens.",
"Her hand is still around you when you try to bring her lips down, but she pulls away."
],
"refusal_cont_rubbing_keep": [
"You try to keep rubbing her through the fabric, but {name} stops your hand.",
"Your fingers return to the cloth over her pussy, and she catches your wrist.",
"You try to keep the through-clothing pressure going, but she blocks it."
],
"refusal_cont_rubbing_to_fingering": [
"You move your hand toward her pussy, but {name} catches your wrist.",
"You try to touch her between the thighs, and she stops you before your fingers settle.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"Your hand starts moving from the fabric toward bare skin, but {name} catches the change before your fingers slip inside.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_sex_cowgirl": [
"You try to keep the cowgirl rhythm going, but {name}'s hips slow with growing discomfort.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_sex_doggy": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_sex_missionary": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"You keep pressing in missionary, but her body stiffens under the next thrusts.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_sex_reverse_cowgirl": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"{name} stops the adjustment before it becomes the new act."
],
"refusal_cont_sex_to_69": [
"You try to shift from sex into sixty-nine, but {name} stops before either mouth reaches the other.",
"Your hips pull back to set up sixty-nine, but she stops the new position.",
"You break the thrusts and start turning the bodies into mutual oral, but {name} blocks the change."
],
"refusal_cont_sex_to_anal": [
"You try to push from sex toward anal, but {name} stops your hips before your cock reaches her ass.",
"Your thrusts start shifting toward her asshole, but she blocks the escalation.",
"You pull back from her pussy and angle toward her ass, but {name} stops you before the change happens."
],
"refusal_cont_sex_wall": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You try to continue that way, but she breaks the rhythm with a clear no.",
"{name} interrupts the continuation before the new rhythm can take hold.",
"The move pushes the current state too far, and she blocks it.",
"You try to keep the wall sex urgent, but the pressure makes her brace instead of follow."
],
"refusal_cont_titfuck_keep": [
"You reach for her breasts, but {name} pulls back.",
"You try to use her chest, and she stops you before your cock can settle there.",
"You try to keep your cock between her tits, but she shifts away and breaks the pressure.",
"You guide her breasts together again, and she refuses before the titfuck can continue.",
"You chase the pressure of her tits, but she pulls her chest out of reach."
],
"refusal_cont_titfuck_let_work": [
"You reach for her breasts, but {name} pulls back.",
"You try to use her chest, and she stops you before your cock can settle there.",
"You try to let her breasts keep working you, but she stops before the rhythm returns.",
"You hold near her chest, and she moves back before your cock can slide between her tits.",
"You wait for her to continue the titfuck, but she cuts it off."
],
"refusal_cont_titfuck_lick_tip": [
"You reach for her breasts, but {name} pulls back.",
"You try to use her chest, and she stops you before your cock can settle there.",
"You try to guide the tip of your cock toward her mouth, but she refuses before licking it.",
"You push the titfuck toward her lips, and she turns away before contact.",
"You angle yourself for her tongue, but she stops the move at her chest."
],
"refusal_continue_rubbing": [
"You move your hand toward her pussy, but {name} catches your wrist.",
"You try to touch her between the thighs, and she stops you before your fingers settle.",
"You try to push the act farther, but {name} stops before it can continue.",
"You make the move, and she pulls back at once.",
"She pulls back before the rubbing can keep building.",
"Her body tenses and the rubbing goes too far for her."
],
"refusal_continue_state": [
"You try to continue, but {name} stops it before it goes farther.",
"You push the current act too far, and she cuts it short.",
"{name} interrupts the continuation before it can build further.",
"You try to keep the pace going, but {name}'s body tenses and the rhythm turns less willing.",
"{name} stops that version of the continuation."
],
"refusal_cowgirl": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You start to enter her, but she stops you before it goes farther.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} pulls back before she can lower herself onto your cock.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_demand_anal_sex": [
"You demand anal, and {name} refuses the command.",
"You order her to give you her ass, but she does not obey.",
"You command anal from her, and she shuts it down.",
"{name} refuses the anal demand before anything starts.",
"The order gets no opening, only refusal."
],
"refusal_demand_blowjob": [
"You demand a blowjob, and {name} rejects the order immediately.",
"You order her to use her mouth, and she refuses the command.",
"You command her to suck you, but she does not obey.",
"{name} shuts down the blowjob demand before anything starts.",
"The order gets no response except refusal."
],
"refusal_demand_cunnilingus": [
"You demand to go down on her, and {name} rejects the command.",
"You order her to open for your mouth, but she refuses.",
"You command her to let you lick her, and she shuts it down.",
"{name} refuses the cunnilingus demand before anything starts.",
"The order fails without becoming physical."
],
"refusal_demand_footjob": [
"You demand a footjob, and {name} refuses the command.",
"You order her to use her feet, but she does not obey.",
"{name} shuts down the footjob demand before anything starts.",
"The command gets a hard refusal.",
"You push the order, and she rejects it."
],
"refusal_demand_handjob": [
"You demand a handjob, and {name} refuses the command.",
"You order her to use her hand, but she does not obey.",
"You command her to stroke you, and she shuts it down.",
"{name} refuses the handjob demand before anything starts.",
"The order gets no touch, only refusal."
],
"refusal_demand_sex": [
"You demand sex, and {name} rejects the command.",
"You order her to fuck you, but she refuses.",
"You command her body like it is yours, and she shuts it down.",
"{name} refuses the sex demand before anything starts.",
"The order fails before it can become physical."
],
"refusal_demand_sixty_nine": [
"You demand sixty-nine, and {name} refuses the command.",
"You order her into the position, but she does not obey.",
"You command her mouth and body into it, and she shuts the order down.",
"{name} refuses the sixty-nine demand before anything starts.",
"The order gets no movement, only refusal."
],
"refusal_demand_titfuck": [
"You demand a titfuck, and {name} refuses the command.",
"You order her to use her breasts, but she does not obey.",
"You command her chest like it is yours, and she shuts it down.",
"{name} refuses the titfuck demand before anything starts.",
"The order fails without becoming physical."
],
"refusal_doggy": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You start to enter her, but she stops you before it goes farther.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} moves out of position before you can line your cock up behind her.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_finger_ass": [
"You move toward her ass, but {name} stops you before your tongue or fingers get there.",
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"{name} blocks the petting before your hand can settle where you want it.",
"Your hand reaches the wrong level of intimacy, and she moves away.",
"The contact pushes too far, and she cuts it short.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_finger_pussy": [
"You move your hand toward her pussy, but {name} catches your wrist.",
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"{name} blocks the petting before your hand can settle where you want it.",
"Your hand reaches the wrong level of intimacy, and she moves away.",
"The contact pushes too far, and she cuts it short.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_grind_together": [
"You move your hand toward her pussy, but {name} catches your wrist.",
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"{name} blocks the petting before your hand can settle where you want it.",
"Your hand reaches the wrong level of intimacy, and she moves away.",
"The contact pushes too far, and she cuts it short.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_lick_pussy": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You move in for oral, but she keeps your mouth away.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} closes her thighs before your tongue reaches her pussy.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_massage": [
"You move your hands into the massage, but {name} stops you before it continues.",
"You start the massage there, but she pulls back.",
"{name} notices where the massage is going and stops your hands before you can pretend it was accidental.",
"You try to work that spot, and {name} guides your hand away.",
"You press in with your hands, and {name} makes you stop."
],
"refusal_massage_ass": [
"You move your hands into the massage, but {name} stops you before it continues.",
"Your hands move to her ass, and {name} shifts away before you can knead it.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_back": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_breasts": [
"You reach for her breasts, but {name} pulls back.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"Your hands move toward her breasts, and {name} stops you before you touch them.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_chaste": [
"You move your hands into the massage, but {name} stops you before it continues.",
"You start the massage there, but she pulls back.",
"You try to continue the massage, but her body rejects it.",
"You try to work that spot, and {name} guides your hand away.",
"You press in with your hands, and {name} makes you stop.",
"You try to push the act farther, but {name} stops before it can continue."
],
"refusal_massage_escalate": [
"You move your hands into the massage, but {name} stops you before it continues.",
"You start the massage there, but she pulls back.",
"You try to work that spot, and {name} guides your hand away.",
"You press in with your hands, and {name} makes you stop.",
"{name} catches the escalation and shuts it down. The massage ends there."
],
"refusal_massage_inner_thighs": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_legs": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move along her legs, and she pulls them back before you can continue."
],
"refusal_massage_lower_back": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"Your hands move low on her back, and she shifts away from the pressure.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_neck": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} moves your hands away from her neck before the massage starts there.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_pussy_bare": [
"You start to move the massage to her bare pussy, but {name} catches your hand before it settles.",
"Your fingers reach between her thighs, and she closes them before the touch becomes direct.",
"You try to rub her bare slit, but she stops the massage from going that far.",
"Your hand moves toward her pussy, and she redirects it away immediately.",
"You push the massage toward explicit contact, but she blocks your wrist."
],
"refusal_massage_pussy_fabric": [
"You start to rub her pussy through the fabric, but {name} stops your hand before the pressure builds.",
"Your fingers press toward her covered slit, and she shifts away from the touch.",
"You try to turn the massage into rubbing through her clothes, but she cuts it off.",
"Your hand moves between her thighs over the fabric, and she closes the angle.",
"You push the massage toward her clothed pussy, but she blocks it before it can continue."
],
"refusal_massage_shoulders": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} moves away before your hands can settle on her shoulders.",
"The massage reaches the line she does not want crossed, and she closes it immediately.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_start": [
"You move your hands into the massage, but {name} stops you before it continues.",
"{name} blocks the touch before the massage can shift into that area.",
"You offer the massage and move your hands closer, but {name} refuses before you start.",
"{name} pulls the massage back to safer ground before it turns into more.",
"Your hands move too far for her, and she cuts the attempt short."
],
"refusal_massage_tongue_ass": [
"You move behind her with your mouth, but {name} pulls her ass away before your tongue gets there.",
"{name} tightens and shifts her hips out of reach.",
"You try to turn the massage into rimming, but she stops it immediately.",
"{name} reaches back and keeps your mouth away from her ass.",
"Your tongue gets too close for her, and she cuts the attempt short."
],
"refusal_massage_tongue_pussy": [
"You try to get your mouth between her thighs, but {name} shifts away before your tongue reaches her.",
"{name} closes her thighs and pulls back from your mouth.",
"You try to turn the massage into oral, but she stops you before your tongue can touch her.",
"{name} moves your head away and ends the massage before it becomes cunnilingus.",
"Your mouth gets too close for her, and she cuts the attempt short."
],
"refusal_massage_vagina": [
"Your fingers move between her thighs, and {name} catches your wrist before you touch her pussy.",
"Your fingers drift between her thighs, and she catches your wrist.",
"You guide the massage lower, but she refuses before it becomes direct.",
"Your hand reaches for her slit, and she closes her thighs against it.",
"You try to make the massage sexual, but she moves your hand away."
],
"refusal_missionary": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You start to enter her, but she stops you before it goes farther.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You line your cock up with her pussy, but she stops your hips before you push inside.",
"{name} stops you before the act can begin."
],
"refusal_pet_over_clothes": [
"You start to caress her through her clothes, but {name} catches your wrist before the touch settles.",
"Your hand presses over the fabric, and she pulls away before it becomes intimate.",
"You try to rub her through her clothes, but she stops the contact before it finds a rhythm.",
"{name} blocks the through-clothes touch and puts distance back between you."
],
"refusal_petting": [
"You try to move your hands into more intimate petting, but {name} stops the touch.",
"Your hand reaches too far, and she moves out of it.",
"{name} refuses the escalation before your hand can settle.",
"{name} moves your hand off her body before the touch can continue.",
"Your hand moves too far down her body, and she catches your wrist."
],
"refusal_private": [
"You try to continue, but {name} stops it before it goes farther.",
"You push toward a private act, but {name} stops the move before it starts.",
"You start, but she cuts it short.",
"You try, but {name} refuses even with privacy on your side.",
"{name} refuses the private escalation and keeps distance between you.",
"The request reaches the wrong place and she closes the boundary.",
"{name} keeps the private line shut for now."
],
"refusal_public": [
"You try to continue, but {name} stops it before it goes farther.",
"You start, but she cuts it short.",
"You try, but {name} glances around and shuts it down before anyone notices.",
"She blocks the public escalation before anyone else has a reason to notice.",
"The risk of being seen is too much, and she shuts the attempt down immediately."
],
"refusal_remove_panties": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_remove_your_clothes": [
"You take off another layer, and {name}'s expression hardens the moment she sees you do it.",
"You strip down further in front of her, and {name} clearly does not like where you took it.",
"You keep undressing, and {name} gets visibly annoyed that you pushed it that far.",
"You remove another piece of clothing, and {name} makes it obvious she is not happy about it.",
"You undress further in front of her, but {name} clearly hates that you pushed it there.",
"You keep taking your clothes off, and {name} reacts with open irritation instead of stopping you."
],
"refusal_reverse_cowgirl": [
"You line your cock up with her pussy, and she pulls back.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You start to enter her, but she stops you before it goes farther.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"{name} shifts away before she can sit back onto your cock.",
"{name} stops you before the act can begin."
],
"refusal_rub_breasts_fabric": [
"You reach for her breasts, but {name} pulls back.",
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"{name} catches your wrist before your hand can rub her tits through the fabric.",
"Your hand reaches the wrong level of intimacy, and she moves away.",
"The contact pushes too far, and she cuts it short.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_rub_pussy_fabric": [
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"{name} blocks the petting before your hand can settle where you want it.",
"Your hand presses between her thighs over the fabric, and she closes her legs around your wrist.",
"Your hand reaches the wrong level of intimacy, and she moves away.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_sex": [
"You push toward sex, but {name} stops before your cock can become part of the answer.",
"You try to push inside her, but {name} stops your hips before penetration continues.",
"{name} refuses the move into sex and keeps her body out of position.",
"The sexual step reaches the line she will not cross.",
"{name} blocks the attempt before penetration can happen."
],
"refusal_sit_on_face": [
"You ask her to sit on your face, but she refuses to put her pussy over your mouth.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You move in for oral, but she keeps your mouth away.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You ask her to sit on your face, but she keeps her pussy away from your mouth.",
"{name} stops you before the act can begin."
],
"refusal_sixty_nine": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You try to move into sixty-nine, but {name} refuses before your mouth and her mouth get involved.",
"You move in for oral, but she keeps your mouth away.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses before your bodies can turn into position and your mouths get involved.",
"The request reaches the line she will not cross, and she closes it immediately.",
"{name} stops you before the act can begin."
],
"refusal_slide_hand_inside_panties_public": [
"You try to slide your hand inside her panties in public, but {name} stops you before your fingers get under the fabric.",
"Your hand moves toward the edge of her panties, and she clamps down before anyone can notice.",
"You try to push the public touch under her panties, but she catches your wrist.",
"You start to slip inside her underwear, and she blocks the movement immediately.",
"You reach for the private heat under her panties, but the public risk makes her shut it down."
],
"refusal_slide_inside_panties_public": [
"You try to slip your hand inside {name}'s panties, but the public risk makes her clamp down and stop you before your fingers get under the fabric.",
"You try to push the public rubbing further, but she blocks your hand before it can slide inside her panties.",
"Your fingers reach for the heat under her panties, and she catches your wrist before the public touch goes that far."
],
"refusal_strip_ask": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You start to undress her, and {name} keeps the clothing in place.",
"{name} keeps her clothes in place.",
"{name} gives a small shake of the head and keeps herself covered.",
"{name} refuses to undress further."
],
"refusal_strip_attempt": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You start to undress her, and {name} keeps the clothing in place.",
"{name} catches your hand and stops the undressing.",
"{name} pulls the fabric back into place.",
"{name} blocks your hands before more skin is exposed."
],
"refusal_strip_together": [
"You start stripping first, but {name} refuses to join you.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"You try to make the undressing mutual, but {name} keeps her clothes on.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_suck_clit": [
"You try to get your mouth between her thighs, but {name} shifts away.",
"You lower your face toward her pussy, and she stops you before your tongue reaches her.",
"You move in for oral, but she keeps your mouth away.",
"You try to take the action there, but she blocks the step before it becomes real.",
"{name} refuses the escalation before your bodies can settle into it.",
"You move your mouth toward her clit, and she pulls her hips away.",
"{name} stops you before the act can begin."
],
"refusal_suck_nipples": [
"You reach for her breasts, but {name} pulls back.",
"You start to move into that touch, but {name} stops you before it becomes familiar.",
"{name} turns her chest away before your mouth reaches her nipple.",
"Your hand reaches the wrong level of intimacy, and she moves away.",
"The contact pushes too far, and she cuts it short.",
"{name} stops you before your lips can close around her nipple."
],
"refusal_try_bottom_off": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_try_slip_inside": [
"You try to push inside her, but {name} stops your hips before penetration continues.",
"You try to push your cock inside her, but {name} stops your hips before you enter her.",
"You try to turn the rubbing into penetration, but {name} stops your hips before you enter her.",
"Your cock presses toward her pussy, and she moves her hips out of line.",
"The contact pushes too far, and she cuts it short.",
"{name} refuses the escalation before it can turn into a rhythm."
],
"refusal_try_top_off": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"You reach the clothing boundary, but {name} stops the undressing before it continues.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"refusal_unhook_bra": [
"You reach for her clothes, but {name} stops your hand before anything comes off.",
"Your fingers reach the clasp of her bra, but she catches your hand before it opens.",
"{name} keeps that layer in place and refuses the next step.",
"The attempt to undress her goes too far, and she closes it down.",
"She catches the motion before the clothing can come off.",
"{name} makes it clear that this layer stays on."
],
"remove_panties": [
"You reach for her panties and start to slide the last fabric down.",
"Your fingers hook the edge of her panties and begin pulling them away from her pussy.",
"You move the panties down slowly, watching whether she lets the final layer go."
],
"remove_panties_success": [
"You slide her panties down, revealing her wet pussy.",
"Her bare pussy and ass are fully exposed once the panties are gone.",
"Her slick folds glisten as you pull the panties away.",
"Thick wetness clings to her panties as you remove them.",
"She stays dripping wet once her pussy is completely revealed."
],
"remove_your_clothes_success": [
"You remove your clothes while {name} watches.",
"You strip down in front of her and let her see you.",
"You take your clothes off slowly enough for her to look.",
"You undress for her, leaving yourself exposed under her eyes.",
"You pull your shirt off first, then keep going when she does not look away."
],
"reverse_cowgirl": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You slide inside her cunt and let her body adjust around you.",
"{name} turns away and lowers herself onto your cock in reverse cowgirl, letting you watch her ass move."
],
"reverse_cowgirl_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You slide inside her cunt and let her body adjust around you.",
"{name} turns away and lowers herself onto your cock in reverse cowgirl, letting you watch her ass move."
],
"rub_breasts_fabric": [
"You rub her tits through her clothes, letting the fabric drag over her nipples.",
"Your hand moves over her chest, rubbing her tits firmly through the fabric.",
"You palm her tits through her clothes, slow enough to feel how her nipples react underneath.",
"Your fingers press into her tits through the fabric, teasing the shape and weight of them without pulling anything aside.",
"You rub over her nipples through her clothes, keeping the touch hidden under the ordinary look of fabric."
],
"rub_breasts_fabric_success": [
"You rub her tits through her clothes, letting the fabric drag over her nipples.",
"Your hand moves over her chest, rubbing her tits firmly through the fabric.",
"You palm her tits through her clothes, slow enough to feel how her nipples react underneath.",
"Your fingers press into her tits through the fabric, teasing the shape and weight of them without pulling anything aside.",
"You rub over her nipples through her clothes, keeping the touch hidden under the ordinary look of fabric."
],
"rub_pussy_fabric": [
"You press two fingers against {name}'s pussy through the fabric, rubbing slowly until the cloth starts dragging wetly over her slit.",
"You drag your hand over her clothed slit until the fabric starts to dampen.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"You rub her through her clothes, making the fabric slide against her pussy.",
"You press your palm between her thighs and drag it over her covered slit."
],
"rub_pussy_fabric_success": [
"You drag your hand over her clothed slit until the fabric starts to dampen.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"You rub her through her clothes, letting the fabric carry each stroke."
],
"rubbing_pleasure": [
"You drag your hand over her clothed slit until the fabric starts to dampen.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"Your fingers rub her pussy through the fabric, keeping the friction steady.",
"Your fingers stay on her pussy through the fabric, working the same slow friction.",
"You keep your palm against her pussy and build the friction slowly."
],
"rubbing_to_fingering": [
"The rubbing through fabric becomes direct when your fingers slip past the last layer and find her wet pussy.",
"You move from rubbing her through the cloth to touching her cunt directly.",
"Your fingers leave the fabric behind and slide into the wet slit underneath.",
"The teasing over her clothes turns into fingering as your hand finally gets under the barrier.",
"You stop grinding fabric against her pussy and push your fingers into the slick heat below."
],
"sex": [
"You push your cock into her wet pussy and start thrusting slowly.",
"Your cock sinks into her pussy and you start fucking her.",
"Your cock pushes into her pussy and the act becomes sex.",
"{name} pulls you closer as penetration replaces anticipation, her soaked cunt tightening around your cock.",
"You push into her until your hips meet hers.",
"She spreads her legs and takes your cock."
],
"sex_sex_position_switch": [
"You change position without pulling out, your cock sliding inside her through the movement.",
"You move her into another position and keep your cock buried in her cunt.",
"The position changes around your joined bodies, her pussy tightening around you as you move.",
"You guide her into a new position without letting the sex break.",
"Your cock stays inside her as you shift her body and start fucking her a different way."
],
"sit_on_face_success": [
"You use your tongue on her pussy until her thighs start reacting.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"You ask {name} to sit on your face, then settle your mouth under her pussy when she does.",
"You ask {name} to sit on your face and wait beneath her until she lowers herself.",
"You lick her folds open and keep returning to her clit."
],
"sixty_nine": [
"She adjusts over you until your tongue reaches her slit and her mouth can take your cock without either of you staying passive.",
"The 69 starts uneven and hungry, your tongue working her cunt while her lips and hand answer around your shaft.",
"You get into Sixty-nine, your mouth on her pussy while hers works your cock.",
"She lowers herself over your face and takes your cock into her mouth.",
"Your tongue works her cunt while she sucks you at the same time."
],
"sixty_nine_success": [
"Your tongue stays on her clit as her lips move around your dick.",
"You keep your mouth on her pussy while she works your cock.",
"You stay in sixty-nine, eating her pussy while she keeps your cock wet.",
"Her mouth and your tongue work at the same time, sloppy and close.",
"You stay in sixty-nine, your mouth on her pussy while her mouth keeps working your cock.",
"You lick her through another moan while she keeps sucking you."
],
"sixty_nine_to_sex": [
"You untangle from sixty-nine and guide your cock to her wet pussy while both of you are still slick from each other's mouths.",
"Her mouth leaves your cock as you turn her under you and line up with her cunt.",
"You pull away from the messy oral position and press your cock against the slit your tongue just worked.",
"You shift out of sixty-nine and replace mouths with penetration.",
"The shared oral breaks apart long enough for your cock to find her soaked pussy."
],
"slide_hand_inside_panties_public_success": [
"Your hand slips inside her panties in public, fingers finding heat while the risk tightens around you both.",
"You slide your fingers under her panties, keeping the movement small enough to hide.",
"Your hand finds her slit inside her panties while the public risk makes every stroke sharper.",
"You ease past the edge of her panties and touch her where nobody else can see.",
"You keep her close while your fingers work inside her panties, careful not to draw attention."
],
"slide_inside_panties_public": [
"Your hand slips inside her panties in public, fingers finding heat while the risk tightens around you both.",
"You slide your fingers under her panties, keeping the movement small enough to hide.",
"Your hand finds her slit inside her panties while the public risk makes every stroke sharper.",
"You ease past the edge of her panties and touch her where nobody else can see.",
"You keep her close while your fingers work inside her panties, careful not to draw attention."
],
"start_anal": [
"You ease your cock into her ass slowly, giving her time to take the stretch.",
"You press into her tight asshole inch by inch.",
"Your cock presses into her ass slowly, giving her time to adjust to the stretch.",
"Your cock presses into her ass steadily, giving her time to adjust to the stretch.",
"Your cock presses steadily into her ass, giving her time to adjust to the stretch."
],
"start_analingus": [
"Your mouth moves to her ass and your tongue starts circling her asshole with slow pressure.",
"Your mouth moves to her ass and your tongue starts circling her asshole with steady pressure.",
"Your mouth moves steadily to her ass, and your tongue starts circling her asshole with slow pressure.",
"Your mouth moves to her ass and your tongue begins circling her asshole with slow pressure."
],
"start_blowjob": [
"You guide your cock to her lips and let her mouth close around it.",
"She lowers herself toward your cock and starts using her mouth, tongue working the head before she takes more of you in.",
"She takes your cock into her mouth and works the head with her tongue.",
"She lowers herself toward your cock and begins using her mouth, tongue working the head before she takes more of you in.",
"She sucks you slowly at first, tongue moving around the head."
],
"start_breast_sex": [
"She squeezes her tits around your cock and lets you thrust between them.",
"Her tits close around your cock and the first slow thrust slides between them.",
"Her tits close around your cock and the first steady thrust slides between them.",
"She carefully closes her tits around your cock, and the first slow thrust slides between them.",
"Your shaft slides between her breasts while she holds them tight."
],
"start_cunnilingus": [
"Your mouth settles between her thighs and your tongue starts licking her pussy.",
"Your steady mouth settles between her thighs and your tongue starts licking her pussy.",
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"Your mouth settles between her thighs and your tongue begins licking her pussy."
],
"start_fingering": [
"You slide your fingers into her wet pussy and start with slow strokes.",
"You keep your hand between her thighs and push deeper by small degrees.",
"You use your fingers on her slit until she opens enough to take more.",
"Your fingers slide into her pussy and start working her inner walls with deliberate pressure.",
"Your fingers slide steadily into her pussy and start working her inner walls with deliberate pressure.",
"You work one finger inside her, then bring your thumb to her clit.",
"You finger her carefully, feeling her cunt tighten around each stroke."
],
"start_handjob": [
"She wraps her hand around your cock and starts stroking.",
"You guide her fingers around your shaft and let her work you.",
"Her hand wraps around your cock and begins stroking you with a slow, testing grip.",
"Her hand wraps around your cock and begins stroking you with a steady, testing grip.",
"Her hand wraps carefully around your cock and begins stroking you with a slow, testing grip."
],
"start_rubbing": [
"You drag your hand over her clothed slit until the fabric starts to dampen.",
"You press your fingers against her pussy through the fabric and rub in short strokes.",
"Your hand rubs her pussy through the fabric until the cloth drags against her slit.",
"Your steady hand rubs her pussy through the fabric until the cloth drags against her slit.",
"You keep your palm against her pussy and build the friction slowly."
],
"start_sex": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You slide inside her cunt and let her body adjust around you.",
"You keep your cock inside her and build the pace from there.",
"You press deeper into her pussy and hold yourself there for a breath before moving again.",
"Your cock pushes into her pussy and the act becomes sex.",
"Your cock pushes steadily into her pussy, and the act becomes sex."
],
"start_sixty_nine": [
"You settle into sixty-nine, your mouth on her pussy while hers works your cock.",
"You trade focus back and forth, mouth on pussy and mouth on cock.",
"You shift into sixty-nine, your mouth on her pussy while hers works your cock.",
"You keep licking her as she takes your cock into her mouth.",
"You line up together so your tongue can stay on her clit while she sucks you."
],
"strip_ask": [
"You ask for the next layer and wait for her answer before anything comes off.",
"You ask her to remove the layer you named.",
"You ask her to remove one more piece and leave the choice in her hands."
],
"strip_attempt": [
"You reach for the next layer and start to move it, watching whether she stops you.",
"Your hands move to her clothes, testing whether she will let you remove another layer.",
"You try to remove the next layer without skipping past what she has allowed."
],
"strip_together": [
"You suggest stripping together and start with your own clothes while watching her reaction.",
"You start removing your own clothes while asking her to do the same.",
"You invite her to strip with you, waiting to see if she matches the first piece you remove.",
"You turn the undressing mutual, letting your clothes come off as hers start to follow."
],
"strip_together_success": [
"You both undress, clothes falling until nothing separates you.",
"You remove your clothes while she removes hers, the two of you closing the distance as the layers drop.",
"The two of you strip together, skin replacing fabric piece by piece.",
"Bare skin meets bare skin as the last pieces vanish.",
"She stays close, breathing harder once you are both completely exposed."
],
"suck_clit_success": [
"You put your mouth between her thighs and lick up to her clit.",
"You drag your tongue over her wet slit, then settle on her clit.",
"Your mouth focuses on her clit, sucking and licking until her hips start to answer.",
"You eat her pussy with slow strokes, keeping your mouth close to her heat.",
"You lick her folds open and keep returning to her clit."
],
"suck_nipples": [
"You bring your mouth to one nipple and suck slowly, keeping your hand on her other breast.",
"Your lips close around her nipple, sucking carefully while your tongue draws the reaction out.",
"Your mouth closes around her nipple, tongue and lips working until her chest rises into the contact.",
"Your mouth closes around her nipple, sucking slowly while your tongue keeps working the hardening tip.",
"You suck her nipple with slow pressure, letting your tongue move when her chest lifts toward your mouth."
],
"suck_nipples_success": [
"You bring your mouth to one nipple and suck slowly, keeping your hand on her other breast.",
"Your lips close around her nipple, sucking carefully while your tongue draws the reaction out.",
"Your mouth closes around her nipple, tongue and lips working until her chest rises into the contact.",
"Your lips close around her nipple and suck with slow pressure until her chest lifts into your mouth.",
"You suck her nipple with slow pressure, letting your tongue move when her chest lifts toward your mouth."
],
"touch": [
"You touch her and leave your hand there long enough for her to react.",
"Your hand rests against her body long enough for her to react.",
"Your hand settles on her for a deliberate touch.",
"You close the distance with one steady touch and wait for her reaction."
],
"try_bottom_off": [
"You reach for her bottoms and start to pull them down, watching whether she stops you.",
"Your hands move to her waistband and test whether the lower layer can come off.",
"You try to remove her bottoms, keeping the motion slow enough for her to refuse."
],
"try_bottom_off_success": [
"You pull her bottoms down, and she shifts her hips to let them come off.",
"Her bottoms slide away under your hands, leaving her panties exposed.",
"She lets you remove the lower layer and stays within reach afterward.",
"You strip her bottoms off successfully, stopping before the panties."
],
"try_slip_inside_success": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You fuck her with steady thrusts, keeping your hips close.",
"You guide your cock toward her wet slit and try to slip inside while the grinding is still hot.",
"You slide inside her cunt and let her body adjust around you.",
"The rubbing turns into a real attempt to enter her as you press the head of your cock to her pussy."
],
"try_top_off": [
"You reach for her top and start to lift it, testing whether she lets the layer come off.",
"Your hands move to her top, pulling only as far as her reaction allows.",
"You try to remove her top, giving her a second to stop the motion."
],
"try_top_off_success": [
"You pull her top up, and she lifts her arms to let you remove it.",
"Her top comes off under your hands, leaving the next layer exposed.",
"She lets you strip the top away and stays close afterward.",
"You remove her top successfully, stopping with the layer underneath still respected."
],
"undress": [
"One clothing layer comes off, and the scene becomes more exposed.",
"The next layer is removed, leaving more skin visible than before.",
"Another layer comes off, leaving more skin exposed.",
"The next piece of clothing comes off, and her bare skin changes how close you are standing."
],
"unhook_bra": [
"You reach for the clasp of her bra and test whether she lets your fingers work it open.",
"Your hands move behind her bra, waiting for the moment she allows the clasp to open.",
"You start to unhook her bra, close enough to feel her breathing change."
],
"unhook_bra_success": [
"You unhook her bra, and the fabric loosens until her bare breasts are free.",
"The clasp opens under your fingers, letting the bra slide away from her tits.",
"She lets you remove the bra, exposing her chest completely.",
"Her bra comes off in your hands, leaving her nipples bare."
],
"wall": [
"You push your cock into her wet pussy and start thrusting slowly.",
"You press {name} against the wall and guide your cock into her pussy while holding her there.",
"You slide inside her cunt and let her body adjust around you."
],
"rub_ass_clothes_success": [
"You slide your hand over her ass through her clothes, squeezing just enough to make the touch impossible to ignore.",
"Your palm settles on her ass and rubs through the fabric, slow and deliberate.",
"You rub her ass through her clothes, feeling the curve of her under your hand.",
"Your fingers press into her ass through the fabric, testing how much she lets you take.",
"You palm her ass through her clothes, keeping the touch low and close."
],
"bring_hand_inside_pants_success": [
"You guide her hand to the front of your pants and start pulling it inside.",
"You take her wrist and bring her hand toward your cock through the opening of your pants.",
"You move her hand down to your pants, making it clear you want her fingers around your cock.",
"You bring her hand inside your pants, pressing her fingers toward your hard cock.",
"You guide her hand under the fabric, asking her to touch your cock where no one is supposed to see."
],
"cont_public_handjob_keep_success": [
"Her hand stays inside your pants, fingers moving over your cock with small, careful strokes.",
"She keeps jerking you under the cover of your clothes, her hand hidden but not gentle.",
"Her fingers tighten around your cock inside your pants, stroking you while trying not to draw attention.",
"She keeps her hand there, working your cock in short strokes that look almost harmless from outside.",
"Her hand moves inside your pants, careful enough to hide it and firm enough to make you feel every stroke."
],
"come_public_hand_success": [
"She keeps her hand hidden inside your pants while you cum into her palm.",
"You stay still enough to hide it as your cock pulses into her hand.",
"Her fingers tighten around your cock, and you cum into her hidden hand.",
"You finish into her hand under the cover of your clothes, trying not to make the public risk obvious.",
"Your cock twitches in her grip, spilling cum into her palm inside your pants."
],
"come_public_hand_failure": [
"She pulls her hand out before you can finish into it.",
"She catches the risk too late for comfort and stops before you can cum in her hand.",
"Her hand leaves your pants before the orgasm can land there."
],
"talk_anal_private": [
"You ask her what she thinks about anal, keeping your voice direct enough that she cannot pretend she misunderstood.",
"You bring up anal and watch how her expression changes before she answers.",
"You ask about her ass plainly, not joking around it or hiding the question.",
"You talk about anal with her, careful enough to give her room to answer honestly.",
"You ask if anal is something she would ever want to try with you."
],
"talk_anal_private_success": [
"You ask her what she thinks about anal, keeping your voice direct enough that she cannot pretend she misunderstood.",
"You bring up anal and watch how her expression changes before she answers.",
"You ask about her ass plainly, not joking around it or hiding the question.",
"You talk about anal with her, careful enough to give her room to answer honestly.",
"You ask if anal is something she would ever want to try with you."
],
"talk_anal_public": [
"You lower your voice and ask about anal where the wrong person could still hear too much.",
"You bring up anal quietly, keeping the words close enough that only she should catch them.",
"You ask about her ass in public, voice low and careful, watching her reaction more than the room.",
"You mention anal under your breath, risky enough that the setting matters even without touching her.",
"You ask if she would ever let you have her ass, keeping the question quiet but impossible to mistake."
],
"talk_anal_public_success": [
"You lower your voice and ask about anal where the wrong person could still hear too much.",
"You bring up anal quietly, keeping the words close enough that only she should catch them.",
"You ask about her ass in public, voice low and careful, watching her reaction more than the room.",
"You mention anal under your breath, risky enough that the setting matters even without touching her.",
"You ask if she would ever let you have her ass, keeping the question quiet but impossible to mistake."
],
"refusal_talk_anal_private_scene": [
"You bring up anal, but she refuses to let the subject go any further.",
"You ask about anal, and she shuts the question down before it can become pressure.",
"You try to talk about her ass, but she makes the boundary clear."
],
"refusal_talk_anal_public_scene": [
"You bring up anal in public, and she cuts the subject off before anyone can hear more.",
"You lower your voice to ask about anal, but the public setting makes her shut it down at once.",
"You mention her ass where someone could overhear, and she stops the conversation immediately."
],
"blowjob_to_sex": [
"Her lips leave your cock wet as you pull her up and line yourself with her pussy.",
"You guide her off your cock and move between her legs before the saliva can cool.",
"You lift her from your shaft and drag the wet head of your cock against her slit.",
"Her mouth leaves you slick, and you use that wetness as you push toward her cunt.",
"You break the blowjob and turn the heat of her mouth into the first push between her thighs."
],
"cunnilingus_to_analingus": [
"Your mouth leaves her pussy and moves lower, dragging the wet attention toward her ass.",
"You leave her clit slick and sensitive before your tongue finds the tighter place below.",
"The oral shifts from her pussy to her ass, slower and dirtier so she understands the change.",
"You drag the wetness down from her slit and start rimming her with careful pressure.",
"Your mouth moves from her cunt to her asshole, turning the same heat into something more taboo."
],
"analingus_to_cunnilingus": [
"Your tongue leaves her asshole and returns to her wet pussy, making the pleasure easier for her to take.",
"You move your mouth back up from her ass to her slit, trading taboo pressure for direct clit work.",
"The analingus melts back into cunnilingus as your tongue finds her pussy again.",
"You leave her ass wet and return to her cunt, pulling her back into a more familiar rhythm.",
"Your mouth moves from her asshole to her clit, letting the dirty tension turn into wet pleasure."
],
"analingus_to_anal": [
"You stop rimming her long enough to press your cock against her wet asshole.",
"Your tongue leaves her ass slick before your cock takes its place at the tight hole.",
"The analingus turns heavier as you replace your mouth with the head of your cock.",
"You move from rimming to anal sex, holding steady while her asshole adjusts to the new pressure.",
"Her ass is wet from your mouth when your cock starts pressing in."
],
"sex_to_anal": [
"You pull from her wet pussy and press your cock against her tight asshole, letting the switch happen carefully.",
"The vaginal rhythm breaks as you guide your slick cock from her cunt to her ass.",
"You move out of her pussy and settle at her asshole, waiting for her body to accept the new pressure.",
"Her cunt leaves your cock wet before you guide it toward her ass.",
"You trade the wet slide of her pussy for the tighter pressure of her ass, moving only when she can take it."
],
"sex_to_69": [
"You break the thrusting and turn the heat into mutual oral, pulling her mouth toward your cock while yours finds her pussy.",
"The sex pauses with her pussy still wet from your cock, then changes into mouths and tongues.",
"You shift out of penetration and pull her into sixty-nine before the heat can fade.",
"You trade thrusting for mutual oral, keeping her wet cunt close to your mouth while she lowers to your cock.",
"The fucking stops long enough for both mouths to take over."
],
"handjob_to_blowjob": [
"Her hand keeps stroking until her mouth lowers and takes over around the head of your cock.",
"You guide the handjob toward her lips, and she replaces her fingers with wet heat.",
"Her fingers stay at the base while her mouth closes around your cock.",
"The handjob turns into a blowjob, her lips taking the rhythm her hand started.",
"She keeps you steady with her hand while her mouth moves onto your cock."
],
"fingering_to_cunnilingus": [
"Your fingers leave her wet enough for your mouth to take over, tongue settling against her clit.",
"You draw your fingers back from her cunt and lower your mouth to the slick slit you opened.",
"Your hand gives way to your tongue, turning the fingering into wet, direct oral.",
"You pull your fingers out slowly and replace them with your mouth between her thighs.",
"Her pussy stays open and slick from your fingers when your tongue finds her clit."
],
"cont_rubbing_to_fingering": [
"The rubbing through fabric becomes direct when your fingers slip past the last layer and find her wet pussy.",
"You move from rubbing her through the cloth to touching her cunt directly.",
"Your fingers leave the fabric behind and slide into the wet slit underneath.",
"The teasing over her clothes turns into fingering as your hand finally gets under the barrier.",
"You stop grinding fabric against her pussy and push your fingers into the slick heat below."
]
}
END_SCENE_DESCRIPTIONS_SEX %/<<run setup.CC.init()>>
<<set $cc.view = "shop">>
<<set $cc.passageHint = "Shop">>
<<= setup.CC.view("shop")>><<run setup.CC.init()>>
<<if $cc.location eq "home" and $cc.mode neq "encounter">>
<div class="cc-root native-home-sleep">
<div class="card sleep-native-page">
<h1>Sleep</h1>
<p class="sleep-direct-link">[[Sleep and end day|Sleep Checkpoint]]</p>
</div>
</div>
<<else>>
<<goto "Map">>
<</if>><<run setup.CC.init()>>
<div class="cc-root"><div class="card sleep-native-page"><h1>Ending the day...</h1></div></div>
<<if $cc.location eq "home" and $cc.mode neq "encounter">>
<<run setup.CC.sleep()>>
<<goto "New Day">>
<<else>>
<<set $cc.last = { type: "bad", text: "You need to be home and out of any open interaction before you can sleep." }>>
<<if $cc.location eq "home">>
<<goto "Home">>
<<else>>
<<goto "Map">>
<</if>>
<</if>><div class="start-intro-full warning-intro-full">
<div class="card start-warning-card">
<div class="num">Fair warning</div>
<h1>This game is very grindy</h1>
<p>This game has very little to no story, and lots of grind and stat-building in a sandbox world.</p>
<div class="start-question">Are you sure you want to still give it a try?</div>
<div class="start-choice-grid">
[[Yeah, I'll take my chances|Character Creation]]
[[Shut up and let me play|Character Creation]]
[[No, exit the game|Game Closed]]
</div>
</div>
</div><div class="start-intro-full warning-intro-full">
<div class="card start-warning-card">
<div class="num">Fair warning</div>
<h1>This game is very grindy</h1>
<p>This game has very little to no story, and lots of grind and stat-building in a sandbox world.</p>
<p class="story-warning-line">This is pretty much the opposite of a game with a good story, you might not like it at all.</p>
<div class="start-question">Are you sure you want to still give it a try?</div>
<div class="start-choice-grid">
[[Yeah, I'll take my chances|Character Creation]]
[[Shut up and let me play|Character Creation]]
[[No, exit the game|Game Closed]]
</div>
</div>
</div><div class="start-intro-full">
<div class="card start-intro-card">
<h1 class="start-title">City of Cravings</h1>
<div class="start-version">Version 0.1</div>
<div class="start-feature-box">
<p>City of Cravings is a very slow burn, stat-heavy adult sandbox. It is not a guided story game: you build a routine, manage stamina, work, train, learn schedules, scout locations, read reactions, and push relationships forward through many small steps.</p>
<p>Most progress comes from repeating days and slowly improving your options. Adult content is gated behind stats, relationship progress, clothing states, location context, patience, and boundaries. There is very little to no story, so the fun is meant to come from long-term sandbox planning, discovery, and gradual progression.</p>
</div>
<div class="disclaimer"><b>Disclaimer</b><br>By continuing, you confirm that you are of legal age and that you willingly consent to be exposed to explicit pornographic material.</div>
<div class="start-question">Do you like slow burn, grindy simulator games?</div>
<div class="start-choice-grid">
[[Yes, I love grinding stats!|Character Creation]]
[[I'm ok with some grind|Slow Burn Warning - Some Grind]]
[[No, I like games with a story|Slow Burn Warning - Story Preference]]
</div>
</div>
</div><<run setup.CC.init()>>
<<set $cc.view = "stats">>
<<set $cc.passageHint = "Stats">>
<<= setup.CC.view("stats") >><div id="cc-caption">
<<if $cc and setup.CC>>
<<= setup.CC.caption()>>
<</if>>
</div><<run setup.CC.init()>>
<<set $dialogue001ready to 1>>
<<set $dialogue002ready to 1>>
<<set $photo001ready to 1>>
<<set $photo002ready to 1>>
<<set $photo003ready to 1>>
<<set $photo004ready to 1>>/% START_TEXT
{
"intro": [
"City of Cravings is a very slow burn, stat-heavy adult sandbox. It is not a guided story game: you build a routine, manage stamina, work, train, learn schedules, scout locations, read reactions, and push relationships forward through many small steps.",
"Most progress comes from repeating days and slowly improving your options. Adult content is gated behind stats, relationship progress, clothing states, location context, patience, and boundaries. There is very little to no story, so the fun is meant to come from long-term sandbox planning, discovery, and gradual progression."
],
"disclaimer": "By continuing, you confirm that you are of legal age and that you willingly consent to be exposed to explicit pornographic material."
}
END_START_TEXT %//% DATA_ACTIONS
[
{
"id": "introduce",
"label": "Friendly introduction",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 2,
"base": 100,
"limit": 1,
"pref": null,
"tags": [
"safe",
"social",
"intro",
"friendly"
],
"unique": "introduced",
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm"
],
"requiresFlags": [],
"setsFlag": "introduced",
"minStats": {},
"desc": "Always succeeds. First contact shaped by Charm, giving Trust and Affection.",
"alwaysSuccess": true,
"relationType": "none"
},
{
"id": "introduce_dominant",
"label": "Dominant introduction",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 2,
"base": 100,
"limit": 1,
"pref": null,
"tags": [
"safe",
"intro",
"dominant"
],
"unique": "introduced",
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance"
],
"requiresFlags": [],
"setsFlag": "introduced",
"minStats": {},
"alwaysSuccess": true,
"desc": "Always succeeds. First contact shaped by Dominance, giving Obedience and Lust.",
"relationType": "none"
},
{
"id": "talk_cooking",
"label": "Talk about food and cooking",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 80,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "cooking",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Cooking interest, plus your Cooking, Empathy, and Charm skills. Low stamina.",
"skillWeights": {
"cooking": 0.6,
"empathy": 0.25,
"charm": 0.15
},
"relationType": "social",
"skills": [
"cooking",
"empathy",
"charm"
]
},
{
"id": "talk_sports",
"label": "Talk about sports and fitness",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 80,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "sports",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Sports interest. Low stamina.",
"skillWeights": {
"sports": 0.55,
"fitness": 0.25,
"charm": 0.2
},
"relationType": "social",
"skills": [
"sports",
"fitness",
"charm"
]
},
{
"id": "talk_computers",
"label": "Talk about computers",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 78,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "informatic",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Informatic interest, plus your Informatic, Intelligence, and Focus skills. Low stamina.",
"skillWeights": {
"informatic": 0.6,
"intelligence": 0.25,
"focus": 0.15
},
"relationType": "social",
"skills": [
"informatic",
"intelligence",
"focus"
]
},
{
"id": "talk_finance",
"label": "Talk about money and ambition",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 76,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "finance",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Finance interest, plus your Finance, Intelligence, and Focus skills. Low stamina.",
"skillWeights": {
"finance": 0.6,
"intelligence": 0.25,
"focus": 0.15
},
"relationType": "social",
"skills": [
"finance",
"intelligence",
"focus"
]
},
{
"id": "talk_art",
"label": "Talk about art and taste",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 80,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "art",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Art interest, plus your Art, Charm, and Empathy skills. Low stamina.",
"skillWeights": {
"art": 0.55,
"charm": 0.25,
"empathy": 0.2
},
"relationType": "social",
"skills": [
"art",
"charm",
"empathy"
]
},
{
"id": "talk_photography",
"label": "Talk about photography",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 78,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "photography",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Photography interest, plus your Photography, Art, Focus, and Empathy skills. Low stamina.",
"skillWeights": {
"photography": 0.55,
"art": 0.2,
"focus": 0.15,
"empathy": 0.1
},
"relationType": "social",
"skills": [
"photography",
"art",
"focus",
"empathy"
]
},
{
"id": "talk_massage",
"label": "Talk about massage and relaxation",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 74,
"limit": 2,
"pref": "massage",
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses her Massage preference, plus your Massage, Empathy, and Touching skills. Low stamina.",
"skillWeights": {
"massage": 0.55,
"empathy": 0.25,
"touching": 0.2
},
"relationType": "social",
"skills": [
"massage",
"empathy",
"touching"
]
},
{
"id": "talk_music",
"label": "Talk about music",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 80,
"limit": 2,
"pref": null,
"tags": [
"safe",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "music",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Uses Music interest, plus your Music, Empathy, and Charm skills. Low stamina.",
"skillWeights": {
"music": 0.6,
"empathy": 0.25,
"charm": 0.15
},
"relationType": "social",
"skills": [
"music",
"empathy",
"charm"
]
},
{
"id": "invite_coffee",
"label": "Invite her for coffee",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 5,
"base": 44,
"limit": 1,
"pref": null,
"tags": [
"date"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"empathy"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Costs 3 stamina to ask. If accepted, spends 3 more stamina, takes about 90 minutes, moves both of you to Cafe Row, and gives small social skill gains.",
"activityLocation": "loc6",
"activityMinutes": 90,
"activitySuccessCost": 3,
"activitySkillGains": {
"charm": 0.1,
"empathy": 0.08,
"hustle": 0.04
},
"activityStatGains": {
"trust": 0.16,
"affection": 0.18,
"knowledge": 0.08
},
"relationType": "social"
},
{
"id": "invite_workout",
"label": "Invite her to train together",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 5,
"base": 40,
"limit": 1,
"pref": null,
"tags": [
"date"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "sports",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Costs 3 stamina to ask. If accepted, spends 9 more stamina, takes about 2 hours, moves both of you to the Gym, and gives fitness and sports gains.",
"activityLocation": "loc1",
"activityMinutes": 120,
"activitySuccessCost": 9,
"activitySkillGains": {
"fitness": 0.18,
"sports": 0.16,
"charm": 0.05
},
"activityStatGains": {
"trust": 0.13,
"affection": 0.1,
"lust": 0.09,
"knowledge": 0.05
},
"skillWeights": {
"fitness": 0.45,
"sports": 0.25,
"charm": 0.2,
"empathy": 0.1
},
"relationType": "social",
"skills": [
"fitness",
"sports",
"charm",
"empathy"
]
},
{
"id": "invite_gallery",
"label": "Invite her to a gallery walk",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 5,
"base": 40,
"limit": 1,
"pref": null,
"tags": [
"date"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "art",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Costs 3 stamina to ask. If accepted, spends 6 more stamina, takes about 2 hours, moves both of you to the Art Studio, and gives art and photography gains.",
"activityLocation": "loc11",
"activityMinutes": 120,
"activitySuccessCost": 6,
"activitySkillGains": {
"art": 0.16,
"photography": 0.12,
"empathy": 0.08,
"charm": 0.04
},
"activityStatGains": {
"trust": 0.12,
"affection": 0.18,
"knowledge": 0.12
},
"skillWeights": {
"art": 0.45,
"photography": 0.25,
"charm": 0.2,
"empathy": 0.1
},
"relationType": "social",
"skills": [
"art",
"photography",
"charm",
"empathy"
]
},
{
"id": "invite_room",
"label": "Invite her to your home",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 5,
"base": 32,
"limit": 1,
"pref": null,
"tags": [
"private"
],
"unique": null,
"movePrivate": true,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "homeInvited",
"minStats": {},
"desc": "Harder global home invite. Uses Lust, and whichever is higher between Trust and Obedience. Home upgrades can improve all home invite routes.",
"skillWeights": {
"charm": 0.45,
"empathy": 0.35,
"focus": 0.2
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"focus"
]
},
{
"id": "invite_private_movie",
"label": "Invite her home for a private movie",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 5,
"base": 37,
"limit": 1,
"pref": null,
"tags": [
"private",
"social",
"date"
],
"unique": null,
"movePrivate": true,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "homeInvited",
"minStats": {},
"desc": "Requires a TV set. Costs 3 stamina to ask. If accepted, spends 6 more stamina, takes about 2 hours, relocates both of you to Your home, and uses movie/home upgrades.",
"activityMinutes": 120,
"activitySuccessCost": 6,
"activitySkillGains": {
"empathy": 0.13,
"charm": 0.07,
"willpower": 0.04
},
"requiresItem": "tv_set",
"requiresItemLabel": "TV set",
"skillWeights": {
"charm": 0.45,
"empathy": 0.35,
"focus": 0.2
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"focus"
]
},
{
"id": "invite_meal",
"label": "Invite her for a meal",
"tab": "Talk",
"setting": "public",
"cost": 3,
"minutes": 5,
"base": 33,
"limit": 1,
"pref": null,
"tags": [
"private",
"social",
"date",
"meal"
],
"unique": null,
"movePrivate": true,
"needs": {},
"interest": "cooking",
"requiresFlags": [],
"setsFlag": "homeInvited",
"minStats": {},
"requiresItem": "basic_cookware",
"requiresItemLabel": "Basic cookware set",
"requiresConsumable": "fresh_ingredients",
"requiresConsumableLabel": "Fresh ingredients x2",
"requiresConsumableAmount": 2,
"desc": "Requires Basic cookware and 2 Fresh ingredients. Available 10:00-14:00 or 16:00-21:00. Uses Cooking heavily, plus Trust, Affection, Obedience, and her Cooking interest. If accepted, consumes the ingredients, spends 9 more stamina, takes about 2 hours, and moves both of you to Your home.",
"activityMinutes": 120,
"activitySuccessCost": 9,
"activitySkillGains": {
"cooking": 0.18,
"charm": 0.04
},
"activityStatGains": {
"trust": 0.16,
"affection": 0.12,
"obedience": 0.05
},
"skillWeights": {
"cooking": 0.5,
"charm": 0.25,
"empathy": 0.25
},
"relationType": "social",
"skills": [
"cooking",
"charm",
"empathy"
]
},
{
"id": "say_goodbye",
"label": "End interaction",
"tab": "Talk",
"setting": "any",
"cost": 0,
"minutes": 0,
"base": 100,
"limit": 99,
"pref": null,
"tags": [
"utility"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Leave the encounter.",
"relationType": "none"
},
{
"id": "compliment_style",
"label": "Compliment her style",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 72,
"limit": 2,
"pref": null,
"tags": [
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"art",
"empathy"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A low-risk style compliment. Uses Charm first, with Art and Empathy as support. Does not change arousal.",
"relationType": "social",
"skillWeights": {
"charm": 0.55,
"art": 0.25,
"empathy": 0.2
},
"noHeat": true
},
{
"id": "look_eyes",
"label": "Hold eye contact",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 62,
"limit": 1,
"pref": null,
"tags": [
"gaze",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"willpower",
"focus",
"teasing"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Hold her gaze with composure. Uses Willpower first, with Focus and Teasing as support. Adds very light arousal on success.",
"skillWeights": {
"willpower": 0.6,
"focus": 0.2,
"teasing": 0.2
},
"relationType": "social"
},
{
"id": "admire_outfit",
"label": "Admire her outfit openly",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 76,
"limit": 1,
"pref": null,
"tags": [
"gaze",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": "photography",
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A controlled visual compliment. Uses Art, Photography, Charm, and Focus. Adds very light arousal on success.",
"skillWeights": {
"art": 0.35,
"photography": 0.25,
"charm": 0.25,
"focus": 0.15
},
"relationType": "social",
"skills": [
"art",
"photography",
"charm",
"focus"
]
},
{
"id": "gaze_chest",
"label": "Look at her chest",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 50,
"limit": 1,
"tags": [
"gaze",
"pervy",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Focus-led gaze action with Teasing and Willpower support. Keeps its body preference check and gets easier when her chest is less covered. Adds light arousal on success.",
"skillWeights": {
"focus": 0.45,
"teasing": 0.35,
"willpower": 0.2
},
"prefWeights": {
"breast_sensitivity": 0.8,
"exhibitionism": 0.2
},
"relationType": "social",
"skills": [
"focus",
"teasing",
"willpower"
]
},
{
"id": "gaze_legs",
"label": "Look at her legs",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 54,
"limit": 1,
"tags": [
"gaze",
"pervy",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Focus-led gaze action with Teasing and Willpower support. Keeps its body preference check and gets easier when her legs are uncovered. Adds light arousal on success.",
"skillWeights": {
"focus": 0.45,
"teasing": 0.35,
"willpower": 0.2
},
"prefWeights": {
"legs_sensitivity": 0.8,
"exhibitionism": 0.2
},
"relationType": "social",
"skills": [
"focus",
"teasing",
"willpower"
]
},
{
"id": "gaze_ass",
"label": "Look at her ass",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 48,
"limit": 1,
"tags": [
"gaze",
"pervy",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"focus": 0.45,
"teasing": 0.35,
"willpower": 0.2
},
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Riskier body gaze. Uses Ass sensitivity, with Focus as the main skill and Teasing/Willpower support. Gets easier when her ass is less covered. Adds light arousal on success.",
"prefWeights": {
"ass_sensitivity": 0.8,
"exhibitionism": 0.2
},
"relationType": "social",
"skills": [
"focus",
"teasing",
"willpower"
]
},
{
"id": "flirt_soft",
"label": "Light flirt",
"tab": "Flirt",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 66,
"limit": 3,
"pref": null,
"tags": [
"flirt",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"empathy",
"teasing"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Low-risk flirt. Uses Charm first, with Empathy and Teasing as support. Adds light arousal on success.",
"dailyGroup": "flirt_tease",
"groupLimit": 3,
"relationType": "social",
"skillWeights": {
"charm": 0.55,
"empathy": 0.25,
"teasing": 0.2
}
},
{
"id": "flirt_bold",
"label": "Bold flirt",
"tab": "Flirt",
"setting": "any",
"cost": 2,
"minutes": 1,
"base": 53,
"limit": 3,
"pref": null,
"tags": [
"flirt",
"arousal",
"risky",
"heat"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"willpower"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A bolder flirt. Raises a little arousal on success. Shares the flirt and teasing daily pool.",
"dailyGroup": "flirt_tease",
"groupLimit": 3,
"relationType": "social"
},
{
"id": "tease_words",
"label": "Suggestive teasing",
"tab": "Flirt",
"setting": "any",
"cost": 2,
"minutes": 1,
"base": 42,
"limit": 3,
"pref": null,
"tags": [
"flirt",
"arousal",
"pervy",
"risky",
"heat"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"teasing"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Suggestive verbal teasing. Riskier and more arousing than light flirt, but no hidden cap or low-assertiveness bonus.",
"dailyGroup": "flirt_tease",
"groupLimit": 3,
"relationType": "social"
},
{
"id": "whisper_dirty",
"label": "Whisper something dirty",
"tab": "Flirt",
"setting": "any",
"cost": 2,
"minutes": 1,
"base": 44,
"limit": 1,
"pref": null,
"tags": [
"flirt",
"pervy",
"risky",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"teasing",
"willpower"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A risky dirty whisper. More arousing than a normal flirt, but still below direct touch or petting. Shares the 3/day flirt pool.",
"dailyGroup": "flirt_tease",
"groupLimit": 3,
"relationType": "social"
},
{
"id": "touch_hand",
"label": "Touch her hand",
"tab": "Touch",
"setting": "any",
"cost": 1,
"minutes": 1,
"base": 86,
"limit": 2,
"pref": "touching",
"tags": [
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"touching",
"empathy"
],
"requiresFlags": [],
"setsFlag": "handTouched",
"minStats": {},
"desc": "Basic physical contact. Low stamina, builds little or capped arousal.",
"relationType": "social"
},
{
"id": "touch_arm",
"label": "Touch her arm",
"tab": "Touch",
"setting": "any",
"cost": 2,
"minutes": 1,
"base": 72,
"limit": 2,
"pref": "touching",
"tags": [
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"touching",
"empathy"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Basic physical contact. Low stamina, builds little or capped arousal.",
"relationType": "social"
},
{
"id": "hug_her",
"label": "Hug her",
"tab": "Touch",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 47,
"limit": 2,
"pref": "touching",
"tags": [
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"touching",
"empathy"
],
"requiresFlags": [],
"setsFlag": "hugged",
"minStats": {},
"desc": "Requires introduction. Low stamina, builds little or capped arousal. Soft-gated by current stats instead of prerequisite flags.",
"relationType": "social"
},
{
"id": "massage_start",
"label": "Offer a massage",
"tab": "Touch",
"setting": "private",
"cost": 5,
"minutes": 5,
"base": 37,
"limit": 2,
"pref": "massage",
"tags": [
"massage",
"private",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"massage",
"empathy"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"startsMassage": true,
"desc": "Starts massage mode if she accepts. Follow-up massage actions appear in the massage continuation panel.",
"relationType": "social"
},
{
"id": "use_massage_oil",
"label": "Use massage oil",
"tab": "MassageFlow",
"setting": "private",
"cost": 0,
"minutes": 1,
"base": 100,
"limit": 99,
"pref": "massage",
"tags": [
"massage",
"private",
"utility",
"item"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"desc": "Consumes one Massage oil. Once per massage section. Treats your Massage skill as 10 points higher until the massage ends.",
"relationType": "none"
},
{
"id": "stop_massage",
"label": "Stop the massage",
"tab": "MassageFlow",
"setting": "private",
"cost": 0,
"minutes": 1,
"base": 100,
"limit": 99,
"pref": "massage",
"tags": [
"massage",
"private",
"utility"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"endsMassage": true,
"alwaysSuccess": true,
"noHeat": true,
"desc": "Ends the active massage without escalating or treating it as a refusal.",
"relationType": "none"
},
{
"id": "massage_shoulders",
"label": "Massage her shoulders",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 5,
"base": 50,
"limit": 2,
"pref": "massage",
"tags": [
"massage",
"private",
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "massaged",
"minStats": {},
"desc": "A safe massage zone. Requires an active massage.",
"requiresMassage": true,
"skillWeights": {
"massage": 0.6,
"empathy": 0.25,
"focus": 0.15
},
"relationType": "social",
"skills": [
"massage",
"empathy",
"focus"
]
},
{
"id": "massage_neck",
"label": "Massage her neck",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 5,
"base": 46,
"limit": 3,
"pref": "massage",
"tags": [
"massage",
"private",
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"desc": "Gentle massage while massage mode is active.",
"skillWeights": {
"massage": 0.6,
"empathy": 0.25,
"focus": 0.15
},
"relationType": "social",
"skills": [
"massage",
"empathy",
"focus"
]
},
{
"id": "massage_back",
"label": "Massage her back",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 5,
"base": 44,
"limit": 3,
"pref": "massage",
"tags": [
"massage",
"private",
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"desc": "A longer massage action. Builds comfort and a little arousal.",
"skillWeights": {
"massage": 0.6,
"empathy": 0.25,
"focus": 0.15
},
"relationType": "social",
"skills": [
"massage",
"empathy",
"focus"
]
},
{
"id": "massage_lower_back",
"label": "Massage her lower back",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 5,
"base": 35,
"limit": 2,
"pref": "massage",
"tags": [
"massage",
"private",
"touch",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"desc": "More suggestive massage zone. Preference and arousal matter.",
"skillWeights": {
"massage": 0.65,
"touching": 0.1,
"empathy": 0.25
},
"relationType": "social",
"skills": [
"massage",
"touching",
"empathy"
]
},
{
"id": "massage_breasts",
"label": "Massage her breasts",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 31,
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"requiresMassage": true,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"limit": 2,
"desc": "Aroused massage zone. Requires an active massage. Raises arousal, lust and affection on success.",
"prefWeights": {
"massage": 0.5,
"breast_sensitivity": 0.5
},
"skillWeights": {
"massage": 0.6,
"touching": 0.2,
"teasing": 0.2
},
"relationType": "social",
"skills": [
"massage",
"touching",
"teasing"
]
},
{
"id": "massage_ass",
"label": "Massage her ass cheeks",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 32,
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"requiresMassage": true,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"limit": 2,
"desc": "Aroused massage zone. Requires an active massage. Raises arousal, lust and affection on success.",
"prefWeights": {
"massage": 0.5,
"ass_sensitivity": 0.5
},
"skillWeights": {
"massage": 0.6,
"touching": 0.2,
"teasing": 0.2
},
"relationType": "social",
"skills": [
"massage",
"touching",
"teasing"
]
},
{
"id": "massage_legs",
"label": "Massage her legs",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 5,
"base": 41,
"limit": 2,
"tags": [
"massage",
"private",
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"massage",
"touching",
"empathy"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"desc": "Massage her legs without immediately escalating.",
"prefWeights": {
"massage": 0.5,
"legs_sensitivity": 0.5
},
"relationType": "social"
},
{
"id": "massage_inner_thighs",
"label": "Massage her inner thighs",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 30,
"limit": 2,
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"desc": "Borderline massage zone. Failure mainly raises discomfort unless the scene is already pushed too far.",
"prefWeights": {
"legs_sensitivity": 0.4,
"vaginal_sensitivity": 0.2,
"massage": 0.4
},
"skillWeights": {
"massage": 0.55,
"touching": 0.15,
"teasing": 0.3
},
"relationType": "social",
"skills": [
"massage",
"touching",
"teasing"
]
},
{
"id": "massage_vagina",
"label": "Rub her vagina as part of the massage",
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 21,
"limit": 99,
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"requiresClothing": [
"pantiesOff"
],
"desc": "Massage escalation focused on rubbing her vagina. Requires panties off. Raises arousal less than fingering and does not directly force an orgasm by itself.",
"prefWeights": {
"touching": 0.4,
"fingering": 0.2,
"vaginal_sensitivity": 0.4
},
"skillWeights": {
"massage": 0.5,
"touching": 0.2,
"teasing": 0.3
},
"relationType": "sexual",
"skills": [
"massage",
"touching",
"teasing"
]
},
{
"tab": "MassageFlow",
"setting": "private",
"cost": 4,
"minutes": 3,
"limit": 99,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"id": "massage_pussy_fabric",
"label": "Massage her pussy through clothes",
"base": 27,
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky",
"fabric"
],
"requiresLayerOn": "lower",
"desc": "Heated massage escalation through clothing. Requires fabric still covering her. Arousal makes it easier. On success the massage continues; refusal can still break the mood.",
"prefWeights": {
"touching": 0.5,
"vaginal_sensitivity": 0.5
},
"skillWeights": {
"massage": 0.5,
"touching": 0.2,
"teasing": 0.3
},
"relationType": "sexual",
"skills": [
"massage",
"touching",
"teasing"
]
},
{
"tab": "MassageFlow",
"setting": "private",
"cost": 4,
"minutes": 3,
"limit": 99,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"endsMassage": true,
"id": "massage_pussy_bare",
"label": "Massage her bare pussy",
"base": 25,
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"requiresClothing": [
"pantiesOff"
],
"desc": "Final arousaled massage escalation. Requires panties off. Arousal makes it easier. Ends massage either way.",
"startsSexualState": "fingering",
"stateDetail": "fingering",
"prefWeights": {
"touching": 0.4,
"fingering": 0.2,
"vaginal_sensitivity": 0.4
},
"skillWeights": {
"massage": 0.5,
"touching": 0.2,
"teasing": 0.3
},
"relationType": "sexual",
"skills": [
"massage",
"touching",
"teasing"
]
},
{
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 3,
"limit": 99,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"endsMassage": true,
"id": "massage_tongue_ass",
"label": "Surprise her with your tongue on her asshole",
"base": 12,
"tags": [
"massage",
"private",
"touch",
"sexual",
"oral",
"anal",
"analingus",
"risky"
],
"requiresClothing": [
"bottomOff",
"pantiesOff"
],
"desc": "A difficult final massage escalation. Requires lower layers off, ends the massage on success or refusal, and starts Analingus instead of anal sex.",
"startsSexualState": "analingus",
"stateDetail": "analingus",
"prefWeights": {
"anal_sensitivity": 0.5,
"receiving_oral": 0.5
},
"skillWeights": {
"oral": 0.5,
"teasing": 0.111111,
"empathy": 0.166667,
"focus": 0.222222
},
"relationType": "sexual",
"skills": [
"oral",
"teasing",
"empathy",
"focus"
]
},
{
"tab": "MassageFlow",
"setting": "private",
"cost": 6,
"minutes": 3,
"limit": 99,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"requiresMassage": true,
"endsMassage": true,
"id": "massage_tongue_pussy",
"label": "Surprise her with your tongue on her pussy",
"base": 13,
"tags": [
"massage",
"private",
"touch",
"sexual",
"oral",
"risky"
],
"requiresClothing": [
"pantiesOff"
],
"desc": "A very difficult final massage escalation. Requires panties off, ends the massage on success or refusal, and relies heavily on arousal, oral skill and her preferences.",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.9,
"focus": 0.1
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "kiss_cheek",
"label": "Kiss her cheek",
"tab": "Touch",
"setting": "any",
"cost": 2,
"minutes": 1,
"base": 53,
"limit": 2,
"pref": "kissing",
"tags": [
"kiss",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "cheekKissed",
"minStats": {},
"desc": "A light kiss. Low stamina, builds small arousal, and stays softly capped by her kissing preference and current relationship.",
"skillWeights": {
"kissing": 0.6,
"empathy": 0.25,
"teasing": 0.15
},
"relationType": "social",
"skills": [
"kissing",
"empathy",
"teasing"
]
},
{
"id": "kiss_lips",
"label": "Kiss her lips",
"tab": "Touch",
"setting": "any",
"cost": 2,
"minutes": 1,
"base": 29,
"limit": 2,
"pref": "kissing",
"tags": [
"kiss",
"risky",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "kissed",
"minStats": {},
"desc": "A real kiss on the lips. Builds modest arousal on success and stays gated by her kissing preference, relationship, and current mood.",
"skillWeights": {
"kissing": 0.6,
"empathy": 0.25,
"teasing": 0.15
},
"relationType": "social",
"skills": [
"kissing",
"empathy",
"teasing"
]
},
{
"id": "deep_kiss",
"label": "Deep kiss",
"tab": "Touch",
"setting": "any",
"cost": 6,
"minutes": 2,
"base": 22,
"limit": 2,
"pref": "kissing",
"tags": [
"kiss",
"risky",
"heat",
"arousal"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "deepKissed",
"minStats": {},
"desc": "A deeper kiss. Costs more stamina, builds stronger arousal on success, and remains riskier in public or with low trust.",
"skillWeights": {
"kissing": 0.6,
"empathy": 0.25,
"teasing": 0.15
},
"relationType": "social",
"skills": [
"kissing",
"empathy",
"teasing"
]
},
{
"id": "suck_nipples",
"label": "Suck her nipples",
"tab": "Petting",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 31,
"limit": 2,
"tags": [
"oral_light",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "nipplesSucked",
"minStats": {},
"desc": "Nipple teasing by mouth. Requires her bra to be off first. Listed under Petting, not basic Touch. Arousal is capped at 30, or her lust value if higher.",
"requiresClothing": [
"braOff"
],
"prefWeights": {
"breast_sensitivity": 0.8,
"receiving_oral": 0.2
},
"skillWeights": {
"oral": 0.45,
"touching": 0.25,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"oral",
"touching",
"teasing",
"focus"
]
},
{
"id": "caress_thigh",
"label": "Caress her thigh",
"tab": "Petting",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 49,
"limit": 2,
"tags": [
"petting",
"touch",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "thighCaressed",
"minStats": {},
"desc": "Suggestive caressing. Easier than explicit sex, harder than ordinary touching. Available in public, but harder because of exposure.",
"prefWeights": {
"legs_sensitivity": 0.8,
"touching": 0.2
},
"skillWeights": {
"touching": 0.55,
"teasing": 0.3,
"massage": 0.15
},
"relationType": "social",
"skills": [
"touching",
"teasing",
"massage"
]
},
{
"id": "pet_over_clothes",
"label": "Caress her through her clothes",
"tab": "Petting",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 47,
"limit": 4,
"pref": "touching",
"tags": [
"petting",
"touch",
"sexual",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Suggestive caressing through clothing. Uses Touching plus Teasing, with lust handled by the normal chance formula. Only available while at least one clothing layer is still on. Available in public, but harder because of exposure.",
"requiresLayerOn": "any",
"skillWeights": {
"touching": 0.7,
"teasing": 0.3
},
"relationType": "social",
"skills": [
"touching",
"teasing"
]
},
{
"id": "rub_breasts_fabric",
"label": "Rub her tits through her clothes",
"tab": "Petting",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 46,
"limit": 2,
"tags": [
"petting",
"touch",
"sexual",
"fabric"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Rub her tits through her top or bra. Only available while something still covers her chest. Available in public, but harder because of exposure.",
"requiresClothing": [],
"requiresLayerOn": "upper",
"prefWeights": {
"breast_sensitivity": 0.8,
"touching": 0.2
},
"skillWeights": {
"touching": 0.5,
"teasing": 0.35,
"massage": 0.15
},
"relationType": "social",
"skills": [
"touching",
"teasing",
"massage"
]
},
{
"id": "rub_ass_clothes",
"label": "Rub her ass through her clothes",
"tab": "Petting",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 46,
"limit": 2,
"tags": [
"petting",
"touch",
"sexual",
"fabric"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Rub her ass through her clothes. Only available while something still covers her lower body. Available in public, but harder because of exposure.",
"requiresLayerOn": "lower",
"prefWeights": {
"ass_sensitivity": 0.8,
"touching": 0.2
},
"skillWeights": {
"touching": 0.5,
"teasing": 0.35,
"massage": 0.15
},
"relationType": "social",
"skills": [
"touching",
"teasing",
"massage"
]
},
{
"id": "rub_pussy_fabric",
"label": "Rub her pussy through fabric",
"tab": "Petting",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 31,
"limit": 2,
"tags": [
"petting",
"touch",
"sexual",
"fabric",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Genital rubbing through fabric. Available in public at a larger difficulty penalty; only available while bottoms or panties are still on. On success it starts a rubbing continue-state menu.",
"requiresClothing": [],
"requiresLayerOn": "lower",
"startsSexualState": "rubbing",
"stateDetail": "rubbing",
"heatBase": 8.0,
"prefWeights": {
"touching": 0.5,
"vaginal_sensitivity": 0.5
},
"skillWeights": {
"touching": 0.55,
"teasing": 0.3,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"touching",
"teasing",
"focus"
]
},
{
"id": "finger_pussy",
"label": "Try to finger her pussy",
"tab": "Petting",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 23,
"limit": 2,
"tags": [
"petting",
"touch",
"private",
"sexual",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "fingered",
"minStats": {},
"desc": "Explicit petting attempt. Easier than full sex, still very intimate. Requires panties off. On success it starts a fingering continue-state menu.",
"requiresClothing": [
"pantiesOff"
],
"startsSexualState": "fingering",
"stateDetail": "fingering",
"prefWeights": {
"fingering": 0.6,
"vaginal_sensitivity": 0.4
},
"skillWeights": {
"touching": 0.6,
"teasing": 0.25,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"touching",
"teasing",
"focus"
]
},
{
"id": "grind_together",
"label": "Grind against her",
"tab": "Petting",
"setting": "private",
"cost": 7,
"minutes": 3,
"base": 23,
"limit": 3,
"tags": [
"petting",
"private",
"sexual",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Grind your hardon against her slit without penetration. Required setup for trying to slip inside.",
"prefWeights": {
"touching": 0.5,
"vaginal_sensitivity": 0.5
},
"skillWeights": {
"teasing": 0.4,
"touching": 0.2,
"focus": 0.2,
"penetration": 0.2
},
"relationType": "sexual",
"skills": [
"teasing",
"touching",
"focus",
"penetration"
]
},
{
"id": "try_slip_inside",
"label": "Try to slip it inside",
"tab": "Petting",
"setting": "private",
"cost": 9,
"minutes": 2,
"base": 16,
"limit": 1,
"tags": [
"petting",
"private",
"sexual",
"sex",
"risky",
"slip_inside"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"desc": "Only appears immediately after Grind against her, while both of you are naked and no other sexual state is active. On success it starts missionary sex.",
"startsSexualState": "sex",
"stateDetail": "missionary",
"requiresClothing": [
"topOff",
"braOff",
"bottomOff",
"pantiesOff"
],
"requiresPlayerUndressed": true,
"activitySuccessCost": 4,
"prefWeights": {
"touching": 0.5,
"vaginal_sensitivity": 0.5
},
"skillWeights": {
"teasing": 0.4,
"penetration": 0.4,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"teasing",
"penetration",
"focus"
]
},
{
"id": "anal_talk",
"label": "Talk about anal",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 10,
"base": 34,
"limit": 2,
"pref": "anal_sensitivity",
"tags": [
"anal",
"social"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"anal",
"empathy"
],
"requiresFlags": [],
"setsFlag": "analTalk",
"minStats": {},
"desc": "Bring up anal play verbally. Very hard talk option.",
"relationType": "social"
},
{
"id": "finger_ass",
"label": "Finger her ass",
"tab": "Petting",
"setting": "private",
"cost": 7,
"minutes": 3,
"base": 25,
"limit": 2,
"tags": [
"anal",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [
"pantiesOff"
],
"setsFlag": "analFinger",
"minStats": {},
"desc": "Anal-themed escalation handled inside Petting. Requires her panties to be off. Arousal, trust and her anal sensitivity matter.",
"prefWeights": {
"anal_sensitivity": 0.6,
"fingering": 0.4
},
"skillWeights": {
"anal": 0.5,
"touching": 0.5
},
"relationType": "sexual",
"skills": [
"anal",
"touching"
]
},
{
"id": "ask_about_schedule",
"label": "Ask about her schedule",
"tab": "Talk",
"setting": "public",
"cost": 2,
"minutes": 10,
"base": 91,
"limit": 1,
"pref": null,
"tags": [
"safe",
"social",
"knowledge",
"routine"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Harder knowledge action. Gives a much larger Knowledge gain and unlocks schedule clues at thresholds.",
"skillWeights": {
"charm": 0.55,
"empathy": 0.3,
"intelligence": 0.15
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"intelligence"
]
},
{
"id": "inquire_jobs",
"label": "Inquire about jobs",
"tab": "Talk",
"setting": "public",
"cost": 1,
"minutes": 1,
"base": 100,
"limit": 1,
"pref": null,
"tags": [
"safe",
"social",
"ask_info",
"job_lead"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"focus"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Ask whether she knows a work opportunity. This does not roll chance; it checks the requirements listed in the Jobs passage.",
"relationType": "social"
},
{
"id": "inquire_training",
"label": "Inquire about training",
"tab": "Talk",
"setting": "public",
"cost": 1,
"minutes": 1,
"base": 100,
"limit": 1,
"pref": null,
"tags": [
"safe",
"social",
"ask_info",
"training_lead"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"focus",
"empathy"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Ask whether she knows a training opportunity. This does not roll chance; it checks the requirements listed in the Jobs passage.",
"relationType": "social"
},
{
"id": "ask_number",
"label": "Ask for her number",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 3,
"base": 50,
"limit": 1,
"pref": null,
"tags": [
"social"
],
"unique": "number",
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"empathy"
],
"requiresFlags": [],
"setsFlag": "number",
"minStats": {},
"desc": "Unique. Hidden after success. Makes sense anywhere if you do not have her number yet. Low stamina.",
"relationType": "social"
},
{
"id": "ask_address",
"label": "Ask for her address",
"tab": "Talk",
"setting": "any",
"cost": 3,
"minutes": 5,
"base": 35,
"limit": 1,
"pref": null,
"tags": [
"safe",
"social",
"knowledge",
"address"
],
"unique": "address",
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [
"introduced"
],
"setsFlag": "address",
"minStats": {},
"desc": "A serious one-time ask. Much harder than asking for her number. Failure costs more patience and trust; success unlocks her address.",
"skillWeights": {
"charm": 0.45,
"empathy": 0.25,
"intelligence": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"intelligence",
"focus"
]
},
{
"id": "ask_blowjob",
"label": "Ask for a blowjob",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 19,
"limit": 2,
"pref": "giving_oral",
"tags": [
"receiving_oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "blowjob",
"minStats": {},
"desc": "Ask for a blowjob. If accepted, you expose yourself and a blowjob Continue state starts.",
"startsSexualState": "blowjob",
"stateDetail": "oral_give",
"playerUndress": true,
"skillWeights": {
"focus": 0.6,
"empathy": 0.4
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "ask_handjob",
"label": "Ask for a handjob",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 30,
"limit": 2,
"pref": "handjob",
"tags": [
"handjob",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Ask for a handjob. If accepted, you expose yourself and a Handjob Continue state starts.",
"startsSexualState": "handjob",
"stateDetail": "handjob",
"playerUndress": true,
"skillWeights": {
"touching": 0.6,
"focus": 0.25,
"empathy": 0.15
},
"relationType": "sexual",
"skills": [
"touching",
"focus",
"empathy"
]
},
{
"id": "ask_footjob",
"label": "Ask for a footjob",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 32,
"limit": 2,
"tags": [
"footjob",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Ask her to use her feet on you. Uses Legs sensitivity. If accepted, you expose yourself and a Footjob Continue state starts.",
"startsSexualState": "footjob",
"stateDetail": "footjob",
"playerUndress": true,
"heatBase": 6.4,
"activitySuccessCost": 2,
"prefWeights": {
"legs_sensitivity": 0.8,
"touching": 0.2
},
"skillWeights": {
"focus": 0.6,
"empathy": 0.4
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "ask_titfuck",
"label": "Ask for a titfuck",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 2,
"base": 13,
"limit": 2,
"tags": [
"titfuck",
"breast",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"focus": 0.45,
"empathy": 0.1,
"penetration": 0.45
},
"requiresFlags": [],
"setsFlag": "titfuck",
"minStats": {},
"desc": "Ask her to press her breasts around your cock. Primarily uses Titfuck preference, with a smaller Breast sensitivity influence. If accepted, her upper layers come off, you expose yourself, and a Titfuck Continue state starts.",
"startsSexualState": "titfuck",
"stateDetail": "titfuck",
"clothingSet": [
"topOff",
"braOff"
],
"playerUndress": true,
"heatBase": 7.4,
"activitySuccessCost": 4,
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"extraPrefs": [
"breast_sensitivity"
],
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"penetration"
]
},
{
"id": "ask_permission_finger",
"label": "Ask permission to finger her",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 22,
"limit": 2,
"tags": [
"petting",
"touch",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Ask permission before fingering her. If accepted, her lower layers come off and Fingering starts.",
"startsSexualState": "fingering",
"stateDetail": "fingering",
"clothingSet": [
"bottomOff",
"pantiesOff"
],
"activitySuccessCost": 4,
"prefWeights": {
"fingering": 0.6,
"vaginal_sensitivity": 0.4
},
"skillWeights": {
"touching": 0.6,
"teasing": 0.25,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"touching",
"teasing",
"focus"
]
},
{
"id": "ask_permission_oral",
"label": "Ask to lick her pussy",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 21,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Ask to go down on her and lick her pussy. If accepted, her lower layers come off and Cunnilingus starts.",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"clothingSet": [
"bottomOff",
"pantiesOff"
],
"activitySuccessCost": 4,
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.9,
"focus": 0.1
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "ask_sex",
"label": "Ask for sex",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 2,
"base": 12,
"limit": 2,
"pref": "vaginal_sensitivity",
"tags": [
"sex",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"desc": "Ask for sex directly. If accepted, both lower layers come off and a Sex Continue state starts.",
"startsSexualState": "sex",
"stateDetail": "missionary",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"activitySuccessCost": 4,
"skillWeights": {
"penetration": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "ask_anal_sex",
"label": "Ask for anal sex",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 2,
"base": 5,
"limit": 1,
"pref": "anal_sensitivity",
"tags": [
"anal",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analSex",
"minStats": {},
"desc": "Ask for anal sex directly. If accepted, both lower layers come off and an Anal Continue state starts.",
"startsSexualState": "anal",
"stateDetail": "anal_missionary",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"activitySuccessCost": 4,
"skillWeights": {
"anal": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "sit_on_face",
"label": "Ask her to sit on your face",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 2,
"base": 16,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"oral",
"willpower"
],
"requiresFlags": [],
"setsFlag": "facesat",
"minStats": {},
"desc": "Ask her to sit on your face. If accepted, her lower layers come off and a cunnilingus Continue state starts with her taking the position.",
"startsSexualState": "cunnilingus",
"stateDetail": "facesitting",
"clothingSet": [
"bottomOff",
"pantiesOff"
],
"activitySuccessCost": 7,
"prefWeights": {
"receiving_oral": 0.9,
"vaginal_sensitivity": 0.1
},
"relationType": "sexual"
},
{
"id": "sixty_nine",
"label": "Ask for 69",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 2,
"base": 19,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "sixtyNine",
"minStats": {},
"desc": "Ask for mutual oral. If accepted, both lower layers come off and a dedicated 69 Continue state starts.",
"startsSexualState": "sixty_nine",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"stateDetail": "sixty_nine",
"heatBase": 14.0,
"activitySuccessCost": 4,
"prefWeights": {
"sixty_nine": 0.6,
"giving_oral": 0.2,
"receiving_oral": 0.2
},
"skillWeights": {
"oral": 0.7,
"empathy": 0.15,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"oral",
"empathy",
"focus"
]
},
{
"id": "beg_cunnilingus",
"label": "Beg to lick her pussy",
"tab": "Ask-beg",
"setting": "private",
"cost": 5,
"minutes": 1,
"base": 12,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "facesat",
"minStats": {},
"desc": "Beg to go down on her and lick her pussy. If accepted, her lower layers come off and the cunnilingus Continue state starts.",
"startsSexualState": "cunnilingus",
"stateDetail": "facesitting",
"clothingSet": [
"bottomOff",
"pantiesOff"
],
"activitySuccessCost": 7,
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.9,
"focus": 0.1
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "beg_sixty_nine",
"label": "Beg for 69",
"tab": "Ask-beg",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 15,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "sixtyNine",
"minStats": {},
"desc": "Beg for mutual oral. This mainly checks 69 preference, affection, lust and low assertiveness, instead of requiring both oral preferences to be high.",
"startsSexualState": "sixty_nine",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"stateDetail": "sixty_nine",
"heatBase": 14.0,
"activitySuccessCost": 4,
"prefWeights": {
"sixty_nine": 0.6,
"giving_oral": 0.2,
"receiving_oral": 0.2
},
"skillWeights": {
"oral": 0.7,
"empathy": 0.15,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"oral",
"empathy",
"focus"
]
},
{
"id": "beg_anal_sex",
"label": "Beg for anal sex",
"tab": "Ask-beg",
"setting": "private",
"cost": 3,
"minutes": 2,
"base": 0,
"limit": 1,
"pref": "anal_sensitivity",
"tags": [
"anal",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analSex",
"minStats": {},
"desc": "Beg for the escalation. Affection, lust and higher assertiveness matter, but your Dominance drops. If it works, both lower layers come off and Anal starts. Begging now needs real affection, lust and the right personality instead of riding arousal alone.",
"startsSexualState": "anal",
"stateDetail": "anal_cowgirl",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"activitySuccessCost": 4,
"skillWeights": {
"anal": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "beg_sex",
"label": "Beg for sex",
"tab": "Ask-beg",
"setting": "private",
"cost": 3,
"minutes": 2,
"base": 5,
"limit": 2,
"pref": "vaginal_sensitivity",
"tags": [
"sex",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"desc": "Beg for the escalation. Affection, lust and higher assertiveness matter, but your Dominance drops. If it works, both lower layers come off and Sex starts. Begging now needs real affection, lust and the right personality instead of riding arousal alone.",
"startsSexualState": "sex",
"stateDetail": "cowgirl",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"activitySuccessCost": 4,
"skillWeights": {
"penetration": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "beg_blowjob",
"label": "Beg for a blowjob",
"tab": "Ask-beg",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 11,
"limit": 2,
"pref": "giving_oral",
"tags": [
"receiving_oral",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "blowjob",
"minStats": {},
"desc": "Beg for the escalation. Affection, lust and higher assertiveness matter, but your Dominance drops. If it works, you expose yourself and Blowjob starts. Begging now needs real affection, lust and the right personality instead of riding arousal alone.",
"startsSexualState": "blowjob",
"stateDetail": "oral_give",
"playerUndress": true,
"activitySuccessCost": 2,
"skillWeights": {
"focus": 0.6,
"empathy": 0.4
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "beg_handjob",
"label": "Beg for a handjob",
"tab": "Ask-beg",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 23,
"limit": 2,
"pref": "handjob",
"tags": [
"handjob",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Beg for the escalation. Affection, lust and higher assertiveness matter, but your Dominance drops. If it works, you expose yourself and Handjob starts. Begging now needs real affection, lust and the right personality instead of riding arousal alone.",
"startsSexualState": "handjob",
"stateDetail": "handjob",
"playerUndress": true,
"activitySuccessCost": 2,
"skillWeights": {
"touching": 0.6,
"focus": 0.25,
"empathy": 0.15
},
"relationType": "sexual",
"skills": [
"touching",
"focus",
"empathy"
]
},
{
"id": "beg_footjob",
"label": "Beg for a footjob",
"tab": "Ask-beg",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 28,
"limit": 2,
"tags": [
"footjob",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Beg her to use her feet on you. Affection, lust and lower assertiveness matter, while Legs sensitivity still sets the preference check. If accepted, you expose yourself and Footjob starts.",
"startsSexualState": "footjob",
"stateDetail": "footjob",
"playerUndress": true,
"heatBase": 6.4,
"activitySuccessCost": 2,
"prefWeights": {
"legs_sensitivity": 0.8,
"touching": 0.2
},
"skillWeights": {
"focus": 0.6,
"empathy": 0.4
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "beg_titfuck",
"label": "Beg for a titfuck",
"tab": "Ask-beg",
"setting": "private",
"cost": 3,
"minutes": 2,
"base": 9,
"limit": 2,
"tags": [
"titfuck",
"breast",
"private",
"sexual",
"ask_beg",
"beg"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"focus": 0.45,
"empathy": 0.1,
"penetration": 0.45
},
"requiresFlags": [],
"setsFlag": "titfuck",
"minStats": {},
"desc": "Beg her to give you a titfuck. Primarily uses Titfuck preference, with a smaller Breast sensitivity influence, plus the normal begging angle.",
"startsSexualState": "titfuck",
"stateDetail": "titfuck",
"clothingSet": [
"topOff",
"braOff"
],
"playerUndress": true,
"heatBase": 7.4,
"activitySuccessCost": 4,
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"extraPrefs": [
"breast_sensitivity"
],
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"penetration"
]
},
{
"id": "remove_your_clothes",
"label": "Remove your clothes",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 44,
"limit": 2,
"pref": null,
"tags": [
"private",
"sexual",
"risky",
"player_strip",
"strip"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"teasing",
"willpower"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "You undress yourself. She cannot stop it, but if the mood is wrong her patience and discomfort can spike hard. This does not train Exhibitionism by itself.",
"playerUndress": true,
"reactionCheck": true,
"relationType": "social"
},
{
"id": "ask_top_off",
"label": "Ask her to remove her top",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 38,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"ask_strip"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "topOff",
"minStats": {},
"desc": "Ask her to remove her top. Safer than trying it yourself: more trust-based, lighter on lust, and only a small lust gain if she agrees.",
"stripMode": "ask",
"clothingSet": [
"topOff"
],
"requiresClothing": [],
"skillWeights": {
"charm": 0.35,
"empathy": 0.35,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"teasing",
"focus"
]
},
{
"id": "try_top_off",
"label": "Try to lift her top",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 27,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"touching",
"teasing"
],
"requiresFlags": [],
"setsFlag": "topOff",
"minStats": {},
"desc": "Physically try to lift her top. Dominance and her obedience matter much more now: if she is not already receptive, this should be harder than asking and much harsher when refused.",
"stripMode": "attempt",
"clothingSet": [
"topOff"
],
"requiresClothing": [],
"relationType": "social"
},
{
"id": "unhook_bra",
"label": "Try to unhook her bra",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 25,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"touching",
"teasing"
],
"requiresFlags": [],
"setsFlag": "braOff",
"minStats": {},
"desc": "Try to unhook her bra. This is a direct underwear-layer attempt: dominance, touch, and teasing matter, and a bad refusal should cost patience and comfort fast.",
"stripMode": "attempt",
"clothingSet": [
"braOff"
],
"requiresClothing": [
"topOff"
],
"relationType": "social"
},
{
"id": "ask_bra_off",
"label": "Ask her to remove her bra",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 32,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"ask_strip"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "braOff",
"minStats": {},
"desc": "Ask her to remove her bra. This is a direct but verbal step: safer than unhooking it yourself, but more intimate than asking for her top.",
"stripMode": "ask",
"clothingSet": [
"braOff"
],
"requiresClothing": [],
"skillWeights": {
"charm": 0.35,
"empathy": 0.35,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"teasing",
"focus"
]
},
{
"id": "ask_bottom_off",
"label": "Ask her to remove her bottoms",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 32,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"ask_strip"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "bottomOff",
"minStats": {},
"desc": "Ask her to remove her bottoms. More intimate than asking for the top, so it leans harder on trust, affection, lust and arousal.",
"stripMode": "ask",
"clothingSet": [
"bottomOff"
],
"requiresClothing": [],
"skillWeights": {
"charm": 0.35,
"empathy": 0.35,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"teasing",
"focus"
]
},
{
"id": "try_bottom_off",
"label": "Try to slide her bottoms off",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 24,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"touching",
"teasing"
],
"requiresFlags": [],
"setsFlag": "bottomOff",
"minStats": {},
"desc": "Physically try to slide her bottoms off. Dominance and obedience carry the attempt, but the lower layer is still harder and more punishing than a top attempt.",
"stripMode": "attempt",
"clothingSet": [
"bottomOff"
],
"requiresClothing": [],
"relationType": "social"
},
{
"id": "remove_panties",
"label": "Try to remove her panties",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 24,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "pantiesOff",
"minStats": {},
"desc": "Try to remove her panties. This is the riskiest underwear-layer attempt, carried by dominance, obedience, heat and lust, not charm.",
"stripMode": "attempt",
"clothingSet": [
"pantiesOff"
],
"requiresClothing": [
"bottomOff"
],
"skillWeights": {
"touching": 0.35,
"teasing": 0.3,
"dominance": 0.2,
"focus": 0.15
},
"relationType": "social",
"skills": [
"touching",
"teasing",
"dominance",
"focus"
]
},
{
"id": "ask_panties_off",
"label": "Ask her to remove her panties",
"tab": "Strip",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 30,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"ask_strip"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "pantiesOff",
"minStats": {},
"desc": "Ask her to remove her panties. This is a direct final-layer request, still safer than trying, but more intimate and less trust-building than asking for bottoms.",
"stripMode": "ask",
"clothingSet": [
"pantiesOff"
],
"requiresClothing": [],
"skillWeights": {
"charm": 0.35,
"empathy": 0.35,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"teasing",
"focus"
]
},
{
"id": "strip_together",
"label": "Ask to undress together",
"tab": "Strip",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 26,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"ask_strip",
"mutual_nudity",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "mutualUndress",
"minStats": {},
"desc": "Ask to undress together. This is a mutual step, so it stays harder than simple single-layer requests.",
"stripMode": "ask",
"clothingSet": [
"topOff",
"braOff",
"bottomOff",
"pantiesOff"
],
"requiresClothing": [],
"skillWeights": {
"charm": 0.35,
"empathy": 0.35,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"teasing",
"focus"
]
},
{
"id": "ask_naked",
"label": "Ask her to undress completely",
"tab": "Strip",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 34,
"limit": 99,
"pref": "undressing",
"tags": [
"strip",
"private",
"ask_strip",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "naked",
"minStats": {},
"desc": "Ask her to remove every remaining layer. This is harder than asking for one specific item and should never be the easiest strip request.",
"stripMode": "ask",
"clothingSet": [
"topOff",
"braOff",
"bottomOff",
"pantiesOff",
"naked"
],
"requiresClothing": [],
"skillWeights": {
"charm": 0.35,
"empathy": 0.35,
"teasing": 0.2,
"focus": 0.1
},
"relationType": "social",
"skills": [
"charm",
"empathy",
"teasing",
"focus"
]
},
{
"id": "gentle_command",
"label": "Give a gentle command",
"tab": "Command",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 62,
"limit": 2,
"pref": null,
"tags": [
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"willpower"
],
"requiresFlags": [],
"setsFlag": "commanded",
"minStats": {},
"desc": "Low intensity obedience training. Easier on low-assertiveness girls, but still checks your command presence.",
"relationType": "command"
},
{
"id": "make_her_hold_still",
"label": "Tell her to hold still",
"tab": "Command",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 50,
"limit": 2,
"pref": null,
"tags": [
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"willpower",
"focus"
],
"requiresFlags": [],
"setsFlag": "heldStill",
"minStats": {},
"desc": "Tell her to hold still. A stronger command than a gentle request, but no longer treated as public exposure by itself.",
"relationType": "command"
},
{
"id": "guide_position",
"label": "Guide her position",
"tab": "Command",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 46,
"limit": 2,
"pref": null,
"tags": [
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"touching",
"willpower"
],
"requiresFlags": [],
"setsFlag": "guidedPosition",
"minStats": {},
"desc": "Guide her position with a direct command. More physical than asking her to hold still, and still harder in public.",
"relationType": "command"
},
{
"id": "dirty_praise",
"label": "Dirty praise",
"tab": "Command",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 28,
"limit": 3,
"pref": null,
"tags": [
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"teasing",
"willpower"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Command-style dirty praise. Requires you to have already cum during this encounter, so the low base reflects the stronger context gate.",
"relationType": "command"
},
{
"id": "hold_eye_contact_command",
"label": "Tell her to keep eye contact",
"tab": "Command",
"setting": "any",
"cost": 3,
"minutes": 1,
"base": 56,
"limit": 2,
"pref": null,
"tags": [
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"willpower",
"focus"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Tell her to keep eye contact. Slightly firmer than a gentle command, but still a low-pressure obedience check.",
"relationType": "command"
},
{
"id": "demand_cunnilingus",
"label": "Demand to lick her pussy",
"tab": "Command",
"setting": "private",
"cost": 6,
"minutes": 1,
"base": 14,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Command her into letting you lick her pussy. If it works, her lower layers come off and Cunnilingus starts.",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"clothingSet": [
"bottomOff",
"pantiesOff"
],
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.9,
"focus": 0.1
},
"relationType": "command",
"skills": [
"oral",
"focus"
]
},
{
"id": "demand_sixty_nine",
"label": "Demand 69",
"tab": "Command",
"setting": "private",
"cost": 4,
"minutes": 2,
"base": 12,
"limit": 2,
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"oral": 0.7,
"empathy": 0.15,
"focus": 0.15
},
"requiresFlags": [],
"setsFlag": "sixtyNine",
"minStats": {},
"desc": "Command her into 69. Uses the 69 preference and oral angle from the ask version, plus the normal demand pressure from obedience, lust and your Dominance.",
"startsSexualState": "sixty_nine",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"stateDetail": "sixty_nine",
"heatBase": 14.0,
"activitySuccessCost": 4,
"prefWeights": {
"sixty_nine": 0.6,
"giving_oral": 0.2,
"receiving_oral": 0.2
},
"relationType": "command",
"skills": [
"oral",
"empathy",
"focus"
]
},
{
"id": "demand_anal_sex",
"label": "Demand anal sex",
"tab": "Command",
"setting": "private",
"cost": 4,
"minutes": 3,
"base": 1,
"limit": 1,
"pref": "anal_sensitivity",
"tags": [
"anal",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analSex",
"minStats": {},
"desc": "Command her into the escalation. Low obedience can make this trade affection for obedience. Dominance, lust and lower assertiveness matter. If it works, both lower layers come off and Anal starts.",
"startsSexualState": "anal",
"stateDetail": "anal_wall",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"activitySuccessCost": 4,
"skillWeights": {
"anal": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "command",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "demand_sex",
"label": "Demand sex",
"tab": "Command",
"setting": "private",
"cost": 4,
"minutes": 2,
"base": 7,
"limit": 2,
"pref": "vaginal_sensitivity",
"tags": [
"sex",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"desc": "Command her into the escalation. Low obedience can make this trade affection for obedience. Dominance, lust and lower assertiveness matter. If it works, both lower layers come off and Sex starts.",
"startsSexualState": "sex",
"stateDetail": "wall",
"clothingSet": [
"bottomOff",
"pantiesOff",
"mutualUndress"
],
"playerUndress": true,
"activitySuccessCost": 4,
"skillWeights": {
"penetration": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "command",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "demand_blowjob",
"label": "Demand a blowjob",
"tab": "Command",
"setting": "private",
"cost": 6,
"minutes": 1,
"base": 13,
"limit": 2,
"pref": "giving_oral",
"tags": [
"receiving_oral",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "blowjob",
"minStats": {},
"desc": "Command her into the escalation. Low obedience can make this trade affection for obedience. Dominance, lust and lower assertiveness matter. If it works, you expose yourself and Blowjob starts.",
"startsSexualState": "blowjob",
"stateDetail": "oral_give",
"playerUndress": true,
"skillWeights": {
"focus": 0.6,
"empathy": 0.4
},
"relationType": "command",
"skills": [
"focus",
"empathy"
]
},
{
"id": "demand_handjob",
"label": "Demand a handjob",
"tab": "Command",
"setting": "private",
"cost": 4,
"minutes": 1,
"base": 23,
"limit": 2,
"pref": "handjob",
"tags": [
"handjob",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Command her into the escalation. Low obedience can make this trade affection for obedience. Dominance, lust and lower assertiveness matter. If it works, you expose yourself and Handjob starts.",
"startsSexualState": "handjob",
"stateDetail": "handjob",
"playerUndress": true,
"skillWeights": {
"touching": 0.6,
"focus": 0.25,
"empathy": 0.15
},
"relationType": "command",
"skills": [
"touching",
"focus",
"empathy"
]
},
{
"id": "demand_footjob",
"label": "Demand a footjob",
"tab": "Command",
"setting": "private",
"cost": 4,
"minutes": 1,
"base": 23,
"limit": 2,
"tags": [
"footjob",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Command her to use her feet on you. Uses Legs sensitivity with the normal demand pressure from obedience, lust and your Dominance. If accepted, you expose yourself and Footjob starts.",
"startsSexualState": "footjob",
"stateDetail": "footjob",
"playerUndress": true,
"heatBase": 6.4,
"activitySuccessCost": 2,
"skillWeights": {
"focus": 0.6,
"empathy": 0.4
},
"prefWeights": {
"legs_sensitivity": 0.8,
"touching": 0.2
},
"relationType": "command",
"skills": [
"focus",
"empathy"
]
},
{
"id": "demand_titfuck",
"label": "Demand a titfuck",
"tab": "Command",
"setting": "private",
"cost": 4,
"minutes": 2,
"base": 5,
"limit": 2,
"tags": [
"titfuck",
"breast",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"focus": 0.45,
"empathy": 0.1,
"penetration": 0.45
},
"requiresFlags": [],
"setsFlag": "titfuck",
"minStats": {},
"desc": "Command her to titfuck you. Primarily uses Titfuck preference, with a smaller Breast sensitivity influence, plus the normal dominance, obedience, and lust pressure.",
"startsSexualState": "titfuck",
"stateDetail": "titfuck",
"clothingSet": [
"topOff",
"braOff"
],
"playerUndress": true,
"heatBase": 7.4,
"activitySuccessCost": 4,
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"extraPrefs": [
"breast_sensitivity"
],
"relationType": "command",
"skills": [
"focus",
"empathy",
"penetration"
]
},
{
"id": "cont_rubbing_keep",
"label": "Continue rubbing her",
"tab": "Continue",
"setting": "any",
"cost": 5,
"minutes": 1,
"base": 88,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"touch"
],
"continueState": "rubbing",
"nextSexualState": null,
"stateDetail": "rubbing",
"heatBase": 7.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"touching",
"teasing"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue rubbing her through fabric. If the rubbing started in public, this can continue in public instead of requiring a private home setting. High chance once accepted, but failure stops the rubbing state.",
"prefWeights": {
"touching": 0.5,
"vaginal_sensitivity": 0.5
},
"relationType": "sexual"
},
{
"id": "slide_hand_inside_panties_public",
"label": "Slide your hand inside her panties",
"tab": "Continue",
"setting": "any",
"publicOnly": true,
"cost": 6,
"minutes": 1,
"base": 85,
"limit": 99,
"tags": [
"continue_state",
"public",
"sexual",
"touch",
"risky"
],
"continueState": "rubbing",
"nextSexualState": null,
"stateDetail": "rubbing_inside_panties",
"heatBase": 13.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "underPantiesRubbedPublic",
"minStats": {},
"desc": "Public-only escalation from rubbing through fabric. Slides your hand inside her panties without removing them. Harder than continuing the rub because of the exposure risk, but still driven by arousal, skill and her fingering preference. Hidden completely in private settings.",
"prefWeights": {
"touching": 0.28,
"fingering": 0.14,
"vaginal_sensitivity": 0.28,
"exhibitionism": 0.3
},
"skillWeights": {
"touching": 0.45,
"teasing": 0.35,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"touching",
"teasing",
"focus"
]
},
{
"id": "bring_hand_inside_pants",
"label": "Bring her hand inside your pants",
"tab": "Petting",
"setting": "any",
"publicOnly": true,
"cost": 3,
"minutes": 1,
"base": 45,
"limit": 2,
"tags": [
"petting",
"public",
"sexual",
"touch",
"handjob",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Guide her hand inside your pants in public. A high-risk public action that starts a short hidden handjob chain instead of the normal private handjob route.",
"startsSexualState": "public_handjob",
"stateDetail": "public_handjob",
"requiresPlayerDressed": true,
"prefWeights": {
"handjob": 0.7,
"exhibitionism": 0.3
},
"skillWeights": {
"touching": 0.45,
"teasing": 0.35,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"touching",
"teasing",
"focus"
]
},
{
"id": "cont_rubbing_to_fingering",
"label": "Remove her panties and slide your finger inside",
"tab": "Continue",
"setting": "private",
"cost": 6,
"minutes": 2,
"base": 8,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"touch",
"strip",
"risky"
],
"continueState": "rubbing",
"nextSexualState": "fingering",
"stateDetail": "fingering",
"heatBase": 14.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"clothingSet": [
"pantiesOff"
],
"minStats": {},
"desc": "Escalate from rubbing through fabric to fingering. Slightly easier than starting fingering cold, but still risky and intimate.",
"prefWeights": {
"fingering": 0.6,
"vaginal_sensitivity": 0.4
},
"skillWeights": {
"touching": 0.6,
"teasing": 0.25,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"touching",
"teasing",
"focus"
]
},
{
"id": "lick_pussy",
"label": "Lick her pussy",
"tab": "Hidden",
"setting": "private",
"cost": 12,
"minutes": 3,
"base": 20,
"limit": 3,
"tags": [
"oral",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "cunnilingus",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.9,
"focus": 0.1
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "suck_clit",
"label": "Suck her clit",
"tab": "Hidden",
"setting": "private",
"cost": 12,
"minutes": 3,
"base": 19,
"limit": 3,
"tags": [
"oral",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "clitSucked",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "cunnilingus",
"stateDetail": "clit",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.9,
"focus": 0.1
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "missionary",
"label": "Missionary",
"tab": "Hidden",
"setting": "private",
"cost": 21,
"minutes": 3,
"base": 11,
"limit": 3,
"tags": [
"sex",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "sex",
"stateDetail": "missionary",
"prefWeights": {
"missionary": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "cowgirl",
"label": "Cowgirl",
"tab": "Hidden",
"setting": "private",
"cost": 21,
"minutes": 3,
"base": 11,
"limit": 3,
"tags": [
"sex",
"private",
"sexual",
"submissive_position"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "sex",
"stateDetail": "cowgirl",
"prefWeights": {
"cowgirl": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.45,
"empathy": 0.3,
"focus": 0.25
},
"relationType": "sexual",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "reverse_cowgirl",
"label": "Reverse cowgirl",
"tab": "Hidden",
"setting": "private",
"cost": 21,
"minutes": 3,
"base": 10,
"limit": 3,
"tags": [
"sex",
"private",
"sexual",
"submissive_position"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "reverseCowgirlSex",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "sex",
"stateDetail": "reverse_cowgirl",
"prefWeights": {
"reverse_cowgirl": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.45,
"focus": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"focus",
"empathy"
]
},
{
"id": "doggy",
"label": "Doggy style",
"tab": "Hidden",
"setting": "private",
"cost": 21,
"minutes": 3,
"base": 10,
"limit": 3,
"tags": [
"sex",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadDoggy",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "sex",
"stateDetail": "doggy",
"prefWeights": {
"doggy": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.7,
"focus": 0.15,
"dominance": 0.15
},
"relationType": "sexual",
"skills": [
"penetration",
"focus",
"dominance"
]
},
{
"id": "against_wall",
"label": "Sex against wall",
"tab": "Hidden",
"setting": "private",
"cost": 24,
"minutes": 3,
"base": 9,
"limit": 2,
"tags": [
"sex",
"private",
"sexual",
"risky",
"dominant_position"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "wallSex",
"minStats": {},
"desc": "Hidden action, kept out of normal play. Standing wall sex keeps her facing you.",
"startsSexualState": "sex",
"stateDetail": "wall",
"prefWeights": {
"wall": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.5,
"fitness": 0.25,
"dominance": 0.25
},
"relationType": "sexual",
"skills": [
"penetration",
"fitness",
"dominance"
]
},
{
"id": "breast_sex",
"label": "Breast sex",
"tab": "Hidden",
"setting": "private",
"cost": 15,
"minutes": 3,
"base": 12,
"limit": 2,
"tags": [
"sex",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "breastSex",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "sex",
"stateDetail": "breast_sex",
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"skillWeights": {
"focus": 0.45,
"empathy": 0.1,
"penetration": 0.45
},
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"penetration"
]
},
{
"id": "anal_doggy",
"label": "Anal doggy",
"tab": "Hidden",
"setting": "private",
"cost": 24,
"minutes": 3,
"base": 2,
"limit": 2,
"tags": [
"anal",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analDoggy",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "anal",
"stateDetail": "anal_doggy",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"doggy": 0.4
},
"skillWeights": {
"anal": 0.7,
"focus": 0.15,
"dominance": 0.15
},
"relationType": "sexual",
"skills": [
"anal",
"focus",
"dominance"
]
},
{
"id": "anal_missionary",
"label": "Anal missionary",
"tab": "Hidden",
"setting": "private",
"cost": 24,
"minutes": 3,
"base": 4,
"limit": 2,
"tags": [
"anal",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analMissionary",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "anal",
"stateDetail": "anal_missionary",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"missionary": 0.4
},
"skillWeights": {
"anal": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "anal_cowgirl",
"label": "Anal cowgirl",
"tab": "Hidden",
"setting": "private",
"cost": 24,
"minutes": 3,
"base": 3,
"limit": 2,
"tags": [
"anal",
"private",
"sexual",
"submissive_position"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analCowgirl",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "anal",
"stateDetail": "anal_cowgirl",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"cowgirl": 0.4
},
"skillWeights": {
"anal": 0.45,
"empathy": 0.3,
"focus": 0.25
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "anal_reverse_cowgirl",
"label": "Anal reverse cowgirl",
"tab": "Hidden",
"setting": "private",
"cost": 24,
"minutes": 3,
"base": 3,
"limit": 2,
"tags": [
"anal",
"private",
"sexual",
"submissive_position"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analReverseCowgirl",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "anal",
"stateDetail": "anal_reverse_cowgirl",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"reverse_cowgirl": 0.4
},
"skillWeights": {
"anal": 0.45,
"focus": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"focus",
"empathy"
]
},
{
"id": "anal_wall",
"label": "Anal against wall",
"tab": "Hidden",
"setting": "private",
"cost": 27,
"minutes": 3,
"base": 2,
"limit": 2,
"tags": [
"anal",
"private",
"sexual",
"risky",
"dominant_position"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analWall",
"minStats": {},
"desc": "Hidden action, kept out of normal play.",
"startsSexualState": "anal",
"stateDetail": "anal_wall",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"wall": 0.4
},
"skillWeights": {
"anal": 0.5,
"fitness": 0.25,
"dominance": 0.25
},
"relationType": "sexual",
"skills": [
"anal",
"fitness",
"dominance"
]
},
{
"id": "cont_finger_keep",
"label": "Keep fingering her",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 82,
"limit": 99,
"pref": "fingering",
"tags": [
"continue_state",
"private",
"sexual",
"touch"
],
"continueState": "fingering",
"nextSexualState": null,
"stateDetail": "fingering",
"heatBase": 9.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"touching",
"focus"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue the fingering rhythm already accepted.",
"relationType": "sexual"
},
{
"id": "cont_finger_tease",
"label": "Tease her with your fingers",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 72,
"limit": 99,
"pref": "fingering",
"tags": [
"continue_state",
"private",
"sexual",
"touch",
"risky"
],
"continueState": "fingering",
"nextSexualState": null,
"stateDetail": "fingering",
"heatBase": 14.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"touching",
"teasing"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A teasing fingering continuation. Harder than simply keeping the rhythm, but it rewards Touching and Teasing.",
"relationType": "sexual"
},
{
"id": "cont_finger_to_mouth",
"label": "Move your mouth to her clit",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 2,
"base": 66,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"touch",
"risky"
],
"continueState": "fingering",
"nextSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"heatBase": 16.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"oral",
"teasing",
"touching"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Escalates from fingering to cunnilingus if it works.",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"relationType": "sexual"
},
{
"id": "cont_cunni_keep",
"label": "Keep licking her",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 80,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"continueState": "cunnilingus",
"nextSexualState": null,
"stateDetail": "oral_receive",
"heatBase": 10.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Stable continuation. Uses oral skill and focus.",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.8,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "cont_cunni_tease",
"label": "Tease her with your tongue",
"tab": "Continue",
"setting": "private",
"cost": 4,
"minutes": 1,
"base": 72,
"limit": 4,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"tease"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Precise oral variation. Higher heat, better when your Oral and Focus skills are high.",
"continueState": "cunnilingus",
"nextSexualState": null,
"stateDetail": "teasing",
"heatBase": 14.0,
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.8,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "cont_cunni_add_fingers",
"label": "Add your fingers while licking",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 62,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"touch",
"risky"
],
"continueState": "cunnilingus",
"nextSexualState": null,
"stateDetail": "fingering",
"heatBase": 16.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Mixed hands and tongue action. Its skill score averages oral and touching.",
"prefWeights": {
"receiving_oral": 0.5,
"fingering": 0.3,
"vaginal_sensitivity": 0.2
},
"skillWeights": {
"oral": 0.5,
"touching": 0.35,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"oral",
"touching",
"focus"
]
},
{
"id": "cont_cunni_to_analingus",
"label": "Shift your tongue lower",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 44,
"limit": 3,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus",
"risky",
"state_shift"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Variation from cunnilingus into analingus. Checks anal sensitivity, arousal, closeness, oral, teasing and empathy.",
"continueState": "cunnilingus",
"nextSexualState": "analingus",
"stateDetail": "analingus",
"heatBase": 12.0,
"prefWeights": {
"anal_sensitivity": 0.5,
"receiving_oral": 0.5
},
"skillWeights": {
"oral": 0.5,
"teasing": 0.111111,
"empathy": 0.166667,
"focus": 0.222222
},
"relationType": "sexual",
"skills": [
"oral",
"teasing",
"empathy",
"focus"
]
},
{
"id": "cont_cunni_to_sex",
"label": "Escalate from oral to sex",
"tab": "Continue",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 30,
"limit": 99,
"pref": "vaginal_sensitivity",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"state_escalation"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "cunnilingus",
"heatBase": 20.0,
"desc": "Escalate from oral to vaginal sex. Requires you naked and hard, then checks sex stats and vaginal sensitivity.",
"nextSexualState": "sex",
"stateDetail": "missionary",
"requiresPlayerUndressed": true,
"requiresClothing": [
"bottomOff",
"pantiesOff"
],
"activitySuccessCost": 4,
"skillWeights": {
"penetration": 0.55,
"teasing": 0.25,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"teasing",
"focus"
]
},
{
"id": "cont_bj_let_continue",
"label": "Let her keep sucking you",
"tab": "Continue",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 84,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "oral_give",
"heatBase": 5.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Let the blowjob continue without pushing for a new escalation.",
"skillWeights": {
"focus": 0.5,
"empathy": 0.5
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "cont_hj_keep",
"label": "Let her keep stroking you",
"tab": "Continue",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 84,
"limit": 99,
"pref": "handjob",
"tags": [
"continue_state",
"private",
"sexual",
"handjob"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue the handjob without pushing for a new escalation.",
"continueState": "handjob",
"nextSexualState": null,
"stateDetail": "handjob",
"heatBase": 5.4,
"skillWeights": {
"focus": 0.5,
"empathy": 0.5
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "cont_public_handjob_keep",
"label": "Let her keep jerking you",
"tab": "Continue",
"setting": "any",
"publicOnly": true,
"cost": 2,
"minutes": 1,
"base": 84,
"limit": 99,
"tags": [
"continue_state",
"public",
"sexual",
"handjob"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue the hidden public handjob. It stays inside the public-risk chain and does not become the normal private handjob state.",
"continueState": "public_handjob",
"nextSexualState": null,
"stateDetail": "public_handjob",
"heatBase": 5.4,
"requiresPlayerDressed": true,
"prefWeights": {
"handjob": 0.7,
"exhibitionism": 0.3
},
"skillWeights": {
"focus": 0.5,
"empathy": 0.5
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "cont_hj_guide_rhythm",
"label": "Guide her hand",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 78,
"limit": 99,
"pref": "handjob",
"tags": [
"continue_state",
"private",
"sexual",
"handjob",
"control"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"dominance",
"focus",
"teasing"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Guide the rhythm while staying in the accepted Handjob state.",
"continueState": "handjob",
"nextSexualState": null,
"stateDetail": "handjob",
"heatBase": 6.0,
"relationType": "sexual"
},
{
"id": "cont_hj_kiss",
"label": "Kiss while she strokes you",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 80,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"handjob",
"kiss"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Keep the handjob going while making it more intimate.",
"continueState": "handjob",
"nextSexualState": null,
"stateDetail": "kissing",
"heatBase": 5.4,
"prefWeights": {
"handjob": 0.7,
"kissing": 0.3
},
"skillWeights": {
"kissing": 0.6,
"empathy": 0.2,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"kissing",
"empathy",
"focus"
]
},
{
"id": "cont_hj_tease",
"label": "Tease her while she strokes you",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 76,
"limit": 99,
"pref": "handjob",
"tags": [
"continue_state",
"private",
"sexual",
"handjob"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Keep the Handjob state going with more verbal heat.",
"continueState": "handjob",
"nextSexualState": null,
"stateDetail": "teasing",
"heatBase": 5.6,
"skillWeights": {
"teasing": 0.6,
"charm": 0.2,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"teasing",
"charm",
"focus"
]
},
{
"id": "cont_hj_to_bj",
"label": "Guide her hand to her mouth",
"tab": "Continue",
"setting": "private",
"cost": 6,
"minutes": 2,
"base": 56,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"state_shift"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"charm",
"teasing",
"empathy"
],
"requiresFlags": [],
"setsFlag": "blowjob",
"minStats": {},
"continueState": "handjob",
"nextSexualState": "blowjob",
"stateDetail": "oral_give",
"heatBase": 12.0,
"desc": "Transition from handjob to blowjob. Uses her giving-oral preference and the rhythm already built.",
"relationType": "sexual"
},
{
"id": "cont_footjob_keep",
"label": "Let her continue the footjob",
"tab": "Continue",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 88,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"footjob"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Let the footjob continue without pushing for a new escalation.",
"continueState": "footjob",
"nextSexualState": null,
"stateDetail": "footjob",
"heatBase": 6.4,
"prefWeights": {
"legs_sensitivity": 0.8,
"touching": 0.2
},
"skillWeights": {
"focus": 0.5,
"empathy": 0.5
},
"relationType": "sexual",
"skills": [
"focus",
"empathy"
]
},
{
"id": "cont_titfuck_keep",
"label": "Continue to fuck her tits",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 82,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"titfuck",
"breast"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"focus": 0.45,
"empathy": 0.1,
"penetration": 0.45
},
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Steady titfuck continuation. Mainly follows Titfuck preference, with a smaller Breast sensitivity influence.",
"continueState": "titfuck",
"nextSexualState": null,
"stateDetail": "titfuck",
"heatBase": 7.4,
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"extraPrefs": [
"breast_sensitivity"
],
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"penetration"
]
},
{
"id": "cont_titfuck_let_work",
"label": "Let her do the work",
"tab": "Continue",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 68,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"titfuck",
"breast",
"control"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"dominance": 0.45,
"focus": 0.2,
"teasing": 0.25,
"penetration": 0.1
},
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Let her control the titfuck pace. Mainly follows Titfuck preference, with a smaller Breast sensitivity influence, while leaning more on obedience and your dominance.",
"continueState": "titfuck",
"nextSexualState": null,
"stateDetail": "titfuck",
"heatBase": 6.6,
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"extraPrefs": [
"breast_sensitivity"
],
"relationType": "sexual",
"skills": [
"dominance",
"focus",
"teasing",
"penetration"
]
},
{
"id": "cont_titfuck_lick_tip",
"label": "Ask her to lick the tip",
"tab": "Continue",
"setting": "private",
"cost": 2,
"minutes": 1,
"base": 64,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"titfuck",
"breast",
"oral_light",
"control"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skillWeights": {
"teasing": 0.45,
"dominance": 0.35,
"focus": 0.2
},
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Push the titfuck into a riskier, more intimate rhythm by letting her tongue work over the tip between strokes. Mainly follows Titfuck preference, with a smaller Breast sensitivity influence.",
"continueState": "titfuck",
"nextSexualState": null,
"stateDetail": "titfuck_lick_tip",
"heatBase": 8.0,
"prefWeights": {
"breast_sex": 0.7,
"breast_sensitivity": 0.3
},
"extraPrefs": [
"breast_sensitivity"
],
"relationType": "sexual",
"skills": [
"teasing",
"dominance",
"focus"
]
},
{
"id": "cont_bj_guide_rhythm",
"label": "Guide her rhythm",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 76,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"control"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "oral_give",
"heatBase": 8.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Guide the rhythm without treating it like a fresh permission check.",
"skillWeights": {
"dominance": 0.55,
"focus": 0.45
},
"relationType": "sexual",
"skills": [
"dominance",
"focus"
]
},
{
"id": "cont_bj_praise",
"label": "Praise what she is doing",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 86,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"social"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "oral_give",
"heatBase": 6.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Encourage her while the blowjob continues.",
"skillWeights": {
"empathy": 0.3,
"charm": 0.4,
"teasing": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"empathy",
"charm",
"teasing",
"focus"
]
},
{
"id": "cont_bj_deeper",
"label": "Encourage her to go deeper",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 68,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"risky"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "deepthroat",
"heatBase": 10.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Encourage her to take your cock deeper without ending the blowjob. Harder than the normal blowjob continue action, and it strains her patience more if it fails.",
"skillWeights": {
"dominance": 0.55,
"teasing": 0.25,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"dominance",
"teasing",
"empathy"
]
},
{
"id": "cont_bj_slow_down",
"label": "Slow her down",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 82,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "oral_give",
"heatBase": 5.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"skills": [
"empathy",
"focus"
],
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Lower the pace without ending the state.",
"relationType": "sexual"
},
{
"id": "cont_bj_eye_contact",
"label": "Hold eye contact with her",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 79,
"limit": 99,
"pref": "giving_oral",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "oral_give",
"heatBase": 7.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Add tension through eye contact.",
"skillWeights": {
"focus": 0.3,
"empathy": 0.3,
"dominance": 0.3,
"teasing": 0.1
},
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"dominance",
"teasing"
]
},
{
"id": "cont_bj_touch_hair",
"label": "Touch her hair while she sucks you",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 1,
"base": 73,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"touch"
],
"continueState": "blowjob",
"nextSexualState": null,
"stateDetail": "oral_give",
"heatBase": 7.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A tactile blowjob variation.",
"prefWeights": {
"giving_oral": 0.8,
"touching": 0.2
},
"skillWeights": {
"dominance": 0.3,
"empathy": 0.4,
"charm": 0.3
},
"relationType": "sexual",
"skills": [
"dominance",
"empathy",
"charm"
]
},
{
"id": "cont_bj_to_sex",
"label": "Pull her up into sex",
"tab": "Continue",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 44,
"limit": 99,
"pref": "vaginal_sensitivity",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"state_escalation"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"continueState": "blowjob",
"nextSexualState": "sex",
"stateDetail": "missionary",
"heatBase": 18.0,
"requiresPlayerUndressed": true,
"requiresClothing": [
"bottomOff",
"pantiesOff"
],
"desc": "Escalate from blowjob to vaginal sex. Requires you naked and hard, and checks vaginal sensitivity rather than oral preference.",
"activitySuccessCost": 4,
"skillWeights": {
"penetration": 0.55,
"teasing": 0.25,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"teasing",
"focus"
]
},
{
"id": "cont_sex_missionary",
"label": "Continue missionary",
"tab": "Continue",
"setting": "private",
"cost": 7,
"minutes": 2,
"base": 80,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"sex"
],
"continueState": "sex",
"nextSexualState": null,
"stateDetail": "missionary",
"heatBase": 16.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue sex in missionary position.",
"prefWeights": {
"missionary": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "cont_sex_doggy",
"label": "Continue doggy style",
"tab": "Continue",
"setting": "private",
"cost": 8,
"minutes": 2,
"base": 74,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"sex"
],
"continueState": "sex",
"nextSexualState": null,
"stateDetail": "doggy",
"heatBase": 19.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue sex in doggy position.",
"prefWeights": {
"doggy": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.7,
"focus": 0.15,
"dominance": 0.15
},
"relationType": "sexual",
"skills": [
"penetration",
"focus",
"dominance"
]
},
{
"id": "cont_sex_cowgirl",
"label": "Continue cowgirl",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 78,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"submissive_position"
],
"continueState": "sex",
"nextSexualState": null,
"stateDetail": "cowgirl",
"heatBase": 17.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue sex with her on top.",
"prefWeights": {
"cowgirl": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.45,
"empathy": 0.3,
"focus": 0.25
},
"relationType": "sexual",
"skills": [
"penetration",
"empathy",
"focus"
]
},
{
"id": "cont_sex_reverse_cowgirl",
"label": "Continue reverse cowgirl",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 76,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"submissive_position"
],
"continueState": "sex",
"nextSexualState": null,
"stateDetail": "reverse_cowgirl",
"heatBase": 17.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue sex with her riding you in reverse cowgirl.",
"prefWeights": {
"reverse_cowgirl": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.45,
"focus": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"penetration",
"focus",
"empathy"
]
},
{
"id": "cont_sex_wall",
"label": "Continue against wall",
"tab": "Continue",
"setting": "private",
"cost": 11,
"minutes": 3,
"base": 66,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"dominant_position"
],
"continueState": "sex",
"nextSexualState": null,
"stateDetail": "wall",
"heatBase": 21.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue sex standing against the wall.",
"prefWeights": {
"wall": 0.7,
"vaginal_sensitivity": 0.3
},
"skillWeights": {
"penetration": 0.5,
"fitness": 0.25,
"dominance": 0.25
},
"relationType": "sexual",
"skills": [
"penetration",
"fitness",
"dominance"
]
},
{
"id": "cont_sex_to_anal",
"label": "Escalate from sex to anal",
"tab": "Continue",
"setting": "private",
"cost": 9,
"minutes": 3,
"base": 36,
"limit": 99,
"pref": "anal_sensitivity",
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"risky"
],
"continueState": "sex",
"nextSexualState": "anal",
"stateDetail": "anal_doggy",
"heatBase": 15.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "analSex",
"minStats": {},
"desc": "Transition from vaginal sex to anal sex. Uses anal checks and anal sensitivity, not generic sex continuation.",
"activitySuccessCost": 3,
"skillWeights": {
"anal": 0.55,
"empathy": 0.25,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "cont_sex_to_69",
"label": "Shift into 69",
"tab": "Continue",
"setting": "private",
"cost": 9,
"minutes": 2,
"base": 68,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"continueState": "sex",
"nextSexualState": "sixty_nine",
"stateDetail": "sixty_nine",
"heatBase": 13.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "sixtyNine",
"minStats": {},
"desc": "Transition from active sex into mutual oral without resetting the scene.",
"prefWeights": {
"sixty_nine": 0.6,
"giving_oral": 0.2,
"receiving_oral": 0.2
},
"skillWeights": {
"oral": 0.7,
"empathy": 0.15,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"oral",
"empathy",
"focus"
]
},
{
"id": "cont_69_keep",
"label": "Continue the sixty-nine",
"tab": "Continue",
"setting": "private",
"cost": 4,
"minutes": 2,
"base": 82,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "sixty_nine",
"stateDetail": "sixty_nine",
"heatBase": 13.5,
"desc": "Stable 69 continuation, balancing giving and receiving.",
"prefWeights": {
"sixty_nine": 0.6,
"giving_oral": 0.2,
"receiving_oral": 0.2
},
"skillWeights": {
"oral": 0.7,
"empathy": 0.15,
"focus": 0.15
},
"relationType": "sexual",
"skills": [
"oral",
"empathy",
"focus"
]
},
{
"id": "cont_69_focus_her",
"label": "Focus on her",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 76,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "sixty_nine",
"stateDetail": "oral_receive",
"heatBase": 15.5,
"desc": "Focus more on giving oral while still staying in the 69 position.",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.65,
"focus": 0.2,
"empathy": 0.15
},
"relationType": "sexual",
"skills": [
"oral",
"focus",
"empathy"
]
},
{
"id": "cont_69_let_her_focus_you",
"label": "Let her focus on you",
"tab": "Continue",
"setting": "private",
"cost": 3,
"minutes": 2,
"base": 78,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "sixty_nine",
"stateDetail": "oral_give",
"heatBase": 9.0,
"desc": "Let her mouth set the pace. This does not train the player's oral skill.",
"prefWeights": {
"giving_oral": 1.0
},
"skillWeights": {
"empathy": 0.25,
"focus": 0.25,
"dominance": 0.5
},
"relationType": "sexual",
"skills": [
"empathy",
"focus",
"dominance"
]
},
{
"id": "cont_69_grind",
"label": "Try to fuck her mouth",
"tab": "Continue",
"setting": "private",
"cost": 7,
"minutes": 2,
"base": 70,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"touch",
"risky"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "sixty_nine",
"stateDetail": "sixty_nine",
"heatBase": 16.0,
"desc": "A riskier 69 variation, adding hips and pressure to the mutual oral rhythm.",
"prefWeights": {
"sixty_nine": 0.4,
"giving_oral": 0.4,
"touching": 0.2
},
"skillWeights": {
"teasing": 0.4,
"touching": 0.2,
"focus": 0.2,
"penetration": 0.2
},
"relationType": "sexual",
"skills": [
"teasing",
"touching",
"focus",
"penetration"
]
},
{
"id": "cont_69_to_sex",
"label": "Turn 69 into sex",
"tab": "Continue",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 46,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"state_escalation"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": "hadSex",
"minStats": {},
"continueState": "sixty_nine",
"nextSexualState": "sex",
"stateDetail": "missionary",
"heatBase": 18.0,
"requiresPlayerUndressed": true,
"requiresClothing": [
"bottomOff",
"pantiesOff"
],
"desc": "Escalate from 69 to vaginal sex. Requires you naked and hard, and checks vaginal sensitivity.",
"activitySuccessCost": 6,
"prefWeights": {
"vaginal_sensitivity": 1.0
},
"skillWeights": {
"focus": 0.3,
"dominance": 0.3,
"penetration": 0.25,
"oral": 0.15
},
"relationType": "sexual",
"skills": [
"focus",
"dominance",
"penetration",
"oral"
]
},
{
"id": "cont_anal_slow",
"label": "Keep anal slow",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 80,
"limit": 99,
"pref": "anal_sensitivity",
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"continueState": "anal",
"nextSexualState": null,
"heatBase": 12.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue anal slowly and carefully.",
"preserveStateDetail": true,
"skillWeights": {
"empathy": 0.6,
"anal": 0.4
},
"relationType": "sexual",
"skills": [
"empathy",
"anal"
]
},
{
"id": "cont_anal_doggy",
"label": "Continue anal doggy",
"tab": "Continue",
"setting": "private",
"cost": 8,
"minutes": 2,
"base": 68,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"continueState": "anal",
"nextSexualState": null,
"stateDetail": "anal_doggy",
"heatBase": 17.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue anal in doggy position.",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"doggy": 0.4
},
"skillWeights": {
"anal": 0.7,
"focus": 0.15,
"dominance": 0.15
},
"relationType": "sexual",
"skills": [
"anal",
"focus",
"dominance"
]
},
{
"id": "cont_anal_missionary",
"label": "Continue anal missionary",
"tab": "Continue",
"setting": "private",
"cost": 7,
"minutes": 2,
"base": 72,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"continueState": "anal",
"nextSexualState": null,
"stateDetail": "anal_missionary",
"heatBase": 14.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue anal in missionary position.",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"missionary": 0.4
},
"skillWeights": {
"anal": 0.7,
"empathy": 0.1,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "cont_anal_cowgirl",
"label": "Continue anal cowgirl",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 70,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"submissive_position"
],
"continueState": "anal",
"nextSexualState": null,
"stateDetail": "anal_cowgirl",
"heatBase": 15.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue anal with her on top.",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"cowgirl": 0.4
},
"skillWeights": {
"anal": 0.45,
"empathy": 0.3,
"focus": 0.25
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "cont_anal_reverse_cowgirl",
"label": "Continue anal reverse cowgirl",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 68,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"submissive_position"
],
"continueState": "anal",
"nextSexualState": null,
"stateDetail": "anal_reverse_cowgirl",
"heatBase": 16.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue anal with her riding you in reverse cowgirl.",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"reverse_cowgirl": 0.4
},
"skillWeights": {
"anal": 0.45,
"focus": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"focus",
"empathy"
]
},
{
"id": "cont_anal_wall",
"label": "Continue anal against wall",
"tab": "Continue",
"setting": "private",
"cost": 11,
"minutes": 3,
"base": 62,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"risky",
"dominant_position"
],
"continueState": "anal",
"nextSexualState": null,
"stateDetail": "anal_wall",
"heatBase": 18.5,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Continue anal standing against the wall.",
"extraPrefs": [
"anal_sensitivity"
],
"prefWeights": {
"anal_sensitivity": 0.6,
"wall": 0.4
},
"skillWeights": {
"anal": 0.5,
"fitness": 0.25,
"dominance": 0.25
},
"relationType": "sexual",
"skills": [
"anal",
"fitness",
"dominance"
]
},
{
"id": "cont_anal_hold",
"label": "Hold still and let her adjust",
"tab": "Continue",
"setting": "private",
"cost": 4,
"minutes": 1,
"base": 86,
"limit": 99,
"pref": "anal_sensitivity",
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"continueState": "anal",
"nextSexualState": null,
"heatBase": 7.0,
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "A careful anal continuation focused on control and comfort.",
"preserveStateDetail": true,
"skillWeights": {
"empathy": 0.6,
"anal": 0.4
},
"relationType": "sexual",
"skills": [
"empathy",
"anal"
]
},
{
"id": "cont_analingus_keep",
"label": "Keep licking her ass",
"tab": "Continue",
"setting": "private",
"cost": 4,
"minutes": 2,
"base": 76,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "analingus",
"heatBase": 10.5,
"desc": "Stable analingus continuation. Uses oral skill and focus.",
"stateDetail": "analingus",
"prefWeights": {
"anal_sensitivity": 0.5,
"receiving_oral": 0.5
},
"skillWeights": {
"oral": 0.5,
"teasing": 0.111111,
"empathy": 0.166667,
"focus": 0.222222
},
"relationType": "sexual",
"skills": [
"oral",
"teasing",
"empathy",
"focus"
]
},
{
"id": "cont_analingus_slow",
"label": "Slow your tongue down and tease her",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 82,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus",
"tease"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "analingus",
"heatBase": 8.5,
"desc": "Careful teasing analingus continuation. Uses oral, empathy and teasing; teasing was already part of oral action scoring, now it is explicit in the action.",
"stateDetail": "analingus",
"prefWeights": {
"anal_sensitivity": 0.5,
"receiving_oral": 0.5
},
"skillWeights": {
"oral": 0.5,
"teasing": 0.111111,
"empathy": 0.166667,
"focus": 0.222222
},
"relationType": "sexual",
"skills": [
"oral",
"teasing",
"empathy",
"focus"
]
},
{
"id": "cont_analingus_circle",
"label": "Add your fingers while licking her ass",
"tab": "Continue",
"setting": "private",
"cost": 5,
"minutes": 2,
"base": 70,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus",
"risky",
"touch"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "analingus",
"heatBase": 15.0,
"desc": "Mixed analingus and fingering action. Uses Oral, Anal, and Touching skills, with anal sensitivity and arousal still mattering.",
"stateDetail": "analingus_fingers",
"prefWeights": {
"anal_sensitivity": 0.6,
"fingering": 0.4
},
"skillWeights": {
"oral": 0.4,
"anal": 0.3,
"touching": 0.3
},
"relationType": "sexual",
"skills": [
"oral",
"anal",
"touching"
]
},
{
"id": "cont_analingus_to_cunni",
"label": "Move your tongue back to her pussy",
"tab": "Continue",
"setting": "private",
"cost": 9,
"minutes": 2,
"base": 68,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"state_shift"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "analingus",
"nextSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"heatBase": 11.5,
"desc": "Transition from analingus back to cunnilingus. It checks receiving-oral preference and your Oral and Focus skills rather than anal sex.",
"prefWeights": {
"receiving_oral": 0.85,
"vaginal_sensitivity": 0.15
},
"skillWeights": {
"oral": 0.8,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"oral",
"focus"
]
},
{
"id": "cont_analingus_to_anal",
"label": "Escalate from analingus to anal sex",
"tab": "Continue",
"setting": "private",
"cost": 6,
"minutes": 3,
"base": 22,
"limit": 99,
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"risky",
"state_escalation"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"continueState": "analingus",
"heatBase": 18.0,
"desc": "Escalate from analingus to anal sex. Requires you naked and hard, then checks anal sensitivity, not oral metrics.",
"nextSexualState": "anal",
"stateDetail": "anal_doggy",
"requiresPlayerUndressed": true,
"requiresClothing": [
"bottomOff",
"pantiesOff"
],
"activitySuccessCost": 6,
"prefWeights": {
"anal_sensitivity": 1.0
},
"skillWeights": {
"anal": 0.55,
"empathy": 0.25,
"focus": 0.2
},
"relationType": "sexual",
"skills": [
"anal",
"empathy",
"focus"
]
},
{
"id": "come_body",
"label": "Come on her body",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 72,
"limit": 99,
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "External body finish. Uses a blended preference: legs 50%, ass 25%, breasts 25%.",
"climaxTarget": "body",
"requiresSexualState": null,
"requiresPlayerDressed": false,
"prefWeights": {
"legs_sensitivity": 0.5,
"ass_sensitivity": 0.25,
"breast_sensitivity": 0.25
},
"skillWeights": {
"focus": 0.45,
"dominance": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"focus",
"dominance",
"empathy"
]
},
{
"id": "come_back",
"label": "Come on her ass",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 70,
"limit": 99,
"pref": "ass_sensitivity",
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "External climax choice matching the ass-focused finish image.",
"climaxTarget": "back",
"requiresSexualState": null,
"requiresPlayerDressed": false,
"skillWeights": {
"focus": 0.45,
"dominance": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"focus",
"dominance",
"empathy"
]
},
{
"id": "come_boobs",
"label": "Come on her tits",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 70,
"limit": 99,
"pref": "breast_sensitivity",
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "External climax choice matching the tits image and checking breast sensitivity.",
"climaxTarget": "boobs",
"requiresSexualState": null,
"requiresPlayerDressed": false,
"skillWeights": {
"focus": 0.45,
"dominance": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"focus",
"dominance",
"empathy"
]
},
{
"id": "come_face",
"label": "Come on her face",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 38,
"limit": 99,
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Harder dominance based external finish matching the facial image.",
"climaxTarget": "face",
"requiresSexualState": null,
"requiresPlayerDressed": false,
"skillWeights": {
"focus": 0.45,
"dominance": 0.35,
"empathy": 0.2
},
"relationType": "sexual",
"skills": [
"focus",
"dominance",
"empathy"
]
},
{
"id": "come_mouth",
"label": "Come in her mouth",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 26,
"limit": 99,
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Hard oral finish. Requires blowjob, 69, or titfuck immediately after she licks the tip.",
"climaxTarget": "mouth",
"requiresSexualState": "blowjob,sixty_nine",
"requiresPlayerDressed": false,
"prefWeights": {
"giving_oral": 0.5,
"swallowing": 0.5
},
"skillWeights": {
"focus": 0.4,
"empathy": 0.3,
"dominance": 0.3
},
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"dominance"
]
},
{
"id": "come_public_hand",
"label": "Come in her hand",
"tab": "Climax",
"setting": "any",
"publicOnly": true,
"cost": 0,
"minutes": 2,
"base": 100,
"limit": 99,
"tags": [
"climax",
"public",
"sexual",
"handjob"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Finish into her hidden hand during the public handjob. This public finish appears in the public recap and counts as coming in her hand.",
"climaxTarget": "hands",
"requiresSexualState": "public_handjob",
"requiresPlayerDressed": true,
"prefWeights": {
"handjob": 0.7,
"exhibitionism": 0.3
},
"alwaysSuccess": true,
"relationType": "none"
},
{
"id": "come_inside",
"label": "Come inside her pussy",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 22,
"limit": 99,
"pref": "vaginal_sensitivity",
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Very hard. Requires active vaginal sex state, checks vaginal sensitivity, and uses the creampie image.",
"climaxTarget": "inside",
"requiresSexualState": "sex",
"requiresPlayerDressed": false,
"skillWeights": {
"focus": 0.45,
"empathy": 0.35,
"dominance": 0.2
},
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"dominance"
]
},
{
"id": "come_inside_ass",
"label": "Come inside her ass",
"tab": "Climax",
"setting": "private",
"cost": 0,
"minutes": 3,
"base": 32,
"limit": 99,
"pref": "anal_sensitivity",
"tags": [
"climax",
"private",
"sexual"
],
"unique": null,
"movePrivate": false,
"needs": {},
"interest": null,
"requiresFlags": [],
"setsFlag": null,
"minStats": {},
"desc": "Hard. Requires anal already in progress and uses the cum anal image.",
"climaxTarget": "inside_ass",
"requiresSexualState": "anal",
"requiresPlayerDressed": false,
"skillWeights": {
"focus": 0.45,
"empathy": 0.35,
"dominance": 0.2
},
"relationType": "sexual",
"skills": [
"focus",
"empathy",
"dominance"
]
}
]
END_DATA_ACTIONS %/
/% ACTION_BALANCE_DATABASE
{
"_note": [],
"version": 1,
"supportedCapModes": {
"lustMin": "cap = clamp(max(min, lust), min, max)",
"lustAfterThreshold": "cap = lust if lust is above threshold, otherwise min"
},
"globalNotes": {},
"actions": {
"introduce": {
"_label": "Friendly introduction",
"baseChance": 100,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 2,
"tab": "Talk",
"tags": [
"safe",
"social",
"intro",
"friendly"
],
"skills": [
"charm"
]
},
"introduce_dominant": {
"_label": "Dominant introduction",
"baseChance": 100,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 2,
"tab": "Talk",
"tags": [
"safe",
"intro",
"dominant"
],
"skills": [
"dominance"
]
},
"talk_cooking": {
"_label": "Talk about food and cooking",
"baseChance": 62,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"cooking",
"charm"
]
},
"talk_sports": {
"_label": "Talk about sports and fitness",
"baseChance": 62,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"sports",
"fitness"
]
},
"talk_computers": {
"_label": "Talk about computers",
"baseChance": 60,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"informatic",
"intelligence"
]
},
"talk_finance": {
"_label": "Talk about money and ambition",
"baseChance": 58,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"finance",
"hustle"
]
},
"talk_art": {
"_label": "Talk about art and taste",
"baseChance": 62,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"art",
"intelligence"
]
},
"talk_photography": {
"_label": "Talk about photography",
"baseChance": 60,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"photography",
"charm"
]
},
"talk_massage": {
"_label": "Talk about massage and relaxation",
"baseChance": 56,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"intelligence",
"empathy"
],
"pref": "massage"
},
"talk_music": {
"_label": "Talk about music",
"baseChance": 64,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"safe",
"social"
],
"skills": [
"music",
"intelligence"
]
},
"invite_coffee": {
"_label": "Invite her for coffee",
"baseChance": 44,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Talk",
"tags": [
"date"
],
"skills": [
"charm",
"empathy"
]
},
"invite_workout": {
"_label": "Invite her to train together",
"baseChance": 40,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Talk",
"tags": [
"date"
],
"skills": [
"sports",
"fitness",
"charm"
]
},
"invite_gallery": {
"_label": "Invite her to a gallery walk",
"baseChance": 40,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Talk",
"tags": [
"date"
],
"skills": [
"art",
"photography",
"charm"
]
},
"invite_room": {
"_label": "Invite her to your home",
"baseChance": 16,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Talk",
"tags": [
"private"
],
"skills": [
"charm",
"willpower"
]
},
"invite_private_movie": {
"_label": "Invite her home for a private movie",
"baseChance": 22,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Talk",
"tags": [
"private",
"social",
"date"
],
"skills": [
"charm",
"willpower"
]
},
"invite_meal": {
"_label": "Invite her for a meal",
"baseChance": 18,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Talk",
"tags": [
"private",
"social",
"date",
"meal"
],
"skills": [
"cooking"
]
},
"say_goodbye": {
"_label": "End interaction",
"baseChance": 100,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 0,
"tab": "Talk",
"tags": [
"utility"
]
},
"compliment_style": {
"_label": "Compliment her style",
"baseChance": 62,
"chanceLimit": 2,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"social"
],
"skills": [
"charm",
"empathy"
],
"noHeat": true
},
"look_eyes": {
"_label": "Hold eye contact",
"baseChance": 62,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"gaze",
"heat",
"arousal"
],
"skills": [
"willpower",
"focus",
"teasing"
],
"skillWeights": {
"willpower": 0.6,
"focus": 0.2,
"teasing": 0.2
},
"girlArousalBase": 0.7,
"girlArousalClamp": [
0.3,
1.2
],
"girlArousalCap": 25
},
"admire_outfit": {
"_label": "Admire her outfit openly",
"baseChance": 56,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"gaze",
"heat",
"arousal"
],
"skills": [
"willpower",
"focus",
"teasing"
],
"skillWeights": {
"willpower": 0.6,
"focus": 0.2,
"teasing": 0.2
},
"girlArousalBase": 0.85,
"girlArousalClamp": [
0.4,
1.3
],
"playerArousalBase": 0.25,
"playerArousalCap": 30,
"girlArousalCap": 25
},
"gaze_chest": {
"_label": "Look at her chest",
"baseChance": 30,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"gaze",
"pervy",
"heat",
"arousal"
],
"skills": [
"willpower",
"focus",
"teasing"
],
"skillWeights": {
"willpower": 0.6,
"focus": 0.2,
"teasing": 0.2
},
"pref": "breast_sensitivity",
"girlArousalBase": 1.0,
"girlArousalClamp": [
0.4,
1.6
],
"playerArousalBase": 0.45,
"playerArousalCap": 30,
"girlArousalCap": 25
},
"gaze_legs": {
"_label": "Look at her legs",
"baseChance": 34,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"gaze",
"pervy",
"heat",
"arousal"
],
"skills": [
"willpower",
"focus",
"teasing"
],
"skillWeights": {
"willpower": 0.6,
"focus": 0.2,
"teasing": 0.2
},
"pref": "legs_sensitivity",
"girlArousalBase": 0.8,
"girlArousalClamp": [
0.4,
1.4
],
"playerArousalBase": 0.35,
"playerArousalCap": 30,
"girlArousalCap": 25
},
"gaze_ass": {
"_label": "Look at her ass",
"baseChance": 28,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"gaze",
"pervy",
"heat",
"arousal"
],
"skills": [
"willpower",
"focus",
"teasing"
],
"skillWeights": {
"willpower": 0.6,
"focus": 0.2,
"teasing": 0.2
},
"pref": "ass_sensitivity",
"girlArousalBase": 1.1,
"girlArousalClamp": [
0.5,
1.8
],
"playerArousalBase": 0.5,
"playerArousalCap": 30,
"girlArousalCap": 25
},
"flirt_soft": {
"_label": "Light flirt",
"baseChance": 50,
"chanceLimit": 3,
"energyCost": 1,
"minutes": 1,
"tab": "Flirt",
"tags": [
"flirt",
"heat",
"arousal"
],
"skills": [
"charm",
"willpower"
],
"girlArousalBase": 1.0,
"girlArousalClamp": [
0.4,
1.5
],
"playerArousalBase": 0.3,
"playerArousalCap": 30,
"girlArousalCap": 25
},
"flirt_bold": {
"_label": "Bold flirt",
"baseChance": 35,
"chanceLimit": 3,
"energyCost": 2,
"minutes": 1,
"tab": "Flirt",
"tags": [
"flirt",
"arousal",
"risky",
"heat"
],
"skills": [
"charm",
"willpower"
],
"girlArousalBase": 2.2,
"playerArousalBase": 1.0,
"girlArousalClamp": [
0.8,
3.2
],
"playerArousalCap": 30,
"girlArousalCap": 25
},
"tease_words": {
"_label": "Suggestive teasing",
"baseChance": 32,
"chanceLimit": 3,
"energyCost": 2,
"minutes": 1,
"tab": "Flirt",
"tags": [
"flirt",
"arousal",
"pervy",
"risky",
"heat"
],
"skills": [
"teasing",
"willpower"
],
"girlArousalBase": 4.0,
"playerArousalBase": 2.2,
"girlArousalClamp": [
1.4,
5.0
],
"playerArousalCap": 30,
"girlArousalCap": 25
},
"whisper_dirty": {
"_label": "Whisper something dirty",
"baseChance": 32,
"chanceLimit": 1,
"energyCost": 2,
"minutes": 1,
"tab": "Flirt",
"tags": [
"pervy",
"risky",
"heat",
"arousal"
],
"skills": [
"teasing",
"willpower",
"charm"
],
"girlArousalBase": 2.8,
"girlArousalClamp": [
1.0,
4.0
],
"playerArousalBase": 1.6,
"playerArousalCap": 30,
"girlArousalCap": 25
},
"touch_hand": {
"_label": "Touch her hand",
"baseChance": 86,
"chanceLimit": 3,
"energyCost": 1,
"minutes": 1,
"tab": "Touch",
"tags": [
"touch"
],
"skills": [
"touching",
"empathy"
],
"pref": "touching",
"girlArousalBase": 1.0,
"girlArousalClamp": [
0.4,
1.4
]
},
"touch_arm": {
"_label": "Touch her arm",
"baseChance": 72,
"chanceLimit": 3,
"energyCost": 2,
"minutes": 1,
"tab": "Touch",
"tags": [
"touch"
],
"skills": [
"touching",
"empathy"
],
"pref": "touching",
"girlArousalBase": 1.25,
"girlArousalClamp": [
0.6,
1.8
]
},
"hug_her": {
"_label": "Hug her",
"baseChance": 47,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Touch",
"tags": [
"touch"
],
"skills": [
"touching",
"empathy"
],
"pref": "touching",
"girlArousalBase": 1.9,
"girlArousalClamp": [
1.0,
2.5
]
},
"massage_start": {
"_label": "Offer a massage",
"baseChance": 37,
"chanceLimit": 2,
"energyCost": 5,
"minutes": 5,
"tab": "Touch",
"tags": [
"massage",
"private",
"social"
],
"skills": [
"massage",
"empathy"
],
"pref": "massage",
"girlArousalBase": 1.0
},
"use_massage_oil": {
"_label": "Use massage oil",
"baseChance": 100,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 1,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"utility",
"item"
],
"pref": "massage"
},
"stop_massage": {
"_label": "Stop the massage",
"baseChance": 100,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 1,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"utility"
],
"pref": "massage",
"note": "Utility action. Ends active massage without stat farming, heat gain, or sexual escalation."
},
"massage_shoulders": {
"_label": "Massage her shoulders",
"baseChance": 33,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 5,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch"
],
"skills": [
"massage",
"touching",
"empathy"
],
"pref": "massage",
"girlArousalBase": 1.2
},
"massage_neck": {
"_label": "Massage her neck",
"baseChance": 29,
"chanceLimit": 3,
"energyCost": 6,
"minutes": 5,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch"
],
"skills": [
"massage",
"empathy",
"focus"
],
"pref": "massage",
"girlArousalBase": 1.2
},
"massage_back": {
"_label": "Massage her back",
"baseChance": 27,
"chanceLimit": 3,
"energyCost": 6,
"minutes": 5,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch"
],
"skills": [
"massage",
"empathy",
"fitness"
],
"pref": "massage",
"girlArousalBase": 1.2
},
"massage_lower_back": {
"_label": "Massage her lower back",
"baseChance": 18,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 5,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"risky"
],
"skills": [
"massage",
"touching",
"empathy"
],
"pref": "massage",
"girlArousalBase": 3.7,
"playerArousalBase": 2.6
},
"massage_breasts": {
"_label": "Massage her breasts",
"baseChance": 14,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"skills": [
"massage",
"touching",
"empathy"
],
"pref": "breast_sensitivity",
"girlArousalBase": 5.8,
"playerArousalBase": 2.6
},
"massage_ass": {
"_label": "Massage her ass cheeks",
"baseChance": 15,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"skills": [
"massage",
"touching",
"empathy"
],
"pref": "ass_sensitivity",
"girlArousalBase": 6.4,
"playerArousalBase": 2.6
},
"massage_legs": {
"_label": "Massage her legs",
"baseChance": 24,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 5,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch"
],
"skills": [
"massage",
"touching",
"empathy"
],
"pref": "legs_sensitivity",
"girlArousalBase": 2.2
},
"massage_inner_thighs": {
"_label": "Massage her inner thighs",
"baseChance": 13,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"skills": [
"massage",
"touching",
"teasing"
],
"pref": "legs_sensitivity",
"girlArousalBase": 7.2,
"playerArousalBase": 3.0
},
"massage_vagina": {
"_label": "Rub her vagina as part of the massage",
"baseChance": 4,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"skills": [
"massage",
"touching",
"teasing",
"empathy"
],
"pref": "vaginal_sensitivity",
"girlArousalBase": 10.0,
"playerArousalBase": 4.0
},
"massage_pussy_fabric": {
"_label": "Massage her pussy through clothes",
"baseChance": 10,
"chanceLimit": 99,
"energyCost": 4,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky",
"fabric"
],
"skills": [
"massage",
"touching",
"teasing"
],
"pref": "fingering",
"girlArousalBase": 8.0,
"playerArousalBase": 3.4
},
"massage_pussy_bare": {
"_label": "Massage her bare pussy",
"baseChance": 8,
"chanceLimit": 99,
"energyCost": 4,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"risky"
],
"skills": [
"massage",
"touching",
"teasing"
],
"startsSexualState": "fingering",
"stateDetail": "fingering",
"girlArousalBase": 12.0,
"playerArousalBase": 4.0
},
"massage_tongue_ass": {
"_label": "Surprise her with your tongue on her asshole",
"baseChance": 5,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"oral",
"anal",
"analingus",
"risky"
],
"skills": [
"massage",
"oral",
"empathy",
"teasing"
],
"pref": "anal_sensitivity",
"startsSexualState": "analingus",
"stateDetail": "analingus",
"girlArousalBase": 16.0,
"playerArousalBase": 5.0
},
"massage_tongue_pussy": {
"_label": "Surprise her with your tongue on her pussy",
"baseChance": 6,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "MassageFlow",
"tags": [
"massage",
"private",
"touch",
"sexual",
"oral",
"risky"
],
"skills": [
"massage",
"oral",
"teasing",
"focus"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 16.0,
"playerArousalBase": 4.5
},
"kiss_cheek": {
"_label": "Kiss her cheek",
"baseChance": 53,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Touch",
"tags": [
"kiss",
"heat",
"arousal"
],
"skills": [
"kissing",
"charm"
],
"pref": "kissing",
"girlArousalBase": 1.6,
"playerArousalBase": 0.6,
"girlArousalClamp": [
0.8,
2.4
],
"girlArousalCap": 18,
"playerArousalCap": 30
},
"kiss_lips": {
"_label": "Kiss her lips",
"baseChance": 29,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Touch",
"tags": [
"kiss",
"risky",
"heat",
"arousal"
],
"skills": [
"kissing",
"charm"
],
"pref": "kissing",
"girlArousalBase": 3.2,
"playerArousalBase": 2.6,
"girlArousalClamp": [
1.8,
4.6
],
"girlArousalCap": 35,
"playerArousalCap": 50
},
"deep_kiss": {
"_label": "Deep kiss",
"baseChance": 22,
"chanceLimit": 3,
"energyCost": 6,
"minutes": 2,
"tab": "Touch",
"tags": [
"kiss",
"risky",
"heat",
"arousal"
],
"skills": [
"kissing",
"teasing"
],
"pref": "kissing",
"girlArousalBase": 5.2,
"playerArousalBase": 4.6,
"girlArousalClamp": [
3.0,
7.0
],
"girlArousalCap": 50,
"playerArousalCap": 65
},
"suck_nipples": {
"_label": "Suck her nipples",
"baseChance": 31,
"chanceLimit": 2,
"energyCost": 5,
"minutes": 2,
"tab": "Petting",
"tags": [
"oral_light",
"private",
"sexual"
],
"skills": [
"oral",
"teasing"
],
"pref": "breast_sensitivity",
"girlArousalBase": 4.4,
"playerArousalBase": 5.8,
"girlArousalClamp": [
2.7,
5.0
],
"girlArousalCap": {
"mode": "lustMin",
"min": 30,
"max": 100
}
},
"caress_thigh": {
"_label": "Caress her thigh",
"baseChance": 32,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Petting",
"tags": [
"petting",
"touch",
"sexual"
],
"skills": [
"touching",
"teasing"
],
"pref": "legs_sensitivity",
"girlArousalBase": 1.0,
"playerArousalBase": 0.7,
"playerArousalCap": 30
},
"pet_over_clothes": {
"_label": "Caress her through her clothes",
"baseChance": 30,
"chanceLimit": 4,
"energyCost": 3,
"minutes": 1,
"tab": "Petting",
"tags": [
"petting",
"touch",
"sexual",
"risky"
],
"skills": [
"touching",
"teasing"
],
"pref": "touching",
"girlArousalBase": 1.0,
"playerArousalBase": 0.7,
"playerArousalCap": 30
},
"rub_breasts_fabric": {
"_label": "Rub her tits through her clothes",
"baseChance": 29,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Petting",
"tags": [
"petting",
"touch",
"sexual",
"fabric"
],
"skills": [
"touching",
"massage"
],
"pref": "breast_sensitivity",
"girlArousalBase": 1.1,
"playerArousalBase": 0.7,
"playerArousalCap": 30,
"label": "Rub her tits through her clothes"
},
"rub_pussy_fabric": {
"_label": "Rub her pussy through fabric",
"baseChance": 14,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Petting",
"tags": [
"petting",
"touch",
"sexual",
"fabric",
"risky"
],
"skills": [
"touching",
"teasing"
],
"pref": "fingering",
"actionHeatBase": 8.0,
"startsSexualState": "rubbing",
"stateDetail": "rubbing",
"girlArousalBase": 6.0,
"playerArousalBase": 2.8,
"playerArousalCap": 30
},
"finger_pussy": {
"_label": "Try to finger her pussy",
"baseChance": 8,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 3,
"tab": "Petting",
"tags": [
"petting",
"touch",
"private",
"sexual",
"risky"
],
"skills": [
"touching",
"teasing"
],
"pref": "fingering",
"startsSexualState": "fingering",
"stateDetail": "fingering",
"girlArousalBase": 9.0,
"playerArousalBase": 8.0
},
"grind_together": {
"_label": "Grind against her",
"baseChance": 8,
"chanceLimit": 3,
"energyCost": 7,
"minutes": 3,
"tab": "Petting",
"tags": [
"petting",
"touch",
"private",
"sexual",
"risky"
],
"skills": [
"teasing",
"touching",
"fitness"
],
"girlArousalBase": 8.0,
"playerArousalBase": 4.5
},
"try_slip_inside": {
"_label": "Try to slip it inside",
"baseChance": 3,
"chanceLimit": 1,
"energyCost": 9,
"minutes": 2,
"tab": "Petting",
"tags": [
"petting",
"private",
"sexual",
"sex",
"risky",
"slip_inside"
],
"skills": [
"penetration",
"teasing",
"focus"
],
"pref": "vaginal_sensitivity",
"startsSexualState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 15.0,
"playerArousalBase": 20.0
},
"anal_talk": {
"_label": "Talk about anal",
"baseChance": 16,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 10,
"tab": "Talk",
"tags": [
"anal",
"social"
],
"skills": [
"anal",
"empathy"
],
"pref": "anal_sensitivity",
"girlArousalBase": 1.2
},
"finger_ass": {
"_label": "Finger her ass",
"baseChance": 10,
"chanceLimit": 2,
"energyCost": 7,
"minutes": 3,
"tab": "Petting",
"tags": [
"anal",
"private",
"sexual"
],
"skills": [
"anal",
"touching"
],
"pref": "anal_sensitivity",
"girlArousalBase": 11.0,
"playerArousalBase": 6.0
},
"ask_about_schedule": {
"_label": "Ask about her schedule",
"baseChance": 52,
"chanceLimit": 1,
"energyCost": 2,
"minutes": 10,
"tab": "Ask-beg",
"tags": [
"safe",
"social",
"knowledge",
"routine"
],
"skills": [
"empathy",
"intelligence",
"charm"
]
},
"ask_number": {
"_label": "Ask for her number",
"baseChance": 42,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 3,
"tab": "Ask-beg",
"tags": [
"social"
],
"skills": [
"charm",
"empathy"
]
},
"ask_address": {
"_label": "Ask for her address",
"baseChance": 10,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 5,
"tab": "Ask-beg",
"tags": [
"safe",
"social",
"knowledge",
"address"
],
"skills": [
"charm",
"intelligence",
"willpower"
]
},
"ask_blowjob": {
"_label": "Ask for a blowjob",
"baseChance": 12,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"receiving_oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"teasing"
],
"pref": "giving_oral",
"startsSexualState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 5.0,
"playerArousalBase": 16.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"ask_handjob": {
"_label": "Ask for a handjob",
"baseChance": 15,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"handjob",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"teasing",
"empathy"
],
"pref": "handjob",
"startsSexualState": "handjob",
"stateDetail": "handjob",
"playerArousalBase": 8.5,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12,
"girlArousalBase": 3.2
},
"ask_footjob": {
"_label": "Ask for a footjob",
"baseChance": 17,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"footjob",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"teasing",
"empathy"
],
"pref": "legs_sensitivity",
"actionHeatBase": 6.4,
"startsSexualState": "footjob",
"stateDetail": "footjob",
"girlArousalBase": 4.8,
"playerArousalBase": 9.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustAfterThreshold",
"min": 30,
"threshold": 50,
"max": 100
}
},
"ask_titfuck": {
"_label": "Ask for a titfuck",
"baseChance": 13,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"titfuck",
"breast",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"teasing",
"focus"
],
"skillWeights": {
"charm": 0.35,
"teasing": 0.4,
"focus": 0.25
},
"pref": "breast_sex",
"extraPrefs": [
"breast_sensitivity"
],
"prefWeights": {
"breast_sex": 0.78,
"breast_sensitivity": 0.22
},
"actionHeatBase": 7.4,
"startsSexualState": "titfuck",
"stateDetail": "titfuck",
"girlArousalBase": 4.0,
"playerArousalBase": 9.8,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustMin",
"min": 50,
"max": 100
}
},
"ask_permission_finger": {
"_label": "Ask permission to finger her",
"baseChance": 7,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"petting",
"touch",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"touching",
"empathy"
],
"pref": "fingering",
"startsSexualState": "fingering",
"stateDetail": "fingering",
"girlArousalBase": 8.0,
"playerArousalBase": 8.0
},
"ask_permission_oral": {
"_label": "Ask to perform oral",
"baseChance": 14,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"oral",
"empathy"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 14.0,
"playerArousalBase": 9.0
},
"ask_sex": {
"_label": "Ask for sex",
"baseChance": 8,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"sex",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"penetration",
"empathy"
],
"pref": "vaginal_sensitivity",
"startsSexualState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 20.0,
"playerArousalBase": 18.0
},
"ask_anal_sex": {
"_label": "Ask for anal sex",
"baseChance": 5,
"chanceLimit": 1,
"energyCost": 2,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"anal",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"charm",
"anal",
"empathy"
],
"pref": "anal_sensitivity",
"startsSexualState": "anal",
"stateDetail": "anal_missionary",
"girlArousalBase": 15.0,
"playerArousalBase": 20.0
},
"sit_on_face": {
"_label": "Ask her to sit on your face",
"baseChance": 9,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"oral",
"willpower"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "facesitting",
"girlArousalBase": 14.0,
"playerArousalBase": 10.5
},
"sixty_nine": {
"_label": "Ask for 69",
"baseChance": 12,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"permission"
],
"skills": [
"oral",
"teasing"
],
"pref": "sixty_nine",
"actionHeatBase": 14.0,
"startsSexualState": "sixty_nine",
"stateDetail": "sixty_nine",
"girlArousalBase": 16.0,
"playerArousalBase": 12.5
},
"beg_cunnilingus": {
"_label": "Beg her to sit on your face",
"baseChance": 5,
"chanceLimit": 2,
"energyCost": 5,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "facesitting",
"girlArousalBase": 7.0,
"playerArousalBase": 9.0
},
"beg_sixty_nine": {
"_label": "Beg for 69",
"baseChance": 8,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "sixty_nine",
"actionHeatBase": 14.0,
"startsSexualState": "sixty_nine",
"stateDetail": "sixty_nine",
"girlArousalBase": 9.0,
"playerArousalBase": 12.5
},
"beg_anal_sex": {
"_label": "Beg for anal sex",
"baseChance": 0,
"chanceLimit": 1,
"energyCost": 3,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"anal",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "anal_sensitivity",
"startsSexualState": "anal",
"stateDetail": "anal_cowgirl",
"girlArousalBase": 6.0,
"playerArousalBase": 20.0
},
"beg_sex": {
"_label": "Beg for sex",
"baseChance": 1,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"sex",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "vaginal_sensitivity",
"startsSexualState": "sex",
"stateDetail": "cowgirl",
"girlArousalBase": 10.0,
"playerArousalBase": 18.0
},
"beg_blowjob": {
"_label": "Beg for a blowjob",
"baseChance": 4,
"chanceLimit": 2,
"energyCost": 2,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"receiving_oral",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "giving_oral",
"startsSexualState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 5.5,
"playerArousalBase": 16.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"beg_handjob": {
"_label": "Beg for a handjob",
"baseChance": 8,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"handjob",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "handjob",
"startsSexualState": "handjob",
"stateDetail": "handjob",
"playerArousalBase": 8.5,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12,
"girlArousalBase": 1.2
},
"beg_footjob": {
"_label": "Beg for a footjob",
"baseChance": 13,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Ask-beg",
"tags": [
"footjob",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"pref": "legs_sensitivity",
"actionHeatBase": 6.4,
"startsSexualState": "footjob",
"stateDetail": "footjob",
"girlArousalBase": 4.8,
"playerArousalBase": 9.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustAfterThreshold",
"min": 30,
"threshold": 50,
"max": 100
}
},
"beg_titfuck": {
"_label": "Beg for a titfuck",
"baseChance": 9,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 2,
"tab": "Ask-beg",
"tags": [
"titfuck",
"breast",
"private",
"sexual",
"ask_beg",
"beg"
],
"skills": [
"empathy",
"charm",
"teasing"
],
"skillWeights": {
"empathy": 0.38,
"charm": 0.3,
"teasing": 0.32
},
"pref": "breast_sex",
"extraPrefs": [
"breast_sensitivity"
],
"prefWeights": {
"breast_sex": 0.78,
"breast_sensitivity": 0.22
},
"actionHeatBase": 7.4,
"startsSexualState": "titfuck",
"stateDetail": "titfuck",
"girlArousalBase": 1.0,
"playerArousalBase": 9.8,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustMin",
"min": 50,
"max": 100
}
},
"remove_your_clothes": {
"_label": "Remove your clothes",
"baseChance": 62,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"private",
"sexual",
"risky",
"player_strip",
"strip"
],
"skills": [
"teasing",
"willpower"
],
"playerArousalBase": 3.0,
"girlArousalBase": 5.0
},
"ask_top_off": {
"_label": "Ask her to remove her top",
"baseChance": 24,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"ask_strip"
],
"skills": [
"charm",
"empathy"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 3.2
},
"try_top_off": {
"_label": "Try to lift her top",
"baseChance": 14,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"skills": [
"charm",
"empathy"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 5.0
},
"unhook_bra": {
"_label": "Try to unhook her bra",
"baseChance": 10,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"skills": [
"touching",
"willpower"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 5.0
},
"ask_bra_off": {
"_label": "Ask her to remove her bra",
"baseChance": 18,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"ask_strip"
],
"skills": [
"touching",
"willpower"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 3.2
},
"ask_bottom_off": {
"_label": "Ask her to remove her bottoms",
"baseChance": 22,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"ask_strip"
],
"skills": [
"charm",
"teasing"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 3.2
},
"try_bottom_off": {
"_label": "Try to slide her bottoms off",
"baseChance": 12,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"skills": [
"charm",
"teasing"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 5.0
},
"remove_panties": {
"_label": "Try to remove her panties",
"baseChance": 8,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"attempt_strip",
"risky"
],
"skills": [
"touching",
"teasing"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 5.0
},
"ask_panties_off": {
"_label": "Ask her to remove her panties",
"baseChance": 16,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Strip",
"tags": [
"strip",
"private",
"ask_strip"
],
"skills": [
"touching",
"teasing"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 3.2
},
"strip_together": {
"_label": "Ask to undress together",
"baseChance": 16,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "Strip",
"tags": [
"strip",
"private",
"ask_strip",
"mutual_nudity",
"risky"
],
"skills": [
"charm",
"willpower"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 3.2
},
"ask_naked": {
"_label": "Ask her to undress completely",
"baseChance": 24,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "Strip",
"tags": [
"strip",
"private",
"ask_strip",
"risky"
],
"skills": [
"charm",
"willpower"
],
"pref": "undressing",
"playerArousalBase": 3.0,
"girlArousalBase": 3.2
},
"gentle_command": {
"_label": "Give a gentle command",
"baseChance": 62,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Command",
"tags": [
"control",
"command"
],
"skills": [
"dominance",
"willpower"
]
},
"make_her_hold_still": {
"_label": "Tell her to hold still",
"baseChance": 50,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Command",
"tags": [
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
]
},
"guide_position": {
"_label": "Guide her position",
"baseChance": 46,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Command",
"tags": [
"control",
"command"
],
"skills": [
"dominance",
"touching",
"willpower"
]
},
"dirty_praise": {
"_label": "Dirty praise",
"baseChance": 28,
"chanceLimit": 3,
"energyCost": 3,
"minutes": 1,
"tab": "Command",
"tags": [
"control",
"command"
],
"skills": [
"dominance",
"teasing",
"willpower"
]
},
"hold_eye_contact_command": {
"_label": "Tell her to keep eye contact",
"baseChance": 56,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Command",
"tags": [
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
]
},
"demand_cunnilingus": {
"_label": "Demand cunnilingus",
"baseChance": 7,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 1,
"tab": "Command",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 14.0,
"playerArousalBase": 9.0
},
"demand_sixty_nine": {
"_label": "Demand 69",
"baseChance": 5,
"chanceLimit": 2,
"energyCost": 4,
"minutes": 2,
"tab": "Command",
"tags": [
"oral",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"oral",
"focus"
],
"skillWeights": {
"dominance": 0.35,
"willpower": 0.25,
"oral": 0.25,
"focus": 0.15
},
"pref": "sixty_nine",
"actionHeatBase": 14.0,
"startsSexualState": "sixty_nine",
"stateDetail": "sixty_nine",
"girlArousalBase": 17.0,
"playerArousalBase": 12.5
},
"demand_anal_sex": {
"_label": "Demand anal sex",
"baseChance": 1,
"chanceLimit": 1,
"energyCost": 4,
"minutes": 3,
"tab": "Command",
"tags": [
"anal",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
],
"pref": "anal_sensitivity",
"startsSexualState": "anal",
"stateDetail": "anal_wall",
"girlArousalBase": 17.0,
"playerArousalBase": 20.0
},
"demand_sex": {
"_label": "Demand sex",
"baseChance": 3,
"chanceLimit": 2,
"energyCost": 4,
"minutes": 2,
"tab": "Command",
"tags": [
"sex",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
],
"pref": "vaginal_sensitivity",
"startsSexualState": "sex",
"stateDetail": "wall",
"girlArousalBase": 22.0,
"playerArousalBase": 18.0
},
"demand_blowjob": {
"_label": "Demand a blowjob",
"baseChance": 6,
"chanceLimit": 2,
"energyCost": 6,
"minutes": 1,
"tab": "Command",
"tags": [
"receiving_oral",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
],
"pref": "giving_oral",
"startsSexualState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 5.5,
"playerArousalBase": 16.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"demand_handjob": {
"_label": "Demand a handjob",
"baseChance": 8,
"chanceLimit": 2,
"energyCost": 4,
"minutes": 1,
"tab": "Command",
"tags": [
"handjob",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
],
"pref": "handjob",
"startsSexualState": "handjob",
"stateDetail": "handjob",
"playerArousalBase": 8.5,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12,
"girlArousalBase": 3.2
},
"demand_footjob": {
"_label": "Demand a footjob",
"baseChance": 8,
"chanceLimit": 2,
"energyCost": 4,
"minutes": 1,
"tab": "Command",
"tags": [
"footjob",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus"
],
"skillWeights": {
"dominance": 0.45,
"willpower": 0.35,
"focus": 0.2
},
"pref": "legs_sensitivity",
"actionHeatBase": 6.4,
"startsSexualState": "footjob",
"stateDetail": "footjob",
"girlArousalBase": 4.8,
"playerArousalBase": 9.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustAfterThreshold",
"min": 30,
"threshold": 50,
"max": 100
}
},
"demand_titfuck": {
"_label": "Demand a titfuck",
"baseChance": 5,
"chanceLimit": 2,
"energyCost": 4,
"minutes": 2,
"tab": "Command",
"tags": [
"titfuck",
"breast",
"private",
"sexual",
"ask_beg",
"demand",
"control",
"command"
],
"skills": [
"dominance",
"willpower",
"focus",
"teasing"
],
"skillWeights": {
"dominance": 0.42,
"willpower": 0.25,
"focus": 0.18,
"teasing": 0.15
},
"pref": "breast_sex",
"extraPrefs": [
"breast_sensitivity"
],
"prefWeights": {
"breast_sex": 0.78,
"breast_sensitivity": 0.22
},
"actionHeatBase": 7.4,
"startsSexualState": "titfuck",
"stateDetail": "titfuck",
"girlArousalBase": 5.0,
"playerArousalBase": 9.8,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustMin",
"min": 50,
"max": 100
}
},
"cont_rubbing_keep": {
"_label": "Continue rubbing her",
"baseChance": 88,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"touch"
],
"skills": [
"touching",
"teasing"
],
"pref": "fingering",
"actionHeatBase": 7.5,
"continueState": "rubbing",
"stateDetail": "rubbing",
"girlArousalBase": 8.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 3.2,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"slide_hand_inside_panties_public": {
"_label": "Slide your hand inside her panties",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"public",
"sexual",
"touch",
"risky"
],
"skills": [
"touching",
"teasing",
"focus"
],
"pref": "fingering",
"actionHeatBase": 13.5,
"continueState": "rubbing",
"stateDetail": "rubbing_inside_panties",
"girlArousalBase": 12.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 4.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_rubbing_to_fingering": {
"_label": "Remove her panties and slide your finger inside",
"baseChance": 8,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"touch",
"strip",
"risky"
],
"skills": [
"touching",
"teasing"
],
"pref": "fingering",
"actionHeatBase": 14.0,
"continueState": "rubbing",
"nextSexualState": "fingering",
"stateDetail": "fingering",
"playerArousalBase": 3.85,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"girlArousalBase": 10.0
},
"lick_pussy": {
"_label": "Lick her pussy",
"baseChance": 13,
"chanceLimit": 3,
"energyCost": 12,
"minutes": 3,
"tab": "Hidden",
"tags": [
"oral",
"private",
"sexual"
],
"skills": [
"oral",
"teasing"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 15.0,
"playerArousalBase": 10.5
},
"suck_clit": {
"_label": "Suck her clit",
"baseChance": 12,
"chanceLimit": 3,
"energyCost": 12,
"minutes": 3,
"tab": "Hidden",
"tags": [
"oral",
"private",
"sexual"
],
"skills": [
"oral",
"teasing"
],
"pref": "receiving_oral",
"startsSexualState": "cunnilingus",
"stateDetail": "clit",
"girlArousalBase": 19.0,
"playerArousalBase": 10.5
},
"missionary": {
"_label": "Missionary",
"baseChance": 7,
"chanceLimit": 3,
"energyCost": 21,
"minutes": 3,
"tab": "Hidden",
"tags": [
"sex",
"private",
"sexual"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "missionary",
"startsSexualState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 20.0,
"playerArousalBase": 22.0
},
"cowgirl": {
"_label": "Cowgirl",
"baseChance": 7,
"chanceLimit": 3,
"energyCost": 21,
"minutes": 3,
"tab": "Hidden",
"tags": [
"sex",
"private",
"sexual",
"submissive_position"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "cowgirl",
"startsSexualState": "sex",
"stateDetail": "cowgirl",
"girlArousalBase": 20.0,
"playerArousalBase": 22.0
},
"reverse_cowgirl": {
"_label": "Reverse cowgirl",
"baseChance": 6,
"chanceLimit": 3,
"energyCost": 21,
"minutes": 3,
"tab": "Hidden",
"tags": [
"sex",
"private",
"sexual",
"submissive_position"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "reverse_cowgirl",
"startsSexualState": "sex",
"stateDetail": "reverse_cowgirl",
"girlArousalBase": 20.0,
"playerArousalBase": 22.0
},
"doggy": {
"_label": "Doggy style",
"baseChance": 6,
"chanceLimit": 3,
"energyCost": 21,
"minutes": 3,
"tab": "Hidden",
"tags": [
"sex",
"private",
"sexual"
],
"skills": [
"penetration",
"focus"
],
"pref": "doggy",
"startsSexualState": "sex",
"stateDetail": "doggy",
"girlArousalBase": 20.0,
"playerArousalBase": 22.0
},
"against_wall": {
"_label": "Sex against wall",
"baseChance": 5,
"chanceLimit": 2,
"energyCost": 24,
"minutes": 3,
"tab": "Hidden",
"tags": [
"sex",
"private",
"sexual",
"risky",
"dominant_position"
],
"skills": [
"penetration",
"fitness",
"dominance"
],
"pref": "wall",
"startsSexualState": "sex",
"stateDetail": "wall",
"girlArousalBase": 20.0,
"playerArousalBase": 22.0
},
"breast_sex": {
"_label": "Breast sex",
"baseChance": 12,
"chanceLimit": 2,
"energyCost": 15,
"minutes": 3,
"tab": "Hidden",
"tags": [
"sex",
"private",
"sexual"
],
"skills": [
"penetration",
"teasing"
],
"pref": "breast_sex",
"startsSexualState": "sex",
"stateDetail": "breast_sex",
"girlArousalBase": 11.0,
"playerArousalBase": 22.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"anal_doggy": {
"_label": "Anal doggy",
"baseChance": 2,
"chanceLimit": 2,
"energyCost": 24,
"minutes": 3,
"tab": "Hidden",
"tags": [
"anal",
"private",
"sexual"
],
"skills": [
"anal",
"focus"
],
"pref": "doggy",
"extraPrefs": [
"anal_sensitivity"
],
"startsSexualState": "anal",
"stateDetail": "anal_doggy",
"girlArousalBase": 16.0,
"playerArousalBase": 11.0
},
"anal_missionary": {
"_label": "Anal missionary",
"baseChance": 4,
"chanceLimit": 2,
"energyCost": 24,
"minutes": 3,
"tab": "Hidden",
"tags": [
"anal",
"private",
"sexual"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "missionary",
"extraPrefs": [
"anal_sensitivity"
],
"startsSexualState": "anal",
"stateDetail": "anal_missionary",
"girlArousalBase": 16.0,
"playerArousalBase": 11.0
},
"anal_cowgirl": {
"_label": "Anal cowgirl",
"baseChance": 3,
"chanceLimit": 2,
"energyCost": 24,
"minutes": 3,
"tab": "Hidden",
"tags": [
"anal",
"private",
"sexual",
"submissive_position"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "cowgirl",
"extraPrefs": [
"anal_sensitivity"
],
"startsSexualState": "anal",
"stateDetail": "anal_cowgirl",
"girlArousalBase": 16.0,
"playerArousalBase": 11.0
},
"anal_reverse_cowgirl": {
"_label": "Anal reverse cowgirl",
"baseChance": 3,
"chanceLimit": 2,
"energyCost": 24,
"minutes": 3,
"tab": "Hidden",
"tags": [
"anal",
"private",
"sexual",
"submissive_position"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "reverse_cowgirl",
"extraPrefs": [
"anal_sensitivity"
],
"startsSexualState": "anal",
"stateDetail": "anal_reverse_cowgirl",
"girlArousalBase": 16.0,
"playerArousalBase": 11.0
},
"anal_wall": {
"_label": "Anal against wall",
"baseChance": 2,
"chanceLimit": 2,
"energyCost": 27,
"minutes": 3,
"tab": "Hidden",
"tags": [
"anal",
"private",
"sexual",
"risky",
"dominant_position"
],
"skills": [
"anal",
"fitness",
"dominance"
],
"pref": "wall",
"extraPrefs": [
"anal_sensitivity"
],
"startsSexualState": "anal",
"stateDetail": "anal_wall",
"girlArousalBase": 16.0,
"playerArousalBase": 11.0
},
"cont_finger_keep": {
"_label": "Keep fingering her",
"baseChance": 82,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"touch"
],
"skills": [
"touching",
"focus"
],
"pref": "fingering",
"actionHeatBase": 9.0,
"continueState": "fingering",
"stateDetail": "fingering",
"girlArousalBase": 7.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 3.35,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_finger_tease": {
"_label": "Tease her with your fingers",
"baseChance": 72,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"touch",
"risky"
],
"skills": [
"touching",
"teasing"
],
"pref": "fingering",
"actionHeatBase": 14.0,
"continueState": "fingering",
"stateDetail": "fingering",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 3.7,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_finger_to_mouth": {
"_label": "Move your mouth to her clit",
"baseChance": 66,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"touch",
"risky"
],
"skills": [
"oral",
"teasing",
"touching"
],
"pref": "receiving_oral",
"actionHeatBase": 16.0,
"continueState": "fingering",
"nextSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 6.2,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_cunni_keep": {
"_label": "Keep licking her",
"baseChance": 80,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"skills": [
"oral",
"focus"
],
"pref": "receiving_oral",
"actionHeatBase": 10.5,
"continueState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 9.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 4.725,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_cunni_tease": {
"_label": "Tease her with your tongue",
"baseChance": 72,
"chanceLimit": 4,
"energyCost": 4,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"tease"
],
"skills": [
"teasing",
"oral"
],
"pref": "receiving_oral",
"actionHeatBase": 14.0,
"continueState": "cunnilingus",
"stateDetail": "teasing",
"girlArousalBase": 15.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 6.3,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_cunni_add_fingers": {
"_label": "Add your fingers while licking",
"baseChance": 62,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"touch",
"risky"
],
"skills": [
"oral",
"touching"
],
"pref": "fingering",
"actionHeatBase": 16.0,
"continueState": "cunnilingus",
"stateDetail": "fingering",
"girlArousalBase": 14.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 4.2,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_cunni_to_analingus": {
"_label": "Shift your tongue lower",
"baseChance": 44,
"chanceLimit": 3,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus",
"risky",
"state_shift"
],
"skills": [
"oral",
"teasing",
"empathy"
],
"pref": "anal_sensitivity",
"actionHeatBase": 12.0,
"continueState": "cunnilingus",
"nextSexualState": "analingus",
"stateDetail": "analingus",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 5.4,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_cunni_to_sex": {
"_label": "Escalate from oral to sex",
"baseChance": 30,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"state_escalation"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "vaginal_sensitivity",
"actionHeatBase": 20.0,
"continueState": "cunnilingus",
"nextSexualState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 20.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 15.4,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_bj_let_continue": {
"_label": "Let her keep sucking you",
"baseChance": 84,
"chanceLimit": 99,
"energyCost": 2,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"skills": [
"empathy",
"focus"
],
"pref": "giving_oral",
"actionHeatBase": 5.0,
"continueState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 2.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 11.0,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_hj_keep": {
"_label": "Let her keep stroking you",
"baseChance": 84,
"chanceLimit": 99,
"energyCost": 2,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"handjob"
],
"skills": [
"focus",
"empathy"
],
"pref": "handjob",
"actionHeatBase": 5.4,
"continueState": "handjob",
"stateDetail": "handjob",
"girlArousalBase": 2.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 7.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_hj_guide_rhythm": {
"_label": "Guide her hand",
"baseChance": 78,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"handjob",
"control"
],
"skills": [
"dominance",
"focus",
"teasing"
],
"pref": "handjob",
"actionHeatBase": 6.0,
"continueState": "handjob",
"stateDetail": "handjob",
"girlArousalBase": 0.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 6.2,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_hj_kiss": {
"_label": "Kiss while she strokes you",
"baseChance": 80,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"handjob",
"kiss"
],
"skills": [
"kissing",
"empathy"
],
"pref": "kissing",
"actionHeatBase": 5.4,
"continueState": "handjob",
"stateDetail": "kissing",
"girlArousalBase": 4.2,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 8.2,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_hj_tease": {
"_label": "Tease her while she strokes you",
"baseChance": 76,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"handjob"
],
"skills": [
"teasing",
"charm"
],
"actionHeatBase": 5.6,
"continueState": "handjob",
"stateDetail": "teasing",
"girlArousalBase": 2.6,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 7.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_hj_to_bj": {
"_label": "Guide her hand to her mouth",
"baseChance": 56,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"state_shift"
],
"skills": [
"charm",
"teasing",
"empathy"
],
"pref": "giving_oral",
"actionHeatBase": 12.0,
"continueState": "handjob",
"nextSexualState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 3.8,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 11.84,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_footjob_keep": {
"_label": "Let her continue the footjob",
"baseChance": 88,
"chanceLimit": 99,
"energyCost": 2,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"footjob"
],
"skills": [
"focus",
"empathy"
],
"pref": "legs_sensitivity",
"actionHeatBase": 6.4,
"continueState": "footjob",
"stateDetail": "footjob",
"girlArousalBase": 6.4,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 8.5,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustAfterThreshold",
"min": 30,
"threshold": 50,
"max": 100
}
},
"cont_titfuck_keep": {
"_label": "Continue to fuck her tits",
"baseChance": 82,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"titfuck",
"breast"
],
"skills": [
"penetration",
"focus",
"teasing"
],
"skillWeights": {
"penetration": 0.35,
"focus": 0.35,
"teasing": 0.3
},
"pref": "breast_sex",
"extraPrefs": [
"breast_sensitivity"
],
"prefWeights": {
"breast_sex": 0.78,
"breast_sensitivity": 0.22
},
"actionHeatBase": 7.4,
"continueState": "titfuck",
"stateDetail": "titfuck",
"girlArousalBase": 3.4,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 9.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustMin",
"min": 50,
"max": 100
}
},
"cont_titfuck_let_work": {
"_label": "Let her do the work",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 2,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"titfuck",
"breast",
"control"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"skillWeights": {
"dominance": 0.5,
"focus": 0.3,
"empathy": 0.2
},
"pref": "breast_sex",
"extraPrefs": [
"breast_sensitivity"
],
"prefWeights": {
"breast_sex": 0.78,
"breast_sensitivity": 0.22
},
"actionHeatBase": 6.6,
"continueState": "titfuck",
"stateDetail": "titfuck",
"girlArousalBase": 3.2,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 8.8,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustMin",
"min": 50,
"max": 100
}
},
"cont_titfuck_lick_tip": {
"_label": "Ask her to lick the tip",
"baseChance": 64,
"chanceLimit": 99,
"energyCost": 2,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"titfuck",
"breast",
"oral_light",
"control"
],
"skills": [
"dominance",
"teasing",
"focus"
],
"skillWeights": {
"dominance": 0.45,
"teasing": 0.35,
"focus": 0.2
},
"pref": "breast_sex",
"extraPrefs": [
"breast_sensitivity"
],
"prefWeights": {
"breast_sex": 0.78,
"breast_sensitivity": 0.22
},
"actionHeatBase": 8.0,
"continueState": "titfuck",
"stateDetail": "titfuck_lick_tip",
"girlArousalBase": 3.6,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 10.3,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.55,
"girlArousalCap": {
"mode": "lustMin",
"min": 50,
"max": 100
}
},
"cont_bj_guide_rhythm": {
"_label": "Guide her rhythm",
"baseChance": 76,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"control"
],
"skills": [
"dominance",
"focus",
"teasing"
],
"pref": "giving_oral",
"actionHeatBase": 8.0,
"continueState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 1.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 10.0,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_bj_praise": {
"_label": "Praise what she is doing",
"baseChance": 86,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"social"
],
"skills": [
"charm",
"empathy",
"teasing"
],
"pref": "giving_oral",
"actionHeatBase": 6.5,
"continueState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 4.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 10.5,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_bj_deeper": {
"_label": "Encourage her to go deeper",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"risky"
],
"skills": [
"dominance",
"teasing",
"empathy"
],
"pref": "giving_oral",
"actionHeatBase": 10.0,
"continueState": "blowjob",
"stateDetail": "deepthroat",
"girlArousalBase": 3.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 14.0,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12,
"patienceSuccessMultiplier": 1.5,
"patienceFailureMultiplier": 1.65,
"_note": "Uses deepthroat-specific lines and image, but stays in blowjob continue state."
},
"cont_bj_slow_down": {
"_label": "Slow her down",
"baseChance": 82,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"skills": [
"empathy",
"focus"
],
"pref": "giving_oral",
"actionHeatBase": 5.5,
"continueState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 1.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 3.5,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_bj_eye_contact": {
"_label": "Hold eye contact with her",
"baseChance": 79,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"skills": [
"teasing",
"focus"
],
"pref": "giving_oral",
"actionHeatBase": 7.0,
"continueState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 3.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 13.5,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_bj_touch_hair": {
"_label": "Touch her hair while she sucks you",
"baseChance": 73,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral",
"touch"
],
"skills": [
"dominance",
"empathy"
],
"pref": "giving_oral",
"actionHeatBase": 7.5,
"continueState": "blowjob",
"stateDetail": "oral_give",
"girlArousalBase": 4.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 13.0,
"_playerArousalBaseNote": "Manual rebalance: blowjob continuation player arousal base set directly.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_bj_to_sex": {
"_label": "Pull her up into sex",
"baseChance": 44,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"state_escalation"
],
"skills": [
"penetration",
"empathy",
"teasing"
],
"pref": "vaginal_sensitivity",
"actionHeatBase": 18.0,
"continueState": "blowjob",
"nextSexualState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 13.76,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_sex_missionary": {
"_label": "Continue missionary",
"baseChance": 80,
"chanceLimit": 99,
"energyCost": 7,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "missionary",
"actionHeatBase": 16.0,
"continueState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 14.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_sex_doggy": {
"_label": "Continue doggy style",
"baseChance": 74,
"chanceLimit": 99,
"energyCost": 8,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex"
],
"skills": [
"penetration",
"focus"
],
"pref": "doggy",
"actionHeatBase": 19.0,
"continueState": "sex",
"stateDetail": "doggy",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 15.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_sex_cowgirl": {
"_label": "Continue cowgirl",
"baseChance": 78,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"submissive_position"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "cowgirl",
"actionHeatBase": 17.0,
"continueState": "sex",
"stateDetail": "cowgirl",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 15.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_sex_reverse_cowgirl": {
"_label": "Continue reverse cowgirl",
"baseChance": 76,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"submissive_position"
],
"skills": [
"penetration",
"empathy",
"focus"
],
"pref": "reverse_cowgirl",
"actionHeatBase": 17.5,
"continueState": "sex",
"stateDetail": "reverse_cowgirl",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 15.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_sex_wall": {
"_label": "Continue against wall",
"baseChance": 66,
"chanceLimit": 99,
"energyCost": 11,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"dominant_position"
],
"skills": [
"penetration",
"fitness",
"dominance"
],
"pref": "wall",
"actionHeatBase": 21.0,
"continueState": "sex",
"stateDetail": "wall",
"girlArousalBase": 16.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 16.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_sex_to_anal": {
"_label": "Escalate from sex to anal",
"baseChance": 36,
"chanceLimit": 99,
"energyCost": 9,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"risky"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "anal_sensitivity",
"actionHeatBase": 15.0,
"continueState": "sex",
"nextSexualState": "anal",
"stateDetail": "anal_doggy",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 20.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_sex_to_69": {
"_label": "Shift into 69",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 9,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"skills": [
"oral",
"teasing",
"empathy"
],
"pref": "sixty_nine",
"actionHeatBase": 13.5,
"continueState": "sex",
"nextSexualState": "sixty_nine",
"stateDetail": "sixty_nine",
"girlArousalBase": 14.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 12.75,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_69_keep": {
"_label": "Keep the 69 rhythm",
"baseChance": 82,
"chanceLimit": 99,
"energyCost": 9,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"skills": [
"oral",
"teasing",
"empathy"
],
"pref": "sixty_nine",
"actionHeatBase": 13.5,
"continueState": "sixty_nine",
"stateDetail": "sixty_nine",
"girlArousalBase": 13.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 12.5,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_69_focus_her": {
"_label": "Focus your tongue on her",
"baseChance": 76,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral"
],
"skills": [
"oral",
"focus",
"empathy"
],
"pref": "receiving_oral",
"actionHeatBase": 15.5,
"continueState": "sixty_nine",
"stateDetail": "oral_receive",
"girlArousalBase": 16.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 9.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_69_let_her_focus_you": {
"_label": "Let her focus on you",
"baseChance": 78,
"chanceLimit": 99,
"energyCost": 3,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"receiving_oral"
],
"skills": [
"empathy",
"teasing",
"focus"
],
"pref": "giving_oral",
"actionHeatBase": 9.0,
"continueState": "sixty_nine",
"stateDetail": "oral_give",
"girlArousalBase": 8.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 14.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier.",
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"cont_69_grind": {
"_label": "Grind your hips into the position",
"baseChance": 70,
"chanceLimit": 99,
"energyCost": 8,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"touch",
"risky"
],
"skills": [
"teasing",
"touching",
"oral"
],
"pref": "sixty_nine",
"actionHeatBase": 16.0,
"continueState": "sixty_nine",
"stateDetail": "sixty_nine",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 14.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_69_to_sex": {
"_label": "Turn 69 into sex",
"baseChance": 46,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"sex",
"risky",
"state_escalation"
],
"skills": [
"penetration",
"empathy",
"oral"
],
"pref": "vaginal_sensitivity",
"actionHeatBase": 18.0,
"continueState": "sixty_nine",
"nextSexualState": "sex",
"stateDetail": "missionary",
"girlArousalBase": 18.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 17.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_slow": {
"_label": "Keep anal slow",
"baseChance": 80,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "anal_sensitivity",
"actionHeatBase": 12.0,
"continueState": "anal",
"girlArousalBase": 13.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 10.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_doggy": {
"_label": "Continue anal doggy",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 8,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"skills": [
"anal",
"focus"
],
"pref": "doggy",
"extraPrefs": [
"anal_sensitivity"
],
"actionHeatBase": 17.0,
"continueState": "anal",
"stateDetail": "anal_doggy",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 17.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_missionary": {
"_label": "Continue anal missionary",
"baseChance": 72,
"chanceLimit": 99,
"energyCost": 7,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "missionary",
"extraPrefs": [
"anal_sensitivity"
],
"actionHeatBase": 14.5,
"continueState": "anal",
"stateDetail": "anal_missionary",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 15.5,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_cowgirl": {
"_label": "Continue anal cowgirl",
"baseChance": 70,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"submissive_position"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "cowgirl",
"extraPrefs": [
"anal_sensitivity"
],
"actionHeatBase": 15.5,
"continueState": "anal",
"stateDetail": "anal_cowgirl",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 17.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_reverse_cowgirl": {
"_label": "Continue anal reverse cowgirl",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"submissive_position"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "reverse_cowgirl",
"extraPrefs": [
"anal_sensitivity"
],
"actionHeatBase": 16.0,
"continueState": "anal",
"stateDetail": "anal_reverse_cowgirl",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 17.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_wall": {
"_label": "Continue anal against wall",
"baseChance": 62,
"chanceLimit": 99,
"energyCost": 11,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"risky",
"dominant_position"
],
"skills": [
"anal",
"fitness",
"dominance"
],
"pref": "wall",
"extraPrefs": [
"anal_sensitivity"
],
"actionHeatBase": 18.5,
"continueState": "anal",
"stateDetail": "anal_wall",
"girlArousalBase": 12.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 18.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_anal_hold": {
"_label": "Hold still and let her adjust",
"baseChance": 86,
"chanceLimit": 99,
"energyCost": 4,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal"
],
"skills": [
"anal",
"empathy"
],
"pref": "anal_sensitivity",
"actionHeatBase": 7.0,
"continueState": "anal",
"girlArousalBase": 3.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 5.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_analingus_keep": {
"_label": "Keep licking her ass",
"baseChance": 76,
"chanceLimit": 99,
"energyCost": 4,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus"
],
"skills": [
"oral",
"focus"
],
"pref": "anal_sensitivity",
"actionHeatBase": 10.5,
"continueState": "analingus",
"stateDetail": "analingus",
"girlArousalBase": 12.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 4.725,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_analingus_slow": {
"_label": "Slow your tongue down and tease her",
"baseChance": 82,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus",
"tease"
],
"skills": [
"oral",
"empathy",
"teasing"
],
"pref": "anal_sensitivity",
"actionHeatBase": 8.5,
"continueState": "analingus",
"stateDetail": "analingus",
"girlArousalBase": 8.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 3.825,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_analingus_circle": {
"_label": "Add your fingers while licking her ass",
"baseChance": 70,
"chanceLimit": 99,
"energyCost": 5,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"analingus",
"risky",
"touch"
],
"skills": [
"oral",
"touching",
"anal"
],
"pref": "anal_sensitivity",
"actionHeatBase": 15.0,
"continueState": "analingus",
"stateDetail": "analingus_fingers",
"girlArousalBase": 14.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 10.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_analingus_to_cunni": {
"_label": "Move your tongue back to her pussy",
"baseChance": 68,
"chanceLimit": 99,
"energyCost": 9,
"minutes": 2,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"oral",
"state_shift"
],
"skills": [
"oral",
"empathy",
"teasing"
],
"pref": "receiving_oral",
"actionHeatBase": 11.5,
"continueState": "analingus",
"nextSexualState": "cunnilingus",
"stateDetail": "oral_receive",
"girlArousalBase": 11.5,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 5.175,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"cont_analingus_to_anal": {
"_label": "Escalate from analingus to anal sex",
"baseChance": 22,
"chanceLimit": 99,
"energyCost": 6,
"minutes": 3,
"tab": "Continue",
"tags": [
"continue_state",
"private",
"sexual",
"anal",
"risky",
"state_escalation"
],
"skills": [
"anal",
"empathy",
"focus"
],
"pref": "anal_sensitivity",
"actionHeatBase": 18.0,
"continueState": "analingus",
"nextSexualState": "anal",
"stateDetail": "anal_doggy",
"girlArousalBase": 18.0,
"_girlArousalBaseNote": "Continue actions use actionHeatBase as girl arousal base.",
"playerArousalBase": 19.0,
"_playerArousalBaseNote": "Derived from actionHeatBase and continueState multiplier."
},
"come_body": {
"_label": "Come on her body",
"baseChance": 72,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"prefWeights": {
"legs_sensitivity": 0.5,
"ass_sensitivity": 0.25,
"breast_sensitivity": 0.25
}
},
"come_back": {
"_label": "Come on her ass",
"baseChance": 70,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"pref": "ass_sensitivity"
},
"come_boobs": {
"_label": "Come on her tits",
"baseChance": 70,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"pref": "breast_sensitivity"
},
"come_face": {
"_label": "Come on her face",
"baseChance": 38,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
]
},
"come_mouth": {
"_label": "Come in her mouth",
"baseChance": 26,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"pref": "giving_oral"
},
"come_inside": {
"_label": "Come inside her pussy",
"baseChance": 22,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"pref": "vaginal_sensitivity"
},
"come_inside_ass": {
"_label": "Come inside her ass",
"baseChance": 32,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 3,
"tab": "Climax",
"tags": [
"climax",
"private",
"sexual"
],
"skills": [
"dominance",
"focus",
"empathy"
],
"pref": "anal_sensitivity"
},
"inquire_jobs": {
"_label": "Inquire about jobs",
"baseChance": 100,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Talk",
"tags": [
"safe",
"social",
"ask_info",
"job_lead"
],
"skills": [
"charm",
"focus"
],
"_note": "Special action: handled by resolveJobInquiry. No chance roll; unlock outcome comes from each job's unlock.min requirements."
},
"inquire_training": {
"_label": "Inquire about training",
"baseChance": 100,
"chanceLimit": 1,
"energyCost": 1,
"minutes": 1,
"tab": "Talk",
"tags": [
"safe",
"social",
"ask_info",
"training_lead"
],
"skills": [
"focus",
"empathy"
],
"_note": "Special action: handled by resolveJobInquiry. No chance roll; unlock outcome comes from each training unlock.min requirement."
},
"rub_ass_clothes": {
"_label": "Rub her ass through her clothes",
"baseChance": 29,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Petting",
"tags": [
"petting",
"touch",
"sexual",
"fabric"
],
"skills": [
"touching",
"massage"
],
"pref": "ass_sensitivity",
"girlArousalBase": 1.1,
"playerArousalBase": 0.7,
"playerArousalCap": 30
},
"bring_hand_inside_pants": {
"_label": "Bring her hand inside your pants",
"baseChance": 30,
"chanceLimit": 2,
"energyCost": 3,
"minutes": 1,
"tab": "Petting",
"tags": [
"petting",
"public",
"sexual",
"touch",
"handjob",
"risky"
],
"skills": [
"touching",
"teasing",
"focus"
],
"pref": "handjob",
"startsSexualState": "public_handjob",
"stateDetail": "public_handjob",
"playerArousalBase": 8.5,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12,
"girlArousalBase": 3.2
},
"cont_public_handjob_keep": {
"_label": "Let her keep jerking you",
"baseChance": 84,
"chanceLimit": 99,
"energyCost": 2,
"minutes": 1,
"tab": "Continue",
"tags": [
"continue_state",
"public",
"sexual",
"handjob"
],
"skills": [
"focus",
"empathy"
],
"pref": "handjob",
"actionHeatBase": 5.4,
"continueState": "public_handjob",
"stateDetail": "public_handjob",
"girlArousalBase": 2.0,
"playerArousalBase": 7.0,
"playerOnlyStim": true,
"girlArousalPlayerOnlyMultiplier": 0.12
},
"come_public_hand": {
"_label": "Come in her hand",
"baseChance": 76,
"chanceLimit": 99,
"energyCost": 0,
"minutes": 2,
"tab": "Climax",
"tags": [
"climax",
"public",
"sexual",
"handjob"
],
"skills": [
"focus",
"empathy"
],
"pref": "handjob",
"climaxTarget": "hands",
"requiresSexualState": "public_handjob",
"requiresPlayerDressed": true
}
}
}
END_ACTION_BALANCE_DATABASE %/