# dinSex

roll_3d = rand(1,3)
roll_2d = rand(1,2)

if dick <= 8 :
    if roll_3d = 1: $penis_desc = "laughably tiny prick"
    if roll_3d = 2: $penis_desc = "micropenis"
    if roll_3d = 3: $penis_desc = "erect light switch"
elseif dick <= 11:
    if roll_2d = 1: $penis_desc = "short dick"
    if roll_2d = 2: $penis_desc = "little peeper"
elseif dick <= 14:
    if roll_3d = 1: $penis_desc = "average dick"
    if roll_3d = 2: $penis_desc = "mid-sized penis"
    if roll_3d = 3: $penis_desc = "medium length cock"
elseif dick <= 17:
    if roll_2d = 1: $penis_desc = "above average penis"
    if roll_2d = 2: $penis_desc = "somewhat long dick"
elseif dick <= 20:
    if roll_2d = 1: $penis_desc = "long cock"
    if roll_2d = 2: $penis_desc = "perfect-length meatstick"
elseif dick <= 23:
    if roll_2d = 1: $penis_desc = "elephant-trunk rod"
    if roll_2d = 2: $penis_desc = "worryingly long fuckpole"
elseif dick >= 24:
    if roll_3d = 1: $penis_desc = "ridiculously long dick"
    if roll_3d = 2: $penis_desc = "frightening fuckspear"
    if roll_3d = 3: $penis_desc = "literal third leg"
end

$penis_desc = $dick_girth + ', ' + $penis_desc

if ARGS[0] = 'std_trigger':
	tipvenerarand = rand(0, 10)
	if protect = 1:
		if rand(0, 1000) = 1000: gs 'dinSex', 'disease_picker'
	else
		if rand(0, 100) >= 80: gs 'dinSex', 'disease_picker'
	end
end

if ARGS[0] = 'disease_picker': 
	if cheatHealth = 0:
		if tipvenerarand = 8:
			!!herpes
			if rand(1, 100) > 90 and GerpesOnce = 0:
				GerpesOnce = 1
				Venera += 1
				Gerpes += 1
				GenHerpes = 1
			end
		elseif tipvenerarand = 7:
			!!syphilis
			if rand(1, 100) > 95 and SifacOnce = 0:
				SifacOnce = 1
				Sifilis += 1
				Venera += 1
			end
		elseif tipvenerarand >= 5 and tipvenerarand < 7:
			!!gonorrhea/triper
			if rand(1, 100) > 95 and TriperOnce = 0:
				TriperOnce = 1
				Triper += 1
				Venera += 1
			end
		elseif tipvenerarand < 5:
			!!candidiasis/thrush
			if rand(1, 100) > 85 and KandidozOnce = 0:
				KandidozOnce = 1
				Kandidoz += 1
			end
		end
	end	
end

if ARGS[0] = 'std_trigger_oral':
	tipvenerarand = rand(0, 10)
	if protect = 1:
		if rand(0, 1000) = 1000: gs 'dinSex', 'disease_picker_oral'
	else
		if rand(0, 100) >= 80: gs 'dinSex', 'disease_picker_oral'
	end
end

if ARGS[0] = 'disease_picker_oral':
	if cheatHealth = 0:
		if tipvenerarand >= 5 and tipvenerarand < 7:
			if rand(1, 100) > 95 and TriperOnce = 0:
				TriperOnce = 1
				TriperOral += 1
				Venera += 1
				if rand (0,100) < 15: TriperOralSigns = 1 
			end
		elseif tipvenerarand = 7:
			if rand(0,1) = 1:
				!!syphilis
				if rand(1, 100) > 95 and SifacOnce = 0:
					SifacOnce = 1
					Sifilis += 1
					Venera += 1
				end
			end
		elseif tipvenerarand < 5:
			!!candidiasis/thrush
			if rand(1, 100) > 85 and KandidozOnce = 0:
				KandidozOnce = 1
				Kandidoz += 1
			end
		elseif tipvenerarand = 8:
			!!herpes
			if rand(1, 100) > 90 and GerpesOnce = 0:
				GerpesOnce = 1
				Venera += 1
				Gerpes += 1
				OrHerpes = 1
			end
		end
	end
end

if ARGS[0] = 'wear_condom':
	protect = 0
	vidageday -= 1
	if prezik > 0:
		dynamic $prezik
		protect = 1
		if preziktype = 2:
			sexcontra = 4
			'<<$boydesc>> takes your sabotaged condom and puts it on, not even noticing anything off.'
		else
			sexcontra = 3
			'<<$boydesc>> takes your condom and puts it on <<$xyr>> cock.'
		end
	else
		sexcontra = 0
	end
