Example #1
0
	gsjsBridge.init(true, function cb() {
		// hi variants tracker group required for pc login:
		pers.create(Group, {tsid: 'RIFUKAGPIJC358O', class_tsid: 'hi_variants_tracker'});
		var geo = Geo.create({tsid: 'GXYZ', layers: {middleground: {
			platform_lines: {plat_1: {
				start: {x: -100, y: 0}, end: {x: 100, y: 0},
				platform_item_perm: -1, platform_pc_perm: -1,
		}}}}});
		loc = Location.create(geo);
		pc = Player.create({
			tsid: 'PXYYZ',
			label: 'Chuck',
			class_tsid: 'human',
			skip_newux: true,
			location: loc,
			x: 0, y: -100,
			last_location: {},
		});
		trant = Item.create('trant_bean');
		trant.setContainer(loc, 12, 34);
		trant.die = function () {};  // prevent dying
		apple = Item.create('apple');
		apple.setContainer(pc, 0);
		done();
	});
Example #2
0
Player.create = function create(data) {
	assert(_.isObject(data), 'minimal player data set required');
	assert(utils.isLoc(data.location), 'location required');
	data.class_tsid = data.class_tsid || 'human';
	var ret = pers.create(Player, data);
	log.info('%s was imagined!', ret);
	return ret;
};
Example #3
0
			new RC().run(function () {
				var p = pers.create(Player, {location: Location.create(Geo.create())});
				var i1 = Item.create('tomato');
				i1.setContainer(p, 0);
				var i2 = Item.create('tomato');
				i2.setContainer(p, 1);
				var i3 = Item.create('tomato');
				i1.setContainer(p, 1);
				i2.setContainer(p, 0);
				p.addItemStack(i3);
				assert.strictEqual(i2.count, 2);
			}, done);
Example #4
0
			new RC().run(function () {
				var p = pers.create(Player, {location: Location.create(Geo.create())});
				p.capacity = 2;
				var b1 = Bag.create('bag_generic');
				b1.setContainer(p, 0);
				var b2 = Bag.create('bag_generic');
				b2.setContainer(p, 1);
				var i = Item.create('moon');
				b1.setContainer(p, 1);
				b2.setContainer(p, 0);
				p.addItemStack(i);
				assert.strictEqual(Object.keys(b2.items).length, 1);
			}, done);
Example #5
0
			new RC().run(function () {
				var p = pers.create(Player, {location: Location.create(Geo.create())});
				var remaining = p.createItemFromSource('watering_can', 99, p, true);
				assert.strictEqual(remaining, 83, '99 cans created, 16 player' +
					' inventory slots filled, 83 remaining');
				// check that inventory was filled
				assert.strictEqual(Object.keys(p.items).length, p.capacity);
				Object.keys(p.items).forEach(function isCan(tsid) {
					assert.strictEqual(p.items[tsid].class_tsid, 'watering_can');
					assert.strictEqual(p.items[tsid].count, 1);
				});
				// make sure nothing was added to SDB in furniture bag
				var fbag = p.hiddenItems[p.furniture.storage_tsid];
				Object.keys(fbag.items).forEach(function check(tsid) {
					var it = fbag.items[tsid];
					if (it.class_tsid === 'bag_furniture_sdb') {
						assert.strictEqual(Object.keys(it.items).length, 0,
							'nothing added to SDB in furniture bag');
					}
				});
			}, done);
Example #6
0
Location.create = function create(geo, data) {
	data = data || {};
	data.tsid = geo.getLocTsid();
	data.class_tsid = data.class_tsid || 'town';
	return pers.create(Location, data);
};
Example #7
0
Quest.create = function create(classTsid, owner) {
	assert(utils.isLoc(owner) || utils.isPlayer(owner), util.format(
		'invalid Quest owner: %s', owner));
	var quest = pers.create(Quest, {class_tsid: classTsid, owner: owner});
	return quest;
};
DataContainer.create = function create(owner) {
	assert(utils.isLoc(owner) || utils.isItem(owner) || utils.isGroup(owner),
		util.format('invalid DC owner: %s', owner));
	var dc = pers.create(DataContainer, {owner: owner});
	return dc;
};
Example #9
0
Geo.create = function create(data) {
	return pers.create(Geo, data);
};