|
- let sheets = require('../security/sheets');
-
- module.exports = {
- getAccount: function (name) {
- return sheets.getRecord(name);
- },
-
- onBeforePlayerEnterGame: function (obj, blueprint) {
- let account = obj.account;
- let config = this.getAccount(account) || {};
- if (config.items) {
- let blueprintInventory = blueprint.components.find(c => (c.type === 'inventory'));
- if (!blueprintInventory) {
- blueprint.components.push({
- type: 'inventory',
- items: []
- });
-
- return;
- } else if (!blueprintInventory.items)
- blueprintInventory.items = [];
-
- let items = blueprintInventory.items;
- config.items.forEach(function (item) {
- let hasItem = items.find(i => (i.name === item.name));
- if (hasItem)
- return;
-
- items.push(item);
- }, this);
- }
- },
-
- getRoleLevel: function (player) {
- let account = player.account;
- let level = this.getAccount(account) ? this.getAccount(account).level : 0;
-
- return level;
- },
-
- isRoleLevel: function (player, requireLevel, message) {
- let account = player.account;
- let level = this.getAccount(account) ? this.getAccount(account).level : 0;
-
- let success = (level >= requireLevel);
-
- if ((!success) && (message))
- this.sendMessage(player, message);
-
- return success;
- },
-
- getRoleMessageStyle: function (player) {
- let account = player.account;
- return this.getAccount(account) ? this.getAccount(account).messageStyle : null;
- },
-
- getRoleMessagePrefix: function (player) {
- let account = player.account;
- return this.getAccount(account) ? this.getAccount(account).messagePrefix : null;
- },
-
- getSkins: function (account) {
- let skins = [];
- account = this.getAccount(account) || {
- skins: []
- };
- (account.skins || []).forEach(function (s) {
- skins.push(s);
- });
-
- skins = skins.filter((s, i) => (skins.indexOf(s) === i));
- return skins;
- },
-
- sendMessage: function (player, msg) {
- msg = 'Only certain roles can ' + msg + ' at the moment';
-
- player.instance.syncer.queue('onGetMessages', {
- id: player.id,
- messages: {
- class: 'color-redA',
- message: msg
- }
- }, [player.serverId]);
- }
- };
|