Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
Twee2::build_config.story_ifid = '76585E15-C0E7-4404-A55B-BEFC4CDF112B'
<<set $AbilityList =
[
$Ability_WideAttacks,
$Ability_Masochism,
$Ability_AppetiteForGrowth,
$Ability_HerculeanBuild,
$Ability_VigorOfTheEndowed,
]>>
<<set $Ability_AppetiteForGrowth_2 =
{
name: "Demonic Appetite",
id: "AppetiteForGrowth",
description: function() {return "Whenever you gain any amount of growth, you gain 3 times that amount.";},
growthMultiplier: 3,
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var appetiteForGrowthModifiers =
{
name: "Demonic Appetite",
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_Masochism_2.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return appetiteForGrowthModifiers;
},
toUnlock: function(character)
{
return setup.hasAbility(character, "DemonicCorruption", "Lord of Lust");
},
}>>
<<set $Ability_AppetiteForGrowth =
{
name: "Appetite for Growth",
id: "AppetiteForGrowth",
growthMultiplier: 2,
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var appetiteForGrowthModifiers =
{
name: "Appetite for Growth",
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_AppetiteForGrowth.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return appetiteForGrowthModifiers;
},
description: function() {return "Whenever you gain any amount of growth, you gain 2 times that amount.";},
toUnlock: function(character)
{
return true;
},
upgrade: State.variables.Ability_AppetiteForGrowth_2,
}>>
<<set $Ability_DemonicCorruption_03 =
{
name: "Lord of Lust",
id: "DemonicCorruption",
level: 3,
description: function() {return "Can use Incubus's Call\n" +
"Can use Incubus's Strike\n" +
"You are one with your demonic powers."},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var modifier =
{
arousalGainMods: {mod: setup.mod.ADD, value: 15},
maxHPMods: {mod: setup.mod.ADD, value: 25},
maxStaminaMods: {mod: setup.mod.ADD, value: 25},
corruptionMods: {mod: setup.mod.ADD, value: 50},
musclesMods: {mod: setup.mod.ADD, value: 40},
heightMods: {mod: setup.mod.ADD, value: 32},
cockMods: {mod: setup.mod.ADD, value: 18},
fightMovesMods: {mod: setup.mod.ADD, value: [State.variables.FightMove_IncubusCall, State.variables.FightMove_IncubusStrike]},
get additionalInfo() {return State.variables.Ability_DemonicCorruption_03.description();} ,
modifierDesc: function() {return State.variables.Ability_DemonicCorruption_03.name;},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return modifier;
},
onAcquire: function(character)
{
},
}>>
<<set $Ability_DemonicCorruption_02 =
{
name: "Major Demon",
id: "DemonicCorruption",
level: 2,
description: function() {return "Can use Incubus's Call\n" +
"Demonic powers flow through you."},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var modifier =
{
arousalGainMods: {mod: setup.mod.ADD, value: 9},
maxHPMods: {mod: setup.mod.ADD, value: 15},
maxStaminaMods: {mod: setup.mod.ADD, value: 15},
corruptionMods: {mod: setup.mod.ADD, value: 35},
musclesMods: {mod: setup.mod.ADD, value: 20},
heightMods: {mod: setup.mod.ADD, value: 16},
cockMods: {mod: setup.mod.ADD, value: 12},
fightMovesMods: {mod: setup.mod.ADD, value: [State.variables.FightMove_IncubusCall]},
get additionalInfo() {return State.variables.Ability_DemonicCorruption_02.description();} ,
modifierDesc: function() {return State.variables.Ability_DemonicCorruption_02.name;},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
}
return modifier;
},
onAcquire: function(character)
{
},
upgrade: State.variables.Ability_DemonicCorruption_03,
}>>
<<set $Ability_DemonicCorruption =
{
name: "Minor Demon",
id: "DemonicCorruption",
level: 1,
description: function() {return "Demonic powers flickers within you."},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var modifier =
{
arousalGainMods: {mod: setup.mod.ADD, value: 3},
maxHPMods: {mod: setup.mod.ADD, value: 10},
maxStaminaMods: {mod: setup.mod.ADD, value: 10},
corruptionMods: {mod: setup.mod.ADD, value: 25},
musclesMods: {mod: setup.mod.ADD, value: 15},
heightMods: {mod: setup.mod.ADD, value: 6},
cockMods: {mod: setup.mod.ADD, value: 5},
get additionalInfo() {return State.variables.Ability_DemonicCorruption.description();} ,
modifierDesc: function() {return State.variables.Ability_DemonicCorruption.name;},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
}
return modifier;
},
onAcquire: function(character)
{
},
upgrade: State.variables.Ability_DemonicCorruption_02,
}>>
<<set $Ability_HerculeanBuild_2 =
{
name: "Massive Build",
id: "HerculeanBuild",
description: function() {return "Gain Strength equal to half Muscles stat (up to 40). Your Muscles grow by 15 upon acquiring this Ability"},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var boost = Math.min(~~(character.info.muscles / 2), 40);
var herculeanBuildModifiers =
{
name: "Massive Build",
strengthMods: {mod: setup.mod.ADD, value: boost},
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_HerculeanBuild_2.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return herculeanBuildModifiers;
},
toUnlock: function(character)
{
return State.variables.Level >= 5;
},
onAcquire: function(character)
{
setup.applyGrowth(character, "muscles", 15);
},
}>>
<<set $Ability_HerculeanBuild =
{
name: "Herculean Build",
id: "HerculeanBuild",
description: function() {return "Gain Strength equal to your half your Muscles stat (up to 20). Your Muscles grow by 10 upon acquiring this Ability"},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var boost = Math.min(~~(character.info.muscles / 2), 20);
var herculeanBuildModifiers =
{
name: "Herculean Build",
strengthMods: {mod: setup.mod.ADD, value: boost},
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_HerculeanBuild.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return herculeanBuildModifiers;
},
toUnlock: function(character)
{
return State.variables.Level >= 2;
},
onAcquire: function(character)
{
setup.applyGrowth(character, "muscles", 10);
},
upgrade: State.variables.Ability_HerculeanBuild_2,
}>><<set $Ability_Masochism_2 =
{
name: "Intense Masochism",
id: "Masochism",
description: function() {return "Whenever you receive damage, you gain that much Arousal. (up to 15)"},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var masochismModifiers =
{
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_Masochism_2.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return masochismModifiers;
},
postDamage: function(abilityParams)
{
var He = setup.getPronoun(abilityParams.character,"pronounCap");
var arousalGain = Math.max(abilityParams.attackDamage, 15);
var displayString = "\n" + abilityParams.character.info.name + " relishes the pain. "+He+" gains " + arousalGain + " Arousal\n";
abilityParams.character.fight.variables.currentArousal += arousalGain;
return displayString;
},
toUnlock: function(character)
{
return State.variables.Level >= 5;
},
}>>
<<set $Ability_Masochism =
{
name: "Masochism",
id: "Masochism",
description: function() {return "Whenever you receive damage, you gain that much Arousal. (up to 5)"},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var masochismModifiers =
{
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_Masochism.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return masochismModifiers;
},
postDamage: function(abilityParams)
{
var He = setup.getPronoun(abilityParams.character,"pronounCap");
var arousalGain = Math.max(abilityParams.attackDamage, 7);
var displayString = "\n" + abilityParams.character.info.name + " relishes the pain. "+He+" gains " + arousalGain + " Arousal\n";
abilityParams.character.fight.variables.currentArousal += arousalGain;
return displayString;
},
toUnlock: function(character)
{
return true;
},
upgrade: State.variables.Ability_Masochism_2,
}>>
<<set $Ability_VigorOfTheEndowed_3 =
{
name: "Vigor of the Hyper Endowed",
id: "VigorOfTheEndowed",
description: function() {return "You gain Stamina and Health for each "+setup.getLength(3)+" in cock length (up to 40). Your cock grows "+setup.getLength(12)+" upon acquiring this Ability";},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var boost = Math.min(~~(character.info.cock/ 3), 40);
var vigorOfTheEndowedModifiers =
{
maxHPMods: {mod: setup.mod.ADD, value: boost},
maxStaminaMods: {mod: setup.mod.ADD, value: boost},
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_VigorOfTheEndowed_3.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return vigorOfTheEndowedModifiers;
},
toUnlock: function(character)
{
return State.variables.Level >= 6;
},
onAcquire: function(character)
{
setup.applyGrowth(character, "cock", 12);
},
}>>
<<set $Ability_VigorOfTheEndowed_2 =
{
name: "Vigor of the Ultra Endowed",
id: "VigorOfTheEndowed",
description: function() {return "You gain Stamina and Health for each "+setup.getLength(4)+" in cock length (up to 25). Your cock grows "+setup.getLength(7)+" upon acquiring this Ability";},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var boost = Math.min(~~(character.info.cock/ 4), 25);
var vigorOfTheEndowedModifiers =
{
maxHPMods: {mod: setup.mod.ADD, value: boost},
maxStaminaMods: {mod: setup.mod.ADD, value: boost},
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_VigorOfTheEndowed_2.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return vigorOfTheEndowedModifiers;
},
toUnlock: function(character)
{
return State.variables.Level >= 3;
},
onAcquire: function(character)
{
setup.applyGrowth(character, "cock", 7);
},
upgrade: State.variables.Ability_VigorOfTheEndowed_3,
}>>
<<set $Ability_VigorOfTheEndowed =
{
name: "Vigor of the Endowed",
id: "VigorOfTheEndowed",
description: function() {return "You gain Stamina for each "+setup.getLength(4)+" in cock length (up to 15). Your cock grows "+setup.getLength(5)+" upon acquiring this Ability";},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var boost = Math.min(~~(character.info.cock/ 4), 15);
var vigorOfTheEndowedModifiers =
{
maxStaminaMods: {mod: setup.mod.ADD, value: boost},
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_VigorOfTheEndowed.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return vigorOfTheEndowedModifiers;
},
toUnlock: function(character)
{
return true;
},
onAcquire: function(character)
{
setup.applyGrowth(character, "cock", 5);
},
upgrade: State.variables.Ability_VigorOfTheEndowed_2,
}>>
<<set $Ability_WideAttacks =
{
name: "Wide Attacks",
id: "WideAttacks",
description: function() {return "Applies reduced damage instead of missing based on your size. (up to 75% at "+setup.getLength(163)+") (Attack will not apply additional effects)"},
onFightStart: function(abilityParams)
{
setup.applyFightModifier(abilityParams.character, this.modifier(abilityParams.character));
},
modifier: function(character)
{
var wideAttacksModifiers =
{
additionalInfo: this.description(),
modifierDesc: function() {return State.variables.Ability_WideAttacks.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return wideAttacksModifiers;
},
onDoAttack: function(abilityParams)
{
var displayString = "";
if(abilityParams.hitcheck >= abilityParams.thresholdToMiss)
{
var heightStart = 68;
var heightMax = 163;
var height = Math.min(setup.getStatValue(abilityParams.character, "height") - heightStart, heightMax - heightStart);
var modifier = Math.max((height / (heightMax - heightStart)) * 0.75, 0.15);
displayString += abilityParams.character.info.name + "'s Wide Attack barely hits their target. \n"
abilityParams.attackDamage = Math.max(~~(abilityParams.attackDamage * modifier), 1);
abilityParams.hitcheck = 0;
abilityParams.ignoreAdditionalEffects = true;
abilityParams.finalDamageModifier = modifier;
}
return displayString;
},
toUnlock: function(character)
{
return false;
},
}>><<set $Day = (~~($Day / 31) + 1) * 31>>
You black out...
[[Continue->Death 2]]
[[Skip->Village]]
Time moves on...
[[Continue->Death 3]]
A burning light surrounds your formless self.
Some fragment of what you remember as "sense" slowly come back to you.
You see the light. It's so powerful it feels like you're on fire.
You recognize this feeling... You see the Eclipse gazing upon you. You and countless others.
Its magics flows around your soul, you feel your old self coming back.
[[Get up->Death 4]]
Countless monsters are already up. They immediatly resume their mindless rampage even though their bodies are still incomplete.
Your Talisman of Guidance glows in a bright golden light. A bight white portal suddenly opens in front of you.
Countless monsters are about to rush you as they notice your escape route.
Without a moment's notice, you jump in.
[[Go back to the Village->Village]]Fight Move Store!
<<print setup.displayFightMoveStore()>>
[[Leave->Village]]Home
[[Read your Journal->Journal]]
[[Leave->Village]]
You walk along the empty streets of your small village. In a mix of tiredness and melancholy, you gaze at the sky. It was a bright night filled with stars.
You feel tiny upon feeling the magnitude of the universe, your current crossroad feels meaningless in perspective...
Strangely enough, one of these stars shine brighter the more you look at it.
Before you can even react, the sky suddenly burns in an orange fury and you are struck with an all shattering blast.
[[Continue->Intro02]]Instead of the burning impact you expected, you feel like you just dove in a pool of honey. A thick liquid gathers around you and enters your body from every orifice.
You try to scream but the air in your lungs clashes with some thick goo entering your throat. It thrusts inside you without warning.
Your brain bathes in the stuff as in enters your ears and nose. As quickly as it appeared, you feel it fully enter your body.
[[Continue->Intro03]]You suddenly gasp and get up. The hot ground startles as you sit surrounded by burnt grass.
You quickly crawl back in panic.
What even happened just now? The surrounding fields burned while you stood there without a scratch.
You run back to your small house, frantic with worry.
[[Continue->Intro04]]You enter your home.
It feels like something is moving inside of you...
It's like your blood has a mind of its own. You feel it move along every muscle. You try to relax on your bed and eventually fall asleep out of exhaustion.
[[Sleep->Intro05]]
You are surrounded by a black void.
It looks completely empty, but you can feel something moving, all around you. The ground itself seems to be coated by a thick layer of goo.
You feel it crawl, it gathers in front of you and starts to form into a vaguely humanoid shape.
Yet it seems unstable, its colors and silhouette are slowly morphing into different forms.
You stare curiously as it cycles in and out of the appearence of creatures you have seen. Some even based on beasts you've only heard of in stories.
As you focus on it, its shape seems to slowly stabilize.
It turns into
[[A Monstrous Symbiote->Intro06][$SymbioteType = "symbiote"]]
[[A Naga->Intro06][$SymbioteType = "naga"]]
[[A Minotaur->Intro06][$SymbioteType = "minotaur"]]
[[A Werewolf->Intro06][$SymbioteType = "werewolf"]]
\<<if $SymbioteType == "symbiote">>
You suddenly see the gooey head form into a vaguely humanoid shape.
Twisted white patches slowly form where its eyes should be.
A grin starts to form on its face, it expands further and further along its head.
Rows of monstrously sharp fangs grow to fully covers its malicious grin.
Its mouth then open, long tongue crawls out, flicking eagerly at you.
\<<elseif $SymbioteType == "naga">>
You suddenly see the gooey head form a wide hood on each sides. Its mouth opens a releases a deep alien hiss. You gaze upon two sharp fangs growing into terrifying points.
A slick serpentine tongue crawls out, flicking eagerly at you. Its face slowly push forward into serpentine muzzle.
Red eyes form on his head, the monster looks down upon you as its legs fuse and grow into a <<print setup.getLength(70)>> long snake body.
\<<elseif $SymbioteType == "minotaur">>
You see its face slowly push forward into wide bovine muzzle, deep alien growls resound from it as it opens. A thick tongue crawls out, it's dripping with goo.
Red eyes form on his head, the monster gives you an eager look. A pair horns slowly expands from each side of its head.
They look thick and heavy.
\<<elseif $SymbioteType == "werewolf">>
You see its face slowly push forward into wide wolfish muzzle, deep alien growls resound from it as it opens. A long tongue crawls out, flicking eagerly at you.
Red eyes form on his head, the monster gives you an eager look. Wolfish ears rise from his head followed by a mouthfull of sharp fangs.
\<</if>>
The goo around him suddenly speeds up, it rushes to every inch of its body, growing the $SymbioteType into a behemoth of muscles and power.
It then gathers to its waist. You blush as a fat humanoid cock grows from his crotch.
The $SymbioteType looks at his body, he seems enthralled with the form you’ve expressed for him. He gropes his pecs and his <<print setup.getLength(12)>> cock.
Suddenly, his whole form shakes with incoming growth…
He looks at you and moans inviting you to gaze at his body.
You focus on
[[His cock->Intro07][$SymbioteBoost = "cock"]]
[[His muscles->Intro07][$SymbioteBoost = "muscles"]]
[[His whole body->Intro07][$SymbioteBoost = "height"]]
\<<if $SymbioteBoost == "cock">>
You focus on his cock. You immediately see it throb and expand. The $SymbioteType can’t stop moaning as his shaft crawls along his legs.
He grasped the base and jerked off passionately.
\<<elseif $SymbioteBoost == "muscles">>
You focus on his muscles. You immediately see his abs bursting with size and power. His biceps became bigger than bowling balls.
He is now screaming in pleasure as his pecs exploded with growth. They inched bigger and bigger as he pinched his hard fat nipples.
\<<elseif $SymbioteBoost == "height">>
His whole body shook, his deep moans turning even deeper as he grew in size. He grinned and flex as your vision filled with the growing $SymbioteType.
Once he reached <<print setup.getLength(90)>>, he walked towards you. His steps thumping across the void.
\<</if>>
He looked so hot… Precum drooled from both of your cocks as he approached. You blushed, his hands slowly felt your chest and slid down lower.
You pressed your head on his thick juicy pecs. You reached for his rear end and firmly pressed you hands on his cheeks, making him drop a deep moan.
You felt your body absorb some of the goo that dripped on your body. Your arousal skyrocketed.
Some colors started to get defined on the $SymbioteType’s body. The dripping goo that surrounded him slowly stabilized into a singular color.
[[White->Intro08][$SymbioteColor = "white"]]
[[Black->Intro08][$SymbioteColor = "black"]]
[[Blue->Intro08][$SymbioteColor = "blue"]]
[[Green->Intro08][$SymbioteColor = "green"]]
[[Red->Intro08][$SymbioteColor = "red"]]
[[Purple->Intro08][$SymbioteColor = "purple"]]
He grinned at the sight of his $SymbioteColor gooey body.
It did not seem like he could talk, yet he had other ways to express his gratitude for granting him this form.
He kissed you deeply and grinded his cock on your own. You felt his tongue coils around yours, his gooey body slowly crawled over your skin.
Your moans filled the dark void as you felt the goo changing you. You cock grew as you keep grinding.
You felt it grow bigger with every throb, it grew bigger than the $SymbioteType’s.
He pulls back from the kiss and grins upons seeing you now thick $SymbioteColor dripping with goo. He then takes you into a massive bear hug.
[[Let him in...->Intro09]]His whole being enters you. You moan and moan as your muscles explode with size and strength.
You grasp your cock and try to keep it still as litters of goo rushes in your urethra.
Along with his strength, you feel his needs enter you… A need for sex and power… A need for more…
Your whole body grew in size, reaching <<print setup.getLength(86)>>. You were ready to explode into the biggest orgasm of your life.
The last of the goo finally entered you as you jacked off furiously while flicking your thick $SymbioteColor tongue in the air.
Your <<print setup.getLength(86)>> $SymbioteType body now stood proudly in the dark void. This need for more now burned inside your soul. You were ready to take on the world.
The monster's name burned in your mind as orgasm hit you in a tidal wave of pleasure.
<<textbox "$SymbioteName" "Poten">>
[[Wake Up->Intro10]]You get up from bed and see your throbbing cock. It has clearly grown since yesterday…
\<<run setup.applyGrowth($CharacterSheet_Player, "cock", 4)>>
It now reaches <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "cock"))>> and begs for your attention. You can’t help but grasp it at the base.Your muscles throb, you reach for your pecs and moan softly. You look at yourself in the mirror and smile.
Your have definitely grown since yesterday. Your hand slid across your now defined abs and flex with other arm.
\<<run setup.applyGrowth($CharacterSheet_Player, "muscles", 8)>>\<<run setup.applyGrowth($CharacterSheet_Player, "cock", 1)>>
\<<run setup.applyGrowth($CharacterSheet_Player, "height", 7)>>
Your whole body throbs. When you get up from bed you feel like something is different about you.
You look at yourself in the mirror and smile. Your whole body has grown to <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "height"))>> tall, you barely fit in your mirror's frame anymore.You wake up feeling energized, invigorated even. Your heart beats faster than you thought possible.
One look at yourself confirmed you still had your normal look, but something seemed different.
\<<if $SymbioteBoost == "cock">>
<<include Intro10_Cock>>
\<<elseif $SymbioteBoost == "muscles">>
<<include Intro10_Muscles>>
\<<elseif $SymbioteBoost == "height">>
<<include Intro10_Height>>
\<</if>>
Moans escape through your heavy breathing, but this would have to wait.
You remembered what day it is, no matter what happened to you, your years of training would prove meaningless if you don't meet The Eldest today.
You quickly dressed and left for his temple.
[[Leave->Village]]
<<print setup.displayJournal()>>
[[Continue->Home]]<<nobr>>
<<unset $AbilityOptions>>
<<set $LevelUpParams =
{
point : 5,
hp: {name: "Health", value: $CharacterSheet_Player.fight.hp},
stamina: {name: "Stamina", value: $CharacterSheet_Player.fight.stamina},
strength: {name: "Strength", value: $CharacterSheet_Player.fight.strength},
accuracy: {name: "Accuracy", value: $CharacterSheet_Player.fight.accuracy},
arousalGain: {name: "Arousal Gain per turn", value: $CharacterSheet_Player.fight.arousalGain},
staminaRecovery: {name: "Stamina Recovery per turn", value: $CharacterSheet_Player.fight.staminaRecovery},
}>>
<</nobr>>
<h1>With experience, power builds within you.</h1>
You can increase your Stats <span id="LevelUp-Points"><<print $LevelUpParams.point>> </span> times.
<<print setup.displayStatsUp($CharacterSheet_Player, $LevelUpParams)>>
You can acquire a new ability.
<<print setup.displayAbilitiesUp($CharacterSheet_Player)>>
<span class="LevelUpConfirm inactive">[[Apply->Village][setup.levelUp($CharacterSheet_Player, $LevelUpParams, _AbilityChoiceIndex)]]</span>
[[Cancel->Village]]Main Menu!!
Warning, this is gay nsfw 18+ only game featuring fetishes (Muscle Growth, Macro, Hyper, Goo, Transformation, Corruption, Mind Control).
Measurement system
<label><<radiobutton '$Measurement' $Units.IMPERIAL checked>>Imperial</label>
<label><<radiobutton '$Measurement' $Units.METRIC>>Metric</label>
[[Begin->Name Setup]]What's your name?
<<textbox "$CharacterSheet_Player.info.name" "Joseph">>
[[Continue->Intro01]]$CharacterSheet_Player.info.name
<<if $CharacterSheet_Player.fight.variables.currentHP != undefined>>
<<print setup.displayFightStats(State.variables.CharacterSheet_Player)>>
<<print setup.displayFightPassiveEffects(State.variables.CharacterSheet_Player)>>
\<<else>>
Cycle: <<print ~~($Day / 31) + 1>> Day: <<print ($Day % 31 + 1)>>
Level $Level
$Exp XP / <<print setup.getXPRequirement($Level)>>
Essence of Power: $Essence
Health: <<print setup.displayStatValue($CharacterSheet_Player, "hp")>>
Stamina: <<print setup.displayStatValue($CharacterSheet_Player, "stamina")>>
Strength: <<print setup.displayStatValue($CharacterSheet_Player, "strength")>>
Accuracy: <<print setup.displayStatValue($CharacterSheet_Player, "accuracy")>>
Corruption: <<print setup.displayStatValue($CharacterSheet_Player, "corruption")>>
Muscles: <<print setup.getMusclesDescriptor($CharacterSheet_Player)>> (<<print setup.displayStatValue($CharacterSheet_Player, "muscles")>>)
Height: <<print setup.displayStatValue($CharacterSheet_Player, "height", true)>>
Cock Size: <<print setup.displayStatValue($CharacterSheet_Player, "cock", true)>>
\<</if>><<nobr>>
<<set $Explore_Destination = setup.getExploreDestination()>>
<</nobr>>
<<print setup.getVillageDescriptor()>>
\<<if setup.canLevelUp($Level) >>
[[Level Up->Level Up]]
\<</if>>
[[Home->Home]]
[[Receive Training->FightMoveStore]]
<<print setup.getVillagePassages()>>
\<<if setup.canExplore() >>
<<link "Explore the Barrens" $Explore_Destination>><</link>>
\<<else>>
<span class = "inactive"><<link "Explore the Barrens" $Explore_Destination>><</link>></span>
\<</if>>You fall down in exhaustion.
As you try to get back up, the heavy musk of the imp's cock overwhelms you. The demon moans, his cock drips with purple glowing cum.
A part of yourself damns you for not escaping. It's a muffled voice compared to the need that now screams within you. You take his cock into your mouth, his cum instantly infect your thoughts. Your eyes glow purple and you smile at the demon.
The following hours become a blur of overwhelming lust, you fuck in every way possible.
It preys on your thoughts as you beg for more...
Your techniques that you used in battle.
They flow in his mind as you cum for hours.
\<<set _learnedMove = setup.learnRandomMoveFromTarget($CharacterSheet_Imp, $CharacterSheet_Player)>>
\
\<<if _learnedMove>>
(The imp has learned _learnedMove.name)
\ <<set $CharacterSheet_Imp.fight.fightMoves = $CharacterSheet_Imp.fight.fightMoves.concatUnique(_learnedMove)>>
\<</if>>
<<print setup.getFightReward(undefined)>>
[[Give your soul away->Death]]It's safer for everyone if those kinds of demon are taken care of.
You kill the Imp who begs for his life.
(You will no longer encounter the imp in random encounters)
<<run setup.killEntity($CharacterSheet_Imp)>>
<<print setup.getFightReward($CharacterSheet_Imp)>>
[[Go back->Village]]
<<print setup.getFightReward($CharacterSheet_Imp)>>
[[Go back->Village]]The imp crawls to you and unbutton your pants.
"I promise you won't regret this."
With each suck you feel your cock getting bigger and longer. An unholy vitality fills you both as you force the imp deep on your growing dick. He coils his demonic tongue around your cock. It doesn't take long for you to cum down his throat.
He gets up, his wound fully healed from the experience.
"Hope to see you again big guy."
Your cock grew <<print setup.getLength(2)>>.
Your soul has been corrupted slightly (+3)
<<print setup.getFightReward($CharacterSheet_Imp)>>
[[Go Back to the Village->Village]]
<<run setup.applyGrowth($CharacterSheet_Player, "cock", 2)>>
<<run $CharacterSheet_Player.info.corruption += 3>>
As you walk, your breath suddenly grows heavy. A wave of arousal wash over you and you're not sure why… Something is wrong, you feel surrounded by a strong demonic energy.
Every breath of the corrupted air makes your heart beat faster. You suddenly see it, a winged <<print setup.getLength($CharacterSheet_Lakkos.info.height)>> figure flying towards you. You were ready for the worst...
Yet, as he gracefully landed in front of you, you could not stop yourself from eyeing his naked body.
His cock laid there for you to gaze at. It was <<print setup.getLength($CharacterSheet_Lakkos.info.cock)>>. He grinned a devilish grin upon seeing you stare.
“I never expected to see adventurers travelling on their own around these parts.”
His demonic aura affected you more than you liked. You were getting lost in his slitted red eyes. His grin grew predatory as his forked tail flicked behind him.
“Still I’m glad you’re here, you have something that I need… Something I’ve been thirsting ever since I was banished to this hell hole.”
He raised a clawed hand and beckoned you to come closer. His red scale covered limbs contrasted with his human looking upper body and face.
He seemed almost angelic... His expression suggested otherwise.His tongue slid across his sharp teeth. His cock grew hard as he readied himself for combat.
“I’m Lakkos by the way. You’d better give me your best, traveller.”
“Hmmmmm… You’re pretty good...”
Lakkos stares at you. He feels arousal threaten to take over your thoughts, but you persist. He knows he has lost this fight.
“If only I had my powers back… Even gods used to fear me from where I’m from...”
He falls to one knee, feeling tired from your battle.
“But power seems to work differently here, makes sense that she banished me here I guess...” He laughed softly as he gazed at your hardened body.
His grin does not leave his face as he gazes hungrily at your cock.
\<<if setup.getDemonicTFPassage($CharacterSheet_Player) == undefined>>
[[Fuck him->Encounter_Win_Lakkos_Sex_FullDemon]]
\<<else>>
[[Fuck him->Encounter_Win_Lakkos_Sex]]
\<</if>>
[[Spare him and leave->Encounter_Win_Lakkos_Spare]]
"Ahhhh... HMMMM... I can feel your lust... It's... It's more powerful than I thought mortals could exhude"
His demonic tongue tastes your oozing cock. Your battle brought you to the edge of orgasm, you could blow at any moment.
"With some of your power... I could turn you into something more... Demons can feel pleasure beyond anything you can imagine!"
\<<if $Essence >= 100>>
<<print "[[Grant him Power (100 Essence)->"+setup.getDemonicTFPassage($CharacterSheet_Player)+"][$Essence -= 100]]">>
\<<else>>
<<print "<span class = 'inactive'>[[Grant him Power (100 Essence)->"+setup.getDemonicTFPassage($CharacterSheet_Player)+"]]</span>">>
\<</if>>
[[Cum->Encounter_Win_Lakkos_NoDeal]]
It's been too long... Your needs drove you wild once more...
You jumped at Lakkos. You fucked in every way possible. You kept going for weeks, without any breaks.
His gigantic form was a lot to handle, but you wished you and him were even bigger. Power and Lust drove your every thought.
Weeks turned into months. You fucked and fucked until you finally adjusted to your demonic body.
Lakkos loved every second of it, maybe being banished here wasn’t so bad for him after all.
You finally reached the point where you felt a distant memory slowly emerge from your mind. An old duty that was never complete.
You left soon after, your goals and instincts had changed and yet...
You continued your quest.
<<set $Day = $Day + 86>>
<<print setup.getFightReward($CharacterSheet_Lakkos)>>
[[Continue->Village]]
Lakkos hungrily devours every drop of your seed. You notice his wounds quickly heal as he releases your cock.
"Hmmmm I do hope to see you again... Just remember how powerful you could become if you take my offer next time."
<<print setup.getFightReward($CharacterSheet_Lakkos)>>
[[Continue->Village]]
As you feel Essence gather inside you, the demon's proposal rings hollow.
You've got what you wanted and so you leave him to his defeat.
"Man... Just what's with the people here? Nothing makes any sense..." You hear from behind you.
<<print setup.getFightReward($CharacterSheet_Lakkos)>>
[[Continue->Village]]
The overwhelming arousal of the demon is too much to bear. You fall down on your knees and jerk off intensely.
The pleasure is maddening, orgasm quickly build as you feel cum rush up your shaft.
You didn’t notice Lakkos who was now very close to you. He grinned in victory as red demonic energy flowed from his hands and into your cock.
Your dick eagerly absorbed the demonic energy.
A deep scream of pleasure burst from your lips.
[[I need more...->Encounter_Loss_Lakkos_1]]
You reach up to the incubus and coil your tongue around his own. He pushes it further, his own tongue reaching down your throat, as if to taste something inside you.
You feel your orgasm being blocked by his magic. It builds a hunger for release that can’t be sated.
“I... I need release...”
You whimper to the demon who grins maniacally in response.
“Oh you’re not ready yet.”
He brings both hands to your shaft and let his demonic magic flow inside your flesh.
[[More...->Encounter_Loss_Lakkos_2]]
You feel your cock get bigger, so much bigger. It quickly grows to <<print setup.getLength($CharacterSheet_Lakkos.info.cock + 31)>>.
Lakkos kisses you again, his taste drives you wild, you can never have enough. You feel your balls get heavier and fuller.
The incubus then pulls back and brings his cock to your face. It’s massive but you still try to suck it.
He grabs the back of your head and pulls you to take it in. You gorge on the demon’s precum, you feel it enhance your growing cock.
It explodes with growth. In under a minute it reaches <<print setup.getLength(Math.max($CharacterSheet_Player.info.height -10, $CharacterSheet_Player.info.cock + 50))>>.
You try to grasp your massive tool, every touch brings you to the edge. Yet Lakkos's magic turn your upcomming orgasm into more growth.
“Hehehehe… Now... Will you give me your soul for some release?”
[[YES! TAKE IT! GRAAAAAAAAHHHHHHHH->Encounter_Loss_Lakkos_3]]
The incubus licks his lips in anticipation. Suddenly you feel the demonic magic opening the flood gates.
The <<print setup.getLength(Math.max($CharacterSheet_Player.info.height +10, $CharacterSheet_Player.info.cock +50))>> monster trembles at the upcoming flood of cum rushing through it. You scream under the sheer intensity of your upcoming orgasm.
You need it more than anything. You unleash a roar could be heard for miles.
Cum shot everywhere from your gigantic cock, it kept going for hours...
As the demonic magic that tainted your cum exited your body, something seemed to be forming between his fingers.
A white light glowed in his palm.
“This is gonna be a potent one I’m sure...” He mutters to himself.
Your vision begins to blur a little. You can soon see him holding a completely white sphere. He opens his mouth and eats it in one bite.
You felt yourself change as power left your body and entered the demon. You slowly shrunk while he looked down on you with a devilish smile.
“Hahaha... Give me everything..." He whispered between moans.
You gazed upon his perfect body growing even bigger and more powerful.
\<<run setup.applyGrowth($CharacterSheet_Lakkos, "height", 10)>>
\<<run setup.applyGrowth($CharacterSheet_Lakkos, "cock", 12)>>
His body grew to <<print setup.getLength($CharacterSheet_Lakkos.info.height)>>.
His cock grew to <<print setup.getLength($CharacterSheet_Lakkos.info.cock)>>.
You blacked out in utter admiration of his new form...
<<print setup.getFightReward(undefined)>>
[[Continue->Death]]<<if $Minotaur_Alive>>
Minotaur is here!
[[Sex->Minotaur Encounter Sex]]
[[Absorb->Minotaur Encounter Absorb]]
[[Return Home->Village]]
<<else>>
The minotaur's lair is empty.
[[Return Home->Village]]
<</if>>You have sex with the minotaur, his cum gets absorbed into your skin.
Your body gets a bit bigger.
Relationship increased with minotaur.
<<run setup.applyGrowth($CharacterSheet_Player, "height", 3)>>
<<run setup.applyGrowth($CharacterSheet_Player, "muscles", 4)>>
[[Return Home->Village]]You attempt to absorb the minotaur into your body.
Your body gets much bigger.
Your gain more corruption.
<<set $Minotaur_Alive = false>>
[[Return Home->Village]]More writing coming soon...
<<print setup.getFightReward($CharacterSheet_Tok)>>
[[Alright->Village]]
The goo covering you made every movement difficult and slow. You feel it moving along his crotch. As time went on it became hard to think straight as lust built inside you. Tok looked on with a predatory grin.
"Seems like we’re done here..."
You felt the goo surrounding you completely solidify. From your chest to your toes, a tight gooey casing prevented you from moving. It slowly spread up to your neck. Tok knelt down and rubbed your chest passionately.
"Mnn... I am already quite excited!"
His cock throbbed and leaked some goo down your neck. He spread it himself with his hands and cock. Soon only your hands and head were free from the tight prison.
\<<if setup.getStatValue($CharacterSheet_Player, "corruption") > 30>>
[[Transform->Tok Fight Corrupted]] (Needs more than 30 Corruption)
\<<else>>
<span class = "inactive">[[Transform->Tok Fight Corrupted]] (Needs more than 30 Corruption)</span>
\<</if>>
\
\<<if setup.getStatValue($CharacterSheet_Player, "corruption") <= 30>>
[[Continue->Tok Fight Normal]]
\<<else>>
<span class = "inactive">[[Continue->Tok Fight Normal]]</span>
\<</if>>
He suddenly forced his fingers into your mouth, your tongue went numb from the contact.
Your vision quickly became blurry, everything around you seemed to slow down.
Deep down you feel something is going wrong but yet moans escape your mouth against your will.
Tok pushed more of his goo inside you, your whole body was slowly melting into thick black goo.
Your mind slowly faded away from as you crawled up to the monster and fed him your powers.
<<print setup.getFightReward(undefined)>>
[[Give yourself away->Death]]
The $SymbioteType inside you roared in pleasure. From under the tightness of Tok's goo, your muscles grew. Tok's eyes widened in excitement as you grunted in discomfort. Your whole body was impossibly tight, Tok's goo showed no signs of letting go. Your cock snaked along your pecs as it grew bigger and thicker.
You slowly turned into your monstrous form.
Yet it was not enough to free yourself. Tok dragged his oozing cock to your arms and neck. Your massive body glistened in the $SymbioteColor layer of thick goo. Tok simply laughed and brought a finger drenched in goo to your mouth.
“I’ll make sure to put your body to better use”
Tok grabbed you into a tight bear hug. His whole body oozed all over you. Every part of you he came in contact with shook with pleasure. His corrupting influence spread all over you.
A muffled protest turned to a loud moan.
[[Embrace the changes->Tok Fight Corrupted 2]]
You've never felt anything like this... His goo quickly rushed inside you and entered your mind. Visions of yourself worshipping his body and corrupting other adventurers flood your mind. Your memories became warped. All you can remember now is a life of worship.
Tok is all that matters, his pleasure is your own.
You feel yourself lose your form. Your soul is barely holding on to what is left of you. Your gooey body turns into a puddle of liquid as Tok reforms and grins. He brings his cock to you. You lash out and coil yourself around it like your life depended on it.
“Yesss... You are mine now… Consume my seed and become whole again!”
[[Worship Tok->Tok Fight Corrupted 3]]
Your whole body crawled all over him. His cock was perfect, so thick and juicy. Nothing mattered more than embracing your god's form. You moved along the shaft and felt every vein, every ridge. It sent shivers of pleasure all over your liquid body.
Slowly, your body changed. A mouth formed around Tok's cock. He groaned in approval. Black arms raised from the goo and worshipped every muscle it could reach. The rest of your upper body soon followed, thick tentacles emerged from your back.
You were a featureless monster that dripped corrupting goo with every crawl. Tok moaned as you sucked him harder and faster. Passion overwhelmed your every moves. Your tentacles cupped and massaged his balls. He grasped the back of your head and forced his whole crotch down your mouth.
A powerful roar emerged from your god as gallons of cum rushed inside you. Your whole form grew bigger with every cumshot. Bright green eyes formed on your head as you were reborn.
You grew big enough to reach your master's chest. In a demented laugh, your soul withered and died under the weight of your master’s corruption.
It was not like you needed it anymore...
($CharacterSheet_Player.info.name, Spawn of Tok will now appear in the world (Not in this version tho...))
<<print setup.getFightReward(undefined)>>
[[This body has moved on...->Death]]\<<set $Encounter_Target = setup.getRandomEncounter()>>
\
\<<if !$Encounter_Target>>
You find nothing exciting in your journey. All those that could have crossed your path are no more.
[[Go Home->Village]]
\<<else>>
<<print $Encounter_Target.fight.encounterIntroText>>
[[Fight->FightLogic]]
[[Run Away->Village]]
\<</if>>\<<nobr>>
/*Initialization*/
<<if !$Encounter_Target.fight.variables.currentHP>>
<<run setup.variableInitializer.initializeFightVariables($Encounter_Target)>>
<<print $Encounter_Target.fight.encounterStartText >>
<<run setup.aiFightStart()>>
<</if>>
<<run setup.preAttacksAIUpdate($Encounter_Target)>>
/*Check Modifiers End*/
<<run setup.updateFightModifiers($CharacterSheet_Player)>>
<<run setup.updateFightModifiers($Encounter_Target)>>
/*Attack Handling*/
<<if $Encounter_Target.fight.variables.currentFightMove && $CharacterSheet_Player.fight.variables.currentFightMove>>
<<run setup.doAttack($CharacterSheet_Player, $Encounter_Target) >>
<<run setup.doAttack($Encounter_Target, $CharacterSheet_Player) >>
<</if>>
/*Check Max Arousal*/
<<print setup.updateArousal($CharacterSheet_Player) >>
<<print setup.updateArousal($Encounter_Target) >>
\<</nobr>>
\<<run setup.postAttacksAIUpdate($Encounter_Target)>>
\
\/*Display*/
<<print setup.displayFightMove($CharacterSheet_Player, $Encounter_Target) >>
<<print setup.displayFightMove($Encounter_Target, $CharacterSheet_Player) >>
<<print setup.updateFightStatus($CharacterSheet_Player, $Encounter_Target) >>\<<if setup.hasLostFight($Encounter_Target)>>
$Encounter_Target.fight.outcomePlayerWins
\<<elseif setup.hasLostFight($CharacterSheet_Player)>>
$Encounter_Target.fight.outcomePlayerLoses
\<</if>>
<<nobr>>
/*Unset Fight Variables*/
<<unset $Display_Player_FightMoveOutcome,
$Encounter_Target,
$HasSymbiote>>
<<set $CharacterSheet_Player.fight.variables = $FightVariables>>
<</nobr>><<set $FightMove_Basic_Attack =
{
name: "Attack",
preparation: function(character)
{
return character.info.name + " is crouching with his weapon held firmly."
},
attackAttemptDesc: function(character)
{
return character.info.name + " rushes in and attacks."
},
activationCondition: function(character)
{
return true;
},
dmg: 3,
staminaCost: 0,
accuracyMod: 0,
skillDescription: "A basic attack.",
skillType: "slotted",
additionalEffects: []
}>><<set $FightMove_Do_Nothing =
{
name: "Do Nothing",
preparation: function(character)
{
var he = setup.getPronoun(character,"pronoun");
return character.info.name + " is not readying any attack. It does not look like "+he+" cares about the fight.";
},
attackAttemptDesc: function(character)
{
return character.info.name +" waits eagerly for what will come next.";
},
activationCondition: function(character)
{
return true;
},
doesNothing: true,
dmg: 0,
staminaCost: 0,
accuracyMod: 100,
skillDescription: "Lets your opponent attack freely.",
skillType: "special",
additionalEffects: []
}>>
<<set $FightMove_Submit_Completely =
{
name: "Submit Completely",
preparation: function(character)
{
var he = setup.getPronoun(character,"pronoun");
return character.info.name + " surrenders themselves completely";
},
attackAttemptDesc: function(character)
{
return character.info.name + " surrenders themselves completely";
},
activationCondition: function(character)
{
if(character.fight.variables.cantSubmit)
{
console.log("no");
return false;
}
console.log("yer");
return true;
},
dmg: 0,
staminaCost: 0,
accuracyMod: 100,
skillStatsToDescriptionSpacing: 2,
skillDescription: "surrender yourself completely to your opponent.",
skillType: "special",
additionalEffects: [setup.surrender]
}>><<set $FightMove_Goo_Stun =
{
name: "Launch Goo",
preparation: function(character)
{
return character.info.name + "'s goo completely surrounds you."
},
attackAttemptDesc: function(character)
{
var He = setup.getPronoun(character,"pronounCap");
return character.info.name + "'s goo completely covers their target.";
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
dmg: 2,
staminaCost: 18,
accuracyMod: -15,
skillStatsToDescriptionSpacing: 2,
skillDescription: "Send your goo to immobilize your target.",
skillType: "symbiote",
additionalEffects: [setup.stunTarget]
}>><<set $FightMove_IncubusCall =
{
name: "Incubus Call",
preparation: function(character)
{
return "An ominous red glow appears around "+ character.info.name + "'s demonic cock. It is filled with demonic energy.";
},
attackAttemptDesc: function(character)
{
var His = setup.getPronoun(character,"pronounDepPosCap");
var his = setup.getPronoun(character,"pronounDepPos");
var he = setup.getPronoun(character,"pronoun");
var cockSize = setup.getLength(setup.getStatValue(character, "cock") + 20);
var displayString = "With every throbs, "+character.info.name +"'s cock expands in girth and length. "+His+" lustful moans increase in intensity as it grows to " + cockSize + " in length. \n ";
displayString += "It only takes a few jerks before "+he+" roars and shoots loads of demonic seed towards "+his+" target.\n";
return displayString;
},
attackHitDesc: function(character, target)
{
var His = setup.getPronoun(character,"pronounDepPosCap");
var his = setup.getPronoun(character,"pronounDepPos");
var He = setup.getPronoun(character,"pronounCap");
var he = setup.getPronoun(character,"pronoun");
var displayString = target.info.name + " is hit by the incubus's cum. Warmth courses through "+his+" whole body, it feels like "+he+"'s burning with arousal. \n";
displayString += His+" heart immediately starts beating like a drum. \n";
displayString += He+" can't stop himself, "+his+" hand goes to feel "+his+" crotch.\n";
displayString += "It's beyond sensible... Arousal overtakes his thoughts "+his+" mind, "+he+" gathers a handful of demonic cum a tastes it eagerly. The effects are instantaneous.\n";
return displayString;
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
dmg: 6,
staminaCost: 8,
accuracyMod: 0,
skillDescription: "Incubus Call skill desc",
skillType: "demon",
additionalEffects: [setup.incubusCallEffects]
}>><<set $FightMove_IncubusStrike =
{
name: "Incubus Strike",
preparation: function(character)
{
var His = setup.getPronoun(character,"pronounDepPosCap");
return "A red sigil appears under "+ character.info.name + ". "+His+" body glows with demonic energy."
},
attackAttemptDesc: function(character)
{
return character.info.name + " runs to their target.";
},
attackHitDesc: function(character, target)
{
var his = setup.getPronoun(character,"pronounDepPos");
var him = setup.getPronoun(character,"pronounObject");
var He = setup.getPronoun(character,"pronounCap");
return He+" grins and presses "+his+" hand on "+his+" target's crotch.\n "+target.info.name+"'s vitality and arousal rushes into "+him+". "
+He+" can only laugh as "+his+" demonic body grows in power.\n"
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
dmg: 8,
staminaCost: 20,
accuracyMod: 5,
skillDescription: "Incubus Strike skill desc",
skillType: "demon",
additionalEffects: [setup.incubusStrikeEffects]
}>><<set $FightMove_Lunge =
{
name: "Lunge",
preparation: function(character)
{
return character.info.name + " is preparing to pounce.";
},
attackAttemptDesc: function(character)
{
return character.info.name + " jumps at his target. ";
},
attackHitDesc: function(character, target)
{
var He = setup.getPronoun(character,"pronounCap");
return character.info.name + " lands on their target. "+He+" roars and slash them mercilessly.";
},
activationCondition: function(character)
{
return true;
},
dmg: 3,
staminaCost: 0,
accuracyMod: 0,
skillDescription: "A basic attack.",
additionalEffects: []
}>><<set $FightMove_Masturbate =
{
name: "Masturbate",
preparation: function(character)
{
return character.info.name + "'s hand reaches for their crotch"
},
attackAttemptDesc: function(character)
{
var him = setup.getPronoun(character, "pronounObject");
return character.info.name + " graps his cock jerks it passionately. Arousal flows through "+him+"."
},
activationCondition: function(character)
{
return true;
},
dmg: 0,
staminaCost: 0,
accuracyMod: 100,
skillDescription: "Give in to your Arousal...",
skillType: "slotted",
additionalEffects: [setup.masturbate]
}>><<set $Sigil_Growth =
{
id: "Sigil_Growth",
constantDesc: "PERSON HAS SIGIL Growth ON THEM",
onDamagingHit: function(attacker, victim, params)
{
setup.removePersistentEffect(victim, this);
var cockGrowth = Math.ceil(params.attackDamage * 0.07);
var muscleGrowth = Math.ceil(params.attackDamage * 0.07);
var sizeGrowth = Math.ceil(params.attackDamage * 0.22);
cockGrowth = setup.applyGrowth(attacker, "cock", cockGrowth);
muscleGrowth = setup.applyGrowth(attacker, "muscles", muscleGrowth);
sizeGrowth = setup.applyGrowth(attacker, "height", sizeGrowth);
console.log("cock" + cockGrowth);
console.log("musc" + muscleGrowth);
console.log("size" + sizeGrowth);
var His = setup.getPronoun(attacker,"pronounDepPosCap");
var his = setup.getPronoun(attacker,"pronounDepPos");
var displayString = "The \"Growth\" sigil activates. \n";
displayString += attacker.info.name + "'s cock grows "+ setup.getLength(cockGrowth) + ", ";
displayString += his+" muscles grow bigger (+"+ muscleGrowth + ") and ";
displayString += his+" body becomes "+ setup.getLength(sizeGrowth) + " taller";
return displayString;
},
}>>
<<set $FightMove_Sigil_Growth =
{
name: "Sigil of Growth",
preparation: function(character)
{
return "SIGIL Growth PREPARATION";
},
attackHitDesc: function(character, target)
{
var displayString = "SIGIL Growth HIT\n";
return displayString;
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
staminaCost: 6,
accuracyMod: 100,
skillStatsToDescriptionSpacing: 3,
skillDescription: "Grows the user's whole body based on the damage of the activating attack",
skillType: "slotted",
buyFromStore: true,
essenceCost: 150,
persistentEffectOpponent: $Sigil_Growth,
additionalEffects: []
}>><<set $Sigil_Pain =
{
id: "Sigil_Pain",
constantDesc: "PERSON HAS SIGIL PAIN ON THEM",
onDamagingHit: function(attacker, victim, params)
{
setup.removePersistentEffect(victim, this);
params.attackDamage = Math.floor(params.attackDamage * 1.3);
return "The \"Pain\" sigil activates, "+ attacker.info.name +" attack is amplified to "+params.attackDamage+" damage.";
},
}>>
<<set $FightMove_Sigil_Pain =
{
name: "Sigil of Pain",
preparation: function(character)
{
return "SIGIL Pain PREPARATION";
},
attackHitDesc: function(character, target)
{
var displayString = "SIGIL Pain HIT\n";
return displayString;
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
staminaCost: 16,
accuracyMod: 100,
skillStatsToDescriptionSpacing: 2,
skillDescription: "Increases the damage of an attack by 30%",
skillType: "slotted",
buyFromStore: true,
essenceCost: 300,
persistentEffectOpponent: $Sigil_Pain,
additionalEffects: []
}>><<set $Sigil_Perception =
{
id: "Sigil_Perception",
constantDesc: "PERSON HAS SIGIL Perception ON THEM",
modifier: function(character)
{
var sigilPerceptionModifiers =
{
accuracyMods: {mod: setup.mod.ADD, value: 30},
additionalInfo: "Improves accuracy of next attack by 30%",
modifierDesc: function() {return State.variables.FightMove_Sigil_Perception.name},
onApplyDescription: "",
endCondition: function(character)
{
return false;
}
};
return sigilPerceptionModifiers;
},
onActivate: function(attacker, victim, params)
{
setup.applyFightModifier(attacker, this.modifier());
},
onDamagingHit: function(attacker, victim, params)
{
setup.removePersistentEffect(victim, this);
setup.removeFightModifier(attacker, this.modifier());
return "The \"Perception\" sigil disipates";
},
}>>
<<set $FightMove_Sigil_Perception =
{
name: "Sigil of Perception",
preparation: function(character)
{
return "SIGIL Perception PREPARATION";
},
attackHitDesc: function(character, target)
{
var displayString = "SIGIL Perception HIT\n";
return displayString;
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
staminaCost: 5,
accuracyMod: 100,
skillStatsToDescriptionSpacing: 2,
skillDescription: "Increases next attack's chance to hit by 30%",
skillType: "slotted",
buyFromStore: true,
essenceCost: 100,
persistentEffectOpponent: $Sigil_Perception,
additionalEffects: []
}>><<set $Sigil_Vitality =
{
id: "Sigil_Vitality",
constantDesc: "PERSON HAS SIGIL VITALITY ON THEM",
onDamagingHit: function(attacker, victim, params)
{
var lifedrain = Math.floor(params.attackDamage * 0.75);
attacker.fight.variables.currentHP = Math.min(attacker.fight.variables.currentHP + lifedrain, setup.getMaxHP(attacker));
setup.removePersistentEffect(victim, this);
return "The \"Vitality\" sigil activates, "+ attacker.info.name +" is healed for "+ lifedrain + "hp.";
},
}>>
<<set $FightMove_Sigil_Vitality =
{
name: "Sigil of Vitality",
preparation: function(character)
{
return "SIGIL Vitality PREPARATION";
},
attackHitDesc: function(character, target)
{
var displayString = "SIGIL Vitality HIT\n";
return displayString;
},
activationCondition: function(character)
{
return character.fight.variables.currentStamina >= this.staminaCost;
},
staminaCost: 12,
accuracyMod: 100,
skillStatsToDescriptionSpacing: 3,
skillDescription: "Heals the user by 75% of the damage applied by an attack as it activates",
skillType: "slotted",
buyFromStore: true,
essenceCost: 200,
persistentEffectOpponent: $Sigil_Vitality,
additionalEffects: []
}>>
<<include StoryInit_Base>>
<<include StoryInit_FightVariables>>
<<include StoryInit_SpecialMoves>>
<<include StoryInit_FightMoves>>
<<include Quest_MQ001>>
<<include Quest_MQ002>>
<<include StoryInit_QuestVariables>>
<<include Ability_WideAttacks>>
<<include Ability_Masochism>>
<<include Ability_HerculeanBuild>>
<<include Ability_DemonicCorruption>>
<<include Ability_VigorOfTheEndowed>>
<<include Ability_AppetiteForGrowth>>
<<include AbilityList>>
<<include Sheets_Player>>
<<include Sheets_Imp>>
<<include Sheets_Tok>>
<<include Sheets_Lakkos>>
<<include Sheets_Elder>>
<<include Modifiers_Player_Symbiote>>
<<include StoryInit_RandomEncounters>>
<<script>>
Config.history.maxStates = 2;
Config.history.controls = false;
<</script>>
<<set $RewardTier =
{
VERY_LOW: 1,
LOW: 2,
MEDIUM: 3,
HIGH: 4,
}>>
<<set $Units =
{
IMPERIAL: 1,
METRIC: 2
}>>
<<set $SymbioteType = "symbiote">>
<<set $SymbioteBoost = "muscles">>
<<set $SymbioteColor = "white">>
<<set $SymbioteName = "Symbiote">>
<<set $LevelUpTable =
[
200,
1000,
2000,
3200,
4500,
5300,
6600,
7900,
9200,
15000,
]>>
/*Stats -BEGIN*/
<<set $Day = 0>>
<<set $Essence = 0>>
<<set $Exp = 0>>
<<set $Level = 1>>
/*Stats -END*/
/*NPCs -BEGIN*/
<<set $Minotaur_Alive = true>>
/*NPCs -END*/
/*Descriptors*/
<<set $Fight_HealthDescriptor = function(maxHP, curHP)
{
if(curHP / maxHP > 0.7)
{
return "healthy";
}
else if(curHP / maxHP > 0.5)
{
return "out of breath";
}
else if(curHP / maxHP > 0.3)
{
return "exhausted";
}
else
{
return "nearly dead";
}
};
>>
<<run setup.fillDestinationArray()>>
<<include FightMove_BasicAttack>>
<<include FightMove_Lunge>>
<<include FightMove_GooStun>>
<<include FightMove_Masturbate>>
<<include FightMove_IncubusStrike>>
<<include FightMove_IncubusCall>>
<<include FightMove_DoNothing>>
<<include FightMove_Sigil_Vitality>>
<<include FightMove_Sigil_Pain>>
<<include FightMove_Sigil_Perception>>
<<include FightMove_Sigil_Growth>>
<<set $FightMoves = [$FightMove_Basic_Attack,
$FightMove_Do_Nothing,
$FightMove_Submit_Completely,
$FightMove_Goo_Stun,
$FightMove_IncubusCall,
$FightMove_IncubusStrike,
$FightMove_Lunge,
$FightMove_Masturbate,
$FightMove_Sigil_Vitality,
$FightMove_Sigil_Pain,
$FightMove_Sigil_Perception,
$FightMove_Sigil_Growth,
]>>
<<set $FightVariables =
{
currentHP: undefined,
currentStamina: undefined,
currentArousal: undefined,
currentFightMove: undefined,
stunnedDuration: undefined,
surrender: false,
maxHPMods: [],
maxStaminaMods: [],
strengthMods: [],
accuracyMods: [],
arousalGainMods: [],
staminaRecoveryMods: [],
corruptionMods: [],
musclesMods: [],
heightMods: [],
cockMods: [],
fightMovesMods: [],
currentFightMoveOutcome: undefined,
persistentEffects: [],
fightModifiers: [],
}>>
<<set $Quest_CanExplore = false>>
<<set $Quest_InProgress = [$Quest_MQ001]>>
<<set $RandomEncounters = ["CharacterSheet_Imp", "CharacterSheet_Tok", "CharacterSheet_Lakkos"]>>
<<set $Special_Move_Stunned =
{
name: "Stunned",
preparation: function(character)
{
return character.info.name + " is stunned and cannot move!"
},
attackAttemptDesc: function(character)
{
if(character.fight.variables.stunnedDuration > 0)
{
return character.info.name + " tries to snap out of it."
}
else
{
return character.info.name + " came back to their senses and is readying their next attack!"
}
},
activationCondition: function(character)
{
return true;
},
dmg: 0,
staminaCost: 0,
accuracyMod: 100,
skillDescription: "Wait until you regain your senses.",
additionalEffects: []
}>>
<<set $Player_Symbiote_Modifiers_Level_1 =
{
maxHPMod: 25,
maxStaminaMod: 20,
strengthMod: 10,
accuracyMod: 10,
arousalGainMod: -10,
staminaRecoveryMod: 3,
fightMovesMod: [$FightMove_Goo_Stun],
modifierDesc: function() {return $SymbioteType + " level 1"},
onApplyDescription: "Arousal overtakes you. \n A thick "+$SymbioteColor+" goo emerges from your pores. \n You turn into a massive muscular "+$SymbioteColor+" "+$SymbioteType+". \n",
}>>
<<set $Player_Transformation_Modifiers =
{
maxHPMods: {mod: setup.mod.ADD, value: setup.getSymbioteStats().maxHPMod},
maxStaminaMods: {mod: setup.mod.ADD, value: setup.getSymbioteStats().maxStaminaMod},
strengthMods: {mod: setup.mod.ADD, value: setup.getSymbioteStats().strengthMod},
accuracyMods: {mod: setup.mod.ADD, value: setup.getSymbioteStats().accuracyMod},
arousalGainMods: {mod: setup.mod.REPLACE, value: setup.getSymbioteStats().arousalGainMod},
staminaRecoveryMods: {mod: setup.mod.ADD, value: setup.getSymbioteStats().staminaRecoveryMod},
fightMovesMods: {mod: setup.mod.ADD, value: setup.getSymbioteStats().fightMovesMod},
additionalInfo: "Adds extra Combat Actions",
modifierDesc: function() {return setup.getSymbioteStats().modifierDesc()},
onApplyDescription: setup.getSymbioteStats().onApplyDescription,
endCondition: function(character)
{
if(character.fight.variables.currentArousal <= 0)
{
State.variables.HasSymbiote = false;
return true;
}
return false;
}
}>>
<<set $FightMove_Elder_Attack =
{
name: "Attack",
preparation: function(character)
{
return character.info.name + " is crouching with his weapon held firmly."
},
attackAttemptDesc: function(character)
{
return character.info.name + " rushes in and attacks."
},
activationCondition: function(character)
{
return true;
},
dmg: 3,
staminaCost: 0,
accuracyMod: 0,
skillDescription: "A basic attack.",
additionalEffects: []
}>>
<<set $FightMove_Elder_Do_Nothing =
{
name: "Do Nothing",
preparation: function(character)
{
var he = setup.getPronoun(character,"pronoun");
return character.info.name + " gazes at your monstrous form...";
},
attackAttemptDesc: function(character)
{
return character.info.name +" strikes your massive form, it does nothing.";
},
activationCondition: function(character)
{
return true;
},
doesNothing: true,
dmg: 0,
staminaCost: 0,
accuracyMod: 100,
skillDescription: "Lets your opponent attack freely.",
additionalEffects: []
}>>
<<set $InfoSheet_Elder =
{
name: "The Eldest",
gender: "MALE",
corruption: 0,
muscles: 0,
height: 73,
cock: 7,
alive: true
}>>
<<set $FighterSheet_Elder =
{
hp: 26,
stamina: 25,
strength: 0,
accuracy: 50,
arousalGain: 0,
staminaRecovery: 4,
variables: $FightVariables,
fightMoves: [$FightMove_Elder_Attack, $FightMove_Elder_Do_Nothing],
abilities: [],
onMaxArousal: function(character)
{
//todo
},
aiFightStart: function()
{
State.variables.CharacterSheet_Player.fight.variables.currentArousal = 70;
State.variables.CharacterSheet_Player.fight.variables.cantSubmit = true;
},
postAttacksAIUpdate: function()
{
if(State.variables.HasSymbiote)
{
this.variables.sawTransformation = true;
}
},
getNextFightMove: function()
{
if(this.variables.sawTransformation)
{
return this.fightMoves[1];
}
else
{
return this.fightMoves[0];
}
},
fightReward: $RewardTier.VERY_LOW,
encounterIntroText: "intro",
encounterStartText: "<<include Quest_MQ001_VisitElder_FightStart>>",
outcomePlayerWins: "<<include Quest_MQ001_VisitElder_FightEnd>>",
outcomePlayerLoses: "<<include Quest_MQ001_VisitElder_FightEnd>>"
}>>
<<set $CharacterSheet_Elder =
{
info: $InfoSheet_Elder,
fight: $FighterSheet_Elder
}>>
<<set $FighterSheet_Imp =
{
hp: 18,
stamina: 6,
strength: 6,
accuracy: 45,
arousalGain: 20,
staminaRecovery: 2,
variables: $FightVariables,
fightMoves: [$FightMove_Basic_Attack],
abilities: [],
onMaxArousal: function(character)
{
//todo
},
fightReward: $RewardTier.LOW,
encounterIntroText: "You stumble upon a hostile imp.",
encounterStartText: "The small demon seems to have a few tricks up its sleeve.",
outcomePlayerWins: "The Imp falls down and tries to get back up. He promises to give you power if you spare him. \n \n [[Accept the Imp's proposal->Imp Fight Won - Deal]] \n [[Leave->Imp Fight Won - NoDeal]]",
outcomePlayerLoses:
"The Imp brings you down to your knees. \n \n[[Escape->Village]] \n[[Submit->Imp Fight Lost]]"
}>>
<<set $InfoSheet_Imp =
{
name: "Imp",
gender: "MALE",
corruption: 0,
muscles: 0,
height: 64,
cock: 12,
alive: true
}>>
<<set $CharacterSheet_Imp =
{
info: $InfoSheet_Imp,
fight: $FighterSheet_Imp
}>>
<<set $InfoSheet_Lakkos =
{
name: "Lakkos",
gender: "MALE",
corruption: 70,
muscles: 0,
height: 68,
cock: 9,
alive: true
}>>
<<set $FighterSheet_Lakkos =
{
hp: 35,
stamina: 25,
strength: 9,
accuracy: 70,
arousalGain: 20,
staminaRecovery: 4,
variables: $FightVariables,
fightMoves: [$FightMove_Basic_Attack, $FightMove_IncubusCall, $FightMove_IncubusStrike],
abilities: [$Ability_HerculeanBuild],
onMaxArousal: function(character)
{
//todo
},
fightReward: $RewardTier.MEDIUM,
encounterIntroText: "<<include Encounter_Intro_Lakkos>>",
encounterStartText: "<<include Encounter_Start_Lakkos>>",
outcomePlayerWins: "<<include Encounter_Win_Lakkos>>",
outcomePlayerLoses: "<<include Encounter_Loss_Lakkos_0>>"
}>>
<<set $CharacterSheet_Lakkos =
{
info: $InfoSheet_Lakkos,
fight: $FighterSheet_Lakkos
}>>
<<set $FighterSheet_Player =
{
hp: 20,
stamina: 20,
strength: 10,
accuracy: 55,
arousalGain: 7,
staminaRecovery: 2,
variables: $FightVariables,
fightMoves: [$FightMove_Basic_Attack, $FightMove_Masturbate, $FightMove_Do_Nothing, $FightMove_Submit_Completely],
abilities: [],
onMaxArousal: function(character)
{
if(!State.variables.HasSymbiote)
{
State.variables.HasSymbiote = true;
setup.applyFightModifier(character, setup.getSymbioteModifier(character));
character.fight.variables.currentHP = Math.min(character.fight.variables.currentHP + setup.getSymbioteModifier(character).maxHPMods.value, setup.getMaxHP(character));
character.fight.variables.currentStamina = Math.min(character.fight.variables.currentStamina + setup.getSymbioteModifier(character).maxStaminaMods.value, setup.getMaxStamina(character));
return setup.getSymbioteModifier(character).onApplyDescription;
}
return "";
},
outcomePlayerWins: "",
outcomePlayerLoses: ""
}>>
<<set $InfoSheet_Player =
{
name: "Player",
gender: "MALE",
corruption: 0,
muscles: 0,
height: 68,
cock: 6,
alive: true
}>>
<<set $CharacterSheet_Player =
{
info: $InfoSheet_Player,
fight: $FighterSheet_Player
}>>
<<set $FighterSheet_Tok =
{
hp: 72,
stamina: 20,
strength: 6,
accuracy: 70,
arousalGain: 20,
staminaRecovery: 2,
variables: $FightVariables,
fightMoves: [$FightMove_Lunge,$FightMove_Goo_Stun],
abilities: [$Ability_WideAttacks],
onMaxArousal: function(character)
{
//todo
},
fightReward: $RewardTier.HIGH,
encounterIntroText: "While traversing a quiet swamp, you feel thunderous footsteps shake the ground near you. From behind the shapes of nearby trees, you see a muscle bound black titan strolling. His green eyes shone against the gathering twilight. Suddenly, he stopped and looked towards you."
+ "\n\n His huge cock slowly rose to life."
+ "\n You gazed upon his muscular body. Large white lines laid across his arms and chest. Thick black goop dripped from his whole form as he walked towards you dominantly."
+ "\n\n \"Mnnn.... People don't cross here often, what brings you here before I snack off ya?\""
+ "\n\n It was next to certain he had plans for you, most likely nefarious given his predatory smirk.",
encounterStartText: "His immense stature is intimidating, he looks powerful enough to break you in half. Yet you feel an alien instinct warp your reason. The sight of his massive muscles and cock nearly drives you mad with excitement. Your own cock throbs as you ready your weapon."
+ "\n The fear is all gone, all you think of is to make this beast yours.",
outcomePlayerWins:
"Tok falls down and tries to get back up. \n \"H...How...?\" He used to be the stronger being, but you've changed... He quickly turns into a puddle of goo and runs away \n \n [[You did it!->Tok Fight Won]]",
outcomePlayerLoses:
"Tok brings you down to your knees. \n \n[[Continue->Tok Fight Lost]]"
}>>
<<set $InfoSheet_Tok =
{
name: "Tok",
gender: "MALE",
corruption: 0,
muscles: 40,
height: 160,
cock: 6,
alive: true
}>>
<<set $CharacterSheet_Tok =
{
info: $InfoSheet_Tok,
fight: $FighterSheet_Tok
}>>
You looked down at the demon. He slowly struggled to get back up with no success.
You imagined yourself with some of Lakkos's features and powers. The horns, the massive cock, his control over people's lust and size.
It could all be yours.
You went to the incubus and placed your hand upon his head.
He looked at you in confusion when he suddenly felt pure power enter him. His slitted red eyes glowed red as he shivered.
"What… What is this?" This confirmed your suspicion. He could not gather Essence out of people like you could. This was his first taste of pure, concentrated power.
[[Give him Essence->Transformation_Incubus_Level1_2]]
His muscles throbbed with strength as he got up. He seemed fully healed, like he hadn't fought for days. Then he burst with growth.
In one sudden rush of energy, he moaned as strength filled his whole frame. Cum oozed from his cock, his newfound energy bringing him to the edge of orgasm.
"Ahhhhh… Oh fuck… This power…"
He groped your cock and pecs.
"You made the right choice."
He kissed you deeply.
A glowing red sigil suddenly appears around you. The same red as the demon's glowing eyes.
[[Let demonic powers enter you->Transformation_Incubus_Level1_3]]
You feel it surround you. An energy that you don't quite understand.
It's fiery and passionate, like a force of nature. It shot inside your soul and tainted it to the core.
You felt your restraints melt away. Lust, sex and power slowly became your greatest needs. Horns slowly grew on your forehead.
Lakkos grinned and went down on your cock. He sucked the whole thing. All <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "cock"))>>. With every thrust of his head you felt it pulsate with energy.
Your horns kept growing until the reached <<print setup.getHornsSize($CharacterSheet_Player)>>, they curved and rose straight up. Each were almost as thick as your wrists.
You felt Lakkos suck you faster and harder. You were so close to the edge.
You looked at the demon with your now slitted purple eyes.
"I want more… I want it all!" You declared, showing the incubus your now razor sharp canines.
[[Complete the transformation->Transformation_Incubus_Level1_4]]
<<run setup.learnAbility($CharacterSheet_Player, $Ability_DemonicCorruption)>>
You brought Lakkos to the edge. He pulled back, freeing your now <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "cock"))>> purple cock.
He moaned loudly as he jerked off while gazing at your new demonic body. You also felt lust overwhelm you as the sigil burned with hell's fire.
You both roared and came all over each other. Both of your seed filled you with an unholy vitality and only rose your lustful hunger.
Your bodies grew in size, a reflection of your newfound powers.
<<print setup.getFightReward($CharacterSheet_Lakkos)>>
You kept going, having sex for hours and hours with Lakkos. Yet your hunger was not satisfied, you needed more than sex… You had to gain true power to fully become a demon.
With enough Essence, you feel Lakkos could turn you even stronger…
[[Return Home->Village]]
Lakkos fell down out of exhaustion but grinned all the same. He knew you wanted more, no one could resist the appeal of demonic powers.
You rushed to him placed your hand on his head once again. He licked your cock out of sheer need as pure power coursed through him.
"Hehehe… I can feel some of my old powers coming back..."
His chuckles turned into a maniacal laugh.
You saw is pecs and shoulders grow as he got to his feet. His whole body radiated with a dark red aura.
“I owe you a lot for this...”
His cock grew <<print setup.getLength(10)>>.
<<set setup.applyGrowth($CharacterSheet_Lakkos, "cock", 10)>>
[[Accept Lakkos's Reward->Transformation_Incubus_Level2_2]]
You suddenly noticed his hands smoking with black, demonic energy. A circle of pure darkness appeared from under you.
“Now, let the powers of hell fully enter your being...”
A shape formed along the surface of the black circle. It throbbed, gathering the surrounding darkness to grow outward.
The half formed tendril waved towards you. You noticed a thick purple liquid that oozed from the tip.
“Hmmm… Take it. Accept this gift straight from the embodiment of lust.”
It went for your mouth, your grabbed it and eagerly sucked at the tip.
Your eyes widened, your cock became harder than it’s ever been. An unholy lust rose within you.
More tendrils emerged from the dark portal, you heard Lakkos release a loud moan. His growth had accelerated.
His still growing cock now reached <<print setup.getLength($CharacterSheet_Lakkos.info.cock)>>.
[[Give in to Lust->Transformation_Incubus_Level2_3]]
Some tendrils joined the other and went for your mouth. Some coiled around your cock, jerking it hungrily.
Others reached for your ass. You felt your entrance widen as the oily appendages spread their demonic essence inside you.
The purple liquid entered you from the inside, it fused with your prostate, upgrading it to bring you pleasure beyond what you could ever imagine.
You panted as Lakkos jerked off in front of you.
The tendrils then went to work, they fucked you better than anything could, three pushed deep inside your ass while four massaged your cock and balls.
A thin one slowly entered your cock slit, feeding your tool with demonic energy.
You came but it did not care, they kept pleasuring you in every way. Before long your arousal stayed at an all time high.
It felt like you could chain orgasms forever.
[[Embrace your transformation->Transformation_Incubus_Level2_4]]
Something grew over your arms and legs. The skin around them grew darker and darker until it became completely black.
It then grew outward, turning into hard black scales. A bright purple glow emanated between each of those scales.
You grinned and gazed at your arms. Your fingers now ended in thick black claws.
You came again, more tentacles rose and massaged every inch of your body. Your muscles basked in the sheer lust of this demonic beast pleasuring you.
Your form slowly expanded bigger as you came once more.
Your moans could be heard all over the forest. A black forked tail formed behind you. You coiled it around some of the tentacles. You came the last of your human cum. It turned into a thick dark purple demonic seed.
As if to react to the last part of your humanity leaving you, the spell dissipated. Lakkos could now fully see your new body.
You are a <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "height"))>> demon with a <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "cock"))>> cock.
You both shared the same lustful grin. This was enough to get you to fuck for days.
After a whole week of passionate sex, you returned to the village. Lakkos had told you that he could change you one last time if you gathered enough Essence.
<<set $Day = $Day + 7>>
<<run setup.upgradeAbility($CharacterSheet_Player, $Ability_DemonicCorruption.id)>>
<<print setup.getFightReward($CharacterSheet_Lakkos)>>
[[Continue->Village]]
Lakkos can't wait any longer. He comes to you and grabs you by the back of the head. You are pulled into a deep and hungry kiss.
You both need this more than anything.
He feels his old powers reaching out to him, just a little more essence before he regains his old strength. For you, the call of demonic powers is overwhelming.
You break the kiss and push his head down to suck on your <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "cock"))>> cock. He can barely handle it, yet he forces himself to take you.
He rolls his wet demonic tongue on your cock as you let him take every inch down his throat. Some Essence of Power rush inside him once he takes the whole thing.
You want to make him work for his powers. With every suck, you allow him to take a little more. His moans turn deeper each time.
You see his shoulder growing wider and filling with strength. His whole body starts to grow.
You feel his head getting larger under your hand. His tongue covering more and more of your cock. He has to kneel to take you now, his cock pushes upon your legs by doing so.
"Ahhhh… Ahhhh… You're getting into it uhhhhAHHHHH" Your moans turn into screams of pleasure as he suddenly sucks harder and faster.
[[Give him more...->Transformation_Incubus_Level3_2]]
You weren't ready for this. His sucks are beyond godlike. Hundreds of pounds of muscles starts to grow upon his demonic body.
"I… I can't… I'm gonna!" You can see him smile as he grabs your waist and sucks you down to your balls.
"AHHHHHHH" You flood him with cum. And with it, your Essence rushes inside him.
His whole body starts to shake. He looks up to you, his eyes are now completely red and glowing with demonic powers. His horns grow further until they reach behind his head.
\<<run setup.applyGrowth($CharacterSheet_Lakkos, "cock", $CharacterSheet_Lakkos.info.cock * 4)>>
"Oh yessss… Here it comes…" He moans as his cock grows between his hands. He can barely handle it.
He drools, gazing at his now <<print setup.getLength(setup.getStatValue($CharacterSheet_Lakkos, "cock"))>> monster cock.
"Hmmmm… Fuck yeah. A real cock for a real beast!" He laughs madly while stroking himself with his hands and tail.
You could see he was not done. His body keeps shaking as power built inside him.
"I need more… I need to become truly massive to really enjoy this monster…" He grinned and looked at his gigantic cock.
"But first… My end of the bargain, <<print $CharacterSheet_Player.info.name>>"
He brings his clawed hands to the ground. His demonic magic turned the earth around him black and corrupted.
You recognize the black gate to the Embodiment of Lust, but this time it's massive. More than <<print setup.getLength(30)>> of pure corruption surrounds you.
Lakkos laughs as he focuses his power back on himself. You see his scales pulsate with red demonic energy.
He grows and grows until his previously <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "height"))>> body reaches reaches <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "height") * 2.5)>>.
His laughs become deeper and more demonic as his changes show no signs of stopping. Thick precum oozes from his cock as he grasps his monster with glee.
\<<run setup.applyGrowth($CharacterSheet_Lakkos, "height", $CharacterSheet_Lakkos.info.height * 2.5)>>
[[Embrace the Corruption->Transformation_Incubus_Level3_3]]
Suddenly, countless tentacles rise from the depth of the black portal. They feel the unholy lust radiating from the both of you.
Some coils around Lakkos's gigantic cock and massage it from every angle. But most crawl towards you.
The smell of your black soul begging to be fully corrupted drives them mad. They rush up your legs and enter your ass without warning.
Your moans are louder than the giant demon’s. Tentacles move along your cock and balls, drenching them with the same demonic liquid that changed you last time.
But now you can take so much more… You force your ass down on the tentacles, inviting them to fill you deeper.
You grasp some of them and jack them off, they drench your body with their corrupting essence.
As if to respond to your mad need for pleasure, countless black tendrils emerge.
You feel them slither around your legs, completely covering every inch of your scales in a wet and warm embrace.
Once they reach your waist, you unleash a raw scream of manic lust. They attach to your cock and ball, injecting their demonic essence directly inside them.
You feel them grow and churn with the purple liquid.
“Oh fuck… Oh fuuuuuck… Moooooore...”
Your cock shoots blanks at every seconds. The tendrils crawl up your chest and a massive tentacle enters your mouth.
You suck it like your life depends on it. You feel it bulge and expand as liters of thick demonic goo erupts from it. You try to take it all.
An unholy energy fills your while being, you are now fully covered by the loving tendrils of a god from beyond.
[[Become Something More...->Transformation_Incubus_Level3_4]]
<<run setup.upgradeAbility($CharacterSheet_Player, $Ability_DemonicCorruption.id)>>
Lakkos could only stare in amazement, you were now covered by so many tentacles, it was like being encased in a cocoon.
Your silhouette changed, he could see your muscles filling with power. The cocoon was stretching to contain your growing form.
The incubus knew you were turning into more than a demon, you had been chosen. Blessed by Lust itself. All you needed was one last push.
He would gladly provide it.
He roared as his cock sprayed your casing like a broken dam. Your body fed on its unholy energy, getting wider and taller.
You felt scales grow along every surface of your body. Your head throbbed as a new set of large horns grew from your temples.
They curved and grew to reach behind your head. Your cock pressed on the walls of your enclosure as it grew. You could feel your own dam breaking.
The cocoon stretched to reach <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "height"))>>, your now massive form pushed itself on the edge.
You grew and grew until the cocoon couldn't handle your monstrous form anymore. Once it reached its breaking point, you slashed at its surface with your now thicker claws.
Liters of thick demonic seed flowed as you step out.
You are now fully covered in black spiky scales. A purple glow constantly radiates from between each of them.
The purple slit of your eyes are now surrounded by pure black scleras. Your now <<print setup.getLength(setup.getStatValue($CharacterSheet_Player, "cock"))>> cock constantly throbs with need.
Lakkos drools at your new form, your grin at him in response, exposing your new set of sharp, pointed teeth.
Calling you a demon would be an understatement at this point, your total devotion to your arousal turned you into something more… A true Lord of Lust.
[[Fuck Lakkos->Transformation_Incubus_Level3_5]]
You jumped at Lakkos. You fucked in every way possible. You kept going for weeks, without any breaks.
His gigantic form was a lot to handle, but you wished you and him were even bigger. Power and Lust drove your every thought.
Weeks turned into months. You fucked and fucked until you finally adjusted to your demonic body.
Lakkos loved every second of it, maybe being banished here wasn’t so bad for him after all.
You finally reached the point where you felt a distant memory slowly emerge from your mind. An old duty that was never complete.
You left soon after, your goals and instincts had changed and yet...
You continued your quest.
<<set $Day = $Day + 120>>
<<print setup.getFightReward($CharacterSheet_Lakkos)>>
[[Continue->Village]]
<<set $Quest_MQ001 =
{
id:"MQ001",
description: "Something fell from the sky. I should have died but here I am... Still, today is the day I can finally become a Protector. There is no way I can let this opportunity fly by.",
villageDescriptor: "Some smoke still rises from where the meteor hit yesterday. You glance upon some salvagers heading to the crash site.\n"+
"Others are moving along, trying to make it in this poor but safe place.",
villagePassage: "[[Visit the Eldest->Quest_MQ001_VisitElder]]",
onComplete: function()
{
State.variables.Quest_CanExplore = true;
}
}>>
You enter the ruined Temple of the Eldest.
The metallic structure contrasts heavily with the rest of the village.
You see a lone figure at the center, the light reflecting on his metallic skin gives it a soft glow.
You can hear the soft rumble of his throne as you approach.
He does not seem to notice your presence as you bow. His last functional eye softly gazes at the talisman in his mechanical claw.
[[Is everything ok?->Quest_MQ001_VisitElder_1]]
“I’m sorry <<print $CharacterSheet_Player.info.name>>… I did not see you come in.”
He seemed worried, this was not a good sign.
“I know you were supposed to be promoted to protector of the village, but something’s happened."
He looks away, hidding his dread.
"We lost Cray… Someone has to become the new Salvager for the village.”
You were confused. Cray had been your role model for years. His stories kept you motivated to keep training for as long as you can remember.
Did he get imprisonned?
[[What happened to him?->Quest_MQ001_VisitElder_2]]
“He left his Talisman of Guidance here, wherever he is, he chose to not find his way back here.”
You were startled, leaving without a talisman was worse than death. It was a path to damnation.
“I suspect that he was corrupted by the Cult of Nyx… But more importantly, the people here need some flow of Essence coming in... Without it I fear they would become..."
He lowers his voice. "Unwell..."
You looked at him in disbelief, yet you know The Eldest never lies.
"You're the best warrior we have right now..."
After some respite, you answered.
[[I'll do my best->Quest_MQ001_VisitElder_3_FriendlyResponse]]
[[I just want to get out of here->Quest_MQ001_VisitElder_3_RudeResponse]]
"Thank you. Be careful and follow your heart once you're out there"
He gives you a sad look.
"I truly hope you don't let the horrors beyond change your ways."
He almost hands you Cray's talisman but stops halfway.
"But before I let you go, I have to see if you can handle the outside world."
\<<set $Encounter_Target = $CharacterSheet_Elder>>
[[Brace Yourself->FightLogic]]
He looks fazed.
There's a long silence between you two.
He examines you deeply.
"You weren't always like this... I hope exploring the world beyond can help you find your way..."
He almost hands you Cray's talisman but stops halfway.
"But before I let you go, I have to see if you can handle the outside world."
\<<set $Encounter_Target = $CharacterSheet_Elder>>
[[Brace Yourself->FightLogic]]The Eldest got up from his throne, counteless wires rise up with him.
Even with his body ruined by centuries of the harsh desertic climate, he stands ready to fight you.
He seemed disturbed by your transformation, but at the same time, seeing you this powerful seemed to have granted him the peace of mind he seeked.
“I could sense it even when you turned into this monster… You were still here.”
He hands you Cray’s talisman.
“Remember, if you lose your soul, always follow the guidance of the talisman. We can’t lose another warrior...”
You nodded. This did not go how you expected, but you accepted the talisman.
<<print setup.getFightReward($CharacterSheet_Elder)>>
You are now allowed to leave the village.
\<<run setup.completeQuest($Quest_MQ001)>>
[[Village->Village]]
<<set $Quest_MQ002 =
{
id:"MQ002",
description: "While exploring, I found a strange portal. In front of it laid the sigil of the Cult of Nyx. They are probably ready for intruders...",
villagePassage: "[[Go to the Cult of Nyx's hideout->Quest_MQ002_Entrance]]",
onComplete: function()
{
//todo
}
}>>
Coming soon...
[[Village->Village]]
As you explore the never ending desert of the Barrens, something catches your attention in the horizon.
A lone black structure stands surrounded by dunes.
As you approach, you recognize its shape. Without a doubt, it's the sigil of the Cult of Nyx.
A bright red portal lays at the base of it. You take a mental note of the path you took to be here, this was surely an entrance to the malicious cult's hideout.
<<run $Quest_InProgress.push($Quest_MQ002)>>
You can now travel to the Cult of Nyx's hideout from the village!
[[Village->Village]]
<<script>>
var i;
for(i = 0; i < State.variables.Explore_Destinations.length; i++)
{
if(State.variables.Explore_Destinations[i] == "Quest_MQ002_Entrance_FirstTime")
{
State.variables.Explore_Destinations.splice(i, 1);
break;
}
}
<</script>>