示例#1
0
	ItemSelection.setList = function setList( list, isSkill )
	{
		var i, count;
		var item, it, file, name;

		ItemSelection.list.empty();

		for (i = 0, count = list.length; i < count; ++i) {
			if (isSkill) {
				item = SkillInfo[list[i]];
				file = item.Name;
				name = item.SkillName;
			}
			else {
				item = Inventory.getItemByIndex(list[i]);
				it   = DB.getItemInfo( item.ITID );
				file = item.IsIdentified ? it.identifiedResourceName : it.unidentifiedResourceName;
				name = item.IsIdentified ? it.identifiedDisplayName : it.unidentifiedDisplayName;
			}

			addElement( DB.INTERFACE_PATH + 'item/' + file + '.bmp', list[i], name);
		}

		this.setIndex(list[0]);
	};
示例#2
0
	ItemSelection.setList = function setList( list, isSkill )
	{
		var i, count;
		var item, it, file, name;


		for (i = 0, count = list.length; i < count; ++i) {
			if (isSkill) {
				continue;
				//	var SkillInfo = require('DB/SkillInfo');
				//file = SkillInfo[ID].Name;
				//name = SkillInfo[ID].SkillName;
			}
			else {
				item = Inventory.getItemByIndex(list[i].index);
				it   = DB.getItemInfo( item.ITID );
				file = it.identifiedResourceName;
				name = item.IsIdentified ? it.identifiedDisplayName : it.unidentifiedDisplayName;
			}

			addElement( DB.INTERFACE_PATH + 'item/' + file + '.bmp', list[i].index, name);
		}

		this.setIndex(list[0].index);
	};
示例#3
0
	NpcStore.setList = function setList( items )
	{
		var i, count;
		var it, item, out, content;

		this.ui.find('.content').empty();
		this.ui.find('.total .result').text(0);

		_input.length  = 0;
		_output.length = 0;
		content        = this.ui.find('.InputWindow .content');

		switch (_type) {

			case NpcStore.Type.BUY:
			case NpcStore.Type.VENDING_STORE:
				for (i = 0, count = items.length; i < count; ++i) {
					if (!('index' in items[i])) {
						items[i].index = i;
					}
					items[i].count        = items[i].count || Infinity;
					items[i].IsIdentified = true;
					out                   = jQuery.extend({}, items[i]);
					out.count             = 0;

					addItem( content, items[i]);

					_input[items[i].index]  = items[i];
					_output[items[i].index] = out;
				}
				break;

			case NpcStore.Type.SELL:
				for (i = 0, count = items.length; i < count; ++i) {
					it = Inventory.getItemByIndex(items[i].index);

					if (it) {
						item                 = jQuery.extend({}, it);
						item.price           = items[i].price;
						item.overchargeprice = items[i].overchargeprice;
						item.count           = ('count' in item) ? item.count : 1;

						out                  = jQuery.extend({}, item);
						out.count            = 0;

						addItem( content, item);

						_input[item.index]  = item;
						_output[item.index] = out;
					}
				}
				break;
		}
	};
示例#4
0
	/**
	 * Get a list of equipments to insert card
	 *
	 * @param {object} pkt - PACKET.ZC.ITEMCOMPOSITION_LIST
	 */
	function onItemCompositionList( pkt )
	{
		if (!pkt.ITIDList.length) {
			return;
		}

		var card = Inventory.getItemByIndex(_cardComposition);

		ItemSelection.append();
		ItemSelection.setList(pkt.ITIDList);
		ItemSelection.setTitle(DB.getMessage(522) + '(' + DB.getItemInfo(card.ITID).identifiedDisplayName + ')');
		ItemSelection.onIndexSelected = function(index) {
			if (index >= 0) {
				var pkt        = new PACKET.CZ.REQ_ITEMCOMPOSITION();
				pkt.cardIndex  = _cardComposition;
				pkt.equipIndex = index;
				Network.sendPacket(pkt);
			}

			_cardComposition = null;
		};
	}
示例#5
0
	/**
	 * Equip an arrow
	 *
	 * @param {object} pkt - PACKET_ZC_EQUIP_ARROW
	 */
	function onArrowEquipped( pkt )
	{
		var item = Inventory.getItemByIndex( pkt.index );
		Equipment.equip( item, EquipLocation.AMMO);
	}