18+ adults-only game · Guides may describe mature game systems

Version-matched official guide

Brothel Stats & Daily Calculation Reference

Activities & BusinessesSimplified Chinese availableV0.9.6.0
Guide noticeThis page contains gameplay and story spoilers and may describe mature systems.

This is a deep-dive technical reference for how worker stats, brothel systems, and the daily report all fit together. If you want a strategic guide for running the brothel, see brothel.md. This doc is for players who want to understand exactly why their numbers are what they are.


Worker Primary Stats — Full Breakdown

Each worker has six primary stats (0–100) plus Fame as a derived stat. Every stat plays a role in the daily calculation, and ignoring any of them costs you opportunities.

Stamina

Primary role: Endurance — stress resistance and health pool.

Each working day, a roll of random(1-100) ≤ Stamina succeeds → −2 daily stress. Higher Stamina = more frequent stress reduction = fewer days lost to exhaustion.

Stamina also defines max health:

max_health = max(100, Stamina × 10)

Boosted to ×1.5 if she has the Iron Constitution skill. So a worker with 50 Stamina and Iron Constitution has a 750 health pool.

Stamina is the gating stat for many "physical/endurance" daily events:

  • Festival Celebration (general)
  • Severe Storm (general)
  • Plumbing Disaster (general, base 30%)
  • Kitchen Fire (general, base 40%)
  • Mudslide (general)
  • Heat Wave (general, base 35%)
  • All-Night Gala (general)
  • Double Booking (general)
  • Sickly Patron (brothel, base 20%)
  • Endurance Challenge (brothel, dual-stat with ability)
  • Insatiable Merchant (brothel, dual-stat with ability)
  • Rough Customer (brothel, dual-stat with intelligence)
  • Midnight Summons (brothel, dual-stat with charisma)
  • Twin Special Request (brothel, dual-stat with dexterity)

Intelligence

Primary role: EXP doubler.

Each working day, after base EXP is calculated (= clients served), a roll of random(1-100) ≤ Intelligence succeeds → EXP × 2 that day. Higher Intelligence = faster leveling.

Intelligence also boosts Ballroom training EXP when a worker is being refined under Esperanza:

ballroom_exp = random(60, 100) + random(1, max(1, Intelligence))

Intelligence is the gating stat for "puzzle/problem-solving" daily events:

  • Merchant Request (general, base 25%)
  • Rat Infestation (general, base 25%)
  • Building Collapse (general, base 30%)
  • Counterfeit Scheme (general, base 25%)
  • Client's Riddle (general, base 20%)
  • Supply Shortage (general)
  • Wealthy Collector (general, dual with charisma)
  • Blackmail Letter (general)
  • Exotic Request (brothel, base 20%)
  • Demanding Duchess (brothel, dual with ability)
  • Secret Affair (brothel, dual with charisma)
  • Discreet Meeting (hotel, dual with charisma)
  • Rough Customer (brothel, dual with stamina)
  • Priest's Confession (brothel, dual with charisma)

Dexterity

Primary role: Performance/agility event gate.

Dexterity has no direct effect on daily income, EXP, or stress on its own — but it is actively rolled by 10+ daily events. A worker with 80+ Dexterity will dominate the establishment's "performance" event slate; a worker with 5 Dex will fail every one of these events.

Dexterity-driven events:

  • Rooftop Chase (general, base 20%) — Success: +25% income, +10 EXP, +1 fame
  • Acrobatic Show (brothel, base 15%) — Success: +15 EXP, +1 fame, ×1.5 reputation
  • Dance Competition (brothel, base 20%) — Success: ×2.0 reputation, +1 fame, +12 EXP
  • Oil Wrestling (brothel, base 20%) — Success: +60% income, +10 EXP, +1 fame
  • Twin Special Request (brothel, dual with stamina)
  • Voyeur's Gallery (brothel, dual with appearance)
  • Bachelorette Party (brothel, dual with charisma)
  • Twin Coordination (hotel, dual with stamina)
  • Private Performance (hotel, dual with appearance)
  • Wedding Party (hotel, dual with charisma)

Dexterity also feeds into the daily fame roll:

fame_chance = average(stamina, intelligence, dexterity, ability, appearance, charisma)

A 1–100 ≤ stat_average roll grants +1 fame that day. So Dex contributes 1/6 to daily fame growth.

How to raise Dexterity:

  • Acrobatics skill — +20 Dexterity for all checks
  • Special 1 training — +1 Dexterity per session
  • Time consumable gift — +1 Dexterity per gift
  • Special 2/3 training — +1 to two random primary stats (chance to hit Dex)
  • Pleasure Arts skill — +1 to a random primary stat per training session

Ability

Primary role: The income engine.

Ability is the single highest-impact stat for daily income. It drives two separate calculations:

