예제 #1
0
            private List <Mobile> GetTargets()
            {
                List <Mobile> targets = new List <Mobile>();

                WildfireSpell.DefragTable();

                IPooledEnumerable eable = m_Map.GetMobilesInRange(m_Location, m_Range);

                foreach (Mobile m in eable)
                {
                    if (WildfireSpell.Table.ContainsKey(m))
                    {
                        continue;
                    }

                    if (m != m_Owner && SpellHelper.ValidIndirectTarget(m_Owner, m) && m_Owner.CanBeHarmful(m, false) && m_Owner.InLOS(m))
                    {
                        targets.Add(m);
                    }
                }
                eable.Free();
                return(targets);
            }
예제 #2
0
            private IEnumerable <Mobile> GetTargets()
            {
                WildfireSpell.DefragTable();

                return(m_Spell.AcquireIndirectTargets(m_Location, m_Range).OfType <Mobile>());
            }
예제 #3
0
            private IEnumerable <Mobile> GetTargets()
            {
                WildfireSpell.DefragTable();

                return(m_Spell.AcquireIndirectTargets(m_Location, m_Range).OfType <Mobile>().Where(m => !m_Table.ContainsKey(m)));
            }