diff --git a/combat.js b/combat.js index 6ddd35f..55617cb 100644 --- a/combat.js +++ b/combat.js @@ -308,6 +308,9 @@ function grappledReverse(attacker) { return ["Your prey tries to grab at you, but you keep them under control."]; } }, + conditions: [ + function(attacker, defender) { return defender.flags.grapple; } + ], requirements: [ function(attacker, defender) { return isGrappled(attacker) && isNormalSize(attacker) && isNormal(defender); }, function(attacker, defender) { return attacker.flags.grappled; } diff --git a/customs.js b/customs.js index 7316252..66169e3 100644 --- a/customs.js +++ b/customs.js @@ -966,8 +966,11 @@ function Selicia() { this.attacks.push(seliciaGrabSwallow(this)); this.attacks.push(seliciaGrabUnbirth(this)); + this.attacks.push(grappledReverse(this)); + this.attacks.push(seliciaPin(this)); this.attacks.push(seliciaPinUnbirth(this)); + this.attacks.push(seliciaPinGrind(this)); this.digests = []; @@ -1047,7 +1050,8 @@ function seliciaTailCrush(attacker) { function(attacker, defender) { return attacker.flags.voreType == "tail"; } ], priority: 1, - weight: function(attacker, defender) { return 1; } + weight: function(attacker, defender) { return 1; }, + gameover: function() { return "Constricted by Selicia's tail"; } }; } @@ -1203,6 +1207,24 @@ function seliciaPinUnbirth(attacker) { }; } +function seliciaPinGrind(attacker) { + return { + attackPlayer: function(defender) { + attack(attacker, defender, attacker.str*2); + attacker.changeStamina(-10); + defender.changeStamina(-25); + return ["Selicia grinds over your pinned body, smearing you in her scent and wearing you out and dealing " + attack(attacker, defender, attacker.str*2) + "damage."]; + }, requirements: [ + function(attacker, defender) { return isNormal(attacker) && isGrappled(defender); }, + function(attacker, defender) { return attacker.flags.voreType == "unbirth"; } + ], + priority: 1, + weight: function(attacker, defender) { return 1; }, + gameover: function() { return "Snuffed out by Selicia's lust"; } + }; +} + + function seliciaUnbirthPull(predator) { return { digest: function(player) { diff --git a/feast.js b/feast.js index 800a1bd..f634eb6 100644 --- a/feast.js +++ b/feast.js @@ -666,7 +666,7 @@ function status() { update(lines); } -let toSave = ["str","dex","con","name","species"]; +let toSave = ["str","dex","con","name","species","health","stamina"]; function saveGame() { let save = {};