protected void ApplyEffectsToArea(WorldObject goObj) { var go = (GameObject)goObj; goObj.IterateEnvironment(Radius, obj => { if (obj is Character) { AreaEffectHandler(go, (Character)obj); } return true; }); }
public static void SendMonsterMessage(WorldObject chatter, ChatMsgType chatType, ChatLanguage language, string[] localizedMsgs, float radius) { if (chatter == null || !chatter.IsAreaActive) return; using (var packet = CreateObjectChatMessage(chatType, language, chatter)) { chatter.IterateEnvironment(radius, obj => { if (obj is Character) { packet.WriteUIntPascalString(localizedMsgs.Localize(((Character)obj).Client.Info.Locale)); packet.Write((byte)(chatter is Unit ? ((Unit)chatter).ChatTag : ChatTag.None)); ((Character)obj).Send(packet.GetFinalizedPacket()); } return true; }); } }