public override void OnCast() { if (CheckSequence()) { ArrayList targets = new ArrayList(); foreach (Item item in World.Items.Values) { if (item is MysticMonkRobe) { if (((MysticMonkRobe)item).m_Owner == Caster) { targets.Add(item); } } } for (int i = 0; i < targets.Count; ++i) { Item item = ( Item )targets[i]; item.Delete(); } MysticMonkRobe robe = new MysticMonkRobe(2422); robe.m_Owner = Caster; robe.m_Gifter = "Mystical Monk's Robe"; robe.m_How = "Belongs to"; robe.m_Points = (int)(Caster.Skills[SkillName.Wrestling].Value * 2); Caster.AddToBackpack(robe); Caster.FixedParticles(0x376A, 1, 62, 9923, 3, 3, EffectLayer.Waist); Caster.PlaySound(0x5C9); } FinishSequence(); }
public override void OnCast() { if (CheckFizzle()) { ArrayList targets = new ArrayList(); foreach (Item item in World.Items.Values) { if (item is SoulOrb) { SoulOrb myOrb = (SoulOrb)item; if (myOrb.m_Owner == Caster) { targets.Add(item); } } } for (int i = 0; i < targets.Count; ++i) { Item item = ( Item )targets[i]; item.Delete(); } Caster.PlaySound(0x243); Effects.SendLocationEffect(Caster.Location, Caster.Map, 0x373A, 15, 0x81F, 0); Caster.SendMessage("You create a cloning crystal with your genetic pattern."); SoulOrb iOrb = new SoulOrb(); iOrb.m_Owner = Caster; iOrb.Name = "cloning crystal"; iOrb.ItemID = 0x705; Caster.AddToBackpack(iOrb); Server.Items.SoulOrb.OnSummoned(Caster, iOrb); } }
public override void OnCast() { if (CheckSequence()) { int quantidade = (int)(Caster.Skills[CastSkill].Value / 10.0) + 1; for (int i = 0; i < quantidade; i++) { Item food = (Item)Activator.CreateInstance(m_Food[Utility.Random(m_Food.Length)]); if (food != null) { Caster.AddToBackpack(food); food.MoveToWorld(Caster.Location, Caster.Map); } } Caster.PublicOverheadMessage(MessageType.Emote, 0, false, "Frutas brotam do chão."); Caster.FixedParticles(0, 10, 5, 2003, EffectLayer.RightHand); Caster.PlaySound(0x1E2); } FinishSequence(); }
public void Target(Item item) { if (this.CheckSequence()) { SpellHelper.Turn(this.Caster, item); object root = item.RootParent; if (item.Movable == false) { Caster.SendMessage("That item does not seem to move."); } else if (item.Amount > 1) { Caster.SendMessage("There are too many items stacked here to move."); } else if (item.Weight > (Caster.Int / 20)) { Caster.SendMessage("That is to heavy to move."); } else if (item.RootParentEntity != null) { Caster.SendMessage("You can not move objects that are inside of other objects or being worn."); } else { Effects.SendLocationParticles(EffectItem.Create(item.Location, item.Map, EffectItem.DefaultDuration), 0x376A, 9, 32, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, 5022, 0); Effects.PlaySound(item.Location, item.Map, 0x1F5); Caster.AddToBackpack(item); Caster.SendMessage("You move the object to within your grasp and place it in your backpack."); } } this.FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { List <Item> bonePieces = new List <Item>(); List <Item> equipedPieces = new List <Item>(); bonePieces.Add(new BoneArms()); bonePieces.Add(new BoneChest()); bonePieces.Add(new BoneGloves()); bonePieces.Add(new BoneHelm()); bonePieces.Add(new BoneLegs()); foreach (Item i in bonePieces) { // On retire les pièces d'armures déjà équipées et on les met dans le sac Item equiped = Caster.FindItemOnLayer(i.Layer); if (equiped != null && equiped.Movable) { equipedPieces.Add(equiped); Caster.RemoveItem(equiped); Caster.AddToBackpack(equiped); } if (equiped != null && !equiped.Movable) { Caster.SendMessage("Vous portez déjà des objets invoqués."); return; } // On équipe la pièce d'armure BaseArmor ba = null; if (i is BaseArmor) { ba = (BaseArmor)i; } if (ba != null) { ba.Movable = false; ba.Hue = 1109; ba.ArmorAttributes.LowerStatReq = 100; Caster.EquipItem(ba); } } new InternalTimer(Caster, bonePieces, equipedPieces); Caster.Karma -= 500; Caster.Mana -= RequiredMana; Effects.PlaySound(Caster.Location, Caster.Map, 0x1FB); Effects.SendLocationParticles(EffectItem.Create(Caster.Location, Caster.Map, EffectItem.DefaultDuration), 0x3789, 1, 40, 0x3F, 3, 9907, 0); } FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { Item weap = new RangerNoxBow(Caster); Caster.AddToBackpack(weap); Caster.SendMessage("You create a magical bow and place it in your backpack."); Caster.PlaySound(481); Effects.SendLocationParticles(EffectItem.Create(Caster.Location, Caster.Map, EffectItem.DefaultDuration), 0x376A, 1, 29, 1278, 2, 9962, 0); Effects.SendLocationParticles(EffectItem.Create(new Point3D(Caster.X, Caster.Y, Caster.Z - 7), Caster.Map, EffectItem.DefaultDuration), 0x37C4, 1, 29, 1278, 2, 9502, 0); } }
public override void OnCast() { if (CheckSequence()) { Item weap = new HammerOfFaith(Caster); Caster.AddToBackpack(weap); Caster.SendMessage("You create a magical hammer and place it in your backpack."); Caster.PlaySound(0x212); Caster.PlaySound(0x206); Effects.SendLocationParticles(EffectItem.Create(Caster.Location, Caster.Map, EffectItem.DefaultDuration), 0x376A, 1, 29, 0x47D, 2, 9962, 0); Effects.SendLocationParticles(EffectItem.Create(new Point3D(Caster.X, Caster.Y, Caster.Z - 7), Caster.Map, EffectItem.DefaultDuration), 0x37C4, 1, 29, 0x47D, 2, 9502, 0); } }
public override void OnCast() { if (CheckSequence()) { ArrayList targets = new ArrayList(); foreach (Item item in World.Items.Values) { if (item is DeathlyMask) { DeathlyMask myMask = (DeathlyMask)item; if (myMask.owner == Caster) { targets.Add(item); } } } for (int i = 0; i < targets.Count; ++i) { Item item = ( Item )targets[i]; item.Delete(); } double time = DamagingSkill(Caster) * 4; if (time > 900) { time = 900.0; } if (time < 360) { time = 360.0; } Caster.PlaySound(0x1ED); Caster.FixedParticles(0x376A, 9, 32, 5008, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, EffectLayer.Waist); Caster.SendMessage("You summon the mask of death into your pack."); Item iMask = new DeathlyMask(Caster, time); Caster.AddToBackpack(iMask); Server.Misc.Research.ConsumeScroll(Caster, true, spellIndex, false); KarmaMod(Caster, ((int)RequiredSkill + RequiredMana)); } FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { Item comida = new Carrot(); Item comida1 = new Apple(); Caster.AddToBackpack(comida); Caster.AddToBackpack(comida1); Caster.SendMessage("A refeiчуo foi criada e colocada na sua mochila."); Caster.PlaySound(0x212); Caster.PlaySound(0x206); Effects.SendLocationParticles(EffectItem.Create(Caster.Location, Caster.Map, EffectItem.DefaultDuration), 0x376A, 1, 29, 0x47D, 2, 9962, 0); Effects.SendLocationParticles(EffectItem.Create(new Point3D(Caster.X, Caster.Y, Caster.Z - 7), Caster.Map, EffectItem.DefaultDuration), 0x37C4, 1, 29, 0x47D, 2, 9502, 0); } FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { FoodInfo foodInfo = m_Food[Utility.Random(m_Food.Length)]; Item food = foodInfo.Create(); if (food != null) { Caster.AddToBackpack(food); // You magically create food in your backpack: Caster.SendLocalizedMessage(1042695, true, " " + foodInfo.Name); Caster.FixedParticles(0, 10, 5, 2003, EffectLayer.RightHand); Caster.PlaySound(0x1E2); } } FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { if (this.Scroll != null) { Scroll.Consume(); } Item weap = new RangerFireBow(Caster); Caster.AddToBackpack(weap); Caster.SendMessage("You create a magical bow and place it in your backpack."); Caster.PlaySound(0x212); Caster.PlaySound(0x206); Effects.SendLocationParticles(EffectItem.Create(Caster.Location, Caster.Map, EffectItem.DefaultDuration), 0x376A, 1, 29, 0x47D, 2, 9962, 0); Effects.SendLocationParticles(EffectItem.Create(new Point3D(Caster.X, Caster.Y, Caster.Z - 7), Caster.Map, EffectItem.DefaultDuration), 0x37C4, 1, 29, 0x47D, 2, 9502, 0); } }
public override void OnCast() { if (CheckSequence()) { var foodInfo = m_Food.RandomElement(); var food = foodInfo.Create(); if (food != null) { Caster.AddToBackpack(food); // You magically create food in your backpack: Caster.SendLocalizedMessage(1042695, true, $" {foodInfo.Name}"); Caster.FixedParticles(0, 10, 5, 2003, EffectLayer.RightHand); Caster.PlaySound(0x1E2); } } FinishSequence(); }
public void Target(Gold weapon) { if (!Caster.CanSee(weapon)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (CheckSequence()) { if (Caster.BeginAction(typeof(AncientFalseCoinSpell))) { if (this.Scroll != null) { Scroll.Consume(); } FakeGold fake = new FakeGold(); fake.m_Amount = weapon.Amount * 5; fake.Name = "" + (weapon.Amount * 5) + " Gold Coins"; m_Fake = fake; Caster.AddToBackpack(fake); Caster.PlaySound(0x2E6); IEntity from = new Entity(Serial.Zero, new Point3D(Caster.X, Caster.Y, Caster.Z + 50), Caster.Map); IEntity to = new Entity(Serial.Zero, new Point3D(Caster.X, Caster.Y, Caster.Z), Caster.Map); Effects.SendMovingParticles(from, to, 0x1EC6, 1, 0, false, false, 33, 3, 9501, 1, 0, EffectLayer.Head, 0x100); StopTimer(Caster); Timer t = new InternalTimer(Caster, m_Fake); m_Timers[Caster] = t; t.Start(); } } FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { FoodInfo foodInfo = m_Food[Utility.Random(m_Food.Length)]; Item food = foodInfo.Create(); if (food != null) { Caster.AddToBackpack(food); Caster.AddToBackpack(new WaterFlask()); // You magically create food in your backpack: //Caster.SendLocalizedMessage( 1042695, true, " " + foodInfo.Name ); Caster.SendMessage("Some food and drink magically appear in your backpack."); Caster.FixedParticles(0, 10, 5, 2003, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, EffectLayer.RightHand); Caster.PlaySound(0x1E2); } } FinishSequence(); }
public void Target(object o) { if (o is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)o; if (Caster.Backpack.FindItemByType(typeof(EnchantSpellStone)) != null) { DoFizzle(); } else if (!Caster.CanSee(weapon)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (!Caster.CanBeginAction(typeof(EnchantSpell))) { Caster.SendLocalizedMessage(1005559); // This spell is already in effect. } else if (!weapon.IsChildOf(Caster.Backpack)) { Caster.SendMessage("The weapon must be in your pack to enchant."); } else if (CheckSequence()) { EnchantSpellStone orb = new EnchantSpellStone(); Caster.AddToBackpack(orb); string name = weapon.Name; if (weapon.Name != null && weapon.Name != "") { name = weapon.Name; } if (name == null) { name = MorphingItem.AddSpacesToSentence((weapon.GetType()).Name); } orb.EnchantOwner = Caster; orb.EnchantSerial = weapon.Serial; orb.EnchantName = name; orb.EnchantDmg = weapon.Attributes.WeaponDamage; orb.EnchantHue = weapon.Hue; orb.EnchantSlayer1 = weapon.Slayer; orb.EnchantSlayer2 = weapon.Slayer2; weapon.Name = "" + name + " [enchanted]"; weapon.Hue = 0x9C4; weapon.Attributes.WeaponDamage += 50; weapon.Slayer = SlayerName.Silver; weapon.Slayer2 = SlayerName.Exorcism; Caster.FixedParticles(0x375A, 9, 20, 5027, EffectLayer.Waist); Caster.PlaySound(0x1F7); int val = (int)Caster.Skills[SkillName.Healing].Value; if (val > 100) { val = 100; } new InternalTimer(Caster, TimeSpan.FromMinutes(val)).Start(); } } else { Caster.SendMessage("You can only enchant weapons with this spell."); } FinishSequence(); }
public void Target(object o, int spellID) { if (o is BaseWeapon) { BaseWeapon weapon = (BaseWeapon)o; if (Caster.Backpack.FindItemByType(typeof(ResearchEnchantStone)) != null) { DoFizzle(); } else if (!Caster.CanSee(weapon)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (!Caster.CanBeginAction(typeof(ResearchEnchant))) { Caster.SendLocalizedMessage(1005559); // This spell is already in effect. } else if (!weapon.IsChildOf(Caster.Backpack)) { Caster.SendMessage("The weapon must be in your pack to enchant."); } else if (CheckSequence()) { ResearchEnchantStone orb = new ResearchEnchantStone(); Caster.AddToBackpack(orb); Server.Misc.Research.ConsumeScroll(Caster, true, spellID, false); string name = weapon.Name; if (weapon.Name != null && weapon.Name != "") { name = weapon.Name; } if (name == null) { name = MorphingItem.AddSpacesToSentence((weapon.GetType()).Name); } orb.EnchantOwner = Caster; orb.EnchantSerial = weapon.Serial; orb.EnchantName = name; orb.EnchantDmg = weapon.Attributes.WeaponDamage; orb.EnchantHue = weapon.Hue; weapon.Name = "" + name + " [enchanted]"; weapon.Hue = 0x489; weapon.Attributes.WeaponDamage += 100; Caster.PlaySound(0x1F7); Caster.FixedParticles(0x3039, 9, 32, 5008, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0x85E), 0, EffectLayer.Waist); int val = (int)(DamagingSkill(Caster) / 2); if (val > 120) { val = 120; } new InternalTimer(Caster, TimeSpan.FromMinutes(val)).Start(); } } else { Caster.SendMessage("You can only enchant weapons with this spell."); } FinishSequence(); }
public override void OnCast() { if (CheckSequence()) { Item item = new Dagger(); string msg = "You conjure a dagger."; switch (Utility.RandomMinMax(1, 28)) { case 1: item = new Apple(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some apples."; break; case 2: item = new Arrow(); item.Amount = Utility.RandomMinMax(1, 10); msg = "You conjure some arrows."; break; case 3: item = new Backpack(); msg = "You conjure a backpack."; break; case 4: item = new Bag(); msg = "You conjure a bag."; break; case 5: item = new Bandage(); item.Amount = Utility.RandomMinMax(1, 10); msg = "You conjure some bandages."; break; case 6: item = new Bedroll(); msg = "You conjure a bedroll."; break; case 7: item = new Beeswax(); msg = "You conjure some beeswax."; break; case 8: item = new BlueBook(); msg = "You conjure a book."; break; case 9: item = new Bolt(); item.Amount = Utility.RandomMinMax(1, 10); msg = "You conjure some crossbow bolts."; break; case 10: item = new Bottle(); msg = "You conjure a bottle."; break; case 11: item = new BreadLoaf(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some bread."; break; case 12: item = new Candle(); msg = "You conjure a candle."; break; case 13: item = new Club(); msg = "You conjure a club."; break; case 14: item = new Dagger(); msg = "You conjure a dagger."; break; case 15: item = new DarkYarn(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some yarn."; break; case 16: item = new FloppyHat(); msg = "You conjure a hat."; break; case 17: item = new Jar(); msg = "You conjure a jar."; break; case 18: item = new Kindling(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some kindling."; break; case 19: item = new Lantern(); msg = "You conjure a lantern."; break; case 20: item = new Lockpick(); msg = "You conjure a lockpick."; break; case 21: item = new OilCloth(); msg = "You conjure an oil cloth."; break; case 22: item = new Pouch(); msg = "You conjure a pouch."; break; case 23: item = new Robe(); msg = "You conjure a robe."; break; case 24: item = new Shoes(); msg = "You conjure some shoes."; break; case 25: item = new SpoolOfThread(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some thread."; break; case 26: item = new TenFootPole(); msg = "You conjure a ten foot pole."; break; case 27: item = new Torch(); msg = "You conjure a torch."; break; case 28: item = new Waterskin(); msg = "You conjure a waterskin."; break; } Caster.SendMessage(msg); Caster.AddToBackpack(item); Caster.FixedParticles(0, 10, 5, 2003, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, EffectLayer.RightHand); Caster.PlaySound(0x1E2); Server.Misc.Research.ConsumeScroll(Caster, true, spellIndex, true); } FinishSequence(); }
public void Target(object o) { if (o is Item) { Item targ = (Item)o; if (targ is LockableContainer) { LockableContainer box = (LockableContainer)targ; if (Multis.BaseHouse.CheckLockedDownOrSecured(box)) { // You cannot cast this on a locked down item. Caster.LocalOverheadMessage(MessageType.Regular, 0x22, 501761); } else if (box.Locked || box.LockLevel == 0 || box is ParagonChest) { // Target must be an unlocked chest. Caster.SendLocalizedMessage(501762); } else if (CheckSequence()) { SpellHelper.Turn(Caster, box); Point3D loc = box.GetWorldLocation(); Effects.SendLocationParticles( EffectItem.Create(loc, box.Map, EffectItem.DefaultDuration), 0x376A, 9, 32, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, 5020, 0); Effects.PlaySound(loc, box.Map, 0x1FA); // The chest is now locked! Caster.LocalOverheadMessage(MessageType.Regular, 0x3B2, 501763); box.LockLevel = (int)(Caster.Skills[SkillName.Magery].Value); if (box.LockLevel > 90) { box.LockLevel = 90; } if (box.LockLevel < 0) { box.LockLevel = 0; } box.MaxLockLevel = box.LockLevel + 20; box.RequiredSkill = box.LockLevel; //box.LockLevel = -255; // signal magic lock box.Locked = true; } } else if (targ is BaseDoor) { BaseDoor door = (BaseDoor)targ; if (Server.Items.DoorType.IsDungeonDoor(door)) { if (door.Locked == true) { Caster.SendMessage("That door is already locked!"); } else { SpellHelper.Turn(Caster, door); Point3D loc = door.GetWorldLocation(); Effects.SendLocationParticles( EffectItem.Create(loc, door.Map, EffectItem.DefaultDuration), 0x376A, 9, 32, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, 5020, 0); Effects.PlaySound(loc, door.Map, 0x1FA); Caster.SendMessage("That door is now locked!"); door.Locked = true; Server.Items.DoorType.LockDoors(door); new InternalTimer(door, Caster).Start(); } } else { Caster.SendMessage("This spell has no effect on that!"); } } else { Caster.SendMessage("This spell has no effect on that!"); } } else if (o is PlayerMobile) { Caster.SendMessage("That soul seems too strong to trap in the flask!"); } else if (o is BaseCreature) { BaseCreature bc = (BaseCreature)o; if (!bc.Alive) { Caster.SendMessage("You cannot trap something that is dead!"); } else if (bc.Controlled is LockedCreature) { Caster.SendMessage("That creature cannot be trapped again!"); } else if (bc.Controlled == true) { Caster.SendMessage("That is under the control of another!"); } else if (bc.EmoteHue == 505 || bc.ControlSlots >= 100) // SUMMON QUEST AND QUEST MONSTERS { Server.Misc.IntelligentAction.FizzleSpell(Caster); Caster.SendMessage("You are not powerful enough to trap that!"); } else if (Caster.Backpack.FindItemByType(typeof(IronFlask)) == null) { Caster.SendMessage("You need an empty iron flask to trap them!"); } else { int level = Server.Misc.DifficultyLevel.GetCreatureLevel((Mobile)o) + 10; int magery = (int)(Caster.Skills[SkillName.Magery].Value); if (magery >= level) { int success = 10 + (magery - level); if (Utility.RandomMinMax(1, 100) > success) { Server.Misc.IntelligentAction.FizzleSpell(Caster); Caster.SendMessage("You fail to trap them in the flask!"); } else { Item flask = Caster.Backpack.FindItemByType(typeof(IronFlask)); if (flask != null) { flask.Consume(); } Caster.SendMessage("You trap " + bc.Name + " in the flask!"); IronFlaskFilled bottle = new IronFlaskFilled(); int hitpoison = 0; if (bc.HitPoison == Poison.Lesser) { hitpoison = 1; } else if (bc.HitPoison == Poison.Regular) { hitpoison = 2; } else if (bc.HitPoison == Poison.Greater) { hitpoison = 3; } else if (bc.HitPoison == Poison.Deadly) { hitpoison = 4; } else if (bc.HitPoison == Poison.Lethal) { hitpoison = 5; } int immune = 0; if (bc.PoisonImmune == Poison.Lesser) { immune = 1; } else if (bc.PoisonImmune == Poison.Regular) { immune = 2; } else if (bc.PoisonImmune == Poison.Greater) { immune = 3; } else if (bc.PoisonImmune == Poison.Deadly) { immune = 4; } else if (bc.PoisonImmune == Poison.Lethal) { immune = 5; } bottle.TrappedName = bc.Name; bottle.TrappedTitle = bc.Title; bottle.TrappedBody = bc.Body; bottle.TrappedBaseSoundID = bc.BaseSoundID; bottle.TrappedHue = bc.Hue; // TURN HUMANOIDS TO GHOSTS SO I DON'T NEED TO WORRY ABOUT CLOTHES AND GEAR if (bc.Body == 400 || bc.Body == 401 || bc.Body == 605 || bc.Body == 606) { bottle.TrappedBody = 0x3CA; bottle.TrappedHue = 0x9C4; bottle.TrappedBaseSoundID = 0x482; } bottle.TrappedAI = 2; if (bc.AI == AIType.AI_Mage) { bottle.TrappedAI = 1; } bottle.TrappedStr = bc.RawStr; bottle.TrappedDex = bc.RawDex; bottle.TrappedInt = bc.RawInt; bottle.TrappedHits = bc.HitsMax; bottle.TrappedStam = bc.StamMax; bottle.TrappedMana = bc.ManaMax; bottle.TrappedDmgMin = bc.DamageMin; bottle.TrappedDmgMax = bc.DamageMax; bottle.TrappedColdDmg = bc.ColdDamage; bottle.TrappedEnergyDmg = bc.EnergyDamage; bottle.TrappedFireDmg = bc.FireDamage; bottle.TrappedPhysicalDmg = bc.PhysicalDamage; bottle.TrappedPoisonDmg = bc.PoisonDamage; bottle.TrappedColdRst = bc.ColdResistSeed; bottle.TrappedEnergyRst = bc.EnergyResistSeed; bottle.TrappedFireRst = bc.FireResistSeed; bottle.TrappedPhysicalRst = bc.PhysicalResistanceSeed; bottle.TrappedPoisonRst = bc.PoisonResistSeed; bottle.TrappedVirtualArmor = bc.VirtualArmor; bottle.TrappedCanSwim = bc.CanSwim; bottle.TrappedCantWalk = bc.CantWalk; bottle.TrappedSkills = level + 5; bottle.TrappedPoison = hitpoison; bottle.TrappedImmune = immune; bottle.TrappedAngerSound = bc.GetAngerSound(); bottle.TrappedIdleSound = bc.GetIdleSound(); bottle.TrappedDeathSound = bc.GetDeathSound(); bottle.TrappedAttackSound = bc.GetAttackSound(); bottle.TrappedHurtSound = bc.GetHurtSound(); Caster.BoltEffect(0); Caster.PlaySound(0x665); Caster.AddToBackpack(bottle); bc.BoltEffect(0); bc.PlaySound(0x665); bc.Delete(); } } else { Server.Misc.IntelligentAction.FizzleSpell(Caster); Caster.SendMessage("You are not powerful enough to trap that!"); } } } FinishSequence(); }