#1. Content Description

1.1 Afterschool Tag
The files enabling the game to send commands for device integration.
The game will send scripts to be played when pinned down by the enemies.
Some simple filler settings exist for when exploring.
Filler speed and distance will increase as the player-character's health and stamina decreases.

Some shortcut keys:
 1: Pause script playback.
 2: Resume script playback.

1.2 Custom Player
A C# application based on dimnogro's Fallen Angel integration.
Connects to devices using Buttplug.io and forwards the commands from the game.
Experimental multi-axis support: Be aware that there might be some bugs. Would appreciate feedback to anyone willing to try.

1.3 Scripts
Contains zip files for linear and multi-axis scripts.
My preference is more to have actions that match what happens on screen. This will probably hinder some scenes more than others.
Let me know what you liked/dislike so I can hopefully improve on it going forward.


#2.  Installation

Copy the "data.win" file from the AfterschoolTag folder and replace the one where the game is installed.

The custom player can be launched from anywhere, just make sure to keep the relative files together.
Place the contents of the scripts zip file into the 'scripts/afterschooltag' folder as seen in the 'Custom Player' folder.
The scripts folder should be in the player's root folder - where the exe is.


#3. Config

3.1 Custom Player
The application settings can be changed in the appsettings.json file. A restart is required for the changes to take effect. The different options are described below:

	ConnectionMethod: "OSR" or "Buttplug"
		Sets which method to use to connect to your device.
		
	RangeLimits: 0 - 100
		Set the range limits of the various axis.
		
	ButtplugConfiguration:
		EmbeddedButtplugServer : true/false
			When enabled the application will automatically start the intiface cli in the background on startup and use it to connect to supported devices.		
			
		ButtplugUrl : string
			The server address to be used when not using the embedded server. For when you're hosting your own server using Intiface-Desktop or Intiface-Central.
			
		InterpolateSlowMovement : true/false
			Generates intermediate points between script points on the configured interval.
			This was mainly intended for the Kiiroo Keon which had a minimum speed that was too high for some scripts.
			This was a workaround to slow it down some, but does introduce stutter.
			Only enable if you find your device is moving faster than the scene itself.
			
		InterpolateSpeedLimit : number
			The maximum speed limit at which points will be generated. Measured in units/second.
			Any script action faster than this won't be interpolated.
			
		InterpolationTime : number
			The time in milliseconds between the interpolated points generated between script actions.
			
	OSRConfiguration:
		COMPort: "COM#"
			The port used to connect and communicate with your serial device.
		EnableMultiAxis: true/false
			Set to true to make use of all axis scripts and false to only use linear.
			
	CommandConversionConfiguration:
		LinearToVibrateConversion:
			ConvertLinearToVibrate: true/false
				Enables linear to vibrate conversion. Will generate vibration commands from the provided linear command script during playback.
			VibrateConversionMethod: "Position" or "Speed" or "PositionAndSpeed"
				The method used to convert existing linear commands to vibration commands.
			
		
3.2 Afterschool Tag
Settings can be changed in the script-config.csv file. The different options are described below:

	filler : true/false
		Whether filler strokes are played while exploring.
		
	fillerMinSpeed : number
		The minimum speed for filler strokes. Measured in units/second.
		The speed the strokes will move at when health is full.
		
	fillerMaxSpeed : number
		The maximum speed for filler strokes. Measured in units/second.
		The speed the strokes will move at when health is at 1.
		
	fillerMinLength : number
		The minimum length of the filler strokes. Measured in funscript units.
		The length of the strokes when stamina is at 100%.
	
	fillerMaxLength : number
		The maximum length of the filler strokes. Measured in funscript units.
		The length of the strokes when stamina is at 0%.
		
	fillerDelay : number
		The delay in milliseconds between one up and down filler stroke.
		
	autoContinueScript: true/false
		Set to false if you want to progress the h-scene via button press only. By default the game will automatically change animations.
	
	loopPlayback: true/false
		Set to true if you want h-scenes to restart after the cum scene has played. By default the game will end the scene after the cum animation.
		Press "W" to end scenes.
		
	increasedSpawnRate: true/false
		Set to true to increase enemy spawn rates. False is game default.
		
	noGameOver: true/false
		Setting to true will prevent health from dropping below 1 heart.
		
	infiniteStamina: true/false
		Set to true for no stamina drain.