diff --git a/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/Lineage2ClientImpl.java b/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/Lineage2ClientImpl.java index 37490d519..199b78f09 100755 --- a/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/Lineage2ClientImpl.java +++ b/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/Lineage2ClientImpl.java @@ -34,6 +34,7 @@ import com.l2jserver.model.game.Skill; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.template.ItemTemplate; +import com.l2jserver.model.world.Actor; import com.l2jserver.model.world.Item; import com.l2jserver.model.world.L2Character; import com.l2jserver.service.network.model.Lineage2Client; @@ -281,6 +282,8 @@ else if (obj instanceof Skill) packet.addSkill((Skill) obj); else if (obj instanceof Fort) packet.addFort((Fort) obj); + else if(obj instanceof Actor) + packet.addActorName((Actor) obj); } return write(packet); } diff --git a/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/packet/server/SM_SYSTEM_MESSAGE.java b/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/packet/server/SM_SYSTEM_MESSAGE.java index 3091fc479..586fa5d18 100644 --- a/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/packet/server/SM_SYSTEM_MESSAGE.java +++ b/l2jserver2-gameserver/l2jserver2-gameserver-core/src/main/java/com/l2jserver/game/net/packet/server/SM_SYSTEM_MESSAGE.java @@ -27,6 +27,7 @@ import com.l2jserver.model.template.SkillTemplate; import com.l2jserver.model.world.Actor; import com.l2jserver.model.world.Item; +import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.NPC; import com.l2jserver.service.network.model.Lineage2Client; import com.l2jserver.service.network.model.SystemMessage; @@ -226,14 +227,12 @@ public void write(Lineage2Client conn, ChannelBuffer buffer) { * @return this instance */ public final SM_SYSTEM_MESSAGE addActorName(final Actor actor) { - // params.add(new SystemMessagePacketParameter() { - // @Override - // public void write(Lineage2Connection conn, ChannelBuffer buffer) { - // // buffer.writeInt(TYPE_TEXT); - // // buffer.writeInt(number); - // // TODO - // } - // }); + if (actor instanceof L2Character) { + addString(((L2Character) actor).getName()); + } else if (actor instanceof NPC) { + addString(((NPC) actor).getTemplate().getInfo().getName() + .getValue()); + } return this; } diff --git a/l2jserver2-gameserver/l2jserver2-gameserver-freya/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java b/l2jserver2-gameserver/l2jserver2-gameserver-freya/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java index bb940979b..57bae6066 100755 --- a/l2jserver2-gameserver/l2jserver2-gameserver-freya/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java +++ b/l2jserver2-gameserver/l2jserver2-gameserver-freya/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java @@ -65,8 +65,10 @@ import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent; import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent; import com.l2jserver.model.world.character.event.CharacterWalkingEvent; +import com.l2jserver.model.world.item.ItemCreatedEvent; import com.l2jserver.model.world.item.ItemDropEvent; import com.l2jserver.model.world.item.ItemPickEvent; +import com.l2jserver.model.world.item.ItemRemovedEvent; import com.l2jserver.model.world.npc.event.NPCSpawnEvent; import com.l2jserver.model.world.npc.event.NPCTalkEvent; import com.l2jserver.model.world.player.event.PlayerTeleportedEvent; @@ -249,6 +251,26 @@ public boolean dispatch(WorldEvent e) { } else if (e instanceof CharacterCreateShortcutEvent) { conn.write(new SM_CHAR_SHORTCUT_REGISTER( ((CharacterCreateShortcutEvent) e).getShortcut())); + } else if (e instanceof ItemCreatedEvent) { + if (((ItemCreatedEvent) e).getItem().getCount() == 1) { + conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S2, + ((ItemCreatedEvent) e).getCharacter(), + ((ItemCreatedEvent) e).getItem()); + } else { + conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S3_S2, + ((ItemCreatedEvent) e).getCharacter(), + ((ItemCreatedEvent) e).getItem(), + ((ItemCreatedEvent) e).getItem().getCount()); + } + } else if (e instanceof ItemRemovedEvent) { + if (((ItemCreatedEvent) e).getItem().getCount() == 1) { + conn.sendSystemMessage(SystemMessage.S1_DISAPPEARED, + ((ItemCreatedEvent) e).getItem()); + } else { + conn.sendSystemMessage(SystemMessage.S2_S1_DISAPPEARED, + ((ItemCreatedEvent) e).getItem(), + ((ItemCreatedEvent) e).getItem().getCount()); + } } // keep listener alive return true; diff --git a/l2jserver2-gameserver/l2jserver2-gameserver-interlude/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java b/l2jserver2-gameserver/l2jserver2-gameserver-interlude/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java index e5fe22fe1..ce813e3d1 100644 --- a/l2jserver2-gameserver/l2jserver2-gameserver-interlude/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java +++ b/l2jserver2-gameserver/l2jserver2-gameserver-interlude/src/main/java/com/l2jserver/service/network/broadcast/BroadcastServiceImpl.java @@ -64,8 +64,10 @@ import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent; import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent; import com.l2jserver.model.world.character.event.CharacterWalkingEvent; +import com.l2jserver.model.world.item.ItemCreatedEvent; import com.l2jserver.model.world.item.ItemDropEvent; import com.l2jserver.model.world.item.ItemPickEvent; +import com.l2jserver.model.world.item.ItemRemovedEvent; import com.l2jserver.model.world.npc.event.NPCSpawnEvent; import com.l2jserver.model.world.npc.event.NPCTalkEvent; import com.l2jserver.model.world.player.event.PlayerTeleportedEvent; @@ -225,7 +227,8 @@ public boolean dispatch(WorldEvent e) { final L2Character character = (L2Character) ((PlayerTeleportedEvent) e) .getPlayer(); conn.write(new SM_CHAR_INFO(character)); - //conn.write(new SM_CHAR_INFO_EXTRA(character)); not sure if interlude has this packet. + // conn.write(new SM_CHAR_INFO_EXTRA(character)); not sure + // if interlude has this packet. broadcastAll(conn, character); } else if (e instanceof ActorAttackHitEvent) { conn.write(new SM_ACTOR_ATTACK(((ActorAttackHitEvent) e) @@ -248,6 +251,26 @@ public boolean dispatch(WorldEvent e) { } else if (e instanceof CharacterCreateShortcutEvent) { conn.write(new SM_CHAR_SHORTCUT_REGISTER( ((CharacterCreateShortcutEvent) e).getShortcut())); + } else if (e instanceof ItemCreatedEvent) { + if (((ItemCreatedEvent) e).getItem().getCount() == 1) { + conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S2, + ((ItemCreatedEvent) e).getCharacter(), + ((ItemCreatedEvent) e).getItem()); + } else { + conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S3_S2, + ((ItemCreatedEvent) e).getCharacter(), + ((ItemCreatedEvent) e).getItem(), + ((ItemCreatedEvent) e).getItem().getCount()); + } + } else if (e instanceof ItemRemovedEvent) { + if (((ItemCreatedEvent) e).getItem().getCount() == 1) { + conn.sendSystemMessage(SystemMessage.S1_DISAPPEARED, + ((ItemCreatedEvent) e).getItem()); + } else { + conn.sendSystemMessage(SystemMessage.S2_S1_DISAPPEARED, + ((ItemCreatedEvent) e).getItem(), + ((ItemCreatedEvent) e).getItem().getCount()); + } } // keep listener alive return true; @@ -375,7 +398,8 @@ protected boolean dispatch(CharacterEvent e) { // send this user information log.debug("Sending character information packets"); conn.write(new SM_CHAR_INFO(e.getCharacter())); -// conn.write(new SM_CHAR_INFO_EXTRA(e.getCharacter())); interlude doesn't have this? + // conn.write(new SM_CHAR_INFO_EXTRA(e.getCharacter())); interlude + // doesn't have this? conn.write(new SM_CHAR_INVENTORY(e.getCharacter().getInventory())); conn.write(new SM_CHAR_SHORTCUT_LIST(e.getCharacter().getShortcuts()));