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"))); } }
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); }