Lusticon пре 4 месеци
родитељ
комит
22f384f0e8
3 измењених фајлова са 144 додато и 133 уклоњено
  1. 4 0
      locations/Cum_Manage.qsrc
  2. 35 55
      locations/cum_call.qsrc
  3. 105 78
      locations/dinSex.qsrc

+ 4 - 0
locations/Cum_Manage.qsrc

@@ -106,6 +106,10 @@ if $ARGS[0] = '':
 	stat['cum_count'] += 1
 	condom_break = 0
 
+!!{ no STDs from NPC you know }
+	if (mid($boy,1,1) = 'A' or mid($boy,1,1) = 'B') and isnum(mid($boy,2,1)) ! 0: cumnostd = 1
+	cumnostd = min(1, max(cumnostd, sexpartkno))
+
 !!{	Here we define our important variables.}
 	dick = npc_dick[$boy]
 	if sexvolume <= 0: sexvolume = 40

+ 35 - 55
locations/cum_call.qsrc

@@ -29,41 +29,8 @@ gs 'cum_call', 'anus' - for an unknown partner named "unknown", or
 gs 'cum_call', 'anus', 'plumber' - for an unknown partner named "plumber"}
 
 if $ARGS[0] ! 'precum':
-	$cumboy = $boy
-
-	if ARGS[5] ! 0:
-		sexvolume = ARGS[5]
-	end
-
-	if ARGS[4] ! 0:
-		sexspecpot = ARGS[4]
-	else
-		sexspecpot = 0
-	end
 
-	if ARGS[3] = 1:
-		sexcontra = 1
-	elseif ARGS[3] = 2:
-		sexcontra = 2
-	elseif ARGS[3] = 3:
-		sexcontra = 3
-	elseif ARGS[3] = 4:
-		sexcontra = 4
-	elseif ARGS[3] = 5:
-		sexcontra = 5
-	elseif ARGS[3] = 6:
-		sexcontra = 6
-	elseif ARGS[3] = 7:
-		sexcontra = 7
-	end
-
-	if ARGS[2] = 2:
-		sexunaware = 1
-	elseif ARGS[2] = 1:
-		sexpartkno = 1
-	else
-		sexpartkno = 0
-	end
+	if $boy ! $ARGS[1] and $ARGS[1] ! '': $boy = $ARGS[1]
 
 	!!This check if the name passed is not in the new MGX format
 	if $ARGS[1] = '' or mid($ARGS[1],2,1) > 10:
@@ -84,49 +51,62 @@ if $ARGS[0] ! 'precum':
 		gs 'boyStat', $ARGS[1]
 	end
 
-	if $ARGS[0] = 'labia':
+	$cumboy = $boy
+
+	sexvolume  = iif(ARGS[5] ! 0,  ARGS[5], 40)
+	sexspecpot = iif(ARGS[4] ! 0,  ARGS[4], 0)
+	sexcontra  = max(0, min(7, ARGS[3]), sexcontra)
+
+	sexpartkno = iif(npc_love[$boy] > 0, 1, 0)
+	if ARGS[2] = 2:
+		sexunaware = 1
+	elseif ARGS[2] = 1:
+		sexpartkno = 1
+	end
+
+		if arrpos('$ARGS', 'labia') >= 0:
 		spafinloc = 1
-	elseif $ARGS[0] = 'pantyfront':
+	elseif arrpos('$ARGS', 'pantyfront') >= 0:
 		spafinloc = 2
-	elseif $ARGS[0] = 'anus':
+	elseif arrpos('$ARGS', 'anus') >= 0:
 		spafinloc = 3
-	elseif $ARGS[0] = 'anal':
+	elseif arrpos('$ARGS', 'anal') >= 0:
 		spafinloc = 3
-	elseif $ARGS[0] = 'butt':
+	elseif arrpos('$ARGS', 'butt') >= 0:
 		spafinloc = 4
