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