• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Items.Runebook类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Server.Items.Runebook的典型用法代码示例。如果您正苦于以下问题:C# Runebook类的具体用法?C# Runebook怎么用?C# Runebook使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Runebook类属于Server.Items命名空间,在下文中一共展示了Runebook类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: GateTravelSpell

 public GateTravelSpell(Mobile caster, Item scroll, RunebookEntry entry, Runebook book)
     : base(caster, scroll, m_Info)
 {
     m_Entry = entry;
     m_Book = book;
     m_Scroll = scroll;
 }
开发者ID:FreeReign,项目名称:imaginenation,代码行数:7,代码来源:GateTravel.cs


示例2: RunebookSellingGump

        public RunebookSellingGump(Runebook book)
            : base(0, 0)
        {
            this.Dragable = false;
            this.Closable = true;

            if (book == null) return;

            AddPage(0);
            this.AddBackground(0, 0,520, 420, 5170); 
            int penY = 25;
            int penX = 125;
            int textHeight = 20;
            AddLabel(penX, penY, 38, "Runes in this Runebook");
            penY += textHeight + 5;
            penX = 30;

            if (book.Entries == null || book.Entries.Count == 0)
            {
                AddLabel(penX, penY, 0, "This is an empty runebook...");
                return;
            }

            AddLabel(penX, penY, 38, "  Map      Region        Coordinates            Description");
            penY += textHeight;
            foreach (RunebookEntry entry in book.Entries)
            {
                if (entry.Map == null) continue;

                Region region = Region.Find(entry.Location, entry.Map);
                AddLabel(penX, penY, 0, entry.Map.Name);
                penX = 95;
                if (region != null)  AddLabel(penX, penY, 0,  region.Name);
                penX = 200;
                AddLabel(penX, penY, 0, UberScriptFunctions.Methods.SEXTANTCOORDS(null, entry.Location, entry.Map));
                penX = 340;
                AddLabel(penX, penY, 0, entry.Description);

                penY += textHeight;
                penX = 30;
            }
        }
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:42,代码来源:RunebookSellingGump.cs


示例3: RunebookGump

        public RunebookGump( Mobile from, Runebook book )
            : base(150, 200)
        {
            m_Book = book;

            AddBackground();
            AddIndex();

            for ( int page = 0; page < 8; ++page )
            {
                AddPage( 2 + page );

                AddButton( 125, 14, 2205, 2205, 0, GumpButtonType.Page, 1 + page );

                if ( page < 7 )
                    AddButton( 393, 14, 2206, 2206, 0, GumpButtonType.Page, 3 + page );

                for ( int half = 0; half < 2; ++half )
                    AddDetails( (page * 2) + half, half );
            }
        }
开发者ID:evildude807,项目名称:kaltar,代码行数:21,代码来源:RunebookGump.cs


示例4: Dupe

        public override Item Dupe( int amount )
        {
            Runebook book = new Runebook();

            book.m_Level = m_Level;
            book.m_CurCharges = m_CurCharges;
            book.m_MaxCharges = m_MaxCharges;
            book.m_DefaultIndex = m_DefaultIndex;
            book.m_Description = m_Description;
            book.m_Level = m_Level;
            book.LootType = this.LootType;

            for( int i = 0; i < m_Entries.Count; i++ )
            {
                RunebookEntry entry = m_Entries[i] as RunebookEntry;

                book.m_Entries.Add( new RunebookEntry( entry.Location, entry.Map, entry.Description, entry.House ) );
            }

            return base.Dupe( book, amount );
        }
开发者ID:cynricthehun,项目名称:UOLegends,代码行数:21,代码来源:Runebook.cs


示例5: RecallSpell

		public RecallSpell( Mobile caster, Item scroll, RunebookEntry entry, Runebook book ) : base( caster, scroll, m_Info )
		{
			m_Entry = entry;
			m_Book = book;
		}
开发者ID:ITLongwell,项目名称:aedilis2server,代码行数:5,代码来源:Recall.cs


示例6: DisplayBookLocations

		private void DisplayBookLocations(Runebook runebook)
		{

			if (runebook == null)
				return;

			for (int i = 0; i < runebook.Entries.Count; i++)
			{
				RunebookEntry entry = runebook.Entries[i] as RunebookEntry;
				string locationtext = entry.Description;
				if (locationtext == null || locationtext.Length < 1)
					locationtext = String.Format("({0}, {1}, {2})", entry.Location.X, entry.Location.Y, entry.Location.Z);
				string[] keywordargs = ParseString(locationtext, 15, ":");
				//Console.WriteLine("Args={0}", keywordargs.Length);
				string runesecurity = null;
				if (keywordargs != null && keywordargs.Length > 1)
				{
					locationtext = keywordargs[0];
					runesecurity = keywordargs[1];
				}
				if (locationtext.Length > 25)
					locationtext = locationtext.Substring(0, 25);
				if (AccessAllowed(runesecurity, m_Mobile))
				{
					AddRadio(210, 35 + (i * 25), 210, 211, false, m_selected * 1000 + i);
					AddLabel(235, 35 + (i * 25), MapHues[entry.Map.MapIndex], locationtext);
				}
				else
					AddLabel(235, 35 + (i * 25), 0, "--Not Accessable--");
			}
		}
开发者ID:FreeReign,项目名称:imaginenation,代码行数:31,代码来源:MoongateLibrary.cs


示例7: SacredJourneySpell

 public SacredJourneySpell(Mobile caster, Item scroll, RunebookEntry entry, Runebook book)
     : base(caster, scroll, m_Info)
 {
     this.m_Entry = entry;
     this.m_Book = book;
 }
开发者ID:Ziden,项目名称:ServUO-EC-Test-Fork,代码行数:6,代码来源:SacredJourney.cs


示例8: FillBankbox

        private static void FillBankbox( Mobile m )
        {
            BankBox bank = m.BankBox;

            if ( bank == null )
                return;

            bank.MaxItems = int.MaxValue;

            // The new AOS bankboxes don't have powerscrolls, they are automatically 'applied':

            for ( int i = 0; i < PowerScroll.Skills.Length; ++i )
                m.Skills[PowerScroll.Skills[i]].Cap = 120.0;

            m.StatCap = 250;

            Container cont;
            Container cont2;

            // Begin box of money
            cont = new WoodenBox();
            cont.ItemID = 0xE7D;
            cont.Hue = 0x489;

            PlaceItemIn( cont, 17, 52, new BankCheck( 1000000 ) );
            PlaceItemIn( cont, 28, 52, new BankCheck( 1000000 ) );

            PlaceItemIn( cont, 17, 91, new Factions.Silver( 9000 ) );
            PlaceItemIn( cont, 34, 91, new Gold( 60000 ) );

            PlaceItemIn( bank, 38, 142, cont );
            // End box of money

            // Begin box of Magery Items
            cont = new WoodenBox();
            cont.ItemID = 0xE7D;
            cont.Name = "Magery Items";
            cont.Hue = 1195;

            // Begin bag of spell casting stuff
            cont2 = new Backpack();
            cont2.Hue = 0x480;
            cont2.Name = "Spell Casting Stuff";

            PlaceItemIn( cont2, 45, 107, new Spellbook( UInt64.MaxValue ) );
            PlaceItemIn( cont2, 64, 107, new NecromancerSpellbook( (UInt64) 0xFFFF ) );
            PlaceItemIn( cont2, 83, 107, new BookOfChivalry( (UInt64) 0x3FF ) );
            PlaceItemIn( cont2, 102, 107, new BookOfBushido() ); //Default ctor = full
            PlaceItemIn( cont2, 121, 107, new BookOfNinjitsu() ); //Default ctor = full
            PlaceItemIn( cont2, 102, 149, new SpellweavingSpellbook( (UInt64) 0xFFFF ) );
            PlaceItemIn( cont2, 121, 149, new MysticismSpellbook( (UInt64) 0xFFFF ) );

            Runebook runebook = new Runebook( 20 );
            runebook.CurCharges = runebook.MaxCharges;
            PlaceItemIn( cont2, 141, 107, runebook );

            Item toHue = new BagOfReagents( 5000 );
            toHue.Hue = 0x2D;
            PlaceItemIn( cont2, 45, 128, toHue );

            toHue = new BagOfNecroReagents( 3000 );
            toHue.Hue = 0x488;
            PlaceItemIn( cont2, 64, 128, toHue );

            toHue = new BagOfMysticReagents( 3000 );
            toHue.Hue = 0x48F;
            PlaceItemIn( cont2, 141, 128, toHue );

            for ( int i = 0; i < 6; ++i )
                PlaceItemIn( cont2, 45 + ( i * 10 ), 74, new RecallRune() );

            PlaceItemIn( cont, 47, 91, cont2 );
            // End bag of spell casting stuff

            // Begin bag of potion kegs
            cont2 = new Backpack();
            cont2.Name = "Various Potion Kegs";

            PlaceItemIn( cont2, 45, 149, MakePotionKeg( PotionEffect.CureGreater, 0x2D ) );
            PlaceItemIn( cont2, 69, 149, MakePotionKeg( PotionEffect.HealGreater, 0x499 ) );
            PlaceItemIn( cont2, 93, 149, MakePotionKeg( PotionEffect.PoisonDeadly, 0x46 ) );
            PlaceItemIn( cont2, 117, 149, MakePotionKeg( PotionEffect.RefreshGreater, 0x21 ) );
            PlaceItemIn( cont2, 141, 149, MakePotionKeg( PotionEffect.ExplosionGreater, 0x74 ) );

            PlaceItemIn( cont2, 93, 82, new Bottle( 1000 ) );

            PlaceItemIn( cont, 78, 91, cont2 );
            // End bag of potion kegs

            GoldRing ring = new GoldRing();
            ring.Name = "Ring Of Arcane Tactics";
            ring.Attributes.CastRecovery = 3;
            ring.Attributes.CastSpeed = 1;
            PlaceItemIn( cont, 109, 90, ring );

            GoldBracelet bracelet = new GoldBracelet();
            bracelet.Name = "Farmer's Band Of Mastery";
            bracelet.Attributes.CastRecovery = 3;
            bracelet.Attributes.CastSpeed = 1;
            PlaceItemIn( cont, 139, 95, bracelet );
//.........这里部分代码省略.........
开发者ID:Ravenwolfe,项目名称:xrunuo,代码行数:101,代码来源:TestCenter.cs


示例9: FillBankAOS


//.........这里部分代码省略.........
            PlaceItemIn( cont, 48, 76, new Arrow( 5000 ) );
            PlaceItemIn( cont, 72, 76, new Bolt( 5000 ) );

            PlaceItemIn( bank, 118, 124, cont );
            // End bag of archery ammo


            // Begin bag of treasure maps
            cont = new Bag();
            cont.Name = "Bag Of Treasure Maps";

            PlaceItemIn( cont, 30, 35, new TreasureMap( 1, Map.Trammel ) );
            PlaceItemIn( cont, 45, 35, new TreasureMap( 2, Map.Trammel ) );
            PlaceItemIn( cont, 60, 35, new TreasureMap( 3, Map.Trammel ) );
            PlaceItemIn( cont, 75, 35, new TreasureMap( 4, Map.Trammel ) );
            PlaceItemIn( cont, 90, 35, new TreasureMap( 5, Map.Trammel ) );
            PlaceItemIn( cont, 90, 35, new TreasureMap( 6, Map.Trammel ) );

            PlaceItemIn( cont, 30, 50, new TreasureMap( 1, Map.Trammel ) );
            PlaceItemIn( cont, 45, 50, new TreasureMap( 2, Map.Trammel ) );
            PlaceItemIn( cont, 60, 50, new TreasureMap( 3, Map.Trammel ) );
            PlaceItemIn( cont, 75, 50, new TreasureMap( 4, Map.Trammel ) );
            PlaceItemIn( cont, 90, 50, new TreasureMap( 5, Map.Trammel ) );
            PlaceItemIn( cont, 90, 50, new TreasureMap( 6, Map.Trammel ) );

            PlaceItemIn( cont, 55, 100, new Lockpick( 30 ) );
            PlaceItemIn( cont, 60, 100, new Pickaxe() );

            PlaceItemIn( bank, 98, 124, cont );
            // End bag of treasure maps


            // Begin bag of raw materials
            cont = new Bag();
            cont.Hue = 0x835;
            cont.Name = "Raw Materials Bag";

            PlaceItemIn( cont, 92, 60, new BarbedLeather( 5000 ) );
            PlaceItemIn( cont, 92, 68, new HornedLeather( 5000 ) );
            PlaceItemIn( cont, 92, 76, new SpinedLeather( 5000 ) );
            PlaceItemIn( cont, 92, 84, new Leather( 5000 ) );

            PlaceItemIn( cont, 30, 118, new Cloth( 5000 ) );
            PlaceItemIn( cont, 30,  84, new Board( 5000 ) );
            PlaceItemIn( cont, 57,  80, new BlankScroll( 500 ) );

            PlaceItemIn( cont, 30,  35, new DullCopperIngot( 5000 ) );
            PlaceItemIn( cont, 37,  35, new ShadowIronIngot( 5000 ) );
            PlaceItemIn( cont, 44,  35, new CopperIngot( 5000 ) );
            PlaceItemIn( cont, 51,  35, new BronzeIngot( 5000 ) );
            PlaceItemIn( cont, 58,  35, new GoldIngot( 5000 ) );
            PlaceItemIn( cont, 65,  35, new AgapiteIngot( 5000 ) );
            PlaceItemIn( cont, 72,  35, new VeriteIngot( 5000 ) );
            PlaceItemIn( cont, 79,  35, new ValoriteIngot( 5000 ) );
            PlaceItemIn( cont, 86,  35, new IronIngot( 5000 ) );

            PlaceItemIn( cont, 30,  59, new RedScales( 5000 ) );
            PlaceItemIn( cont, 36,  59, new YellowScales( 5000 ) );
            PlaceItemIn( cont, 42,  59, new BlackScales( 5000 ) );
            PlaceItemIn( cont, 48,  59, new GreenScales( 5000 ) );
            PlaceItemIn( cont, 54,  59, new WhiteScales( 5000 ) );
            PlaceItemIn( cont, 60,  59, new BlueScales( 5000 ) );

            PlaceItemIn( bank, 98, 169, cont );*/
            // End bag of raw materials


            // Begin bag of spell casting stuff
            cont = new Backpack();
            cont.Hue = 0x480;
            cont.Name = "Spell Casting Stuff";

            //PlaceItemIn(cont, 45, 105, new Spellbook(UInt64.MaxValue));
            //PlaceItemIn(cont, 65, 105, new NecromancerSpellbook((UInt64)0xFFFF));
            PlaceItemIn( cont, 85, 105, new RecallRune(10) );
            //PlaceItemIn( cont, 105, 105, new BookOfBushido() );	//Default ctor = full
            //PlaceItemIn( cont, 125, 105, new BookOfNinjitsu() ); //Default ctor = full

            Runebook runebook = new Runebook(10);
            runebook.CurCharges = runebook.MaxCharges;
            PlaceItemIn(cont, 145, 105, runebook);

            Item toHue = new BagOfReagents(50);
            toHue.Hue = 0x2D;
            PlaceItemIn(cont, 45, 150, toHue);

            toHue = new BagOfNecroReagents(50);
            toHue.Hue = 0x488;
            PlaceItemIn(cont, 65, 150, toHue);

            //PlaceItemIn( cont, 140, 150, new BagOfAllReagents( 500 ) );

            //for (int i = 0; i < 9; ++i)
                //PlaceItemIn( cont, 45 + (i * 10), 75, new RecallRune() );

                //PlaceItemIn( cont, 141, 74, new FireHorn() );

                PlaceItemIn(bank, 78, 169, cont);

        }
