public static bool Execute(MobileInstance ch, IManager dbManager) { var handler = Program.Kernel.Get <ISpecFunHandler>(); ch.SummonIfHating(); if (!ch.IsInCombatPosition()) { return(false); } var victim = ch.CurrentRoom.Persons.Where(v => v != ch) .FirstOrDefault(vch => SmaugRandom.Bits(2) == 0 && vch.GetMyTarget() == ch); if (victim == null || victim == ch) { return(false); } var skill = handler.PickSpell(SpellLevelLookupTable, ch.Level); if (skill?.SpellFunction == null) { return(false); } skill.SpellFunction.Value.DynamicInvoke(skill.ID, ch.Level, ch, victim); return(true); }