Browse Source

Fixed wolves not struggling. Alpha wolf can fail to charge at you. Fixed player prey not resetting on death. Fixed failed respawn. Fixed Poojawa encounter not appearing

tags/v0.2.8
Fen Dweller 7 years ago
parent
commit
3cb352e546
3 changed files with 29 additions and 9 deletions
  1. +5
    -5
      customs.js
  2. +11
    -1
      feast.js
  3. +13
    -3
      forest.js

+ 5
- 5
customs.js View File

@@ -469,7 +469,7 @@ function tranceDigestCrush(predator, damage=75) {
}
],
priority: 1,
weight: function() { return defender.prefs.vore.hard / 0.5; }
weight: function(attacker, defender) { return defender.prefs.vore.hard / 0.5; }
};
}

@@ -1689,11 +1689,11 @@ function PoojawaEncounter() {
startCombat(new Poojawa());
},
conditions: [
function(prefs) {
return prefs.prey;
function(player) {
return player.prefs.prey;
},
function(prefs) {
return prefs.vore.oral > 0 || prefs.vore.tail > 0 || prefs.vore.unbirth > 0;
function(player) {
return player.prefs.vore.oral > 0 || player.prefs.vore.tail > 0 || player.prefs.vore.unbirth > 0;
}
]
});


+ 11
- 1
feast.js View File

@@ -523,8 +523,18 @@ function respawn(respawnRoom) {
player.clear();
player.stomach.contents = [];
player.bowels.contents = [];
player.bowels.waste = 0;
player.bowels.digested = [];
player.bowels.fullness = 0;
player.womb.contents = [];
player.womb.waste = 0;
player.womb.digested = [];
player.balls.contents = [];
player.balls.waste = 0;
player.balls.digested = [];
player.breasts.contents = [];
player.breasts.waste = 0;
player.breasts.digested = [];

advanceTime(Math.floor(86400 / 2 * (Math.random() * 0.5 - 0.25 + 1)));
changeMode("explore");
player.health = 100;


+ 13
- 3
forest.js View File

@@ -49,6 +49,8 @@ function Wolf() {
this.attacks.push(wolfTackleBite(this));
this.attacks.push(wolfTackleSwallow(this));

this.attacks.push(grappledStruggle(this));

this.backupAttack = pass(this);

this.struggles = [];
@@ -97,6 +99,9 @@ function AlphaWolf() {

this.attacks.push(wolfSwallow(this));

this.attacks.push(grappledStruggle(this));
this.attacks.push(grappledReverse(this));

this.backupAttack = pass(this);

this.struggles = [];
@@ -236,9 +241,14 @@ function wolfTackleSwallow(attacker) {
function wolfSwallow(attacker) {
return {
attackPlayer: function(defender){
attacker.flags.stage = "oral";
changeMode("eaten");
return [attacker.description("The") + " charges, closing the gap in the blink of an eye and jamming your upper body into its massive, drool-slathered maw. <i>Glrp, glllpkh, gulp</i> - and you're in its throat, thrashing and struggling as you plunge into the greedy beast's sloppy stomach."];
let success = statCheck(attacker, defender, "dex") || defender.stamina == 0;
if (success) {
attacker.flags.stage = "oral";
changeMode("eaten");
return [attacker.description("The") + " charges, closing the gap in the blink of an eye and jamming your upper body into its massive, drool-slathered maw. <i>Glrp, glllpkh, gulp</i> - and you're in its throat, thrashing and struggling as you plunge into the greedy beast's sloppy stomach."];
} else {
return [attacker.description("The") + " lunges at you, racing up with jaws splayed wide open. You leap to the side, barely avoiding the greedy beast's maw as it barrels past, growling and snapping in frustration."];
}
},
conditions: [
function(attacker, defender) {


Loading…
Cancel
Save