Location
Inkwell Tattoo Studio
Jade runs the chair. Seven permanent tattoo options with stat effects, three rapport-building chats, and a deadname conversation if you're paying attention.
Quick facts
- Address
- Off the [[loc:red-light|Red Light]] strip in [[loc:downtown|Downtown]]
- Discovery
- tattoo_discovered (StreetWander, Day 7+)
- Artist
- [[char:jade|Jade]] (jade_rapport 1-5)
- Hotspots
- Browse, Jade chat (rapport-gated), Leave
- Shop overlay
- shop_tattoo (7 designs)
- Permanent flags
- has_tattoo_star, _abstract, _rose, _butterfly, _heart, _tribal, _wolf
TL;DR
A small studio called Inkwell at the edge of the Red Light District, accessible from either Downtown or Red Light once tattoo_discovered = true. Discovery fires automatically via the Day-7+ neighbourhood street wander, no purchase or stat gate. Seven tattoo designs at $40-100 each, all permanent, each setting its own has_tattoo_X flag with a downstream effect (allure bonus, energy bonus, shame reduction, fem swing). Jade is the artist and the only NPC, with a 5-stage rapport that opens deeper conversations as you return.
Discovery
StreetWander_TattooDiscovery is the only path that sets tattoo_discovered = true. The trigger is the dedicated “Walk around” choice in the Neighbourhood, at Day 7+, with the discovery happening as a fallback after the encounter shuffle. A pink risograph flyer on a lamppost names “Jade. Walk-ins welcome on slow nights.”
The flag persists for the run. Once set, the Tattoo Studio tile appears on both the Downtown and Red Light maps.
The seven tattoos
TattooMenu is #ui:shop_tattoo. Each session uses do_action(15-20, 1) and is a single visit:
The 7 tattoo options and their permanent effects.
| Design | Price | Energy | Time | Stat hit | Permanent effect |
|---|---|---|---|---|---|
| Star (inner wrist) | $40 | 15 | 1 | None | +5 Energy bonus overnight |
| Abstract (forearm) | $80 | 15 | 1 | None | +1 Shame reduction overnight |
| Rose vine (ankle) | $60 | 15 | 1 | +2 Fem | +1 Allure bonus (streaming tips) |
| Butterfly (lower back) | $80 | 20 | 1 | +3 Fem, +3 Shame | +2 Allure bonus |
| Heart (hip) | $100 | 20 | 1 | +3 Fem, +2 Sub | +2 Allure bonus |
| Tribal band (upper arm) | $70 | 15 | 1 | -2 Fem (floor 0) | +1 Shame reduction overnight |
| Wolf (shoulder blade) | $100 | 20 | 1 | -3 Fem (floor 0) | +5 Energy bonus, +1 Shame reduction overnight |
The Rose, Butterfly, and Heart route into Tattoo_Done_Feminine. Tribal and Wolf route into Tattoo_Done_Masculine. Star and Abstract route into Tattoo_Done_Neutral. The post-session beat is the only narrative differentiator.
Three helper functions in Globals expose the cumulative effects:
count_tattoos(): sum of allhas_tattoo_Xflags (NPC reaction hooks).tattoo_allure_bonus(): rose +1, butterfly +2, heart +2.tattoo_energy_bonus(): star +5, wolf +5.tattoo_shame_reduction(): abstract +1, tribal +1, wolf +1.
The shame reduction stacks with the overnight shame-decay math in overnight_processing.
Jade
Jade is non-binary, undercut, sleeve tattoos, septum ring. Their #char:jade portrait is used in every chat scene. Rapport progression:
jade_rapport |
Trigger | Knot |
|---|---|---|
| 1 | First entry | TattooEntry first-visit beat |
| 2 | Second visit (auto-increment) | JadeChat_2 unlocks |
| 3 | After first chat | JadeChat_3 unlocks |
| 4 | After second chat | JadeChat_4 unlocks |
| 5 | After third chat | Capped, no further dialogue |
The “Talk to Jade” hotspot only appears when jade_rapport >= 2 && jade_visits > jade_rapport (you’ve returned at least once since the last chat). 3 Energy, 0 TimeSlot per chat.
The 3 conversation beats.
- JadeChat_2 (cleaning needles): “Nobody comes in here by accident. Everyone who sits in that chair made a choice.”
- JadeChat_3 (deadname reveal): Jade rolls up their sleeve to show a crossed-out name with a phoenix tattoo. Fem 30+ adds “you look like someone in the middle of becoming.”
- JadeChat_4 (closing time, two beers): “Are you happy with who you’re becoming?” Three reply branches:
- “I don’t know yet” -> “Figuring it out IS the answer.”
- “Yeah. I think I am.” -> +1 Fem, “hold onto that.”
- “I’m trying to stay me” (Fem < 30 only): -2 Fem (clamped at 0), “respect. Staying yourself when everything’s pushing you somewhere else takes more guts than any tattoo.”
Jade is the only NPC in the game whose dialogue actively respects a masculine-route player (the “stay me” branch). They don’t push, don’t gate, don’t escalate. The relationship caps at rapport 5 with no romantic / sexual beats.
Tips and gotchas
Tattoos are permanent, with no removal path
Every tattoo flag has_tattoo_X = true is set-once. There’s no removal scene, no “covered up” beat. The Wolf and Tribal are the masculine-coded options; the Rose, Butterfly, and Heart are feminine-coded. Plan the stack you want before walking in. The count_tattoos() helper feeds NPC reaction logic downstream (some scenes notice).
Allure tattoos pay rent through streaming
Rose, Butterfly, and Heart all bump tattoo_allure_bonus() by 1-2 each. Allure is one of the two equipment-only stats (Comfort is the other) that feed into streaming tip math via get_allure(). Getting all three is +5 permanent Allure on top of whatever you’re wearing. The bra-vendor in the Mall and the lingerie shop in the Salon are the other two big Allure feeders.
The masculine tattoos floor at Femininity 0
Tribal -2 and Wolf -3 both include the floor clamp inline ({ Femininity < 0: ~ Femininity = 0 }). Stacking both at Fem 4 lands you at 0, not -1. The clamp matters because the JS-side observer block window during _processStoryContent would let a negative bypass through to the save state otherwise. See .claude/rules/save-state-drift.md.
Jade gates the deeper chats on visits, not stat thresholds
Unlike most NPCs (Vivienne, Hana, the Master) who gate dialogue on stats or relationship progression, Jade only checks “have you been back since the last chat.” Walk in once, do a tattoo, leave, come back, talk, leave, come back, talk. Five visits gets you the deadname conversation. No Fem, Sub, or Day gates.
Related
- Jade, the artist and the only NPC here.
- Downtown and Red Light District, the two parent hubs that route here.
- Outside (Neighbourhood) for the one-shot Street Wander discovery.
Comments
Patreon supporters can post. Public can read. Posts show under an anonymous handle (e.g. Quiet Owl 423) derived from your account, your real Patreon name stays hidden.