Pārlūkot izejas kodu

Generalized some digestion stuff. Prey is removed properly

tags/v0.2.8
Fen Dweller pirms 7 gadiem
vecāks
revīzija
22b1d65b60
1 mainītis faili ar 46 papildinājumiem un 18 dzēšanām
  1. +46
    -18
      vore.js

+ 46
- 18
vore.js Parādīt failu

@@ -7,7 +7,8 @@ function Creature(name = "Creature") {
this.health = 100;
this.maxHealth = 100;
this.mass = 80;
this.stomach = new Stomach();
this.bowels = new Bowels();
this.stomach = new Stomach(this.bowels);
}

function Player(name = "Player") {
@@ -37,22 +38,9 @@ function Anthro() {

// vore stuff here

function Container(name = "stomach") {
function Container(name) {
this.name = name;
this.contents = [];
this.digested = [];
this.digest = function(time) {

};

this.feed = function(prey) {
this.contents.push(prey);
};
}

function Stomach() {
Container.call(this, "stomach");

// health/sec
this.damageRate = 15*100/86400;

@@ -72,21 +60,61 @@ function Stomach() {
let digested = Math.min(prey.mass, this.digestRate * time);

prey.mass -= digested;

this.fill(digested);
}

if (prey.mass <= 0) {
lines.push("Your churning guts have reduced a " + prey.description() + " to meaty chyme.");
this.digested.push(prey);
lines.push(this.describeDigest(prey));
this.finish(prey);
}

}, this);

this.contents.filter(function(prey) {
this.contents = this.contents.filter(function(prey) {
return prey.mass > 0;
});

return lines;
};

this.feed = function(prey) {
this.contents.push(prey);
};
}

function Stomach(bowels) {
Container.call(this, "stomach");

this.describeDigest = function(prey) {
return "Your churning guts have reduced a " + prey.description() + " to meaty chyme.";
};

this.fill = function(amount) {
bowels.add(amount);
};

this.finish = function(prey) {
bowels.finish(prey);
};
}

function WasteContainer(name) {
this.name = name;

this.fullness = 0;

this.contents = [];

this.add = function(amount) {
this.fullness += amount;
};

this.finish = function(prey) {
this.contents.push(prey);
};
}

function Bowels() {
WasteContainer.call(this, "Bowels");
}

Notiek ielāde…
Atcelt
Saglabāt