Forever in heat

Tili Cactus

Well-Known Member
Mar 6, 2022
82
30
24
I was curious if there was a way to make our character in a eternal cycle of animal like heat without needing to constantly use drugs to keep it going. i feel like it would be a good challenge mode
 

Theron

Well-Known Member
Nov 8, 2018
3,589
1,373
44
As I recall, there was code for a Heat Cycle written, but it was never implemented because nobody wrote sufficiently sexy flavor text.
PlayerCharacter.as:
public function createHeatPerk(dayCycle:int = 7):void
{
return; // 9999 Pending writing before enabling.
createPerk("Heat Cycle", 0, 0, 0, 0, "");
setPerkValue("Heat Cycle", 2, dayCycle);
setPerkTooltip("Heat Cycle", "Your body will periodically cycle through the stages of heat every" + (dayCycle == 1 ? "day" : (" " + dayCycle + " days")) + ".");
}
It looks like the code for updating it is there in the Flash version. No idea if it's been carried over to JavaScript. I tried to console it in, but it seems to have no effect. It's entirely possible I did it wrong, though.

You can keep Heat going a long time with the Prostitute Pro Implant. It prevents pregnancy but doesn't make Steele infertile, so Heat doesn't auto-end.
 

OrangeBurner

Well-Known Member
Mar 13, 2022
305
72
I was curious if there was a way to make our character in a eternal cycle of animal like heat without needing to constantly use drugs to keep it going
The easy way to get an eternal cycle of heat that never ends is to just get the Heat status normally and then open the console (F12) and then put this code in: pc.extendHeat(undefined);.
This will make it so that heat will last forever until it's directly removed (Usually, by getting pregnant or taking a Chill Pill).

It looks like the code for updating it is there in the Flash version. No idea if it's been carried over to JavaScript. I tried to console it in, but it seems to have no effect. It's entirely possible I did it wrong, though.
They is currently that same unused heat/rut cycle mechanic in the JS version:
JavaScript:
// eslint-disable-next-line no-unused-vars
createHeatPerk(dayCycle = 7)
{
    return; // 9999 Pending writing before enabling.
    /*
        this.createPerk("Heat Cycle", 0, 0, 0, 0, "");
        this.setPerkValue("Heat Cycle", 2, dayCycle);
        this.setPerkTooltip("Heat Cycle", "Your body will periodically cycle through the stages of heat every" + (dayCycle == 1 ? "day" : (" " + dayCycle + " days")) + ".");
        */
}
JavaScript:
updateHeatPerk(totalDays)
{
    // Ignore if already pregnant or infertile
    if(!this.hasVagina() || this.isFullyWombPregnant() || this.fertility() <= 0) return;

    let heatCycle = this.getPerkEffect("Heat Cycle");

    if(heatCycle == null) return;

    // v1: Cooldown days
    // v2: Max days
    // Add value for cooldown
    heatCycle.value1 += totalDays;
    // If days desired is reached enable cycle
    if(heatCycle.value1 < heatCycle.value2) return;
    // Reset counter
    heatCycle.value1 = 0;

    let msg = "";
    //let numWombs = this.vaginaTotal() - this.totalWombPregnancies(); // 505050: Unused!

    // Heat
    if(!this.inHeat())
    {
        msg += "9999";
        msg += " <b>You are now in heat.</b>";

        // Heat effects
        // v1 - fertility boon
        // v2 - minimum lust boost
        // v3 - libido boost
        // v4 - tease bonus!
        this.createStatusEffect("Heat", 5, 25, 10, 3, false, "LustUp", "Your body is begging for impregnation, increasing your libido and fertility but also your ability to tease.\n\n+500% Fertility\n+25 Minimum Lust Rating\n+10 Libido\n+3 Tease Damage", false, 28800, GLOBAL.STATUS_LOW_PRIORITY);
    }
    // Deep Heat
    else if(!this.inDeepHeat())
    {
        msg += "9999";
        msg += " <b>You are in a deep heat.</b>";

        // Yay, heat!
        // v1 - fertility boon
        // v2 - minimum lust boost
        // v3 - libido boost
        // v4 - tease bonus!
        this.setStatusValue("Heat", 1, 10);
        this.setStatusValue("Heat", 2, 35);
        this.setStatusValue("Heat", 3, 25);
        this.setStatusValue("Heat", 4, 5);
        this.setStatusTooltip("Heat", "<b>You are in a deep heat!</b> Your body is begging for impregnation, increasing your libido and fertility but also your ability to tease.\n\n+" + this.statusEffectv1("Heat") * 100 + "% Fertility\n+" + this.statusEffectv2("Heat") + " Minimum Lust Rating\n+" + this.statusEffectv3("Heat") + " Libido\n+" + this.statusEffectv4("Heat") + " Tease Damage");
        this.extendHeat(7 * 24 * 60);
    }
    // Already in Deep Heat
    else if(this.heatMinutes() < 22 * 24 * 60)
    {
        msg += "9999";
        msg += " <b>Your heat has been extended.</b>";
        this.extendHeat(7 * 24 * 60);
    }

    if(msg.length > 0) AddLogEvent(msg, "passive", ((1440 - (GetGameTimestamp() % 1440)) + ((totalDays - 1) * 1440)));
}
Sadly, this code doesn't run automatically because it's not hooked up to the processTime function.