-	elseif $ARGS[0] = 'pantyrear':
+	elseif arrpos('$ARGS', 'pantyrear') >= 0:
 		spafinloc = 5
-	elseif $ARGS[0] = 'clothes_hidden':
+	elseif arrpos('$ARGS', 'clothes_hidden') >= 0:
 		spafinloc = 6
-	elseif $ARGS[0] = 'clothes':
+	elseif arrpos('$ARGS', 'clothes') >= 0:
 		spafinloc = 7
-	elseif $ARGS[0] = 'back':
+	elseif arrpos('$ARGS', 'back') >= 0:
 		spafinloc = 8
-	elseif $ARGS[0] = 'legs':
+	elseif arrpos('$ARGS', 'legs') >= 0:
 		spafinloc = 9
-	elseif $ARGS[0] = 'feet':
+	elseif arrpos('$ARGS', 'feet') >= 0:
 		spafinloc = 9
-	elseif $ARGS[0] = 'arms':
+	elseif arrpos('$ARGS', 'arms') >= 0:
 		spafinloc = 10
-	elseif $ARGS[0] = 'face':
+	elseif arrpos('$ARGS', 'face') >= 0:
 		spafinloc = 11
-	elseif $ARGS[0] = 'mouth':
+	elseif arrpos('$ARGS', 'mouth') >= 0:
 		spafinloc = 12
-	elseif $ARGS[0] = 'mouth_swallow':
+	elseif arrpos('$ARGS', 'mouth_swallow') >= 0:
 		spafinloc = 12
 		stat['swallow'] += 1
-	elseif $ARGS[0] = 'hands':
+	elseif arrpos('$ARGS', 'hands') >= 0:
 		spafinloc = 13
-	elseif $ARGS[0] = 'stomach':
+	elseif arrpos('$ARGS', 'stomach') >= 0:
 		spafinloc = 14
-	elseif $ARGS[0] = 'breasts':
+	elseif arrpos('$ARGS', 'breasts') >= 0:
 		spafinloc = 15
-	elseif $ARGS[0] = 'hair':
+	elseif arrpos('$ARGS', 'hair') >= 0:
 		spafinloc = 16
-	elseif $ARGS[0] = 'internalcondom':
+	elseif arrpos('$ARGS', 'internalcondom') >= 0:
 		spafinloc = 17
 	else
-		spafinloc = 0
+		spafinloc = max(0, min(17, ARGS[0]))
 		!Vagina and default
 	end
 

+ 105 - 78
locations/dinSex.qsrc

@@ -32,95 +32,118 @@ end
 $penis_desc = $dick_girth + ', ' + $penis_desc
 
 if $ARGS[0] = 'std_trigger':
-	if rand(pcs_health/10, pcs_health) > 600: exit
+	killvar 'tipvenerarand'
+	if cheatHealth = 0 or rand(pcs_health/10, pcs_health) > 600: exit
+	if npc_rel[$boy] > rand(80,90): exit
+	if npc_love[$boy] > rand(40,60): exit
+	if npc_sexual[$boy]+npc_sex[$boy] > 0 and rand(10) > 5: exit
 
-	tipvenerarand = rand(0, 10)
-	if protect = 1:
-		if rand(0, 1000) = 1000: gs 'dinSex', 'disease_picker'
-	else
+	!! Protected
+	if (protect = 1 or sexcontra = 3) and noprotect = 0:
+		if rand(0, 1000) = 666: gs 'dinSex', 'disease_picker'
+	!! Broke \ Slipped off
+	elseif sexcontra = 4 or sexcontra = 5:
+		if rand(0, 100) >= 75: gs 'dinSex', 'disease_picker'
+	!! Sabotaged
+	elseif sexcontra = 6 or sexcontra = 7:
 		if rand(0, 100) >= 80: gs 'dinSex', 'disease_picker'
+	!! Unprotected
+	else
+		if rand(0, 100) >= 70: gs 'dinSex', 'disease_picker'
 	end
 end
 
-if $ARGS[0] = 'disease_picker': 
-	if cheatHealth = 0:
-		if tipvenerarand < 5:
-			!!candidiasis/thrush/yeast infection
-			if rand(1, 100) > 85 and KandidozOnce = 0:
-				KandidozOnce = 1
-				Kandidoz = rand(-12,-6)
-			end
-		elseif tipvenerarand < 7:
-			!!gonorrhea/triper
-			if rand(1, 100) > 95 and TriperOnce = 0:
-				TriperOnce = 1
-				Triper = rand(-11,-6)
-				Venera += 1
-			end
-		elseif tipvenerarand = 7:
-			!!syphilis
-			if rand(1, 100) > 95 and SifacOnce = 0:
-				SifacOnce = 1
-				Sifilis = rand(-9,-5)
-				Venera += 1
-			end
-		elseif tipvenerarand = 8:
-			!!herpes
-			if rand(1, 100) > 90 and GerpesOnce = 0:
-				GerpesOnce = 1
-				Venera += 1
-				Gerpes = rand(-10,-6)
-				GenHerpes = 1
-			end
+if $ARGS[0] = 'disease_picker':
+	tipvenerarand = rand(0, 10)
+
+	if tipvenerarand < 5:
+		!!candidiasis/thrush/yeast infection
+		if rand(1, 100) > 85 and KandidozOnce = 0:
+			KandidozOnce = 1
+			Kandidoz = rand(-12,-6)
 		end
-	end	
+	elseif tipvenerarand < 7:
+		!!gonorrhea/triper
+		if rand(1, 100) > 95 and TriperOnce = 0:
+			TriperOnce = 1
+			Triper = rand(-11,-6)
+			Venera += 1
+		end
+	elseif tipvenerarand = 7:
+		!!syphilis
+		if rand(1, 100) > 95 and SifacOnce = 0:
+			SifacOnce = 1
+			Sifilis = rand(-9,-5)
+			Venera += 1
+		end
+	elseif tipvenerarand = 8:
+		!!herpes
+		if rand(1, 100) > 90 and GerpesOnce = 0:
+			GerpesOnce = 1
+			Venera += 1
+			Gerpes = rand(-10,-6)
+			GenHerpes = 1
+		end
+	end
+	killvar 'tipvenerarand'
 end
 
 if $ARGS[0] = 'std_trigger_oral':
-	if rand(pcs_health/10, pcs_health) > 300: exit
+	if cheatHealth = 0 or rand(pcs_health/10, pcs_health) > 300: exit
+	if npc_rel[$boy] > rand(80,90): exit
+	if npc_love[$boy] > rand(40,60): exit
+	if npc_sexual[$boy]+npc_sex[$boy] > 0 and rand(10) > 5: exit
 
-	tipvenerarand = rand(0, 10)
-	if protect = 1:
-		if rand(0, 1000) = 1000: gs 'dinSex', 'disease_picker_oral'
-	else
+	!! Protected
+	if (protect = 1 or sexcontra = 3) and noprotect = 0:
+		if rand(0, 1000) = 666: gs 'dinSex', 'disease_picker_oral'
+	!! Broke \ Slipped off
+	elseif sexcontra = 4 or sexcontra = 5:
 		if rand(0, 100) >= 80: gs 'dinSex', 'disease_picker_oral'
+	!! Sabotaged
+	elseif sexcontra = 6 or sexcontra = 7:
+		if rand(0, 100) >= 85: gs 'dinSex', 'disease_picker_oral'
+	!! Unprotected
+	else
+		if rand(0, 100) >= 75: 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 = rand(-15,-9)
-				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 = rand(-13,-8)
-					Venera += 1
-				end
-			end
-		elseif tipvenerarand < 5:
-			!!candidiasis/thrush/yeast infection
-			if rand(1, 100) > 85 and KandidozOnce = 0:
-				KandidozOnce = 1
-				Kandidoz = rand(-21,-14)
-			end
-		elseif tipvenerarand = 8:
-			!!herpes
-			if rand(1, 100) > 90 and GerpesOnce = 0:
-				GerpesOnce = 1
+	tipvenerarand = rand(0, 10)
+
+	if tipvenerarand >= 5 and tipvenerarand < 7:
+		if rand(1, 100) > 95 and TriperOnce = 0:
+			TriperOnce = 1
+			TriperOral = rand(-15,-9)
+			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 = rand(-13,-8)
 				Venera += 1
