diff --git a/customs.js b/customs.js index 0bb2571..a0f8d89 100644 --- a/customs.js +++ b/customs.js @@ -1719,6 +1719,8 @@ function Poojawa() { this.attacks.push(poojawaUnbirthPull(this)); this.attacks.push(poojawaUnbirthPush(this)); + this.attacks.push(poojawaUnbirthClench(this)); + this.attacks.push(poojawaUnbirthOrgasm(this)); this.attacks.push(poojawaUnbirthLastPull(this)); this.attacks.push(poojawaUnbirthedDigest(this)); @@ -1776,6 +1778,7 @@ function Poojawa() { this.flags.oral = 0; this.flags.unbirth = 1; this.flags.progress = 0; + this.flags.arousal = 0; this.startCombat = function(player) { player.flags.teases = 0; @@ -2100,13 +2103,14 @@ function poojawaCaughtUnbirth(poojawa) { } ], priority: 1, - weight: function(poojawa, player) { return player.prefs.vore.unbirth * (0.5 + poojawa.flags.unbirth / 6); } + weight: function(poojawa, player) { return player.prefs.vore.unbirth * (0.5 + Math.pow(poojawa.flags.unbirth,2) / 6); } }; } function poojawaUnbirthPull(poojawa) { return { attackPlayer: function(player) { + poojawa.flags.arousal += 1; poojawa.flags.progress += 1; return ["A powerful ripple of muscle drags you deeper."]; }, @@ -2123,9 +2127,29 @@ function poojawaUnbirthPull(poojawa) { }; } +function poojawaUnbirthClench(poojawa) { + return { + attackPlayer: function(player) { + poojawa.flags.arousal += 2; + return ["Muscular walls clench and crush in on you, grinding hard and eliciting a gasp from your captor."]; + }, + requirements: [ + function(poojawa, player) { + return poojawa.flags.state == "unbirth"; + }, + function(poojawa, player) { + return poojawa.flags.progress > 1; + } + ], + priority: 1, + weight: function(poojawa, player) { return 1; } + }; +} + function poojawaUnbirthPush(poojawa) { return { attackPlayer: function(player) { + poojawa.flags.arousal += 4; poojawa.flags.progress -= 1; return ["Poojawa grips your ankles, yanking you part-way free and moaning in pleasure. You must feel so good..."]; }, @@ -2142,6 +2166,25 @@ function poojawaUnbirthPush(poojawa) { }; } +function poojawaUnbirthOrgasm(poojawa) { + return { + attackPlayer: function(player) { + poojawa.flags.state = "unbirthed"; + return ["Poojawa yowls in pleasure as she cums...and yanks you inside in a single, massive glrpk of unstoppable musckle. She flops onto her belly, panting and groaning as she rides down from that pleasurable high."]; + }, + requirements: [ + function(poojawa, player) { + return poojawa.flags.state == "unbirth"; + }, + function(poojawa, player) { + return poojawa.flags.arousal >= 10; + } + ], + priority: 2, + weight: function(poojawa, player) { return 1; } + }; +} + function poojawaUnbirthLastPull(poojawa) { return { attackPlayer: function(player) { @@ -2204,7 +2247,7 @@ function poojawaCaughtOral(poojawa) { } ], priority: 1, - weight: function(poojawa, player) { return player.prefs.vore.oral * (0.5 + poojawa.flags.oral / 6); } + weight: function(poojawa, player) { return player.prefs.vore.oral * (0.5 + Math.pow(poojawa.flags.oral,2) / 6); } }; } @@ -2265,7 +2308,7 @@ function poojawaCaughtTail(poojawa) { } ], priority: 1, - weight: function(poojawa, player) { return player.prefs.vore.tail * (0.5 + poojawa.flags.tail / 6); } + weight: function(poojawa, player) { return player.prefs.vore.tail * (0.5 + Math.pow(poojawa.flags.tail,2) / 6); } }; }