Title:music_slave
Sex: Female T Male T Trans T
Require:
Limits: LPain-G Pain-N
;slave is making music
;
;slave is making music by hitting clothespins alternatively on genitals or cage and nipples
;
;PeerReview true
peerreview:true
;
;--------------- Variables --------------------------
;Selected domme of the slave
;
if:('DNAME'=='Jennifer')
  assign:domme:'Jennifer'
fi:
if:('DNAME'=='Natasha')
  assign:domme:'Natasha'
fi:
if:('DNAME'=='James')
  assign:domme:'James'
fi:
;
;slave is female
if:(!HAS_PENIS)
  if:(INCHASTITY)
    assign:hit_all:'cage, thighs and nipples/breasts'
    assign:hit_genital:'cage and thights'
  else:
    assign:hit_all:'pussy and nipples/breasts'
    assign:hit_genital:'pussy'
  fi:
fi:
;slave is not female
if:(HAS_PENIS)
  if:(INCHASTITY)
    assign:hit_all:'cage (or thighs), balls and nipples'
    assign:hit_genital:'cage (or thighs) and balls'
  else:
    assign:hit_all:'cock, balls and nipples'
    assign:hit_genital:'cock and balls'
  fi:
fi:
;
;extra video (yes or no)
assign:extra_video:'no'
;
;------------------------- Start Task -----------------------
;
log:Task description, slave is making music by hitting clothespins alternatively on $hit_all
;
image:taskimg/backgrounds/Apartment_2.jpg
image2:taskimg/Default/$domme_Happy.png
;
;Intro
show:Listen closely, slave. I am hosting a party for some friends.
button:Sounds fun
show:Sounds fun. Oh, slave, did you really think you'd attend my party like a normal guest?
wait:5
show:How amusing! You'll be there to entertain, as you should.
wait:5
show:You will be responsible for managing the music.
wait:5
show:Not like a DJ. No, you'll be creating it live.
wait:5
show:You will create music <br>...
wait:5
show:You will create music,<br>with the help of some clothespins <br>...
wait:3
show:You will create music,<br>with the help of some clothespins<br>and a ruler<br>...
wait:3
show:You will create music,<br>with the help of some clothespins<br>and a ruler<br>using your naked body as the instrument.
button:Gulp
show:Gather all kinds of clothespins and find something suitable for hitting them, such as a ruler or something similar.
button:I have everything DTITLE
show:I want to see you perform before the party to ensure you won’t disappoint me in front of the guests.
button:Ok DTITLE
;
;Preperation
show:Get naked and kneel before me.
button:Kneeling
show:There is no limit to the number of clothespins you may use on your body. The more you endure, the more you please me.<br>Divide the clothespins evenly between your $hit_all. Do it now.
button:Ready DTITLE
show:Grab your hitting instrument.
button:Ready
;
;Testing left nipple
show:When I say 'Start,' you will hit the clamps on your left nipple to create a sound without causing them to fall off.
log:Slave is hitting the clamps on the left nipple (or breast) in picture below.
button:Ok
call:Preperation
;Testing right nipple
show:Now, slave, it's time for the right nipple to undergo the same test.
log:Slave is hitting the clamps on the right nipple (or breast) in picture below.
button:Ok
call:Preperation
;Testing $genital
show:Finally but certainly not least, it's time for your $hit_genital to make some sound.
log:Slave is hitting the clamps on $hit_genital in picture below.
button:Ok
call:Preperation
;
;Preparation finished, lets make music
show:Now that the testing is complete, it's time to make some real music.
button:Ok DTITLE
;Will the slave make a seperate video
show:I would be pleased if you made a video of your performance for my personal collection. Are you willing to do this?
choice:Yes, No
if:(LASTASK == 1)
  assign:extra_video:'yes'
  show:Excellent. Prepare everything so you can make the video.
  button:Ready DTITLE
fi:
;
;Main part, slave is making music
show:For the next few minutes, you will create music by alternating between hitting your $hit_all.
button:Ok DTITLE
show:When I say 'Start' you will begin hitting.
;
button:Ok
show:<h2>Get ready
wait:10
show:<h2>Start
;Picture of slave in action in case video is not working
log:Picture below slave is hitting $hit_all alternatively.
wait:Math.floor((Math.random() * 60) + 30)
show:<h2>Keep playing
cam:temp
wait:Math.floor((Math.random() * 60) + 30)
show:<h2>More rhythm, slave
;Video of the slave hitting $intro alternatively.
log:Video below slave is hitting $hit_all alternatively.
vidrec:0
wait:25
vidstop:0
wait:Math.floor((Math.random() * 60) + 30)
show:<h2>Almost finished
wait:Math.floor((Math.random() * 60) + 30)
sound:bell.wav
show:<h2>Stop
button:Stopped DTITLE
;
show:Slave, your performance has room for improvement. You need a few more hours of practice. We will resume later.
button:Ok DTITLE
;
;Slave made a video
if:('$extra_video' != 'no')
  show:At least you made a video so I can listen to your music later.
  button:Ok
  asktext:Upload the video file to a site like transferxl.com <br> Once you have uploaded the file provide me with the location where the file is stored.
  button:Done
  assign:video_location:'LASTASK'
  log:Extra credit. The slave has uploaded a video here <br> $video_location
  show:Oh, wouldn't it be amusing if I were to share your performance on my social media? Imagine the reactions from my followers.
  button:Please no DTITLE
  show:Oh, but why not, slave? I'll give it some thought.
  wait:4
fi:
;
;Ending task
show:I am going to give my ears some rest now. You are dismissed for the moment.
button:Bye DTITLE
;
;----------------- End task -------------------------
;
;------------------- Functions ------------------------
;
;------------------- Function Preperation ----------------------------
;
function:Preperation
  ;The slave is testing if the attached clothespins stay on.
  ;
  show:<h2>Get ready
  wait:10
  show:<h2>Start
  wait:Math.floor((Math.random() * 40) + 20)
  show:<h2>Keep playing
  cam:temp
  wait:Math.floor((Math.random() * 40) + 20)
  show:<h2>Stop
  sound:bell.wav
  button:Stopped
  show:Did all the clothespins stay in place during the hitting?
  choice:Yes, No
  if:(LASTASK == 1)
    show:Very good.
    wait:5
  fi:
  if:(LASTASK == 2)
    show:Make sure to attach them more securely before we proceed.
    button:Ready
  fi:
end:
;
;
;