HumanoidButt.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /// <reference path="../../Bodypart.ts" />
  2. /// <reference path="../../Humanoid/Humanoid.ts" />
  3. /// <reference path="../SexStick.ts" />
  4. /// <reference path="../SexHole.ts" />
  5. /// <reference path="../../../Measure.ts" />
  6. class HumanoidButt extends Bodypart {
  7. public size : number = 0;
  8. public silicone : number = 0;
  9. public sorenessWeight = Bodypart.WEIGHT_MEDIUM;
  10. public genderWeight = Bodypart.WEIGHT_MEDIUM;
  11. public slots : Array<number> = [Humanoid.SLOT_BUTT];
  12. public sluttiness = Bodypart.SLUTTINESS_HIGH_SLUT;
  13. public sluttinessWeight = Bodypart.WEIGHT_MEDIUM;
  14. public getSluttiness () {
  15. return this.getSize() * 33;
  16. }
  17. public constructor (options? : ThingOptions) {
  18. super(options);
  19. this.addGetAlterations((thing) => {
  20. return {
  21. Size : this.size,
  22. Silicone : this.silicone
  23. }
  24. });
  25. this.addSetAlterations((thing, changes) => {
  26. this.size = changes.Size;
  27. this.silicone = changes.Silicone;
  28. });
  29. }
  30. public getSize () {
  31. return this.size + this.silicone;
  32. }
  33. public getSizeText () {
  34. return HumanoidButt.getSizeText(this.getSize());
  35. }
  36. public static getSizeText (size : number) {
  37. let names = ["flat", "tiny", "round", "plump"]; // TODO: finish this
  38. if (size >= names.length) {
  39. return "gargantuan";
  40. } else {
  41. return names[size];
  42. }
  43. }
  44. public getGenderValue () {
  45. return HumanoidBreasts.getGenderFromSize(this.getSize());
  46. }
  47. public static getGenderFromSize (size : number) {
  48. if (size <= 0) {
  49. return 20;
  50. } else if (size <= 2) {
  51. return 30 * size;
  52. } else {
  53. return 80;
  54. }
  55. }
  56. // TODO: REPLACE NUMBERS WITH TABLE
  57. public arrangeGenderValue (gv : number) {
  58. if (gv <= 20) {
  59. this.size = 0;
  60. } else if (gv <= 60) {
  61. this.size = 1;
  62. } else {
  63. this.size = 3;
  64. }
  65. }
  66. }