public static void FactionItemReset_OnCommand(CommandEventArgs e) { ArrayList pots = new ArrayList(); foreach (Item item in World.Items.Values) { if (item is IFactionItem && !(item is HoodedShroudOfShadows)) { pots.Add(item); } } int[] hues = new int[Factions.Count * 2]; for (int i = 0; i < Factions.Count; ++i) { hues[0 + (i * 2)] = Factions[i].Definition.HuePrimary; hues[1 + (i * 2)] = Factions[i].Definition.HueSecondary; } int count = 0; for (int i = 0; i < pots.Count; ++i) { Item item = (Item)pots[i]; IFactionItem fci = (IFactionItem)item; if (fci.FactionItemState != null || item.LootType != LootType.Blessed) { continue; } bool isHued = false; for (int j = 0; j < hues.Length; ++j) { if (item.Hue == hues[j]) { isHued = true; break; } } if (isHued) { fci.FactionItemState = null; ++count; } } e.Mobile.SendMessage("{0} items reset", count); }
public static bool AddFactionProperties(IFactionItem item, ObjectPropertyList list) { if (item.FactionItemState != null) { list.Add(1041350); // faction item if (item.FactionItemState.MinRank > 0) { list.Add(1094805, item.FactionItemState.MinRank.ToString()); // Faction Rank: ~1_VALUE~ } return(true); } return(false); }
public static bool CanUse(IFactionItem item, Mobile m, int failmessage = 500294) { if (item == null) { return(true); } var state = PlayerState.Find(m); if (state != null && state.Faction == item.FactionItemState.Faction) { return(true); } if (failmessage > 0) { m.SendLocalizedMessage(failmessage); // You cannot use that. } return(false); }
public static bool ReadFactionItemState(this IFactionItem obj, List <ClilocItemRec> properties) { return(ClilocHelper.Contains(properties, 1041350)); }