public override void Execute() { if (!Options.CurrentOptions.QueueLastTarget) { UOC.SystemMessage(Strings.Target_queue_is_not_enabled___); return; } object nextTarget = Engine.LastTargetQueue.Peek()?.Object; switch (nextTarget) { case string targetAlias: MsgCommands.HeadMsg(string.Format(Strings.Next_Target___0_, targetAlias), Engine.Player?.Serial); break; case int targetSerial: { Mobile entity = Engine.Mobiles.GetMobile(targetSerial); MsgCommands.HeadMsg( string.Format(Strings.Next_Target___0_, $"0x{targetSerial:x} - {entity?.Name ?? "Unknown"}"), Engine.Player?.Serial); break; } } }
public void SetLastTarget(Entity m) { Engine.Player.LastTargetSerial = m.Serial; if (!UOMath.IsMobile(m.Serial)) { return; } MsgCommands.HeadMsg("[Target]", m.Serial); MsgCommands.HeadMsg($"Target: {m.Name?.Trim() ?? "Unknown"}"); Engine.SendPacketToClient(new ChangeCombatant(m.Serial)); }
public void SetLastTarget(Entity m) { Engine.Player.LastTargetSerial = m.Serial; if (!UOMath.IsMobile(m.Serial)) { return; } if (!MacroManager.QuietMode) { MsgCommands.HeadMsg(Options.CurrentOptions.LastTargetMessage, m.Serial); } MsgCommands.HeadMsg($"Target: {m.Name?.Trim() ?? "Unknown"}"); Engine.SendPacketToClient(new ChangeCombatant(m.Serial)); }
private static void OnLocalizedText(PacketReader reader) { JournalEntry journalEntry = new JournalEntry { Serial = reader.ReadInt32(), ID = reader.ReadInt16(), SpeechType = (JournalSpeech)reader.ReadByte(), SpeechHue = reader.ReadInt16(), SpeechFont = reader.ReadInt16(), Cliloc = reader.ReadInt32(), Name = reader.ReadString(30), Arguments = reader.ReadUnicodeString((int)reader.Size - 50) .Split(new[] { '\t' }, StringSplitOptions.RemoveEmptyEntries) }; journalEntry.Text = Cliloc.GetLocalString(journalEntry.Cliloc, journalEntry.Arguments); if (journalEntry.SpeechType == JournalSpeech.Label) { if (Engine.Player?.LastTargetSerial == journalEntry.Serial) { MsgCommands.HeadMsg(Options.CurrentOptions.LastTargetMessage, journalEntry.Serial); } if (Engine.Player?.EnemyTargetSerial == journalEntry.Serial) { MsgCommands.HeadMsg(Options.CurrentOptions.EnemyTargetMessage, journalEntry.Serial); } if (Engine.Player?.FriendTargetSerial == journalEntry.Serial) { MsgCommands.HeadMsg(Options.CurrentOptions.FriendTargetMessage, journalEntry.Serial); } } Engine.Journal.Write(journalEntry); JournalEntryAddedEvent?.Invoke(journalEntry); }