7 Commits e321e52016 ... 934a9794d4

Autore SHA1 Messaggio Data
  ruduki2 934a9794d4 autofixed changes 5 anni fa
  ruduki2 0305fca9ed working autofix 5 anni fa
  ruduki2 478234aef4 meaningless whitespace change: fixup newlines 5 anni fa
  ruduki2 425fb06af6 new autfix task that does nothing 5 anni fa
  ruduki2 4c2892996b fix import_main 5 anni fa
  ruduki2 d6eb2a0c01 moving stuff around 5 anni fa
  ruduki2 b6a0162ba7 meaningless whitesspace 5 anni fa
7 ha cambiato i file con 1035 aggiunte e 939 eliminazioni
  1. 100 4
      Rakefile
  2. 787 785
      story/01_intro.tw2
  3. 2 3
      story/02_transform.tw2
  4. 4 1
      story/03_custom_girl.tw2
  5. 65 65
      story/04_money_game.tw2
  6. 9 12
      story/05_beaches.tw2
  7. 68 69
      story/06_public_beach.tw2

+ 100 - 4
Rakefile

@@ -121,13 +121,14 @@ task import_main: %w(bundle_install) do
   file_set = Set.new(files)
   base_excludes=%w[../stylesheet.tw2 ../storyjs.tw2 ../stylesheet.tw2 ../images.tw2]
   files.each do |file|
-    other_files = (file_set - Set.new(file)).map { |f| f.source_file }
-    excludes = others_files + base_excludes
+    other_files = (file_set - Set.new([file])).map { |f| File.basename(f.source_file) }
+    excludes = other_files + base_excludes
     sh(
       'bundle', 'exec', 'twee2', 'decompile',
-      File.join(STORY_DIR, STORY_RELEASE_TITLE), file.source_file,
+      File.join(STORY_DIR, STORY_RELEASE_TITLE + '.html'),
+      './' + file.source_file,
       '--exclude=StoryJS,StoryCSS,StoryTitle',
-      "--exclude-from=../stylesheet.tw2,../storyjs.tw2,../stylesheet.tw2,../images.tw2',
+      "--exclude-from=#{excludes.join(',')}",
     )
   end
 end
@@ -140,6 +141,101 @@ task :clean do
   # TODO
 end
 
+task :autofix do
+  #check links
+  files.each do |file|
+    twee_source = File.read(file.source_file)
+    twee_source = twee_source.lines.each_with_index.map do |line, lineno|
+      line.chomp!
+      
+      line.gsub(%r{\[\[(?<link>[^\]]*?)\](?<link_mods>\[[^\]]*\])?\]}) do |m|
+        link = $~[:link]
+        link_mods = $~[:link_mods]
+
+        case link.scan('->').length
+        when 0
+          # this style of link doesn't need to be quoted, but it also shouldn't contain special chars
+          "[[#{link}]#{link_mods}]"
+        when 1
+          text, dest = link.split('->')
+          if text.start_with?("'")
+            text = text.end_with?("'") ? text[1..-2] : text[1..-1]
+            text.gsub!(/(?<!\\)'/) { "\\'" }
+            text.gsub!(/(?<!\\)\\(?!')/) { "\\\\" }
+            text = "'#{text}'"
+          elsif link.start_with?('"')
+            text = text.end_with?('"') ? text[1..-2] : text[1..-1]
+            text.gsub!(/(?<!\\)"/) { "\\\"" }
+            text.gsub!(/(?<!\\)\\(?!")/) { "\\\\" }
+            text = "\"#{text}\""
+          elsif link =~ /\A[\[\]'"\\]*\z/
+            text.gsub!(/(?<!\\)'/) { "\\'" }
+            text.gsub!(/(?<!\\)"/) { "\\\"" }
+            text.gsub!(/(?<!\\)\\(?!['"])/) { "\\\\" }
+            text = "'" + (text.gsub("'") { "\\'" }) + "'"
+          end
+          "[[#{text}->#{dest}]#{link_mods}]"
+        else
+          # TODO this doesn't really happen very much in practice, so don't worry about an autofix, just passthru
+          warn('multiple -> in link')
+          "[[#{link}]#{link_mods}]"
+        end
+      end
+=begin
+      .map do |link|
+        case link.scan('->').length
+        when 0
+          #link contains no ->, probably not a problem
+          text = dest = link
+          passages[title][:outbound_links] << \
+            { passage: dest, source_line: "#{file.source_file}:#{lineno}" }
+        when 1
+          # no problem
+          text, dest = link.split('->')
+          passages[title][:outbound_links] << \
+            { passage: dest, source_line: "#{file.source_file}:#{lineno}" }
+        else
+          puts "#{file.source_file}:#{lineno} link contains multiple -> definitely a problem".colorize(:red)
+          next
+        end
+        if text.start_with?('\'')
+          if !text.end_with?('\'')
+            puts "#{file.source_file}:#{lineno} link text (#{text.inspect}) does not end with single quote despite starting with one".colorize(:red)
+            next
+          end
+          text = text[1..-2]
+          text
+          .to_enum(:scan, '\'')
+          .map {Regexp.last_match.offset(0)[0]}
+          .each do |offset|
+            if text[offset - 1] != '\\'
+              puts "#{file.source_file}:#{lineno} link text (#{text.inspect}) contains unquoted single quote in body".colorize(:red)
+            end
+          end
+        elsif text.start_with?('"')
+          if !text.end_with?('"')
+            puts "#{file.source_file}:#{lineno} link text (#{text.inspect}) does not end with double quote despite starting with one".colorize(:red)
+            next
+          end
+          text = text[1..-2]
+          text
+          .to_enum(:scan, '"')
+          .map {Regexp.last_match.offset(0)[0]}
+          .each do |offset|
+            if text[offset - 1] != '\\'
+              puts "#{file.source_file}:#{lineno} link text (#{text.inspect}) contains unquoted double quote in body".colorize(:red)
+            end
+          end
+        elsif text =~ /\A[\[\]'"\\]*\z/
+          puts "#{file.source_file}:#{lineno} link text (#{text.inspect}) contains special characters but is not quoted with single or double quotes".colorize(:red)
+        end
+      end
+=end
+    end.join("\n") + "\n"
+    File.write(file.source_file, twee_source)
+  end
+end
+
 task :lint do
   titles = Set.new
   passages = {}

+ 787 - 785
story/01_intro.tw2

@@ -1,785 +1,787 @@
-::Start Intro <565,265>
-You get off the bus from school, homework can wait. It was a half day on the Friday before spring break, so it's lunch time; you check the fridge and decide to make a PB&J. Your parents won't be home for hours.

-

-As you finish the sandwich, your sister, [[Jessica]], pulls into the driveway with two of her friends: [[Natalie]] and [[Sally]].

-

-They ignore you and dart upstairs to her room. Only a couple more months of dealing with your mean older sister and her catty friends until they all head off to college.

-

-[[Spy on them.->Spy on them][$times_spied += 1]]

-[[Play video games.->Play video games]]
-
-::Spy on them [know-sally-enchanted-bikini know-bikini-magical] <390,433>
-You tippy-toe upstairs and place your head against Jessica's door.

-

-Jessica says, "So is Heather supposed to meet us there?"

-

-Sally replies, "No, she's supposed to meet us here, I have the uniforms."

-

-Natalie says, "How did they turn out, Sally?"

-

-Sally responds, "Excellent. They came in a batch of 10, so I went ahead and enchanted all of them."

-

-The landline rings.

-

-Jessica asks, "Who could be on the land line?"

-

-[[Listen to phone.->Listen to phone][$times_spied += 1]]

-[[Continue listening at the door.->Continue listening at door][$times_spied += 1]]

-[[Go play video games instead.->play games 1]]
-
-::Play video games <831,440>
-You can overhear some exciting muttering from upstairs, but can't make out what they're talking about.

-

-You sit down to play some video games for a bit, when the land line rings.

-

-[[Ignore it.->Ignore it]]

-[[Answer it.->Listen to phone]]
-
-::Listen to phone <547,505>
-The caller ID just shows a local number you don't recognize. You pick up the phone, and are about to say "Hello" when you are interrupted.

-

-"Hello Heather. You're on speaker with Sally and Nat. Why didn't you call my cell?"

-

-[[Quickly hang up.->quickly hang up]]

-[[Keep listening.->phone 2][$times_spied+=1]]
-
-::Continue listening at door <312,559>
-"It's Heather," Jessica states.

-

-You hear a beep as Jessica puts it on speaker.

-

-"Hello Heather. You're on speaker with Sally and Nat. Why didn't you call my cell?"

-

-"It went to voicemail," Heather replies, sounding congested and unwell.

-

-You hear Jessica rummage in her pockets.

-

-"Fuck, I let the battery die again."

-

-Nat says, "So are you excited for the Volleyball tournament?"

-

-"I... can't... I've... (achoo!)... got terrible allergies."

-

-Sally says, "But we need four people!"

-

-"Sorry gals, but you'll have to find someone else."

-

-"But who will play with us on such short notice?" Jessica implores.

-

-"I wish I could help, you know that but... (achoo!)"

-

-"Bless you," whisper Jessica, Sally, and Natalie in unison.

-

-"I've really got to find some allergy meds. Bye."

-

-"Bye," respond the girls, awkwardly.

-

-You hear a click as the phone turns off.

-

-[[Keep listening.->keep listening][$times_spied+=1]]

-[[Go downstairs and play video games.->play games 2]]
-
-::Ignore it <850,590>
-You play some video games for a while before you wonder what they're doing up there in Jessica's room.

-

-[[Keep playing video games.->play games 2]]

-[[Head upstairs to spy on your sister.->head upstairs to spy on your sister]]
-
-::keep listening [know-bikini-magical] <291,728>
-"What are we going to do?" Natalie wonders.

-

-Sally asks, "Who do we know who doesn't have plans?" 

-

-"Well my brother never has plans on Friday. He's such a loser. Just plays video games all day."

-

-Thanks for the vote of confidence sis.

-

-Sally responds, "That could actually work."

-

-Natalie and Jessica in unison, "What?"

-

-"Yeah the magic in the suits //enhance// us but they'll still affect him."

-

-"Will it be enough though?" worries Nat.

-

-"He'll look exactly like Heather, but... you know."

-

-Jessica shouts, "This is a terrible idea! he's bad at sports!"

-

-Natalie says, "I dunno, he had a pretty mean spike in P.E. class."

-

-Sally consoles Jessica, "Jess, this is our best bet; how do we convince him to do it?"

-

-[["Barge in and shout \"I'll do it!\""->barge in]]

-[[Keep listening.->keep listening 2][$times_spied+=1]]
-
-::play games 2 <854,771>
-You play video games for 5 blessed minutes without any interruptions... until you hear the girls come downstairs.

-

-"Hey lazyhead!" Jessica taunts.

-

-[[Turn off the game and listen.->play games 3][$jess_disposition += 1]]

-[[Ignore her.->ignore her 2][$jess_disposition -= 1]]
-
-::head upstairs to spy on your sister [know-bikini-magical] <456,724>
-You tippy toe upstairs and lean your ear to Jess's door.

-

-<<include [[keep listening]]>>
-
-::barge in <265,880>
-You barge in, all eyes are on you.

-

-You announce, "I'll do it."

-

-Jess is incredulous. "What? Have you been listening in this whole time?"

-

-<<include [[been there this whole time2]]>>
-
-::keep listening 2 <505,900>
-"He's probably downstairs, playing video games," Jess declares, "I think he'd do anything if we batted our eyelashes and asked nicely."

-

-They all giggle.

-

-"You really think he'll want to hang out with us?" questions Sally.

-

-Jess scoffs, "Like he has anything better to do."

-

-[[Hesitate.->been there this whole time]]

-[[Head downstairs so you don't get caught.->play games 2]]
-
-::just put this on <311,1171>
-"Look it's not important, just put this on," Sally says.

-

-Sally hands you a bag.

-

-[['"Okay."'->put on suit voluntarily]]

-[[Open the bag.->open bag]]
-
-::Yes. but you need me don't you? <484,1183>
-"We need you to put this on," Sally orders.

-

-Sally tosses you a bag. You catch it gracelessly.

-

-[['"Okay."'->put on suit voluntarily]]

-[[Open the bag.->open bag]]
-
-::put on suit voluntarily <401,1320>
-<<if visited('open bag')>>\

-You put the bikini back in the bag, go to your room, and take it out of the bag.

-<<else>>\

-You go to your room and open the bag Sally gave you. Inside, is a pink two piece bikini swimsuit.

-<</if>>\

-

-[[Take your t-shirt off.->take your shirt off]]

-[["Go back to Jess's room and ask \"Wait. Why a bikini?\""->why wear bikini]]
-
-::play games 3 <833,1004>
-With the TV off, you listen to what your sister and her friends have to say.

-

-"We need your help dingus," Jessica chides, "We're down one person for this tournament. Qualifying rounds are tomorrow."

-

-Jessica stands in front of you with her slutty asian friend Natalie, and her nerdy friend Sally, but her friend Heather is missing. #FIXME

-

-[["\"What kind of tournament?\""->discuss further]]

-[["\"What's in it for me?\""->discuss further]]

-[["\"I'm not interested.\""->not interested][$jess_disposition-=1]]
-
-::ignore her 2 <839,881>
-Your sister stands in front of the TV, turns it off, and scowls at you.

-

-[["\"What do you want?\""->play games 3]]
-
-::been there this whole time2 <390,1056>
-[['"I\'ve heard enough."'->just put this on]]

-[['"I... umm..."'->just put this on]]

-<<if $times_spied >= 2 >>\

-[['(lie) "No."'->just put this on][$lies += 1]]

-<<else>>\

-[['"No."'->just put this on]]

-<</if>>\

-[['"Yes. but you need me don\'t you?"'->Yes. but you need me don't you?]]

-<<set

-	$girls_know_you_spied to true

-	$jess_disposition -= 2

-	$nat_disposition -= 1

-	$sally_disposition -= 1

->>
-
-::play games 1 <696,436>
-You head downstairs to play video games. After a while, you see the light go off on the phone. Your sister must be done with her conversation.

-

-[[Keep playing video games.->play games 2]]

-[[Head upstairs to spy on your sister.->head upstairs to spy on your sister][$times_spied += 1]]
-
-::Jessica <114,470>
-Your sister.

-

-She looks kinda like you, but a year older, more feminine and with longer hair.

-

-You're not exactly enemies, but you and your sister have never been into the same things.

-

-Close friends and family call her Jess.

-

-She dresses in comfortable, casual clothes in the mainstream of teen fashion.

-

-<<return>>
-
-::Natalie <114,600>
-One of your sister's friends.

-

-Natalie is fairly tall and slender and has long, straight, black hair. 

-

-Her east asian heritage is visible in her small nose and the epicanthic folds of her eyes.

-

-She likes it when people call her Nat.

-

-She's always wearing low-cut tops despite her lack of significant bosom.

-

-<<return>>
-
-::Sally <115,284>
-A petite bespectacled girl with short wavy red hair and a light dusting of freckles on her face.

-

-Sally and your sister Jessica have been friends for a long time.

-

-Her nose is always in a book.

-

-She dresses stylishly, but conservatively.

-

-<<return>>
-
-::quickly hang up <704,727>
-Well that was none of my business.

-

-You head back to the couch and play some more of your game.

-

-<<include [[play games 2]]>>
-
-::phone 2 <550,614>
-"It went to voicemail," Heather replies, sounding congested and unwell.

-

-There's a pause and an awkward silence.

-

-"Fuck, I let the battery die again."

-

-Nat says, "So are you excited for the Volleyball tournament?"

-

-"I... can't... I've... (achoo!)... got terrible allergies."

-

-Sally says, "But we need four people!"

-

-"Sorry gals, but you'll have to find someone else."

-

-"But who will play with us on such short notice?" Jessica implores.

-

-"I wish I could help, you know that but... (achoo!)"

-

-"Bless you," whisper Jessica, Sally, and Natalie in unison.

-

-"I've really got to find some allergy meds. Bye."

-

-"Bye," respond the girls, awkwardly.

-

-You hear a click as the phone turns off.

-

-[[Listen at Jess's door to hear the rest of the conversation.->head upstairs to spy on your sister]]

-[[Play video games.->play games 2]]
-
-::not interested <934,1135>
-"Maybe you won't do it for your sister, but will you do it for me?" Natalie asks seductively.

-

-Natalie winks.

-

-[["\"Sure.\""->discuss further][$nat_disposition+=1]]

-[["\"Anything for you Natalie.\""->discuss further][$nat_disposition += 2]]

-[["\"I'm still not interested.\""->new plan 1]]
-
-::discuss further <770,1134>
-"Can we discuss this further upstairs?" your sister begs.

-

-[["\"Sounds great.\" go upstairs to your sister's room."->go upstairs to talk]]

-[["(sarcastically) \"Whatever.\" go upstairs to your sister's room."->go upstairs to talk][$jess_disposition -= 1]]
-
-::go upstairs to talk <626,1241>
-"Alright, so what's the deal with this tournament?" you ask.

-

-<<include [[just put this on]]>>
-
-::open bag <196,1303>
-You curiously open the bag to find it contains a standard two piece bikini in bright pink.

-

-<<include [[what is this?]]>>
-
-::take your shirt off <709,1425>
-You take off your shirt and start to untangle the bikini top to put it on.

-//Ow!// It zaps you a little bit.

-

-[[Keep putting on the bikini, It's probably just static electricity.->static electricity]]

-<<nobr>>

-<<if visitedTags('know-bikini-magical')>>

-	[["Go back to Jess's room and ask, \"Is this bikini magical?\""->Is bikini magical?]]

-<<else>>

-	[["Go back to Jess's room and ask, \"What is this?\""->what is this?]]

-<</if>>

-<<set $current_top = 'topless'>>

-<</nobr>>
-
-::what is this? <356,1598>
-"You look like you've never seen a bikini before," Jess scoffs.

-

-[["\"It's a woman's swimsuit Jess... I don't have boobs!\""->explain bikini][$jess_disposition -= 1]]

-[["\"Did you ask Natalie or Sally's brothers first if they wanted to wear it?\""->other brothers][$nat_disposition -= 1; $sally_disposition -= 1]]

-[["\"Alright, I'll get changed in my room.\""->put on suit voluntarily]]
-
-::other brothers <498,1618>
-Jess gasps, "No. dipshit. Sally has an older brother in the military and Natalie has an older sister off at college, but no brothers. Needless to say neither are available to help with this."

-

-[["\"So why do you need me to wear a bikini?\""->why wear bikini]]
-
-::What tournament? [know-tournament-beach-volleyball] <950,1730>
-"A beach volleyball tournament," Sally says matter of factly.

-

-Jess adds on, "Each team can enter up to 4 pairs of participants."

-

-"It'll be mostly college girls," Natalie adds.

-

-<<include [[bikini questions]]>>
-
-::Is there a prize? [know-tournament-prize] <231,2185>
-"Yeah. A cash prize of ten thousand dollars, just for qualifying," Jess says.

-

-Nat chimes in, "It's also a chance to learn more about the people who run the tournament."

-

-Sally concludes, "But the really big money is the one million dollar grand prize."

-

-<<include [[bikini questions]]>>
-
-::why wear bikini [know-tournament-girls-only know-tournament-beach-volleyball] <614,1532>
-<<nobr>>

-<<if visitedTags('know-tournament-beach-volleyball') gt 1>>

-"The beach volleyball tournament is girls only," Jess says.

-<<else>>

-"So you can help with the girls only beach volleyball tournament," Jess says.

-<</if>>

-<</nobr>>

-

-<<include [[bikini questions]]>>
-
-::explain bikini feminizes [know-bikini-feminizes know-sally-enchanted-bikini] <170,1964>
-"Yeah, It's a magic bikini that'll turn you into a girl," Nat informs you.

-

-"Sally made them; she's a bit of a witch," Jess responds.

-

-Sally looks mildly upset, "I resent that, I am a Sorceress."

-

-<<include [[bikini questions]]>>
-
-::worried passing [know-bikini-magical] <858,2234>
-Jess laughs, "Yeah you'd look pretty ridiculous."

-

-"The bikini is enchanted," Sally informs you.

-

-<<include [[bikini questions]]>>
-
-::get someone else? <306,1669>
-"Sadly no, not on short notice anyway, your volleyball skills are lacking and we would get anyone else if we could," your sister says down to you.

-

-Nat speaks up for you, "I mean you've got a decent spike."

-

-Sally joins in, "We don't need to //win// the tournament though, just placing will give us a good chunk of money."

-

-<<include [[bikini questions]]>>
-
-::bikini questions [nobr] <602,1958>
-<<if visitedTags('know-tournament-exists') and not visitedTags('know-tournament-beach-volleyball')>>

-	<<once [['"What tournament?"'->What tournament?]]>>

-<</if>>

-<<once [["\"Is there a prize?\""->Is there a prize?]]>>

-<<if not visitedTags('know-tournament-girls-only') and not visitedTags('know-bikini-feminizes')>>

-	<<once [["\"Why do I need to wear a bikini?\""->why wear bikini]]>>

-<</if>>

-<<if visitedTags('know-bikini-magical') and

-     not visitedTags('know-bikini-feminizes')>>

-	<<once [["\"Enchanted bikini?\""->explain bikini feminizes]]>>

-<</if>>

-<<if visitedTags('know-tournament-girls-only') and not visitedTags('know-bikini-feminizes')>>

-	<<once [["\"I won't pass as a girl wearing just a bikini.\""->worried passing]]>>

-<</if>>

-<<if visitedTags('know-tournament-busty')>> 

-	<<once [["\"What kind of people run this strange tournament?\""->who runs tournament?]]>>

-<</if>>

-<<if visitedTags('know-bikini-feminizes') and not visitedTags('know-bikini-busty')>>

-	<<once [["\"So.. I need to wear a magic bikini to help you with a girl's only Beach Volleyball tournament?\""->learn bikini busty]]>>

-<</if>>

-<<if visitedTags('know-bikini-heather') and not visitedTags('know-tournament-busty')>>

-		<<once [["\"Why would Heather need a magical swimsuit like this?\""->why does heather need a magic bikini]]>>

-<</if>>

-<<if visitedTags('know-bikini-busty')>>

-	<<once [["\"Wait. If the top will give me boobs, what will the bottom do?\""->What do the bottoms do?]]

-	<<once [["\"How long will the enchantment hold out for?\""->Magic Bikni Duration]]>>

-	<<once [["\"Why do I need to wear the bikini right now?\""->Why do I need to wear the bikini right now?]]>>

-<</if>>

-<<if visitedTags('know-sally-enchanted-bikini')>>

-	<<once [["\"Couldn't Sally use magic to help us win the tournament?\""->magical cheating]]>>

-	<<once [['"May I ask more questions about being a sorceress?"'->Can I ask more questions about being a sorceress?]]>>

-<</if>>

-<<if visitedTags('know-bikini-busty', 'know-bikini-clones', 'know-bikini-heather')>>

-	<<once [["\"Can I keep the bikini?\""->Can I keep the bikini?]]>>

-<</if>>

-<<if visitedTags('know-what-bottoms-do')>>

-	<<once [["\"Uh. do I have to wear the bottoms? Surely I could wear a non-magical bottom.\""->have to wear bottoms]]>>

-<</if>>

-<<once [["\"Couldn't you get someone else?\""->get someone else?]]>>

-<<if visitedTags('know-bikini-magical') and visitedTags('know-what-bottoms-do') and visitedTags('know-bikini-clones')>>

-	[["\"I'll compete in the volleyball tournament with you...\""->agree]]<br>

-<</if>>
-
-::once macro widget [widget nobr] <1589,577>
-<<widget "once">>

-<<if $args[0].isLink and !visited($args[0].link)>>

-<<link $args[0]>><</link>><br>

-<<elseif !$args[0].isLink and !$args[1] and !visited($args[0])>>

-<<link $args[0] $args[0]>><</link>><br>

-<</if>>

-<</widget>>
-
-::Can I keep the bikini? <333,2236>
-"Ew," Jess exclaims, "I mean no one's gonna want it back after you get your sweat all over it."

-

-"Hrm... better not, that bikini will make you look like a busty version of Heather," Sally says, "How about I make you a new one?"

-

-[['"What would the new bikini make me look like?"'->new bikni appearance]]
-
-::agree <822,2972>
-"Tha..." Jess starts to say.

-

-[[Let your sister finish.->let sister finish][$jess_disposition += 5; $nat_disposition+=1; $sally_disposition += 2]]

-[["\"On one condition.\""->one condition]]
-
-::new bikni appearance <364,2602>
-"However you want... As long as it's a young busty woman of some sort."

-

-[["\"Okay, let's discuss the details later.\""->discuss making a bikni later][$keep_the_bikini to 'new']]

-[["I don't need to keep the bikini."]]

-<<once [["Do you need a vagina to qualify as a woman?"]]>>
-
-::one condition <984,3035>
-Jess scowls at you and says, "Fine, what is it brother?"

-

-<<if not $nat_offlimits>>\

-[["Nat takes my virginity."]]

-<</if>>\

-[["Sally goes on a date with me."]]

-[["You invite me to your college parties."]]

-[["Sally gives me a longer-lasting feminization enchantment and you treat me like one of the girls at school."]]
-
-::"Nat takes my virginity." <747,3188>
-<<if $nat_disposition >= -1>>

-Nat replies, "I'd be honored. We'll talk after the tournament."

-

-Jess blushes. "Ew. Gross brother."

-

-[["\"Awesome.\""->what next?][$reward to "sex with nat"]]

-<<else>>

-"No way dork," Nat rebuffs, "Not in a million years."

-

-[["\"It's the only way I'll do this.\""->virginity2][$nat_disposition -= 2; $jess_disposition -= 1]]

-[["\"Fine. I'll help anyway.\""->what next?]]

-<</if>>
-
-::"Sally goes on a date with me." [nobr] <962,3175>
-<<if $sally_disposition >= 0 >>

-"Alright, I guess that's OK. I mean a date doesn't mean anything?" Sally asks, blushing.<br><br>

-[["\"Awesome.\""->what next?][$reward to "sally_date"]]

-<<if $jess_disposition >= 0 >>

-"Oh. You'll make such a cute couple," Jess adds.<br><br>

-<<else>>

-"Ew. Gross. Don't do it Sal," Jess says in disgust.<br><br>

-

-"Jess, it's just a date, it's not like your BFF will lose her virginity to your brother," Nat says in an even tone.<br><br>

-

-[["\"So it's settled?\""->sally date 2]]

-<</if>>

-<<else>>

-"Uh. I... Uh..." Sally struggles to find words.<br><br>

-

-"What Sally is trying to say, is 'No.' you're a little creep," Jess intones.<br><br>

-

-"No. Jess that's OK. It's just a date. It might be fun."<br><br>

-

-[["\"So it's settled?\""->sally date 2]]

-<</if>>
-
-::"You invite me to your college parties." [nobr] <1287,3284>
-<<if $jess_disposition >= 0>>

-"I was probably going to invite you anyway, you're a good brother."<br><br>

-<<else>>

-"You want to let my lame brother come to my cool college parties? Alright nerd, as long as you don't embarrass me."<br><br>

-

-<<if $keep_the_bikini == 'new'>>

-[["\"I wouldn't be your lame brother, I'd be your hotter younger sister.\""->hotter sister][$reward to "college parties as a girl"]]<br>

-<</if>>

-<</if>>

-[["\"Sweet.\""->what next?][$reward to "college parties"]]
-
-::"Sally gives me a longer-lasting feminization enchantment and you treat me like one of the girls at school." <1109,3130>
-"Oh. I never knew you felt that way. I kind of feel bad for teasing you for being a sissy wimp," Jess says before hugging you.

-

-Sally explains, "That kind of magic is doable, but it will take a while and be expensive. In the meantime, I could put a spell similar to the one on the bikini on some underwear and you can change every day."

-

-"Oh. you'll be such a cute girl," Nat mews.

-

-[["\"You guys are the best.\""->what next?][$reward to "help transitioning"]]

-[["\"Sike! I'm only in this for the money.\""->what next?]]
-
-::What do the bottoms do? [know-what-bottoms-do] <191,1724>
-"It'll give you a nice round butt to go with your bust of course," Nat says.

-

-Jess laughs, "And also take away your penis."

-

-"But you'll get a vagina to replace it with," Nat informs you.

-

-<<include [[bikini questions]]>>
-
-::Magic Bikni Duration [know-enchantment-duration] <961,2133>
-"If you're wearing both parts it should last up to 8 hours. 2 hours with only one. The effect lingers for 30 minutes after you take off both parts. If the magic stored in them runs out, they'll need to recharge in perfect darkness for 8 hours before they can be used again."

-

-<<include [[bikini questions]]>>

-<<script>>/* FIXME Apparently this is a Checkov's gun! */<</script>>
-
-::have to wear bottoms <400,2346>
-"I mean I guess not," Jess starts.

-

-Sally interjects, "No. The magic is imbued in both parts. It's important to wear both. They'll last longer and the magic will work better."

-

-"Besides, you can't be showing off your bulge at this thing you'll stand out."

-

-[['"But I don\'t need to wear them for very long?"'->"But I don't need to wear them for very long."]]

-<<include [[bikini questions]]>>
-
-::discuss making a bikni later <151,2685>
-"Sounds good."

-

-<<include [[bikini questions]]>>
-
-::"I don't need to keep the bikini." <237,2505>
-"If that's what you want."

-

-<<include [[bikini questions]]>>

-<<set $keep_the_bikini to 'destroy'>>
-
-::"Do you need a vagina to qualify as a woman?" <604,2632>
-"I guess not, but you can't have an unsightly bulge, would a two inch flaccid cock be acceptable?" Sally inquires as the other girls stifle a laugh.

-

-[["\"I guess.\""->keep bikini final][$bottom_style to "girlcock"]]

-[["I'd rather be a ken doll down there."]]

-[["\"Better than a vagina.\""->keep bikini final][$bottom_style to "girlcock"; $jess_disposition -=1]]
-
-::"I'd rather be a ken doll down there." <489,2805>
-"Really? because that could be arranged."

-

-[["\"Yeah. Make my bikini bottom smooth as a ken doll instead of genitals.\""->keep bikini final][$bottom_style = "ken_doll"]]

-[["\"No. Make it with a pussy.\""->keep bikini final][$bottom_style = "vagina"]]

-[["\"No. Make it with the small cock.\""->keep bikini final][$bottom_style = "girlcock"]]
-
-::keep bikini final <276,2872>
-"Alright I'll make your bikini bottom transform your genitals to<<nobr>>

-<<switch $bottom_style>>

-<<case "vagina">>

-a normal vagina

-<<case "girlcock">>

-a two inch flaccid penis

-<<case "ken_doll">>

-nothing: as smooth as a ken doll.

-<</switch>>

-," Sally states.<</nobr>>

-

-[["I don't need to keep the bikini."]]

-[['"Cool. We'll discuss exactly what kind of woman I want to be later."'->discuss making a bikni later][$keep_the_bikini to 'new']
-
-::"But I don't need to wear them for very long." <525,2505>
-"The tournament lasts like all of Spring Break," Nat explains.

-

-Jess adds, "You'll need to wear it all day all week while we compete."

-

-<<include [[bikini questions]]>>
-
-::Can I ask more questions about being a sorceress? <1047,2021>
-Sally says, "Quite frankly, no. We don't have time."

-

-<<include [[bikini questions]]>>
-
-::Why do I need to wear the bikini right now? <635,2514>
-"We're going to go to the beach to practice," Nat says.

-

-"We have no illusions about winning, but if you're not gonna give it your best why bother?" Sally adds.

-

-Jess says, "Plus the weather's really nice."

-

-<<include [[bikini questions]]>>
-
-::what next? <887,3395>
-"So what's next?" Natalie asks.

-[[Fast Forward ⏩->ff1]]

-<<silently>>

-<<if $current_top == 'heather bikini'>>\

-"Well you better finish getting changed brother, then we can practice," Jess says.

-[["\"Alright I'll meet you back here in 20.\""->put on swimsuit]]

-<<else>>

-"We all need to get changed, then we can practice," Jess says.

-[["\"Alright I'll meet you back here in 20.\""->put on swimsuit]]

-<</if>>

-<<if $keep_the_bikini == 'new'>>\

-[["No. we should go shopping and get the stuff for my bikini."->shopping1]]

-<</if>>\

-<</silently>>
-
-::virginity2 <470,3195>
-"Then this is not happening," Nat says.

-

-\## Game Over ##
-
-::sally date 2 <1087,3421>
-"Yeah we'll figure out the details later."

-

-<<include [[what next?]]>>

-<<set $reward to "date with sally">>
-
-::hotter sister [nobr] <1286,3414>
-Jess exclaims, "Oh come on now Sally, don't make him look better than me."<br><br>

-

-<<if $sally_disposition >= 5>>

-"No, I think I will make him super hot, just to prove how good I am," Sally boasts.

-<<else>>

-"Jess, he'll look super good in the bikini, we all will."<br><br>

-<</if>>

-

-<<include [[what next?]]>>
-
-::Is bikini magical? <1081,1458>
-<<if $jess_disposition > 0 >>

-<<include [[explain magical bikini]]>>

-<<else>>

-"Maybe, why don't you try it on?", Jess explains.

-

-[['"Don\'t play games with me Jess."'->don't play games]]

-<</if>>
-
-::don't play games [know-bikini-magical know-sally-enchanted-bikini] <834,1588>
-"Fine. Whatever. It's a magical bikini. Sally made it."

-

-<<include [[bikini questions]]>>
-
-::magical cheating [know-magical-ethics] <1080,1782>
-"No! that's against magic user ethical guidelines! I'd be banished from magic for at least a year," Sally declares.

-

-"Disguising yourself to bypass bigoted guidelines or pass arbitrary beauty requirements was deemed eligible in the '60s, but in general using magic at all during sporting events is prohibited, even if the event isn't professional."

-

-<<include [[bikini questions]]>>
-
-::let sister finish <687,3018>
-"...'s great! It'll be so fun and we'll get lots of money."

-<<include [[what next?]]>>
-
-::been there this whole time <636,959>
-Jess opens the door with her friends lining up behind her.

-

-"Oh my GOD! Have you been listening in this whole time?" she exclaims.

-

-<<include [[been there this whole time2]]>>

-

-[["\"Uh can I get some help with this?\""->help with bikini]]

-[[Untie and try again, but do the top part first->Tie the top part first.]]
-
-::explain magical bikini [know-bikini-magical know-bikini-feminizes know-tournament-beach-volleyball know-sally-enchanted-bikini] <944,1628>
-"Yes Sally made them," Jess replies, "It'll turn you into a girl temporarily so you can help us in our beach volleyball tournament."

-

-<<include [[bikini questions]]>>
-
-::learn bikini busty [know-bikini-feminizes know-bikini-heather know-tournament-busty know-bikini-busty know-bikini-magical know-sally-enchanted-bikini know-bikini-clones] <194,2075>
-"Not just you, we'll need to wear them too. The tournament has a minimum bust size, and we're all under it," Nat informs you.

-

-Sally continues, "Each bikini I made is tied to a different person and whoever puts it on will look like that person. I made yours for Heather, but she can't make it, so you'll look like her when you put it on except bustier."

-

-<<include [[bikini questions]]>>
-
-::explain tits [know-bikini-heather know-bikini-busty know-bikini-feminizes] <1075,1335>
-"Tee hee!" the girls giggle.

-

-"You look just like Heather!" Jess giggles.

-

-"Well it's a funny story..." Sally starts.

-

-[["\"I'm listening.\""->explain tournament detail.]]
-
-::explain tournament detail. [know-tournament-beach-volleyball know-tournament-girls-only know-bikini-busty know-bikini-feminizes know-bikini-heather] <724,1555>
-"Right so there's this girl's only beach volleyball tournament."

-

-"Heather couldn't make it, so we gave you her bikini."

-

-<<include [[bikini questions]]>>
-
-::who runs tournament? <675,2263>
-"It's a bit of a mystery," Sally says.

-

-Nat states, "I heard it was some sort of group of adult entertainers, who put on a show with nice jiggling boobs for crowds of horny men."

-

-Jess says, "I heard it was some kind of sorority, and they use it to search for new members."

-

-Sally explains, "I heard it's run by a league of magicians searching for new talent."

-

-<<include [[bikini questions]]>>
-
-::why does heather need a magic bikini [know-tournament-busty know-bikini-busty know-bikini-magical know-sally-enchanted-bikini know-bikini-clones] <363,1799>
-"Not just her, we'll all need to wear them. The tournament has a minimum bust size, and we're all under it," Nat informs you.

-

-"Sally enchanted them, she's a bit of a witch."

-

-"I resent that," Sally says, "I am a sorceress."

-

-Sally continues, "Each bikini I made is tied to a different person and whoever puts it on will look like that person. I made that one for Heather, but she can't make it, so you'll look like her when you have it on except bustier."

-

-<<include [[bikini questions]]>>
-
-::undo this [know-bikini-feminizes know-bikini-busty know-tournament-beach-volleyball know-bikini-heather know-bikini-magical] <1254,1446>
-"No! You need to keep being a girl so you can help us with our Beach Volleyball tournament," Jess says.

-

-Sally continues, "Heather couldn't make it so we gave you her bikini."

-

-<<include [[bikini questions]]>>
-
-::explain bikini [know-tournament-exists] <511,1748>
-"Well there's this tournament..." Sally starts.

-

-<<include [[bikini questions]]>>
-
-::ff1 <2611,4486>
-Alright, you've chosen to fast forward:
-
-brief summary, of what happens
-
-- put on the magic bikini (either top first or bottom first, or the top or bottom you didn't put on before now).
-- option to seduce Natalie (similar to previous scene).
-
-Walk out into the living room and talk to the girls and:
-[[Fast Forward ⏩->get a girl name]]
-
-::ff2 <2596,4016>
-You've fast-forwarded, here's what happens between now and the next passage:
-
-- There's a "mini-game" for cash. This is used when you visit the mall later after practice
-- ways to get cash:
-	- beg/borrow from any of the girls
-	- steal (from your parents, either cash or credit card)
-	- find loose change in the couch
-	- destroy your piggy bank to get the change
-- Your sister lets you borrow some clothes for the ride to the beach.
-
-This next section is super-unfinished, but I kind of wanted to release this work-in-progress anyway. get ready to see a lot of \#TODO (or stop until I finish this part)
-
-[[Get in Jess's car and go to the beach->Which beach]]
-
-::Twee2Settings [twee2]
-@story_start_name = 'Start Intro'
-Twee2::build_config.story_ifid = 'd6480e34-cbe1-4bb9-86d3-b4cb9c511475'
-Twee2::build_config.story_format = 'SugarCube2'
+::Start Intro <565,265>
+You get off the bus from school, homework can wait. It was a half day on the Friday before spring break, so it's lunch time; you check the fridge and decide to make a PB&J. Your parents won't be home for hours.
+::Start Intro <565,265>
+You get off the bus from school, homework can wait. It was a half day on the Friday before spring break, so it's lunch time; you check the fridge and decide to make a PB&J. Your parents won't be home for hours.
+
+As you finish the sandwich, your sister, [[Jessica]], pulls into the driveway with two of her friends: [[Natalie]] and [[Sally]].
+
+They ignore you and dart upstairs to her room. Only a couple more months of dealing with your mean older sister and her catty friends until they all head off to college.
+
+[[Spy on them.->Spy on them][$times_spied += 1]]
+[[Play video games.->Play video games]]
+
+::Spy on them [know-sally-enchanted-bikini know-bikini-magical] <390,433>
+You tippy-toe upstairs and place your head against Jessica's door.
+
+Jessica says, "So is Heather supposed to meet us there?"
+
+Sally replies, "No, she's supposed to meet us here, I have the uniforms."
+
+Natalie says, "How did they turn out, Sally?"
+
+Sally responds, "Excellent. They came in a batch of 10, so I went ahead and enchanted all of them."
+
+The landline rings.
+
+Jessica asks, "Who could be on the land line?"
+
+[[Listen to phone.->Listen to phone][$times_spied += 1]]
+[[Continue listening at the door.->Continue listening at door][$times_spied += 1]]
+[[Go play video games instead.->play games 1]]
+
+::Play video games <831,440>
+You can overhear some exciting muttering from upstairs, but can't make out what they're talking about.
+
+You sit down to play some video games for a bit, when the land line rings.
+
+[[Ignore it.->Ignore it]]
+[[Answer it.->Listen to phone]]
+
+::Listen to phone <547,505>
+The caller ID just shows a local number you don't recognize. You pick up the phone, and are about to say "Hello" when you are interrupted.
+
+"Hello Heather. You're on speaker with Sally and Nat. Why didn't you call my cell?"
+
+[[Quickly hang up.->quickly hang up]]
+[[Keep listening.->phone 2][$times_spied+=1]]
+
+::Continue listening at door <312,559>
+"It's Heather," Jessica states.
+
+You hear a beep as Jessica puts it on speaker.
+
+"Hello Heather. You're on speaker with Sally and Nat. Why didn't you call my cell?"
+
+"It went to voicemail," Heather replies, sounding congested and unwell.
+
+You hear Jessica rummage in her pockets.
+
+"Fuck, I let the battery die again."
+
+Nat says, "So are you excited for the Volleyball tournament?"
+
+"I... can't... I've... (achoo!)... got terrible allergies."
+
+Sally says, "But we need four people!"
+
+"Sorry gals, but you'll have to find someone else."
+
+"But who will play with us on such short notice?" Jessica implores.
+
+"I wish I could help, you know that but... (achoo!)"
+
+"Bless you," whisper Jessica, Sally, and Natalie in unison.
+
+"I've really got to find some allergy meds. Bye."
+
+"Bye," respond the girls, awkwardly.
+
+You hear a click as the phone turns off.
+
+[[Keep listening.->keep listening][$times_spied+=1]]
+[[Go downstairs and play video games.->play games 2]]
+
+::Ignore it <850,590>
+You play some video games for a while before you wonder what they're doing up there in Jessica's room.
+
+[[Keep playing video games.->play games 2]]
+[[Head upstairs to spy on your sister.->head upstairs to spy on your sister]]
+
+::keep listening [know-bikini-magical] <291,728>
+"What are we going to do?" Natalie wonders.
+
+Sally asks, "Who do we know who doesn't have plans?" 
+
+"Well my brother never has plans on Friday. He's such a loser. Just plays video games all day."
+
+Thanks for the vote of confidence sis.
+
+Sally responds, "That could actually work."
+
+Natalie and Jessica in unison, "What?"
+
+"Yeah the magic in the suits //enhance// us but they'll still affect him."
+
+"Will it be enough though?" worries Nat.
+
+"He'll look exactly like Heather, but... you know."
+
+Jessica shouts, "This is a terrible idea! he's bad at sports!"
+
+Natalie says, "I dunno, he had a pretty mean spike in P.E. class."
+
+Sally consoles Jessica, "Jess, this is our best bet; how do we convince him to do it?"
+
+[["Barge in and shout \"I'll do it!\""->barge in]]
+[[Keep listening.->keep listening 2][$times_spied+=1]]
+
+::play games 2 <854,771>
+You play video games for 5 blessed minutes without any interruptions... until you hear the girls come downstairs.
+
+"Hey lazyhead!" Jessica taunts.
+
+[[Turn off the game and listen.->play games 3][$jess_disposition += 1]]
+[[Ignore her.->ignore her 2][$jess_disposition -= 1]]
+
+::head upstairs to spy on your sister [know-bikini-magical] <456,724>
+You tippy toe upstairs and lean your ear to Jess's door.
+
+<<include [[keep listening]]>>
+
+::barge in <265,880>
+You barge in, all eyes are on you.
+
+You announce, "I'll do it."
+
+Jess is incredulous. "What? Have you been listening in this whole time?"
+
+<<include [[been there this whole time2]]>>
+
+::keep listening 2 <505,900>
+"He's probably downstairs, playing video games," Jess declares, "I think he'd do anything if we batted our eyelashes and asked nicely."
+
+They all giggle.
+
+"You really think he'll want to hang out with us?" questions Sally.
+
+Jess scoffs, "Like he has anything better to do."
+
+[[Hesitate.->been there this whole time]]
+[[Head downstairs so you don't get caught.->play games 2]]
+
+::just put this on <311,1171>
+"Look it's not important, just put this on," Sally says.
+
+Sally hands you a bag.
+
+[['"Okay."'->put on suit voluntarily]]
+[[Open the bag.->open bag]]
+
+::Yes. but you need me don't you? <484,1183>
+"We need you to put this on," Sally orders.
+
+Sally tosses you a bag. You catch it gracelessly.
+
+[['"Okay."'->put on suit voluntarily]]
+[[Open the bag.->open bag]]
+
+::put on suit voluntarily <401,1320>
+<<if visited('open bag')>>\
+You put the bikini back in the bag, go to your room, and take it out of the bag.
+<<else>>\
+You go to your room and open the bag Sally gave you. Inside, is a pink two piece bikini swimsuit.
+<</if>>\
+
+[[Take your t-shirt off.->take your shirt off]]
+[["Go back to Jess's room and ask \"Wait. Why a bikini?\""->why wear bikini]]
+
+::play games 3 <833,1004>
+With the TV off, you listen to what your sister and her friends have to say.
+
+"We need your help dingus," Jessica chides, "We're down one person for this tournament. Qualifying rounds are tomorrow."
+
+Jessica stands in front of you with her slutty asian friend Natalie, and her nerdy friend Sally, but her friend Heather is missing. #FIXME
+
+[["\"What kind of tournament?\""->discuss further]]
+[["\"What's in it for me?\""->discuss further]]
+[["\"I'm not interested.\""->not interested][$jess_disposition-=1]]
+
+::ignore her 2 <839,881>
+Your sister stands in front of the TV, turns it off, and scowls at you.
+
+[["\"What do you want?\""->play games 3]]
+
+::been there this whole time2 <390,1056>
+[['"I\'ve heard enough."'->just put this on]]
+[['"I... umm..."'->just put this on]]
+<<if $times_spied >= 2 >>\
+[['(lie) "No."'->just put this on][$lies += 1]]
+<<else>>\
+[['"No."'->just put this on]]
+<</if>>\
+[['"Yes. but you need me don\'t you?"'->Yes. but you need me don't you?]]
+<<set
+	$girls_know_you_spied to true
+	$jess_disposition -= 2
+	$nat_disposition -= 1
+	$sally_disposition -= 1
+>>
+
+::play games 1 <696,436>
+You head downstairs to play video games. After a while, you see the light go off on the phone. Your sister must be done with her conversation.
+
+[[Keep playing video games.->play games 2]]
+[[Head upstairs to spy on your sister.->head upstairs to spy on your sister][$times_spied += 1]]
+
+::Jessica <114,470>
+Your sister.
+
+She looks kinda like you, but a year older, more feminine and with longer hair.
+
+You're not exactly enemies, but you and your sister have never been into the same things.
+
+Close friends and family call her Jess.
+
+She dresses in comfortable, casual clothes in the mainstream of teen fashion.
+
+<<return>>
+
+::Natalie <114,600>
+One of your sister's friends.
+
+Natalie is fairly tall and slender and has long, straight, black hair. 
+
+Her east asian heritage is visible in her small nose and the epicanthic folds of her eyes.
+
+She likes it when people call her Nat.
+
+She's always wearing low-cut tops despite her lack of significant bosom.
+
+<<return>>
+
+::Sally <115,284>
+A petite bespectacled girl with short wavy red hair and a light dusting of freckles on her face.
+
+Sally and your sister Jessica have been friends for a long time.
+
+Her nose is always in a book.
+
+She dresses stylishly, but conservatively.
+
+<<return>>
+
+::quickly hang up <704,727>
+Well that was none of my business.
+
+You head back to the couch and play some more of your game.
+
+<<include [[play games 2]]>>
+
+::phone 2 <550,614>
+"It went to voicemail," Heather replies, sounding congested and unwell.
+
+There's a pause and an awkward silence.
+
+"Fuck, I let the battery die again."
+
+Nat says, "So are you excited for the Volleyball tournament?"
+
+"I... can't... I've... (achoo!)... got terrible allergies."
+
+Sally says, "But we need four people!"
+
+"Sorry gals, but you'll have to find someone else."
+
+"But who will play with us on such short notice?" Jessica implores.
+
+"I wish I could help, you know that but... (achoo!)"
+
+"Bless you," whisper Jessica, Sally, and Natalie in unison.
+
+"I've really got to find some allergy meds. Bye."
+
+"Bye," respond the girls, awkwardly.
+
+You hear a click as the phone turns off.
+
+[[Listen at Jess's door to hear the rest of the conversation.->head upstairs to spy on your sister]]
+[[Play video games.->play games 2]]
+
+::not interested <934,1135>
+"Maybe you won't do it for your sister, but will you do it for me?" Natalie asks seductively.
+
+Natalie winks.
+
+[["\"Sure.\""->discuss further][$nat_disposition+=1]]
+[["\"Anything for you Natalie.\""->discuss further][$nat_disposition += 2]]
+[["\"I'm still not interested.\""->new plan 1]]
+
+::discuss further <770,1134>
+"Can we discuss this further upstairs?" your sister begs.
+
+[["\"Sounds great.\" go upstairs to your sister's room."->go upstairs to talk]]
+[["(sarcastically) \"Whatever.\" go upstairs to your sister's room."->go upstairs to talk][$jess_disposition -= 1]]
+
+::go upstairs to talk <626,1241>
+"Alright, so what's the deal with this tournament?" you ask.
+
+<<include [[just put this on]]>>
+
+::open bag <196,1303>
+You curiously open the bag to find it contains a standard two piece bikini in bright pink.
+
+<<include [[what is this?]]>>
+
+::take your shirt off <709,1425>
+You take off your shirt and start to untangle the bikini top to put it on.
+//Ow!// It zaps you a little bit.
+
+[[Keep putting on the bikini, It's probably just static electricity.->static electricity]]
+<<nobr>>
+<<if visitedTags('know-bikini-magical')>>
+	[["Go back to Jess's room and ask, \"Is this bikini magical?\""->Is bikini magical?]]
+<<else>>
+	[["Go back to Jess's room and ask, \"What is this?\""->what is this?]]
+<</if>>
+<<set $current_top = 'topless'>>
+<</nobr>>
+
+::what is this? <356,1598>
+"You look like you've never seen a bikini before," Jess scoffs.
+
+[["\"It's a woman's swimsuit Jess... I don't have boobs!\""->explain bikini][$jess_disposition -= 1]]
+[["\"Did you ask Natalie or Sally's brothers first if they wanted to wear it?\""->other brothers][$nat_disposition -= 1; $sally_disposition -= 1]]
+[["\"Alright, I'll get changed in my room.\""->put on suit voluntarily]]
+
+::other brothers <498,1618>
+Jess gasps, "No. dipshit. Sally has an older brother in the military and Natalie has an older sister off at college, but no brothers. Needless to say neither are available to help with this."
+
+[["\"So why do you need me to wear a bikini?\""->why wear bikini]]
+
+::What tournament? [know-tournament-beach-volleyball] <950,1730>
+"A beach volleyball tournament," Sally says matter of factly.
+
+Jess adds on, "Each team can enter up to 4 pairs of participants."
+
+"It'll be mostly college girls," Natalie adds.
+
+<<include [[bikini questions]]>>
+
+::Is there a prize? [know-tournament-prize] <231,2185>
+"Yeah. A cash prize of ten thousand dollars, just for qualifying," Jess says.
+
+Nat chimes in, "It's also a chance to learn more about the people who run the tournament."
+
+Sally concludes, "But the really big money is the one million dollar grand prize."
+
+<<include [[bikini questions]]>>
+
+::why wear bikini [know-tournament-girls-only know-tournament-beach-volleyball] <614,1532>
+<<nobr>>
+<<if visitedTags('know-tournament-beach-volleyball') gt 1>>
+"The beach volleyball tournament is girls only," Jess says.
+<<else>>
+"So you can help with the girls only beach volleyball tournament," Jess says.
+<</if>>
+<</nobr>>
+
+<<include [[bikini questions]]>>
+
+::explain bikini feminizes [know-bikini-feminizes know-sally-enchanted-bikini] <170,1964>
+"Yeah, It's a magic bikini that'll turn you into a girl," Nat informs you.
+
+"Sally made them; she's a bit of a witch," Jess responds.
+
+Sally looks mildly upset, "I resent that, I am a Sorceress."
+
+<<include [[bikini questions]]>>
+
+::worried passing [know-bikini-magical] <858,2234>
+Jess laughs, "Yeah you'd look pretty ridiculous."
+
+"The bikini is enchanted," Sally informs you.
+
+<<include [[bikini questions]]>>
+
+::get someone else? <306,1669>
+"Sadly no, not on short notice anyway, your volleyball skills are lacking and we would get anyone else if we could," your sister says down to you.
+
+Nat speaks up for you, "I mean you've got a decent spike."
+
+Sally joins in, "We don't need to //win// the tournament though, just placing will give us a good chunk of money."
+
+<<include [[bikini questions]]>>
+
+::bikini questions [nobr] <602,1958>
+<<if visitedTags('know-tournament-exists') and not visitedTags('know-tournament-beach-volleyball')>>
+	<<once [['"What tournament?"'->What tournament?]]>>
+<</if>>
+<<once [["\"Is there a prize?\""->Is there a prize?]]>>
+<<if not visitedTags('know-tournament-girls-only') and not visitedTags('know-bikini-feminizes')>>
+	<<once [["\"Why do I need to wear a bikini?\""->why wear bikini]]>>
+<</if>>
+<<if visitedTags('know-bikini-magical') and
+     not visitedTags('know-bikini-feminizes')>>
+	<<once [["\"Enchanted bikini?\""->explain bikini feminizes]]>>
+<</if>>
+<<if visitedTags('know-tournament-girls-only') and not visitedTags('know-bikini-feminizes')>>
+	<<once [["\"I won't pass as a girl wearing just a bikini.\""->worried passing]]>>
+<</if>>
+<<if visitedTags('know-tournament-busty')>> 
+	<<once [["\"What kind of people run this strange tournament?\""->who runs tournament?]]>>
+<</if>>
+<<if visitedTags('know-bikini-feminizes') and not visitedTags('know-bikini-busty')>>
+	<<once [["\"So.. I need to wear a magic bikini to help you with a girl's only Beach Volleyball tournament?\""->learn bikini busty]]>>
+<</if>>
+<<if visitedTags('know-bikini-heather') and not visitedTags('know-tournament-busty')>>
+		<<once [["\"Why would Heather need a magical swimsuit like this?\""->why does heather need a magic bikini]]>>
+<</if>>
+<<if visitedTags('know-bikini-busty')>>
+	<<once [["\"Wait. If the top will give me boobs, what will the bottom do?\""->What do the bottoms do?]]
+	<<once [["\"How long will the enchantment hold out for?\""->Magic Bikni Duration]]>>
+	<<once [["\"Why do I need to wear the bikini right now?\""->Why do I need to wear the bikini right now?]]>>
+<</if>>
+<<if visitedTags('know-sally-enchanted-bikini')>>
+	<<once [["\"Couldn't Sally use magic to help us win the tournament?\""->magical cheating]]>>
+	<<once [['"May I ask more questions about being a sorceress?"'->Can I ask more questions about being a sorceress?]]>>
+<</if>>
+<<if visitedTags('know-bikini-busty', 'know-bikini-clones', 'know-bikini-heather')>>
+	<<once [["\"Can I keep the bikini?\""->Can I keep the bikini?]]>>
+<</if>>
+<<if visitedTags('know-what-bottoms-do')>>
+	<<once [["\"Uh. do I have to wear the bottoms? Surely I could wear a non-magical bottom.\""->have to wear bottoms]]>>
+<</if>>
+<<once [["\"Couldn't you get someone else?\""->get someone else?]]>>
+<<if visitedTags('know-bikini-magical') and visitedTags('know-what-bottoms-do') and visitedTags('know-bikini-clones')>>
+	[["\"I'll compete in the volleyball tournament with you...\""->agree]]<br>
+<</if>>
+
+::once macro widget [widget nobr] <1589,577>
+<<widget "once">>
+<<if $args[0].isLink and !visited($args[0].link)>>
+<<link $args[0]>><</link>><br>
+<<elseif !$args[0].isLink and !$args[1] and !visited($args[0])>>
+<<link $args[0] $args[0]>><</link>><br>
+<</if>>
+<</widget>>
+
+::Can I keep the bikini? <333,2236>
+"Ew," Jess exclaims, "I mean no one's gonna want it back after you get your sweat all over it."
+
+"Hrm... better not, that bikini will make you look like a busty version of Heather," Sally says, "How about I make you a new one?"
+
+[['"What would the new bikini make me look like?"'->new bikni appearance]]
+
+::agree <822,2972>
+"Tha..." Jess starts to say.
+
+[[Let your sister finish.->let sister finish][$jess_disposition += 5; $nat_disposition+=1; $sally_disposition += 2]]
+[["\"On one condition.\""->one condition]]
+
+::new bikni appearance <364,2602>
+"However you want... As long as it's a young busty woman of some sort."
+
+[["\"Okay, let's discuss the details later.\""->discuss making a bikni later][$keep_the_bikini to 'new']]
+[["I don't need to keep the bikini."]]
+<<once [["Do you need a vagina to qualify as a woman?"]]>>
+
+::one condition <984,3035>
+Jess scowls at you and says, "Fine, what is it brother?"
+
+<<if not $nat_offlimits>>\
+[["Nat takes my virginity."]]
+<</if>>\
+[["Sally goes on a date with me."]]
+[["You invite me to your college parties."]]
+[["Sally gives me a longer-lasting feminization enchantment and you treat me like one of the girls at school."]]
+
+::"Nat takes my virginity." <747,3188>
+<<if $nat_disposition >= -1>>
+Nat replies, "I'd be honored. We'll talk after the tournament."
+
+Jess blushes. "Ew. Gross brother."
+
+[["\"Awesome.\""->what next?][$reward to "sex with nat"]]
+<<else>>
+"No way dork," Nat rebuffs, "Not in a million years."
+
+[["\"It's the only way I'll do this.\""->virginity2][$nat_disposition -= 2; $jess_disposition -= 1]]
+[["\"Fine. I'll help anyway.\""->what next?]]
+<</if>>
+
+::"Sally goes on a date with me." [nobr] <962,3175>
+<<if $sally_disposition >= 0 >>
+"Alright, I guess that's OK. I mean a date doesn't mean anything?" Sally asks, blushing.<br><br>
+[["\"Awesome.\""->what next?][$reward to "sally_date"]]
+<<if $jess_disposition >= 0 >>
+"Oh. You'll make such a cute couple," Jess adds.<br><br>
+<<else>>
+"Ew. Gross. Don't do it Sal," Jess says in disgust.<br><br>
+
+"Jess, it's just a date, it's not like your BFF will lose her virginity to your brother," Nat says in an even tone.<br><br>
+
+[["\"So it's settled?\""->sally date 2]]
+<</if>>
+<<else>>
+"Uh. I... Uh..." Sally struggles to find words.<br><br>
+
+"What Sally is trying to say, is 'No.' you're a little creep," Jess intones.<br><br>
+
+"No. Jess that's OK. It's just a date. It might be fun."<br><br>
+
+[["\"So it's settled?\""->sally date 2]]
+<</if>>
+
+::"You invite me to your college parties." [nobr] <1287,3284>
+<<if $jess_disposition >= 0>>
+"I was probably going to invite you anyway, you're a good brother."<br><br>
+<<else>>
+"You want to let my lame brother come to my cool college parties? Alright nerd, as long as you don't embarrass me."<br><br>
+
+<<if $keep_the_bikini == 'new'>>
+[["\"I wouldn't be your lame brother, I'd be your hotter younger sister.\""->hotter sister][$reward to "college parties as a girl"]]<br>
+<</if>>
+<</if>>
+[["\"Sweet.\""->what next?][$reward to "college parties"]]
+
+::"Sally gives me a longer-lasting feminization enchantment and you treat me like one of the girls at school." <1109,3130>
+"Oh. I never knew you felt that way. I kind of feel bad for teasing you for being a sissy wimp," Jess says before hugging you.
+
+Sally explains, "That kind of magic is doable, but it will take a while and be expensive. In the meantime, I could put a spell similar to the one on the bikini on some underwear and you can change every day."
+
+"Oh. you'll be such a cute girl," Nat mews.
+
+[["\"You guys are the best.\""->what next?][$reward to "help transitioning"]]
+[["\"Sike! I'm only in this for the money.\""->what next?]]
+
+::What do the bottoms do? [know-what-bottoms-do] <191,1724>
+"It'll give you a nice round butt to go with your bust of course," Nat says.
+
+Jess laughs, "And also take away your penis."
+
+"But you'll get a vagina to replace it with," Nat informs you.
+
+<<include [[bikini questions]]>>
+
+::Magic Bikni Duration [know-enchantment-duration] <961,2133>
+"If you're wearing both parts it should last up to 8 hours. 2 hours with only one. The effect lingers for 30 minutes after you take off both parts. If the magic stored in them runs out, they'll need to recharge in perfect darkness for 8 hours before they can be used again."
+
+<<include [[bikini questions]]>>
+<<script>>/* FIXME Apparently this is a Checkov's gun! */<</script>>
+
+::have to wear bottoms <400,2346>
+"I mean I guess not," Jess starts.
+
+Sally interjects, "No. The magic is imbued in both parts. It's important to wear both. They'll last longer and the magic will work better."
+
+"Besides, you can't be showing off your bulge at this thing you'll stand out."
+
+[['"But I don\'t need to wear them for very long?"'->"But I don't need to wear them for very long."]]
+<<include [[bikini questions]]>>
+
+::discuss making a bikni later <151,2685>
+"Sounds good."
+
+<<include [[bikini questions]]>>
+
+::"I don't need to keep the bikini." <237,2505>
+"If that's what you want."
+
+<<include [[bikini questions]]>>
+<<set $keep_the_bikini to 'destroy'>>
+
+::"Do you need a vagina to qualify as a woman?" <604,2632>
+"I guess not, but you can't have an unsightly bulge, would a two inch flaccid cock be acceptable?" Sally inquires as the other girls stifle a laugh.
+
+[["\"I guess.\""->keep bikini final][$bottom_style to "girlcock"]]
+[["I'd rather be a ken doll down there."]]
+[["\"Better than a vagina.\""->keep bikini final][$bottom_style to "girlcock"; $jess_disposition -=1]]
+
+::"I'd rather be a ken doll down there." <489,2805>
+"Really? because that could be arranged."
+
+[["\"Yeah. Make my bikini bottom smooth as a ken doll instead of genitals.\""->keep bikini final][$bottom_style = "ken_doll"]]
+[["\"No. Make it with a pussy.\""->keep bikini final][$bottom_style = "vagina"]]
+[["\"No. Make it with the small cock.\""->keep bikini final][$bottom_style = "girlcock"]]
+
+::keep bikini final <276,2872>
+"Alright I'll make your bikini bottom transform your genitals to<<nobr>>
+<<switch $bottom_style>>
+<<case "vagina">>
+a normal vagina
+<<case "girlcock">>
+a two inch flaccid penis
+<<case "ken_doll">>
+nothing: as smooth as a ken doll.
+<</switch>>
+," Sally states.<</nobr>>
+
+[["I don't need to keep the bikini."]]
+[['"Cool. We'll discuss exactly what kind of woman I want to be later."'->discuss making a bikni later][$keep_the_bikini to 'new']
+
+::"But I don't need to wear them for very long." <525,2505>
+"The tournament lasts like all of Spring Break," Nat explains.
+
+Jess adds, "You'll need to wear it all day all week while we compete."
+
+<<include [[bikini questions]]>>
+
+::Can I ask more questions about being a sorceress? <1047,2021>
+Sally says, "Quite frankly, no. We don't have time."
+
+<<include [[bikini questions]]>>
+
+::Why do I need to wear the bikini right now? <635,2514>
+"We're going to go to the beach to practice," Nat says.
+
+"We have no illusions about winning, but if you're not gonna give it your best why bother?" Sally adds.
+
+Jess says, "Plus the weather's really nice."
+
+<<include [[bikini questions]]>>
+
+::what next? <887,3395>
+"So what's next?" Natalie asks.
+[[Fast Forward ⏩->ff1]]
+<<silently>>
+<<if $current_top == 'heather bikini'>>\
+"Well you better finish getting changed brother, then we can practice," Jess says.
+[["\"Alright I'll meet you back here in 20.\""->put on swimsuit]]
+<<else>>
+"We all need to get changed, then we can practice," Jess says.
+[["\"Alright I'll meet you back here in 20.\""->put on swimsuit]]
+<</if>>
+<<if $keep_the_bikini == 'new'>>\
+[["No. we should go shopping and get the stuff for my bikini."->shopping1]]
+<</if>>\
+<</silently>>
+
+::virginity2 <470,3195>
+"Then this is not happening," Nat says.
+
+\## Game Over ##
+
+::sally date 2 <1087,3421>
+"Yeah we'll figure out the details later."
+
+<<include [[what next?]]>>
+<<set $reward to "date with sally">>
+
+::hotter sister [nobr] <1286,3414>
+Jess exclaims, "Oh come on now Sally, don't make him look better than me."<br><br>
+
+<<if $sally_disposition >= 5>>
+"No, I think I will make him super hot, just to prove how good I am," Sally boasts.
+<<else>>
+"Jess, he'll look super good in the bikini, we all will."<br><br>
+<</if>>
+
+<<include [[what next?]]>>
+
+::Is bikini magical? <1081,1458>
+<<if $jess_disposition > 0 >>
+<<include [[explain magical bikini]]>>
+<<else>>
+"Maybe, why don't you try it on?", Jess explains.
+
+[['"Don\'t play games with me Jess."'->don't play games]]
+<</if>>
+
+::don't play games [know-bikini-magical know-sally-enchanted-bikini] <834,1588>
+"Fine. Whatever. It's a magical bikini. Sally made it."
+
+<<include [[bikini questions]]>>
+
+::magical cheating [know-magical-ethics] <1080,1782>
+"No! that's against magic user ethical guidelines! I'd be banished from magic for at least a year," Sally declares.
+
+"Disguising yourself to bypass bigoted guidelines or pass arbitrary beauty requirements was deemed eligible in the '60s, but in general using magic at all during sporting events is prohibited, even if the event isn't professional."
+
+<<include [[bikini questions]]>>
+
+::let sister finish <687,3018>
+"...'s great! It'll be so fun and we'll get lots of money."
+<<include [[what next?]]>>
+
+::been there this whole time <636,959>
+Jess opens the door with her friends lining up behind her.
+
+"Oh my GOD! Have you been listening in this whole time?" she exclaims.
+
+<<include [[been there this whole time2]]>>
+
+[["\"Uh can I get some help with this?\""->help with bikini]]
+[[Untie and try again, but do the top part first->Tie the top part first.]]
+
+::explain magical bikini [know-bikini-magical know-bikini-feminizes know-tournament-beach-volleyball know-sally-enchanted-bikini] <944,1628>
+"Yes Sally made them," Jess replies, "It'll turn you into a girl temporarily so you can help us in our beach volleyball tournament."
+
+<<include [[bikini questions]]>>
+
+::learn bikini busty [know-bikini-feminizes know-bikini-heather know-tournament-busty know-bikini-busty know-bikini-magical know-sally-enchanted-bikini know-bikini-clones] <194,2075>
+"Not just you, we'll need to wear them too. The tournament has a minimum bust size, and we're all under it," Nat informs you.
+
+Sally continues, "Each bikini I made is tied to a different person and whoever puts it on will look like that person. I made yours for Heather, but she can't make it, so you'll look like her when you put it on except bustier."
+
+<<include [[bikini questions]]>>
+
+::explain tits [know-bikini-heather know-bikini-busty know-bikini-feminizes] <1075,1335>
+"Tee hee!" the girls giggle.
+
+"You look just like Heather!" Jess giggles.
+
+"Well it's a funny story..." Sally starts.
+
+[["\"I'm listening.\""->explain tournament detail.]]
+
+::explain tournament detail. [know-tournament-beach-volleyball know-tournament-girls-only know-bikini-busty know-bikini-feminizes know-bikini-heather] <724,1555>
+"Right so there's this girl's only beach volleyball tournament."
+
+"Heather couldn't make it, so we gave you her bikini."
+
+<<include [[bikini questions]]>>
+
+::who runs tournament? <675,2263>
+"It's a bit of a mystery," Sally says.
+
+Nat states, "I heard it was some sort of group of adult entertainers, who put on a show with nice jiggling boobs for crowds of horny men."
+
+Jess says, "I heard it was some kind of sorority, and they use it to search for new members."
+
+Sally explains, "I heard it's run by a league of magicians searching for new talent."
+
+<<include [[bikini questions]]>>
+
+::why does heather need a magic bikini [know-tournament-busty know-bikini-busty know-bikini-magical know-sally-enchanted-bikini know-bikini-clones] <363,1799>
+"Not just her, we'll all need to wear them. The tournament has a minimum bust size, and we're all under it," Nat informs you.
+
+"Sally enchanted them, she's a bit of a witch."
+
+"I resent that," Sally says, "I am a sorceress."
+
+Sally continues, "Each bikini I made is tied to a different person and whoever puts it on will look like that person. I made that one for Heather, but she can't make it, so you'll look like her when you have it on except bustier."
+
+<<include [[bikini questions]]>>
+
+::undo this [know-bikini-feminizes know-bikini-busty know-tournament-beach-volleyball know-bikini-heather know-bikini-magical] <1254,1446>
+"No! You need to keep being a girl so you can help us with our Beach Volleyball tournament," Jess says.
+
+Sally continues, "Heather couldn't make it so we gave you her bikini."
+
+<<include [[bikini questions]]>>
+
+::explain bikini [know-tournament-exists] <511,1748>
+"Well there's this tournament..." Sally starts.
+
+<<include [[bikini questions]]>>
+
+::ff1 <2611,4486>
+Alright, you've chosen to fast forward:
+
+brief summary, of what happens
+
+- put on the magic bikini (either top first or bottom first, or the top or bottom you didn't put on before now).
+- option to seduce Natalie (similar to previous scene).
+
+Walk out into the living room and talk to the girls and:
+[[Fast Forward ⏩->get a girl name]]
+
+::ff2 <2596,4016>
+You've fast-forwarded, here's what happens between now and the next passage:
+
+- There's a "mini-game" for cash. This is used when you visit the mall later after practice
+- ways to get cash:
+	- beg/borrow from any of the girls
+	- steal (from your parents, either cash or credit card)
+	- find loose change in the couch
+	- destroy your piggy bank to get the change
+- Your sister lets you borrow some clothes for the ride to the beach.
+
+This next section is super-unfinished, but I kind of wanted to release this work-in-progress anyway. get ready to see a lot of \#TODO (or stop until I finish this part)
+
+[[Get in Jess's car and go to the beach->Which beach]]
+
+::Twee2Settings [twee2]
+@story_start_name = 'Start Intro'
+Twee2::build_config.story_ifid = 'd6480e34-cbe1-4bb9-86d3-b4cb9c511475'
+Twee2::build_config.story_format = 'SugarCube2'

+ 2 - 3
story/02_transform.tw2

@@ -814,7 +814,6 @@ Bulbous mounds seem suspended by the swimsuit, trying to escape; and her ass fil
 
 <<include [[nat give you a bj]]>>
 
-
 ::new plan 1 <1518,841>
 "Alright girls sounds like we need a new plan," Jess announces.
 
@@ -952,7 +951,6 @@ Double-click this passage to edit it.
 ::shopping1 <5556,3386>
 \#TODO - the girls will want you to put on the top and bottom before they'll go shopping with you.
 
-
 ::bottoms first <2936,1903>
 Better start with the bottoms.
 
@@ -1106,4 +1104,5 @@ Double-click this passage to edit it.
 ::tattle to cops/parents <1426,1788>
 "Calm down, the magic wears off after a few hours if you take the bikini off," Sally explains.
 
-<<include [[bikini questions]]>>
+<<include [[bikini questions]]>>
+

+ 4 - 1
story/03_custom_girl.tw2

@@ -82,6 +82,7 @@
 "What about pubic hair?"
 
 <<inlude [[pubic hair options]]>>
+
 ::custom girl 5 <4395,7629>
 <<nobr>>
 
@@ -645,6 +646,7 @@ delete State.temporary.available_genitals[variables()['bottom_style']]
 <<if ['kinda_like_heather', 'heather_sister'].include($heather_bikini_options)>>\
 <<choice [['"However, Heather keeps hers."'->heather pubes]]>>
 <</if>>\
+
 ::amanda1 <4617,5794>
 TODO
 [[Fast Forward ⏩->ff2]]
@@ -659,4 +661,5 @@ TODO
 <<include [[pubic hair options]]>>
 
 ::ff3 <2494,4691>
-Here you'll choose how to customize your bikini, if you used dialog options earlier to "keep the bikini".
+Here you'll choose how to customize your bikini, if you used dialog options earlier to "keep the bikini".
+

+ 65 - 65
story/04_money_game.tw2

@@ -1,65 +1,65 @@
-::Places to search <4951,4575>
-<<choice [[Search Your Bedroom]]>>

-<<choice [[Search your parent's room]]>>

-<<choice [[Search under the couch cushions]]>>

-<<choice [[Text Jess for money]]>>

-<<choice [[Beg the girls for money]]>>
-
-::Search Your Bedroom <4951,4723>
-Your old piggy bank has about $20 in quarters in it, it's amazing you haven't raided it earlier.

-

-<<include [[Places to search]]>>
-
-::Search your parent's room <4726,4725>
-Double-click this passage to edit it.
-
-::Search under the couch cushions <4841,4725>
-Double-click this passage to edit it.
-
-::Text Jess for money <5071,4886>
-<div class="messages-wrapper">

-@@.message;.from;Sis can I have some money... I'll pay you back.@@

-<<if $jess_disposition < 1 >>

-@@.message;.to;No chance bro, you're not trustworthy.@@

-[[text: I could do your chorse?->do jess's chores]]

-<<elseif $jess_disposition < 3 >>

-@@.message.to;Hrm. will you do all my chores?@@

-[[text: Yes-do jess's chores>]]

-[[text: No->no money from sis]]

-<<else>>

-@@.message;.to;Sure, lil sis, I can spot you $200, I'm sure we'll win it back.@@

-[[text: Thanks Sis->grateful after giving you money.]]

-<</if>>

-</div>>
-
-::Beg the girls for money <5213,4721>
-Double-click this passage to edit it.
-
-::Check wallet <4955,4360>
-You check your wallet, It's got 1 folded up five dollar bill in it.

-

-That won't be enough for much of anything.

-

-<<include [[Places to search]]>>
-
-::do jess's chores <4850,5036>
-Double-click this passage to edit it.
-
-::text: Yes-do jess's chores> <5000,5036>
-Double-click this passage to edit it.
-
-::no money from sis <5150,5036>
-Double-click this passage to edit it.
-
-::grateful after giving you money. <5300,5036>
-Double-click this passage to edit it.
-
-::new clothes 1 <4934,4141>
-"Alright, after practice we'll head to the Mall to get you a new wardrobe."

-

-[['"New wardrobe?"']
-
-::Twee2Settings [twee2]
-Twee2::build_config.story_ifid = '3c1b2fa6-119a-4be2-98f3-83f9cb9e6801'
-Twee2::build_config.story_format = 'SugarCube2'
-
+::Places to search <4951,4575>
+<<choice [[Search Your Bedroom]]>>
+<<choice [[Search your parent's room]]>>
+<<choice [[Search under the couch cushions]]>>
+<<choice [[Text Jess for money]]>>
+<<choice [[Beg the girls for money]]>>
+
+::Search Your Bedroom <4951,4723>
+Your old piggy bank has about $20 in quarters in it, it's amazing you haven't raided it earlier.
+
+<<include [[Places to search]]>>
+
+::Search your parent's room <4726,4725>
+Double-click this passage to edit it.
+
+::Search under the couch cushions <4841,4725>
+Double-click this passage to edit it.
+
+::Text Jess for money <5071,4886>
+<div class="messages-wrapper">
+@@.message;.from;Sis can I have some money... I'll pay you back.@@
+<<if $jess_disposition < 1 >>
+@@.message;.to;No chance bro, you're not trustworthy.@@
+[[text: I could do your chorse?->do jess's chores]]
+<<elseif $jess_disposition < 3 >>
+@@.message.to;Hrm. will you do all my chores?@@
+[[text: Yes-do jess's chores>]]
+[[text: No->no money from sis]]
+<<else>>
+@@.message;.to;Sure, lil sis, I can spot you $200, I'm sure we'll win it back.@@
+[[text: Thanks Sis->grateful after giving you money.]]
+<</if>>
+</div>>
+
+::Beg the girls for money <5213,4721>
+Double-click this passage to edit it.
+
+::Check wallet <4955,4360>
+You check your wallet, It's got 1 folded up five dollar bill in it.
+
+That won't be enough for much of anything.
+
+<<include [[Places to search]]>>
+
+::do jess's chores <4850,5036>
+Double-click this passage to edit it.
+
+::text: Yes-do jess's chores> <5000,5036>
+Double-click this passage to edit it.
+
+::no money from sis <5150,5036>
+Double-click this passage to edit it.
+
+::grateful after giving you money. <5300,5036>
+Double-click this passage to edit it.
+
+::new clothes 1 <4934,4141>
+"Alright, after practice we'll head to the Mall to get you a new wardrobe."
+
+[['"New wardrobe?"']
+
+::Twee2Settings [twee2]
+Twee2::build_config.story_ifid = '3c1b2fa6-119a-4be2-98f3-83f9cb9e6801'
+Twee2::build_config.story_format = 'SugarCube2'
+

+ 9 - 12
story/05_beaches.tw2

@@ -78,9 +78,6 @@ Natalie tells Jess how to get to the private beach and points out the turns.
 [['"That\'s 30 minutes each way, we\'ll get one hour less of practice this way."'->less practice on secret beach]]
 [['"Sounds excellent. We\'ll have the place to ourselves."'->secret beach 2]]
 
-::public beach 1 <8009,5612>
-\#TODO
-
 ::chide Nat <5665,5751>
 "Uh... I've gone a couple of times," she replies sheepishly.
 
@@ -478,40 +475,40 @@ Double-click this passage to edit it.
 ::nude olympics <6651,7614>
 Double-click this passage to edit it.
 
-::name puzzle start <8708,6734>
+::name puzzle start <5524,966>
 [['"Vicky is..."'->name puzzle vicky]]
 [['"Van is..."'->name puzzle van]]
 [['"Minnie is..."'->name puzzle minnie]]
 [['"Diana is..."'->name puzzle diana]]
 [['"I\'ve figured it out!"'->name puzzle end]]
 
-::name puzzle vicky <8483,6884>
+::name puzzle vicky <5299,1116>
 [['"Vicky is short for Victoria."'->vicky short for Victoria]]
 [['"Victoria is the name of a British Queen."'->vicky named after queen victoria]]
 
-::name puzzle van <8633,6884>
+::name puzzle van <5449,1116>
 Double-click this passage to edit it.
 
-::name puzzle minnie <8783,6884>
+::name puzzle minnie <5599,1116>
 Double-click this passage to edit it.
 
-::name puzzle diana <8933,6884>
+::name puzzle diana <5749,1116>
 Double-click this passage to edit it.
 
-::name puzzle end <9604,6986>
+::name puzzle end <6420,1218>
 <<if true>>\#TODO\
 [['"You\'re British"'->name game fail british]]
 <</if>>
 
 <<back "\"Never mind, I need to think about this some more.\"">>
 
-::name game fail british <9576,7484>
+::name game fail british <6392,1716>
 Double-click this passage to edit it.
 
-::vicky short for Victoria <8408,7034>
+::vicky short for Victoria <5224,1266>
 Double-click this passage to edit it.
 
-::vicky named after queen victoria <8558,7034>
+::vicky named after queen victoria <5374,1266>
 Double-click this passage to edit it.
 
 ::Twee2Settings [twee2]

+ 68 - 69
story/06_public_beach.tw2

@@ -1,4 +1,4 @@
-::Arrive at Public Beach <8657,508>
+::public beach 1 <8835,5770>
 We arrive at the public beach parking lot, and it takes a while to find a spot.
 
 Sally rushes off to the beach.
@@ -19,29 +19,29 @@ Nat calls out as she gets into view, "So is the public net free?"
 [['"Bad news first."'->public beach bad news first]]
 [['"Just spit it out."'->public beach spit it out]]
 
-::public beach good news first <8507,658>
+::public beach good news first <8539,5942>
 Sally exclaims, "Well the good news is that there's a free volleyball court we can use, and we don't need to set our net up... but the bad news is that Marci and her friends are here, and they're using the only free court is right next to them."
 
 <<include [[public beach choose court]]>>
 
-::public beach bad news first <8657,645>
+::public beach bad news first <8797,5914>
 "Okay... the bad news. Marci and her friends are here, and they're using one of the volleyball courts, next to the only available one," Sally explains.
 
 <<include [[public beach choose court]]>>
 
-::public beach spit it out <8807,658>
+::public beach spit it out <9071,5946>
 "Alright alright. Marci is here with her friends, and the only free volleyball court is right next to the one's she is using," Sally explains.
 
 <<include [[public beach choose court]]>>
 
-::public beach marci is here <8819,937>
+::public beach marci is here <8963,6257>
 Jess smiles, "Oh don't tell me you have a crush?"
 
 [['"I just admire her athleticism."'->public beach admire marcis athleticism]]
-[['"No. Her boyfriend Darren makes fun of me for being a nerd."->public beach teased for nerdiness]]
+[['"No. Her boyfriend Darren makes fun of me for being a nerd."'->public beach teased for nerdiness]]
 [['<lie> "No."'->lie about crush]]<<silently>>TODO - add $lies+=1<</silently>>
 
-::public beach setup the nets far away <8391,941>
+::public beach setup the nets far away <8535,6302>
 "Oh don't be a scaredy cat," Natalie admonishes, "They're cheerleaders not vampires."
 
 Jess says, "Marci may be a stuck up bitch, but she cheered real hard for us during the championship last year."
@@ -49,10 +49,10 @@ Jess says, "Marci may be a stuck up bitch, but she cheered real hard for us duri
 Sally: "Yeah! but that's when her coach and stuff are watching, in halways and stuff they're super mean. They TPed my house!"
 
 [['"Their heckling will be distracting. We should practive far away from them."'->public beach distracting heckling]]
-[['"I guess you're right. We'll save a lot of time walking and setting up/taking down the net."'->public beach save time]]
+[['"I guess you\'re right. We\'ll save a lot of time walking and setting up/taking down the net."'->public beach save time]]
 [['"Hear me out... Marci could be our ally."'->public beach marci ally]]
 
-::public beach run to the free court <8831,1866>
+::public beach run to the free court <8975,7186>
 You grab a volleyball from the back of the car, and head over the burm. Going fast enough to claim the free court before someone else does.
 
 You see Marci, the head cheerleader, and her three friends, Pratiba, Gina and Karen.
@@ -68,28 +68,28 @@ Right... they think I'm Heather... 'coz I look like Heather.
 [['"I would never join your stupid squad."'->public beach run to the court 2]]
 [['"Thanks? I guess."'->public beach run to the court 2]]
 
-::public beach choose court <8642,793>
-[['"Marci is here?'"->public beach marci is here]]
+::public beach choose court <8757,6057>
+[['"Marci is here?\'"'->public beach marci is here]]
 [['"We should setup our net far away from the public nets."'->public beach setup the nets far away]]
-[['"So we don't have to setup our net great, lets grab the free court before someone else does." '->public beach run to the free court]]
+[['"So we don\'t have to setup our net great, lets grab the free court before someone else does." '->public beach run to the free court]]
 
-::public beach distracting heckling <8171,1127>
+::public beach distracting heckling <8315,6447>
 Jess: "I guess you're right, but we should plan on doing something mean to them later."
 
 Natalie: "... Jess... you're super passive aggressive, and I love it."
 
 Sally: "I've been reading the rules, and there are _some_ minor hexes I can land without getting in too much trouble."
 
-[['"Let's go. I'll carry the net."'->public beach carry the net]]
-[['"Lets' go. I'll scout ahead and find a place."'->public beach scout ahead]]
+[['"Let\'s go. I\'ll carry the net."'->public beach carry the net]]
+[['"Lets\' go. I\'ll scout ahead and find a place."'->public beach scout ahead]]
 
-::public beach save time <8342,1133>
+::public beach save time <8486,6453>
 "Yeah!" Natalie screams, as she grabs the volleyball from the back of the car, and heads to the court.
 
 [[rush over->public beach head on over]]
 [['"Hey! wait up."'->public beach head on over]]
 
-::public beach marci ally <8557,1131>
+::public beach marci ally <8701,6451>
 Me: "So like the rules state we can have four pairs enter the tournament right?"
 
 Sally: "Yeah."
@@ -104,9 +104,9 @@ Sally: "It also means halving the winnings if we win. And they don't know how to
 
 [['"You said it yourself, earlier this isn\'t about winning, so much as it\'s about qualifying"'->public beach qualifying more important than winning]]
 [['"I don't know how to play volleyball very well... but you're letting me on your team..."'->public beach 
-[['"They're plenty athletic! have you seen the throws and things they do, it\'s impressive!"'->public beach impressive cheering]]
+[['"They\'re plenty athletic! have you seen the throws and things they do, it\'s impressive!"'->public beach impressive cheering]]
 
-::public beach admire marcis athleticism <8691,1024>
+::public beach admire marcis athleticism <8933,6344>
 Jess: "Sure, I'm _sure_ it's her athleticism you admire."
 
 Natalie adjusts her bikini top, "You know with these swimsuits Sally made we have at least as much _athleticism_ as Marci does."
@@ -116,34 +116,34 @@ Sally: "Don't be silly guys, if anything these things are gonna make it harder t
 [['"No, Sally, not literal athleticism..."'->public beach not literal athleticism]]
 [['"So hear me out, we could team up with the cheerleaders."'->public beach marci ally]]
 
-::public beach teased for nerdiness <8829,1232>
+::public beach teased for nerdiness <9001,6552>
 Sally: "It's okay, Marci teased me for being a nerd. We better find a spot far away from Marci and Darren."
 <<silently TODO in crease $sally_disposition>>
 
-[['"Alright, I'll carry the net."'->public beach carry the net]]
-[['"Alright. I'll scout ahead and find a place."'->public beach scout ahead]]
+[['"Alright, I\'ll carry the net."'->public beach carry the net]]
+[['"Alright. I\'ll scout ahead and find a place."'->public beach scout ahead]]
 
-::lie about crush <9030,1238>
+::lie about crush <9174,6558>
 Jess: "I'm your sister I can tell when you're lying about these sorts of things."
 
-[['"She's the head cheerleader, the most popular girl in school... of course I have a crush on her."'->public beach marci crush]]
-[['"Yeah she's super hot alright. I'm attacted to super hot girls... this isn't a surprise."'->public beach marci crush]]
+[['"She\'s the head cheerleader, the most popular girl in school... of course I have a crush on her."'->public beach marci crush]]
+[['"Yeah she\'s super hot alright. I\'m attacted to super hot girls... this isn\'t a surprise."'->public beach marci crush]]
 [['"I actually have a thing for Darren..."'->public beach Darren]]
 
-::public beach not literal athleticism <8711,1236>
+::public beach not literal athleticism <8851,6556>
 Sally looks quizzically, and then says "Oh!" and giggles.
 
 Yeah $girl_name, "I guess you got more _athleticism_ than you bargained for."
 
 [['"Cute. But hear me out we can use the cheerleaders."'->public beach marci ally]]
 
-::public beach marci crush <9154,1380>
+::public beach marci crush <9298,6700>
 Jess: "Yeah alright, I suppose Marci has some assets that you might have a hard time ignoring, but she's just such a stuck up bitch."
 
-[['"Listen here me out we can use the cheerleader's help."'->public beach marci ally]]
-[['"I don't think I can be near her, I would be too distracted by embarrassment."'->public beach too embarrassed]]
+[['"Listen here me out we can use the cheerleader\'s help."'->public beach marci ally]]
+[['"I don\'t think I can be near her, I would be too distracted by embarrassment."'->public beach too embarrassed]]
 
-::public beach Darren <8647,1465>
+::public beach Darren <8735,6903>
 Jess and Natalie laugh.
 
 Jess: "Darren? Isn't he like a linebacker?"
@@ -160,16 +160,16 @@ Natalie: "Hey, why did you never put a hex on her or whatever?"
 
 Sally: "I thought about it, but there are like... rules..."
 
-[['"Listen here me out we can use the cheerleader's help."'->public beach marci ally]]
-[['"I don't think I can be near him, I would be too distracted by embarrassment."'->public beach too embarrassed]]
+[['"Listen here me out we can use the cheerleader\'s help."'->public beach marci ally]]
+[['"I don\'t think I can be near him, I would be too distracted by embarrassment."'->public beach too embarrassed]]
 
-::public beach carry the net <8685,1871>
+::public beach carry the net <8829,7191>
 Double-click this passage to edit it.
 
-::public beach scout ahead <8543,1869>
+::public beach scout ahead <8687,7189>
 Double-click this passage to edit it.
 
-::public beach qualifying more important than winning <8444,1300>
+::public beach qualifying more important than winning <8540,6616>
 Sally: "I guess, but we'd still have to split it eight ways instead of four."
 
 Jess: "An eight way split is still a lot of money... yeah."
@@ -178,9 +178,9 @@ Natalie: "I guess I can pretend not to hate Marci's guts for a few days."
 
 Sally: "I guess I can too, but I'm looking up the legal Hex limit later."
 
-[['"Alright, let's get down and talk to them."'->public beach talk to cheerleaders]]
+[['"Alright, let\'s get down and talk to them."'->public beach talk to cheerleaders]]
 
-::public beach impressive cheering <8558,1295>
+::public beach impressive cheering <8694,6647>
 Natalie: "Yeah it's super impressive, they get thrown high into the air, and then when they come down you can see under their skirt..."
 
 Natalie snickers.
@@ -193,9 +193,9 @@ Sally: "But Marci would be rich too!" Sally thinks... "Ugh when I say that out l
 
 Natalie: "If you need any help with that Sal, just let me know... I'd love to see Marci as a frog... or something."
 
-[['"That\'s the spirit! Let\s go talk to them."'->public beach talk to cheerleaders]]
+[['"That\'s the spirit! Let\\s go talk to them."'->public beach talk to cheerleaders]]
 
-::public beach head on over <8985,1865>
+::public beach head on over <9217,7185>
 You see Marci, the head cheerleader, and her three friends, Pratiba, Gina and Karen.
 
 Marci's boyfriend Daren was there with 3 other preppy looking dudes. The boys were sitting in beach chairs at the side of the court and they were drinking something out of silver cans while they watched the girls jiggle around in their tight-fitting swimsuits.
@@ -206,18 +206,18 @@ Marci sees Nat and says, "Oh hey, Natalie... too bad... oh and your friends are
 
 <<include [[talk to the cheerleaders]]>>
 
-::public beach talk to cheerleaders <8410,1860>
+::public beach talk to cheerleaders <8554,7180>
 Double-click this passage to edit it.
 
-::public beach too embarrassed <8843,1574>
+::public beach too embarrassed <8877,6894>
 Jess: "Yeah it's the embarrassment that distracts you."
 
 Sally: "I guess we better find a spot far away from Marci and Darren to setup our net."
 
-[['"Let's go, I\'ll scout ahead"'->public beach scout ahead]]
-[['"Let's go, I\ll carry the net"'->public beach carry the net]]
+[['"Let\'s go, I\'ll scout ahead"'->public beach scout ahead]]
+[['"Let\'s go, I\\ll carry the net"'->public beach carry the net]]
 
-::public beach run to the court 2 <8831,2014>
+::public beach run to the court 2 <8975,7329>
 They stop playing and turn towards you, giving the guys a good look at all their asses.
 
 "Oh my god Marci, look at her!" Gina is staring at your tits. The girls are staring at your voluminous cleavage. Darren who had been distracted by Gina's ass, looks over and nods at the other guys.
@@ -227,71 +227,71 @@ Marci: "I haven't seen you in a while... Looks like you would make the squad if
 [['"Uh... my eyes are up here..."'->public beach my eyes are up here.]]
 [['"Uh yeah... I guess I\'m kind of a late bloomer."'->run to the free court 3]]
 
-::public beach my eyes are up here. <8756,2168>
+::public beach my eyes are up here. <8900,7488>
 Marci: "I didn't mean it like that... I'm not into girls, it's just we require a certain amount of jiggle..."
 
 Gina: "Yeah the uniforms don't come in small chest sizes."
 
 <<include [[run to the free court 3]]>>
 
-::run to the free court 3 <8906,2166>
+::run to the free court 3 <9054,7492>
 At this point, Natalie, Jess and Sally arrive.
 
 "Anyway, I assume you're here about the volleyball tournament? We're competing in it."
 
 <<include [[talk to the cheerleaders]]>>
 
-::practicing with a beach ball <8584,2498>
+::practicing with a beach ball <8751,7884>
 Double-click this passage to edit it.
 
-::real ball <8717,2506>
+::real ball <8897,7910>
 Double-click this passage to edit it.
 
-::is that beer <8877,2523>
+::is that beer <9057,7904>
 Darren says, "Yeah it's Coors. You want one?"
 
 [['"Sure."'->can i have a beer]]
 [['"No thanks."'->no beer please]]
 [['"You really shouldn\'t have beer..."'->no beer]]
 
-::what tournament <9266,2483>
+::what tournament <9446,7871>
 Marci: "It's like this weird reality show? I guess? It's not on T.V. internet only... but they have girls play beach volleyball, and give cash prizes."
 
 Gina: "They gotta have curves though, like us. No skinny bitches."
 
 [['"Cash prizes."'->cash prizes]]
-[['"Oh so you need to be good at volleyball huh... wouldn't it be great if you... had some training? from... people who know how to play volleyball."'->help train]]
-[['"So it's like porn?"->porn]]
+[['"Oh so you need to be good at volleyball huh... wouldn\'t it be great if you... had some training? from... people who know how to play volleyball."'->help train]]
+[['"So it\'s like porn?"'->porn]]
 
-::use nextdoor net <9479,2484>
+::use nextdoor net <9659,7888>
 Double-click this passage to edit it.
 
-::talk to the cheerleaders <8931,2314>
+::talk to the cheerleaders <9164,7690>
 They wave at the large temporary stadium, the tournament organizers have been made, it's all roped off and it's covered in banners with the tournaments logo: A woman with two volleyballs where here breast should be.
 
-[['"Let me guess... you're practicing? with that?" (points at beach ball)'->practicing with a beach ball]]
+[['"Let me guess... you\'re practicing? with that?" (points at beach ball)'->practicing with a beach ball]]
 [['"The tournament will be with a real ball like this one."'->real ball]]
 [['"Is that beer?"'->is that beer]]
 [['<lie> "Oh? What tournament?"'->what tournament]]
 [['"Oh no we\'re not competing, but we\'d like to use the net next to yours."'->use nextdoor net]]
 
-::can i have a beer <8629,2674>
+::can i have a beer <8755,8034>
 You catch the beer.
 
 [[shotgun it->shotgun the beer]]
 
-::no beer please <8721,2803>
+::no beer please <8876,8207>
 "Suit yourself," Darren says as he takes a big slurp from the can.
 
 #TODO
 
-::no beer <8917,2694>
+::no beer <9097,8054>
 Marci: "Don't be a Narc."
 
 [['"Fine. Fine."'->no beer please]]
 [['"Look I\'m just saying, ther\'s a cop right over there."'->cop over there]]
 
-::cash prizes <9076,2658>
+::cash prizes <9256,8018>
 Karen: "Yeah the winning team gets a million dollars!"
 
 Marci: "We ain't exactly stellar players... so we're pretty sure we can't win the whole thing, but your team gets a hundred thousand just for qualifying, that's 25 grand split four ways."
@@ -300,10 +300,10 @@ Marci: "We ain't exactly stellar players... so we're pretty sure we can't win th
 [['"We... uh actually know how to play volleyball, maybe we could help you?"'->help train]]
 [[
 
-::help train <9226,2661>
+::help train <9406,8036>
 Double-click this passage to edit it.
 
-::porn <9401,2676>
+::porn <9581,8036>
 Karen: "No! it's not naked or anything."
 
 Gina: "Oh come on, it's kinda porn-ish. We'd be sexualizing ourselves for a presumably male audience."
@@ -312,29 +312,28 @@ Marci: "But that's not that much difference than a cheerleading meet."
 
 Pratiba: "I guess, but at least at a cheer event, guys can't just whip their dicks out, if they're watching it in the privacy of their homes... on their computer."
 
-[['"Oh come on... no one's masturbating to... beach vollyeball."'->no one is masturbating to beach volleyball]]
+[['"Oh come on... no one\'s masturbating to... beach vollyeball."'->no one is masturbating to beach volleyball]]
 [['"Well I guess that\'s why it pays well."'->pays well]]
 
-::join your team <9076,2808>
+::join your team <9256,8212>
 Double-click this passage to edit it.
 
-::no one is masturbating to beach volleyball <9326,2826>
+::no one is masturbating to beach volleyball <9506,8230>
 Double-click this passage to edit it.
 
-::pays well <9476,2826>
+::pays well <9656,8230>
 Double-click this passage to edit it.
 
-::fine no narc <8842,2844>
+::fine no narc <9000,8248>
 Double-click this passage to edit it.
 
-::cop over there <8966,2844>
+::cop over there <9146,8248>
 Double-click this passage to edit it.
 
-::shotgun the beer <8611,2824>
+::shotgun the beer <8766,8228>
 Double-click this passage to edit it.
 
 ::Twee2Settings [twee2]
-@story_start_name = 'Arrive at Public Beach'
 Twee2::build_config.story_ifid = '19A9390A-68B9-4FA9-8557-7429B0668798'
 Twee2::build_config.story_format = 'SugarCube2'