예제 #1
0
		protected void ApplyEffectsToArea(WorldObject goObj)
		{
			var go = (GameObject)goObj;
			goObj.IterateEnvironment(Radius, obj => {
				if (obj is Character)
				{
					AreaEffectHandler(go, (Character)obj);
				}
				return true;
			});
		}
예제 #2
0
		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;
				});
			}
		}