Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
69
Scripts/SubSystem/Knives Chat 3.0 Beta 6/Channels/Faction.cs
Normal file
69
Scripts/SubSystem/Knives Chat 3.0 Beta 6/Channels/Faction.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Knives.Utils;
|
||||
|
||||
namespace Knives.Chat3
|
||||
{
|
||||
public class Faction : Channel
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
new Faction();
|
||||
}
|
||||
|
||||
public Faction() : base("Faction")
|
||||
{
|
||||
Commands.Add("faction");
|
||||
Commands.Add("f");
|
||||
DefaultC = 0x17;
|
||||
|
||||
Register(this);
|
||||
}
|
||||
|
||||
public override bool CanChat(Mobile m, bool say)
|
||||
{
|
||||
if (!General.IsInFaction(m))
|
||||
{
|
||||
if (say) m.SendMessage(Data.GetData(m).SystemC, General.Local(37));
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.CanChat(m, say);
|
||||
}
|
||||
|
||||
protected override void Broadcast(Mobile m, string msg)
|
||||
{
|
||||
foreach (Data data in Data.Datas.Values)
|
||||
{
|
||||
if (data.Channels.Contains(Name) && !data.Ignores.Contains(m))
|
||||
{
|
||||
if (data.Mobile.Guild != m.Guild)
|
||||
continue;
|
||||
|
||||
data.Mobile.SendMessage(m.AccessLevel == AccessLevel.Player ? data.ColorFor(this) : Data.GetData(m).StaffC, String.Format("<{0}{1}> {2}: {3}", NameFor(m), (Style == ChatStyle.Regional && m.Region != null ? "-" + m.Region.Name : ""), m.Name, msg));
|
||||
}
|
||||
else if (data.Mobile.AccessLevel >= m.AccessLevel && (data.GlobalF || data.GListens.Contains(m)))
|
||||
data.Mobile.SendMessage(data.GlobalFC, String.Format("(Global) <{0}> {1}: {2}", NameFor(m), m.Name, msg));
|
||||
}
|
||||
}
|
||||
|
||||
public override void GumpOptions(GumpPlus g, int x, int y)
|
||||
{
|
||||
// Not sure what faction options I will have
|
||||
|
||||
base.GumpOptions(g, x, y);
|
||||
}
|
||||
|
||||
public override ArrayList BuildList(Mobile m)
|
||||
{
|
||||
ArrayList list = base.BuildList(m);
|
||||
|
||||
foreach (Mobile mob in new ArrayList(list))
|
||||
if (General.FactionName(mob) != General.FactionName(m))
|
||||
list.Remove(mob);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user