diff --git a/src/client/package.json b/src/client/package.json
index 6e9d629b..393d73dc 100644
--- a/src/client/package.json
+++ b/src/client/package.json
@@ -1,6 +1,6 @@
{
"name": "isleward_client",
- "version": "0.11.0",
+ "version": "0.12.0",
"description": "isleward",
"dependencies": {
},
diff --git a/src/client/ui/templates/login/template.html b/src/client/ui/templates/login/template.html
index 79cc4939..090690d3 100644
--- a/src/client/ui/templates/login/template.html
+++ b/src/client/ui/templates/login/template.html
@@ -11,11 +11,11 @@
- [ Latest Release Notes ]
+ [ Latest Release Notes ]
- v0.11.0
+ v0.12.0
diff --git a/src/server/components/equipment.js b/src/server/components/equipment.js
index 0b1e19b0..978cedec 100644
--- a/src/server/components/equipment.js
+++ b/src/server/components/equipment.js
@@ -263,6 +263,20 @@ module.exports = {
let itemId = eq[slot];
let item = inventory.findItem(itemId);
+ if (!item) {
+ console.log({
+ error: 'item not found',
+ itemId,
+ slot,
+ factionId,
+ tier,
+ character: this.obj.name,
+ eq: this.eq
+ });
+
+ return;
+ }
+
let factions = item.factions;
if (!factions)
return;
diff --git a/src/server/config/serverConfig.js b/src/server/config/serverConfig.js
index 16f02a31..3944ce64 100644
--- a/src/server/config/serverConfig.js
+++ b/src/server/config/serverConfig.js
@@ -1,7 +1,7 @@
/* eslint-disable no-process-env */
module.exports = {
- version: '0.11.0',
+ version: '0.12.0',
port: 4000,
startupMessage: 'Server: ready',
@@ -10,7 +10,7 @@ module.exports = {
//Options:
// sqlite
// rethink
- db: process.env.IWD_DB || 'rethink',
+ db: process.env.IWD_DB || 'sqlite',
dbHost: process.env.IWD_DB_HOST || 'localhost',
dbPort: process.env.IWD_DB_PORT || 28015,
dbName: process.env.IWD_DB_NAME || 'live',
diff --git a/src/server/package.json b/src/server/package.json
index c3b86587..36f4f794 100644
--- a/src/server/package.json
+++ b/src/server/package.json
@@ -1,6 +1,6 @@
{
"name": "isleward_server",
- "version": "0.11.0",
+ "version": "0.12.0",
"description": "isleward",
"dependencies": {
"axios": "^0.22.0",
diff --git a/src/server/security/connections.js b/src/server/security/connections.js
index b2087c92..9f497534 100644
--- a/src/server/security/connections.js
+++ b/src/server/security/connections.js
@@ -44,9 +44,11 @@ module.exports = {
}]
});
- //Rezoning is set to true while rezoning so we don't try to remove objects
+ //If the player doesn't have a 'social' component, they are no longer in a threat
+ // Likely due to unzoning (character select screen)
+ // Also, rezoning is set to true while rezoning so we don't try to remove objects
// from zones if they are currently rezoning
- if (player.rezoning !== true) {
+ if (player.components.some(c => c.type === 'social') && player.rezoning !== true) {
await new Promise(res => {
atlas.removeObject(player, false, res);
});
@@ -97,8 +99,11 @@ module.exports = {
keys.forEach(function (k) {
let val = player[k];
if (val && val.type) {
- if (['player', 'auth', 'syncer'].indexOf(val.type) === -1)
+ if (['player', 'auth', 'syncer'].indexOf(val.type) === -1) {
delete player[k];
+
+ player.components.spliceWhere(c => c.type === val.type);
+ }
}
});