From 60b456256a9ec232eb0a68991677ce16ef420577 Mon Sep 17 00:00:00 2001 From: chasmiccoder Date: Thu, 10 Feb 2022 14:11:11 +0530 Subject: [PATCH] Twitter route working --- images/blankGuy.png | Bin 0 -> 12363 bytes js/GameObject.js | 6 ++++ js/Overworld.js | 1 - js/OverworldEvent.js | 15 +++++++++ js/OverworldMap.js | 76 +++++++++++++++++++++++++++++++++++++++++-- 5 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 images/blankGuy.png diff --git a/images/blankGuy.png b/images/blankGuy.png new file mode 100644 index 0000000000000000000000000000000000000000..502fdf6011aaffdaa4e1738451e6b3df5ee49ae5 GIT binary patch literal 12363 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 literal 0 HcmV?d00001 diff --git a/js/GameObject.js b/js/GameObject.js index 8a37841..df49635 100644 --- a/js/GameObject.js +++ b/js/GameObject.js @@ -42,6 +42,12 @@ class GameObject { // all people let eventConfig = this.behaviorLoop[this.behaviorLoopIndex]; eventConfig.who = this.id; + // Event config for link teleportation + // eventConfig.link = this.link || ''; + // eventConfig.newTab = this.newTab || false; + + console.log(eventConfig.link); + // create an event instance out of our next event config const eventHandler = new OverworldEvent({map, event: eventConfig}); await eventHandler.init(); // wait until the event gets revolved diff --git a/js/Overworld.js b/js/Overworld.js index 0f2379d..93b2427 100644 --- a/js/Overworld.js +++ b/js/Overworld.js @@ -41,7 +41,6 @@ class Overworld { new KeyPressListener("Enter", () => { // is there a person to talk to? this.map.checkForActionCutscene() // check for a cutscene at a specific position - }) } diff --git a/js/OverworldEvent.js b/js/OverworldEvent.js index e838074..f2d6e09 100644 --- a/js/OverworldEvent.js +++ b/js/OverworldEvent.js @@ -2,6 +2,9 @@ class OverworldEvent { constructor({map, event}) { this.map = map; this.event = event; + + // this.link = event.link + // this.newTab = event.newTab; } init() { @@ -78,4 +81,16 @@ class OverworldEvent { sceneTransition.fadeOut(); }); } + + + redirectPerson(resolve) { + let link = this.event.link; + let newTab = this.event.link || false; + if(newTab) { + window.open(link, '_blank'); + } else { + window.open(link); + } + resolve(); + } } \ No newline at end of file diff --git a/js/OverworldMap.js b/js/OverworldMap.js index 1dfee41..a0bd30b 100644 --- a/js/OverworldMap.js +++ b/js/OverworldMap.js @@ -74,6 +74,28 @@ let diyaPath = [ let diya_cutscene_set_of_coords = [`${12*32},${38*32}`,`${13*32},${38*32}`,`${14*32},${38*32}`,`${15*32},${38*32}`,`${16*32},${38*32}`,`${17*32},${38*32}`,`${18*32},${38*32}`]; +let rehberPath = [ + {who: "rehber", type: "walk", direction: "right"}, + {who: "rehber", type: "walk", direction: "right"}, + {who: "rehber", type: "walk", direction: "right"}, + {who: "rehber", type: "walk", direction: "right"}, + {who: "rehber", type: "walk", direction: "up"}, + {who: "rehber", type: "walk", direction: "up"}, + + {who: "diya", type: "stand", direction: "up", time:500}, + {type: "textMessage", text:"Wanna join our cool competitive team?"}, + {type: "textMessage", text: "If so, enter the portal and hit 'Enter'!"}, + + {who: "rehber", type: "walk", direction: "left"}, + {who: "rehber", type: "walk", direction: "down"}, + {who: "rehber", type: "walk", direction: "down"}, + {who: "rehber", type: "walk", direction: "left"}, + {who: "rehber", type: "walk", direction: "left"}, + {who: "rehber", type: "walk", direction: "left"}, +] + +let rehber_cutscene_set_of_coords = [`${33*32},${63*32}`, `${34*32},${63*32}`, `${35*32},${63*32}`]; + class OverworldMap { constructor(config) { @@ -195,6 +217,12 @@ class OverworldMap { } } + else if(rehber_cutscene_set_of_coords.includes(hero_tile)) { + for(let i = 0; i < rehber_cutscene_set_of_coords.length; i++) { + delete this.cutsceneSpaces[rehber_cutscene_set_of_coords[i]]; + } + } + } addWall(x,y) { @@ -222,8 +250,8 @@ window.OverworldMaps = { hero: new Person({ isPlayerControlled: true, src: "./images/Hero.png", - x: utils.withGrid(15), // 15 33 - y: utils.withGrid(33), + x: utils.withGrid(32), // 32 44 + y: utils.withGrid(44), }), // myDrone: new Person({ @@ -374,6 +402,39 @@ window.OverworldMaps = { ] }), + rehber: new Person({ + x: utils.withGrid(30), + y: utils.withGrid(66), + src: "./images/brownGuy1.png", + behaviorLoop: [ + {type: "stand", direction: "left", time: 800}, + {type: "stand", direction: "up", time: 800}, + {type: "stand", direction: "right", time: 1200}, + {type: "stand", direction: "up", time: 300} + ], + talking: [ + { + events: [ + {type: "textMessage", text: "It's about drive, it's about power", faceHero: "rehber"}, + {type: "textMessage", text: "We stay hungry, we devour!"}, + ] + }, + ] + }), + + twitterRoute1: new Person({ + x: utils.withGrid(31), + y: utils.withGrid(40), + src: "./images/blankGuy.png", + talking: [ + { + events: [ + {type: "textMessage", text: "Redirecting to ACMVIT's Twitter!"}, + {type: "redirectPerson", link: "https://twitter.com/ACM_VIT", newTab: true}, + ] + }, + ] + }), }, walls: { @@ -410,6 +471,17 @@ window.OverworldMaps = { [utils.asGridCoord(17,38)]: [{events: diyaPath}], [utils.asGridCoord(18,38)]: [{events: diyaPath}], + [utils.asGridCoord(33,63)]: [{events: rehberPath}], + [utils.asGridCoord(34,63)]: [{events: rehberPath}], + [utils.asGridCoord(35,38)]: [{events: rehberPath}], + + // [utils.asGridCoord(31,41)]: [{events: [{type: "redirectPerson", link:'https://twitter.com/ACM_VIT', newTab:true}] }], + // [utils.asGridCoord(32,41)]: [{events: [{type: "redirectPerson", link:'https://twitter.com/ACM_VIT', newTab:true}] }], + + + + +