I guess you could give yourself the Heat cycle perk by putting pc.createPerk("Heat Cycle", 2, 7, 0, 0, ""); and then manually running updateHeatPerk(1) (1 for totalDays) everyday to have a functional heatcycle (but thats up to you to remember to run that line of code everyday).

Weirdly, this code goes completely unused everywhere else. Other than a certain fated PC that runs the createHeatCycle() function (which currently does nothing) upon creation.
If you name your PC "hikari" upon creation it runs the function. (Which does nothing)
JavaScript:
case "hikari":
    if(!TF) break;
    if(pc.hasCock()) pc.removeCock(0);
    if(!pc.hasVagina()) pc.createVagina();
    if(pc.femininity < 70) pc.femininity = 70;
    pc.breastRows[0].breastRatingRaw = 1;
    pc.tallness = 48;
    pc.intelligence(5);
    pc.reflexes(5);
    pc.aim(5);
    pc.earType = GLOBAL.TYPE_SYLVAN;
    pc.clearEarFlags();
    pc.addEarFlag(GLOBAL.FLAG_TAPERED);
    pc.earLength = 4+rand(5);
    pc.tone = 30;
    pc.skinTone = "fair";

    // Cycle every 7 days
    pc.createHeatPerk(7);
    break;
 

Adda

Well-Known Member
Jun 23, 2022
186
18
54
You can simulate the heat cycle by giving yourself the Omega Fever perk. Said perk is rather hard to get and very nearly requires that you do it intentionally. The perk will cycle you through being normal, slightly warm, flushed and fuck fever status effects. However, it affects your ass and is ended/mitigated/delayed by anal incubation. Getting filled anally while in a higher status effect (say fuck fever) will push you back one status effect (in the case of fuck fever, getting filled anally will put you back to flushed). Timed right (or wrong) you can remain in status effect seemingly forever. Having said that the Omega Fever perk cycles status effects fast enough that unless anally incubating, the PC will be suffering from one of the status effects most of the time.

With a newbie character that's not otherwise been anally modified, getting the Omega Fever perk requires about 30 or 31 doses of Omega Oil and significant save spamming. The requirements are in the wiki but I think they are 200 ccm anal capacity, 5 anal lubrication, 3 (4 with the stretchy perk) genital elasticity and a lot of minutes remaining on the fuck fever status effect induced by taking omega oil.

A female butt bug will keep you aroused all the time, regardless of pregnancies or incubations - they are also a pain in the ass and more than a little gross. The orange female, however, can result in an interesting child.
 
Last edited: