function () { var g = Geo.create(); var l = Location.create(g); var p = new Player({tsid: 'PX', location: l}); l.players[p.tsid] = p; rc.cache[g.tsid] = g; rc.cache[l.tsid] = l; rc.cache[p.tsid] = p; var it = new Item({tsid: 'IX', class_tsid: 'pi', tcont: l.tsid, container: l}); p.session = { send: function send(msg) { assert.strictEqual(msg.changes.location_tsid, l.tsid); var iv = msg.changes.itemstack_values; assert.lengthOf(Object.keys(iv.pc), 1); assert.lengthOf(Object.keys(iv.location), 1); assert.strictEqual(iv.pc.IX.count, 1); assert.strictEqual(iv.pc.IX.slot, 5); assert.strictEqual(iv.location.IX.count, 0); done(); }, }; p.addToSlot(it, 5); p.send({}); },
function () { var p = new Player(); p.stats.xp.setLimits(0, 1000); p.stats.xp.setVal(555); p.session = { send: function send(msg) { assert.deepEqual(msg.changes.stat_values, {xp: 555}); assert.strictEqual(msg.moo, 'far'); assert.deepEqual(origMsg, {moo: 'far'}, 'changes ' + 'not added to original message parameter'); done(); }, }; var origMsg = {moo: 'far'}; p.send(origMsg); },
function () { var p = new Player(); p.session = { send: function send(msg) { var anncs = msg.announcements; assert.lengthOf(anncs, 2); assert.deepEqual(p.anncs, []); assert.strictEqual(anncs[0].id, 'someAnnc'); assert.strictEqual(anncs[1].mo2, 'problems'); assert.deepEqual(origMsg, {}, 'announcements ' + 'not added to original message parameter'); done(); }, }; p.queueAnnc({id: 'someAnnc', data: 5}); p.queueAnnc({mo1: 'money', mo2: 'problems'}); var origMsg = {}; p.send(origMsg); },