# cum_cleanup

!{	Locations to be defined by 'spafinloc'
	0 = 'In your Vagina'
	1 = 'On your labia'
	2 = 'On your panties over your vagina'
	3 = 'In your anus'
	4 = 'On your butt'
	5 = 'On your panties over your butt'
	6 = 'On your clothes in your groin area'
	7 = 'On your clothes'
	8 = 'On your back'
	9 = 'On your legs'
	10 = 'On your arms'
	11 = 'On your face'
	12 = 'Inside your mouth'
	13 = 'On your hands'
	14 = 'On your stomach'
	15 = 'On your breasts'
	16 = 'In your hair'
	17 = 'In a condom in your vagina'}

if $ARGS[0] = 'cleanloc' and arrsize('ARGS') > 1:
	i = 0
	:cleanlocloop
	if i < arrsize('$sparrnam'):
		if sparrloc[i] = ARGS[1]:
			if sparrloc[i] = 0 or sparrloc[i] = 3:
				sparrvol[i] = 0
				sparrslc[i] = 0
			else
				gs 'cum_cleanup', 'cleandeposit', i
			end
		end
		i += 1
		jump 'cleanlocloop'
	end
elseif $ARGS[0] = 'cleandeposit' and arrsize('ARGS') > 1:
	cumsumbod -= sparrvol[ARGS[1]]
	KILLVAR 'sparrage',ARGS[1]
	KILLVAR 'sparrloc',ARGS[1]
	KILLVAR '$sparrnam',ARGS[1]
	KILLVAR 'sparrppt',ARGS[1]
	KILLVAR 'sparridt',ARGS[1]
	KILLVAR 'sparrvol',ARGS[1]
	KILLVAR 'sparrslc',ARGS[1]
	KILLVAR 'sparrcnt',ARGS[1]
elseif $ARGS[0] = 'cleanwomb' and arrsize('ARGS') > 1:
	KILLVAR 'cumarrcpt',ARGS[1]
	KILLVAR 'cumarrppt',ARGS[1]
	KILLVAR '$cumarrnam',ARGS[1]
	KILLVAR 'cumarrage',ARGS[1]
	KILLVAR 'cumarrdel',ARGS[1]
	KILLVAR 'cumarrkno',ARGS[1]
	KILLVAR 'cumarrcnt',ARGS[1]
	KILLVAR 'cumarrcon',ARGS[1]
elseif $ARGS[0] = 'cumcondslip':
	if cumcondslip_deep > (pcs_vag / 2):
		'The condom is slipped too deep inside to be pulled out by your hand. You need to ask for professional help!'
	else
		gs 'cum_cleanup', 'cleanloc', 17
		cumcondslip = 0
		gs 'stat'
		'With some effort, you managed to remove the condom.'
	end
elseif $ARGS[0] = 'reset':
	!!{ Used in cheat and when giving birth.}
	KILLVAR 'cumarrcpt'
	KILLVAR 'cumarrppt'
	KILLVAR '$cumarrnam'
	KILLVAR 'cumarrage'
	KILLVAR 'cumarrdel'
	KILLVAR 'cumarrkno'
	KILLVAR 'cumarrcnt'
	KILLVAR 'cumarrcon'
	KILLVAR 'sparrage'
	KILLVAR 'sparrloc'
	KILLVAR '$sparrnam'
	KILLVAR 'sparrppt'
	KILLVAR 'sparridt'
	KILLVAR 'sparrvol'
	KILLVAR 'sparrslc'
	KILLVAR 'sparrcnt'

	spdirty = 0
	spdirtyi = 0
	spdirtyn = 0
	spdirtyv = 0
	spdirtyb = 0
	spdirtyc = 0
	spdirtyf = 0
