diff --git a/registration-system/view/signups/game1/js/achievements.js b/registration-system/view/signups/game1/js/achievements.js index e2a6e3ec0849c0657c6d2bdf6094559925abc9c3..38e6b616a8e5407cfd856d7c2586e24c6fe4601d 100644 --- a/registration-system/view/signups/game1/js/achievements.js +++ b/registration-system/view/signups/game1/js/achievements.js @@ -10,7 +10,14 @@ function Achievements() { } }, 'saw_devs1': 'Wilde Informatiker auf Wiese gesehen', - 'spotted_gorilla': 'Ein bekannter Gorilla im Wald', + 'spotted_gorilla': { + messgae: 'Alten Bekannten im Wald gesehen', + action: function() { + Story.dialogueHelper([{ + message: 'Gorilla sagt: HU HU HU!' + }]) + } + }, 'hydrant': { message: 'Wasser aufgedreht', condition: function (context) { @@ -21,6 +28,41 @@ function Achievements() { // CASTLE ENTRANCE 'moneyboy': 'Money Boy: Swag ist aufgedreht', + 'batteries': 'Batterien in den Computer eingelegt', + 'bierball': 'BIIIEEEERBAAAAALLLLL!!', + + // FACHSCHAFT + 'wrong_board': { + message: 'Falsche Tafel!', + condition: function () { + return Environment.progress.fs_georgeScreamed; + } + }, + 'hugo_water': 'Toten Hugo gegossen', + 'laptop2': 'Laptop zugeklappt', + 'laptop1': { + message: 'Laptop ausgemacht', + condition: function() { + return self.achievedAchievements.indexOf('laptop2') >= 0 + } + }, + 'marathon': 'Runtimeerror! dev TIM low on energy', + 'ffa': { + message: 'FFA Essen gegessen. Mit Tisch.', + action: function () { + Game.char.svg.select('#ffa_food').style('display', 'none'); + } + }, + 'stolper': 'Über Teppichkante gestolpert', + 'fs_chair': { + message: 'Stuhl aus Fachschaft geklaut', + action: function () { + Game.char.svg.select('#stuhl').style('display', 'none'); + }, + condition: function (context) { + return euclidianDistance(Game.char.translation[0], Game.char.translation[1], context.x, context.y) < 80; + } + }, // DORF 'speedrun': 'Haalt stop! Denkt doch mal an die Kinder!!1!', @@ -28,6 +70,7 @@ function Achievements() { 'plumber': 'Berufung: Gas, Wasser, Scheiße', 'princess': 'Prinzessin verärgert', 'stroh': 'Warum liegt hier Stroh rum?', + 'blumen': 'Blumen zertrampelt', 'maske': { message: 'Warum hast du eine Maske auf?', condition: function () { @@ -158,8 +201,10 @@ Achievements.prototype.triggerAchievement = function (achievementId, context) { if (typeof this.achievements[achievementId] === 'object' && 'action' in this.achievements[achievementId]) { this.achievements[achievementId].action(); } + return true; } // else console.warn("Achievement already achieved: " + achievementId); - if (this.numCompletedAchievements() === 42) this.triggerAchievement('achievement42') + if (this.numCompletedAchievements() === 42) this.triggerAchievement('achievement42'); + return false; }; diff --git a/registration-system/view/signups/game1/js/events.js b/registration-system/view/signups/game1/js/events.js index 5cfa8e25a7ba6bf90abaf31329dcd642d503b622..9d3bcdb84226ae519b15405696b725e7258c04e3 100644 --- a/registration-system/view/signups/game1/js/events.js +++ b/registration-system/view/signups/game1/js/events.js @@ -89,7 +89,7 @@ EventHandler.prototype.handleEvent = function (event, context) { var eventWasActive = true; switch (event.type) { case 'achievement': - Game.achievements.triggerAchievement(event.id, context); + eventWasActive = Game.achievements.triggerAchievement(event.id, context); break; case 'mapchange': Game.instance.nextMap(event.destination, event.target); diff --git a/registration-system/view/signups/game1/maps/castle_entrance.svg b/registration-system/view/signups/game1/maps/castle_entrance.svg index 8bb30204e1ddd7f5399227167519e2bc99372d80..ffb0726b656fe91b5b02ad5457c4ca5deeed5792 100644 Binary files a/registration-system/view/signups/game1/maps/castle_entrance.svg and b/registration-system/view/signups/game1/maps/castle_entrance.svg differ diff --git a/registration-system/view/signups/game1/maps/castle_fs.svg b/registration-system/view/signups/game1/maps/castle_fs.svg index 8be76739d29a4e322bcdb78cc91892e2d5dd81b1..6a1a66935160ba9348c64c70e3608600bf96e3a2 100644 Binary files a/registration-system/view/signups/game1/maps/castle_fs.svg and b/registration-system/view/signups/game1/maps/castle_fs.svg differ diff --git a/registration-system/view/signups/game1/maps/dorf.svg b/registration-system/view/signups/game1/maps/dorf.svg index ce37243fa92244dfb5ef429e3c328a3fb9cbed32..1f93948de78be03db5f43921a1cb3a424cbc7dbe 100644 Binary files a/registration-system/view/signups/game1/maps/dorf.svg and b/registration-system/view/signups/game1/maps/dorf.svg differ