self.thing.carrying.full = False
             self.thing.carrying.empty()
             self.thing.send_msg('CHAT "You are drunk now."')
+            self.thing.need_for_toilet *= 2
+            self.thing.need_for_toilet += 1
             self.thing.drunk = 10000
             self.thing.invalidate('fov')
             self.thing.game.record_change(self.thing.position, 'other')
 
         if self.tripping >= 0:
             self.tripping -= 1
         if self.need_for_toilet > 0:
-            self.need_for_toilet += 1
+            self.need_for_toilet *= 1.01
             terrain = self.game.maps[self.position[0]][self.position[1]]
             if terrain in self.game.terrains:
                 terrain_type = self.game.terrains[terrain]
             self.send_msg('CHAT "You sober up."')
             self.invalidate('fov')
             self.game.changed = True
-            self.need_for_toilet *= 2
-            self.need_for_toilet += 1
         if self.tripping == 0:
             self.send_msg('DEFAULT_COLORS')
             self.send_msg('CHAT "You sober up."')