public ISpell Fuse(ISpell other) { var val = _spell.FuseWith(other); if (val != null) { Debug.Log(_spell.ToString() + " -- fused"); _parent.SpellFused(); CleanUp(); } return(val); }
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, "")); } }