-				Gerpes = rand(-16,-11)
-				OrHerpes = 1
 			end
 		end
+	elseif tipvenerarand < 5:
+		!!candidiasis/thrush/yeast infection
+		if rand(1, 100) > 85 and KandidozOnce = 0:
+			KandidozOnce = 1
+			Kandidoz = rand(-21,-14)
+		end
+	elseif tipvenerarand = 8:
+		!!herpes
+		if rand(1, 100) > 90 and GerpesOnce = 0:
+			GerpesOnce = 1
+			Venera += 1
+			Gerpes = rand(-16,-11)
+			OrHerpes = 1
+		end
 	end
+	killvar 'tipvenerarand'
 end
 
 if $ARGS[0] = 'wear_condom':
@@ -128,13 +151,17 @@ if $ARGS[0] = 'wear_condom':
 	if mc_inventory['equipped_condoms'] > 0:
 		dynamic $prezik
 		protect = 1
-		if preziktype = 2:
-			sexcontra = 4
-			'<<$boydesc>> takes your sabotaged condom and puts it on, not even noticing anything off.'
+		if rand(1,mc_inventory['equipped_condoms']) <= mc_inventory['bad_condoms']: 
+			mc_inventory['bad_condoms'] -= 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, not even noticing anything off.','condom and puts it on <<$xyr>> cock.')
 		else
 			sexcontra = 3
-			'<<$boydesc>> takes your condom and puts it on <<$xyr>> cock.'
+			*p '<<$boydesc>> takes your condom and puts it on <<$xyr>> cock.'
+			noprotect = 0
 		end
+		if preziktype = 2: sexcontra = 7 & noprotect = 1
 	else
 		sexcontra = 0
 	end
@@ -196,8 +223,8 @@ if $ARGS[0] = 'boy_puts_condom':
 				*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
+			if preziktype = 2: sexcontra = 7 & noprotect = 1
 			mc_inventory['equipped_condoms'] -= 1
-			sexcontra = iif(preziktype = 2,7,sexcontra) 
 		else
 			sexcontra = 0
 			!! the hormonal contraception is still taken in account
@@ -215,8 +242,8 @@ if $ARGS[0] = 'boy_puts_condom':
 				sexcontra = 3
 				noprotect = 0
 			end
+			if preziktype = 2: sexcontra = 7 & noprotect = 1
 			mc_inventory['equipped_condoms'] -= 1
-			sexcontra = iif(preziktype = 2,7,sexcontra) 
 		else
 			sexcontra = 0
 			!! the hormonal contraception is still taken in account
@@ -249,8 +276,8 @@ if $ARGS[0] = 'pc_puts_condom':
 				*p 'You take your condom and put it on <<$xyr>> <<dick>> centimeter dick.'
 				noprotect = 0
 			end
+			if preziktype = 2: sexcontra = 7 & noprotect = 1
 			mc_inventory['equipped_condoms'] -= 1
-			sexcontra = iif(preziktype = 2,7,sexcontra) 
 		else
 			sexcontra = 0
 			!! the hormonal contraception is still taken in account
@@ -268,8 +295,8 @@ if $ARGS[0] = 'pc_puts_condom':
 				sexcontra = 3
 				noprotect = 0
 			end
+			if preziktype = 2: sexcontra = 7 & noprotect = 1
 			mc_inventory['equipped_condoms'] -= 1
-			sexcontra = iif(preziktype = 2,7,sexcontra) 
 		else
 			sexcontra = 0
 			!! the hormonal contraception is still taken in account