Program: 171406
Project: 171406
Buggy source:
public String getVaginaDescription(GameCharacter owner){
  boolean isPlayer=owner.isPlayer();
  descriptionSB=new StringBuilder();
  if (isPlayer) {
    if (penis.getType() != PenisType.NONE)     descriptionSB.append("String_Node_Str");
 else     descriptionSB.append("String_Node_Str");
  }
 else {
    if (penis.getType() != PenisType.NONE)     descriptionSB.append("String_Node_Str");
 else     descriptionSB.append("String_Node_Str");
  }
switch (vagina.getType()) {
case HUMAN:
    if (isPlayer) {
      descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
    }
 else {
      descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
    }
  break;
case ANGEL:
if (isPlayer) {
  descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
  descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case DEMON_COMMON:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case DOG_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case WOLF_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case CAT_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case SQUIRREL_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case HORSE_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case HARPY:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case SLIME:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
default :
break;
}
if (Main.game.isPubicHairEnabled()) {
switch (owner.getPubicHair()) {
case NONE:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
case MANICURED:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
case TRIMMED:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
case BUSHY:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
}
}
if (isPlayer) {
if (owner.getVaginaRawClitorisSizeValue() == 0) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + (owner.getVaginaRawClitorisSizeValue() == 1 ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
}
 else {
if (owner.getVaginaRawClitorisSizeValue() == 0) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + (owner.getVaginaRawClitorisSizeValue() == 1 ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
}
if (vagina.getOrificeVagina().isVirgin()) {
if (isPlayer) {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ "String_Node_Str");
}
}
 else {
if (isPlayer) {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getMaximumSizeComfortableWithLube().getDescriptor()+ "String_Node_Str");
for (PenetrationType pt : PenetrationType.values()) {
if (Main.game.getPlayer().getVirginityLoss(new SexType(pt,OrificeType.VAGINA_PLAYER)) != null && pt.isTakesVirginity()) {
descriptionSB.append("String_Node_Str" + Colour.GENERIC_ARCANE.toWebHexString() + "String_Node_Str"+ Main.game.getPlayer().getVirginityLoss(new SexType(pt,OrificeType.VAGINA_PLAYER))+ "String_Node_Str");
}
}
}
 else {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getMaximumSizeComfortableWithLube().getDescriptor()+ "String_Node_Str");
}
}
switch (vagina.getOrificeVagina().getWetness(owner)) {
case ZERO_DRY:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case ONE_SLIGHTLY_MOIST:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case TWO_MOIST:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case THREE_WET:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case FOUR_SLIMY:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case FIVE_SLOPPY:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case SIX_SOPPING_WET:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case SEVEN_DROOLING:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
default :
break;
}
switch (vagina.getOrificeVagina().getElasticity()) {
case ZERO_UNYIELDING:
descriptionSB.append("String_Node_Str");
break;
case ONE_RIGID:
descriptionSB.append("String_Node_Str");
break;
case TWO_FIRM:
descriptionSB.append("String_Node_Str");
break;
case THREE_FLEXIBLE:
descriptionSB.append("String_Node_Str");
break;
case FOUR_LIMBER:
descriptionSB.append("String_Node_Str");
break;
case FIVE_STRETCHY:
descriptionSB.append("String_Node_Str");
break;
case SIX_SUPPLE:
descriptionSB.append("String_Node_Str");
break;
case SEVEN_ELASTIC:
descriptionSB.append("String_Node_Str");
break;
default :
break;
}
switch (vagina.getOrificeVagina().getPlasticity()) {
case ZERO_RUBBERY:
descriptionSB.append("String_Node_Str");
break;
case ONE_SPRINGY:
descriptionSB.append("String_Node_Str");
break;
case TWO_TENSILE:
descriptionSB.append("String_Node_Str");
break;
case THREE_RESILIENT:
descriptionSB.append("String_Node_Str");
break;
case FOUR_ACCOMMODATING:
descriptionSB.append("String_Node_Str");
break;
case FIVE_YIELDING:
descriptionSB.append("String_Node_Str");
break;
case SIX_MALLEABLE:
descriptionSB.append("String_Node_Str");
break;
case SEVEN_MOULDABLE:
descriptionSB.append("String_Node_Str");
break;
default :
break;
}
return UtilText.parse(owner,descriptionSB.toString());
}