1. Daily client count:

clients_today = random(max(1, Ability÷10 − 2), Ability÷10 + 2)
  • Ability 10 → 1–3 clients
  • Ability 50 → 3–7 clients
  • Ability 100 → 8–12 clients

2. Bonus pay chance:

bonus_chance = (Ability ÷ 2) + clients_today

A roll of 1–100 ≤ bonus_chance succeeds → daily pay × 2. This is the single largest income lever in the game. With 100 Ability and 8 clients, the bonus chance is 58 — every other day she'll roll a doubled paycheck.

Ability gates "skill-test" daily events:

  • Connoisseur's Test (brothel, base 20%) — Success: +100% income, ×1.5 reputation, +1 fame
  • Impossible Request (brothel, base 15%) — Success: +80% income, +20 EXP
  • Demanding Duchess (brothel, dual with intelligence)
  • Insatiable Merchant (brothel, dual with stamina)
  • Wedding Night Tutorial (brothel, dual with charisma)
  • Comparison Shopper (brothel, dual with charisma)
  • Anniversary Surprise (brothel, dual with charisma)
  • Endurance Challenge (brothel, dual with stamina)
  • Obsessed Regular (brothel, dual with appearance)
  • All Worker Request (brothel, dual with appearance)
  • Tireless Merchant (hotel, dual with stamina)

Appearance

Primary role: Half of the income range formula.

Workers earn variable income per client based on a paired Appearance/Charisma calculation:

base_min_income = min(Appearance, Charisma) ÷ 2
base_max_income = max(Appearance, Charisma) × 2
daily_pay = random(min_income, max_income)

Notice the use of min() and max() — Appearance and Charisma work as a pair. Stacking only one without the other keeps the income range narrow. Stacking both explodes the range upward.

Example:

  • Appearance 50, Charisma 10 → range $5–$100
  • Appearance 50, Charisma 50 → range $25–$100
  • Appearance 100, Charisma 100 → range $50–$200

Appearance gates "beauty/visual" daily events:

  • Portrait Commission (general, base 25%) — Success: +30% income, +2 fame
  • Beauty Pageant (general, base 20%) — Success: +50% income, ×2.0 reputation, +1 fame
  • Foreign Dignitary (general, base 25%) — Success: +125% income, ×1.5 reputation
  • Voyeur's Gallery (brothel, dual with dexterity)
  • Exotic Foreigner (brothel, dual with charisma)
  • Obsessed Regular (brothel, dual with ability)
  • All Worker Request (brothel, dual with ability)
  • Shy Noble's First (brothel, dual with charisma)
  • Private Performance (hotel, dual with dexterity)
  • Foreign Traveler (hotel, dual with charisma)

Charisma

Primary role: Other half of the income range formula AND drives Praise relationship gain.

Charisma pairs with Appearance for the income range (see above).

It also directly drives the Praise option in worker visits:

praise_relationship_gain = 2 + round(Charisma ÷ 5)
  • Charisma 10 → +4 relationship per Praise
  • Charisma 50 → +12 relationship per Praise
  • Charisma 100 → +22 relationship per Praise

Charisma gates "social/personality" daily events:

  • Royal Delegation (general, highest_stat) — Success: ×2.5 income, ×2.0 reputation
  • Traveling Bard (general)
  • Food Critic Visit (general, dual with intelligence)
  • Wealthy Collector (general, dual with intelligence)
  • Merchant Celebration (general)
  • Angry Mob (general)
  • Noble Client (brothel, base 20%)
  • Jealous Client (brothel, base 30%)
  • Rival Poacher (brothel, base 30%)
  • Grieving Noble (brothel, base 25%)
  • Shy Noble's First (brothel, dual with appearance)
  • Priest's Confession (brothel, dual with intelligence)
  • Secret Affair (brothel, dual with intelligence)
  • Anniversary Surprise (brothel, dual with ability)
  • Comparison Shopper (brothel, dual with ability)
  • Wedding Night Tutorial (brothel, dual with ability)
  • Bachelorette Party (brothel, dual with dexterity)
  • Midnight Summons (brothel, dual with stamina)
  • Exotic Foreigner (brothel, dual with appearance)
  • Discreet Meeting (hotel, dual with intelligence)
  • Wedding Party (hotel, dual with dexterity)

Fame (derived stat)

Primary role: Direct contribution to daily reputation gain.

Fame isn't trained directly — it grows passively. Each day, a roll of random(1-100) ≤ stat_average (average of all 6 primary stats) succeeds → +1 fame. Higher overall stats mean more frequent fame growth.

In the daily calculation, fame is added to the brothel's reputation gain pool:

total_reputation_gain += worker.fame  (for each working worker, every day)

So a worker with 50 fame contributes +50 to that day's reputation pool — every single day she works. Long-running workers accumulate massive fame over time.

