diff --git a/LICENSE b/LICENSE
index f288702..61d1860 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
- GNU GENERAL PUBLIC LICENSE
+GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
@@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
-.
+.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 71d9f28..0000000
--- a/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# ISLR.IO
-Github for my game islr.io. Based off battledudes.io
diff --git a/api/advanced.js b/api/advanced.js
index 12fa017..26fa0ac 100644
--- a/api/advanced.js
+++ b/api/advanced.js
@@ -4,4 +4,4 @@ function sleep(milliseconds) {
do {
currentDate = Date.now();
} while (currentDate - date < milliseconds);
-}
+}
\ No newline at end of file
diff --git a/api/game.js b/api/game.js
index 30d680d..a2ead60 100644
--- a/api/game.js
+++ b/api/game.js
@@ -57,35 +57,80 @@ function startGame() {
game = "running";
- render();
-
- if(touchdevice) {
-
- mstick = document.querySelector("#mstick");
- astick = document.querySelector("#astick");
+
-
- showDOM(mstick);
- showDOM(astick);
- window.mstick = nipplejs.create({
+ if (touchdevice) {
+
+ //mstick and astick are predefined
+ const mstick = document.querySelector("#mstick");
+ const astick = document.querySelector("#astick");
+
+ window.mstick = {
+ position: {
+ x:0, y:0
+ },
+ distance: 0,
+ direction: {
+ degree: 0, radian: 0
+ },
+ moving: false
+ };
+
+ window.astick = {
+ position: {
+ x:0, y:0
+ },
+ distance: 0,
+ direction: {
+ degree: 0, radian: 0
+ },
+ moving: false
+ };
+
+ window.mstickInstance = nipplejs.create({
color: "#000000",
shape: "square",
zone: mstick,
threshold: 0.5,
- fadeTime: 300
+ fadeTime: 300,
});
- window.astick = nipplejs.create({
+ window.astickInstance = nipplejs.create({
color: "#000000",
shape: "circle",
zone: astick,
threshold: 0.5,
- fadeTime: 300
+ fadeTime: 300,
+ });
+
+ window.mstickInstance.on("move", (event, nipple) => {
+ window.mstick.position = nipple.position;
+ window.mstick.distance = nipple.distance;
+ window.mstick.direction = nipple.angle;
+ window.mstick.moving = true;
+ console.log(window.mstick);
+ });
+
+ window.astickInstance.on("move", (event, nipple) => {
+ window.astick.position = nipple.position;
+ window.astick.distance = nipple.distance;
+ window.astick.direction = nipple.angle;
+ window.astick.moving = true;
+ console.log(window.astick);
+ });
+
+ window.astickInstance.on("end", (event, nipple) => {
+ window.astick.moving = false;
+ });
+
+ window.mstickInstance.on("end", (event, nipple) => {
+ window.mstick.moving = false;
});
-
}
+ render();
+
document.title = "Islr.io - Playing";
hideMenu(document, 0);
hideMenu(document, 1);
diff --git a/assets/images/game/player/1.svg b/assets/images/game/player/1.svg
index db6fff0..ac9871c 100644
--- a/assets/images/game/player/1.svg
+++ b/assets/images/game/player/1.svg
@@ -152,4 +152,4 @@
-
+
\ No newline at end of file
diff --git a/assets/images/game/player/preview/1.svg b/assets/images/game/player/preview/1.svg
index b64e0bb..c558940 100644
--- a/assets/images/game/player/preview/1.svg
+++ b/assets/images/game/player/preview/1.svg
@@ -1 +1,6 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/cache.manifest b/cache.manifest
new file mode 100644
index 0000000..ad53f81
--- /dev/null
+++ b/cache.manifest
@@ -0,0 +1,18 @@
+CACHE MANIFEST
+# Cache Manifest Version: 0.1.0
+
+NETWORK:
+https://survivalio.d4rk5id3.repl.co
+https://cdnjs.cloudflare.com
+
+CACHE:
+index.html
+style.css
+script.js
+favicon.ico
+launch.png
+api/game.js
+api/advanced.js
+assets/images/menu/background.png
+assets/images/menu/logo.png
+assets/images/game/player/preview/1.svg
\ No newline at end of file
diff --git a/json/hitboxes/player.json b/json/hitboxes/player.json
deleted file mode 100644
index 8bf7bdb..0000000
--- a/json/hitboxes/player.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "type": "round",
- "normal": "1.00",
- "scout": "0.75",
- "tank": "1.40"
-}
\ No newline at end of file
diff --git a/json/misc/zoom.json b/json/misc/zoom.json
deleted file mode 100644
index 8aef313..0000000
--- a/json/misc/zoom.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"current":8},5,4,null,3,null,null,null,2.5,null,null,null,null,null,null,null,1.5]
\ No newline at end of file
diff --git a/script.js b/script.js
index f26882a..736e5ea 100644
--- a/script.js
+++ b/script.js
@@ -14,14 +14,14 @@ window.onkeyup = keyUpF;
var zoom = [];
$.get("./json/misc/zoom.json", function(data) {
- zoom = JSON.parse(data);
+ zoom = JSON.parse(data);
}, "text");
var costume = window.costume;
-function checkWater(){
+function checkWater() {
return false;
}
@@ -62,7 +62,7 @@ map.svg = new Image();
map.grid = new Image();
map.grid.src = "./assets/map/grid.svg";
-var currentframe= -1;
+var currentframe = -1;
var lhand = new Object();
var rhand = new Object();
@@ -71,31 +71,43 @@ function render() {
currentframe++
- map.svg.src = "https://"+window.server_adress+"/map/basic.svg";
-
+ map.svg.src = "https://" + window.server_adress + "/map/basic.svg";
+
player.vel.x = 0;
player.vel.y = 0;
- if(keysDown[69]){
- player.direction+= 5;
+
+ if (touchdevice) {
+ if(window.mstick.moving){
+ player.vel.x = Math.round(window.mstick.distance /50) * Math.cos(window.mstick.direction.radian);
+ player.vel.y = Math.round(window.mstick.distance /50) * Math.sin(window.mstick.direction.radian);
+ }
+ if(window.astick.moving){
+ player.direction = 90-window.astick.direction.degree;
+ }
+ }
+
+ if (keysDown[69]) {
+ player.direction += 5;
}
- if(keysDown[81]){
- player.direction-= 5;
+ if (keysDown[81]) {
+ player.direction -= 5;
}
- if(keysDown[87]){
+ if (keysDown[87]) {
player.vel.y += 1;
}
- if(keysDown[65]){
+ if (keysDown[65]) {
player.vel.x += -1;
}
- if(keysDown[83]){
+ if (keysDown[83]) {
player.vel.y += -1;
}
- if(keysDown[68]){
+ if (keysDown[68]) {
player.vel.x += 1;
}
+
player.vel.sqrt = Math.sqrt((player.vel.x * player.vel.x) + (player.vel.y * player.vel.y));
camera.zoom = zoom[zoom[0].current];
@@ -103,22 +115,22 @@ function render() {
player.speed = 5;
canvas.width = 4000;
- canvas.height = (canvas.width / document.body.clientWidth)*document.body.clientHeight;
+ canvas.height = (canvas.width / document.body.clientWidth) * document.body.clientHeight;
middle.x = canvas.width / 2;
middle.y = canvas.height / 2;
- if(currentframe>=1){
- if(checkWater()){
+ if (currentframe >= 1) {
+ if (checkWater()) {
player.speed = 2;
}
}
- if(player.vel.sqrt!=0) {
- player.vel.x = (player.vel.x / player.vel.sqrt)*player.speed;
- player.vel.y = (player.vel.y / player.vel.sqrt)*player.speed;
+ if (player.vel.sqrt != 0) {
+ player.vel.x = (player.vel.x / player.vel.sqrt) * player.speed;
+ player.vel.y = (player.vel.y / player.vel.sqrt) * player.speed;
}
-
+
player.x += player.vel.x;
player.y += player.vel.y;
@@ -131,56 +143,56 @@ function render() {
ctx.clearRect(0, 0, canvas.width, canvas.height); //reset the canvas every frame before drawing
-
+
ctx.fillStyle = "rgb(0, 174, 255)";
ctx.fillRect(0, 0, canvas.width, canvas.height);
-
-
- ctx.drawImage(map.svg,
- (middle.x - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * -camera.x),
- (middle.y - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * camera.y),
- (10000 * camera.zoom),
- (10000 * camera.zoom)
- );
-
- ctx.drawImage(map.grid,
- (middle.x - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * -camera.x),
- (middle.y - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * camera.y),
- (10000 * camera.zoom),
- (10000 * camera.zoom)
- );
-
-
-
-
-
- ctx.drawImage(player_costume, 100, 0, 50,50,
- (middle.x - ((camera.zoom * player.size) / 2)) + ((camera.zoom) * (-player.x + camera.x)),
- (middle.y - ((camera.zoom * player.size) / 2)) + ((camera.zoom) * (player.y - camera.y)),
- (camera.zoom * player.size),
- (camera.zoom * player.size)
- );
-
- lhand.x = (Math.sin((player.direction + 180 - 40) * ( Math.PI / 180 )) * 27);
- lhand.y = (Math.cos((player.direction + 180 - 40) * ( Math.PI / 180 )) * 27);
- ctx.drawImage(player_costume, 150, 0, 25, 25,
- (middle.x - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * ( -(player.x + lhand.x) + camera.x)),
- (middle.y - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * ((player.y + lhand.y) - camera.y)),
- ((camera.zoom * player.size)/2),
- ((camera.zoom * player.size)/2)
- );
-
- rhand.x = (Math.sin((player.direction + 180 + 40) * ( Math.PI / 180 )) * 27);
- rhand.y = (Math.cos((player.direction + 180 + 40) * ( Math.PI / 180 )) * 27);
- ctx.drawImage(player_costume, 150, 25, 25, 25,
- (middle.x - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * ( -(player.x + rhand.x) + camera.x)),
- (middle.y - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * ((player.y + rhand.y) - camera.y)),
- ((camera.zoom * player.size)/2),
- ((camera.zoom * player.size)/2)
- );
+
+
+ ctx.drawImage(map.svg,
+ (middle.x - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * -camera.x),
+ (middle.y - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * camera.y),
+ (10000 * camera.zoom),
+ (10000 * camera.zoom)
+ );
+
+ ctx.drawImage(map.grid,
+ (middle.x - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * -camera.x),
+ (middle.y - ((camera.zoom * 10000) / 2)) + ((camera.zoom) * camera.y),
+ (10000 * camera.zoom),
+ (10000 * camera.zoom)
+ );
+
+
+
+
+
+ ctx.drawImage(player_costume, 100, 0, 50, 50,
+ (middle.x - ((camera.zoom * player.size) / 2)) + ((camera.zoom) * (-player.x + camera.x)),
+ (middle.y - ((camera.zoom * player.size) / 2)) + ((camera.zoom) * (player.y - camera.y)),
+ (camera.zoom * player.size),
+ (camera.zoom * player.size)
+ );
+
+ lhand.x = (Math.sin((player.direction + 180 - 40) * (Math.PI / 180)) * 27);
+ lhand.y = (Math.cos((player.direction + 180 - 40) * (Math.PI / 180)) * 27);
+ ctx.drawImage(player_costume, 150, 0, 25, 25,
+ (middle.x - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * (-(player.x + lhand.x) + camera.x)),
+ (middle.y - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * ((player.y + lhand.y) - camera.y)),
+ ((camera.zoom * player.size) / 2),
+ ((camera.zoom * player.size) / 2)
+ );
+
+ rhand.x = (Math.sin((player.direction + 180 + 40) * (Math.PI / 180)) * 27);
+ rhand.y = (Math.cos((player.direction + 180 + 40) * (Math.PI / 180)) * 27);
+ ctx.drawImage(player_costume, 150, 25, 25, 25,
+ (middle.x - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * (-(player.x + rhand.x) + camera.x)),
+ (middle.y - ((camera.zoom * player.size) / 4)) + ((camera.zoom) * ((player.y + rhand.y) - camera.y)),
+ ((camera.zoom * player.size) / 2),
+ ((camera.zoom * player.size) / 2)
+ );
if (game == "running" || game == "paused") {
requestAnimationFrame(render);
}
-}
+}
\ No newline at end of file
diff --git a/style.css b/style.css
index 3dff81e..60d3364 100644
--- a/style.css
+++ b/style.css
@@ -145,7 +145,7 @@ canvas {
height: 100%;
margin-left: 0px;
left: 0px;
- position: relative;
+ position: absolute;
z-index: 999999999;
}
@@ -156,6 +156,6 @@ canvas {
height: 100%;
margin-right: 0px;
right: 0px;
- position: relative;
+ position: absolute;
z-index: 999999999;
}
\ No newline at end of file
diff --git a/vercel.json b/vercel.json
deleted file mode 100644
index 540ffc6..0000000
--- a/vercel.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "git": {
- "deploymentEnabled": {
- "main": false
- }
- }
-}