diff options
author | jak1 <mike.wollmann@gmail.com> | 2021-09-05 11:54:09 +0200 |
---|---|---|
committer | jak1 <mike.wollmann@gmail.com> | 2021-09-05 11:54:09 +0200 |
commit | 4e0d0b3fe4c538afcf347542a5d1b60ae82cfc9b (patch) | |
tree | 1905ec0c1167d0014fe68d345bd530cbc6edabc8 /server/Entities/Player.js | |
parent | 667bbe8ab13ec5598e89644a092715693d90d343 (diff) | |
download | thepixelworld-4e0d0b3fe4c538afcf347542a5d1b60ae82cfc9b.tar.gz thepixelworld-4e0d0b3fe4c538afcf347542a5d1b60ae82cfc9b.tar.bz2 thepixelworld-4e0d0b3fe4c538afcf347542a5d1b60ae82cfc9b.tar.xz thepixelworld-4e0d0b3fe4c538afcf347542a5d1b60ae82cfc9b.zip |
added player sit(X)
added player rotate(Shift) while standing or sitting on the same tile
Diffstat (limited to 'server/Entities/Player.js')
-rw-r--r-- | server/Entities/Player.js | 57 |
1 files changed, 36 insertions, 21 deletions
diff --git a/server/Entities/Player.js b/server/Entities/Player.js index e83a371..5b9817f 100644 --- a/server/Entities/Player.js +++ b/server/Entities/Player.js @@ -19,6 +19,8 @@ var Player = function(id){ self.dir = 0; self.hpMax = 10; self.score = 0; + self.move = true; + self.sit = false; var super_update = self.update; self.update = function(){ @@ -36,27 +38,30 @@ var Player = function(id){ } self.updateSpeed = function(){ - if(self.pressingRight){ - self.speedX = self.maxSpeed; - self.dir = 3; - } - else if(self.pressingLeft){ - self.speedX = -self.maxSpeed; - self.dir = 1; - } - else - self.speedX = 0; - - if(self.pressingUp){ - self.speedY = -self.maxSpeed; - self.dir = 2; - } - else if(self.pressingDown){ - self.speedY = self.maxSpeed; - self.dir = 0; - } - else - self.speedY = 0; + if(self.pressingRight){ + self.speedX = self.maxSpeed * self.move; + self.dir = 3; + } + else if(self.pressingLeft){ + self.speedX = -self.maxSpeed * self.move; + self.dir = 1; + } + else + self.speedX = 0; + + if(self.pressingUp){ + self.speedY = -self.maxSpeed * self.move; + self.dir = 2; + } + else if(self.pressingDown){ + self.speedY = self.maxSpeed * self.move; + self.dir = 0; + } + else + self.speedY = 0; + // dont sit while moving, in case we dont press shift(rotation/dir) + if(self.pressingAttack + self.pressingDown + self.pressingLeft + self.pressingRight + self.pressingUp != 0 && self.move) + self.sit = false; } self.getInitPack = function() { @@ -71,6 +76,7 @@ var Player = function(id){ hpMax: self.hpMax, score: self.score, dir: self.dir, + sit: self.sit, }; } self.getUpdatePack = function() { @@ -83,6 +89,7 @@ var Player = function(id){ score: self.score, hp: self.hp, dir: self.dir, + sit: self.sit, }; } Player.list[id] = self; @@ -98,6 +105,11 @@ Player.onConnect = function(socket, pName){ player.playerName = pName; socket.on('keyPress', function(data){ + if (data.shift) + player.move = false; + else + player.move = true; + if (data.inputId === 'left'){ player.pressingLeft = data.state; player.dir = 1; @@ -114,6 +126,9 @@ Player.onConnect = function(socket, pName){ player.pressingDown = data.state; player.dir = 0; } + else if(data.inputId === 'sit'){ + player.sit = data.state; + } else if (data.inputId === 'attack'){ player.pressingAttack = data.state; } |