Fame is also rewarded as a one-time bonus by many high-tier daily events: Connoisseur's Test, Beauty Pageant, Acrobatic Show, Royal Delegation, Portrait Commission, Dance Competition, Rooftop Chase, Oil Wrestling, Voyeur's Gallery, Foreign Dignitary, and many more.

How to Train Each Stat

Method What it Raises Notes
Worker Visit Training (Lvl 1, Kissing) +1 Charisma Per session
Worker Visit Training (Lvl 2, Oral) +1 Intelligence
Worker Visit Training (Lvl 3, Missionary) +1 Appearance
Worker Visit Training (Lvl 4, Cowgirl) +1 Stamina
Worker Visit Training (Lvl 5, Doggie) +1 Ability
Worker Visit Training (Lvl 6, Special 1) +1 Dexterity
Worker Visit Training (Lvl 7+8, Special 2/3) +1 to 2 random primary stats
Pleasure Arts (player skill) +1 random primary stat Per training session
Power gift +1 Stamina One-time per gift
Focus gift +1 Intelligence
Time gift +1 Dexterity
Desire gift +1 Ability
Cologne gift +1 Appearance
Luck gift +1 random primary stat
Antidote gift Full heal + clear stress Doesn't raise primaries
Shield gift +1 Loyalty Doesn't raise primaries

Strategic Stat Priorities

Highest income leverage:

  1. Ability — drives client count AND bonus pay chance (single biggest income lever)
  2. Appearance + Charisma together — defines income range (must stack both, not one)

Survival/uptime leverage: 3. Stamina — fewer rest days, larger health pool, gates many events 4. Intelligence — doubles EXP (compound growth), gates many events

Event coverage: 5. Dexterity — gates 10+ events, including some of the best reputation/fame rewards

Don't actively train Fame — it grows passively through stat-average rolls and high-tier events. Just stack the primaries and Fame will follow.


The Daily Calculation — Full Pipeline

When time advances and a brothel day is processed, the game runs through ~30 sequential steps for each working worker, plus brothel-wide bonuses. Here's the full order.

Pre-Worker Setup

  1. Initialize all worker bedroom levels (any new workers default to Level 1).
  2. Apply migration corrections to baseline stats if not already migrated.
  3. Read service-room states: bar, infirmary, security, kitchen, secret room, master bedroom, ballroom, VIP lounge.
  4. Determine apprentice counts for each room.
  5. Identify the Ballroom trainee (if any) — she's removed from the client roster for the day.
  6. Build the non-resting worker list (excludes resting + ballroom trainee).
  7. Process the Daily Event — pre-rolls success/failure and stores the modifiers (income multiplier, reputation multiplier, per-worker stress/exp/health/fame/loyalty changes).
  8. Roll Kitchen apprentice random clients (one extra random client per kitchen apprentice, distributed among working workers).
  9. Roll Promotion Level random clients (random(0, promotion_level) extra clients distributed similarly).

Per-Worker Calculation (each working worker)

