// send emote animation to all visible players and format messages private void SendEmote(GamePlayer sourcePlayer, GameObject targetObject, eEmote emoteID, string[] emoteMessages) { string messageToSource = null; string messageToTarget = null; string messageToOthers = null; if (targetObject == null) { messageToSource = emoteMessages[EMOTE_NOTARGET_TO_SOURCE]; messageToOthers = string.Format(emoteMessages[EMOTE_NOTARGET_TO_OTHERS], sourcePlayer.Name); } else { messageToSource = string.Format(emoteMessages[EMOTE_TO_SOURCE], targetObject.GetName(0, false)); messageToOthers = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, targetObject.GetName(0, false)); if (targetObject is GamePlayer) { messageToTarget = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, YOU); } } foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE)) { if (!player.IsIgnoring(sourcePlayer)) { player.Out.SendEmoteAnimation(sourcePlayer, emoteID); } } SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers); return; }
private void SendEmote(GameClient client, GameObject targetObject, eEmote emoteID, string emoteType) { string messageToSource = null; string messageToTarget = null; string messageToOthers = null; GamePlayer sourcePlayer = client.Player; bool targetMatters = false; if (targetObject != null) { messageToSource = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.ToSource", emoteType), targetObject.GetName(0, false)); messageToOthers = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, targetObject.GetName(0, false), sourcePlayer.GetPronoun(1, false)); if (targetObject is GamePlayer) messageToTarget = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, LanguageMgr.GetTranslation(client, "HorseEmote.You"), sourcePlayer.GetPronoun(1, false)); if (messageToSource != "-" && messageToOthers != "-") targetMatters = true; } if (!targetMatters) { targetObject = null; messageToSource = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.NoTargetToSource", emoteType)); messageToOthers = LanguageMgr.GetTranslation(client, string.Format("HorseEmote.{0}.NoTargetToOthers", emoteType), sourcePlayer.Name, sourcePlayer.GetPronoun(1, false)); } foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE)) player.Out.SendEmoteAnimation(sourcePlayer, emoteID); SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers); return; }
private void SendEmote(GameClient client, GameObject targetObject, eEmote emoteID, string emoteType) { string messageToSource = null; string messageToTarget = null; string messageToOthers = null; GamePlayer sourcePlayer = client.Player; bool targetMatters = false; if (targetObject != null) { messageToSource = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.ToSource", emoteType), targetObject.GetName(0, false)); messageToOthers = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, targetObject.GetName(0, false), sourcePlayer.GetPronoun(1, false)); if (targetObject is GamePlayer) { messageToTarget = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.ToOthers", emoteType), sourcePlayer.Name, LanguageMgr.GetTranslation(client.Account.Language, "HorseEmote.You"), sourcePlayer.GetPronoun(1, false)); } if (messageToSource != "-" && messageToOthers != "-") { targetMatters = true; } } if (!targetMatters) { targetObject = null; messageToSource = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.NoTargetToSource", emoteType)); messageToOthers = LanguageMgr.GetTranslation(client.Account.Language, string.Format("HorseEmote.{0}.NoTargetToOthers", emoteType), sourcePlayer.Name, sourcePlayer.GetPronoun(1, false)); } foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE)) { player.Out.SendEmoteAnimation(sourcePlayer, emoteID); } SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers); return; }
// send emote animation to all visible players and format messages private void SendEmote(GamePlayer sourcePlayer, GameObject targetObject, eEmote emoteID, string[] emoteMessages) { string messageToSource = null; string messageToTarget = null; string messageToOthers = null; if (targetObject == null) { messageToSource = emoteMessages[EMOTE_NOTARGET_TO_SOURCE]; messageToOthers = string.Format(emoteMessages[EMOTE_NOTARGET_TO_OTHERS], sourcePlayer.Name); } else { messageToSource = string.Format(emoteMessages[EMOTE_TO_SOURCE], targetObject.GetName(0, false)); messageToOthers = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, targetObject.GetName(0, false)); if (targetObject is GamePlayer) messageToTarget = string.Format(emoteMessages[EMOTE_TO_OTHERS], sourcePlayer.Name, YOU); } foreach (GamePlayer player in sourcePlayer.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE)) if (!player.IsIgnoring(sourcePlayer)) player.Out.SendEmoteAnimation(sourcePlayer, emoteID); SendEmoteMessages(sourcePlayer, targetObject as GamePlayer, messageToSource, messageToTarget, messageToOthers); return; }
public void SendEmoteAnimation(GameObject obj, eEmote emote) { }
public virtual void SendEmoteAnimation(GameObject obj, eEmote emote) { using (var pak = new GSTCPPacketOut(GetPacketCode(eServerPackets.EmoteAnimation))) { pak.WriteShort((ushort) obj.ObjectID); pak.WriteByte((byte) emote); pak.WriteByte(0x00); SendTCP(pak); } }
public void SendEmoteAnimation(GameObject obj, eEmote emote) { if (SendEmoteAnimationMethod != null) SendEmoteAnimationMethod(this, obj, emote); }