From 5f66690a220f7e70cd4d26ee0762a10ffafaf691 Mon Sep 17 00:00:00 2001 From: Tim Repke <timmothey@gmx.de> Date: Mon, 21 Sep 2015 21:37:26 +0200 Subject: [PATCH] answers can now be free text, stranger action done, goat fight done --- registration-system/view/js/api.js | 3 + .../view/signups/game1/js/environment.js | 4 +- .../view/signups/game1/js/story.js | 171 +++++++++++++++++- .../view/signups/game1/js/svgUtils.js | 14 ++ .../view/signups/game1/maps/map_landing.svg | Bin 6684548 -> 6738310 bytes .../view/signups/game1/test.html | 2 +- registration-system/view/signups/game1/ui.css | 18 ++ 7 files changed, 201 insertions(+), 11 deletions(-) diff --git a/registration-system/view/js/api.js b/registration-system/view/js/api.js index f10bc58..c4a0e26 100644 --- a/registration-system/view/js/api.js +++ b/registration-system/view/js/api.js @@ -100,6 +100,9 @@ function Bachelor() { }, 'mehl': function() { return /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value); + }, + 'pseudo': function() { + return /^[^0-9<>!?.::,#*@^_$\\"'%;()&+]{3,50}$/.test(value); } }; diff --git a/registration-system/view/signups/game1/js/environment.js b/registration-system/view/signups/game1/js/environment.js index 637007e..0d3309e 100644 --- a/registration-system/view/signups/game1/js/environment.js +++ b/registration-system/view/signups/game1/js/environment.js @@ -13,7 +13,9 @@ Environment.progress = { fs_filledBoard: false, // landing map related - killedGoat: false, + landing_askedNickname: false, + landing_killedGoat: false, + // ----------------------------- // INVENTORY diff --git a/registration-system/view/signups/game1/js/story.js b/registration-system/view/signups/game1/js/story.js index 1a84041..f8fcaf5 100644 --- a/registration-system/view/signups/game1/js/story.js +++ b/registration-system/view/signups/game1/js/story.js @@ -51,7 +51,7 @@ Story.actions = { } }], condition: !state.studityp - },{ + }, { bubble: '#tim_speech', message: state.failed ? 'Wie ich sehe, hast du etwas gefunden? Noch Lust auf die Rüstung?' : @@ -178,9 +178,15 @@ Story.actions = { }; // hook listeners for field validations - fields.fs_board_name_family.elem.bind('input propertychange', function () {validateFields();}); - fields.fs_board_name_given.elem.bind('input propertychange', function () {validateFields();}); - fields.fs_board_email.elem.bind('input propertychange', function () {validateFields();}); + fields.fs_board_name_family.elem.bind('input propertychange', function () { + validateFields(); + }); + fields.fs_board_name_given.elem.bind('input propertychange', function () { + validateFields(); + }); + fields.fs_board_email.elem.bind('input propertychange', function () { + validateFields(); + }); function validateFields() { // test all fields @@ -219,13 +225,139 @@ Story.actions = { // ================================================================================================================= // Actions on the landing map + 'landing_askingNickname': { + possible: function () { + return !Environment.progress.landing_askedNickname; + }, + action: function () { + Environment.progress.landing_askedNickname = true; + Story.dialogueHelper([{ + bubble: '#stranger_speech', + message: 'Hallo Fremder!' + }, { + bubble: '#stranger_speech', + message: 'Bei welch\' Namen willst du gerufen werden?' + }, { + input: { + message: 'Gib\' hier einen Nicknamen an', + check: function (value) { + return Environment.fapi.data.testValidValue('pseudo', value); + }, + action: function (value) { + Environment.fapi.data.setValue('pseudo', value); + } + } + }, { + bubble: '#stranger_speech', + message: 'Komischer Name! Nun gut, ich lasse dich wohl weiter ziehen.' + }]); + + } + }, 'landing_goatFight': { possible: function () { - return true; + return !Environment.progress.landing_killedGoat; }, action: function () { + var nodes = { + blast: Game.char.svg.select('#goat_blast'), + goat: Game.char.svg.select('#goat'), + milk: Game.char.svg.select('#goat_milk'), + meat: Game.char.svg.select('#goat_meat') + }; + Game.actionsBlocked = true; + appearanceBlast(); + + function startDialogue() { + Story.dialogueHelper([{ + message: 'Ohje, Ohjé! Eine wilde Ziege!', + action: goatAttacking + }, { + message: 'Vielleicht lässt sie sich ja zähmen...', + action: goatAttacking + }, { + answer: [{ + message: 'Ziege zähmen und melken', + action: function () { + goatShaking(function () { + nodes.milk.style('display', 'block'); + goatAttacking(); + }) + } + }] + }, { + message: 'Hm, sie ist immer noch wütend...' + }, { + answer: [{ + message: 'Ziege streicheln', + action: function () { + goatShaking(function () { + nodes.meat.style('display', 'block'); + nodes.goat.style('display', 'none'); + }) + } + }] + }, { + message: 'Huch, jetzt ist sie zu einem Haufen Schinken zerfallen...' + }], null, function () { + Environment.progress.landing_killedGoat = true; + Environment.progress.inventory_goatDroppings = true; + setTimeout(function () { + nodes.milk.style('display', 'none'); + nodes.meat.style('display', 'none'); + }, 2000); + }); + } + + function appearanceBlast() { + var cnt = 0; + var looper = setInterval(function () { + cnt++; + nodes.blast.style('display', (cnt % 2) ? 'block' : 'none'); + if (cnt > 10) { + clearInterval(looper); + nodes.goat.style('display', 'block'); + nodes.blast.style('display', 'none'); + + startDialogue(); + } + }, 60); + } + + function goatAttacking() { + nodes.goat + .transition().attr('transform', translate(-10, 10)) + .transition().attr('transform', translate(10, -10)) + .transition().attr('transform', translate(-10, 10)) + .transition().attr('transform', translate(10, -10)); + + function translate(relx, rely) { + return 'translate(' + relx + ',' + rely + ')'; + } + } + function goatShaking(callback) { + var goatPos = getInfo(Game.char.svg, nodes.goat); + nodes.goat + .transition().attr('transform', rotate(15)) + .transition().attr('transform', rotate(-15)) + .transition().attr('transform', rotate(0)) + .call(helper_endAll, callback); + + function rotate(deg) { + return 'rotate(' + deg + ',' + goatPos.xCenter + ',' + goatPos.yCenter + ')'; + } + } + + function helper_endAll(transition, callback) { + var n = 0; + transition.each(function () { + ++n; + }).each('end', function () { + if (!--n && callback) callback.apply(this, arguments); + }); + } } } }; @@ -234,7 +366,7 @@ Story.dialogueHelper = function (dialogue, context, done) { var speed = { talk: UrlComponents.isSet('fastTalk') ? 1 : 45, - pause: UrlComponents.isSet('fastTalk') ? 50 : 1000 + pause: UrlComponents.isSet('fastTalk') ? 50 : 1500 }; Game.actionsBlocked = true; @@ -255,14 +387,32 @@ Story.dialogueHelper = function (dialogue, context, done) { dialogue_i++; if ('condition' in part && !part.condition) { dialogueStepper(); + } else if (part.input) { + manualInput(part.input); } else if (part.answer) { answerSelection(part.answer); } else { - plotMessage(part.bubble, part.message, dialogueStepper); + plotMessage(part, dialogueStepper); } } } + function manualInput(input) { + var inputHTML = '<div>' + input.message + '</div>' + + '<input type="text" id="gameDialogueInput" />' + + '<button id="gameDialogueInputDone" style="width: 80px; border: 1px dotted #4e8260;">Fertig</button>'; + dialogueBox.html(inputHTML); + $('#gameDialogueInputDone').prop('disabled', true).click(function () { + input.action($('#gameDialogueInput').val()); + dialogueStepper(); + }); + $('#gameDialogueInput').bind('input propertychange', function () { + if (input.check($(this).val())) { + $('#gameDialogueInputDone').prop('disabled', false); + } + }); + } + function answerSelection(answers) { var possibleAnswers = answers.map(function (answer, i) { if (!('condition' in answer) || answer.condition) @@ -285,9 +435,11 @@ Story.dialogueHelper = function (dialogue, context, done) { } } - function plotMessage(bubble, message, plotDone) { + function plotMessage(part, plotDone) { + var bubbleNode = !part.bubble ? null : Game.char.svg.select(part.bubble); + var message = part.message; + var i = 0; - var bubbleNode = !bubble ? null : Game.char.svg.select(bubble); var messageStepper = setInterval(function () { i++; if (i > message.length) { @@ -295,6 +447,7 @@ Story.dialogueHelper = function (dialogue, context, done) { if (bubbleNode) bubbleNode.style('display', 'block'); setTimeout(function () { if (bubbleNode) bubbleNode.style('display', 'none'); + if (part.action) part.action(); plotDone(); }, speed.pause) } else { diff --git a/registration-system/view/signups/game1/js/svgUtils.js b/registration-system/view/signups/game1/js/svgUtils.js index b8bcebf..0cbc072 100644 --- a/registration-system/view/signups/game1/js/svgUtils.js +++ b/registration-system/view/signups/game1/js/svgUtils.js @@ -1,6 +1,7 @@ function translate(x, y) { return "translate("+x+", "+y+")"; } + function showCoords(x, y) { document.getElementById("coords").innerHTML = '('+x+', '+y+')'; } @@ -11,6 +12,19 @@ function getTranslation(svg, node) { var matrix = svg.getTransformToElement(node); return [matrix.e, matrix.f]; } +function getInfo(svg, node) { + var bbox = node[0][0].getBBox(); + var xy = Vec.add(getTranslation(node[0][0], svg[0][0]), [bbox.x, bbox.y]); + return { + x: xy[0], + y: xy[1], + xCenter: xy[0]+(bbox.width/2), + yCenter: xy[1]+(bbox.height/2), + height: bbox.height, + width: bbox.width + } + +} function euclidianDistance(a_x, a_y, b_x, b_y){ return Math.sqrt((a_x-b_x)*(a_x-b_x) + (a_y-b_y)*(a_y-b_y)); diff --git a/registration-system/view/signups/game1/maps/map_landing.svg b/registration-system/view/signups/game1/maps/map_landing.svg index db4ae1a6fd048a97f29e8f8cff017fac75dcbd70..d81e9c54971307d3e00406d6db0c6afc346fcfd8 100644 GIT binary patch delta 18987 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 delta 7949 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 F{{vL@xPt%y diff --git a/registration-system/view/signups/game1/test.html b/registration-system/view/signups/game1/test.html index 5b853da..e233a7b 100644 --- a/registration-system/view/signups/game1/test.html +++ b/registration-system/view/signups/game1/test.html @@ -64,7 +64,7 @@ var maps = ['map_landing', 'castle_entrance', 'castle_fs', 'dorf']; var game = new Game({ startMap: maps[UrlComponents.getValueOf('map') || 0], - showEventLayers: UrlComponents.isSet('showEventLayers'), + showEventLayers: UrlComponents.getValueOf('showEventLayers') === 'true', pathFindingGridSize: UrlComponents.isSet('verbosePF') ? 5 : 5, verbosePathFinder: UrlComponents.isSet('verbosePF'), usePathFinding: true, diff --git a/registration-system/view/signups/game1/ui.css b/registration-system/view/signups/game1/ui.css index 0757bf8..f19b376 100644 --- a/registration-system/view/signups/game1/ui.css +++ b/registration-system/view/signups/game1/ui.css @@ -64,6 +64,24 @@ #gameDialogue ul li:hover:before { content: '↠'; } +#gameDialogue input, #gameDialogue button { + border: 1px dotted black; + background: transparent; + color: white; + margin: 5pt 2em 0 0; + font-size: 12pt; + width: 50%; + padding: 0.3em 0.5em; +} +#gameDialogue input:hover, #gameDialogue input:focus, #gameDialogue button:hover { + background: #474c46; +} +#gameDialogue button:active { + background: #272c26; +} +#gameDialogue button:disabled { + color: red; +} /* #2E2E2E dark -- GitLab