| @@ -884,11 +884,11 @@ function Selicia() { | |||||
| this.startCombat = function() { return ["You stumble across a small cave. Stepping closer to investigate, you find yourself face-to-face with a glossy, slender dragon! Her ten-foot body is matched by a tail that's nearly as long, and she looms over you, devious blue eyes framed by curved horns."]; }; | this.startCombat = function() { return ["You stumble across a small cave. Stepping closer to investigate, you find yourself face-to-face with a glossy, slender dragon! Her ten-foot body is matched by a tail that's nearly as long, and she looms over you, devious blue eyes framed by curved horns."]; }; | ||||
| this.finishDigest = function() { | this.finishDigest = function() { | ||||
| switch(this.flags.voreType) { | switch(this.flags.voreType) { | ||||
| case "stomach": return ["The dragon's belly breaks you down..."]; | |||||
| case "womb": return ["The dragon's womb melts you down into femcum..."]; | |||||
| case "stomach": return ["The dragoness's belly breaks you down..."]; | |||||
| case "womb": return ["The dragoness's womb melts you down into femcum..."]; | |||||
| } | } | ||||
| return ["The kitsune digests you..."]; | |||||
| return ["The dragoness digests you..."]; | |||||
| }; | }; | ||||
| this.defeated = function() { startDialog(FallenFoe(this)); }; | this.defeated = function() { startDialog(FallenFoe(this)); }; | ||||
| @@ -909,15 +909,15 @@ function Selicia() { | |||||
| this.digests = []; | this.digests = []; | ||||
| //this.digests.push(seliciaStomachDigest(this)); | |||||
| this.digests.push(seliciaStomachDigest(this)); | |||||
| this.digests.push(seliciaUnbirthPull(this)); | this.digests.push(seliciaUnbirthPull(this)); | ||||
| this.digests.push(seliciaWombDigest(this)); | this.digests.push(seliciaWombDigest(this)); | ||||
| this.struggles = []; | this.struggles = []; | ||||
| //this.struggles.push(seliciaStomachStruggle(this)); | |||||
| //this.struggles.push(seliciaUnbirthStruggle(this)); | |||||
| //this.struggles.push(seliciaWombStruggle(this)); | |||||
| this.struggles.push(seliciaStomachStruggle(this)); | |||||
| this.struggles.push(seliciaUnbirthStruggle(this)); | |||||
| this.struggles.push(seliciaWombStruggle(this)); | |||||
| this.struggles.push(submit(this)); | this.struggles.push(submit(this)); | ||||
| } | } | ||||
| @@ -1069,6 +1069,21 @@ function seliciaUnbirthPull(predator) { | |||||
| }; | }; | ||||
| } | } | ||||
| function seliciaStomachDigest(predator) { | |||||
| return { | |||||
| digest: function(player) { | |||||
| attack(predator, player, 50); | |||||
| player.changeStamina(-20); | |||||
| return ["Selicia's stomach clenches and grinds, dousing you in her acids."]; | |||||
| }, | |||||
| requirements: [ | |||||
| function(attacker, defender) { return attacker.flags.voreType == "stomach"; } | |||||
| ], | |||||
| priority: 1, | |||||
| weight: function() { return 1; } | |||||
| }; | |||||
| } | |||||
| function seliciaWombDigest(predator) { | function seliciaWombDigest(predator) { | ||||
| return { | return { | ||||
| digest: function(player) { | digest: function(player) { | ||||
| @@ -1084,3 +1099,95 @@ function seliciaWombDigest(predator) { | |||||
| weight: function() { return 1; } | weight: function() { return 1; } | ||||
| }; | }; | ||||
| } | } | ||||
| function seliciaStomachStruggle(predator) { | |||||
| return { | |||||
| name: "Struggle", | |||||
| desc: "Try to squirm free. More effective if you've hurt your predator.", | |||||
| struggle: function(player) { | |||||
| let escape = Math.random() > predator.health / predator.maxHealth && Math.random() < 0.33; | |||||
| if (player.health <= 0 || player.stamina <= 0) { | |||||
| escape = escape && Math.random() < 0.25; | |||||
| } | |||||
| if (escape) { | |||||
| return { | |||||
| "escape": "stay", | |||||
| "lines": ["Your struggles force Selicia to hork you up, leaving you dazed and confused on the ground."] | |||||
| }; | |||||
| } else { | |||||
| return { | |||||
| "escape": "stuck", | |||||
| "lines": ["You squirm and writhe, to no avail. The stomach walls squeeze tighter."] | |||||
| }; | |||||
| } | |||||
| }, | |||||
| requirements: [ | |||||
| function(predator, player) { | |||||
| return predator.flags.voreType == "stomach"; | |||||
| } | |||||
| ] | |||||
| }; | |||||
| } | |||||
| function seliciaWombStruggle(predator) { | |||||
| return { | |||||
| name: "Struggle", | |||||
| desc: "Try to squirm free. More effective if you've hurt your predator.", | |||||
| struggle: function(player) { | |||||
| let escape = Math.random() > predator.health / predator.maxHealth && Math.random() < 0.33; | |||||
| if (player.health <= 0 || player.stamina <= 0) { | |||||
| escape = escape && Math.random() < 0.25; | |||||
| } | |||||
| if (escape) { | |||||
| predator.flags.voreType = "unbirth"; | |||||
| return { | |||||
| "escape": "stuck", | |||||
| "lines": ["Your struggles force the dragon to let you out of her womb...but you're still stuck in her snatch."] | |||||
| }; | |||||
| } else { | |||||
| return { | |||||
| "escape": "stuck", | |||||
| "lines": ["You squirm and writhe within the velvety walls of Selicia's womb, to no avail."] | |||||
| }; | |||||
| } | |||||
| }, | |||||
| requirements: [ | |||||
| function(predator, player) { | |||||
| return predator.flags.voreType == "womb"; | |||||
| } | |||||
| ] | |||||
| }; | |||||
| } | |||||
| function seliciaUnbirthStruggle(predator) { | |||||
| return { | |||||
| name: "Struggle", | |||||
| desc: "Try to squirm free. More effective if you've hurt your predator.", | |||||
| struggle: function(player) { | |||||
| let escape = Math.random() > predator.health / predator.maxHealth && Math.random() < 0.33; | |||||
| if (player.health <= 0 || player.stamina <= 0) { | |||||
| escape = escape && Math.random() < 0.25; | |||||
| } | |||||
| if (escape) { | |||||
| return { | |||||
| "escape": "stay", | |||||
| "lines": ["With a mighty shove, you pop free of the dragoness's cooch - a loud, lewd <i>shllk</i> announcing your return to the world."] | |||||
| }; | |||||
| } else { | |||||
| return { | |||||
| "escape": "stuck", | |||||
| "lines": ["You squirm and writhe, to no avail."] | |||||
| }; | |||||
| } | |||||
| }, | |||||
| requirements: [ | |||||
| function(predator, player) { | |||||
| return predator.flags.voreType == "unbirth"; | |||||
| } | |||||
| ] | |||||
| }; | |||||
| } | |||||