03_custom_girl.tw2 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664
  1. ::custom girl <4671,6822>
  2. <<set
  3. _breast_sizes = {
  4. 'D': 'just big enough to get me into the tournament',
  5. 'DD': 'as big as mine are now',
  6. 'E': 'a little bigger than they are now',
  7. 'EE': 'as big as possible',
  8. }
  9. >>\
  10. "Make the breasts <<cyclinglinkd "$breast_size" _breast_sizes>>."
  11. "Give me a <<cyclinglink "$butt_size" "flat" "small" "round" "bubble">> butt."
  12. "I want <<cyclinglink "$skin_tone" "black" "dark brown" "brown" "olive" "tan" "fair" "pale">> skin, <<cyclinglink "$hair_color" "black" "brown" "blonde" "platinum blonde" "red" "bright pink">> hair, and <<cyclinglink "$eye_color" "brown" "blue" "green">> eyes."
  13. "Also, give me <<cyclinglink "$facial_feature" "duck lips" "freckles" "squinty eyes" "a button nose">>, please."
  14. [['"Did you get all that?"'->custom girl 2]]
  15. [[DEBUG->custom girl 5]]
  16. ::custom girl 2 <4668,6978>
  17. "Of course I got all that," Sally says, tapping her notepad with her pencil which you hadn't noticed her pull out of her purse.
  18. <<include [[custom girl 2.5]]>>
  19. ::custom girl 3 <4665,7250>
  20. <<if $keep_genitals>>\
  21. "Of course I remembered, but I've been thinking, I could make you a second set of bottoms for use after the tournament is over."
  22. <<else>>\
  23. <<switch $new_genitals>>\
  24. <<case "vagina">>\
  25. "Good choice. I like my vagina, but why don't I give you a second set of bottoms for use after the tournament?"
  26. <<set $genitals1 = "vagina" >>\
  27. <<case "girlcock">>\
  28. "Sure. We need to keep you limp for the duration of the tournament, but I suppose I could give you second set of bottoms that let you get hard."
  29. <<case "kendoll">>\
  30. "Maybe that's for the best during the tournament, but I could make you a second set for afterwards. Would you like that?"
  31. <<case "normal_penis" "massive_dong">>\
  32. "We can't have a your bulge showing during the tournament, but I could give you a second set of bottoms for later."
  33. <<case "futanari">>\
  34. "Hrm. That's tricky magic. I couldn't do it in time for the tournament, but I could make you a second set afterwards?"
  35. <<default>>\
  36. \#ERROR\#
  37. <</if>>\
  38. <<if $keep_the_bikini == 'new' >>\
  39. <<choice [['"I\'d get to keep both sets of bottoms right?"'->both sets]]>>
  40. <</if>>\
  41. <<include [[genital chooser]]>>
  42. ::both sets <4814,7307>
  43. "Of course, but you'll only be able to use the first one during the tournament. I don't have time //right// now to make pair."
  44. <<include [[genital chooser]]>>
  45. ::genital chooser <4666,7379>
  46. <set
  47. _genitals_1_opts = {
  48. vagina: 'a pussy',
  49. girlcock: 'a small, flaccid cock',
  50. kendoll: 'nothing at all'
  51. }
  52. _genitals_2_opts = {
  53. normal_penis: 'my normal cock',
  54. massive_dong: 'a massive dong for the',
  55. futanari: 'both a dick and a pussy for the',
  56. none: 'I don\'t need a'
  57. }
  58. >>\
  59. "Give me <<cyclinglinkd "$genitals1" _genitals_1_opts>> between my legs for the first pair."
  60. "And, <<cyclinglinkd "$genitals2" _genitals_2_opts>> second pair."
  61. [[Tell Sally what you want.->custom girl 4]]
  62. ::custom girl 4 <4670,7508>
  63. "What about pubic hair?"
  64. <<inlude [[pubic hair options]]>>
  65. ::custom girl 5 <4395,7629>
  66. <<nobr>>
  67. <<set _hotness = 0;
  68. _bimbo = ($facial_feature == 'duck lips') ? 1 : 0;
  69. _breast_sizes = {
  70. 'D': 'just big enough to get you into the tournament',
  71. 'DD': 'as big as they are now',
  72. 'E': 'a little bigger than they are now',
  73. 'EE': 'as big as possible'
  74. }
  75. >>
  76. <<switch $breast_size>>
  77. <<case "D" "DD">>
  78. <<set _hotness += 1>>
  79. <<case "E">>
  80. <<set _hotness += 2 >>
  81. <<case "EE">>
  82. <<set _hotness += 4;
  83. _bimbo += 1>>
  84. <<default>>
  85. \#\#ERROR\#\# invalid breast_size $breast_size
  86. <</switch>>
  87. <<switch $butt_size>>
  88. <<case "flat">>
  89. <<set _hotness -= 1>>
  90. <<case "small">>
  91. <<set _hotness += 0>>
  92. <<case "round">>
  93. <<set _hotness += 1>>
  94. <<case "bubble">>
  95. <<set _hotness += 2; _bimbo += 1>>
  96. <<default>>
  97. \#\#ERROR\#\# invalid butt_size $butt_size
  98. <</switch>>
  99. <<set
  100. _girl = [];
  101. _unmentioned = ['skin', 'hair', 'eyes', 'face', 'butt']; >>
  102. <<if _hotness >= 5>>
  103. <<set _girl.push("smokin' hot")>>
  104. <<elseif _hotness >= 4>>
  105. <<set _girl.push('hot')>>
  106. <<else>>
  107. <<set _girl.push('cute')>>
  108. <</if>>
  109. <<if $skin_tone == 'black' && $facial_feature != 'squinty eyes'>>
  110. <<set
  111. _girl.push('black');
  112. _unmentioned.delete('skin')>>
  113. <</if>>
  114. <<if _bimbo >= 3>>
  115. <<if $hair_color == 'blonde'>>
  116. <<set
  117. _girl.push('blonde');
  118. _unmentioned.delete('hair') >>
  119. <</if>>
  120. <<if $facial_feature == 'squinty eyes'>>
  121. <<set
  122. _girl.push('asian');
  123. _unmentioned.delete('face') >>
  124. <</if>>
  125. <<set _girl.push('bimbo')>>
  126. <<elseif $hair_color == 'blonde'>>
  127. <<set _girl.push('blonde')>>
  128. <<if $facial_feature == 'squinty eyes' >>
  129. <<set _girl.push('asian');
  130. _unmentioned.delete('face') >>
  131. <</if>>
  132. <<set _unmentioned.delete('hair') >>
  133. <<elseif $hair_color == 'brown' || $hair_color == 'red'>>
  134. <<if $facial_feature == 'squinty eyes' >>
  135. <<set _girl.push('asian');
  136. _unmentioned.delete('face') >>
  137. <</if>>
  138. <<if $hair_color == 'red'>>
  139. <<if $facial_feature == 'freckles'>>
  140. <<set
  141. _girl.push('ginger');
  142. _unmentioned.delete('face');
  143. _unmentioned.delete('hair');
  144. >>
  145. <<else>>
  146. <<set
  147. _girl.push('redhead');
  148. _unmentioned.delete('hair');
  149. >>
  150. <</if>>
  151. <<elseif $hair_color == 'brown'>>
  152. <<set
  153. _girl.push('brunette');
  154. _unmentioned.delete('hair');
  155. >>
  156. <<else>>
  157. \#\#ERROR\#\# invalid hair_color $hair_color (must be red or brown in this block)
  158. <</if>>
  159. <<set _unmentioned.delete('hair') >>
  160. <<elseif $facial_feature == 'squinty eyes'>>
  161. <<set
  162. _girl.push('asian');
  163. _unmentioned.delete('face'); >>
  164. <<else>>
  165. <<set _girl.push('girl')>>
  166. <</if>>
  167. <<set _features = [] >>
  168. <<if _unmentioned.includes('skin')>>
  169. <<if $skin_tone == 'black'>>
  170. <<set _features.push('dark skin')>>
  171. <<else>>
  172. <<set _features.push($skin_tone + ' skin')>>
  173. <</if>>
  174. <</if>>
  175. <<if _unmentioned.includes('hair')>>
  176. <<set _features.push($hair_color + ' hair')>>
  177. <</if>>
  178. <<if _unmentioned.includes('eyes')>>
  179. <<set _features.push($eye_color + ' eyes')>>
  180. <</if>>
  181. <<if _unmentioned.includes('face')>>
  182. <<set _features.push($facial_feature)>>
  183. <</if>>
  184. <<if _features.length == 0>>
  185. <<elseif _features.length == 1>>
  186. <<set _girl.push('with ' + _features[0]) >>
  187. <<elseif _features.length == 2>>
  188. <<set _girl.push('with ' + _features[0] + ' and ' + _features[1])>>
  189. <<else>>
  190. <<set _girl.push('with') >>
  191. <<set _girl.push(
  192. _features.slice(0, -1).join(', ')
  193. + ', and ' +
  194. _features.slice(-1)[0]
  195. )>>
  196. <</if>>
  197. <</nobr>>\
  198. <<switch $heather_bikini_options>>
  199. <<case 'heather_sister'>>
  200. "You want to look like Heather's long lost sister," Sally states.
  201. <<case 'kinda_like_heather'>>
  202. "You kinda want to look like Heather," Sally states.
  203. <<case 'custom'>>\
  204. "On top, you wanna be a <<=_girl.join(' ')>>, and you want your boobs to be <<= _breast_sizes[$breast_size]>>."
  205. <<default>>\
  206. \#\#ERROR\#\# - invalid $$heather_bikini_options $heather_bikini_options
  207. <</switch>>\
  208. <<set
  209. _genitals_1_opts = {
  210. vagina: 'a vagina',
  211. girlcock: 'a small, flaccid cock',
  212. kendoll: 'nothing at all, like a Ken Doll'
  213. };
  214. _genitals_2_opts = {
  215. normal_penis: 'a normal cock',
  216. massive_dong: 'a massive dong',
  217. futanari: 'penis and vagina',
  218. none: 'no second set of bottoms'
  219. };
  220. _pubic_hair_opts = {
  221. heart: 'heart-shaped',
  222. bolt: 'lighting bolt shaped',
  223. strip: 'landing strip',
  224. muff: 'muff',
  225. natural: 'natural',
  226. none: 'no'
  227. };
  228. >>\
  229. "On bottom, you want a $butt_size butt in back, and <<=_genitals_1_opts[$genitals1]>> with <<=_pubic_hair_opts[$pubic_hair]>> pubic hair in front."
  230. <<if $genitals2 == 'none'>>\
  231. "You don't want a second bikini bottom."
  232. <<else>>\
  233. "For your second bikini, which is only for non-tournament use, you want the same deal but with a <<=_genitals_2_opts[$genitals2]>> instead."
  234. <</if>>\
  235. "I've got it all written down in my notes," Sally describes.
  236. [['"May I see your notes?" (refine/edit"'->custom notes]]
  237. [['"That sounds great!"'->accept custom girl]]
  238. ::carpet matches drapes <4932,7639>
  239. <<if $hair_color == 'bright pink'>>\
  240. "Even if the drapes are bright pink?"
  241. [['"Yeah!"'->pubic hair shape]]
  242. <<else>>\
  243. <<include [[pubic hair shape]]>>
  244. <</if>>\
  245. ::pubic hair shape <4672,7994>
  246. "So what kind of shape do you want it in?"
  247. [['"Heart shaped."'->custom girl 5][$pubic_hair = 'heart']]
  248. [['"Lightning bolt shaped."'->custom girl 5][$pubic_hair = 'bolt']]
  249. [['"A little landing strip."'->custom girl 5][$pubic_hair = 'strip']]
  250. [['"A massive muff."'->custom girl 5][$pubic_hair = 'muff']]
  251. [['"Just let it grow naturally."'->custom girl 5][$pubic_hair = 'natural']]
  252. ::custom notes [nobr] <4165,7624>
  253. <<set
  254. _genitals_1_opts = {
  255. vagina: 'a vagina',
  256. girlcock: 'a small, flaccid cock',
  257. kendoll: 'nothing at all'
  258. };
  259. _genitals_2_opts = {
  260. normal_penis: 'a normal cock',
  261. massive_dong: 'a massive dong',
  262. futanari: 'penis and vagina',
  263. none: 'no second set of bottoms'
  264. };
  265. _pubic_hair_opts = {
  266. heart: 'heart-shaped',
  267. bolt: 'lighting bolt shaped',
  268. strip: 'landing strip',
  269. muff: 'muff',
  270. natural: 'natural',
  271. none: 'none'
  272. };
  273. >>
  274. <div class="notepad">
  275. <div class="lines" style="height: 606px"></div>
  276. <h4>Bikini for $girl_name</h4>
  277. <ul class="list">
  278. <li>Cup Size: <<cyclinglink "$breast_size" D DD E EE>></li>
  279. <li>Butt Size: <<cyclinglink "$butt_size" "flat" "small" "round" "bubble">></li>
  280. <li>Skin Tone: <<cyclinglink "$skin_tone" "black" "dark brown" "brown" "olive" "tan" "fair" "pale">></li>
  281. <li>Hair Color: <<cyclinglink "$hair_color" "black" "brown" "blonde" "platinum blonde" "red" "bright pink">></li>
  282. <li>Eye Color: <<cyclinglink "$eye_color" "brown" "blue" "green">></li>
  283. <li>Facial Feature: <<cyclinglink "$facial_feature" "duck lips" "freckles" "squinty eyes" "a button nose">></li>
  284. <li>Genitals #1: <<cyclinglinkd "$genitals1" _genitals_1_opts>></li>
  285. <li>Genitals #2: <<cyclinglinkd "$genitals2" _genitals_2_opts>></li>
  286. <li>Pubic Hair: <<cyclinglinkd "$pubic_hair" _pubic_hair_opts>></li>
  287. </ul>
  288. </div>
  289. <br><br>
  290. <a id="hand-back-link" data-passage="custom girl 5">Hand back notes, "That looks good."</a>
  291. <<script>>
  292. var _old_vars = JSON.parse(JSON.stringify(variables()));
  293. function on_cyclinkLink_click(){
  294. if(passage() != 'custom notes'){
  295. throw 'passage is not custom notes!';
  296. }
  297. if (myutils.isEqual(variables(), _old_vars)){
  298. $('#hand-back-link').text('Hand back notes, "That looks good."');
  299. } else {
  300. window.v1 = variables();
  301. window.v2 = _old_vars;
  302. $('#hand-back-link').text('Hand back notes, "I\'ve made some changes."');
  303. }
  304. }
  305. $(document).on('click', '.cyclingLink', on_cyclinkLink_click);
  306. prehistory["custom notes"] = function (taskName) {
  307. delete prehistory["custom notes"];
  308. $(document).off('click', '.cyclingLink', on_cyclinkLink_click);
  309. };
  310. <</script>>
  311. ::custom girl start <4204,6740>
  312. "What! They have shoes on sale!" Nat exlaims.
  313. "Let's go try on shoes!" Jess replies.
  314. "That's okay, I need to talk with $girl_name about something," Sally says.
  315. Jess replies, "Alright we'll meet up with you at the coffee shop."
  316. Nat and Sally head off to the shoe store.
  317. [['"So what did you want to talk about?"'->custom girl 0]]
  318. ::custom girl 0 <4206,6912>
  319. "Earlier, you said you wanted a custom bikini enchantment. How do you want it to look!"
  320. [['"I want to look like Heather."'->clone heather]]
  321. [['"Guess what kind of girl I\'d like to be." (randomize"'->random girl][$tournament_bikini = 'custom_bikini'; $heather_bikini_options = 'custom']]
  322. [['"I\'ll tell you exactly what I want to look like."'->custom girl][$tournament_bikini = 'custom_bikini'; $heather_bikini_options = 'custom']]
  323. ::clone heather <4210,7079>
  324. <<set
  325. _use_heather_bik_opts = {
  326. heather: "I'd like to wear the Heather bikini I'm currently wearing during the tournament and get a second bikini to keep.",
  327. custom: "I'd rather wear a custom bikini during the tournament."
  328. };
  329. _custom_bik_opts = {
  330. "heather_sister": "Yeah! Make my custom bikini make me look like Heather's sister!",
  331. "kinda_like_heather": "Just make the custom bikini make me kinda look like Heather.",
  332. "custom_bikini": "I'd like a fully custom bikini."
  333. }
  334. >>\
  335. "You can wear the Heather bikini for the tournament, but I can't let you keep it. I could enchant your bikini so you looked like her long lost sister though."
  336. "<<cyclinglinkd "$tournament_bikini" _use_heather_bik_opts>>"
  337. "<<cyclinglinkd "$heather_bikini_options" _custom_bik_opts>>"
  338. [[Continue.->clone heather 2]]
  339. ::random girl <4056,7077>
  340. <<set
  341. $breast_size = Array.random(['D', 'DD', 'E', 'EE'])
  342. $butt_size = Array.random(["flat", "small", "round", "bubble"])
  343. $skin_tone = Array.random(["black", "dark brown", "brown", "olive", "tan", "fair", "pale"])
  344. $hair_color = Array.random(["black", "brown", "blonde", "platinum blonde", "red", "bright pink"])
  345. $eye_color = Array.random(["brown", "blue", "green"])
  346. $facial_feature = Array.random(["duck lips", "freckles", "squinty eyes", "a button nose"])
  347. $genitals1 = Array.random(['vagina', 'girlcock', 'kendoll']);
  348. $genitals2 = Array.random(['normal_penis', 'massive_dong','futanari', 'none'])
  349. $pubic_hair = Array.random(['heart', 'bolt', 'muff', 'natural', 'none'])
  350. >>\
  351. \
  352. "Hrm. let me think..." You can see the the look of intense thought on Sally's forehead.
  353. <<include [[custom girl 5]]>>
  354. [['"I don\'t like that, can you guess again?" (re-randomize"'->random girl]]
  355. ::get a girl name <4494,5333>
  356. You walk out of your room, boobs jiggling.
  357. "Oh you look great! What are we going to call you?" Sally asks.
  358. "Yeah we can't call you by your name while you're a girl," Jess adds.
  359. [['"Why not Heather?"'->call me a name that's in-use][$girl_name = 'Heather']]
  360. [['"What do you want to call me?"'->girls decide name]]
  361. [['"I have an idea."'->custom name][$girl_name = $girl_names.pluck()]]
  362. ::call me a name that's in-use <4261,5483>
  363. "We can't call you '$girl_name' that would be confusing!" Jess retorts.
  364. Natalie says, "Yeah think up a better name."
  365. "Pick a different name," Sally suggests.
  366. <<include [[custom name]]>>
  367. ::custom name <4495,5469>
  368. <<set
  369. _rand_girl_name = $girl_names.pluck()
  370. >>
  371. "I want to be called <<textbox "$girl_name" _rand_girl_name>>."
  372. [[Speak->custom name 2]]
  373. <<if $girl_names.length >= 2 >>\
  374. [[Think of a new name->custom name]]
  375. <<else>>
  376. You're out of ideas, thinking longer won't help.
  377. <</if>>
  378. ::girls decide name <4647,5475>
  379. Sally says, "I've always liked the name Kathryn."
  380. Jess mocks Sally, "You've always liked strong women, haven't you Sally? Like Captain Kathryn Janeway from Star Trek: Voyager?"
  381. Sally puts her hands up, "Guilty, I would do whatever Janeway said."
  382. The girls laugh.
  383. Jess continues, "Anyway, I always wanted a sister named Barbara."
  384. Natalie says, "Did you play with lots of Barbie toys as a kid?'
  385. Jess mumbles under her breath, "As if you didn't have Barbie Dolls."
  386. Natalie suggests, "Why don't you go with Alexandra, or Alex for short?"
  387. [[Go with Jess's Suggestion, Barbara->custom name 2][$girl_name = 'Barbara'; $jess_disposition += 2]]
  388. [[Go with Nat's Suggestion, Alex->custom name 2][$girl_name = 'Alex'; $nat_disposition += 2]]
  389. [[Go with Sally's Suggestion, Kathryn->custom name 2][$girl_name = 'Kathryn'; $sally_disposition += 2]]
  390. ::custom name 2 <4489,5639>
  391. <<silently>>
  392. <<set _names_in_use = [
  393. //FIXME I could do this smarter with like regexes or starts with, but whatever
  394. 'heather',
  395. 'jess',
  396. 'jes',
  397. 'jessica',
  398. 'jessi',
  399. 'jesse',
  400. 'jessy',
  401. 'nat',
  402. 'natalie',
  403. 'sally',
  404. 'sal',
  405. ] >>
  406. <<set $girl_name = $girl_name.replace(/^\s+|\s+$/g, '') >>
  407. <<if !$girl_name.match(/[A-Z]/) >>
  408. <<set $girl_name = $girl_name.toLocaleUpperFirst()>>
  409. <</if>>
  410. <</silently>>\
  411. <<if _names_in_use.includes($girl_name.toLowerCase())>>\
  412. <<include [[call me a name that's in-use]]>>
  413. <<elseif $girl_name == 'Amanda'>>
  414. "Oh that's clever, because, 'Your a man... duh!'"
  415. [['"Maybe I should pick something else."'->custom name]]
  416. [['"That\'s exactly what I was thinking!"'->amanda1]]
  417. [['"No? I just like the name \'Amanda\'."'->amanda2]]
  418. <<elseif $girl_name == ''>>\
  419. "We've got to call you something..." Jess says.
  420. <<include [[custom name]]>>\
  421. <<else>>\
  422. "Oh that's a great name, we'll be sure to call you '$girl_name' while you're a girl," your sister responds.
  423. <</if>>\
  424. [[Fast Forward ⏩->ff2]]
  425. ::clone heather 2 <4410,7081>
  426. <<switch $heather_bikini_options>>\
  427. <<case "heather_sister" "kinda_like_heather">>\
  428. <<set
  429. $breast_size = 'DD'
  430. $butt_size = 'round'
  431. $skin_tone = 'fair'
  432. $hair_color = 'brown'
  433. $eye_color = 'brown'
  434. $facial_feature = 'a button nose'
  435. $genitals1 = $bottom_style
  436. $genitals2 = 'none'
  437. $pubic_hair = 'natural'
  438. >>\
  439. <<include [[custom girl 2.5]]>>
  440. <<case "custom_bikini">>\
  441. <<include [[custom girl]]>>
  442. <</switch>>
  443. ::accept custom girl <4390,7870>
  444. TODO
  445. ::custom girl 2.5 <4663,7115>
  446. <<set
  447. _available_genitals = {
  448. vagina: 'a vagina',
  449. girlcock: 'a small, flaccid cock',
  450. kendoll: 'nothing',
  451. normal_penis: 'my normal penis',
  452. massive_dong: 'a massive dong',
  453. futanari: 'a penis and vagina'
  454. };
  455. >>
  456. <<nobr>>
  457. "Okay, earlier, I said I wanted,
  458. <<switch $bottom_style>>
  459. <<case 'vagina'>>a vagina,
  460. <<case 'girlcock'>>a small, flaccid cock,
  461. <<case 'kendoll'>>to be as smooth as a ken doll,
  462. <<default>>
  463. \#ERROR\# - invalid $$bottom_style "$bottom_style"
  464. <</switch>>
  465. <span class="keep-genitals"><<click "and I just wanted to make sure you remembered.">>
  466. <<addclass ".keep-genitals" "hidden">>
  467. <<removeclass ".swap-genitals" "hidden">>
  468. <<set $keep_genitals = true>>
  469. <</click>></span><span class="swap-genitals hidden"><<click "but I've changed my mind.">>
  470. <<removeclass ".keep-genitals" "hidden">>
  471. <<addclass ".swap-genitals" "hidden">>
  472. <<set $keep_genitals = false>>
  473. <<script>>
  474. State.temporary.available_genitals = JSON.parse(JSON.stringify(variables().available_genitals));
  475. delete State.temporary.available_genitals[variables()['bottom_style']]
  476. <</script>>
  477. <span class="swap-genitals hidden"><br><br>"I'd really like <<cyclinglinkd "$new_genitals" _available_genitals>> between my legs when I'm transformed."
  478. </span>
  479. <</nobr>>
  480. [[Wait for Sally to respond.->custom girl 3]]
  481. ::pubic hair options <4676,7631>
  482. [['"None."'->custom girl 5][$pubic_hair = 'none']]
  483. [['"Well the carpet should match the drapes."'->carpet matches drapes]]
  484. [['"A big muff."'->custom girl 5][$pubic_hair = 'muff']]
  485. [['"A landing strip."'->custom girl 5][$pubic_hair = 'strip']]
  486. <<if ['kinda_like_heather', 'heather_sister'].include($heather_bikini_options)>>\
  487. <<choice [['"However, Heather keeps hers."'->heather pubes]]>>
  488. <</if>>\
  489. ::amanda1 <4617,5794>
  490. TODO
  491. [[Fast Forward ⏩->ff2]]
  492. ::amanda2 <4759,5794>
  493. TODO
  494. [[Fast Forward ⏩->ff2]]
  495. ::heather pubes <4669,7766>
  496. "You know what... I don't know how Heather keeps her pubes, and I don't wanna ask," Sally says, "Natural I guess."
  497. <<include [[pubic hair options]]>>
  498. ::ff3 <2494,4691>
  499. Here you'll choose how to customize your bikini, if you used dialog options earlier to "keep the bikini".