public void Target( Mobile m ) { Type t = m.GetType(); bool dispellable = false; if ( m is BaseCreature ) dispellable = ((BaseCreature)m).Summoned; if ( !Caster.CanSee( m ) ) { Caster.SendLocalizedMessage( 500237 ); // Target can not be seen. } else if ( !dispellable ) { Caster.SendLocalizedMessage( 1005049 ); // That cannot be dispelled. } else if ( CheckHSequence( m ) ) { SpellHelper.Turn( Caster, m ); if ( CheckResisted( m ) ) { m.FixedEffect( 0x3779, 10, 20 ); } else { Effects.SendLocationParticles( EffectItem.Create( m.Location, m.Map, EffectItem.DefaultDuration ), 0x3728, 8, 20, 5042 ); Effects.PlaySound( m, m.Map, 0x201 ); m.Delete(); } } FinishSequence(); }
public void Target( Mobile m ) { BaseCreature bc = m as BaseCreature; if ( !Caster.CanSee( m ) ) { Caster.SendLocalizedMessage( 500237 ); // Target can not be seen. } else if ( bc == null || !bc.IsDispellable ) { Caster.SendLocalizedMessage( 1005049 ); // That cannot be dispelled. } else if ( CheckHSequence( m ) ) { SpellHelper.Turn( Caster, m ); double dispelChance = ( 50.0 + ( ( 100 * ( Caster.Skills.Magery.Value - bc.DispelDifficulty ) ) / ( bc.DispelFocus * 2 ) ) ) / 100; if ( dispelChance > Utility.RandomDouble() ) { Effects.SendLocationParticles( EffectItem.Create( m.Location, m.Map, EffectItem.DefaultDuration ), 0x3728, 8, 20, 5042 ); Effects.PlaySound( m, m.Map, 0x201 ); m.Delete(); } else { m.FixedEffect( 0x3779, 10, 20 ); Caster.SendLocalizedMessage( 1010084 ); // The creature resisted the attempt to dispel it! } } FinishSequence(); }
private static Mobile GetOwner() { Mobile apprentice = new Mobile(); apprentice.Hue = Utility.RandomSkinHue(); apprentice.Female = false; apprentice.Body = 0x190; apprentice.Delete(); return apprentice; }
private static void EventSink_DeleteRequest(DeleteRequestEventArgs e) { NetState state = e.State; int index = e.Index; Account acct = state.Account as Account; if (acct == null) { state.Dispose(); } else if (index < 0 || index >= acct.Length) { state.Send(new DeleteResult(DeleteResultType.BadRequest)); state.Send(new CharacterListUpdate(acct)); } else { Mobile m = acct[index]; if (m == null) { state.Send(new DeleteResult(DeleteResultType.CharNotExist)); state.Send(new CharacterListUpdate(acct)); } else if (m.NetState != null) { state.Send(new DeleteResult(DeleteResultType.CharBeingPlayed)); state.Send(new CharacterListUpdate(acct)); } else if (RestrictDeletion && DateTime.Now < (m.CreationTime + DeleteDelay)) { state.Send(new DeleteResult(DeleteResultType.CharTooYoung)); state.Send(new CharacterListUpdate(acct)); } else if (m.AccessLevel == AccessLevel.Player && Region.Find(m.LogoutLocation, m.LogoutMap).GetRegion(typeof(Jail)) != null) //Don't need to check current location, if netstate is null, they're logged out { state.Send(new DeleteResult(DeleteResultType.BadRequest)); state.Send(new CharacterListUpdate(acct)); } else { Console.WriteLine("Client: {0}: Deleting character {1} (0x{2:X}) [{3}]", state, index, m.Serial.Value, acct.Username); acct.Comments.Add(new AccountComment("System", String.Format("Character #{0} {1} deleted by {2}", index + 1, m, state))); m.Delete(); state.Send(new CharacterListUpdate(acct)); } } }
private void DeleteImp(Mobile m) { if (m != null && !m.Deleted) { Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10); Effects.PlaySound(m.Location, m.Map, 0x1FE); m.Delete(); } System.From.SendLocalizedMessage(1055062); // You have received the Magic Brew Recipe. System.AddConversation(new ZeefzorpulConversation()); }
private static Mobile GetOwner() { Mobile apprentice = new Mobile { Hue = Utility.RandomSkinHue(), Female = false, Body = 0x190, Name = NameList.RandomName("male") }; apprentice.Delete(); return(apprentice); }
private static void SummonUndead(Mobile from) { Mobile undead = UndeadTable[Utility.Random(UndeadTable.Length)].Spawn(); undead.MoveToWorld(new Point3D(from.X, from.Y + 1, from.Z), from.Map); undead.Say(Utility.Random(1071135, 10)); Effects.PlaySound(from.Location, from.Map, 0x17F); Effects.SendLocationParticles(from, 0x373A, 1, 17, 0x454, 7, 0x26BA, 0); Effects.SendLocationParticles(from, 0x376A, 1, 22, 0x43, 7, 0x251E, 0); Timer.DelayCall(TimeSpan.FromSeconds(2.0), new TimerCallback( delegate { undead.Delete(); })); }
protected override void OnTick() { for (int i = 0; i < m_Items.Count; i++) //Delete the boat and any items inside { Item item = m_Items[i]; item.Delete(); } for (int i = 0; i < m_Spawns.Count; i++) //If any spawns still exist, delete them { Mobile m = m_Spawns[i]; m.Delete(); } }
public static void KillAtSea(Mobile m) { if (!(m is PlayerMobile)) { m.Delete(); return; } Effects.PlaySound(m.Location, m.Map, 0x021); m.LastKiller = null; m.Kill(); m.MoveToWorld(FindRandomNearbyLand(m.Location, m.Map), m.Map); SendDelayedMessage(m, @"You wash ashore on a unfamiliar land.", TimeSpan.FromSeconds(2)); }
public void Target(Mobile o) { Mobile m = (Mobile)o; BaseCreature bc = m as BaseCreature; var from = Caster; if (!from.CanSee(m)) { from.SendLocalizedMessage(500237); // Target can not be seen. return; } if (bc == null || !bc.IsDispellable) { var res = DoDispell(from, m); if (res) { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(m, m.Map, 0x201); from.SendAsciiMessage("You dispel an effect."); } else { m.FixedEffect(0x3779, 10, 20); from.SendAsciiMessage("There is nothing to dispel."); } } else if (CheckHSequence(m)) { SpellHelper.Turn(from, m); double dispelChance = (50.0 + ((100 * (from.Skills.Magery.Value - bc.DispelDifficulty)) / (bc.DispelFocus * 2))) / 100; if (dispelChance > Utility.RandomDouble()) { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(m, m.Map, 0x201); m.Delete(); } else { m.FixedEffect(0x3779, 10, 20); from.SendLocalizedMessage(1010084); // The creature resisted the attempt to dispel it! } } FinishSequence(); }
public void Target( Mobile m ) { Type t = m.GetType(); bool dispellable = false; if ( m is BaseCreature ) dispellable = ((BaseCreature)m).Summoned && !((BaseCreature)m).IsAnimatedDead; if ( !Caster.CanSee( m ) ) { Caster.SendLocalizedMessage( 500237 ); // Target can not be seen. } else if ( !dispellable ) { Caster.SendLocalizedMessage( 1005049 ); // That cannot be dispelled. } else if ( CheckHSequence( m ) ) { SpellHelper.Turn( Caster, m ); int diff; if ( m is Daemon ) diff = 95; else if ( m is EnergyVortex ) diff = 80; else if ( m is FireElemental || m is WaterElemental || m is AirElemental || m is EarthElemental ) diff = 75; else if ( m is BladeSpirit ) diff = 50; else diff = 0; if ( Caster.Skills[SkillName.Magery].Value >= Utility.Random( 41 )-20+diff ) { Effects.SendLocationParticles( EffectItem.Create( m.Location, m.Map, EffectItem.DefaultDuration ), 0x3728, 8, 20, 5042 ); Effects.PlaySound( m, m.Map, 0x201 ); m.Delete(); } else { m.Animate( 14201, 10, 20, true, false, 0 ); Caster.SendAsciiMessage( "{0} resisted the attempt to dispell it!", m.Name ); } } FinishSequence(); }
public override void OnDelete() { m_Region.Unregister(); if (m_vendorlist.Count > 0) { for (int i = 0; i < m_vendorlist.Count; i++) { Mobile vend = m_vendorlist[i]; vend.Delete(); } m_vendorlist.Clear(); } this.Stone.CheckVendors(false); }
public void SpawnMob(Mobile m) { Point3D loc = GetRandomRegionPoint(); if (loc.X != 0 && loc.Y != 0) { m.Location = loc; m.Map = regionmap; Spawn.Add(m); } else { m.Delete(); return; } }
public override void OnClick() { if (_Mannequin.Backpack != null && _Mannequin.Backpack.Items.Any()) { _From.SendLocalizedMessage(1153315); // You must empty the mannequin's backpack before re-deeding. return; } List <Item> mannequinItems = _Mannequin.Items.Where(x => IsEquipped(x)).ToList(); mannequinItems.ForEach(x => _From.AddToBackpack(x)); _Mannequin.Delete(); _From.AddToBackpack(new StewardDeed()); }
protected virtual void OnGiveReward(ConquestState s, Mobile reward) { if (s == null || s.User == null || reward == null || reward.Deleted) { return; } if (s.User.IsOnline()) { reward.MoveToWorld(s.User.Location, s.User.Map); } else { reward.Delete(); } }
public static void BlowUp(Mobile from, BaseCreature bc) { List <Mobile> targets = new List <Mobile>(); Map map = from.Map; if (map != null && from != null) { foreach (Mobile m in from.GetMobilesInRange(from.RawDex)) { if (from.InLOS(m) && m.Alive && from.CanBeHarmful(m) && !m.Blessed && from != m && bc.ControlMaster != m && bc.SummonMaster != m) { targets.Add(m); } } for (int i = 0; i < targets.Count; ++i) { Mobile m = targets[i]; int physDamage = 100; int fireDamage = 0; int coldDamage = 0; int poisDamage = 0; int nrgyDamage = 0; if (from.RawInt > 10) { physDamage = 40; fireDamage = 40; coldDamage = 0; poisDamage = 0; nrgyDamage = 20; Effects.SendLocationEffect(m.Location, m.Map, 0x3822, 60, 10, 0, 0); m.PlaySound(0x307); } else { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 0, 0, 5042, 0); m.PlaySound(0x664); } AOS.Damage(m, from, from.RawStr, physDamage, fireDamage, coldDamage, poisDamage, nrgyDamage); } from.Delete(); } }
public static void EndControl(ControlItem controlItem, bool stats, bool skills, bool items) { Mobile from = controlItem.Owner; PlayerMobile oldPlayer = controlItem.Player; Mobile oldNPC = controlItem.NPC; if (from == null) { return; } from.SendMessage("Du bist wieder in deiner alten Gestallt"); //"You are in your original Body" //NPC wiederherstellen if (oldNPC != null && !oldNPC.Deleted) { //Props immer übernehmen bei der Rückverwandlung? //ja, weil sich hits etc ändern //Props from -> oldNPC CopyProps(oldNPC, from, stats, skills); //nicht nur zurück holen: //if ( oldNPC.Map == Map.Internal ) // oldNPC.MoveToWorld(from.Location, from.Map); //Equip from -> oldNPC MoveEquip(from, oldNPC, items); } else { from.SendMessage("Der originale NPC wurde gelöscht und wird nicht wiederhergestellt. Grund könnte ein manueller Respawn gewesen sein"); //"The original NPC was deleted. Maybe because a manual respawn" oldNPC.Delete(); } if (oldPlayer != null && !oldPlayer.Deleted) { //Spieler Wiederherstellen (100%) //Props: oldPlayer -> player CopyProps(from, oldPlayer, true, true); //Equip: oldPlayer -> player MoveEquip(oldPlayer, from, true); oldPlayer.Delete(); } }
public void Target(Mobile m) { Type t = m.GetType(); bool dispellable = false; if (m is BaseCreature) { dispellable = ((BaseCreature)m).Summoned && !((BaseCreature)m).IsAnimatedDead; } if (!Caster.CanSee(m)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (!dispellable) { Caster.SendLocalizedMessage(1005049); // That cannot be dispelled. } else if (CheckHSequence(m)) { SpellHelper.Turn(Caster, m); BaseCreature bc = m as BaseCreature; double dispelChance = 0; if (bc != null) { dispelChance = (50.0 + ((100 * (Caster.Skills.Magery.Value - bc.DispelDifficulty)) / (bc.DispelFocus * 2))) / 100; } if (dispelChance > Utility.RandomDouble()) { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(m, m.Map, 0x201); m.Delete(); } else { m.FixedEffect(0x3779, 10, 20); Caster.SendLocalizedMessage(1010084); // The creature resisted the attempt to dispel it! } } FinishSequence(); }
public override void DeleteAllInstances() { Queue m_Queue = new Queue(); foreach (Mobile mobile in m_Mobiles) { m_Queue.Enqueue(mobile); } while (m_Queue.Count > 0) { Mobile mobile = (Mobile)m_Queue.Dequeue(); m_Mobiles.Remove(mobile); mobile.Delete(); } }
public override void OnHit(Mobile attacker, Mobile defender, ref int damage) { if (!Validate(attacker)) { return; } if (defender is BaseCreature bc && bc.IsDispellable) { Effects.SendLocationParticles( EffectItem.Create(defender.Location, defender.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(defender, 0x201); defender.Delete(); } }
public void Target(IPoint3D o) { if (!Caster.CanSee(o)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (!CheckLineOfSight(o)) { this.DoFizzle(); Caster.SendAsciiMessage("Target is not in line of sight"); } else if (o is Mobile) { Mobile m = (Mobile)o; BaseCreature bc = m as BaseCreature; Mobile from = Caster; if (!from.CanSee(m)) { from.SendLocalizedMessage(500237); // Target can not be seen. } else if (bc == null || !bc.IsDispellable) { from.SendLocalizedMessage(1005049); // That cannot be dispelled. } else if (CheckHSequence(m)) { SpellHelper.Turn(from, m); double dispelChance = (50.0 + ((100 * (from.Skills.Magery.Value - bc.DispelDifficulty)) / (bc.DispelFocus * 2))) / 100; if (dispelChance > Utility.RandomDouble()) { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(m, m.Map, 0x201); m.Delete(); } else { m.FixedEffect(0x3779, 10, 20); from.SendLocalizedMessage(1010084); // The creature resisted the attempt to dispel it! } } } }
private static void EventSink_DeleteRequest(DeleteRequestEventArgs e) { GameClient state = e.State; int index = e.Index; Account acct = state.Account as Account; if (acct == null) { state.Dispose(); } else if (index < 0 || index >= acct.Length) { state.Send(new DeleteResult(DeleteResultType.BadRequest)); state.Send(new CharacterListUpdate(acct)); } else { Mobile m = acct[index]; if (m == null) { state.Send(new DeleteResult(DeleteResultType.CharNotExist)); state.Send(new CharacterListUpdate(acct)); } else if (m.Client != null) { state.Send(new DeleteResult(DeleteResultType.CharBeingPlayed)); state.Send(new CharacterListUpdate(acct)); } else if (RestrictDeletion && DateTime.Now < (m.CreationTime + DeleteDelay)) { state.Send(new DeleteResult(DeleteResultType.CharTooYoung)); state.Send(new CharacterListUpdate(acct)); } else { Console.WriteLine("Client: {0}: Deleting character {1} (0x{2:X})", state, index, m.Serial.Value); acct.Comments.Add(new AccountComment("System", String.Format("Character #{0} {1} deleted by {2}", index + 1, m, state))); m.Delete(); state.Send(new CharacterListUpdate(acct)); } } }
public static void RemovePatrons(TavernTable table) { List <Mobile> targets = new List <Mobile>(); foreach (Mobile m in table.GetMobilesInRange(1)) { if (m.Map == table.Map && m is HouseVisitor && (m == table.DrinkerNorth || m == table.DrinkerSouth || m == table.DrinkerEast || m == table.DrinkerWest)) { targets.Add(m); } } for (int i = 0; i < targets.Count; ++i) { Mobile m = targets[i]; m.Delete(); } }
private static Skill ShopkeeperSkill(Mobile m) { try { Mobile tmp = new Mobile(); Skill sx = new Skill(tmp.Skills, new SkillInfo(-1, "Shopkeeper", 0, 0, 0, "Shopkeeper", null, 0, 0, 0, 0), 100, 1200, SkillLock.Locked); sx.BaseFixedPoint = ComputeShopkeeperSkill(m); tmp.Delete(); return(sx); } catch (Exception ex) { LogHelper.LogException(ex); } return(null); }
public override void OnDelete() { base.OnDelete(); if (m_Spawn != null && m_Spawn.Count > 0) { for (int i = 0; i < this.m_Spawn.Count; i++) { Mobile m = (Mobile)this.m_Spawn[i]; m.Delete(); } } if (this.m_Entity != null) { this.m_Entity.Delete(); } }
public void DispelTarget(Mobile m) { Type t = m.GetType(); bool dispellable = false; if (m is BaseCreature) { dispellable = ((BaseCreature)m).Summoned; } if (m_Mobile.CanSee(m) && dispellable) { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(m, m.Map, 0x201); m.Delete(); } }
public PeerlessInstance(GenericReader reader) { m_Owner = reader.ReadItem <PeerlessPlatform>(); m_Light = reader.ReadItem(); m_Map = reader.ReadMap(); m_EntranceLocation = reader.ReadPoint3D(); m_BossSpawnLocation = reader.ReadPoint3D(); m_RegionBounds = reader.ReadRect2D(); Mobile boss = reader.ReadMobile(); if (boss != null) { boss.Delete(); } Initialize(); }
/// <summary> /// Deletes the account, all characters of the account, and all houses of those characters /// </summary> public void Delete() { for (int i = 0; i < this.Length; ++i) { Mobile m = this[i]; if (m == null) { continue; } ArrayList list = BaseHouse.GetHouses(m); for (int j = 0; j < list.Count; ++j) { BaseHouse house = list[j] as BaseHouse; ArrayList toDelete = new ArrayList(); foreach (Item item in World.Items) { if (HousingHelper.FindHouseAt(item) == house && !(item is BaseHouse)) { toDelete.Add(item); } } for (int k = 0; k < toDelete.Count; k++) { ((Item)toDelete[k]).Delete(); } house.Delete(); } m.Delete(); m.Account = null; m_Mobiles[i] = null; } Accounts.RemoveAccount(m_Username); }
public void Target( Mobile m ) { Type t = m.GetType(); bool dispellable = false; if ( m is BaseCreature ) dispellable = ((BaseCreature)m).Summoned && !((BaseCreature)m).IsAnimatedDead; if ( !Caster.CanSee( m ) ) { Caster.SendAsciiMessage( "Target can not be seen." ); } else if ( !dispellable ) { Caster.SendAsciiMessage( "That cannot be dispelled." ); } else if ( CheckHSequence( m ) ) { SpellHelper.Turn( Caster, m ); BaseCreature bc = m as BaseCreature; double dispelChance = 0; if ( bc != null ) dispelChance = (50.0 + ((100 * (Caster.Skills.Magery.Value - bc.DispelDifficulty)) / (bc.DispelFocus*2))) / 100; if ( dispelChance > Utility.RandomDouble() ) { Effects.SendLocationParticles( EffectItem.Create( m.Location, m.Map, EffectItem.DefaultDuration ), 0x3728, 8, 20, 5042 ); Effects.PlaySound( m, m.Map, 0x201 ); m.Delete(); } else { m.FixedEffect( 0x3779, 10, 20 ); Caster.SendAsciiMessage( "The creature resisted the attempt to dispel it!" ); } } FinishSequence(); }
public static void RemoveOtherdecoration(Map map) { blocker.ToList().ForEach(x => { Item b = map.FindItem <Blocker>(new Point3D(x)); if (b != null) { b.Delete(); } Item lb = map.FindItem <LOSBlocker>(new Point3D(x)); if (lb != null) { lb.Delete(); } }); for (int i = 0; i < Workers.Length; i++) { Point3D p = Workers[i]; Mobile w = map.FindMobile <Worker>(p); if (w != null) { w.Delete(); } } for (int t = 0; t < Teleporters.Length / 2; t++) { Point3D p = Teleporters[t, 0]; Item tele = map.FindItem <BlackthornDungeonTeleporter>(p); if (tele != null) { tele.Delete(); } } }
public override void OnLocationChanged(Mobile m, Point3D oldLocation) { Timer.DelayCall(TimeSpan.FromSeconds(1.5), () => { if (!IsInStartRegion(m.Location) && m is BaseCreature && !(m is DespiseCreature) && !(m is CorruptedWisp) && !(m is EnsorcledWisp) && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned)) { if (((BaseCreature)m).Summoned) { m.Delete(); } else { KickFromRegion(m, false); } } }); base.OnLocationChanged(m, oldLocation); }
public static void CheckSummonLimits(BaseCreature creature) { ArrayList creatures = new ArrayList(); int limit = 6; // 6 creatures int range = 5; // per 5x5 area IPooledEnumerable eable = creature.GetMobilesInRange(range); foreach (Mobile mobile in eable) { if (mobile != null && mobile.GetType() == creature.GetType()) { creatures.Add(mobile); } } int amount = 0; if (creatures.Count > limit) { amount = creatures.Count - limit; } while (amount > 0) { for (int i = 0; i < creatures.Count; i++) { Mobile m = creatures[i] as Mobile; if (m != null && ((BaseCreature)m).Summoned) { if (Utility.RandomBool() && amount > 0) { m.Delete(); amount--; } } } } }
public override void OnDamagedBySpell(Mobile d) { if (0.3 >= Utility.RandomDouble()) { this.Say("Tus brujerias no te ayudaran."); } if (d is BaseCreature) { if ((d as BaseCreature).IsDispellable) { if (DateTime.Now >= m_NextCastTime) { this.Say("An Ort"); Effects.SendLocationParticles(EffectItem.Create(d.Location, d.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(d, d.Map, 0x201); m_NextCastTime = DateTime.Now + TimeSpan.FromSeconds(5.0); if (this.Combatant == d) { this.Combatant = null; } d.Delete(); } } BaseCreature t = (BaseCreature)d; if (t.Controlled && !(t as BaseCreature).IsDispellable) { if (0.5 >= Utility.RandomDouble()) { t.Combatant = null; t.Warmode = false; t.Pacify(this, DateTime.Now + TimeSpan.FromSeconds(20.0)); if (this.Combatant == t) { this.Provoke(this, t.ControlMaster, true); } } } } }
protected override void OnTarget(Mobile from, object o) { IEntity entity = o as IEntity; if (XmlScript.HasTrigger(entity, TriggerName.onTargeted) && UberScriptTriggers.Trigger(entity, from, TriggerName.onTargeted, null, null, m_Owner)) { return; } if (o is Mobile) { Mobile m = (Mobile)o; BaseCreature bc = m as BaseCreature; if (!from.CanSee(m)) { from.SendLocalizedMessage(500237); // Target can not be seen. } else if (bc == null || !bc.IsDispellable) { from.SendLocalizedMessage(1005049); // That cannot be dispelled. } else if (m_Owner.CheckHSequence(m)) { m_Owner.Caster.DoHarmful(m); SpellHelper.Turn(from, m); double dispelChance = (50.0 + ((100 * (from.Skills.Magery.Value - bc.DispelDifficulty)) / (bc.DispelFocus * 2))) / 100; if (dispelChance > Utility.RandomDouble()) { Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(m, m.Map, 0x201); m.Delete(); } else { m.FixedEffect(0x3779, 10, 20); from.SendLocalizedMessage(1010084); // The creature resisted the attempt to dispel it! } } } }
public static void DeleteChar_WarningGumpCallback(Mobile from, bool okay, object state) { Mobile mob = (Mobile)state; NetState ns = mob.NetState; ArrayList pets = new ArrayList(); int petCount = 0; if (!okay) { return; } CommandLogging.WriteLine(from, "{0} {1} deleting character {2}.", from.AccessLevel, CommandLogging.Format(from), CommandLogging.Format(mob)); foreach (Mobile m in World.Mobiles.Values) { if (m is BaseCreature) { BaseCreature bc = (BaseCreature)m; if ((bc.Controlled && bc.ControlMaster == mob) || (bc.Summoned && bc.SummonMaster == mob)) { petCount++; pets.Add(bc); } } } for (int i = 0; i < pets.Count; ++i) { Mobile pet = (Mobile)pets[i]; pet.Delete(); } from.SendMessage("{0} pet{1} deleted.", petCount, petCount != 1 ? "s" : ""); //mob.Say( "I've been deleted!" ); if (mob.NetState != null) { mob.NetState.Dispose(); } mob.Delete(); from.SendMessage("This character has been disposed of thoroughly."); }
public static void DoDelete(Mobile from, Mobile target) { if (!(target is PlayerMobile)) return; if (target.NetState != null) { from.SendAsciiMessage("The target character must be logged out!"); return; } List<BaseHouse> houses = BaseHouse.GetHouses(target); for (int h = 0; h < houses.Count; ++h) houses[h].Delete(); CommandLogging.WriteLine(from, "{0} {1} deleting {2} ({3}) from account {4} ", from.AccessLevel, CommandLogging.Format(from), target.Name, target.Serial, target.Account.Username); target.Delete(); }
public virtual void Dispel( Mobile m ) { Effects.SendLocationParticles( EffectItem.Create( m.Location, m.Map, EffectItem.DefaultDuration ), 0x3728, 8, 20, 5042 ); Effects.PlaySound( m, m.Map, 0x201 ); m.Delete(); }
public override void OnDamagedBySpell(Mobile d) { if (0.2 >= Utility.RandomDouble()) this.Say("Ty tvoje trapná kouzla ti moc nepomùžou."); if (d is BaseCreature) { if ((d as BaseCreature).IsDispellable) { if (DateTime.Now >= m_NextCastTime) { this.Say("An Ort"); Effects.SendLocationParticles(EffectItem.Create(d.Location, d.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(d, d.Map, 0x201); m_NextCastTime = DateTime.Now + TimeSpan.FromSeconds(5.0); if (this.Combatant == d) this.Combatant = null; d.Delete(); } } BaseCreature t = (BaseCreature)d; if (t.Controlled && !(t as BaseCreature).IsDispellable) { if (0.5 >= Utility.RandomDouble()) { t.Combatant = null; t.Warmode = false; t.Pacify(this, DateTime.Now + TimeSpan.FromSeconds(20.0)); if (this.Combatant == t) { this.Provoke(this, t.ControlMaster, true); } } } } }
public static void DeleteTwin(Mobile m_Twin) { if (TrickOrTreat.CheckMobile(m_Twin)) { m_Twin.Delete(); } }
public virtual void DoDispel(Mobile attacker, Mobile defender) { bool dispellable = false; if (defender is BaseCreature) { dispellable = ((BaseCreature)defender).Summoned && !((BaseCreature)defender).IsAnimatedDead; } if (!dispellable) { return; } if (!attacker.CanBeHarmful(defender, false)) { return; } attacker.DoHarmful(defender); MagerySpell sp = new DispelSpell(attacker, null); if (sp.CheckResisted(defender)) { defender.FixedEffect(0x3779, 10, 20); } else { Effects.SendLocationParticles( EffectItem.Create(defender.Location, defender.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042); Effects.PlaySound(defender, defender.Map, 0x201); defender.Delete(); } }
public void RemovePlayer( Mobile m ) { if ( m_Team1List.Contains(m) ) { m_Team1List.Remove(m); if ( m is PBNpc ) { NpcPlayers.Remove(m); m.Delete(); } else { m.MoveToWorld( Exit1Dest, MapDest ); } } else if ( m_Team2List.Contains(m) ) { m_Team2List.Remove(m); if ( m is PBNpc ) { NpcPlayers.Remove(m); m.Delete(); } else { m.MoveToWorld( Exit2Dest, MapDest ); } } else if ( m_Team3List.Contains(m) ) { m_Team3List.Remove(m); if ( m is PBNpc ) { NpcPlayers.Remove(m); m.Delete(); } else { m.MoveToWorld( Exit3Dest, MapDest ); } } else if ( m_Team4List.Contains(m) ) { m_Team4List.Remove(m); if ( m is PBNpc ) { NpcPlayers.Remove(m); m.Delete(); } else { m.MoveToWorld( Exit4Dest, MapDest ); } } else { } UpdateTeams(); }