root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/network/aion/InventoryPacket.java

965993
46
		writeD(buf, Integer.parseInt(itemTemplate.getDescription()));
46
		writeD(buf, Integer.parseInt(itemTemplate.getDescription()));
47
		writeH(buf, 0);
47
		writeH(buf, 0);
48
	}
48
	}
49
	
49
50
	/**
50
	/**
51
	 *  All misc items
51
	 *  All misc items
52
	 * @param buf
52
	 * @param buf
...
...
56
	{
56
	{
57
		writeH(buf, 0x16); //length of details
57
		writeH(buf, 0x16); //length of details
58
		writeC(buf, 0);
58
		writeC(buf, 0);
59
		
59
60
		if(isQuest)
60
		if(isQuest)
61
		{
61
		{
62
			writeC(buf, 0x20);
62
			writeC(buf, 0x20);
...
...
66
			writeC(buf, 0x3E); //or can be 0x1E 0x3E 0x20 (quest)
66
			writeC(buf, 0x3E); //or can be 0x1E 0x3E 0x20 (quest)
67
			writeC(buf, 0x63); // ?
67
			writeC(buf, 0x63); // ?
68
		}
68
		}
69
		
69
70
		
70
71
		writeD(buf, item.getItemCount());
71
		writeD(buf, item.getItemCount());
72
		writeD(buf, 0);
72
		writeD(buf, 0);
73
		writeD(buf, 0);
73
		writeD(buf, 0);
...
...
76
		writeC(buf, 0);
76
		writeC(buf, 0);
77
		writeH(buf, item.getEquipmentSlot()); // not equipable items
77
		writeH(buf, item.getEquipmentSlot()); // not equipable items
78
	}
78
	}
79
	
79
80
	/**
80
	/**
81
	 * 
81
	 * 
82
	 * @param buf
82
	 * @param buf
83
	 * @param item
83
	 * @param item
84
	 */
84
	 */
85
	protected void writeKinah(ByteBuffer buf, Item item)
85
	protected void writeKinah(ByteBuffer buf, Item item, boolean isInventory)
86
	{
86
	{
87
		writeH(buf, 0x16); //length of details
87
		writeH(buf, 0x16); //length of details
88
		writeC(buf, 0);
88
		writeC(buf, 0);
...
...
95
		writeH(buf, 0);
95
		writeH(buf, 0);
96
		writeC(buf, 0);
96
		writeC(buf, 0);
97
		writeH(buf, 255); // FF FF equipment
97
		writeH(buf, 255); // FF FF equipment
98
		writeC(buf, 0);
98
		if(isInventory)
99
			writeC(buf, 0);
99
	}
100
	}
100
	
101
101
	/**
102
	/**
102
	 *  For all weapon. Weapon is identified by weapon_type in xml
103
	 *  For all weapon. Weapon is identified by weapon_type in xml
103
	 *  
104
	 *  
104
	 * @param buf
105
	 * @param buf
105
	 * @param item
106
	 * @param item
106
	 */
107
	 */
107
	protected void writeWeaponInfo(ByteBuffer buf, Item item)
108
	protected void writeWeaponInfo(ByteBuffer buf, Item item, boolean isInventory)
108
	{
109
	{
109
		int itemSlotId = item.getEquipmentSlot();
110
		int itemSlotId = item.getEquipmentSlot();
110
		writeH(buf, 0x4B);
111
		writeH(buf, 0x4B);
...
...
117
		writeC(buf, 0); //enchant (1-10)
118
		writeC(buf, 0); //enchant (1-10)
118
		writeD(buf, item.getItemTemplate().getItemId());
119
		writeD(buf, item.getItemTemplate().getItemId());
119
		writeC(buf, 0);
120
		writeC(buf, 0);
120
		
121
121
		writeItemStones(buf, item);
122
		writeItemStones(buf, item);
122
		
123
123
		
124
124
		writeC(buf, 0);
125
		writeC(buf, 0);
125
		writeD(buf, 0);
126
		writeD(buf, 0);
126
		writeD(buf, 0);
127
		writeD(buf, 0);
127
		
128
128
		writeD(buf, 0);//unk 1.5.1.9
129
		writeD(buf, 0);//unk 1.5.1.9
129
		writeC(buf, 0);//unk 1.5.1.9
130
		writeC(buf, 0);//unk 1.5.1.9
130
131
...
...
137
		writeH(buf, 0);
138
		writeH(buf, 0);
138
		writeC(buf, 0);
139
		writeC(buf, 0);
139
		writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot()); // FF FF equipment
140
		writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot()); // FF FF equipment
140
		writeC(buf,  0);//item.isEquipped() ? 1 : 0
141
		if(isInventory)
142
			writeC(buf,  0);//item.isEquipped() ? 1 : 0
141
	}
143
	}
142
	
144
143
	/**
145
	/**
144
	 *  Writes manastones : 6C - statenum mask, 6H - value
146
	 *  Writes manastones : 6C - statenum mask, 6H - value
145
	 * @param buf
147
	 * @param buf
...
...
149
	{
151
	{
150
		int count = 0;
152
		int count = 0;
151
		List<ItemStone> itemStones = item.getItemStones();
153
		List<ItemStone> itemStones = item.getItemStones();
152
		
154
153
		if(itemStones != null)
155
		if(itemStones != null)
154
		{
156
		{
155
			for(ItemStone itemStone : itemStones)
157
			for(ItemStone itemStone : itemStones)
156
			{
158
			{
157
				if(count == 6)
159
				if(count == 6)
158
					break;
160
					break;
159
				
161
160
				StatModifier modifier = itemStone.getFirstModifier();
162
				StatModifier modifier = itemStone.getFirstModifier();
161
				if(modifier != null)
163
				if(modifier != null)
162
				{
164
				{
...
...
170
			{
172
			{
171
				if(count == 6)
173
				if(count == 6)
172
					break;
174
					break;
173
				
175
174
				StatModifier modifier = itemStone.getFirstModifier();
176
				StatModifier modifier = itemStone.getFirstModifier();
175
				if(modifier != null)
177
				if(modifier != null)
176
				{
178
				{
...
...
184
		{
186
		{
185
			writeB(buf, new byte[18]);
187
			writeB(buf, new byte[18]);
186
		}
188
		}
187
		
189
188
		//for now max 6 stones - write some junk
190
		//for now max 6 stones - write some junk
189
		
191
190
	}
192
	}
191
	
193
192
	/**
194
	/**
193
	 *  For all armor. Armor is identified by armor_type in xml
195
	 *  For all armor. Armor is identified by armor_type in xml
194
	 * @param buf
196
	 * @param buf
195
	 * @param item
197
	 * @param item
196
	 */
198
	 */
197
	protected void writeArmorInfo(ByteBuffer buf, Item item)
199
	protected void writeArmorInfo(ByteBuffer buf, Item item, boolean isInventory)
198
	{
200
	{
199
		int itemSlotId = item.getEquipmentSlot();
201
		int itemSlotId = item.getEquipmentSlot();
200
		writeH(buf, 0x4F);
202
		writeH(buf, 0x4F);
...
...
207
		writeH(buf, 0x0B); //? some details separator
209
		writeH(buf, 0x0B); //? some details separator
208
		writeC(buf, 0); //enchant (1-10)
210
		writeC(buf, 0); //enchant (1-10)
209
		writeD(buf, item.getItemTemplate().getItemId());
211
		writeD(buf, item.getItemTemplate().getItemId());
210
		
212
211
		writeC(buf, 0);
213
		writeC(buf, 0);
212
		
214
213
		writeItemStones(buf, item);
215
		writeItemStones(buf, item);
214
		
216
215
		writeC(buf, 0);
217
		writeC(buf, 0);
216
		writeD(buf, 0);
218
		writeD(buf, 0);
217
		writeD(buf, 0);	
219
		writeD(buf, 0);	
218
		
220
219
		writeD(buf, 0);//unk 1.5.1.9
221
		writeD(buf, 0);//unk 1.5.1.9
220
		writeC(buf, 0);//unk 1.5.1.9
222
		writeC(buf, 0);//unk 1.5.1.9
221
		
223
222
		writeC(buf, 0x3E);
224
		writeC(buf, 0x3E);
223
		writeC(buf, 0x02);
225
		writeC(buf, 0x02);
224
		writeD(buf, item.getItemCount());
226
		writeD(buf, item.getItemCount());
...
...
228
		writeH(buf, 0);
230
		writeH(buf, 0);
229
		writeC(buf, 0);
231
		writeC(buf, 0);
230
		writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot()); // FF FF equipment
232
		writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot()); // FF FF equipment
231
		writeC(buf,  1);//item.isEquipped() ? 1 : 0
233
		if(isInventory)
234
			writeC(buf,  1);//item.isEquipped() ? 1 : 0
232
	}
235
	}
233
}
236
}