code:
using System.Collections.Generic;
using System.Linq;
using RJW_Onahole.Utilities;
using UnityEngine;
using Verse;
using RJW_Onahole.Data;

namespace RJW_Onahole
{
    public static class SA0_Settings
    {
        public static Vector2 scrollPosition = Vector2.zero;
        [Unsaved]
        public static Dictionary<string, SA0ScaleDataDef> _defNamesToScales;
        public static Dictionary<string, SA0ScaleDataDef> DefNamesToScales
        {
            get
            {
                if (_defNamesToScales == null)
                {
                    _defNamesToScales = new Dictionary<string, SA0ScaleDataDef>();
                    RJW_Onahole_Settings.SA0Scales.ForEach(def => _defNamesToScales[def.defName] = def);
                }
                return _defNamesToScales;
            }
        }
        [Unsaved]
        public static Dictionary<string, SA0ScaleDataDef> _defaultDefNamesToScales;
        public static Dictionary<string, SA0ScaleDataDef> DefaultDefNamesToScales
        {
            get
            {
                if (_defaultDefNamesToScales == null)
                {
                    _defaultDefNamesToScales = new Dictionary<string, SA0ScaleDataDef>();
                    DefDatabase<SA0ScaleDataDef>.AllDefsListForReading.ForEach(def => _defaultDefNamesToScales[def.defName] = def);
                }
                return _defaultDefNamesToScales;
            }
        }
        public static Vector2 GetScaleFor(string defName)
        {
            if (DefNamesToScales.TryGetValue(defName, out SA0ScaleDataDef scale))
            {
                return new Vector2(scale.x, scale.z);
            }
            if (DefaultDefNamesToScales.TryGetValue(defName, out SA0ScaleDataDef defaultScale))
            {
                return new Vector2(defaultScale.x, defaultScale.z);
            }
            return Vector2.zero;
        }
        public static void SA0_ConfigTab(Rect inRect)
        {
            if (RJW_Onahole_Settings.SA0Scales == null)
            {
                RJW_Onahole_Settings.SA0Scales = new List<SA0ScaleDataDef>();
            }
            Rect scrollViewRect = new Rect(inRect.x, inRect.y, inRect.width, inRect.height - 30f);
            Rect viewRect = new Rect(0f, 0f, inRect.width - 16f, RJW_Onahole_Settings.SA0Scales.Count * 30f);

            Widgets.BeginScrollView(scrollViewRect, ref scrollPosition, viewRect);

            for (int i = 0; i < RJW_Onahole_Settings.SA0Scales.Count; i++)
            {
                Rect rowRect = new Rect(0f, i * 30f, viewRect.width, 30f);

                SA0ScaleDataDef scaleData = RJW_Onahole_Settings.SA0Scales[i];

                // Display defname
                Rect defNameRect = new Rect(rowRect.x, rowRect.y, 400f, rowRect.height);
                Widgets.Label(defNameRect, scaleData.defName.ThingFullLabel());

                // Display x slider
                Rect xLabelRect = new Rect(defNameRect.xMax + 10f, rowRect.y, Text.CalcSize("X " + Tr.Scale + ":0.00").x, rowRect.height);
                Widgets.Label(xLabelRect, "X " + Tr.Scale + ":" + scaleData.x.ToString("F2"));
                Rect xSliderRect = new Rect(xLabelRect.xMax + 10f, rowRect.y, 100f, rowRect.height);
                scaleData.x = Widgets.HorizontalSlider(xSliderRect, scaleData.x, 0f, 1f);

                // Display z slider
                Rect zLabelRect = new Rect(xSliderRect.xMax + 10f, rowRect.y, Text.CalcSize("Z " + Tr.Scale + ":0.00").x, rowRect.height);
                Widgets.Label(zLabelRect, "Z " + Tr.Scale + ":" + scaleData.z.ToString("0.00"));
                Rect zSliderRect = new Rect(zLabelRect.xMax + 10f, rowRect.y, 100f, rowRect.height);
                scaleData.z = Widgets.HorizontalSlider(zSliderRect, scaleData.z, 0f, 1f);

                // Display delete button
                Rect deleteButtonRect = new Rect(zSliderRect.xMax + 10f, rowRect.y, rowRect.height, rowRect.height);
                if (Widgets.ButtonImage(deleteButtonRect, TexButton.Delete))
                {
                    RJW_Onahole_Settings.SA0Scales.RemoveAt(i);
                    DefNamesToScales.Remove(scaleData.defName);
                    i--;
                }
            }

            Widgets.EndScrollView();

            // Add new entry button
            Rect addButtonRect = new Rect(inRect.x, inRect.yMax - 30f, inRect.width, 30f);
            if (Widgets.ButtonText(addButtonRect, "+"))
            {
                IEnumerable<ThingDef> availableRaces = CacheUtility.humanLikeDefs.Where(def => !DefNamesToScales.Keys.Contains(def.defName));
                List<FloatMenuOption> raceOptions = availableRaces.Select(race =>
                    new FloatMenuOption(race.defName.ThingFullLabel(), () =>
                    {
                        SA0ScaleDataDef newScaleData = new SA0ScaleDataDef(){ defName = race.defName, x = 0f, z = 0f };
                        if (DefaultDefNamesToScales.TryGetValue(race.defName, out SA0ScaleDataDef defaultScale))
                        {
                            newScaleData = new SA0ScaleDataDef() { defName = race.defName, x = defaultScale.x, z = defaultScale.z };
                        }
                        RJW_Onahole_Settings.SA0Scales.Add(newScaleData);
                        DefNamesToScales.TryAdd(newScaleData.defName, newScaleData);
                    })
                ).ToList();
                if (raceOptions.Count == 0)
                {
                    raceOptions.Add(new FloatMenuOption("No Other Races", null));
                }
                Find.WindowStack.Add(new FloatMenu(raceOptions));
            }

        }
    }

}


code:
using System;
using UnityEngine;
using HarmonyLib;
using Verse;
using System.Linq;
using RJW_Onahole.Utilities;
using RJW_Onahole.Data;
using rjw;
using AlienRace;
using System.Collections.Generic;

namespace RJW_Onahole
{
    [StaticConstructorOnStartup]
    public static class RimNudeWorld
    {
        public static Harmony Harmony = new Harmony(nameof(RJW_Onahole) + nameof(RimNudeWorld));
        public static RJW_Onahole_Settings Settings;
        static RimNudeWorld()
        {
            Harmony.PatchAll();
        }

    }

    [HarmonyPatch(typeof(ConfigUtility))]
    public static class ConfigUtility_Patch
    {
        private static List<Vector2> offsets = new List<Vector2>()
        {
            new Vector2(-0.012f, 0.036f),
            new Vector2(-0.012f, 0.036f),
            new Vector2(0.002f, 0.036f),
            new Vector2(0.042f, 0.046f),
            new Vector2(0.056f, 0.065f),
            new Vector2(0.087f, 0.113f),
        };
        [HarmonyPostfix]
        [HarmonyPatch(nameof(ConfigUtility.GetPawnTransformData), new Type[] { typeof(Pawn), typeof(HediffDef) })]
        public static void GetPawnTransformData_Postfix(ref TransformData __result, Pawn pawn, HediffDef hediffDef)
        {
            if (hediffDef == OnaholeDefOf.OnaholeMilkingMachine || hediffDef == OnaholeDefOf.OnaholeBreastElectrodes)
            {
                //Get breast size
                Vector2 sizedOffset = GetOffset(pawn) * GetDrawSize(pawn);
                __result.Offset.z -= sizedOffset.y;
                __result.Separation += sizedOffset.x;
            }
        }
        private static Vector2 GetDrawSize(Pawn pawn)
        {
            ThingDef_AlienRace race = DefDatabase<ThingDef_AlienRace>.GetNamed(pawn.kindDef.race.defName);
            if (race == null) { return Vector2.one; }
            foreach (AlienPartGenerator.BodyAddon bodyAddon in race.alienRace.generalSettings.alienPartGenerator.bodyAddons)
            {
                if (bodyAddon.path.Contains("Breasts/Featureless"))
                {
                    return bodyAddon.drawSize;
                }
            }
            return Vector2.one;
        }
        private static Vector2 GetOffset(Pawn pawn)
        {
            float severity = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_breastsBPR(pawn)).FirstOrDefault()?.Severity ?? 0;
            if (severity < 0.01f) { return offsets[0]; }
            if (severity < 0.2f) { return offsets[1]; }
            if (severity < 0.4f) { return offsets[2]; }
            if (severity < 0.6f) { return offsets[3]; }
            if (severity < 0.8f) { return offsets[4]; }
            return offsets[5];
        }

    }
}

repo_name: atainer/rimjobworld

license: mit


code:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net48</TargetFramework>
    <AssemblyName>Onahole_RimNudeWorld</AssemblyName>
  </PropertyGroup>

  <!-- Release build -->
  <PropertyGroup>
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutDir>../../Mods/RimNudeWorld/Assemblies/</OutDir>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>3</WarningLevel>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

  <ItemGroup>
    <Reference Include="0Harmony">
      <HintPath>../../Libs/0Harmony.dll</HintPath>
      <Private>False</Private>
    </Reference>

    <Reference Include="RJW">
      <HintPath>../../Libs/RJW.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="HAR">
      <HintPath>../../Libs/AlienRace.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <!-- The main game code (RimWorld and Verse) -->
    <Reference Include="mscorlib">
      <HintPath>../../RimWorld_Data/Managed/mscorlib.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="Assembly-CSharp">
      <HintPath>../../RimWorld_Data/Managed/Assembly-CSharp.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.CoreModule">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.TextRenderingModule">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.TextRenderingModule.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.IMGUIModule">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.IMGUIModule.dll</HintPath>
      <Private>False</Private>
    </Reference>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\RJW_Onahole\RJW_Onahole.csproj">
      <Private>false</Private>
    </ProjectReference>
  </ItemGroup>
</Project>


code:
from PIL import Image
import math
import os

def combine_images(image_paths, output_path):
    # Load the images
    images = [Image.open(img_path) for img_path in image_paths]

    # Check that all images are the same size
    width, height = images[0].size
    assert all(img.size == (width, height) for img in images), "All images must have the same dimensions."

    # Determine the number of images
    num_images = len(images)

    # Find the smallest power of two greater than or equal to the square root of num_images
    grid_size = int(2**math.ceil(math.log2(math.ceil(math.sqrt(num_images)))))

    # Create a new blank image with the appropriate size to hold the grid
    combined_image = Image.new('RGBA', (grid_size * width, grid_size * height))

    # Populate the combined image grid
    for index, image in enumerate(images):
        x_offset = (index % grid_size) * width
        y_offset = (index // grid_size) * height
        combined_image.paste(image, (x_offset, y_offset))

    # Save the combined image
    combined_image.save(output_path)

def main():
    # Get folder path from the user
    folder_path = input("Enter the path to the folder containing the images: ")

    # Verify that the folder exists
    if not os.path.isdir(folder_path):
        print(f"Error: {folder_path} is not a valid directory.")
        return

    # Get all PNG images in the folder
    image_paths = [os.path.join(folder_path, img) for img in os.listdir(folder_path) if img.endswith(".png")]

    # Check if there are images
    if not image_paths:
        print(f"No PNG images found in {folder_path}")
        return

    # Get the current directory (the script location)
    script_dir = os.path.dirname(os.path.abspath(__file__))

    # Create the output file name based on the input folder name
    folder_name = os.path.basename(os.path.normpath(folder_path))
    output_file_name = folder_name + ".png"
    output_path = os.path.join(script_dir, "..","..", "Textures","Onahole","Animations", output_file_name)

    # Combine the images
    combine_images(image_paths, output_path)

    print(f"Combined image saved to {output_path}")

if __name__ == "__main__":
    main()


code:
using HarmonyLib;
using System;
using System.Collections.Generic;
using RimWorld;
using Verse;
using RJW_Onahole.Utilities;
using System.Linq;
using rjw;
using System.Reflection;

using RJW_Onahole.Render;
using UnityEngine;
using RJW_Onahole.Data;
using Verse.Noise;
using RJWSexperience.Ideology.Filters;
namespace RJW_Onahole
{
    [StaticConstructorOnStartup]
    public static class Sexperience_Ideo
    {
        private static readonly Harmony harmony = new Harmony(nameof(RJW_Onahole) + "." + nameof(Sexperience_Ideo));
        static Sexperience_Ideo()
        {
            harmony.PatchAll();
        }
    }
    /// <summary>
    /// Shambler/other pawns with no ideo
    /// </summary>
    [HarmonyPatch(typeof(RelationFilter))]
    public static class RelationFilter_Patch
    {
        public static MethodBase CheckRelations = AccessTools.Method(typeof(RelationFilter), "CheckRelations");
        [HarmonyPrefix]
        [HarmonyPatch(nameof(RelationFilter.Applies))]
        public static bool Applies_Prefix(RelationFilter __instance, ref bool __result, Pawn pawn, Pawn partner)
        {
            if (pawn.ideo == null || partner.ideo == null)
            {
                __result = (bool)CheckRelations.Invoke(__instance, new object[] { pawn, partner });
                return false;
            }
            return true;
        }
    }
}


code:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net48</TargetFramework>
    <AssemblyName>Onahole_Sexperience_Ideo</AssemblyName>
  </PropertyGroup>

  <!-- Release build -->
  <PropertyGroup>
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutDir>../../Mods/Sexperience_Ideo/Assemblies/</OutDir>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>3</WarningLevel>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

  <ItemGroup>
    <Reference Include="0Harmony">
      <HintPath>../../Libs/0Harmony.dll</HintPath>
      <Private>False</Private>
    </Reference>

    <Reference Include="RJW">
      <HintPath>../../Libs/RJW.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="RJWSexperience.Ideology">
      <HintPath>../../Libs/RJWSexperience.Ideology.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <!-- The main game code (RimWorld and Verse) -->
     <Reference Include="mscorlib">
      <HintPath>../../RimWorld_Data/Managed/mscorlib.dll</HintPath>
      <Private>False</Private>
     </Reference>
    <Reference Include="Assembly-CSharp">
      <HintPath>../../RimWorld_Data/Managed/Assembly-CSharp.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.CoreModule">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.TextRenderingModule">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.TextRenderingModule.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.IMGUIModule">
      <HintPath>../../RimWorld_Data/Managed/UnityEngine.IMGUIModule.dll</HintPath>
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\RJW_Onahole\RJW_Onahole.csproj">
      <Private>false</Private>
    </ProjectReference>
  </ItemGroup>
</Project>


code:
added a changelog

Found out how to upload the img folder directly to the page

Uploaded a new zip folder. For some reason my upload the folder trick isn't working twice. I'm really lost when it comes to this git stuff. Among the new stuff included in the img.zip folder are graphics for the peen, school clothes, new body textures, and panties.

Added messy hair and ballgown

Added Braid Loop hair

repo_name: jordynmordy/degrees

path: CHANGELOG


code:
# Degrees of Lewdity Graphics Mod

***Body-type Update***

I've added the new body types that were breaking the new edition. I've also re-added some old hairstyles and clothes

***Community Update***

I've added some community updates to the img.zip file from here https://gitgud.io/Kaervek/kaervek-beeesss-community-sprite-compilation

****NOTE:****
I warn you now that I'm not very good with computers.

***PROGRESS***

I have made it to the point where I'm happy to release before I waste more time touching things up. The mod(texture pack) should be in a playable state now. Many of the clothes and body writing are just hap-hazardly nudged into place for now. There will likely be some clipping or gaps until I individually fix those. Drawing up new clothing for everything in the game would take way too long to accomplish, so I am settling for this quick fix for now.

Installing the mod is as easy as dragging and dropping the img folder into the Degrees of Lewdity folder

**INSTALLATION**

Drag and Drop the files, make sure that this mod's "img" folder replaces all the files in the game's "img" folder.

**SUPPORT**

Legally, I can't charge you for a mod but please feel free to buy some random asshole coffee.
https://ko-fi.com/beeesss


code:
#include <cctype>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sodium.h>
#include <time.h>
using namespace std;

bool verbose = false;
float xpmulti = 1.5;
float bookxp = 20;
float hoursperday = 8.5;
bool nolife = false;
float offdaychance = 0.25;
int classnumber = 0;
int day = 0;
int totalxp = 0;
int year = 1;
int classtime = 600;
float curyearxpreq = 1;
int ttime = 0;
int globalclasscount = 0;
int spellclasscount = 0;
int xpbooksgotten = 0;
int xpclasscount = 0;
int freetimes = 0;
int skippedclasses = 0;
int gamemakerevents = 0;
int passivexp = 10;
bool passiveonly = true;
int BOOKLOSSPERCENT = 0;
int SKIPCLASS = 5;
int GAMEMAKERPER = 3;
int LOSTBOOK = 1;

float xp_foryear(){
	if (verbose == 1){
		printf("doing xp requirement calculation for year %d\n", year);
		//printf("xp required for year = %f\n", ((10+((year)*(year+1)*90))*xpmulti));
		printf("xp req for year %f\n", (10+(year * (year +1) * 90))*xpmulti);
	}
	//return ((10+((year)*(year+1)*90))*xpmulti);
	//return  (((10+(((year)*(year)+1)*90))))*xpmulti;
	return (10+(year * (year +1) * 90))*xpmulti;

}
void print_time(int time_in_sec){
	int hours = time_in_sec / 3600;
	int remainder = time_in_sec % 3600;
	int mins = remainder / 60;
	if (verbose = 1) {
		printf("%d sec = "  , time_in_sec);
		printf("%d Hours and %d Minutes\n", hours, mins);
	}
	else {
		printf("%d Hours and %d Minutes\n", hours, mins);
	}
}

bool yesorno()
  {
  cout << "Y/N ";
  while (true)
    {
    string s;
    cin >> ws;   // skip any leading whitespace
    getline( cin, s );
    if (s.empty()) continue;
    switch (toupper( s[ 0 ] ))
      {
      case 'Y': return true;
      case 'N': return false;
      }
    cout << "Please enter Y or N ";
    }
  }

int gotoclass(){
	sodium_init();
	uint32_t randomnumber;
	randomnumber = randombytes_uniform(100);
	if (randomnumber < GAMEMAKERPER) {
		if (verbose == 1) {
			printf("Had a game maker event and classes froze for 1 peroid\n");
		}
		ttime = ttime + classtime;
		gamemakerevents++;
		return passivexp * 2;
	}
	if (randomnumber > GAMEMAKERPER) {
		randomnumber = randombytes_uniform(100);
		if (randomnumber < SKIPCLASS) {
			if (classnumber == 6){
				//freetimee
				if (verbose == 1) {
					printf(" freetime no extra xp \n");
				}
				freetimes++;
				ttime = ttime + classtime;
				classnumber = 0;
				return passivexp * 2;
			}
			if (verbose == 1) {
				printf("had a class but skipped it !\n");
			}
			ttime = ttime + classtime;
			skippedclasses++;
			classnumber++;
			return passivexp * 2;
		}
		if (randomnumber > SKIPCLASS){
			if (verbose == 1) {
				printf("going to class %d ", classnumber + 1);
			}
			sodium_init();
			randomnumber = randombytes_uniform(100);
			if (classnumber == 6){
				if (verbose == 1) {
					printf(" freetime no extra xp \n");
				}
				freetimes++;
				ttime = ttime + classtime;
				classnumber = 0;
				return passivexp * 2;
			}
			if (!(classnumber == 6) && (randomnumber > 30)){
				//goto real classnumber
				ttime = ttime + classtime;
				classnumber++;
				sodium_init();
				randomnumber = randombytes_uniform(100);
				if (randomnumber > 56){
					//xp class
					xpclasscount++;
					sodium_init();
					randomnumber = randombytes_uniform(100);
					if (randomnumber > LOSTBOOK) {
						if (verbose == 1){
							printf("got a spell book!\n");
						}
						xpbooksgotten++;
						return (passivexp * 2) + bookxp;
					}
					if (randomnumber < LOSTBOOK) {
						if (verbose == 1) {
							printf(" went to a spell book class but didnt get a book ! :( RARE! \n");
						}
						return passivexp * 2;
					}
				}
				if (randomnumber < 56){
					// spell class
					spellclasscount ++;
					if (verbose == 1) {
						printf("went to a spell class, no extra xp\n");
					}
					return passivexp * 2;
				}
			}
			if (!(classnumber ==6) && (randomnumber <= 30)){
				// goto global
				ttime = ttime + classtime;
				globalclasscount++;
				if (verbose == 1) {
					printf("got a global class, no extra xp\n");
				}
				classnumber++;
				return passivexp * 2;
			}
		}
	}
}
void new_year(){
	printf("welcome to year %d\n",year);
	if ( !(year == 7)){
	curyearxpreq = xp_foryear();
	printf("total xp required to finish this year %d",curyearxpreq);
	totalxp = 0;
	}
}
int main(int argc, char* argv []){
    if (sodium_init() < 0) {
        return 999;
    }
	printf("Welcome to SimHogwarts V0.1!\n");
	printf("THERE MAY BE BUGS IN THIS PROGRAM\n");
	printf("would you like verbose mode? ");
	verbose = yesorno();
	//printf("%d", verbose); // debug
	printf("Please enter per year XP multiplier: ");
	scanf("%f", &xpmulti);
	//printf("%f", xpmulti); //debug
	printf("Please enter book XP (in xp points): ");
	scanf("%f", &bookxp);
	if (verbose == 1){
		printf("Please enter skip class percentage (default 5): ");
		scanf("%d", &SKIPCLASS);
		printf("Please enter game maker event percentage (default 3): ");
		scanf("%d", &GAMEMAKERPER);
		printf("Please enter lost book percentage (went to class but did not get xp book for various reasons) (default 1): ");
		scanf("%d", &LOSTBOOK);
		//printf("Please enter base hours played per day(algo will calculate off days and variations): ");
		//scanf("%f", &hoursperday);
		printf("passive only simulation ? (NO CLASS SIM) ");
		passiveonly = yesorno();
	}
	printf("\nOK STARTING CALCULATIONS ....\n");
	new_year();
	while (year < 7){
		if (curyearxpreq < totalxp) {
			year++;
			new_year();
		}
		if (passiveonly == true){
			//passivexp only
			globalclasscount++;
			ttime = ttime + classtime;
			//printf("%d\n",totalxp);
			totalxp = totalxp + (passivexp * 2);
		}
		if (passiveonly == false){
		totalxp = totalxp + (gotoclass());
		//printf("%d\n",totalxp);
		}
	}
	printf("CONGRATS ! you have reached year 7 in");
	print_time(ttime);
	if (verbose == 1){
		printf("TOTAL GLOBAL CLASSES ATTENDED : \t%d\n",globalclasscount);
		printf("TOTAL SPELL CLASSES ATTENDED : \t%d\n",spellclasscount);
		printf("TOTAL XP BOOK CLASSES ATTENDED \t%d\n", xpclasscount);
		printf("TOTAL XP BOOKS GOTTEN : \t%d\n",xpbooksgotten);
		printf("TOTAL FREETIMES : \t%d\n",freetimes);
		printf("CLASSES SKIPPED : \t%d\n", skippedclasses);
		printf("GAMEMAKER EVENTS : \t%d\n",gamemakerevents);
	}
}

repo_name: Shy/SimHogwarts

license: unknown


code:
# IDE, temp, generated, and other local-only files
.idea/
*.iml
node_modules/
tweego.exe
*.html

* Ignoring working folder for Quin2k
mod/

repo_name: djnjsed/degrees

path: .gitignore


code:
<NotepadPlus>
	<UserLang name="Sugarcube4" ext="twee tw" udlVersion="2.1">
		<Settings>
			<Global caseIgnored="no" allowFoldOfComments="no" foldCompact="yes" forcePureLC="0" decimalSeparator="0" />
			<Prefix Keywords1="yes" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
		</Settings>
		<KeywordLists>
			<Keywords name="Comments">00 01 02 03/% 03/* 03<!-- 04%/ 04*/ 04--></Keywords>
			<Keywords name="Numbers, prefix1"></Keywords>
			<Keywords name="Numbers, prefix2"></Keywords>
			<Keywords name="Numbers, extras1"></Keywords>
			<Keywords name="Numbers, extras2"></Keywords>
			<Keywords name="Numbers, suffix1"></Keywords>
			<Keywords name="Numbers, suffix2"></Keywords>
			<Keywords name="Numbers, range"></Keywords>
			<Keywords name="Operators1">+ - * / = += -= *= /= ++ -- == != === !== > < >= <= ! && || & | ( )</Keywords>
			<Keywords name="Operators2"></Keywords>
			<Keywords name="Folders in code1, open"><<if</Keywords>
			<Keywords name="Folders in code1, middle"></Keywords>
			<Keywords name="Folders in code1, close"><</if>></Keywords>
			<Keywords name="Folders in code2, open"></Keywords>
			<Keywords name="Folders in code2, middle"></Keywords>
			<Keywords name="Folders in code2, close"></Keywords>
			<Keywords name="Folders in comment, open"></Keywords>
			<Keywords name="Folders in comment, middle"></Keywords>
			<Keywords name="Folders in comment, close"></Keywords>
			<Keywords name="Keywords1">$ _</Keywords>
			<Keywords name="Keywords2"></Keywords>
			<Keywords name="Keywords3"></Keywords>
			<Keywords name="Keywords4"></Keywords>
			<Keywords name="Keywords5"></Keywords>
			<Keywords name="Keywords6"></Keywords>
			<Keywords name="Keywords7"></Keywords>
			<Keywords name="Keywords8"></Keywords>
			<Keywords name="Delimiters">00:: 01 02((EOL)) 03<< 04 05>> 06[[ 07 08]] 09< 10 11> 12'' 13 14'' 15// 16 17// 18@@ 19 20@@ 21[img[ 22 23]]</Keywords>
		</KeywordLists>
		<Styles>
			<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="COMMENTS" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
			<WordsStyle name="LINE COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS1" fgColor="004080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
			<WordsStyle name="KEYWORDS2" fgColor="8080C0" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="OPERATORS" fgColor="800040" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
			<WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
			<WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="DELIMITERS1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="5" fontSize="12" nesting="0" />
			<WordsStyle name="DELIMITERS2" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="50334724" />
			<WordsStyle name="DELIMITERS3" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="1024" />
			<WordsStyle name="DELIMITERS4" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="32" />
			<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="16" />
			<WordsStyle name="DELIMITERS7" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
			<WordsStyle name="DELIMITERS8" fgColor="8080FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
		</Styles>
	</UserLang>
</NotepadPlus>


code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="48" height="48" version="1.1" inkscape:version="0.48.0 r9654">
  <defs id="defs4"/>
  <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="11.313708" inkscape:cx="27.203376" inkscape:cy="26.578528" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1280" inkscape:window-height="968" inkscape:window-x="-4" inkscape:window-y="-4" inkscape:window-maximized="1">
	<inkscape:grid type="xygrid" id="grid2985" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true"/>
  </sodipodi:namedview>
  <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-1004.3622)">
	<g id="g3000" transform="translate(-6,1003)">
	  <path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path2987" d="m 30,2.3621826 -20,10.0000004 20,10 20,-10 z" style="fill:#f9f9f9;stroke:none"/>
	  <path style="fill:#ececec;stroke:none" d="m 30,22.362183 0,25 20,-10 0,-25 z" id="path2989" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
	  <path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path2991" d="m 30,22.362183 0,25 -20,-10 0,-25 z" style="fill:#cccccc;stroke:none"/>
	  <path inkscape:connector-curvature="0" id="path2993" d="M 30,2.3749996 10,12.375 l 0,25 20,10 20,-10 0,-25 L 30,2.3749996 z" style="fill:none;stroke:#4d4d4d;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
	</g>
  </g>
  <metadata>
	<rdf:RDF>
	  <cc:Work>
		<dc:format>image/svg+xml</dc:format>
		<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
		<cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
		<dc:publisher>
		  <cc:Agent rdf:about="http://openclipart.org/">
			<dc:title>Open Clip Art Library</dc:title>
		  </cc:Agent>
		</dc:publisher>
		<dc:title>Sugar Cube icon</dc:title>
		<dc:date>2010-10-10T11:46:52</dc:date>
		<dc:description>A sugar cube.</dc:description>
		<dc:source>http://openclipart.org/detail/89407/sugar-cube-icon-by-jhnri4</dc:source>
		<dc:creator>
		  <cc:Agent>
			<dc:title>jhnri4</dc:title>
		  </cc:Agent>
		</dc:creator>
		<dc:subject>
		  <rdf:Bag>
			<rdf:li>SVG</rdf:li>
			<rdf:li>block</rdf:li>
			<rdf:li>clip art</rdf:li>
			<rdf:li>clipart</rdf:li>
			<rdf:li>cube</rdf:li>
			<rdf:li>icon</rdf:li>
			<rdf:li>sugar</rdf:li>
			<rdf:li>white</rdf:li>
		  </rdf:Bag>
		</dc:subject>
	  </cc:Work>
	  <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
		<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
		<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
		<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
	  </cc:License>
	</rdf:RDF>
  </metadata>
</svg>


code:
#!/bin/bash

if [ ! -f "$(command -v tweego)" ]; then
	echo "Cannot find tweego. Please install tweego before compiling."
	exit 1
fi

VERSION="$(git describe --tags --always --dirty)"

TWEEGO_PATH="./StoryFormats" tweego -o "Degrees of Lewdity $VERSION.html" game

path: compile


code:
@set TWEEGO_PATH=%cd%\StoryFormats
@tweego -o "Degrees of Lewdity VERSION.html" game


code:
function colourContainerClasses() {
	var V = State.variables;
	return 'hair-'  + (V.haircolour||'').replace(/ /g,'-') +
		' ' + 'eye-'   + (V.eyecolour||'').replace(/ /g,'-') +
		' ' + 'upper-' + (V.uppercolour||'').replace(/ /g,'-') +
		' ' + 'lower-' + (V.lowercolour||'').replace(/ /g,'-') +
		' ' + 'under-' + (V.undercolour||'').replace(/ /g,'-')
}
window.colourContainerClasses = colourContainerClasses; // export function


code:
:: Widgets Lower Clothing [widget]

<<widget "lowernaked">><<nobr>>
<<lowerstrip>>
<<if $lowertemp is "init">>
<<set $lowertemp to 1>>
<<elseif $lowertemp is 1>>
<<set $lowertemp to 0>>
<</if>>
<<set $lowerclothes to "naked">>
<<set $lowervariable to "naked">>
<<set $lowerintegrity to 0>>
<<set $lowerintegritymax to 0>>
<<set $lowerfabricstrength to 0>>
<<set $lowerreveal to 1000>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to 0>>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to 0>>
<<set $lowervaginaexposed to 1>>
<<set $loweranusexposed to 1>>
<<set $lowerplural to 0>>
<<set $lowercolour to 0>>
<<set $lowerexposed to 2>>
<<set $lowerexposedbase to 2>>
<<set $lowervaginaexposedbase to 1>>
<<set $loweranusexposedbase to 1>>
<<set $lowertype to "naked">>
<<if $clothingchange isnot 1 and $ruined isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<uppernaked>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "n">>
<</nobr>><</widget>>

<<widget "lowersundress">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "sundress skirt">>
<<set $lowervariable to "lowersundress">>
<<set $lowersundressintegritymax to 100>>
<<set $lowerintegritymax to $lowersundressintegritymax>>
<<set $fabricstrength to 30>>
<<set $lowerreveal to 200>>
<<set $lowerword to "a">>
<<set $loweronepiece to 1>>
<<set $lowerstate to "waist">>
<<set $skirt to 1>>
<<set $skirtdown to 1>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 0>>
<<if $lowersundressnew is 1>><<set $lowersundressnew to 0>><<set $lowersundressintegrity to $lowersundressintegritymax>>
<</if>>
<<set $lowercolour to $sundresscolour>>
<<set $lowerintegrity to $lowersundressintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "sundress">>
<<set $lowergender to "f">>
<</nobr>><</widget>>

<<widget "lowerpjs">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "pyjama bottoms">>
<<set $lowervariable to "lowerpjs">>
<<set $lowerpjsintegritymax to 100>>
<<set $lowerintegritymax to $lowerpjsintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 100>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 1>>
<<if $lowerpjsnew is 1>><<set $lowerpjsnew to 0>><<set $lowerpjsintegrity to $lowerpjsintegritymax>><<set $lowerpjscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $lowerpjscolourchoice isnot 0>>
<<set $lowerpjscolour to $lowerpjscolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $lowerpjscolour>>
<<set $lowerintegrity to $lowerpjsintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "sleep">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "n">>
<</nobr>><</widget>>

<<widget "lowertowel">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "towel">>
<<set $lowervariable to "lowertowel">>
<<set $lowertowelintegritymax to 10>>
<<set $lowerintegritymax to $lowertowelintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 800>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 1>>
<<set $skirtdown to 1>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 0>>
<<if $lowertowelnew is 1>><<set $lowertowelnew to 0>><<set $lowertowelintegrity to $lowertowelintegritymax>><<set $lowertowelcolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $lowertowelcolourchoice isnot 0>>
<<set $lowertowelcolour to $lowertowelcolourchoice>>
<<set $lowertowelcolourchoice to 0>>
<</if>>
<</if>>
<<set $lowercolour to $lowertowelcolour>>
<<set $lowerintegrity to $lowertowelintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "n">>
<</nobr>><</widget>>

<<widget "lowerbikini">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "bikini bottoms">>
<<set $lowervariable to "lowerbikini">>
<<set $lowerbikiniintegritymax to 20>>
<<set $lowerintegritymax to $lowerbikiniintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 900>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 1>>
<<if $lowerbikininew is 1>><<set $lowerbikininew to 0>><<set $lowerbikiniintegrity to $lowerbikiniintegritymax>><<set $lowerbikinicolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $lowerbikinicolourchoice isnot 0>>
<<set $lowerbikinicolour to $lowerbikinicolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $lowerbikinicolour>>
<<set $lowerintegrity to $lowerbikiniintegrity>>
<<set $lowerexposed to 1>>
<<set $lowerexposedbase to 1>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<if $undertype isnot "chastity">>
<<underundress>>
<</if>>
<<set $lowergender to "f">>
<</nobr>><</widget>>

<<widget "waistapron">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "waist apron">>
<<set $lowervariable to "waistapron">>
<<set $waistapronintegritymax to 10>>
<<set $lowerintegritymax to $waistapronintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 800>>
<<set $lowerword to "a">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 1>>
<<set $skirtdown to 1>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 1>>
<<set $loweranusexposed to 1>>
<<set $lowerplural to 0>>
<<if $waistapronnew is 1>><<set $waistapronnew to 0>><<set $waistapronintegrity to $waistapronintegritymax>><<set $waistaproncolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $waistaproncolourchoice isnot 0>>
<<set $waistaproncolour to $waistaproncolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $waistaproncolour>>
<<set $lowerintegrity to $waistapronintegrity>>
<<set $lowerexposed to 1>>
<<set $lowerexposedbase to 1>>
<<set $lowervaginaexposedbase to 1>>
<<set $loweranusexposedbase to 1>>
<<set $lowertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "n">>
<</nobr>><</widget>>

<<widget "shorts">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "shorts">>
<<set $lowervariable to "shorts">>
<<set $shortsintegritymax to 120>>
<<set $lowerintegritymax to $shortsintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 300>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 1>>
<<if $shortsnew is 1>><<set $shortsnew to 0>><<set $shortsintegrity to $shortsintegritymax>><<set $shortscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $shortscolourchoice isnot 0>>
<<set $shortscolour to $shortscolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $shortscolour>>
<<set $lowerintegrity to $shortsintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "n">>
<</nobr>><</widget>>

<<widget "schoolshorts">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "school shorts">>
<<set $lowervariable to "schoolshorts">>
<<set $schoolshortsintegritymax to 160>>
<<set $lowerintegritymax to $schoolshortsintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 200>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 1>>
<<if $schoolshortsnew is 1>><<set $schoolshortsnew to 0>><<set $schoolshortsintegrity to $schoolshortsintegritymax>><<set $schoolshortscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $schoolshortscolourchoice isnot 0>>
<<set $schoolshortscolour to $schoolshortscolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $schoolshortscolour>>
<<set $lowerintegrity to $schoolshortsintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "school">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "m">>
<</nobr>><</widget>>

<<widget "schoolskirt">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "school skirt">>
<<set $lowervariable to "schoolskirt">>
<<set $schoolskirtintegritymax to 160>>
<<set $lowerintegritymax to $schoolskirtintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 200>>
<<set $lowerword to "a">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 1>>
<<set $skirtdown to 1>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 0>>
<<if $schoolskirtnew is 1>><<set $schoolskirtnew to 0>><<set $schoolskirtintegrity to $schoolskirtintegritymax>><<set $schoolskirtcolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $schoolskirtcolourchoice isnot 0>>
<<set $schoolskirtcolour to $schoolskirtcolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $schoolskirtcolour>>
<<set $lowerintegrity to $schoolskirtintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "school">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<set $lowergender to "f">>
<</nobr>><</widget>>

<<widget "lowerschoolswimsuit">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "school swimsuit bottom">>
<<set $lowervariable to "lowerschoolswimsuit">>
<<set $lowerschoolswimsuitintegritymax to 40>>
<<set $lowerintegritymax to $lowerschoolswimsuitintegritymax>>
<<set $fabricstrength to 30>>
<<set $lowerreveal to 600>>
<<set $lowerword to "a">>
<<set $loweronepiece to 1>>
<<set $lowerstate to "waist">>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 0>>
<<if $lowerschoolswimsuitnew is 1>><<set $lowerschoolswimsuitnew to 0>><<set $lowerschoolswimsuitintegrity to $lowerschoolswimsuitintegritymax>>
<</if>>
<<set $lowercolour to $schoolswimsuitcolour>>
<<set $lowerintegrity to $lowerschoolswimsuitintegrity>>
<<set $lowerexposed to 1>>
<<set $lowerexposedbase to 1>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "school swimsuit">>
<<if $undertype isnot "chastity">>
<<underundress>>
<</if>>
<<set $lowergender to "f">>
<</nobr>><</widget>>

<<widget "schoolswimshorts">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "school swim shorts">>
<<set $lowervariable to "schoolswimshorts">>
<<set $schoolswimshortsintegritymax to 40>>
<<set $lowerintegritymax to $schoolswimshortsintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 600>>
<<set $lowerword to "n">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 0>>
<<set $skirtdown to 0>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 1>>
<<if $schoolswimshortsnew is 1>><<set $schoolswimshortsnew to 0>><<set $schoolswimshortsintegrity to $schoolswimshortsintegritymax>><<set $schoolswimshortscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $schoolswimshortscolourchoice isnot 0>>
<<set $schoolswimshortscolour to $schoolswimshortscolourchoice>>
<</if>>
<</if>>
<<set $lowercolour to $schoolswimshortscolour>>
<<set $lowerintegrity to $schoolswimshortsintegrity>>
<<set $lowerexposed to 1>>
<<set $lowerexposedbase to 1>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<if $undertype isnot "chastity">>
<<underundress>>
<</if>>
<<set $lowergender to "m">>
<</nobr>><</widget>>

<<widget "lowerplant">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "plant skirt">>
<<set $lowervariable to "lowerplant">>
<<set $lowerplantintegritymax to 10>>
<<set $lowerintegritymax to $lowerplantintegritymax>>
<<set $lowerfabricstrength to 20>>
<<set $lowerreveal to 900>>
<<set $lowerword to "a">>
<<set $loweronepiece to 0>>
<<set $lowerstate to "waist">>
<<set $skirt to 1>>
<<set $skirtdown to 1>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 1>>
<<set $loweranusexposed to 1>>
<<set $lowerplural to 0>>
<<if $lowerplantnew is 1>><<set $lowerplantnew to 0>><<set $lowerplantintegrity to $lowerplantintegritymax>><<set $lowerplantcolour to "green">>
<</if>>
<<set $lowercolour to $lowerplantcolour>>
<<set $lowerintegrity to $lowerplantintegrity>>
<<set $lowerexposed to 1>>
<<set $lowerexposedbase to 1>>
<<set $lowervaginaexposedbase to 1>>
<<set $loweranusexposedbase to 1>>
<<set $lowertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "lower">>
<<if $undertype isnot "chastity">>
<<underundress>>
<</if>>
<<set $lowergender to "n">>
<</nobr>><</widget>>

<<widget "lowereveninggown">><<nobr>>
<<lowerstrip>><<lowerundress>>
<<set $lowerclothes to "evening gown skirt">>
<<set $lowervariable to "lowereveninggown">>
<<set $lowereveninggownintegritymax to 200>>
<<set $lowerintegritymax to $lowereveninggownintegritymax>>
<<set $fabricstrength to 30>>
<<set $lowerreveal to 200>>
<<set $lowerword to "a">>
<<set $loweronepiece to 1>>
<<set $lowerstate to "waist">>
<<set $skirt to 1>>
<<set $skirtdown to 1>>
<<set $lowerstatebase to "waist">>
<<set $lowervaginaexposed to 0>>
<<set $loweranusexposed to 0>>
<<set $lowerplural to 0>>
<<if $lowereveninggownnew is 1>><<set $lowereveninggownnew to 0>><<set $lowereveninggownintegrity to $lowereveninggownintegritymax>>
<</if>>
<<set $lowercolour to $eveninggowncolour>>
<<set $lowerintegrity to $lowereveninggownintegrity>>
<<set $lowerexposed to 0>>
<<set $lowerexposedbase to 0>>
<<set $lowervaginaexposedbase to 0>>
<<set $loweranusexposedbase to 0>>
<<set $lowertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<upperstrip>><<upperundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $lowerset to "evening gown">>
<<set $lowergender to "f">>
<</nobr>><</widget>>


code:
:: Widgets Under Clothing [widget]

<<widget "undernaked">><<nobr>>
	<<if $undertype isnot "chastity">>
<<understrip>>
<<if $undertemp is "init">>
<<set $undertemp to 1>>
<<elseif $undertemp is 1>>
<<set $undertemp to 0>>
<</if>>
<<set $underclothes to "naked">>
<<set $undervariable to "naked">>
<<set $underintegrity to 0>>
<<set $underintegritymax to 0>>
<<set $underfabricstrength to 0>>
<<set $underreveal to 1000>>
<<set $underword to "n">>
<<set $understate to 0>>
<<set $understatebase to 0>>
<<set $undervaginaexposed to 1>>
<<set $underanusexposed to 1>>
<<set $underplural to 0>>
<<set $undercolour to 0>>
<<set $underexposed to 1>>
<<set $underexposedbase to 1>>
<<set $undervaginaexposedbase to 1>>
<<set $underanusexposedbase to 1>>
<<set $undertype to "naked">>
<<set $undergender to "n">>
	<</if>>
<</nobr>><</widget>>

<<widget "plainpanties">><<nobr>>
	<<if $undertype isnot "chastity">>
<<understrip>><<underundress>>
<<set $underclothes to "plain panties">>
<<set $undervariable to "plainpanties">>
<<set $plainpantiesintegritymax to 100>>
<<set $underintegritymax to $plainpantiesintegritymax>>
<<set $underfabricstrength to 15>>
<<set $underreveal to 200>>
<<set $underword to "n">>
<<set $understate to "waist">>
<<set $understatebase to "waist">>
<<set $undervaginaexposed to 0>>
<<set $underanusexposed to 0>>
<<set $underplural to 1>>
<<if $plainpantiesnew is 1>><<set $plainpantiesnew to 0>><<set $plainpantiesintegrity to $plainpantiesintegritymax>><<set $plainpantiescolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $plainpantiescolourchoice isnot 0>>
<<set $plainpantiescolour to $plainpantiescolourchoice>>
<</if>>
<</if>>
<<set $undercolour to $plainpantiescolour>>
<<set $underintegrity to $plainpantiesintegrity>>
<<set $underexposed to 0>>
<<set $underexposedbase to 0>>
<<set $undervaginaexposedbase to 0>>
<<set $underanusexposedbase to 0>>
<<set $undertype to "normal">>
<<if $lowertype is "swim">>
	<<if $upperset is $lowerset>>
	<<uppernaked>>
	<</if>>
<<lowerundress>>
<</if>>
<<set $undergender to "f">>
	<</if>>
<</nobr>><</widget>>

<<widget "lacepanties">><<nobr>>
	<<if $undertype isnot "chastity">>
<<understrip>><<underundress>>
<<set $underclothes to "lace panties">>
<<set $undervariable to "lacepanties">>
<<set $lacepantiesintegritymax to 60>>
<<set $underintegritymax to $lacepantiesintegritymax>>
<<set $underfabricstrength to 15>>
<<set $underreveal to 400>>
<<set $underword to "n">>
<<set $understate to "waist">>
<<set $understatebase to "waist">>
<<set $undervaginaexposed to 0>>
<<set $underanusexposed to 0>>
<<set $underplural to 1>>
<<if $lacepantiesnew is 1>><<set $lacepantiesnew to 0>><<set $lacepantiesintegrity to $lacepantiesintegritymax>><<set $lacepantiescolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $lacepantiescolourchoice isnot 0>>
<<set $lacepantiescolour to $lacepantiescolourchoice>>
<</if>>
<</if>>
<<set $undercolour to $lacepantiescolour>>
<<set $underintegrity to $lacepantiesintegrity>>
<<set $underexposed to 0>>
<<set $underexposedbase to 0>>
<<set $undervaginaexposedbase to 0>>
<<set $underanusexposedbase to 0>>
<<set $undertype to "normal">>
<<if $lowertype is "swim">>
	<<if $upperset is $lowerset>>
	<<uppernaked>>
	<</if>>
<<lowerundress>>
<</if>>
<<set $undergender to "f">>
	<</if>>
<</nobr>><</widget>>

<<widget "yfronts">><<nobr>>
	<<if $undertype isnot "chastity">>
<<understrip>><<underundress>>
<<set $underclothes to "Y fronts">>
<<set $undervariable to "yfronts">>
<<set $yfrontsintegritymax to 100>>
<<set $underintegritymax to $yfrontsintegritymax>>
<<set $underfabricstrength to 15>>
<<set $underreveal to 200>>
<<set $underword to "n">>
<<set $understate to "waist">>
<<set $understatebase to "waist">>
<<set $undervaginaexposed to 0>>
<<set $underanusexposed to 0>>
<<set $underplural to 1>>
<<if $yfrontsnew is 1>><<set $yfrontsnew to 0>><<set $yfrontsintegrity to $yfrontsintegritymax>><<set $yfrontscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $yfrontscolourchoice isnot 0>>
<<set $yfrontscolour to $yfrontscolourchoice>>
<</if>>
<</if>>
<<set $undercolour to $yfrontscolour>>
<<set $underintegrity to $yfrontsintegrity>>
<<set $underexposed to 0>>
<<set $underexposedbase to 0>>
<<set $undervaginaexposedbase to 0>>
<<set $underanusexposedbase to 0>>
<<set $undertype to "normal">>
<<if $lowertype is "swim">>
	<<if $upperset is $lowerset>>
	<<uppernaked>>
	<</if>>
<<lowerundress>>
<</if>>
<<set $undergender to "m">>
	<</if>>
<</nobr>><</widget>>

<<widget "chastitybelt">><<nobr>>
	<<if $undertype isnot "chastity">>
<<understrip>><<underundress>>
<<set $underclothes to "chastity belt">>
<<set $undervariable to "chastitybelt">>
<<set $chastitybeltintegritymax to 2000>>
<<set $underintegritymax to $chastitybeltintegritymax>>
<<set $underfabricstrength to 15>>
<<set $underreveal to 1000>>
<<set $underword to "a">>
<<set $understate to "chastity">>
<<set $understatebase to "chastity">>
<<set $undervaginaexposed to 0>>
<<set $undervaginaexposedbase to 0>>
<<if $analshield is 1>>
<<set $underanusexposed to 0>>
<<set $underanusexposedbase to 0>>
<<else>>
<<set $underanusexposed to 1>>
<<set $underanusexposedbase to 1>>
<</if>>
<<set $underplural to 0>>
<<if $chastitybeltnew is 1>><<set $chastitybeltnew to 0>><<set $chastitybeltintegrity to $chastitybeltintegritymax>>
<</if>>
<<set $undercolour to "restrictive">>
<<set $underintegrity to $chastitybeltintegrity>>
<<set $underexposed to 1>>
<<set $underexposedbase to 1>>
<<set $undertype to "chastity">>
<<set $undergender to "n">>
	<</if>>
<</nobr>><</widget>>

<<widget "tights">><<nobr>>
	<<if $undertype isnot "chastity">>
<<understrip>><<underundress>>
<<set $underclothes to "tights">>
<<set $undervariable to "tights">>
<<set $tightsintegritymax to 120>>
<<set $underintegritymax to $tightsintegritymax>>
<<set $underfabricstrength to 5>>
<<set $underreveal to 800>>
<<set $underword to "n">>
<<set $understate to "waist">>
<<set $understatebase to "waist">>
<<set $undervaginaexposed to 0>>
<<set $underanusexposed to 0>>
<<set $underplural to 1>>
<<if $tightsnew is 1>><<set $tightsnew to 0>><<set $tightsintegrity to $tightsintegritymax>><<set $tightscolour to "sheer">>
<<if $tightscolourchoice isnot 0>>
<<set $tightscolour to $tightscolourchoice>>
<</if>>
<</if>>
<<set $undercolour to $tightscolour>>
<<set $underintegrity to $tightsintegrity>>
<<set $underexposed to 1>>
<<set $underexposedbase to 1>>
<<set $undervaginaexposedbase to 0>>
<<set $underanusexposedbase to 0>>
<<set $undertype to "normal">>
<<if $lowertype is "swim">>
	<<if $upperset is $lowerset>>
	<<uppernaked>>
	<</if>>
<<lowerundress>>
<</if>>
<<set $undergender to "f">>
	<</if>>
<</nobr>><</widget>>


code:
:: Widgets Upper Clothing [widget]

<<widget "uppernaked">><<nobr>>
<<upperstrip>>
<<if $uppertemp is "init">>
<<set $uppertemp to 1>>
<<elseif $uppertemp is 1>>
<<set $uppertemp to 0>>
<</if>>
<<set $upperclothes to "naked">>
<<set $uppervariable to "naked">>
<<set $upperintegrity to 0>>
<<set $upperintegritymax to 0>>
<<set $upperfabricstrength to 0>>
<<set $upperreveal to 1000>>
<<set $upperword to "n">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 0>>
<<set $upperstate to 0>>
<<set $upperstatetop to 0>>
<<set $upperstatebase to 0>>
<<set $upperstatetopbase to 0>>
<<set $upperplural to 0>>
<<set $uppercolour to 0>>
<<set $upperexposed to 2>>
<<set $upperexposedbase to 2>>
<<set $uppertype to "naked">>
<<if $clothingchange isnot 1 and $ruined isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowernaked>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>

<<widget "uppersundress">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "sundress">>
<<set $uppervariable to "uppersundress">>
<<set $uppersundressintegritymax to 100>>
<<set $upperintegritymax to $uppersundressintegritymax>>
<<set $upperfabricstrength to 30>>
<<set $upperreveal to 200>>
<<set $upperword to "a">>
<<set $upperonepiece to 1>>
<<set $strap to 1>>
<<set $open to 1>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $uppersundressnew is 1>><<set $uppersundressnew to 0>><<set $uppersundressintegrity to $uppersundressintegritymax>>
<<set $sundresscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $sundresscolourchoice isnot 0>>
<<set $sundresscolour to $sundresscolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $sundresscolour>>
<<set $upperintegrity to $uppersundressintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "sundress">>
<<set $uppergender to "f">>
<</nobr>><</widget>>

<<widget "upperpjs">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "pyjama shirt">>
<<set $uppervariable to "upperpjs">>
<<set $upperpjsintegritymax to 100>>
<<set $upperintegritymax to $upperpjsintegritymax>>
<<set $upperfabricstrength to 20>>
<<set $upperreveal to 100>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 0>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $upperpjsnew is 1>><<set $upperpjsnew to 0>><<set $upperpjsintegrity to $upperpjsintegritymax>>
<<set $upperpjscolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $upperpjscolourchoice isnot 0>>
<<set $upperpjscolour to $upperpjscolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $upperpjscolour>>
<<set $upperintegrity to $upperpjsintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "sleep">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>

<<widget "uppertowel">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "towel">>
<<set $uppervariable to "uppertowel">>
<<set $uppertowelintegritymax to 10>>
<<set $upperintegritymax to $uppertowelintegritymax>>
<<set $upperfabricstrength to 20>>
<<set $upperreveal to 800>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 1>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $uppertowelnew is 1>><<set $uppertowelnew to 0>><<set $uppertowelintegrity to $uppertowelintegritymax>>
<<set $uppertowelcolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $uppertowelcolourchoice isnot 0>>
<<set $uppertowelcolour to $uppertowelcolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $uppertowelcolour>>
<<set $upperintegrity to $uppertowelintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>

<<widget "upperbikini">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "bikini top">>
<<set $uppervariable to "upperbikini">>
<<set $upperbikiniintegritymax to 20>>
<<set $upperintegritymax to $upperbikiniintegritymax>>
<<set $upperfabricstrength to 20>>
<<set $upperreveal to 900>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 1>>
<<set $open to 1>>
<<set $upperstate to "midriff">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "midriff">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $upperbikininew is 1>><<set $upperbikininew to 0>><<set $upperbikiniintegrity to $upperbikiniintegritymax>><<set $upperbikinicolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $upperbikinicolourchoice isnot 0>>
<<set $upperbikinicolour to $upperbikinicolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $upperbikinicolour>>
<<set $upperintegrity to $upperbikiniintegrity>>
<<set $upperexposed to 1>>
<<set $upperexposedbase to 1>>
<<set $uppertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "f">>
<</nobr>><</widget>>

<<widget "tshirt">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "t-shirt">>
<<set $uppervariable to "tshirt">>
<<set $tshirtintegritymax to 100>>
<<set $upperintegritymax to $tshirtintegritymax>>
<<set $upperfabricstrength to 20>>
<<set $upperreveal to 200>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 0>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $tshirtnew is 1>><<set $tshirtnew to 0>><<set $tshirtintegrity to $tshirtintegritymax>>
<<set $tshirtcolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $tshirtcolourchoice isnot 0>>
<<set $tshirtcolour to $tshirtcolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $tshirtcolour>>
<<set $upperintegrity to $tshirtintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>

<<widget "schoolshirt">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "school shirt">>
<<set $uppervariable to "schoolshirt">>
<<set $schoolshirtintegritymax to 200>>
<<set $upperintegritymax to $schoolshirtintegritymax>>
<<set $upperfabricstrength to 30>>
<<set $upperreveal to 100>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 0>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $schoolshirtnew is 1>><<set $schoolshirtnew to 0>>
<<set $schoolshirtintegrity to $schoolshirtintegritymax>>
<<set $schoolshirtcolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $schoolshirtcolourchoice isnot 0>>
<<set $schoolshirtcolour to $schoolshirtcolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $schoolshirtcolour>>
<<set $upperintegrity to $schoolshirtintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "school">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>

<<widget "upperschoolswimsuit">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "school swimsuit">>
<<set $uppervariable to "upperschoolswimsuit">>
<<set $upperschoolswimsuitintegritymax to 40>>
<<set $upperintegritymax to $upperschoolswimsuitintegritymax>>
<<set $upperfabricstrength to 30>>
<<set $upperreveal to 600>>
<<set $upperword to "a">>
<<set $upperonepiece to 1>>
<<set $strap to 1>>
<<set $open to 1>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $upperschoolswimsuitnew is 1>><<set $upperschoolswimsuitnew to 0>><<set $upperschoolswimsuitintegrity to $upperschoolswimsuitintegritymax>>
<<set $schoolswimsuitcolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $schoolswimsuitcolourchoice isnot 0>>
<<set $schoolswimsuitcolour to $schoolswimsuitcolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $schoolswimsuitcolour>>
<<set $upperintegrity to $upperschoolswimsuitintegrity>>
<<set $upperexposed to 1>>
<<set $upperexposedbase to 1>>
<<set $uppertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "school swimsuit">>
<<set $uppergender to "f">>
<</nobr>><</widget>>

<<widget "upperplant">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "plant top">>
<<set $uppervariable to "upperplant">>
<<set $upperplantintegritymax to 10>>
<<set $upperintegritymax to $upperplantintegritymax>>
<<set $upperfabricstrength to 20>>
<<set $upperreveal to 900>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 1>>
<<set $upperstate to "midriff">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "midriff">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $upperplantnew is 1>><<set $upperplantnew to 0>><<set $upperplantintegrity to $upperplantintegritymax>>
<</if>>
<<set $upperplantcolour to "green">>
<<set $uppercolour to $upperplantcolour>>
<<set $upperintegrity to $upperplantintegrity>>
<<set $upperexposed to 1>>
<<set $upperexposedbase to 1>>
<<set $uppertype to "swim">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>

<<widget "uppereveninggown">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "evening gown">>
<<set $uppervariable to "uppereveninggown">>
<<set $uppereveninggownintegritymax to 200>>
<<set $upperintegritymax to $uppereveninggownintegritymax>>
<<set $upperfabricstrength to 30>>
<<set $upperreveal to 500>>
<<set $upperword to "a">>
<<set $upperonepiece to 1>>
<<set $strap to 1>>
<<set $open to 1>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $uppereveninggownnew is 1>><<set $uppereveninggownnew to 0>><<set $uppereveninggownintegrity to $uppereveninggownintegritymax>>
<<set $eveninggowncolour to either("blue", "white", "red", "green", "black", "pink", "purple", "tangerine", "yellow")>>
<<if $eveninggowncolourchoice isnot 0>>
<<set $eveninggowncolour to $eveninggowncolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $eveninggowncolour>>
<<set $upperintegrity to $uppereveninggownintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "evening gown">>
<<set $uppergender to "f">>
<</nobr>><</widget>>

<<widget "tanktop">><<nobr>>
<<upperstrip>><<upperundress>>
<<set $upperclothes to "tank top">>
<<set $uppervariable to "tanktop">>
<<set $tanktopintegritymax to 100>>
<<set $upperintegritymax to $tanktopintegritymax>>
<<set $upperfabricstrength to 20>>
<<set $upperreveal to 300>>
<<set $upperword to "a">>
<<set $upperonepiece to 0>>
<<set $strap to 0>>
<<set $open to 0>>
<<set $upperstate to "waist">>
<<set $upperstatetop to "chest">>
<<set $upperstatebase to "waist">>
<<set $upperstatetopbase to "chest">>
<<set $upperplural to 0>>
<<if $tanktopnew is 1>><<set $tanktopnew to 0>><<set $tanktopintegrity to $tanktopintegritymax>>
<<set $tanktopcolour to either("black", "blue", "green", "pink", "purple", "red", "tangerine", "white", "yellow")>>
<<if $tanktopcolourchoice isnot 0>>
<<set $tanktopcolour to $tanktopcolourchoice>>
<</if>>
<</if>>
<<set $uppercolour to $tanktopcolour>>
<<set $upperintegrity to $tanktopintegrity>>
<<set $upperexposed to 0>>
<<set $upperexposedbase to 0>>
<<set $uppertype to "normal">>
<<if $clothingchange isnot 1>>
	<<if $upperset is $lowerset>>
	<<set $clothingchange to 1>><<lowerstrip>><<lowerundress>>
	<</if>>
<</if>>
<<set $clothingchange to 0>>
<<set $upperset to "upper">>
<<set $uppergender to "n">>
<</nobr>><</widget>>


code:
:: Widgets Img [widget]
<<widget "img">><<nobr>>

<<if $spray gte 1>>

<<elseif $spraymax gte 1>>

<</if>>
<<if $spray gte 2>>

<<elseif $spraymax gte 2>>

<</if>>
<<if $spray gte 3>>

<<elseif $spraymax gte 3>>

<</if>>
<<if $spray gte 4>>

<<elseif $spraymax gte 4>>

<</if>>
<<if $spray gte 5>>

<<elseif $spraymax gte 5>>

<</if>>

<<if $uppertype is "naked">>
	<<if $breastsize gte 12>>

	<<elseif $breastsize gte 8>>

	<<elseif $breastsize gte 6>>

	<<elseif $breastsize gte 4>>

	<<elseif $breastsize gte 3>>

	<<elseif $breastsize gte 1>>

	<</if>>
<</if>>

<<if $leftarm isnot "bound">>
	<<if $masturbationimages is 1>>
		<<if $leftaction is "mpenisentrance">>

		<<elseif $leftaction is "mvaginaentrance">>

		<<elseif $leftaction is "manus">>

		<<elseif $leftaction is "manusentrance">>

		<<elseif $leftaction is "manusrub">>

		<<elseif $leftaction is "manustease">>

		<<elseif $leftaction is "manusprostate">>

		<<elseif $leftaction is "mpenisshaft">>

		<<elseif $leftaction is "mpenisglans">>

		<<elseif $leftaction is "mvagina">>

		<<elseif $leftaction is "mvaginaclit">>

		<<elseif $leftaction is "mvaginatease">>

		<</if>>
	<<elseif $exhibitionism gte 95 and $exhibitionismaction isnot "embarrassed" and $exposed gte 2>>

	<<elseif $exhibitionism gte 55 and $exposed is 1 and $lightexhibitionismaction isnot "embarrassed">>

	<<elseif $upperexposed gte 1 and $exposed gte 1>>

	<<else>>

	<</if>>
<</if>>

<<if $rightarm isnot "bound">>
	<<if $masturbationimages is 1>>
		<<if $rightaction is "mpenisentrance">>

		<<elseif $rightaction is "mvaginaentrance">>

		<<elseif $rightaction is "manus">>

		<<elseif $rightaction is "manusentrance">>

		<<elseif $rightaction is "manusrub">>

		<<elseif $rightaction is "manustease">>

		<<elseif $rightaction is "manusprostate">>

		<<elseif $rightaction is "mpenisshaft">>

		<<elseif $rightaction is "mpenisglans">>

		<<elseif $rightaction is "mvagina">>

		<<elseif $rightaction is "mvaginaclit">>

		<<elseif $rightaction is "mvaginatease">>

		<</if>>
	<<elseif $exhibitionism gte 95 and $exhibitionismaction isnot "embarrassed" and $exposed gte 2>>

	<<elseif $exhibitionism gte 55 and $exposed is 1 and $lightexhibitionismaction isnot "embarrassed">>

	<<elseif $lowerexposed gte 1 and $exposed gte 1>>

	<<else>>

	<</if>>
<</if>>

<<if $pain gte 80>>

<<elseif $pain gte 60>>

<<elseif $pain gte 40>>

<<elseif $pain gte 20>>

<</if>>

<<if $arousal gte 8000>>

<<elseif $arousal gte 6000>>

<<elseif $arousal gte 4000>>

<<elseif $exposed gte 2>>

<<elseif $arousal gte 2000>>

<<elseif $exposed gte 1>>

<<elseif $arousal gte 100>>

<</if>>

<<if $pain gte 100>>

<</if>>

<<if $trauma gte $traumamax>>

<<elseif $orgasmdown gte 1>>

<<elseif $pain gte 80>>

<<elseif $pain gte 60>>

<<elseif $pain gte 40>>

<<elseif $pain gte 20>>

<<elseif $exposed is 2 and $exhibitionismaction is "embarrassed">>

<<elseif $pain gte 1>>

<<elseif $exposed is 1 and $lightexhibitionismaction is "embarrassed">>

<<elseif $combat is 1 and $consensual isnot 1>>

<<else>>

<</if>>

<<if $trauma gte $traumamax>>

<<else>>

<</if>>

<<if $pain gte 100>>

<</if>>

<<if $vaginasemen + $vaginagoo gte 5>>

<<elseif $vaginasemen + $vaginagoo gte 4>>

<<elseif $vaginasemen + $vaginagoo gte 3>>

<<elseif $vaginasemen + $vaginagoo gte 2>>

<<elseif $vaginasemen + $vaginagoo gte 1>>

<</if>>

<<if $anussemen + $anusgoo gte 5>>

<<elseif $anussemen + $anusgoo gte 4>>

<<elseif $anussemen + $anusgoo gte 3>>

<<elseif $anussemen + $anusgoo gte 2>>

<<elseif $anussemen + $anusgoo gte 1>>

<</if>>

<<if $mouthsemen + $mouthgoo gte 5>>

<<elseif $mouthsemen + $mouthgoo gte 4>>

<<elseif $mouthsemen + $mouthgoo gte 3>>

<<elseif $mouthsemen + $mouthgoo gte 2>>

<<elseif $mouthsemen + $mouthgoo gte 1>>

<</if>>

<<if $fallenangel gte 2>>

<</if>>

<<if $angel gte 4>>

<</if>>

<<if $angel gte 6>>

<</if>>

<<if $demon gte 2>>

<</if>>

<<if $demon gte 4>>

<</if>>

<<if $demon gte 6>>

<</if>>

<<if $wolfgirl gte 4>>

	<<if $hirsutedisable is "f">>

	<</if>>

<</if>>

<<if $wolfgirl gte 6>>

<</if>>

<<if $hairposition is "front">>
	<<if $hairlength gte 900>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 700>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 600>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 400>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 200>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<else>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<</if>>
<<else>>
	<<if $hairlength gte 900>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 700>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 600>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 400>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<elseif $hairlength gte 200>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<<else>>
		<<if $hairtype is "straight">>

		<<else>>

		<</if>>

	<</if>>

<</if>>

<<if $fringelength gte 900>>
	<<if $fringetype is "hime">>

	<</if>>

<<elseif $fringelength gte 700>>
	<<if $fringetype is "hime">>

	<</if>>

<<elseif $fringelength gte 600>>
	<<if $fringetype is "hime">>

	<</if>>

<<elseif $fringelength gte 400>>
	<<if $fringetype is "hime">>

	<</if>>

<<elseif $fringelength gte 200>>
	<<if $fringetype is "hime">>

	<</if>>

<<else>>
	<<if $fringetype is "hime">>

	<</if>>

<</if>>

<<if $trauma gte $traumamax>>

<<elseif $pain gte 60>>

<<elseif $pain gte 20>>

<<else>>

<</if>>

<<if $underwetstage gte 3>>
	<<if $undercolour is "green">>
		<<set $undercolour to "wetgreen">>
	<<elseif $undercolour is "red">>
		<<set $undercolour to "wetred">>
	<<elseif $undercolour is "white">>
		<<set $undercolour to "wetwhite">>
	<<elseif $undercolour is "blue">>
		<<set $undercolour to "wetblue">>
	<<elseif $undercolour is "yellow">>
		<<set $undercolour to "wetyellow">>
	<<elseif $undercolour is "pink">>
		<<set $undercolour to "wetpink">>
	<<elseif $undercolour is "purple">>
		<<set $undercolour to "wetpurple">>
	<<elseif $undercolour is "tangerine">>
		<<set $undercolour to "wettangerine">>
	<<elseif $undercolour is "black">>
		<<set $undercolour to "wetblack">>
	<</if>>
	<<underclothesimg>>
<<else>>
	<<if $undercolour is "wetgreen">>
		<<set $undercolour to "green">>
	<<elseif $undercolour is "wetred">>
		<<set $undercolour to "red">>
	<<elseif $undercolour is "wetwhite">>
		<<set $undercolour to "white">>
	<<elseif $undercolour is "wetblue">>
		<<set $undercolour to "blue">>
	<<elseif $undercolour is "wetyellow">>
		<<set $undercolour to "yellow">>
	<<elseif $undercolour is "wetpink">>
		<<set $undercolour to "pink">>
	<<elseif $undercolour is "wetpurple">>
		<<set $undercolour to "purple">>
	<<elseif $undercolour is "wettangerine">>
		<<set $undercolour to "tangerine">>
	<<elseif $undercolour is "wetblack">>
		<<set $undercolour to "black">>
	<</if>>
	<<underclothesimg>>
<</if>>

<<if $lowerwetstage gte 3>>
	<<if $lowercolour is "green">>
		<<set $lowercolour to "wetgreen">>
	<<elseif $lowercolour is "red">>
		<<set $lowercolour to "wetred">>
	<<elseif $lowercolour is "white">>
		<<set $lowercolour to "wetwhite">>
	<<elseif $lowercolour is "blue">>
		<<set $lowercolour to "wetblue">>
	<<elseif $lowercolour is "yellow">>
		<<set $lowercolour to "wetyellow">>
	<<elseif $lowercolour is "pink">>
		<<set $lowercolour to "wetpink">>
	<<elseif $lowercolour is "purple">>
		<<set $lowercolour to "wetpurple">>
	<<elseif $lowercolour is "tangerine">>
		<<set $lowercolour to "wettangerine">>
	<<elseif $lowercolour is "black">>
		<<set $lowercolour to "wetblack">>
	<</if>>
	<<lowerclothesimg>>
<<else>>
	<<if $lowercolour is "wetgreen">>
		<<set $lowercolour to "green">>
	<<elseif $lowercolour is "wetred">>
		<<set $lowercolour to "red">>
	<<elseif $lowercolour is "wetwhite">>
		<<set $lowercolour to "white">>
	<<elseif $lowercolour is "wetblue">>
		<<set $lowercolour to "blue">>
	<<elseif $lowercolour is "wetyellow">>
		<<set $lowercolour to "yellow">>
	<<elseif $lowercolour is "wetpink">>
		<<set $lowercolour to "pink">>
	<<elseif $lowercolour is "wetpurple">>
		<<set $lowercolour to "purple">>
	<<elseif $lowercolour is "wettangerine">>
		<<set $lowercolour to "tangerine">>
	<<elseif $lowercolour is "wetblack">>
		<<set $lowercolour to "black">>
	<</if>>
	<<lowerclothesimg>>
<</if>>

<<if $upperwetstage gte 3>>
	<<if $uppercolour is "green">>
		<<set $uppercolour to "wetgreen">>
	<<elseif $uppercolour is "red">>
		<<set $uppercolour to "wetred">>
	<<elseif $uppercolour is "white">>
		<<set $uppercolour to "wetwhite">>
	<<elseif $uppercolour is "blue">>
		<<set $uppercolour to "wetblue">>
	<<elseif $uppercolour is "yellow">>
		<<set $uppercolour to "wetyellow">>
	<<elseif $uppercolour is "pink">>
		<<set $uppercolour to "wetpink">>
	<<elseif $uppercolour is "purple">>
		<<set $uppercolour to "wetpurple">>
	<<elseif $uppercolour is "tangerine">>
		<<set $uppercolour to "wettangerine">>
	<<elseif $uppercolour is "black">>
		<<set $uppercolour to "wetblack">>
	<</if>>
	<<upperclothesimg>>
<<else>>
	<<if $uppercolour is "wetgreen">>
		<<set $uppercolour to "green">>
	<<elseif $uppercolour is "wetred">>
		<<set $uppercolour to "red">>
	<<elseif $uppercolour is "wetwhite">>
		<<set $uppercolour to "white">>
	<<elseif $uppercolour is "wetblue">>
		<<set $uppercolour to "blue">>
	<<elseif $uppercolour is "wetyellow">>
		<<set $uppercolour to "yellow">>
	<<elseif $uppercolour is "wetpink">>
		<<set $uppercolour to "pink">>
	<<elseif $uppercolour is "wetpurple">>
		<<set $uppercolour to "purple">>
	<<elseif $uppercolour is "wettangerine">>
		<<set $uppercolour to "tangerine">>
	<<elseif $uppercolour is "wetblack">>
		<<set $uppercolour to "black">>
	<</if>>
	<<upperclothesimg>>
<</if>>

<<if $collared is 1>>

<</if>>

<<if $exposed gte 2 and $penisexist is 1>>
	<<if $penilevirginity is 1>>

	<<else>>

	<</if>>
<</if>>

<<if $chestparasite is 1>>

<</if>>

<<if $penisparasite is 1 and $exposed gte 2>>

<</if>>

<<if $clitparasite is 1 and $exposed gte 2>>

<</if>>

<<if $headacc is "hairpin">>

<</if>>

<<if $headacc is "beanie">>

<</if>>

<<if $faceacc is "glasses">>

<</if>>

<<if $faceacc is "cool shades">>

<</if>>

<<if $legsacc is "boys gym socks">>

<</if>>

<<if $legsacc is "girls gym socks">>

<</if>>

<<if $legsacc is "stockings">>

<</if>>

<<if $legsacc is "fishnet stockings">>

<</if>>

<<if $feetacc is "black shoes">>

<</if>>

<</nobr>><</widget>>

:: Widgets Combat Clothes Img [widget]
<<widget "clothesidle">><<nobr>>

<<if $upperset is $lowerset and $skirt is 1>>
	<<if $upperstate is "waist">>
		<<if $skirtdown is 1>>

		<<elseif $skirtdown is 0>>

		<</if>>
	<<elseif $upperstate is "midriff">>

	<<elseif $upperstate is "chest">>

	<</if>>
<</if>>

<<if $lowerclothes is "bikini bottoms">>

<<elseif $lowertype isnot "naked" and $upperset isnot $lowerset>>
	<<if $skirt is 1 and $skirtdown is 0 and $lowerstate is "waist">>

	<<elseif $skirt is 1 and $lowerstate is "waist">>

	<<elseif $skirt is 1 and $lowerstate is "thighs">>

	<<elseif $skirt is 1 and $lowerstate is "knees">>

	<<elseif $skirt is 1 and $lowerstate is "ankles">>

	<<elseif $lowerstate is "waist">>

	<<elseif $lowerstate is "thighs">>

	<<elseif $lowerstate is "knees">>

	<<elseif $lowerstate is "ankles">>

	<</if>>
<</if>>

<<if $undertype isnot "naked" and $undertype isnot "chastity">>
	<<if $understate is "waist">>

	<<elseif $understate is "thighs">>

	<<elseif $understate is "knees">>

	<<elseif $understate is "ankles">>

	<</if>>
<</if>>

<<if $upperclothes is "bikini top">>

	<<if $upperstate isnot "chest" and $upperstate isnot "midriff">>

	<<else>>

	<</if>>

<<elseif $uppertype isnot "naked" and $upperset isnot $lowerset>>
	<<if $leftarm isnot "bound" and $leftarm isnot "grappled">>
		<<if $upperstate is "waist">>

		<<else>>

		<</if>>
	<<else>>
		<<if $upperstate is "waist">>

		<<else>>

		<</if>>
	<</if>>
<</if>>

<</nobr>><</widget>>

:: Widgets Clothes Img [widget]
<<widget "underclothesimg">><<nobr>>

<<if $underclothes is "plain panties">>
	<<if $underintegrity lte ($underintegritymax / 10) * 2>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 5>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $underclothes is "lace panties">>
	<<if $underintegrity lte ($underintegritymax / 10) * 2>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 5>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $underclothes is "Y fronts">>
	<<if $underintegrity lte ($underintegritymax / 10) * 2>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 5>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $underclothes is "tights">>
	<<if $underintegrity lte ($underintegritymax / 10) * 2>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 5>>

	<<elseif $underintegrity lte ($underintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $underclothes is "chastity belt">>

<<else>>
<</if>>

<</nobr>><</widget>>

<<widget "lowerclothesimg">><<nobr>>

<<if $lowerclothes is "bikini bottoms">>

<<elseif $lowerclothes is "pyjama bottoms">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "shorts">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "sundress skirt">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "towel">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "waist apron">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "school shorts">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "school skirt">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "school swimsuit bottom">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $lowerclothes is "school swim shorts">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $lowerclothes is "evening gown skirt">>
	<<if $lowerintegrity lte ($lowerintegritymax / 10) * 2>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 5>>

	<<elseif $lowerintegrity lte ($lowerintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $lowerclothes is "plant skirt">>

<<else>>
<</if>>

<</nobr>><</widget>>

<<widget "upperclothesimg">><<nobr>>

<<if $upperclothes is "bikini top">>

<<elseif $upperclothes is "pyjama shirt">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $upperclothes is "sundress">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $upperclothes is "towel">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $upperclothes is "t-shirt">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $upperclothes is "school swimsuit">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>
<<elseif $upperclothes is "school shirt">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $upperclothes is "evening gown">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $upperclothes is "tank top">>
	<<if $upperintegrity lte ($upperintegritymax / 10) * 2>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 5>>

	<<elseif $upperintegrity lte ($upperintegritymax / 10) * 9>>

	<<else>>

	<</if>>

<<elseif $upperclothes is "plant top">>

<<else>>
<</if>>

<<if $rightarm isnot "bound">>
	<<if $lowerexposed gte 1 and $exposed gte 2 and $exhibitionism lt 95 or $lowerexposed gte 1 and $exposed gte 1 and $exhibitionism lt 55>>
		<<if $upperclothes is "pyjama shirt">>

		<<elseif $upperclothes is "t-shirt">>

		<<elseif $upperclothes is "school shirt">>

		<<elseif $upperclothes is "tank top">>

		<<else>>
		<</if>>

	<<else>>
		<<if $upperclothes is "pyjama shirt">>

		<<elseif $upperclothes is "t-shirt">>

		<<elseif $upperclothes is "school shirt">>

		<<else>>
		<</if>>
	<</if>>
<</if>>

<<if $leftarm isnot "bound">>
	<<if $upperexposed gte 1 and $exposed gte 2 and $exhibitionism lt 95 or $upperexposed gte 1 and $exposed gte 1 and $exhibitionism lt 55>>
	<<else>>
		<<if $upperclothes is "pyjama shirt">>

		<<elseif $upperclothes is "t-shirt">>

		<<elseif $upperclothes is "school shirt">>

		<<else>>
		<</if>>
	<</if>>
<</if>>

<</nobr>><</widget>>


code:
:: Widgets Clothing [widget]
<<widget "clothinginit">><<nobr>>
<<set $sundresscolourchoice to 0>>
<<set $upperpjscolourchoice to 0>>
<<set $lowerpjscolourchoice to 0>>
<<set $uppertowelcolourchoice to 0>>
<<set $lowertowelcolourchoice to 0>>
<<set $upperbikinicolourchoice to 0>>
<<set $lowerbikinicolourchoice to 0>>
<<set $plainpantiescolourchoice to 0>>
<<set $lacepantiescolourchoice to 0>>
<<set $tightscolourchoice to 0>>
<<set $waistaproncolourchoice to 0>>
<<set $tshirtcolourchoice to 0>>
<<set $shortscolourchoice to 0>>
<<set $yfrontscolourchoice to 0>>
<<set $schoolshirtcolourchoice to 0>>
<<set $schoolshortscolourchoice to 0>>
<<set $schoolskirtcolourchoice to 0>>
<<set $schoolswimsuitcolourchoice to 0>>
<<set $schoolswimshortscolourchoice to 0>>
<<set $eveninggowncolourchoice to 0>>

<<set $upperstore to 0>>
<<set $lowerstore to 0>>
<<set $understore to 0>>

<<set $headacc to 0>>
<<set $faceacc to 0>>
<<set $legsacc to 0>>
<<set $feetacc to 0>>
<<set $hairpin to 1>>
<<set $blackshoes to 1>>
<<set $glasses to 1>>

<<set $upperoff to 0>>
<<set $loweroff to 0>>
<<set $underoff to 0>>

<<set $upperwet to 0>>
<<set $lowerwet to 0>>
<<set $underwet to 0>>
<<set $upperwetstage to 0>>
<<set $lowerwetstage to 0>>
<<set $underwetstage to 0>>
<<set $upperwetcarry to 0>>
<<set $lowerwetcarry to 0>>
<<set $underwetcarry to 0>>
<<set $upperwetstagecarry to 0>>
<<set $lowerwetstagecarry to 0>>
<<set $underwetstagecarry to 0>>
<<set $waterwash to 0>>
<</nobr>><</widget>>

<<widget "givestartclothing">><<nobr>>

<<if $playergender is "f">>
<<set $girlsgymsocks to 1>>
<<set $uppersundressnew to 1>>
<<set $lowersundressnew to 1>>
<<set $upperpjsnew to 1>>
<<set $lowerpjsnew to 1>>
<<set $plainpantiesnew to 1>>
<<set $schoolshirtnew to 1>>
<<set $schoolskirtnew to 1>>
<<set $upperschoolswimsuitnew to 1>>
<<set $lowerschoolswimsuitnew to 1>>
<<upperschoolswimsuit>><<lowerschoolswimsuit>><<schoolshirt>><<schoolskirt>><<upperpjs>><<lowerpjs>><<uppersundress>><<lowersundress>><<plainpanties>>
<<set $uppersundressno to 1>>
<<set $upperpjsno to 1>>
<<set $lowersundressno to 1>>
<<set $lowerpjsno to 1>>
<<set $plainpantiesno to 1>>
<<set $schoolshirtno to 1>>
<<set $schoolskirtno to 1>>
<<set $upperschoolswimsuitno to 1>>
<<set $lowerschoolswimsuitno to 1>>
<<set $sundresscolour to "white">>
<<set $sundresscolourchoice to "white">>
<<set $upperpjscolour to "blue">>
<<set $upperpjscolourchoice to "blue">>
<<set $lowerpjscolour to "blue">>
<<set $lowerpjscolourchoice to "blue">>
<<set $plainpantiescolour to "pink">>
<<set $plainpantiescolourchoice to "pink">>
<<set $schoolshirtcolour to "white">>
<<set $schoolshirtcolourchoice to "white">>
<<set $schoolskirtcolour to "black">>
<<set $schoolskirtcolourchoice to "black">>
<<set $schoolswimsuitcolour to "blue">>
<<set $schoolswimsuitcolourchoice to "blue">>
<<set $uppercolour to $sundresscolour>>
<<set $lowercolour to $sundresscolour>>
<<set $undercolour to $plainpantiescolour>>
<<set $upperoff to 0>>
<<set $loweroff to 0>>
<<set $underoff to 0>>

<<set $upperoutfitcasual to "sundress">>
<<set $loweroutfitcasual to "sundress skirt">>
<<set $underoutfitcasual to "plain panties">>

<<set $upperoutfitschool to "school shirt">>
<<set $loweroutfitschool to "school skirt">>
<<set $underoutfitschool to "plain panties">>

<<elseif $playergender is "m">>
<<set $boysgymsocks to 1>>
<<set $upperpjsnew to 1>>
<<set $lowerpjsnew to 1>>
<<set $tshirtnew to 1>>
<<set $shortsnew to 1>>
<<set $yfrontsnew to 1>>
<<set $schoolshirtnew to 1>>
<<set $schoolshortsnew to 1>>
<<set $schoolswimshortsnew to 1>>
<<schoolswimshorts>><<schoolshirt>><<schoolshorts>><<upperpjs>><<lowerpjs>><<shorts>><<tshirt>><<yfronts>>
<<set $upperpjsno to 1>>
<<set $lowerpjsno to 1>>
<<set $tshirtno to 1>>
<<set $shortsno to 1>>
<<set $yfrontsno to 1>>
<<set $schoolshirtno to 1>>
<<set $schoolshortsno to 1>>
<<set $schoolswimshortsno to 1>>
<<set $upperpjscolour to "blue">>
<<set $upperpjscolourchoice to "blue">>
<<set $lowerpjscolour to "blue">>
<<set $lowerpjscolourchoice to "blue">>
<<set $tshirtcolour to "tangerine">>
<<set $tshirtcolourchoice to "tangerine">>
<<set $shortscolour to "blue">>
<<set $shortscolourchoice to "blue">>
<<set $yfrontscolour to "white">>
<<set $yfrontscolourchoice to "white">>
<<set $schoolshirtcolour to "white">>
<<set $schoolshirtcolourchoice to "white">>
<<set $schoolshortscolour to "black">>
<<set $schoolshortscolourchoice to "black">>
<<set $schoolswimshortscolour to "blue">>
<<set $schoolswimshortscolourchoice to "blue">>
<<set $uppercolour to $tshirtcolour>>
<<set $lowercolour to $shortscolour>>
<<set $undercolour to $yfrontscolour>>
<<set $upperoff to 0>>
<<set $loweroff to 0>>
<<set $underoff to 0>>

<<set $upperoutfitcasual to $upperclothes>>
<<set $loweroutfitcasual to $lowerclothes>>
<<set $underoutfitcasual to $underclothes>>

<<set $upperoutfitschool to "school shirt">>
<<set $loweroutfitschool to "school shorts">>
<<set $underoutfitschool to "Y fronts">>

<</if>>
<</nobr>><</widget>>