code:
:: Art_Vector_Butt_Outfit_Toga_1 [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccc" id="path8537" d="m 346.98114,403.57565 c 12.69932,8.98722 61.78429,66.12941 9.2288,108.69842 -6.63975,-17.82444 -4.66964,-103.04772 -9.2288,-108.69842 z" style="display:inline;fill-opacity:1;fill-rule:evenodd;fill:#000000;opacity:1;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-width:3.05538678;stroke:#000000"/><path sodipodi:nodetypes="ccc" id="path8539" d="m 346.26927,403.00396 c 12.69932,8.98722 61.6738,66.92491 9.11831,109.49392 -6.63975,-17.82444 -4.55915,-103.84322 -9.11831,-109.49392 z" style="display:inline;fill-opacity:1;fill-rule:evenodd;fill:#c8c8c8;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-width:3.05538678;stroke:#000000"/></svg></html>' >>


code:
:: Art_Vector_Butt_Outfit_TshirtAndJeans_0 [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccc" id="path4610" d="m 356.35605,417.75253 c 8.87752,7.62194 35.75545,56.95078 1.24973,90.26906 -2.72414,-18.96077 0.28277,-83.03829 -1.24973,-90.26906 z" style="display:inline;fill-opacity:1;fill-rule:evenodd;fill:#000000;opacity:1;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-width:3.0515182;stroke:#000000"/><path sodipodi:nodetypes="ccc" id="path4612" d="m 356.29187,417.55673 c 8.62752,9.74694 35.00545,56.82578 0.49973,90.14406 -2.72414,-18.96077 1.03277,-82.91329 -0.49973,-90.14406 z" style="display:inline;fill-opacity:1;fill-rule:evenodd;fill:#517cd3;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-width:3.0515182;stroke:#000000"/></svg></html>' >>


code:
:: Art_Vector_Butt_Outfit_TshirtAndJeans_1 [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccc" id="path4604" d="m 346.98114,403.57565 c 12.69932,8.98722 61.78429,66.12941 9.2288,108.69842 -6.63975,-17.82444 -4.66964,-103.04772 -9.2288,-108.69842 z" style="display:inline;fill-opacity:1;fill-rule:evenodd;fill:#000000;opacity:1;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-width:3.05538678;stroke:#000000"/><path sodipodi:nodetypes="ccc" id="path4606" d="m 346.26927,403.00396 c 12.69932,8.98722 61.6738,66.92491 9.11831,109.49392 -6.63975,-17.82444 -4.55915,-103.84322 -9.11831,-109.49392 z" style="display:inline;fill-opacity:1;fill-rule:evenodd;fill:#517cd3;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-width:3.05538678;stroke:#000000"/></svg></html>' >>


code:
:: Art_Vector_Cat_Tail [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path d="m 342.15888,477.17932 c 0,0 113.6156,70.85179 139.77284,-28.74333 25.05714,-95.4064 -57.66395,-93.79968 -48.14882,-165.08654 3.40586,-25.5165 38.15951,-39.43051 38.15951,-39.43051" style="display:inline;fill-opacity:1;fill:none;opacity:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:16;stroke:#20202c;vector-effect:none" id="path2502"/><path style="display:inline;fill-opacity:1;fill:none;opacity:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:16;stroke:#fefefe;vector-effect:none" d="m 442.29877,265.01668 c 11.34263,-13.77073 29.64364,-21.09774 29.64364,-21.09774" id="path2504-9"/></svg></html>' >>


code:
:: Art_Vector_Clit_Piercing [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><circle r="1.2" cy="456.72482" cx="271.48196" class="steel_piercing" id="XMLID_537_"/><circle r="1.2" cy="457.22482" cx="266.78198" class="steel_piercing" id="XMLID_538_"/></svg></html>' >>


code:
:: Art_Vector_Face_TypeNull [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Hair_Back_Neat_Short [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Hair_Back_NoHair [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Hair_Fore_NoHair [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Apron_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_AttractiveLingerie_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_BallGown_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Battlearmor_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Battledress_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_BiyelgeeCostume_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Boyshorts_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Bunny_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Burkini_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Burqa_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Cheerleader_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Cheerleader_Normal [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Cheerleader_Thick [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Cheerleader_Wide [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_ClubslutNetting_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Conservative_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_CutoffsAndATshirt_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_CutoffsAndATshirt_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Cutoffs_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Dirndl_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_FallenNunsHabit_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_HalterTopDress_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_HalterTopDress_Normal [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="cccc" id="path2299" d="m 206.69585,509.71888 c -0.46031,-1.44044 -6.25916,-37.08958 15.37364,-87.43135 l -3.91196,85.39672 z" style="display:inline;fill-opacity:0.99497483;fill:#5e367c;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:0;stroke:#000000"/><path sodipodi:nodetypes="cccc" id="path2299-6" d="m 352.76531,511.50063 c 3.09495,-14.55258 8.97219,-8.86388 13.06264,-21.75729 l 0.69438,19.10478 z" style="display:inline;fill-opacity:1;fill:#5e367c;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:0;stroke:#000000"/></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_HalterTopDress_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_HaremGauze_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_HijabAndAbaya_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_HijabAndBlouse_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Huipil_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Huipil_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Jeans_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Kimono_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_KlanRobe_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_LeatherPantsAndATubeTop_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_LeatherPantsAndPasties_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_LeatherPants_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Lederhosen_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_LongQipao_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_MaternityDress_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_MilitaryUniform_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_MiniDress_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_MiniDress_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Monokini_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Mounty_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_NiceBusinessAttire_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_NiceMaid_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_NiceNurse_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_NiqabAndAbaya_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_OversizedTshirtAndBoyshorts_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_PoliceUniform_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_RedArmyUniform_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Schoolgirl_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Schoolgirl_Normal [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Schoolgirl_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Schoolgirl_Thick [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Schoolgirl_Wide [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SchutzstaffelUniform_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SlaveGown_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyBusinessAttire_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyBusinessAttire_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyJewelry_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyMaid_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyNurse_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyNurse_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttyQipao_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SluttySchutzstaffelUniform_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SpatsAndATankTop_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SportShortsAndASportsBra_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SportShortsAndATshirt_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SportShorts_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_StretchPantsAndACroptop_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Succubus_Narrow [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Succubus_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_SweaterAndCutoffs_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Toga_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_TshirtAndJeans_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Leg_Outfit_Western_Stump [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Navel_Piercing [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><circle r="1.2" cy="364.39999" cx="271.31561" class="steel_piercing" id="XMLID_515_"/><circle r="1.2" cy="368.60001" cx="271.31561" class="steel_piercing" id="XMLID_516_"/></svg></html>' >>


code:
:: Art_Vector_Pubic_Hair_None [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Pubic_Hair_Underarm_None [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Pussy_Tattoo [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path style="fill:none;stroke:none" d="m 247.43521,421.40369 c 11.48595,-7.47207 25.83395,-7.39381 43.33727,-0.45163" id="path4363" sodipodi:nodetypes="cc"/><text xml:space="preserve" id="text4365" x="25.568281" y="0" transform="translate(4.5961944,18.031224)"><textPath xlink:href="#path4363" id="textPath4369">'+_art_pussy_tattoo_text+'</textPath></text></svg></html>' >>


code:
:: Art_Vector_Torso_Outfit_ComfortableBodysuit_Chubby [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Torso_Outfit_ComfortableBodysuit_Fat [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Torso_Outfit_ComfortableBodysuit_Obese [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"></svg></html>' >>


code:
:: Art_Vector_Revamped_Control_ [nobr]

<<if ndef $seeVectorArtHighlights>>
	<<set $seeVectorArtHighlights = 1>>
<</if>>

<<set _artSlave = $args[0] >>

<<if _art_display_id > 0 >>
	<<set _art_display_id += 1>>
<<else>>
	<<set _art_display_id = 1>>
<</if>>
<<set _art_display_class = "ad"+_art_display_id >>

/*Using JS from vectorRevampedArtControl.tw*/

<<set _revampedVectorArtControl = getVectorArtRevampedControl(_art_display_class, _artSlave, $seeVectorArtHighlights, $showBodyMods)>>

<<print "<style>" + _revampedVectorArtControl.StylesCss + "</style>" >>
<<set _revampedArtLayers = _revampedVectorArtControl.Layers>>
<<set _art_transform = _revampedVectorArtControl.artTransform>>
<<set _boob_right_art_transform = _revampedVectorArtControl.boobRightArtTransform>>
<<set _boob_left_art_transform = _revampedVectorArtControl.boobLeftArtTransform>>

<<set _boob_outfit_art_transform = _revampedVectorArtControl.boobOutfitArtTransform>>

<<set _art_pussy_tattoo_text = _revampedVectorArtControl.pubicTattooText >>
<<for _vrc = 0; _vrc < _revampedArtLayers.length; _vrc++>>
	<<include _revampedArtLayers[_vrc]>>
<</for>>

<<unset _art_transform>>


code:
:: Art_Vector_Revamp_Pussy_Tattoo [nobr]

<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path style="fill:none;stroke:none" d="m 253.62239,430.50769 c 14.1376,12.59209 60.92413,9.84192 72.85898,-5.2246" id="path4363" sodipodi:nodetypes="cc"/><text xml:space="preserve" id="text4365" style="font-size:12px;line-height:0%;text-align:center;text-anchor:middle" x="40.117271" y="19.936554" transform="translate(-3.125,0.875)"><textPath xlink:href="#path4363" id="textPath4369" style="font-size:12px;text-align:center;text-anchor:middle">'+_art_pussy_tattoo_text+'</textPath></text></svg></html>' >>


code:
:: Revamped Art Control [script]

class ArtStyleEntry {
	constructor(name) {
		this.name = name;
	}

	toString()
	{
		var keys = Object.keys(this);
		var styleArray = [];
		if (keys !== null && keys !== undefined)
		{
			var styleObj = this;
			keys.forEach(function(key) {
				if(key !== "name") {
					var value = styleObj[key];
					styleArray.push(key + ":" + value);
				}
			});

			var styleValue = styleArray.join(";") + ";";

			var cssDef = "{" + styleValue + "}";

			if (this.name.length > 0)
				cssDef = "." + this.name + cssDef;

			return cssDef;
		}

		return "";
	}
}

class ArtStyleControl {
	constructor(artDisplayClass, artSlave) {
		this.artDisplayClass = artDisplayClass;
		this.artSlave = artSlave;
		this.styles = [];

		this.initDefaultValues();
		this.applyMakeup();
		this.applyCalcMuscleTone();
		this.applyEyeLensStyle();
	}

	applyMakeup() {
		var lipsColor = this.lips.fill;
		var lipsOpacity = this.lips["fill-opacity"];

		switch(this.artSlave.makeup)
		{
			case 1:
				//Nice
				lipsColor = "#ff69b4";
				lipsOpacity = 0.5;
				break;
			case 2:
				//Gorgeous
				lipsColor = "#8b008b";
				lipsOpacity = 0.7;
				break;
			case 3:
				//Hair coordinated
				lipsColor = this.hair.fill;
				lipsOpacity = 0.3;
				break;
			case 4:
				//Slutty
				lipsColor = "#ff0000";
				lipsOpacity = 1;
				break;
			case 5:
				//Neon
				lipsColor = "#DC143C";
				lipsOpacity = 1;
				break;
			case 6:
				//Neon hair coordinated
				lipsColor = this.hair.fill;
				lipsOpacity = 1;
				break;
			case 7:
				//Metallic
				lipsColor = "#b22222";
				lipsOpacity = 0.7;
				break;
			case 8:
				//Metallic hair coordinated
				lipsColor = this.hair.fill;
				lipsOpacity = 0.7;
				break;
			default:
		}

		this.lips.fill = lipsColor;
		this.lips["fill-opacity"] = lipsOpacity;
	}

	applyCalcMuscleTone() {
		var musclesValue = this.artSlave.muscles + 101;
		var musclesVisibility = 0.910239*Math.log(0.02*musclesValue);

		this.muscleTone["fill-opacity"] = musclesVisibility;
	}

	applyEyeLensStyle() {
		if (this.artSlave.eyeColor == null || this.artSlave.eyeColor == undefined)
			return;

		var eyeColorSplit = this.artSlave.eyeColor.split(" ");

		if (eyeColorSplit == 1)
			return;

		var eyeLens = eyeColorSplit[0];

		switch(eyeLens)
		{
			case "demonic":
				this.eyeball.fill = this.iris.fill;
				break;
			case "devilish":
				this.eyeball.fill = "#010101";
		}
	}

	/*currently unused, keeping for color reference - */
	parseSkinColorFromName(colorName) {
		if (colorName == null)
			return "#000000";

		var skinPalette = [
			["light", "#feebe5"],
			["white", "#feebe5"],
			["fair", "#feebe5"],
			["lightened", "#feebe5"],
			["extremely pale", "#fff8f8"],
			["pale", "#f9ebf0"],
			["tanned", "#e8b693"],
			["natural", "#e8b693"],
			["olive", "#a46237"],
			["light olive", "#d4c6bb"],
			["dark", "#a46237"],
			["brown", "#845c44"],
			["dark brown", "#845c44"],
			["black", "#463a3a"],
			["camouflage patterned", "#78875a"],
			["dyed red", "#bc4949"],
			["dyed green", "#A6C373"],
			["dyed blue", "#5b8eb7"],
			["dyed pink", "#fe62b0"],
			["dyed gray", "#bdbdbd"],
			["tiger striped", "#e2d75d"]
		];

		var skinPaletteMap = new Map(skinPalette);
		colorName = colorName.toLowerCase();
		var colorValue = skinPaletteMap.get(colorName);
		if (!colorValue) {
			return this.parseColorFromName(colorName);
		}

		return colorValue;
	}
	/* - currently unused, keeping for color reference*/

	initDefaultValues() {
		var colorSlave = skinColorCatcher(this.artSlave);

		this.white = new ArtStyleEntry("white");
		this.white.fill = "#FFFFFF";

		this.skin = new ArtStyleEntry("skin");
		this.skin.fill = colorSlave.skinColor;

		this.arm = new ArtStyleEntry("arm.skin");
		this.arm.fill = this.skin.fill;

		this.head = new ArtStyleEntry("head");
		this.head.fill = this.skin.fill;

		this.torso = new ArtStyleEntry("torso");
		this.torso.fill = this.skin.fill;

		this.boob = new ArtStyleEntry("boob");
		this.boob.fill = this.skin.fill;

		this.penis = new ArtStyleEntry("penis");
		this.penis.fill = this.skin.fill;

		this.scrotum = new ArtStyleEntry("scrotum");
		this.scrotum.fill = this.skin.fill;

		this.areola = new ArtStyleEntry("areola");
		this.areola.fill = colorSlave.areolaColor;

		this.labia = new ArtStyleEntry("labia");
		this.labia.fill = colorSlave.labiaColor;

		this.hair = new ArtStyleEntry("hair");
		this.hair.fill = extractColor(this.artSlave.hColor);

		this.shoe = new ArtStyleEntry("shoe");
		this.shoe.fill = "#3E65B0";

		this.smartPiercing = new ArtStyleEntry("smart_piercing");
		this.smartPiercing.fill = "#4DB748";

		this.steelPiercing = new ArtStyleEntry("steel_piercing");
		this.steelPiercing.fill = "#c0c6c7";

		this.steelChastity = new ArtStyleEntry("steel_chastity");
		this.steelChastity.fill = "#c0c6c7";

		this.labiaSkin = new ArtStyleEntry("labia.skin");
		this.labiaSkin.fill = this.skin.fill;

		this.outfitBase = new ArtStyleEntry("outfit_base");
		this.outfitBase.fill = "#515351";

		this.shadow = new ArtStyleEntry("shadow");
		this.shadow.fill = "#010101";

		this.muscleTone = new ArtStyleEntry("muscle_tone");
		this.muscleTone.fill = "#010101";
		this.muscleTone["fill-opacity"] = 1;

		this.glasses = new ArtStyleEntry("glasses");
		this.glasses.fill = "#010101";

		this.lips = new ArtStyleEntry("lips");
		this.lips.fill = colorSlave.lipsColor;
		this.lips["fill-opacity"] = 0.6;

		this.eyeball = new ArtStyleEntry("eyeball");
		this.eyeball.fill = "#dfdfdf";

		this.iris = new ArtStyleEntry("iris");
		this.iris.fill = extractColor(this.artSlave.eyeColor, 1);

		this.highlight1 = new ArtStyleEntry("highlight1");
		this.highlight1.fill = "#ffffff";
		this.highlight1["fill-opacity"] = 0.9;
		this.highlight1["mix-blend-mode"] = "soft-light";

		this.highlight2 = new ArtStyleEntry("highlight2");
		this.highlight2.fill = "#ffffff";
		this.highlight2["fill-opacity"] = 0.9;
		this.highlight2["mix-blend-mode"] = "soft-light";

		this.highlightStrong = new ArtStyleEntry("highlightStrong");
		this.highlightStrong.fill = "#ffffff";

		this.armpitHair = new ArtStyleEntry("armpit_hair");
		this.armpitHair.fill = extractColor(this.artSlave.underArmHColor);

		this.pubicHair = new ArtStyleEntry("pubic_hair");
		this.pubicHair.fill = extractColor(this.artSlave.pubicHColor);

		this.bellyDetails = new ArtStyleEntry("belly_details");
		this.bellyDetails["fill-opacity"] = 1;

		this.bellySkin = new ArtStyleEntry("belly.skin");
		this.bellySkin.fill = this.skin.fill;

		this.bellyUpperSkin = new ArtStyleEntry("belly_upper.skin");
		this.bellyUpperSkin.fill = this.skin.fill;

		this.neckSkin = new ArtStyleEntry("neck.skin");
		this.neckSkin.fill = this.skin.fill;

		this.legsSkin = new ArtStyleEntry("legs.skin");
		this.legsSkin.fill = this.skin.fill;

		this.buttSkin = new ArtStyleEntry("butt.skin");
		this.buttSkin.fill = this.skin.fill;

		this.feetSkin = new ArtStyleEntry("feet.skin");
		this.feetSkin.fill = this.skin.fill;

		this.shadowBoobInnerLowerShadow = new ArtStyleEntry("shadow.boob_inner_lower_shadow");
		this.shadowBoobInnerLowerShadow["fill-opacity"] = 1;

		this.shadowBoobInnerUpperShadow = new ArtStyleEntry("shadow.boob_inner_upper_shadow");
		this.shadowBoobInnerUpperShadow["fill-opacity"] = 1;

		this.gag = new ArtStyleEntry("gag");
		this.gag.fill = "#bf2126";
	}

	get StylesCss() {
		var mainStyle = new ArtStyleEntry("");
		mainStyle.position = "absolute";
		mainStyle.height= "100%";
		mainStyle["margin-left"] = "auto";
		mainStyle["margin-right"] = "auto";
		mainStyle.left = "0";
		mainStyle.right = "0";

		this.styles.push(this.white);
		this.styles.push(this.arm);
		this.styles.push(this.skin);
		this.styles.push(this.head);
		this.styles.push(this.torso);
		this.styles.push(this.boob);
		this.styles.push(this.penis);
		this.styles.push(this.scrotum);
		this.styles.push(this.areola);
		this.styles.push(this.labia);
		this.styles.push(this.hair);
		this.styles.push(this.shoe);
		this.styles.push(this.smartPiercing);
		this.styles.push(this.steelPiercing);
		this.styles.push(this.steelChastity);
		this.styles.push(this.labiaSkin);
		this.styles.push(this.outfitBase);
		this.styles.push(this.shadow);
		this.styles.push(this.muscleTone);
		this.styles.push(this.glasses);
		this.styles.push(this.lips);
		this.styles.push(this.eyeball);
		this.styles.push(this.iris);
		this.styles.push(this.highlight1);
		this.styles.push(this.highlight2);
		this.styles.push(this.highlightStrong);
		this.styles.push(this.armpitHair);
		this.styles.push(this.pubicHair);
		this.styles.push(this.bellyDetails);
		this.styles.push(this.bellySkin);
		this.styles.push(this.bellyUpperSkin);
		this.styles.push(this.neckSkin);
		this.styles.push(this.legsSkin);
		this.styles.push(this.buttSkin);
		this.styles.push(this.feetSkin);
		this.styles.push(this.shadowBoobInnerLowerShadow);
		this.styles.push(this.shadowBoobInnerUpperShadow);
		this.styles.push(this.gag);
		var stylesValues = [];

		var artDisplayClass = this.artDisplayClass;

		stylesValues.push("." + artDisplayClass + " " + mainStyle.toString());
		this.styles.forEach(function(style) {
			stylesValues.push("." + artDisplayClass + " " + style.toString());
		});

		return stylesValues.join(" ");
	}

}

class ClothingControl {
	get fuckdoll() {
		var defaultOutfitColor = "#515351";
		var areolaColor = "#383838";
		return {
			bodySettings: {
				showEyes: false,
				showPubic: false,
				showArmHair: false,
				showHair: false,
				showLegHighlight: true,
				showTorsoHighlight: true,
				showBoobsHighlight: true,
				showHeadHighlight: true
			},
			styleSettings: {
				skin: { fill: defaultOutfitColor },
				arm: { fill: defaultOutfitColor },
				penis: { fill: defaultOutfitColor },
				legsSkin: {fill: defaultOutfitColor },
				feetSkin: {fill: defaultOutfitColor },
				torso: {fill: defaultOutfitColor },
				buttSkin: {fill: defaultOutfitColor },
				head: { fill: defaultOutfitColor },
				neckSkin: { fill: defaultOutfitColor },
				boob: { fill: defaultOutfitColor },
				areola: { fill: areolaColor },
				labia: { fill: areolaColor },
				bellySkin: { fill: defaultOutfitColor },
				bellyUpperSkin: { fill: defaultOutfitColor },
				shoe: { fill: defaultOutfitColor },
				labiaSkin: { fill: defaultOutfitColor },
				lips: { fill: areolaColor }
			}
		}
	}

	get niceMaid() {
		return {
			bodySettings: {
				showPubic: false,
				showBoobs: false,
				showNipples: false,
				showPenis: false,
				showBalls: false,
				showBellyPiercings: false,
				showNipplesPiercings: false
			},
			styleSettings: {
				bellySkin: { fill: "#FFFFFF" },
				bellyUpperSkin: { fill: "#FFFFFF" },
				bellyDetails: { "fill-opacity": 0 }
			}
		}
	}

	get sluttyMaid() {
		return {
			bodySettings: {
				showBellyPiercings: false
			},
			styleSettings: {
				bellySkin: { fill: "#FFFFFF" },
				bellyDetails: { "fill-opacity": 0 }
			}
		}
	}

	get restrictiveLatex() {
		var defaultOutfitColor = "#515351";
		var areolaColor = "#383838";
		return {
			bodySettings: {
				showEyes: false,
				showPubic: false,
				showArmHair: false,
				showHair: false,
				showLegHighlight: true,
				showTorsoHighlight: true,
				showBoobsHighlight: true,
				showHeadHighlight: true,
				showHeadPiercings: false,
				showBellyPiercings: false
			},
			styleSettings: {
				skin: { fill: defaultOutfitColor },
				arm: { fill: defaultOutfitColor },
				legsSkin: {fill: defaultOutfitColor },
				feetSkin: {fill: defaultOutfitColor },
				torso: {fill: defaultOutfitColor },
				buttSkin: {fill: defaultOutfitColor },
				head: { fill: defaultOutfitColor },
				neckSkin: { fill: defaultOutfitColor },
				bellySkin: { fill: defaultOutfitColor },
				bellyUpperSkin: { fill: defaultOutfitColor },
				shoe: { fill: defaultOutfitColor }
			}
		}
	}

	get latexCatsuit() {
		var defaultOutfitColor = "#515351";
		var areolaColor = "#383838";
		return {
			bodySettings: {
				showPubic: false,
				showArmHair: false,
				showLegHighlight: true,
				showTorsoHighlight: true,
				showBoobsHighlight: true,
				showHeadHighlight: true,
				showPussyPiercings: false,
				showPenisPiercings: false,
				showBellyPiercings: false,
				showNipplesPiercings: false
			},
			styleSettings: {
				skin: { fill: defaultOutfitColor },
				scrotum: { fill: defaultOutfitColor },
				arm: { fill: defaultOutfitColor },
				penis: { fill: defaultOutfitColor },
				legsSkin: {fill: defaultOutfitColor },
				feetSkin: {fill: defaultOutfitColor },
				torso: {fill: defaultOutfitColor },
				buttSkin: {fill: defaultOutfitColor },

				neckSkin: { fill: defaultOutfitColor },
				boob: { fill: defaultOutfitColor },
				areola: { fill: areolaColor },
				labia: { fill: areolaColor },
				bellySkin: { fill: defaultOutfitColor },
				bellyUpperSkin: { fill: defaultOutfitColor },
				shoe: { fill: defaultOutfitColor },
				labiaSkin: { fill: defaultOutfitColor }
			}
		}
	}

	get bodyOil() {
		return {
			bodySettings: {
				showLegHighlight: true,
				showTorsoHighlight: true,
				showBoobsHighlight: true,
				showHeadHighlight:true,
			},
			styleSettings: {

			}
		}
	}

	get bodysuit() {
		var defaultOutfitColor = "#162d50";
		return {
			bodySettings: {
				showPubic: false,
				showArmHair: false,
				showPussy: false,
				showPussyPiercings: false,
				showPenisPiercings: false,
				showBellyPiercings: false,
				showNipplesPiercings: false
			},
			styleSettings: {
				skin: { fill: defaultOutfitColor },
				scrotum: { fill: defaultOutfitColor },
				arm: { fill: defaultOutfitColor },
				penis: { fill: defaultOutfitColor },
				legsSkin: {fill: defaultOutfitColor },
				feetSkin: {fill: defaultOutfitColor },
				torso: {fill: defaultOutfitColor },
				buttSkin: {fill: defaultOutfitColor },
				boob: { fill: defaultOutfitColor },
				areola: { fill: defaultOutfitColor },
				bellySkin: { fill: defaultOutfitColor },
				bellyUpperSkin: { fill: defaultOutfitColor },
				shoe: { fill: defaultOutfitColor },
				muscleTone: { "fill-opacity": 0 },
				bellyDetails: { "fill-opacity": 0 }
			}
		}
	}

	get leotard() {
		var defaultOutfitColor = "#d35f8d";
		return {
			bodySettings: {
				showPubic: false,
				showArmHair: false,
				showPussy: false,
				showPussyPiercings: false,
				showPenisPiercings: false,
				showBellyPiercings: false,
				showNipplesPiercings: false,
				showNipples: false
			},
			styleSettings: {
				skin: { fill: defaultOutfitColor },
				scrotum: { fill: defaultOutfitColor },
				penis: { fill: defaultOutfitColor },
				torso: {fill: defaultOutfitColor },
				boob: { fill: defaultOutfitColor },
				areola: { fill: defaultOutfitColor },
				bellySkin: { fill: defaultOutfitColor },
				bellyUpperSkin: { fill: defaultOutfitColor },
				muscleTone: { "fill-opacity": 0 },
				bellyDetails: { "fill-opacity": 0 }
			}
		}
	}
}

class RevampedArtControl {
	constructor(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods) {

		this.artDisplayClass = artDisplayClass;
		this.artSlave = artSlave;
		this.styleControl = new ArtStyleControl(artDisplayClass, artSlave);
		this.clothingControl = new ClothingControl();
		this.artTransform = "";
		this.boobRightArtTransform = "";
		this.boobLeftArtTransform = "";
		this.boobOutfitArtTransform = "";

		this.showArmHair = true;
		this.showHair = true;
		this.showPussy = true;
		this.showPubic = true;
		this.showChastityVaginal = true;
		this.showChastityAnal = true;
		this.showBalls = true;
		this.showPenis = true;
		this.showNipples = true;
		this.showBoobs = true;
		this.showEyes = true;
		this.showMouth = true;

		this.leftArmType = this.getLeftArmPosition;
		this.rightArmType = this.getRightArmPosition;

		this.hairLength = this.getHairLength;
		this.torsoSize = this.getTorsoSize;
		this.bellyLevel = this.getBellyLevel;

		this.showLegHighlight = false;
		this.showTorsoHighlight = false;
		this.showBoobsHighlight = false;
		this.showHeadHighlight = false;

		this.showPussyPiercings = true;
		this.showBellyPiercings = true;
		this.showPenisPiercings = true;
		this.showNipplesPiercings = true;
		this.showHeadPiercings = true;

		this.pubicTattooText = "";

		var clothing = this.getClothing();
		if (clothing != null)
		{
			if (clothing.bodySettings != null)
				this.applyClothingSettings(clothing.bodySettings);
			if (clothing.styleSettings != null)
				this.applyClothingStyleSettings(clothing.styleSettings);
		}

		if (!globalShowHighlights)
		{
			this.showLegHighlight = false;
			this.showTorsoHighlight = false;
			this.showBoobsHighlight = false;
			this.showHeadHighlight = false;
		}
		if (!globalShowBodyMods)
		{
			this.showPussyPiercings = false;
			this.showBellyPiercings = false;
			this.showPenisPiercings = false;
			this.showNipplesPiercings = false;
			this.showHeadPiercings = false;
		}

	}

	copyProperties(objTo, objFrom) {
		for (var attr in objFrom) {
			if (objFrom.hasOwnProperty(attr))
				objTo[attr] = objFrom[attr];
		}
	}

	applyClothingSettings(clothingSettings) {
		this.copyProperties(this, clothingSettings);
	}

	applyClothingStyleSettings(styleSettings) {
		for (var attr in styleSettings) {
			if (styleSettings.hasOwnProperty(attr))
				this.copyProperties(this.styleControl[attr], styleSettings[attr]);
		}
	}

	getClothing() {
		if (this.artSlave.fuckdoll > 0)
			return this.clothingControl.fuckdoll;
		let clothing = null;
		switch(this.artSlave.clothes) {
			case "a nice maid outfit":
				clothing = this.clothingControl.niceMaid;
				break;
			case "a slutty maid outfit":
				clothing = this.clothingControl.sluttyMaid;
				break;
			case "restrictive latex":
				clothing = this.clothingControl.restrictiveLatex;
				break;
			case "a latex catsuit":
				clothing = this.clothingControl.latexCatsuit;
				break;
			case "body oil":
				clothing = this.clothingControl.bodyOil;
				break;
			case "a comfortable bodysuit":
				clothing = this.clothingControl.bodysuit;
				break;
			case "a leotard":
				/*return this.clothingControl.leotard;*/
				break;
			default:
				break;
		}
		return clothing;
	}

	get getHairLength() {
		var result = "Short";

		if (this.artSlave.hLength >= 80)
			result = "Long";
		else if (this.artSlave.hLength >= 40)
			result = "Medium";
		else
			result = "Short";

		return result;
	}

	get getTorsoSize() {
		var torsoSize = "Normal";

		if (this.artSlave.waist < -40) {
			torsoSize = this.artSlave.weight > 30 ? "Hourglass" : "Unnatural";
		}
		else if (this.artSlave.waist <= 10) {
			torsoSize = this.artSlave.weight > 30 ? "Normal" : "Hourglass";
		}
		else {
			torsoSize = "Normal";
		}

		return torsoSize;
	}

	get getLeftArmPosition() {
		var leftArmType = "Low";

		if (this.artSlave.devotion > 50) {
			leftArmType = "High";
		}
		else if (this.artSlave.trust >= -20) {
			if (this.artSlave.devotion <= 20) {
				leftArmType = "Low";
			}
			else
			{
				leftArmType = "Mid";
			}
		}
		else {
			leftArmType = "Mid";
		}

		return leftArmType;
	}

	get getRightArmPosition() {
		var rightArmType = "Low";

		if (this.artSlave.devotion > 50) {
			rightArmType = "High";
		}
		else if (this.artSlave.trust >= -20) {
			if (this.artSlave.devotion <= 20) {
				rightArmType = "Low";
			}
			else
			{
				rightArmType = "High";
			}
		}
		else {
			rightArmType = "Mid";
		}

		return rightArmType;
	}

	get getBellyLevel() {
		var bellyLevel = 0;
		if (this.artSlave.belly >= 120000)
			bellyLevel = 9;
		else if (this.artSlave.belly >= 90000)
			bellyLevel = 8;
		else if (this.artSlave.belly >= 50000)
			bellyLevel = 7;
		else if (this.artSlave.belly >= 30000)
			bellyLevel = 6;
		else if (this.artSlave.belly >= 15000)
			bellyLevel = 5;
		else if (this.artSlave.belly >= 10000)
			bellyLevel = 4;
		else if (this.artSlave.belly >= 5000)
			bellyLevel = 3;
		else if (this.artSlave.belly >= 1500)
			bellyLevel = 2;
		else if (this.artSlave.belly >= 500)
			bellyLevel = 1;
		else
			bellyLevel = 0;

		return bellyLevel;
	}

	get hairBackLayer() {
		var result = [];

		if (!this.showHair)
			return result;

		if (this.artSlave.hLength == 0)
			return result;

		switch(this.artSlave.hStyle)
		{
			case "neat":
				result.push("Art_Vector_Revamp_Hair_Back_Neat_" + this.hairLength);
				break;
			case "bun":
			case "up":
				result.push("Art_Vector_Revamp_Hair_Back_Bun_" + this.hairLength);
				break;
			case "tails":
				result.push("Art_Vector_Revamp_Hair_Back_Tails_" + this.hairLength);
				break;
			case "ponytail":
				result.push("Art_Vector_Revamp_Hair_Back_Ponytail_" + this.hairLength);
				break;
			case "braided":
				result.push("Art_Vector_Revamp_Hair_Back_Braids_" + this.hairLength);
				break;
			case "curled":
				result.push("Art_Vector_Revamp_Hair_Back_Curled_" + this.hairLength);
				break;
			case "cornrows":
				result.push("Art_Vector_Revamp_Hair_Back_Cornrows_" + this.hairLength);
				break;
			case "strip":
				result.push("Art_Vector_Revamp_Hair_Back_Shaved_Sides_" + this.hairLength);
				break;
			case "luxurious":
				result.push("Art_Vector_Revamp_Hair_Back_Luxurious_" + this.hairLength);
				break;
			case "afro":
				result.push("Art_Vector_Revamp_Hair_Back_Afro_" + this.hairLength);
				break;
			case "permed":
				result.push("Art_Vector_Revamp_Hair_Back_Permed_" + this.hairLength);
				break;
			case "dreadlocks":
				result.push("Art_Vector_Revamp_Hair_Back_Dreadlocks_" + this.hairLength);
				break;
			default:
				result.push("Art_Vector_Revamp_Hair_Back_Messy_" + this.hairLength);
		}

		return result;
	}

	get armLayer() {
		var result = [];

		var leftArmType = "";
		var rightArmType = "";

		if (this.artSlave.amp == 1) {
			result.push("Art_Vector_Revamp_Arm_Stump");
		}
		else {
			result.push("Art_Vector_Revamp_Arm_Right_"+this.rightArmType);
			result.push("Art_Vector_Revamp_Arm_Left_"+this.leftArmType);
		}

		if (this.showArmHair && (this.artSlave.amp == 1 || (this.leftArmType == "High" && this.artSlave.amp != 1)))
		{
			switch(this.artSlave.underArmHStyle)
			{
				case "bushy":
					result.push("Art_Vector_Revamp_Arm_Up_Hair_Bushy");
					break;
				case "neat":
					result.push("Art_Vector_Revamp_Arm_Up_Hair_Neat");
					break;
				default:
			}
		}

		return result;
	}

	get buttLayer() {
		var result = [];
		var buttSize = 0;
		if (this.artSlave.amp)
			return result;

		if (this.artSlave.butt > 6)
			buttSize = 3;
		else if (this.artSlave.butt > 4)
			buttSize = 2;
		else if (this.artSlave.butt > 2)
			buttSize = 1;
		else
			buttSize = 0;

		result.push("Art_Vector_Revamp_Butt_" + buttSize);

		return result;
	}

	get legLayer() {
		var result = [];

		if (this.artSlave.amp == 1) {
			result.push("Art_Vector_Revamp_Stump");
		}
		else {
			var legSize = "Normal";

			if (this.artSlave.hips < 0) {
				legSize = this.artSlave.weight > 95 ? "Normal" : "Narrow";
			}
			else if (this.artSlave.hips == 0) {
				legSize = this.artSlave.weight > 95 ? "Wide" : "Normal";
			}
			else if (this.artSlave.hips > 0) {
				legSize = "Wide";
			}

			result.push("Art_Vector_Revamp_Leg_" + legSize);

			if (this.showLegHighlight)
			{
				result.push("Art_Vector_Revamp_Leg_Highlights2");
				result.push("Art_Vector_Revamp_Leg_Highlights1");
			}
		}

		return result;
	}

	get feetLayer() {
		var result = [];

		if (this.artSlave.amp == 1) {
			return result;
		}

		switch(this.artSlave.shoes)
		{
			case "heels":
				result.push("Art_Vector_Revamp_Shoes_Heel");
				break;
			case "extreme heels":
				result.push("Art_Vector_Revamp_Shoes_Exterme_Heel");
				break;
			case "boots":
				result.push("Art_Vector_Revamp_Shoes_Boot");
				break;
			case "flats":
				result.push("Art_Vector_Revamp_Shoes_Flat");
				break;
			default:
				result.push("Art_Vector_Revamp_Feet");
		}

		return result;
	}

	get torsoLayer() {
		var result = [];

		result.push("Art_Vector_Revamp_Torso_" + this.torsoSize);
		result.push("Art_Vector_Revamp_Clavicle");
		if (this.showTorsoHighlight)
		{
			result.push("Art_Vector_Revamp_Torso_Highlights2");
			result.push("Art_Vector_Revamp_Torso_Highlights1");
		}

		if (this.showArmHair && this.leftArmType != "High" && this.artSlave.amp != 1)
		{
			switch(this.artSlave.underArmHStyle)
			{
				case "bushy":
					result.push("Art_Vector_Revamp_Arm_Down_Hair_Bushy");
					break;
				case "neat":
					result.push("Art_Vector_Revamp_Arm_Down_Hair_Neat");
					break;
				default:
			}
		}

		return result;
	}

	get pussyLayer() {
		var result = [];

		if (this.showPussy && this.artSlave.vagina >= 0)
			result.push("Art_Vector_Revamp_Pussy");

		return result;
	}

	get pubicLayer() {
		var result = [];

		if (!this.showPubic)
			return result;

		if (this.artSlave.physicalAge < 12)
			return result;

		if (this.artSlave.vaginaTat == "rude words")
		{
			this.pubicTattooText = this.artSlave.dick != 0 ? "Useless" : "Fucktoy";
			result.push("Art_Vector_Revamp_Pussy_Tattoo");
		}

		switch(this.artSlave.pubicHStyle)
		{
			case "strip":
			case "in a strip":
				result.push("Art_Vector_Revamp_Pubic_Hair_Strip");
				break;
			case "bushy":
			case "bushy in the front and neat in the rear":
			case "very bushy":
				result.push("Art_Vector_Revamp_Pubic_Hair_Bush");
				break;
			case "neat":
				result.push("Art_Vector_Revamp_Pubic_Hair_Neat");
				break;
			case "waxed":
				break;
			default:
		}

		return result;
	}

	get pussyPiercingsLayer() {
		var result = [];

		if (!this.showPussyPiercings)
			return result;

		if (this.artSlave.vaginaPiercing == 1)
			result.push("Art_Vector_Revamp_Pussy_Piercing");
		else if (this.artSlave.vaginaPiercing == 2)
			result.push("Art_Vector_Revamp_Pussy_Piercing_Heavy");

		if (this.artSlave.clitPiercing == 1)
			result.push("Art_Vector_Revamp_Clit_Piercing");
		else if (this.artSlave.clitPiercing == 2)
			result.push("Art_Vector_Revamp_Clit_Piercing_Heavy");
		else if (this.artSlave.clitPiercing == 1)
			result.push("Art_Vector_Revamp_Clit_Piercing_Smart");

		return result;
	}

	get chastityBeltLayer() {
		var result = [];

		var isChastityAnalWorn = this.artSlave.dickAccessory == "anal chastity" || this.artSlave.dickAccessory == "combined chastity" || this.artSlave.vaginalAccessory == "anal chastity" || this.artSlave.vaginalAccessory == "combined chastity";

		isChastityAnalWorn = isChastityAnalWorn && this.showChastityAnal;

		var isChastityVaginalWorn = this.artSlave.vaginalAccessory == "chastity belt" || this.artSlave.vaginalAccessory == "combined chastity";

		isChastityVaginalWorn = isChastityVaginalWorn && this.showChastityVaginal;

		if (isChastityAnalWorn)
			result.push("Art_Vector_Revamp_Chastity_Anus");

		if (isChastityVaginalWorn)
			result.push("Art_Vector_Revamp_Chastity_Vagina");

		if (isChastityAnalWorn || isChastityVaginalWorn)
			result.push("Art_Vector_Revamp_Chastity_Base");

		return result;
	}

	get torsoOutfitLayer() {
		var result = [];

		switch(this.artSlave.clothes)
		{
			case "uncomfortable straps":
				result.push("Art_Vector_Revamp_Torso_Outfit_Straps_" + this.torsoSize);
				break;
			case "a nice maid outfit":
				result.push("Art_Vector_Revamp_Torso_Outfit_Maid_" + this.torsoSize);
				break;
			case "a slutty maid outfit":
				result.push("Art_Vector_Revamp_Torso_Outfit_Maid_Lewd_" + this.torsoSize);
				break;
			default:
		}

		return result;
	}

	get ballsLayer() {
		var result = [];

		if (!this.showBalls || this.artSlave.scrotum <= 0 || this.artSlave.balls <= 0)
			return result;

		var ballsSize = 0;

		if (this.artSlave.scrotum >= 6)
			ballsSize = 4;
		else if (this.artSlave.scrotum >= 4)
			ballsSize = 3;
		else if (this.artSlave.scrotum >= 3)
			ballsSize = 2;
		else if (this.artSlave.scrotum >= 2)
			ballsSize = 1;
		else
			ballsSize = 0;

		result.push("Art_Vector_Revamp_Balls_" + ballsSize);

		return result;
	}

	get bellyLayer() {
		var result = [];

		if (this.bellyLevel > 0)
		{
			result.push("Art_Vector_Revamp_Belly_" + this.bellyLevel);

			if (this.showBellyPiercings)
			{
				if (this.artSlave.navelPiercing >= 1)
					result.push("Art_Vector_Revamp_Belly_" + this.bellyLevel + "_Piercing");

				if (this.artSlave.navelPiercing == 2)
					result.push("Art_Vector_Revamp_Belly_" + this.bellyLevel + "_Piercing_Heavy");
			}
		}
		else
		{
			if (this.showBellyPiercings)
			{
				if (this.artSlave.navelPiercing >= 1)
					result.push("Art_Vector_Revamp_Navel_Piercing");

				if (this.artSlave.navelPiercing == 2)
					result.push("Art_Vector_Revamp_Navel_Piercing_Heavy");
			}
		}

		return result;
	}

	get penisLayer() {
		var result = [];

		if (this.getBellyLevel >= 8)
			return result;

		var penisSize = -1;

		if (this.artSlave.dick >= 8)
			penisSize = 6;
		else if (this.artSlave.dick >= 7)
			penisSize = 5;
		else if (this.artSlave.dick >= 6)
			penisSize = 4;
		else if (this.artSlave.dick >= 5)
			penisSize = 3;
		else if (this.artSlave.dick >= 4)
			penisSize = 2;
		else if (this.artSlave.dick >= 2)
			penisSize = 1;
		else if (this.artSlave.dick >= 1)
			penisSize = 0;
		else
			penisSize = -1;

		if (!this.showPenis || penisSize < 0)
			return result;

		if (canAchieveErection(this.artSlave) && (this.artSlave.dickAccessory != "chastity") && (this.artSlave.dickAccessory != "combined chastity"))
		{
			result.push("Art_Vector_Revamp_Penis_" + penisSize);

			if (!this.showPenisPiercings)
				return result;

			if (this.artSlave.dickPiercing == 1)
				result.push("Art_Vector_Revamp_Penis_" + penisSize + "_Piercing");
			else if (this.artSlave.dickPiercing == 2)
				result.push("Art_Vector_Revamp_Penis_" + penisSize + "_Piercing_Heavy");
		}
		else
		{
			result.push("Art_Vector_Revamp_Flaccid_" + penisSize);

			if ((this.artSlave.dickAccessory == "chastity") || (this.artSlave.dickAccessory == "combined chastity")) {
				result.push("Art_Vector_Revamp_Chastity_Cage_" + penisSize);
			}
		}

		return result;
	}

	get boobLayer() {
		var result = [];

		if (this.artSlave.boobs < 300)
		{
			if (this.showNipples)
			{
				var areolaeShape = "Normal";

				switch(this.artSlave.areolae)
				{
					case 0:
						areolaeShape = "Normal";
						break;
					case 1:
						areolaeShape = "Large";
						break;
					case 2:
						areolaeShape = "Wide";
						break;
					case 3:
						areolaeShape = "Huge";
						break;
					case 4:
						areolaeShape = "Heart";
						break;
					case 5:
						areolaeShape = "Star";
						break;
				}

				result.push("Art_Vector_Revamp_Boob_None_Areola_" + areolaeShape);
			}

		}
		else
		{
			var artScaleFactor = 0.804354*Math.log(0.00577801*this.artSlave.boobs);

			var boobRightArtTranslationX = 270*((-1*artScaleFactor) + 1);
			var boobLeftArtTranslationX = 320*((-1*artScaleFactor) + 1);
			var artTranslationX = -283.841*artScaleFactor+285.349;
			var artTranslationY = 198*((-1*artScaleFactor) + 1);
			var artBoobTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + artTranslationX + "," + artTranslationY + ")";

			this.artTransform = artBoobTransform;

			if (!this.showBoobs)
				return result;

			var size = "Small";

			if (this.artSlave.boobs < 600)
			{
				artScaleFactor = 0.360674*Math.log(0.0266667*this.artSlave.boobs);

				boobRightArtTranslationX = 240*((-1*artScaleFactor) + 1);
				boobLeftArtTranslationX = 300*((-1*artScaleFactor) + 1);
				artTranslationY = 250*((-1*artScaleFactor) + 1);
				size = "Small";
			}
			else if (this.artSlave.boobs < 15000)
			{
				size = "Medium";
			}
			else {
				size = "Huge";
				boobRightArtTranslationX = 252*((-1*artScaleFactor) + 1);
				boobLeftArtTranslationX = 315*((-1*artScaleFactor) + 1);
			}

			this.boobRightArtTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + boobRightArtTranslationX + "," + artTranslationY + ")";
			this.boobLeftArtTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + boobLeftArtTranslationX + "," + artTranslationY + ")";
			result.push("Art_Vector_Revamp_Boob_" + size);

			if (this.showNipples)
			{
				var areolaeShape = "Normal";

				switch(this.artSlave.areolae)
				{
					case 0:
						areolaeShape = "Normal";
						break;
					case 1:
						areolaeShape = "Large";
						break;
					case 2:
						areolaeShape = "Wide";
						break;
					case 3:
						areolaeShape = "Huge";
						break;
					case 4:
						areolaeShape = "Heart";
						break;
					case 5:
						areolaeShape = "Star";
						break;
				}

				result.push("Art_Vector_Revamp_Boob_" + size + "_Areolae_" + areolaeShape);
				result.push("Art_Vector_Revamp_Boob_" + size + "_Nipples");
			}
			if (this.showBoobsHighlight)
			{
				result.push("Art_Vector_Revamp_Boob_" + size + "_Highlights2");
				result.push("Art_Vector_Revamp_Boob_" + size + "_Highlights1");
			}
		}

		return result;
	}

	get boobAddonLayer() {
		var result = [];

		if (this.showNipplesPiercings)
		{
			var size = "Small";

			if (this.artSlave.boobs < 600)
			{
				size = "Small";
			}
			else if (this.artSlave.boobs < 15000)
			{
				size = "Medium";
			}
			else {
				size = "Huge";
			}

			if (this.artSlave.nipplesPiercing == 1)
			{
				if (this.artSlave.boobs < 300)
					result.push("Art_Vector_Revamp_Boob_None_Piercing");
				else
					result.push("Art_Vector_Revamp_Boob_" + size + "_Piercing");
			}
			else if (this.artSlave.nipplesPiercing == 2)
			{
				if (this.artSlave.boobs < 300)
					result.push("Art_Vector_Revamp_Boob_None_Piercing_Heavy");
				else
					result.push("Art_Vector_Revamp_Boob_" + size + "_Piercing_Heavy");
			}

			if (this.artSlave.areolaePiercing == 1)
			{
				if (this.artSlave.boobs < 300)
					result.push("Art_Vector_Revamp_Boob_None_Areola_Piercing");
				else
					result.push("Art_Vector_Revamp_Boob_" + size + "_Areola_Piercing");
			}
			else if (this.artSlave.areolaePiercing == 2)
			{
				if (this.artSlave.boobs < 300)
					result.push("Art_Vector_Revamp_Boob_None_Areola_Piercing_Heavy");
				else
					result.push("Art_Vector_Revamp_Boob_" + size + "_Areola_Piercing_Heavy");
			}
		}

		switch(this.artSlave.clothes)
		{
			case "uncomfortable straps":
				//if (this.artSlave.boobs >= 300)
					//result.push("Art_Vector_Revamp_Boob_Outfit_Straps");
				break;
			case "a nice maid outfit":
				if (this.artSlave.boobs >= 300)
				{
					if (this.artSlave.boobs < 600)
					{
						var artScaleFactor = 0.288539*Math.log(0.106667*this.artSlave.boobs);
						var artTranslationX = 270*((-1*artScaleFactor) + 1);
						var artTranslationY = 198*((-1*artScaleFactor) + 1);//-198.438*artScaleFactor+203.274;
						var artBoobTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + artTranslationX + "," + artTranslationY + ")";

						this.boobOutfitArtTransform = artBoobTransform;

						result.push("Art_Vector_Revamp_Boob_Small_Outfit_Maid");
					}
					else if (this.artSlave.boobs < 15000)
					{
						var artScaleFactor = 0.155334*Math.log(1.04167*this.artSlave.boobs);
						var artTranslationX = 270*((-1.25*artScaleFactor) + 1.25);
						var artTranslationY = 198*((-0.8*artScaleFactor) + 0.8);//-198.438*artScaleFactor+203.274;
						var artBoobTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + artTranslationX + "," + artTranslationY + ")";

						this.boobOutfitArtTransform = artBoobTransform;
						result.push("Art_Vector_Revamp_Boob_Medium_Outfit_Maid");
					}
					else {
						var artScaleFactor = 1.56609*Math.log(0.00017373*this.artSlave.boobs);
						var artTranslationX = 340*((-1*artScaleFactor) + 1);
						var artTranslationY = 153*((-1*artScaleFactor) + 1);//-198.438*artScaleFactor+203.274;
						var artBoobTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + artTranslationX + "," + artTranslationY + ")";

						this.boobOutfitArtTransform = artBoobTransform;
						result.push("Art_Vector_Revamp_Boob_Huge_Outfit_Maid");
					}

				}
				break;

			default:
		}

		return result;
	}

	get clavicleLayer() {
		var result = [];

		result.push("Art_Vector_Revamp_Clavicle");

		return result;
	}

	get collarLayer() {
		var result = [];

		switch(this.artSlave.collar)
		{
			case "leather with cowbell":
				result.push("Art_Vector_Revamp_Collar_Cowbell");
				break;
			case "heavy gold":
				result.push("Art_Vector_Revamp_Collar_Gold_Heavy");
				break;
			case "neck corset":
				result.push("Art_Vector_Revamp_Collar_Neck_Corset");
				break;
			case "pretty jewelry":
				result.push("Art_Vector_Revamp_Collar_Pretty_Jewelry");
				break;
			case "cruel retirement counter":
				result.push("Art_Vector_Revamp_Collar_Retirement_Cruel");
				break;
			case "nice retirement counter":
				result.push("Art_Vector_Revamp_Collar_Retirement_Nice");
				break;
			case "satin choker":
				result.push("Art_Vector_Revamp_Collar_Satin_Choker");
				break;
			case "shock punishment":
				result.push("Art_Vector_Revamp_Collar_Shock_Punishment");
				break;
			case "stylish leather":
				result.push("Art_Vector_Revamp_Collar_Stylish_Leather");
				break;
			case "tight steel":
				result.push("Art_Vector_Revamp_Collar_Tight_Steel");
				break;
			default:
		}

		return result;
	}

	get headLayer() {
		var result = [];

		result.push("Art_Vector_Revamp_Head");

		if (this.showHeadHighlight)
			result.push("Art_Vector_Revamp_Face_Highlights");

		if (!this.showHeadPiercings)
			return result;

		if (this.artSlave.earPiercing == 1)
			result.push("Art_Vector_Revamp_Head_Ear_Piercing");
		else if (this.artSlave.earPiercing == 2)
			result.push("Art_Vector_Revamp_Head_Ear_Piercing_Heavy");

		if (this.artSlave.nosePiercing == 1)
			result.push("Art_Vector_Revamp_Head_Nose_Piercing");
		else if (this.artSlave.nosePiercing == 2)
			result.push("Art_Vector_Revamp_Head_Nose_Piercing_Heavy");

		return result;
	}

	get eyesLayer() {
		var result = [];

		if (!this.showEyes)
			return result;

		if (this.artSlave.devotion > 50)
		{
			result.push("Art_Vector_Revamp_Eyes_Happy");
			result.push("Art_Vector_Revamp_Eyes_Happy_Highlights");

			if (this.showHeadPiercings)
			{
				if (this.artSlave.eyebrowPiercing == 1)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Happy_Piercing");
				else if (this.artSlave.eyebrowPiercing == 2)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Happy_Piercing_Heavy");
			}
		}
		else if (this.artSlave.devotion >= 0)
		{
			result.push("Art_Vector_Revamp_Eyes_Shy");
			result.push("Art_Vector_Revamp_Eyes_Shy_Highlights");

			if (this.showHeadPiercings)
			{
				if (this.artSlave.eyebrowPiercing == 1)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Shy_Piercing");
				else if (this.artSlave.eyebrowPiercing == 2)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Shy_Piercing_Heavy");
			}
		}
		else if (this.artSlave.devotion >= -50)
		{
			result.push("Art_Vector_Revamp_Eyes_Closed");

			if (this.showHeadPiercings)
			{
				if (this.artSlave.eyebrowPiercing == 1)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Closed_Piercing");
				else if (this.artSlave.eyebrowPiercing == 2)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Closed_Piercing_Heavy");
			}
		}
		else
		{
			result.push("Art_Vector_Revamp_Eyes_Angry");
			result.push("Art_Vector_Revamp_Eyes_Angry_Highlights");
			if (this.showHeadPiercings)
			{
				if (this.artSlave.eyebrowPiercing == 1)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Angry_Piercing");
				else if (this.artSlave.eyebrowPiercing == 2)
					result.push("Art_Vector_Revamp_Head_Eyebrow_Angry_Piercing_Heavy");
			}
		}

		return result;
	}

	get mouthLayer() {
		var result = [];
		var lipsSize = "Normal";

		if (!this.showMouth)
			return result;

		if (this.artSlave.lips > 95)
			lipsSize = "Enormous";
		else if (this.artSlave.lips > 70)
			lipsSize = "Huge";
		else if (this.artSlave.lips > 50)
			lipsSize = "Big";
		else if (this.artSlave.lips > 30)
			lipsSize = "Plush";
		else if (this.artSlave.lips > 10)
			lipsSize = "Normal";
		else
			lipsSize = "Thin";

		if (this.artSlave.trust > 20)
		{
			result.push("Art_Vector_Revamp_Makeup_Mouth_Happy_" + lipsSize);
			result.push("Art_Vector_Revamp_Mouth_Happy_" + lipsSize);

			if (this.showHeadPiercings)
			{
				if (this.artSlave.lipsPiercing == 1)
					result.push("Art_Vector_Revamp_Head_Mouth_Happy_Piercing");
				else if (this.artSlave.lipsPiercing == 2)
					result.push("Art_Vector_Revamp_Head_Mouth_Happy_Piercing_Heavy");
			}
		}
		else
		{
			result.push("Art_Vector_Revamp_Makeup_Mouth_Angry_" + lipsSize);
			result.push("Art_Vector_Revamp_Mouth_Angry_" + lipsSize);

			if (this.showHeadPiercings)
			{
				if (this.artSlave.lipsPiercing == 1)
					result.push("Art_Vector_Revamp_Head_Mouth_Angry_Piercing");
				else if (this.artSlave.lipsPiercing == 2)
					result.push("Art_Vector_Revamp_Head_Mouth_Angry_Piercing_Heavy");
			}
		}

		return result;
	}

	get headAddonLayer() {
		var result = [];

		if (this.showEyes) {
			switch(this.artSlave.eyewear)
			{
				case "corrective glasses":
				case "glasses":
				case "blurring glasses":
					result.push("Art_Vector_Revamp_Glasses");
					break;
				default:
			}
		}

		if (this.showMouth)
		{
			switch(this.artSlave.collar)
			{
				case "dildo gag":
					result.push("Art_Vector_Revamp_Dildo_Gag");
					break;
				case "bit gag":
					result.push("Art_Vector_Revamp_Bit_Gag");
					break;
				case "ball gag":
					result.push("Art_Vector_Revamp_Ball_Gag");
					break;
				default:

			}
		}
		return result;
	}

	get hairForeLayer() {
		var result = [];

		if (!this.showHair)
			return result;

		if (this.artSlave.hLength == 0)
			return result;

		switch(this.artSlave.hStyle)
		{
			case "neat":
				result.push("Art_Vector_Revamp_Hair_Fore_Neat");
				break;
			case "bun":
			case "up":
			case "tails":
			case "ponytail":
				result.push("Art_Vector_Revamp_Hair_Fore_Bun");
				break;
			case "braided":
				result.push("Art_Vector_Revamp_Hair_Fore_Braids");
				break;
			case "curled":
				result.push("Art_Vector_Revamp_Hair_Fore_Curled");
				break;
			case "cornrows":
				result.push("Art_Vector_Revamp_Hair_Fore_Cornrows");
				break;
			case "strip":
				result.push("Art_Vector_Revamp_Hair_Fore_Shaved_Sides");
				break;
			case "luxurious":
				result.push("Art_Vector_Revamp_Hair_Fore_Luxurious");
				break;
			case "afro":
				result.push("Art_Vector_Revamp_Hair_Fore_Afro");
				break;
			case "permed":
				result.push("Art_Vector_Revamp_Hair_Fore_Permed");
				break;
			case "dreadlocks":
				result.push("Art_Vector_Revamp_Hair_Fore_Dreadlocks");
				break;
			default:
				result.push("Art_Vector_Revamp_Hair_Fore_Messy");
		}

		return result;
	}

	get StylesCss() {
		return this.styleControl.StylesCss;
	}

	get Layers() {
		var layers = [];

		Array.prototype.push.apply(layers, this.hairBackLayer);
		Array.prototype.push.apply(layers, this.armLayer);
		Array.prototype.push.apply(layers, this.buttLayer);
		Array.prototype.push.apply(layers, this.legLayer);
		Array.prototype.push.apply(layers, this.feetLayer);
		Array.prototype.push.apply(layers, this.torsoLayer);
		Array.prototype.push.apply(layers, this.clavicleLayer);
		Array.prototype.push.apply(layers, this.pussyLayer);
		Array.prototype.push.apply(layers, this.pubicLayer);
		Array.prototype.push.apply(layers, this.pussyPiercingsLayer);
		Array.prototype.push.apply(layers, this.chastityBeltLayer);
		Array.prototype.push.apply(layers, this.torsoOutfitLayer);
		Array.prototype.push.apply(layers, this.ballsLayer);
		Array.prototype.push.apply(layers, this.bellyLayer);
		Array.prototype.push.apply(layers, this.penisLayer);
		Array.prototype.push.apply(layers, this.boobLayer);
		Array.prototype.push.apply(layers, this.boobAddonLayer);
		Array.prototype.push.apply(layers, this.collarLayer);
		Array.prototype.push.apply(layers, this.headLayer);
		Array.prototype.push.apply(layers, this.eyesLayer);
		Array.prototype.push.apply(layers, this.mouthLayer);
		Array.prototype.push.apply(layers, this.headAddonLayer);
		Array.prototype.push.apply(layers, this.hairForeLayer);

		return layers;
	}
}

window.getVectorArtRevampedControl = function(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods) {
	return new RevampedArtControl(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods);
};


code:
:: PCCheatMenu [nobr]

<<set $showEncyclopedia = 0, $nextButton = "Apply", $nextLink = "PCCheatMenuCheatDatatypeCleanup">>
<<set $tempSlave = clone($PC)>>

''Cheat Editing Player Character'' <<link "[Cancel]" "Manage Personal Affairs">><<unset $tempSlave, $customEvalCode>><</link>>

Title: ''<<if $tempSlave.title == 0>>Master<<else>>Mistress<</if>>''

<<radiobutton "$tempSlave.title" 0>> Master
	<<radiobutton "$tempSlave.title" 1>> Mistress

''Name'': <<textbox "$tempSlave.name" $tempSlave.name>>

''Surname'': <<textbox "$tempSlave.surname" $tempSlave.surname>>

''Custom Title'': <<textbox "$tempSlave.customTitle" $tempSlave.customTitle>>

Nationality: ''$tempSlave.nationality''.
<<textbox "$tempSlave.nationality" $tempSlave.nationality>>

Career: ''$tempSlave.career''.

<<radiobutton "$tempSlave.career" "wealth">> Wealth
	<<radiobutton "$tempSlave.career" "capitalist">> Capitalist
	<<radiobutton "$tempSlave.career" "mercenary">> Mercenary
	<<radiobutton "$tempSlave.career" "slaver">> Slaver
	<<radiobutton "$tempSlave.career" "engineer">> Engineer
	<<radiobutton "$tempSlave.career" "medicine">> Medicine
	<<radiobutton "$tempSlave.career" "celebrity">> Celebrity

Method of acquiring the arcology: ''$tempSlave.rumor''.

<<radiobutton "$tempSlave.rumor" "wealth">> Wealth
	<<radiobutton "$tempSlave.rumor" "diligence">> Diligence
	<<radiobutton "$tempSlave.rumor" "force">> Force
	<<radiobutton "$tempSlave.rumor" "social engineering">> Social Engineering
	<<radiobutton "$tempSlave.rumor" "luck">> Luck

Preferred refreshment: <<textbox "$tempSlave.refreshment" $tempSlave.refreshment>>

<<radiobutton "$tempSlave.refreshment" "cigar">> Cigar
	<<radiobutton "$tempSlave.refreshment" "whiskey">> Whiskey

Preferred method of consumption: <<if $tempSlave.refreshmentType == 0>>Smoked<<elseif $tempSlave.refreshmentType == 1>>Drank<<elseif $tempSlave.refreshmentType == 2>>Eaten<<elseif $tempSlave.refreshmentType == 3>>Snorted<<elseif $tempSlave.refreshmentType == 4>>Injected<<elseif $tempSlave.refreshmentType == 5>>Popped<<else>>Orally Dissolved<</if>>

<<radiobutton "$tempSlave.refreshmentType" 0>> Smoked
	<<radiobutton "$tempSlave.refreshmentType" 1>> Drank
	<<radiobutton "$tempSlave.refreshmentType" 2>> Eaten
	<<radiobutton "$tempSlave.refreshmentType" 3>> Snorted
	<<radiobutton "$tempSlave.refreshmentType" 4>> Injected
	<<radiobutton "$tempSlave.refreshmentType" 5>> Popped
	<<radiobutton "$tempSlave.refreshmentType" 6>> Orally Dissolved

''Boobs'': <<textbox "$tempSlave.boobs" $tempSlave.boobs>> //0: masculine chest (if title = 1) or flat chested (if title = 0)(WIP) 1: feminine bust//
<<if $tempSlave.boobs > 0>>

''BoobsBonus'': <<textbox "$tempSlave.boobsBonus" $tempSlave.boobsBonus>> //breast size - -3: B-cup, -2: C-cup, -1: D-cup, 0: DD-cup, 1: F-cup, 2: G-cup, 3: H-cup//

''BoobsImplant'': <<textbox "$tempSlave.boobsImplant" $tempSlave.boobsImplant>> //do you have breast implants - 0: no, 1: yes//
<</if>>

''Skin'': <<textbox "$tempSlave.skin" $tempSlave.skin>>

''Genetic Skin'': <<textbox "$tempSlave.origSkin" $tempSlave.origSkin>>

''Race'': <<textbox "$tempSlave.race" $tempSlave.race>>

''Genetic Race'': <<textbox "$tempSlave.origRace" $tempSlave.origRace>>

''Eye Color'': <<textbox "$tempSlave.eyeColor" $tempSlave.eyeColor>>

''Genetic Eye Color'': <<textbox "$tempSlave.origEye" $tempSlave.origEye>>

''Pupil Shape'': <<textbox "$tempSlave.pupil" $tempSlave.pupil>>

''Sclera Color'': <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>

''Hair Color'': <<textbox "$tempSlave.hColor" $tempSlave.hColor>>

''Genetic Hair Color'': <<textbox "$tempSlave.origHColor" $tempSlave.origHColor>>

''Butt Size'': <<textbox "$tempSlave.butt" $tempSlave.butt>> //0: normal, 1: big, 2: huge, 3: enormous//

''Butt Implant'': <<textbox "$tempSlave.buttImplant" $tempSlave.buttImplant>> //do you have butt implants - 0: no, 1: yes//

''Dick'': <<textbox "$tempSlave.dick" $tempSlave.dick>>

''Vagina'': <<textbox "$tempSlave.vagina" $tempSlave.vagina>>
<<if $tempSlave.dick == 1>>

''BallSize'': <<textbox "$tempSlave.balls" $tempSlave.balls>> //0 - normal 1 - big 2 - huge//

''BallsImplant'': <<textbox "$tempSlave.ballsImplant" $tempSlave.ballsImplant>> //0: normal, 1: large, 2: huge, 3: enormous, 4: monstrous//
<</if>>

__Age__

''Actual Age'': <<textbox "$tempSlave.actualAge" $tempSlave.actualAge>>

''Physical Age'': <<textbox "$tempSlave.physicalAge" $tempSlave.physicalAge>>

''Visual Age'': <<textbox "$tempSlave.visualAge" $tempSlave.visualAge>>

''Ovary Age'': <<textbox "$tempSlave.ovaryAge" $tempSlave.ovaryAge>>

''Age Implant'': <<textbox "$tempSlave.ageImplant" $tempSlave.ageImplant>> //0: no surgery, 1: age altering surgery//

''Player Aging'': <<textbox "$playerAging" $playerAging>> //0: no aging, 1: no aging, but birthdays, 2: aging//

<<if $tempSlave.vagina == 1>>

	__pregnancy__

''Pregnancy length'': <<textbox "$tempSlave.preg" $tempSlave.preg>> //how far along the your pregnancy is (pregMood kicks in at 24+ weeks) - -2: infertile, -1: contraceptives, 0: not pregnant, 1 - 42: pregnant, 43+: giving birth//

''Fetus Count'': <<textbox "$tempSlave.pregType" $tempSlave.pregType>> //how many you're having (1-8)//

''PregSource'': <<textbox "$tempSlave.pregSource" $tempSlave.pregSource>> //who knocked you up - 0: unknown, -1: Societal Elite, -2: client, -3: former master, -4: male arc owner, -5: citizen, -6: self-impreg//

''PregMood'': <<textbox "$tempSlave.pregMood" $tempSlave.pregMood>> //how you act when heavily pregnant - 0: no change, 1: submissive and motherly, 2: aggressive and dominant//
<</if>>

''Skills:''

Trading:
''<<if $tempSlave.trading >= 100>>
	You are a master at economics and trading.
<<elseif $tempSlave.trading >= 80>>
	You are an expert at economics and trading.
<<elseif $tempSlave.trading >= 60>>
	You are skilled in economics and trading.
<<elseif $tempSlave.trading >= 40>>
	You know some things about economics and trading.
<<elseif $tempSlave.trading >= 20>>
	You are a beginner in economics.
<<elseif $tempSlave.trading >= 0>>
	You know only the basics of trading.
<<elseif $tempSlave.trading >= -20>>
	You know how to haggle a little.
<<elseif $tempSlave.trading >= -40>>
	You know how to shop around.
<<elseif $tempSlave.trading >= -60>>
	You know not to pay sticker price.
<<elseif $tempSlave.trading >= -80>>
	People always give you discounts, but you never save any money.
<<else>>
	They said it was a bear market, so where are the bears?
<</if>>''

<<radiobutton "$tempSlave.trading" 100>> Economics master
<<radiobutton "$tempSlave.trading" 90>> Economics expert
<<radiobutton "$tempSlave.trading" 70>> Skilled in economics
<<radiobutton "$tempSlave.trading" 50>> Amateur economist
<<radiobutton "$tempSlave.trading" 30>> Economics beginner
<<radiobutton "$tempSlave.trading" 0>> Basic trader
<<radiobutton "$tempSlave.trading" -10>> Haggler
<<radiobutton "$tempSlave.trading" -30>> Shopper
<<radiobutton "$tempSlave.trading" -50>> Weak saver
<<radiobutton "$tempSlave.trading" -70>> Money sieve
<<radiobutton "$tempSlave.trading" -90>> What's a trading?

Warfare:
''<<if $tempSlave.warfare >= 100>>
	You are a master of warfare.
<<elseif $tempSlave.warfare >= 80>>
	You are an expert at tactics and strategy.
<<elseif $tempSlave.warfare >= 60>>
	You are skilled in combat.
<<elseif $tempSlave.warfare >= 40>>
	You know some things about combat.
<<elseif $tempSlave.warfare >= 20>>
	You are a beginner in tactics and strategy.
<<elseif $tempSlave.warfare >= 0>>
	You know only the basics of fighting.
<<elseif $tempSlave.warfare >= -20>>
	You know how to hold a gun.
<<elseif $tempSlave.warfare >= -40>>
	You know how to stab with a knife.
<<elseif $tempSlave.warfare >= -60>>
	Go for the throat?
<<elseif $tempSlave.warfare >= -80>>
	Just kick them in the balls, right?
<<else>>
	People like you are usually the first raped in a war.
<</if>>''

<<radiobutton "$tempSlave.warfare" 100>> Warfare master
<<radiobutton "$tempSlave.warfare" 90>> Warfare expert
<<radiobutton "$tempSlave.warfare" 70>> Skilled in warfare
<<radiobutton "$tempSlave.warfare" 50>> Amateur combatant
<<radiobutton "$tempSlave.warfare" 30>> Combat beginner
<<radiobutton "$tempSlave.warfare" 0>> Basic fighter
<<radiobutton "$tempSlave.warfare" -10>> Gun haver
<<radiobutton "$tempSlave.warfare" -30>> Knife holder
<<radiobutton "$tempSlave.warfare" -50>> Throat puncher
<<radiobutton "$tempSlave.warfare" -70>> Groin kicker?
<<radiobutton "$tempSlave.warfare" -90>> Most likely to be raped

Slaving:
''<<if $tempSlave.slaving >= 100>>
	You are a master slaver.
<<elseif $tempSlave.slaving >= 80>>
	You are an expert at enslaving.
<<elseif $tempSlave.slaving >= 60>>
	You are skilled in slaving.
<<elseif $tempSlave.slaving >= 40>>
	You know some things about getting slaves.
<<elseif $tempSlave.slaving >= 20>>
	You are a beginner in slaving.
<<elseif $tempSlave.slaving >= 0>>
	You know only the basics of slaving.
<<elseif $tempSlave.slaving >= -20>>
	You know how to avoid becoming a slave.
<<elseif $tempSlave.slaving >= -40>>
	You know to read contracts before you sign them.
<<elseif $tempSlave.slaving >= -60>>
	You know to be careful.
<<elseif $tempSlave.slaving >= -80>>
	You know better than to trust anyone.
<<else>>
	It would be easy to enslave you.
<</if>>''

<<radiobutton "$tempSlave.slaving" 100>> Master slaver
<<radiobutton "$tempSlave.slaving" 90>> Expert slaver
<<radiobutton "$tempSlave.slaving" 70>> Skilled in slaving
<<radiobutton "$tempSlave.slaving" 50>> Amateur slaver
<<radiobutton "$tempSlave.slaving" 30>> Slaving beginner
<<radiobutton "$tempSlave.slaving" 0>> Basic slaver
<<radiobutton "$tempSlave.slaving" -10>> Can't make me a slave
<<radiobutton "$tempSlave.slaving" -30>> Can read contracts
<<radiobutton "$tempSlave.slaving" -50>> Careful now
<<radiobutton "$tempSlave.slaving" -70>> Don't trust that guy
<<radiobutton "$tempSlave.slaving" -90>> Potential slave

Engineering:
''<<if $tempSlave.engineering >= 100>>
	You are a master engineer.
<<elseif $tempSlave.engineering >= 80>>
	You are an expert at engineering.
<<elseif $tempSlave.engineering >= 60>>
	You are skilled in engineering.
<<elseif $tempSlave.engineering >= 40>>
	You know some things about engineering.
<<elseif $tempSlave.engineering >= 20>>
	You are a beginner in engineering.
<<elseif $tempSlave.engineering >= 0>>
	You know only the basics of engineering.
<<elseif $tempSlave.engineering >= -20>>
	You can build a gingerbread house that doesn't collapse.
<<elseif $tempSlave.engineering >= -40>>
	You can tie a tight knot, does that count?
<<elseif $tempSlave.engineering >= -60>>
	Glue is your friend; lots of it.
<<elseif $tempSlave.engineering >= -80>>
	You know better than to even try to build something.
<<else>>
	You can cook; that's sort of like building something, right?
<</if>>''

<<radiobutton "$tempSlave.engineering" 100>> Master engineer
<<radiobutton "$tempSlave.engineering" 90>> Expert engineer
<<radiobutton "$tempSlave.engineering" 70>> Skilled in engineering
<<radiobutton "$tempSlave.engineering" 50>> Amateur engineer
<<radiobutton "$tempSlave.engineering" 30>> Engineering beginner
<<radiobutton "$tempSlave.engineering" 0>> Basic engineer
<<radiobutton "$tempSlave.engineering" -10>> Gingerbread house
<<radiobutton "$tempSlave.engineering" -30>> Knot tyer
<<radiobutton "$tempSlave.engineering" -50>> You can use glue
<<radiobutton "$tempSlave.engineering" -70>> You aren't handy
<<radiobutton "$tempSlave.engineering" -90>> My hovercraft is full of eels

Medicine:
''<<if $tempSlave.medicine >= 100>>
	You are a master surgeon.
<<elseif $tempSlave.medicine >= 80>>
	You are an expert at medicine and surgery.
<<elseif $tempSlave.medicine >= 60>>
	You are skilled in surgery.
<<elseif $tempSlave.medicine >= 40>>
	You know some things about medicine.
<<elseif $tempSlave.medicine >= 20>>
	You are a beginner in medicine.
<<elseif $tempSlave.medicine >= 0>>
	You know the basics of treating injuries.
<<elseif $tempSlave.medicine >= -20>>
	You can stop a wound from getting infected.
<<elseif $tempSlave.medicine >= -40>>
	Gauze is your friend. Just keep wrapping.
<<elseif $tempSlave.medicine >= -60>>
	You know how to apply a bandaid.
<<elseif $tempSlave.medicine >= -80>>
	Cure-alls are wonderful. Why aren't they sold in stores, though?
<<else>>
	Alcohol makes pain go away, right?
<</if>>''

<<radiobutton "$tempSlave.medicine" 100>> Master surgeon
<<radiobutton "$tempSlave.medicine" 90>> Expert surgeon
<<radiobutton "$tempSlave.medicine" 70>> Skilled in medicine
<<radiobutton "$tempSlave.medicine" 50>> Amateur surgeon
<<radiobutton "$tempSlave.medicine" 30>> Medical beginner
<<radiobutton "$tempSlave.medicine" 0>> Basic medic
<<radiobutton "$tempSlave.medicine" -10>> Can treat wounds
<<radiobutton "$tempSlave.medicine" -30>> First-aid kit user
<<radiobutton "$tempSlave.medicine" -50>> Band-aid applyer
<<radiobutton "$tempSlave.medicine" -70>> MEDIC!
<<radiobutton "$tempSlave.medicine" -90>> Give me another beer

Hacking:
''<<if $tempSlave.hacking >= 100>>
	You are a master of hacking.
<<elseif $tempSlave.hacking >= 80>>
	You are an expert at hacking.
<<elseif $tempSlave.hacking >= 60>>
	You are skilled in hacking.
<<elseif $tempSlave.hacking >= 40>>
	You know some things about hacking.
<<elseif $tempSlave.hacking >= 20>>
	You are a beginner in hacking.
<<elseif $tempSlave.hacking >= 0>>
	You know only the basics of hacking.
<<elseif $tempSlave.hacking >= -20>>
	You know how to click a mouse.
<<elseif $tempSlave.hacking >= -40>>
	Enter does something?
<<elseif $tempSlave.hacking >= -60>>
	Where is the "any" key?
<<elseif $tempSlave.hacking >= -80>>
	You can push the power button, good job.
<<else>>
	This black box thingy is magical.
<</if>>''

<<radiobutton "$tempSlave.hacking" 100>> Master hacker
<<radiobutton "$tempSlave.hacking" 90>> Expert hacker
<<radiobutton "$tempSlave.hacking" 70>> Skilled hacker
<<radiobutton "$tempSlave.hacking" 50>> Amateur hacker
<<radiobutton "$tempSlave.hacking" 30>> Hacking beginner
<<radiobutton "$tempSlave.hacking" 0>> Basic hacker
<<radiobutton "$tempSlave.hacking" -10>> Mouse clicker
<<radiobutton "$tempSlave.hacking" -30>> You can press Enter
<<radiobutton "$tempSlave.hacking" -50>> Where's the "any" key?
<<radiobutton "$tempSlave.hacking" -70>> Main screen turn on?
<<radiobutton "$tempSlave.hacking" -90>> Ooh, cool glowy thingy!

Your mother ID:
<<textbox "$tempSlave.mother" $tempSlave.mother>>

Your father ID:
<<textbox "$tempSlave.father" $tempSlave.father>>

Custom Cheat:

<<textarea "$customEvalCode" "">>

//Any JavaScript function will be automatically run using the PC as an argument when "Apply" is clicked. For example, entering "(PC) => PC.name = 'Fancy Name' " will change your name to "Fancy Name".//


code:
:: PCCheatMenuCheatDatatypeCleanup [nobr]

<<set $nextButton = "Continue", $nextLink = "Manage Personal Affairs">>
/* Cancel Option Check */
<<if $tempSlave == "unset">>
	<<unset $tempSlave>>
	<<goto "Manage Personal Affairs">>
<</if>>

<<if $customEvalCode>>
	<<if $customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */
		<<set $customEvalCode = "(" + $customEvalCode + ")">>
	<</if>>
	<<if typeof eval($customEvalCode) === "function">>
		<<run (eval($customEvalCode))($tempSlave)>>
	<</if>>
<</if>>
<<unset $customEvalCode>>

<<set $tempSlave.preg = Number($tempSlave.preg) || 0>>
<<set $tempSlave.pregSource = Number($tempSlave.pregSource) || 0>>
<<set $tempSlave.pregType = Number($tempSlave.pregType) || 0>>
<<set $tempSlave.pregMood = Number($tempSlave.pregMood) || 0>>
<<set WombInit($tempSlave)>> /* just to make sure */
<<set $tempSlave.womb.length = 0>> /* simple way to delete all fetuses */
<<set WombImpregnate($tempSlave, $tempSlave.pregType, $tempSlave.pregSource, $tempSlave.preg)>> /* recreates fetuses */
<<if $tempSlave.preg > 0>>
	<<set $tempSlave.belly = WombGetVolume($tempSlave)>>
	<<set $tempSlave.pregWeek = $tempSlave.preg>>
<<else>>
	<<set $tempSlave.belly = 0>>
	<<set $tempSlave.pregWeek = 0>>
<</if>>
<<set $tempSlave.pregMood = Number($tempSlave.pregMood) || 0>>
<<set $tempSlave.boobs = ($tempSlave.boobs == 0 ? 0 : 1)>>
<<if $tempSlave.boobs == 0>>
	<<set $tempSlave.boobsBonus = 0>>
	<<set $tempSlave.boobsImplant = 0>>
<<else>>
	<<set $tempSlave.boobsBonus = Number($tempSlave.boobsBonus) || 0>>
	<<set $tempSlave.boobsImplant = Number($tempSlave.boobsImplant) || 0>>
<</if>>
<<set $tempSlave.butt = Number($tempSlave.butt) || 0>>
<<if $tempSlave.butt == 0>>
	<<set $tempSlave.buttImplant = 0>>
<<else>>
	<<set $tempSlave.buttImplant = ($tempSlave.buttImplant == 0 ? 0 : 1)>>
<</if>>
<<set $tempSlave.dick = ($tempSlave.dick == 0 ? 0 : 1)>>
<<set $tempSlave.vagina = ($tempSlave.vagina == 0 ? 0 : 1)>>
<<if $tempSlave.dick == 1>>
	<<set $tempSlave.balls = Number($tempSlave.balls) || 0>>
	<<set $tempSlave.ballsImplant = Number($tempSlave.ballsImplant) || 0>>
<<else>>
	<<set $tempSlave.balls = 0>>
	<<set $tempSlave.ballsImplant = 0>>
<</if>>

<<set $tempSlave.ageImplant = Number($tempSlave.ageImplant) || 0>>
<<set $playerAging = Number($playerAging) || 0>>
<<set $tempSlave.ageImplant = Number($tempSlave.ageImplant) || 0>>
<<set $tempSlave.physicalAge = Number($tempSlave.physicalAge) || 14>>
<<set $tempSlave.visualAge = Number($tempSlave.visualAge) || 14>>
<<set $tempSlave.actualAge = Number($tempSlave.actualAge) || 14>>
<<set $tempSlave.ovaryAge = Number($tempSlave.ovaryAge) || 14>>
<<set $tempSlave.mother = Number($tempSlave.mother) || 0>>
<<set $tempSlave.father = Number($tempSlave.father) || 0>>

You perform the dark rituals, pray to the dark gods and sold your soul for the power to reshape your body and life at will. What a cheater!

<<set $PC = clone($tempSlave)>>
<<unset $tempSlave>>


code:
:: MOD_Edit Arcology Cheat [nobr]

<<set $nextButton = "Continue", $nextLink = "MOD_Edit Arcology Cheat Datatype Cleanup">>
<<set $PC.actualAge = Math.clamp($PC.actualAge, 14, 80)>>

''Cheating Edit Arcology''

<<if ($economy != 1) || ($seeDicks != 25) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($plot != 1)>>
	//[[restore defaults|MOD_Edit Arcology Cheat][$seeDicks = 25,$economy = 1,$continent = "North America",$internationalTrade = 1,$internationalVariety = 1,$seeRace = 1,$seeNationality = 1,$seeExtreme = 0,$plot = 1]]//
<</if>>

The world economy is
<<if $economy == 1>>
	in ''doubtful'' shape.
	[[Easier|MOD_Edit Arcology Cheat][$economy = 0.5]] | [[Harder|MOD_Edit Arcology Cheat][$economy = 1.5]]
<<elseif $economy < 1>>
	still in ''good'' shape.
	[[Harder|MOD_Edit Arcology Cheat][$economy = 1]]
<<else>>
	in ''terrible'' shape.
	[[Easier|MOD_Edit Arcology Cheat][$economy = 1]]
<</if>>

<<set $drugsCost = Math.trunc(100*$economy)>>
<<set $rulesCost = Math.trunc(100*$economy)>>
<<set $modCost = Math.trunc(50*$economy)>>
<<set $surgeryCost = Math.trunc(300*$economy)>>

The arcology is located in ''$continent''.
[[North America|MOD_Edit Arcology Cheat][$continent = "North America", $language = "English"]] | [[South America|MOD_Edit Arcology Cheat][$continent = "South America", $language = "Spanish"]] | [[Europe|MOD_Edit Arcology Cheat][$continent = "Europe", $language = "English"]] | [[the Middle East|MOD_Edit Arcology Cheat][$continent = "the Middle East", $language = "Arabic"]] | [[Africa|MOD_Edit Arcology Cheat][$continent = "Africa", $language = "Arabic"]] | [[Asia|MOD_Edit Arcology Cheat][$continent = "Asia", $language = "Chinese"]] | [[Australia|MOD_Edit Arcology Cheat][$continent = "Australia", $language = "English"]] | [[Japan|MOD_Edit Arcology Cheat][$continent = "Japan", $language = "Japanese"]]

The lingua franca of the arcology is ''$language''.
<<if $language != "English">>
	[[English|MOD_Edit Arcology Cheat][$language = "English"]] |
<<else>>
	English |
<</if>>
<<if $language != "Spanish">>
	[[Spanish|MOD_Edit Arcology Cheat][$language = "Spanish"]] |
<<else>>
	Spanish |
<</if>>
<<if $language != "Arabic">>
	[[Arabic|MOD_Edit Arcology Cheat][$language = "Arabic"]] |
<<else>>
	Arabic |
<</if>>
<<if $language != "Chinese">>
	[[Chinese|MOD_Edit Arcology Cheat][$language = "Chinese"]] |
<<else>>
	Chinese |
<</if>>
Custom: <<textbox "$language" $language "MOD_Edit Arcology Cheat">>

The slave trade is
<<if $internationalTrade == 0>>
	''continental,'' so a narrower variety of slaves will be available.
	[[Allow intercontinental trade|MOD_Edit Arcology Cheat][$internationalTrade = 1]]
<<else>>
	''international,'' so a wider variety of slaves will be available.
	[[Restrict the trade to continental|MOD_Edit Arcology Cheat][$internationalTrade = 0]]
<</if>>

<<if $internationalTrade == 1>>
International slave variety is
<<if $internationalVariety == 0>>
	''semi-realistic,'' so more populous nations will be more common.
	[[Normalized national variety|MOD_Edit Arcology Cheat][$internationalVariety = 1]]
<<else>>
	''normalized,'' so small nations will appear nearly as much as large ones.
	[[Semi-realistic national variety|MOD_Edit Arcology Cheat][$internationalVariety = 0]]
<</if>>
<</if>>

Ethnicity will
<<if $seeRace == 1>>
	''occasionally'' be mentioned.
	[[Disable most mentions of race|MOD_Edit Arcology Cheat][$seeRace = 0]]
<<else>>
	''almost never'' be mentioned.
	[[Enable mentions of race|MOD_Edit Arcology Cheat][$seeRace = 1]]
<</if>>

Nationality will
<<if $seeNationality == 1>>
	''occasionally'' be mentioned.
	[[Disable most mentions of nationality|MOD_Edit Arcology Cheat][$seeNationality = 0]]
<<else>>
	''almost never'' be mentioned.
	[[Enable mentions of nationality|MOD_Edit Arcology Cheat][$seeNationality = 1]]
<</if>>

Extreme content like amputation is
<<if $seeExtreme == 1>>
	''enabled''.
	[[Disable|MOD_Edit Arcology Cheat][$seeExtreme = 0]]
<<else>>
	''disabled''.
	[[Enable|MOD_Edit Arcology Cheat][$seeExtreme = 1]]
<</if>>

Slave assets affected by weight is
<<if ($weightAffectsAssets != 0)>>
	''enabled''. [[Disable|MOD_Edit Arcology Cheat][$weightAffectsAssets = 0]]
<<else>>
	''disabled''. [[Enable|MOD_Edit Arcology Cheat][$weightAffectsAssets = 1]]
<</if>>
//If enabled, thin slaves will have large assets drop in size and vice versa at week end. (Diet still affects asset sizes).//

Curative side effects are
<<if ($curativeSideEffects != 0)>>
	''enabled''. [[Disable|MOD_Edit Arcology Cheat][$curativeSideEffects = 0]]
<<else>>
	''disabled''. [[Enable|MOD_Edit Arcology Cheat][$curativeSideEffects = 1]]
<</if>>
//If enabled, curatives have a chance to give slaves harmful side effects.//

Slave girls will
<<if $seeDicks >= 90>>
	''almost always'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks = 0]]
	| [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks = 25]]
	| [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks = 50]]
	| [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks = 75]]
<<elseif $seeDicks > 50>>
	''more likely than not'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks = 0]]
	| [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks = 25]]
	| [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks = 50]]
	| [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks = 100]]
<<elseif $seeDicks > 25>>
	''occasionally'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks = 0]]
	| [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks = 25]]
	| [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks = 75]]
	| [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks = 100]]
<<elseif $seeDicks > 0>>
	''rarely'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks = 0]]
	| [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks = 50]]
	| [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks = 75]]
	| [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks = 100]]
<<else>>
	''almost never'' have dicks.
	[[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks = 25]]
	| [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks = 50]]
	| [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks = 75]]
	| [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks = 100]]
<</if>>

    Go your own dick way:
<<textbox "$seeDicks" $seeDicks>>
[[Apply|MOD_Edit Arcology Cheat][$seeDicks = ($seeDicks == 0 ? 0 : (Math.clamp(Number($seeDicks), 0, 100) || 25))]]

Game mode:
<<if $plot == 1>>
	''two-handed''. Includes non-erotic events concerning the changing world.
	[[Disable non-erotic events|MOD_Edit Arcology Cheat][$plot = 0]]
<<else>>
	''one-handed''. No non-erotic events concerning the changing world.
	[[Enable non-erotic events|MOD_Edit Arcology Cheat][$plot = 1]]
<</if>>

/*

<<nobr>>
<<if $normalizedEvents == 1>>
	Random events distribution: ''normalized''. Random events will happen with equal frequency.
	[[Realistic|MOD_Edit Arcology Cheat][$normalizedEvents = 0]]
<<else>>
	Random events distribution: ''realistic''. Events will happen more frequently if more slaves qualify for them.
	[[Normalize|MOD_Edit Arcology Cheat][$normalizedEvents = 1]]
<</if>>
<</nobr>>*/

Arcology citizens: <<print commaNum($ACitizens)>>
<<textbox "$ACitizens" $ACitizens>>

Arcology citizen limit: <<print commaNum($ACitizenLimit)>>
<<textbox "$ACitizenLimit" $ACitizenLimit>>

Arcology sex slaves: <<print commaNum($ASlaves)>>
<<textbox "$ASlaves" $ASlaves>>

Arcology sex slave limit: <<print commaNum($ASlaveLimit)>>
<<textbox "$ASlaveLimit" $ASlaveLimit>>

Arcology prosperity: $arcologies[0].prosperity
<<textbox "$arcologies[0].prosperity" $arcologies[0].prosperity>>

Arcology prosperity cap: $AProsperityCap
<<textbox "$AProsperityCap" $AProsperityCap>>

Shelter Abuse Counter: $shelterAbuse
<<textbox "$shelterAbuse" $shelterAbuse>>

''The Slavegirl School:''

TSS Students Bought: <<textbox "$TSS.studentsBought" $TSS.studentsBought>>

TSS Upgrades: ''$TSS.schoolUpgrade'' |
<<radiobutton "$TSS.schoolUpgrade" 0>> 0
| <<radiobutton "$TSS.schoolUpgrade" 1>> 1
| <<radiobutton "$TSS.schoolUpgrade" 2>> 2

TSS Moved to Arcology: ''$TSS.schoolPresent'' |
<<radiobutton "$TSS.schoolPresent" 0>> 0
| <<radiobutton "$TSS.schoolPresent" 1>> 1 (Moved)

TSS Prosperity: <<textbox "$TSS.schoolProsperity" $TSS.schoolProsperity>>

TSS Failed: ''$TSS.schoolAnnexed'' |
<<radiobutton "$TSS.schoolAnnexed" 0>> 0
| <<radiobutton "$TSS.schoolAnnexed" 1>> 1 (Failed)

''The Growth Research Institute:''

GRI Students Bought: <<textbox "$GRI.studentsBought" $GRI.studentsBought>>

GRI Upgrades: ''$GRI.schoolUpgrade'' |
<<radiobutton "$GRI.schoolUpgrade" 0>> 0
| <<radiobutton "$GRI.schoolUpgrade" 1>> 1
| <<radiobutton "$GRI.schoolUpgrade" 2>> 2

GRI Moved to Arcology: ''$GRI.schoolPresent'' |
<<radiobutton "$GRI.schoolPresent" 0>> 0
| <<radiobutton "$GRI.schoolPresent" 1>> 1 (Moved)

GRI Prosperity: <<textbox "$GRI.schoolProsperity" $GRI.schoolProsperity>>

GRI Failed: ''$GRI.schoolAnnexed'' |
<<radiobutton "$GRI.schoolAnnexed" 0>> 0
| <<radiobutton "$GRI.schoolAnnexed" 1>> 1 (Failed)

''St. Claver Preparatory:''

SCP Students Bought: <<textbox "$SCP.studentsBought" $SCP.studentsBought>>

SCP Upgrades: ''$SCP.schoolUpgrade'' |
<<radiobutton "$SCP.schoolUpgrade" 0>> 0
| <<radiobutton "$SCP.schoolUpgrade" 1>> 1
| <<radiobutton "$SCP.schoolUpgrade" 2>> 2

SCP Moved to Arcology: ''$SCP.schoolPresent'' |
<<radiobutton "$SCP.schoolPresent" 0>> 0
| <<radiobutton "$SCP.schoolPresent" 1>> 1 (Moved)

SCP Prosperity: <<textbox "$SCP.schoolProsperity" $SCP.schoolProsperity>>

SCP Failed: ''$SCP.schoolAnnexed'' |
<<radiobutton "$SCP.schoolAnnexed" 0>> 0
| <<radiobutton "$SCP.schoolAnnexed" 1>> 1 (Failed)

''The Hippolyta Academy:''

HA Students Bought: <<textbox "$HA.studentsBought" $HA.studentsBought>>

HA Upgrades: ''$HA.schoolUpgrade''
<<radiobutton "$HA.schoolUpgrade" 0>> 0
| <<radiobutton "$HA.schoolUpgrade" 1>> 1
| <<radiobutton "$HA.schoolUpgrade" 2>> 2

HA Moved to Arcology: ''$HA.schoolPresent'' |
<<radiobutton "$HA.schoolPresent" 0>> 0
| <<radiobutton "$HA.schoolPresent" 1>> 1 (Moved)

HA Prosperity: <<textbox "$HA.schoolProsperity" $HA.schoolProsperity>>

HA Failed: ''$HA.schoolAnnexed'' |
<<radiobutton "$HA.schoolAnnexed" 0>> 0
| <<radiobutton "$HA.schoolAnnexed" 1>> 1 (Failed)

<<if $seePreg != 0>>

''The Cattle Ranch:''

TCR Students Bought: <<textbox "$TCR.studentsBought" $TCR.studentsBought>>

TCR Upgrades: ''$TCR.schoolUpgrade''
<<radiobutton "$TCR.schoolUpgrade" 0>> 0
| <<radiobutton "$TCR.schoolUpgrade" 1>> 1
| <<radiobutton "$TCR.schoolUpgrade" 2>> 2

TCR Moved to Arcology: ''$TCR.schoolPresent'' |
<<radiobutton "$TCR.schoolPresent" 0>> 0
| <<radiobutton "$TCR.schoolPresent" 1>> 1 (Moved)

TCR Prosperity: <<textbox "$TCR.schoolProsperity" $TCR.schoolProsperity>>

TCR Failed: ''$TCR.schoolAnnexed'' |
<<radiobutton "$TCR.schoolAnnexed" 0>> 0
| <<radiobutton "$TCR.schoolAnnexed" 1>> 1 (Failed)
<</if>>

<<if ($seeDicks != 0)>>

''L'École des Enculées:''

LDE Students Bought: <<textbox "$LDE.studentsBought" $LDE.studentsBought>>

LDE Upgrades: ''$LDE.schoolUpgrade'' |
<<radiobutton "$LDE.schoolUpgrade" 0>> 0
| <<radiobutton "$LDE.schoolUpgrade" 1>> 1
| <<radiobutton "$LDE.schoolUpgrade" 2>> 2

LDE Moved to Arcology: ''$LDE.schoolPresent'' |
<<radiobutton "$LDE.schoolPresent" 0>> 0
| <<radiobutton "$LDE.schoolPresent" 1>> 1 (Moved)

LDE Prosperity: <<textbox "$LDE.schoolProsperity" $LDE.schoolProsperity>>

LDE Failed: ''$LDE.schoolAnnexed'' |
<<radiobutton "$LDE.schoolAnnexed" 0>> 0
| <<radiobutton "$LDE.schoolAnnexed" 1>> 1 (Failed)

''The Gymnasium-Academy:''

TGA Students Bought: <<textbox "$TGA.studentsBought" $TGA.studentsBought>>

TGA Upgrades: ''$TGA.schoolUpgrade''
<<radiobutton "$TGA.schoolUpgrade" 0>> 0
| <<radiobutton "$TGA.schoolUpgrade" 1>> 1
| <<radiobutton "$TGA.schoolUpgrade" 2>> 2

TGA Moved to Arcology: ''$TGA.schoolPresent'' |
<<radiobutton "$TGA.schoolPresent" 0>> 0
| <<radiobutton "$TGA.schoolPresent" 1>> 1 (Moved)

TGA Prosperity: <<textbox "$TGA.schoolProsperity" $TGA.schoolProsperity>>

TGA Failed: ''$TGA.schoolAnnexed'' |
<<radiobutton "$TGA.schoolAnnexed" 0>> 0
| <<radiobutton "$TGA.schoolAnnexed" 1>> 1 (Failed)

''The Futanari Sisters:''

TFS Students Bought: <<textbox "$TFS.studentsBought" $TFS.studentsBought>>

TFS Upgrades: ''$TFS.schoolUpgrade'' |
<<radiobutton "$TFS.schoolUpgrade" 0>> 0
| <<radiobutton "$TFS.schoolUpgrade" 1>> 1
| <<radiobutton "$TFS.schoolUpgrade" 2>> 2
| <<radiobutton "$TFS.schoolUpgrade" 3>> 3

TFS Moved to Arcology: ''$TFS.schoolPresent'' |
<<radiobutton "$TFS.schoolPresent" 0>> 0
| <<radiobutton "$TFS.schoolPresent" 1>> 1 (Moved)

TFS Prosperity:<<textbox "$TFS.schoolProsperity" $TFS.schoolProsperity>>

TFS Failed: ''$TFS.schoolAnnexed'' |
<<radiobutton "$TFS.schoolAnnexed" 0>> 0
| <<radiobutton "$TFS.schoolAnnexed" 1>> 1 (Failed)
<</if>>

__Arcologies:__

    __'' $arcologies[0].name''__ is your arcology.

You own: ''$arcologies[0].ownership%'' of the arcology <<textbox "$arcologies[0].ownership" $arcologies[0].ownership>>

Other minority ownership: ''$arcologies[0].minority%'' <<textbox "$arcologies[0].minority" $arcologies[0].minority>>

$arcologies[0].name's GSP is @@.yellowgreen;<<print cashFormat(Math.trunc(0.1*$arcologies[0].prosperity))>>m@@.

''Custom Cheat''

<<textarea "$customEvalCode" "">>

//Any JavaScript function will be automatically run using your arcology as an argument when "Continue" is clicked. For example, entering "(arcology) => arcology.name = 'Fancy Name' " will change your arcology name to "Fancy Name".//


code:
:: MOD_Edit Arcology Cheat Datatype Cleanup [nobr]

<<set $nextButton = "Continue", $nextLink = "Manage Arcology">>

<<if $customEvalCode>>
	<<if $customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */
		<<set $customEvalCode = "(" + $customEvalCode + ")">>
	<</if>>
	<<if typeof eval($customEvalCode) === "function">>
		<<run (eval($customEvalCode))($arcologies[0])>>
	<</if>>
<</if>>
<<unset $customEvalCode>>

<<set $ACitizens = Number($ACitizens) || 0>>
<<set $ACitizenLimit = Number($ACitizenLimit) || 0>>
<<set $ASlaves = Number($ASlaves) || 0>>
<<set $ASlaveLimit = Number($ASlaveLimit) || 0>>
<<set $arcologies[0].prosperity = Number($arcologies[0].prosperity) || 0>>
<<set $AProsperityCap = Number($AProsperityCap) || 0>>
<<set $shelterAbuse = Number($shelterAbuse) || 0>>

<<set $TSS.studentsBought = Number($TSS.studentsBought) || 0>>
<<set $TSS.schoolProsperity = Number($TSS.schoolProsperity) || 0>>

<<set $GRI.studentsBought = Number($GRI.studentsBought) || 0>>
<<set $GRI.schoolProsperity = Number($GRI.schoolProsperity) || 0>>

<<set $SCP.studentsBought = Number($SCP.studentsBought) || 0>>
<<set $SCP.schoolProsperity = Number($SCP.schoolProsperity) || 0>>

<<set $LDE.studentsBought = Number($LDE.studentsBought) || 0>>
<<set $LDE.schoolProsperity = Number($LDE.schoolProsperity) || 0>>

<<set $TGA.studentsBought = Number($TGA.studentsBought) || 0>>
<<set $TGA.schoolProsperity = Number($TGA.schoolProsperity) || 0>>

<<set $HA.studentsBought = Number($HA.studentsBought) || 0>>
<<set $HA.schoolProsperity = Number($HA.schoolProsperity) || 0>>

<<set $TCR.studentsBought = Number($TCR.studentsBought) || 0>>
<<set $TCR.schoolProsperity = Number($TCR.schoolProsperity) || 0>>

<<set $TFS.studentsBought = Number($TFS.studentsBought) || 0>>
<<set $TFS.schoolProsperity = Number($TFS.schoolProsperity) || 0>>

<<set $arcologies[0].ownership = Number($arcologies[0].ownership) || 0>>
<<set $arcologies[0].minority = Number($arcologies[0].minority) || 0>>

<<set $PC.actualAge = Number($PC.actualAge) || 35>>
<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>

The chanting grows louder and louder, CHEAT! CHEAT! CHEAT!

The Arcology morphs and changes shape, CHEAT! CHEAT! CHEAT!

The Arcology has been changed forever and you forfeit your CHEATING CHEATY SOUL!