Fixed version (ground truth):
public String getVaginaDescription(GameCharacter owner){
  boolean isPlayer=owner.isPlayer();
  descriptionSB=new StringBuilder();
  if (isPlayer) {
    if (penis.getType() != PenisType.NONE)     descriptionSB.append("String_Node_Str");
 else     descriptionSB.append("String_Node_Str");
  }
 else {
    if (penis.getType() != PenisType.NONE)     descriptionSB.append("String_Node_Str");
 else     descriptionSB.append("String_Node_Str");
  }
switch (vagina.getType()) {
case HUMAN:
    if (isPlayer) {
      descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
    }
 else {
      descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
    }
  break;
case ANGEL:
if (isPlayer) {
  descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
  descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case DEMON_COMMON:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case DOG_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case WOLF_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case CAT_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case SQUIRREL_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case HORSE_MORPH:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case HARPY:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
case SLIME:
if (isPlayer) {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
 else {
descriptionSB.append((vagina.isPierced() ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
break;
default :
break;
}
if (Main.game.isPubicHairEnabled()) {
switch (owner.getPubicHair()) {
case NONE:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getName(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getName(owner,true) + "String_Node_Str");
}
break;
case MANICURED:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
case TRIMMED:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
case BUSHY:
if (isPlayer) {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + owner.getPubicHairType().getFullDescription(owner,true) + "String_Node_Str");
}
break;
}
}
if (isPlayer) {
if (owner.getVaginaRawClitorisSizeValue() == 0) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + (owner.getVaginaRawClitorisSizeValue() == 1 ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
}
 else {
if (owner.getVaginaRawClitorisSizeValue() == 0) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + (owner.getVaginaRawClitorisSizeValue() == 1 ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
}
}
if (vagina.getOrificeVagina().isVirgin()) {
if (isPlayer) {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ "String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ "String_Node_Str");
}
}
 else {
if (isPlayer) {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getMaximumSizeComfortableWithLube().getDescriptor()+ "String_Node_Str");
for (PenetrationType pt : PenetrationType.values()) {
if (Main.game.getPlayer().getVirginityLoss(new SexType(pt,OrificeType.VAGINA_PLAYER)) != null && pt.isTakesVirginity()) {
descriptionSB.append("String_Node_Str" + Colour.GENERIC_ARCANE.toWebHexString() + "String_Node_Str"+ Main.game.getPlayer().getVirginityLoss(new SexType(pt,OrificeType.VAGINA_PLAYER))+ "String_Node_Str");
}
}
}
 else {
descriptionSB.append("String_Node_Str" + Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getDescriptor() + "String_Node_Str"+ Capacity.getCapacityFromValue(vagina.getOrificeVagina().getStretchedCapacity()).getMaximumSizeComfortableWithLube().getDescriptor()+ "String_Node_Str");
}
}
switch (vagina.getOrificeVagina().getWetness(owner)) {
case ZERO_DRY:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case ONE_SLIGHTLY_MOIST:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case TWO_MOIST:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case THREE_WET:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case FOUR_SLIMY:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case FIVE_SLOPPY:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case SIX_SOPPING_WET:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
case SEVEN_DROOLING:
if (isPlayer) {
descriptionSB.append("String_Node_Str");
}
 else {
descriptionSB.append("String_Node_Str");
}
break;
default :
break;
}
switch (vagina.getOrificeVagina().getElasticity()) {
case ZERO_UNYIELDING:
descriptionSB.append("String_Node_Str");
break;
case ONE_RIGID:
descriptionSB.append("String_Node_Str");
break;
case TWO_FIRM:
descriptionSB.append("String_Node_Str");
break;
case THREE_FLEXIBLE:
descriptionSB.append("String_Node_Str");
break;
case FOUR_LIMBER:
descriptionSB.append("String_Node_Str");
break;
case FIVE_STRETCHY:
descriptionSB.append("String_Node_Str");
break;
case SIX_SUPPLE:
descriptionSB.append("String_Node_Str");
break;
case SEVEN_ELASTIC:
descriptionSB.append("String_Node_Str");
break;
default :
break;
}
switch (vagina.getOrificeVagina().getPlasticity()) {
case ZERO_RUBBERY:
descriptionSB.append("String_Node_Str");
break;
case ONE_SPRINGY:
descriptionSB.append("String_Node_Str");
break;
case TWO_TENSILE:
descriptionSB.append("String_Node_Str");
break;
case THREE_RESILIENT:
descriptionSB.append("String_Node_Str");
break;
case FOUR_ACCOMMODATING:
descriptionSB.append("String_Node_Str");
break;
case FIVE_YIELDING:
descriptionSB.append("String_Node_Str");
break;
case SIX_MALLEABLE:
descriptionSB.append("String_Node_Str");
break;
case SEVEN_MOULDABLE:
descriptionSB.append("String_Node_Str");
break;
default :
break;
}
return UtilText.parse(owner,descriptionSB.toString());
}