Inheritance: BaseHealPotion
コード例 #1
0
        public void Spawn()
        {
            int bandies = CoreAI.SpiritDepotBandies;
            int ghpots  = CoreAI.SpiritDepotGHPots;
            int regs    = CoreAI.SpiritDepotReagents;

            if (this.m_BandageContainer != null)
            {
                //clear of all existing bandaids
                Item[] contents = m_BandageContainer.FindItemsByType(typeof(Bandage), true);
                foreach (Item b in contents)
                {
                    b.Delete();
                }

                Item item = new Bandage(bandies);
                this.m_BandageContainer.DropItem(item);
            }
            if (this.m_GHPotionContainer != null)
            {
                //clear of all existing ghpots
                Item[] contents = m_GHPotionContainer.FindItemsByType(typeof(GreaterHealPotion), true);
                foreach (Item b in contents)
                {
                    b.Delete();
                }

                for (int i = 0; i < ghpots; i++)
                {
                    Item item = new GreaterHealPotion();
                    this.m_GHPotionContainer.DropItem(item);
                }
            }
            if (this.m_ReagentContainer != null)
            {
                //delete all reagents in container
                foreach (Type t in Loot.RegTypes)
                {
                    Item[] contents = m_ReagentContainer.FindItemsByType(t);
                    foreach (Item b in contents)
                    {
                        b.Delete();
                    }
                }

                int iTotal = regs;
                while (iTotal > 0)
                {
                    Item item  = Loot.RandomReagent();
                    int  count = Utility.RandomMinMax(1, 10);
                    if (count > iTotal)
                    {
                        count = iTotal;
                    }
                    iTotal     -= count;
                    item.Amount = count;
                    this.m_ReagentContainer.DropItem(item);
                }
            }
        }
コード例 #2
0
        public static void LoadTarget_Callback(Mobile from, object target, ACreedGarb garb)
        {
            if (garb is ACreedJinBori)
            {
                Dagger dagger = target as Dagger;

                if (dagger == null)
                {
                    from.SendMessage("That isn't a dagger.");
                }
                else if (dagger.RootParent != from)
                {
                    from.SendMessage("That isn't yours to load.");
                }
                else
                {
                    dagger.Delete();
                    from.SendMessage("You load the dagger into the vest.");
                    ((ACreedJinBori)garb).Ammo++;

                    from.SendMessage("Select a dagger in your backpack to load into the vest (enhancements will be removed).");
                    from.BeginTarget(10, false, TargetFlags.None, new TargetStateCallback <ACreedGarb>(LoadTarget_Callback), (ACreedGarb)garb);
                }
            }
            else if (garb is ACreedBelt)
            {
                GreaterHealPotion potion = target as GreaterHealPotion;

                if (potion == null)
                {
                    from.SendMessage("That isn't a greater heal potion.");
                }
                else if (potion.RootParent != from)
                {
                    from.SendMessage("That isn't yours to load.");
                }
                else
                {
                    potion.Consume();
                    from.SendMessage("You load the potion into the belt.");
                    ((ACreedBelt)garb).Ammo++;

                    from.SendMessage("Select a greater heal potion in your backpack to load into the belt.");
                    from.BeginTarget(10, false, TargetFlags.None, new TargetStateCallback <ACreedGarb>(LoadTarget_Callback), (ACreedGarb)garb);
                }
            }
        }
コード例 #3
0
        public static void Fill(LockableContainer cont, int level)
        {
            cont.Movable     = false;
            cont.TrapEnabled = false;
            cont.Locked      = false;

            int bandies = CoreAI.SpiritDepotBandies;
            int ghpots  = CoreAI.SpiritDepotGHPots;
            int regs    = CoreAI.SpiritDepotReagents;
            int trpots  = CoreAI.SpiritDepotTRPots;

            Item item = null;

            // add a couple lesser explosion potions
            //	these are for batteling hiders in the cave and not for damage
            for (int ix = 0; ix < 2; ix++)
            {
                item = new LesserExplosionPotion();
                cont.DropItem(item);
            }

            // add bandages
            item = new Bandage(bandies);
            cont.DropItem(item);

            // add greater heal potions
            for (int ix = 0; ix < ghpots; ix++)
            {
                item = new GreaterHealPotion();
                cont.DropItem(item);
            }

            // add total refresh potions
            for (int ix = 0; ix < trpots; ix++)
            {
                item = new TotalRefreshPotion();
                cont.DropItem(item);
            }
            // drop reagents
            cont.DropItem(new BagOfReagents(regs));

            // drop res scroll
            cont.DropItem(new ResurrectionScroll());

            return;
        }
コード例 #4
0
        public override void OnDoubleClick(Mobile from)
        {
            for (int x = 0; x < 10; x++)
            {
                GreaterHealPotion healPot = new GreaterHealPotion();

                if (!from.AddToBackpack(healPot) && x == 9)
                {
                    from.SendMessage("Your backpack has too many items.");
                    healPot.Delete();
                }
                else if (!from.AddToBackpack(healPot))
                {
                    healPot.Delete();
                }
            }
        }
コード例 #5
0
		public override void OnDoubleClick( Mobile from )
		{
			for ( int x = 0; x < 10; x++ )
			{
				GreaterHealPotion healPot = new GreaterHealPotion();

				if ( !from.AddToBackpack( healPot ) && x == 9 )
				{
					from.SendMessage("Your backpack has too many items.");
					healPot.Delete();
				}
				else if ( !from.AddToBackpack( healPot ) )
				{
					healPot.Delete();
				}
			}
		}
コード例 #6
0
		public void Spawn()
		{
			int bandies = CoreAI.SpiritDepotBandies;
			int ghpots = CoreAI.SpiritDepotGHPots;
			int regs = CoreAI.SpiritDepotReagents;

			if( this.m_BandageContainer != null )
			{
				//clear of all existing bandaids
				Item[] contents = m_BandageContainer.FindItemsByType(typeof(Bandage), true);
				foreach(Item b in contents)
				{
					b.Delete();
				}

				Item item = new Bandage(bandies);
				this.m_BandageContainer.DropItem(item);
			}
			if( this.m_GHPotionContainer != null )
			{
				//clear of all existing ghpots
				Item[] contents = m_GHPotionContainer.FindItemsByType(typeof(GreaterHealPotion), true);
				foreach(Item b in contents)
				{
					b.Delete();
				}

				for( int i=0; i<ghpots; i++ )
				{
					Item item = new GreaterHealPotion();
					this.m_GHPotionContainer.DropItem(item);
				}
			}
			if( this.m_ReagentContainer != null )
			{
                //delete all reagents in container
				foreach( Type t in Loot.RegTypes )
				{
					Item[] contents = m_ReagentContainer.FindItemsByType(t);
					foreach( Item b in contents )
					{
						b.Delete();
					}
				}
				
				int iTotal = regs;
				while( iTotal > 0 )
				{
					Item item = Loot.RandomReagent();
					int count = Utility.RandomMinMax( 1, 10 );
					if( count > iTotal ) count = iTotal;
					iTotal -= count;
					item.Amount = count;
					this.m_ReagentContainer.DropItem(item);
				}
			}
		}
コード例 #7
0
		public static void Fill( LockableContainer cont, int level )
		{
			cont.Movable = false;
			cont.TrapEnabled = false;
			cont.Locked = false;

			int bandies = CoreAI.SpiritDepotBandies;
			int ghpots = CoreAI.SpiritDepotGHPots;
			int regs = CoreAI.SpiritDepotReagents;
			int trpots = CoreAI.SpiritDepotTRPots;

			Item item = null;

			// add a couple lesser explosion potions
			//	these are for batteling hiders in the cave and not for damage
			for( int ix=0; ix < 2; ix++ )
			{
				item = new LesserExplosionPotion();
				cont.DropItem(item);
			}

			// add bandages
			item = new Bandage(bandies);
			cont.DropItem(item);

			// add greater heal potions
			for( int ix=0; ix < ghpots; ix++ )
			{
				item = new GreaterHealPotion();
				cont.DropItem(item);
			}

			// add total refresh potions
			for( int ix=0; ix < trpots; ix++ )
			{
				item = new TotalRefreshPotion();
				cont.DropItem(item);
			}
			// drop reagents
			cont.DropItem( new BagOfReagents( regs ) );

			// drop res scroll
			cont.DropItem( new ResurrectionScroll() ); 

			return;
		}
コード例 #8
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendMessage("This must be in your backpack to use.");
                return;
            }
            else
            {
                Item item = new Bandage(); item.Amount = Utility.RandomMinMax(5, 30); from.AddToBackpack(item);

                if (Utility.RandomMinMax(1, 2) == 1)
                {
                    item = new LesserHealPotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 10); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 2) == 1)
                {
                    item = new LesserCurePotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 10); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 2) == 1)
                {
                    item = new LesserRejuvenatePotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 10); from.AddToBackpack(item);
                }

                if (Utility.RandomMinMax(1, 4) == 1)
                {
                    item = new HealPotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 5); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 4) == 1)
                {
                    item = new CurePotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 5); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 4) == 1)
                {
                    item = new RefreshPotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 5); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 4) == 1)
                {
                    item = new RejuvenatePotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 5); from.AddToBackpack(item);
                }

                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    item = new TotalRefreshPotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 3); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    item = new GreaterCurePotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 3); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    item = new GreaterHealPotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 3); from.AddToBackpack(item);
                }
                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    item = new GreaterRejuvenatePotion(); Server.Items.BasePotion.MakePillBottle(item); item.Amount = Utility.RandomMinMax(1, 3); from.AddToBackpack(item);
                }

                from.PrivateOverheadMessage(MessageType.Regular, 0x14C, false, "You dump the contents out into your pack.", from.NetState);
                this.Delete();
            }
        }
コード例 #9
0
ファイル: PotionKeg.cs プロジェクト: nogu3ira/xrunuo
        public BasePotion FillBottle()
        {
            BasePotion pot;

            switch (m_Type)
            {
            default:
            case PotionEffect.Nightsight: pot = new NightSightPotion(); break;

            case PotionEffect.CureLesser: pot = new LesserCurePotion(); break;

            case PotionEffect.Cure: pot = new CurePotion(); break;

            case PotionEffect.CureGreater: pot = new GreaterCurePotion(); break;

            case PotionEffect.Agility: pot = new AgilityPotion(); break;

            case PotionEffect.AgilityGreater: pot = new GreaterAgilityPotion(); break;

            case PotionEffect.Strength: pot = new StrengthPotion(); break;

            case PotionEffect.StrengthGreater: pot = new GreaterStrengthPotion(); break;

            case PotionEffect.PoisonLesser: pot = new LesserPoisonPotion(); break;

            case PotionEffect.Poison: pot = new PoisonPotion(); break;

            case PotionEffect.PoisonGreater: pot = new GreaterPoisonPotion(); break;

            case PotionEffect.PoisonDeadly: pot = new DeadlyPoisonPotion(); break;

            case PotionEffect.Refresh: pot = new RefreshPotion(); break;

            case PotionEffect.RefreshGreater: pot = new GreaterRefreshPotion(); break;

            case PotionEffect.HealLesser: pot = new LesserHealPotion(); break;

            case PotionEffect.Heal: pot = new HealPotion(); break;

            case PotionEffect.HealGreater: pot = new GreaterHealPotion(); break;

            case PotionEffect.ExplosionLesser: pot = new LesserExplosionPotion(); break;

            case PotionEffect.Explosion: pot = new ExplosionPotion(); break;

            case PotionEffect.ExplosionGreater: pot = new GreaterExplosionPotion(); break;

            case PotionEffect.Conflagration: pot = new ConflagrationPotion(); break;

            case PotionEffect.ConflagrationGreater: pot = new GreaterConflagrationPotion(); break;

            case PotionEffect.MaskOfDeath: pot = new MaskOfDeathPotion(); break;

            case PotionEffect.MaskOfDeathGreater: pot = new GreaterMaskOfDeathPotion(); break;

            case PotionEffect.ConfusionBlast: pot = new ConfusionBlastPotion(); break;

            case PotionEffect.ConfusionBlastGreater: pot = new GreaterConfusionBlastPotion(); break;

            case PotionEffect.Invisibility: pot = new InvisibilityPotion(); break;

            case PotionEffect.ParasiticPoison: pot = new ParasiticPotion(); break;

            case PotionEffect.DarkglowPoison: pot = new DarkglowPotion(); break;
            }

            return(pot);
        }
コード例 #10
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!from.InLOS(this.GetWorldLocation()))
            {
                from.SendLocalizedMessage(502800);                   // You can't see that.
                return;
            }

            if (from.GetDistanceToSqrt(this.GetWorldLocation()) > 4)
            {
                from.SendLocalizedMessage(500446);                   // That is too far away.
                return;
            }

            from.SendMessage("You have been given some supplies based on your skills.");

            //4 pouches
            for (int i = 0; i < 4; ++i)
            {
                Pouch p = new Pouch();
                p.TrapType  = TrapType.MagicTrap;
                p.TrapPower = 1;
                p.Hue       = 0x25;
                PackItem(from, p);
            }

            if (from.Skills[SkillName.Magery].Value >= 50.0)
            {
                GiveLeatherArmor(from);
            }
            else
            {
                GiveBoneArmor(from);
            }

            if (from.Skills[SkillName.Magery].Value >= 50.0)
            {
                PackItem(from, new BagOfReagents());
            }

            if (from.Skills[SkillName.Healing].Value >= 50.0)
            {
                PackItem(from, new Bandage(100));
            }

            if (from.Skills[SkillName.Fencing].Value >= 50.0)
            {
                PackItem(from, new ShortSpear());
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new Kryss());
                    GiveItem(from, new MetalKiteShield());
                }
                else
                {
                    GiveItem(from, new Spear());
                }
            }

            if (from.Skills[SkillName.Swords].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }

                GiveItem(from, new Katana());
                GiveItem(from, new Halberd());
            }

            if (from.Skills[SkillName.Macing].Value >= 50.0)
            {
                if (from.Skills[SkillName.Parry].Value >= 50.0)
                {
                    GiveItem(from, new MetalKiteShield());
                }
                GiveItem(from, new WarAxe());
                GiveItem(from, new WarHammer());
            }

            if (from.Skills[SkillName.Archery].Value >= 50.0)
            {
                GiveItem(from, new HeavyCrossbow());
                GiveItem(from, new Crossbow());
                GiveItem(from, new Bow());

                PackItem(from, new Bolt(100));
                PackItem(from, new Arrow(100));
            }

            if (from.Skills[SkillName.Poisoning].Value >= 50.0)
            {
                for (int i = 0; i < 5; i++)
                {
                    PackItem(from, new GreaterPoisonPotion());
                }
            }

            PlayerMobile pm = (PlayerMobile)(from);

            Container bag      = new Bag();
            Container backpack = pm.Backpack;

            for (int i = 0; i < 20; i++)
            {
                GreaterCurePotion cure = new GreaterCurePotion();
                bag.DropItem(cure);
            }

            for (int i = 0; i < 20; i++)
            {
                GreaterHealPotion heal = new GreaterHealPotion();
                bag.DropItem(heal);
            }

            for (int i = 0; i < 20; i++)
            {
                TotalRefreshPotion refresh = new TotalRefreshPotion();
                bag.DropItem(refresh);
            }

            backpack.DropItem(bag);
        }
コード例 #11
0
        public BasePotion FillBottle()
        {
            BasePotion pot;

            switch (m_Type)
            {
            default:
            case PotionEffect.Nightsight:           pot = new NightSightPotion(); break;

            case PotionEffect.CureLesser:           pot = new LesserCurePotion(); break;

            case PotionEffect.Cure:                         pot = new CurePotion(); break;

            case PotionEffect.CureGreater:          pot = new GreaterCurePotion(); break;

            case PotionEffect.Agility:                      pot = new AgilityPotion(); break;

            case PotionEffect.AgilityGreater:       pot = new GreaterAgilityPotion(); break;

            case PotionEffect.Strength:                     pot = new StrengthPotion(); break;

            case PotionEffect.StrengthGreater:      pot = new GreaterStrengthPotion(); break;

            case PotionEffect.PoisonLesser:         pot = new LesserPoisonPotion(); break;

            case PotionEffect.Poison:                       pot = new PoisonPotion(); break;

            case PotionEffect.PoisonGreater:        pot = new GreaterPoisonPotion(); break;

            case PotionEffect.PoisonDeadly:         pot = new DeadlyPoisonPotion(); break;

            case PotionEffect.Refresh:                      pot = new RefreshPotion(); break;

            case PotionEffect.RefreshTotal:         pot = new TotalRefreshPotion(); break;

            case PotionEffect.HealLesser:           pot = new LesserHealPotion(); break;

            case PotionEffect.Heal:                         pot = new HealPotion(); break;

            case PotionEffect.HealGreater:          pot = new GreaterHealPotion(); break;

            case PotionEffect.ExplosionLesser:      pot = new LesserExplosionPotion(); break;

            case PotionEffect.Explosion:            pot = new ExplosionPotion(); break;

            case PotionEffect.ExplosionGreater:     pot = new GreaterExplosionPotion(); break;

            case PotionEffect.Conflagration:        pot = new ConflagrationPotion(); break;

            case PotionEffect.ConflagrationGreater: pot = new GreaterConflagrationPotion(); break;

            case PotionEffect.MaskOfDeath:          pot = new MaskOfDeathPotion(); break;

            case PotionEffect.MaskOfDeathGreater:   pot = new GreaterMaskOfDeathPotion(); break;

            case PotionEffect.ConfusionBlast:               pot = new ConfusionBlastPotion(); break;

            case PotionEffect.ConfusionBlastGreater:        pot = new GreaterConfusionBlastPotion(); break;
            }
            if (this.Cheater_Name != null)
            {
                pot.Cheater_Name = this.Cheater_Name;
            }
            return(pot);
        }