aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--public/js/rogue.js10
-rw-r--r--rogue-server.js15
2 files changed, 24 insertions, 1 deletions
diff --git a/public/js/rogue.js b/public/js/rogue.js
index 5a9896e..d627c18 100644
--- a/public/js/rogue.js
+++ b/public/js/rogue.js
@@ -135,6 +135,7 @@ function showMessage(message) {
function parseMessage(message) {
var msg = JSON.parse(message);
map = msg.map;
+ mobs = msg.mobs;
player = new Player(msg.strength, msg.dexterity, msg.constitution, msg.intelligence, msg.wisdom, msg.level, msg.x, msg.y, msg.floor, msg.hp, msg.ac, msg.potions, msg.armor, msg.weapon, msg.staff);
if(msg.msg != "" && msg.msg != "undefined") {
showMessage(msg.msg);
@@ -232,6 +233,7 @@ spritemap.onload = drawInitialBoard;
spritemap.src = 'scroll-o-sprites-edited.png';
var gamemap;
+var mobs;
var player = new Player(10, 10, 10, 10, 10, 1, 0, 0, 1, 100, 15, 0, "none", "none", "none");
function drawInitialBoard() {
@@ -299,6 +301,14 @@ function drawMap() {
localX++;
}
+ for(var i = 0; i < mobs.length; i++) {
+ if(mobs[i].floor == player.floor) {
+ var mobx = mobs[i].x - player.x;
+ var moby = mobs[i].y - player.y;
+ drawSprite(players[1], 11 + mobx, 13 + moby, false);
+ }
+ }
+
drawSprite(players[0], 11, 13, false);
}
diff --git a/rogue-server.js b/rogue-server.js
index a490d25..4978895 100644
--- a/rogue-server.js
+++ b/rogue-server.js
@@ -443,6 +443,10 @@ function performActions(init) {
* @param character The mob the player is in charge of
*/
function buildPlayerMsg(character) {
+ return buildTurnMsg(character, ",\"mobs\":[]");
+}
+
+function buildTurnMsg(character, mobmsg) {
var local = character.location.floor;
var message = "{\"map\":\"" + floors[local] + "\",";
message = message + character.stats();
@@ -451,6 +455,7 @@ function buildPlayerMsg(character) {
} else {
message = message + ",\"msg\":\"\"";
}
+ message += mobmsg;
return message + "}";
}
@@ -458,10 +463,18 @@ function buildPlayerMsg(character) {
* Send out action results to all players
*/
function sendResults() {
+ var mobmsg = ",\"mobs\":[";
+ for(var i = 0; i < mobs.length; i++) {
+ mobmsg += "{\"x\":" + mobs[i].location.x + ",\"y\":" + mobs[i].location.y + ",\"floor\":" + mobs[i].location.floor + "}";
+ if(i != mobs.length - 1) {
+ mobmsg += ",";
+ }
+ }
+ mobmsg += "]";
for(var i = 0; i < mobs.length; i++) {
if(players.has(mobs[i].uuid)) {
console.log(new Date().toUTCString() + ' | sending turn data to ' + mobs[i].uuid);
- players.get(mobs[i].uuid).send(buildPlayerMsg(mobs[i]));
+ players.get(mobs[i].uuid).send(buildTurnMsg(mobs[i], mobmsg));
}
}
}