开发者ID:greeduomacro,项目名称:cov-shard-svn-1,代码行数:101,代码来源:CharacterCreation.cs


示例10: AddRunebook

		public virtual bool AddRunebook(Mobile m, Runebook book, RuneCodexCategory cat, bool message)
		{
			if (m == null || m.Deleted || book == null || book.Deleted || !book.IsAccessibleTo(m))
			{
				return false;
			}

			if (cat == null)
			{
				PlayerMobile pm = m as PlayerMobile;

				cat = pm != null && Users.ContainsKey(pm)
						  ? (Users[pm].Category ?? Categories[Users[pm].CategoryPoint.X, Users[pm].CategoryPoint.Y])
						  : Categories[0, 0];
			}

			if (book.Entries == null || book.Entries.Count == 0)
			{
				if (message)
				{
					m.SendMessage("That rune book is empty.");
				}

				return false;
			}

			if (Categories.Count >= Categories.Capacity)
			{
				if (message)
				{
					m.SendMessage("This rune codex can't hold more categories.");
				}

				return false;
			}

			if (cat != null && cat.AddRunebook(m, book, message))
			{
				InvalidateProperties();
				return true;
			}

			return false;
		}
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:44,代码来源:RuneCodex.cs


示例11: RangerPhoenixFlightSpell

 public RangerPhoenixFlightSpell( Mobile caster, Item scroll, RunebookEntry entry, Runebook book )
     : base(caster, scroll, m_Info)
 {
     m_Entry = entry;
     m_Book = book;
 }
开发者ID:evildude807,项目名称:kaltar,代码行数:6,代码来源:PhoenixFlightSpell.cs


示例12: AddRunebook

		public bool AddRunebook(Mobile m, Runebook book, bool message)
		{
			if (m == null || m.Deleted || book == null || book.Deleted)
			{
				return false;
			}

			bool mrb = Insensitive.Equals(book.GetType().Name, "InternalRunebook");

			if (book.Entries.Count == 0)
			{
				if (!mrb && message)
				{
					m.SendMessage("That rune book is empty.");
				}

				return false;
			}

			if (Entries.Count >= Entries.Capacity)
			{
				if (!mrb && message)
				{
					m.SendMessage("The category \"{0}\" can't hold more runes.", _Name);
				}

				return false;
			}

			if (Entries.Count + book.Entries.Count > Entries.Capacity)
			{
				if (!mrb && message)
				{
					m.SendMessage("That rune book won't fit in the category \"{0}\".", _Name);
				}

				return false;
			}

			var bEntries = new Queue<RunebookEntry>(book.Entries);

			Entries.ForEach(
				(e, x, y) =>
				{
					if (e != null || bEntries.Count <= 0)
					{
						return;
					}

					var be = bEntries.Dequeue();

					Entries.SetContent(x, y, new RuneCodexEntry(book.Name, be.Description, be.Location.ToMapPoint(be.Map)));
				});

			if (mrb)
			{
				book.Entries.Clear();
				return true;
			}

			book.Delete();

			if (message)
			{
				m.SendMessage("You add the rune book to the category \"{0}\".", _Name);
			}

			return true;
		}
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:69,代码来源:RuneCodexCategory.cs


