Browse Source

fix `swimwear`

Stephan Fuchs 3 months ago
parent
commit
26a0c21108
35 changed files with 541 additions and 500 deletions
  1. 4 2
      outfits_convert.py
  2. 3 3
      sugarcube/src/autogenerated/Block/pav_complexb2.tw
  3. 3 3
      sugarcube/src/autogenerated/Block/pav_complexb3.tw
  4. 1 1
      sugarcube/src/autogenerated/City Center/fit.tw
  5. 4 5
      sugarcube/src/autogenerated/Clothing/changingroom.tw
  6. 2 2
      sugarcube/src/autogenerated/EfimovRA/Nudelake.tw
  7. 3 3
      sugarcube/src/autogenerated/Etogame/etoexhib.tw
  8. 8 8
      sugarcube/src/autogenerated/Gadyukino Characters/hunters.tw
  9. 1 1
      sugarcube/src/autogenerated/Gadyukino Characters/huntersex.tw
  10. 3 3
      sugarcube/src/autogenerated/Gadyukino Characters/miroslava.tw
  11. 9 9
      sugarcube/src/autogenerated/Gadyukino Characters/mitkasex.tw
  12. 1 1
      sugarcube/src/autogenerated/Gadyukino/grandpahelp.tw
  13. 6 6
      sugarcube/src/autogenerated/Viky Meynold/mey_home.tw
  14. 11 1
      sugarcube/src/interfaces.d.ts
  15. 4 4
      sugarcube/src/locations/city/city_apt_building.tw
  16. 2 2
      sugarcube/src/locations/city/city_lake.tw
  17. 3 3
      sugarcube/src/locations/gadukino/gadforest.tw
  18. 5 5
      sugarcube/src/locations/gadukino/gadriver.tw
  19. 3 3
      sugarcube/src/locations/pavlov/lake/pav_lake.tw
  20. 9 9
      sugarcube/src/locations/pavlov/lake/pav_lake_nude.tw
  21. 3 3
      sugarcube/src/locations/pavlov/residential/pod_ezd.tw
  22. 6 6
      sugarcube/src/npcs/katja/katja_lake.tw
  23. 100 100
      sugarcube/src/outfits/compiled/_attributes_allure_swim_onecompiled.ts
  24. 112 112
      sugarcube/src/outfits/compiled/_attributes_allure_swim_twocompiled.ts
  25. 30 30
      sugarcube/src/outfits/compiled/_attributes_danilovich_swim_onecompiled.ts
  26. 30 30
      sugarcube/src/outfits/compiled/_attributes_nerdvana_swim_onecompiled.ts
  27. 30 30
      sugarcube/src/outfits/compiled/_attributes_nerdvana_swim_twocompiled.ts
  28. 40 40
      sugarcube/src/outfits/compiled/_attributes_scandalicious_swim_onecompiled.ts
  29. 70 70
      sugarcube/src/outfits/compiled/_attributes_scandalicious_swim_twocompiled.ts
  30. 1 1
      sugarcube/src/playerCharacter/PlayerCharacter.ts
  31. 2 2
      sugarcube/src/sidebar/Sidebar.tw
  32. 5 0
      sugarcube/src/start/StartingCharacters.ts
  33. 20 0
      sugarcube/src/wardrobe/OutfitItem.ts
  34. 1 0
      sugarcube/src/wardrobe/vendors.js
  35. 6 2
      sugarcube/src/wardrobe/wardrobe.ts

+ 4 - 2
outfits_convert.py

@@ -46,7 +46,9 @@ varTranslates = {
     "PanQuality": 'quality',
     "PanThinness": 'thinness',
     'PanCoverBack':'coverBack',
-    'PanCoverFront':'coverFront'
+    'PanCoverFront':'coverFront',
+
+    'CloExhibit':'//CloExhibit'
 }
 
 def file_convert(filename):
@@ -135,7 +137,7 @@ def file_convert(filename):
                     itemtype = 'coat'
                     id = id.replace('coats','coat')
                 elif itemtype == 'swim':
-                    itemtype = 'clothes'
+                    itemtype = 'swimwear'
                     if idParts[2] == 'one':
                         subtype = 'swimsuit'
                     else:

+ 3 - 3
sugarcube/src/autogenerated/Block/pav_complexb2.tw

@@ -159,7 +159,7 @@
 	<</if>>
 	<center>The roof is fairly flat, with the roof access door in a raised part in the middle of the roof. Along one of the walls is another door to some type of storage or maintenances access. There is several ventilation stacks on the roof as well.</center>
 	<<actCLA 'Go down to the fifth floor'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'pav_complexb2' 'roof'>>
 		<<else>>
@@ -167,7 +167,7 @@
 			<<gt 'pav_complexb2' 'etaj_5'>>
 		<</if>>
 	<</actCLA>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Change back into your clothes'>>
 			<<set $time.minutes += 5>>
 			<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -177,7 +177,7 @@
 		<</actCLA>>
 	<</if>>
 	<<if $weather.temperature >= 15 and $time.hour >= 8 and $time.hour <= 20>>
-		<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 			<<act 'Change into a bikini'>>
 				<<gt 'changingroom' 'view_swim_list'>>
 			<</act>>

+ 3 - 3
sugarcube/src/autogenerated/Block/pav_complexb3.tw

@@ -156,7 +156,7 @@
 	<</if>>
 	<center>The roof is fairly flat, with the roof access door in a raised part in the middle of the roof. Along one of the walls is another door to some type of storage or maintenances access. There is several ventilation stacks on the roof as well.</center>
 	<<actCLA 'Go down to the fifth floor'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'pav_complexb3' 'roof'>>
 		<<else>>
@@ -164,7 +164,7 @@
 			<<gt 'pav_complexb3' 'etaj_5'>>
 		<</if>>
 	<</actCLA>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Change back into your clothes'>>
 			<<set $time.minutes += 5>>
 			<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -174,7 +174,7 @@
 		<</actCLA>>
 	<</if>>
 	<<if $weather.temperature >= 15 and $time.hour >= 8 and $time.hour <= 20>>
-		<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 			<<act 'Change into a bikini'>>
 				<<gt 'changingroom' 'view_swim_list'>>
 			<</act>>

+ 1 - 1
sugarcube/src/autogenerated/City Center/fit.tw

@@ -83,7 +83,7 @@
 		In the locker room you notice <<link "a cute girl">><<gt 'fit' 'fitgirl'>><</link>>.
 	<</if>>
 	<<actCLA 'Exit the locker room'>>
-		<<if $wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear>>
 			<<if getvar("$Fit['FMR']") == 0 and $pc.visualAge <= 40 and $pc.hotcat >= 6 and $pc.fame('city_sport') >= 10>>
 				<<gt 'fit' 'FMR'>>
 			<<else>>

+ 4 - 5
sugarcube/src/autogenerated/Clothing/changingroom.tw

@@ -3,7 +3,7 @@
 	<<gt $location>>
 <</actCLA>>
 
-<<if $wardrobe.PCloswimwear>>
+<<if $wardrobe.clothes.type == 'swimwear'>>
 	<<image `$wardrobe.clothes.image`>>
 	<p>You are wearing swimwear.</p>
 	<p>
@@ -16,8 +16,7 @@
 		<</actCLA>>
 	</p>
 <<else>>
-	<<itemsOverview 'clothes' -1 'swimsuit' undefined `{replaceMode:true,lastWornSet:'swim',returnPassage:'changingroom_wear_swimsuit'}`>>
-	<<itemsOverview 'clothes' -1 'bikini' undefined `{replaceMode:true,lastWornSet:'swim',returnPassage:'changingroom_wear_swimsuit'}`>>
+	<<itemsOverview 'swimwear' -1 undefined undefined `{replaceMode:true,lastWornSet:'swim',returnPassage:'changingroom_wear_swimsuit'}`>>
 <</if>>
 
 :: changingroom_wear_swimsuit
@@ -36,7 +35,7 @@
 	<<if ARRSIZE('danilovich_swimsuit') == 0 and ARRSIZE('scandalicious_swimsuit') == 0 and ARRSIZE('scandalicious_bikinis') == 0 and ARRSIZE('allure_swimsuit') == 0 and ARRSIZE('allure_bikinis') == 0 and ARRSIZE('nerdvana_swimsuit') == 0 and ARRSIZE('nerdvana_bikinis') == 0>>
 		<center>You do not own any swimwear.</center>
 	<<elseif $loc == 'fit' or $loc == 'bass' or $loc_arg == 'kathansaunasw1' or $loc_arg == 'kathansaunasw2' or $weather.temperature >= 15>>
-		<<if $wardrobe.PCloswimwear == 0 and $wardrobe.clothingworntype != 'nude'>>
+		<<if !$wardrobe.isWearingSwimwear and $wardrobe.clothingworntype != 'nude'>>
 			<<setinit $lastwornclothingtype['swim'] = $wardrobe.clothingworntype>>
 			<<setinit $lastwornclothingnumber['swim'] = $wardrobe.clothingwornnumber>>
 			<<setinit $lastwornpantytype['swim'] = $wardrobe.pantyworntype>>
@@ -204,5 +203,5 @@
 <!-- !! use setup.func('changingroom','count_swim_item') or setup.func('changingroom','count_swim_item','swim') or setup.func('changingroom','count_swim_item','beach')-->
 <<if $location_var[$here][0] == 'count_swim_item'>>
 	<<warn 'count_swim_item is deprecated, use $wardrobe.ownsSwimmingItem instead'>>
-	<<set $result = $wardrobe.getList({subtype:'swimsuit'}).length + $wardrobe.getList({subtype:'bikini'}).length>>
+	<<set $result = $wardrobe.itemsFiltered({subtype:'swimsuit'}).length + $wardrobe.itemsFiltered({subtype:'bikini'}).length>>
 <</if>>

+ 2 - 2
sugarcube/src/autogenerated/EfimovRA/Nudelake.tw

@@ -12,7 +12,7 @@
 <center><b>nudist beach</b></center>
 <<image "locations/city/residential/lake/nudelake.jpg">>
 The nudist beach, where clothing is optional.
-<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 	<<actCLA 'Get dressed'>>
 		 		<<set $time.minutes += 5>>
 		<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -26,7 +26,7 @@ The nudist beach, where clothing is optional.
 	<</actCLA>>
 <</if>>
 <<if $weather.temperature >= 15 and $time.month >= 5 and $time.month <= 9>>
-	<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+	<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 		<<actCLA 'Change into your swimwear'>>
 			<<set $menu_off = 1>>
 			 			<<set $time.minutes += 5>>

+ 3 - 3
sugarcube/src/autogenerated/Etogame/etoexhib.tw

@@ -1541,7 +1541,7 @@
 	<<image "locations/city/residential/apartment/roof.jpg">>
 	The roof of your apartment building.
 	<<actCLA 'Go down to the attic'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'etoexhib' 'pos53'>>
 		<<else>>
@@ -1555,7 +1555,7 @@
 <</actCLA>>
 
 	<</if>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Change back into clothes'>>
 			<<set $time.minutes += 5>>
 			<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -1565,7 +1565,7 @@
 		<</actCLA>>
 	<</if>>
 	<<if $weather.temperature >= 15 and $time.hour >= 8 and $time.hour <= 20>>
-		<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 			<<act 'Change into a bikini'>>
 				<<gt 'changingroom' 'view_swim_list'>>
 			<</act>>

+ 8 - 8
sugarcube/src/autogenerated/Gadyukino Characters/hunters.tw

@@ -571,7 +571,7 @@
 					<<cum 'stomach' $sex.npcId 1>>
 
 				<</if>>
-				<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+				<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 					<<cum 'clothes_hidden' $sex.npcId 1>>
 
 				<</if>>
@@ -581,7 +581,7 @@
 					<<cum 'stomach' $sex.npcId 1>>
 
 				<</if>>
-				<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+				<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 					<<cum 'clothes_hidden' $sex.npcId 1>>
 
 				<</if>>
@@ -591,7 +591,7 @@
 					<<cum 'stomach' $sex.npcId 1>>
 
 				<</if>>
-				<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+				<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 					<<cum 'clothes_hidden' $sex.npcId 1>>
 
 				<</if>>
@@ -3226,7 +3226,7 @@
 	<<set $time.minutes += 5>>
 	<<set $pose = 1>>
 	<<cum 'face' $sex.npcId 1>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1>>
 
 	<</if>>
@@ -3250,7 +3250,7 @@
 	<<set $time.minutes += 5>>
 	<<set $pose = 1>>
 	<<cum 'face' $sex.npcId 1>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1>>
 	<<else>>
 		<<cum 'stomach' $sex.npcId 1>>
@@ -3704,7 +3704,7 @@
 		<<cum 'stomach' $sex.npcId 1>>
 
 	<</if>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1>>
 
 	<</if>>
@@ -3746,7 +3746,7 @@
 		<<cum 'stomach' $sex.npcId 1>>
 
 	<</if>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1>>
 
 	<</if>>
@@ -3785,7 +3785,7 @@
 		<<cum 'stomach' $sex.npcId 1>>
 
 	<</if>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1>>
 
 	<</if>>

+ 1 - 1
sugarcube/src/autogenerated/Gadyukino Characters/huntersex.tw

@@ -1583,7 +1583,7 @@
 		<<cum 'stomach' $sex.npcId 1>>
 
 	<</if>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1>>
 
 	<</if>>

+ 3 - 3
sugarcube/src/autogenerated/Gadyukino Characters/miroslava.tw

@@ -569,7 +569,7 @@
 					<<gs 'miroslava' 'miraclothes'>>
 					You are tired of hanging around on the street, and you decide to invite Mira to dinner.
 					<<actCLA 'Go home'>>
-						<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+						<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 							<<set $time.minutes += 15>> <<gt 'gadhouse' 'start'>>
 						<<else>>
 							<<set $time.minutes += 5>>
@@ -651,7 +651,7 @@
 				<</if>>
 				<p>"$pc.name_nick, it's so boring here," Mira pouts, "I know! Let's go to your place." Mira suggests brightly.</p>
 				<<actCLA 'Agree'>>
-					<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+					<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 						<<set $mira_go_blok = 1>>
 						<<set $mira_guest = 1>>
 						<<set $time.minutes += 15>>
@@ -1215,7 +1215,7 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'mira_river'>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<image "characters/gadukino/mira/mirarivertalk.jpg">>
 
 	<</if>>

+ 9 - 9
sugarcube/src/autogenerated/Gadyukino Characters/mitkasex.tw

@@ -3947,7 +3947,7 @@
 	<!-- Boy A63 -->
 	<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 	<<cum 'face' $sex.npcId 1 '' '' 666>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 	<<else>>
 		<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -3956,7 +3956,7 @@
 	<!-- Boy A61 -->
 	<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 	<<cum 'face' $sex.npcId 1 '' '' 666>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 	<<else>>
 		<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -3965,7 +3965,7 @@
 	<!-- Boy A62 -->
 	<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 	<<cum 'face' $sex.npcId 1 '' '' 666>>
-	<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+	<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 		<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 	<<else>>
 		<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -3987,7 +3987,7 @@
 		<!-- Boy A63 -->
 		<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 		<<cum 'face' $sex.npcId 1 '' '' 666>>
-		<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+		<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 			<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 		<<else>>
 			<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -3996,7 +3996,7 @@
 		<!-- Boy A61 -->
 		<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 		<<cum 'face' $sex.npcId 1 '' '' 666>>
-		<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+		<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 			<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 		<<else>>
 			<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -4006,7 +4006,7 @@
 		<!-- Boy A62 -->
 		<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 		<<cum 'face' $sex.npcId 1 '' '' 666>>
-		<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+		<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 			<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 		<<else>>
 			<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -4015,7 +4015,7 @@
 		<!-- Boy A63 -->
 		<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 		<<cum 'face' $sex.npcId 1 '' '' 666>>
-		<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+		<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 			<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 		<<else>>
 			<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -4025,7 +4025,7 @@
 		<!-- Boy A61 -->
 		<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 		<<cum 'face' $sex.npcId 1 '' '' 666>>
-		<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+		<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 			<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 		<<else>>
 			<<cum 'stomach' $sex.npcId 1 '' '' 666>>
@@ -4034,7 +4034,7 @@
 		<!-- Boy A62 -->
 		<<cum 'mouth_swallow' $sex.npcId 1 '' '' 666>>
 		<<cum 'face' $sex.npcId 1 '' '' 666>>
-		<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0)>>
+		<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear)>>
 			<<cum 'clothes_hidden' $sex.npcId 1 '' '' 666>>
 		<<else>>
 			<<cum 'stomach' $sex.npcId 1 '' '' 666>>

+ 1 - 1
sugarcube/src/autogenerated/Gadyukino/grandpahelp.tw

@@ -83,7 +83,7 @@ You walk up to your grandfather and ask if he needs any help. Grandpa thinks for
 		<<gt 'grandpahelp' 'leadcows'>>
 	<<elseif getvar("$grandpaQW['chore_type']") == 8 and $time.hour >= 6 and $time.hour < 9>>
 		<<gt 'grandpahelp' 'grazecows'>>
-	<<elseif getvar("$grandpaQW['chore_type']") == 9 and $weather.temperature >= 15 and !$weather.isRaining and $time.weekday > 5 and setup.func('changingroom','count_swim_item') > 0>>
+	<<elseif getvar("$grandpaQW['chore_type']") == 9 and $weather.temperature >= 15 and !$weather.isRaining and $time.weekday > 5 and $wardrobe.ownsSwimmingItem>>
 		<<gt 'grandpahelp' 'washhorse'>>
 	<<elseif getvar("$grandpaQW['chore_type']") == 10 and getvar("$boletus_stored") <= 18>>
 		<<gt 'grandpahelp' 'pickforest_mushrooms'>>

+ 6 - 6
sugarcube/src/autogenerated/Viky Meynold/mey_home.tw

@@ -390,7 +390,7 @@
 		<<link "Aunt Tamara">><<gs 'mey_tamara_events' 'tamara'>><</link>> is here talking on her phone.
 	<</if>>
 	<<actCLA 'Return to hallway'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'mey_home' 'garden'>>
 		<<else>>
@@ -399,7 +399,7 @@
 		<</if>>
 	<</actCLA>>
 	<<actCLA 'Return to lounge'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'mey_home' 'garden'>>
 		<<else>>
@@ -407,7 +407,7 @@
 			<<gt 'mey_home' 'lounge'>>
 		<</if>>
 	<</actCLA>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Change back into your clothes'>>
 			<<set $time.minutes += 5>>
 			<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -417,7 +417,7 @@
 		<</actCLA>>
 	<</if>>
 	<<if $weather.temperature >= 15 and $time.dayStage < 5 and !$weather.isRaining>>
-		<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 			<<act 'Change into a bikini'>>
 				<<gt 'changingroom' 'view_swim_list'>>
 			<</act>>
@@ -441,7 +441,7 @@
 				<</if>>
 				<<set $menu_off = 1>>
 				<<set $pc.mood += 5>>
-				<<if $wardrobe.PCloswimwear == 0 and $wardrobe.clothingworntype != 'nude'>>
+				<<if !$wardrobe.isWearingSwimwear and $wardrobe.clothingworntype != 'nude'>>
 					<<setinit $lastwornclothingtype['swim'] = $wardrobe.clothingworntype>>
 					<<setinit $lastwornclothingnumber['swim'] = $wardrobe.clothingwornnumber>>
 					<<setinit $lastwornpantytype['swim'] = $wardrobe.pantyworntype>>
@@ -491,7 +491,7 @@
 			<</actCLA>>
 		<</if>>
 	<</if>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Swim (1:00)'>>
 			<<set $menu_off = 1>>
 			<<set $pc.pcs_makeup = 1>>

+ 11 - 1
sugarcube/src/interfaces.d.ts

@@ -454,7 +454,7 @@ declare global {
 		openTimes?:TimespanIdentifier;
 	}
 
-	export type OutfitDefinition = OutfitDefinitionBodysuit | OutfitDefinitionBra | OutfitDefinitionClothes | OutfitDefinitionCoat | OutfitDefinitionPanties | OutfitDefinitionPurse | OutfitDefinitionShoes;
+	export type OutfitDefinition = OutfitDefinitionBodysuit | OutfitDefinitionBra | OutfitDefinitionClothes | OutfitDefinitionCoat | OutfitDefinitionPanties | OutfitDefinitionPurse | OutfitDefinitionShoes | OutfitDefinitionSwimwear;
 
 	export interface OutfitDefinitionRaw{
 		quality: number;
@@ -538,6 +538,16 @@ declare global {
 		heels?:number;
 	}
 
+	export interface OutfitDefinitionSwimwear extends OutfitDefinitionRaw{
+		type:'swimwear';
+		subtype?:string;
+		thinness:number;
+		topcut:number;
+		includesPanties:number;
+		isOnepiece:number;
+		inhib:number;
+	}
+
 	export type OutfitOwned = OutfitDefinition & OutfitOwnerShipData;
 
 	export interface OutfitOwnerShipData{

+ 4 - 4
sugarcube/src/locations/city/city_apt_building.tw

@@ -176,7 +176,7 @@
 	<</if>>
 	<center>The roof is fairly flat, with the roof access door in a raised part in the middle of the roof. Along one of the walls is another door to some type of storage or maintenance area. There are several ventilation stacks dotted around the roof.</center>
 	<<actCLA 'Go down to the fifth floor'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'city_apt_building' 'roof'>>
 		<<else>>
@@ -184,7 +184,7 @@
 			<<gt 'city_apt_building' 'floor_5'>>
 		<</if>>
 	<</actCLA>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Change back into your clothes'>>
 			<<set $time.minutes += 5>>
 			<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -194,7 +194,7 @@
 		<</actCLA>>
 	<</if>>
 	<<if $weather.temperature >= 15 and $time.dayStage < 5 and !$weather.isRaining>>
-		<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 			<<act 'Change into a bikini'>>
 				<<gt 'changingroom' 'view_swim_list'>>
 			<</act>>
@@ -209,7 +209,7 @@
 				<</if>>
 				<<set $menu_off = 1>>
 				<<set $pc.mood += 5>>
-				<<if $wardrobe.PCloswimwear == 0 and $wardrobe.clothingworntype != 'nude'>>
+				<<if !$wardrobe.isWearingSwimwear and $wardrobe.clothingworntype != 'nude'>>
 					<<setinit $lastwornclothingtype['swim'] = $wardrobe.clothingworntype>>
 					<<setinit $lastwornclothingnumber['swim'] = $wardrobe.clothingwornnumber>>
 					<<setinit $lastwornpantytype['swim'] = $wardrobe.pantyworntype>>

+ 2 - 2
sugarcube/src/locations/city/city_lake.tw

@@ -41,14 +41,14 @@
 			<p>Your $car is parked nearby. You should get dressed into your clothes if you want to drive away.</p>
 		<</if>>
 	<</if>>
-	<<if setup.func('changingroom','count_swim_item') > 0>>
+	<<if $wardrobe.ownsSwimmingItem>>
 		<<act 'Use changing room'>>
 			<<gt 'changingroom' 'view_swim_list'>>
 		<</act>>
 	<<else>>
 		You should buy some swimwear if you intend on spending time at the beach.
 	<</if>>
-	<<if $npc('A192').QW == 3 and $weather.temperature >= 15 and $wardrobe.PCloswimwear == 1 and $time.hour >= 6 and $time.hour <= 20>>
+	<<if $npc('A192').QW == 3 and $weather.temperature >= 15 and $wardrobe.isWearingSwimwear and $time.hour >= 6 and $time.hour <= 20>>
 		<<link "Anastasia">><<gt 'nastja' 'pos14'>><</link>> is waving her hand at you.
 
 	<</if>>

+ 3 - 3
sugarcube/src/locations/gadukino/gadforest.tw

@@ -775,15 +775,15 @@
 					<<gt 'gadforest_event' 'find_meadow'>>
 				<<else>>
 					<<if $time.month >= 4 and $time.month <= 10>>
-						<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0) and getvar("$CloSkirtShortness") == 0>>
+						<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear) and getvar("$CloSkirtShortness") == 0>>
 							<<image "locations/gadukino/forest/gulforest0.#.jpg" 1 2>>
 
 						<</if>>
-						<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0) and $wardrobe.isWearingPanties and getvar("$CloSkirtShortness") > 0>>
+						<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear) and $wardrobe.isWearingPanties and getvar("$CloSkirtShortness") > 0>>
 							<<image "locations/gadukino/forest/gulforest1.#.jpg" 1 3>>
 
 						<</if>>
-						<<if ($wardrobe.clothingworntype != 'nude' and $wardrobe.PCloswimwear == 0) and !$wardrobe.isWearingPanties and getvar("$CloSkirtShortness") > 0>>
+						<<if ($wardrobe.clothingworntype != 'nude' and !$wardrobe.isWearingSwimwear) and !$wardrobe.isWearingPanties and getvar("$CloSkirtShortness") > 0>>
 							<<image "locations/gadukino/forest/gulforest_tanga0.#.jpg" 1 2>>
 
 						<</if>>

+ 5 - 5
sugarcube/src/locations/gadukino/gadriver.tw

@@ -242,7 +242,7 @@
 			<<gt 'gadriver' 'start'>>
 		<</if>>
 	<</actCLA>>
-	<<if setup.func('changingroom','count_swim_item') > 0>>
+	<<if $wardrobe.ownsSwimmingItem>>
 		<<act 'Get changed'>>
 	<<gt 'changingroom' 'view_swim_list'>>
 <</act>>
@@ -281,7 +281,7 @@
 				<</act>>
 			<</actCLA>>
 		<</if>>
-		<<if $wardrobe.PCloswimwear == 1 and $pc.pcs_stam >= (5 * $CON_HELPER_0>>
+		<<if $wardrobe.isWearingSwimwear and $pc.pcs_stam >= (5 * $CON_HELPER_0>>
 			<<actCLA 'Go for a swim'>>
 				 				<<set $cumspclnt = 4>>
 				<<gs 'cum_cleanup'>>
@@ -422,7 +422,7 @@
 			<</if>>
 		<</if>>
 		<<if $time.hour >= 8 and $time.hour < 20 and !$weather.isRaining>>
-			<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+			<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 				<<actCLA 'Sunbathe (1:00)'>>
 					<<if getvar("$Mira_no") == 0 and $npc('A60').rel > 0 and getvar("$MiraLoc") != 1 and rand(1,10) > 7 and $time.hour > 8 and $time.hour < 20 and !$weather.isRaining and $weather.temperature >= 15>>
 						 						<<set $MiraLoc = 1>>
@@ -552,7 +552,7 @@
 			<<actCLA 'Look at Desperado'>>
 				<<image "locations/gadukino/river/horse_river.jpg">>
 				You see Desperado happily walking around in the river.
-				<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+				<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 					<<actCLA 'Wash Desperado'>>
 						<<set $cumspclnt = 4>>
 						<<gs 'cum_cleanup'>>
@@ -674,7 +674,7 @@
 					<<image "locations/gadukino/river/undressbch1.jpg">>
 					<p>"Wait, Mira, I have to change out of my clothes!" you cry in response, although she can hardly hear you as she is already splashing around in the river.</p>
 					You start to take off your clothes.
-					<<if setup.func('changingroom','count_swim_item') > 0>>
+					<<if $wardrobe.ownsSwimmingItem>>
 						<<actCLA 'Change into swimwear'>>
 							<<gs 'gadriver' 'get_changed' 'start'>>
 						<</actCLA>>

+ 3 - 3
sugarcube/src/locations/pavlov/lake/pav_lake.tw

@@ -1,6 +1,6 @@
 :: pav_lake[outdoors public beach]
 	<!-- ! --- meynold event --- !. edit to month 5~10-->
-	<!--<<if $wardrobe.PCloswimwear == 0 and $wardrobe.clothingworntype != 'nude' and $weather.temperature >= 5 and !$weather.isRaining and $time.month >= 5 and $time.month <= 10 and $time.hour < 20 and (($time.hour >= 10 and $time.weekday >= 6) or ($time.hour >= 14 and $time.weekday < 6)) and getvar("$mey_vika['mey_vika_qw']") >= 18 and getvar("$mey_vika['mey_vika_qw']") < 20 and $mey_vika['qw_day'] != $time.daystart>>
+	<!--<<if !$wardrobe.isWearingSwimwear and $wardrobe.clothingworntype != 'nude' and $weather.temperature >= 5 and !$weather.isRaining and $time.month >= 5 and $time.month <= 10 and $time.hour < 20 and (($time.hour >= 10 and $time.weekday >= 6) or ($time.hour >= 14 and $time.weekday < 6)) and getvar("$mey_vika['mey_vika_qw']") >= 18 and getvar("$mey_vika['mey_vika_qw']") < 20 and $mey_vika['qw_day'] != $time.daystart>>
 		<<gt 'mey_vika_events' 'beach_event1'>>
 
 	<</if>>-->
@@ -141,7 +141,7 @@
 				<<gt 'pav_lake'>>
 			<</act>>
 		<</actCLA>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<act 'Go for a swim in the lake'>>
 				<<gt 'pav_lake_swimming'>>
 			<</act>>
@@ -655,7 +655,7 @@
 		<<run $quest('school').func('groupRelInc','jocks',-1)>>
 	<</if>>
 	<!-- !!Jocks disapprove of a one piece swimsuit-->
-	<<if $wardrobe.PCloswimwear == 1 and $wardrobe.PCloOnePiece == 1>>
+	<<if $wardrobe.isWearingSwimwear and $wardrobe.PCloOnePiece == 1>>
 		<<run $quest('school').func('groupRelInc','jocks',-1)>>
 	<</if>>
 	<<image "locations/pavlovsk/lake/beach_hangout/hangout.jpg">>

+ 9 - 9
sugarcube/src/locations/pavlov/lake/pav_lake_nude.tw

@@ -49,7 +49,7 @@
 	<<set $time.minutes += 10>> <<gt 'pav_lake'>>
 <</actCLA>>
 /*<<if $time.month >= 5 and $time.month <= 9>>
-	<<if setup.func('changingroom','count_swim_item') > 0>>
+	<<if $wardrobe.ownsSwimmingItem>>
 		<<act 'Use changing room'>>
 			<<gt 'changingroom' 'view_swim_list'>>
 		<</act>>
@@ -124,11 +124,11 @@
 		<<set $menu_off = 1>>
 		<<set $time.minutes += 30>>
 		<<set $pc.mood += 5>>
-		<<if $wardrobe.PCloswimwear == 1 and $pc.pcs_hips <= 90>>
+		<<if $wardrobe.isWearingSwimwear and $pc.pcs_hips <= 90>>
 			<<image 'locations/pavlovsk/lake/lake.walk.bikini0,#.jpg' 0 3>>
-		<<elseif $wardrobe.PCloswimwear == 1 and $pc.pcs_hips >= 90 and $pc.pcs_hips <= 110>>
+		<<elseif $wardrobe.isWearingSwimwear and $pc.pcs_hips >= 90 and $pc.pcs_hips <= 110>>
 			<<image 'locations/pavlovsk/lake/lake.walk.bikini.fat0,0.jpg'>>
-		<<elseif $wardrobe.PCloswimwear == 1 and $pc.pcs_hips >= 110>>
+		<<elseif $wardrobe.isWearingSwimwear and $pc.pcs_hips >= 110>>
 			<<image 'locations/pavlovsk/lake/lake.walk.bikini.fat0,1.jpg'>>
 			<<if $pc.pcs_inhib < 50>>
 				<<run $pc.skillExperienceGain('inhibition',rand(1,2))>>
@@ -145,7 +145,7 @@
 			<<gt 'pav_lake_nude'>>
 		<</act>>
 	<</actCLA>>
-	<<if $time.hour >= 6 and $time.hour <= 20 and ($wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude')>>
+	<<if $time.hour >= 6 and $time.hour <= 20 and ($wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude')>>
 		<<if $pc.pcs_stam >= (20 * $CON_HELPER_0>>
 		<<actCLA 'Go swimming'>>
 			<<set $menu_off = 1>>
@@ -201,10 +201,10 @@
 		<</actCLA>>
 	<</if>>
 	<</if>>
-	<<if !$weather.isRaining and $time.hour >= 6 and $time.hour <= 20 and ($wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude')>>
+	<<if !$weather.isRaining and $time.hour >= 6 and $time.hour <= 20 and ($wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude')>>
 		<<actCLA 'Go sunbathing'>>
 			<<set $menu_off = 1>>
-			<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+			<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 				<<set $time.minutes += 30>>
 				<<if $pc.pcs_sweat < 35>>
 					<<run $pc.sweatAdd(5)>>
@@ -344,10 +344,10 @@
 			<</actCLA>>
 		
 	<</if>>
-	<<if setup.func('changingroom','count_swim_item') > 0>>
+	<<if $wardrobe.ownsSwimmingItem>>
 		<<act 'Use changing room'>>
 			<<gt 'changingroom' 'view_swim_list'>>
-		<</act>>
+		<</act>>$wardrobe.ownsSwimmingItem
 	<<else>>
 		You should buy some swimwear if you intend on spending time at the beach.
 	<</if>>

+ 3 - 3
sugarcube/src/locations/pavlov/residential/pod_ezd.tw

@@ -235,7 +235,7 @@
 	</p>
 	<<ConnectedLocation '5th Floor' 'parents_stairwell_level5' '' "locations/pavlovsk/resident/apartment/stairs/etaj2.jpg" 1>>
 	<!-- <<actCLA 'Go down to the fifth floor'>>
-		<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+		<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 			<<msg '<center><font color = red>You need to get dressed first</font></center>'>>
 			<<gt 'pod_ezd' 'roof'>>
 		<<else>>
@@ -249,7 +249,7 @@
 		<</actCLA>>
 
 	<</if>>
-	<<if $wardrobe.PCloswimwear == 1 or $wardrobe.clothingworntype == 'nude'>>
+	<<if $wardrobe.isWearingSwimwear or $wardrobe.clothingworntype == 'nude'>>
 		<<actCLA 'Change back into clothes'>>
 			<<set $time.minutes += 5>>
 			<<run $wardrobe.wear_clothes_legacy('clothes',$lastwornclothingtype['swim'],$lastwornclothingnumber['swim'])>>
@@ -259,7 +259,7 @@
 		<</actCLA>>
 	<</if>>
 	<<if $weather.temperature >= 15 and $time.hour >= 8 and $time.hour <= 20>>
-		<<if setup.func('changingroom','count_swim_item') > 0 and $wardrobe.PCloswimwear == 0>>
+		<<if $wardrobe.ownsSwimmingItem and !$wardrobe.isWearingSwimwear>>
 			<<act 'Change into a bikini'>>
 				<<gt 'changingroom' 'view_swim_list'>>
 			<</act>>

+ 6 - 6
sugarcube/src/npcs/katja/katja_lake.tw

@@ -52,7 +52,7 @@
 					<<image "locations/pavlovsk/lake/lake.autumn.jpg">>
 				<</if>>
 				<p>You decide to pass some time at the secluded beach, but as you approach, a question surges into your mind. Go there naked? Katja is pretty body-conscientious, so... maybe going full nudist isn't a good idea. What can you do? Push her to go naked or just put on your swimwear?</p>
-				<<if setup.func('changingroom','count_swim_item') > 0>>
+				<<if $wardrobe.ownsSwimmingItem>>
 					<<actCLA 'Put on your swimwear'>>
 						<<if getvar("$katjaQW['slut']") >= 20 and getvar("$katjaQW['horny']") >= 20>>
 							<<image "characters/pavlovsk/school/girl/katja/KL1.jpg">>
@@ -165,7 +165,7 @@
 		<<else>>
 			<<image "locations/pavlovsk/lake/secluded_beach/sauna/sauna.jpg">>
 			<p>You decide to pass some time in the public sauna, but as you approach, a question surges into your mind. Go naked? Katja is pretty body-conscientious, so maybe going butt-naked isn't a good idea. What can you do? Push her to go naked or just put on your swimwear?</p>
-			<<if setup.func('changingroom','count_swim_item') > 0>>
+			<<if $wardrobe.ownsSwimmingItem>>
 				<<actCLA 'Put on your swimwear'>>
 					<<if getvar("$katjaQW['slut']") >= 20 and getvar("$katjaQW['horny']") >= 20>>
 						<<image "characters/pavlovsk/school/girl/katja/KS6.jpg">>
@@ -274,7 +274,7 @@
 	<</actCLA>>
 <</if>>
 <<if $location_var[$here][0] == 'beach_in_swimwear1'>>
-	<<if $wardrobe.PCloswimwear == 0>>
+	<<if !$wardrobe.isWearingSwimwear>>
 		<<set $time.minutes += 10>>
 		<<set $loc = 'katja_lake'>>
 		<<set $loc_arg = 'beach_in_swimwear1'>>
@@ -300,7 +300,7 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'beach_in_swimwear2'>>
-	<<if $wardrobe.PCloswimwear == 0>>
+	<<if !$wardrobe.isWearingSwimwear>>
 		<<set $loc = 'katja_lake'>>
 		<<set $loc_arg = 'beach_in_swimwear2'>>
 		<<gs 'changingroom' 'view_swim_list'>>
@@ -328,7 +328,7 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'sauna_in_swimmwear1'>>
-	<<if $wardrobe.PCloswimwear == 0>>
+	<<if !$wardrobe.isWearingSwimwear>>
 		<<set $loc = 'katja_lake'>>
 		<<set $loc_arg = 'sauna_in_swimmwear1'>>
 		<<gs 'changingroom' 'view_swim_list'>>
@@ -341,7 +341,7 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'sauna_in_swimmwear2'>>
-	<<if $wardrobe.PCloswimwear == 0>>
+	<<if !$wardrobe.isWearingSwimwear>>
 		<<set $loc = 'katja_lake'>>
 		<<set $loc_arg = 'sauna_in_swimmwear2'>>
 		<<gs 'changingroom' 'view_swim_list'>>

+ 100 - 100
sugarcube/src/outfits/compiled/_attributes_allure_swim_onecompiled.ts

@@ -1,7 +1,7 @@
 /// <reference path="../../wardrobe/wardrobe.ts" />
 	setup.outfits.allure_swim_one_1 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:1,
 		quality: 3,
@@ -14,7 +14,7 @@
 	},
 	setup.outfits.allure_swim_one_2 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:2,
 		quality: 3,
@@ -27,7 +27,7 @@
 	},
 	setup.outfits.allure_swim_one_3 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:3,
 		quality: 3,
@@ -40,7 +40,7 @@
 	},
 	setup.outfits.allure_swim_one_4 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:4,
 		quality: 3,
@@ -53,7 +53,7 @@
 	},
 	setup.outfits.allure_swim_one_5 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:5,
 		quality: 3,
@@ -66,7 +66,7 @@
 	},
 	setup.outfits.allure_swim_one_6 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:6,
 		quality: 4,
@@ -79,7 +79,7 @@
 	},
 	setup.outfits.allure_swim_one_7 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:7,
 		quality: 4,
@@ -92,7 +92,7 @@
 	},
 	setup.outfits.allure_swim_one_8 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:8,
 		quality: 4,
@@ -105,7 +105,7 @@
 	},
 	setup.outfits.allure_swim_one_9 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:9,
 		quality: 3,
@@ -118,7 +118,7 @@
 	},
 	setup.outfits.allure_swim_one_10 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:10,
 		quality: 3,
@@ -131,7 +131,7 @@
 	},
 	setup.outfits.allure_swim_one_11 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:11,
 		quality: 4,
@@ -144,7 +144,7 @@
 	},
 	setup.outfits.allure_swim_one_12 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:12,
 		quality: 4,
@@ -157,7 +157,7 @@
 	},
 	setup.outfits.allure_swim_one_13 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:13,
 		quality: 4,
@@ -170,7 +170,7 @@
 	},
 	setup.outfits.allure_swim_one_14 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:14,
 		quality: 3,
@@ -183,7 +183,7 @@
 	},
 	setup.outfits.allure_swim_one_15 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:15,
 		quality: 3,
@@ -196,7 +196,7 @@
 	},
 	setup.outfits.allure_swim_one_16 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:16,
 		quality: 3,
@@ -209,7 +209,7 @@
 	},
 	setup.outfits.allure_swim_one_17 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:17,
 		quality: 2,
@@ -222,7 +222,7 @@
 	},
 	setup.outfits.allure_swim_one_18 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:18,
 		quality: 4,
@@ -235,7 +235,7 @@
 	},
 	setup.outfits.allure_swim_one_19 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:19,
 		quality: 4,
@@ -248,7 +248,7 @@
 	},
 	setup.outfits.allure_swim_one_20 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:20,
 		quality: 4,
@@ -261,7 +261,7 @@
 	},
 	setup.outfits.allure_swim_one_21 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:21,
 		quality: 4,
@@ -274,7 +274,7 @@
 	},
 	setup.outfits.allure_swim_one_22 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:22,
 		quality: 4,
@@ -287,7 +287,7 @@
 	},
 	setup.outfits.allure_swim_one_23 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:23,
 		quality: 4,
@@ -300,7 +300,7 @@
 	},
 	setup.outfits.allure_swim_one_24 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:24,
 		quality: 4,
@@ -313,7 +313,7 @@
 	},
 	setup.outfits.allure_swim_one_25 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:25,
 		quality: 4,
@@ -326,7 +326,7 @@
 	},
 	setup.outfits.allure_swim_one_26 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:26,
 		quality: 3,
@@ -339,7 +339,7 @@
 	},
 	setup.outfits.allure_swim_one_27 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:27,
 		quality: 3,
@@ -352,7 +352,7 @@
 	},
 	setup.outfits.allure_swim_one_28 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:28,
 		quality: 4,
@@ -365,7 +365,7 @@
 	},
 	setup.outfits.allure_swim_one_29 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:29,
 		quality: 4,
@@ -378,7 +378,7 @@
 	},
 	setup.outfits.allure_swim_one_30 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:30,
 		quality: 4,
@@ -391,7 +391,7 @@
 	},
 	setup.outfits.allure_swim_one_31 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:31,
 		quality: 4,
@@ -404,7 +404,7 @@
 	},
 	setup.outfits.allure_swim_one_32 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:32,
 		quality: 4,
@@ -417,7 +417,7 @@
 	},
 	setup.outfits.allure_swim_one_33 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:33,
 		quality: 4,
@@ -430,7 +430,7 @@
 	},
 	setup.outfits.allure_swim_one_34 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:34,
 		quality: 4,
@@ -443,7 +443,7 @@
 	},
 	setup.outfits.allure_swim_one_35 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:35,
 		quality: 4,
@@ -456,7 +456,7 @@
 	},
 	setup.outfits.allure_swim_one_36 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:36,
 		quality: 4,
@@ -469,7 +469,7 @@
 	},
 	setup.outfits.allure_swim_one_37 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:37,
 		quality: 4,
@@ -482,7 +482,7 @@
 	},
 	setup.outfits.allure_swim_one_38 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:38,
 		quality: 4,
@@ -495,7 +495,7 @@
 	},
 	setup.outfits.allure_swim_one_39 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:39,
 		quality: 4,
@@ -508,7 +508,7 @@
 	},
 	setup.outfits.allure_swim_one_40 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:40,
 		quality: 4,
@@ -521,7 +521,7 @@
 	},
 	setup.outfits.allure_swim_one_41 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:41,
 		quality: 5,
@@ -534,7 +534,7 @@
 	},
 	setup.outfits.allure_swim_one_42 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:42,
 		quality: 5,
@@ -547,7 +547,7 @@
 	},
 	setup.outfits.allure_swim_one_43 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:43,
 		quality: 5,
@@ -560,7 +560,7 @@
 	},
 	setup.outfits.allure_swim_one_44 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:44,
 		quality: 5,
@@ -573,7 +573,7 @@
 	},
 	setup.outfits.allure_swim_one_45 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:45,
 		quality: 5,
@@ -586,7 +586,7 @@
 	},
 	setup.outfits.allure_swim_one_46 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:46,
 		quality: 4,
@@ -599,7 +599,7 @@
 	},
 	setup.outfits.allure_swim_one_47 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:47,
 		quality: 4,
@@ -612,7 +612,7 @@
 	},
 	setup.outfits.allure_swim_one_48 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:48,
 		quality: 4,
@@ -625,7 +625,7 @@
 	},
 	setup.outfits.allure_swim_one_49 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:49,
 		quality: 4,
@@ -638,7 +638,7 @@
 	},
 	setup.outfits.allure_swim_one_50 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:50,
 		quality: 4,
@@ -651,7 +651,7 @@
 	},
 	setup.outfits.allure_swim_one_51 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:51,
 		quality: 4,
@@ -664,7 +664,7 @@
 	},
 	setup.outfits.allure_swim_one_52 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:52,
 		quality: 4,
@@ -677,7 +677,7 @@
 	},
 	setup.outfits.allure_swim_one_53 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:53,
 		quality: 4,
@@ -690,7 +690,7 @@
 	},
 	setup.outfits.allure_swim_one_54 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:54,
 		quality: 4,
@@ -703,7 +703,7 @@
 	},
 	setup.outfits.allure_swim_one_55 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:55,
 		quality: 4,
@@ -716,7 +716,7 @@
 	},
 	setup.outfits.allure_swim_one_56 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:56,
 		quality: 4,
@@ -729,7 +729,7 @@
 	},
 	setup.outfits.allure_swim_one_57 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:57,
 		quality: 4,
@@ -742,7 +742,7 @@
 	},
 	setup.outfits.allure_swim_one_58 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:58,
 		quality: 4,
@@ -755,7 +755,7 @@
 	},
 	setup.outfits.allure_swim_one_59 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:59,
 		quality: 5,
@@ -768,7 +768,7 @@
 	},
 	setup.outfits.allure_swim_one_60 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:60,
 		quality: 5,
@@ -781,7 +781,7 @@
 	},
 	setup.outfits.allure_swim_one_61 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:61,
 		quality: 5,
@@ -794,7 +794,7 @@
 	},
 	setup.outfits.allure_swim_one_62 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:62,
 		quality: 4,
@@ -807,7 +807,7 @@
 	},
 	setup.outfits.allure_swim_one_63 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:63,
 		quality: 4,
@@ -820,7 +820,7 @@
 	},
 	setup.outfits.allure_swim_one_64 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:64,
 		quality: 4,
@@ -833,7 +833,7 @@
 	},
 	setup.outfits.allure_swim_one_65 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:65,
 		quality: 4,
@@ -846,7 +846,7 @@
 	},
 	setup.outfits.allure_swim_one_66 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:66,
 		quality: 4,
@@ -859,7 +859,7 @@
 	},
 	setup.outfits.allure_swim_one_67 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:67,
 		quality: 4,
@@ -872,7 +872,7 @@
 	},
 	setup.outfits.allure_swim_one_68 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:68,
 		quality: 4,
@@ -885,7 +885,7 @@
 	},
 	setup.outfits.allure_swim_one_69 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:69,
 		quality: 4,
@@ -898,7 +898,7 @@
 	},
 	setup.outfits.allure_swim_one_70 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:70,
 		quality: 4,
@@ -911,7 +911,7 @@
 	},
 	setup.outfits.allure_swim_one_71 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:71,
 		quality: 5,
@@ -924,7 +924,7 @@
 	},
 	setup.outfits.allure_swim_one_72 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:72,
 		quality: 5,
@@ -937,7 +937,7 @@
 	},
 	setup.outfits.allure_swim_one_73 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:73,
 		quality: 5,
@@ -950,7 +950,7 @@
 	},
 	setup.outfits.allure_swim_one_74 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:74,
 		quality: 5,
@@ -963,7 +963,7 @@
 	},
 	setup.outfits.allure_swim_one_75 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:75,
 		quality: 5,
@@ -976,7 +976,7 @@
 	},
 	setup.outfits.allure_swim_one_76 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:76,
 		quality: 6,
@@ -989,7 +989,7 @@
 	},
 	setup.outfits.allure_swim_one_77 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:77,
 		quality: 6,
@@ -1002,7 +1002,7 @@
 	},
 	setup.outfits.allure_swim_one_78 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:78,
 		quality: 5,
@@ -1015,7 +1015,7 @@
 	},
 	setup.outfits.allure_swim_one_79 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:79,
 		quality: 5,
@@ -1028,7 +1028,7 @@
 	},
 	setup.outfits.allure_swim_one_80 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:80,
 		quality: 5,
@@ -1041,7 +1041,7 @@
 	},
 	setup.outfits.allure_swim_one_81 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:81,
 		quality: 5,
@@ -1054,7 +1054,7 @@
 	},
 	setup.outfits.allure_swim_one_82 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:82,
 		quality: 5,
@@ -1067,7 +1067,7 @@
 	},
 	setup.outfits.allure_swim_one_83 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:83,
 		quality: 5,
@@ -1080,7 +1080,7 @@
 	},
 	setup.outfits.allure_swim_one_84 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:84,
 		quality: 5,
@@ -1093,7 +1093,7 @@
 	},
 	setup.outfits.allure_swim_one_85 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:85,
 		quality: 5,
@@ -1106,7 +1106,7 @@
 	},
 	setup.outfits.allure_swim_one_86 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:86,
 		quality: 4,
@@ -1119,7 +1119,7 @@
 	},
 	setup.outfits.allure_swim_one_87 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:87,
 		quality: 4,
@@ -1132,7 +1132,7 @@
 	},
 	setup.outfits.allure_swim_one_88 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:88,
 		quality: 4,
@@ -1145,7 +1145,7 @@
 	},
 	setup.outfits.allure_swim_one_89 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:89,
 		quality: 4,
@@ -1158,7 +1158,7 @@
 	},
 	setup.outfits.allure_swim_one_90 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:90,
 		quality: 4,
@@ -1171,7 +1171,7 @@
 	},
 	setup.outfits.allure_swim_one_91 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:91,
 		quality: 5,
@@ -1184,7 +1184,7 @@
 	},
 	setup.outfits.allure_swim_one_92 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:92,
 		quality: 5,
@@ -1197,7 +1197,7 @@
 	},
 	setup.outfits.allure_swim_one_93 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:93,
 		quality: 5,
@@ -1210,7 +1210,7 @@
 	},
 	setup.outfits.allure_swim_one_94 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:94,
 		quality: 5,
@@ -1223,7 +1223,7 @@
 	},
 	setup.outfits.allure_swim_one_95 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:95,
 		quality: 4,
@@ -1236,7 +1236,7 @@
 	},
 	setup.outfits.allure_swim_one_96 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:96,
 		quality: 4,
@@ -1249,7 +1249,7 @@
 	},
 	setup.outfits.allure_swim_one_97 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:97,
 		quality: 4,
@@ -1262,7 +1262,7 @@
 	},
 	setup.outfits.allure_swim_one_98 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:98,
 		quality: 4,
@@ -1275,7 +1275,7 @@
 	},
 	setup.outfits.allure_swim_one_99 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:99,
 		quality: 4,
@@ -1288,7 +1288,7 @@
 	},
 	setup.outfits.allure_swim_one_100 = {
 		vendor:'allure',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:100,
 		quality: 4,

File diff suppressed because it is too large
+ 112 - 112
sugarcube/src/outfits/compiled/_attributes_allure_swim_twocompiled.ts


+ 30 - 30
sugarcube/src/outfits/compiled/_attributes_danilovich_swim_onecompiled.ts

@@ -1,7 +1,7 @@
 /// <reference path="../../wardrobe/wardrobe.ts" />
 	setup.outfits.danilovich_swim_one_1 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:1,
 		quality: 4,
@@ -14,7 +14,7 @@
 	},
 	setup.outfits.danilovich_swim_one_2 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:2,
 		quality: 4,
@@ -27,7 +27,7 @@
 	},
 	setup.outfits.danilovich_swim_one_3 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:3,
 		quality: 4,
@@ -40,7 +40,7 @@
 	},
 	setup.outfits.danilovich_swim_one_4 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:4,
 		quality: 4,
@@ -53,7 +53,7 @@
 	},
 	setup.outfits.danilovich_swim_one_5 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:5,
 		quality: 4,
@@ -66,7 +66,7 @@
 	},
 	setup.outfits.danilovich_swim_one_6 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:6,
 		quality: 4,
@@ -79,7 +79,7 @@
 	},
 	setup.outfits.danilovich_swim_one_7 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:7,
 		quality: 4,
@@ -92,7 +92,7 @@
 	},
 	setup.outfits.danilovich_swim_one_8 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:8,
 		quality: 4,
@@ -105,7 +105,7 @@
 	},
 	setup.outfits.danilovich_swim_one_9 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:9,
 		quality: 4,
@@ -118,7 +118,7 @@
 	},
 	setup.outfits.danilovich_swim_one_10 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:10,
 		quality: 4,
@@ -131,7 +131,7 @@
 	},
 	setup.outfits.danilovich_swim_one_11 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:11,
 		quality: 3,
@@ -144,7 +144,7 @@
 	},
 	setup.outfits.danilovich_swim_one_12 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:12,
 		quality: 3,
@@ -157,7 +157,7 @@
 	},
 	setup.outfits.danilovich_swim_one_13 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:13,
 		quality: 3,
@@ -170,7 +170,7 @@
 	},
 	setup.outfits.danilovich_swim_one_14 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:14,
 		quality: 3,
@@ -183,7 +183,7 @@
 	},
 	setup.outfits.danilovich_swim_one_15 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:15,
 		quality: 3,
@@ -196,7 +196,7 @@
 	},
 	setup.outfits.danilovich_swim_one_16 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:16,
 		quality: 3,
@@ -209,7 +209,7 @@
 	},
 	setup.outfits.danilovich_swim_one_17 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:17,
 		quality: 3,
@@ -222,7 +222,7 @@
 	},
 	setup.outfits.danilovich_swim_one_18 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:18,
 		quality: 4,
@@ -235,7 +235,7 @@
 	},
 	setup.outfits.danilovich_swim_one_19 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:19,
 		quality: 3,
@@ -248,7 +248,7 @@
 	},
 	setup.outfits.danilovich_swim_one_20 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:20,
 		quality: 3,
@@ -261,7 +261,7 @@
 	},
 	setup.outfits.danilovich_swim_one_21 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:21,
 		quality: 1,
@@ -274,7 +274,7 @@
 	},
 	setup.outfits.danilovich_swim_one_22 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:22,
 		quality: 1,
@@ -287,7 +287,7 @@
 	},
 	setup.outfits.danilovich_swim_one_23 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:23,
 		quality: 1,
@@ -300,7 +300,7 @@
 	},
 	setup.outfits.danilovich_swim_one_24 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:24,
 		quality: 2,
@@ -313,7 +313,7 @@
 	},
 	setup.outfits.danilovich_swim_one_25 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:25,
 		quality: 2,
@@ -326,7 +326,7 @@
 	},
 	setup.outfits.danilovich_swim_one_26 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:26,
 		quality: 3,
@@ -339,7 +339,7 @@
 	},
 	setup.outfits.danilovich_swim_one_27 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:27,
 		quality: 3,
@@ -352,7 +352,7 @@
 	},
 	setup.outfits.danilovich_swim_one_28 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:28,
 		quality: 3,
@@ -365,7 +365,7 @@
 	},
 	setup.outfits.danilovich_swim_one_29 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:29,
 		quality: 3,
@@ -378,7 +378,7 @@
 	},
 	setup.outfits.danilovich_swim_one_30 = {
 		vendor:'danilovich',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:30,
 		quality: 4,

+ 30 - 30
sugarcube/src/outfits/compiled/_attributes_nerdvana_swim_onecompiled.ts

@@ -1,7 +1,7 @@
 /// <reference path="../../wardrobe/wardrobe.ts" />
 	setup.outfits.nerdvana_swim_one_1 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:1,
 		quality: 3,
@@ -14,7 +14,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_2 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:2,
 		quality: 3,
@@ -27,7 +27,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_3 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:3,
 		quality: 4,
@@ -40,7 +40,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_4 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:4,
 		quality: 4,
@@ -53,7 +53,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_5 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:5,
 		quality: 4,
@@ -66,7 +66,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_6 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:6,
 		quality: 4,
@@ -79,7 +79,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_7 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:7,
 		quality: 4,
@@ -92,7 +92,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_8 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:8,
 		quality: 4,
@@ -105,7 +105,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_9 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:9,
 		quality: 4,
@@ -118,7 +118,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_10 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:10,
 		quality: 4,
@@ -131,7 +131,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_11 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:11,
 		quality: 4,
@@ -144,7 +144,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_12 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:12,
 		quality: 3,
@@ -157,7 +157,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_13 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:13,
 		quality: 3,
@@ -170,7 +170,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_14 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:14,
 		quality: 3,
@@ -183,7 +183,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_15 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:15,
 		quality: 3,
@@ -196,7 +196,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_16 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:16,
 		quality: 4,
@@ -209,7 +209,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_17 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:17,
 		quality: 4,
@@ -222,7 +222,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_18 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:18,
 		quality: 4,
@@ -235,7 +235,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_19 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:19,
 		quality: 4,
@@ -248,7 +248,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_20 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:20,
 		quality: 4,
@@ -261,7 +261,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_21 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:21,
 		quality: 4,
@@ -274,7 +274,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_22 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:22,
 		quality: 4,
@@ -287,7 +287,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_23 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:23,
 		quality: 4,
@@ -300,7 +300,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_24 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:24,
 		quality: 4,
@@ -313,7 +313,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_25 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:25,
 		quality: 3,
@@ -326,7 +326,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_26 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:26,
 		quality: 4,
@@ -339,7 +339,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_27 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:27,
 		quality: 4,
@@ -352,7 +352,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_28 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:28,
 		quality: 4,
@@ -365,7 +365,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_29 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:29,
 		quality: 4,
@@ -378,7 +378,7 @@
 	},
 	setup.outfits.nerdvana_swim_one_30 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:30,
 		quality: 4,

+ 30 - 30
sugarcube/src/outfits/compiled/_attributes_nerdvana_swim_twocompiled.ts

@@ -1,7 +1,7 @@
 /// <reference path="../../wardrobe/wardrobe.ts" />
 	setup.outfits.nerdvana_swim_two_1 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:1,
 		quality: 3,
@@ -13,7 +13,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_2 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:2,
 		quality: 3,
@@ -25,7 +25,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_3 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:3,
 		quality: 3,
@@ -37,7 +37,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_4 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:4,
 		quality: 3,
@@ -49,7 +49,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_5 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:5,
 		quality: 3,
@@ -61,7 +61,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_6 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:6,
 		quality: 3,
@@ -73,7 +73,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_7 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:7,
 		quality: 3,
@@ -85,7 +85,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_8 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:8,
 		quality: 3,
@@ -97,7 +97,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_9 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:9,
 		quality: 3,
@@ -109,7 +109,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_10 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:10,
 		quality: 3,
@@ -121,7 +121,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_11 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:11,
 		quality: 3,
@@ -133,7 +133,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_12 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:12,
 		quality: 4,
@@ -145,7 +145,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_13 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:13,
 		quality: 4,
@@ -157,7 +157,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_14 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:14,
 		quality: 4,
@@ -169,7 +169,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_15 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:15,
 		quality: 4,
@@ -181,7 +181,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_16 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:16,
 		quality: 4,
@@ -193,7 +193,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_17 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:17,
 		quality: 4,
@@ -205,7 +205,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_18 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:18,
 		quality: 4,
@@ -217,7 +217,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_19 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:19,
 		quality: 4,
@@ -229,7 +229,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_20 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:20,
 		quality: 4,
@@ -241,7 +241,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_21 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:21,
 		quality: 4,
@@ -253,7 +253,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_22 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:22,
 		quality: 4,
@@ -265,7 +265,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_23 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:23,
 		quality: 4,
@@ -277,7 +277,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_24 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:24,
 		quality: 4,
@@ -289,7 +289,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_25 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:25,
 		quality: 4,
@@ -301,7 +301,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_26 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:26,
 		quality: 3,
@@ -313,7 +313,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_27 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:27,
 		quality: 4,
@@ -325,7 +325,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_28 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:28,
 		quality: 4,
@@ -337,7 +337,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_29 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:29,
 		quality: 4,
@@ -349,7 +349,7 @@
 	},
 	setup.outfits.nerdvana_swim_two_30 = {
 		vendor:'nerdvana',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:30,
 		quality: 4,

+ 40 - 40
sugarcube/src/outfits/compiled/_attributes_scandalicious_swim_onecompiled.ts

@@ -1,7 +1,7 @@
 /// <reference path="../../wardrobe/wardrobe.ts" />
 	setup.outfits.scandalicious_swim_one_1 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:1,
 		quality: 2,
@@ -15,7 +15,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_2 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:2,
 		quality: 2,
@@ -28,7 +28,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_3 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:3,
 		quality: 2,
@@ -42,7 +42,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_4 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:4,
 		quality: 2,
@@ -55,7 +55,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_5 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:5,
 		quality: 2,
@@ -68,7 +68,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_6 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:6,
 		quality: 2,
@@ -82,7 +82,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_7 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:7,
 		quality: 3,
@@ -95,7 +95,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_8 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:8,
 		quality: 3,
@@ -108,7 +108,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_9 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:9,
 		quality: 3,
@@ -121,7 +121,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_10 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:10,
 		quality: 2,
@@ -135,7 +135,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_11 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:11,
 		quality: 2,
@@ -149,7 +149,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_12 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:12,
 		quality: 3,
@@ -162,7 +162,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_13 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:13,
 		quality: 2,
@@ -177,7 +177,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_14 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:14,
 		quality: 2,
@@ -191,7 +191,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_15 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:15,
 		quality: 2,
@@ -204,7 +204,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_16 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:16,
 		quality: 2,
@@ -218,7 +218,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_17 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:17,
 		quality: 2,
@@ -232,7 +232,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_18 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:18,
 		quality: 2,
@@ -246,7 +246,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_19 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:19,
 		quality: 2,
@@ -262,7 +262,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_20 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:20,
 		quality: 2,
@@ -278,7 +278,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_21 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:21,
 		quality: 1,
@@ -294,7 +294,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_22 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:22,
 		quality: 1,
@@ -310,7 +310,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_23 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:23,
 		quality: 1,
@@ -324,7 +324,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_24 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:24,
 		quality: 1,
@@ -340,7 +340,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_25 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:25,
 		quality: 1,
@@ -356,7 +356,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_26 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:26,
 		quality: 2,
@@ -372,7 +372,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_27 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:27,
 		quality: 3,
@@ -386,7 +386,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_28 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:28,
 		quality: 2,
@@ -400,7 +400,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_29 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:29,
 		quality: 2,
@@ -415,7 +415,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_30 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:30,
 		quality: 2,
@@ -431,7 +431,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_31 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:31,
 		quality: 2,
@@ -447,7 +447,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_32 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:32,
 		quality: 3,
@@ -463,7 +463,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_33 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:33,
 		quality: 2,
@@ -479,7 +479,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_34 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:34,
 		quality: 2,
@@ -495,7 +495,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_35 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:35,
 		quality: 2,
@@ -509,7 +509,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_36 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:36,
 		quality: 3,
@@ -522,7 +522,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_37 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:37,
 		quality: 2,
@@ -537,7 +537,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_38 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:38,
 		quality: 2,
@@ -553,7 +553,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_39 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:39,
 		quality: 1,
@@ -569,7 +569,7 @@
 	},
 	setup.outfits.scandalicious_swim_one_40 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'swimsuit',
 		index:40,
 		quality: 1,

+ 70 - 70
sugarcube/src/outfits/compiled/_attributes_scandalicious_swim_twocompiled.ts

@@ -1,7 +1,7 @@
 /// <reference path="../../wardrobe/wardrobe.ts" />
 	setup.outfits.scandalicious_swim_two_1 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:1,
 		quality: 2,
@@ -14,7 +14,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_2 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:2,
 		quality: 2,
@@ -27,7 +27,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_3 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:3,
 		quality: 2,
@@ -40,7 +40,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_4 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:4,
 		quality: 2,
@@ -53,7 +53,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_5 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:5,
 		quality: 2,
@@ -66,7 +66,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_6 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:6,
 		quality: 2,
@@ -79,7 +79,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_7 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:7,
 		quality: 2,
@@ -91,7 +91,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_8 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:8,
 		quality: 2,
@@ -104,7 +104,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_9 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:9,
 		quality: 2,
@@ -118,7 +118,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_10 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:10,
 		quality: 2,
@@ -131,7 +131,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_11 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:11,
 		quality: 2,
@@ -144,7 +144,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_12 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:12,
 		quality: 2,
@@ -156,7 +156,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_13 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:13,
 		quality: 2,
@@ -169,7 +169,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_14 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:14,
 		quality: 2,
@@ -182,7 +182,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_15 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:15,
 		quality: 2,
@@ -195,7 +195,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_16 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:16,
 		quality: 2,
@@ -208,7 +208,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_17 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:17,
 		quality: 2,
@@ -221,7 +221,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_18 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:18,
 		quality: 2,
@@ -234,7 +234,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_19 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:19,
 		quality: 2,
@@ -247,7 +247,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_20 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:20,
 		quality: 2,
@@ -260,7 +260,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_21 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:21,
 		quality: 2,
@@ -273,7 +273,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_22 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:22,
 		quality: 2,
@@ -286,7 +286,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_23 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:23,
 		quality: 2,
@@ -299,7 +299,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_24 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:24,
 		quality: 2,
@@ -312,7 +312,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_25 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:25,
 		quality: 2,
@@ -325,7 +325,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_26 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:26,
 		quality: 2,
@@ -338,7 +338,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_27 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:27,
 		quality: 2,
@@ -351,7 +351,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_28 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:28,
 		quality: 2,
@@ -364,7 +364,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_29 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:29,
 		quality: 2,
@@ -376,7 +376,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_30 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:30,
 		quality: 2,
@@ -390,7 +390,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_31 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:31,
 		quality: 3,
@@ -403,7 +403,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_32 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:32,
 		quality: 2,
@@ -416,7 +416,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_33 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:33,
 		quality: 2,
@@ -429,7 +429,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_34 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:34,
 		quality: 2,
@@ -443,7 +443,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_35 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:35,
 		quality: 2,
@@ -456,7 +456,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_36 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:36,
 		quality: 2,
@@ -469,7 +469,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_37 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:37,
 		quality: 2,
@@ -482,7 +482,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_38 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:38,
 		quality: 2,
@@ -495,7 +495,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_39 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:39,
 		quality: 2,
@@ -509,7 +509,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_40 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:40,
 		quality: 2,
@@ -523,7 +523,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_41 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:41,
 		quality: 2,
@@ -538,7 +538,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_42 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:42,
 		quality: 2,
@@ -551,7 +551,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_43 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:43,
 		quality: 2,
@@ -566,7 +566,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_44 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:44,
 		quality: 2,
@@ -581,7 +581,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_45 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:45,
 		quality: 2,
@@ -594,7 +594,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_46 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:46,
 		quality: 2,
@@ -607,7 +607,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_47 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:47,
 		quality: 2,
@@ -620,7 +620,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_48 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:48,
 		quality: 2,
@@ -633,7 +633,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_49 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:49,
 		quality: 3,
@@ -646,7 +646,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_50 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:50,
 		quality: 2,
@@ -659,7 +659,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_51 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:51,
 		quality: 3,
@@ -672,7 +672,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_52 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:52,
 		quality: 3,
@@ -684,7 +684,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_53 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:53,
 		quality: 2,
@@ -697,7 +697,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_54 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:54,
 		quality: 2,
@@ -711,7 +711,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_55 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:55,
 		quality: 2,
@@ -724,7 +724,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_56 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:56,
 		quality: 2,
@@ -739,7 +739,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_57 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:57,
 		quality: 2,
@@ -752,7 +752,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_58 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:58,
 		quality: 2,
@@ -767,7 +767,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_59 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:59,
 		quality: 2,
@@ -780,7 +780,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_60 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:60,
 		quality: 2,
@@ -793,7 +793,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_61 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:61,
 		quality: 2,
@@ -807,7 +807,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_62 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:62,
 		quality: 2,
@@ -821,7 +821,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_63 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:63,
 		quality: 2,
@@ -834,7 +834,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_64 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:64,
 		quality: 2,
@@ -850,7 +850,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_65 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:65,
 		quality: 2,
@@ -865,7 +865,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_66 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:66,
 		quality: 2,
@@ -880,7 +880,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_67 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:67,
 		quality: 2,
@@ -895,7 +895,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_68 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:68,
 		quality: 2,
@@ -910,7 +910,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_69 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:69,
 		quality: 2,
@@ -925,7 +925,7 @@
 	},
 	setup.outfits.scandalicious_swim_two_70 = {
 		vendor:'scandalicious',
-		type:'clothes',
+		type:'swimwear',
 		subtype:'bikini',
 		index:70,
 		quality: 2,

+ 1 - 1
sugarcube/src/playerCharacter/PlayerCharacter.ts

@@ -125,7 +125,7 @@ class PlayerCharacter{
 								
 
 							<</if>> -->
-							<!--<<if $wardrobe.clothingworntype != 'coat' and $wardrobe.PCloswimwear == 0>>
+							<!--<<if $wardrobe.clothingworntype != 'coat' and !$wardrobe.isWearingSwimwear>>
 								<<gs 'clothing_attributes' $wardrobe.clothingworntype $wardrobe.clothingwornnumber>>
 								<<gs 'clothing_descriptions'>>
 								

+ 2 - 2
sugarcube/src/sidebar/Sidebar.tw

@@ -966,7 +966,7 @@
 <</widget>>
 
 <<widget 'stat_panty_msg'>>
-	<<if !$wardrobe.isWearingPanties and $wardrobe.PCloswimwear == 0 and $wardrobe.PCloPanties == 0>>
+	<<if !$wardrobe.isWearingPanties and !$wardrobe.isWearingSwimwear and $wardrobe.PCloPanties == 0>>
 		<<if $wardrobe.PCloStyle == 4>>
 			<<='You are not wearing panties, but you are dressed as a hooker, so that`s hardly surprising.'>>
 		<<elseif $wardrobe.PCloBimbo == 1 or getvar("$bimbolevel") > 0 and $wardrobe.PCloSkirt > 3 and $cheatBimbo == 0>>
@@ -994,7 +994,7 @@
 		<<else>>
 			<<='You are not wearing panties.'>>
 		<</if>>
-	<<elseif $wardrobe.pantyworntype == 'salacious' and $wardrobe.PCloswimwear == 0>>
+	<<elseif $wardrobe.pantyworntype == 'salacious' and !$wardrobe.isWearingSwimwear>>
 		<<if $wardrobe.PCloStyle == 4>>
 			<<='You are wearing see-through panties, but you are dressed as a hooker, so that`s hardly surprising.'>>
 		<<elseif $wardrobe.PCloSkirt > 3 and $pc.pcs_inhib > 50>>

+ 5 - 0
sugarcube/src/start/StartingCharacters.ts

@@ -251,6 +251,11 @@ setup.startingCharacters.sg_starting_category = {
 			}
 		}
 	},
+	wardrobe:{
+		items:{
+			'danilovich_swim_one_16':'add'
+		}
+	},
 	tags: ['sg']
 }
 

+ 20 - 0
sugarcube/src/wardrobe/OutfitItem.ts

@@ -30,6 +30,8 @@ class OutfitItem extends Initializing{
 				item = new OutfitItemPurse();	break;
 			case 'shoes':
 				item = new OutfitItemShoes();	break;
+			case 'swimwear':
+				item = new OutfitItemSwimwear();break;
 		}
 
 		item.init(constantData);
@@ -244,4 +246,22 @@ class OutfitItemShoes extends OutfitItem implements OutfitDefinitionShoes{
 	}
 }
 
+class OutfitItemSwimwear extends OutfitItem implements OutfitDefinitionSwimwear{
+	type:'swimwear' = "swimwear";
+	subtype: 'bikini'|'swimsuit';
+	thinness: number;
+	topcut: number;
+	includesPanties: number;
+	isOnepiece: number;
+	inhib: number;
+
+	get image():string{
+		return setup.outfitItemImagePath.clothes[this.vendor][this.subtype].formatUnicorn({id:this.index});
+	}
+
+	get slots(){
+		return ['bra','panties','clothes'];
+	}
+}
+
 setup.OutfitItem = OutfitItem;

+ 1 - 0
sugarcube/src/wardrobe/vendors.js

@@ -5,5 +5,6 @@ setup.vendors = {
 	coat: ['gm','cats','moncheri','dolls','bomba','danilovich'],
 	panties: ['lusso','cats','salacious','fashionista','gm','eroto','danilovich'],
 	shoes: ['moncheri','cats','bomba','dolls','gm','eroto','scandalicious','danilovich'],
+	swimwear: ['allure','danilovich','nerdvana','scandalicious'],
 	purse: ['bomba','cats',	'coco','danilovich','dolls','fashionista','flamingos','gm','moncheri','nerdvana']
 }

+ 6 - 2
sugarcube/src/wardrobe/wardrobe.ts

@@ -66,7 +66,7 @@ class Wardrobe{
 			return new OutfitItemBra();
 		}
 
-		get clothes():OutfitItemClothes{
+		get clothes():OutfitItemClothes|OutfitItemSwimwear{
 			let clothesId = this.wornItemIds.clothes;
 			if(clothesId)
 				return this.item(clothesId) as OutfitItemClothes;
@@ -803,9 +803,13 @@ class Wardrobe{
 		}
 	//#endregion
 
+	get isWearingSwimwear():boolean{
+		return (this.clothes.type == 'swimwear');
+	}
+
 	get ownsSwimmingItem():boolean{
 		//return (this.getList({subtype:'bikini'}).length + this.getList({subtype:'swimsuit'}).length > 0) ? true : false;
-		return (Object.keys(this.itemsFiltered({isSwimwear:true})).length > 0);
+		return (Object.keys(this.itemsFiltered({type:'swimwear'})).length > 0);
 	}
 
 	/**

Some files were not shown because too many files changed in this diff