Browse Source

[added] Bras and panty set linking so that they can be bought and worn as sets

Kevin_Smarts 1 year ago
parent
commit
2967a2d663
4 changed files with 280 additions and 25 deletions
  1. 135 10
      locations/bras.qsrc
  2. 142 10
      locations/panties.qsrc
  3. 1 0
      locations/underwear_attributes.qsrc
  4. 2 5
      locations/underwear_bodysuits.qsrc

+ 135 - 10
locations/bras.qsrc

@@ -112,6 +112,14 @@ if $ARGS[0] = 'view_bra_item':
 !!	$RESULT += '<<ARGS[3]>>'
 !!	'<<$RESULT>>'
 	gs 'bras', 'descriptions', $ARGS[2]
+	if underwear['set'] ! 0:
+		'This bra forms a set with panty #<<underwear[''set'']>>.'
+		if dyneval('RESULT = <<$ARGS[2]>>_panties[<<underwear[''set'']>>]') = 1:
+			'You own these panties and can wear this set.'
+		else
+			'You do not own these panties so you cannot wear this set.'
+		end
+	end
 
 	if $ARGS[1] = 'shop':
 		if dyneval('RESULT = <<$ARGS[2]>>_bras[<<ARGS[3]>>]') = 1:
@@ -141,6 +149,34 @@ if $ARGS[0] = 'view_bra_item':
 			else
 				'You do not have enough money in your bank to buy this bra.'
 			end
+			if dyneval('RESULT = <<$ARGS[2]>>_panties[<<underwear[''set'']>>]') = 0:
+				price_set = ARGS[4]*10/9
+				'price for set: <<price_set>> <b>₽</b>'
+				if money >= price_set:
+					act 'Buy (cash)':
+						money -= price_set
+						dynamic $ARGS[2] + '_bras[<<ARGS[3]>>] = 1'
+						dynamic $ARGS[2] + '_brasS[<<ARGS[3]>>] = 0'
+						dynamic $ARGS[2] + '_panties[<<underwear[''set'']>>] = 1'
+						dynamic $ARGS[2] + '_pantiesS[<<underwear[''set'']>>] = 0'
+						gt $loc, $loc_arg
+					end
+				else
+					'You do not have enough cash to buy this set.'
+				end
+				if karta + bankDebtLimit >= price_set:
+					act 'Buy (card)':
+						karta -= price_set
+						dynamic $ARGS[2] + '_bras[<<ARGS[3]>>] = 1'
+						dynamic $ARGS[2] + '_brasS[<<ARGS[3]>>] = 0'
+						dynamic $ARGS[2] + '_panties[<<underwear[''set'']>>] = 1'
+						dynamic $ARGS[2] + '_pantiesS[<<underwear[''set'']>>] = 0'
+						gt $loc, $loc_arg
+					end
+				else
+					'You do not have enough money in your bank to buy this set.'
+				end
+			end
 		end
 	else
 		if $ARGS[1] ! 'bathroom':
@@ -191,6 +227,101 @@ if $ARGS[0] = 'view_bra_item':
 							else
 								gs 'bras', 'wear', $ARGS[2], ARGS[3]
 
+								if $ARGS[1] = 'wardrobe':
+									gt 'wardrobe', 'main'
+								else
+									gt $loc, $loc_arg
+								end
+							end
+						end
+					end
+				end
+				if underwear['set'] ! 0 and dyneval('RESULT = <<$ARGS[2]>>_panties[<<underwear[''set'']>>]') = 1:
+					act 'Wear set':
+						if CloBra = 1:
+							msg'You cannot wear a bra with this top'
+						elseif CloPanties = 1:
+							msg'You cannot wear a panties with this outfit'
+						else
+							if hypnoBra > 0 and hypnoPanty > 0:
+								cla
+								*clr
+								'You pick up the bra and panties and think about trying them on... but you don''t really like wearing underwear.'
+								gs 'willpower', 'misc', 'resist'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Wear it anyway anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'panties', 'wear', $ARGS[2], underwear['set']
+										gs 'bras', 'wear', $ARGS[2], ARGS[3]
+		
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Wear it anyway anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								end
+								act 'Back':
+									gt 'wardrobe', 'main'
+								end
+							elseif hypnoBra > 0:
+								cla
+								*clr
+								'You pick up the bra and think about trying them on... but you don''t really like wearing bras.'
+								gs 'willpower', 'misc', 'resist', 'easy'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Put them on anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'panties', 'wear', $ARGS[2], underwear['set']
+										gs 'bras', 'wear', $ARGS[2], ARGS[3]
+		
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								end
+								act 'Back':
+									gt 'wardrobe', 'main'
+								end
+							elseif hypnoPanty > 0:
+								cla
+								*clr
+								'You pick up the panties and think about trying them on... but you don''t really like wearing panties.'
+								gs 'willpower', 'misc', 'resist', 'easy'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Put them on anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'panties', 'wear', $ARGS[2], underwear['set']
+										gs 'panties', 'wear', $ARGS[2], ARGS[3]
+			
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								end
+								act 'Back':
+									gt 'wardrobe', 'main'
+								end
+							else
+								gs 'panties', 'wear', $ARGS[2], underwear['set']
+								gs 'bras', 'wear', $ARGS[2], ARGS[3]
+
 								if $ARGS[1] = 'wardrobe':
 									gt 'wardrobe', 'main'
 								else
@@ -323,17 +454,11 @@ if $ARGS[0] = 'wear2':
 	$braworntype = $ARGS[1]
 	brawornnumber = ARGS[2]
 
-!! clearing worn panty variables if switching from bodysuit
-	if underwear['type'] = 2:
-		gs 'underwear_bodysuits', 'remove'
-		killvar 'PPanMaterial'
-		killvar 'PPantyFun'
-		killvar 'PPanQuality'
-		killvar 'PPanThinness'
-		killvar 'PPanExpose'
-		killvar 'PPanButt'
-	else
+!! removing bra or bodysuit if worn
+	if underwear['type'] = 0:
 		gs 'bras', 'remove'
+	else
+		gs 'underwear_bodysuit', 'remove'
 	end
 	underwear['type'] = 0
 

+ 142 - 10
locations/panties.qsrc

@@ -116,8 +116,16 @@ if $ARGS[0] = 'view_panty_item':
 !!	$RESULT += '<<ARGS[3]>>'
 !!	'<<$RESULT>>'
 	gs 'panties', 'descriptions', $ARGS[2]
+	if underwear['set'] ! 0: 'These panties form a set with bra #<<underwear[''set'']>>.'
 
 	if $ARGS[1] = 'shop':
+		if underwear['set'] ! 0:
+			if dyneval('RESULT = <<$ARGS[2]>>_bra[<<underwear[''set'']>>]') = 1:
+				'You own the matching bra for this set.'
+			else
+				'You do not own the matching bra for this set.'
+			end
+		end
 		if dyneval('RESULT = <<$ARGS[2]>>_panties[<<ARGS[3]>>]') = 1:
 			'You already own this item.'
 			act 'Leave': gt $loc, $loc_arg
@@ -145,8 +153,43 @@ if $ARGS[0] = 'view_panty_item':
 			else
 				'You do not have enough money in your bank to buy these panties.'
 			end
+			if dyneval('RESULT = <<$ARGS[2]>>_bras[<<underwear[''set'']>>]') = 0:
+				price_set = ARGS[4]*10/9
+				'price for set: <<price_set>> <b>₽</b>'
+				if money >= price_set:
+					act 'Buy (cash)':
+						money -= price_set
+						dynamic $ARGS[2] + '_panties[<<ARGS[3]>>] = 1'
+						dynamic $ARGS[2] + '_pantiesS[<<ARGS[3]>>] = 0'
+						dynamic $ARGS[2] + '_bras[<<underwear[''set'']>>] = 1'
+						dynamic $ARGS[2] + '_brasS[<<underwear[''set'']>>] = 0'
+						gt $loc, $loc_arg
+					end
+				else
+					'You do not have enough cash to buy this set.'
+				end
+				if karta + bankDebtLimit >= price_set:
+					act 'Buy (card)':
+						karta -= price_set
+						dynamic $ARGS[2] + '_panties[<<ARGS[3]>>] = 1'
+						dynamic $ARGS[2] + '_pantiesS[<<ARGS[3]>>] = 0'
+						dynamic $ARGS[2] + '_bras[<<underwear[''set'']>>] = 1'
+						dynamic $ARGS[2] + '_brasS[<<underwear[''set'']>>] = 0'
+						gt $loc, $loc_arg
+					end
+				else
+					'You do not have enough money in your bank to buy this set.'
+				end
+			end
 		end
 	else
+		if underwear['set'] ! 0:
+			if dyneval('RESULT = <<$ARGS[2]>>_bra[<<underwear[''set'']>>]') = 1:
+				'You own this bra and can wear this set.'
+			else
+				'You do not own this bra so you cannot wear this set.'
+			end
+		end
 		if $ARGS[1] ! 'bathroom':
 			if metka_panties ! 1:$RESULT += 'Move these panties to <a href="exec:gt ''panties'', ''dest1'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Storage</a><BR>'
 			if metka_panties ! 0:$RESULT += 'Move these panties to  <a href="exec:gt ''panties'', ''dest0'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Wardrobe</a><BR>'
@@ -195,6 +238,101 @@ if $ARGS[0] = 'view_panty_item':
 							else
 								gs 'panties', 'wear', $ARGS[2], ARGS[3]
 
+								if $ARGS[1] = 'wardrobe':
+									gt 'wardrobe', 'main'
+								else
+									gt $loc, $loc_arg
+								end
+							end
+						end
+					end
+				end
+				if underwear['set'] ! 0 and dyneval('RESULT = <<$ARGS[2]>>_bras[<<underwear[''set'']>>]') = 1:
+					act 'Wear set':
+						if CloBra = 1:
+							msg'You cannot wear a bra with this top'
+						elseif CloPanties = 1:
+							msg'You cannot wear a panties with this outfit'
+						else
+							if hypnoBra > 0 and hypnoPanty > 0:
+								cla
+								*clr
+								'You pick up the bra and panties and think about trying them on... but you don''t really like wearing underwear.'
+								gs 'willpower', 'misc', 'resist'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Wear it anyway anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'panties', 'wear', $ARGS[2], ARGS[3]
+										gs 'bras', 'wear', $ARGS[2], underwear['set']
+		
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Wear it anyway anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								end
+								act 'Back':
+									gt 'wardrobe', 'main'
+								end
+							elseif hypnoBra > 0:
+								cla
+								*clr
+								'You pick up the bra and think about trying them on... but you don''t really like wearing bras.'
+								gs 'willpower', 'misc', 'resist', 'easy'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Put them on anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'panties', 'wear', $ARGS[2], ARGS[3]
+										gs 'bras', 'wear', $ARGS[2], underwear['set']
+		
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								end
+								act 'Back':
+									gt 'wardrobe', 'main'
+								end
+							elseif hypnoPanty > 0:
+								cla
+								*clr
+								'You pick up the panties and think about trying them on... but you don''t really like wearing panties.'
+								gs 'willpower', 'misc', 'resist', 'easy'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Put them on anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'panties', 'wear', $ARGS[2], ARGS[3]
+										gs 'panties', 'wear', $ARGS[2], underwear['set']
+			
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								end
+								act 'Back':
+									gt 'wardrobe', 'main'
+								end
+							else
+								gs 'panties', 'wear', $ARGS[2], ARGS[3]
+								gs 'panties', 'wear', $ARGS[2], underwear['set']
+
 								if $ARGS[1] = 'wardrobe':
 									gt 'wardrobe', 'main'
 								else
@@ -327,17 +465,11 @@ if $ARGS[0] = 'wear2':
 	$pantyworntype = $ARGS[1]
 	pantywornnumber = ARGS[2]
 
-!! clearing worn bra variables if switching from bodysuit
-	if underwear['type'] = 2:
-		gs 'underwear_bodysuits', 'remove'
-		killvar 'PBraMaterial'
-		killvar 'PBraType'
-		killvar 'PBraFun'
-		killvar 'PBraQuality'
-		killvar 'PBraThinness'
-		killvar 'PBraExpose'
-	else
+!! removing panties or bodysuit if worn
+	if underwear['type'] = 0:
 		gs 'panties', 'remove'
+	else
+		gs 'underwear_bodysuit', 'remove'
 	end
 	underwear['type'] = 0
 

+ 1 - 0
locations/underwear_attributes.qsrc

@@ -83,6 +83,7 @@ BraThinness = 0
 PanExpose = 0
 PanButt = 0
 BraExpose = 0
+underwear['set'] = 0
 
 
 if $ARGS[0] = 'lusso_bodysuits':

+ 2 - 5
locations/underwear_bodysuits.qsrc

@@ -261,15 +261,12 @@ if $ARGS[0] = 'wear2':
 	$bodysuitworntype = $ARGS[1]
 	bodysuitwornnumber = ARGS[2]
 
-!! Clearing unused panty variable if switching from bra and panties
+!! removing bra and panties or bodysuit if worn
 	if underwear['type'] = 0:
 		gs 'panties', 'remove'
 		gs 'bras', 'remove'
-		killvar 'PPanMaterial'
-		killvar 'PPantyFun'
-		killvar 'PPanQuality'
 	else
-		gs 'underwear_bodysuits', 'remove'
+		gs 'underwear_bodysuit', 'remove'
 	end
 	underwear['type'] = 2