1
0
Pārlūkot izejas kodu

[added] Bodysuit system with example set for Lusso (commented out so you can't purcahse them)

Kevin_Smarts 2 gadi atpakaļ
vecāks
revīzija
b22f0ec486

+ 2 - 0
glife.qproj

@@ -182,8 +182,10 @@
 		<Location name="$bra_image"/>
 		<Location name="panties"/>
 		<Location name="$panty_image"/>
+		<Location name="underwear_bodysuits"/>
 		<Location name="underwear_attributes"/>
 		<Location name="underwear_descriptions"/>
+		<Location name="$attributes_lusso_bodysuit"/>
 	</Folder>
 	<Folder name="Accessories">
 		<Location name="purses"/>

+ 110 - 0
locations/_attributes_lusso_bodysuit.qsrc

@@ -0,0 +1,110 @@
+# $attributes_lusso_bodysuit
+
+
+if ARGS[1] = 1:
+	BraQuality = 2
+	BraMaterial = 3
+	BraType = 6
+	BraFun = 1
+	PanThinness = 6
+	BraThinness = 6
+	PanExpose = 4
+	PanButt = 4
+	BraExpose = 4
+
+elseif ARGS[1] = 2:
+	BraQuality = 3
+	BraMaterial = 6
+	BraType = 7
+	BraFun = 1
+	PanThinness = 5
+	BraThinness = 3
+	PanButt = 3
+	BraExpose = 4
+
+elseif ARGS[1] = 3:
+	BraQuality = 3
+	BraMaterial = 3
+	BraType = 6
+	BraFun = 1
+	PanThinness = 5
+	BraThinness = 4
+	PanExpose = 1
+	PanButt = 2
+	BraExpose = 3
+
+elseif ARGS[1] = 4:
+	BraQuality = 3
+	BraMaterial = 6
+	BraType = 6
+	BraFun = 1
+	PanThinness = 3
+	BraThinness = 4
+	PanExpose = 4
+	PanButt = 4
+	BraExpose = 4
+
+elseif ARGS[1] = 5:
+	BraQuality = 2
+	BraMaterial = 6
+	BraType = 2
+	BraFun = 1
+	PanThinness = 4
+	BraThinness = 5
+	PanExpose = 4
+	PanButt = 4
+	BraExpose = 4
+
+elseif ARGS[1] = 6:
+	BraQuality = 3
+	BraMaterial = 3
+	BraType = 5
+	BraFun = 1
+	PanThinness = 6
+	BraThinness = 6
+	PanExpose = 4
+	PanButt = 4
+	BraExpose = 4
+
+elseif ARGS[1] = 7:
+	BraQuality = 4
+	BraType = 6
+	BraFun = 1
+	PanThinness = 2
+	BraThinness = 3
+	PanButt = 4
+	BraExpose = 1
+
+elseif ARGS[1] = 8:
+	BraQuality = 1
+	BraMaterial = 6
+	BraType = 7
+	BraFun = 1
+	PanThinness = 6
+	BraThinness = 6
+	PanButt = 4
+	BraExpose = 3
+
+elseif ARGS[1] = 9:
+	BraQuality = 3
+	BraMaterial = 3
+	BraType = 7
+	BraFun = 1
+	PanThinness = 6
+	BraThinness = 6
+	PanButt = 4
+	BraExpose = 2
+
+elseif ARGS[1] = 10:
+	BraQuality = 4
+	BraMaterial = 3
+	BraType = 3
+	BraFun = 1
+	PanThinness = 6
+	BraThinness = 1
+	PanButt = 4
+	BraExpose = 1
+end
+
+--- $attributes_lusso_bodysuit ---------------------------------
+

+ 10 - 0
locations/_body_image.qsrc

@@ -137,6 +137,16 @@ if $ARGS[0] = 'bra':
 	end
 end
 
+if $ARGS[0] = 'bodysuit':
+	if $braworntype = 'none':
+		$RESULT = 'images/pc/body/tits/t<<tits>>.jpg'
+		$body_image_msg += 'You are not wearing a bodysuit. Your breasts would be considered an EU <<$titsize>>'
+	else
+		$RESULT = FUNC('$pcs_outfit_image', $bodysuitworntype+'_bodysuits', bodysuitwornnumber)
+		$body_image_msg += 'You are wearing <<$bodysuitworntype>> bodysuit <<bodysuitwornnumber>>. Your breasts would be considered an EU <<$titsize>>'
+	end
+end
+
 if $ARGS[0] = 'shoes':
 	if $clothingworntype = 'nude' or $shoeworntype = 'none':
 		$RESULT = 'images/pc/body/feet.jpg'

+ 1 - 1
locations/_pcs_outfit_image.qsrc

@@ -4,7 +4,7 @@
 !! ARGS 0 - clothing group name
 !! ARGS 1 - clothing index
 $shop_name = $MID($ARGS[0],1,STRPOS($ARGS[0],'_')-1)
-$class_name = $MID($ARGS[0],STRPOS($ARGS[0],'_')+1,LEN($ARGS[0])-STRPOS($ARGS[0],'_')-1) 
+$class_name = $MID($ARGS[0],STRPOS($ARGS[0],'_')+1,LEN($ARGS[0])-STRPOS($ARGS[0],'_')) 
 
 
 if $ARGS[0] = 'misc_outfits':

+ 84 - 37
locations/bras.qsrc

@@ -1,45 +1,10 @@
 # bras
+!!This is separate bras file and that means underwear['type'] = 0
 !!2021/04/15
 !!gs 'bras', 'dispose'
 !!gs 'bras', 'remove'
 !!gs 'bras', 'wear'
 
-if $ARGS[0] = 'dispose':
-	dynamic $braworntype + '_bras[<<lastwornbranumber>>] = 0'
-	$lastwornbratype = 'none'
-	lastwornbranumber = 0
-	$braworntype = 'none'
-	brawornnumber = 0
-end
-
-if $ARGS[0] = 'remove':
-	$lastwornbratype = $braworntype
-	lastwornbranumber = brawornnumber
-	$braworntype = 'none'
-	brawornnumber = 0
-end
-
-if $ARGS[0] = 'wear':
-	if $ARGS[1] = '':
-		if dyneval('RESULT = <<$lastwornbratype>>_brasS[<<lastwornbranumber>>]') = 0 and $lastwornbratype ! '':
-			$braworntype = $lastwornbratype
-			brawornnumber = lastwornbranumber
-		else
-			$braworntype = 'none'
-			brawornnumber = 0
-		end
-	else
-		if dyneval('RESULT = <<$ARGS[1]>>_brasS[<<ARGS[2]>>]') = 0:
-			$braworntype = $ARGS[1]
-			brawornnumber = ARGS[2]
-		else
-			$braworntype = 'none'
-			brawornnumber = 0
-		end
-	end
-end
-
-
 if $ARGS[0] = 'view_bra_list':
 	!! ARGS 0 - view_bra_list
 	!! ARGS 1 - action type (draw, store, unwanted)
@@ -312,4 +277,86 @@ if $ARGS[0] = 'sum':
 	killvar('temp1')
 	killvar('temp2')
 end
---- bras ---------------------------------
+
+
+if $ARGS[0] = 'dispose':
+	if underwear['type'] = 2: gs 'underwear_bodysuits', 'dispose'
+	dynamic $braworntype + '_bras[<<lastwornbranumber>>] = 0'
+	$lastwornbratype = 'none'
+	lastwornbranumber = 0
+	$braworntype = 'none'
+	brawornnumber = 0
+end
+
+if $ARGS[0] = 'remove':
+	if underwear['type'] = 2: gs 'underwear_bodysuits', 'remove'
+	$lastwornbratype = $braworntype
+	lastwornbranumber = brawornnumber
+	$braworntype = 'none'
+	brawornnumber = 0
+	underwear['lastworntype'] = 0
+end
+
+if $ARGS[0] = 'wear':
+	if $ARGS[1] = '':
+		if dyneval('RESULT = <<$lastwornbratype>>_brasS[<<lastwornbranumber>>]') = 0 and $lastwornbratype ! '' and underwear['lastworntype'] ! 2:
+			gs 'bras', 'wear2', $lastwornbratype, lastwornbranumber
+		else
+			$braworntype = 'none'
+			brawornnumber = 0
+		end
+	else
+		if dyneval('RESULT = <<$ARGS[1]>>_brasS[<<ARGS[2]>>]') = 0:
+			gs 'bras', 'wear2', $ARGS[1], ARGS[2]
+		else
+			$braworntype = 'none'
+			brawornnumber = 0
+		end
+	end
+end
+
+if $ARGS[0] = 'wear2':
+	!! ARGS 0 - action
+	!! ARGS 1 - bras type name
+	!! ARGS 2 - bras index
+
+	$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
+		gs 'bras', 'remove'
+	end
+	underwear['type'] = 0
+
+	dynamic $ARGS[1] + '_w[<<ARGS[2]>>] = 1'
+
+	gs 'underwear_attributes', $ARGS[1], ARGS[2]
+
+	dynamic '<<$ARGS[1]>>_s[<<ARGS[2]>>] = 0'
+
+	PBraMaterial = BraMaterial
+	PBraType = BraType
+	PBraFun = BraFun
+	PBraQuality = BraQuality
+	PBraThinness = BraThinness
+	PBraExpose = BraExpose
+end
+
+if $ARGS[0] = 'wear_last_worn':
+	!!contingency
+	if $lastwornbratype = '': $lastwornbranumber = 'none'
+	gs 'bras', 'wear', $lastwornbratype, lastwornbranumber
+end
+
+
+--- bras ---------------------------------
+

+ 33 - 0
locations/lusso.qsrc

@@ -22,6 +22,8 @@ if $ARGS[0] = 'start':
 	act 'View panties': minut += 5 & gt 'lusso', 'panties'
 
 	act 'View bras': minut += 5 & gt 'lusso', 'bras'
+	
+!!	act 'View bodysuits': minut += 5 & gt 'lusso', 'bodysuit'
 end
 
 if $ARGS[0] = 'panties':
@@ -86,6 +88,37 @@ if $ARGS[0] = 'bras2':
 
 end
 
+if $ARGS[0] = 'bodysuit':
+	$loc_arg = 'bodysuit'
+	$loc = 'lusso'
+	$menu_loc = 'lusso'
+	$menu_arg = 'bodysuit'
+	menu_off = 0
+	*clr & cla
+	gs'stat'
+
+	act 'Return': minut += 1 & gt 'lusso', 'start'
+
+	i = 1
+
+	:looplusso_bodysuit
+		if boutique_bodysuit[i] = 0:*p '<a href="exec: i = <<i>> & gt ''lusso'', ''bodysuit2''"><img src="images/pc/items/lusso/bodysuits/<<i>>.jpg" 	height="250" /></a> '
+		i += 1
+	if i <= 10:jump 'looplusso_bodysuit'
+end
+
+if $ARGS[0] = 'bodysuit2':
+	cla
+	menu_off = 1
+	if boutique_bodysuit[i] ! 0:
+		msg 'You already own this bodysuit.'
+		gt 'lusso', 'bodysuit'
+	end
+
+	gt 'underwear_bodysuits', 'view_bodysuit_item', 'shop', 'lusso',i, 1000
+
+end
+
 
 --- lusso ---------------------------------
 

+ 80 - 35
locations/panties.qsrc

@@ -1,4 +1,5 @@
 # panties
+!!This is separate panties file and that means underwear['type'] = 0
 !!2021/04/15
 !!gs 'panties', 'dispose'
 !!to remove panties and destroy them
@@ -9,41 +10,6 @@
 
 menu_off = 1
 
-if $ARGS[0] = 'dispose':
-	dynamic $pantyworntype + '_panties[<<pantywornnumber>>] = 0'
-	$lastwornpantytype = 'none'
-	lastwornpantynumber = 0
-	$pantyworntype = 'none'
-	pantywornnumber = 0
-end
-
-if $ARGS[0] = 'remove':
-	$lastwornpantytype = $pantyworntype
-	lastwornpantynumber = pantywornnumber
-	$pantyworntype = 'none'
-	pantywornnumber = 0
-end
-
-if $ARGS[0] = 'wear':
-	if $ARGS[1] = '':
-		if dyneval('RESULT = <<$lastwornbratype>>_pantiesS[<<lastwornbranumber>>]') = 0 and $lastwornbratype ! '':
-			$pantyworntype = $lastwornpantytype
-			pantywornnumber = lastwornpantynumber
-		else
-			$pantyworntype = 'none'
-			pantywornnumber = 0
-		end
-	else
-		if dyneval('RESULT = <<$ARGS[1]>>_pantiesS[<<ARGS[2]>>]') = 0:
-			$pantyworntype = $ARGS[1]
-			pantywornnumber = ARGS[2]
-		else
-			$pantyworntype = 'none'
-			pantywornnumber = 0
-		end
-	end
-end
-
 if $ARGS[0] = 'view_panty_list':
 	!! ARGS 0 - view_panty_list
 	!! ARGS 1 - action type (clean, dirty, store, bathroom)
@@ -316,5 +282,84 @@ if $ARGS[0] = 'sum':
 	killvar('temp2')
 end
 
+if $ARGS[0] = 'dispose':
+	if underwear['type'] = 2: gs 'underwear_bodysuits', 'dispose'
+	dynamic $pantyworntype + '_panties[<<pantywornnumber>>] = 0'
+	$lastwornpantytype = 'none'
+	lastwornpantynumber = 0
+	$pantyworntype = 'none'
+	pantywornnumber = 0
+end
+
+if $ARGS[0] = 'remove':
+	if underwear['type'] = 2: gs 'underwear_bodysuits', 'remove'
+	$lastwornpantytype = $pantyworntype
+	lastwornpantynumber = pantywornnumber
+	$pantyworntype = 'none'
+	pantywornnumber = 0
+	underwear['lastworntype'] = 0
+end
+
+if $ARGS[0] = 'wear':
+	if underwear['lastworntype'] = 2: gs 'bodysuits', 'wear'
+	if $ARGS[1] = '':
+		if dyneval('RESULT = <<$lastwornpantytype>>_pantiesS[<<lastwornpantynumber>>]') = 0 and $lastwornpantytype ! '':
+			gs 'panties', 'wear2', $lastwornpantytype, lastwornpantynumber
+		else
+			$pantyworntype = 'none'
+			pantywornnumber = 0
+		end
+	else
+		if dyneval('RESULT = <<$ARGS[1]>>_pantiesS[<<ARGS[2]>>]') = 0:
+			gs 'panties', 'wear2', $ARGS[1], ARGS[2]
+		else
+			$pantyworntype = 'none'
+			pantywornnumber = 0
+		end
+	end
+end
+
+if $ARGS[0] = 'wear2':
+	!! ARGS 0 - action
+	!! ARGS 1 - panties type name
+	!! ARGS 2 - panties index
+
+	$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
+		gs 'panties', 'remove'
+	end
+	underwear['type'] = 0
+
+	dynamic $ARGS[1] + '_w[<<ARGS[2]>>] = 1'
+
+	gs 'underwear_attributes', $ARGS[1], ARGS[2]
+
+	dynamic '<<$ARGS[1]>>_s[<<ARGS[2]>>] = 0'
+
+	PPanMaterial = PanMaterial
+	PPantyFun = PantyFun
+	PPanQuality = PanQuality
+	PPanThinness = PanThinness
+	PPanExpose = PanExpose
+	PPanButt = PanButt
+end
+
+if $ARGS[0] = 'wear_last_worn':
+	!!contingency
+	if $lastwornpantytype = '': $lastwornpantynumber = 'none'
+	gs 'panties', 'wear', $lastwornpantytype, lastwornpantynumber
+end
+
 --- panties ---------------------------------
 

+ 18 - 6
locations/underwear.qsrc

@@ -5,21 +5,33 @@
 !!gs 'underwear', 'wear'
 
 if $ARGS[0] = 'dispose':
-	gs 'panties', 'dispose'
-	gs 'bras', 'dispose'
+	if underwear['type'] = 2:
+		gs 'underwear_bodysuits', 'dispose'
+	else
+		gs 'panties', 'dispose'
+		gs 'bras', 'dispose'
+	end
 end
 
 if $ARGS[0] = 'remove':
 	!!check for swimwear to prevent duplicate stripping stopping Sveta putting underwear on when she puts her clothes on
 	if $clothingworntype ! 'danilovich_swimsuit' and $clothingworntype ! 'scandalicious_swimsuit' and $clothingworntype ! 'scandalicious_bikinis' and $clothingworntype ! 'allure_swimsuit' and $clothingworntype ! 'allure_bikinis' and $clothingworntype ! 'nerdvana_swimsuit' and $clothingworntype ! 'nerdvana_bikinis' and ($pantyworntype ! 'none' or $braworntype ! 'none'):
-		gs 'panties', 'remove'
-		gs 'bras', 'remove'
+		if underwear['type'] = 2:
+			gs 'underwear_bodysuits', 'remove'
+		else
+			gs 'panties', 'remove'
+			gs 'bras', 'remove'
+		end
 	end
 end
 
 if $ARGS[0] = 'wear':
-	gs 'panties', 'wear'
-	gs 'bras', 'wear'
+	if underwear['lastworntype'] = 2:
+		gs 'bodysuits', 'wear'
+	else
+		gs 'panties', 'wear'
+		gs 'bras', 'wear'
+	end
 end
 
 if $ARGS[0] = 'dresser':

+ 8 - 7
locations/underwear_attributes.qsrc

@@ -6,7 +6,7 @@
 !!
 !! **underwear Variables
 !!
-!! PanMaterial/BraMaterial: Used for bra, panty and bodysuit material (bodysuit uses pan) description and maybe some specific reactions. (bodysuit uses BraMaterial)
+!! PanMaterial/BraMaterial: Used for bra, panty and bodysuit material (bodysuit uses bra) description and maybe some specific reactions. (bodysuit uses BraMaterial)
 !!							1 - Leather
 !!							2 - rubber
 !!							3 - mesh
@@ -22,6 +22,8 @@
 !!							5 - bralette
 !!							6 - sports
 !!							7 - shelf
+!!							8 - open
+!!							9 - under wire
 !!
 !! BraType					Used for description of bodysuit with same variable that bra uses, could be useful for specific reactions
 !!							1 - Full
@@ -33,7 +35,7 @@
 !!							7 - spaghetti strap
 !!							8 - romper
 !!
-!! BraFun/PantyFun			For function of underwear
+!! BraFun/PantyFun			For function of underwear (bodysuit uses bra)
 !!							1 - regular
 !!							2 - sports
 !!
@@ -47,7 +49,7 @@
 !!				5 semi-transparent - Can see through it but not immediately obvious, would include wide mesh
 !!				4 slightly transparent - You have to really stare but you can make out some details, includes fine mesh
 !!				3 thin - Cannot see through it but can make put the shape clearly, needs to also be tight
-!!				2 not particularly thick or thin - This is everything in teh middle and should cover the widest range
+!!				2 not particularly thick or thin - This is everything in the middle and should cover the widest range
 !!				1 thick - This should stand out as being thicker than you''d expect for underwear, things like thermals or knitted wool that would be obvious if worn with a thin outfit.
 !!
 !! (bodysuit uses all 3 exposure variables if required)
@@ -83,10 +85,9 @@ PanButt = 0
 BraExpose = 0
 
 
-!!{example
-if $ARGS[0] = 'gm_bodysuits':
-	*P FUNC('$attributes_gm_bodysuits', $ARGS[0], ARGS[1])
+if $ARGS[0] = 'lusso_bodysuits':
+	*P FUNC('$attributes_lusso_bodysuit', $ARGS[0], ARGS[1])
 end
-}
+
 --- underwear_attributes ---------------------------------
 

+ 301 - 0
locations/underwear_bodysuits.qsrc

@@ -0,0 +1,301 @@
+# underwear_bodysuits
+
+!!This is bodysuits file and that means underwear['type'] = 2
+!!bodysuits use the panty term in variables, this is intentional
+!!gs 'bodysuits', 'dispose'
+!!to remove bodysuits and destroy them
+!!gs 'bodysuits', 'remove'
+!!To remove bodysuits and store them
+!!gs 'bodysuits', 'wear'
+!!To wear bodysuits
+
+menu_off = 1
+
+if $ARGS[0] = 'view_bodysuit_list':
+	!! ARGS 0 - view_bodysuit_list
+	!! ARGS 1 - action type (clean, dirty, store, bathroom)
+	
+	if $pursepantytype ! '' or $pursebratype ! '':
+		'<center><b>You put the '+iif($pursepantytype ! '','bodysuits','')+iif($pursepantytype ! '' and $pursebratype ! '',' and ','')+iif($pursebratype ! '','bra','')+' from your purse back in the wardrobe.</b></center><br>'
+		killvar '$pursepantytype' & killvar 'pursepantynumber'
+		killvar '$pursebratype' & killvar 'pursebranumber'
+	end
+
+	if $ARGS[1] ! 'bathroom':
+		act 'Return': gt 'wardrobe', 'main'
+	else
+		act 'Return': gt $loc, $loc_arg
+	end
+
+	if $ARGS[1] = 'wardrobe':
+		metka_bodysuits = 0
+	end
+
+	if $ARGS[1] = 'store':
+		metka_bodysuits = 1
+	end
+
+	if $ARGS[1] = 'unwanted':
+		metka_bodysuits = 2
+	end
+
+	'<center><table border=1><TH><a href="exec:gt ''underwear_bodysuits'', ''view_bodysuit_list'', ''wardrobe''">Draw</a></TH><TH><a href="exec:gt ''underwear_bodysuits'', ''view_bodysuit_list'', ''store''">Storage</a></TH><TH><a href="exec:gt ''underwear_bodysuits'', ''view_bodysuit_list'', ''unwanted''">Unwanted</a></TH></table></center>'
+
+	if $pantyworntype ! 'none':act 'Remove bodysuits':gs 'underwear_bodysuits', 'remove' & gt 'underwear_bodysuits', 'view_bodysuit_list', $ARGS[1]
+	
+	if $ARGS[1] = 'store':
+		cloc = 1
+	end
+
+	'<center><img src="images/locations/city/citycenter/mall/Lusso.png"></center>'
+
+	i = 1
+	:looplussobodysuits 
+	if lusso_bodysuits_s[i] = metka_bodysuits and lusso_bodysuits[i] = 1:*p '<a href="exec:gt ''underwear_bodysuits'', ''view_bodysuit_item'', ''<<$ARGS[1]>>'', ''lusso'', <<i>>"><img src="images/pc/items/lusso/bodysuits/<<i>>.jpg" 	height="150" /></a>'
+	i += 1
+	if i <= ARRSIZE('lusso_bodysuits'):jump 'looplussobodysuits'
+end
+
+if $ARGS[0] = 'view_bodysuit_item':
+	!! ARGS 0 - view_bodysuit_item
+	!! ARGS 1 = action type (draw, shop)
+	!! ARGS 2 - bodysuit type
+	!! ARGS 3 - bodysuit index
+	!! ARGS 4 - price for shop
+	cla
+	'<center><img src="<<FUNC(''$pcs_outfit_image'', $ARGS[2]+''_bodysuits'', ARGS[3])>>"></center>'
+	gs 'underwear_attributes', $ARGS[2]+'_bodysuits', ARGS[3]
+	gs 'underwear_descriptions', 'bodysuit'
+
+	if $ARGS[1] = 'shop':
+		if dyneval('RESULT = <<$ARGS[2]>>_bodysuits[<<ARGS[3]>>]') = 1:
+			'You already own this item.'
+			act 'Leave': gt $loc, $loc_arg
+		else
+			price = ARGS[4]
+			'Price: <<ARGS[4]>> <b>₽</b>'
+			act 'Leave': gt $loc, $loc_arg
+			if money >= price:
+				act 'Buy (cash)':
+					money -= price
+					dynamic $ARGS[2] + '_bodysuits[<<ARGS[3]>>] = 1'
+					dynamic $ARGS[2] + '_bodysuits_s[<<ARGS[3]>>] = 0'
+					gt $loc, $loc_arg
+				end
+			else
+				'You do not have enough cash to buy this bodysuit.'
+			end
+			if karta + bankDebtLimit >= price:
+				act 'Buy (card)':
+					karta -= price
+					dynamic $ARGS[2] + '_bodysuits[<<ARGS[3]>>] = 1'
+					dynamic $ARGS[2] + '_bodysuits_s[<<ARGS[3]>>] = 0'
+					gt $loc, $loc_arg
+				end
+			else
+				'You do not have enough money in your bank to buy this bodysuit.'
+			end
+		end
+	else
+		if $ARGS[1] ! 'bathroom':
+			if metka_bodysuits ! 1:$RESULT += 'Move this bodysuit to <a href="exec:gt ''bodysuits'', ''dest1'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Storage</a><BR>'
+			if metka_bodysuits ! 0:$RESULT += 'Move this bodysuit to  <a href="exec:gt ''bodysuits'', ''dest0'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Wardrobe</a><BR>'
+			if metka_bodysuits ! 2:$RESULT += 'Move this bodysuit to  <a href="exec:gt ''bodysuits'', ''dest2'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Unwanted</a>'
+		end
+		
+		act 'Return':gt 'bodysuits', 'view_bodysuit_list', $ARGS[1]
+		
+		if $ARGS[1] = 'store':
+			'This bodysuit is in storage.'
+		elseif $ARGS[1] = 'unwanted':
+			'This bodysuit is unwanted.'
+		else
+			if $bodysuitworntype = $ARGS[2] and bodysuitwornnumber = ARGS[3]:
+				'You are wearing this bodysuit.'
+			else
+				if metka_bodysuits = 0:
+					act 'Wear':
+						if CloPanties = 1 and CloBra = 1:
+							msg'Your outfit is already replacing your underwear'
+						else
+							if hypnoPanty > 0:
+								cla
+								*clr
+								'You pick up the bodysuit and think about trying it on... but you don''t really like wearing bodysuits.'
+								gs 'willpower', 'misc', 'resist', 'easy'
+								will_cost += hypnoTime
+								if will_cost <= pcs_willpwr:
+									act 'Put it on anyways (<<will_cost>> Willpower)':
+										gs 'willpower', 'pay', 'resist'
+										gs 'stat'
+										gs 'underwear_bodysuits', 'wear2', $ARGS[2], ARGS[3]
+			
+										if $ARGS[1] = 'wardrobe':
+											gt 'wardrobe', 'main'
+										else
+											gt $loc, $loc_arg
+										end
+									end
+								else
+									act 'Put it 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 'underwear_bodysuits', 'wear2', $ARGS[2], ARGS[3]
+
+								if $ARGS[1] = 'wardrobe':
+									gt 'wardrobe', 'main'
+								else
+									gt $loc, $loc_arg
+								end
+							end
+						end
+					end
+				end
+			end
+		end
+		if $ARGS[1] ! 'store':
+			act 'Move to storage': gt 'underwear_bodysuits', 'dest1', $ARGS[1], $ARGS[2], ARGS[3]
+		end
+		if $ARGS[1] ! 'unwanted':
+			act 'Move to unwanted': gt 'underwear_bodysuits', 'dest2', $ARGS[1], $ARGS[2], ARGS[3]
+		end
+		if $ARGS[1] ! 'wardrobe':
+			act 'Move to wardrobe': gt 'underwear_bodysuits', 'dest0', $ARGS[1], $ARGS[2], ARGS[3]
+		end
+	end
+end
+
+if $ARGS[0] = 'dest0':
+	*clr
+	dynamic '<<$ARGS[2]>>_bodysuits_s[<<ARGS[3]>>] = 0'
+	gt 'underwear_bodysuits', 'view_bodysuit_item', $ARGS[1], $ARGS[2], ARGS[3]
+end
+
+if $ARGS[0] = 'dest1':
+	*clr
+	dynamic '<<$ARGS[2]>>_bodysuits_s[<<ARGS[3]>>] = 1'
+	gt 'underwear_bodysuits', 'view_bodysuit_item', $ARGS[1], $ARGS[2], ARGS[3]
+end
+
+if $ARGS[0] = 'dest2':
+	*clr
+	dynamic '<<$ARGS[2]>>_bodysuits_s[<<ARGS[3]>>] = 2'
+	gt 'underwear_bodysuits', 'view_bodysuit_item', $ARGS[1], $ARGS[2], ARGS[3]
+end
+
+if $ARGS[0] = 'sum':
+	$t[0] = 'boutique'
+	$t[1] = 'cats'
+	$t[2] = 'exhibitionist'
+	$t[3] = 'fashionista'
+	$t[4] = 'cheap'
+	$t[5] = 'sexshop'
+	$t[6] = 'sport'
+	result = 0
+	i = 0
+	:loopsumbodysuits_i
+	$temp = $t[i]
+	j = 1
+	:loopsumbodysuits_j
+	$temp1 = '<<$temp>>_bodysuits[<<j>>]'
+	$temp2 = '<<$temp>>_bodysuits_s[<<j>>]'
+	dynamic 'if <<$temp1>> = 1 and <<$temp2>> = 0: result +=1'
+	j += 1
+	if j <= dyneval('result = arrsize(''<<$temp>>_bodysuits'')') : jump 'loopsumbodysuits_j'
+	i += 1
+	if i <= arrsize('$t'): jump 'loopsumbodysuits_i'
+	if $ARGS[1] = 'dresser': if $pantyworntype ! 'none' and result > 0: result -= 1
+	killvar('t')
+	killvar('temp')
+	killvar('temp1')
+	killvar('temp2')
+end
+
+if $ARGS[0] = 'dispose':
+	dynamic $pantyworntype + '_bodysuit[<<pantywornnumber>>] = 0'
+	$lastwornbodysuittype = 'none'
+	lastwornbodysuitnumber = 0
+	$bodysuitworntype = 'none'
+	bodysuitwornnumber = 0
+end
+
+if $ARGS[0] = 'remove':
+	$lastwornbodysuittype = $bodysuitworntype
+	lastwornbodysuitnumber = bodysuitwornnumber
+	$bodysuitworntype = 'none'
+	bodysuitwornnumber = 0
+	underwear['lastworntype'] = 2
+end
+
+if $ARGS[0] = 'wear':
+	if $ARGS[1] = '':
+		if dyneval('RESULT = <<$lastwornbodysuittype>>_bodysuits_s[<<lastwornbodysuitnumber>>]') = 0 and $lastwornbodysuittype ! '':
+			$bodysuitworntype = $lastwornbodysuittype
+			bodysuitwornnumber = lastwornbodysuitnumber
+			gs 'wear2', $lastwornpantytype, lastwornpantynumber
+		else
+			underwear['type'] = 0
+			$bodysuitworntype = 'none'
+			bodysuitwornnumber = 0
+		end
+	else
+		if dyneval('RESULT = <<$ARGS[1]>>_bodysuits_s[<<ARGS[2]>>]') = 0:
+			gs 'wear2', $ARGS[2], ARGS[3]
+		else
+			underwear['type'] = 0
+			$bodysuitworntype = 'none'
+			bodysuitwornnumber = 0
+		end
+	end
+end
+
+if $ARGS[0] = 'wear2':
+	!! ARGS 0 - action
+	!! ARGS 1 - bodysuits type name
+	!! ARGS 2 - bodysuits index
+
+
+	$bodysuitworntype = $ARGS[1]
+	bodysuitwornnumber = ARGS[2]
+
+!! Clearing unused panty variable if switching from bra and panties
+	if underwear['type'] = 0:
+		gs 'panties', 'remove'
+		gs 'bras', 'remove'
+		killvar 'PPanMaterial'
+		killvar 'PPantyFun'
+		killvar 'PPanQuality'
+	else
+		gs 'underwear_bodysuits', 'remove'
+	end
+	underwear['type'] = 2
+
+	dynamic $ARGS[1] + '_w[<<ARGS[2]>>] = 1'
+
+	gs 'underwear_attributes', $ARGS[1], ARGS[2]
+
+	dynamic '<<$ARGS[1]>>_s[<<ARGS[2]>>] = 0'
+
+	PBraQuality = BraQuality
+	PBraMaterial = BraMaterial
+	PBraType = BraType
+	PBraFun = BraFun
+	PPanThinness = PanThinness
+	PBraThinness = BraThinness
+	PPanExpose = PanExpose
+	PPanButt = PanButt
+	PBraExpose = BraExpose
+end
+
+if $ARGS[0] = 'wear_last_worn':
+	!!contingency
+	if $lastwornbodysuittype = '': $lastwornbodysuitnumber = 'none'
+	gs 'underwear_bodysuits', 'wear', $lastwornbodysuittype, lastwornbodysuitnumber
+end
+
+
+--- underwear_bodysuits ---------------------------------
+

+ 25 - 23
locations/underwear_descriptions.qsrc

@@ -2,7 +2,7 @@
 !Builds a dynamic underwear description based on the attributes of the bra, panties or bodysuit
 
 $description = ''
-if $ARGS[0] = 'panties' and underwear['type'] = 0:
+if $ARGS[0] = 'panties':
 	if PanStyle = 1:
 		$description += 'These'
 	elseif PanStyle = 2:
@@ -84,7 +84,7 @@ if $ARGS[0] = 'panties' and underwear['type'] = 0:
 	end
 
 
-elseif $ARGS[0] = 'bras' and underwear['type'] = 0:
+elseif $ARGS[0] = 'bras':
 	if BraQuality = 1:
 		$description = 'This crappy quality'
 	elseif BraQuality = 2:
@@ -157,7 +157,7 @@ elseif $ARGS[0] = 'bras' and underwear['type'] = 0:
 		$description += 'Your breasts are not covered at all.'
 	end
 
-elseif underwear['type'] = 2:
+elseif $ARGS[0] = 'bodysuit':
 
 	if BraQuality = 1:
 		$description = 'This crappy quality'
@@ -210,55 +210,55 @@ elseif underwear['type'] = 2:
 	$description += ' bodysuit is'
 
 	if BraThinness = 1:
-		$description += ', transparent.'
+		$description += ' transparent'
 	elseif BraThinness = 2:
-		$description += ', semi-transparent.'
+		$description += ' semi-transparent'
 	elseif BraThinness = 3:
-		$description += ', slightly transparent.'
+		$description += ' slightly transparent'
 	elseif BraThinness = 4:
-		$description += ', thin.'
+		$description += ' thin'
 	elseif BraThinness = 5:
-		$description += ' not particularly thick or thin.'
+		$description += ' not particularly thick or thin'
 	elseif BraThinness = 6:
-		$description += ', thick.'
+		$description += ' thick'
 	end
 
 	$description += ' on top and'
 
 	if PanThinness = 1:
-		$description += ', transparent'
+		$description += ' transparent'
 	elseif PanThinness = 2:
-		$description += ', semi-transparent'
+		$description += ' semi-transparent'
 	elseif PanThinness = 3:
-		$description += ', slightly transparent'
+		$description += ' slightly transparent'
 	elseif PanThinness = 4:
-		$description += ', thin'
+		$description += ' thin'
 	elseif PanThinness = 5:
 		$description += ' not particularly thick or thin'
 	elseif PanThinness = 6:
-		$description += ', thick'
+		$description += ' thick'
 	end
 
-	$description += ' on the bottom.'
+	$description += ' on the bottom. '
 
 	if PanExpose = 1:
-		$description += 'Your pussy can just about be seen in the right light.'
+		$description += 'Your pussy can just about be seen in the right light. '
 	elseif PanExpose = 2:
-		$description += 'Your pussy is partly visible.'
+		$description += 'Your pussy is partly visible. '
 	elseif PanExpose = 3:
-		$description += 'Your pussy is clearly visible.'
+		$description += 'Your pussy is clearly visible. '
 	elseif PanExpose = 4:
-		$description += 'Your pussy is not covered at all.'
+		$description += 'Your pussy is not covered at all. '
 	end
 
 	if PanButt = 1:
-		$description += 'Your butt can just about be seen in the right light.'
+		$description += 'Your butt can just about be seen in the right light. '
 	elseif PanButt = 1:
-		$description += 'Your butt is partly visible.'
+		$description += 'Your butt is partly visible. '
 	elseif PanButt = 1:
-		$description += 'Your butt is clearly visible.'
+		$description += 'Your butt is clearly visible. '
 	elseif PanButt = 1:
-		$description += 'Your butt is not covered at all.'
+		$description += 'Your butt is not covered at all. '
 	end
 
 	if BraExpose = 1:
@@ -272,5 +272,7 @@ elseif underwear['type'] = 2:
 	end
 end
 
+$description
+
 --- underwear_descriptions ---------------------------------
 

+ 58 - 14
locations/wardrobe.qsrc

@@ -51,20 +51,30 @@ if $ARGS[0] = 'main':
 		killvar '$pursebratype' & killvar 'pursebranumber'
 	end
 	'<center><font color="maroon">These are the clothes you are currently wearing - Click on an item to change it</font></center><center><table border=0 cellspacing=<<ward_img_hgt/25>> cellpadding=5>'
-	*p '<TH>Bra worn</TH><TH>Outfit worn</TH><TH>Coat (only worn outside when cold)</TH>'
-	*P '<TR><TD><center><a href="exec:gt ''bras'', ''view_bra_list'', ''wardrobe''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'',''bra'')>>"></a></center></TD><TD><center><a href="exec:gt ''clothing_QV'', ''list''"><img Height = <<ward_img_hgt * 2>> src="<<FUNC(''$body_image'',''clothes'')>>"></a></center></TD><TD><center>'
+	if underwear['type'] = 0:
+		*p '<TH>Bra worn</TH><TH>Outfit worn</TH><TH>Coat (only worn outside when cold)</TH>'
+		*P '<TR><TD><center><a href="exec:gt ''wardrobe'', ''underwear_options'', ''bra''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'',''bra'')>>"></a></center></TD><TD><center><a href="exec:gt ''clothing_QV'', ''list''"><img Height = <<ward_img_hgt * 2>> src="<<FUNC(''$body_image'',''clothes'')>>"></a></center></TD><TD><center>'
+	else
+		*p '<TH>Bodysuit worn</TH><TH>Outfit worn</TH><TH>Coat (only worn outside when cold)</TH>'
+		*P '<TR><TD ROWSPAN=4><center><a href="exec:gt ''wardrobe'', ''underwear_options'', ''full''"><img Height = <<ward_img_hgt>>*2 src="<<FUNC(''$body_image'',''bodysuit'')>>"></a></center></TD><TD><center><a href="exec:gt ''clothing_QV'', ''list''"><img Height = <<ward_img_hgt * 2>> src="<<FUNC(''$body_image'',''clothes'')>>"></a></center></TD><TD><center>'
+	end
+		
 	if $coatworntype = 'none':
 		'<a href="exec:gt ''coats'', ''view_coat_list'', ''wardrobe''">Search the wardrobe</a>'
 	else
 		'<a href="exec:gt ''coats'', ''view_coat_list'', ''wardrobe''"><img Height = <<ward_img_hgt * 2>> src="<<FUNC(''$body_image'', ''coat'')>>"></a>'
 	end
-	'</center></TD><TR><TD><center>'
-	if $braworntype ! 'none':
-		'<a href="exec:gs ''bras'', ''remove'' & gt ''wardrobe'', ''main''">Remove</a>'
+	if underwear['type'] = 0:
+		'</center></TD><TR><TD><center>'
+		if $braworntype ! 'none':
+			'<a href="exec:gs ''bras'', ''remove'' & gt ''wardrobe'', ''main''">Remove</a>'
+		else
+			'Remove'
+		end
+		'</center></TD><TD><center>'
 	else
-		'Remove'
+		'</center></TD><TR><TD><center>'
 	end
-	'</center></TD><TD><center>'
 	if $clothingworntype ! 'nude':
 		'<a href="exec:gs ''clothing'', ''strip'' & gt ''wardrobe'', ''main''">Remove</a>'
 	else
@@ -78,20 +88,32 @@ if $ARGS[0] = 'main':
 	end
 	'</center></TD>'
 
-	*p '<TR><TH>Panties worn</TH><TH>Shoes (Only worn outside)</TH><TH>Purse worn</TH>'
-	*P '<TR><TD><center><a href="exec:gt ''panties'', ''view_panty_list'', ''wardrobe''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'',''panties'')>>"></a></center></TD><TD><center><a href="exec:gt ''shoes'', ''view_shoe_list'', ''wardrobe''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'', ''shoes'')>>"></a></center></TD><TD><center>'
+	if underwear['type'] = 0:
+		*p '<TR><TH>Panties worn</TH><TH>Shoes (Only worn outside)</TH><TH>Purse worn</TH>'
+		*P '<TR><TD><center><a href="exec:gt ''wardrobe'', ''underwear_options'', ''panties''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'',''panties'')>>"></a></center></TD><TD><center><a href="exec:gt ''shoes'', ''view_shoe_list'', ''wardrobe''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'', ''shoes'')>>"></a></center></TD><TD><center>'
+	else
+		*p '<TR><TH>Shoes (Only worn outside)</TH><TH>Purse worn</TH>'
+		*P '<TR><TD><center><a href="exec:gt ''shoes'', ''view_shoe_list'', ''wardrobe''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$body_image'', ''shoes'')>>"></a></center></TD><TD><center>'
+	end
 	if bag = 1:
 		'<a href="exec:gt ''purses'', ''view_purse_list'',''wardrobe''"><img Height = <<ward_img_hgt>> src="<<FUNC(''$purse_image'', $currentpursetype, currentpursenumber)>>"></a>'
 	else
 		'<a href="exec:gt ''purses'', ''view_purse_list'',''wardrobe''">Search the wardrobe</a>'
 	end
-	'</center></TD><TR><TD><center>'
-	if $pantyworntype ! 'none':
-		'<a href="exec:gs ''panties'', ''remove'' & gt ''wardrobe'', ''main''">Remove</a>'
+	
+	if underwear['type'] = 0:
+		'</center></TD><TR><TD><center>'
+		if $pantyworntype ! 'none':
+			'<a href="exec:gs ''panties'', ''remove'' & gt ''wardrobe'', ''main''">Remove</a>'
+		else
+			'Remove'
+		end
+		'</center></TD><TD><center>'
 	else
-		'Remove'
+		'</center></TD><TR><TD><center>'
+		'<a href="exec:gs ''underwear_bodysuits'', ''remove'' & underwear[''type''] = 0 & gt ''wardrobe'', ''main''">Remove</a>'
+		'</center></TD><TD><center>'
 	end
-	'</center></TD><TD><center>'
 	if $shoeworntype ! 'none':
 		'<a href="exec:gs ''shoes'', ''strip'' & gt ''wardrobe'', ''main''">Remove</a>'
 	else
@@ -133,6 +155,28 @@ if $ARGS[0] = 'main':
 	end
 end
 
+if $ARGS[0] = 'underwear_options':
+	'<center><font color="maroon">Please select an option</font></center>'
+	*nl
+	*nl
+	*nl
+	'<center><a href="exec:gt ''underwear_bodysuits'', ''view_bodysuit_list'', ''wardrobe''"><img src="images/system/icons/clothing/bodysuits.png" height="150"></a></center>'
+	if $ARGS[1] = 'bra' or $ARGS[1] = 'full':
+		*nl
+		*nl
+		*nl
+		'<center><a href="exec:gt ''bras'', ''view_bra_list'', ''wardrobe''"><img src="images/system/icons/clothing/bras.png" height="150"></a></center>'
+	end
+	if $ARGS[1] = 'panties' or $ARGS[1] = 'full':
+		*nl
+		*nl
+		*nl
+		'<center><a href="exec:gt ''panties'', ''view_panty_list'', ''wardrobe''"><img src="images/system/icons/clothing/panties.png" height="150"></a></center>'
+	end
+
+	act 'Return': gt 'wardrobe', 'main'
+end
+
 if $ARGS[0] = 'removeall':
 	gs 'bras', 'remove'
 	gs 'clothing', 'strip'