use of com.lilithsthrone.game.character.body.Penis in project liliths-throne-public by Innoxia.
the class CharacterUtils method generateBody.
public static Body generateBody(Gender startingGender, RacialBody startingBodyType, Subspecies species, RaceStage stage) {
boolean hasVagina = startingGender.getGenderName().isHasVagina();
boolean hasPenis = startingGender.getGenderName().isHasPenis();
boolean hasBreasts = startingGender.getGenderName().isHasBreasts();
Body body = new Body.BodyBuilder(new Arm((stage.isArmFurry() ? startingBodyType.getArmType() : ArmType.HUMAN), startingBodyType.getArmRows()), new Ass(stage.isAssFurry() ? startingBodyType.getAssType() : AssType.HUMAN, (startingGender.isFeminine() ? startingBodyType.getFemaleAssSize() : startingBodyType.getMaleAssSize()), startingBodyType.getAnusWetness(), startingBodyType.getAnusCapacity(), startingBodyType.getAnusElasticity(), startingBodyType.getAnusPlasticity(), true), new Breast(stage.isBreastFurry() ? startingBodyType.getBreastType() : BreastType.HUMAN, BreastShape.getRandomBreastShape(), (hasBreasts ? startingBodyType.getBreastSize() : startingBodyType.getNoBreastSize()), (startingGender.isFeminine() ? startingBodyType.getFemaleLactationRate() : startingBodyType.getMaleLactationRate()), ((stage.isSkinFurry() && Main.getProperties().multiBreasts == 1) || (stage.isBreastFurry() && Main.getProperties().multiBreasts == 2) ? (startingGender.isFeminine() ? startingBodyType.getBreastCountFemale() : startingBodyType.getBreastCountMale()) : 1), (startingGender.isFeminine() ? startingBodyType.getFemaleNippleSize() : startingBodyType.getMaleNippleSize()), (startingGender.isFeminine() ? startingBodyType.getFemaleNippleShape() : startingBodyType.getMaleNippleShape()), (startingGender.isFeminine() ? startingBodyType.getFemaleAreolaeSize() : startingBodyType.getMaleAreolaeSize()), (stage.isBreastFurry() ? (startingGender.isFeminine() ? startingBodyType.getFemaleNippleCountPerBreast() : startingBodyType.getMaleNippleCountPerBreast()) : 1), (startingGender.isFeminine() ? startingBodyType.getFemaleBreastCapacity() : startingBodyType.getMaleBreastCapacity()), (startingGender.isFeminine() ? startingBodyType.getFemaleBreastElasticity() : startingBodyType.getMaleBreastElasticity()), (startingGender.isFeminine() ? startingBodyType.getFemaleBreastPlasticity() : startingBodyType.getMaleBreastPlasticity()), true), new Face((stage.isFaceFurry() ? startingBodyType.getFaceType() : FaceType.HUMAN), (startingGender.isFeminine() ? startingBodyType.getFemaleLipSize() : startingBodyType.getMaleLipSize())), new Eye(stage.isEyeFurry() ? startingBodyType.getEyeType() : EyeType.HUMAN), new Ear(stage.isEarFurry() ? startingBodyType.getEarType() : EarType.HUMAN), new Hair(stage.isHairFurry() ? startingBodyType.getHairType() : HairType.HUMAN, (startingBodyType.isHairTypeLinkedToFaceType() ? (stage.isFaceFurry() ? (startingGender.isFeminine() ? startingBodyType.getFemaleHairLength() : startingBodyType.getMaleHairLength()) : (startingGender.isFeminine() ? RacialBody.HUMAN.getFemaleHairLength() : RacialBody.HUMAN.getMaleHairLength())) : (startingGender.isFeminine() ? startingBodyType.getFemaleHairLength() : startingBodyType.getMaleHairLength())), HairStyle.getRandomHairStyle((startingGender.isFeminine() ? startingBodyType.getFemaleHairLength() : startingBodyType.getMaleHairLength()))), new Leg(stage.isLegFurry() ? startingBodyType.getLegType() : LegType.HUMAN), new Skin(stage.isSkinFurry() ? startingBodyType.getSkinType() : SkinType.HUMAN), startingBodyType.getBodyMaterial(), startingBodyType.getGenitalArrangement(), (startingGender.isFeminine() ? startingBodyType.getFemaleHeight() : startingBodyType.getMaleHeight()), startingGender.getType() == PronounType.NEUTRAL ? 50 : (startingGender.isFeminine() ? startingBodyType.getFemaleFemininity() : startingBodyType.getMaleFemininity()), (startingGender.isFeminine() ? startingBodyType.getFemaleBodySize() : startingBodyType.getMaleBodySize()), (startingGender.isFeminine() ? startingBodyType.getFemaleMuscle() : startingBodyType.getMaleMuscle())).vagina(hasVagina ? new Vagina(stage.isVaginaFurry() ? startingBodyType.getVaginaType() : VaginaType.HUMAN, LabiaSize.getRandomLabiaSize().getValue(), startingBodyType.getClitSize(), startingBodyType.getVaginaWetness(), startingBodyType.getVaginaCapacity(), startingBodyType.getVaginaElasticity(), startingBodyType.getVaginaPlasticity(), true) : new Vagina(VaginaType.NONE, 0, 0, 0, 0, 3, 3, true)).penis(hasPenis ? new Penis(stage.isPenisFurry() ? startingBodyType.getPenisType() : PenisType.HUMAN, startingBodyType.getPenisSize(), startingBodyType.getPenisGirth(), startingBodyType.getTesticleSize(), startingBodyType.getCumProduction(), startingBodyType.getTesticleQuantity()) : new Penis(PenisType.NONE, 0, 0, 0, 0, 2)).horn(new Horn((stage.isHornFurry() ? startingBodyType.getRandomHornType(false) : HornType.NONE), (startingGender.isFeminine() ? startingBodyType.getFemaleHornLength() : startingBodyType.getMaleHornLength()))).antenna(new Antenna(stage.isAntennaFurry() ? startingBodyType.getAntennaType() : AntennaType.NONE)).tail(new Tail(stage.isTailFurry() ? startingBodyType.getTailType() : TailType.NONE)).wing(new Wing((stage.isWingFurry() ? startingBodyType.getWingType() : WingType.NONE), (startingGender.isFeminine() ? startingBodyType.getFemaleWingSize() : startingBodyType.getMaleWingSize()))).build();
// Pubic hair:
BodyHair hair = BodyHair.getRandomBodyHair();
body.setPubicHair(hair);
body.getFace().setFacialHair(null, hair);
body.getArm().setUnderarmHair(null, hair);
body.getAss().getAnus().setAssHair(null, hair);
if (species != null) {
body.calculateRace();
species.applySpeciesChanges(body);
body.calculateRace();
}
return body;
}
Aggregations