diff --git a/feast.html b/feast.html
index a852d04..87b1e3e 100644
--- a/feast.html
+++ b/feast.html
@@ -48,6 +48,7 @@
           
Blood Sugar: 235
           Daylight: Empty
           Sonhearst: River
+          Pep Gold: 3
           Candy Corn: 3
           Emotions: 35/100
           Sick Burn: 85/100
diff --git a/feast.js b/feast.js
index 506f155..835e899 100644
--- a/feast.js
+++ b/feast.js
@@ -257,6 +257,7 @@ function updateDisplay() {
   document.getElementById("stat-str").innerHTML = "Str: " + player.str;
   document.getElementById("stat-dex").innerHTML = "Dex: " + player.dex;
   document.getElementById("stat-con").innerHTML = "Con: " + player.con;
+  document.getElementById("stat-arousal").innerHTML = "Arousal: " + round(player.arousal,0) + "/" + player.arousalLimit();
   document.getElementById("stat-stomach").innerHTML = "Stomach: " + round(player.stomach.fullness(),0) + "/" + player.stomach.capacity;
   if (player.prefs.pred.anal || player.prefs.scat)
     document.getElementById("stat-bowels").innerHTML = "Bowels: " + round(player.bowels.fullness(),0) + "/" + player.bowels.capacity;
@@ -295,6 +296,10 @@ function advanceTime(amount) {
   update(player.balls.digest(amount));
   update(player.womb.digest(amount));
   update(player.breasts.digest(amount));
+
+  update(player.buildArousal(amount));
+
+
 }
 
 function renderTime(time) {
diff --git a/vore.js b/vore.js
index 5c34a33..8d3ea2f 100644
--- a/vore.js
+++ b/vore.js
@@ -170,6 +170,22 @@ function Player(name = "Player") {
   this.breasts = new Breasts(this);
 
   this.parts = {};
+
+  this.arousal = 0;
+  this.arousalRate = 100 / 86400 * 4;
+
+  this.arousalLimit = function() {
+    return 100 * Math.sqrt(this.con / 15);
+  };
+
+  this.buildArousal = function(time) {
+    this.arousal += this.arousalRate * time;
+
+    this.arousal += this.arousalRate * this.bowels.fullnessPercent();
+    this.arousal += this.arousalRate * this.balls.fullnessPercent();
+    this.arousal += this.arousalRate * this.womb.fullnessPercent();
+    this.arousal += this.arousalRate * this.breasts.fullnessPercent();
+  };
 }
 
 function Anthro(name = "Anthro") {
@@ -351,6 +367,10 @@ function Container(owner) {
     return this.contents.reduce((total, prey) => total + prey.mass, 0) + this.waste;
   };
 
+  this.fullnessPercent = function() {
+    return this.fullness() / this.capacity;
+  }
+
   this.add = function(amount) {
     this.waste += amount;
   };