示例13: UndeadTravelByPoisonSpell

 public UndeadTravelByPoisonSpell( Mobile caster, Item scroll, RunebookEntry entry, Runebook book )
     : base(caster, scroll, m_Info)
 {
     m_Entry = entry;
     m_Book = book;
 }
开发者ID:evildude807,项目名称:kaltar,代码行数:6,代码来源:TravelByPoison.cs


示例14: InternalTimer

            public InternalTimer(Spell spell, Mobile caster, Point3D location, Runebook book)
                : base(TimeSpan.FromSeconds(0.75))
            {
                m_Spell = spell;
                m_Caster = caster;
                m_Location = location;
                m_Book = book;

                Priority = TimerPriority.FiftyMS;
            }
开发者ID:zerodowned,项目名称:angelisland,代码行数:10,代码来源:Recall.cs


示例15: StarterBagMageGargoyle

        public StarterBagMageGargoyle()
        {
            Container cont;
            this.Name = "Starter Bag - Mage";

            cont = new Bag();
            cont.Name = "PowerScrolls Bag";
            // Power Scrolls
            PlaceItemIn(cont, 30, 35, new PowerScroll(SkillName.Meditation, 105));
            PlaceItemIn(cont, 60, 35, new PowerScroll(SkillName.Magery, 105));
            PlaceItemIn(cont, 90, 35, new PowerScroll(SkillName.EvalInt, 105));
            PlaceItemIn(cont, 30, 68, new PowerScroll(SkillName.Necromancy, 105));
            PlaceItemIn(cont, 45, 68, new PowerScroll(SkillName.SpiritSpeak, 105));
            PlaceItemIn(this, 0, 0, cont);
            for (int i = 0; i < cont.Items.Count; i++)
            {
                cont.Items[i].LootType = LootType.Blessed;
            }

            cont = new Bag();
            cont.Name = "Gear Bag";
            // Armor
            PlaceItemIn(cont, 30, 35, new GargishLeatherArms());
            PlaceItemIn(cont, 30, 68, new GargishLeatherChest());
            PlaceItemIn(cont, 45, 68, new GargishLeatherKilt());
            PlaceItemIn(cont, 45, 68, new GargishPlateWingArmor());
            PlaceItemIn(cont, 45, 68, new GargishRobe());
            // Jewelry
            PlaceItemIn(cont, 90, 68, new GargishNecklace());
            PlaceItemIn(cont, 30, 118, new GargishEarrings());
            PlaceItemIn(cont, 60, 118, new GargishRing());
            PlaceItemIn(cont, 90, 100, new GargishBracelet());
            PlaceItemIn(this, 50, 0, cont);
            for (int i = 0; i < cont.Items.Count; i++)
            {
                BaseArmor armor = cont.Items[i] as BaseArmor;
                BaseJewel jewel = cont.Items[i] as BaseJewel;
                BaseClothing clothes = cont.Items[i] as BaseClothing;
                if (armor != null)
                {
                    armor.Attributes.LowerRegCost = 12;
                    armor.Hue = 1154;
                    armor.Insured = false;
                    armor.TimesImbued = 50;
                    armor.LootType = LootType.Blessed;
                    armor.Weight = 0;             
                }
                else if (jewel != null)
                {
                    jewel.Attributes.LowerRegCost = 12;
                    jewel.Attributes.RegenMana = 1;
                    jewel.Hue = 1152;
                    jewel.Insured = false;
                    jewel.TimesImbued = 50;
                    jewel.LootType = LootType.Blessed;
                }
                else if (clothes != null)
                {
                    clothes.Attributes.LowerRegCost = 12;
                    clothes.LootType = LootType.Blessed;
                    clothes.TimesImbued = 50;
                }
            }

            cont = new Bag();
            cont.Name = "Book Bag";
            PlaceItemIn(cont, 30, 35, new Spellbook());
            PlaceItemIn(cont, 60, 35, new NecromancerSpellbook());
            Runebook runebook = new Runebook(5);
            runebook.CurCharges = runebook.MaxCharges;
            PlaceItemIn(cont, 90, 35, runebook);
            for (int i = 0; i < 3; ++i)
                PlaceItemIn(cont, 45 + (i * 10), 75, new RecallRune());
            PlaceItemIn(this, 100, 0, cont);
            for (int i = 0; i < cont.Items.Count; i++)
            {
                Spellbook spellBook = cont.Items[i] as Spellbook;

                if (spellBook != null)
                {
                    spellBook.SkillBonuses.SetValues(0, SkillName.Meditation, 100);
                    spellBook.Attributes.CastSpeed = 1;
                    spellBook.Hue = 1152;
                }
            }
        }
