示例#1
0
        public SpellInfo GetSpellInfo(uint spellId)
        {
            SpellInfo returnval;

            SpellInfoList.TryGetValue(spellId, out returnval);
            return(returnval);
        }
示例#2
0
        public void LoadSpellInfoStore()
        {
            SpellInfoList.Clear();

            var effectsBySpell = new SpellEffectEntry[DBCStorage.SpellEffectStorage.Keys.Max()][];

            foreach (var effect in DBCStorage.SpellEffectStorage.Values)
            {
                if (effectsBySpell[effect.EffectSpellId] == null)
                {
                    effectsBySpell[effect.EffectSpellId] = new SpellEffectEntry[21];
                }
                effectsBySpell[effect.EffectSpellId][effect.EffectIndex] = effect;
            }

            foreach (var spell in DBCStorage.SpellStorage.Values)
            {
                SpellInfoList.Add(spell.Id, new SpellInfo(spell, effectsBySpell[spell.Id]));
            }

            Log.outInfo("Loaded {0} SpellInfos", SpellInfoList.Count);
            Log.outInit();
        }