1
0

37 Коммитууд 0337c9b831 ... 4507d1ea49

Эзэн SHA1 Мессеж Огноо
  f95Lok 4507d1ea49 [changed] edited 'intro_customization' to use the generalized display loops for the clothing selector 2 долоо хоног өмнө
  f95Lok 937c70ef59 [fixed] purses display loop calling the wrong 'totals' function 2 долоо хоног өмнө
  f95Lok 35b365be6b [fixed/changed] removed price argument from clothing function arguments. fixed typo in argument referring to an item type. 2 долоо хоног өмнө
  f95Lok f9db23f7b7 [fixed/changed] removed price argument from more clothing functions. fixed wrong call to 'clothing_attributes' 2 долоо хоног өмнө
  f95Lok 3294d214c9 [fixed] corrected the header and footer of 'pure_attributes' 2 долоо хоног өмнө
  f95Lok ff6a3cc92c [fixed] added call to 'purse_attributes' in 'view_purse_item' 2 долоо хоног өмнө
  f95Lok 836cc0e44d [changed] standardized 'pussycats_type' to 'cats_type' to match with ownership arrays 2 долоо хоног өмнө
  f95Lok db47e715bb [fixed] removed unnecessary loop from coats and purses 2 долоо хоног өмнө
  f95Lok 51cb99aaab [fixed] wrong argument check for displaying bodysuits 2 долоо хоног өмнө
  f95Lok c50fcb712f [fixed] accidental wrong call type to clothing display functions 2 долоо хоног өмнө
  f95Lok 1a93761932 [fixed] removing deprecated price argument from 'view_*type*_item' calls 2 долоо хоног өмнө
  f95Lok 0a0daa7562 [fixed] forgot to remove deprecated function + correcting an off-standard naming in 'clothing', 'totals' 2 долоо хоног өмнө
  f95Lok becbc79177 [changed] edited the various market clothing shops to use the generalized display loops 2 долоо хоног өмнө
  f95Lok f60f3cf2bd [changed] edited 'shop_tsar_bomba' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 632a145bfd [changed] edited 'shop_scandalicious' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 654b6bfecb [changed] edited 'shop_pussycats' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 757555a588 [changed] edited 'shop_nerdvana' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 8f90eb9b52 [changed] edited 'shop_moncheri' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 70ef8271af [changed] edited 'shop_materinstvo' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok e5751b5e27 [changed] edited 'shop_lusso' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 7360a69d2d [changed] edited 'shop_flamingos' to use the generalized display loops 2 долоо хоног өмнө
  Kevin_Smarts 1cdeb99fe3 Merge remote-tracking branch 'Lokplart/master' 2 долоо хоног өмнө
  Kevin_Smarts 844e51dda8 Merge remote-tracking branch 'Derryth_Love/master' 2 долоо хоног өмнө
  f95Lok daec846ba4 [changed] edited 'shop_fashionista' to use the generalized display loops 2 долоо хоног өмнө
  Derryth_Love 56dfcf7eda Dead End during Sunbathing Event [fixed] 2 долоо хоног өмнө
  Kevin_Smarts 90768bd453 Merge remote-tracking branch 'origin/master' 2 долоо хоног өмнө
  Kevin_Smarts e131b79c5a Merge remote-tracking branch 'Lokplart/master' 2 долоо хоног өмнө
  Kevin_Smarts 521568636f Merge remote-tracking branch 'Anjuna/master' 2 долоо хоног өмнө
  f95Lok a49c62863d [changed] edited 'shop_fancy_pancy' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok e9a0ef9727 [changed] edited 'shop_exhibitionist' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok f9514d407a [changed] edited 'shop_erotomaniac' to use the generalized display loops 2 долоо хоног өмнө
  f95Lok 8dda9d825a Merge remote-tracking branch 'kevin/master' 2 долоо хоног өмнө
  f95Lok c79e7be4a0 [changed] edited 'shop_dolls' to use the generalized display loops 2 долоо хоног өмнө
  anjuna krokus e77b9ab8e9 [fixed] Also fixed the other option of npcStat variable types 2 долоо хоног өмнө
  anjuna krokus 444ded1cbf [fixed] potential issues between saved npc_sexskill (range 0-2) and generated (range 0-100). 2 долоо хоног өмнө
  f95Lok 8175b51bcd [added] call templates for easy copy-paste 2 долоо хоног өмнө
  f95Lok 372ded8a82 [changed] edited 'shop_danilovich' to use the generalized display loops 2 долоо хоног өмнө

+ 1 - 1
locations/bras.qsrc

@@ -11,7 +11,7 @@ if $ARGS[0] = 'totals':
 		total = 19
 	elseif $ARGS[1] = 'fashionista_bras':
 		total = 42
-	elseif $ARGS[1] = 'pussycats_bras':
+	elseif $ARGS[1] = 'cats_bras':
 		total = 41
 	elseif $ARGS[1] = 'danilovich_bras':
 		total = 8

+ 2 - 33
locations/city_market.qsrc

@@ -128,40 +128,9 @@ if $ARGS[0] = 'clo':
 	'<center><b><font color="maroon">Clothes.</font></b></center>'
 	'You inspect the cheap clothing the stall has to offer.'
 
-	act 'Return': minut += 5 & gt 'city_market', 'start'
+	gs 'shop_utils', 'display_clothes', 'market_outfits', 1, 'market/clothes', 'shop'
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'market_outfits'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopmarket_outfits_filter
-		i = 1
-		:loopmarket_outfits
-			if market_outfits[i] = 0:
-				gs 'clothing_attributes', 'market_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:*p '<a href="exec: i = <<i>> & gt ''city_market'', ''marketclo''"><img <<$set_imgh>> src="images/pc/items/market/clothes/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 1
-		if i <= total: jump 'loopmarket_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopmarket_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'marketclo':
-	if market_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'city_market', 'clo'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'market_outfits', i, 750, 'shop'
+	act 'Return': minut += 5 & gt 'city_market', 'start'
 end
 
 if $ARGS[0] = 'wares':

+ 6 - 8
locations/clothing.qsrc

@@ -60,7 +60,7 @@ if $ARGS[0] = 'totals':
 		total = 40
 	elseif $ARGS[1] = 'scandalicious_bikinis':
 		total = 70
-	elseif $ARGS[1] = 'bomba_dresses':
+	elseif $ARGS[1] = 'bomba_dress':
 		total = 100
 	elseif $ARGS[1] = 'bomba_outfits':
 		total = 100
@@ -2054,27 +2054,25 @@ end
 !! Used to get price of an outfit uses the variable "price"
 !! $ARGS[1] set to outfit type
 !! ARGS[2] for outfit number
-!! ARGS[3] the store base price
 if $ARGS[0] = 'get_price':
-	gs 'clothing_attributes', '$ARGS[1]', ARGS[2]
-	price = (ARGS[3] * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
+	gs 'clothing_attributes', $ARGS[1], ARGS[2]
+	price = (CloPrice * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
 	price = price / 50 * 50
 end
 
 !! use to buy outfit automatically, use with gosub
 !! $ARGS[1] = item_type
 !! ARGS[2] = item number
-!! ARGS[3] = store price
 !! $ARGS[4] = 'money' or 'karta' for payment type
 if $ARGS[0] = 'quick_buy':
-	price = (ARGS[3] * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
+	price = (CloPrice * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
 	price = price / 50 * 50
 	h = 0
 	if CloStyle = 2:h = 10
 	if CloStyle = 5:h = 20
 	h += (3 * CloQuality)
-	if price > 0: dynamic '<<$ARGS[4]>> -= price'
-	gs 'clothing', 'view_clothing_item_buy', 'skip', $ARGS[1], ARGS[2], ARGS[3]
+	if price > 0: dynamic '<<$ARGS[3]>> -= price'
+	gs 'clothing', 'view_clothing_item_buy', 'skip', $ARGS[1], ARGS[2]
 end
 
 --- clothing ---------------------------------

+ 1 - 1
locations/coats.qsrc

@@ -11,7 +11,7 @@ if $ARGS[0] = 'totals':
 		total = 20
 	elseif $ARGS[1] = 'dolls_coats':
 		total = 20
-	elseif $ARGS[1] = 'pussycats_coats':
+	elseif $ARGS[1] = 'cats_coats':
 		total = 20
 	elseif $ARGS[1] = 'bomba_coats':
 		total = 20

+ 4 - 36
locations/gad_market.qsrc

@@ -141,41 +141,9 @@ if $ARGS[0] = 'clothing_cart':
 		exit
 	end
 
+	gs 'shop_utils', 'display_clothes', 'market_outfits', 8, 'market/clothes', 'shop', clothingstock mod 4
+	
 	act 'Return': minut += 5 & gt 'gad_market', 'clothing_stand'
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'market_outfits'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopmarket_outfits_filter
-		i = 1 + clothingstock mod 4
-		:loopmarket_outfits
-			if market_outfits[i] = 0:
-				gs 'clothing_attributes', 'market_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:*p '<a href="exec: i = <<i>> & gt ''gad_market'', ''marketclo''"><img <<$set_imgh>> src="images/pc/items/market/clothes/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			!! Only half of the market outfits are ever sold here.
-			i += 8
-		if i <= total: jump 'loopmarket_outfits'
-		clo_i += 1
-	if (clothingfilter['quality'] = 0 and clo_i <= 7) or (clothingfilter['inhibition'] = 0 and clo_i <= 50):
-		jump 'loopmarket_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'marketclo':
-	if market_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'gad_market', 'clothing_cart'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'market_outfits', i, 750, 'shop'
 end
 
 if $ARGS[0] = 'swimsuit_cart':
@@ -270,8 +238,8 @@ if $ARGS[0] = 'swimsuit_cart':
 	end
 end
 
-if $ARGS[0] = 'bikini1': gt 'clothing', 'view_clothing_item', 'scandalicious_bikinis', i, 1750, 'shop'
-if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'scandalicious_swimsuit', i, 1750, 'shop'
+if $ARGS[0] = 'bikini1': gt 'clothing', 'view_clothing_item', 'scandalicious_bikinis', i, 'shop'
+if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'scandalicious_swimsuit', i, 'shop'
 
 
 

+ 135 - 133
locations/intro_customization.qsrc

@@ -3,13 +3,13 @@
 if $ARGS[0] = 'start':
 	'If you want to set your skills and attributes to a certain number, use the cheat menu to do it, the options to do it here were removed.'	
 
-	intro_custom_temp_money = -1
-	$intro_custom_temp_loc = ''
-	$intro_custom_temp_loc_arg = ''
-	$intro_custom_temp_loc_s = ''
-	$intro_custom_temp_args_s = ''
-	$intro_custom_temp_menu_loc = ''
-	$intro_custom_temp_menu_arg = ''
+	intro_custom['money'] = -1
+	$intro_custom['loc'] = ''
+	$intro_custom['loc_arg'] = ''
+	$intro_custom['loc_s'] = ''
+	$intro_custom['args_s'] = ''
+	$intro_custom['menu_loc'] = ''
+	$intro_custom['menu_arg'] = ''
 	
 	if pcs_mass['butt_gen'] = 0: pcs_mass['butt_gen'] = 22
 	if pcs_mass['bust_gen'] = 0: pcs_mass['bust_gen'] = 22
@@ -25,17 +25,8 @@ if $ARGS[0] = 'start':
 		gs 'intro_sg_select_custom', 'start'
 	else
 		act 'Confirm these options':
-			killvar $menu_name
-			killvar intro_custom_temp_money
-			killvar $intro_custom_temp_loc
-			killvar $intro_custom_temp_loc_arg
-			killvar $intro_custom_temp_loc_s
-			killvar $intro_custom_temp_args_s
-			killvar $intro_custom_temp_menu_loc
-			killvar $intro_custom_temp_menu_arg
-			killvar intro_custom_step
-			killvar intro_custom_noexcept
-			killvar intro_custom_shop_return
+			killvar 'intro_custom'
+			killvar 'menu_name'
 			if bag = 1:
 				!!using current combination should prevent having more than 1 bag at the start of game.
 				dynamic $currentpursetype + '_purses[<<currentpursenumber>>] = 1'
@@ -54,44 +45,42 @@ if $ARGS[0] = 'modclo_menu':
 	gs 'tattoo_management', 'count'
 	gs 'piercing_management', 'count'
 	
-	intro_custom_step = 1
-	intro_custom_noexcept = 1
-	intro_custom_shop_return = 1
-	if intro_custom_temp_money = -1: 
-		intro_custom_temp_money = money
+	if intro_custom['money'] = -1: 
+		intro_custom['money'] = money
 		money = 999999999
 	end
-	if $intro_custom_temp_loc = '':
-		$intro_custom_temp_loc = $loc
-		$intro_custom_temp_loc_arg = $loc_arg
-		$intro_custom_temp_loc_s = $loc_s
-		$intro_custom_temp_args_s = $args_s
-		$intro_custom_temp_menu_loc = $menu_loc
-		$intro_custom_temp_menu_arg = $menu_arg
+	if $intro_custom['loc'] = '':
+		$intro_custom['loc'] = $loc
+		$intro_custom['loc_arg'] = $loc_arg
+		$intro_custom['loc_s'] = $loc_s
+		$intro_custom['args_s'] = $args_s
+		$intro_custom['menu_loc'] = $menu_loc
+		$intro_custom['menu_arg'] = $menu_arg
+
+		intro_custom_shop_return = 1
+		intro_custom_step = 1
 	end
 
 	act 'Return': 
-		money = intro_custom_temp_money
-		intro_temp_money = -1
-		
-		intro_custom_step = 0
-		intro_custom_noexcept = 0
-		intro_custom_shop_return = 0
+		money = intro_custom['money']
+		intro_custom['money'] = -1
 		
-		$loc = $intro_custom_temp_loc
-		$loc_arg = $intro_custom_temp_loc_arg
-		$intro_custom_temp_loc = ''
-		$intro_custom_temp_loc_arg = ''
+		$loc = $intro_custom['loc']
+		$loc_arg = $intro_custom['loc_arg']
+		$intro_custom['loc'] = ''
+		$intro_custom['loc_arg'] = ''
 		
-		$menu_loc = $intro_custom_temp_menu_loc
-		$menu_arg = $intro_custom_temp_menu_arg
-		$intro_custom_temp_menu_loc = ''
-		$intro_custom_temp_menu_arg = ''
-
-		$loc_s = $intro_custom_temp_loc_s
-		$args_s = $intro_custom_temp_args_s
-		$intro_custom_temp_loc_s = ''
-		$intro_custom_temp_args_s = ''
+		$menu_loc = $intro_custom['menu_loc']
+		$menu_arg = $intro_custom['menu_arg']
+		$intro_custom['menu_loc'] = ''
+		$intro_custom['menu_arg'] = ''
+
+		$loc_s = $intro_custom['loc_s']
+		$args_s = $intro_custom['args_s']
+		$intro_custom['loc_s'] = ''
+		$intro_custom['args_s'] = ''
+
+		intro_custom_shop_return = 0
 	
 		gt 'intro_customization', 'start'
 	end
@@ -145,7 +134,6 @@ end
 
 if $ARGS[0] = 'modclo':
 	'Make sure to finalize appearance stats before choosing clothing otherwise they might not fit once the game starts.'
-	'<<$curloc>>'
 
 	$loc_s = 'intro_customization'
 	$args_s = 'modclo'
@@ -162,7 +150,7 @@ if $ARGS[0] = 'modclo':
 		act 'Flamingo''s':		$menu_name = 'flamingos' 	 & gt 'intro_customization', 'modclo'
 		act 'G&M': 				$menu_name = 'gm' 			 & gt 'intro_customization', 'modclo'
 		act 'Lusso Intimo': 	$menu_name = 'lusso' 		 & gt 'intro_customization', 'modclo'
-		act 'Market': 										   gt 'pav_train_market'   , 'clo'
+		act 'Market': 										   gt 'intro_customization', 'modclo_loop', 'display_clothes', 'market_outfits', 'market/clothes'
 		act 'Mommy Style':		$menu_name = 'materinstvo' 	 & gt 'intro_customization', 'modclo'
 		act 'Mon Cheri':		$menu_name = 'moncheri' 	 & gt 'intro_customization', 'modclo'
 		act 'Nerdvana':			$menu_name = 'nerdvana' 	 & gt 'intro_customization', 'modclo'
@@ -176,8 +164,8 @@ if $ARGS[0] = 'modclo':
 
 	elseif $menu_name = 'allure':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View swimsuits': 			gt 'shop_allure', 'swim'
-		act 'View bikinis': 			gt 'shop_allure', 'bikinis'
+		act 'View swimsuits': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'allure_swimsuit', 'allure/one'
+		act 'View bikinis': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'allure_bikinis',  'allure/two'
 
 		'<center><b><font color="maroon">shop_allure</font></b></center>'
 		'<center><img src="images/locations/city/residential/lake/allure/shop.jpg"></center>'
@@ -185,9 +173,9 @@ if $ARGS[0] = 'modclo':
 		
 	elseif $menu_name = 'coco_carmen':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View dresses': 			gt 'shop_coco_carmen', 'dress'
-		act 'View other outfits': 		gt 'shop_coco_carmen', 'outfits'
-		act 'View purses': 				gt 'shop_coco_carmen', 'purses'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'coco_dress', 	'coco/dress'
+		act 'View other outfits': 		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'coco_outfits', 'coco/outfits'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'coco', 		'coco/purses'
 
 		'<center><b><font color="maroon">Coco Carmen</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/coco/shop.jpg"></center>'
@@ -195,13 +183,13 @@ if $ARGS[0] = 'modclo':
 		
 	elseif $menu_name = 'danilovich':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View sports clothing': 	gt 'shop_danilovich', 'clo'
-		act 'View sports bras': 		gt 'shop_danilovich', 'bras'
-		act 'View sports panties': 		gt 'shop_danilovich', 'panties'
-		act 'View exercise shoes': 		gt 'shop_danilovich', 'shoes'
-		act 'View swimwear': 			gt 'shop_danilovich', 'swim'
-		act 'View purses': 				gt 'shop_danilovich', 'purses'
-		act 'View coats': 				gt 'shop_danilovich', 'coats'
+		act 'View sports clothing': 	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'danilovich_outfits', 	'danilovich/outfits'
+		act 'View swimwear': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'danilovich_swimsuit', 	'danilovich/swimwear'
+		act 'View sports bras': 		gt 'intro_customization', 'modclo_loop', 'display_bras', 	'danilovich', 			'danilovich/bras'
+		act 'View sports panties': 		gt 'intro_customization', 'modclo_loop', 'display_panties', 'danilovich', 			'danilovich/panties'
+		act 'View exercise shoes': 		gt 'intro_customization', 'modclo_loop', 'display_shoes', 	'danilovich', 			'danilovich/shoes'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'danilovich', 			'danilovich/purses'
+		act 'View coats': 				gt 'intro_customization', 'modclo_loop', 'display_coats', 	'danilovich', 			'danilovich/coats'
 
 		'<center><b><font color="maroon">Danilovich sporting goods</font></b></center>'
 		'<center><img src="images/locations/city/citycenter/mall/sportshop/sportshop.jpg"></center>'
@@ -212,12 +200,12 @@ if $ARGS[0] = 'modclo':
 	elseif $menu_name = 'erotomaniac':
 		act 'Return': $menu_name = '' & 			gt 'intro_customization', 'modclo'
 		act 'Adult toys & items': 					gt 'shop_erotomaniac', 'sexshop_menu'
-		act 'Look through the fetish dresses':  	gt 'shop_erotomaniac', 'dress'
-		act 'Look through the fetish outfits':  	gt 'shop_erotomaniac', 'outfits'
-		act 'Look through the stripper clothing':	gt 'shop_erotomaniac', 'strip'
-		act 'Look through the panties': 			gt 'shop_erotomaniac', 'panties'
-		act 'Look through the bras': 				gt 'shop_erotomaniac', 'bras'
-		act 'Look through the fetish shoes': 		gt 'shop_erotomaniac', 'shoes'
+		act 'Look through the fetish dresses':  	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'eroto_dress', 	 'eroto/dress'
+		act 'Look through the fetish outfits':  	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'eroto_outfits', 'eroto/outfits'
+		act 'Look through the stripper clothing':	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'eroto_strip', 	 'eroto/strip'
+		act 'Look through the bras': 				gt 'intro_customization', 'modclo_loop', 'display_bras', 	'eroto', 		 'eroto/bras'
+		act 'Look through the panties': 			gt 'intro_customization', 'modclo_loop', 'display_panties', 'eroto', 		 'eroto/panties'
+		act 'Look through the fetish shoes': 		gt 'intro_customization', 'modclo_loop', 'display_shoes', 	'eroto', 		 'eroto/shoes'
 
 		$backimage=''
 		'<center><b><font color="maroon">The Erotomaniac</font></b></center>'
@@ -231,7 +219,7 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'fancy_pancy':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View clothing': 			gt 'shop_fancy_pancy', 'clothes'
+		act 'View clothing': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'fancy_burlesque', 'fancy/burlesque'
 
 		'<center><b><font color="maroon">Fancy Pancy</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/pushkin/fancypancy/shop.jpg"></center>'
@@ -240,11 +228,11 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'fashionista':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View purses': 				gt 'shop_fashionista', 'purses'
-		act 'Try on dresses': 			gt 'shop_fashionista', 'dressingclothes'
-		act 'Try on outfits': 			gt 'shop_fashionista', 'dressingoutfit'
-		act 'Try on bra': 	  			gt 'shop_fashionista', 'dressingbra'
-		act 'Try on panties': 			gt 'shop_fashionista', 'dressingpanties'
+		act 'Try on dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'fashionista_dress', 	'fashionista/dress'
+		act 'Try on outfits': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'fashionista_outfits', 	'fashionista/outfits'
+		act 'Try on bra': 	  			gt 'intro_customization', 'modclo_loop', 'display_bras', 	'fashionista', 			'fashionista/bras'
+		act 'Try on panties': 			gt 'intro_customization', 'modclo_loop', 'display_panties', 'fashionista', 			'fashionista/panties'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'fashionista', 			'fashionista/purses'
 
 		'<center><b><font color="maroon">Fashionista</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/fashionista/fashionista.jpg"></center>'
@@ -253,9 +241,9 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'flamingos':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View dresses': 			gt 'shop_flamingos', 'dresses'
-		act 'View other clothing': 		gt 'shop_flamingos', 'clothes'
-		act 'View purses': 				gt 'shop_flamingos', 'purses'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'flamingos_dress', 	 'flamingos/dress'
+		act 'View other clothing': 		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'flamingos_outfits', 'flamingos/outfits'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'flamingos', 		 'flamingos/purses'
 
 		'<center><b><font color="maroon">Flamingo''s</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/island/flamingos/shop.jpg"></center>'
@@ -263,17 +251,17 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'gm':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View clothing': 			gt 'shop_gm', 'clothes'
-		act 'View dresses': 			gt 'shop_gm', 'dresses'
-		act 'View office wear': 		gt 'shop_gm', 'office'
-		act 'View maid outfits': 		gt 'shop_gm', 'gm_maid'
-		act 'View server uniforms': 	gt 'shop_gm', 'gm_server'
-		act 'View school uniforms': 	gt 'shop_gm', 'school'
-		act 'View regular shoes': 		gt 'shop_gm', 'shoes'
-		act 'View panties': 			gt 'shop_gm', 'panties'
-		act 'View bras': 				gt 'shop_gm', 'bras'
-		act 'View purses': 				gt 'shop_gm', 'purses'
-		act 'View coats': 				gt 'shop_gm', 'coats'
+		act 'View clothing': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'gm_outfits', 	'gm/outfits'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'gm_dress',		'gm/dress'
+		act 'View office wear': 		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'gm_office', 	'gm/office'
+		act 'View maid outfits': 		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'gm_maid', 		'gm/maid'
+		act 'View server uniforms': 	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'gm_server', 	'gm/server'
+		act 'View school uniforms': 	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'gm_school', 	'gm/school'
+		act 'View bras': 				gt 'intro_customization', 'modclo_loop', 'display_bras', 	'gm', 			'gm/bras'
+		act 'View panties': 			gt 'intro_customization', 'modclo_loop', 'display_panties', 'gm', 			'gm/panties'
+		act 'View shoes': 				gt 'intro_customization', 'modclo_loop', 'display_shoes', 	'gm', 			'gm/shoes'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses',	'gm', 			'gm/purses'
+		act 'View coats': 				gt 'intro_customization', 'modclo_loop', 'display_coats', 	'gm', 			'gm/coats'
 
 		'<center><b><font color="maroon">Welcome to G & M - Clothes for all your needs</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/gandm/shop.jpg"></center>'
@@ -281,9 +269,9 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'lusso':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View panties': 			gt 'shop_lusso', 'panties'
-		act 'View bras': 				gt 'shop_lusso', 'bras'
-		act 'View bodysuits':			gt 'shop_lusso', 'bodysuit'
+		act 'View bras': 				gt 'intro_customization', 'modclo_loop', 'display_bras', 		'lusso', 'lusso/bras'
+		act 'View panties': 			gt 'intro_customization', 'modclo_loop', 'display_panties',		'lusso', 'lusso/panties'
+		act 'View bodysuits':			gt 'intro_customization', 'modclo_loop', 'display_bodysuits', 	'lusso', 'lusso/bodysuits'
 
 		'<center><b><font color="maroon">Lusso Intimo</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/lusso/lusso.jpg"></center>'
@@ -292,20 +280,20 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'materinstvo':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View clothes': 			gt 'shop_materinstvo', 'clothes'
+		act 'View clothes': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'materinstvo_dress', 'mommy'
 
 		'<center><b><font color="maroon">Mommy Style</font></b></center>'
 		'<center><img src="images/locations/city/citycenter/mall/mommy/shop.jpg"></center>'
-		'This is a shop dedicated to all things pregnancy related.  Here you can buy Pregnancy Clothing or items to aid the process of getting through the day.'
+		'This is a shop dedicated to all things pregnancy related. Here you can buy Pregnancy Clothing or items to aid the process of getting through the day.'
 	
 	elseif $menu_name = 'moncheri':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View shoes': gt 'shop_moncheri', 'shoes'
-		act 'View purses': gt 'shop_moncheri', 'purses'
-		act 'View coats': gt 'shop_moncheri', 'coats'
-		act 'Try on dresses': gt 'shop_moncheri', 'dresses'
-		act 'Try on gowns': gt 'shop_moncheri', 'gowns'
-		act 'Try on bodysuits': gt 'shop_moncheri', 'bodysuit'
+		act 'Try on gowns': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'moncheri_gown', 	'moncheri/gown'
+		act 'Try on dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'moncheri_dress', 	'moncheri/dress'
+		act 'Try on bodysuits': 		gt 'intro_customization', 'modclo_loop', 'display_bodysuits', 	'moncheri', 		'moncheri/bodysuits'
+		act 'View shoes': 				gt 'intro_customization', 'modclo_loop', 'display_shoes', 		'moncheri', 		'moncheri/shoes'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 		'moncheri', 		'moncheri/purses'
+		act 'View coats': 				gt 'intro_customization', 'modclo_loop', 'display_coats', 		'moncheri', 		'moncheri/coats'
 
 		'<center><b><font color="maroon">Mon Chéri</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/boutique/butik.jpg"></center>'
@@ -314,11 +302,11 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'nerdvana':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View cosplay outfits': 	gt 'shop_nerdvana', 'cosplay'
-		act 'View other outfits':  		gt 'shop_nerdvana', 'outfits'
-		act 'View swimsuits': 			gt 'shop_nerdvana', 'swim'
-		act 'View bikinis': 			gt 'shop_nerdvana', 'bikinis'
-		act 'View purses': 				gt 'shop_nerdvana', 'purses'
+		act 'View cosplay outfits': 	gt 'intro_customization', 'modclo_loop', 'display_clothes', 'nerdvana_cosplay',  'nerdvana/cosplay'
+		act 'View other outfits':  		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'nerdvana_outfits',  'nerdvana/outfits'
+		act 'View swimsuits': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'nerdvana_swimsuit', 'nerdvana/swim/one'
+		act 'View bikinis': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'nerdvana_bikinis',  'nerdvana/swim/two'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'nerdvana', 		 'nerdvana/purses'
 
 		'<center><b><font color="maroon">Nerdvana</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/island/nerdvana/shop.jpg"></center>'
@@ -326,11 +314,11 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'dolls':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View dresses': 			gt 'shop_dolls', 'dress'
-		act 'View other outfits': 		gt 'shop_dolls', 'clothing'
-		act 'View shoes': 				gt 'shop_dolls', 'shoes'
-		act 'View purses': 				gt 'shop_dolls', 'purses'
-		act 'View coats': 				gt 'shop_dolls', 'coats'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'dolls_dress', 	 'dolls/dress'
+		act 'View other outfits': 		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'dolls_outfits', 'dolls/outfits'
+		act 'View shoes': 				gt 'intro_customization', 'modclo_loop', 'display_shoes', 	'dolls', 		 'dolls/shoes'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'dolls', 		 'dolls/purses'
+		act 'View coats': 				gt 'intro_customization', 'modclo_loop', 'display_coats', 	'dolls', 		 'dolls/coats'
 
 		'<center><b><font color="maroon">Patch Work Dolls</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/city/island/dolls/dollsshop.jpg"></center>'
@@ -338,13 +326,13 @@ if $ARGS[0] = 'modclo':
 
 	elseif $menu_name = 'pussycats':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View dresses': 			gt 'shop_pussycats', 'dress'
-		act 'View other outfits': 		gt 'shop_pussycats', 'clothes'
-		act 'View panties': 			gt 'shop_pussycats', 'panties'
-		act 'View bras': 				gt 'shop_pussycats', 'bras'
-		act 'View shoes': 				gt 'shop_pussycats', 'shoes'
-		act 'View purses': 				gt 'shop_pussycats', 'purses'
-		act 'View coats': 				gt 'shop_pussycats', 'coats'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'cats_dress', 	'cats/dress'
+		act 'View other outfits': 		gt 'intro_customization', 'modclo_loop', 'display_clothes', 'cats_outfits', 'cats/outfits'
+		act 'View bras': 				gt 'intro_customization', 'modclo_loop', 'display_bras', 	'cats', 		'cats/bras'
+		act 'View panties': 			gt 'intro_customization', 'modclo_loop', 'display_panties', 'cats', 		'cats/panties'
+		act 'View shoes': 				gt 'intro_customization', 'modclo_loop', 'display_shoes', 	'cats', 		'cats/shoes'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'cats', 		'cats/purses'
+		act 'View coats': 				gt 'intro_customization', 'modclo_loop', 'display_coats', 	'cats', 		'cats/coats'
 
 		'<b><center><font size="4">Pussy-Cats</font></center></b>'
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cats/young_shop.jpg"></center>'
@@ -352,12 +340,12 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'scandalicious':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View clothing': 			gt 'shop_scandalicious', 'clothes'
-		act 'View dresses': 			gt 'shop_scandalicious', 'dresses'
-		act 'View shoes': 				gt 'shop_scandalicious', 'shoes'
-		act 'View swimsuits': 			gt 'shop_scandalicious', 'swim'
-		act 'View bikinis': 			gt 'shop_scandalicious', 'bikinis'
-		act 'View bodysuits': 			gt 'shop_scandalicious', 'bodysuit'
+		act 'View clothing': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'scandalicious_outfits',  	'scandalicious/outfits'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'scandalicious_dress',  	'scandalicious/dress'
+		act 'View swimsuits': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'scandalicious_swimsuit', 	'scandalicious/swim/one'
+		act 'View bikinis': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'scandalicious_bikinis',  	'scandalicious/swim/two'
+		act 'View bodysuits': 			gt 'intro_customization', 'modclo_loop', 'display_bodysuits', 	'scandalicious', 		  	'scandalicious/bodysuits'
+		act 'View shoes': 				gt 'intro_customization', 'modclo_loop', 'display_shoes', 		'scandalicious', 	  	  	'scandalicious/shoes'
 
 		'<center><b><font color="maroon">Scandalicious</font></b></center>'
 		'<center><img src="images/locations/city/citycenter/mall/scandalicious/shop.jpg"></center>'
@@ -366,11 +354,11 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'exhibitionist':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View outfits': 			gt 'shop_exhibitionist', 'outfits'
-		act 'View dresses': 			gt 'shop_exhibitionist', 'dresses'
-		act 'View panties': 			gt 'shop_exhibitionist', 'panties'
-		act 'View bras': 				gt 'shop_exhibitionist', 'bras'
-		act 'View bodysuits': 			gt 'shop_exhibitionist', 'bodysuit'
+		act 'View outfits': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'salacious_dress', 	 'salacious/dress'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 	'salacious_outfits', 'salacious/outfits'
+		act 'View bras': 				gt 'intro_customization', 'modclo_loop', 'display_bras', 		'salacious', 		 'salacious/bras'
+		act 'View panties': 			gt 'intro_customization', 'modclo_loop', 'display_panties', 	'salacious', 		 'salacious/panties'
+		act 'View bodysuits': 			gt 'intro_customization', 'modclo_loop', 'display_bodysuits', 	'salacious', 		 'salacious/bodysuits'
 
 		'<center><b><font color="maroon">Simply Salacious</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/pushkin/exhibitshop/shop.jpg"></center>'
@@ -378,11 +366,11 @@ if $ARGS[0] = 'modclo':
 	
 	elseif $menu_name = 'tsar_bomba':
 		act 'Return': $menu_name = '' & gt 'intro_customization', 'modclo'
-		act 'View dresses': 			gt 'shop_tsar_bomba', 'dresses'
-		act 'View outfits': 			gt 'shop_tsar_bomba', 'clothes'
-		act 'View shoes': 				gt 'shop_tsar_bomba', 'shoes'
-		act 'View purses': 				gt 'shop_tsar_bomba', 'purses'
-		act 'View coats': 				gt 'shop_tsar_bomba', 'coats'
+		act 'View dresses': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'bomba_dress', 	 'bomba/dress'
+		act 'View outfits': 			gt 'intro_customization', 'modclo_loop', 'display_clothes', 'bomba_outfits', 'bomba/outfits'
+		act 'View shoes': 				gt 'intro_customization', 'modclo_loop', 'display_shoes', 	'bomba', 		 'bomba/shoes'
+		act 'View purses': 				gt 'intro_customization', 'modclo_loop', 'display_purses', 	'bomba', 		 'bomba/purses'
+		act 'View coats': 				gt 'intro_customization', 'modclo_loop', 'display_coats', 	'bomba', 		 'bomba/coats'
 
 		'<center><b><font color="maroon">Tsar Bomba</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/pushkin/bomba/shop.jpg"></center>'
@@ -395,6 +383,20 @@ if $ARGS[0] = 'modclo':
 	end
 end
 
+if $ARGS[0] = 'modclo_loop':
+	if $intro_custom_shop['loop'] = '':
+		$intro_custom_shop['loop'] = $ARGS[1]
+		$intro_custom_shop['shop'] = $ARGS[2]
+		$intro_custom_shop['path'] = $ARGS[3]
+
+		gs 'shortgs', 'setloc', 'intro_customization', 'modclo_loop'
+	end
+
+	gs 'shop_utils', $intro_custom_shop['loop'], $intro_custom_shop['shop'], 1, $intro_custom_shop['path'], 'shop'
+
+	act 'Return': killvar '$intro_custom_shop' & gt 'intro_customization', 'modclo'
+end
+
 if $ARGS[0] = 'modapp':
 	cla & *clr
 	if pcs_mass['bust_gen'] = 0: pcs_mass['bust_gen'] = 12

+ 6 - 6
locations/katja_city.qsrc

@@ -247,7 +247,7 @@ if $ARGS[0] = 'Pussy-Cats':
 					'<center><img <<$set_imgh>> src="images/pc/items/cats/dress/<<numrand>>.jpg"></center>'
 					'You try on the dress Katja has picked for you while she looks on excitedly. She seems to like it, but it''s clear that she''s waiting for your reaction before saying anything.'
 
-					gs 'clothing', 'get_price', 'cats_dresss', numrand, 3000
+					gs 'clothing', 'get_price', 'cats_dress', numrand
 
 					act 'Tell her that you like it':
 						cla
@@ -259,7 +259,7 @@ if $ARGS[0] = 'Pussy-Cats':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'money'
+								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 'money'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
@@ -268,7 +268,7 @@ if $ARGS[0] = 'Pussy-Cats':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'karta'
+								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 'karta'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
@@ -310,7 +310,7 @@ if $ARGS[0] = 'Pussy-Cats':
 					'<center><img <<$set_imgh>> src="images/pc/items/cats/outfits/<<numrand>>.jpg"></center>'
 					'You try on the clothes Katja picked out for you while she looks on excitedly. She seems to like it, but it''s clear she''s waiting for your reaction before saying anything.'
 
-					gs 'clothing',  'get_price', 'cats_outfits', numrand, 3000
+					gs 'clothing',  'get_price', 'cats_outfits', numrand
 
 					act 'Tell her that you like it':
 						cla
@@ -322,7 +322,7 @@ if $ARGS[0] = 'Pussy-Cats':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'money'
+								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 'money'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
@@ -331,7 +331,7 @@ if $ARGS[0] = 'Pussy-Cats':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'karta'
+								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 'karta'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end

+ 1 - 1
locations/mey_vika_events.qsrc

@@ -1173,7 +1173,7 @@ if $ARGS[0] = 'beach_event1':
 				cla
 				'"Well, look at little princess. I would be honored if someone offered me a beer!" Vicky snorts.'
 
-				act 'Go': gt 'pav_lake', 'start'
+				act 'Go': gt 'pav_lake'
 			end
 			act 'Agree':
 				cla

+ 10 - 2
locations/npcStat.qsrc

@@ -457,7 +457,11 @@ if $ARGS[1] ! '' and npcStat_i > 0:
 		$dick_class<<npcStat_i>>		= $npcStatVars['dick_class']
 		$dick_desc<<npcStat_i>>			= $npcStatVars['dick_desc']
 		$dick_desc_pref<<npcStat_i>>	= $npcStatVars['dick_desc_pref']
-		silavag<<npcStat_i>>			=  npcStatVars['sexskill'] / 50
+		if npcStatVars['sexskill'] > 2:
+			silavag<<npcStat_i>>		=  min(npcStatVars['sexskill'] / 34, 2)
+		else
+			silavag<<npcStat_i>>		=  npcStatVars['sexskill']
+		end
 		npcAge<<npcStat_i>>				=  npcStatVars['age']
 		$npcHair<<npcStat_i>>			= $npcStatVars['hair']
 		$npcClo<<npcStat_i>>			= $npcStatVars['outfit']
@@ -500,7 +504,11 @@ else
 	$dick_class[npcStat_i]		= $npcStatVars['dick_class']
 	$dick_desc[npcStat_i]		= $npcStatVars['dick_desc']
 	$dick_desc_pref[npcStat_i]	= $npcStatVars['dick_desc_pref']
-	silavag[npcStat_i]			=  npcStatVars['sexskill'] / 50
+	if npcStatVars['sexskill'] > 2:
+		silavag[npcStat_i]		=  min(npcStatVars['sexskill'] / 34, 2)
+	else
+		silavag[npcStat_i]		=  npcStatVars['sexskill']
+	end
 	 npcAge[npcStat_i]			=  npcStatVars['age']
 	$npcHair[npcStat_i]			= $npcStatVars['hair']
 	$npcClo[npcStat_i]			= $npcStatVars['outfit']

+ 1 - 1
locations/panties.qsrc

@@ -14,7 +14,7 @@ if $ARGS[0] = 'totals':
 		total = 37
 	elseif $ARGS[1] = 'fashionista_panties':
 		total = 79
-	elseif $ARGS[1] = 'pussycats_panties':
+	elseif $ARGS[1] = 'cats_panties':
 		total = 72
 	elseif $ARGS[1] = 'danilovich_panties':
 		total = 8

+ 5 - 49
locations/pav_train_market.qsrc

@@ -237,57 +237,13 @@ if $ARGS[0] = 'clo':
 	'<center><b><font color="maroon">Clothes.</font></b></center>'
 	'Cheap clothing on the market stall.'
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'market_outfits'
+	gs 'shop_utils', 'display_clothes', 'market_outfits', 1, 'market/clothes', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return':
-			cla
-			minut += 5
-			gt 'pav_train_market', 'start'
-		end
-		step = 1
-	end
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopmarket_outfits_filter
-
-	i = 1
-	:loopmarket_outfits
-		if market_outfits[i] = 0:
-			gs 'clothing_attributes', 'market_outfits', i
-			gs 'clothing_QV', 'shop_filter'
-
-			!!sort by filter
-			if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:*p '<a href="exec: i = <<i>> & gt ''pav_train_market'', ''marketclo''"><img <<$set_imgh>> src="images/pc/items/market/clothes/<<i>>.jpg" 	height="250" /></a>'
-			end
-		end
-	i += step
-	if i <= total:jump 'loopmarket_outfits'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopmarket_outfits_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopmarket_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'marketclo':
-	cla
-
-	if market_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'pav_train_market', 'clo'
+	act 'Return':
+		cla
+		minut += 5
+		gt 'pav_train_market', 'start'
 	end
-
-	gt 'clothing', 'view_clothing_item', 'market_outfits',i, 750, 'shop'
-
 end
 
 if $ARGS[0] = 'events':

+ 2 - 2
locations/purse_attributes.qsrc

@@ -1,4 +1,4 @@
-# shoe_attributes
+# purse_attributes
 
 PursePrice = 0
 
@@ -25,4 +25,4 @@ elseif $ARGS[0] = 'gm':
 end
 
 
---- shoe_attributes ---------------------------------
+--- purse_attributes ---------------------------------

+ 2 - 1
locations/purses.qsrc

@@ -15,7 +15,7 @@ if $ARGS[0] = 'totals':
 		total = 20
 	elseif $ARGS[1] = 'nerdvana_purses':
 		total = 60
-	elseif $ARGS[1] = 'pussycats_purses':
+	elseif $ARGS[1] = 'cats_purses':
 		total = 20
 	elseif $ARGS[1] = 'bomba_purses':
 		total = 20
@@ -152,6 +152,7 @@ if $ARGS[0] = 'view_purse_item':
 
 	cla
 	'<center><img src="<<FUNC(''$purse_image'',  $ARGS[2], ARGS[3])>>"></center>'
+	gs 'purse_attributes', $ARGS[2], ARGS[3]
 
 	gs 'purses', 'descriptions', $ARGS[2]
 

+ 1 - 1
locations/shoes.qsrc

@@ -8,7 +8,7 @@ if $ARGS[0] = 'totals':
 		total = 30
 	elseif $ARGS[1] = 'dolls_shoes':
 		total = 120
-	elseif $ARGS[1] = 'pussycats_shoes':
+	elseif $ARGS[1] = 'cats_shoes':
 		total = 40
 	elseif $ARGS[1] = 'scandalicious_shoes':
 		total = 80

+ 9 - 9
locations/shop.qsrc

@@ -461,16 +461,16 @@ if $shoplocation = 'underwear':
 	$loc = 'shop'
 	'<center><B>Click on an item to view details</B></center>'
 
-	if gm_panties[7] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 7, 300"><img src="images/pc/items/gm/panties/7.jpg" 	height="150" /></a>'
-	if gm_panties[9] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 9, 300"><img src="images/pc/items/gm/panties/9.jpg" 	height="150" /></a>'
-	if gm_panties[12] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 12, 300"><img src="images/pc/items/gm/panties/12.jpg" 	height="150" /></a>'
-	if gm_panties[21] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 21, 300"><img src="images/pc/items/gm/panties/21.jpg" 	height="150" /></a>'
-	if gm_panties[37] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 37, 300"><img src="images/pc/items/gm/panties/37.jpg" 	height="150" /></a>'
+	if gm_panties[7] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 7"><img src="images/pc/items/gm/panties/7.jpg" 	 height="150" /></a>'
+	if gm_panties[9] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 9"><img src="images/pc/items/gm/panties/9.jpg" 	 height="150" /></a>'
+	if gm_panties[12] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 12"><img src="images/pc/items/gm/panties/12.jpg" height="150" /></a>'
+	if gm_panties[21] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 21"><img src="images/pc/items/gm/panties/21.jpg" height="150" /></a>'
+	if gm_panties[37] = 0: *p '<a href="exec:gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', 37"><img src="images/pc/items/gm/panties/37.jpg" height="150" /></a>'
 	*nl
-	if gm_bras[11] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 11, 300"><img src="images/pc/items/gm/bras/11.jpg" 	height="150" /></a>'
-	if gm_bras[12] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 12, 300"><img src="images/pc/items/gm/bras/12.jpg" 	height="150" /></a>'
-	if gm_bras[16] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 16, 300"><img src="images/pc/items/gm/bras/16.jpg" 	height="150" /></a>'
-	if gm_bras[18] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 18, 300"><img src="images/pc/items/gm/bras/18.jpg" 	height="150" /></a>'
+	if gm_bras[11] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 11"><img src="images/pc/items/gm/bras/11.jpg" 	height="150" /></a>'
+	if gm_bras[12] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 12"><img src="images/pc/items/gm/bras/12.jpg" 	height="150" /></a>'
+	if gm_bras[16] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 16"><img src="images/pc/items/gm/bras/16.jpg" 	height="150" /></a>'
+	if gm_bras[18] = 0: *p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', 18"><img src="images/pc/items/gm/bras/18.jpg" 	height="150" /></a>'
 
 	act 'Return':
 		$loc = $loc_bak

+ 15 - 202
locations/shop_danilovich.qsrc

@@ -62,41 +62,11 @@ if $ARGS[0] = 'clo':
 	'<center><b><font color="maroon">Sportswear - one size fits all</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 3
-	end
+	gs 'shop_utils', 'display_clothes', 'danilovich_outfits', 3, 'danilovich/outfits', 'shop', Clothingstock mod 3
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'danilovich_outfits'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopdanilovich_outfits_filter
-		i = 1 + Clothingstock mod 3
-		:loopdanilovich_outfits
-			if danilovich_outfits[i] = 0:
-				gs 'clothing_attributes', 'danilovich_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''danilovich''"><img src="images/pc/items/danilovich/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdanilovich_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopdanilovich_outfits_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
 end
 
-if $ARGS[0] = 'danilovich': gt 'clothing', 'view_clothing_item', 'danilovich_outfits', i, 2000, 'shop'
-
 if $ARGS[0] = 'shoes':
 	gs 'shortgs', 'setloc', 'shop_danilovich', 'shoes'
 	menu_off = 1
@@ -105,39 +75,11 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_shoes', 'danilovich', 1, 'danilovich/shoes', 'shop'
 
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'danilovich_shoes'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1
-		:loopdanilovich_shoes
-			if danilovich_shoe[i] = 0:
-				gs 'shoe_attributes', 'danilovich', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''training_shoes''"><img src="images/pc/items/danilovich/shoes/<<i>>.jpg" height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdanilovich_shoes'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
 end
 
-if $ARGS[0] = 'training_shoes': gt 'shoes', 'view_shoe_item', 'shop', 'danilovich', i, 1500
-
 if $ARGS[0] = 'swim':
 	gs 'shortgs', 'setloc', 'shop_danilovich', 'swim'
 	menu_off = 1
@@ -146,87 +88,20 @@ if $ARGS[0] = 'swim':
 	'<center><b><font color="maroon">Swimwear - one size fits all</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 2
-	end
+	shop_display_exceptions[0] = 4
+	gs 'shop_utils', 'display_clothes', 'danilovich_swimsuit', 2, 'danilovich/swimwear', 'shop', Clothingstock mod 2
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'danilovich_swimsuit'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopswim_filter
-		i = 1 + Clothingstock mod 2
-		:loopswim
-			if danilovich_swimsuit[i] = 0:
-				gs 'clothing_attributes', 'danilovich_swimsuit', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''swim1''"><img src="images/pc/items/danilovich/swimwear/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-			!!4 is in he supermarket, so skipped
-			if intro_custom_noexcept = 0:
-				if i = 4: i += 2
-			end
-		if i <= total: jump 'loopswim'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopswim_filter'
-	end
+	act 'Return': minut += 1 & killvar 'shop_display_exceptions' & gt 'shop_danilovich', 'start'
 end
 
-if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'danilovich_swimsuit', i, 1750, 'shop'
-
 if $ARGS[0] = 'panties':
 	gs 'shortgs', 'setloc', 'shop_danilovich', 'panties'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 1
-	end
-
-	gs 'panties', 'shop_filter_header'
-	gs 'panties', 'totals', 'danilovich_panties'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-		i = 1
-		:loopdanilovich_panties
-			if danilovich_panties[i] = 0:
-				gs 'underwear_attributes', 'danilovich_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''panties2''"><img src="images/pc/items/danilovich/panties/<<i>>.jpg"	 height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdanilovich_panties'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
-
-if $ARGS[0] = 'panties2':
-	if danilovich_panties[i] ! 0:
-		msg 'You already own these panties.'
-		gt 'shop_danilovich', 'panties'
-	end
+	gs 'shop_utils', 'display_panties', 'danilovich', 1, 'danilovich/panties', 'shop'
 
-	gt 'panties', 'view_panty_item', 'shop', 'danilovich', i, 1000
+	act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
 end
 
 if $ARGS[0] = 'bras':
@@ -234,43 +109,9 @@ if $ARGS[0] = 'bras':
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 1
-	end
-
-	gs 'bras', 'shop_filter_header'
-	gs 'bras', 'totals', 'danilovich_bras'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-		i = 1
-		:loopdanilovich_bras
-			if danilovich_bras[i] = 0:
-				gs 'underwear_attributes', 'danilovich_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''bras2''"><img src="images/pc/items/danilovich/bras/<<i>>.jpg"	 height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdanilovich_bras'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
-end
-
-if $ARGS[0] = 'bras2':
-	if danilovich_bras[i] ! 0:
-		msg 'You already own this bra.'
-		gt 'shop_danilovich', 'bras'
-	end
+	gs 'shop_utils', 'display_bras', 'danilovich', 1, 'danilovich/bras', 'shop'
 
-	gt 'bras', 'view_bra_item', 'shop', 'danilovich', i, 1000
+	act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
 end
 
 if $ARGS[0] = 'purses':
@@ -278,48 +119,20 @@ if $ARGS[0] = 'purses':
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_purses', 'danilovich', 2, 'danilovich/purses', 'shop', (Clothingstock / 6) mod 2
 
-	gs 'purses', 'totals', 'danilovich_purses'
-	
-	i = 1 + (Clothingstock / 6) mod 2
-	:loopdanilovich_purses
-		if danilovich_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''purses2''"><img src="images/pc/items/danilovich/purses/<<i>>.jpg"	 height="150" /></a> '
-		i += step
-	if i <= total: jump 'loopdanilovich_purses'
+	act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
 end
 
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'danilovich', i, 1500
-
 if $ARGS[0] = 'coats':
 	gs 'shortgs', 'setloc', 'shop_danilovich', 'coats'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_coats', 'danilovich', 1, 'danilovich/coats', 'shop'
 
-	gs 'coats', 'totals', 'danilovich_coats'
-
-	i = 1
-	:loopdanilovich_coats
-		if danilovich_coats[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_danilovich'', ''coats2''"><img src="images/pc/items/danilovich/coats/<<i>>.jpg"	 height="150" /></a> '
-		i += step
-	if i <= total: jump 'loopdanilovich_coats'
+	act 'Return': minut += 1 & gt 'shop_danilovich', 'start'
 end
 
-if $ARGS[0] = 'coats2': gt 'coats', 'view_coat_item', 'shop', 'danilovich', i, 1500
-
 --- shop_danilovich ---------------------------------
 

+ 10 - 152
locations/shop_dolls.qsrc

@@ -65,46 +65,9 @@ if $ARGS[0] = 'dress':
 	'<center><b><font color="maroon">Viewing Patchwork Dolls dresses</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
-		step = 3
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'dolls_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopdolls_dress_filter
-		i = 1 + Clothingstock mod 3
-		:loopdolls_dress
-			if dolls_dress[i] = 0:
-				gs 'clothing_attributes', 'dolls_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_dolls'', ''dolls_dress''"><img src="images/pc/items/dolls/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdolls_dress'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopdolls_dress_filter'
-	end
-end
-
-if $ARGS[0] = 'dolls_dress':
-	if dolls_dress[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_dolls', 'dress'
-	end
+	gs 'shop_utils', 'display_clothes', 'dolls_dress', 3, 'dolls/dress', 'shop', Clothingstock mod 3
 
-	gt 'clothing', 'view_clothing_item', 'dolls_dress', i, iif(anushkaQW['dolls'] > 2, 3150, 3500), 'shop'
+	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
 
 if $ARGS[0] = 'clothing':
@@ -115,50 +78,9 @@ if $ARGS[0] = 'clothing':
 	'<center><b><font color="maroon">Viewing Patchwork Dolls clothing</font></b></center>'
 	*nl
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'dolls_outfits'
+	gs 'shop_utils', 'display_clothes', 'dolls_outfits', 2, 'dolls/outfits', 'shop', (Clothingstock / 3) mod 2
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return':
-			cla
-			minut += 5
-			gt 'shop_dolls', 'browse'
-		end
-		step = 2
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopdolls_filter
-		i = 1 + (Clothingstock / 3) mod 2
-		:loopdolls
-			if dolls_outfits[i] = 0:
-				gs 'clothing_attributes', 'dolls_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_dolls'', ''dolls_outfits''"><img src="images/pc/items/dolls/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdolls'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopdolls_filter'
-	end
-end
-
-if $ARGS[0] = 'dolls_outfits':
-	if dolls_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_dolls', 'clothing'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'dolls_outfits', i, iif(anushkaQW['dolls'] > 2, 3150, 3500), 'shop'
+	act 'Return': cla & minut += 5 & gt 'shop_dolls', 'browse'
 end
 
 if $ARGS[0] = 'shoes':
@@ -169,41 +91,9 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
-		step = 1
-	end
-
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'dolls_shoes'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1
-		:loopdolls_shoes
-			if dolls_shoe[i] = 0:
-				gs 'shoe_attributes', 'dolls', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
-						*p '<a href="exec: i = <<i>> & gt ''shop_dolls'', ''dolls_shoes''"><img src="images/pc/items/dolls/shoes/<<i>>.jpg" height="250" /></a>'
-					end
-				end
-			end
-			i += step
-		if i <= total: jump 'loopdolls_shoes'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
-end
+	gs 'shop_utils', 'display_shoes', 'dolls', 1, 'dolls/shoes', 'shop'
 
-if $ARGS[0] = 'dolls_shoes':
-	gt 'shoes', 'view_shoe_item', 'shop', 'dolls', i, iif(anushkaQW['dolls'] > 2, 1800, 2000)
+	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
 
 if $ARGS[0] = 'purses':
@@ -211,25 +101,9 @@ if $ARGS[0] = 'purses':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
-		step = 1
-	end
-
-	gs 'purses', 'totals', 'dolls_purses'
-	
-	i = 1
-	:loopdolls_purses
-		if dolls_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_dolls'', ''purses2''"><img src="images/pc/items/dolls/purses/<<i>>.jpg" height="250" /></a>'
-		i += step
-	if i <= total: jump 'loopdolls_purses'
-end
+	gs 'shop_utils', 'display_purses', 'dolls', 1, 'dolls/purses', 'shop'
 
-if $ARGS[0] = 'purses2':
-	gt 'purses', 'view_purse_item', 'shop', 'dolls', i, iif(anushkaQW['dolls'] > 2, 1800, 2000)
+	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
 
 if $ARGS[0] = 'coats':
@@ -237,25 +111,9 @@ if $ARGS[0] = 'coats':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
-		step = 1
-	end
-
-	gs 'coats', 'totals', 'dolls_coats'
-	
-	i = 1
-	:loopdolls_coats
-		if dolls_coats[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_dolls'', ''coats2''"><img src="images/pc/items/dolls/coats/<<i>>.jpg" height="250" /></a>'
-		i += step
-	if i <= total: jump 'loopdolls_coats'
-end
+	gs 'shop_utils', 'display_coats', 'dolls', 1, 'dolls/coats', 'shop'
 
-if $ARGS[0] = 'coats2':
-	gt 'coats', 'view_coat_item', 'shop', 'dolls', i, iif(anushkaQW['dolls'] > 2, 1800, 2000)
+	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
 
 if $ARGS[0] = 'savva':

+ 12 - 200
locations/shop_erotomaniac.qsrc

@@ -126,41 +126,11 @@ if $ARGS[0] = 'dress':
 	'<center><b><font color="maroon">Fetish dresses - for all your personal needs</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'eroto_dress', 2, 'eroto/dress', 'shop', Clothingstock mod 2
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'eroto_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looperoto_dress_filter
-		i = 1 + Clothingstock mod 2
-		:looperoto_dress
-			if eroto_dress[i] = 0:
-				gs 'clothing_attributes', 'eroto_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_erotomaniac'', ''eroto_dress''"><img src="images/pc/items/eroto/dress/<<i>>.jpg"	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'looperoto_dress'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'looperoto_dress_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
 end
 
-if $ARGS[0] = 'eroto_dress': gt 'clothing', 'view_clothing_item', 'eroto_dress', i, 1000, 'shop'
-
 if $ARGS[0] = 'outfits':
 	gs 'shortgs', 'setloc', 'shop_erotomaniac', 'outfits'
 	menu_off = 0
@@ -169,41 +139,11 @@ if $ARGS[0] = 'outfits':
 	'<center><b><font color="maroon">Fetish outfits - for all your personal needs</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'eroto_outfits', 2, 'eroto/outfits', 'shop', (Clothingstock / 2) mod 2
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'eroto_outfits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looperoto_outfits_filter
-		i = 1 + (Clothingstock / 2) mod 2
-		:looperoto_outfits
-			if eroto_outfits[i] = 0:
-				gs 'clothing_attributes', 'eroto_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_erotomaniac'', ''eroto_outfits''"><img src="images/pc/items/eroto/outfits/<<i>>.jpg"	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'looperoto_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'looperoto_outfits_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
 end
 
-if $ARGS[0] = 'eroto_outfits': gt 'clothing', 'view_clothing_item', 'eroto_outfits', i, 1000, 'shop'
-
 if $ARGS[0] = 'strip':
 	gs 'shortgs', 'setloc', 'shop_erotomaniac', 'strip'
 	menu_off = 0
@@ -212,41 +152,11 @@ if $ARGS[0] = 'strip':
 	'<center><b><font color="maroon">Stripper clothing - for work or the bedroom</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_clothes', 'eroto_strip', 1, 'eroto/strip', 'shop'
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'eroto_strip'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looperoto_strip_filter
-		i = 1
-		:looperoto_strip
-			if eroto_strip[i] = 0:
-				gs 'clothing_attributes', 'eroto_strip', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_erotomaniac'', ''eroto_strip''"><img src="images/pc/items/eroto/strip/<<i>>.jpg"	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'looperoto_strip'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'looperoto_strip_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
 end
 
-if $ARGS[0] = 'eroto_strip': gt 'clothing', 'view_clothing_item', 'eroto_strip',i, 1000, 'shop'
-
 if $ARGS[0] = 'shoes':
 	gs 'shortgs', 'setloc', 'shop_erotomaniac', 'shoes'
 	menu_off = 0
@@ -255,83 +165,19 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing Erotomaniac shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_shoes', 'eroto', 1, 'eroto/shoes', 'shop'
 
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'eroto_shoes'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1
-		:looperoto_shoes
-			if eroto_shoe[i] = 0:
-				gs 'shoe_attributes', 'eroto', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
-						*p '<a href="exec: i = <<i>> & gt ''shop_erotomaniac'', ''eroto_shoes''"><img src="images/pc/items/eroto/shoes/<<i>>.jpg" height="250" /></a>'
-					end
-				end
-			end
-			i += step
-		if i <= total: jump 'looperoto_shoes'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
 end
 
-if $ARGS[0] = 'eroto_shoes': gt 'shoes', 'view_shoe_item', 'shop', 'eroto',i, 2500
-
 if $ARGS[0] = 'panties':
 	gs 'shortgs', 'setloc', 'shop_erotomaniac', 'panties'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_panties', 'eroto', 2, 'eroto/panties', 'shop', (Clothingstock / 4) mod 2
 
-	gs 'panties', 'shop_filter_header'
-	gs 'panties', 'totals', 'eroto_panties'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-		i = 1 + (Clothingstock / 4) mod 2
-		:looperoto_panties
-			if eroto_panties[i] = 0:
-				gs 'underwear_attributes', 'eroto_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_erotomaniac'', ''panties2''"><img src="images/pc/items/eroto/panties/<<i>>.jpg"	height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'looperoto_panties'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
-
-if $ARGS[0] = 'panties2':
-	if eroto_panties[i] ! 0:
-		msg 'You already own these panties.'
-		gt 'shop_erotomaniac', 'panties'
-	end
-
-	gt 'panties', 'view_panty_item', 'shop', 'eroto', i, 500
+	act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
 end
 
 if $ARGS[0] = 'bras':
@@ -339,43 +185,9 @@ if $ARGS[0] = 'bras':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
-		step = 1
-	end
-
-	gs 'bras', 'shop_filter_header'
-	gs 'bras', 'totals', 'eroto_bras'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-		i = 1
-		:looperoto_bras
-			if eroto_bras[i] = 0:
-				gs 'underwear_attributes', 'eroto_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_erotomaniac'', ''bras2''"><img src="images/pc/items/eroto/bras/<<i>>.jpg"	height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'looperoto_bras'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
-end
-
-if $ARGS[0] = 'bras2':
-	if eroto_bras[i] ! 0:
-		msg 'You already own this bra.'
-		gt 'shop_erotomaniac', 'bras'
-	end
+	gs 'shop_utils', 'display_bras', 'eroto', 1, 'eroto/bras', 'shop'
 
-	gt 'bras', 'view_bra_item', 'shop', 'eroto', i, 500
+	act 'Return': minut += 1 & gt 'shop_erotomaniac', 'start'
 end
 
 if $ARGS[0] = 'basement':

+ 10 - 168
locations/shop_exhibitionist.qsrc

@@ -44,7 +44,6 @@ if $ARGS[0] = 'start':
 	act 'View bodysuits': minut += 5 & gt 'shop_exhibitionist', 'bodysuit'
 end
 
-
 if $ARGS[0] = 'outfits':
 	gs 'shortgs', 'setloc', 'shop_exhibitionist', 'outfits'
 	menu_off = 0
@@ -53,41 +52,11 @@ if $ARGS[0] = 'outfits':
 	'<center><b><font color="maroon">Salacious outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_clothes', 'salacious_outfits', 1, 'salacious/outfits', 'shop'
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'salacious_outfits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopsalacious_outfits_filter
-		i = 1
-		:loopsalacious_outfits
-			if salacious_outfits[i] = 0:
-				gs 'clothing_attributes', 'salacious_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_exhibitionist'', ''salacious_outfits''"><img <<$set_imgh>> src="images/pc/items/salacious/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopsalacious_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopsalacious_outfits_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
 end
 
-if $ARGS[0] = 'salacious_outfits': gt 'clothing', 'view_clothing_item', 'salacious_outfits', i, 1000, 'shop'
-
 if $ARGS[0] = 'dresses':
 	gs 'shortgs', 'setloc', 'shop_exhibitionist', 'dresses'
 	menu_off = 0
@@ -96,83 +65,19 @@ if $ARGS[0] = 'dresses':
 	'<center><b><font color="maroon">Salacious dresses</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'salacious_dress', 2, 'salacious/dress', 'shop', Clothingstock mod 2
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'salacious_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopsalacious_dress_filter
-		i = 1 + Clothingstock mod 2
-		:loopsalacious_dress
-			if salacious_dress[i] = 0:
-				gs 'clothing_attributes', 'salacious_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_exhibitionist'', ''salacious_dress''"><img <<$set_imgh>> src="images/pc/items/salacious/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopsalacious_dress'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopsalacious_dress_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
 end
 
-if $ARGS[0] = 'salacious_dress': gt 'clothing', 'view_clothing_item', 'salacious_dress', i, 1000, 'shop'
-
 if $ARGS[0] = 'panties':
 	gs 'shortgs', 'setloc', 'shop_exhibitionist', 'panties'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
-		step = 2
-	end
-
-	gs 'panties', 'shop_filter_header'
-	gs 'panties', 'totals', 'salacious_panties'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-		i = 1 + (Clothingstock / 2) mod 2
-		:loopsalacious_panties
-			if salacious_panties[i] = 0:
-				gs 'underwear_attributes', 'salacious_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_exhibitionist'', ''panties2''"><img src="images/pc/items/salacious/panties/<<i>>.jpg" height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopsalacious_panties'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
-
-if $ARGS[0] = 'panties2':
-	if salacious_panties[i] ! 0:
-		msg 'You already own these panties.'
-		gt 'shop_exhibitionist', 'panties'
-	end
+	gs 'shop_utils', 'display_panties', 'salacious', 2, 'salacious/panties', 'shop', (Clothingstock / 2) mod 2
 
-	gt 'panties', 'view_panty_item', 'shop', 'salacious', i, 600
+	act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
 end
 
 if $ARGS[0] = 'bras':
@@ -180,43 +85,9 @@ if $ARGS[0] = 'bras':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
-		step = 2
-	end
-
-	gs 'bras', 'shop_filter_header'
-	gs 'bras', 'totals', 'salacious_bras'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-		i = 1 + (Clothingstock / 4) mod 2
-		:loopsalacious_bras
-			if salacious_bras[i] = 0:
-				gs 'underwear_attributes', 'salacious_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_exhibitionist'', ''bras2''"><img src="images/pc/items/salacious/bras/<<i>>.jpg" height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopsalacious_bras'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
-end
-
-if $ARGS[0] = 'bras2':
-	if salacious_bras[i] ! 0:
-		msg 'You already own these bras.'
-		gt 'shop_exhibitionist', 'bras'
-	end
+	gs 'shop_utils', 'display_bras', 'salacious', 2, 'salacious/bras', 'shop', (Clothingstock / 4) mod 2
 
-	gt 'bras', 'view_bra_item', 'shop', 'salacious', i, 600
+	act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
 end
 
 if $ARGS[0] = 'bodysuit':
@@ -224,40 +95,11 @@ if $ARGS[0] = 'bodysuit':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_bodysuits', 'salacious', 1, 'salacious/bodysuits', 'shop'
 
-	gs 'underwear_bodysuits', 'shop_filter_header'
-	gs 'underwear_bodysuits', 'totals', 'salacious_bodysuits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbodysuitquality_filter
-		i = 1
-		:loopsalacious_bodysuit
-			if salacious_bodysuits[i] = 0:
-				gs 'underwear_attributes', 'salacious_bodysuits', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_exhibitionist'', ''bodysuit2''"><img src="images/pc/items/salacious/bodysuits/<<i>>.jpg"	 height="250" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopsalacious_bodysuit'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbodysuitquality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_exhibitionist', 'start'
 end
 
-if $ARGS[0] = 'bodysuit2': gt 'underwear_bodysuits', 'view_bodysuit_item', 'shop', 'salacious', i, 1000
-
-
-
 
 	!!================================================!!
 	!!                                                !!

+ 2 - 39
locations/shop_fancy_pancy.qsrc

@@ -30,46 +30,9 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing Fancy Pancy outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_fancy_pancy', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'fancy_burlesque', 2, 'fancy/burlesque', 'shop', Clothingstock mod 2
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'fancy_burlesque'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopfancy_burlesque_filter
-		i = 1 + Clothingstock mod 2
-		:loopfancy_burlesque
-			if fancy_burlesque[i] = 0:
-				gs 'clothing_attributes', 'fancy_burlesque', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_fancy_pancy'', ''fancy_burlesque''"><img src="images/pc/items/fancy/burlesque/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopfancy_burlesque'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopfancy_burlesque_filter'
-	end
-end
-
-if $ARGS[0] = 'fancy_burlesque':
-	if fancy_burlesque[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_fancy_pancy', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'fancy_burlesque', i, 20000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_fancy_pancy', 'start'
 end
 
 --- shop_fancy_pancy ---------------------------------

+ 11 - 172
locations/shop_fashionista.qsrc

@@ -128,47 +128,9 @@ if $ARGS[0] = 'dressingclothes':
 	'<center><b><font color="maroon">Viewing shop_fashionista clothing</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
-		step = 4
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'fashionista_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopfashionista_filter
-		i = 1 + Clothingstock mod 4
-		:loopfashionista_dress
-			if fashionista_dress[i] = 0:
-				gs 'clothing_attributes', 'fashionista_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_fashionista'', ''dressingclothes2''"><img src="images/pc/items/fashionista/dress/<<i>>.jpg"	 height="250" /></a>  '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopfashionista_dress'
+	gs 'shop_utils', 'display_clothes', 'fashionista_dress', 4, 'fashionista/dress', 'shop', Clothingstock mod 4
 
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopfashionista_filter'
-	end
-end
-
-if $ARGS[0] = 'dressingclothes2':
-	if fashionista_dress[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_fashionista', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'fashionista_dress', i, 8000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
 end
 
 if $ARGS[0] = 'dressingoutfit':
@@ -180,49 +142,9 @@ if $ARGS[0] = 'dressingoutfit':
 	'<center><b><font color="maroon">Viewing shop_fashionista clothing</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
-		step = 1
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'fashionista_outfits'
-	
-	step = 1
-	if intro_custom_step ! 0: step = intro_custom_step
-
-	!!To filter just this set
-	clo_i = 0
-	:loopfashionista_outfits_filter
-		i = 1
-		:loopfashionista_outfits
-			if fashionista_outfits[i] = 0:
-				gs 'clothing_attributes', 'fashionista_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_fashionista'', ''dressingoutfit2''"><img src="images/pc/items/fashionista/outfits/<<i>>.jpg"	 height="250" /></a>  '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopfashionista_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopfashionista_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'dressingoutfit2':
-	if fashionista_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_fashionista', 'dressingclothes'
-	end
+	gs 'shop_utils', 'display_clothes', 'fashionista_outfits', 1, 'fashionista/outfits', 'shop'
 
-	gt 'clothing', 'view_clothing_item', 'fashionista_outfits', i, 8000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
 end
 
 if $ARGS[0] = 'dressingbra':
@@ -230,90 +152,22 @@ if $ARGS[0] = 'dressingbra':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
-		step = 1
-	end
+	gs 'shop_utils', 'display_bras', 'fashionista', 1, 'fashionista/bras', 'shop'
 
-	gs 'bras', 'shop_filter_header'
-	gs 'bras', 'totals', 'fashionista_bras'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-		i = 1
-		:loopfashionista_bras2
-			if fashionista_bras[i] = 0:
-				gs 'underwear_attributes', 'fashionista_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_fashionista'', ''dressingbras2''"><img src="images/pc/items/fashionista/bras/<<i>>.jpg"	height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopfashionista_bras2'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
 end
 
-if $ARGS[0] = 'dressingbras2':
-	if fashionista_bras[i] ! 0:
-		msg 'You already own this bra.'
-		gt 'shop_fashionista', 'bras'
-	end
-
-	gt 'bras', 'view_bra_item', 'shop', 'fashionista', i, 750
-end
 
 if $ARGS[0] = 'dressingpanties':
 	gs 'shortgs', 'setloc', 'shop_fashionista', 'dressingpanties'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
-		step = 2
-	end
-
-	gs 'panties', 'shop_filter_header'
-	gs 'panties', 'totals', 'fashionista_panties'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-		i = 1 + (Clothingstock / 4) mod 2
-		:loopfashionista_panties2
-			if fashionista_panties[i] = 0:
-				gs 'underwear_attributes', 'fashionista_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_fashionista'', ''dressingpanties2''"><img src="images/pc/items/fashionista/panties/<<i>>.jpg"	height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopfashionista_panties2'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
-
-if $ARGS[0] = 'dressingpanties2':
-	if fashionista_panties[i] ! 0:
-		msg 'You already own these panties.'
-		gt 'shop_fashionista', 'dressingpanties'
-	end
+	gs 'shop_utils', 'display_panties', 'fashionista', 2, 'fashionista/panties', 'shop', (Clothingstock / 4) mod 2
 
-	gt 'panties', 'view_panty_item', 'shop', 'fashionista', i, 750
+	act 'Return': minut += 1 & gt 'shop_fashionista', 'changingroom'
 end
 
-
 if $ARGS[0] = 'changingend':
 	!! Sveta dresses again
 	if changingroom_underwear = 1:
@@ -325,7 +179,6 @@ if $ARGS[0] = 'changingend':
 	gt 'shop_fashionista', 'start'
 end
 
-
 !!only items not in dressing room
 if $ARGS[0] = 'purses':
 	$loc = 'shop_fashionista'
@@ -333,24 +186,10 @@ if $ARGS[0] = 'purses':
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_fashionista', 'start'
-		step = 1
-	end 
-	
-	gs 'purses', 'totals', 'fashionista_purses'
-
-	i = 1
-	:loopfashionista_purses
-		if fashionista_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_fashionista'', ''purses2''"><img src="images/pc/items/fashionista/purses/<<i>>.jpg"	 height="150" /></a> '
-		i += step
-	if i <= total: jump 'loopfashionista_purses'
-end
+	gs 'shop_utils', 'display_purses', 'fashionista', 1, 'fashionista/purses', 'shop'
 
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'fashionista',i, 3000
+	act 'Return': minut += 1 & gt 'shop_fashionista', 'start'
+end
 
 !!Not available yet. This part needs images for most scenes, second part (not triggered here) changed to candid photo from old dog sex blackmail to trigger
 if $ARGS[0] = 'rima':

+ 6 - 94
locations/shop_flamingos.qsrc

@@ -28,46 +28,9 @@ if $ARGS[0] = 'dresses':
 	'<center><b><font color="maroon">Viewing Flamingo''s dresses</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_flamingos', 'start'
-		step = 3
-	end
+	gs 'shop_utils', 'display_clothes', 'flamingos_dress', 3, 'flamingos/dress', 'shop', Clothingstock mod 3
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'flamingos_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopflamingos_dress_filter
-		i = 1 + Clothingstock mod 3
-		:loopflamingos_dress
-			if flamingos_dress[i] = 0:
-				gs 'clothing_attributes', 'flamingos_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_flamingos'', ''flamingos_dress''"><img src="images/pc/items/flamingos/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopflamingos_dress'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopflamingos_dress_filter'
-	end
-end
-
-if $ARGS[0] = 'flamingos_dress':
-	if flamingos_dress[i] ! 0:
-		msg 'You already own this dress.'
-		gt 'shop_flamingos', 'dresses'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'flamingos_dress', i, 3000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_flamingos', 'start'
 end
 
 if $ARGS[0] = 'clothes':
@@ -78,46 +41,9 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing Flamingo''s outfits</font></b></center>'
 	*nl
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'flamingos_outfits'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_flamingos', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'flamingos_outfits', 2, 'flamingos/outfits', 'shop', (Clothingstock / 3) mod 2
 
-	!!To filter just this set
-	clo_i = 0
-	:loopflamingos_filter
-		i = 1 + (Clothingstock / 3) mod 2
-		:loopflamingos
-			if flamingos_outfits[i] = 0:
-				gs 'clothing_attributes', 'flamingos_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_flamingos'', ''flamingos_outfits''"><img src="images/pc/items/flamingos/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total:jump 'loopflamingos'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopflamingos_filter'
-	end
-end
-
-if $ARGS[0] = 'flamingos_outfits':
-	if flamingos_outfits[i] ! 0:
-		msg 'You already own this outfit.'
-		gt 'shop_flamingos', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'flamingos_outfits', i, 3000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_flamingos', 'start'
 end
 
 if $ARGS[0] = 'purses':
@@ -125,24 +51,10 @@ if $ARGS[0] = 'purses':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 5 & gt 'shop_flamingos', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_purses', 'flamingos', 1, 'flamingos/purses', 'shop'
 
-	gs 'purses', 'totals', 'flamingos_purses'
-	
-	i = 1
-	:loopflamingos_purses
-		if flamingos_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_flamingos'', ''purses2''"><img src="images/pc/items/flamingos/purses/<<i>>.jpg" height="250" /></a>'
-		i += step
-	if i <= total: jump 'loopflamingos_purses'
+	act 'Return': minut += 5 & gt 'shop_flamingos', 'start'
 end
 
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'flamingos', i, 2000
-
 --- shop_flamingos ---------------------------------
 

+ 7 - 103
locations/shop_lusso.qsrc

@@ -25,44 +25,10 @@ if $ARGS[0] = 'panties':
 	gs 'shortgs', 'setloc', 'shop_lusso', 'panties'
 	menu_off = 0
 	gs 'stat'
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_lusso', 'start'
-		step = 2
-	end
-
-	gs 'panties', 'shop_filter_header'
-	gs 'panties', 'totals', 'lusso_panties'
-
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-		i = 1 + Clothingstock mod 2
-		:looplusso_panties
-			if lusso_panties[i] = 0:
-				gs 'underwear_attributes', 'lusso_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_lusso'', ''panties2''"><img src="images/pc/items/lusso/panties/<<i>>.jpg"	 height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'looplusso_panties'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
 
-if $ARGS[0] = 'panties2':
-	if lusso_panties[i] ! 0:
-		msg 'You already own these panties.'
-		gt 'shop_lusso', 'panties'
-	end
-
-	gt 'panties', 'view_panty_item', 'shop', 'lusso', i, 1000
+	gs 'shop_utils', 'display_panties', 'lusso', 2, 'lusso/panties', 'shop', Clothingstock mod 2
+	
+	act 'Return': minut += 1 & gt 'shop_lusso', 'start'
 end
 
 if $ARGS[0] = 'bras':
@@ -70,43 +36,9 @@ if $ARGS[0] = 'bras':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_lusso', 'start'
-		step = 1
-	end
-
-	gs 'bras', 'shop_filter_header'
-	gs 'bras', 'totals', 'lusso_bras'
+	gs 'shop_utils', 'display_bras', 'lusso', 1, 'lusso/bras', 'shop'
 
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-		i = 1
-		:looplusso_bras
-			if lusso_bras[i] = 0:
-				gs 'underwear_attributes', 'lusso_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_lusso'', ''bras2''"><img src="images/pc/items/lusso/bras/<<i>>.jpg"	 height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'looplusso_bras'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
-end
-
-if $ARGS[0] = 'bras2':
-	if lusso_bras[i] ! 0:
-		msg 'You already own these bras.'
-		gt 'shop_lusso', 'bras'
-	end
-
-	gt 'bras', 'view_bra_item', 'shop', 'lusso', i, 1000
+	act 'Return': minut += 1 & gt 'shop_lusso', 'start'
 end
 
 if $ARGS[0] = 'bodysuit':
@@ -114,37 +46,9 @@ if $ARGS[0] = 'bodysuit':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_lusso', 'start'
-		step = 3
-	end
+	gs 'shop_utils', 'display_bodysuits', 'lusso', 3, 'lusso/bodysuits', 'shop', (Clothingstock / 2) mod 3
 
-	gs 'underwear_bodysuits', 'shop_filter_header'
-	gs 'underwear_bodysuits', 'totals', 'lusso_bodysuits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbodysuitquality_filter
-		i = 1 + (Clothingstock / 2) mod 3
-
-		:looplusso_bodysuit
-			if lusso_bodysuits[i] = 0:
-				gs 'underwear_attributes', 'lusso_bodysuits', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_lusso'', ''bodysuit2''"><img src="images/pc/items/lusso/bodysuits/<<i>>.jpg"	 height="250" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'looplusso_bodysuit'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbodysuitquality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_lusso', 'start'
 end
 
-if $ARGS[0] = 'bodysuit2': gt 'underwear_bodysuits', 'view_bodysuit_item', 'shop', 'lusso', i, 1600
-
 --- shop_lusso ---------------------------------

+ 2 - 32
locations/shop_materinstvo.qsrc

@@ -51,40 +51,10 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing Mommy Style clothing</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_materinstvo', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_clothes', 'materinstvo_dress', 1, 'mommy', 'shop'
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'materinstvo_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopmaterinstvo_filter
-		i = 1
-		:loopmaterinstvo
-			if materinstvo_dress[i] = 0:
-				gs 'clothing_attributes', 'materinstvo_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_materinstvo'', ''materinstvo_dress''"><img src="images/pc/items/mommy/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopmaterinstvo'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopmaterinstvo_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_materinstvo', 'start'
 end
 
-if $ARGS[0] = 'materinstvo_dress': gt 'clothing', 'view_clothing_item', 'materinstvo_dress', i, 2000, 'shop'
-
 --- shop_materinstvo ---------------------------------
 

+ 16 - 159
locations/shop_moncheri.qsrc

@@ -104,7 +104,6 @@ if $ARGS[0] = 'changingend':
 	gt 'shop_moncheri', 'start'
 end
 
-
 if $ARGS[0] = 'gowns':
 	gs 'shortgs', 'setloc', 'shop_moncheri', 'gowns'
 	menu_off = 0
@@ -113,41 +112,11 @@ if $ARGS[0] = 'gowns':
 	'<center><b><font color="maroon">Viewing Mon Chéri outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_moncheri', 'changingroom'
-		step = 3
-	end
+	gs 'shop_utils', 'display_clothes', 'moncheri_gown', 3, 'moncheri/gown', 'shop', Clothingstock mod 3
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'moncheri_gown'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopmoncheri_gown_filter
-		i = 1 + Clothingstock mod 3
-		:loopmoncheri_gown
-			if moncheri_gown[i] = 0:
-				gs 'clothing_attributes', 'moncheri_gown', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_moncheri'', ''moncheri_gown''"><img src="images/pc/items/moncheri/gown/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total:jump 'loopmoncheri_gown'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopmoncheri_gown_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_moncheri', 'changingroom'
 end
 
-if $ARGS[0] = 'moncheri_gown': gt 'clothing', 'view_clothing_item', 'moncheri_gown', i, 20000, 'shop'
-
 if $ARGS[0] = 'dresses':
 	gs 'shortgs', 'setloc', 'shop_moncheri', 'dresses'
 	menu_off = 0
@@ -156,168 +125,56 @@ if $ARGS[0] = 'dresses':
 	'<center><b><font color="maroon">Viewing Mon Chéri outfits</font></b></center>'
 	*nl
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'moncheri_dress'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_moncheri', 'changingroom'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'moncheri_dress', 2, 'moncheri/dress', 'shop', (Clothingstock / 3) mod 2
 
-	!!To filter just this set
-	clo_i = 0
-	:loopmoncheri_dress_filter
-		i = 1 + (Clothingstock / 3) mod 2
-		:loopmoncheri_dress
-			if moncheri_dress[i] = 0:
-				gs 'clothing_attributes', 'moncheri_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_moncheri'', ''moncheri_dress''"><img src="images/pc/items/moncheri/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopmoncheri_dress'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopmoncheri_dress_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_moncheri', 'changingroom'
 end
 
-if $ARGS[0] = 'moncheri_dress': gt 'clothing', 'view_clothing_item', 'moncheri_dress',i, 20000, 'shop'
-
 if $ARGS[0] = 'bodysuit':
 	gs 'shortgs', 'setloc', 'shop_moncheri', 'bodysuit'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_moncheri', 'changingroom'
-		step = 2
-	end
+	'<center><b><font color="maroon">Viewing Mon Chéri bodysuits</font></b></center>'
+	*nl
 
-	gs 'underwear_bodysuits', 'shop_filter_header'
-	gs 'underwear_bodysuits', 'totals', 'moncheri_bodysuits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbodysuitquality_filter
-		i = 1 + (Clothingstock / 6) mod 2
-		:loopmoncheri_bodysuit
-			if moncheri_bodysuits[i] = 0:
-				gs 'underwear_attributes', 'moncheri_bodysuits', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_moncheri'', ''bodysuit2''"><img src="images/pc/items/moncheri/bodysuits/<<i>>.jpg"	 height="250" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopmoncheri_bodysuit'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbodysuitquality_filter'
-	end
-end
+	gs 'shop_utils', 'display_bodysuits', 'moncheri', 2, 'moncheri/bodysuits', 'shop', (Clothingstock / 6) mod 2
 
-if $ARGS[0] = 'bodysuit2': gt 'underwear_bodysuits', 'view_bodysuit_item', 'shop', 'moncheri',i, 2000
+	act 'Return': minut += 1 & gt 'shop_moncheri', 'changingroom'
+end
 
 if $ARGS[0] = 'shoes':
 	gs 'shortgs', 'setloc', 'shop_moncheri', 'shoes'
 	menu_off = 0
 	gs 'stat'
 
-	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
+	'<center><b><font color="maroon">Viewing Mon Chéri shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_moncheri', 'start'
-		step = 3
-	end
+	gs 'shop_utils', 'display_shoes', 'moncheri', 3, 'moncheri/shoes', 'shop', (Clothingstock / 4) mod 3
 
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'moncheri_shoes'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1 + (Clothingstock / 4) mod 3
-		:loopmoncheri_shoes
-			if moncheri_shoe[i] = 0:
-				gs 'shoe_attributes', 'moncheri', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
-						*p '<a href="exec: i = <<i>> & gt ''shop_moncheri'', ''moncheri_shoes''"><img src="images/pc/items/moncheri/shoes/<<i>>.jpg" height="250" /></a>'
-					end
-				end
-			end
-			i += step
-		if i <= total: jump 'loopmoncheri_shoes'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_moncheri', 'start'
 end
 
-if $ARGS[0] = 'moncheri_shoes':	gt 'shoes', 'view_shoe_item', 'shop', 'moncheri',i, 5000
-
 if $ARGS[0] = 'purses':
 	gs 'shortgs', 'setloc', 'shop_moncheri', 'purses'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_moncheri', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_purses', 'moncheri', 1, 'moncheri/purses', 'shop'
 
-	gs 'purses', 'totals', 'moncheri_purses'
-	
-	i = 1
-	:loopmoncheri_purses
-		if moncheri_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_moncheri'', ''purses2''"><img src="images/pc/items/moncheri/purses/<<i>>.jpg"	 height="150" /></a> '
-		i += step
-	if i <= total: jump 'loopmoncheri_purses'
+	act 'Return': minut += 1 & gt 'shop_moncheri', 'start'
 end
 
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'moncheri',i, 4000
-
 if $ARGS[0] = 'coats':
 	gs 'shortgs', 'setloc', 'shop_moncheri', 'coats'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_moncheri', 'start'
-		step = 1
-	end
-
-	gs 'coats', 'totals', 'moncheri_coats'
+	gs 'shop_utils', 'display_coats', 'moncheri', 1, 'moncheri/coats', 'shop'
 
-	i = 1
-	:loopmoncheri_coats
-		if moncheri_coats[i] = 0:*p '<a href="exec: i = <<i>> & gt ''shop_moncheri'', ''coats2''"><img src="images/pc/items/moncheri/coats/<<i>>.jpg"	 height="250" /></a> '
-		i += step
-	if i <= total: jump 'loopmoncheri_coats'
+	act 'Return': minut += 1 & gt 'shop_moncheri', 'start'
 end
 
-if $ARGS[0] = 'coats2': gt 'coats', 'view_coat_item', 'shop', 'moncheri', i, 4000
-
 --- moncheri ---------------------------------
 

+ 13 - 163
locations/shop_nerdvana.qsrc

@@ -30,46 +30,9 @@ if $ARGS[0] = 'cosplay':
 	'<center><b><font color="maroon">Viewing Nerdvana Cosplay Outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
-		step = 2
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'nerdvana_cosplay'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopnerdvana_cosplay_filter
-		i = 1 + Clothingstock mod 2
-		:loopnerdvana_cosplay
-			if nerdvana_cosplay[i] = 0:
-				gs 'clothing_attributes', 'nerdvana_cosplay', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_nerdvana'', ''nerdvana_cosplay''"><img src="images/pc/items/nerdvana/cosplay/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopnerdvana_cosplay'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopnerdvana_cosplay_filter'
-	end
-end
-
-if $ARGS[0] = 'nerdvana_cosplay':
-	if nerdvana_cosplay[i] ! 0:
-		msg 'You already own this cosplay outfit.'
-		gt 'shop_nerdvana', 'cosplay'
-	end
+	gs 'shop_utils', 'display_clothes', 'nerdvana_cosplay', 2, 'nerdvana/cosplay', 'shop', Clothingstock mod 2
 
-	gt 'clothing', 'view_clothing_item', 'nerdvana_cosplay', i, 3000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
 end
 
 if $ARGS[0] = 'outfits':
@@ -80,46 +43,9 @@ if $ARGS[0] = 'outfits':
 	'<center><b><font color="maroon">Viewing Nerdvana outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
-		step = 2
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'nerdvana_outfits'
-
-	!!To filter just this set
-	clo_i = 0
-	:loopnerdvana_outfits_filter
-		i = 1 + (Clothingstock / 2) mod 2
-		:loopnerdvana_outfits
-			if nerdvana_outfits[i] = 0:
-				gs 'clothing_attributes', 'nerdvana_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_nerdvana'', ''nerdvana_outfits''"><img src="images/pc/items/nerdvana/outfits/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopnerdvana_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopnerdvana_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'nerdvana_outfits':
-	if nerdvana_outfits[i] ! 0:
-		msg 'You already own this outfit.'
-		gt 'shop_nerdvana', 'outfits'
-	end
+	gs 'shop_utils', 'display_clothes', 'nerdvana_outfits', 2, 'nerdvana/outfits', 'shop', (Clothingstock / 2) mod 2
 
-	gt 'clothing', 'view_clothing_item', 'nerdvana_outfits',i, 3000, 'shop'
+	act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
 end
 
 if $ARGS[0] = 'swim':
@@ -130,40 +56,10 @@ if $ARGS[0] = 'swim':
 	'<center><b><font color="maroon">Swimsuits - one size fits all</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
-		step = 1
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'nerdvana_swimsuit'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopnerdvana_swimsuit_filter
-		i = 1
-		:loopnerdvana_swimsuit
-			if nerdvana_swimsuit[i] = 0:
-				gs 'clothing_attributes', 'nerdvana_swimsuit', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_nerdvana'', ''swim1''"><img src="images/pc/items/nerdvana/swim/one/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopnerdvana_swimsuit'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopnerdvana_swimsuit_filter'
-	end
-end
+	gs 'shop_utils', 'display_clothes', 'nerdvana_swimsuit', 1, 'nerdvana/swim/one', 'shop'
 
-if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'nerdvana_swimsuit',i, 1750, 'shop'
+	act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
+end
 
 if $ARGS[0] = 'bikinis':
 	gs 'shortgs', 'setloc', 'shop_nerdvana', 'bikinis'
@@ -173,65 +69,19 @@ if $ARGS[0] = 'bikinis':
 	'<center><b><font color="maroon">Bikinis - one size fits all</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
-		step = 1
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'nerdvana_bikinis'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopnerdvana_bikinis_filter
-		i = 1
-		:loopnerdvana_bikinis
-			if nerdvana_bikinis[i] = 0:
-				gs 'clothing_attributes', 'nerdvana_bikinis', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_nerdvana'', ''bikini1''"><img src="images/pc/items/nerdvana/swim/two/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopnerdvana_bikinis'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopnerdvana_bikinis_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopnerdvana_bikinis_filter'
-	end
-end
+	gs 'shop_utils', 'display_clothes', 'nerdvana_bikinis', 1, 'nerdvana/swim/two', 'shop'
 
-if $ARGS[0] = 'bikini1': gt 'clothing', 'view_clothing_item', 'nerdvana_bikinis',i, 1750, 'shop'
+	act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
+end
 
 if $ARGS[0] = 'purses':
 	gs 'shortgs', 'setloc', 'shop_nerdvana', 'purses'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
-		step = 2
-	end
-	
-	i = 1 + (Clothingstock / 4) mod 2
-	:loopnerdvana_purses
-		if nerdvana_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_nerdvana'', ''purses2''"><img src="images/pc/items/nerdvana/purses/<<i>>.jpg" 	height="150" /></a> '
-		i += step
-	if i <= total: jump 'loopnerdvana_purses'
-end
-
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'nerdvana',i, 2000
+	gs 'shop_utils', 'display_purses', 'nerdvana', 2, 'nerdvana/purses', 'shop', (Clothingstock / 4) mod 2
 
+	act 'Return': minut += 1 & gt 'shop_nerdvana', 'start'
+end
 
 --- shop_nerdvana ---------------------------------

+ 14 - 200
locations/shop_pussycats.qsrc

@@ -104,41 +104,11 @@ if $ARGS[0] = 'dress':
 	'<center><b><font color="maroon">Viewing Pussy Kats dresses</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 3
-	end
+	gs 'shop_utils', 'display_clothes', 'cats_dress', 3, 'cats/dress', 'shop', Clothingstock mod 3
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'cats_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopcats_dress_filter
-		i = 1 + Clothingstock mod 3
-		:loopcats_dress
-			if cats_dress[i] = 0:
-				gs 'clothing_attributes', 'cats_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''yshopclo_dress''"><img <<$set_imgh>> src="images/pc/items/cats/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopcats_dress'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopcats_dress_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
-if $ARGS[0] = 'yshopclo_dress': gt 'clothing', 'view_clothing_item', 'cats_dress', i, 3000, 'shop'
-
 if $ARGS[0] = 'clothes':
 	gs 'shortgs', 'setloc', 'shop_pussycats', 'clothes'
 	menu_off = 0
@@ -147,41 +117,11 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing Pussy Kats outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 3
-	end
+	gs 'shop_utils', 'display_clothes', 'cats_outfits', 3, 'cats/outfits', 'shop', (Clothingstock / 3) mod 3
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'cats_outfits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopcats_outfits_filter
-		i = 1 + (Clothingstock / 3) mod 3
-		:loopcats_outfits
-			if cats_outfits[i] = 0:
-				gs 'clothing_attributes', 'cats_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''yshopclo_outfit''"><img <<$set_imgh>> src="images/pc/items/cats/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopcats_outfits'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopcats_outfits_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
-if $ARGS[0] = 'yshopclo_outfit': gt 'clothing', 'view_clothing_item', 'cats_outfits', i, 3000, 'shop'
-
 if $ARGS[0] = 'shoes':
 	gs 'shortgs', 'setloc', 'shop_pussycats', 'shoes'
 	menu_off = 0
@@ -190,81 +130,19 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_shoes', 'cats', 1, 'cats/shoes', 'shop'
 
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'pussycats_shoes'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1
-		:loopcats_shoe
-			if cats_shoe[i] = 0:
-				gs 'shoe_attributes', 'cats', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''cats_shoe''"><img src="images/pc/items/cats/shoes/<<i>>.jpg" height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopcats_shoe'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
-if $ARGS[0] = 'cats_shoe': gt 'shoes', 'view_shoe_item', 'shop', 'cats', i, 900
-
 if $ARGS[0] = 'panties':
 	gs 'shortgs', 'setloc', 'shop_pussycats', 'panties'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 2
-	end
-
-	gs 'panties', 'shop_filter_header'
-	gs 'panties', 'totals', 'pussycats_panties'
-	
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-		i = 1 + Clothingstock mod 2
-		:loopcats_panties
-			if cats_panties[i] = 0:
-				gs 'underwear_attributes', 'cats_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''panties2''"><img src="images/pc/items/cats/panties/<<i>>.jpg"	 height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopcats_panties'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
-
-if $ARGS[0] = 'panties2':
-	if cats_panties[i] ! 0:
-		msg 'You already own these panties.'
-		gt 'shop_pussycats', 'panties'
-	end
+	gs 'shop_utils', 'display_panties', 'cats', 2, 'cats/panties', 'shop', Clothingstock mod 2
 
-	gt 'panties', 'view_panty_item', 'shop', 'cats', i, 500
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
 if $ARGS[0] = 'bras':
@@ -272,43 +150,9 @@ if $ARGS[0] = 'bras':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 1
-	end
-
-	gs 'bras', 'shop_filter_header'
-	gs 'bras', 'totals', 'pussycats_bras'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-		i = 1
-		:loopcats_bras
-			if cats_bras[i] = 0:
-				gs 'underwear_attributes', 'cats_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''bras2''"><img src="images/pc/items/cats/bras/<<i>>.jpg"	 height="150" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopcats_bras'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
-end
-
-if $ARGS[0] = 'bras2':
-	if cats_bras[i] ! 0:
-		msg 'You already own this bra.'
-		gt 'shop_pussycats', 'bras'
-	end
+	gs 'shop_utils', 'display_bras', 'cats', 1, 'cats/bras', 'shop'
 
-	gt 'bras', 'view_bra_item', 'shop', 'cats', i, 500
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
 if $ARGS[0] = 'purses':
@@ -316,51 +160,21 @@ if $ARGS[0] = 'purses':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_purses', 'cats', 1, 'cats/purses', 'shop'
 
-	gs 'purses', 'totals', 'pussycats_purses'
-	
-	i = 1
-	:loopcats_purses
-		if cats_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''purses2''"><img src="images/pc/items/cats/purses/<<i>>.jpg"	 height="250" /></a> '
-		i += step
-	if i <= total: jump 'loopcats_purses'
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'cats', i, 2000
-
 if $ARGS[0] = 'coats':
 	gs 'shortgs', 'setloc', 'shop_pussycats', 'coats'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_coats', 'cats', 1, 'cats/coats', 'shop'
 
-	gs 'coats', 'totals', 'pussycats_coats'
-	
-	i = 1
-	:loopcats_coats
-		if cats_coats[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_pussycats'', ''coats2''"><img src="images/pc/items/cats/coats/<<i>>.jpg"	 height="250" /></a> '
-		i += step
-	if i <= total: jump 'loopcats_coats'
+	act 'Return': minut += 1 & gt 'shop_pussycats', 'start'
 end
 
-if $ARGS[0] = 'coats2': gt 'coats', 'view_coat_item', 'shop', 'cats', i, 2000
-
-
-
 
 	!!==============================================!!
 	!!                                              !!

+ 12 - 201
locations/shop_scandalicious.qsrc

@@ -33,46 +33,9 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing Scandalicious outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_clothes', 'scandalicious_outfits', 1, 'scandalicious/outfits', 'shop'
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'scandalicious_outfits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopscandalicious_outfits_filter
-		i = 1
-		:loopscandalicious_outfits
-			if scandalicious_outfits[i] = 0:
-				gs 'clothing_attributes', 'scandalicious_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_scandalicious'', ''scandalicious_outfits''"><img src="images/pc/items/scandalicious/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopscandalicious_outfits'
-		clo_i += 1
-	if (clothingfilter['quality'] = 0 and clo_i <= 7) or (clothingfilter['inhibition'] = 0 and clo_i <= 50):
-		jump 'loopscandalicious_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'scandalicious_outfits':
-	if scandalicious_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_scandalicious', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'scandalicious_outfits', i, 1500, 'shop'
+	act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
 end
 
 if $ARGS[0] = 'dresses':
@@ -83,46 +46,9 @@ if $ARGS[0] = 'dresses':
 	'<center><b><font color="maroon">Viewing Scandalicious dresses</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
-		step = 3
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'scandalicious_dress'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopscandalicious_dress_filter
-		i = 1 + Clothingstock mod 3
-		:loopscandalicious_dress
-			if scandalicious_dress[i] = 0:
-				gs 'clothing_attributes', 'scandalicious_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_scandalicious'', ''scandalicious_dress''"><img src="images/pc/items/scandalicious/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopscandalicious_dress'
-		clo_i += 1
-	if (clothingfilter['quality'] = 0 and clo_i <= 7) or (clothingfilter['inhibition'] = 0 and clo_i <= 50):
-		jump 'loopscandalicious_dress_filter'
-	end
-end
-
-if $ARGS[0] = 'scandalicious_dress':
-	if scandalicious_dress[i] ! 0:
-		msg 'You already own this dress.'
-		gt 'shop_scandalicious', 'dresses'
-	end
+	gs 'shop_utils', 'display_clothes', 'scandalicious_dress', 3, 'scandalicious/dress', 'shop', Clothingstock mod 3
 
-	gt 'clothing', 'view_clothing_item', 'scandalicious_dress', i, 1500, 'shop'
+	act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
 end
 
 if $ARGS[0] = 'shoes':
@@ -133,39 +59,11 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
-		step = 4
-	end
+	gs 'shop_utils', 'display_shoes', 'scandalicious', 4, 'scandalicious/shoes', 'shop', (Clothingstock / 3) mod 4
 
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'scandalicious_shoes'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1 + (Clothingstock / 3) mod 4
-		:loopscandalicious_shoes
-			if scandalicious_shoe[i] = 0:
-				gs 'shoe_attributes', 'scandalicious', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_scandalicious'', ''shoes2''"><img src="images/pc/items/scandalicious/shoes/<<i>>.jpg" height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopscandalicious_shoes'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
 end
 
-if $ARGS[0] = 'shoes2': gt 'shoes', 'view_shoe_item', 'shop', 'scandalicious', i, 1500
-
 if $ARGS[0] = 'swim':
 	gs 'shortgs', 'setloc', 'shop_scandalicious', 'swim'
 	menu_off = 0
@@ -174,41 +72,11 @@ if $ARGS[0] = 'swim':
 	'<center><b><font color="maroon">Swimsuits - one size fits all</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_clothes', 'scandalicious_swimsuits', 2, 'scandalicious/swim/one', 'shop', (Clothingstock / 4) mod 2
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'scandalicious_swimsuits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopscandalicious_swimsuit_filter
-		i = 1 + (Clothingstock / 4) mod 2
-		:loopscandalicious_swimsuit
-			if scandalicious_swimsuit[i] = 0:
-				gs 'clothing_attributes', 'scandalicious_swimsuit', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_scandalicious'', ''swim1''"><img src="images/pc/items/scandalicious/swim/one/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopscandalicious_swimsuit'
-		clo_i += 1
-	if (clothingfilter['quality'] = 0 and clo_i <= 7) or (clothingfilter['inhibition'] = 0 and clo_i <= 50):
-		jump 'loopscandalicious_swimsuit_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
 end
 
-if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'scandalicious_swimsuit',i, 1750, 'shop'
-
 if $ARGS[0] = 'bikinis':
 	gs 'shortgs', 'setloc', 'shop_scandalicious', 'bikinis'
 	menu_off = 0
@@ -217,76 +85,19 @@ if $ARGS[0] = 'bikinis':
 	'<center><b><font color="maroon">Bikinis - one size fits all</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
-		step = 4
-	end
+	gs 'shop_utils', 'display_clothes', 'scandalicious_bikinis', 4, 'scandalicious/swim/two', 'shop', (Clothingstock / 2) mod 4
 
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'scandalicious_bikinis'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopscandalicious_bikinis_filter
-		i = 1 + (Clothingstock / 2) mod 4
-		:loopscandalicious_bikinis
-			if scandalicious_bikinis[i] = 0:
-				gs 'clothing_attributes', 'scandalicious_bikinis', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_scandalicious'', ''bikini1''"><img src="images/pc/items/scandalicious/swim/two/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopscandalicious_bikinis'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopscandalicious_bikinis_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
 end
 
-if $ARGS[0] = 'bikini1': gt 'clothing', 'view_clothing_item', 'scandalicious_bikinis', i, 1750, 'shop'
-
 if $ARGS[0] = 'bodysuit':
 	gs 'shortgs', 'setloc', 'shop_scandalicious', 'bodysuit'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
-		step = 2
-	end
+	gs 'shop_utils', 'display_bodysuits', 'scandalicious', 2, 'scandalicious/bodysuits', 'shop', Clothingstock mod 2
 
-	gs 'underwear_bodysuits', 'shop_filter_header'
-	gs 'underwear_bodysuits', 'totals', 'scandalicious_bodysuits'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbodysuitquality_filter
-		i = 1 + Clothingstock mod 2
-		:loopscandalicious_bodysuit
-			if scandalicious_bodysuits[i] = 0:
-				gs 'underwear_attributes', 'scandalicious_bodysuits', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: i = <<i>> & gt ''shop_scandalicious'', ''bodysuit1''"><img src="images/pc/items/scandalicious/bodysuits/<<i>>.jpg"	 height="250" /></a> '
-				end
-			end
-			i += step
-		if i <= total: jump 'loopscandalicious_bodysuit'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbodysuitquality_filter'
-	end
+	act 'Return': minut += 1 & gt 'shop_scandalicious', 'start'
 end
 
-if $ARGS[0] = 'bodysuit1': gt 'underwear_bodysuits', 'view_bodysuit_item', 'shop', 'scandalicious', i, 1250
-
 --- shop_scandalicious ---------------------------------

+ 10 - 140
locations/shop_tsar_bomba.qsrc

@@ -32,46 +32,9 @@ if $ARGS[0] = 'dresses':
 	'<center><b><font color="maroon">Viewing Tsar Bomba dresses</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
-		step = 2
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'bomba_dresses'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopbomba_dresses_filter
-		i = 1 + Clothingstock mod 2
-		:loopbomba_dresses
-			if bomba_dress[i] = 0:
-				gs 'clothing_attributes', 'bomba_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_tsar_bomba'', ''bomba_dresses''"><img src="images/pc/items/bomba/dress/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopbomba_dresses'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopbomba_dresses_filter'
-	end
-end
+	gs 'shop_utils', 'display_clothes', 'bomba_dress', 2, 'bomba/dress', 'shop', Clothingstock mod 2
 
-if $ARGS[0] = 'bomba_dresses':
-	if bomba_dress[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_tsar_bomba', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'bomba_dress', i, 3500, 'shop'
+	act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
 end
 
 if $ARGS[0] = 'clothes':
@@ -82,46 +45,9 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing Tsar Bomba outfits</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
-		step = 2
-	end
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'bomba_outfits'
+	gs 'shop_utils', 'display_clothes', 'bomba_outfits', 2, 'bomba/outfits', 'shop', (Clothingstock / 2) mod 2
 	
-	!!To filter just this set
-	clo_i = 0
-	:loopbomba_filter
-		i = 1 + (Clothingstock / 2) mod 2
-		:loopbomba
-			if bomba_outfits[i] = 0:
-				gs 'clothing_attributes', 'bomba_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_tsar_bomba'', ''bomba_outfits''"><img src="images/pc/items/bomba/outfits/<<i>>.jpg"	 height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopbomba'
-		clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopbomba_filter'
-	end
-end
-
-if $ARGS[0] = 'bomba_outfits':
-	if bomba_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'shop_tsar_bomba', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'bomba_outfits', i, 3500, 'shop'
+	act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
 end
 
 if $ARGS[0] = 'purses':
@@ -129,25 +55,11 @@ if $ARGS[0] = 'purses':
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_purses', 'bomba', 1, 'bomba/purses', 'shop'
 
-	gs 'purses', 'totals', 'bomba_purses'
-	
-	i = 1
-	:loopbomba_purses
-		if bomba_purses[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_tsar_bomba'', ''purses2''"><img src="images/pc/items/bomba/purses/<<i>>.jpg"	 height="250" /></a> '
-		i += step
-	if i <= total: jump 'loopbomba_purses'
+	act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
 end
 
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'bomba', i, 2000
-
 if $ARGS[0] = 'shoes':
 	gs 'shortgs', 'setloc', 'shop_tsar_bomba', 'shoes'
 	menu_off = 0
@@ -156,62 +68,20 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 5 & gt 'shop_tsar_bomba', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_shoes', 'bomba', 1, 'bomba/shoes', 'shop'
 
-	gs 'shoes', 'shop_filter_header'
-	gs 'shoes', 'totals', 'bomba_shoes'
-	
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-		i = 1
-		:loopbomba_shoes
-			if bomba_shoe[i] = 0:
-				gs 'shoe_attributes', 'bomba', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''shop_tsar_bomba'', ''bomba_shoes''"><img src="images/pc/items/bomba/shoes/<<i>>.jpg" height="250" /></a>'
-				end
-			end
-			i += step
-		if i <= total: jump 'loopbomba_shoes'
-		clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
+	act 'Return': minut += 5 & gt 'shop_tsar_bomba', 'start'
 end
 
-if $ARGS[0] = 'bomba_shoes': gt 'shoes', 'view_shoe_item', 'shop', 'bomba', i, 2000
-
 if $ARGS[0] = 'coats':
 	gs 'shortgs', 'setloc', 'shop_tsar_bomba', 'coats'
 	menu_off = 0
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_coats', 'bomba', 1, 'bomba/coats', 'shop'
 
-	gs 'coats', 'totals', 'bomba_coats'
-	
-	i = 1
-	:loopbomba_coats
-		if bomba_coats[i] = 0: *p '<a href="exec: i = <<i>> & gt ''shop_tsar_bomba'', ''coats2''"><img src="images/pc/items/bomba/coats/<<i>>.jpg"	 height="250" /></a> '
-		i += step
-	if i <= total: jump 'loopbomba_coats'
+	act 'Return': minut += 1 & gt 'shop_tsar_bomba', 'start'
 end
 
-if $ARGS[0] = 'coats2': gt 'coats', 'view_coat_item', 'shop', 'bomba', i, 2000
-
 --- shop_tsar_bomba ---------------------------------
 

+ 23 - 28
locations/shop_utils.qsrc

@@ -45,7 +45,7 @@ if $ARGS[0] = 'shop':
 			end
 		end
 
-	elseif $ARGS[1] = 'bodysuit':
+	elseif $ARGS[1] = 'bodysuits':
 		if dyneval('result = <<$shop_display[''variable'']>>_bodysuits[shop_display[''i'']]') = 0:
 			gs 'underwear_attributes', $shop_display['variable'], shop_display['i']
 
@@ -101,6 +101,7 @@ end
 ! [4] - link type - shop, wardrode, cheat
 ! [5] - loop index start offset
 ! Populate the 'shop_display_exceptions[]' array with the index of the outfits you want excluded from the display.
+! gs 'shop_utils', 'display_clothes', 'shop_type', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_clothes':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -139,6 +140,7 @@ if $ARGS[0] = 'display_clothes':
 	killvar 'shop_display'
 end
 
+! gs 'shop_utils', 'display_shoes', 'shop', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_shoes':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -177,6 +179,7 @@ if $ARGS[0] = 'display_shoes':
 	killvar 'shop_display'
 end
 
+! gs 'shop_utils', 'display_bras', 'shop', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_bras':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -215,6 +218,7 @@ if $ARGS[0] = 'display_bras':
 	killvar 'shop_display'
 end
 
+! gs 'shop_utils', 'display_panties', 'shop', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_panties':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -253,6 +257,7 @@ if $ARGS[0] = 'display_panties':
 	killvar 'shop_display'
 end
 
+! gs 'shop_utils', 'display_bodysuits', 'shop', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_bodysuits':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -291,6 +296,7 @@ if $ARGS[0] = 'display_bodysuits':
 	killvar 'shop_display'
 end
 
+! gs 'shop_utils', 'display_coats', 'shop', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_coats':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -309,25 +315,20 @@ if $ARGS[0] = 'display_coats':
 		exit
 	end
 
-	shop_display['clo_i'] = 0
-	:coats_filter_loop
-		shop_display['i'] = 1 + ARGS[5]
-		:coats_main_loop
-		if shop_display['i'] <= total:
-			if arrpos('shop_display_exception', shop_display['i']) < 0:
-				*p func('shop_utils', $ARGS[4], 'coats')
-			end
-			shop_display['i'] += ARGS[2]
-			jump 'coats_main_loop'
+	shop_display['i'] = 1 + ARGS[5]
+	:coats_main_loop
+	if shop_display['i'] <= total:
+		if arrpos('shop_display_exception', shop_display['i']) < 0:
+			*p func('shop_utils', $ARGS[4], 'coats')
 		end
-		shop_display['clo_i'] += 1
-	if clothingfilter['quality'] = 0 and shop_display['clo_i'] <= 6:
-		jump 'coats_filter_loop'
+		shop_display['i'] += ARGS[2]
+		jump 'coats_main_loop'
 	end
 
 	killvar 'shop_display'
 end
 
+! gs 'shop_utils', 'display_purses', 'shop', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_purses':
 	$shop_display['variable']	= $ARGS[1]
 
@@ -339,27 +340,21 @@ if $ARGS[0] = 'display_purses':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
-	gs 'coats', 'totals', '<<$shop_display[''variable'']>>_purses'
+	gs 'purses', 'totals', '<<$shop_display[''variable'']>>_purses'
 
 	if total <= 0:
 		killvar 'shop_display'
 		exit
 	end
 
-	shop_display['clo_i'] = 0
-	:purses_filter_loop
-		shop_display['i'] = 1 + ARGS[5]
-		:purses_main_loop
-		if shop_display['i'] <= total:
-			if arrpos('shop_display_exception', shop_display['i']) < 0:
-				*p func('shop_utils', $ARGS[4], 'purses')
-			end
-			shop_display['i'] += ARGS[2]
-			jump 'purses_main_loop'
+	shop_display['i'] = 1 + ARGS[5]
+	:purses_main_loop
+	if shop_display['i'] <= total:
+		if arrpos('shop_display_exception', shop_display['i']) < 0:
+			*p func('shop_utils', $ARGS[4], 'purses')
 		end
-		shop_display['clo_i'] += 1
-	if clothingfilter['quality'] = 0 and shop_display['clo_i'] <= 6:
-		jump 'purses_filter_loop'
+		shop_display['i'] += ARGS[2]
+		jump 'purses_main_loop'
 	end
 
 	killvar 'shop_display'