Browse Source

[added] body_structure. A file which handles the various classes that Sveta's body can be in. Centralises the descriptions, images, and appearance bonusses from bmi and strenbuf

anjuna krokus 10 months ago
parent
commit
1bdfdbe6c8

+ 1 - 0
glife.qproj

@@ -93,6 +93,7 @@
 		<Location name="AppearanceSystem"/>
 		<Location name="body"/>
 		<Location name="body_desc"/>
+		<Location name="body_structure"/>
 		<Location name="lact_lib"/>
 		<Location name="lact_bp"/>
 		<Location name="body_din"/>

+ 2 - 64
locations/AppearanceSystem.qsrc

@@ -138,72 +138,10 @@ if $ARGS[0] = 'SetBodyShapeBonus':
 
 	!!Setting the pcs_apprnc bonus based on fat and strength
 	else
-		if pcs_bmi < 16:
-			!! severely underweight
-			tempBodyShapeBonus = -10
-		elseif pcs_bmi < 19:
-			!! underweight
-			tempBodyShapeBonus = 25
-		elseif pcs_bmi < 25:
-			!! healthy weight
-			tempBodyShapeBonus = 50
-		elseif pcs_bmi < 30:
-			!! overweight
-			tempBodyShapeBonus = 25
-		elseif pcs_bmi < 35:
-			!! moderately obese
-			tempBodyShapeBonus = 10
-		elseif pcs_bmi < 40:
-			!! severely obese
-			tempBodyShapeBonus = -15
-		elseif pcs_bmi < 45:
-			!! very severely obese
-			tempBodyShapeBonus = -40
-		else
-			!! morbidly obese
-			tempBodyShapeBonus = -80
-		end
-
 		if succubusflag = 1:
-			tempBodyShapeBonus += 10
+			temp_BodyShapeBonus = func('body_bmi_stren', 'appearance_bonus', pcs_bmi, 80)
 		else
-			if strenbuf <= 5:
-				tempBodyShapeBonus -= 30
-			elseif strenbuf <= 10:
-				tempBodyShapeBonus -= 20
-			elseif strenbuf <= 15:
-				tempBodyShapeBonus -= 15
-			elseif strenbuf <= 25:
-				tempBodyShapeBonus -= 10
-			elseif strenbuf <= 35:
-				tempBodyShapeBonus -= 5
-			elseif strenbuf <= 50:
-				tempBodyShapeBonus += 0
-			elseif strenbuf <= 70:
-				tempBodyShapeBonus += 5
-			elseif strenbuf <= 100:
-				tempBodyShapeBonus += 10
-			elseif strenbuf <= 110:
-				tempBodyShapeBonus += 5
-			elseif strenbuf <= 120:
-				tempBodyShapeBonus += 0
-			elseif strenbuf <= 130:
-				tempBodyShapeBonus -= 5
-			elseif strenbuf <= 140:
-				tempBodyShapeBonus -= 15
-			elseif strenbuf <= 150:
-				tempBodyShapeBonus -= 30
-			elseif strenbuf <= 160:
-				tempBodyShapeBonus -= 45
-			elseif strenbuf <= 170:
-				tempBodyShapeBonus -= 60
-			elseif strenbuf <= 180:
-				tempBodyShapeBonus -= 75
-			elseif strenbuf <= 190:
-				tempBodyShapeBonus -= 100
-			else
-				tempBodyShapeBonus -= 130
-			end
+			temp_BodyShapeBonus = func('body_bmi_stren', 'appearance_bonus', pcs_bmi, strenbuf)
 		end
 
 		!!This modifies bodykoef for high or low pcs_mass['body'] values

+ 1 - 1
locations/Cheatmenu_din.qsrc

@@ -209,7 +209,7 @@ $cheatmenu['bodyMod'] = {
 	'Changing body shape does not resize clothes.'
 	'May cause adverse interactions, use at your own risk!'
 	''
-	'You are currently <<$body>>.'
+	'You are currently <<$bodyVars[''desc'']>>.'
 	''
 	'You may select from the following sizes:'
 	''

+ 4 - 4
locations/MartinSex.qsrc

@@ -102,7 +102,7 @@ if $ARGS[0] = '':
 				'You don''t know when this thing with Martin went from friendly chats and idle flirts to something else, but there is a tingling in your belly, and lower, when you look at him that you would very much like to act on...'
 				'And since Martin is trying his best to hide his interest and it doesn''t look like he is gonna do you the favor of making the first step, you will have to take matters into your own hands.'
 				*nl
-				'You flirt more aggressively than you have up until now: You smile more,' + iif(pcs_hairlng>81,' play with your <<$pc_descWordy[''hair length'']>>,','') + ' touch his arm every now and then, even move and lean over in ways that give him good looks at your <<$pc_desc[''breast'']>> cleavage or <<$body>> butt - in other words, you drop about as many hints as womanly possible, short of stripping right then and there.'
+				'You flirt more aggressively than you have up until now: You smile more,' + iif(pcs_hairlng>81,' play with your <<$pc_descWordy[''hair length'']>>,','') + ' touch his arm every now and then, even move and lean over in ways that give him good looks at your <<$pc_desc[''breast'']>> cleavage or <<$bodyVars[''desc'']>> butt - in other words, you drop about as many hints as womanly possible, short of stripping right then and there.'
 				*nl
 				'Twenty minutes pass like that and you are starting to wonder if Martin is playing hard to get or if he really is oblivious to what you''re doing... when he visibly catches himself staring at your <<$pc_desc[''lip gloss'']>> lips and suddenly declares: "You shouldn''t get involved with me."'
 				'"Excuse me?" You are so astonished by what he said that you are almost sure you misheard him.'
@@ -429,7 +429,7 @@ if $ARGS[0] = '':
 			'But you decide not to indulge him today. After all, you are a respectable woman who would <b>never</b> have sex in a public place, right?'
 			*nl
 			'So instead, you just have a normal chat with Martin. Well, as normal as can be in this situation.'
-			'You catch up on the day-to-day' + iif($MartinHobby!'',', your <<$MartinHobby>>,','') + ' and talk about a few other trivial things, but this conversation is at regular intervals interrupted by double entendres, kisses, you giving Martin generous looks at your <<$pc_desc[''breast'']>> cleavage and <<$body>> ass, and other things you cannot or will not do while the bar is open.'
+			'You catch up on the day-to-day' + iif($MartinHobby!'',', your <<$MartinHobby>>,','') + ' and talk about a few other trivial things, but this conversation is at regular intervals interrupted by double entendres, kisses, you giving Martin generous looks at your <<$pc_desc[''breast'']>> cleavage and <<$bodyVars[''desc'']>> ass, and other things you cannot or will not do while the bar is open.'
 			*nl
 			'After about half an hour of talking, among other things, you decide that you should let Martin finish up for the night. After a final goodnight kiss, you leave the bar with a tingly stomach, your mind still lingering at the bulge in his pants and all the things you could do with him instead of talking...'
 			gs 'arousal', 'kiss', 5
@@ -668,7 +668,7 @@ if $ARGS[0] = 'MartinTease3':
 
 		if analplugin = 0:
 			*nl
-			'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about that same young <<$body>> woman stripping and exposing her privates to him.'
+			'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about that same young <<$bodyVars[''desc'']>> woman stripping and exposing her privates to him.'
 		else
 			analplugin = 0
 			minut += 1
@@ -826,7 +826,7 @@ if $ARGS[0] = 'MartinTease4':
 				if analplugin = 0:
 					*nl
 					'"Maybe a little better than okay," he smirks.'
-					'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about teasing that same young <<$body>> woman while she''s stripping and exposing her privates to him.'
+					'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about teasing that same young <<$bodyVars[''desc'']>> woman while she''s stripping and exposing her privates to him.'
 				else
 					analplugin = 0
 					minut += 1

+ 1 - 1
locations/MartinTalk.qsrc

@@ -121,7 +121,7 @@ if $ARGS[0] = '':
 		*nl
 		'"You''re skinny," he observes.'
 		'"Excuse me?"' 
-		'You ' + iif($body='skinny','would call yourself skinny, too, but','see yourself as <<$body>> rather than skinny, so') + ' you don''t really see why he would bring this up.'
+		'You ' + iif($bodyVars['desc']='skinny','would call yourself skinny, too, but','see yourself as <<$bodyVars[''desc'']>> rather than skinny, so') + ' you don''t really see why he would bring this up.'
 		*nl
 		'"Are you eating right, <<$pcs_firstname>>?" He inquires, completely ignoring your visible confusion.'
 		'"Uh... I guess. Wait, you didn''t, by any chance, talk to my mother, did you?"'

+ 4 - 57
locations/_body_image.qsrc

@@ -3,66 +3,13 @@
 !for example, you can   VIEW FUNC('$body_image', 'body')   to view body image in popup window, and
 !pl $body_image_msg     to display extra texts
 
-!{
-if $ARGS[0] = 'BMI':
-	!!BMI Descriptions
-	if pcs_bmi < 16:
-		$bmi_desc = 'You are severely underweight.'
-	elseif pcs_bmi < 19:
-		$bmi_desc = 'You are underweight'
-	elseif pcs_bmi < 25:
-		$bmi_desc = 'You have a normal, healthy weight.'
-	elseif pcs_bmi < 30:
-		$bmi_desc = 'You are overweight.'
-	elseif pcs_bmi < 35:
-		$bmi_desc = 'You are moderately obese.'
-	elseif pcs_bmi < 40:
-		$bmi_desc = 'You are severely obese.'
-	elseif pcs_bmi < 45:
-		$bmi_desc = 'You are very severely obese.'
-	else
-		$bmi_desc = 'You are morbidly obese.'
-	end
-end
-}
 
 $body_image_msg = ''
 if $ARGS[0] = 'body':
-!!	This displays the body image; $bodimgsets[x9] is the folder name
-	if (knowpreg = 1 or (preg = 1 and thinkpreg = 1) or (preg = 1 and PregChem > 3600)) and bodset = 3:
-		if PregChem > 6216:
-			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/8.jpg'
-		elseif PregChem < 2688:
-			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/0.jpg'
-		else
-			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/<<((PregChem - 2184)/504)>>.jpg'
-		end
-	elseif pcs_bmi < 15 or (pcs_bmi = 15 and pcs_bmi[1] <= 1):
-		$result = 'images/pc/body/shape/0.jpg'
-	elseif pcs_bmi < 19 or (pcs_bmi = 19 and pcs_bmi[1] = 0):
-		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/1.jpg'
-	elseif pcs_bmi < 22 or (pcs_bmi = 22 and pcs_bmi[1] < 5):
-		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/2.jpg'
-	elseif pcs_bmi < 26:
-		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/3.jpg'
-	elseif pcs_bmi < 29 or (pcs_bmi = 29 and pcs_bmi[1] < 5):
-		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/4.jpg'
-	elseif pcs_bmi < 32 or (pcs_bmi = 32 and pcs_bmi[1] < 9):
-		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/5.jpg'
-	elseif pcs_bmi < 36 or (pcs_bmi = 36 and pcs_bmi[1] < 4):
-		if imgset6ovr[bodset] = 1:
-			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/6.jpg'
-		else
-			$result = 'images/pc/body/shape/6.jpg'
-		end
-	else
-		if imgset7ovr[bodset] = 1:
-			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/7.jpg'
-		else
-			$result = 'images/pc/body/shape/7.jpg'
-		end
-	end
-	$body_image_msg += 'You are <<pcs_hgt>>cm tall and <<$body>>'
+	!!!! $result = func('body_bmi_stren', 'body_img', pcs_bmi, 'strenbuf')
+	bodyVars['img'] = func('body_structure', 'body_img', pcs_bmi, 'strenbuf')
+	$result = bodyVars['img']
+	body_image_msg += 'You are <<pcs_hgt>>cm tall and <<$bodyVars[''desc'']>>'
 end
 
 if $ARGS[0] = 'coat':

+ 3 - 44
locations/body.qsrc

@@ -180,50 +180,9 @@ if $ARGS[0] = 'UpdateBodyImage':
 		salocatnow = (pcs_hips / 10) - 5
 	end
 
-	!! $bodyVars['desc'] = func('body_bmi_stren', 'body_desc', pcs_bmi, strenbuf)
-	!! $bodyVars['img'] = func('body_bmi_stren', 'body_img', pcs_bmi, strenbuf)
-	!! $bodyVars['BMI_desc'] = func('body_bmi_stren', 'BMI_desc', pcs_bmi, strenbuf)
-
-	if bdsetlock = 1:
-		bodset = fixbodset
-	else
-		if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600)):
-			bodset = 3
-		elseif strenbuf >= 100 and stren_plus_lvl > 0:
-			bodset = 2
-		elseif strenbuf <= 50:
-			bodset = 0
-		else
-			bodset = 1
-		end
-	end
-
-	! Update body description
-	if bodset = 3 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600))):
-		if PregChem > 6216:
-			$body = $bodimgsets[bodset * 10 + 8]
-		elseif PregChem < 2688:
-			$body = $bodimgsets[bodset * 10]
-		else
-			$body = $bodimgsets[bodset * 10 + (PregChem - 2688) / 504 + 1]
-		end
-	elseif pcs_bmi < 15 or (pcs_bmi = 15 and pcs_bmi[1] <= 1):
-		$body = $bodimgsets[bodset * 10 + 0]
-	elseif pcs_bmi < 19 or (pcs_bmi = 19 and pcs_bmi[1] = 0):
-		$body = $bodimgsets[bodset * 10 + 1]
-	elseif pcs_bmi < 22 or (pcs_bmi = 22 and pcs_bmi[1] <= 4):
-		$body = $bodimgsets[bodset * 10 + 2]
-	elseif pcs_bmi < 26:
-		$body = $bodimgsets[bodset * 10 + 3]
-	elseif pcs_bmi < 29 or (pcs_bmi = 29 and pcs_bmi[1] <= 4):
-		$body = $bodimgsets[bodset * 10 + 4]
-	elseif pcs_bmi < 32 or (pcs_bmi = 32 and pcs_bmi[1] <= 8):
-		$body = $bodimgsets[bodset * 10 + 5]
-	elseif pcs_bmi < 36 or (pcs_bmi = 36 and pcs_bmi[1] <= 3):
-		$body = $bodimgsets[bodset * 10 + 6]
-	else
-		$body = $bodimgsets[bodset * 10 + 7]
-	end
+	$bodyVars['desc'] = func('body_structure', 'body_desc', pcs_bmi, strenbuf)
+	$bodyVars['img'] = func('body_structure', 'body_img', pcs_bmi, strenbuf)
+	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc', pcs_bmi, strenbuf)
 end
 
 

+ 1 - 18
locations/body_desc.qsrc

@@ -186,24 +186,7 @@ if $ARGS[0] = 'anus':
 end
 
 if $ARGS[0] = 'BMI':
-	!!BMI Descriptions
-	if pcs_bmi < 16:
-		$bmi_desc = 'You are severely underweight.'
-	elseif pcs_bmi < 19:
-		$bmi_desc = 'You are underweight'
-	elseif pcs_bmi < 25:
-		$bmi_desc = 'You have a normal, healthy weight.'
-	elseif pcs_bmi < 30:
-		$bmi_desc = 'You are overweight.'
-	elseif pcs_bmi < 35:
-		$bmi_desc = 'You are moderately obese.'
-	elseif pcs_bmi < 40:
-		$bmi_desc = 'You are severely obese.'
-	elseif pcs_bmi < 45:
-		$bmi_desc = 'You are very severely obese.'
-	else
-		$bmi_desc = 'You are morbidly obese.'
-	end
+	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc', pcs_bmi, strenbuf)
 end
 
 if $ARGS[0] = 'breasts':

+ 344 - 0
locations/body_structure.qsrc

@@ -0,0 +1,344 @@
+# body_structure
+
+if $ARGS[0] = 'get_class':
+	if ARGS[1] <= 15:
+		result = 0
+	elseif ARGS[1] <= 18:
+		result = 100
+	elseif ARGS[1] <= 21:
+		result = 200
+	elseif ARGS[1] <= 24:
+		result = 300
+	elseif ARGS[1] <= 29:
+		result = 400
+	elseif ARGS[1] <= 34:
+		result = 500
+	elseif ARGS[1] <= 39:
+		result = 600
+	elseif ARGS[1] <= 44:
+		result = 700
+	else
+		result = 800
+	end
+
+	if ARGS[2] <= 5:
+		result += 0
+	elseif ARGS[2] <= 10:
+		result += 1
+	elseif ARGS[2] <= 15:
+		result += 2
+	elseif ARGS[2] <= 25:
+		result += 3
+	elseif ARGS[2] <= 35:
+		result += 4
+	elseif ARGS[2] <= 50:
+		result += 5
+	elseif ARGS[2] <= 70:
+		result += 6
+	elseif ARGS[2] <= 100:
+		result += 7
+	elseif ARGS[2] <= 110:
+		result += 8
+	elseif ARGS[2] <= 120:
+		result += 9
+	elseif ARGS[2] <= 130:
+		result += 10
+	elseif ARGS[2] <= 140:
+		result += 11
+	elseif ARGS[2] <= 150:
+		result += 12
+	elseif ARGS[2] <= 160:
+		result += 13
+	elseif ARGS[2] <= 170:
+		result += 14
+	elseif ARGS[2] <= 180:
+		result += 15
+	elseif ARGS[2] <= 190:
+		result += 16
+	else
+		result += 17
+	end
+end
+
+if $ARGS[0] = 'bmi_desc':
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
+
+	if bs_temp_bs_class < 100:
+		$result = 'You are severely underweight.'
+	elseif bs_temp_bs_class < 200:
+		$result = 'You are underweight'
+	elseif bs_temp_bs_class < 300:
+		$result = 'You have a normal, healthy weight.'
+	elseif bs_temp_bs_class < 400:
+		$result = 'You have a normal, healthy weight.'
+	elseif bs_temp_bs_class < 500:
+		$result = 'You are overweight.'
+	elseif bs_temp_bs_class < 600:
+		$result = 'You are moderately obese.'
+	elseif bs_temp_bs_class < 700:
+		$result = 'You are severely obese.'
+	elseif bs_temp_bs_class < 800:
+		$result = 'You are very severely obese.'
+	else
+		$result = 'You are morbidly obese.'
+	end
+
+	killvar 'bs_temp_bs_class'
+end
+
+! For succubus call this as func('body_structure', pcs_bmi, 90)
+if $ARGS[0] = 'appearance_bonus':
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
+
+	if bs_temp_bs_class < 100:
+		!! severely underweight
+		result = -10
+	elseif bs_temp_bs_class < 200:
+		!! underweight
+		result = 25
+	elseif bs_temp_bs_class < 300:
+		!! healthy weight
+		result = 50
+	elseif bs_temp_bs_class < 400:
+		!! healthy weight
+		result = 50
+	elseif bs_temp_bs_class < 500:
+		!! overweight
+		result = 25
+	elseif bs_temp_bs_class < 600:
+		!! moderately obese
+		result = 10
+	elseif bs_temp_bs_class < 700:
+		!! severely obese
+		result = -15
+	elseif bs_temp_bs_class < 800:
+		!! very severely obese
+		result = -40
+	else
+		!! morbidly obese
+		result = -80
+	end
+
+	bs_temp_bs_class = bs_temp_bs_class mod 100
+
+	if bs_temp_bs_class = 0:
+		result -= 30
+	elseif bs_temp_bs_class = 1:
+		result -= 20
+	elseif bs_temp_bs_class = 2:
+		result -= 15
+	elseif bs_temp_bs_class = 3:
+		result -= 10
+	elseif bs_temp_bs_class = 4:
+		result -= 5
+	elseif bs_temp_bs_class = 5:
+		result += 0
+	elseif bs_temp_bs_class = 6:
+		result += 5
+	elseif bs_temp_bs_class = 7:
+		result += 10
+	elseif bs_temp_bs_class = 8:
+		result += 5
+	elseif bs_temp_bs_class = 9:
+		result += 0
+	elseif bs_temp_bs_class = 10:
+		result -= 5
+	elseif bs_temp_bs_class = 11:
+		result -= 15
+	elseif bs_temp_bs_class = 12:
+		result -= 30
+	elseif bs_temp_bs_class = 13:
+		result -= 45
+	elseif bs_temp_bs_class = 14:
+		result -= 60
+	elseif bs_temp_bs_class = 15:
+		result -= 75
+	elseif bs_temp_bs_class = 16:
+		result -= 100
+	else
+		result -= 130
+	end
+
+	killvar 'bs_temp_bs_class'
+end
+
+
+if $ARGS[0] = 'body_img':
+	if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600))):
+		if PregChem <= 2687:
+			$result = 'images/pc/body/shape/default_preg/0.jpg'
+		elseif PregChem <= 6215:
+			$result = 'images/pc/body/shape/default_preg/<<((PregChem - 2184)/504)>>.jpg'
+		else
+			$result = 'images/pc/body/shape/default_preg/8.jpg'
+		end
+		exit
+	end
+
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
+
+	if bdsetlock = 1:
+		if fixbodset = 0:
+			bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 4
+		elseif fixbodset = 1:
+			bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 6
+		else
+			bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 8
+		end
+	end
+
+
+	! starving:
+	if bs_temp_bs_class <= 17:
+		$result = 'images/pc/body/shape/0.jpg'
+
+	! underweight
+	elseif bs_temp_bs_class <= 105:
+		$result = 'images/pc/body/shape/default_low/1.jpg'
+	elseif bs_temp_bs_class <= 107:
+		$result = 'images/pc/body/shape/default_mid/1.jpg'
+	elseif bs_temp_bs_class <= 117:
+		$result = 'images/pc/body/shape/default_high/1.jpg'
+
+	! slender
+	elseif bs_temp_bs_class <= 205:
+		$result = 'images/pc/body/shape/default_low/2.jpg'
+	elseif bs_temp_bs_class <= 207:
+		$result = 'images/pc/body/shape/default_mid/2.jpg'
+	elseif bs_temp_bs_class <= 217:
+		$result = 'images/pc/body/shape/default_high/2.jpg'
+
+	! healthy
+	elseif bs_temp_bs_class <= 305:
+		$result = 'images/pc/body/shape/default_low/3.jpg'
+	elseif bs_temp_bs_class <= 307:
+		$result = 'images/pc/body/shape/default_mid/3.jpg'
+	elseif bs_temp_bs_class <= 317:
+		$result = 'images/pc/body/shape/default_high/3.jpg'
+
+	! overweight
+	elseif bs_temp_bs_class <= 405:
+		$result = 'images/pc/body/shape/default_low/4.jpg'
+	elseif bs_temp_bs_class <= 407:
+		$result = 'images/pc/body/shape/default_mid/4.jpg'
+	elseif bs_temp_bs_class <= 417:
+		$result = 'images/pc/body/shape/default_high/4.jpg'
+
+	! moderately obese
+	elseif bs_temp_bs_class <= 517:
+	elseif bs_temp_bs_class <= 505:
+		$result = 'images/pc/body/shape/default_low/5.jpg'
+	elseif bs_temp_bs_class <= 507:
+		$result = 'images/pc/body/shape/default_mid/5.jpg'
+	elseif bs_temp_bs_class <= 517:
+		$result = 'images/pc/body/shape/default_high/5.jpg'
+
+	! severely obese
+	elseif bs_temp_bs_class <= 617:
+		$result = 'images/pc/body/shape/6.jpg'
+
+	! very severely obese
+	elseif bs_temp_bs_class <= 717:
+		$result = 'images/pc/body/shape/7.jpg'
+
+	! morbidly obese
+	else
+		$result = 'images/pc/body/shape/8.jpg'
+	end
+
+	killvar 'bs_temp_bs_class'
+end
+
+
+if $ARGS[0] = 'body_desc':
+	if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600)):
+		if PregChem <= 2687:
+			$result = 'pregnant, but not showing'
+		elseif PregChem <= 3191:
+			$result = 'glowing'
+		elseif PregChem <= 3695:
+			$result = 'starting to show'
+		elseif PregChem <= 4199:
+			$result = 'clearly showing'
+		elseif PregChem <= 4703:
+			$result = 'fairly pregnant'
+		elseif PregChem <= 5207:
+			$result = 'quite pregnant'
+		elseif PregChem <= 5711:
+			$result = 'very pregnant'
+		elseif PregChem <= 6215:
+			$result = 'extremely pregnant'
+		else
+			$result = 'ready to pop'
+		end
+		exit
+	end
+
+
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	bs_temp_bs_class = func('body_structure', ARGS[1], ARGS[2])
+
+	! starving:
+	if bs_temp_bs_class <= 17:
+		$result = 'starving'
+
+	! underweight
+	elseif bs_temp_bs_class <= 105:
+		$result = 'underweight'
+	elseif bs_temp_bs_class <= 107:
+		$result = 'slight'
+	elseif bs_temp_bs_class <= 117:
+		$result = 'wiry'
+
+	! slender
+	elseif bs_temp_bs_class <= 205:
+		$result = 'slender'
+	elseif bs_temp_bs_class <= 207:
+		$result = 'skinny'
+	elseif bs_temp_bs_class <= 217:
+		$result = 'lean'
+
+	! healthy
+	elseif bs_temp_bs_class <= 305:
+		$result = 'healthy'
+	elseif bs_temp_bs_class <= 307:
+		$result = 'toned'
+	elseif bs_temp_bs_class <= 317:
+		$result = 'ripped'
+
+	! overweight
+	elseif bs_temp_bs_class <= 405:
+		$result = 'overweight'
+	elseif bs_temp_bs_class <= 407:
+		$result = 'curvy'
+	elseif bs_temp_bs_class <= 417:
+		$result = 'heavy set'
+
+	! moderately obese
+	elseif bs_temp_bs_class <= 517:
+		$result = 'moderately obese'
+
+	! severely obese
+	elseif bs_temp_bs_class <= 617:
+		$result = 'severely obese'
+
+	! very severely obese
+	elseif bs_temp_bs_class <= 717:
+		$result = 'very severely obese'
+
+	! morbidly obese
+	else
+		$result = 'morbidly obese'
+	end
+
+	killvar 'bs_temp_bs_class'
+end
+
+--- body_structure ---------------------------------

+ 1 - 1
locations/din_van.qsrc

@@ -1142,7 +1142,7 @@ if $ARGS[0] = 'private':
 		dynamic $toymanage
 	end
 
-	'<a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bmi_desc>></center>''">Check weight on the scales</a>'
+	'<a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bodyVars[''bmi_desc'']>></center>''">Check weight on the scales</a>'
 
 	gs 'din_van', 'prvt_pee'
 

+ 1 - 1
locations/gadhouse.qsrc

@@ -311,7 +311,7 @@ if $ARGS[0] = 'main':
 	*nl
 	'A fairly simple cottage in the village of Gadukino which your grandparents call home. In the main room there is a huge <a href="exec:gt ''wardrobe'', ''start''">wardrobe</a> (where you can choose outfits and organize your clothing), and a <a href="exec:gad = 1 & gt ''bed'', ''start''">bed</a> where you can rest. The bed is more comfortable than it looks.'
 	'There is an old <a href="exec:gt ''TV'',''gad''">television</a> in the living room. It''s positioned next to a body length <a href="exec:gt ''mirror'', ''start''">mirror</a>.'
-	'You can check your weight on your grandma''s old mechanical <a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bmi_desc>></center>''">scales</a>.'
+	'You can check your weight on your grandma''s old mechanical <a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bodyVars[''bmi_desc'']>></center>''">scales</a>.'
 
 	if hour < 8:
 		temp = rand(0,9)

+ 9 - 9
locations/obj_din.qsrc

@@ -293,7 +293,7 @@ if $ARGS[0] = 'description':
 	*nl
 	'<<$pcs_apprnc>>'
 	*nl
-	'You are <<pcs_hgt>>cm tall and <a href="exec:gs ''obj_din'', ''show_body''"><<$body>></a>.'
+	'You are <<pcs_hgt>>cm tall and <a href="exec:gs ''obj_din'', ''show_body''"><<$bodyVars[''desc'']>></a>.'
 	'Your breasts would be considered an EU <a href="exec:gs ''obj_din'', ''show_tits''"><<$titsize>></a>.'
 	'<<$nipplesize>>'
 	*nl
@@ -1644,7 +1644,7 @@ if $ARGS[0] = 'face':
 	'<center><h1>Looks</h1></center>'
 	'<center><table width="90%" cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<td cellspacing="0" cellpadding="0" valign="top">'
-	$img_temp = FUNC('$face_image')
+	$img_temp = func('$face_image')
 	'<center><img <<$set_imgh>> src="<<$img_temp>>"></a></center>'
 	killvar 'img_temp'
 	if avatar_hair = 1:
@@ -1672,7 +1672,7 @@ if $ARGS[0] = 'body':
 	'<td cellspacing="0" cellpadding="0" valign="top">'
 !!	This displays the body image; $bodimgsets[x9] is the folder name
 	!some in-game script may call this to display image, so leave it be
-	$img_temp = FUNC('$body_image','body')
+	$img_temp = func('$body_image','body')
 	if $modApi_body_image ! '':
 		$img_temp = $modApi_body_image
 	end
@@ -1695,7 +1695,7 @@ if $ARGS[0] = 'clothes':
 	'<td width="50%" cellspacing="0" cellpadding="20" valign="top">'
 	!move image define to $body_image
 	!display cloth
-	$img_temp = FUNC('$body_image','clothes')
+	$img_temp = func('$body_image','clothes')
 	if $modApi_clothes_image ! '':
 		$img_temp = $modApi_clothes_image
 	end
@@ -1707,7 +1707,7 @@ if $ARGS[0] = 'clothes':
 	end
 	'</td><td width="50%" cellpadding="20" valign="top">'
 	!display coat
-	$img_temp = FUNC('$body_image','coat')
+	$img_temp = func('$body_image','coat')
 	if $modApi_coat_image ! '':
 		$img_temp = $modApi_coat_image
 	end
@@ -1731,7 +1731,7 @@ if $ARGS[0] = 'panties':
 	'<center><h1>Panties</h1></center>'
 	'<center><table width="90%" cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<td cellspacing="0" cellpadding="0" valign="top">'
-	$img_temp = FUNC('$body_image','panties')
+	$img_temp = func('$body_image','panties')
 	if $modApi_panties_image ! '':
 		$img_temp = $modApi_panties_image
 	end
@@ -1753,7 +1753,7 @@ if $ARGS[0] = 'bra':
 	'<center><h1>Bra</h1></center>'
 	'<center><table width="90%" cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<td cellspacing="0" cellpadding="0" valign="top">'
-	$img_temp = FUNC('$body_image','bra')
+	$img_temp = func('$body_image','bra')
 	if $modApi_bra_image ! '':
 		$img_temp = $modApi_bra_image
 	end
@@ -1778,7 +1778,7 @@ if $ARGS[0] = 'show_tits':
 end
 
 if $ARGS[0] = 'show_body':
-	$img_temp = FUNC('$body_image','body')
+	$img_temp = func('$body_image','body')
 	view '<<$img_temp>>'
 	killvar 'img_temp'
 end
@@ -1807,7 +1807,7 @@ if $ARGS[0] = 'shoes':
 	'<center><h1>Shoes</h1></center>'
 	'<center><table width="90%" cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<td cellspacing="0" cellpadding="0" valign="top">'
-	$img_temp = FUNC('$body_image','shoes')
+	$img_temp = func('$body_image','shoes')
 	if $modApi_shoes_image ! '':
 		$img_temp = $modApi_shoes_image
 	end

+ 4 - 0
locations/saveupdater.qsrc

@@ -2406,6 +2406,10 @@ if temp_current_save_version < 00090200:
 		katjaQW['knows_masturbation'] = katjaQW['knows_masterbation']
 		gs 'shortgs', 'remove_array_element', 'katjaQW', 'knows_masterbation'
 	end
+
+	!! body_structure introduction and variable migration:
+	if $bmi_desc	! '':		bodyVars['bmi_desc']	= $bmi_desc		& killvar '$bmi_desc'
+	if $body		! '':		bodyVars['desc']		= $body			& killvar '$body'
 end
 
 

+ 31 - 31
locations/stat_display.qsrc

@@ -33,7 +33,7 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += '<a href="exec:Enable_statimg_face = 1 & gs ''$menu_obnovit''">◇Face</a>'
 	else
 		$stat_imgtool_msg += '<a href="exec:Enable_statimg_face = 0 & gs ''$menu_obnovit''">◆Face</a>'
-		$img_temp = FUNC('$face_image')
+		$img_temp = func('$face_image')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 
@@ -41,7 +41,7 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_body = 1 & gs ''$menu_obnovit''">◇Body</a>'
 	else
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_body = 0 & gs ''$menu_obnovit''">◆Body</a>'
-		$img_temp = FUNC('$body_image','body')
+		$img_temp = func('$body_image','body')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 
@@ -49,7 +49,7 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_coat = 1 & gs ''$menu_obnovit''">◇Coat</a>'
 	else
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_coat = 0 & gs ''$menu_obnovit''">◆Coat</a>'
-		$img_temp = FUNC('$body_image','coat')
+		$img_temp = func('$body_image','coat')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 
@@ -57,7 +57,7 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_cloth = 1 & gs ''$menu_obnovit''">◇Clothes</a>'
 	else
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_cloth = 0 & gs ''$menu_obnovit''">◆Clothes</a>'
-		$img_temp = FUNC('$body_image','clothes')
+		$img_temp = func('$body_image','clothes')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 
@@ -65,7 +65,7 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_bra = 1 & gs ''$menu_obnovit''">◇Bra</a>'
 	else
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_bra = 0 & gs ''$menu_obnovit''">◆Bra</a>'
-		$img_temp = FUNC('$body_image','bra')
+		$img_temp = func('$body_image','bra')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 
@@ -73,12 +73,12 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_panties = 1 & gs ''$menu_obnovit''">◇Panties</a>'
 	else
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_panties = 0 & gs ''$menu_obnovit''">◆Panties</a>'
-		$img_temp = FUNC('$body_image','panties')
+		$img_temp = func('$body_image','panties')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 
 	if bodysuitwornnumber > 0 and (Enable_statimg_bra = 1 or Enable_statimg_panties = 1):
-		$img_temp = FUNC('$body_image','bodysuit')
+		$img_temp = func('$body_image','bodysuit')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 	
@@ -86,7 +86,7 @@ if Enable_showstatimg = 1:
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_shoes = 1 & gs ''$menu_obnovit''">◇Shoes</a>'
 	else
 		$stat_imgtool_msg += ' <a href="exec:Enable_statimg_shoes = 0 & gs ''$menu_obnovit''">◆Shoes</a>'
-		$img_temp = FUNC('$body_image','shoes')
+		$img_temp = func('$body_image','shoes')
 		if $img_temp ! '':  $stat_imgextra_msg += '<a href="exec:view ''<<$img_temp>>''"><img <<$set_statimgh>> src="<<$img_temp>>"></a> '
 	end
 	if $menu_loc ! '': $stat_imgtool_msg += ' <a href="exec:gs ''Cheatmenu_din'' & dynamic $cheatmenu[''setting'']">◎Settings</a>'
@@ -1501,16 +1501,16 @@ if enable_show_status = 0:
 		if cheatNoSleep = 0: $stat_extra_msg += '<BR><b><<$pcs_sleep>></b>'
 	elseif Enable_scalepic = 2:
 		$stat_extra_msg += '<font color="<<$fcolor>>"><TABLE cellpadding="1" cellspacing="0" width="300">'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '2', pcs_horny, pcs_horny)+'</TD><TD>&nbsp;Arousal</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '2', pain['total'], pain['total'], pain['damage'])+'</TD><TD>&nbsp;Pain</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_health * 100 / healthmax, pcs_health)+'</TD><TD>&nbsp;Health</TD></TR>'
-		if $start_type[1] ! 'nomagic': $stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_mana * 100 / manamax, pcs_mana)+'</TD><TD>&nbsp;Mana</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_willpwr * 100 / willpowermax, pcs_willpwr)+'</TD><TD>&nbsp;Willpower</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_stam * 100 / stammax, pcs_stam)+'</TD><TD>&nbsp;Stamina</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_mood, pcs_mood)+'</TD><TD>&nbsp;Mood</TD></TR>'
-		if cheatNoEat = 0: $stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_energy, pcs_energy)+'</TD><TD>&nbsp;Hunger</TD></TR>'
-		if cheatNoDrink = 0: $stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_hydra, pcs_hydra)+'</TD><TD>&nbsp;Thirst</TD></TR>'
-		if cheatNoSleep = 0: $stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_sleep, pcs_sleep)+'</TD><TD>&nbsp;Sleep</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '2', pcs_horny, pcs_horny)+'</TD><TD>&nbsp;Arousal</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '2', pain['total'], pain['total'], pain['damage'])+'</TD><TD>&nbsp;Pain</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_health * 100 / healthmax, pcs_health)+'</TD><TD>&nbsp;Health</TD></TR>'
+		if $start_type[1] ! 'nomagic': $stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_mana * 100 / manamax, pcs_mana)+'</TD><TD>&nbsp;Mana</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_willpwr * 100 / willpowermax, pcs_willpwr)+'</TD><TD>&nbsp;Willpower</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_stam * 100 / stammax, pcs_stam)+'</TD><TD>&nbsp;Stamina</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_mood, pcs_mood)+'</TD><TD>&nbsp;Mood</TD></TR>'
+		if cheatNoEat = 0: $stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_energy, pcs_energy)+'</TD><TD>&nbsp;Hunger</TD></TR>'
+		if cheatNoDrink = 0: $stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_hydra, pcs_hydra)+'</TD><TD>&nbsp;Thirst</TD></TR>'
+		if cheatNoSleep = 0: $stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_sleep, pcs_sleep)+'</TD><TD>&nbsp;Sleep</TD></TR>'
 		$stat_extra_msg += '</TABLE></font>'
 	else
 		gs 'indik', '2', pcs_horny, pcs_horny
@@ -1564,18 +1564,18 @@ else
 	if $stat_extra_msg ! '': $stat_extra_msg += '<br><a href="exec:Enable_showattr = 0 & gs ''$menu_obnovit''">▲Attributes:</a>'
 	if Enable_scalepic = 2:
 		$stat_extra_msg += '<font color="<<$fcolor>>"><TABLE cellpadding="1" cellspacing="0" width="300">'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', 100 - pcs_inhib, 100 - pcs_inhib)+'</TD><TD>&nbsp;Inhibition</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_stren, pcs_stren)+'</TD><TD>&nbsp;Strength</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_agil, pcs_agil)+'</TD><TD>&nbsp;Agility</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_vital, pcs_vital)+'</TD><TD>&nbsp;Endurance</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_intel, pcs_intel)+'</TD><TD>&nbsp;Intelligence</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_sprt, pcs_sprt)+'</TD><TD>&nbsp;Spirit</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_react, pcs_react)+'</TD><TD>&nbsp;Reaction</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_chrsm, pcs_chrsm)+'</TD><TD>&nbsp;Charisma</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_prcptn, pcs_prcptn)+'</TD><TD>&nbsp;Perception</TD></TR>'
-		if $start_type[1] ! 'nomagic': $stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_magik, pcs_magik)+'</TD><TD>&nbsp;Magic</TD></TR>'
-		if succubusflag = 1: $stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', sucexcess, sucexcess)+'</TD><TD>&nbsp;Succubus Energy</TD></TR>'
-		$stat_extra_msg += '<TR><TD width="85%">'+FUNC('indiktab', '1', pcs_apprnc / 2, pcs_apprnc)+'</TD><TD>&nbsp;Attractiveness</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', 100 - pcs_inhib, 100 - pcs_inhib)+'</TD><TD>&nbsp;Inhibition</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_stren, pcs_stren)+'</TD><TD>&nbsp;Strength</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_agil, pcs_agil)+'</TD><TD>&nbsp;Agility</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_vital, pcs_vital)+'</TD><TD>&nbsp;Endurance</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_intel, pcs_intel)+'</TD><TD>&nbsp;Intelligence</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_sprt, pcs_sprt)+'</TD><TD>&nbsp;Spirit</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_react, pcs_react)+'</TD><TD>&nbsp;Reaction</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_chrsm, pcs_chrsm)+'</TD><TD>&nbsp;Charisma</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_prcptn, pcs_prcptn)+'</TD><TD>&nbsp;Perception</TD></TR>'
+		if $start_type[1] ! 'nomagic': $stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_magik, pcs_magik)+'</TD><TD>&nbsp;Magic</TD></TR>'
+		if succubusflag = 1: $stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', sucexcess, sucexcess)+'</TD><TD>&nbsp;Succubus Energy</TD></TR>'
+		$stat_extra_msg += '<TR><TD width="85%">'+func('indiktab', '1', pcs_apprnc / 2, pcs_apprnc)+'</TD><TD>&nbsp;Attractiveness</TD></TR>'
 		$stat_extra_msg += '</TABLE></font>'
 	else
 		gs 'indik', '1', 100 - pcs_inhib, 100 - pcs_inhib
@@ -2459,7 +2459,7 @@ killvar 'stat_imgtool_msg'
 killvar 'stat_imgextra_msg'
 
 if Enable_statfsize > 0: $stat_msg += '</font>' & !disable this, all texts comes from pl will have the same font size, like[time]
-if Enable_faceturn = 1:	view FUNC('$face_image')
+if Enable_faceturn = 1:	view func('$face_image')
 if $git_hash ! '': $stat_msg = '<center><<$git_hash>></center><<$stat_msg>>'
 if Enable_Android = 0:
 	pl '<<$stat_msg>>'