Cumflation & Cumstuffing - vegapnk/Cumpilation GitHub Wiki

Cumflation

Cumflation appears when a large amount of fluid is inserted in the vagina of a pawn. Currently, all fluids contribute to the same cumflation.

Upon reaching a state of over-inflation, the pawn will start spurting out fluid until the Cumflation reaches a normal severity again.

Configurable

  • {XML} the effects of cumflation

Good to Know

  • The fluid must have the tag canCumflate and the Genital must have the Tag canPenetrate
  • A bodysize-1 pawn needs to receive 100 Fluid to fully cumflate.
  • Only vaginas can be cumflated, for other sex-types see Stuffing below.
  • Currently, Animals cannot be cumflated.
  • The cumflation keeps track of its origins with a HediffComp

(Cum-)Stuffing

Stuffing expresses large amounts of fluid in the Stomach of a pawn. This is achieved by anal and oral penetration.

There is a seperate Hediff (and Effect) for each supported Fluid. Being stuffed with Cum makes you move slower and reduces the hunger-need. Being stuffed with Insect-Spunk has a different effect.

The total severity of all stuffings is lower or equal to one. If an already stuffed pawn gets more fluid as input, old fluid will be pushed out and existing stuffings will be proportionally reduced. See the Math-Examples below.

All co-existing stuffings in a pawn are synchronized in how they tick-down. The HediffCompProperties_SharedSeverityPerDay manages this behaviour and specifies how much the (total) stuffing will go down in one day. See Math Examples too.

Stuffed Pawns will occasionally vomit up the respective fluids. The likelyness and type of fluid is determined by the severity of different stuffings.

Math Examples

Example Stuffing 1:

Pawn has a 0.6 Stuffing for `Cum`, then a gentle insect comes and (would) stuff the Pawn with 1.2 `InsectSpunk`. 
This results in a total stuffing of 1.8, and means 0.8 are overflow, as there can be atmost 1.0 stuffing. 
The 0.8 overflow first press out all `Cum`, and then *vanish*. 
The Pawn will have 1.0 `InsectSpunk-Stuffing` after the Process. 

Example Stuffing 2:

Pawn has 0.4 stuffing for `ChocciCum` and 0.4 stuffing for `InsectSpunk`, a total of 0.8 Stuffed. 
Mr. Hose comes and wants to add another 0.4 `Cum` to the stuffing mix. 
This results `0.4+0.4+0.4 = 1.2` Stuffed, and 0.2 Overflow. 
The overflow is evenly substracted from all pre-existing stuffings. 
The pawn will have 0.3 `CocchiCum`, 0.3 `InsectSpunk` and 0.4 `Cum` as his stuffing mix.

Example Ticking Down 1:

A pawn has 1.0 Severity of `Spunk-stuffed`. 
The HediffCompProperties_SharedSeverityPerDay is set to loose 0.5 per day. 
At the end of one day, the Spunk-stuffed will have severity of 0.5. It will be gone after 2 days.

Example Ticking Down 2:

A pawn has 0.2 Severity of `Spunk-stuffed` and 0.7 of `Cum-Stuffed`. 
The HediffCompProperties_SharedSeverityPerDay is set to loose 0.5 per day. 
At the end of one day, the spunk-stuffed will be gone and cum-stuffed will have severity of 0.4
(Both would lose 0.25 each per day, but after loosing 0.2 the Spunk-stuffed disappears)

Configurable

  • {XML} the effects of stuffings, including their lifetime and chance of vomitting
  • {XML} StuffingDefs, how much of which fluid leads to what stuffing-hediff

Good to Know

  • Without a StuffingDef, there will be no stuffing of any kind for a fluid.
  • Animals can be stuffed, if the StuffingDef specifies so. Default is off.
  • The genital must have the tag canPenetrate
  • If there is no supported Filth for a Fluid, it will just produce "Vomit" upon vomiting.
  • ALL StuffingHediffs Must have a HediffCompProperties_SharedSeverityPerDay! It is used for calculation logic a lot.

Acknowledgements

  • Cumflation and Cumstuffing originally came from LicentiaLabs