From 813fcf72660407f17177cf99879060f4257e6a28 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sat, 17 Mar 2018 20:47:23 -0400 Subject: [PATCH] Added unbirth/cock vore prefs. Pass/submit only when at negative health now --- customs.js | 13 ++++++++++--- feast.html | 13 +++++++++++-- feast.js | 21 ++++++++++++++++----- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/customs.js b/customs.js index 9bbf6cb..38ae2cb 100644 --- a/customs.js +++ b/customs.js @@ -568,7 +568,8 @@ function taluthusGrabCockVore(attacker) { function(attacker, defender) { return isNormal(attacker) && isGrappled(defender) && defender.flags.shrunk != true; }, function(attacker, defender) { return attacker.flags.grappleType == "hands"; } ], conditions: [ - function(attacker, defender) { return defender.prefs.prey; } + function(attacker, defender) { return defender.prefs.prey; }, + function(attacker, defender) { return defender.prefs.vore.cock; } ], priority: 1, weight: function(attacker, defender) { return 1; } @@ -1013,6 +1014,10 @@ function seliciaTailUnbirth(attacker) { return ["Selicia grinds your face against her slit, but you stay free of her greedy confines."]; } }, + conditions: [ + function(attacker, defender) { return defender.prefs.prey; }, + function(attacker, defender) { return defender.prefs.vore.cock; } + ], requirements: [ function(attacker, defender) { return isNormal(attacker) && isGrappled(defender); }, function(attacker, defender) { return attacker.flags.voreType == "tail"; } @@ -1084,7 +1089,8 @@ function seliciaGrabUnbirth(attacker) { function(attacker, defender) { return isNormal(attacker) && isGrappled(defender); }, function(attacker, defender) { return attacker.flags.voreType == "stomach"; } ], conditions: [ - function(attacker, defender) { return defender.prefs.prey; } + function(attacker, defender) { return defender.prefs.prey; }, + function(attacker, defender) { return defender.prefs.vore.cock; } ], priority: 1, weight: function(attacker, defender) { return 2; } @@ -1134,7 +1140,8 @@ function seliciaPinUnbirth(attacker) { function(attacker, defender) { return isNormal(attacker) && isGrappled(defender); }, function(attacker, defender) { return attacker.flags.voreType == "unbirth"; } ], conditions: [ - function(attacker, defender) { return defender.prefs.prey; } + function(attacker, defender) { return defender.prefs.prey; }, + function(attacker, defender) { return defender.prefs.vore.cock; } ], priority: 1, weight: function(attacker, defender) { return 1; } diff --git a/feast.html b/feast.html index 54b5035..c70c3a2 100644 --- a/feast.html +++ b/feast.html @@ -183,15 +183,24 @@
  • - + +
  • +
  • + + +
  • + + +
  • -
  • +
  • +
  • diff --git a/feast.js b/feast.js index 6eda410..38a199a 100644 --- a/feast.js +++ b/feast.js @@ -126,7 +126,11 @@ function updateEaten() { list.removeChild(list.firstChild); } - struggles = filterValid(currentFoe.struggles, currentFoe, player); + if (player.health > 0) + struggles = filterValid(currentFoe.struggles, currentFoe, player); + else + struggles = [submit(currentFoe)]; + for (let i = 0; i < struggles.length; i++) { let li = document.createElement("li"); let button = document.createElement("button"); @@ -147,7 +151,10 @@ function updateCombat() { list.removeChild(list.firstChild); } - playerAttacks = filterValid(player.attacks, player, currentFoe); + if (player.health > 0) + playerAttacks = filterValid(player.attacks, player, currentFoe); + else + playerAttacks = [pass(player)]; if (playerAttacks.length == 0) playerAttacks = [player.backupAttack]; @@ -343,7 +350,11 @@ function applySettings(settings) { if (key.match(/prefs/)) { let tokens = key.split("-"); let pref = player.prefs; - pref = tokens.slice(1,-1).reduce((pref, key) => pref[key], pref); + pref = tokens.slice(1,-1).reduce(function(pref, key) { + if (pref[key] == undefined) + pref[key] = {}; + return pref[key]; + }, pref); pref[tokens.slice(-1)[0]] = settings[key]; } } @@ -452,9 +463,9 @@ function attackClicked(index) { update(["You die..."]); respawn(respawnRoom); } else if (player.health <= 0) { - update(["You fall to the ground..."]); + update(["You're too weak to do anything..."]); if (player.prefs.prey) { - changeMode("eaten"); + // nada } else { killingBlow = attack; update(["You die..."]);