开发者ID:Jascen,项目名称:UOSmart,代码行数:86,代码来源:StarterBagMageGargoyle.cs


示例16: GETRUNEBOOKENTRIES

			public static ArrayList GETRUNEBOOKENTRIES(TriggerObject trigObject, Runebook book)
			{
				return book != null ? new ArrayList(book.Entries) : new ArrayList();
			}
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:4,代码来源:UberScriptFunctions.cs


示例17: RuneLibraryDungeonsTrammel

		public RuneLibraryDungeonsTrammel (Mobile from)
		{
			library = new ArrayList();

			readLine();
			Runebook rb = new Runebook(0);
			int nameStart = 1;
			int nameEnd = 1;
			for( int i=0; i<size; i++ )
			{
				if( rb.Entries.Count == 16 )
				{
					rb.Name = "Dungeons Trammel " + nameStart + " - " + (nameEnd-1);
					library.Add(rb);
					rb = new Runebook(0);
					nameStart = nameEnd;
				}
				int x = int.Parse(xs[i]);
				int y = int.Parse(ys[i]);
				int z = int.Parse(zs[i]);
				Point3D targ = new Point3D(x, y, z);
				RecallRune rr = new RecallRune();
				rr.Target = targ;
				rr.TargetMap = Map.Trammel;
				rr.Description = mapNums[i] + " " + mapNames[i];
				rr.House = null;
				rr.Marked = true;		
				rb.OnDragDrop(from, rr );
				nameEnd++;
			}
			rb.Name = "Dungeons Trammel " + nameStart + " - " + (nameEnd-1);
			library.Add(rb);

			int height = 6;
			int offx;
			int offy;
			int offz;
			for(int p=0; p<library.Count; p++)
			{
				Runebook librarybook = (Runebook)library[p];
				librarybook.Movable = false;
				librarybook.MaxCharges = 12;
				librarybook.CurCharges = 12;
				if(p < 4)
				{
					offx = from.Location.X-1;
					offy = from.Location.Y-1;
					offz = from.Location.Z+height;
				}
				else if(p >= 4 && p < 5)
				{
					offx = from.Location.X;
					offy = from.Location.Y-1;
					offz = from.Location.Z+height+2;
					height += 2;
				}
				else if(p >= 5 && p < 9)
				{
					offx = from.Location.X;
					offy = from.Location.Y-1;
					offz = from.Location.Z+height;
				}
				else
				{
					offx = from.Location.X+1;
					offy = from.Location.Y-1;
					offz = from.Location.Z+height;
				}
				Point3D loc = new Point3D(offx, offy, offz);
				librarybook.MoveToWorld(loc, from.Map);
				if( height == 0 )
					height = 8;
				height -= 2;
			}
		}
开发者ID:Tukaramdas,项目名称:ServUO-EC-Test-Fork,代码行数:75,代码来源:RuneLibraryDungeonsTrammel.cs


示例18: Drop

		public bool Drop(Mobile m, RuneCodexCategory cat, bool message)
		{
			if (m == null || m.Deleted || cat == null)
			{
				return false;
			}

			if (cat.Entries == null || cat.Entries.Count == 0)
			{
				if (message)
				{
					m.SendMessage("The category \"{0}\" is empty.", cat.Name);
				}

				return false;
			}

			int cost = CloneEntryChargeCost * cat.Entries.Count;

			if (!ConsumeCharges(cost))
			{
				if (message)
				{
					m.SendMessage("This action requires {0:#,0} charge{1}.", cost, cost != 1 ? "s" : String.Empty);
				}

				return false;
			}

			var entries = new Queue<RuneCodexEntry>(cat.Entries.Not(e => e == null));
			Runebook book = new Runebook();
			int count = 1;

			while (entries.Count > 0)
			{
				var entry = entries.Dequeue();

				if (entry == null)
				{
					continue;
				}

				book.Entries.Add(
					new RunebookEntry(
						entry.Location, entry.Location, entry.Name, BaseHouse.FindHouseAt(entry.Location, entry.Location, 16)));

				if (book.Entries.Count < 16 && entries.Count > 0)
				{
					continue;
				}

				m.AddToBackpack(book);

				if (entries.Count == 0)
				{
					continue;
				}

				book = new Runebook();
				++count;
			}

			if (message)
			{
				m.SendMessage(
					"You created {0:#,0} rune book{1} and consumed {2:#,0} charge{3} from the codex.",
					count,
					count != 1 ? "s" : String.Empty,
					cost,
					cost != 1 ? "s" : String.Empty);
			}

			return true;
		}
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:74,代码来源:RuneCodex.cs


示例19: RemoveRunebook_Callback

        public static void RemoveRunebook_Callback(Mobile from, bool okay, MasterRunebook master, InternalRunebook book, int id)
        {
            if (okay)
            {
                Container pack = from.Backpack;
                if (pack == null || pack.Deleted)
                {
                    from.SendMessage("Unable to find a backpack in which to place a new Runebook.");
                    return;
                }
                int count = book.Entries.Count;
                if (count > 0)
                {
                    if (from.AccessLevel < AccessLevel.GameMaster)
                    {
                        if (from.Backpack.ConsumeTotal(new Type[] { typeof(BlankScroll), typeof(RecallScroll), typeof(GateTravelScroll) },
                            new int[] { 10, 1, 1 }) >= 0)
                        {
                            from.SendMessage("You do not have the materials needed to create the runebook.");
                            return;
                        }
                        if (from.CheckSkill(SkillName.Inscribe, 100, 120))
                        {
                            from.SendMessage("You failed to extract the book. Some materials were lost.");
                            return;
                        }
                    }

                    Runebook runebook = new Runebook(book.MaxCharges);
                    for (int x = 0; x < count; x++)
                    {
                        RunebookEntry rbe = new RunebookEntry(
                            ((RunebookEntry)book.Entries[0]).Location, ((RunebookEntry)book.Entries[0]).Map,
                            ((RunebookEntry)book.Entries[0]).Description, ((RunebookEntry)book.Entries[0]).House);
                        runebook.Entries.Add(rbe);
                        book.Entries.RemoveAt(0);
                    }
                    runebook.CurCharges = book.CurCharges;
                    runebook.Name = book.Name;
                    book.Name = string.Format("Book #{0}", ((int)(id + 1)).ToString());
                    pack.DropItem(runebook);
                    from.SendMessage("Runebook extracted. Some materials were used.");
                }
                else
                {
                    from.SendMessage("You cannot remove an empty Runebook.");
                }
                from.CloseGump(typeof(InternalRunebookGump));
                from.SendGump(new InternalRunebookGump(from, book, master, id));
            }
            else
            {
                from.CloseGump(typeof(InternalRunebookGump));
                from.SendGump(new InternalRunebookGump(from, book, master, id));
            }
        }
开发者ID:greeduomacro,项目名称:DimensionsNewAge,代码行数:56,代码来源:InternalRunebookGump.cs


示例20: FillBankbox


