Commit 603217bf authored by 18손재민's avatar 18손재민

무적 단어를 사용 시 지속 시간동안 모든 플레이어 창에 그 표시가 생기게 함. 현재는 임시 이미지를 띄움

parent 2e14b614
...@@ -184,6 +184,35 @@ socket.on('attacked', function(msg) // object attackData ...@@ -184,6 +184,35 @@ socket.on('attacked', function(msg) // object attackData
WordSpace.attackedEvents.push(attackedEvent); WordSpace.attackedEvents.push(attackedEvent);
//console.log(timeout); //console.log(timeout);
}); });
socket.on('someoneItemStart', function(msg)
{
let itemPlayer = RoomData.findPlayer(msg.id);
let size = msg.id == RoomData.myself.id ? 1 : 0.7;
let xOffset = msg.id != RoomData.myself.id && itemPlayer.position.x < game.config.width / 2 ? -1 : 1;
switch(msg.itemType)
{
case Enums.item.invincible:
itemPlayer.invincibleMark = ScenesData.gameScene.add.sprite(itemPlayer.position.x + 20 * size * xOffset, itemPlayer.position.y - 50 * size, 'attackPaper')
.setDepth(5.3).setOrigin(0.5, 0.5).setScale(size);
break;
default:
console.log('Improper item type.');
break;
}
});
socket.on('someoneItemEnd', function(msg)
{
let itemPlayer = RoomData.findPlayer(msg.id);
switch(msg.itemType)
{
case Enums.item.invincible:
itemPlayer.invincibleMark.destroy();
break;
default:
console.log('Improper item type.');
break;
}
});
socket.on('defeat', function(msg) // object player socket.on('defeat', function(msg) // object player
{ {
...@@ -202,11 +231,8 @@ socket.on('defeat', function(msg) // object player ...@@ -202,11 +231,8 @@ socket.on('defeat', function(msg) // object player
let lastAttacker = RoomData.findPlayer(msg.lastAttack.attackerId).nickname; let lastAttacker = RoomData.findPlayer(msg.lastAttack.attackerId).nickname;
console.log(RoomData.findPlayer(msg.id).nickname + ' defeated by ' + lastAttacker + ', with ' + msg.lastAttack.word); console.log(RoomData.findPlayer(msg.id).nickname + ' defeated by ' + lastAttacker + ', with ' + msg.lastAttack.word);
WordSpace.killLogForTest += ('\n' + lastAttacker + ' --' + msg.lastAttack.word + '-> ' + RoomData.findPlayer(msg.id).nickname); WordSpace.killLogForTest += ('\n' + lastAttacker + ' --' + msg.lastAttack.word + '-> ' + RoomData.findPlayer(msg.id).nickname);
if(msg.lastAttack.attackerId == RoomData.myself.id) let itemBag = ScenesData.gameScene.add.sprite(RoomData.findPlayer(msg.lastAttack.attackerId).position.x, RoomData.findPlayer(msg.lastAttack.attackerId).position.y,
{ 'itemBag').setScale(0).setDepth(5.3);
var keys = Object.keys(Enums.item);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item[keys[keys.length * Math.random() << 0]]);
let itemBag = ScenesData.gameScene.add.sprite(RoomData.myself.position.x, RoomData.myself.position.y, 'itemBag').setScale(0).setDepth(5.3);
ScenesData.gameScene.tweens.add({ ScenesData.gameScene.tweens.add({
targets: itemBag, targets: itemBag,
scaleX: 1, scaleX: 1,
...@@ -232,6 +258,11 @@ socket.on('defeat', function(msg) // object player ...@@ -232,6 +258,11 @@ socket.on('defeat', function(msg) // object player
setTimeout(function() { setTimeout(function() {
itemBag.destroy(); itemBag.destroy();
}, 3000); }, 3000);
if(msg.lastAttack.attackerId == RoomData.myself.id)
{
var keys = Object.keys(Enums.item);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item[keys[keys.length * Math.random() << 0]]);
RoomData.myself.killCount++; RoomData.myself.killCount++;
} }
} }
......
...@@ -461,6 +461,10 @@ var gameScene = new Phaser.Class( ...@@ -461,6 +461,10 @@ var gameScene = new Phaser.Class(
WordSpace.nameQueue.initiate(); WordSpace.nameQueue.initiate();
//WordSpace.attackGauge.add(11); //WordSpace.attackGauge.add(11);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible);
}, },
......
...@@ -363,8 +363,10 @@ class ItemWord extends WordObject ...@@ -363,8 +363,10 @@ class ItemWord extends WordObject
{ {
case Enums.item.invincible: case Enums.item.invincible:
WordSpace.isInvincible = true; WordSpace.isInvincible = true;
socket.emit('itemStart', {id: RoomData.myself.id, itemType: Enums.item.invincible});
setTimeout(() => { setTimeout(() => {
WordSpace.isInvincible = false; WordSpace.isInvincible = false;
socket.emit('itemEnd', {id: RoomData.myself.id, itemType: Enums.item.invincible});
}, 5000); }, 5000);
break; break;
case Enums.item.nameList: case Enums.item.nameList:
......
...@@ -175,6 +175,15 @@ io.on('connection', function(socket) ...@@ -175,6 +175,15 @@ io.on('connection', function(socket)
if (wrongCountIndex !== -1) socket.playerData.playingData.lastAttacks[wrongCountIndex].wrongCount++; if (wrongCountIndex !== -1) socket.playerData.playingData.lastAttacks[wrongCountIndex].wrongCount++;
}); });
socket.on('itemStart', function(msg) //playerID, item
{
socket.playerData.currentRoom.announceToRoom('someoneItemStart', msg);
});
socket.on('itemEnd', function(msg) //playerID, item
{
socket.playerData.currentRoom.announceToRoom('someoneItemEnd', msg);
});
socket.on('disconnect', function(reason) socket.on('disconnect', function(reason)
{ {
GameServer.disconnectCount++; GameServer.disconnectCount++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment