当前位置: 首页>>代码示例>>C#>>正文


C# InternalItem.MoveToWorld方法代码示例

本文整理汇总了C#中InternalItem.MoveToWorld方法的典型用法代码示例。如果您正苦于以下问题:C# InternalItem.MoveToWorld方法的具体用法?C# InternalItem.MoveToWorld怎么用?C# InternalItem.MoveToWorld使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在InternalItem的用法示例。


在下文中一共展示了InternalItem.MoveToWorld方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Effect

        public void Effect( Point3D loc, Map map, bool checkMulti )
        {
            if ( map == null || (!Core.AOS && Caster.Map != map) )
            {
                Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
            }
            else if ( !map.CanFit( loc.X, loc.Y, loc.Z, 16 ) )
            {
                Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
            }
            else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
            {
                Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
            }
            else if ( !SpellHelper.CheckTravel( Caster, loc, map, TravelType.Gate ) && Caster.AccessLevel == AccessLevel.Player )
            {
                Caster.PlaySound( 0x5C );
            }
            else if ( CheckSequence() )
            {
                Caster.SendLocalizedMessage( 501024 ); // You open a magical gate to another location

                Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );

                InternalItem firstGate = new InternalItem( loc, map );
                firstGate.MoveToWorld( Caster.Location, Caster.Map );

                Effects.PlaySound( loc, map, 0x20E );

                InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
                secondGate.MoveToWorld( loc, map );
            }

            FinishSequence();
        }
开发者ID:FreeReign,项目名称:Rebirth-Repack,代码行数:35,代码来源:GateTravel.cs

示例2: Effect

        public void Effect( Point3D loc, Map map, bool checkMulti )
        {
            if( map == null || (Core.AOS && Caster.Map != map) )
            {
                Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
            }
            else if( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
            {
            }
            else if( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
            {
            }
            else if( Caster.Kills >= 5 && map != Map.Felucca )
            {
                Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
            }
            else if( Caster.Criminal )
            {
                Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
            }
            else if( SpellHelper.CheckCombat( Caster ) )
            {
                Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
            }
            //else if( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
            //{
            //    Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
            //}
            //else if( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
            //{
            //    Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
            //}
            else if ( Core.AOS && ( GateExistsAt( map, loc ) || GateExistsAt( Caster.Map, Caster.Location ) ) ) // SE restricted stacking gates
            {
                Caster.SendLocalizedMessage( 1071242 ); // There is already a gate there.
            }
            else if( CheckSequence() )
            {
                Caster.SendLocalizedMessage( 501024 ); // You open a magical gate to another location

                Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );

                InternalItem firstGate = new InternalItem( loc, map );
                firstGate.MoveToWorld( Caster.Location, Caster.Map );

                Effects.PlaySound( loc, map, 0x20E );

                InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
                secondGate.MoveToWorld( loc, map );

                ((Moongate)firstGate).PairedGate = secondGate;
                ((Moongate)secondGate).PairedGate = firstGate;
            }

            FinishSequence();
        }
开发者ID:ITLongwell,项目名称:Ulmeta,代码行数:56,代码来源:GateTravel.cs

示例3: Effect

		public void Effect( Point3D loc, Map map, bool checkMulti )
		{
			if ( Factions.Sigil.ExistsOn( Caster ) )
			{
				Caster.SendLocalizedMessage( 1061632 ); // You can't do that while carrying the sigil.
			}
			else if ( map == null || (!Core.AOS && Caster.Map != map) )
			{
				Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
			}
			else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
			{
			}
			else if ( !SpellHelper.CheckTravel( Caster,  map, loc, TravelCheckType.GateTo ) )
			{
			}
			else if ( map == Map.Felucca && Caster is PlayerMobile && ((PlayerMobile)Caster).Young )
			{
				Caster.SendLocalizedMessage( 1049543 ); // You decide against traveling to Felucca while you are still young.
			}
			else if ( Caster.Kills >= 5 && map != Map.Felucca )
			{
				Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
			}
			else if ( Caster.Criminal )
			{
				Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
			}
			else if ( SpellHelper.CheckCombat( Caster ) )
			{
				Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
			}
			else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
			{
				Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
			}
			else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
			{
				Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
			}
			else if ( Core.SE && ( GateExistsAt( map, loc ) || GateExistsAt( Caster.Map, Caster.Location ) ) ) // SE restricted stacking gates
			{
				Caster.SendLocalizedMessage( 1071242 ); // There is already a gate there.
			}
			else if ( CheckSequence() )
			{
				Caster.SendLocalizedMessage( 501024 ); // You open a magical gate to another location

				Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );

				InternalItem firstGate = new InternalItem( loc, map );
				firstGate.MoveToWorld( Caster.Location, Caster.Map );

				Effects.PlaySound( loc, map, 0x20E );

				InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
				secondGate.MoveToWorld( loc, map );
			}

			FinishSequence();
		}
开发者ID:jsrn,项目名称:MidnightWatchServer,代码行数:61,代码来源:GateTravel.cs

示例4: WraithJailEffect

        public WraithJailEffect(PlayerMobile prisoner, PlayerMobile jailor)
        {
            m_jailor = jailor;
            m_prisoner = prisoner;
            ((Mobile)m_prisoner).CantWalk = true;
            ((Mobile)m_prisoner).Squelched = true;
            Effects.PlaySound(jailor.Location, jailor.Map, 0x1DD);

            Point3D loc = new Point3D(prisoner.X, prisoner.Y, prisoner.Z);
            int mushx;
            int mushy;
            int mushz;


            InternalItem firstFlamea = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            mushx = loc.X - 2;
            mushy = loc.Y - 2;
            mushz = loc.Z;
            Point3D mushxyz = new Point3D(mushx, mushy, mushz);
            firstFlamea.MoveToWorld(mushxyz, prisoner.Map);

            InternalItem firstFlamec = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            mushx = loc.X;
            mushy = loc.Y - 3;
            mushz = loc.Z;
            Point3D mushxyzb = new Point3D(mushx, mushy, mushz);
            firstFlamec.MoveToWorld(mushxyzb, prisoner.Map);

            InternalItem firstFlamed = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            firstFlamed.ItemID = 0x3709;
            mushx = loc.X + 2;
            mushy = loc.Y - 2;
            mushz = loc.Z;
            Point3D mushxyzc = new Point3D(mushx, mushy, mushz);
            firstFlamed.MoveToWorld(mushxyzc, prisoner.Map);
            InternalItem firstFlamee = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            mushx = loc.X + 3;
            firstFlamee.ItemID = 0x3709;
            mushy = loc.Y;
            mushz = loc.Z;
            Point3D mushxyzd = new Point3D(mushx, mushy, mushz);
            firstFlamee.MoveToWorld(mushxyzd, prisoner.Map);
            InternalItem firstFlamef = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            firstFlamef.ItemID = 0x3709;
            mushx = loc.X + 2;
            mushy = loc.Y + 2;
            mushz = loc.Z;
            Point3D mushxyze = new Point3D(mushx, mushy, mushz);
            firstFlamef.MoveToWorld(mushxyze, prisoner.Map);
            InternalItem firstFlameg = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            mushx = loc.X;
            firstFlameg.ItemID = 0x3709;
            mushy = loc.Y + 3;
            mushz = loc.Z;
            Point3D mushxyzf = new Point3D(mushx, mushy, mushz);
            firstFlameg.MoveToWorld(mushxyzf, prisoner.Map);
            InternalItem firstFlameh = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            mushx = loc.X - 2;
            firstFlameh.ItemID = 0x3709;
            mushy = loc.Y + 2;
            mushz = loc.Z;
            Point3D mushxyzg = new Point3D(mushx, mushy, mushz);
            firstFlameh.MoveToWorld(mushxyzg, prisoner.Map);
            InternalItem firstFlamei = new InternalItem(prisoner.Location, prisoner.Map, jailor);
            mushx = loc.X - 3;
            firstFlamei.ItemID = 0x3709;
            mushy = loc.Y;
            mushz = loc.Z;
            Point3D mushxyzh = new Point3D(mushx, mushy, mushz);
            firstFlamei.MoveToWorld(mushxyzh, prisoner.Map);
            new JailWraith(this, prisoner.X + 15, prisoner.Y + 15, m_jailor);
        }
开发者ID:greeduomacro,项目名称:vivre-uo,代码行数:72,代码来源:WarithJailEffect.cs

示例5: Effect

		public void Effect( Point3D loc, Map map, bool checkMulti )
		{
			if ( map == null || (!Core.AOS && Caster.Map != map) )
			{
				Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
			}
			else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
			{
			}
			else if ( !SpellHelper.CheckTravel( Caster,  map, loc, TravelCheckType.GateTo ) )
			{
			}
			else if ( Caster.Kills >= 5 && map != Map.Felucca )
			{
				Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
			}
			else if ( Caster.Criminal )
			{
				Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
			}
			else if ( SpellHelper.CheckCombat( Caster ) )
			{
				Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
			}
			else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
			{
				Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
			}
			else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
			{
				Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
			}
			else if ( CheckSequence() )
			{
				Caster.SendMessage( "You open a mystical portal in a mushroom circle" ); // You open a magical gate to another location

				Effects.PlaySound( Caster.Location, Caster.Map, 0x1 );
				int mushx;
				int mushy;
				int mushz;
				
				
				InternalItem firstGatea = new InternalItem( loc, map );
				mushx=Caster.X;
				mushy=Caster.Y;
				mushz=Caster.Z;
				firstGatea.ItemID=0xD10;
				Point3D mushxyz = new Point3D(mushx,mushy,mushz);
				firstGatea.MoveToWorld( mushxyz, Caster.Map );
				InternalItem firstGateb = new InternalItem( loc, map );
				mushx=Caster.X;
				mushy=Caster.Y;
				firstGateb.ItemID=0x373A;
				mushz=Caster.Z+1;
				Point3D mushxyza = new Point3D(mushx,mushy,mushz);
				firstGateb.MoveToWorld( mushxyza, Caster.Map );
				InternalItem firstGatec = new InternalItem( loc, map );
				mushx=Caster.X-1;
				firstGatec.ItemID=0xD11;
				mushy=Caster.Y+1;
				mushz=Caster.Z;
				Point3D mushxyzb = new Point3D(mushx,mushy,mushz);
				firstGatec.MoveToWorld( mushxyzb, Caster.Map );
InternalItem firstGated = new InternalItem( loc, map);
				firstGated.ItemID=0xD0C;
				mushx=Caster.X;
				mushy=Caster.Y+2;
				mushz=Caster.Z;
				Point3D mushxyzc = new Point3D(mushx,mushy,mushz);
				firstGated.MoveToWorld( mushxyzc, Caster.Map );
InternalItem firstGatee = new InternalItem( loc, map );
				mushx=Caster.X+1;
				firstGatee.ItemID=0xD0D;
				mushy=Caster.Y+1;
				mushz=Caster.Z;
				Point3D mushxyzd = new Point3D(mushx,mushy,mushz);
				firstGatee.MoveToWorld( mushxyzd, Caster.Map );
InternalItem firstGatef = new InternalItem( loc, map );
				firstGatef.ItemID=0xD0E;
				mushx=Caster.X+2;
				mushy=Caster.Y;
				mushz=Caster.Z;
				Point3D mushxyze = new Point3D(mushx,mushy,mushz);
				firstGatef.MoveToWorld( mushxyze, Caster.Map );
InternalItem firstGateg = new InternalItem( loc, map );
				mushx=Caster.X+1;
				firstGateg.ItemID=0xD0F;
				
				mushy=Caster.Y-1;
				mushz=Caster.Z;
				Point3D mushxyzf = new Point3D(mushx,mushy,mushz);
				firstGateg.MoveToWorld( mushxyzf, Caster.Map );



				Effects.PlaySound( loc, map, 0x1 );

					InternalItem secondGatea = new InternalItem( Caster.Location, Caster.Map );
				mushx=loc.X;
				mushy=loc.Y;
//.........这里部分代码省略.........
开发者ID:greeduomacro,项目名称:vivre-uo,代码行数:101,代码来源:MushroomGatewaySpell.cs

示例6: Effect

		public void Effect(Point3D loc, Map map, bool checkMulti)
		{
			var champregion = Region.Find(loc, map).GetRegion(typeof(ChampionSpawn)) as ChampionSpawnRegion;

			if (Sigil.ExistsOn(Caster))
			{
				Caster.SendLocalizedMessage(1061632); // You can't do that while carrying the sigil.
			}
			else if (map == null || (!Caster.EraAOS && Caster.Map != map))
			{
				Caster.SendLocalizedMessage(1005570); // You can not gate to another facet.
			}
			else if (!SpellHelper.CheckTravel(Caster, TravelCheckType.GateFrom))
			{ }
			else if (!SpellHelper.CheckTravel(Caster, map, loc, TravelCheckType.GateTo))
			{ }
				//else if ( map == Map.Felucca && Caster is PlayerMobile && ((PlayerMobile)Caster).Young )
				//{
				//	Caster.SendLocalizedMessage( 1049543 ); // You decide against traveling to Felucca while you are still young.
				//}
				//else if ( Caster.Kills >= Mobile.MurderCount && map != Map.Felucca )
				//{
				//	Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
				//}
			else if (Caster.Criminal)
			{
				Caster.SendLocalizedMessage(1005561, "", 0x22); // Thou'rt a criminal and cannot escape so easily.
			}
			else if (SpellHelper.CheckCombat(Caster))
			{
				Caster.SendLocalizedMessage(1005564, "", 0x22); // Wouldst thou flee during the heat of battle??
			}
			else if (!map.CanSpawnMobile(loc.X, loc.Y, loc.Z))
			{
				Caster.SendLocalizedMessage(501942); // That location is blocked.
			}
			else if ((checkMulti && SpellHelper.CheckMulti(loc, map)))
			{
				Caster.SendLocalizedMessage(501942); // That location is blocked.
			}
			else if ((!Caster.Alive || (Caster is PlayerMobile && ((PlayerMobile)Caster).Young)) && champregion != null &&
					 !champregion.CanSpawn())
			{
				Caster.SendLocalizedMessage(501942); // That location is blocked.
			}
            else if ((Region.Find(loc, map).IsPartOf(typeof(GuardedRegion))) && Caster.InCombat(TimeSpan.FromSeconds(60.0)) && Caster.Kills >= 5 && Faction.Find(Caster) != null && Caster.AccessLevel == AccessLevel.Player)
            {
                Caster.SendMessage(54, "You cannot enter town as a murderer and having recently been in combat!");
            }
			else if ( /*Core.SE &&*/ (GateExistsAt(map, loc) || GateExistsAt(Caster.Map, Caster.Location)))
				// SE restricted stacking gates
			{
				Caster.SendLocalizedMessage(1071242); // There is already a gate there.
			}
			else if (CheckSequence())
			{
				Caster.SendLocalizedMessage(501024); // You open a magical gate to another location

				Effects.PlaySound(Caster.Location, Caster.Map, 0x20E);

				var firstGate = new InternalItem(loc, map);
				firstGate.MoveToWorld(Caster.Location, Caster.Map);

				Effects.PlaySound(loc, map, 0x20E);

				var secondGate = new InternalItem(Caster.Location, Caster.Map);
				secondGate.MoveToWorld(loc, map);

				firstGate.Link = secondGate;
				secondGate.Link = firstGate;
			}

			FinishSequence();
		}
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:74,代码来源:GateTravel.cs

示例7: Target

           public void Target( IPoint3D p )
      {
         if ( !Caster.CanSee( p ) )
         {
            Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
         }
         else if ( SpellHelper.CheckTown( p, Caster ) && CheckSequence() )
         {
         		if(this.Scroll!=null)
				Scroll.Consume();
            SpellHelper.Turn( Caster, p );

            SpellHelper.GetSurfaceTop( ref p );


            Effects.PlaySound( p, Caster.Map, 0x2 );

            
               Point3D loc = new Point3D( p.X, p.Y, p.Z );
               	int grovex;
				int grovey;
				int grovez;
					InternalItem groveStone = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X;
				grovey=loc.Y;
				grovez=loc.Z;
         	groveStone.ItemID=0x08E3;
         	groveStone.Name="sacred stone";
				Point3D stonexyz = new Point3D(grovex,grovey,grovez);
				groveStone.MoveToWorld( stonexyz, Caster.Map );

              	InternalItem grovea = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X-2;
				grovey=loc.Y-2;
				grovez=loc.Z;
         	grovea.ItemID=3290;
				Point3D grovexyz = new Point3D(grovex,grovey,grovez);
				grovea.MoveToWorld( grovexyz, Caster.Map );
         	
			InternalItem grovec = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X;
				grovey=loc.Y-3;
				grovez=loc.Z;
         	grovec.ItemID=3293;
				Point3D grovexyzb = new Point3D(grovex,grovey,grovez);
         	grovec.MoveToWorld( grovexyzb, Caster.Map );
         	
InternalItem groved = new InternalItem( Caster.Location, Caster.Map, Caster );
				groved.ItemID=3290;
				grovex=loc.X+2;
				grovey=loc.Y-2;
				grovez=loc.Z;
				Point3D grovexyzc = new Point3D(grovex,grovey,grovez);
				groved.MoveToWorld( grovexyzc, Caster.Map );
InternalItem grovee = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X+3;
				grovee.ItemID=3290;
				grovey=loc.Y;
				grovez=loc.Z;
				Point3D grovexyzd = new Point3D(grovex,grovey,grovez);
				grovee.MoveToWorld( grovexyzd, Caster.Map );
InternalItem grovef = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovef.ItemID=3293;
				grovex=loc.X+2;
				grovey=loc.Y+2;
				grovez=loc.Z;
				Point3D grovexyze = new Point3D(grovex,grovey,grovez);
				grovef.MoveToWorld( grovexyze, Caster.Map );
InternalItem groveg = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X;
				groveg.ItemID=3290;
				grovey=loc.Y+3;
				grovez=loc.Z;
				Point3D grovexyzf = new Point3D(grovex,grovey,grovez);
				groveg.MoveToWorld( grovexyzf, Caster.Map );
         	InternalItem groveh = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X-2;
				groveh.ItemID=3293;
				grovey=loc.Y+2;
				grovez=loc.Z;
				Point3D grovexyzg = new Point3D(grovex,grovey,grovez);
				groveh.MoveToWorld( grovexyzg, Caster.Map );
         		InternalItem grovei = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X-3;
				grovei.ItemID=3293;
				grovey=loc.Y;
				grovez=loc.Z;
				Point3D grovexyzh = new Point3D(grovex,grovey,grovez);
				grovei.MoveToWorld( grovexyzh, Caster.Map );
         		InternalItem leavesa = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X-2;
				grovey=loc.Y-2;
				grovez=loc.Z;
				leavesa.ItemID=3291;
				Point3D leafxyz = new Point3D(grovex,grovey,grovez);
				leavesa.MoveToWorld( leafxyz, Caster.Map );
         	
			InternalItem leavesc = new InternalItem( Caster.Location, Caster.Map, Caster );
				grovex=loc.X;
				grovey=loc.Y-3;
//.........这里部分代码省略.........
开发者ID:greeduomacro,项目名称:unknown-shard-1,代码行数:101,代码来源:EnchantedGrove.cs

示例8: Effect

        public void Effect(Point3D loc, Map map, bool checkMulti)
        {
            if (!SpellHelper.CheckTravel(Caster, TravelCheckType.GateFrom))
            {
            }
            else if (!SpellHelper.CheckTravel(Caster, map, loc, TravelCheckType.GateTo))
            {
            }
            else if ((checkMulti && SpellHelper.CheckMulti(loc, map)))
            {
                Caster.SendLocalizedMessage(501942); // That location is blocked.
            }
            else if (m_Book != null && m_Book.CurCharges <= 0 && m_Scroll != null)
            {
                Caster.SendLocalizedMessage(502412); // There are no charges left on that item.
            }
            else if (CheckSequence())
            {
                /*if (m_Entry != null && m_Book != null && m_Scroll == null)
                    --m_Entry.ChargesLeft;
                else */
                if (SphereSpellTarget is RecallRune)
                {
                    RecallRune rune = (RecallRune)SphereSpellTarget;

                    if (rune.ChargesLeft > 0)
                        --rune.ChargesLeft;
                    else if (rune.ChargesLeft == 0)
                    {
                        FinishSequence();
                        return;
                    }
                }
                else if (SphereSpellTarget is Runebook)
                {
                    RunebookEntry e = ((Runebook)SphereSpellTarget).Default;

                    /*if (e.ChargesLeft > 0)
                        --e.ChargesLeft;
                    else*/
                    if (e.ChargesLeft == 0)
                    {
                        FinishSequence();
                        return;
                    }
                }

                CustomRegion cR;
                ISpell markSpell = new Sixth.MarkSpell(Caster, null); 
                
                if ((cR = Caster.Region as CustomRegion) != null && cR.Controller.IsRestrictedSpell(this))
                    Caster.SendAsciiMessage("You can't gate here.");
                else if (Region.Find(loc, map) is HouseRegion || ((cR = Region.Find(loc, map) as CustomRegion) != null && (cR.Controller.IsRestrictedSpell(this) || cR.Controller.IsRestrictedSpell(markSpell))))
                    Caster.SendAsciiMessage("You can't gate to that spot.");
                else
                {
                    InternalItem firstGate = new InternalItem(loc, map);
                    InternalItem secondGate = new InternalItem(Caster.Location, Caster.Map);

                    firstGate.MoveToWorld(Caster.Location, Caster.Map);
                    Effects.PlaySound(Caster.Location, Caster.Map, Sound);
                    secondGate.MoveToWorld(loc, map);
                    Effects.PlaySound(loc, map, Sound);
                }
            }

            FinishSequence();
        }
开发者ID:FreeReign,项目名称:imaginenation,代码行数:68,代码来源:GateTravel.cs

示例9: Target

           public void Target( IPoint3D p )
      {
         if ( !Caster.CanSee( p ) )
         {
            Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
         }
         else if ( /*SpellHelper.CheckTown( p, Caster ) &&*/ CheckSequence() )
         {
            SpellHelper.Turn( Caster, p );

            SpellHelper.GetSurfaceTop( ref p );


            Effects.PlaySound( p, Caster.Map, 0x222 );

            
              Point3D loc = new Point3D( p.X, p.Y, p.Z );
               	int mushx;
				int mushy;
				int mushz;
				

              	InternalItem firstFlamea = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X-2;
				mushy=loc.Y-2;
				mushz=loc.Z;
				Point3D mushxyz = new Point3D(mushx,mushy,mushz);
				firstFlamea.MoveToWorld( mushxyz, Caster.Map );
         	
			InternalItem firstFlamec = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X;
				mushy=loc.Y-3;
				mushz=loc.Z;
				Point3D mushxyzb = new Point3D(mushx,mushy,mushz);
         	firstFlamec.MoveToWorld( mushxyzb, Caster.Map );
         	
InternalItem firstFlamed = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+2;
				mushy=loc.Y-2;
				mushz=loc.Z;
				Point3D mushxyzc = new Point3D(mushx,mushy,mushz);
				firstFlamed.MoveToWorld( mushxyzc, Caster.Map );
         	
         	InternalItem hiddenflame = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+2;
				mushy=loc.Y-1;
				mushz=loc.Z;
				Point3D mushxyzhid = new Point3D(mushx,mushy,mushz);
				hiddenflame.MoveToWorld( mushxyzhid, Caster.Map );
         	InternalItem hiddenrock = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+2;
				mushy=loc.Y+1;
				mushz=loc.Z;
				Point3D rockaxyz = new Point3D(mushx,mushy,mushz);
				hiddenrock.MoveToWorld( rockaxyz, Caster.Map );
         	InternalItem hiddenflamea = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X-2;
				mushy=loc.Y-1;
				mushz=loc.Z;
				Point3D mushxyzhida = new Point3D(mushx,mushy,mushz);
				hiddenflamea.MoveToWorld( mushxyzhida, Caster.Map );
         	InternalItem hiddenrocks = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X-2;
				mushy=loc.Y+1;
				mushz=loc.Z;
				Point3D rocksaxyz = new Point3D(mushx,mushy,mushz);
				hiddenrocks.MoveToWorld( rocksaxyz, Caster.Map );
         	InternalItem hiddenrocka = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+1;
				mushy=loc.Y+2;
				mushz=loc.Z;
				Point3D rockbxyz = new Point3D(mushx,mushy,mushz);
				hiddenrocka.MoveToWorld( rockbxyz, Caster.Map );
         	InternalItem hiddenrockb = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+1;
				mushy=loc.Y-2;
				mushz=loc.Z;
				Point3D rockcxyz = new Point3D(mushx,mushy,mushz);
				hiddenrockb.MoveToWorld( rockcxyz, Caster.Map );
         	InternalItem hiddenrockc = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X-1;
				mushy=loc.Y-2;
				mushz=loc.Z;
				Point3D rockdxyz = new Point3D(mushx,mushy,mushz);
				hiddenrockc.MoveToWorld( rockdxyz, Caster.Map );
         	InternalItem hiddenrockd = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X-1;
				mushy=loc.Y+2;
				mushz=loc.Z;
				Point3D rockexyz = new Point3D(mushx,mushy,mushz);
				hiddenrockd.MoveToWorld( rockexyz, Caster.Map );
InternalItem firstFlamee = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+3;
				mushy=loc.Y;
				mushz=loc.Z;
				Point3D mushxyzd = new Point3D(mushx,mushy,mushz);
				firstFlamee.MoveToWorld( mushxyzd, Caster.Map );
InternalItem firstFlamef = new InternalItem( Caster.Location, Caster.Map, Caster );
				mushx=loc.X+2;
				mushy=loc.Y+2;
//.........这里部分代码省略.........
开发者ID:greeduomacro,项目名称:cov-shard-svn-1,代码行数:101,代码来源:MushroomCircleSpell.cs

示例10: DoTeleport

        public virtual void DoTeleport(Mobile m, Point3D loc, Map map)
        {
            if (Charges >= 1)
            {
                m.SendLocalizedMessage(501024); // You open a magical gate to another location

                Effects.PlaySound(m.Location, m.Map, 0x20E);

                var firstGate = new InternalItem(loc, map);
                firstGate.MoveToWorld(m.Location, m.Map);

                Effects.PlaySound(loc, map, 0x20E);

                Charges--;
            }
            else
            {
                m.SendMessage(54, "The crystal portal needs more charges. Add charges to it by double clicking the crystal.");
            }
        }
开发者ID:greeduomacro,项目名称:UO-Forever,代码行数:20,代码来源:CrystalPortal.cs

示例11: Target

        public void Target( IPoint3D p )
        {
            if ( !Caster.CanSee( p ) )
            {
                Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
            }
            else if ( SpellHelper.CheckTown( p, Caster ) && CheckSequence() )
            {
                if(this.Scroll!=null)
                    Scroll.Consume();
                SpellHelper.Turn( Caster, p );
                SpellHelper.GetSurfaceTop( ref p );
                Effects.PlaySound( p, Caster.Map, 0x474 );

                Point3D loc = new Point3D( p.X, p.Y, p.Z );
                int mushx;
                int mushy;
                int mushz;
                InternalItem firstFlamea = new InternalItem( Caster.Location, Caster.Map, Caster );
                mushx=loc.X-2;
                mushy=loc.Y-2;
                mushz=loc.Z;
                Point3D mushxyz = new Point3D(mushx,mushy,mushz);
                firstFlamea.MoveToWorld( mushxyz, Caster.Map );
                firstFlamea.ItemID = 3267;
                InternalItem firstFlamec = new InternalItem( Caster.Location, Caster.Map, Caster );
                mushx=loc.X;
                mushy=loc.Y-3;
                mushz=loc.Z;
                Point3D mushxyzb = new Point3D(mushx,mushy,mushz);
                firstFlamec.MoveToWorld( mushxyzb, Caster.Map );
                firstFlamec.ItemID = 3267;
                InternalItem firstFlamed = new InternalItem( Caster.Location, Caster.Map, Caster );
                firstFlamed.ItemID = 3267;
                mushx=loc.X+2;
                mushy=loc.Y-2;
                mushz=loc.Z;
                Point3D mushxyzc = new Point3D(mushx,mushy,mushz);
                firstFlamed.MoveToWorld( mushxyzc, Caster.Map );
                InternalItem firstFlamee = new InternalItem( Caster.Location, Caster.Map, Caster );
                mushx=loc.X+3;
                firstFlamee.ItemID = 3267;
                mushy=loc.Y;
                mushz=loc.Z;
                Point3D mushxyzd = new Point3D(mushx,mushy,mushz);
                firstFlamee.MoveToWorld( mushxyzd, Caster.Map );
                InternalItem firstFlamef = new InternalItem( Caster.Location, Caster.Map, Caster );
                firstFlamef.ItemID = 3267;
                mushx=loc.X+2;
                mushy=loc.Y+2;
                mushz=loc.Z;
                Point3D mushxyze = new Point3D(mushx,mushy,mushz);
                firstFlamef.MoveToWorld( mushxyze, Caster.Map );
                InternalItem firstFlameg = new InternalItem( Caster.Location, Caster.Map, Caster );
                mushx=loc.X;
                firstFlameg.ItemID = 3267;
                mushy=loc.Y+3;
                mushz=loc.Z;
                Point3D mushxyzf = new Point3D(mushx,mushy,mushz);
                firstFlameg.MoveToWorld( mushxyzf, Caster.Map );
                InternalItem firstFlameh = new InternalItem( Caster.Location, Caster.Map, Caster );
                mushx=loc.X-2;
                firstFlameh.ItemID = 3267;
                mushy=loc.Y+2;
                mushz=loc.Z;
                Point3D mushxyzg = new Point3D(mushx,mushy,mushz);
                firstFlameh.MoveToWorld( mushxyzg, Caster.Map );
                InternalItem firstFlamei = new InternalItem( Caster.Location, Caster.Map, Caster );
                mushx=loc.X-3;
                firstFlamei.ItemID = 3267;
                mushy=loc.Y;
                mushz=loc.Z;
                Point3D mushxyzh = new Point3D(mushx,mushy,mushz);
                firstFlamei.MoveToWorld( mushxyzh, Caster.Map );
            }
            FinishSequence();
        }
开发者ID:evildude807,项目名称:kaltar,代码行数:77,代码来源:PoisonIvyPatch.cs

示例12: Effect

        public void Effect( Point3D loc, Map map, bool checkMulti )
        {
            if ( Factions.Sigil.ExistsOn( Caster ) )
            {
                Caster.SendAsciiMessage( "You can't do that while carrying the sigil." );
            }
            else if ( map == null || (!Core.AOS && Caster.Map != map) )
            {
                Caster.SendAsciiMessage( "You can not gate to another facet." );
            }
            else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
            {
            }
            else if ( !SpellHelper.CheckTravel( Caster,  map, loc, TravelCheckType.GateTo ) )
            {
            }
            else if ( map == Map.Felucca && Caster is PlayerMobile && ((PlayerMobile)Caster).Young )
            {
                Caster.SendAsciiMessage( "You decide against traveling to Felucca while you are still young." );
            }
            else if ( Caster.Kills >= 5 && map != Map.Felucca )
            {
                Caster.SendAsciiMessage( "You are not allowed to travel there." );
            }
            else if ( Caster.Criminal )
            {
                Caster.SendAsciiMessage( 0x22, "Thou'rt a criminal and cannot escape so easily." );
            }
            else if ( SpellHelper.CheckCombat( Caster ) )
            {
                Caster.SendAsciiMessage( 0x22, "Wouldst thou flee during the heat of battle?" );
            }
            else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
            {
                Caster.SendAsciiMessage( "That location is blocked." );
            }
            else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
            {
                Caster.SendAsciiMessage( "That location is blocked." );
            }
            else if ( CheckSequence() )
            {
                Caster.SendAsciiMessage( "You open a magical gate to another location." );

                Effects.PlaySound( Caster.Location, Caster.Map, 0x20E );

                InternalItem firstGate = new InternalItem( loc, map );
                firstGate.MoveToWorld( Caster.Location, Caster.Map );

                Effects.PlaySound( loc, map, 0x20E );

                InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
                secondGate.MoveToWorld( loc, map );
            }

            FinishSequence();
        }
开发者ID:cynricthehun,项目名称:UOLegends,代码行数:57,代码来源:GateTravel.cs

示例13: Effect

        public void Effect( Point3D loc, Map map, bool checkMulti )
        {
            if ( map == null || (!Core.AOS && Caster.Map != map) )
            {
                Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
            }
            else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
            {
            }
            else if ( !SpellHelper.CheckTravel( Caster,  map, loc, TravelCheckType.GateTo ) )
            {
            }
            else if ( Caster.Kills >= 5 && map != Map.Felucca )
            {
                Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
            }
            else if ( Caster.Criminal )
            {
                Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
            }
            else if ( SpellHelper.CheckCombat( Caster ) )
            {
                Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
            }
            else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
            {
                Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
            }
            else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
            {
                Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
            }
            else if ( CheckSequence() )
            {
                Caster.SendMessage( "The clouds open a magical gate to another place" ); // You open a magical gate to another location

                Effects.PlaySound( Caster.Location, Caster.Map, 0x482 );
                int gravx;
                int gravy;
                int gravz;

                InternalItem firstGatea = new InternalItem( loc, map ); //Top Middle item
                gravx=Caster.X-1;
                gravy=Caster.Y-1;
                gravz=Caster.Z;
                firstGatea.ItemID=14138;
                firstGatea.Hue = 1174;
                Point3D gravxyz = new Point3D(gravx,gravy,gravz);
                firstGatea.MoveToWorld( gravxyz, Caster.Map );
                InternalItem firstGateb = new InternalItem( loc, map );
                gravx=Caster.X;
                gravy=Caster.Y;
                firstGateb.ItemID=6899; //Moongate
                firstGateb.Hue=1153;
                gravz=Caster.Z;
                Point3D gravxyza = new Point3D(gravx,gravy,gravz);
                firstGateb.MoveToWorld( gravxyza, Caster.Map );
                InternalItem firstGatec = new InternalItem( loc, map );
                gravx=Caster.X-1;
                firstGatec.ItemID=14138;
                firstGatec.Hue = 1174;
                gravy=Caster.Y+1;
                gravz=Caster.Z;
                Point3D gravxyzb = new Point3D(gravx,gravy,gravz);
                firstGatec.MoveToWorld( gravxyzb, Caster.Map );
                InternalItem firstGateg = new InternalItem( loc, map );
                gravx=Caster.X+1;
                firstGateg.ItemID=14138;
                firstGateg.Hue = 1174;
                gravy=Caster.Y-1;
                gravz=Caster.Z;
                Point3D gravxyzf = new Point3D(gravx,gravy,gravz);
                firstGateg.MoveToWorld( gravxyzf, Caster.Map );
                InternalItem firstGatee = new InternalItem( loc, map );
                gravx=Caster.X+1;
                firstGatee.ItemID=14170;
                firstGatee.Hue = 1174;
                gravy=Caster.Y+1;
                gravz=Caster.Z;
                Point3D gravxyzd = new Point3D(gravx,gravy,gravz);
                firstGatee.MoveToWorld( gravxyzd, Caster.Map );

                //Effects.PlaySound( loc, map, 0x482 );
                Caster.PlaySound( 0x212 );
                Caster.PlaySound( 0x206 );

                InternalItem secondGatea = new InternalItem( Caster.Location, Caster.Map );
                gravx=loc.X-1;
                gravy=loc.Y-1;
                gravz=loc.Z;
                secondGatea.ItemID=14138;
                secondGatea.Hue = 1151;
                Point3D gravaxyz = new Point3D(gravx,gravy,gravz);
                secondGatea.MoveToWorld( gravaxyz, map);
                InternalItem secondGateb = new InternalItem( Caster.Location, Caster.Map );
                gravx=loc.X;
                gravy=loc.Y;
                secondGateb.ItemID=6899; //Moongate
                secondGateb.Hue = 1153;
                gravz=loc.Z;
//.........这里部分代码省略.........
开发者ID:evildude807,项目名称:kaltar,代码行数:101,代码来源:HeavensGateSpell.cs

示例14: Effect

		public void Effect( Point3D loc, Map map, bool checkMulti )
		{
			if( map == null || (!Core.AOS && Caster.Map != map) )
			{
				Caster.SendLocalizedMessage( 1005570 ); // You can not gate to another facet.
			}
			else if( !SpellHelper.CheckTravel( Caster, TravelCheckType.GateFrom ) )
			{
			}
			else if( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.GateTo ) )
			{
			}

			else if( Caster.Kills >= 5 && map != Map.Felucca )
			{
				Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
			}
			else if( SpellHelper.CheckCombat( Caster ) )
			{
				Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
			}
			else if( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
			{
				Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
			}
			else if( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
			{
				Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
			}
			else if( CheckSequence() )
			{
				Caster.PublicOverheadMessage( Server.Network.MessageType.Regular, Caster.EmoteHue, true, "*slashes through the air, cutting through the fabric of space and time itself*" );

				Effects.PlaySound( Caster.Location, Caster.Map, 476 );

				InternalItem firstGate = new InternalItem( loc, map );
				firstGate.Hue = 1;
				firstGate.MoveToWorld( Caster.Location, Caster.Map );

				Effects.PlaySound( loc, map, 476 );

				InternalItem secondGate = new InternalItem( Caster.Location, Caster.Map );
				secondGate.Hue = 1;
				secondGate.MoveToWorld( loc, map );
			}

			FinishSequence();
		}
开发者ID:greeduomacro,项目名称:hubroot,代码行数:48,代码来源:RiftSpell.cs


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