end

!! this procedure calls 'arousal','vaginal', so the rest of the parameters for arousal should be passed as parameters: call like gs 'dinsex','vaginal_sex',10,'rough','sub'
if $ARGS[0] = 'vaginal_sex':
	frost = 0 &! the sex heats
	vaginal_tightness = 5 + vgrdif + vltdif - pcs_horny / 10
	arousal_modifier = 12 - vaginal_tightness
	if pcs_vag > 0:
		$temp_mens = iif(cycle <= 0,' and a bit of your period leaks from your vagina','')
		if vaginal_tightness >= 30: 
			'You let out a groan when <<$boydesc>> penetrates you. You are too tight to take <<$xyr>> just yet, <<$xe>> is tearing you apart!'
			'You gasp and scream while <<$xyr>> <<$penis_desc>> painfully stretches and tears your pussy<<$temp_mens>>.'
		elseif vaginal_tightness >= 20: 
			'You wince when <<$boydesc>> enters you, <<$xyr>> <<$penis_desc>> barely fitting<<$temp_mens>>.'
			'Despite your gasps and moans of pain, <<$boydesc>> enthusiastically pumps your pussy, mistaking the sounds you are making for enjoyment.'
		elseif vaginal_tightness >= 12: 
			'You bite your lip when <<$boydesc>>''s <<$penis_desc>> penetrates your cunt, stretching you out a bit<<$temp_mens>>.'
			'It takes a moment but the discomfort fades away. Before you know it you are gyrating your hips to the rhythm of <<$boydesc>> pumping your now perfectly snug pussy.'
		elseif vaginal_tightness >= 2: 
			'You sigh deeply as you savor the feeling of a <<$penis_desc>> slowly entering your moist tunnel.'
			'Gradually getting into rhythm, you grind your ass against <<$boydesc>>''s crotch and moan as <<$xe>> fucks your cunt<<$temp_mens>>.'
		elseif vaginal_tightness >= -3: 
			'<<$boydesc>> thrusts into you<<$temp_mens>>, <<$xyr>> <<$penis_desc>> rubbing against your inner walls, hitting just the right spot.' 
			'Your moans are mixed with lewd, wet slapping sounds from <<$xem>> fucking your pussy.'
		elseif vaginal_tightness < -3: 
			'You feel <<$boydesc>>''s <<$penis_desc>> sliding through your wet folds<<$temp_mens>>. You savor the intense pleasure from the <<$penis_desc>> inside you, your cunt aching to be filled even more.'
		end
		gs 'arousal','vaginal',ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]

		pcs_horny += arousal_modifier
		pcs_mood += arousal_modifier
	
	else
		$temp_mens = iif(cycle <= 0,' and a bit of your period leaks from your vagina','')
		pcs_horny += arousal_modifier * 2
		pcs_mood += arousal_modifier * 2
		'<<$boydesc>> pushes <<$xyr>> <<$penis_desc>> into your unexplored pussy gently. It is a bit painful, but as your lust builds up you do not want to wait anymore.'
		'With the next push from <<$boydesc>>, you push your ass towards <<$xyr>> cock. You feel your hymen break and his cock slide into deep inside you, <<$xyr>> head rubbing against your no longer untouched walls as you both moan very loudly.'
		gs 'arousal','vaginal',ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
	end
	killvar '$temp_mens'
end

! "deal_with_condom" procedure should be replacement of "sexstart" dynamic procedure
!! gs 'dinsex', 'boy_puts_condom'
if $ARGS[0] = 'boy_puts_condom':
	protect = iif(prezik > 0,1,0)
	if $ARGS[1] = '':
		! do you have condoms?
		if prezik > 0:
			if rand(1,prezik) <= badprezik: 
				badprezik -= 1
				noprotect = 1
				sexcontra = 7
				*p '<<ucase(mid($boydesc,1,1))>><<mid($boydesc,2,len($boydesc)-1)>> takes your '+iif(preziktype = 2,'sabotaged ','')+ 'condom and puts it on <<$xyr>> <<dick>> centimeter dick.'
			else
				sexcontra = 3
				*p '<<ucase(mid($boydesc,1,1))>><<mid($boydesc,2,len($boydesc)-1)>> takes your condom and puts it on <<$xyr>> <<dick>> centimeter dick.'
				noprotect = 0
			end
			prezik -= 1
			sexcontra = iif(preziktype = 2,7,sexcontra) 
		else
			sexcontra = 0
			!! the hormonal contraception is still taken in account
		end
	else
		$custmsg = $ARGS[1]
		*p '<<$custmsg>>'
		! do you have condoms?
		if prezik > 0:
			if rand(1,prezik) <= badprezik: 
				badprezik -= 1
				noprotect = 1
				sexcontra = 7
			else
				sexcontra = 3
				noprotect = 0
			end
			prezik -= 1
			sexcontra = iif(preziktype = 2,7,sexcontra) 
		else
			sexcontra = 0
			!! the hormonal contraception is still taken in account
		end
	end	
end &! --- boy_puts_condom ---

!! gs 'dinsex', 'boy_puts_his_condom'[, $boydesc]
if $ARGS[0] = 'boy_puts_his_condom':
	$bwa_boy = iif($ARGS[1] = '',$boydesc,$ARGS[1])
	protect = 1
	sexcontra = 3
	*p '<<ucase(mid($bwa_boy,1,1))>><<mid($bwa_boy,2,len($bwa_boy)-1)>> takes his condom and puts it on <<$xyr>> <<$penis_desc>>.'
	!! the hormonal contraception is still taken in account
end &! --- boy_puts_his_condom ---

!! gs 'dinsex', 'pc_puts_condom'
if $ARGS[0] = 'pc_puts_condom':
	protect = iif(prezik > 0,1,0)
	vidageday -= 1 &! the people guess that you are a bit more older than you are in fact
	if $ARGS[1] = '':
		! do you have condoms?
		if prezik > 0:
			if rand(1,prezik) <= badprezik: 
				badprezik -= 1
				noprotect = 1
				sexcontra = 7
				*p 'You take your '+iif(preziktype = 2,'sabotaged ','')+ 'condom and put it on <<$xyr>> <<dick>> centimeter dick.'
			else
				sexcontra = 3
				*p 'You take your condom and put it on <<$xyr>> <<dick>> centimeter dick.'
				noprotect = 0
			end
			prezik -= 1
			sexcontra = iif(preziktype = 2,7,sexcontra) 
		else
			sexcontra = 0
			!! the hormonal contraception is still taken in account
		end
	else
		$custmsg = $ARGS[1]
		*p '<<$custmsg>>'
		! do you have condoms?
		if prezik > 0:
			if rand(1,prezik) <= badprezik: 
				badprezik -= 1
				noprotect = 1
				sexcontra = 7
			else
				sexcontra = 3
				noprotect = 0
			end
			prezik -= 1
			sexcontra = iif(preziktype = 2,7,sexcontra) 
		else
			sexcontra = 0
			!! the hormonal contraception is still taken in account
		end
	end
end &! --- pc_puts_condom ---

!! gs 'dinsex','boy_wants_anal' [, $boydesc [, 'lubri']]
if $ARGS[0] = 'boy_wants_anal':
	$bwa_boy = iif($ARGS[1] = '',$boydesc,$ARGS[1])
	if $bwa_boy = 'lubri': $bwa_boy = $boydesc
	if analplugin = 1:
		if pcs_ass < 16:
			'<<$bwa_boy>> pulls the plug out of your narrow and tight ass.'
			analplugout = 1
		else
			'<<$bwa_boy>> pulls the plug out of your ass.'
			analplugout = 1
		end
	end
	if $ARGS[2] = 'lubri':
		'<<$bwa_boy>> takes a tube of lubricant, squeezes a little on <<$xyr>> palm and rubs your anus.'
		gs 'arousal', 'anal_finger', 1,'lube' 
	else
		if lubri = 0:
			'You have no lube, <<$bwa_boy>> spits on his fingers and using saliva he massages your anus.'
			gs 'arousal', 'anal_finger', 1,'lube' 
		else
			lubri -= 1
			if rand(0,2) = 0: 
				'You take a tube of lubricant and hand it to <<$bwa_boy>>, he squeezes a little on his palm and rubs your anus.'
			elseif rand(0,1) = 0:
				'You squeeze anal lube on your hand and begin to smear it in your ass. Then you give the guy a tube and <<$xe>> starts lucricating <<$xyr>> cock.'
			else
				'You squeeze anal lube on your hand and begin to smear it in your ass. Then you give it to <<$xem>> and <<$xe>> smears it on <<$xyr>> dick'
			end
			gs 'arousal', 'anal_finger', 1,'lube' 
		end
	end
	killvar '$bwa_boy'
end &! --- boy_wants_anal ---

!! gs 'dinsex', 'girl_wants_anal'[, $boydesc [, 'lubri']]
if $ARGS[0] = 'girl_wants_anal':
	$bwa_girl = iif($ARGS[1] = '',$boydesc,$ARGS[1])
	if $bwa_girl = 'lubri': $bwa_girl = $boydesc
	if analplugin = 1:
		if pcs_ass < 16:
			'<<$bwa_boy>> pulls the plug out of your narrow and tight ass.'
			analplugout = 1
		else
			'<<$bwa_boy>> pulls the plug out of your ass.'
			analplugout = 1
		end
	end
	if $ARGS[2] = 'lubri':
		lubri +=1
		'<<$bwa_girl>> takes a tube of lubricant, squeezes a little on her palm and rubs your anus.'
		gs 'arousal', 'anal_finger', 1,'lube' 
	else
		if lubri = 0:
			'You have no lube, <<$bwa_girl>> spits on her fingers and using saliva she massages your anus.'
			gs 'arousal', 'anal_finger', 1,'lube' 
		elseif lubri > 0:
			'You take a tube of lubricant and hand it to <<$bwa_girl>>, she squeezes a little on her palm and rubs your anus.'
			gs 'arousal', 'anal_finger', 1,'lube' 
		end
	end
	killvar '$bwa_girl'
end &! --- girl_wants_anal ---

!! gs 'dinsex', 'after_anal','boy',$boydesc
if $ARGS[0] = 'after_anal':
	if analplugout = 1:
		if $ARGS[1] = 'boy':
			analplugin = 1
			'<<$ARGS[2]>> takes your butt plug and he puts it back into your anus. He grins: "Continue your training"' 
		end
		if $ARGS[1] = 'girl':
			analplugin = 1
			'<<$ARGS[2]>> takes your butt plug and she puts it back into your anus. She grins: "Continue your training"' 
		end
		if $ARGS[1] = 'pc':
			analplugin = 1
			'You take your butt plug and put it back into your anus. You grin: "I have to keep my butt trained"' 
		end
		if $ARGS[1] = 'no_plug':
			analplugin = 0
			'You take your butt plug and put it into your purse. Your anus has to rest for a while now.' 
		end
		killvar 'analplugout'
	end
end &! --- after_anal ---

!! this procedure calls 'cum_call','anus',$boy,1
!! use gs 'dinSex','boy_wants_anal'[,'lubri'] together with gs 'dinsex','analsex'
if $ARGS[0] = 'analsex':
	frost = 0 &! the sex heats
	'<<$boydesc>> fingers your anus, slowly pushing in before squeezing in a second one .'
	if pcs_ass < 10:'When <<$xe>> tries inserting a third finger you groan in pain.'
	if pcs_ass >= 10:'<<$boydesc>> inserts a third finger, very slowly thrusting and wiggling to stretch your anus.'
	*p '<<$boydesc>> pulls <<$xyr>> fingers out of your ass and you feel <<$xyr>> <<$penis_desc>> pushing against your butthole'
	gs 'arousal','anal',ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
	if (agrdif + altdif) >= 20:'You scream and bite your lip from the sharp pain when <<$xe>> penetrates your ass.'
	if (agrdif + altdif) < 20:'You moan when <<$xe>> penetrates your ass.'
	'<<$boydesc>> stops for a moment, giving your ass time to adjust to <<$xyr>> cock in it. Then he starts to slowly move, pumping your anus.'

	if (agrdif + altdif) >= 30:
		if pcs_makeup > 1:pcs_makeup = 0
		'You cry and bite your lip when the <<$penis_desc>> begins to thrust in and out of your ass. Your anus feels like it is going to tear apart and all you want is for this torture to be over quickly.'
	elseif (agrdif + altdif) >= 20 and (agrdif + altdif) < 30:
		pcs_horny += 10
		'You savor <<$xyr>> cock moving inside you, lightly moaning in rhythm.'
	end
	'After some time <<$boydesc>> groans and you feel <<$xyr>> cock pulsing inside you and a pleasant warmth filling your ass.'
	gs 'cum_call','anus',$boy,1
end &! --- analsex ---

!! this procedure calls 'cum_call','',$boy,1
!! use gs 'dinsex','sexcum'
if $ARGS[0] = 'sexcum':
	frost = 0
	if protect ! 1:
		!!Unprotected sex
		if rand(0, 1) = 0 or pose = 3:
			cumvag_text = RAND(0,2)
			if cumvag_text = 0: '<<$xyrc>> movements speed up and <<$xe>> drives <<$xyr>> cock balls deep into you. With a beatific smile, <<$xe>> cums deep inside you. You feel a warm jet pour into your womb.'
			if cumvag_text = 1: '<<$xec>> does not pull out and instead pulls you tightly against <<$xem>> and your pussy is filled with splashes of semen.'
			if cumvag_text = 2: '<<$xec>> groans, and you feel a jet of sperm hit you inside your body.'
			gs 'cuminsidereact', $boydesc
			gs 'cum_call','',$boy,1
		else
			!!Out
			if pose = 0:
				spafinloc = 14
				'<<$boydesc>> groans and after pulling out <<$xyr>> dick, <<$xe>> came on your stomach.'
				gs 'cum_call','stomach',$boy,1
			elseif pose = 1:
				'<<$boydesc>> groans and after pulling out <<$xyr>> dick, <<$xe>> came on your ass.'
				gs 'cum_call','butt',$boy,1
			end
		end
	else
		$tmp = iif(sexcontra = 7,'sabotaged ','')
		'<<$boydesc>> groans and you realized that <<$xe>> ejaculated in the <<$tmp>>condom.'
		if sexcontra = 4:
			'Pulling out of you and looking at <<$xyr>> dick, <<$boydesc>> said "Hmm, the condom burst."'
		elseif sexcontra = 5:
			'Pulling out of you and looking at <<$xyr>> dick, <<$boydesc>> said "Fuck! The condom is missing."'
		end
		eff_contra = sexcontra
		gs 'cum_call', '', $boy, 1, sexcontra
		
		gs 'cuminsidereact',$boydesc, eff_contra
		protect = 0
	end
	pose = 0
	killvar 'eff_contra'
end &! --- sexcum ---

if $ARGS[0] = 'bj_random':
	if stat['bj'] = 0:'You are anxious about the idea of sucking a cock, having never given a blowjob before. You wonder what it will taste like.'
	if stat['bj'] <= 10:
		'Hesitantly bringing your face to <<$boydesc>>''s crotch, you lightly press your <<$liptalk>> against <<$xyr>> dick, tasting the slight saltiness.'
		'Then you start flicking your tongue around the head as you wrap your lips further, stroking the shaft in the meantime.'
	elseif stat['bj'] <= 25:
		'You lightly put <<$boydesc>>''s cock into your mouth, rolling your tongue around the head as you rhytmically stroke the shaft.'
		'After a moment you start getting into rhythm, lightly bobbing your head although not sucking his dick much further than the tip.'
	elseif stat['bj'] <= 40:
		'You wrap your <<$liptalk>> around the <<$penis_desc>> in front of you. You give <<$boydesc>> a moment to adjust to the warmthness with more than half his cock resting in your mouth'
		'Then you greedily lean forwards, taking <<$xyr>> dick deeper in your mouth and start to bob your head back and forth along <<$xyr>> <<$penis_desc>>'
	elseif stat['bj'] <= 60:
		'Imagining how the hard cock in front of your face would feel between your <<$liptalk>>, you just can''t hold back and hungrily take the whole length in your mouth until its tip is resting at the entrance of your throat'
		'You playfully roll your tongue around the cock you are sucking and try to see if you can swallow the whole length down your throat.'
	else
		'You lock eyes with <<$boydesc>> and relax your throat as you swallow <<$xyr>> <<$penis_desc>> in one move like the veteran cocksucker you are, milking <<$xyr>> cock with just your throat.'
	end
end &! --- bj_random ---

if $ARGS[0] = 'bj_swallow_random':
	if stat['bj'] <= 10:
		'Not knowing what else to do, you forcefully gulp down and swallow the sperm filling your mouth. The taste lingers at the back of your throat'
	elseif stat['bj'] <= 25:
		'You swallow the viscous semen that is filling your mouth, then lick the softening member clean.'
		'Afterwards you lean forward to plant a tender kiss on the freshly milked cock.'
	elseif stat['bj'] <= 40:
		'You swallow the warm cum that fills your mouth and smile as you lick the sticky leftovers with your tongue.'
	elseif stat['bj'] <= 60:
		'Your mouth is quickly filled with warm sperm and you smile as you gulp it down and enjoy the now familiar tart taste.'
	else
		'You let the warm cum drain down the throat, enjoying the familiar taste as you feel it slowly making its way down.'
	end
end &! --- bj_swallow_random ---

!! use gs 'dinsex','enema'
if $ARGS[0] = 'enema':
	cumspclnt = 7
	gs 'cum_cleanup'
	minut += 5
	klismaday = daystart
	klismaday1= 1
	if $ARGS[1]='':
		*p 'You give yourself an enema, feeling clean down there. Your ass is now ready for anal sex without any awkward surprises.'
	elseif $ARGS[1]!' ': 
		*p '<<$ARGS[1]>>'
	end
end &! --- enema ---

--- dinSex ---------------------------------

