summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorjak1 <mike.wollmann@gmail.com>2021-09-05 11:54:09 +0200
committerjak1 <mike.wollmann@gmail.com>2021-09-05 11:54:09 +0200
commit4e0d0b3fe4c538afcf347542a5d1b60ae82cfc9b (patch)
tree1905ec0c1167d0014fe68d345bd530cbc6edabc8 /server
parent667bbe8ab13ec5598e89644a092715693d90d343 (diff)
downloadthepixelworld-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')
-rw-r--r--server/Entities/Player.js57
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;
}