public override bool Use(Character user) { GOSummoningRitualEntry entry = (GOSummoningRitualEntry)this.m_go.Entry; if (user == null) { return(false); } Character character = user; Unit owner = this.m_go.Owner; if (entry.CastersGrouped && !owner.IsAlliedWith((IFactionMember)character) || this.Users.Contains(character)) { return(false); } this.Users.Add(character); if (this.Users.Count >= entry.CasterCount - 1) { this.TriggerSpell(owner, this.Target); for (int index = 0; index < this.Users.Count; ++index) { this.Users[index].m_currentRitual = (SummoningRitualHandler)null; } this.Users.Clear(); } return(true); }
public override bool Use(Character user) { GOSummoningRitualEntry entry = (GOSummoningRitualEntry)m_go.Entry; if (user == null) { return(false); } Character character = user; Unit owner = m_go.Owner; if (entry.CastersGrouped && !owner.IsAlliedWith(character) || Users.Contains(character)) { return(false); } Users.Add(character); if (Users.Count >= entry.CasterCount - 1) { TriggerSpell(owner, Target); for (int index = 0; index < Users.Count; ++index) { Users[index].m_currentRitual = null; } Users.Clear(); } return(true); }