Advertisement
doorpanel

Honey Select 1 Expansion Script

Sep 1st, 2020 (edited)
2,518
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.90 KB | None | 0 0
  1. # Add script to HS1_Directory\Plugins\Console\Lib
  2. # During H-scene type the following lines in the console.
  3. # Replace scriptFilename with the name of the file excluding the .py extension
  4. #    import scriptFilename
  5. #    scriptFilename.start()
  6.  
  7. import UnityEngine
  8. import CharFemale
  9. import unity_util
  10. from datetime import datetime
  11. from UnityEngine import Input, KeyCode
  12.  
  13. def start():
  14.     unity_util.clean_behaviors()
  15.     class Controller():
  16.         def __init__(self):
  17.             #-------------
  18.             # Options
  19.             #-------------
  20.             self.minSliders = [
  21.                 1, #height
  22.                 0.4, #breast size
  23.                 0.5, #breast height
  24.                 0.5, #breast direction
  25.                 0.5, #breast spacing
  26.                 0.5, #breast angle
  27.                 0.5, #breast length
  28.                 0.5, #areola puffiness
  29.                 0.5, #nipple width
  30.                 0.5, #head
  31.                 0.5, #neck width
  32.                 0.5, #neck thickness
  33.                 0.3, #thorax width
  34.                 0.4, #thorax thickness
  35.                 0.5, #chest width
  36.                 0.5, #chest thickness
  37.                 0.4, #waist width
  38.                 0.4, #waist thickness
  39.                 0.5, #waist height
  40.                 0.25, #pelvis width
  41.                 0.5, #pelvis thickness
  42.                 0.63, #hips width
  43.                 0.5, #hips thickness
  44.                 1.2, #butt
  45.                 0.5, #butt angle
  46.                 0.75, #thighs
  47.                 0.5, #legs
  48.                 0.5, #calves
  49.                 0.5, #ankles
  50.                 0.5, #shoulders
  51.                 0.5, #upper arms
  52.                 0.5, #lower arms
  53.             ]
  54.            
  55.             self.maxSliders = [
  56.                 1, #height
  57.                 2, #breast size
  58.                 0.5, #breast height
  59.                 0.75, #breast direction
  60.                 2, #breast spacing
  61.                 0.5, #breast angle
  62.                 0.5, #breast length
  63.                 -0.5, #areola puffiness
  64.                 4, #nipple width
  65.                 0.5, #head
  66.                 0.5, #neck width
  67.                 0.5, #neck thickness
  68.                 0.3, #thorax width
  69.                 0.4, #thorax thickness
  70.                 0.5, #chest width
  71.                 0.5, #chest thickness
  72.                 0.15, #waist width
  73.                 0.2, #waist thickness
  74.                 0.5, #waist height
  75.                 1.5, #pelvis width
  76.                 0.75, #pelvis thickness
  77.                 1.3, #hips width
  78.                 1, #hips thickness
  79.                 5, #butt
  80.                 0.5, #butt angle
  81.                 3, #thighs
  82.                 0.35, #legs
  83.                 1.3, #calves
  84.                 0.5, #ankles
  85.                 0.5, #shoulders
  86.                 0.5, #upper arms
  87.                 0.5 #lower arms
  88.             ]
  89.  
  90.             self.bustGravityMin = 0.3
  91.             self.bustGravityMax = 0.7
  92.  
  93.             self.bodyDetailWeightMin = 1
  94.             self.bodyDetailWeightMax = 1
  95.  
  96.             # Number of steps from minimum size to maximum size. Increase number to slow growth
  97.             self.totalSteps = 1000
  98.  
  99.             #-------------
  100.             # Don't edit below here unless you know what you're doing
  101.  
  102.             self.ChangeToMinimumSize()
  103.  
  104.             self.orgasm = False
  105.             self.orgasmDateTime = datetime.now()
  106.  
  107.             print('Script started.                      ')
  108.             print('Controls:                            ')
  109.             print('    Space  = Grow                    ')
  110.             print('    Insert = Shrink                  ')
  111.             print('    Delete = Reset to minimum size   ')
  112.         def Update(self):
  113.             try:
  114.                 if (Input.GetKey(KeyCode.Space)):
  115.                     self.Expand()
  116.                 elif (Input.GetKey(KeyCode.Insert)):
  117.                     self.Shrink()
  118.  
  119.                 if (Input.GetKey(KeyCode.Delete)):
  120.                     self.ChangeToMinimumSize()
  121.  
  122.                 if (self.orgasm):
  123.                     self.DuringOrgasm()
  124.                 else:
  125.                     self.CheckOrgasm()
  126.             except:
  127.                 print("Unexpected error:", sys.exc_info()[0])
  128.  
  129.         def DuringOrgasm(self):
  130.             diff = datetime.now() - self.orgasmDateTime
  131.  
  132.             if (diff.seconds < 4):
  133.                 self.Expand()
  134.  
  135.         def CheckOrgasm(self):
  136.             fem = UnityEngine.Object.FindObjectsOfTypeAll(CharFemale)[1]
  137.             if (fem.hohoAkaRate == 1.0):
  138.                 self.orgasm = True
  139.                 self.orgasmDateTime = datetime.now()
  140.  
  141.         def UpdateBreastSoftness(self):
  142.             if (self.currentSliders[1] < 0.6):
  143.                 self.softness = 1.5
  144.             elif (self.currentSliders[1] < 0.7):
  145.                 self.softness = 1.4
  146.             elif (self.currentSliders[1] < 0.8):
  147.                 self.softness = 1.3
  148.             elif (self.currentSliders[1] < 0.9):
  149.                 self.softness = 1.2
  150.             elif (self.currentSliders[1] < 1):
  151.                 self.softness = 1.1
  152.             elif (self.currentSliders[1] < 1.1):
  153.                 self.softness = 1
  154.             elif (self.currentSliders[1] < 1.2):
  155.                 self.softness = 0.92
  156.             elif (self.currentSliders[1] < 1.3):
  157.                 self.softness = .84
  158.             elif (self.currentSliders[1] < 1.4):
  159.                 self.softness = 0.76
  160.             elif (self.currentSliders[1] < 1.5):
  161.                 self.softness = 0.7
  162.             elif (self.currentSliders[1] < 1.6):
  163.                 self.softness = 0.67
  164.             elif (self.currentSliders[1] < 1.7):
  165.                 self.softness = 0.64
  166.             elif (self.currentSliders[1] < 1.8):
  167.                 self.softness = 0.61
  168.             elif (self.currentSliders[1] < 1.9):
  169.                 self.softness = 0.58
  170.             elif (self.currentSliders[1] < 2):
  171.                 self.softness = 0.55
  172.             elif (self.currentSliders[1] < 2.1):
  173.                 self.softness = 0.524
  174.             elif (self.currentSliders[1] < 2.2):
  175.                 self.softness = 0.498
  176.             elif (self.currentSliders[1] < 2.3):
  177.                 self.softness = 0.472
  178.             elif (self.currentSliders[1] < 2.4):
  179.                 self.softness = 0.446
  180.             elif (self.currentSliders[1] < 2.5):
  181.                 self.softness = 0.42
  182.             elif (self.currentSliders[1] < 2.6):
  183.                 self.softness = 0.406
  184.             elif (self.currentSliders[1] < 2.7):
  185.                 self.softness = 0.392
  186.             elif (self.currentSliders[1] < 2.8):
  187.                 self.softness = 0.378
  188.             elif (self.currentSliders[1] < 2.9):
  189.                 self.softness = 0.364
  190.             elif (self.currentSliders[1] < 3):
  191.                 self.softness = 0.35
  192.             else:
  193.                 self.softness = 0
  194.  
  195.         def Expand(self):
  196.             #if True:
  197.             if (self.currentSliders[1] < self.maxSliders[1]):
  198.                 for idx, sliderVal in enumerate(self.currentSliders):
  199.                     self.currentSliders[idx] += getSliderStep(idx, self.minSliders, self.maxSliders, self.totalSteps)
  200.                
  201.                 if (self.currentSliders[1] > 1.5):
  202.                     self.currentSliders[8] += getSliderStep(8, self.minSliders, self.maxSliders, self.totalSteps)
  203.  
  204.                 bustGravityStep = (self.bustGravityMax - self.bustGravityMin) / self.totalSteps
  205.                 self.bustGravity += bustGravityStep
  206.                 if (self.bustGravity > self.bustGravityMax):
  207.                     self.bustGravity = self.bustGravityMax
  208.  
  209.                 bodyDetailWeightStep = (self.bodyDetailWeightMax - self.bodyDetailWeightMin) / self.totalSteps
  210.                 self.bodyDetailWeight += bodyDetailWeightStep
  211.                 if (self.bodyDetailWeight > self.bodyDetailWeightMax):
  212.                     self.bodyDetailWeight = self.bodyDetailWeightMax
  213.  
  214.                 self.UpdateBreastSoftness()
  215.  
  216.                 updateSize(self.currentSliders, self.softness, self.bustGravity, self.bodyDetailWeight)
  217.  
  218.         def Shrink(self):
  219.             if (self.currentSliders[1] > self.minSliders[1]):
  220.                 for idx, sliderVal in enumerate(self.currentSliders):
  221.                     self.currentSliders[idx] -= getSliderStep(idx, self.minSliders, self.maxSliders, self.totalSteps)
  222.                
  223.                 bustGravityStep = (self.bustGravityMax - self.bustGravityMin) / self.totalSteps
  224.                 self.bustGravity -= bustGravityStep
  225.                 bodyDetailWeightStep = (self.bodyDetailWeightMax - self.bodyDetailWeightMin) / self.totalSteps
  226.                 self.bodyDetailWeight -= bodyDetailWeightStep
  227.                 self.UpdateBreastSoftness()
  228.  
  229.                 updateSize(self.currentSliders, self.softness, self.bustGravity, self.bodyDetailWeight)
  230.  
  231.         def ChangeToMinimumSize(self):
  232.             self.currentSliders = list(self.minSliders)
  233.             self.bustGravity = self.bustGravityMin
  234.             self.bodyDetailWeight = self.bodyDetailWeightMin
  235.             self.UpdateBreastSoftness()
  236.             updateSize(self.currentSliders, self.softness, self.bustGravity, self.bodyDetailWeight)
  237.  
  238.     return unity_util.create_gui_behavior(Controller)
  239.  
  240. def getSliderStep(index, sliderMin, sliderMax, totalSteps):
  241.     return (sliderMax[index] - sliderMin[index]) / totalSteps
  242.  
  243. def updateSize(sliderArray, breastSoftness, bustGravity, bodyDetailWeight):
  244.     fem = UnityEngine.Object.FindObjectsOfTypeAll(CharFemale)[1]
  245.     for idx, sliderVal in enumerate(sliderArray):
  246.         fem.femaleCustom.SetShapeBodyValue(idx, sliderVal)
  247.     fem.femaleCustomInfo.bustSoftness = breastSoftness
  248.     fem.femaleCustomInfo.bustWeight = bustGravity
  249.     fem.femaleCustomInfo.bodyDetailWeight = bodyDetailWeight
  250.     fem.updateShapeBody = True
  251.     fem.UpdateBustSoftnessAndGravity()
  252.     fem.femaleCustom.ChangeBodyDetailWeight()
  253.     fem.femaleBody.updateBustSize = True
  254.     fem.resetupDynamicBoneBust = True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement