///
///
///
///
///
class HumanoidButt extends Bodypart {
public size : number = 0;
public silicone : number = 0;
public sorenessWeight = Bodypart.WEIGHT_MEDIUM;
public genderWeight = Bodypart.WEIGHT_MEDIUM;
public slots : Array = [Humanoid.SLOT_BUTT];
public sluttiness = Bodypart.SLUTTINESS_HIGH_SLUT;
public sluttinessWeight = Bodypart.WEIGHT_MEDIUM;
public getSluttiness () {
return this.getSize() * 33;
}
public constructor (options? : ThingOptions) {
super(options);
this.addGetAlterations((thing) => {
return {
Size : this.size,
Silicone : this.silicone
}
});
this.addSetAlterations((thing, changes) => {
this.size = changes.Size;
this.silicone = changes.Silicone;
});
}
public getSize () {
return this.size + this.silicone;
}
public getSizeText () {
return HumanoidButt.getSizeText(this.getSize());
}
public static getSizeText (size : number) {
let names = ["flat", "tiny", "round", "plump"]; // TODO: finish this
if (size >= names.length) {
return "gargantuan";
} else {
return names[size];
}
}
public getGenderValue () {
return HumanoidBreasts.getGenderFromSize(this.getSize());
}
public static getGenderFromSize (size : number) {
if (size <= 0) {
return 20;
} else if (size <= 2) {
return 30 * size;
} else {
return 80;
}
}
// TODO: REPLACE NUMBERS WITH TABLE
public arrangeGenderValue (gv : number) {
if (gv <= 20) {
this.size = 0;
} else if (gv <= 60) {
this.size = 1;
} else {
this.size = 3;
}
}
}