コード例 #1
0
        public static void UpdateBuff(Mobile m)
        {
            BaseCreature pet      = KhaldunTastyTreat.GetPetUnderEffects(m);
            Caddellite   equipped = null;
            var          item     = m.FindItemOnLayer(Layer.TwoHanded);

            if (item == null)
            {
                item = m.FindItemOnLayer(Layer.OneHanded);
            }

            if (item != null)
            {
                equipped = item.GetSocket <Caddellite>();
            }

            if (equipped == null && pet == null)
            {
                BuffInfo.RemoveBuff(m, BuffIcon.CaddelliteInfused);
            }
            else
            {
                BuffInfo.AddBuff(m, new BuffInfo(BuffIcon.CaddelliteInfused, 1158662, 1158677,
                                                 String.Format("{0}\t{1}\t{2}\t{3}", equipped != null && equipped.Owner is BaseWeapon ? "100" : "0", equipped != null && equipped.Owner is Spellbook ? "100" : "0", pet != null ? pet.Name : "", pet != null ? "100" : "0")));
            }
        }
コード例 #2
0
ファイル: Caddellite.cs プロジェクト: travismills82/TrueUO
        public static bool CheckDamage(Mobile from, Server.DamageType type)
        {
            if (from is BaseCreature creature)
            {
                if (KhaldunTastyTreat.UnderInfluence(creature))
                {
                    return(true);
                }

                return(false);
            }

            if (from.Player)
            {
                Item damager;

                switch (type)
                {
                case Server.DamageType.Melee:
                case Server.DamageType.Ranged:
                    damager = from.FindItemOnLayer(Layer.OneHanded);

                    if (damager == null || !damager.HasSocket <Caddellite>())
                    {
                        damager = from.FindItemOnLayer(Layer.TwoHanded);
                    }

                    return(damager != null && damager.HasSocket <Caddellite>() && damager is BaseWeapon);

                default:
                    damager = from.FindItemOnLayer(Layer.OneHanded);

                    if (damager != null && damager.HasSocket <Caddellite>() && damager is Spellbook)
                    {
                        return(true);
                    }

                    damager = from.FindItemOnLayer(Layer.Neck);

                    if (damager == null || !damager.HasSocket <Caddellite>())
                    {
                        damager = from.FindItemOnLayer(Layer.Helm);
                    }

                    return(damager != null && damager.HasSocket <Caddellite>());
                }
            }

            return(false);
        }