For each active worker, in order:

  1. Loyalty decay catch-up — for visitable workers only. Walks day-by-day from her last calculation through today, rolling decay each missed day.
  2. Refuse-to-work check — if loyalty < 30 and refuse roll passes, she earns $0 and a flavor message fires. Skip to next worker.
  3. Read base stats — Ability, Appearance, Charisma, Stamina, plus any worker-item stat bonuses to Appearance and Charisma.
  4. Roll daily clients:
    clients = random(max(1, Ability÷10 − 2), Ability÷10 + 2)
    
  5. Apply room level bonuses to client count:
    • Level 2: +0 clients
    • Level 3: +1 client
    • Level 4: +2 clients
    • Level 5: +3 clients
  6. Apply Bar apprentice bonus — if she's a bar apprentice, +2 clients.
  7. Apply VIP Lounge bonus — if she's Vixen or a VIP apprentice, +1 client.
  8. Apply Kitchen apprentice bonus — if she was randomly selected, +1 client (or more if multiple apprentices).
  9. Apply Promotion Level bonus — if she was randomly selected, extra clients.
  10. Apply worker item client bonus — if any equipped item grants extra clients.
  11. Calculate base income range:
    base_min = min(Appearance, Charisma) ÷ 2
    base_max = max(Appearance, Charisma) × 2
    
  12. Apply cleanliness multipliers to income range (see Cleanliness Tiers below).
  13. Apply clothing level bonuses to income range:
    • L2: max ×1.20
    • L3: min ×1.10, max ×1.30
    • L4: min ×1.20, max ×1.40
    • L5: min ×1.30, max ×1.50
  14. Apply room level multiplier to max income:
    • L2: ×1.10
    • L3: ×1.25
    • L4: ×1.40
    • L5: ×1.60
  15. Roll daily pay within the final range: random(min_income, max_income).
  16. Bonus pay roll:
    bonus_chance = (Ability ÷ 2) + clients_today
    if random(1, 100) ≤ bonus_chance:
        daily_pay × 2
    
  17. Apply Daily Event modifiers (per-worker effects: stress, EXP, health, fame, loyalty changes; possibly worker-specific gold multiplier).
  18. Apply worker item income bonuses (% bonus, then flat bonus added).
  19. Calculate daily stress:
    • Base 10 (or 7 if Willow active in Nurse's Room)
    • Stamina roll: if random(1-100) ≤ Stamina, −2 stress
    • Excess client penalty: +1 stress per client above 2
    • Subtract Infirmary apprentice count (each apprentice = −1 stress)
    • Subtract worker item stress reduction
    • Floor at 0
    • Master Bedroom apprentices: stress set to 0 (immune)
  20. Apply stress to worker (capped 0–100).
  21. Calculate base EXP:
    • Base = clients_today
    • Intelligence roll: if random(1-100) ≤ Intelligence, EXP × 2
    • Add Secret Room apprentice count (each apprentice = +1 EXP)
    • Add worker item flat EXP bonus
    • Apply worker item EXP percentage bonus
    • Master Bedroom apprentices: EXP × 1.5
  22. Apply Daily Event EXP (added to total).
  23. Roll fame growth:
    stat_average = (Ability + Appearance + Charisma + Stamina + Intelligence + Dexterity) ÷ 6
    if random(1-100) ≤ stat_average: fame += 1
    
  24. Add clothing reputation bonus + room reputation bonus + worker item flat reputation to fame_gained for the day.
  25. High-loyalty bonus check — for visitable workers only, if loyalty > 80 and bonus roll passes:
    • Extra Clients: +1 or +2 clients (each rolls its own pay)
    • Income Boost: daily_pay × 1.25
    • Reputation Boost: +2 fame today
  26. Rest checks (after work):
    • If stress > 75: enter 2-day exhausted rest
    • Else if health ≤ 0: enter sick rest (4 days, or 3 if Willow active)
  27. VIP Lounge bonus (Vixen + apprentices): daily_pay × 2 (the bonus is tracked separately).
  28. Add to brothel-wide totals: total_daily_income += daily_pay, total_reputation_gain += worker.fame.
  29. Calculate worker mess:
    base_mess = clients_today
    mess_roll = random(1, 100)
    if mess_roll ≤ 10 + clients_today: mess × 2.0  (200%)
    elif mess_roll ≤ 20 + clients_today: mess × 1.5  (150%)
    elif mess_roll ≤ 30 + clients_today: mess × 1.25 (125%)
    else: mess × 1.0  (100%)
    
  30. VIP Lounge mess penalty (Vixen + apprentices): worker_mess × 2.

Brothel-Wide Bonuses (after all workers processed)

  1. Reputation income bonus: +5% per reputation level above 1 (so Godlike rep = +95%).
  2. Christmas Wreath bonus: +5% income if owned. The current calculation does not require the Christmas toggle to be active.
  3. Patreon Master bonus: +5% income if active.
  4. Elara's Office apprentice bonus: +5% income per apprentice.
  5. Bar bonus: +5% income for ownership + 1% per bar apprentice.
  6. Decor Level bonus: random(0, decor_level × 5)% income.

Tax & Upkeep

  1. 15% tax deducted from total income (after all bonuses).
  2. Daily upkeep subtracted:
    upkeep = $60 base
           + $20 × Master Bedroom level
           + $20 × (sum of all worker bedroom levels)
           + $20 × (sum of Bar, Maids' Quarters, Nurse's Room,
                    Security, Exterior, Dungeon levels)
    
  3. Net profit calculated: income − tax − upkeep. If negative, set to 0 (Elara's protection).
  4. Ballroom fee: if a ballroom trainee was assigned, deduct 15% of net profit as Esperanza's fee.

Cleanliness Calculation

  1. Total mess for cleanliness: sum of all worker mess values + bar mess (10 base + 1 per bar apprentice). Note: monster mess is NOT counted in this step — it gets added to the displayed total later but does NOT contribute to today's cleanliness drop.
  2. Apply maid item mess reduction: mess × (1 − reduction_percent / 100) − reduction_flat.
  3. Calculate maid cleaning power:
    base_cleaning = sum of each maid's level-based cleaning + items
    apprentice_cleaning = maids_quarters_apprentice_count × 10
    total_base = base + apprentice
    variance_min = 50 + variance_bonus
    variance_max = 150 + variance_bonus
    actual_cleaning = total_base × random(variance_min, variance_max) / 100
    
  4. Apply cleanliness change: new_cleanliness = clamp(0, 100, old + actual_cleaning − total_mess).
  5. Award maid EXP: each acquired maid gets actual_cleaning ÷ maid_count EXP (minimum 1).

Reputation Bonus Pipeline

  1. Apply maid item brothel wealth percent to total income (after all other multipliers).
  2. Apply cleanliness multiplier to reputation gain:
    • Revolting (0–4): ×0.0 (no reputation gained)
    • Filthy (5–14): ×0.25
    • Dirty (15–29): ×0.5
    • Messy (30–44): ×0.75
    • Acceptable (45–59): ×1.0
    • Clean (60–74): ×1.2
    • Very Clean (75–89): ×1.4
    • Spotless (90–100): ×1.6
  3. Apply Daily Event reputation override (if event blocks reputation, set to 0; else apply event multiplier).
  4. Promotion Level reputation bonus: random(0, promotion_level × 10)%.
  5. Decor Level reputation bonus: random(0, decor_level × 5)%.
  6. Christmas Wreath reputation bonus: +5% if owned; independent of the Christmas toggle.
  7. Patreon Master reputation bonus: +5% if active.
  8. Elara's Office apprentice reputation bonus: +5% per apprentice.
  9. Bar apprentice reputation bonus: +5% for ownership + 1% per apprentice.
  10. Maid item reputation bonus (from items with brothel_reputation_percent).
  11. Ballroom reputation bonus: +10% if a trainee is assigned.
  12. Add to brothel reputation points: brothel_reputation_points += adjusted_reputation_gain.
  13. Update reputation level based on new total points.

Final Income Adjustments

  1. Apply Daily Event income multiplier to the post-rep-bonus total.
  2. Add monster income to net profit (after tax/upkeep/ballroom fee).
  3. Add monster mess to total mess (already counted in cleanliness step).

Daily Report Display

  1. The report screen shows worker-by-worker breakdowns, all bonuses applied, the triggered event, and the final net profit ready to collect from Elara's Office.

Cleanliness Tiers (Income & Reputation Effects)

Cleanliness scales 0–100 and is divided into 8 tiers. Each tier applies the same multiplier to BOTH income bounds AND reputation gain.

Cleanliness Tier Min Income Max Income Reputation Multiplier
0–4 Revolting 0% (zero) 100% ×0.0 (no rep)
5–14 Filthy 25% 100% ×0.25
15–29 Dirty 50% 100% ×0.5
30–44 Messy 75% 100% ×0.75
45–59 Acceptable 100% 100% ×1.0
60–74 Clean 100% 120% ×1.2
75–89 Very Clean 100% 140% ×1.4
90–100 Spotless 100% 160% ×1.6

Spotless gives 60% more income on the high end and 60% more reputation gain every single day. Cleanliness is the highest-leverage system in the game.


Reputation Levels (20 tiers)

Reputation accumulates as points, then translates to a level. Each level above 1 grants +5% income that day.

Level Name Threshold Income Bonus
1 Disgusting 0 +0%
2 Revolting 500 +5%
3 Filthy 1,500 +10%
4 Dirty 4,000 +15%
5 Shabby 7,500 +20%
6 Poor 12,000 +25%
7 Mediocre 18,000 +30%
8 Acceptable 26,000 +35%
9 Decent 36,000 +40%
10 Good 50,000 +45%
11 Fine 70,000 +50%
12 Quality 95,000 +55%
13 Excellent 125,000 +60%
14 Superior 160,000 +65%
15 Premium 200,000 +70%
16 Luxurious 250,000 +75%
17 Exquisite 310,000 +80%
18 Royal 380,000 +85%
19 Kingly 460,000 +90%
20 Godlike 550,000 +95%

Mess Generation (Per Worker)

Every working worker produces mess based on her client count, with random multipliers:

  • Base mess = clients served that day
  • Mess roll: random(1, 100)
    • ≤ 10 + clients_today → ×2.0 (double mess) ← gets MORE likely with more clients
    • ≤ 20 + clients_today → ×1.5
    • ≤ 30 + clients_today → ×1.25
    • else → ×1.0

So a worker with 8 clients has a 18% chance of double mess, 28% chance of 1.5×, 38% chance of 1.25×, and only 16% chance of clean baseline. More clients = more mess variance, not just more raw mess.

VIP Lounge benefiting workers (Vixen + apprentices) double their final mess on top of all this.


Maid Cleaning System

Maid cleaning is calculated independently of the per-worker mess generation, then subtracted from total mess at end of day.

Per-Maid Base Cleaning by Level

Level Base Cleaning
1 10
2 15
3 20
4 25
5 30
6 (MAX) 40

Maid Total Cleaning Formula

For each acquired maid:
    her_cleaning = base_level_cleaning + flat_item_bonuses
    her_cleaning = her_cleaning × (1 + percent_item_bonuses / 100)
    total += her_cleaning

team_global_flat_bonus = sum of all_maids_cleaning_flat items
team_global_percent_bonus = sum of all_maids_cleaning_percent items
total = total × (1 + team_global_percent / 100) + team_global_flat

apprentice_cleaning = maids_quarters_apprentices × 10
total_base = total + apprentice_cleaning

variance_bonus = sum of cleaning_variance_bonus from items
variance_min = 50 + variance_bonus
variance_max = 150 + variance_bonus
final_cleaning = total_base × random(variance_min, variance_max) / 100

Daily Cleanliness Resolution

new_cleanliness = clamp(0, 100, old + final_cleaning − total_mess)

Once mess starts exceeding maid cleaning, your cleanliness drops daily until it tanks the income/reputation multipliers. Add maid items, raise maid levels, or add Maids' Quarters apprentices to keep ahead.


Daily Stress Math

Per worker, every working day:

daily_stress = 10  (or 7 if Willow active in Nurse's Room)
if random(1-100) ≤ Stamina:
    daily_stress -= 2
if clients_today > 2:
    daily_stress += (clients_today - 2)
daily_stress -= infirmary_apprentice_count   # 1 per apprentice
daily_stress -= worker_item_stress_reduction
daily_stress = max(0, daily_stress)

if worker is Master Bedroom apprentice:
    daily_stress = 0  (immune)

worker.stress = clamp(0, 100, worker.stress + daily_stress)

if worker.stress > 75: enter 2-day exhausted rest

Health & Sick Rest

Max health: max(100, Stamina × 10) → ×1.5 with Iron Constitution skill.

Health damage sources:

  • Failed daily events (e.g. Rough Customer = −12 health)
  • Training stress overflow (any stress above 100 is converted to 2× the overflow as health damage)

When health drops to 0:

  • Enter sick rest: 4 days (or 3 days if Willow is active)
  • During rest: $0 income, no clients, no EXP
  • On rest completion: stress → 0, health → max

Refuse-to-Work (Strike)

Only applies to visitable workers (the 16 with Visit Worker content; recruited-but-not-visitable workers like Raven/Foxy/Lindia/Whiskers can never strike).

Each working day, if:

  • loyalty < 30 AND
  • random(1-100) ≤ refuse_chance (per-worker stat)

She refuses work. Earns $0, no clients, no mess. A flavor message appears in the daily report.

Fix: raise loyalty above 30 via worker visits (gifts, praise, talk, training).


High-Loyalty Bonus

Only applies to visitable workers.

Each working day, if:

  • loyalty > 80 AND
  • random(1-100) ≤ bonus_chance (per-worker stat)

One of three random bonuses fires:

  • Extra Clients: +1 or +2 clients (each rolls its own pay)
  • Income Boost: daily_pay × 1.25
  • Reputation Boost: +2 fame today

Income Bonus Pipeline (Stacking Order)

The income calculation has many stacking percentage bonuses. They apply in this order:

  1. Base worker pay (after cleanliness, clothing, room multipliers, bonus pay roll)
    • Daily Event income multiplier (per-worker, if applicable)
    • Worker item income bonuses (per-worker)
  2. Total brothel income = sum of all worker pay
    • Reputation income bonus: +5% × (reputation_level − 1)
    • Christmas Wreath: +5% (if owned)
    • Patreon Master: +5% (if owned)
    • Elara's Office: +5% per apprentice (max +15%)
    • Bar: +5% ownership + 1% per apprentice (max +8%)
    • Decor Level: random 0 to (decor_level × 5)%
  3. Subtotal
  4. −15% tax
  5. − daily upkeep
  6. = net profit (clamped to ≥ $0 by Elara's protection)
  7. −15% ballroom fee (if ballroom trainee assigned, only on positive net profit)
  8. + monster income (added after upkeep/tax/ballroom)
  9. = final pending collection

Note on Maid item brothel-wealth bonus: This is calculated AFTER tax and upkeep have already been applied to the income figure used for net profit. As of current code, the maid wealth bonus inflates the displayed total income value but does NOT actually increase the player's net profit. This may be a bug — verify with the developer if it matters to your strategy.

Theoretical Maximum Daily Bonuses

If you stack everything (assuming Decor caps at level 10 — verify with developer):

  • Reputation bonus (Godlike): +95%
  • Christmas Wreath: +5%
  • Patreon Master: +5%
  • Office (3 apprentices): +15%
  • Bar (3 apprentices): +8%
  • Decor (level 10, max roll): up to +50%

Total stackable bonus before tax: +178% in best-roll conditions.


Daily Event Success Calculation

Every daily event has a success_condition block in brothel_daily_events.json that defines how its success chance is calculated. There are four condition types, each with its own formula. After the base chance is computed, modifiers are added, then the result is clamped to a 5–95% range and rolled.

Condition Types

1. average_stat — Average a single stat across all active workers.

total_stat = sum of (worker[stat] for each active worker)
avg_stat = total_stat / active_worker_count
success_chance = avg_stat + (bonus_per_worker × active_worker_count)

2. average_two_stats — Combined average of two stats across all active workers.

avg_stat1 = sum(worker[stat1]) / active_worker_count
avg_stat2 = sum(worker[stat2]) / active_worker_count
combined_avg = (avg_stat1 + avg_stat2) / 2
success_chance = combined_avg + (bonus_per_worker × active_worker_count)

3. highest_stat — Each worker's single best stat (any of the 6 primaries), then averaged.

for each worker:
    her_best = max(stamina, intelligence, dexterity, ability, appearance, charisma)
avg_highest = sum(each worker's best) / active_worker_count
success_chance = avg_highest + (bonus_per_worker × active_worker_count)

4. specific_worker — Uses the selected worker's stat plus a flat base chance.

success_chance = selected_worker[stat] + base_chance

Modifiers Applied After Base Calculation

After the condition-type formula, these adders apply in order:

  1. Security Room ownership: +8% (if Security room is built)
  2. Security apprentices: +5% per apprentice (max +15% with 3 apprentices) — total Security stack maxes at +23%
  3. Worker item event bonuses: sum of event_success_bonus from all equipped items across active workers

Final Clamp & Roll

success_chance = clamp(5, 95, success_chance)
roll = random(1, 100)
success = roll ≤ success_chance

The 5–95% clamp means no event is ever a guaranteed win or loss — even with stat averages of 0, you have a 5% chance to succeed; with maxed stats and full bonuses, you still have a 5% chance to fail.

Worked Examples

Example 1 — average_stat (Charisma, bonus_per_worker: 3, 5 active workers): Workers have Charisma values 30, 45, 22, 60, 38.

  • avg = (30+45+22+60+38) / 5 = 39
  • success = 39 + (3 × 5) = 54%
  • With Security + 2 apprentices: 54 + 8 + 10 = 72%
  • Clamp: 72%

Example 2 — specific_worker (Intelligence, base_chance: 25, selected worker has Int 18):

  • success = 18 + 25 = 43%
  • With Security + 3 apprentices: 43 + 8 + 15 = 66%
  • Clamp: 66%

Example 3 — highest_stat (4 active workers): Workers' best stats: 65, 40, 80, 25.

  • avg_highest = (65+40+80+25) / 4 = 52.5
  • success = 52.5 + (bonus × 4)

Strategic Implications

  • Security apprentices are powerful event boosters — going from 0 apprentices to 3 swings success on most events by +15%, often turning a 50/50 into a near-guaranteed win.
  • More active workers always helps for average_* and highest_stat events because bonus_per_worker × count scales linearly. Even low-stat workers contribute their per-worker bonus.
  • specific_worker events ignore worker count — only the selected worker's stat + the base chance matter (modified afterward by Security and items).
  • Worker items with event_success_bonus stack across the whole roster — equipping one on every worker can be substantial.

Worker Stat Caps

All worker primary stats (Stamina, Intelligence, Dexterity, Ability, Appearance, Charisma) and consumable inventory counts are capped at 999. The cap is enforced in:

  • brothel_training_system.rpy — gift consumables clamp via min(999, current + 1)
  • Player consumable inventory — same 999 cap on item counts

Stats can never exceed 999 from any source — gifts, training, skills, items, or events. In practice the design balance assumes stats in the 1–100 range, so the 999 cap is mostly a safety net rather than a target. Skills like Acrobatics (+20 Dex/Ability for checks) and Iron Constitution (×1.5 max health) apply on top of the raw stat without affecting the stored value.

Loyalty and Stress are capped at 100. Health is capped at the worker's calculated max (Stamina × 10, ×1.5 with Iron Constitution).


Reputation Bonus Pipeline (Stacking Order)

  1. Base reputation gain = sum of working workers' fame
  2. × Cleanliness multiplier (×0.0 to ×1.6)
  3. × Daily Event reputation multiplier (or override to 0)
    • Promotion Level: random 0 to (promotion_level × 10)%
    • Decor Level: random 0 to (decor_level × 5)%
    • Christmas Wreath: +5%
    • Patreon Master: +5%
    • Elara's Office: +5% per apprentice
    • Bar: +5% ownership + 1% per apprentice
    • Maid item reputation percent
    • Ballroom: +10% if trainee assigned
  4. = final reputation gain added to brothel total

Specialty Room Apprentice Effects (Quick Reference)

Room Master Per-Apprentice Effect
Master Bedroom Player +50% EXP, immune to all stress
Elara's Office Elara +5% income, +5% reputation
Maids' Quarters Maids +10 cleaning
Nurse's Room Willow −1 daily stress for ALL workers
Security Valkyra +5% daily event success chance
Bar Sherry/Brandy +1% income, +1% rep, +1 mess; apprentice gets +2 clients
Kitchen Poppy −10 min Room Service, +10 each stat, +1 random client
Secret Room Azariel +1 daily EXP for ALL workers
VIP Lounge Vixen Each VIP worker (Vixen + apprentices): 2× pay, +1 client, 2× mess
Ballroom Esperanza 1 slot only — trainee gets 60–100+ EXP, brothel gets +10% rep, Esperanza takes 15% of net profit
Dungeon Raven Effect coming in a future update
Arcane Room Blinky Effect coming in a future update

Bedroom Level Effects (Per Worker)

Room Level Max Income Reputation per Worker Extra Clients
1 baseline +0 +0
2 ×1.10 +1 +0
3 ×1.25 +3 +1
4 ×1.40 +5 +2
5 ×1.60 +7 +3

Compounding effect: extra clients also raise the bonus-pay chance (Ability/2 + clients_today), so a Level 5 bedroom raises max pay AND raises the chance of pay being doubled.


Clothing Level Effects (Per Worker)

Clothing Level Min Income Max Income Reputation Bonus
1 baseline baseline +0
2 ×1.20 +1
3 ×1.10 ×1.30 +2
4 ×1.20 ×1.40 +3
5 ×1.30 ×1.50 +4

House Upgrade Levels

Promotion Level (starts at 1):

  • Adds random(0, level) extra clients daily, distributed among workers
  • Adds random(0, level × 10)% reputation bonus

Decor Level (starts at 0):

  • Adds random(0, level × 5)% income
  • Adds random(0, level × 5)% reputation
  • Rolled independently each day

Connections Level (starts at 0):

  • Defined in code, mechanical effect not yet implemented

A Worked Example — Daily Income for One Worker

Setup: Sandra (Worker #4)

  • Stats: Stamina 18, Intelligence 22, Dexterity 20, Ability 12, Appearance 30, Charisma 35
  • Bedroom: Level 3
  • Clothing: Level 2
  • Brothel: Cleanliness 80 (Very Clean), Reputation Level 8 (Acceptable)
  • Office has 2 apprentices, Decor Level 5

Step 1 — Clients: random(1, max(1, 12÷10 − 2), 12÷10 + 2) = random(1, 3) → say she rolls 3. Step 2 — Room L3 bonus: +1 client → 4 clients.

Step 3 — Income range:

  • min = min(30, 35) ÷ 2 = 15
  • max = max(30, 35) × 2 = 70
  • Cleanliness Very Clean: max ×1.4 → 98
  • Clothing L2: max ×1.2 → 117
  • Room L3: max ×1.25 → 146
  • Final range: $15–$146

Step 4 — Roll daily pay: say random(15, 146) = $82.

Step 5 — Bonus pay roll: bonus_chance = 12÷2 + 4 = 10. random(1, 100) = 67 — fails. Pay stays at $82.

Step 6 — Brothel-wide bonuses applied to total (assuming her $82 is the only worker income for clarity):

  • Reputation +35% (level 8): $82 × 1.35 = $110.70
  • Office +10% (2 apprentices): × 1.10 = $121.77
  • Decor: random(0, 5×5) = say 12% bonus: × 1.12 = $136.38
  • After 15% tax: $115.92
  • After upkeep ($60 base + $20×1 master bedroom + $20×3 Sandra's bedroom = $140): net = $0 (Elara saves it)

In this case, this single worker isn't profitable. Adding 3+ more workers brings the totals well above the upkeep threshold.


Summary: What to Optimize First

If you have limited training opportunities, this is the optimal order to invest:

  1. Cleanliness first — keep it above 60 always, ideally 90+ (Spotless = 60% income/rep multiplier)
  2. Ability on every worker — biggest income lever
  3. Appearance + Charisma together — paired stats, must stack both
  4. Reputation — every level adds +5% income; the Patreon Master and Christmas Wreath bonuses also benefit
  5. Stamina — keeps workers off rest days
  6. Intelligence — doubles EXP for compound stat growth
  7. Dexterity — at least one or two workers should have it for event coverage
  8. Office apprentices ×3 — +15% income/rep, no downside
  9. Maids' levels — keep cleaning ahead of mess
  10. Bedroom upgrades to Level 3+ for active workers — better income, more clients, higher bonus pay chance

This document is a snapshot of the brothel's systems as of the current game version. Numbers may change in future updates as the systems are refined and balanced. For strategic guidance on running the brothel day-to-day, see brothel.md.

Community discoveries

These official guides track the current game. The player-maintained wiki may contain additional strategies and discoveries.

Visit Player Wiki →