elseif $ARGS[0] = '':
	cumsumbod = 0
	cumsumvag = 0
	cumsumass = 0

	KILLVAR 'spafinloc'
	killvar 'toclean'
	killvar 'deresidue'
	if cumspclnt = 1 or cumspclnt = 10:
		!{full external clean}
		deresidue[arrsize('deresidue')] = 0
		deresidue[arrsize('deresidue')] = 3
		toclean[arrsize('toclean')] = 1
		toclean[arrsize('toclean')] = 2
		toclean[arrsize('toclean')] = 4
		toclean[arrsize('toclean')] = 5
		toclean[arrsize('toclean')] = 6
		toclean[arrsize('toclean')] = 7
		toclean[arrsize('toclean')] = 8
		toclean[arrsize('toclean')] = 9
		toclean[arrsize('toclean')] = 10
		toclean[arrsize('toclean')] = 11
		toclean[arrsize('toclean')] = 12
		toclean[arrsize('toclean')] = 13
		toclean[arrsize('toclean')] = 14
		toclean[arrsize('toclean')] = 15
		toclean[arrsize('toclean')] = 16
	elseif cumspclnt = 2:
		!{teeth clean}
		toclean[arrsize('toclean')] = 12
	elseif cumspclnt = 3:
		!{internal clean}
		toclean[arrsize('toclean')] = 0
		toclean[arrsize('toclean')] = 3
		toclean[arrsize('toclean')] = 17
	elseif cumspclnt = 4:
		!{external body clean}
		deresidue[arrsize('deresidue')] = 0
		deresidue[arrsize('deresidue')] = 3
		toclean[arrsize('toclean')] = 1
		toclean[arrsize('toclean')] = 4
		toclean[arrsize('toclean')] = 8
		toclean[arrsize('toclean')] = 9
		toclean[arrsize('toclean')] = 10
		toclean[arrsize('toclean')] = 11
		toclean[arrsize('toclean')] = 13
		toclean[arrsize('toclean')] = 14
		toclean[arrsize('toclean')] = 15
		toclean[arrsize('toclean')] = 16
	elseif cumspclnt = 5:
		!{hair clean}
		toclean[arrsize('toclean')] = 16
	elseif cumspclnt = 6:
		!{clothes clean}
		toclean[arrsize('toclean')] = 2
		toclean[arrsize('toclean')] = 5
		toclean[arrsize('toclean')] = 6
		toclean[arrsize('toclean')] = 7
	elseif cumspclnt = 7:
		!{enema}
		toclean[arrsize('toclean')] = 3
	elseif cumspclnt = 8:
		!{blank}
	elseif cumspclnt = 9:
		!{wash hands}
		toclean[arrsize('toclean')] = 13
	elseif cumspclnt = 11:
		!{wash face}
		toclean[arrsize('toclean')] = 11
	elseif cumspclnt = 12:
		!{face and hair}
		toclean[arrsize('toclean')] = 11
		toclean[arrsize('toclean')] = 16
	elseif cumspclnt = 13:
		!{head}
		toclean[arrsize('toclean')] = 11
		toclean[arrsize('toclean')] = 12
		toclean[arrsize('toclean')] = 16
	elseif cumspclnt = 14:
		!{belly}
		toclean[arrsize('toclean')] = 14
	elseif cumspclnt = 15:
		!{wipe ass/pussy}
		toclean[arrsize('toclean')] = 1
		toclean[arrsize('toclean')] = 4
		deresidue[arrsize('deresidue')] = 0
		deresidue[arrsize('deresidue')] = 3
	elseif cumspclnt = 16:
		!{Breasts}
		toclean[arrsize('toclean')] = 15
	elseif cumspclnt = 17:
		!{Arms/legs}
		toclean[arrsize('toclean')] = 9
		toclean[arrsize('toclean')] = 10
	elseif cumspclnt = 20:
		!{Clean everything}
		KILLVAR 'sparrage'
		KILLVAR 'sparrloc'
		KILLVAR '$sparrnam'
		KILLVAR 'sparrppt'
		KILLVAR 'sparridt'
		KILLVAR 'sparrvol'
		KILLVAR 'sparrslc'
		KILLVAR 'sparrcnt'
	end

	i = 0
	:cumcleanloop
	if i < arrsize('$sparrnam'):
		tmp = arrpos('deresidue', sparrloc[i])
		if tmp ! -1 and tmp < arrsize('deresidue'): sparrslc[i] = 0 & sparrvol[i] = 0

		tmp = arrpos('toclean', sparrloc[i])
		if tmp ! -1 and tmp < arrsize('toclean'):
			gs 'cum_cleanup', 'cleandeposit', i
		else
			i += 1
			cumsumbod += sparrvol[i]
			if sparrloc[i] = 0:
				cumsumvag += sparrvol[i]
			elseif sparrloc[i] = 3:
				cumsumass += sparrvol[i]
			end
		end
		jump 'cumcleanloop'
	end
	spdirty = 0
	spdirtyi = 0
	spdirtyn = 0
	spdirtyv = 0
	spdirtyb = 0
	spdirtyc = 0
	spdirtyf = 0
	killvar 'cumloc'
end

--- cum_cleanup ---------------------------------