//.........这里部分代码省略.........

			// Begin bag of tools
			cont = new Bag();
			cont.Name = "Tool Bag";

			PlaceItemIn( cont, 30,  35, MakeNewbie( new TinkerTools( 60000 ) ) );
			PlaceItemIn( cont, 90,  35, MakeNewbie( new DovetailSaw( 60000 ) ) );
			PlaceItemIn( cont, 30,  68, MakeNewbie( new Scissors() ) );
			PlaceItemIn( cont, 45,  68, MakeNewbie( new MortarPestle( 60000 ) ) );
			PlaceItemIn( cont, 75,  68, MakeNewbie( new ScribesPen( 60000 ) ) );
			PlaceItemIn( cont, 90,  68, MakeNewbie( new SmithHammer( 60000 ) ) );
			PlaceItemIn( cont, 30, 118, MakeNewbie( new TwoHandedAxe() ) );
			PlaceItemIn( cont, 90, 118, MakeNewbie( new SewingKit( 60000 ) ) );

			PlaceItemIn( bank, 118, 169, cont );
			// End bag of tools


			// Begin bag of archery ammo
			cont = new Bag();
			cont.Name = "Bag Of Archery Ammo";

			PlaceItemIn( cont, 48, 76, MakeNewbie( new Arrow( 60000 ) ) );
			PlaceItemIn( cont, 72, 76, MakeNewbie( new Bolt( 60000 ) ) );

			PlaceItemIn( bank, 118, 124, cont );
			// End bag of archery ammo


			// Begin bag of treasure maps
			cont = new Bag();
			cont.Name = "Bag Of Treasure Maps";

			PlaceItemIn( cont, 30, 35, MakeNewbie( new TreasureMap( 1, Map.Felucca ) ) );
			PlaceItemIn( cont, 45, 35, MakeNewbie( new TreasureMap( 2, Map.Felucca ) ) );
			PlaceItemIn( cont, 60, 35, MakeNewbie( new TreasureMap( 3, Map.Felucca ) ) );
			PlaceItemIn( cont, 75, 35, MakeNewbie( new TreasureMap( 4, Map.Felucca ) ) );
			PlaceItemIn( cont, 90, 35, MakeNewbie( new TreasureMap( 5, Map.Felucca ) ) );

			PlaceItemIn( cont, 30, 50, MakeNewbie( new TreasureMap( 1, Map.Felucca ) ) );
			PlaceItemIn( cont, 45, 50, MakeNewbie( new TreasureMap( 2, Map.Felucca ) ) );
			PlaceItemIn( cont, 60, 50, MakeNewbie( new TreasureMap( 3, Map.Felucca ) ) );
			PlaceItemIn( cont, 75, 50, MakeNewbie( new TreasureMap( 4, Map.Felucca ) ) );
			PlaceItemIn( cont, 90, 50, MakeNewbie( new TreasureMap( 5, Map.Felucca ) ) );

			PlaceItemIn( cont, 55, 100, MakeNewbie( new Lockpick( 60000 ) ) );
			PlaceItemIn( cont, 60, 100, MakeNewbie( new Pickaxe() ) );

			PlaceItemIn( bank, 98, 124, cont );
			// End bag of treasure maps


			// Begin bag of raw materials
			cont = new Bag();
			cont.Hue = 0x835;
			cont.Name = "Raw Materials Bag";

			PlaceItemIn( cont, 30,  35, MakeNewbie( new DullCopperIngot( 60000 ) ) );
			PlaceItemIn( cont, 37,  35, MakeNewbie( new ShadowIronIngot( 60000 ) ) );
			PlaceItemIn( cont, 44,  35, MakeNewbie( new CopperIngot( 60000 ) ) );
			PlaceItemIn( cont, 51,  35, MakeNewbie( new BronzeIngot( 60000 ) ) );
			PlaceItemIn( cont, 58,  35, MakeNewbie( new GoldIngot( 60000 ) ) );
			PlaceItemIn( cont, 65,  35, MakeNewbie( new AgapiteIngot( 60000 ) ) );
			PlaceItemIn( cont, 72,  35, MakeNewbie( new VeriteIngot( 60000 ) ) );
			PlaceItemIn( cont, 79,  35, MakeNewbie( new ValoriteIngot( 60000 ) ) );
			PlaceItemIn( cont, 86,  35, MakeNewbie( new IronIngot( 60000 ) ) );
			
			PlaceItemIn( cont, 29, 55, MakeNewbie( new Leather( 60000 ) ) );
			PlaceItemIn( cont, 44, 55, MakeNewbie( new SpinedLeather( 60000 ) ) );
			PlaceItemIn( cont, 59, 55, MakeNewbie( new HornedLeather( 60000 ) ) );
			PlaceItemIn( cont, 74, 55, MakeNewbie( new BarbedLeather( 60000 ) ) );
			PlaceItemIn( cont, 35, 100, MakeNewbie( new Cloth( 60000 ) ) );
			PlaceItemIn( cont, 67,  89, MakeNewbie( new Board( 60000 ) ) );
			PlaceItemIn( cont, 88,  91, MakeNewbie( new BlankScroll( 60000 ) ) );

			PlaceItemIn( bank, 98, 169, cont );
			// End bag of raw materials


			// Begin bag of spell casting stuff
			cont = new Backpack();
			cont.Hue = 0x480;
			cont.Name = "Spell Casting Stuff";

			PlaceItemIn( cont, 45, 105, new Spellbook( UInt64.MaxValue ) );
			
			Runebook runebook = new Runebook( 10 );
			runebook.CurCharges = runebook.MaxCharges;
			PlaceItemIn( cont, 105, 105, runebook );

			Item toHue = new BagOfReagents( 65000 );
			toHue.Hue = 0x2D;
			PlaceItemIn( cont, 45, 150, toHue );

			for ( int i = 0; i < 9; ++i )
				PlaceItemIn( cont, 45 + (i * 10), 75, MakeNewbie( new RecallRune() ) );

			PlaceItemIn( bank, 78, 169, cont );
			// End bag of spell casting stuff
		}
开发者ID:zerodowned,项目名称:angelisland,代码行数:101,代码来源:CharacterCreation.cs



注:本文中的Server.Items.Runebook类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Items.RunebookEntry类代码示例发布时间:2022-05-26
下一篇:
C# Items.PlateArms类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap