Browse Source

Merge branch 'AdvancedCustomSets'

anjuna krokus 2 tuần trước cách đây
mục cha
commit
8943e90636

+ 1 - 0
glife.qproj

@@ -18,6 +18,7 @@
 		<Location name="journal_portfolio"/>
 		<Location name="journal_NPC_information"/>
 		<Location name="Cheatmenu_din"/>
+		<Location name="Cheatmenu_bisets"/>
 	</Folder>
 	<Folder name="System">
 		<Location name="counter"/>

+ 1 - 1
locations/AppearanceSystem.qsrc

@@ -296,7 +296,7 @@ end
 if $ARGS[0] = 'AdjustFromBMI':
 	tempValue = ARGS[1] & !!value to be adjusted
 
-	temp_bs_class = func('body_structure', 'get_class')
+	temp_bs_class = func('body_structure', 'get_class') mod 1000
 	if temp_bs_class < 100:
 		!! severely underweight
 		result = tempValue * 50 / 100

+ 8 - 415
locations/Cheatmenu_din.qsrc

@@ -702,31 +702,31 @@ if $ARGS[0] = 'bodyMod':
 		'starving (No, you may not select ''starving'', it''s here to show where the scale starts)'
 		''
 		if (bs_temp_bs_class / 100) ! 1:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 170"><<func(''body_structure'', ''body_desc'', 17, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 170"><<func(''body_structure'', ''body_desc'', 17, strenbuf, 0)>></a>'
 			''
 		end
 		if (bs_temp_bs_class / 100) ! 2:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 200"><<func(''body_structure'', ''body_desc'', 20, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 200"><<func(''body_structure'', ''body_desc'', 20, strenbuf, 0)>></a>'
 			''
 		end
 		if (bs_temp_bs_class / 100) ! 3:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 230"><<func(''body_structure'', ''body_desc'', 23, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 230"><<func(''body_structure'', ''body_desc'', 23, strenbuf, 0)>></a>'
 			''
 		end
 		if (bs_temp_bs_class / 100) ! 4:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 270"><<func(''body_structure'', ''body_desc'', 27, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 270"><<func(''body_structure'', ''body_desc'', 27, strenbuf, 0)>></a>'
 			''
 		end
 		if (bs_temp_bs_class / 100) ! 5:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 320"><<func(''body_structure'', ''body_desc'', 32, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 320"><<func(''body_structure'', ''body_desc'', 32, strenbuf, 0)>></a>'
 			''
 		end
 		if (bs_temp_bs_class / 100) ! 6:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 370"><<func(''body_structure'', ''body_desc'', 37, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 370"><<func(''body_structure'', ''body_desc'', 37, strenbuf, 0)>></a>'
 			''
 		end
 		if (bs_temp_bs_class / 100) ! 7:
-			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 420"><<func(''body_structure'', ''body_desc'', 42, strenbuf)>></a>'
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 420"><<func(''body_structure'', ''body_desc'', 42, strenbuf, 0)>></a>'
 			''
 		end
 		killvar 'bs_temp_bs_class'
@@ -3180,414 +3180,7 @@ end
 
 $cheatmenu['bdimmain'] = "gs 'Cheatmenu_din', 'bdimmain'"
 if $ARGS[0] = 'bdimmain':
-	*clr & cla
-	gs 'stat'
-	gs 'obj_din', 'cheattabs'
-	'<center><h1>Cheat Menu - Body Image Sets</h1></center>'
-	$cheatmenu['table_start']
-	'<center><b>Body Image Controls</b></center>'
-	*nl
-	if cheatVars['fix_bodyimg'] = 1:
-		$temp_text = 'You are currently using set: '
-		if cheatVars['fix_bi_set'] < 10:
-			$temp_text += $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_folder']
-		else
-			$temp_text += 'default '
-			if cheatVars['fix_bi_set'] mod 10 = 0:
-				$temp_text += 'low '
-			elseif cheatVars['fix_bi_set'] mod 10 = 1:
-				$temp_text += 'mid '
-			elseif cheatVars['fix_bi_set'] mod 10 = 2:
-				$temp_text += 'high '
-			end
-
-			if cheatVars['fix_bi_set'] / 10 = 19:
-				$temp_text += 'strength'
-			else
-				$temp_text += func('body_structure', 'body_desc_from_class', (cheatVars['fix_bi_set'] / 10 mod 10) * 100)
-			end
-		end
-		'<<$temp_text>>'
-		killvar '$temp_text'
-	else
-		'You are currently not using a fixed set.'
-	end
-	*nl
-	'These are the default body image sets:'
-	*nl
-	func('cheatmenu_din', 'get_default_bi_table')
-	*nl
-	*nl
-	'<center><b>Custom Image Sets</b></center>'
-	temp_cm_bi_flag = 0
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 0
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 1
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 2
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 3
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 4
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 5
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 6
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 7
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 8
-	gs 'cheatmenu_din', 'bdcustfolddisplay', 9
-
-	if temp_cm_bi_flag < 10:
-		*nl
-		'<a href="exec: gs ''cheatmenu_din'', ''bdimcstadd''"><b>Add new set</b></a>'
-	end
-	killvar 'temp_cm_bi_flag'
-
-	$cheatmenu['table_end']
-end
-
-if $ARGS[0] = 'get_default_bi_table':
-	$temp_table = '<table cellpadding="25" cellspacing="0">'
-	$temp_table +=	'<tr>'
-	$temp_table +=		'<td></td>'
-	$temp_table +=		'<td></td>'
-	$temp_table +=		'<th colspan=3><b>Strength</b></th>'
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		'<td></td>'
-	$temp_table +=		'<th><a href="exec: gs ''cheatmenu_din'', ''unlock_img_set'', 199 & gs ''Cheatmenu_din'', ''bdimmain''"><b>RESET</b></a></th>'
-	$temp_table +=		'<th valign="bottom" style="border-bottom: 1px solid black">'
-	if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] mod 10 = 0:
-		$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_din'', ''unlock_img_set'', 190 & gs ''Cheatmenu_din'', ''bdimmain''"><b>Low</b></a>'
-	else
-		$temp_table +=		'<a href="exec: gs ''cheatmenu_din'', ''lock_img_set'', 190 & gs ''Cheatmenu_din'', ''bdimmain''"><b>Low</b></a>'
-	end
-	$temp_table +=		'</th>'
-	$temp_table +=		'<th valign="bottom" style="border-bottom: 1px solid black">'
-	if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] mod 10 = 1:
-		$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_din'', ''unlock_img_set'', 191 & gs ''Cheatmenu_din'', ''bdimmain''"><b>Mid</b></a>'
-	else
-		$temp_table +=		'<a href="exec: gs ''cheatmenu_din'', ''lock_img_set'', 191 & gs ''Cheatmenu_din'', ''bdimmain''"><b>Mid</b></a>'
-	end
-	$temp_table +=		'</th>'
-	$temp_table +=		'<th valign="bottom" style="border-bottom: 1px solid black">'
-	if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] mod 10 = 2:
-		$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_din'', ''unlock_img_set'', 192 & gs ''Cheatmenu_din'', ''bdimmain''"><b>High</b></a></th>'
-	else
-		$temp_table +=		'<a href="exec: gs ''cheatmenu_din'', ''lock_img_set'', 192 & gs ''Cheatmenu_din'', ''bdimmain''"><b>High</b></a></th>'
-	end
-	$temp_table +=		'</th>'
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		'<th rowspan=9><b>BMI</b></th>'
-	temp_cmd_i = 0
-	:default_table_loop
-		if temp_cmd_i ! 0: $temp_table +=	'<tr>'
-		$temp_table +=		'<th align="right" style="border-right: 1px solid black">'
-		if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i:
-			$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_din'', ''unlock_img_set'', 1<<temp_cmd_i>>9 & gs ''Cheatmenu_din'', ''bdimmain''"><b><<func(''body_structure'', ''body_desc_from_class'', temp_cmd_i * 100)>></a></b>'
-		else
-			$temp_table +=		'<a href="exec: gs ''cheatmenu_din'', ''lock_img_set'', 1<<temp_cmd_i>>9 & gs ''Cheatmenu_din'', ''bdimmain''"><b><<func(''body_structure'', ''body_desc_from_class'', temp_cmd_i * 100)>></b></a>'
-		end
-		$temp_table +=		'</th>'
-		$temp_table +=		'<td align="center" valign="center">'
-		temp_cmd_colorflag = 0
-		if cheatVars['fix_bi_set'] > 10 and (cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i or cheatVars['fix_bi_set'] / 10 mod 10 = 9) and (cheatVars['fix_bi_set'] mod 10 = 0 or cheatVars['fix_bi_set'] mod 10 = 9):
-			temp_cmd_colorflag = 1
-		end
-		$temp_table +=			'<<func(''Cheatmenu_din'', ''get_bodyimg_desc_link'', temp_cmd_i * 100 + 2, temp_cmd_colorflag)>>'
-		$temp_table +=		'</td>'
-		$temp_table +=		'<td align="center" valign="center">'
-		temp_cmd_colorflag = 0
-		if cheatVars['fix_bi_set'] > 10 and (cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i or cheatVars['fix_bi_set'] / 10 mod 10 = 9) and (cheatVars['fix_bi_set'] mod 10 = 1 or cheatVars['fix_bi_set'] mod 10 = 9):
-			temp_cmd_colorflag = 1
-		end
-		$temp_table +=			'<<func(''Cheatmenu_din'', ''get_bodyimg_desc_link'', temp_cmd_i * 100 + 6, temp_cmd_colorflag)>>'
-		$temp_table +=		'</td>'
-		$temp_table +=		'<td align="center" valign="center">'
-		temp_cmd_colorflag = 0
-		if cheatVars['fix_bi_set'] > 10 and (cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i or cheatVars['fix_bi_set'] / 10 mod 10 = 9) and (cheatVars['fix_bi_set'] mod 10 = 2 or cheatVars['fix_bi_set'] mod 10 = 9):
-			temp_cmd_colorflag = 1
-		end
-		$temp_table +=			'<<func(''Cheatmenu_din'', ''get_bodyimg_desc_link'', temp_cmd_i * 100 + 8, temp_cmd_colorflag)>>'
-		$temp_table +=		'</td>'
-		$temp_table +=	'</tr>'
-		temp_cmd_i += 1
-	if temp_cmd_i < 9: jump 'default_table_loop'
-
-	$temp_table += '</table>'
-
-	$result = $temp_table
-	killvar '$temp_table'
-	killvar 'temp_cmd_colorflag'
-end
-
-
-
-if $ARGS[0] = 'lock_img_set':
-	cheatVars['fix_bodyimg'] = 1
-	if ARGS[1] < 10:
-		cheatVars['fix_bi_set'] = ARGS[1]
-	else
-		ARGS[1] = ARGS[1] mod 100
-		if cheatVars['fix_bi_set'] < 10: cheatVars['fix_bi_set'] = 199
-
-		if ARGS[1] mod 10 ! 9:
-			cheatVars['fix_bi_set'] = (cheatVars['fix_bi_set'] / 10) * 10 + (ARGS[1] mod 10)
-		else
-			cheatVars['fix_bi_set'] = 100 + (ARGS[1] / 10) * 10 + (cheatVars['fix_bi_set'] mod 10)
-		end
-	end
-	gs 'body', 'UpdateBodyImage'
-end
-
-if $ARGS[0] = 'unlock_img_set':
-	if cheatVars['fix_bi_set'] < 10:
-		cheatVars['fix_bodyimg'] = 0
-		cheatVars['fix_bi_set'] = 0
-	else
-		ARGS[1] = ARGS[1] mod 100
-		if ARGS[1] mod 10 = 9: cheatVars['fix_bi_set'] = 190 + (cheatVars['fix_bi_set'] mod 10)
-		if ARGS[1] / 10 = 9: cheatVars['fix_bi_set'] = (cheatVars['fix_bi_set'] / 10) * 10 + 9
-
-		if cheatVars['fix_bi_set'] = 199:
-			cheatVars['fix_bodyimg'] = 0
-			cheatVars['fix_bi_set'] = 0
-		end
-	end
-	gs 'body', 'UpdateBodyImage'
-end
-
-
-if $ARGS[0] = 'get_bodyimg_desc_link':
-	$result = '<a <<iif(ARGS[2] = 0, '''', ''style="color:#00FF00"'')>> href="exec: view ''' + func('body_structure', 'body_img_from_class', ARGS[1], 0) + '''">' + func('body_structure', 'body_desc_from_class', ARGS[1]) + '</a>'
-end
-
-
-
-
-if $ARGS[0] = 'bdcustfolddisplay':
-	if $cheatVars['fix_biset_<<ARGS[1]>>_folder'] ! '':
-		if temp_cm_bi_flag = 0:
-			*nl
-			'You may edit aspects of a custom image set by clicking on their folder names below.'
-		end
-		*nl
-		'<a <<iif((cheatVars[''fix_bodyimg''] = 1 and cheatVars[''fix_bi_set''] = ARGS[1]), ''style="color:#00FF00"'', '''')>> href="exec: gs ''Cheatmenu_din'', ''bdimdisplay'', <<ARGS[1]>>"><b><<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>></b></a>'
-		temp_cm_bi_flag += 1
-	end
-end
-
-
-$cheatmenu['bdimdisplay'] = "gs 'Cheatmenu_din', 'bdimdisplay', ARGS[0]"
-if $ARGS[0] = 'bdimdisplay':
-	*clr & cla
-	gs 'stat'
-	'<center><h1>Cheat menu</h1></center>'
-	*nl
-	'<center><b>Body Image Set Display</b></center>'
-
-	$cheatmenu['table_start']
-
-	act 'Go Back': gs 'cheatmenu_din', 'bdimmain'
-	'<a href="exec: gs ''cheatmenu_din'', ''bdimmain''"><b>Go Back</b></a>'
-	*nl
-	if cheatVars['fix_bodyimg'] = 1 and ARGS[1] = cheatVars['fix_bi_set']:
-		'This is the currently locked set.'
-		'<a href="exec: gs ''cheatmenu_din'', ''unlock_img_set'' & gs ''Cheatmenu_din'', ''bdimdisplay'', <<ARGS[1]>>"><b>Clear the lock.</b></a>'
-	else
-		'<a href="exec: gs ''cheatmenu_din'', ''lock_img_set'', <<ARGS[1]>> & gs ''Cheatmenu_din'', ''bdimdisplay'', <<ARGS[1]>>"><b>Use this set only.</b></a>'
-	end
-	*nl
-
-	'"Edit image" allows you to set the image file name (only use .jpg images)'
-	'"Edit description" allows you to set the description of the image'
-
-	'Folder: <<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>'
-
-	'Descriptors: (Displayed as "You are:")'
-
-	$temp_base_folder = 'images/pc/body/shape/<<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>'
-
-	$temp_table = '<table cellpadding = "10">'
-	$temp_table +=	'<tr>'
-	$temp_table +=		'<th></th>'
-	$temp_table +=		'<th>Currently using</th>'
-	$temp_table +=		'<th></th>'
-	$temp_table +=		'<th></th>'
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 0)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 1)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 2)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 3)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 4)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 5)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 6)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 7)
-	$temp_table +=	'</tr>'
-	$temp_table +=	'<tr>'
-	$temp_table +=		func('cheatmenu_din', 'get_custom_bodyimg_desc_link', ARGS[1], 8)
-	$temp_table +=	'</tr>'
-	$temp_table += '</table>'
-
-	'<<$temp_table>>'
-	'<a href="exec: gs ''cheatmenu_din'', ''bdimcstdel'', <<ARGS[1]>>">Delete this set.</a>'
-	killvar '$temp_table'
-
-	$cheatmenu['table_end']
-end
-
-if $ARGS[0] = 'get_custom_bodyimg_desc_link':
-	$temp_cmd_img_name = $cheatVars['fix_biset_<<ARGS[1]>>_img_<<ARGS[2]>>']
-	$temp_cmd_desc = $cheatVars['fix_biset_<<ARGS[1]>>_desc_<<ARGS[2]>>']
-
-	if $temp_cmd_img_name = '':
-		$temp_cmd_image = func('body_structure', 'body_img_from_class', ARGS[2] * 100, 0)
-		$temp_cmd_img_addon = 'Default image'
-	else
-		$temp_base_folder = 'images/pc/body/shape/<<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>'
-		$temp_cmd_image = '<<$temp_base_folder>>/<<$temp_cmd_img_name>>.jpg'
-		$temp_cmd_img_addon = '<<$temp_cmd_img_name>>.jpg (<a href="exec: gs ''Cheatmenu_din'', ''bdimcstimgdefault'', <<ARGS[2]>>">Use default image</a>)'
-		killvar '$temp_base_folder'
-	end
-
-	if $temp_cmd_desc = '':
-		$temp_cmd_desc = func('body_structure', 'body_desc_from_class', ARGS[2] * 100)
-	end
-
-	$result = '<td><a href="exec: view ''<<$temp_cmd_image>>''"><<$temp_cmd_desc>></a></td>'
-	$result += '<td><<$temp_cmd_img_addon>></td>'
-	$result += '<td><a href="exec: gs ''Cheatmenu_din'', ''bdimcstimged'', <<ARGS[1]>>, <<ARGS[2]>>">Edit image</a></td>'
-	$result += '<td><a href="exec: gs ''Cheatmenu_din'', ''bdimcstdesed'', <<ARGS[1]>>, <<ARGS[2]>>">Edit description</a></td>'
-
-	killvar '$temp_cmd_image'
-	killvar '$temp_cmd_desc'
-	killvar '$temp_cmd_img_addon'
-	killvar '$temp_cmd_img_name'
-end
-
-
-$cheatmenu['bdimcstadd'] = "gs 'Cheatmenu_din', 'bdimcstadd'"
-if $ARGS[0] = 'bdimcstadd':
-	*clr & cla
-	'<center><b>Body Image Set Addition</b></center>'
-	$cheatmenu['table_start']
-	act 'Go Back': killvar 'klsetask' & gs 'cheatmenu_din', 'bdimmain'
-	'<a href="exec:killvar ''klsetask'' & gs ''cheatmenu_din'', ''bdimmain''"><b>Go Back</b></a>'
-	*nl
-	'This is where you can add a new image set to a game.'
-	'To add an image set, create a folder in images/pc/body/shape/ and name it anything you want (shorter will be easier to remember). Then put in it any images you want. Once you have done that, click the link below and put in your folder name to add that set.'
-	'Note: This will only be for this instance/save of the game and you will have to redo the click the link step if you want to add the same folder to a different instance/save.'
-	*nl
-	'<a href="exec: gs ''Cheatmenu_din'', ''bdimcstaddpro''">Add Image Set</a>'
-	$cheatmenu['table_end']
-end
-
-$cheatmenu['bdimcstaddpro'] = "gs 'Cheatmenu_din', 'bdimcstaddpro'"
-if $ARGS[0] = 'bdimcstaddpro':
-	$tmpstrg = input("Enter folder name, do not include ''\''")
-	if $tmpstrg = '':
-		killvar '$tmpstrg'
-		gs 'Cheatmenu_din', 'bdimcstadd'
-	else
-		cyci1 = 0
-		:addcyc1
-		if $cheatVars['fix_biset_<<cyci1>>_folder'] ! '': cyci1 += 1 & jump 'addcyc1'
-		if cyci1 > 9:
-			'You have encoutered error 1'
-			'<a href="exec: gs ''cheatmenu_din'', ''bdimmain''"><b>Go Back</b></a>'
-			exit
-		end
-		ARGS[1] = cyci1
-
-		if mid($tmpstrg, len($tmpstrg)) = '/' or mid($tmpstrg, len($tmpstrg)) = '\':
-			$tmpstrg = mid($tmpstrg, 1, len($tmpstrg)-1)
-		end
-
-		cyci1 = 0
-		:addcyc2
-			$cheatVars['fix_biset_<<ARGS[1]>>_desc_<<cyci1>>'] = func('body_structure', 'body_desc_from_class', cyci1 * 100)
-			cyci1 += 1
-		if cyci1 < 9: jump 'addcyc2'
-
-		$cheatVars['fix_biset_<<ARGS[1]>>_folder'] = $tmpstrg
-		killvar '$tmpstrg'
-		killvar 'cyci1'
-
-		gs 'Cheatmenu_din', 'bdimdisplay', ARGS[1]
-	end
-end
-
-$cheatmenu['bdimcstdesed'] = "gs 'Cheatmenu_din', 'bdimcstdesed', ARGS[0], ARGS[1]"
-if $ARGS[0] = 'bdimcstdesed':
-	$tmpstrg = input("Enter a new descriptor")
-	if $tmpstrg ! '':
-		$cheatVars['fix_biset_<<ARGS[1]>>_desc_<<ARGS[2]>>'] = $tmpstrg
-		if cheatVars['fix_bi_set'] = ARGS[1]: gs 'body', 'UpdateBodyImage'
-	end
-
-	killvar '$tmpstrg'
-	gs 'Cheatmenu_din', 'bdimdisplay', ARGS[1]
-end
-
-if $ARGS[0] = 'bdimcstimged':
-	$tmpstrg = input("Enter a new image name (Leave empty to not change the image. Example: 1). Exclude the '.jpg'")
-	if $tmpstrg ! '':
-		if mid($tmpstrg, len($tmpstrg)-3) = '.jpg':
-			$tmpstrg = mid($tmpstrg, 1, len($tmpstrg)-4)
-		end
-		$cheatVars['fix_biset_<<ARGS[1]>>_img_<<ARGS[2]>>'] = $tmpstrg
-		if cheatVars['fix_bi_set'] = ARGS[1]: gs 'body', 'UpdateBodyImage'
-	end
-
-	killvar '$tmpstrg'
-	gs 'Cheatmenu_din', 'bdimdisplay', ARGS[1]
-end
-
-if $ARGS[0] = 'bdimcstimgdefault':
-	$cheatVars['fix_biset_<<ARGS[1]>>_img_<<ARGS[2]>>'] = ''
-	gs 'Cheatmenu_din', 'bdimdisplay', ARGS[1]
-end
-
-
-$cheatmenu['bdimcstdel'] = "gs 'Cheatmenu_din', 'bdimcstdel', ARGS[0]"
-if $ARGS[0] = 'bdimcstdel':
-	*clr & cla
-	'<center><b>Body Image Set Removal</b></center>'
-	$cheatmenu['table_start']
-
-	'<a href="exec: killvar ''klsetask'' & gs ''Cheatmenu_din'', ''bdimdisplay'', <<ARGS[1]>>"><b>Go Back</b></a>'
-	*nl
-	'This is where you remove a body image set from use, please note it does not delete anything, it just clears the custom set from this game instance/save.'
-	if klsetask = 1:
-		'<a href="exec:klsetask = 2 & gs ''Cheatmenu_din'', ''bdimcstdel'', <<ARGS[1]>>"><b>Are you sure you want to remove set <<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>?</b></a>'
-	elseif klsetask = 2:
-		if cheatVars['fix_bodyimg'] = 1 and cheatVars['fix_bi_set'] = ARGS[1]: cheatVars['fix_bodyimg'] = 0 & cheatVars['fix_bi_set'] = 0
-
-		cyci1 = 0
-		:del_bodimgset_loop
-			gs 'shortgs', 'remove_array_element', 'cheatVars', 'fix_biset_<<ARGS[1]>>_img_<<cyci1>>'
-			gs 'shortgs', 'remove_array_element', 'cheatVars', 'fix_biset_<<ARGS[1]>>_desc_<<cyci1>>'
-			cyci1 += 1
-		if cyci1 < 9: jump 'del_bodimgset_loop'
-		gs 'shortgs', 'remove_array_element', 'cheatVars','fix_biset_<<ARGS[1]>>_folder'
-
-		killvar 'cyci1'
-		killvar 'klsetask'
-		gs 'cheatmenu_din', 'bdimmain'
-	else
-		'<a href="exec: klsetask = 1 & gs ''Cheatmenu_din'', ''bdimcstdel'', <<ARGS[1]>>">Remove set <<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>?</a>'
-	end
-	$cheatmenu['table_end']
+	gs 'cheatmenu_bisets', 'main'
 end
 
 

+ 303 - 122
locations/body_structure.qsrc

@@ -1,54 +1,80 @@
 # body_structure
 
+$DEFAULT_PATH = 'images/pc/body/shape'
+
 
 !	Get the bmi-strength class
-!	bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf)
+!	bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf, pregchem)
 if $ARGS[0] = 'get_class':
 	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
 	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	if arrsize('ARGS') = 3: ARGS[3] = PregChem
+
+	!	PregChem
+	if ARGS[3] < 2184:
+		result = 0000
+	elseif ARGS[3] < 2688:
+		result = 1000
+	elseif ARGS[3] < 3192:
+		result = 2000
+	elseif ARGS[3] < 3696:
+		result = 3000
+	elseif ARGS[3] < 4200:
+		result = 4000
+	elseif ARGS[3] < 4704:
+		result = 5000
+	elseif ARGS[3] < 5208:
+		result = 6000
+	elseif ARGS[3] < 5712:
+		result = 7000
+	elseif ARGS[3] < 6216:
+		result = 8000
+	else
+		result = 9000
+	end
 
 	!	bmi
 	if ARGS[1] < 16:
-		result = 0
+		result += 000
 	elseif ARGS[1] < 19:
-		result = 100
+		result += 100
 	elseif ARGS[1] < 22:
-		result = 200
+		result += 200
 	elseif ARGS[1] < 25:
-		result = 300
+		result += 300
 	elseif ARGS[1] < 30:
-		result = 400
+		result += 400
 	elseif ARGS[1] < 35:
-		result = 500
+		result += 500
 	elseif ARGS[1] < 40:
-		result = 600
+		result += 600
 	elseif ARGS[1] < 45:
-		result = 700
+		result += 700
 	else
-		result = 800
+		result += 800
 	end
 
 	!	strenbuf
 	if ARGS[2] <= 5:
-		result += 0
+		result += 00
 	elseif ARGS[2] <= 10:
-		result += 1
+		result += 01
 	elseif ARGS[2] <= 15:
-		result += 2
+		result += 02
 	elseif ARGS[2] <= 25:
-		result += 3
+		result += 03
 	elseif ARGS[2] <= 35:
-		result += 4
+		result += 04
 	elseif ARGS[2] <= 50:
-		result += 5
+		result += 05
 	elseif ARGS[2] <= 70:
-		result += 6
+		result += 06
 	elseif ARGS[2] <= 100:
-		result += 7
+		result += 07
 	elseif ARGS[2] <= 110:
-		result += 8
+		result += 08
 	elseif ARGS[2] <= 120:
-		result += 9
+		result += 09
 	elseif ARGS[2] <= 130:
 		result += 10
 	elseif ARGS[2] <= 140:
@@ -124,6 +150,26 @@ if $ARGS[0] = 'body_img_totals':
 	elseif ARGS[1] = 800:
 		result = 1
 
+
+	elseif ARGS[1] = 1000:
+		result = 1
+	elseif ARGS[1] = 2000:
+		result = 1
+	elseif ARGS[1] = 3000:
+		result = 1
+	elseif ARGS[1] = 4000:
+		result = 1
+	elseif ARGS[1] = 5000:
+		result = 1
+	elseif ARGS[1] = 6000:
+		result = 1
+	elseif ARGS[1] = 7000:
+		result = 1
+	elseif ARGS[1] = 8000:
+		result = 1
+	elseif ARGS[1] = 9000:
+		result = 1
+
 	end
 end
 
@@ -176,25 +222,49 @@ if $ARGS[0] = 'Body_img_transform':
 		result = 600
 	elseif ARGS[1] < 800:
 		result = 700
-	else
+	elseif ARGS[1] < 1000:
 		result = 800
+	elseif ARGS[1] < 2000:
+		result = 1000
+	elseif ARGS[1] < 3000:
+		result = 2000
+	elseif ARGS[1] < 4000:
+		result = 3000
+	elseif ARGS[1] < 5000:
+		result = 4000
+	elseif ARGS[1] < 6000:
+		result = 5000
+	elseif ARGS[1] < 7000:
+		result = 6000
+	elseif ARGS[1] < 8000:
+		result = 7000
+	elseif ARGS[1] < 9000:
+		result = 8000
+	elseif ARGS[1] < 10000:
+		result = 9000
 	end
 end
 
 !	ARGS[1] = bs_class
 if $ARGS[0] = 'default_set_class_transform':
-	result = ARGS[1]
+	if ARGS[1] >= 1000:
+		result = ARGS[1]
+		exit
+	end
+
+	result = ARGS[1] mod 1000
 	if cheatVars['fix_bi_set'] mod 10 = 0:
-		result = 100 * (result / 100) + 2
+		result = 100 * (ARGS[1] / 100) + 2
 	elseif cheatVars['fix_bi_set'] mod 10 = 1:
-		result = 100 * (result / 100) + 6
+		result = 100 * (ARGS[1] / 100) + 6
 	elseif cheatVars['fix_bi_set'] mod 10 = 2:
-		result = 100 * (result / 100) + 8
+		result = 100 * (ARGS[1] / 100) + 8
 	end
 
 	if cheatVars['fix_bi_set'] / 10 mod 10 ! 9:
 		result = (cheatVars['fix_bi_set'] / 10 mod 10) * 100 + result mod 100
 	end
+	result += base_result
 end
 
 
@@ -206,22 +276,9 @@ if $ARGS[0] = 'body_img':
 	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
 	if arrsize('ARGS') = 3: ARGS[3] = PregChem
 
+	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2], ARGS[3])
 
 
-	! =======      Pregnant       ======= !
-	if cheatVars['fix_bodyimg'] = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600))):
-		if ARGS[3] <= 2687:
-			$result = 'images/pc/body/shape/preg/0/0.jpg'
-		elseif ARGS[3] <= 6215:
-			$result = 'images/pc/body/shape/preg/0/<<((ARGS[3] - 2184)/504)>>.jpg'
-		else
-			$result = 'images/pc/body/shape/preg/0/8.jpg'
-		end
-		exit
-	end
-
-	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
-
 	if cheatVars['fix_bodyimg'] = 1:
 		if cheatVars['fix_bi_set'] < 10:
 			$result = func('body_structure', 'custom_body_img', bs_temp_bs_class)
@@ -237,46 +294,79 @@ if $ARGS[0] = 'body_img':
 end
 
 
+!! ARGS[1] = bs_class
 if $ARGS[0] = 'body_img_from_class':
-	$result = 'images/pc/body/shape/'
-
 	ARGS[1] = func('body_structure', 'Body_img_transform', ARGS[1])
-	if ARGS[1] < 100:
-		$result += '0_starving/'
-	elseif ARGS[1] < 200:
-		$result += '1_underweight/'
-	elseif ARGS[1] < 300:
-		$result += '2_slender/'
-	elseif ARGS[1] < 400:
-		$result += '3_healthy/'
-	elseif ARGS[1] < 500:
-		$result += '4_overweight/'
-	elseif ARGS[1] < 600:
-		$result += '5_modobese/'
-	elseif ARGS[1] < 700:
-		$result += '6_sevobese/'
-	elseif ARGS[1] < 800:
-		$result += '7_vsevobese/'
-	else
-		$result += '8_morobese/'
+
+	$result = func('body_structure', 'body_img_path_from_class', ARGS[1])
+	$result += '/'
+
+	if ARGS[1] >= 1000:
+		$result += '0/'
+		if ARGS[1] = 1000:
+			$result += '0'
+		elseif ARGS[1] = 2000:
+			$result += '1'
+		elseif ARGS[1] = 3000:
+			$result += '2'
+		elseif ARGS[1] = 4000:
+			$result += '3'
+		elseif ARGS[1] = 5000:
+			$result += '4'
+		elseif ARGS[1] = 6000:
+			$result += '5'
+		elseif ARGS[1] = 7000:
+			$result += '6'
+		elseif ARGS[1] = 8000:
+			$result += '7'
+		elseif ARGS[1] = 9000:
+			$result += '8'
+		end
+		$result += '.jpg'
+		exit
 	end
 
-	if ARGS[1] mod 100 = 0:
+
+	ARGS[2] = (ARGS[1] mod 100)
+	if ARGS[2] = 0:
 		$result += '0_low_'
-	elseif ARGS[1] mod 100 = 6:
+	elseif ARGS[2] = 1:
+		$result += '1_???_'
+	elseif ARGS[2] = 2:
+		$result += '2_???_'
+	elseif ARGS[2] = 3:
+		$result += '3_???_'
+	elseif ARGS[2] = 4:
+		$result += '4_???_'
+	elseif ARGS[2] = 5:
+		$result += '5_???_'
+	elseif ARGS[2] = 6:
 		$result += '6_mid_'
-	elseif ARGS[1] mod 100 = 7:
+	elseif ARGS[2] = 7:
 		$result += '7_high_'
-	elseif ARGS[1] mod 100 = 8:
+	elseif ARGS[2] = 8:
 		$result += '8_strong_'
-	elseif ARGS[1] mod 100 = 10:
+	elseif ARGS[2] = 9:
+		$result += '9_???_'
+	elseif ARGS[2] = 10:
 		$result += '10_vstrong_'
-	elseif ARGS[1] mod 100 = 13:
+	elseif ARGS[2] = 11:
+		$result += '11_???_'
+	elseif ARGS[2] = 12:
+		$result += '12_???_'
+	elseif ARGS[2] = 13:
 		$result += '13_bbuilder_'
-	elseif ARGS[1] mod 100 = 15:
+	elseif ARGS[2] = 14:
+		$result += '14_???_'
+	elseif ARGS[2] = 15:
 		$result += '15_hulk_'
+	elseif ARGS[2] = 16:
+		$result += '16_???_'
+	else
+		$result += '17_???_'
 	end
 
+
 	temp_img_totals = func('body_structure', 'body_img_totals', ARGS[1])
 	if arrsize('ARGS') <= 2:
 		temp_img_chosen = rand(0, temp_img_totals-1)
@@ -291,21 +381,70 @@ if $ARGS[0] = 'body_img_from_class':
 	$result += '<<temp_img_chosen>>.jpg'
 
 	killvar 'temp_img_totals'
-	killvar 'bs_temp_bs_class'
 end
 
+if $ARGS[0] = 'body_img_path_from_class':
+	$result = $DEFAULT_PATH + '/'
+	if ARGS[1] < 100:
+		$result += '0_starving'
+	elseif ARGS[1] < 200:
+		$result += '1_underweight'
+	elseif ARGS[1] < 300:
+		$result += '2_slender'
+	elseif ARGS[1] < 400:
+		$result += '3_healthy'
+	elseif ARGS[1] < 500:
+		$result += '4_overweight'
+	elseif ARGS[1] < 600:
+		$result += '5_modobese'
+	elseif ARGS[1] < 700:
+		$result += '6_sevobese'
+	elseif ARGS[1] < 800:
+		$result += '7_vsevobese'
+	elseif ARGS[1] < 1000:
+		$result += '8_morobese'
+	else
+		$result += 'preg'
+	end
+end
+
+
+
 if $ARGS[0] = 'custom_body_img':
-	ARGS[1] = ARGS[1] / 100
+	if ARGS[1] >= 1000:
+		$result = func('body_structure', 'body_img_from_class', ARGS[1])
+		exit
+	end
+
+
+	if cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_advanced'] = 0:
+		ARGS[1] = ARGS[1] / 100
+		$temp_img_name = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_img_<<ARGS[1]>>']
+		$temp_base_folder = $DEFAULT_PATH
+		$temp_base_folder += '/' + $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_folder']
+	else
+		$cbi_class = $mid(1000+ARGS[1], 2)
+		bs_imgnum = rand(0, cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_imgnums_<<$cbi_class>>']-1)
+		$temp_img_name = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_img_<<$cbi_class>>_<<bs_imgnum>>']
+		killvar 'bs_imgnum'
+
+		$temp_base_folder = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_path']
+		if $temp_base_folder = '':
+			$temp_base_folder = $DEFAULT_PATH
+		end
+		$temp_base_folder += '/' + $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_folder']
+		if $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_path_<<$cbi_class>>'] ! '':
+			$temp_base_folder += '/' + $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_path_<<$cbi_class>>']
+		end
+		killvar '$cbi_class'
+	end
 
-	$temp_img_name = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_img_<<ARGS[1]>>']
 	if $temp_img_name = '':
-		$result = func('body_structure', 'body_img_from_class', ARGS[1] * 100)
-		killvar '$temp_img_name'
-		exit
+		$result = func('body_structure', 'cs_get_default_img', ARGS[1])
+	else
+		$result = '<<$temp_base_folder>>/<<$temp_img_name>>.jpg'
 	end
 
-	$temp_base_folder = 'images/pc/body/shape/' + $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_folder']
-	$result = '<<$temp_base_folder>>/<<$temp_img_name>>.jpg'
 	killvar '$temp_base_folder'
 	killvar '$temp_img_name'
 end
@@ -318,30 +457,7 @@ if $ARGS[0] = 'body_desc':
 	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
 	if arrsize('ARGS') = 3: ARGS[3] = PregChem
 
-	if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600)):
-		if ARGS[3] <= 2687:
-			$result = 'pregnant, but not showing'
-		elseif ARGS[3] <= 3191:
-			$result = 'glowing'
-		elseif ARGS[3] <= 3695:
-			$result = 'starting to show'
-		elseif ARGS[3] <= 4199:
-			$result = 'clearly showing'
-		elseif ARGS[3] <= 4703:
-			$result = 'fairly pregnant'
-		elseif ARGS[3] <= 5207:
-			$result = 'quite pregnant'
-		elseif ARGS[3] <= 5711:
-			$result = 'very pregnant'
-		elseif ARGS[3] <= 6215:
-			$result = 'extremely pregnant'
-		else
-			$result = 'ready to pop'
-		end
-		exit
-	end
-
-	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
+	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2], ARGS[3])
 
 	if cheatVars['fix_bodyimg'] = 1:
 		if cheatVars['fix_bi_set'] < 10:
@@ -432,19 +548,50 @@ if $ARGS[0] = 'body_desc_from_class':
 
 	! =======   morbidly obese    ======= !
 	! -----     45 <= bmi           ----- !
-	else
+	elseif ARGS[1] < 1000:
 		!	0 <= strenbuf <= 200
 		$result = 'morbidly obese'
+
+	! =======      pregnant       ======= !
+	! -----                         ----- !
+	elseif ARGS[1] < 2000:
+		$result = 'pregnant, but not showing'
+	elseif ARGS[1] < 3000:
+		$result = 'glowing'
+	elseif ARGS[1] < 4000:
+		$result = 'starting to show'
+	elseif ARGS[1] < 5000:
+		$result = 'clearly showing'
+	elseif ARGS[1] < 6000:
+		$result = 'fairly pregnant'
+	elseif ARGS[1] < 7000:
+		$result = 'quite pregnant'
+	elseif ARGS[1] < 8000:
+		$result = 'very pregnant'
+	elseif ARGS[1] < 9000:
+		$result = 'extremely pregnant'
+	else
+		$result = 'ready to pop'
 	end
 end
 
 
 if $ARGS[0] = 'custom_body_desc':
-	ARGS[1] = ARGS[1] / 100
+	if ARGS[1] >= 1000:
+		$result = func('body_structure', 'body_desc_from_class', ARGS[1])
+		exit
+	end
+
+
+	if cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_advanced'] = 0:
+		ARGS[1] = ARGS[1] / 100
+		$temp_bs_body_desc = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_desc_<<ARGS[1]>>']
+	else
+		$temp_bs_body_desc = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_desc_<<$mid(1000+ARGS[1],2)>>']
+	end
 
-	$temp_bs_body_desc = $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_desc_<<ARGS[1]>>']
 	if $temp_bs_body_desc = '':
-		$temp_bs_body_desc = func('body_structure', 'body_desc_from_class', ARGS[1] * 100)
+		$temp_bs_body_desc = func('body_structure', 'cs_get_default_desc', ARGS[1])
 	end
 
 	$result = $temp_bs_body_desc
@@ -458,7 +605,7 @@ end
 if $ARGS[0] = 'bmi_desc':
 	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
 
-	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], 30)
+	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], 30, 0)
 	$result = func('body_structure', 'bmi_desc_from_class', bs_temp_bs_class)
 	killvar 'bs_temp_bs_class'
 end
@@ -493,12 +640,14 @@ 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', 'get_class', ARGS[1], ARGS[2])
+	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2], 0)
 	result = func('body_structure', 'appearance_bonus_from_class', bs_temp_bs_class)
 	killvar 'bs_temp_bs_class'
 end
 
 if $ARGS[0] = 'appearance_bonus_from_class':
+	ARGS[1] = ARGS[1] mod 1000
+
 	if ARGS[1] < 100:
 		!	starving: bmi < 16
 		result = -10
@@ -528,57 +677,57 @@ if $ARGS[0] = 'appearance_bonus_from_class':
 		result = -80
 	end
 
-	ARGS[1] = ARGS[1] mod 100
 
-	if ARGS[1] = 0:
+	ARGS[2] = (ARGS[1] mod 100)
+	if ARGS[2] = 0:
 		!	0 <= strenbuf <= 5
 		result -= 30
-	elseif ARGS[1] = 1:
+	elseif ARGS[2] = 1:
 		!	5 < strenbuf <= 10
 		result -= 20
-	elseif ARGS[1] = 2:
+	elseif ARGS[2] = 2:
 		!	10 < strenbuf <= 15
 		result -= 15
-	elseif ARGS[1] = 3:
+	elseif ARGS[2] = 3:
 		!	15 < strenbuf <= 25
 		result -= 10
-	elseif ARGS[1] = 4:
+	elseif ARGS[2] = 4:
 		!	25 < strenbuf <= 35
 		result -= 5
-	elseif ARGS[1] = 5:
+	elseif ARGS[2] = 5:
 		!	35 < strenbuf <= 50
 		result += 0
-	elseif ARGS[1] = 6:
+	elseif ARGS[2] = 6:
 		!	50 < strenbuf <= 70
 		result += 5
-	elseif ARGS[1] = 7:
+	elseif ARGS[2] = 7:
 		!	70 < strenbuf <= 100
 		result += 10
-	elseif ARGS[1] = 8:
+	elseif ARGS[2] = 8:
 		!	100 < strenbuf <= 110
 		result += 5
-	elseif ARGS[1] = 9:
+	elseif ARGS[2] = 9:
 		!	110 < strenbuf <= 120
 		result += 0
-	elseif ARGS[1] = 10:
+	elseif ARGS[2] = 10:
 		!	120 < strenbuf <= 130
 		result -= 5
-	elseif ARGS[1] = 11:
+	elseif ARGS[2] = 11:
 		!	130 < strenbuf <= 140
 		result -= 15
-	elseif ARGS[1] = 12:
+	elseif ARGS[2] = 12:
 		!	140 < strenbuf <= 150
 		result -= 30
-	elseif ARGS[1] = 13:
+	elseif ARGS[2] = 13:
 		!	150 < strenbuf <= 160
 		result -= 45
-	elseif ARGS[1] = 14:
+	elseif ARGS[2] = 14:
 		!	160 < strenbuf <= 170
 		result -= 60
-	elseif ARGS[1] = 15:
+	elseif ARGS[2] = 15:
 		!	170 < strenbuf <= 180
 		result -= 75
-	elseif ARGS[1] = 16:
+	elseif ARGS[2] = 16:
 		!	180 < strenbuf <= 190
 		result -= 100
 	else
@@ -588,4 +737,36 @@ if $ARGS[0] = 'appearance_bonus_from_class':
 end
 
 
+
+
+
+if $ARGS[0] = 'cs_get_default_img':
+	if cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_advanced'] = 0:
+		ARGS[1] *= 100
+	end
+
+	$result = func('body_structure', 'body_img_from_class', ARGS[1])
+end
+
+if $ARGS[0] = 'cs_get_default_desc':
+	if cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_advanced'] = 0:
+		ARGS[1] *= 100
+	end
+
+	$result = func('body_structure', 'body_desc_from_class', ARGS[1])
+end
+
+
+
+
+	!!===================================================================!!
+	!!                                                                   !!
+	!!                              CLEANUP                              !!
+	!!                                                                   !!
+	!!===================================================================!!
+
+
+killvar '$DEFAULT_PATH'
+
+
 --- body_structure ---------------------------------

+ 1541 - 0
locations/cheatmenu_bisets.qsrc

@@ -0,0 +1,1541 @@
+# cheatmenu_bisets
+
+$cheatmenu['table_start']	= '<center><table width="80%" cellspacing="0" cellpadding="20" valign="top"><tr><td width="500" cellspacing="0" cellpadding="20" valign="top">'
+$cheatmenu['table_second']	= '</td><td width="500" cellspacing="0" cellpadding="20" valign="top">'
+$cheatmenu['table_end']		= '</td></tr></table></center>'
+
+
+if $ARGS[0] = 'main':
+	*clr & cla
+	gs 'stat'
+	gs 'themes', 'indoors'
+	gs 'obj_din', 'cheattabs'
+
+	'<center><h1>Cheat Menu - Body Image Sets</h1></center>'
+	$cheatmenu['table_start']
+		'<center><b>Body Image Controls</b></center>'
+		*nl
+		if cheatVars['fix_bodyimg'] = 1:
+			$temp_text = 'You are currently using set: '
+			if cheatVars['fix_bi_set'] < 10:
+				$temp_text += $cheatVars['fix_biset_<<cheatVars[''fix_bi_set'']>>_folder']
+			else
+				$temp_text += 'default '
+				if cheatVars['fix_bi_set'] mod 10 = 0:
+					$temp_text += 'low '
+				elseif cheatVars['fix_bi_set'] mod 10 = 1:
+					$temp_text += 'mid '
+				elseif cheatVars['fix_bi_set'] mod 10 = 2:
+					$temp_text += 'high '
+				end
+
+				if cheatVars['fix_bi_set'] / 10 = 19:
+					$temp_text += 'strength'
+				else
+					$temp_text += func('body_structure', 'body_desc_from_class', (cheatVars['fix_bi_set'] / 10 mod 10) * 100)
+				end
+			end
+			'<<$temp_text>>'
+			killvar '$temp_text'
+		else
+			'You are currently not using a fixed set.'
+		end
+		*nl
+		'These are the default body image sets:'
+		*nl
+		func('cheatmenu_bisets', 'get_default_bi_table')
+		*nl
+		*nl
+		'<center><b>Custom Image Sets</b></center>'
+		temp_cm_bi_flag = 0
+		gs 'cheatmenu_bisets', 'custom_folder_display', 0
+		gs 'cheatmenu_bisets', 'custom_folder_display', 1
+		gs 'cheatmenu_bisets', 'custom_folder_display', 2
+		gs 'cheatmenu_bisets', 'custom_folder_display', 3
+		gs 'cheatmenu_bisets', 'custom_folder_display', 4
+		gs 'cheatmenu_bisets', 'custom_folder_display', 5
+		gs 'cheatmenu_bisets', 'custom_folder_display', 6
+		gs 'cheatmenu_bisets', 'custom_folder_display', 7
+		gs 'cheatmenu_bisets', 'custom_folder_display', 8
+		gs 'cheatmenu_bisets', 'custom_folder_display', 9
+
+		if temp_cm_bi_flag < 10:
+			*nl
+			'<a href="exec: gs ''cheatmenu_bisets'', ''add_set''"><b>Add new set</b></a>'
+			'<a href="exec: gs ''cheatmenu_bisets'', ''import_set''"><b>Import new set</b></a>'
+		end
+		killvar 'temp_cm_bi_flag'
+
+	$cheatmenu['table_end']
+
+	act 'How to: mod edition': gs 'cheatmenu_bisets', 'mods_how_to'
+end
+
+if $ARGS[0] = 'get_default_bi_table':
+	$temp_table = '<table cellpadding="25" cellspacing="0">'
+	$temp_table +=	'<tr>'
+	$temp_table +=		'<td></td>'
+	$temp_table +=		'<td></td>'
+	$temp_table +=		'<th colspan=3><b>Strength</b></th>'
+	$temp_table +=	'</tr>'
+	$temp_table +=	'<tr>'
+	$temp_table +=		'<td></td>'
+	$temp_table +=		'<th><a href="exec: gs ''cheatmenu_bisets'', ''unlock_img_set'', 199 & gs ''cheatmenu_bisets'', ''main''"><b>RESET</b></a></th>'
+	$temp_table +=		'<th valign="bottom" style="border-bottom: 1px solid black">'
+	if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] mod 10 = 0:
+		$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_bisets'', ''unlock_img_set'', 190 & gs ''cheatmenu_bisets'', ''main''"><b>Low</b></a>'
+	else
+		$temp_table +=		'<a href="exec: gs ''cheatmenu_bisets'', ''lock_img_set'', 190 & gs ''cheatmenu_bisets'', ''main''"><b>Low</b></a>'
+	end
+	$temp_table +=		'</th>'
+	$temp_table +=		'<th valign="bottom" style="border-bottom: 1px solid black">'
+	if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] mod 10 = 1:
+		$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_bisets'', ''unlock_img_set'', 191 & gs ''cheatmenu_bisets'', ''main''"><b>Mid</b></a>'
+	else
+		$temp_table +=		'<a href="exec: gs ''cheatmenu_bisets'', ''lock_img_set'', 191 & gs ''cheatmenu_bisets'', ''main''"><b>Mid</b></a>'
+	end
+	$temp_table +=		'</th>'
+	$temp_table +=		'<th valign="bottom" style="border-bottom: 1px solid black">'
+	if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] mod 10 = 2:
+		$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_bisets'', ''unlock_img_set'', 192 & gs ''cheatmenu_bisets'', ''main''"><b>High</b></a></th>'
+	else
+		$temp_table +=		'<a href="exec: gs ''cheatmenu_bisets'', ''lock_img_set'', 192 & gs ''cheatmenu_bisets'', ''main''"><b>High</b></a></th>'
+	end
+	$temp_table +=		'</th>'
+	$temp_table +=	'</tr>'
+	$temp_table +=	'<tr>'
+	$temp_table +=		'<th rowspan=9><b>BMI</b></th>'
+	temp_cmd_i = 0
+	:default_table_loop
+		if temp_cmd_i ! 0: $temp_table +=	'<tr>'
+		$temp_table +=		'<th align="right" style="border-right: 1px solid black">'
+		if cheatVars['fix_bi_set'] > 10 and cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i:
+			$temp_table +=		'<a style="color:#00FF00" href="exec: gs ''cheatmenu_bisets'', ''unlock_img_set'', 1<<temp_cmd_i>>9 & gs ''cheatmenu_bisets'', ''main''"><b><<func(''body_structure'', ''body_desc_from_class'', temp_cmd_i * 100)>></a></b>'
+		else
+			$temp_table +=		'<a href="exec: gs ''cheatmenu_bisets'', ''lock_img_set'', 1<<temp_cmd_i>>9 & gs ''cheatmenu_bisets'', ''main''"><b><<func(''body_structure'', ''body_desc_from_class'', temp_cmd_i * 100)>></b></a>'
+		end
+		$temp_table +=		'</th>'
+		$temp_table +=		'<td align="center" valign="center">'
+		temp_cmd_colorflag = 0
+		if cheatVars['fix_bi_set'] > 10 and (cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i or cheatVars['fix_bi_set'] / 10 mod 10 = 9) and (cheatVars['fix_bi_set'] mod 10 = 0 or cheatVars['fix_bi_set'] mod 10 = 9):
+			temp_cmd_colorflag = 1
+		end
+		$temp_table +=			'<<func(''cheatmenu_bisets'', ''get_bodyimg_desc_link'', temp_cmd_i * 100 + 2, temp_cmd_colorflag)>>'
+		$temp_table +=		'</td>'
+		$temp_table +=		'<td align="center" valign="center">'
+		temp_cmd_colorflag = 0
+		if cheatVars['fix_bi_set'] > 10 and (cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i or cheatVars['fix_bi_set'] / 10 mod 10 = 9) and (cheatVars['fix_bi_set'] mod 10 = 1 or cheatVars['fix_bi_set'] mod 10 = 9):
+			temp_cmd_colorflag = 1
+		end
+		$temp_table +=			'<<func(''cheatmenu_bisets'', ''get_bodyimg_desc_link'', temp_cmd_i * 100 + 6, temp_cmd_colorflag)>>'
+		$temp_table +=		'</td>'
+		$temp_table +=		'<td align="center" valign="center">'
+		temp_cmd_colorflag = 0
+		if cheatVars['fix_bi_set'] > 10 and (cheatVars['fix_bi_set'] / 10 mod 10 = temp_cmd_i or cheatVars['fix_bi_set'] / 10 mod 10 = 9) and (cheatVars['fix_bi_set'] mod 10 = 2 or cheatVars['fix_bi_set'] mod 10 = 9):
+			temp_cmd_colorflag = 1
+		end
+		$temp_table +=			'<<func(''cheatmenu_bisets'', ''get_bodyimg_desc_link'', temp_cmd_i * 100 + 8, temp_cmd_colorflag)>>'
+		$temp_table +=		'</td>'
+		$temp_table +=	'</tr>'
+		temp_cmd_i += 1
+	if temp_cmd_i < 9: jump 'default_table_loop'
+
+	$temp_table += '</table>'
+
+	$result = $temp_table
+	killvar '$temp_table'
+	killvar 'temp_cmd_colorflag'
+end
+
+
+
+if $ARGS[0] = 'lock_img_set':
+	cheatVars['fix_bodyimg'] = 1
+	if ARGS[1] < 10:
+		cheatVars['fix_bi_set'] = ARGS[1]
+	else
+		ARGS[1] = ARGS[1] mod 100
+		if cheatVars['fix_bi_set'] < 10: cheatVars['fix_bi_set'] = 199
+
+		if ARGS[1] mod 10 ! 9:
+			cheatVars['fix_bi_set'] = (cheatVars['fix_bi_set'] / 10) * 10 + (ARGS[1] mod 10)
+		else
+			cheatVars['fix_bi_set'] = 100 + (ARGS[1] / 10) * 10 + (cheatVars['fix_bi_set'] mod 10)
+		end
+	end
+	gs 'body', 'UpdateBodyImage'
+end
+
+if $ARGS[0] = 'unlock_img_set':
+	if cheatVars['fix_bi_set'] < 10:
+		cheatVars['fix_bodyimg'] = 0
+		cheatVars['fix_bi_set'] = 0
+	else
+		ARGS[1] = ARGS[1] mod 100
+		if ARGS[1] mod 10 = 9: cheatVars['fix_bi_set'] = 190 + (cheatVars['fix_bi_set'] mod 10)
+		if ARGS[1] / 10 = 9: cheatVars['fix_bi_set'] = (cheatVars['fix_bi_set'] / 10) * 10 + 9
+
+		if cheatVars['fix_bi_set'] = 199:
+			cheatVars['fix_bodyimg'] = 0
+			cheatVars['fix_bi_set'] = 0
+		end
+	end
+	gs 'body', 'UpdateBodyImage'
+end
+
+
+if $ARGS[0] = 'get_bodyimg_desc_link':
+	if ARGS[2] = 0:
+		$result = '<a href="exec: view ''' + func('body_structure', 'body_img_from_class', ARGS[1], 0) + '''">' + func('body_structure', 'body_desc_from_class', ARGS[1]) + '</a>'
+	else
+		$result = '<i><a style="color:#00FF00" href="exec: view ''' + func('body_structure', 'body_img_from_class', ARGS[1], 0) + '''">' + func('body_structure', 'body_desc_from_class', ARGS[1]) + '</a></i>'
+	end
+
+end
+
+
+if $ARGS[0] = 'custom_folder_display':
+	if $cheatVars['fix_biset_<<ARGS[1]>>_folder'] ! '':
+		if temp_cm_bi_flag = 0:
+			*nl
+			'You may edit aspects of a custom image set by clicking on their folder names below.'
+		end
+		*nl
+		$cs_display_text = $cheatVars['fix_biset_<<ARGS[1]>>_name']
+		if $cs_display_text = '':
+			$cs_display_text = $cheatVars['fix_biset_<<ARGS[1]>>_folder']
+		end
+		if cheatVars['fix_bodyimg'] = 1 and cheatVars['fix_bi_set'] = ARGS[1]:
+			'<i><b><a style="color:#00FF00" href="exec: gs ''cheatmenu_bisets'', ''cs_main'', <<ARGS[1]>>"><<$cs_display_text>></a></b></i>'
+		else
+			'<a href="exec: gs ''cheatmenu_bisets'', ''cs_main'', <<ARGS[1]>>"><b><<$cs_display_text>></b></a>'
+		end
+		killvar '$cs_display_text'
+
+		temp_cm_bi_flag += 1
+	end
+end
+
+
+if $ARGS[0] = 'cs_main':
+	*clr & cla
+	'<center><h1>Cheat menu</h1></center>'
+	*nl
+	'<center><b>Body Image Set Display</b></center>'
+
+	$cheatmenu['table_start']
+		act 'Go Back': gs 'cheatmenu_bisets', 'main'
+		'<a href="exec: gs ''cheatmenu_bisets'', ''main''"><b>Go Back</b></a>'
+		*nl
+		if cheatVars['fix_bodyimg'] = 1 and ARGS[1] = cheatVars['fix_bi_set']:
+			'This is the currently locked set.'
+			'<a href="exec: gs ''cheatmenu_bisets'', ''unlock_img_set'' & gs ''cheatmenu_bisets'', ''cs_main'', <<ARGS[1]>>"><b>Clear the lock.</b></a>'
+		else
+			'<a href="exec: gs ''cheatmenu_bisets'', ''lock_img_set'', <<ARGS[1]>> & gs ''cheatmenu_bisets'', ''cs_main'', <<ARGS[1]>>"><b>Use this set only.</b></a>'
+		end
+		*nl
+		dynamic "
+			act 'Export set': gs 'cheatmenu_bisets', 'cs_export', <<ARGS[1]>>
+		"
+		'<a href="exec: gs ''cheatmenu_bisets'', ''cs_export'', <<ARGS[1]>>">Export image set.</a>'
+		*nl
+
+		if cheatVars['fix_biset_<<ARGS[1]>>_advanced'] = 0:
+			gs 'cheatmenu_bisets', 'cs_main_simple', ARGS[1]
+		else
+			gs 'cheatmenu_bisets', 'cs_main_advanced', ARGS[1]
+		end
+
+		'<a href="exec: gs ''cheatmenu_bisets'', ''cs_delete_set'', <<ARGS[1]>>">Delete this set.</a>'
+	$cheatmenu['table_end']
+end
+
+if $ARGS[0] = 'cs_export':
+	*clr & cla
+	cmbs_exp_set = ARGS[1]
+
+	$cheatmenu['table_start']
+		dynamic "
+			act 'Go Back': gs 'cheatmenu_bisets', 'cs_main', <<cmbs_exp_set>>
+		"
+
+		$temp_export_text = "fix_bod_set['advanced'] = <<cheatVars['fix_biset_<<cmbs_exp_set>>_advanced']>>
+		$fix_bod_set['folder'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_folder']>>'
+		"
+		if $cheatVars['fix_biset_<<cmbs_exp_set>>_name'] ! '':
+			$temp_export_text += "$fix_bod_set['name'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_name']>>'
+			"
+		end
+		if $cheatVars['fix_biset_<<cmbs_exp_set>>_path'] ! '':
+			$temp_export_text += "$fix_bod_set['path'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_path']>>'
+			"
+		end
+
+
+		!! classic sets
+		cmd_exp_i = 0
+		:cs_export_simple_loop
+			if $cheatVars['fix_biset_<<cmbs_exp_set>>_img_<<cmd_exp_i>>'] ! '':
+				$temp_export_text += "$fix_bod_set['img_<<cmd_exp_i>>'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_img_<<cmd_exp_i>>']>>'
+				"
+			end
+			if $cheatVars['fix_biset_<<cmbs_exp_set>>_desc_<<cmd_exp_i>>'] ! '':
+				$temp_export_text += "$fix_bod_set['desc_<<cmd_exp_i>>'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_desc_<<cmd_exp_i>>']>>'
+				"
+			end
+			cmd_exp_i += 1
+		if cmd_exp_i < 9: jump 'cs_export_simple_loop'
+
+
+		!! Advanced sets
+		if cheatVars['fix_biset_<<cmbs_exp_set>>_imgnums_0000'] > 0:
+			cmd_exp_bmi = 0
+			:cs_export_adv_bmi_loop
+				cmd_exp_stren = 0
+				:cs_export_adv_str_loop
+					$cmd_class_str = $mid(10000 + cmd_exp_bmi * 100 + cmd_exp_stren, 2)
+
+					if $cheatVars['fix_biset_<<cmbs_exp_set>>_desc_<<$cmd_class_str>>'] ! '':
+						$temp_export_text += "$fix_bod_set['desc_<<$cmd_class_str>>'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_desc_<<$cmd_class_str>>']>>'
+						"
+					end
+					if $cheatVars['fix_biset_<<cmbs_exp_set>>_path_<<$cmd_class_str>>'] ! '':
+						$temp_export_text += "$fix_bod_set['path_<<$cmd_class_str>>'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_path_<<$cmd_class_str>>']>>'
+						"
+					end
+					cmd_imgnums = cheatVars['fix_biset_<<cmbs_exp_set>>_imgnums_<<$cmd_class_str>>']
+					$temp_export_text += "fix_bod_set['imgnums_<<$cmd_class_str>>'] = <<cmd_imgnums>>
+					"
+					cmd_exp_i = 0
+					:cs_export_adv_inner_loop
+						if $cheatVars['fix_biset_<<cmbs_exp_set>>_img_<<$cmd_class_str>>_<<cmd_exp_i>>'] ! '':
+							$temp_export_text += "$fix_bod_set['img_<<$cmd_class_str>>_<<cmd_exp_i>>'] = '<<$cheatVars['fix_biset_<<cmbs_exp_set>>_img_<<$cmd_class_str>>_<<cmd_exp_i>>']>>'
+							"
+						end
+
+						cmd_exp_i += 1
+					if cmd_exp_i < cmd_imgnums: jump 'cs_export_adv_inner_loop'
+
+					cmd_exp_stren += 1
+				if cmd_exp_stren < 18: jump 'cs_export_adv_str_loop'
+				cmd_exp_bmi += 1
+			if cmd_exp_bmi < 9: jump 'cs_export_adv_bmi_loop'
+		end
+
+		$temp_export_text = replace($temp_export_text, "	", "")
+		'<<$temp_export_text>>'
+		killvar '$temp_export_text'
+	$cheatmenu['table_end']
+
+	killvar 'cmbs_exp_set'
+end
+
+
+if $ARGS[0] = 'cs_main_simple':
+	cmbs_set = ARGS[1]
+
+	'<a href="exec: gs ''cheatmenu_bisets'', ''cs_set_advanced'', <<cmbs_set>>"><b>Switch to "advanced"</b></a>'
+	*nl
+	'"Edit image" allows you to set the image file name (only use .jpg images)'
+	'"Edit description" allows you to set the description of the image'
+	*nl
+	'Folder: <<$cheatVars[''fix_biset_<<cmbs_set>>_folder'']>>    <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_folder'', <<cmbs_set>>">Change Folder</a>'
+	*nl
+	'Descriptors: (Displayed as "You are:")'
+
+	$temp_table = '<table cellpadding = "10">'
+	$temp_table +=	'<tr>'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th>Currently using</th>'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th></th>'
+	$temp_table +=	'</tr>'
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 0)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 1)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 2)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 3)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 4)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 5)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 6)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 7)
+	$temp_table +=	func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_simple', cmbs_set, 8)
+	$temp_table += '</table>'
+
+	'<<$temp_table>>'
+	killvar '$temp_table'
+	killvar 'cmbs_set'
+end
+
+if $ARGS[0] = 'get_custom_bodyimg_desc_link_simple':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+
+	$temp_cmd_img_name = $cheatVars['fix_biset_<<temp_set>>_img_<<temp_class>>']
+	$temp_cmd_desc = $cheatVars['fix_biset_<<temp_set>>_desc_<<temp_class>>']
+
+	if $temp_cmd_img_name = '':
+		$temp_cmd_image = func('cheatmenu_bisets', 'cs_get_default_img', temp_set, temp_class)
+		$temp_cmd_img_addon = ''
+		$temp_cmd_img_addon2 = ''
+	else
+		$temp_base_folder = 'images/pc/body/shape/' + $cheatVars['fix_biset_<<temp_set>>_folder']
+		$temp_cmd_image = $temp_base_folder + '/' + $temp_cmd_img_name + '.jpg'
+		$temp_cmd_img_addon = $temp_cmd_img_name + '.jpg'
+		killvar '$temp_base_folder'
+	end
+
+	if $temp_cmd_desc = '':
+		$temp_cmd_desc = func('cheatmenu_bisets', 'cs_get_default_desc', temp_set, temp_class)
+	end
+
+	$result =	'<tr>'
+	$result +=		'<td><<$temp_cmd_desc>></td>'
+	if $temp_cmd_img_addon = '':
+		$result +=		'<td><a href="exec: view ''<<$temp_cmd_image>>''">Default image</a></td>'
+	else
+		$result +=		'<td><a href="exec: view ''<<$temp_cmd_image>>''"><<$temp_cmd_img_addon>></a> (<a href="exec: gs ''cheatmenu_bisets'', ''cs_set_default_img'', <<temp_set>>, <<temp_class>>">Use default image</a>)</td>'
+	end
+	$result +=		'<td><a href="exec: view ''<<$temp_cmd_image>>''"><<$temp_cmd_img_addon>></a></td>'
+	$result +=		'<td><a href="exec: gs ''cheatmenu_bisets'', ''cs_change_img'', <<temp_set>>, <<temp_class>>">Edit image</a></td>'
+	$result +=		'<td><a href="exec: gs ''cheatmenu_bisets'', ''cs_change_desc'', <<temp_set>>, <<temp_class>>">Edit description</a></td>'
+	$result +=	'</tr>'
+
+	killvar '$temp_cmd_image'
+	killvar '$temp_cmd_desc'
+	killvar '$temp_cmd_img_addon'
+	killvar '$temp_cmd_img_name'
+
+	killvar 'temp_set'
+	killvar 'temp_class'
+end
+
+
+
+
+if $ARGS[0] = 'cs_main_advanced':
+	cmbs_set = ARGS[1]
+
+	'<a href="exec: gs ''cheatmenu_bisets'', ''cs_set_simple'', <<cmbs_set>>"><b>Switch to "classic"</b></a>'
+	*nl
+	'"Edit image" allows you to set the image file name (only use .jpg images)'
+	'"Edit description" allows you to set the description of the image'
+	*nl
+	if $cheatVars['fix_biset_<<cmbs_set>>_name'] = '':
+		'Name: <<$cheatVars[''fix_biset_<<cmbs_set>>_folder'']>>    <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_name'', <<cmbs_set>>">Change Name</a>'
+	else
+		'Name: <<$cheatVars[''fix_biset_<<cmbs_set>>_name'']>>    <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_name'', <<cmbs_set>>">Change Name</a>'
+	end
+	'Folder: <<$cheatVars[''fix_biset_<<cmbs_set>>_folder'']>>    <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_folder'', <<cmbs_set>>">Change Folder</a>'
+	if $cheatVars['fix_biset_<<cmbs_set>>_path'] = '':
+		'Path: images/pc/body/shape    <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_path'', <<cmbs_set>>">Set Path</a>'
+	else
+		'Path: <<$cheatVars[''fix_biset_<<cmbs_set>>_path'']>>    <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_path'', <<cmbs_set>>">Change Path</a>'
+	end
+	*nl
+
+	!! ---- MAIN BODY IMAGE CLASSES
+	$temp_table = '<table cellpadding="10">'
+	$temp_table +=	'<tr align="center">'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th colspan=9>BMI</th>'
+	$temp_table +=	'</tr><tr align="center">'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th></th>'
+
+	$temp_bmi_text[0] = '00-15'
+	$temp_bmi_text[1] = '16-18'
+	$temp_bmi_text[2] = '19-21'
+	$temp_bmi_text[3] = '22-24'
+	$temp_bmi_text[4] = '25-29'
+	$temp_bmi_text[5] = '30-34'
+	$temp_bmi_text[6] = '35-39'
+	$temp_bmi_text[7] = '40-44'
+	$temp_bmi_text[8] = '45-99'
+
+	cmd_adv_bmi_i = 0
+	:cs_copy_class_header_loop
+		$temp_table +=	'<th style="white-space: nowrap"><<$temp_bmi_text[cmd_adv_bmi_i]>></th>'
+		cmd_adv_bmi_i += 1
+	if cmd_adv_bmi_i < 9: jump 'cs_copy_class_header_loop'
+
+	$temp_table +=	'</tr><tr align="center">'
+	!$temp_table +=		'<th rowspan=18 style="transform:rotateZ(270deg)">Strength</th>'
+	$temp_table +=		'<th rowspan=18>Strength</th>'
+
+
+	$temp_str_text[0]  = '000-005'
+	$temp_str_text[1]  = '006-010'
+	$temp_str_text[2]  = '011-015'
+	$temp_str_text[3]  = '016-025'
+	$temp_str_text[4]  = '026-035'
+	$temp_str_text[5]  = '036-050'
+	$temp_str_text[6]  = '051-070'
+	$temp_str_text[7]  = '071-100'
+	$temp_str_text[8]  = '101-110'
+	$temp_str_text[9]  = '111-120'
+	$temp_str_text[10] = '121-130'
+	$temp_str_text[11] = '131-140'
+	$temp_str_text[12] = '141-150'
+	$temp_str_text[13] = '151-160'
+	$temp_str_text[14] = '161-170'
+	$temp_str_text[15] = '171-180'
+	$temp_str_text[16] = '181-190'
+	$temp_str_text[17] = '191-200'
+
+
+	cmd_adv_str_i = 0
+	:cs_main_adv_str_loop
+		if cmd_adv_str_i ! 0: $temp_table += '<tr align="center">'
+		$temp_table +=		'<th style="white-space: nowrap"><<$temp_str_text[cmd_adv_str_i]>></th>'
+
+		cmd_adv_bmi_i = 0
+		:cs_main_adv_bmi_loop
+			cmbs_class = cmd_adv_bmi_i * 100 + cmd_adv_str_i
+			$temp_table +=	'<td><a href="exec: gs ''cheatmenu_bisets'', ''cs_main_advanced2'', <<cmbs_set>>, <<cmbs_class>>"><<$mid(1000 + cmbs_class, 2)>></a></td>'
+			cmd_adv_bmi_i += 1
+		if cmd_adv_bmi_i < 9: jump 'cs_main_adv_bmi_loop'
+
+		$temp_table +=	'</tr>'
+		cmd_adv_str_i += 1
+	if cmd_adv_str_i < 18: jump 'cs_main_adv_str_loop'
+	killvar 'cmd_adv_str_i'
+	killvar 'cmd_adv_bmi_i'
+	killvar 'cmbs_class'
+
+	$temp_table += '</table>'
+	'<<$temp_table>>'
+	killvar '$temp_table'
+	killvar '$temp_str_text'
+	!! ---- END MAIN BODY IMAGE CLASSES
+
+	!{
+	*nl
+	*nl
+	!! ---- PREG IMAGES
+	num_pregsets = cheatVars['fix_biset_<<cmbs_set>>_pregsets']
+	if num_pregsets > 0:
+		cmd_pregset_i = 0
+		:cs_main_adv_preg_loop
+			func('cheatmenu_bisets', 'get_pregset_link', cmbs_set, cmd_pregset_i)
+			cmd_pregset_i += 1
+		if cmd_pregset_i < num_pregsets: jump 'cs_main_adv_preg_loop'
+		*nl
+	end
+	killvar 'num_pregsets'
+
+	'<a href="exec: gs ''cheatmenu_bisets'', ''add_pregset'', <<cmbs_set>>">Add new pregnant image set</a>'
+	*nl
+	*nl
+	}
+	killvar 'cmbs_set'
+end
+
+if $ARGS[0] = 'cs_main_advanced2':
+	*clr & cla
+	cmbs_set = ARGS[1]
+	cmbs_class = ARGS[2]
+	$cmdbs_class_str = $mid(10000 + ARGS[2], 2)
+
+	'<center><h1>Cheat menu</h1></center>'
+	*nl
+	'<center><b>Body Image Set Display - class=<<$mid(1000 + ARGS[2], 2)>></b></center>'
+
+	$cheatmenu['table_start']
+		dynamic "
+			act 'Go Back': gs 'cheatmenu_bisets', 'cs_main', <<cmbs_set>>
+			'<a href=""exec: gs ''cheatmenu_bisets'', ''cs_main'', <<cmbs_set>>""><b>Go Back</b></a>'
+			act 'Copy to other class':
+				cmd_copy_class['set'] = <<cmbs_set>>
+				cmd_copy_class['base'] = <<cmbs_class>>
+				gs 'cheatmenu_bisets', 'cs_copy_class_menu'
+			end
+		"
+		*nl
+		*nl
+		'Click links to edit'
+		*nl
+		$temp_cmd_desc = $cheatVars['fix_biset_<<cmbs_set>>_desc_<<$cmdbs_class_str>>']
+		if $temp_cmd_desc = '':
+			$temp_cmd_desc = func('cheatmenu_bisets', 'cs_get_default_desc', cmbs_set, cmbs_class)
+			'You are: <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_desc_adv'', <<cmbs_set>>, <<cmbs_class>>"><<$temp_cmd_desc>></a>'
+		else
+			'You are: <a href="exec: gs ''cheatmenu_bisets'', ''cs_change_desc_adv'', <<cmbs_set>>, <<cmbs_class>>"><<$temp_cmd_desc>></a>    <a href="exec: gs ''cheatmenu_bisets'', ''cs_set_default_desc_adv'', <<ARGS[1]>>, <<ARGS[2]>>">Use default description</a>'
+		end
+		killvar '$temp_cmd_desc'
+		*nl
+
+		$temp_cmd_path = $cheatVars['fix_biset_<<cmbs_set>>_path']
+		if $temp_cmd_path = '':
+			$temp_cmd_path = 'images/pc/body/shape'
+		end
+		$temp_cmd_path += '/' + $cheatVars['fix_biset_<<cmbs_set>>_folder']
+
+		$temp_cmd_subpath = $cheatVars['fix_biset_<<cmbs_set>>_path_<<$cmdbs_class_str>>']
+		if $temp_cmd_subpath = '':
+			$temp_cmd_subpath = func('cheatmenu_bisets', 'cs_get_default_subpath', cmbs_set, cmbs_class)
+			$temp_cmd_subpath = $mid($temp_cmd_subpath, 22)
+		end
+		'Path: <<$temp_cmd_path>>/<a href="exec: gs ''cheatmenu_bisets'', ''cs_change_subpath'', <<cmbs_set>>, <<cmbs_class>>"><<$temp_cmd_subpath>></a>'
+		killvar '$temp_cmd_subpath'
+		killvar 'temp_cmd_path'
+		*nl
+		*nl
+
+		$temp_table =	'<table width=80% align="center">'
+		$temp_table +=		'<tr>'
+		$temp_table +=			'<th>Currently using</th>'
+		$temp_table +=			'<th></th>'
+		$temp_table +=			'<th></th>'
+		$temp_table +=		'</tr>'
+
+		cmd_adv_i = 0
+		:cs_main_adv2_loop
+			$temp_table += func('cheatmenu_bisets', 'get_custom_bodyimg_desc_link_advanced', cmbs_set, cmbs_class, cmd_adv_i)
+
+			cmd_adv_i += 1
+		if cmd_adv_i < cheatVars['fix_biset_<<cmbs_set>>_imgnums_<<$cmdbs_class_str>>']: jump 'cs_main_adv2_loop'
+
+		$temp_table +=		'<tr>'
+		$temp_table +=			'<td></td>'
+		$temp_table +=			'<td></td>'
+		$temp_table +=			'<td><a href="exec: gs ''cheatmenu_bisets'', ''cs_add_img'', <<cmbs_set>>, <<cmbs_class>>">Add image</a></td>'
+		$temp_table +=		'</tr>'
+
+
+		$temp_table += '</table>'
+		'<<$temp_table>>'
+		killvar '$temp_table'
+
+
+	$cheatmenu['table_end']
+
+
+	killvar 'cmbs_set'
+	killvar 'cmbs_class'
+	killvar '$cmdbs_class_str'
+end
+
+
+if $ARGS[0] = 'get_custom_bodyimg_desc_link_advanced':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+	temp_img_num = ARGS[3]
+	$temp_bs_class_str = $mid(10000 + ARGS[2], 2)
+	$temp_cmd_img_name = $cheatVars['fix_biset_<<temp_set>>_img_<<$temp_bs_class_str>>_<<temp_img_num>>']
+	$temp_cmd_desc = $cheatVars['fix_biset_<<temp_set>>_desc_<<$temp_bs_class_str>>']
+
+	if $temp_cmd_img_name = '':
+		$temp_cmd_image = func('cheatmenu_bisets', 'cs_get_default_img', temp_set, temp_class)
+		$temp_cmd_img_addon = ''
+	else
+		$temp_base_folder = $cheatVars['fix_biset_<<temp_set>>_path']
+		if $temp_base_folder = '':
+			$temp_base_folder = 'images/pc/body/shape'
+		end
+		$temp_base_folder += '/' + $cheatVars['fix_biset_<<temp_set>>_folder']
+		if $cheatVars['fix_biset_<<temp_set>>_path_<<$temp_bs_class_str>>'] ! '':
+			$temp_base_folder += '/' + $cheatVars['fix_biset_<<temp_set>>_path_<<$temp_bs_class_str>>']
+		end
+		$temp_cmd_image = $temp_base_folder + '/' + $temp_cmd_img_name + '.jpg'
+		$temp_cmd_img_addon = $temp_cmd_img_name + '.jpg'
+		killvar '$temp_base_folder'
+	end
+
+	if $temp_cmd_desc = '':
+		$temp_cmd_desc = func('cheatmenu_bisets', 'cs_get_default_desc', temp_set, temp_class)
+	end
+
+	$result =	'<tr>'
+	if $temp_cmd_img_addon = '':
+		$result +=		'<td><a href="exec: view ''<<$temp_cmd_image>>''">Default image</a></td>'
+	else
+		$result +=		'<td><a href="exec: view ''<<$temp_cmd_image>>''"><<$temp_cmd_img_addon>></a> (<a href="exec: gs ''cheatmenu_bisets'', ''cs_set_default_img_adv'', <<temp_set>>, <<temp_class>>, <<temp_img_num>>">Use default image</a>)</td>'
+	end
+	$result +=		'<td><a href="exec: gs ''cheatmenu_bisets'', ''cs_change_img_adv'', <<temp_set>>, <<temp_class>>, <<temp_img_num>>">Edit image</a></td>'
+	if cheatVars['fix_biset_<<temp_set>>_imgnums_<<temp_class>>'] = 1:
+		$result +=	'<td></td>'
+	else
+		$result +=	'<td><a href="exec: gs ''cheatmenu_bisets'', ''cs_remove_img'', <<temp_set>>, <<temp_class>>, <<temp_img_num>>">Remove image</a></td>'
+	end
+	$result +=	'</tr>'
+
+	killvar '$temp_cmd_image'
+	killvar '$temp_cmd_desc'
+	killvar '$temp_cmd_img_addon'
+	killvar '$temp_cmd_img_name'
+	killvar '$temp_bs_class_str'
+	killvar 'temp_set'
+	killvar 'temp_class'
+	killvar 'temp_img_num'
+end
+
+if $ARGS[0] = 'add_pregset':
+	temp_set = ARGS[1]
+	cheatVars['fix_biset_<<temp_set>>_pregsets'] += 1
+	gs 'cheatmenu_bisets', 'cs_main', temp_set
+	killvar 'temp_set'
+end
+
+
+if $ARGS[0] = 'get_pregset_link':
+	*clr & cla
+	temp_set = ARGS[1]
+	preg_set = ARGS[2]
+
+	'<center><h1>Cheat menu</h1></center>'
+	*nl
+	'<center><b>Pregnancy Image Set Display - Set = <<preg_set>></b></center>'
+
+	$cheatmenu['table_start']
+		act 'Go Back': gs 'cheatmenu_bisets', 'cs_main', temp_set
+		'<a href="exec: gs ''cheatmenu_bisets'', ''cs_main'', temp_set"><b>Go Back</b></a>'
+		*nl
+
+		$temp_cmd_path = $cheatVars['fix_biset_<<temp_set>>_path']
+		if $temp_cmd_path = '':
+			$temp_cmd_path = 'images/pc/body/shape'
+		end
+		$temp_cmd_path += '/' + $cheatVars['fix_biset_<<cmbs_set>>_folder']
+
+		$temp_cmd_subpath = $cheatVars['fix_biset_<<cmbs_set>>_pregpath_<<preg_set>>']
+		if $temp_cmd_subpath = '':
+			$temp_cmd_subpath = 'preg/0'
+		end
+		'Path: <<$temp_cmd_path>>/<a href="exec: gs ''cheatmenu_bisets'', ''cs_change_preg_subpath'', <<temp_set>>, <<preg_set>>"><<$temp_cmd_subpath>></a>'
+		killvar '$temp_cmd_subpath'
+		killvar 'temp_cmd_path'
+		*nl
+		*nl
+
+		$temp_table =	'<table width=80% align="center">'
+		$temp_table +=		'<tr>'
+		$temp_table +=			'<th>Currently using</th>'
+		$temp_table +=			'<th></th>'
+		$temp_table +=			'<th></th>'
+		$temp_table +=		'</tr>'
+
+		cmd_preg_img = 0
+		:pregset_img_loop
+			$temp_table += func('cheatmenu_bisets', 'get_custom_pregimg', temp_set, preg_set, cmd_preg_img)
+			cmd_preg_img += 1
+		if cmd_preg_img < 9: jump 'pregset_img_loop'
+		killvar 'cmd_preg_img'
+
+	$cheatmenu['table_end']
+
+	killvar 'temp_set'
+	killvar 'preg_set'
+end
+
+if $ARGS[0] = 'get_custom_pregimg':
+	temp_set = ARGS[1]
+	preg_set = ARGS[2]
+	temp_img = ARGS[3]
+
+	$temp_cmd_img_name = $cheatVars['fix_biset_<<temp_set>>_pregimg_<<preg_set>>_<<temp_img>>']
+	$temp_cmd_desc = $cheatVars['fix_biset_<<temp_set>>_desc_<<preg_set>>']
+
+	if $temp_cmd_img_name = '':
+		$temp_cmd_image = func('cheatmenu_bisets', 'cs_get_default_img', temp_set, temp_class)
+		$temp_cmd_img_addon = ''
+	else
+		$temp_base_folder = $cheatVars['fix_biset_<<temp_set>>_path']
+		if $temp_base_folder = '':
+			$temp_base_folder = 'images/pc/body/shape'
+		end
+		$temp_base_folder += '/' + $cheatVars['fix_biset_<<temp_set>>_folder']
+		if $cheatVars['fix_biset_<<temp_set>>_path_<<$temp_bs_class_str>>'] ! '':
+			$temp_base_folder += '/' + $cheatVars['fix_biset_<<temp_set>>_path_<<$temp_bs_class_str>>']
+		end
+		$temp_cmd_image = $temp_base_folder + '/' + $temp_cmd_img_name + '.jpg'
+		$temp_cmd_img_addon = $temp_cmd_img_name + '.jpg'
+		killvar '$temp_base_folder'
+	end
+
+	killvar 'temp_set'
+	killvar 'preg_set'
+	killvar 'temp_img'
+end
+
+
+
+if $ARGS[0] = 'cs_copy_class_menu':
+	*clr & cla
+	act 'Cancel':
+		gs 'cheatmenu_bisets', 'cs_main_advanced2', cmd_copy_class['set'], cmd_copy_class['base']
+		killvar 'cmd_copy_class'
+	end
+
+	$temp_table = '<table cellpadding="10">'
+	$temp_table +=	'<tr align="center">'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th colspan=9>BMI</th>'
+	$temp_table +=	'</tr><tr align="center">'
+	$temp_table +=		'<th></th>'
+	$temp_table +=		'<th></th>'
+
+	$temp_bmi_text[0] = '00-15'
+	$temp_bmi_text[1] = '16-18'
+	$temp_bmi_text[2] = '19-21'
+	$temp_bmi_text[3] = '22-24'
+	$temp_bmi_text[4] = '25-29'
+	$temp_bmi_text[5] = '30-34'
+	$temp_bmi_text[6] = '35-39'
+	$temp_bmi_text[7] = '40-44'
+	$temp_bmi_text[8] = '45-99'
+
+	cmd_adv_bmi_i = 0
+	:cs_copy_class_header_loop
+		$temp_table +=	'<th style="white-space: nowrap"><b><a href="exec: gs ''cheatmenu_bisets'', ''cs_copy_class_bmi'', <<cmd_adv_bmi_i>>"><<$temp_bmi_text[cmd_adv_bmi_i]>></a></b></th>'
+		cmd_adv_bmi_i += 1
+	if cmd_adv_bmi_i < 9: jump 'cs_copy_class_header_loop'
+
+	$temp_table +=	'</tr><tr align="center">'
+	!$temp_table +=		'<th rowspan=18 style="transform:rotateZ(270deg)">Strength</th>'
+	$temp_table +=		'<th rowspan=18>Strength</th>'
+
+
+	$temp_str_text[0]  = '000-005'
+	$temp_str_text[1]  = '006-010'
+	$temp_str_text[2]  = '011-015'
+	$temp_str_text[3]  = '016-025'
+	$temp_str_text[4]  = '026-035'
+	$temp_str_text[5]  = '036-050'
+	$temp_str_text[6]  = '051-070'
+	$temp_str_text[7]  = '071-100'
+	$temp_str_text[8]  = '101-110'
+	$temp_str_text[9]  = '111-120'
+	$temp_str_text[10] = '121-130'
+	$temp_str_text[11] = '131-140'
+	$temp_str_text[12] = '141-150'
+	$temp_str_text[13] = '151-160'
+	$temp_str_text[14] = '161-170'
+	$temp_str_text[15] = '171-180'
+	$temp_str_text[16] = '181-190'
+	$temp_str_text[17] = '191-200'
+
+	cmd_copy_class['counter'] = 0
+
+	cmd_adv_str_i = 0
+	:cs_copy_class_str_loop
+		if cmd_adv_str_i ! 0: $temp_table += '<tr align="center">'
+		$temp_table +=		'<th style="white-space: nowrap"><b><a href="exec: gs ''cheatmenu_bisets'', ''cs_copy_class_stren'', <<cmd_adv_str_i>>"><<$temp_str_text[cmd_adv_str_i]>></a></b></th>'
+
+		cmd_adv_bmi_i = 0
+		:cs_copy_class_bmi_loop
+			cmbs_class = cmd_adv_bmi_i * 100 + cmd_adv_str_i
+			$cmbs_class_str = $mid(10000 + cmbs_class, 2)
+			if cmd_copy_class['base'] = cmbs_class:
+				$temp_table +=	'<td><<$cmbs_class_str>></td>'
+			elseif cmd_copy_class[$cmbs_class_str] = 1:
+				cmd_copy_class['counter'] += 1
+				$temp_table +=	'<td><i><a style="color:#00FF00" href="exec: cmd_copy_class[''<<$cmbs_class_str>>''] = 0 & gs ''cheatmenu_bisets'', ''cs_copy_class_menu''"><<$cmbs_class_str>></a></i></td>'
+			else
+				$temp_table +=	'<td><a href="exec: cmd_copy_class[''<<$cmbs_class_str>>''] = 1 & gs ''cheatmenu_bisets'', ''cs_copy_class_menu''"><<$cmbs_class_str>></a></td>'
+			end
+			cmd_adv_bmi_i += 1
+		if cmd_adv_bmi_i < 9: jump 'cs_copy_class_bmi_loop'
+
+		$temp_table +=	'</tr>'
+		cmd_adv_str_i += 1
+	if cmd_adv_str_i < 18: jump 'cs_copy_class_str_loop'
+	killvar 'cmd_adv_str_i'
+	killvar 'cmd_adv_bmi_i'
+
+	$temp_table += '</table>'
+	'<<$temp_table>>'
+	killvar '$temp_table'
+	killvar '$temp_str_text'
+
+	killvar 'cmbs_set'
+	killvar 'cmbs_class'
+
+	if cmd_copy_class['counter'] > 0:
+		act 'Reset':
+			temp_set = cmd_copy_class['set']
+			temp_base = cmd_copy_class['base']
+			killvar 'cmd_copy_class'
+			cmd_copy_class['set'] = temp_set
+			cmd_copy_class['base'] = temp_base
+			killvar 'temp_set'
+			killvar 'temp_base'
+			gs 'cheatmenu_bisets', 'cs_copy_class_menu'
+		end
+		act 'Overwrite':
+			gs 'cheatmenu_bisets', 'cs_overwrite_classes_base'
+		end
+ 	end
+end
+
+if $ARGS[0] = 'cs_copy_class_bmi':
+	temp_copyclass['bmi'] = ARGS[1]
+
+	temp_copyclass['counter'] = 0
+	temp_copyclass['stren'] = 0
+	:cs_copy_class_stren_loop2
+		temp_copyclass['class'] = temp_copyclass['bmi'] * 100 + temp_copyclass['stren']
+		$temp_copyclass['class_str'] = $mid(10000 + temp_copyclass['class'], 2)
+		if cmd_copy_class[$temp_copyclass['class_str']] = 1 or cmd_copy_class['base'] = temp_copyclass['class']:
+			temp_copyclass['counter'] += 1
+		end
+		temp_copyclass['stren'] += 1
+	if temp_copyclass['stren'] < 18: jump 'cs_copy_class_stren_loop2'
+
+	if temp_copyclass['counter'] < 18:
+		temp_copyclass['result'] = 1
+	else
+		temp_copyclass['result'] = 0
+	end
+
+	temp_copyclass['stren'] = 0
+	:cs_copy_class_stren_loop3
+		temp_copyclass['class'] = temp_copyclass['bmi'] * 100 + temp_copyclass['stren']
+		$temp_copyclass['class_str'] = $mid(10000 + temp_copyclass['class'], 2)
+		if cmd_copy_class['base'] ! temp_copyclass['class']:
+			cmd_copy_class[$temp_copyclass['class_str']] = temp_copyclass['result']
+		end
+		temp_copyclass['stren'] += 1
+	if temp_copyclass['stren'] < 18: jump 'cs_copy_class_stren_loop3'
+
+	killvar 'temp_copyclass'
+
+	gs 'cheatmenu_bisets', 'cs_copy_class_menu'
+end
+
+if $ARGS[0] = 'cs_copy_class_stren':
+	temp_copyclass['stren'] = ARGS[1]
+
+	temp_copyclass['counter'] = 0
+	temp_copyclass['bmi'] = 0
+	:cs_copy_class_bmi_loop2
+		temp_copyclass['class'] = temp_copyclass['bmi'] * 100 + temp_copyclass['stren']
+		$temp_copyclass['class_str'] = $mid(10000 + temp_copyclass['class'], 2)
+		if cmd_copy_class[$temp_copyclass['class_str']] = 1 or cmd_copy_class['base'] = temp_copyclass['class']:
+			temp_copyclass['counter'] += 1
+		end
+		temp_copyclass['bmi'] += 1
+	if temp_copyclass['bmi'] < 9: jump 'cs_copy_class_bmi_loop2'
+
+	if temp_copyclass['counter'] < 9:
+		temp_copyclass['result'] = 1
+	else
+		temp_copyclass['result'] = 0
+	end
+
+	temp_copyclass['bmi'] = 0
+	:cs_copy_class_bmi_loop3
+		temp_copyclass['class'] = temp_copyclass['bmi'] * 100 + temp_copyclass['stren']
+		$temp_copyclass['class_str'] = $mid(10000 + temp_copyclass['class'], 2)
+		if cmd_copy_class['base'] ! temp_copyclass['class']:
+			cmd_copy_class[$temp_copyclass['class_str']] = temp_copyclass['result']
+		end
+		temp_copyclass['bmi'] += 1
+	if temp_copyclass['bmi'] < 9: jump 'cs_copy_class_bmi_loop3'
+
+	killvar 'temp_copyclass'
+
+	gs 'cheatmenu_bisets', 'cs_copy_class_menu'
+end
+
+if $ARGS[0] = 'cs_overwrite_classes_base':
+	$cmd_copy_class['base_str'] = $mid(10000 + cmd_copy_class['base'], 2)
+	$cmd_copy_class['string'] = 'fix_biset_<<cmd_copy_class[''set'']>>_'
+	$cmd_copy_class['path'] = $cheatVars[$cmd_copy_class['string'] + 'path_<<$cmd_copy_class[''base_str'']>>']
+	$cmd_copy_class['desc'] = $cheatVars[$cmd_copy_class['string'] + 'desc_<<$cmd_copy_class[''base_str'']>>']
+	cmd_copy_class['imgnums'] = cheatVars[$cmd_copy_class['string'] + 'imgnums_<<$cmd_copy_class[''base_str'']>>']
+	cmd_copy_class['i'] = 0
+	:cs_overwrite_loop1
+		$cmd_copy_class['img_<<cmd_copy_class[''i'']>>'] = $cheatVars[$cmd_copy_class['string'] + 'img_<<$cmd_copy_class[''base_str'']>>_<<cmd_copy_class[''i'']>>']
+		cmd_copy_class['i'] += 1
+	if cmd_copy_class['i'] < cmd_copy_class['imgnums']: jump 'cs_overwrite_loop1'
+
+
+	cmd_copy_class['str_i'] = 0
+	:cs_overwrite_str_loop
+		cmd_copy_class['bmi_i'] = 0
+		:cs_overwrite_bmi_loop
+			cmbs_class = cmd_copy_class['bmi_i'] * 100 + cmd_copy_class['str_i']
+			$cmbs_class_str = $mid(10000 + cmbs_class, 2)
+			if cmd_copy_class['base'] ! cmbs_class and cmd_copy_class[$cmbs_class_str] = 1:
+				gs 'cheatmenu_bisets', 'cs_overwrite_class', $cmbs_class_str
+			end
+			cmd_copy_class['bmi_i'] += 1
+		if cmd_copy_class['bmi_i'] < 9: jump 'cs_overwrite_bmi_loop'
+		cmd_copy_class['str_i'] += 1
+	if cmd_copy_class['str_i'] < 18: jump 'cs_overwrite_str_loop'
+
+	gs 'cheatmenu_bisets', 'cs_main', cmd_copy_class['set']
+	killvar 'cmd_copy_class'
+end
+
+if $ARGS[0] = 'cs_overwrite_class':
+	$cheatVars[$cmd_copy_class['string'] + 'path_<<$ARGS[1]>>'] = $cmd_copy_class['path']
+	$cheatVars[$cmd_copy_class['string'] + 'desc_<<$ARGS[1]>>'] = $cmd_copy_class['desc']
+
+	cmd_copy_class['i'] = 0
+	:cs_overwrite_loop2
+		$cheatVars[$cmd_copy_class['string'] + 'img_<<$ARGS[1]>>_<<cmd_copy_class[''i'']>>'] = $cmd_copy_class['img_<<cmd_copy_class[''i'']>>']
+		cmd_copy_class['i'] += 1
+	if cmd_copy_class['i'] < cmd_copy_class['imgnums']: jump 'cs_overwrite_loop2'
+
+	if cheatVars[$cmd_copy_class['string'] + 'imgnums_<<$ARGS[1]>>'] > cmd_copy_class['imgnums']:
+		cmd_copy_class['i'] = cmd_copy_class['imgnums']
+		:cs_overwrite_loop3
+			gs 'shortgs', 'remove_array_element', '$cheatVars', $cmd_copy_class['string'] + 'img_<<$ARGS[1]>>_<<cmd_copy_class[''i'']>>'
+			cmd_copy_class['i'] += 1
+		if cmd_copy_class['i'] < cheatVars[$cmd_copy_class['string'] + 'imgnums_<<$ARGS[1]>>']: jump 'cs_overwrite_loop3'
+	end
+	cheatVars[$cmd_copy_class['string'] + 'imgnums_<<$ARGS[1]>>'] = cmd_copy_class['imgnums']
+end
+
+
+if $ARGS[0] = 'add_set':
+	*clr & cla
+	'<center><b>Body Image Set Addition</b></center>'
+	$cheatmenu['table_start']
+		act 'Go Back': killvar 'klsetask' & gs 'cheatmenu_bisets', 'main'
+		'<a href="exec:killvar ''klsetask'' & gs ''cheatmenu_bisets'', ''main''"><b>Go Back</b></a>'
+		*nl
+		'This is where you can add a new image set to a game.'
+		'To add an image set, create a folder in images/pc/body/shape/ and name it anything you want (shorter will be easier to remember). Then put in it any images you want. Once you have done that, click the link below and put in your folder name to add that set.'
+		'Note: This will only be for this instance/save of the game and you will have to redo the click the link step if you want to add the same folder to a different instance/save.'
+		*nl
+		cs_new_index = func('cheatmenu_bisets', 'get_new_set_index')
+		if cs_new_index >= 0:
+			'<a href="exec: gs ''cheatmenu_bisets'', ''add_set2'', <<cs_new_index>>">Add Image Set</a>'
+		else
+			'You cannot add more sets.'
+			'<a href="exec: gs ''cheatmenu_bisets'', ''main''"><b>Go Back</b></a>'
+		end
+		killvar 'cs_new_index'
+	$cheatmenu['table_end']
+end
+
+
+if $ARGS[0] = 'add_set2':
+	$cmd_temp_input = input("Enter folder name, do not include ''\''")
+	if $cmd_temp_input = '':
+		killvar '$cmd_temp_input'
+		gs 'cheatmenu_bisets', 'add_set'
+	else
+		if mid($cmd_temp_input, len($cmd_temp_input)) = '/' or mid($cmd_temp_input, len($cmd_temp_input)) = '\':
+			$cmd_temp_input = mid($cmd_temp_input, 1, len($cmd_temp_input)-1)
+		end
+
+		$cheatVars['fix_biset_<<ARGS[1]>>_folder'] = $cmd_temp_input
+		killvar '$cmd_temp_input'
+		killvar 'cyci1'
+
+		gs 'cheatmenu_bisets', 'cs_main', ARGS[1]
+	end
+end
+
+if $ARGS[0] = 'get_new_set_index':
+	temp_set_index = 0
+	:cs_index_find_loop
+	if $cheatVars['fix_biset_<<temp_set_index>>_folder'] ! '':
+		temp_set_index += 1
+		if temp_set_index <= 9:
+			jump 'cs_index_find_loop'
+		else
+			result = -1
+		end
+	else
+		result = temp_set_index
+	end
+	killvar 'temp_set_index'
+end
+
+if $ARGS[0] = 'import_set':
+	*clr & cla
+	killvar 'fix_bod_set'
+	'<center><b>Body Image Set Import</b></center>'
+	$cheatmenu['table_start']
+		act 'Go Back': killvar 'klsetask' & gs 'cheatmenu_bisets', 'main'
+		'<a href="exec:killvar ''klsetask'' & gs ''cheatmenu_bisets'', ''main''"><b>Go Back</b></a>'
+		*nl
+		'This is where you can import a new image set to a game.'
+
+		*nl
+		cs_new_index = func('cheatmenu_bisets', 'get_new_set_index')
+		if cs_new_index >= 0:
+			if mod_list > 0:
+				'<a href="exec: gs ''cheatmenu_bisets'', ''import_set_mod'', <<cs_new_index>>">Import from a Mod</a>'
+			end
+			'<a href="exec: gs ''cheatmenu_bisets'', ''import_set_direct'', <<cs_new_index>>">Import directly</a>'
+		else
+			'You cannot add more sets.'
+			'<a href="exec: gs ''cheatmenu_bisets'', ''main''"><b>Go Back</b></a>'
+		end
+		killvar 'cs_new_index'
+	$cheatmenu['table_end']
+end
+
+if $ARGS[0] = 'import_set_direct':
+	cmbs_import_set = ARGS[1]
+	$temp_import_text = $input('Copy the exported text here:')
+
+	if $temp_import_text ! '':
+		$temp_conform_text = $input('Do you want to continue? (y/n)')
+		if $mid($lcase($temp_conform_text), 1, 1) = 'y':
+			dynamic $temp_import_text
+			gs 'cheatmenu_bisets', 'import_custom_set', cmbs_import_set
+		end
+	end
+	killvar '$temp_conform_text'
+	killvar '$temp_import_text'
+	killvar 'cmbs_import_set'
+
+	gs 'cheatmenu_bisets', 'main'
+end
+
+if $ARGS[0] = 'import_set_mod':
+	*clr & cla
+	cmbs_import_set = ARGS[1]
+
+	$cheatmenu['table_start']
+		'<a href="exec: gs ''cheatmenu_bisets'', ''main''">Go Back</a>'
+		*nl
+		'Select a mod from which you want to try and import a image set.'
+		mod_i = 1
+		:mod_exec
+			if $mod_name[mod_i] ! '':
+				'<a href="exec: gs ''cheatmenu_bisets'', ''import_set_mod2'', <<cmbs_import_set>>, ''<<$mod_name[mod_i]>>''"><<$mod_name[mod_i]>></a>'
+			end
+			mod_i += 1
+		if mod_i <= mod_list: jump 'mod_exec'
+		killvar 'mod_i'
+	$cheatmenu['table_end']
+end
+
+if $ARGS[0] = 'import_set_mod2':
+	*clr & cla
+	cmbs_import_set = ARGS[1]
+	$cmbs_mod_name = $ARGS[2]
+
+	$cheatmenu['table_start']
+		killvar 'fix_bod_set'
+		gs 'mod_<<$cmbs_mod_name>>', 'import_body_set'
+
+		if arrsize('fix_bod_set') > 0:
+			'Image set found.'
+			'Folder: <<$fix_bod_set[''Folder'']>>'
+			if $fix_bod_set['Name'] ! '':
+				'Name: <<$fix_bod_set[''Name'']>>'
+			end
+			if $fix_bod_set['Path'] ! '':
+				'Path: <<$fix_bod_set[''Path'']>>'
+			end
+			$temp_conform_text = $input('Do you want to continue? (y/n)')
+			if $mid($lcase($temp_conform_text), 1, 1) = 'y':
+				gs 'cheatmenu_bisets', 'import_custom_set', cmbs_import_set
+			end
+		end
+	$cheatmenu['table_end']
+
+	killvar '$temp_conform_text'
+	killvar 'fix_bod_set'
+	killvar 'cmbs_import_set'
+	killvar '$cmbs_mod_name'
+
+	gs 'cheatmenu_bisets', 'main'
+end
+
+
+if $ARGS[0] = 'import_custom_set':
+	$temp_start_str = 'fix_biset_<<ARGS[1]>>_'
+	cheatVars[$temp_start_str + 'advanced'] = fix_bod_set['advanced']
+	$cheatVars[$temp_start_str + 'folder'] = $fix_bod_set['folder']
+	$cheatVars[$temp_start_str + 'path'] = $fix_bod_set['path']
+	$cheatVars[$temp_start_str + 'name'] = $fix_bod_set['name']
+
+
+	!! Classic sets
+	cmd_imp_i = 0
+	:cs_import_simple_loop
+		$cheatVars[$temp_start_str + 'img_<<cmd_imp_i>>'] = $fix_bod_set['img_<<cmd_imp_i>>']
+		$cheatVars[$temp_start_str + 'desc_<<cmd_imp_i>>'] = $fix_bod_set['desc_<<cmd_imp_i>>']
+		cmd_imp_i += 1
+	if cmd_imp_i < 9: jump 'cs_import_simple_loop'
+
+	!! Advanced sets
+	if fix_bod_set['imgnums_0000'] > 0:
+		cmd_exp_bmi = 0
+		:cs_import_adv_bmi_loop
+			cmd_exp_stren = 0
+			:cs_import_adv_str_loop
+				$cmd_class_str = $mid(10000 + cmd_exp_bmi * 100 + cmd_exp_stren, 2)
+
+				cheatVars[$temp_start_str + 'desc_<<$cmd_class_str>>'] = fix_bod_set['desc_<<$cmd_class_str>>']
+				$cheatVars[$temp_start_str + 'path_<<$cmd_class_str>>'] = $fix_bod_set['path_<<$cmd_class_str>>']
+				cmd_imgnums = fix_bod_set['imgnums_<<$cmd_class_str>>']
+				cheatVars[$temp_start_str + 'imgnums_<<$cmd_class_str>>'] = cmd_imgnums
+
+				cmd_exp_i = 0
+				:cs_import_adv_inner_loop
+					$cheatVars[$temp_start_str + 'img_<<$cmd_class_str>>_<<cmd_exp_i>>'] = $fix_bod_set['img_<<$cmd_class_str>>_<<cmd_exp_i>>']
+					cmd_exp_i += 1
+				if cmd_exp_i < cmd_imgnums: jump 'cs_import_adv_inner_loop'
+
+				cmd_exp_stren += 1
+			if cmd_exp_stren < 18: jump 'cs_import_adv_str_loop'
+			cmd_exp_bmi += 1
+		if cmd_exp_bmi < 9: jump 'cs_import_adv_bmi_loop'
+	end
+
+	killvar 'fix_bod_set'
+	killvar '$temp_start_str'
+end
+
+
+if $ARGS[0] = 'cs_set_simple':
+	cheatVars['fix_biset_<<ARGS[1]>>_advanced'] = 0
+	gs 'cheatmenu_bisets', 'cs_main', ARGS[1]
+end
+
+if $ARGS[0] = 'cs_set_advanced':
+	if cheatVars['fix_biset_<<ARGS[1]>>_imgnums_0000'] = 0:
+		gs 'cheatmenu_bisets', 'cs_init_advanced', ARGS[1]
+	end
+
+	cheatVars['fix_biset_<<ARGS[1]>>_advanced'] = 1
+	gs 'cheatmenu_bisets', 'cs_main', ARGS[1]
+end
+
+
+if $ARGS[0] = 'cs_init_advanced':
+	cmd_adv_bmi_i = 0
+	:adv_init_bmi_loop
+		cmd_adv_str_i = 0
+		:adv_init_str_loop
+			cmd_bs_class = cmd_adv_bmi_i  * 100 + cmd_adv_str_i
+			$cmd_bs_class_str = $mid(10000 + cmd_bs_class, 2)
+			cheatVars['fix_biset_<<ARGS[1]>>_imgnums_<<$cmd_bs_class_str>>'] = 1
+			cmd_adv_str_i += 1
+		if cmd_adv_str_i < 18: jump 'adv_init_str_loop'
+		cmd_adv_bmi_i += 1
+	if cmd_adv_bmi_i < 9: jump 'adv_init_bmi_loop'
+	killvar 'cmd_bs_class'
+	killvar '$cmd_bs_class_str'
+	killvar 'cmd_adv_bmi_i'
+	killvar 'cmd_adv_str_i'
+end
+
+if $ARGS[0] = 'cs_change_name':
+	temp_set = ARGS[1]
+
+	$cmd_temp_input = input('Set name')
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_name'] = $cmd_temp_input
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main', temp_set
+	killvar 'temp_set'
+end
+
+if $ARGS[0] = 'cs_change_folder':
+	temp_set = ARGS[1]
+
+	$cmd_temp_input = input('Folder name')
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_folder'] = $cmd_temp_input
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main', temp_set
+	killvar 'temp_set'
+end
+
+if $ARGS[0] = 'cs_change_path':
+	temp_set = ARGS[1]
+
+	$cmd_temp_input = input('Input path (i.e. images/pc/shape)')
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_path'] = $cmd_temp_input
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main', temp_set
+	killvar 'temp_set'
+end
+
+if $ARGS[0] = 'cs_change_desc':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+
+	$cmd_temp_input = input("Enter a new descriptor")
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_desc_<<temp_class>>'] = $cmd_temp_input
+		if cheatVars['fix_bi_set'] = temp_set: gs 'body', 'UpdateBodyImage'
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main', temp_set
+	killvar 'temp_set'
+end
+
+if $ARGS[0] = 'cs_change_desc_adv':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+	$temp_class_str = $mid(10000 + ARGS[2], 2)
+
+	$cmd_temp_input = input("Enter a new descriptor")
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_desc_<<$temp_class_str>>'] = $cmd_temp_input
+		if cheatVars['fix_bi_set'] = temp_set: gs 'body', 'UpdateBodyImage'
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', temp_set, temp_class
+	killvar 'temp_set'
+	killvar 'temp_class'
+	killvar '$temp_class_str'
+end
+
+if $ARGS[0] = 'cs_change_subpath':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+	$temp_class_str = $mid(10000 + ARGS[2], 2)
+
+	$cmd_temp_input = input('Input subpath (i.e. 0_starving)')
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_path_<<$temp_class_str>>'] = $cmd_temp_input
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', temp_set, temp_class
+	killvar 'temp_set'
+	killvar 'temp_class'
+	killvar '$temp_class_str'
+end
+
+if $ARGS[0] = 'cs_change_preg_subpath':
+	temp_set = ARGS[1]
+	preg_set = ARGS[2]
+
+	$cmd_temp_input = input('Input subpath (i.e. 0_starving)')
+	if $cmd_temp_input ! '':
+		$cheatVars['fix_biset_<<temp_set>>_pregpath_<<preg_set>>'] = $cmd_temp_input
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'get_pregset_link', temp_set, preg_set
+	killvar 'temp_set'
+	killvar 'preg_set'
+end
+
+
+if $ARGS[0] = 'cs_change_img':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+
+	$cmd_temp_input = input("Enter a new image name (Leave empty to not change the image. Example: 1). Exclude the '.jpg'")
+	if $cmd_temp_input ! '':
+		if mid($cmd_temp_input, len($cmd_temp_input)-3) = '.jpg':
+			$cmd_temp_input = mid($cmd_temp_input, 1, len($cmd_temp_input)-4)
+		end
+		$cheatVars['fix_biset_<<temp_set>>_img_<<temp_class>>'] = $cmd_temp_input
+		if cheatVars['fix_bi_set'] = temp_set: gs 'body', 'UpdateBodyImage'
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main', temp_set
+	killvar 'temp_set'
+	killvar 'temp_class'
+end
+
+if $ARGS[0] = 'cs_change_img_adv':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+	temp_img_num = ARGS[3]
+	$temp_class_str = $mid(10000 + ARGS[2], 2)
+
+	$cmd_temp_input = input("Enter a new image name (Leave empty to not change the image. Example: 1). Exclude the '.jpg'")
+	if $cmd_temp_input ! '':
+		if mid($cmd_temp_input, len($cmd_temp_input)-3) = '.jpg':
+			$cmd_temp_input = mid($cmd_temp_input, 1, len($cmd_temp_input)-4)
+		end
+		$cheatVars['fix_biset_<<temp_set>>_img_<<$temp_class_str>>_<<temp_img_num>>'] = $cmd_temp_input
+		if cheatVars['fix_bi_set'] = temp_set: gs 'body', 'UpdateBodyImage'
+	end
+	killvar '$cmd_temp_input'
+
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', temp_set, temp_class
+	killvar 'temp_set'
+	killvar 'temp_class'
+	killvar 'temp_img_num'
+	killvar '$temp_class_str'
+end
+
+if $ARGS[0] = 'cs_add_img':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+	$temp_class_str = $mid(10000 + ARGS[2], 2)
+
+	$cmd_temp_input = input("Enter a new image name (Leave empty to use default image. Example: 1). Exclude the '.jpg'")
+	if $mid($cmd_temp_input, len($cmd_temp_input)-3) = '.jpg':
+		$cmd_temp_input = mid($cmd_temp_input, 1, len($cmd_temp_input)-4)
+	end
+	temp_new_img_index = cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>']
+	cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>'] += 1
+	$cheatVars['fix_biset_<<temp_set>>_img_<<$temp_class_str>>_<<temp_new_img_index>>'] = $cmd_temp_input
+	if cheatVars['fix_bi_set'] = temp_set: gs 'body', 'UpdateBodyImage'
+	killvar 'temp_new_img_index'
+	killvar '$cmd_temp_input'
+	killvar '$temp_class_str'
+
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', temp_set, temp_class
+	killvar 'temp_set'
+	killvar 'temp_class'
+end
+
+if $ARGS[0] = 'cs_remove_img':
+	temp_set = ARGS[1]
+	temp_class = ARGS[2]
+	temp_img_num = ARGS[3]
+	$temp_class_str = $mid(10000 + ARGS[2], 2)
+
+	if temp_img_num < cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>'] and cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>'] > 1:
+		cmd_new_index = temp_img_num
+		:cs_remove_img_loop
+		if cmd_new_index + 1 < cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>']:
+			$cheatVars['fix_biset_<<temp_set>>_img_<<$temp_class_str>>_<<cmd_new_index>>'] = $cheatVars['fix_biset_<<temp_set>>_img_<<$temp_class_str>>_<<cmd_new_index+1>>']
+			cmd_new_index += 1
+			jump 'cs_remove_img_loop'
+		end
+
+		!Due to the construction above, we have
+		!cmd_new_index = cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>']
+		gs 'shortgs', 'remove_array_element', '$cheatVars', 'fix_biset_<<temp_set>>_img_<<$temp_class_str>>_<<cmd_new_index>>'
+		cheatVars['fix_biset_<<temp_set>>_imgnums_<<$temp_class_str>>'] -= 1
+	end
+
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', temp_set, temp_class
+	killvar 'temp_set'
+	killvar 'temp_class'
+	killvar 'temp_img_num'
+end
+
+
+if $ARGS[0] = 'cs_set_default_img':
+	$cheatVars['fix_biset_<<ARGS[1]>>_img_<<$mid(10000 + ARGS[2], 2)>>'] = ''
+	gs 'cheatmenu_bisets', 'cs_main', ARGS[1]
+end
+
+if $ARGS[0] = 'cs_set_default_img_adv':
+	$cheatVars['fix_biset_<<ARGS[1]>>_img_<<$mid(10000 + ARGS[2], 2)>>_<<ARGS[3]>>'] = ''
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', ARGS[1], ARGS[2]
+end
+
+if $ARGS[0] = 'cs_set_default_desc':
+	$cheatVars['fix_biset_<<ARGS[1]>>_desc_<<$mid(10000 + ARGS[2], 2)>>'] = ''
+	gs 'cheatmenu_bisets', 'cs_main', ARGS[1]
+end
+
+if $ARGS[0] = 'cs_set_default_desc_adv':
+	$cheatVars['fix_biset_<<ARGS[1]>>_desc_<<$mid(10000 + ARGS[2], 2)>>'] = ''
+	gs 'cheatmenu_bisets', 'cs_main_advanced2', ARGS[1], ARGS[2]
+end
+
+if $ARGS[0] = 'cs_delete_set':
+	*clr & cla
+	'<center><b>Body Image Set Removal</b></center>'
+	$cheatmenu['table_start']
+		'<a href="exec: killvar ''klsetask'' & gs ''cheatmenu_bisets'', ''cs_main'', <<ARGS[1]>>"><b>Go Back</b></a>'
+		*nl
+		'This is where you remove a body image set from use, please note it does not delete anything, it just clears the custom set from this game instance/save.'
+		if klsetask = 1:
+			'<a href="exec:klsetask = 2 & gs ''cheatmenu_bisets'', ''cs_delete_set'', <<ARGS[1]>>"><b>Are you sure you want to remove set <<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>?</b></a>'
+		elseif klsetask = 2:
+			if cheatVars['fix_bodyimg'] = 1 and cheatVars['fix_bi_set'] = ARGS[1]: cheatVars['fix_bodyimg'] = 0 & cheatVars['fix_bi_set'] = 0
+
+			gs 'cheatmenu_bisets', 'cs_delete_set2', ARGS[1]
+
+			killvar 'klsetask'
+			gs 'cheatmenu_bisets', 'main'
+		else
+			'<a href="exec: klsetask = 1 & gs ''cheatmenu_bisets'', ''cs_delete_set'', <<ARGS[1]>>">Remove set <<$cheatVars[''fix_biset_<<ARGS[1]>>_folder'']>>?</a>'
+		end
+	$cheatmenu['table_end']
+end
+
+if $ARGS[0] = 'cs_delete_set2':
+	$cmbs_text = 'fix_biset_<<ARGS[1]>>_'
+
+	cmbs_bmi_i = 0
+	:del_bodimgset_loop
+		gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'img_<<cmbs_i>>'
+		gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'desc_<<cmbs_i>>'
+		cmbs_i += 1
+	if cmbs_i < 9: jump 'del_bodimgset_loop'
+
+	cmbs_bmi = 0
+	:del_bodimgset_bmi_loop
+		cmbs_stren = 0
+		:del_bodimgset_stren_loop
+			$cmbs_class_str = $mid(10000 + cmbs_bmi * 100 + cmbs_stren, 2)
+			gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'desc_<<$cmbs_class_str>>'
+			gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'path_<<$cmbs_class_str>>'
+
+			cmbs_i = 0
+			:del_bodimgset_img_loop
+				gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'img_<<$cmbs_class_str>>_<<cmbs_i>>'
+				cmbs_i += 1
+			if cmbs_i < cheatVars[$cmbs_text + 'imgnums_<<$cmbs_class_str>>']: jump 'del_bodimgset_img_loop'
+			gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'imgnums_<<$cmbs_class_str>>'
+
+			cmbs_stren += 1
+		if cmbs_stren < 18: jump 'del_bodimgset_stren_loop'
+		cmbs_bmi += 1
+	if cmbs_bmi < 9: jump 'del_bodimgset_bmi_loop'
+
+	gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'folder'
+	gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'path'
+	gs 'shortgs', 'remove_array_element', 'cheatVars', $cmbs_text + 'name'
+
+	killvar 'cmbs_bmi'
+	killvar 'cmbs_stren'
+	killvar 'cmbs_i'
+	killvar '$cmbs_class_str'
+	killvar '$cmbs_text'
+end
+
+
+if $ARGS[0] = 'cs_get_default_img':
+	if cheatVars['fix_biset_<<ARGS[1]>>_advanced'] = 0:
+		ARGS[2] *= 100
+	end
+
+	$result = func('body_structure', 'body_img_from_class', ARGS[2])
+end
+
+if $ARGS[0] = 'cs_get_default_desc':
+	if cheatVars['fix_biset_<<ARGS[1]>>_advanced'] = 0:
+		ARGS[2] *= 100
+	end
+
+	$result = func('body_structure', 'body_desc_from_class', ARGS[2])
+end
+
+if $ARGS[0] = 'cs_get_default_subpath':
+	$result = func('body_structure', 'body_img_path_from_class', ARGS[2])
+end
+
+
+if $ARGS[0] = 'mods_how_to':
+	*clr & cla
+	act 'Go Back': gs 'cheatmenu_bisets', 'main'
+	$cheatmenu['table_start']
+		'How do you add the option to import an image set to a mod?'
+		'It''s fairly simple:'
+		'    1. Build the image set in game, using the correct folders, names, paths, etc.'
+		'    2. Click on the "Export Image Set" button.'
+		'    3. Copy the displayed code.'
+		'    4. When the main mod''s location (''mod_name'') is called with $ARGS[0] = ''import_body_set'' execute that code.'
+	$cheatmenu['table_end']
+end
+
+--- cheatmenu_bisets -------------------------------

+ 3 - 3
locations/foto_shoot.qsrc

@@ -881,7 +881,7 @@ if $ARGS[0] = 'sportswear':
 	gs 'exp_gain', 'mdlng', rand(2,4)
 	gs 'fame', 'city', 'modelling', 'small'
 	gs 'stat'
-	temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf)
+	temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf, 0)
 	if temp_bs_class / 100 >= 2 and (temp_bs_class mod 100) >= 8:
 		*clr & cla
 		modelpayfin += 300
@@ -912,7 +912,7 @@ if $ARGS[0] = 'sports_underwear':
 	gs 'exp_gain', 'mdlng', rand(3,6)
 	if pcs_inhib < 50:inhib_exp += 1
 	gs 'stat'
-	temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf)
+	temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf, 0)
 	if temp_bs_class / 100 >= 2 and (temp_bs_class mod 100) >= 8:
 		*clr & cla
 		modelpayfin += 325
@@ -941,7 +941,7 @@ if $ARGS[0] = 'fitness_artistic_nude':
 	gs 'fame', 'city', 'modelling', 'small'
 	inhib_exp += 2
 	gs 'stat'
-	temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf)
+	temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf, 0)
 	if temp_bs_class / 100 >= 2 and (temp_bs_class mod 100) >= 8:
 		*clr & cla
 		modelpayfin += 600

+ 5 - 5
locations/pcs_has_attr.qsrc

@@ -366,7 +366,7 @@ end
 
 !! To be checked
 if $ARGS[0] = 'body_bmi_starving':
-	temp_bs_class = func('body_structure', 'get_class')
+	temp_bs_class = func('body_structure', 'get_class') mod 1000
 	if temp_bs_class < 100:
 		result = 1
 	end
@@ -374,7 +374,7 @@ if $ARGS[0] = 'body_bmi_starving':
 	exit
 
 elseif $ARGS[0] = 'body_bmi_underweight':
-	temp_bs_class = func('body_structure', 'get_class')
+	temp_bs_class = func('body_structure', 'get_class') mod 1000
 	if temp_bs_class >= 100 and temp_bs_class < 200:
 		result = 1
 	end
@@ -382,7 +382,7 @@ elseif $ARGS[0] = 'body_bmi_underweight':
 	exit
 
 elseif $ARGS[0] = 'body_bmi_normal':
-	temp_bs_class = func('body_structure', 'get_class')
+	temp_bs_class = func('body_structure', 'get_class') mod 1000
 	if temp_bs_class >= 200 and temp_bs_class < 400:
 		result = 1
 	end
@@ -390,7 +390,7 @@ elseif $ARGS[0] = 'body_bmi_normal':
 	exit
 
 elseif $ARGS[0] = 'body_bmi_overweight':
-	temp_bs_class = func('body_structure', 'get_class')
+	temp_bs_class = func('body_structure', 'get_class') mod 1000
 	if temp_bs_class >= 400 and temp_bs_class < 500:
 		result = 1
 	end
@@ -398,7 +398,7 @@ elseif $ARGS[0] = 'body_bmi_overweight':
 	exit
 
 elseif $ARGS[0] = 'body_bmi_obese':
-	temp_bs_class = func('body_structure', 'get_class')
+	temp_bs_class = func('body_structure', 'get_class') mod 1000
 	if temp_bs_class >= 500:
 		result = 1
 	end