Fixed ally and pledge crest display.
Contributed by nasseka.
This commit is contained in:
		| @@ -16,12 +16,7 @@ | ||||
|  */ | ||||
| package org.l2jmobius.gameserver.model; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.gameserver.model.actor.Player; | ||||
| import org.l2jmobius.gameserver.model.interfaces.IIdentifiable; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.AllyCrest; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.ExPledgeEmblem; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.PledgeCrest; | ||||
|  | ||||
| /** | ||||
|  * @author NosBit | ||||
| @@ -85,53 +80,4 @@ public class Crest implements IIdentifiable | ||||
| 	{ | ||||
| 		return _type; | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Gets the client path to crest for use in html and sends the crest to {@code Player} | ||||
| 	 * @param player the @{code Player} where html is send to. | ||||
| 	 * @return the client path to crest | ||||
| 	 */ | ||||
| 	public String getClientPath(Player player) | ||||
| 	{ | ||||
| 		String path = null; | ||||
| 		switch (_type) | ||||
| 		{ | ||||
| 			case PLEDGE: | ||||
| 			{ | ||||
| 				player.sendPacket(new PledgeCrest(_id, _data)); | ||||
| 				path = "Crest.crest_" + Config.SERVER_ID + "_" + _id; | ||||
| 				break; | ||||
| 			} | ||||
| 			case PLEDGE_LARGE: | ||||
| 			{ | ||||
| 				if (_data != null) | ||||
| 				{ | ||||
| 					for (int i = 0; i <= 4; i++) | ||||
| 					{ | ||||
| 						if (i < 4) | ||||
| 						{ | ||||
| 							final byte[] fullChunk = new byte[14336]; | ||||
| 							System.arraycopy(_data, (14336 * i), fullChunk, 0, 14336); | ||||
| 							player.sendPacket(new ExPledgeEmblem(_id, fullChunk, 0, i)); | ||||
| 						} | ||||
| 						else | ||||
| 						{ | ||||
| 							final byte[] lastChunk = new byte[8320]; | ||||
| 							System.arraycopy(_data, (14336 * i), lastChunk, 0, 8320); | ||||
| 							player.sendPacket(new ExPledgeEmblem(_id, lastChunk, 0, i)); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				path = "Crest.crest_" + Config.SERVER_ID + "_" + _id + "_l"; | ||||
| 				break; | ||||
| 			} | ||||
| 			case ALLY: | ||||
| 			{ | ||||
| 				player.sendPacket(new AllyCrest(_id, _data)); | ||||
| 				path = "Crest.crest_" + Config.SERVER_ID + "_" + _id; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 		return path; | ||||
| 	} | ||||
| } | ||||
| @@ -27,13 +27,15 @@ import org.l2jmobius.gameserver.network.serverpackets.AllyCrest; | ||||
| public class RequestAllyCrest implements IClientIncomingPacket | ||||
| { | ||||
| 	private int _crestId; | ||||
| 	private int _clanId; | ||||
| 	 | ||||
| 	@Override | ||||
| 	public boolean read(GameClient client, PacketReader packet) | ||||
| 	{ | ||||
| 		packet.readD(); // Server ID | ||||
| 		_crestId = packet.readD(); | ||||
| 		packet.readD(); // Ally ID | ||||
| 		packet.readD(); // Server ID | ||||
| 		_clanId = packet.readD(); | ||||
| 		return true; | ||||
| 	} | ||||
| 	 | ||||
| @@ -46,6 +48,6 @@ public class RequestAllyCrest implements IClientIncomingPacket | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		player.sendPacket(new AllyCrest(_crestId)); | ||||
| 		player.sendPacket(new AllyCrest(_crestId, _clanId)); | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -16,7 +16,6 @@ | ||||
|  */ | ||||
| package org.l2jmobius.gameserver.network.serverpackets; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.commons.network.PacketWriter; | ||||
| import org.l2jmobius.gameserver.data.sql.CrestTable; | ||||
| import org.l2jmobius.gameserver.model.Crest; | ||||
| @@ -24,19 +23,22 @@ import org.l2jmobius.gameserver.network.OutgoingPackets; | ||||
|  | ||||
| public class AllyCrest implements IClientOutgoingPacket | ||||
| { | ||||
| 	private final int _clanId; | ||||
| 	private final int _crestId; | ||||
| 	private final byte[] _data; | ||||
| 	 | ||||
| 	public AllyCrest(int crestId) | ||||
| 	public AllyCrest(int crestId, int clanId) | ||||
| 	{ | ||||
| 		_crestId = crestId; | ||||
| 		_clanId = clanId; | ||||
| 		final Crest crest = CrestTable.getInstance().getCrest(crestId); | ||||
| 		_data = crest != null ? crest.getData() : null; | ||||
| 	} | ||||
| 	 | ||||
| 	public AllyCrest(int crestId, byte[] data) | ||||
| 	public AllyCrest(int crestId, int clanId, byte[] data) | ||||
| 	{ | ||||
| 		_crestId = crestId; | ||||
| 		_clanId = clanId; | ||||
| 		_data = data; | ||||
| 	} | ||||
| 	 | ||||
| @@ -44,11 +46,11 @@ public class AllyCrest implements IClientOutgoingPacket | ||||
| 	public boolean write(PacketWriter packet) | ||||
| 	{ | ||||
| 		OutgoingPackets.ALLIANCE_CREST.writeId(packet); | ||||
| 		 | ||||
| 		packet.writeD(Config.SERVER_ID); | ||||
| 		packet.writeD(_crestId); | ||||
| 		packet.writeD(_clanId); | ||||
| 		if (_data != null) | ||||
| 		{ | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeB(_data); | ||||
| 		} | ||||
|   | ||||
| @@ -44,11 +44,11 @@ public class PledgeCrest implements IClientOutgoingPacket | ||||
| 	public boolean write(PacketWriter packet) | ||||
| 	{ | ||||
| 		OutgoingPackets.PLEDGE_CREST.writeId(packet); | ||||
| 		 | ||||
| 		packet.writeD(Config.SERVER_ID); | ||||
| 		packet.writeD(_crestId); | ||||
| 		if (_data != null) | ||||
| 		{ | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeB(_data); | ||||
| 		} | ||||
|   | ||||
| @@ -16,12 +16,7 @@ | ||||
|  */ | ||||
| package org.l2jmobius.gameserver.model; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.gameserver.model.actor.Player; | ||||
| import org.l2jmobius.gameserver.model.interfaces.IIdentifiable; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.AllyCrest; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.ExPledgeEmblem; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.PledgeCrest; | ||||
|  | ||||
| /** | ||||
|  * @author NosBit | ||||
| @@ -85,53 +80,4 @@ public class Crest implements IIdentifiable | ||||
| 	{ | ||||
| 		return _type; | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Gets the client path to crest for use in html and sends the crest to {@code Player} | ||||
| 	 * @param player the @{code Player} where html is send to. | ||||
| 	 * @return the client path to crest | ||||
| 	 */ | ||||
| 	public String getClientPath(Player player) | ||||
| 	{ | ||||
| 		String path = null; | ||||
| 		switch (_type) | ||||
| 		{ | ||||
| 			case PLEDGE: | ||||
| 			{ | ||||
| 				player.sendPacket(new PledgeCrest(_id, _data)); | ||||
| 				path = "Crest.crest_" + Config.SERVER_ID + "_" + _id; | ||||
| 				break; | ||||
| 			} | ||||
| 			case PLEDGE_LARGE: | ||||
| 			{ | ||||
| 				if (_data != null) | ||||
| 				{ | ||||
| 					for (int i = 0; i <= 4; i++) | ||||
| 					{ | ||||
| 						if (i < 4) | ||||
| 						{ | ||||
| 							final byte[] fullChunk = new byte[14336]; | ||||
| 							System.arraycopy(_data, (14336 * i), fullChunk, 0, 14336); | ||||
| 							player.sendPacket(new ExPledgeEmblem(_id, fullChunk, 0, i)); | ||||
| 						} | ||||
| 						else | ||||
| 						{ | ||||
| 							final byte[] lastChunk = new byte[8320]; | ||||
| 							System.arraycopy(_data, (14336 * i), lastChunk, 0, 8320); | ||||
| 							player.sendPacket(new ExPledgeEmblem(_id, lastChunk, 0, i)); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				path = "Crest.crest_" + Config.SERVER_ID + "_" + _id + "_l"; | ||||
| 				break; | ||||
| 			} | ||||
| 			case ALLY: | ||||
| 			{ | ||||
| 				player.sendPacket(new AllyCrest(_id, _data)); | ||||
| 				path = "Crest.crest_" + Config.SERVER_ID + "_" + _id; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 		return path; | ||||
| 	} | ||||
| } | ||||
| @@ -27,13 +27,15 @@ import org.l2jmobius.gameserver.network.serverpackets.AllyCrest; | ||||
| public class RequestAllyCrest implements IClientIncomingPacket | ||||
| { | ||||
| 	private int _crestId; | ||||
| 	private int _clanId; | ||||
| 	 | ||||
| 	@Override | ||||
| 	public boolean read(GameClient client, PacketReader packet) | ||||
| 	{ | ||||
| 		packet.readD(); // Server ID | ||||
| 		_crestId = packet.readD(); | ||||
| 		packet.readD(); // Ally ID | ||||
| 		packet.readD(); // Server ID | ||||
| 		_clanId = packet.readD(); | ||||
| 		return true; | ||||
| 	} | ||||
| 	 | ||||
| @@ -46,6 +48,6 @@ public class RequestAllyCrest implements IClientIncomingPacket | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		player.sendPacket(new AllyCrest(_crestId)); | ||||
| 		player.sendPacket(new AllyCrest(_crestId, _clanId)); | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -16,7 +16,6 @@ | ||||
|  */ | ||||
| package org.l2jmobius.gameserver.network.serverpackets; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.commons.network.PacketWriter; | ||||
| import org.l2jmobius.gameserver.data.sql.CrestTable; | ||||
| import org.l2jmobius.gameserver.model.Crest; | ||||
| @@ -24,19 +23,22 @@ import org.l2jmobius.gameserver.network.OutgoingPackets; | ||||
|  | ||||
| public class AllyCrest implements IClientOutgoingPacket | ||||
| { | ||||
| 	private final int _clanId; | ||||
| 	private final int _crestId; | ||||
| 	private final byte[] _data; | ||||
| 	 | ||||
| 	public AllyCrest(int crestId) | ||||
| 	public AllyCrest(int crestId, int clanId) | ||||
| 	{ | ||||
| 		_crestId = crestId; | ||||
| 		_clanId = clanId; | ||||
| 		final Crest crest = CrestTable.getInstance().getCrest(crestId); | ||||
| 		_data = crest != null ? crest.getData() : null; | ||||
| 	} | ||||
| 	 | ||||
| 	public AllyCrest(int crestId, byte[] data) | ||||
| 	public AllyCrest(int crestId, int clanId, byte[] data) | ||||
| 	{ | ||||
| 		_crestId = crestId; | ||||
| 		_clanId = clanId; | ||||
| 		_data = data; | ||||
| 	} | ||||
| 	 | ||||
| @@ -44,11 +46,11 @@ public class AllyCrest implements IClientOutgoingPacket | ||||
| 	public boolean write(PacketWriter packet) | ||||
| 	{ | ||||
| 		OutgoingPackets.ALLIANCE_CREST.writeId(packet); | ||||
| 		 | ||||
| 		packet.writeD(Config.SERVER_ID); | ||||
| 		packet.writeD(_crestId); | ||||
| 		packet.writeD(_clanId); | ||||
| 		if (_data != null) | ||||
| 		{ | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeB(_data); | ||||
| 		} | ||||
|   | ||||
| @@ -44,11 +44,11 @@ public class PledgeCrest implements IClientOutgoingPacket | ||||
| 	public boolean write(PacketWriter packet) | ||||
| 	{ | ||||
| 		OutgoingPackets.PLEDGE_CREST.writeId(packet); | ||||
| 		 | ||||
| 		packet.writeD(Config.SERVER_ID); | ||||
| 		packet.writeD(_crestId); | ||||
| 		if (_data != null) | ||||
| 		{ | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeD(_data.length); | ||||
| 			packet.writeB(_data); | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment