Ejemplo n.º 1
0
        public override void OnTrigger(Mobile from)
        {
            if (m_Image == null || m_Type == null || !from.Player || !from.Alive || from.AccessLevel > AccessLevel.Player)
            {
                return;
            }

            if (m_Type != AmbushTrapType.Cage)
            {
                Point3D loc = new Point3D(this.X, this.Y, this.Z);

                DoLaunch(this, from, loc, this.Map);
            }
            else
            {
                //Make Cage Around the Player
                BoneWallAddon BoneCage;
                Point3D       Target = new Point3D(this.X, this.Y, this.Z);
                for (int i = 0; i < 4; i++)
                {
                    BoneCage = new BoneWallAddon();
                    if (i == 0)
                    {
                        Target.X++;
                    }
                    else if (i == 1)
                    {
                        Target.X--;
                        Target.X--;
                    }
                    else if (i == 2)
                    {
                        Target.X++;
                        Target.Y++;
                    }
                    else if (i == 3)
                    {
                        Target.Y--;
                        Target.Y--;
                    }

                    bool canfit = AdjustField(ref Target, this.Map, 22, true);

                    if (canfit)
                    {
                        BoneCage.Map      = this.Map;
                        BoneCage.Location = Target;
                        //Add Sparkles
                        Effects.SendLocationParticles(BoneCage, 0x376A, 9, 10, 5025);
                    }
                    else
                    {
                        BoneCage.Delete();
                    }
                }
            }

            this.Delete();
        }
Ejemplo n.º 2
0
		public override void OnTrigger( Mobile from )
		{
			if ( m_Image == null || m_Type == null || !from.Player || !from.Alive || from.AccessLevel > AccessLevel.Player )
				return;
				
			if ( m_Type != AmbushTrapType.Cage )
			{
				Point3D loc = new Point3D(this.X,this.Y,this.Z);
				
				DoLaunch( this, from, loc, this.Map );
			}
			else
			{
				//Make Cage Around the Player
				BoneWallAddon BoneCage;
				Point3D Target = new Point3D(this.X, this.Y, this.Z);
				for ( int i=0; i < 4; i++ )
				{
					BoneCage = new BoneWallAddon();
					if ( i == 0 )
					{
						Target.X++;
					}
					else if ( i == 1 )
					{
						Target.X--;
						Target.X--;
					}
					else if ( i == 2 )
					{
						Target.X++;
						Target.Y++;
					}
					else if ( i == 3 )
					{
						Target.Y--;
						Target.Y--;
					}
					
					bool canfit = AdjustField( ref Target, this.Map, 22, true );
				
					if ( canfit )
					{
						BoneCage.Map = this.Map;
						BoneCage.Location = Target;
						//Add Sparkles
						Effects.SendLocationParticles( BoneCage, 0x376A, 9, 10, 5025 );
					}
					else
					{
						BoneCage.Delete();
					}
				}
			}
			
			this.Delete();
		}