protected override string CockChangedText(Creature target, GenitalsData oldGenitalData, int changedCock) { bool grewVagina = oldGenitalData.vaginas.Count == 0 && target.vaginas.Count > 0; bool lostBalls = oldGenitalData.balls.hasBalls && !target.balls.hasBalls; bool lostCock = oldGenitalData.cocks.Count > target.cocks.Count; CockData previousCockData = oldGenitalData.cocks[changedCock]; string end; if (!grewVagina) { end = target.genitals.allCocks.GenericChangeOneCockLengthText(previousCockData); } else { end = target.genitals.allCocks.GenericChangeOneCockLengthText(previousCockData, lostCock, false) + "Your " + oldGenitalData.cocks[0].LongDescription() + " suddenly starts tingling. It's a familiar feeling, similar to an o****m." + "However, this one seems to start from the top down, instead of gushing up from your loins. You spend a few seconds frozen to the odd sensation, " + "when it suddenly feels as though your own body starts sucking on the base of your shaft. Almost instantly, " + "your c**k sinks into your crotch with a wet slurp. The tip gets stuck on the front of your body on the way down, " + "but your glans soon loses all volume to turn into a shiny new c**t." + (lostBalls ? " At the same time, your " + oldGenitalData.balls.ShortDescription() + " fall victim to the same sensation; " + "eagerly swallowed whole by your crotch." : "") + " Curious, you touch around down there, to find you don't have any exterior organs left." + "All of it got swallowed into the gash you now have running between two fleshy folds, like sensitive lips. " + "It suddenly occurs to you; <b> you now have a v****a!</b> "; } return("Your " + previousCockData.LongDescription() + " feels strange as it brushes against the fabric of your gown." + Environment.NewLine + end); }
private static string ConvertedTwoCocksToDog(Creature target, CockData firstOldData, CockData secondOldData) { return(GlobalStrings.NewParagraph() + "Your crotch twitches, and you pull open your " + target.armor.ItemName() + " to get a better look. You watch in horror and arousal as your " + firstOldData.LongDescription() + " and " + secondOldData.LongDescription() + " both warp and twist, becoming red and pointed, growing thick bulges near the base. " + "When it stops you have two dog-cocks and an animal-like sheath. The whole episode turns you on far more than it should, leaving you dripping animal pre " + "and ready to breed."); }
private static string ConvertedFirstDogCockGrewSecond(Creature target, CockData oldCockData) { return(GlobalStrings.NewParagraph() + "Your " + oldCockData.LongDescription() + " vibrates, the veins clearly visible as it reddens and distorts. The head narrows into a pointed tip " + "while a gradually widening bulge forms around the base. Where it meets your crotch, the skin bunches up around it, forming a canine-like sheath. " + "You feel something slippery wiggling inside the new sheath, and another red point peeks out. In spite of yourself, you start getting turned on by the change, " + "and the new dick slowly slides free, eventually stopping once the thick knot pops free. The pair of dog-dicks hang there, " + "leaking pre-cum and arousing you far beyond normal."); }
//removed last/only c**k, obtained a v****a instead. protected override string MadeFemale(Creature target, CockData preChange, BallsData oldBalls) { bool removedBalls = oldBalls.hasBalls; StringBuilder sb = new StringBuilder(); sb.Append("Your " + preChange.LongDescription() + " suddenly starts tingling. It's a familiar feeling, similar to an o****m. " + "However, this one seems to start from the top down, instead of gushing up from your loins. You spend a few seconds frozen to the odd sensation, " + "when it suddenly feels as though your own body starts sucking on the base of your shaft. Almost instantly, your c**k sinks " + "into your crotch with a wet slurp. The tip gets stuck on the front of your body on the way down, but your glans soon loses all volume to turn " + "into a shiny new c**t."); if (target.balls.hasBalls) { sb.Append(" At the same time, your " + oldBalls.ShortDescription() + " fall victim to the same sensation; eagerly swallowed whole by your crotch."); } sb.Append(" Curious, you touch around down there, to find you don't have any exterior organs left. All of it got swallowed into the gash you " + "now have running between two fleshy folds, like sensitive lips. It suddenly occurs to you; <b>you now have a v****a!</b>"); return(sb.ToString()); }
private static string ConvertedOneCockToDogHadOne(Creature target, int index, CockData oldData) { string armorText; if (target.wearingArmor || target.wearingLowerGarment) { armorText = "you pull open your " + (target.wearingArmor ? target.armor.ItemName() : target.lowerGarment.ItemName() + "to get a better look"); } else { armorText = "you look down to see what's happening"; } return("Your crotch twitches, and " + armorText + ". You watch in horror and arousal as your " + oldData.LongDescription() + " warps and twists, becoming red and pointed, just like other dog-dick, growing thick bulges near the base. When it stops you have two dog-cocks " + "and an animal-like sheath. The whole episode turns you on far more than it should, leaving you dripping animal pre and ready to breed."); }
protected override string ChangedCockToWolf(Creature target, CockData oldData, int cockIndex) { return(GlobalStrings.NewParagraph() + "Your " + oldData.LongDescription() + " trembles, resizing and reshaping itself into a shining, " + "red wolf c**k with a fat knot at the base. <b>You now have a wolf c**k.</b>"); }