Prechádzať zdrojové kódy

[Refactored] Refactored base appearance calculations

ADCSux 2 rokov pred
rodič
commit
92b4aba087

+ 2 - 2
locations/Cheatmenu_din.qsrc

@@ -799,8 +799,8 @@ $cheatmenu['looks'] = {
 	if pcs_lip > 0:'<a href="exec:pcs_lip -= 1 & dynamic $cheatmenu[''looks'']">Shrink lips</a>'
 	*nl
 	'<<$skin>>'
-	if pcs_skin < 100: '<a href="exec:pcs_skin += 20 & gs ''body_shape'', ''basebeautycalc'', 1 & dynamic $cheatmenu[''looks'']">Improve skin</a>'
-	if pcs_skin > 0: '<a href="exec:pcs_skin -= 20 & gs ''body_shape'', ''basebeautycalc'', 1 & dynamic $cheatmenu[''looks'']">Worsen skin</a>'
+	if pcs_skin < 100: '<a href="exec:pcs_skin += 20 & gs ''body'', ''UpdateBaseAppearnce'', 1 & dynamic $cheatmenu[''looks'']">Improve skin</a>'
+	if pcs_skin > 0: '<a href="exec:pcs_skin -= 20 & gs ''body'', ''UpdateBaseAppearnce'', 1 & dynamic $cheatmenu[''looks'']">Worsen skin</a>'
 	if pcs_tan >= 0:'<a href="exec:pcs_tan += 10 & dynamic $cheatmenu[''looks'']">Become tanned</a>'
 	if pcs_tan > 0:'<a href="exec:pcs_tan = 0 & dynamic $cheatmenu[''looks'']">Remove tan</a>'
 	*nl

+ 76 - 199
locations/body.qsrc

@@ -10,10 +10,6 @@
 $this = 'body'
 
 if $ARGS[0] = '':
-	gs 'body_shape', 'RegularUpdate'
-	gs 'body_desc'
-
-	!! Skin1 is only used in the foto location, and can be replaced at a later date. From here on out, do not use it.
 	if pcs_skin > 100:
 		pcs_skin = 100
 	elseif pcs_skin < 0:
@@ -26,27 +22,6 @@ if $ARGS[0] = '':
 	if pcs_makeup = 5: mopkoef = 30
 	if pcs_makeup = 6 and bimbolevel >= 2: extra_supnatvnesh = 2*bimbolevel - 2
 
-	if dounspell = 1:
-		bodytipe = pcs_hips - pcs_waist
-		if bodytipe < 20:
-			bodykoef = 0
-		elseif bodytipe >= 20 and bodytipe < 25:
-			bodykoef = 2
-		elseif bodytipe >= 25 and bodytipe < 30:
-			bodykoef = 4
-		elseif bodytipe >= 30 and bodytipe < 35:
-			bodykoef = 8
-		elseif bodytipe >= 35:
-			bodykoef = 4
-		end
-	end
-
-	!!This is to force a base update if teeth changed since that is immediate
-	if zublast ! pcs_teeth:
-		gs 'body_shape', 'basebeautycalc', 1
-		zublast = pcs_teeth
-	end
-
 	!! Calculate hotcat etc
 	clothingBonus = FUNC('body', 'CalcClothesBonus', PXCloThinness, PXCloTopCut, PXCloBottomShortness, PCloQuality, $clothingworntype, pcs_bmi)
 	accessoriesBonus = FUNC('body', 'CalcAccessoriesBonus', bonusZ, PShoQuality, $pantyworntype, $braworntype)
@@ -102,194 +77,96 @@ if $ARGS[0] = '':
 	killvar 'tempGroomingPenalty'
 end
 
-if $ARGS[0] = 'SetBodyKoef':
-	!!Setting the pcs_apprnc bonus based on fat and strength
-
-	if pcs_bmi < 16:
-		!! severely underweight
-		tempbodykoef = 30
-    elseif pcs_bmi < 19:
-		!! underweight
-		tempbodykoef = 65
-    elseif pcs_bmi < 25:
-		!! healthy weight
-		tempbodykoef = 85
-    elseif pcs_bmi < 30:
-		!! overweight
-		tempbodykoef = 75
-    elseif pcs_bmi < 35:
-		!! moderately obese
-		tempbodykoef = 45
-    elseif pcs_bmi < 40:
-		!! severely obese
-		tempbodykoef = 25
-    elseif pcs_bmi < 45:
-		!! very severely obese
-		tempbodykoef = 5
-    else
-		!! morbidly obese
-		tempbodykoef = 0
-    end
+if $args[0] = 'UpdateBaseAppearnce':
+	!{
+		Base Appearance is updated once a day at midnight and called from cikl
+		Base Appearance is calculated from:
+			vidage, skin, body shape (fat and strength)
+	}
 
-	if strenbuf >= 80:
-		tempbodykoef += 8
-	elseif strenbuf >= 60:
-		tempbodykoef += 10
-	elseif strenbuf >= 40:
-		tempbodykoef += 8
-	elseif strenbuf >= 20:
-		tempbodykoef += 5
+	!!	Setting vidagebonus
+	if vidage < 20: 
+		vidageBonus = 60 + (2 * vidage)
+	elseif vidage > 30: 
+		vidageBonus = 160 - (2 * vidage)
 	else
-		tempbodykoef += 2
+		vinageBonus = 100
 	end
 
-	!!This modifies bodykoef for high or low salo values
-	if salocatnow = 0 or salocatnow >= 7:
-		tempbodykoef -= 8
-	elseif salocatnow = 1 or salocatnow = 6:
-		tempbodykoef -= 4
-	end
-
-	if vofat > 0: tempbodykoef -= vofat
+	skinBonus = (pcs_skin * 2 / 5)
+	bodyShapeBonus = func($this, 'SetBodyShapeBonus')
 
-	result = tempbodykoef
+	! Calculte vnesh
+	pcs_apprncbase = (vidageBonus * (skinBonus + bodyShapeBonus) / 100) + supnatvnesh
 
-	killvar 'tempbodykoef'
-end
+	killvar 'skinBonus'
+	killvar 'bodyShapeBonus'
+	killvar 'vidageBonus'
+end 
 
-if $args[0] = 'CalcBaseBeauty':
-	if pcs_lashes <= 0: pcs_lashes = 0
-	pcs_HeadBonus = FUNC('body_shape', 'calcHeadBonus')
-	tempAttributeBonus = FUNC('body_shape', 'calcAttributeBonus')
-	pcs_apprncbase = FUNC('body_shape', 'CalcBaseBeauty2', ARGS[1])
-
-	if ARGS[1] = 0:
-	!!	This is the rate of change limiter
-		if pcs_apprncbase > vneshtemp:
-			if pcs_apprncbase - 5 > vneshtemp:
-				pcs_apprncbase -= 5
-			elseif pcs_apprncbase - 3 > vneshtemp:
-				pcs_apprncbase -= 3
-			else
-				pcs_apprncbase -= 1
-			end
-		elseif pcs_apprncbase < vneshtemp:
-			if pcs_apprncbase + 5 < vneshtemp:
-				pcs_apprncbase += 5
-			elseif pcs_apprncbase + 3 < vneshtemp:
-				pcs_apprncbase += 3
-			else
-				pcs_apprncbase += 1
-			end
+if $ARGS[0] = 'SetBodyShapeBonus':
+	! Magic uses a different calculation
+	if dounspell = 1:
+		bodytipe = pcs_hips - pcs_waist
+		if bodytipe < 20:
+			result = 0
+		elseif bodytipe >= 20 and bodytipe < 25:
+			result = 2
+		elseif (bodytipe >= 25 and bodytipe < 30) or bodytipe >=35:
+			result = 4
+		elseif bodytipe >= 30 and bodytipe < 35:
+			result = 8
 		end
-		killvar 'vneshtemp'
-	end
-
-	killvar 'pcs_HeadBonus'
-	killvar 'tempAttributeBonus'
-end 
 
-if $ARGS[0] = 'CalcHeadBonus':
-
-	!!	Setting Eyelashes bonus
-	if pcs_lashes <= 0:
-		resnicbonus = 0
-	elseif pcs_lashes = 1:
-		resnicbonus = 2
-	elseif pcs_lashes = 2:
-		resnicbonus = 5
-	elseif pcs_lashes = 3:
-		resnicbonus = 7
-	elseif pcs_lashes = 4:
-		resnicbonus = 8
-	elseif pcs_lashes = 5:
-		resnicbonus = 10
-	else
-		resnicbonus = 0		
-	end
-	resnicbonus = FUNC('body_shape', 'bmiadjust', resnicbonus, pcs_bmi)
-
-	!!	Setting Eye Size bonus
-	if pcs_eyesize = 1:
-		glarazbonus = 1
-	elseif pcs_eyesize = 2:
-		glarazbonus = 3
-	elseif pcs_eyesize = 3:
-		glarazbonus = 2
-	else
-		glarazbonus = 0
-	end
-	glarazbonus = FUNC('body_shape', 'bmiadjust', glarazbonus, pcs_bmi)
-
-	!!	Setting the Lip size bonus
-	if pcs_lip = 0:
-		lipbonus = -2
-	elseif pcs_lip = 1:
-		lipbonus = 0
-	elseif pcs_lip = 2:
-		lipbonus = 3
-	elseif pcs_lip = 3:
-		lipbonus = 5
+	!!Setting the pcs_apprnc bonus based on fat and strength
 	else
-		lipbonus = 3
-	end
-	lipbonus = FUNC('body_shape', 'bmiadjust', lipbonus, pcs_bmi)
-	
-	teethcalc = (5 * pcs_teeth)
-	if teethcalc < 0: teethcalc = FUNC('body_shape', 'bmiadjust', teethcalc, pcs_bmi)
-
-	result = resnicbonus + glarazbonus + lipbonus - teethcalc
-
-end
-
-if $ARGS[0] = 'CalcAttributeBonus':
-	tempAttributeBonus = (pcs_agil / 10) + (pcs_vital / 10)
-
-	result = FUNC('body_shape', 'bmiadjust', tempAttributeBonus, pcs_bmi)
-	killvar 'tempAttributeBonus'
-end
-
-	!!This is the calculation for the base appearance if calling for testing always set ARGS[1] to 1
-if $args[0] = 'CalcBaseBeauty2':
-	!!ARGS[1] reset pcs_apprncbase
-	!! result of pcs_HeadBonus
-	!! result of calcAttributeBonus
-
-
-	!!	Setting vidagebonus
-	vidagebonus = 100
-	if vidage < 20: vidagebonus = 60 + (2 * vidage)
-	if vidage > 30: vidagebonus = 160 - (2 * vidage)
-
-	!!	Preforming the calculation
-	skincalc = (pcs_skin * 2 / 5)
-	vneshtemp = vidagebonus * (skincalc + bodykoef + tempAttributeBonus + pcs_HeadBonus) / 100
-
-	!!	pcs_skin = skin condition, corrected to a 0 to 40 range; bodykoef set in main body_shape; pcs_teeth is missing teeth or cosmetically improved teeth (-1)
-
-	!!	This is the first limiter
-		!!if vneshtemp > 100: vneshtemp = 100
+		if pcs_bmi < 16:
+			!! severely underweight
+			tempbodykoef = 30
+		elseif pcs_bmi < 19:
+			!! underweight
+			tempbodykoef = 65
+		elseif pcs_bmi < 25:
+			!! healthy weight
+			tempbodykoef = 85
+		elseif pcs_bmi < 30:
+			!! overweight
+			tempbodykoef = 75
+		elseif pcs_bmi < 35:
+			!! moderately obese
+			tempbodykoef = 45
+		elseif pcs_bmi < 40:
+			!! severely obese
+			tempbodykoef = 25
+		elseif pcs_bmi < 45:
+			!! very severely obese
+			tempbodykoef = 5
+		else
+			!! morbidly obese
+			tempbodykoef = 0
+		end
 
-	!!	This adds the supernatural pcs_apprnc bonus; currently Bimbo and Succubus
-	vneshtemp += supnatvnesh
+		if (strenbuf >= 40 and strenbuf < 60) or strenbuf >= 80:
+			tempbodykoef += 8
+		elseif strenbuf >= 60:
+			tempbodykoef += 10
+		elseif strenbuf >= 20:
+			tempbodykoef += 5
+		end
 
-	!!	This is for use when a reset is called for by setting args[1] = 1
-	if args[1] = 1: pcs_apprncbase = vneshtemp & killvar 'vneshtemp'
+		!!This modifies bodykoef for high or low salo values
+		if salocatnow = 0 or salocatnow >= 7:
+			tempbodykoef -= 8
+		elseif salocatnow = 1 or salocatnow = 6:
+			tempbodykoef -= 4
+		end
 
-	result = pcs_apprncbase
+		if vofat > 0: tempbodykoef -= vofat
 
-	!!	This is to clean up variables only used here
-		!!do not kill vneshtemp here it gets killed in basebeautycalc
-	killvar 'skincalc'
-	killvar 'vidagebonus'
-	killvar 'tempHeadBonus'
-	killvar 'tempAttributeBonus'
+		result = tempbodykoef
 
-	!!	This is to unload old variables
-	killvar 'CloNaturalBeauty'
-	killvar 'CloBaseBeauty'
-	killvar 'skin'
-	killvar 'bimbobeauty'
+		killvar 'tempbodykoef'
+	end
 end
 
 if $ARGS[0] = 'CalcClothesBonus':
@@ -424,7 +301,7 @@ if $ARGS[0] = 'CalcAccessoriesBonus':
 	killvar 'tempAccessoriesBonus'
 end
 
-if $ARGS[0] = 'calcGroomingBonus':
+if $ARGS[0] = 'CalcGroomingBonus':
 	!! Note there is a limit of 9 args
 	temppcs_lipbalm = ARGS[1] & !! pcs_lipbalm
 	tempmakeupkoef = ARGS[2] & !! mopkoef 

+ 0 - 171
locations/body_shape.qsrc

@@ -270,7 +270,6 @@ if $ARGS[0] = '':
 
 	!!Setting the pcs_apprnc bonus based on fat and strength
 	pcs_bmi = FUNC('body_shape', 'CalcBMI')
-	bodykoef = FUNC('body_shape', 'setbodykoef')
 
 	!!This is to clean up unused variables
 	killvar 'normbuffpick' & killvar 'nrmbfpckct'
@@ -445,41 +444,6 @@ if $ARGS[0] = 'CalcBMI':
 	result = 10000 * (30 + salo / 2 + (pcs_hgt - 170) * 7 / 10) / (pcs_hgt * pcs_hgt)
 end
 
-if $ARGS[0] = 'bmiadjust':
-	tempValue = ARGS[1] & !!value to be adjusted
-	tempadjpcs_bmi = ARGS[2] & !!pcs_bmi
-
-	if tempadjpcs_bmi < 16:
-		!! severely underweight
-		tempValue = tempValue * 50 / 100
-    elseif tempadjpcs_bmi < 19:
-		!! underweight
-		tempValue = tempValue * 95 / 100
-    elseif tempadjpcs_bmi < 25:
-		!! healthy weight
-		!! normal bonus
-    elseif tempadjpcs_bmi < 30:
-		!! overweight
-		tempValue = tempValue * 95 / 100
-    elseif tempadjpcs_bmi < 35:
-		!! moderately obese
-		tempValue = tempValue * 80 / 100
-    elseif tempadjpcs_bmi < 40:
-		!! severely obese
-		tempValue = tempValue * 55 / 100
-    elseif tempadjpcs_bmi < 45:
-		!! very severely obese
-		tempValue = tempValue * 50 / 100
-    else
-		!!morbidly obese
-		tempValue = tempValue * 40 / 100
-    end
-
-	result = tempValue
-	killvar 'tempValue'
-	killvar 'tempadjpcs_bmi'
-end
-
 if $ARGS[0] = 'softreset':
 	!!This is for use in immediately updating shape if something has caused a large change in salo, primarily fat burners and plastic surgery
 	sftrstflag = 1
@@ -559,140 +523,5 @@ if $ARGS[0] = 'initial':
 	gs 'body_desc', 'BMI'
 end
 
-if $args[0] = 'basebeautycalc':
-	if pcs_lashes <= 0: pcs_lashes = 0
-	pcs_HeadBonus = FUNC('body_shape', 'calcHeadBonus')
-	tempAttributeBonus = FUNC('body_shape', 'calcAttributeBonus')
-	pcs_apprncbase = FUNC('body_shape', 'basebeautycalc2', ARGS[1])
-
-	if ARGS[1] = 0:
-	!!	This is the rate of change limiter
-		if pcs_apprncbase > vneshtemp:
-			if pcs_apprncbase - 5 > vneshtemp:
-				pcs_apprncbase -= 5
-			elseif pcs_apprncbase - 3 > vneshtemp:
-				pcs_apprncbase -= 3
-			else
-				pcs_apprncbase -= 1
-			end
-		elseif pcs_apprncbase < vneshtemp:
-			if pcs_apprncbase + 5 < vneshtemp:
-				pcs_apprncbase += 5
-			elseif pcs_apprncbase + 3 < vneshtemp:
-				pcs_apprncbase += 3
-			else
-				pcs_apprncbase += 1
-			end
-		end
-		killvar 'vneshtemp'
-	end
-
-	killvar 'pcs_HeadBonus'
-	killvar 'tempAttributeBonus'
-end 
-
-if $ARGS[0] = 'calcHeadBonus':
-
-	!!	Setting Eyelashes bonus
-	if pcs_lashes <= 0:
-		resnicbonus = 0
-	elseif pcs_lashes = 1:
-		resnicbonus = 2
-	elseif pcs_lashes = 2:
-		resnicbonus = 5
-	elseif pcs_lashes = 3:
-		resnicbonus = 7
-	elseif pcs_lashes = 4:
-		resnicbonus = 8
-	elseif pcs_lashes = 5:
-		resnicbonus = 10
-	else
-		resnicbonus = 0		
-	end
-	resnicbonus = FUNC('body_shape', 'bmiadjust', resnicbonus, pcs_bmi)
-
-	!!	Setting Eye Size bonus
-	if pcs_eyesize = 1:
-		glarazbonus = 1
-	elseif pcs_eyesize = 2:
-		glarazbonus = 3
-	elseif pcs_eyesize = 3:
-		glarazbonus = 2
-	else
-		glarazbonus = 0
-	end
-	glarazbonus = FUNC('body_shape', 'bmiadjust', glarazbonus, pcs_bmi)
-
-	!!	Setting the Lip size bonus
-	if pcs_lip = 0:
-		lipbonus = -2
-	elseif pcs_lip = 1:
-		lipbonus = 0
-	elseif pcs_lip = 2:
-		lipbonus = 3
-	elseif pcs_lip = 3:
-		lipbonus = 5
-	else
-		lipbonus = 3
-	end
-	lipbonus = FUNC('body_shape', 'bmiadjust', lipbonus, pcs_bmi)
-	
-	teethcalc = (5 * pcs_teeth)
-	if teethcalc < 0: teethcalc = FUNC('body_shape', 'bmiadjust', teethcalc, pcs_bmi)
-
-	result = resnicbonus + glarazbonus + lipbonus - teethcalc
-
-end
-
-if $ARGS[0] = 'calcAttributeBonus':
-	tempAttributeBonus = (pcs_agil / 10) + (pcs_vital / 10)
-
-	result = FUNC('body_shape', 'bmiadjust', tempAttributeBonus, pcs_bmi)
-	killvar 'tempAttributeBonus'
-end
-
-	!!This is the calculation for the base appearance if calling for testing always set ARGS[1] to 1
-if $args[0] = 'basebeautycalc2':
-	!!ARGS[1] reset pcs_apprncbase
-	!! result of pcs_HeadBonus
-	!! result of calcAttributeBonus
-
-
-	!!	Setting vidagebonus
-	vidagebonus = 100
-	if vidage < 20: vidagebonus = 60 + (2 * vidage)
-	if vidage > 30: vidagebonus = 160 - (2 * vidage)
-
-	!!	Preforming the calculation
-	skincalc = (pcs_skin * 2 / 5)
-	vneshtemp = vidagebonus * (skincalc + bodykoef + tempAttributeBonus + pcs_HeadBonus) / 100
-
-	!!	pcs_skin = skin condition, corrected to a 0 to 40 range; bodykoef set in main body_shape; pcs_teeth is missing teeth or cosmetically improved teeth (-1)
-
-	!!	This is the first limiter
-		!!if vneshtemp > 100: vneshtemp = 100
-
-	!!	This adds the supernatural pcs_apprnc bonus; currently Bimbo and Succubus
-	vneshtemp += supnatvnesh
-
-	!!	This is for use when a reset is called for by setting args[1] = 1
-	if args[1] = 1: pcs_apprncbase = vneshtemp & killvar 'vneshtemp'
-
-	result = pcs_apprncbase
-
-	!!	This is to clean up variables only used here
-		!!do not kill vneshtemp here it gets killed in basebeautycalc
-	killvar 'skincalc'
-	killvar 'vidagebonus'
-	killvar 'tempHeadBonus'
-	killvar 'tempAttributeBonus'
-
-	!!	This is to unload old variables
-	killvar 'CloNaturalBeauty'
-	killvar 'CloBaseBeauty'
-	killvar 'skin'
-	killvar 'bimbobeauty'
-end
-
 --- body_shape ---------------------------------
 

+ 3 - 2
locations/cikl.qsrc

@@ -699,7 +699,9 @@ inhib_flr = inhib_lvl
 
 gs 'stat_sklattrib', 'daycall'
 
+!Update body measurements and base appearnce
 gs 'body_shape', 'DailyUpdate'
+gs 'body', 'UpdateBaseAppearnce'
 
 
 if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
@@ -1296,8 +1298,7 @@ elseif mentats_dose > 1:
 	mentats_dose = 0
 end
 
-!!Appearance base calculation call
-gs 'body_shape', 'basebeautycalc'
+
 
 !! vovan, from 1.2.5
 hunters_check = 0

+ 2 - 6
locations/city_clinic.qsrc

@@ -225,7 +225,7 @@ if $ARGS[0] = 'start':
 						*clr & cla
 						money -= zubpay
 						minut += 60
-						gs 'body_shape', 'basebeautycalc', 1
+						gs 'body', 'UpdateBaseAppearnce', 1
 						gs 'stat'
 						if pcs_teeth > 0:
 							pcs_teeth = 0
@@ -243,7 +243,7 @@ if $ARGS[0] = 'start':
 						*clr & cla
 						karta -= zubpay
 						minut += 60
-						gs 'body_shape', 'basebeautycalc', 1
+						gs 'body', 'UpdateBaseAppearnce', 1
 						gs 'stat'
 						if pcs_teeth > 0:
 							pcs_teeth = 0
@@ -1424,7 +1424,6 @@ if $ARGS[0] = 'lipPlus':
 	minut += 60
 	pcs_lip += 1
 	money -= 25000
-	gs 'body_shape', 'basebeautycalc', 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/clinic/cosmeticsur.jpg"></center>'
 	'The surgeon has you strip, put on a gown and lie down on the table. He gives you a mask and tells you: "Just breathe in deeply... we''ll be done before you know it."'
@@ -1438,7 +1437,6 @@ if $ARGS[0] = 'lipMin':
 	minut += 60
 	pcs_lip -= 1
 	money -= 30000
-	gs 'body_shape', 'basebeautycalc', 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/clinic/cosmeticsur.jpg"></center>'
 	'The surgeon has you strip, put on a gown and lie down on the table. He gives you a mask and tells you: "Just breathe in deeply... we''ll be done before you know it."'
@@ -1452,7 +1450,6 @@ if $ARGS[0] = 'eyePlus':
 	minut += 60
 	pcs_eyesize += 1
 	money -= 90000
-	gs 'body_shape', 'basebeautycalc', 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/clinic/cosmeticsur.jpg"></center>'
 	'The surgeon has you strip, put on a gown and lie down on the table. He gives you a mask and tells you: "Just breathe in deeply... we''ll be done before you know it."'
@@ -1466,7 +1463,6 @@ if $ARGS[0] = 'eyeMin':
 	minut += 60
 	pcs_eyesize -= 1
 	money -= 90000
-	gs 'body_shape', 'basebeautycalc', 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/clinic/cosmeticsur.jpg"></center>'
 	'The surgeon has you strip, put on a gown and lie down on the table. He gives you a mask and tells you: "Just breathe in deeply... we''ll be done before you know it."'

+ 2 - 2
locations/din_van.qsrc

@@ -36,7 +36,7 @@ $showerdin = {
 			'Unfortunately, your false lashes don''t make it through the shower.'
 			false_lashes = 0
 			pcs_lashes = pcs_naturallashes
-			gs 'body_shape', 'basebeautycalc', 1
+			gs 'body', 'UpdateBaseAppearnce', 1
 		end
 	end
 }
@@ -837,7 +837,7 @@ $basin = {
 			pcs_lashes = pcs_naturallashes
 			false_lashes = 0
 			minut += 5
-			gs 'body_shape', 'basebeautycalc', 1
+			gs 'body', 'UpdateBaseAppearnce', 1
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 	end

+ 2 - 2
locations/pav_clinic.qsrc

@@ -162,7 +162,7 @@ if $ARGS[0] = '':
 							*clr & cla
 							money -= zubpay
 							minut += 60
-							gs 'body_shape', 'basebeautycalc', 1
+							gs 'body', 'UpdateBaseAppearnce', 1
 							gs 'stat'
 							if pcs_teeth > 0:
 								pcs_teeth = 0
@@ -180,7 +180,7 @@ if $ARGS[0] = '':
 							*clr & cla
 							karta -= zubpay
 							minut += 60
-							gs 'body_shape', 'basebeautycalc', 1
+							gs 'body', 'UpdateBaseAppearnce', 1
 							gs 'stat'
 							if pcs_teeth > 0:
 								pcs_teeth = 0

+ 5 - 5
locations/salon.qsrc

@@ -1122,7 +1122,7 @@ if $ARGS[0] = 'lashTreatment':
 	else
 		money -= 5000
 	end
-	gs 'body_shape', 'basebeautycalc', 1
+	gs 'body', 'UpdateBaseAppearnce', 1
 	
 	gs 'stat'
 	'The specialist collects your payment and moves you over to a chair with a headrest, which she has you tilt your head back up against.'
@@ -1155,7 +1155,7 @@ if $ARGS[0] = 'lashFalsies':
 		end
 		'She spends a few minutes selecting and trimming a set of ornate, dramatically-feathered false lashes to get them to line up neatly with your own natural set, and with practiced ease she glues them delicately in place, only having to give them one or two gentle, settling nudges.'
 	end
-	gs 'body_shape', 'basebeautycalc', 1
+	gs 'body', 'UpdateBaseAppearnce', 1
 	gs 'stat'
 	'"There you go! You''re all set! Have fun with wherever you''re going!"'
 	act 'Leave':gt 'salon', 'start'
@@ -1262,7 +1262,7 @@ if $ARGS[0] = 'lashExtension':
 		killvar 'lashextensionduration'
 		killvar 'lashextensionstyle'
 	end
-	gs 'body_shape', 'basebeautycalc', 1
+	gs 'body', 'UpdateBaseAppearnce', 1
 	gs 'stat'
 	'After what seems like forever, you''re finally allowed to open your eyes and take a look.'
 	act 'Leave':gt 'salon', 'start'
@@ -1577,7 +1577,7 @@ if $ARGS[0] = 'skin_care':
 	else
 		money -= 5000
 	end
-	gs 'body_shape', 'basebeautycalc', 1
+	gs 'body', 'UpdateBaseAppearnce', 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/salon/facialmask.jpg"></center>'
 	'You get a beauty mask treatment, afterwards your face feels smooth and your skin tight.'
@@ -1594,7 +1594,7 @@ if $ARGS[0] = 'rejuvination':
 	else
 		money -= 25000
 	end
-	gs 'body_shape', 'basebeautycalc', 1
+	gs 'body', 'UpdateBaseAppearnce', 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/salon/bodyscrub.jpg"></center>'
 	'You get a full body rejuvenation procedure, afterwards your skin feels soft and silky smooth.'

+ 2 - 1
locations/stat.qsrc

@@ -1033,7 +1033,8 @@ elseif rape > 0 and rape ! rape_count and orgasm > 0 and orgasm ! orgasm_count:
 end
 
 !!Health, Willpower, Auto Birth Control pregnancy check
-gs 'body'
+gs 'body_shape', 'RegularUpdate'
+gs 'body_desc'
 
 if pcs_health >= healthmax:
 	$pcs_health = '<font color="green">You are very healthy.</font>'