public override void LockPick(Mobile from) { base.LockPick(from); if (Map != null && ((TreasureMapInfo.NewSystem && FailedLockpick) || (Core.SA && 0.05 >= Utility.RandomDouble()))) { var grubber = new Grubber(); grubber.MoveToWorld(Map.GetSpawnPosition(Location, 1), Map); Item item = null; if (Items.Count > 0) { do { item = Items[Utility.Random(Items.Count)]; }while (item == null || item.LootType == LootType.Blessed); } grubber.PackItem(item); if (TreasureMapInfo.NewSystem) { grubber.PrivateOverheadMessage(MessageType.Regular, 33, 1159062, from.NetState); // *A grubber appears and ganks a piece of your loot!* } } }
public override int LockPick(Mobile from) { if (Picker == null && 0.05 > Utility.RandomDouble()) { Item item = PickRandomItemFromChest(); if (item != null) { Grubber grubber = new Grubber(); grubber.PackItem(item); grubber.MoveToWorld(TreasureMap.GetRandomSpawnLocation(Location, Map), Map); grubber.PublicOverheadMessage(Network.MessageType.Regular, 0x3B2, false, "*a grubber appears and ganks a piece of your loot*"); } } return(base.LockPick(from)); }
public override void LockPick(Mobile from) { base.LockPick(from); if (Map != null && Core.SA && 0.05 >= Utility.RandomDouble()) { var grubber = new Grubber(); grubber.MoveToWorld(Map.GetSpawnPosition(Location, 1), Map); Item item = null; if (Items.Count > 0) { do { item = Items[Utility.Random(Items.Count)]; }while (item == null || item.LootType == LootType.Blessed); } grubber.PackItem(item); } }