Exemple #1
0
    public ISpell Fuse(ISpell other)
    {
        var val = _spell.FuseWith(other);

        if (val != null)
        {
            Debug.Log(_spell.ToString() + " -- fused");
            _parent.SpellFused();
            CleanUp();
        }
        return(val);
    }
Exemple #2
0
        private IResult TeachSpell(ISpell spell, IMobileObject guildMaster, IMobileObject learner)
        {
            string spellName = spell.ToString().ToUpper();

            if (!learner.SpellBook.Keys.Contains(spellName))
            {
                learner.SpellBook.Add(spellName, spell);
                guildMaster.EnqueueCommand(string.Format("Tell {0} {1}", learner.KeyWords[0], spell.TeachMessage));
                return(new Result(true, ""));
            }
            else
            {
                guildMaster.EnqueueCommand(string.Format("Tell {0} You already know that spell.", learner.KeyWords[0]));
                return(new Result(false, ""));
            }
        }