diff --git a/registration-system/view/signups/game1/js/environment.js b/registration-system/view/signups/game1/js/environment.js
index 99b1dc60a5898bf2fa3ce7f0b9cb34e6d473a5be..8c1e83739401a6e92c94cd3a29ddf2da9e537952 100644
--- a/registration-system/view/signups/game1/js/environment.js
+++ b/registration-system/view/signups/game1/js/environment.js
@@ -29,6 +29,11 @@ Environment.progress = {
     dorf_pickedFood: false,
     dorf_boughtTicket: false,
 
+    // ufer related
+    ufer_princessApproach: !false,
+    ufer_pickedTransport: false,
+
+
     // -----------------------------
     // INVENTORY
     inventory_money: false,
diff --git a/registration-system/view/signups/game1/js/story.js b/registration-system/view/signups/game1/js/story.js
index e5118a62e3a7d4b3796b417ed156e067d2256f66..c18d0b14b81f2bd5be5591b22325ed203af98343 100644
--- a/registration-system/view/signups/game1/js/story.js
+++ b/registration-system/view/signups/game1/js/story.js
@@ -558,30 +558,32 @@ Story.actions = {
             }, {
                 answer: [{
                     message: 'Kein Problem, ich habe Milch und Schinken einer Ziege.',
-                    action: function() {}
+                    action: function () {
+                    }
                 }, {
                     message: 'Egal, mach irgendwas!',
-                    action: function() {}
+                    action: function () {
+                    }
                 }]
             }, {
                 bubble: '#wirt_speech',
                 message: 'Prima! Ich habe dir ein Essen auf den Tisch gestellt.',
-                action: function() {
+                action: function () {
                     food.fleisch.style('display', 'block');
                 }
             }, {
                 bubble: '#wirt_speech',
                 message: 'Wenn du kein Fleisch ist, mache ich dir Käse und Brot.',
-                action: function() {
+                action: function () {
                     food.kaese.style('display', 'block');
                 }
             }, {
                 bubble: '#wirt_speech',
                 message: 'Aus der Sojamilch der Ziege habe ich Grießbrei gemacht.',
-                action: function() {
+                action: function () {
                     food.griess.style('display', 'block');
                 }
-            }], null, function() {
+            }], null, function () {
                 Game.log('Wähle deinen Essenswunsch');
             });
         }
@@ -615,6 +617,35 @@ Story.actions = {
             }, 1000);
             Game.log('Gehe zurück ins Dorf')
         }
+    },
+
+
+    // =================================================================================================================
+    // Actions am Ufer
+
+    'ufer_princess': {
+        possible: function () {
+            return !Environment.progress.ufer_princessApproach;
+        },
+        action: function (event) {
+            Environment.progress.ufer_princessApproach = true;
+            console.log('princess');
+        }
+    },
+
+    'ufer_pickTransport': {
+        possible: function () {
+            return Environment.progress.ufer_princessApproach && !Environment.progress.ufer_pickedTransport;
+        },
+        action: function (event) {
+            /*Environment.progress.ufer_pickedTransport = true;
+            if (event.id === '18plusEntrance') {
+                Environment.fapi.data.setValue('virgin', 'Ja');
+            } else {
+                Environment.fapi.data.setValue('virgin', 'Nein');
+            }*/
+            console.log('picked')
+        }
     }
 };
 
diff --git a/registration-system/view/signups/game1/maps/ufer.svg b/registration-system/view/signups/game1/maps/ufer.svg
index c419e8d3bc2b36cf1d17705e8baf62cf16632fa8..ca207f5eacf564a79d820a78404aec91d3992e97 100644
Binary files a/registration-system/view/signups/game1/maps/ufer.svg and b/registration-system/view/signups/game1/maps/ufer.svg differ