Exemplo n.º 1
0
        /// <summary>
        /// Grants EoC for casting spells
        /// </summary>
        private static void OnSpellEvent( SpellEventArgs args )
        {
            int eoc = 0;
            Spell spell = args.Spell;

            if( spell is MagerySpell )
            {
                eoc = (1 * ((int)((MagerySpell)spell).Circle + 1));
            }

            args.Player.EssenceOfCharacter += eoc;
        }
Exemplo n.º 2
0
        private static void OnSpellEvent( SpellEventArgs args )
        {
            try
            {
                int eoc = 0;
                Spell spell = args.Spell;
                Spell[] recentSpells;

                if (spellCache.ContainsKey(args.Player) == false)
                {
                    recentSpells = new Spell[3];
                    recentSpells[0] = spell;
                    recentSpells[1] = spell;
                    recentSpells[2] = spell;
                    spellCache.Add(args.Player, recentSpells);

                    if (spell is MagerySpell)
                    {
                        eoc = (1 * ((int)((MagerySpell)spell).Circle + 1));
                    }

                    args.Player.EssenceOfCharacter += eoc;
                }

                else
                {
                    recentSpells = spellCache[args.Player];

                    bool recentSpell =
                        (recentSpells[0].ToString() == spell.ToString()
                        || recentSpells[1].ToString() == spell.ToString()
                        || recentSpells[2].ToString() == spell.ToString());

                    if (!recentSpell)
                    {
                        if (recentSpells[1] != null) recentSpells[2] = recentSpells[1];
                        if (recentSpells[0] != null) recentSpells[1] = recentSpells[0];

                        recentSpells[0] = spell;

                        if (spell is MagerySpell)
                        {
                            eoc = (1 * ((int)((MagerySpell)spell).Circle + 1));
                        }

                        args.Player.EssenceOfCharacter += eoc;
                    }
                }
            }

            catch { }
        }