Browse Source

v1 of generalized loop

f95Lok 1 week ago
parent
commit
05fe387995

+ 6 - 0
locations/clothing_attributes.qsrc

@@ -227,5 +227,11 @@ if CloTopCut = 2 and tits >= 6: CloTopCut = 3
 !!end
 !!if CloTopCut > 4: CloTopCut = 4
 
+! Used by the general display loop.
+! Assign the appropriate value if the parameter exists, otherwise, assign -1  
+if ARGS[2] = 1:
+	shop_display['quality'] = CloQuality
+	shop_display['inhibit'] = CloInhibit
+end
 
 --- clothing_attributes ---------------------------------

+ 6 - 0
locations/coat_attributes.qsrc

@@ -18,5 +18,11 @@ $coat_description = ''
 
 if ARGS[1] ! 0: gs '$attributes_<<$ARGS[0]>>_coats', ARGS[1]
 
+if ARGS[2] = 1:
+	shop_display['quality'] = -1
+	shop_display['inhibit'] = -1
+	shop_display['no_filter'] = 1
+end
+
 --- coat_attributes ---------------------------------
 

+ 6 - 0
locations/piercing_attributes.qsrc

@@ -5,4 +5,10 @@ PirPrice = 0
 
 gs '$attributes_piercing_<<$ARGS[0]>>', ARGS[1]
 
+if ARGS[2] = 1:
+	shop_display['quality'] = -1
+	shop_display['inhibit'] = -1
+	shop_display['no_filter'] = 1
+end
+
 --- piercing_attributes ---------------------------------

+ 6 - 0
locations/purse_attributes.qsrc

@@ -4,4 +4,10 @@ PursePrice = 0
 
 if ARGS[1] ! 0: gs '$attributes_<<$ARGS[0]>>_purses', ARGS[1]
 
+if ARGS[2] = 1:
+	shop_display['quality'] = -1
+	shop_display['inhibit'] = -1
+	shop_display['no_filter'] = 1
+end
+
 --- purse_attributes ---------------------------------

+ 5 - 0
locations/shoe_attributes.qsrc

@@ -50,4 +50,9 @@ ShoPrice = 0
 
 if ARGS[1] ! 0: gs '$attributes_<<$ARGS[0]>>_shoes', ARGS[1]
 
+if ARGS[2] = 1:
+	shop_display['quality'] = ShoQuality
+	shop_display['inhibit'] = -1
+end
+
 --- shoe_attributes ---------------------------------

+ 72 - 72
locations/shoes.qsrc

@@ -4,21 +4,21 @@ menu_off = 1
 
 if $ARGS[0] = 'totals':
 	!!sets the number of items in shoe sets
-	if $ARGS[1] = 'gm_shoes':
+	if $ARGS[1] = 'gm_shoe':
 		total = 30
-	elseif $ARGS[1] = 'dolls_shoes':
+	elseif $ARGS[1] = 'dolls_shoe':
 		total = 120
-	elseif $ARGS[1] = 'cats_shoes':
+	elseif $ARGS[1] = 'cats_shoe':
 		total = 40
-	elseif $ARGS[1] = 'scandalicious_shoes':
+	elseif $ARGS[1] = 'scandalicious_shoe':
 		total = 80
-	elseif $ARGS[1] = 'bomba_shoes':
+	elseif $ARGS[1] = 'bomba_shoe':
 		total = 40
-	elseif $ARGS[1] = 'danilovich_shoes':
+	elseif $ARGS[1] = 'danilovich_shoe':
 		total = 40
-	elseif $ARGS[1] = 'eroto_shoes':
+	elseif $ARGS[1] = 'eroto_shoe':
 		total = 40
-	elseif $ARGS[1] = 'moncheri_shoes':
+	elseif $ARGS[1] = 'moncheri_shoe':
 		total = 140
 	end
 end
@@ -130,8 +130,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'moncheri', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'moncheri', i)
 				end
 			end
@@ -145,8 +145,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'cats', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'cats', i)
 				end
 			end
@@ -160,8 +160,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'bomba', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'bomba', i)
 				end
 			end
@@ -175,8 +175,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'dolls', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'dolls', i)
 				end
 			end
@@ -190,8 +190,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'gm', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'gm', i)
 				end
 			end
@@ -205,8 +205,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'eroto', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'eroto', i)
 				end
 			end
@@ -220,8 +220,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'scandalicious', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'scandalicious', i)
 				end
 			end
@@ -235,8 +235,8 @@ if $ARGS[0] = 'view_shoe_list':
 			gs 'shoe_attributes', 'danilovich', i
 			gs 'shoes', 'shoe_filter'
 			!!sort by filter
-			if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = clo_i) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					*P dyneval($shoe_list_line, $ARGS[1], 'danilovich', i)
 				end
 			end
@@ -245,7 +245,7 @@ if $ARGS[0] = 'view_shoe_list':
 	if i <= ARRSIZE('danilovich_shoe'):jump 'loopdanilovich_shoe'
 
 	clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
+	if clothingfilter['quality'] = 0 and clo_i <= 7:
 		jump 'loopshoequality_filter'
 	end
 
@@ -499,19 +499,19 @@ if $ARGS[0] = 'filter_header_base':
 !! sort by filters
 	temp_count[0] = 1
 	$Headerstring[0] = '<TD>'
-	if Shofilter['number'] = 0:
-		Shofilter['quality'] = 1
+	if clothingfilter['number'] = 0:
+		clothingfilter['quality'] = 1
 		$Headerstring[0] += '<img src="images/system/icons/clothing/number.png"></TD>'
 	else
-		$Headerstring[0] += '<a href="exec:Shofilter[''number''] = 0 & Shofilter[''quality''] = 1 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/number_off.png"></a></TD>'
+		$Headerstring[0] += '<a href="exec:clothingfilter[''number''] = 0 & clothingfilter[''quality''] = 1 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/number_off.png"></a></TD>'
 	end
 
 	temp_count[0] += 1
 	$Headerstring[0] += '<TD>'
-	if Shofilter['quality'] = 0:
+	if clothingfilter['quality'] = 0:
 		$Headerstring[0] += '<img src="images/system/icons/clothing/quality.png"></TD>'
 	else
-		$Headerstring[0] += '<a href="exec:Shofilter[''number''] = 1 & Shofilter[''quality''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/quality_off.png"></a></TD>'
+		$Headerstring[0] += '<a href="exec:clothingfilter[''number''] = 1 & clothingfilter[''quality''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/quality_off.png"></a></TD>'
 	end
 
 
@@ -522,35 +522,35 @@ if $ARGS[0] = 'filter_header_base':
 	if $ARGS[1] ! 'store':
 		temp_count[1] += 1
 		$Headerstring[1] += '<TD>'
-		if Shofilter['sport'] = 0:
-			$Headerstring[1] += '<a href="exec:Shofilter[''sport''] = 1 & Shofilter[''sport_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport.png"></a></TD>'
+		if clothingfilter['sport'] = 0:
+			$Headerstring[1] += '<a href="exec:clothingfilter[''sport''] = 1 & clothingfilter[''sport_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport.png"></a></TD>'
 		else
-			$Headerstring[1] += '<a href="exec:Shofilter[''sport''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport_off.png"></a></TD>'
+			$Headerstring[1] += '<a href="exec:clothingfilter[''sport''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport_off.png"></a></TD>'
 		end
 	end
 
 	temp_count[1] += 1
 	$Headerstring[1] += '<TD>'
-	if Shofilter['stripper'] = 0:
-		$Headerstring[1] += '<a href="exec:Shofilter[''stripper''] = 1 & Shofilter[''stripper_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper.png"></a></TD>'
+	if clothingfilter['stripper'] = 0:
+		$Headerstring[1] += '<a href="exec:clothingfilter[''stripper''] = 1 & clothingfilter[''stripper_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper.png"></a></TD>'
 	else
-		$Headerstring[1] += '<a href="exec:Shofilter[''stripper''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper_off.png"></a></TD>'
+		$Headerstring[1] += '<a href="exec:clothingfilter[''stripper''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper_off.png"></a></TD>'
 	end
 
 	temp_count[1] += 1
 	$Headerstring[1] += '<TD>'
-	if Shofilter['bimbo'] = 0:
-		$Headerstring[1] += '<a href="exec:Shofilter[''bimbo''] = 1 & Shofilter[''bimbo_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo.png"></a></TD>'
+	if clothingfilter['bimbo'] = 0:
+		$Headerstring[1] += '<a href="exec:clothingfilter[''bimbo''] = 1 & clothingfilter[''bimbo_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo.png"></a></TD>'
 	else
-		$Headerstring[1] += '<a href="exec:Shofilter[''bimbo''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo_off.png"></a></TD>'
+		$Headerstring[1] += '<a href="exec:clothingfilter[''bimbo''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo_off.png"></a></TD>'
 	end
 
 	temp_count[1] += 1
 	$Headerstring[1] += '<TD>'
-	if Shofilter['alternative'] = 0:
-		$Headerstring[1] += '<a href="exec:Shofilter[''alternative''] = 1 & Shofilter[''alternative_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative.png"></a></TD>'
+	if clothingfilter['alternative'] = 0:
+		$Headerstring[1] += '<a href="exec:clothingfilter[''alternative''] = 1 & clothingfilter[''alternative_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative.png"></a></TD>'
 	else
-		$Headerstring[1] += '<a href="exec:Shofilter[''alternative''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative_off.png"></a></TD>'
+		$Headerstring[1] += '<a href="exec:clothingfilter[''alternative''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative_off.png"></a></TD>'
 	end
 
 !! Show only filers
@@ -560,35 +560,35 @@ if $ARGS[0] = 'filter_header_base':
 	if $ARGS[1] ! 'store':
 		temp_count[2] += 1
 		$Headerstring[2] += '<TD>'
-		if Shofilter['sport_only'] = 0:
-			$Headerstring[2] += '<a href="exec:Shofilter[''sport_only''] = 1 & Shofilter[''sport''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport_off.png"></a></TD>'
+		if clothingfilter['sport_only'] = 0:
+			$Headerstring[2] += '<a href="exec:clothingfilter[''sport_only''] = 1 & clothingfilter[''sport''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport_off.png"></a></TD>'
 		else
-			$Headerstring[2] += '<a href="exec:Shofilter[''sport_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport.png"></a></TD>'
+			$Headerstring[2] += '<a href="exec:clothingfilter[''sport_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/sport.png"></a></TD>'
 		end
 	end
 
 	temp_count[2] += 1
 	$Headerstring[2] += '<TD>'
-	if Shofilter['stripper_only'] = 0:
-		$Headerstring[2] += '<a href="exec:Shofilter[''stripper_only''] = 1 & Shofilter[''stripper''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper_off.png"></a></TD>'
+	if clothingfilter['stripper_only'] = 0:
+		$Headerstring[2] += '<a href="exec:clothingfilter[''stripper_only''] = 1 & clothingfilter[''stripper''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper_off.png"></a></TD>'
 	else
-		$Headerstring[2] += '<a href="exec:Shofilter[''stripper_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper.png"></a></TD>'
+		$Headerstring[2] += '<a href="exec:clothingfilter[''stripper_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/stripper.png"></a></TD>'
 	end
 
 	temp_count[2] += 1
 	$Headerstring[2] += '<TD>'
-	if Shofilter['bimbo_only'] = 0:
-		$Headerstring[2] += '<a href="exec:Shofilter[''bimbo_only''] = 1 & Shofilter[''bimbo''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo_off.png"></a></TD>'
+	if clothingfilter['bimbo_only'] = 0:
+		$Headerstring[2] += '<a href="exec:clothingfilter[''bimbo_only''] = 1 & clothingfilter[''bimbo''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo_off.png"></a></TD>'
 	else
-		$Headerstring[2] += '<a href="exec:Shofilter[''bimbo_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo.png"></a></TD>'
+		$Headerstring[2] += '<a href="exec:clothingfilter[''bimbo_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/bimbo.png"></a></TD>'
 	end
 
 	temp_count[2] += 1
 	$Headerstring[2] += '<TD>'
-	if Shofilter['alternative_only'] = 0:
-		$Headerstring[2] += '<a href="exec:Shofilter[''alternative_only''] = 1 & Shofilter[''alternative''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative_off.png"></a></TD>'
+	if clothingfilter['alternative_only'] = 0:
+		$Headerstring[2] += '<a href="exec:clothingfilter[''alternative_only''] = 1 & clothingfilter[''alternative''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative_off.png"></a></TD>'
 	else
-		$Headerstring[2] += '<a href="exec:Shofilter[''alternative_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative.png"></a></TD>'
+		$Headerstring[2] += '<a href="exec:clothingfilter[''alternative_only''] = 0 & gt ''<<$temp_loc1>>'', ''<<$temp_loc2>>'', ''<<$temp_loc3>>''"><img src="images/system/icons/clothing/alternative.png"></a></TD>'
 	end
 
 
@@ -641,42 +641,42 @@ if $ARGS[0] = 'shop_filter': gs 'shoes', 'filter_base'
 
 if $ARGS[0] = 'filter_base':
 !!Exclude filters
-	Shofilter['inc'] = 1
+	clothingfilter['inc'] = 1
 	!!filters, if inc set to 0 they will not display
-	if Shofilter['stripper'] = 1 and ShoStyle2 = 1:
-		Shofilter['inc'] = 0
+	if clothingfilter['stripper'] = 1 and ShoStyle2 = 1:
+		clothingfilter['inc'] = 0
 		exit
 	end
-	if Shofilter['bimbo'] = 1 and ShoBimbo = 1:
-		Shofilter['inc'] = 0
+	if clothingfilter['bimbo'] = 1 and ShoBimbo = 1:
+		clothingfilter['inc'] = 0
 		exit
 	end
-	if Shofilter['alternative'] = 1 and ShoStyle = 1:
-		Shofilter['inc'] = 0
+	if clothingfilter['alternative'] = 1 and ShoStyle = 1:
+		clothingfilter['inc'] = 0
 		exit
 	end
-	if Shofilter['sport'] = 1 and ShoStyle2 = 2:
-		Shofilter['inc'] = 0
+	if clothingfilter['sport'] = 1 and ShoStyle2 = 2:
+		clothingfilter['inc'] = 0
 		exit
 	end
 
 !!only filters
-	Shofilter['only'] = 1
+	clothingfilter['only'] = 1
 	!!filters, if only set to 1 they will only display those set
-	if Shofilter['stripper_only'] = 1 and ShoStyle2 ! 1:
-		Shofilter['only'] = 0
+	if clothingfilter['stripper_only'] = 1 and ShoStyle2 ! 1:
+		clothingfilter['only'] = 0
 		exit
 	end
-	if Shofilter['bimbo_only'] = 1 and ShoBimbo ! 1:
-		Shofilter['only'] = 0
+	if clothingfilter['bimbo_only'] = 1 and ShoBimbo ! 1:
+		clothingfilter['only'] = 0
 		exit
 	end
-	if Shofilter['alternative_only'] = 1 and ShoStyle ! 2:
-		Shofilter['only'] = 0
+	if clothingfilter['alternative_only'] = 1 and ShoStyle ! 2:
+		clothingfilter['only'] = 0
 		exit
 	end
-	if Shofilter['sport_only'] = 1 and ShoStyle2 ! 2:
-		Shofilter['only'] = 0
+	if clothingfilter['sport_only'] = 1 and ShoStyle2 ! 2:
+		clothingfilter['only'] = 0
 		exit
 	end
 end

+ 75 - 30
locations/shop_gm.qsrc

@@ -28,18 +28,70 @@ if $ARGS[0] = 'start':
 
 		act 'Return': gt 'shop_gm', 'start'
 
-		act 'View clothing': minut += 5 & gt 'shop_gm', 'clothes'
-		act 'View dresses': minut += 5 & gt 'shop_gm', 'dresses'
-		act 'View office wear': minut += 5 & gt 'shop_gm', 'office'
-		act 'View maid outfits': minut += 5 & gt 'shop_gm', 'gm_maid'
-		act 'View server uniforms': minut += 5 & gt 'shop_gm', 'gm_server'
-		act 'View school uniforms': minut += 5 & gt 'shop_gm', 'school'
+		act 'View clothing': 
+			minut += 5 
+			gs 'shop_utils', 'display_init_single', 'clothing', 'gm_outfits', 2, 'gm/outfits', 'shop', (Clothingstock / 6) mod 2
+			gt 'shop_gm', 'clothes'
+		end
+		act 'View dresses': 
+			minut += 5 
+			gs 'shop_utils', 'display_init_single', 'clothing', 'gm_dress', 4, 'gm/dress', 'shop', (Clothingstock / 3) mod 4
+			gt 'shop_gm', 'dresses'
+		end
+		act 'View office wear': 
+			minut += 5 
+			gs 'shop_utils', 'display_init_single', 'clothing', 'gm_office', 1, 'gm/office', 'shop'
+			gt 'shop_gm', 'office'
+		end
+		act 'View maid outfits': 
+			minut += 5
+			gs 'shop_utils', 'display_init_single', 'clothing', 'gm_maid', 2, 'gm/maid', 'shop', (Clothingstock / 12) mod 2
+			gt 'shop_gm', 'gm_maid'
+		end
+		act 'View server uniforms': 
+			minut += 5
+			gs 'shop_utils', 'display_init_single', 'clothing', 'gm_server', 2, 'gm/server', 'shop', (Clothingstock / 6) mod 2
+			gt 'shop_gm', 'gm_server'
+		end
+		act 'View school uniforms': 
+			minut += 5
+			shop_display_exceptions[0] = 6
+			gs 'shop_utils', 'display_init_single', 'clothing', 'gm_school', 3, 'gm/school', 'shop', (Clothingstock / 8) mod 3
+			gt 'shop_gm', 'school'
+		end
+	end
+	act 'View shoes': 
+		minut += 5
+		gs 'shop_utils', 'display_init_single', 'shoe', 'gm', 1, 'gm/shoes', 'shop'
+		gt 'shop_gm', 'shoes'
+	end
+	act 'View coats': 
+		minut += 5
+		gs 'shop_utils', 'display_init_single', 'coats', 'gm', 1, 'gm/coats', 'shop'
+		gt 'shop_gm', 'coats'
+	end
+	act 'View purses': 
+		minut += 5
+		gs 'shop_utils', 'display_init_single', 'purses', 'gm', 1, 'gm/purses', 'shop'
+		gt 'shop_gm', 'purses'
+	end
+	act 'View panties': 
+		minut += 5
+		shop_display_exceptions[0] = 7
+		shop_display_exceptions[1] = 9
+		shop_display_exceptions[2] = 21
+		shop_display_exceptions[3] = 37
+		gs 'shop_utils', 'display_init_single', 'panties', 'gm', 1, 'gm/panties', 'shop'
+		gt 'shop_gm', 'panties'
+	end
+	act 'View bras': 
+		minut += 5
+		shop_display_exceptions[0] = 11
+		shop_display_exceptions[1] = 16
+		shop_display_exceptions[2] = 18
+		gs 'shop_utils', 'display_init_single', 'bras', 'gm', 1, 'gm/bras', 'shop'
+		gt 'shop_gm', 'bras'
 	end
-	act 'View shoes': minut += 5 & gt 'shop_gm', 'shoes'
-	act 'View coats': minut += 5 & gt 'shop_gm', 'coats'
-	act 'View purses': minut += 5 & gt 'shop_gm', 'purses'
-	act 'View panties': minut += 5 & gt 'shop_gm', 'panties'
-	act 'View bras': minut += 5 & gt 'shop_gm', 'bras'
 end
 
 if $ARGS[0] = 'clothes':
@@ -50,7 +102,7 @@ if $ARGS[0] = 'clothes':
 	'<center><b><font color="maroon">Viewing G&M outfits</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_clothes', 'gm_outfits', 3, 'gm/outfits', 'shop', Clothingstock mod 3
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -63,7 +115,7 @@ if $ARGS[0] = 'dresses':
 	'<center><b><font color="maroon">Viewing G&M dresses</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_clothes', 'gm_dress', 4, 'gm/dress', 'shop', (Clothingstock / 3) mod 4
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -76,7 +128,7 @@ if $ARGS[0] = 'office':
 	'<center><b><font color="maroon">Viewing G&M office clothing</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_clothes', 'gm_office', 1, 'gm/office', 'shop'
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -89,7 +141,7 @@ if $ARGS[0] = 'gm_maid':
 	'<center><b><font color="maroon">Viewing G&M maid outfits</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_clothes', 'gm_maid', 2, 'gm/maid', 'shop', (Clothingstock / 12) mod 2
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -102,7 +154,7 @@ if $ARGS[0] = 'gm_server':
 	'<center><b><font color="maroon">Viewing G&M server uniforms</font></b></center>'
 	*nl
 	
-	gs 'shop_utils', 'display_clothes', 'gm_server', 2, 'gm/server', 'shop', (Clothingstock / 6) mod 2
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -115,8 +167,7 @@ if $ARGS[0] = 'school':
 	'<center><b><font color="maroon">Viewing G&M school uniforms</font></b></center>'
 	*nl
 
-	shop_display_exceptions[0] = 6
-	gs 'shop_utils', 'display_clothes', 'gm_school', 3, 'gm/school', 'shop', (Clothingstock / 8) mod 3
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & killvar 'shop_display_exceptions' & gt 'shop_gm', 'start'
 end
@@ -129,7 +180,7 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_shoes', 'gm', 1, 'gm/shoes', 'shop'
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -139,7 +190,7 @@ if $ARGS[0] = 'coats':
 	menu_off = 0
 	gs 'stat'
 
-	gs 'shop_utils', 'display_coats', 'gm', 1, 'gm/coats', 'shop'
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -149,7 +200,7 @@ if $ARGS[0] = 'purses':
 	menu_off = 0
 	gs 'stat'
 
-	gs 'shop_utils', 'display_purses', 'gm', 1, 'gm/purses', 'shop'
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & gt 'shop_gm', 'start'
 end
@@ -161,11 +212,7 @@ if $ARGS[0] = 'panties':
 
 	'<center><b><font color="maroon">Viewing G&M panties</font></b></center>'
 
-	shop_display_exceptions[0] = 7
-	shop_display_exceptions[1] = 9
-	shop_display_exceptions[2] = 21
-	shop_display_exceptions[3] = 37
-	gs 'shop_utils', 'display_panties', 'gm', 1, 'gm/panties', 'shop'
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & killvar 'shop_display_exceptions' & gt 'shop_gm', 'start'
 end
@@ -178,10 +225,8 @@ if $ARGS[0] = 'bras':
 	'<center><b><font color="maroon">Viewing G&M bras</font></b></center>'
 	*nl
 
-	shop_display_exceptions[0] = 11
-	shop_display_exceptions[1] = 16
-	shop_display_exceptions[2] = 18
-	gs 'shop_utils', 'display_bras', 'gm', 1, 'gm/bras', 'shop'
+	
+	gs 'shop_utils', 'display_items_single'
 
 	act 'Return': minut += 1 & killvar 'shop_display_exceptions' & gt 'shop_gm', 'start'
 end

+ 259 - 3
locations/shop_utils.qsrc

@@ -1,5 +1,261 @@
 # shop_utils
 
+
+! requires 'display_init_single' to be called at least once before this function
+if $ARGS[0] = 'display_items_single':
+	gs $shop_display['filter_file'], 'shop_filter_header'
+
+	shop_display['clo_i'] = 0
+	:filter_loop
+		shop_display['i'] = 1 + shop_display['offset']
+		:main_loop
+		if shop_display['i'] <= total:
+			if arrpos('shop_display_exception', shop_display['i']) < 0:
+				if dyneval('result = <<$shop_display[''variable'']>>[shop_display[''i'']]') ! $shop_display['comparison_val']:
+					gs $shop_display['attrib_file'], $shop_display['attrib_arg'], shop_display['i'], 1
+					gs $shop_display['filter_file'], 'shop_filter'
+
+					if (clothingfilter['quality'] = 0 and shop_display['quality'] = shop_display['clo_i']) or (clothingfilter['inhibition'] = 0 and shop_display['inhibit'] = shop_display['clo_i']) or clothingfilter['number'] = 0:
+						if (clothingfilter['inc'] = 1 and clothingfilter['only'] = 1) or shop_display['no_filter'] = 1:
+							*p '<a href="exec: gt ''<<$shop_display[''item_file'']>>'', ''<<$shop_display[''item_func'']>>'', ''<<$shop_display[''link'']>>'', ''<<$shop_display[''item_arg'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_mod'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+						end
+					end
+				end
+			end
+			shop_display['i'] += shop_display['step']
+			jump 'main_loop'
+		end
+		shop_display['clo_i'] += 1
+	if clothingfilter['quality'] = 0 and shop_display['quality'] ! -1 and shop_display['clo_i'] <= 7 or clothingfilter['inhibition'] = 0 and shop_display['inhibit'] ! -1 and shop_display['clo_i'] <= 50:
+		jump 'filter_loop'
+	end
+end
+
+if $ARGS[0] = 'display_items_multiple':
+	shop_display['type_i'] = 0
+	:type_loop
+	if shop_display['type_i'] < shop_display['type_max']:
+		if instr($shop_display_types[shop_display['type_i']], '_') = 0:
+			$shop_display['variable'] = '<<$shop_display_types[shop_display[''type_i'']]>>_<<$ARGS[1]>>'
+			$shop_display['type'] = $shop_display_types[shop_display['type_i']
+		else
+			$shop_display['variable'] = $shop_display_types[shop_display['type_i']
+			$shop_display['type'] = $shop_display_types[shop_display['type_i']
+		end
+
+		gs $shop_display['filter_file'], 'shop_filter_header'
+		gs $shop_display['item_file'], 'totals', $shop_display['variable']
+
+		shop_display['clo_i'] = 0
+		:filter_loop
+			shop_display['i'] = 1 + shop_display['offset']
+			:main_loop
+			if shop_display['i'] <= total:
+				if arrpos('shop_display_exception', shop_display['i']) < 0:
+					if dyneval('result = <<$shop_display[''variable'']>>[shop_display[''i'']]') ! $shop_display['comparison_val']:
+						gs $shop_display['attrib_file'], $shop_display['type'], shop_display['i'], 1
+						gs $shop_display['filter_file'], 'shop_filter'
+
+						if (clothingfilter['quality'] = 0 and shop_display['quality'] = shop_display['clo_i']) or (clothingfilter['inhibition'] = 0 and shop_display['inhibit'] = shop_display['clo_i']) or clothingfilter['number'] = 0:
+							if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
+								*p '<a href="exec: gt ''<<$shop_display[''item_file'']>>'', ''<<$shop_display[''item_func'']>>'', ''<<$shop_display[''link'']>>'', ''<<$shop_display[''type'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_mod'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+							end
+						end
+					end
+				end
+				shop_display['i'] += shop_display['step']
+				jump 'main_loop'
+			end
+			shop_display['clo_i'] += 1
+		if clothingfilter['quality'] = 0 and shop_display['clo_i'] <= 7 or clothingfilter['inhibition'] = 0 and shop_display['clo_i'] <= 50:
+			jump 'filter_loop'
+		end
+
+		shop_display['type_i'] += 1
+		jump 'type_loop'
+	end
+end
+
+! [1] - slot - {clothing, shoe, bras, panties, bodysuits, coats, purses}
+! [2] - type - {*shop*_*type* or *shop*}
+! [3] - loop step
+! [4] - img path
+! [5] - link type - {shop, wardrode, cheat}
+! [6] - loop index start offset {OPTIONAL, defaults to 0}
+! [7] - price modifier {OPTIONAL, defaults to 0}
+! Populate the 'shop_display_exceptions[]' array with the index of the outfits you want excluded from the display.
+if $ARGS[0] = 'display_init_single':
+	killvar 'shop_display'
+	killvar 'clothingfilter'
+
+	shop_display['i'] = 0
+	shop_display['clo_i'] = 0
+
+	if $mid($ARGS[4], 1, 2) = 'pc':
+		$shop_display['item_img_path'] = 'images/' + $ARGS[4]
+	elseif $mid($ARGS[4], 1, 5) = 'items':
+		$shop_display['item_img_path'] = 'images/pc/' + $ARGS[4]
+	elseif $mid($ARGS[4], 1, 6) ! 'images':
+		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[4]
+	end
+
+	shop_display['price_mod'] = ARGS[7]
+	shop_display['offset'] = ARGS[6]
+	shop_display['step'] = ARGS[3]
+
+	if $ARGS[5] = 'shop':
+		$shop_display['comparison_val'] = 1
+	elseif $ARGS[5] = 'wardrobe':
+		$shop_display['comparison_val'] = 0
+	elseif $ARGS[5] = 'cheat':
+		$shop_display['comparison_val'] = -1
+	end
+	$shop_display['link'] = $ARGS[5]
+
+	if $ARGS[1] = 'clothing':
+		$shop_display['item_file'] = 'clothing'
+		$shop_display['filter_file'] = 'clothing_QV'
+		$shop_display['attrib_file'] = 'clothing_attributes'
+		$shop_display['attrib_arg'] = $ARGS[2] 
+		$shop_display['item_func'] = 'view_clothing_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = $ARGS[2]
+	elseif $ARGS[1] = 'bras':
+		$shop_display['item_file'] = 'bras'
+		$shop_display['filter_file'] = 'bras'
+		$shop_display['attrib_file'] = 'underwear_attributes'
+		$shop_display['attrib_arg'] = '<<$ARGS[2]>>_<<$ARGS[1]>>' 
+		$shop_display['item_func'] = 'view_bra_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = '<<$ARGS[2]>>_<<$ARGS[1]>>' 
+	elseif $ARGS[1] = 'panties':
+		$shop_display['item_file'] = 'panties'
+		$shop_display['filter_file'] = 'panties'
+		$shop_display['attrib_file'] = 'underwear_attributes'
+		$shop_display['attrib_arg'] = '<<$ARGS[2]>>_<<$ARGS[1]>>' 
+		$shop_display['item_func'] = 'view_panty_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = '<<$ARGS[2]>>_<<$ARGS[1]>>' 
+	elseif $ARGS[1] = 'bodysuits':
+		$shop_display['item_file'] = 'underwear_bodysuits'
+		$shop_display['filter_file'] = 'underwear_bodysuits'
+		$shop_display['attrib_file'] = 'underwear_attributes'
+		$shop_display['attrib_arg'] = '<<$ARGS[2]>>_<<$ARGS[1]>>' 
+		$shop_display['item_func'] = 'view_bodysuit_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = '<<$ARGS[2]>>_<<$ARGS[1]>>' 
+	elseif $ARGS[1] = 'shoe':
+		$shop_display['item_file'] = 'shoes'
+		$shop_display['filter_file'] = 'shoes'
+		$shop_display['attrib_file'] = 'shoe_attributes'
+		$shop_display['attrib_arg'] = $ARGS[2] 
+		$shop_display['item_func'] = 'view_shoe_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = '<<$ARGS[2]>>_<<$ARGS[1]>>'
+	elseif $ARGS[1] = 'coats':
+		$shop_display['item_file'] = 'coats'
+		$shop_display['filter_file'] = 'coats'
+		$shop_display['attrib_file'] = 'coat_attributes'
+		$shop_display['attrib_arg'] = $ARGS[2]
+		$shop_display['item_func'] = 'view_coat_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = '<<$ARGS[2]>>_<<$ARGS[1]>>'
+	elseif $ARGS[1] = 'purses':
+		$shop_display['item_file'] = 'purses'
+		$shop_display['filter_file'] = 'purses'
+		$shop_display['attrib_file'] = 'purse_attributes'
+		$shop_display['attrib_arg'] = $ARGS[2]
+		$shop_display['item_func'] = 'view_purse_item'
+		$shop_display['item_arg'] = $ARGS[2]
+		$shop_display['variable'] = '<<$ARGS[2]>>_<<$ARGS[1]>>'
+	end
+
+	shop_display['init'] = 1
+
+	gs $shop_display['item_file'], 'totals', $shop_display['variable']
+end
+
+
+! [1] - slot - {clothing, shoe, bras, panties, bodysuits, coats, purses}
+! [2] - loop step
+! [3] - img path
+! [4] - link type - {shop, wardrode, cheat}
+! [5] - loop index start offset {OPTIONAL, defaults to 0}
+! [6] - price modifier {OPTIONAL, defaults to 0}
+! Populate the 'shop_display_exceptions[]' array with the index of the outfits you want excluded from the display.
+! Populate the '$shop_display_types[]' array with the *shop*_*type* or *shop* you want displayed
+if $ARGS[0] = 'display_init_multiple':
+	killvar 'shop_display'
+
+	shop_display['i'] = 0
+	shop_display['clo_i'] = 0
+	shop_display['type_i'] = 0
+
+	shop_display['type_max'] = arrsize($shop_display_types)
+
+	if $mid($ARGS[4], 1, 2) = 'pc':
+		$shop_display['item_img_path'] = 'images/' + $ARGS[3]
+	elseif $mid($ARGS[4], 1, 5) = 'items':
+		$shop_display['item_img_path'] = 'images/pc/' + $ARGS[3]
+	elseif $mid($ARGS[4], 1, 6) ! 'images':
+		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
+	end
+
+	shop_display['price_mod'] = ARGS[6]
+	shop_display['offset'] = ARGS[5]
+	shop_display['step'] = ARGS[2]
+
+	if $ARGS[4] = 'shop':
+		$shop_display['comparison_val'] = 1
+	elseif $ARGS[4] = 'wardrobe':
+		$shop_display['comparison_val'] = 0
+	elseif $ARGS[4] = 'cheat':
+		$shop_display['comparison_val'] = -1
+	end
+	$shop_display['link'] = $ARGS[4]
+
+	if $ARGS[1] = 'clothing':
+		$shop_display['item_file'] = 'clothing'
+		$shop_display['filter_file'] = 'clothing_QV'
+		$shop_display['attrib_file'] = 'clothing_attributes'
+		$shop_display['item_func'] = 'view_clothing_item'
+	elseif $ARGS[1] = 'bras':
+		$shop_display['item_file'] = 'bras'
+		$shop_display['filter_file'] = 'bras'
+		$shop_display['attrib_file'] = 'underwear_attributes'
+		$shop_display['item_func'] = 'view_bra_item'
+	elseif $ARGS[1] = 'panties':
+		$shop_display['item_file'] = 'panties'
+		$shop_display['filter_file'] = 'panties'
+		$shop_display['attrib_file'] = 'underwear_attributes'
+		$shop_display['item_func'] = 'view_panty_item'
+	elseif $ARGS[1] = 'bodysuits':
+		$shop_display['item_file'] = 'underwear_bodysuits'
+		$shop_display['filter_file'] = 'underwear_bodysuits'
+		$shop_display['attrib_file'] = 'underwear_attributes'
+		$shop_display['item_func'] = 'view_bodysuit_item'
+	elseif $ARGS[1] = 'shoe':
+		$shop_display['item_file'] = 'shoes'
+		$shop_display['filter_file'] = 'shoes'
+		$shop_display['attrib_file'] = 'shoe_attributes'
+		$shop_display['item_func'] = 'view_shoe_item'
+	elseif $ARGS[1] = 'coats':
+		$shop_display['item_file'] = 'coats'
+		$shop_display['filter_file'] = 'coats'
+		$shop_display['attrib_file'] = 'coat_attributes'
+		$shop_display['item_func'] = 'view_coat_item'
+	elseif $ARGS[1] = 'purses':
+		$shop_display['item_file'] = 'purses'
+		$shop_display['filter_file'] = 'purses'
+		$shop_display['attrib_file'] = 'purse_attributes'
+		$shop_display['item_func'] = 'view_purse_item'
+	end
+
+	shop_display['init'] = 1
+end
+
+
+
 if $ARGS[0] = 'shop':
 	if $ARGS[1] = 'clothing':
 		if dyneval('result = <<$shop_display[''variable'']>>[shop_display[''i'']]') = 0:
@@ -18,8 +274,8 @@ if $ARGS[0] = 'shop':
 			gs 'shoe_attributes', $shop_display['variable'], shop_display['i']
 			gs 'shoes', 'shoe_filter'
 
-			if (Shofilter['quality'] = 0 and ShoQuality = shop_display['clo_i']) or Shofilter['number'] = 0:
-				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
+			if (clothingfilter['quality'] = 0 and ShoQuality = shop_display['clo_i']) or clothingfilter['number'] = 0:
+				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
 					$result = '<a href="exec: gt ''shoes'', ''view_shoe_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 				end
 			end
@@ -179,7 +435,7 @@ if $ARGS[0] = 'display_shoes':
 			jump 'shoes_main_loop'
 		end
 		shop_display['clo_i'] += 1
-	if Shofilter['quality'] = 0 and shop_display['clo_i'] <= 7:
+	if clothingfilter['quality'] = 0 and shop_display['clo_i'] <= 7:
 		jump 'shoes_filter_loop'
 	end
 	

+ 6 - 0
locations/tattoo_attributes.qsrc

@@ -4,4 +4,10 @@ TatPrice = 0
 
 gs '$attributes_tattoo_<<$ARGS[0]>>', ARGS[1]
 
+if ARGS[2] = 1:
+	shop_display['quality'] = -1
+	shop_display['inhibit'] = -1
+	shop_display['no_filter'] = 1
+end
+
 --- tattoo_attributes ---------------------------------

+ 6 - 0
locations/underwear_attributes.qsrc

@@ -97,5 +97,11 @@ underwear['pair'] = 0
 
 if ARGS[1] ! 0: gs '$attributes_<<$ARGS[0]>>', ARGS[1] 
 
+if ARGS[2] = 1:
+	shop_display['quality'] = max(BraQuality, PanQuality)
+	shop_display['inhibit'] = -1
+	shop_display['no_filter'] = 1
+end
+
 --- underwear_attributes ---------------------------------