Esempio n. 1
0
		protected override void OnTarget( Mobile from, object targeted )
		{
			if ( m_System is Mining && targeted is StaticTarget )
			{
				int itemID = ((StaticTarget)targeted).ItemID;

				// grave
				if ( itemID == 0xED3 || itemID == 0xEDF || itemID == 0xEE0 || itemID == 0xEE1 || itemID == 0xEE2 || itemID == 0xEE8 )
				{
					PlayerMobile player = from as PlayerMobile;

					if ( player != null )
					{
						QuestSystem qs = player.Quest;

						if ( qs is WitchApprenticeQuest )
						{
							FindIngredientObjective obj = qs.FindObjective( typeof( FindIngredientObjective ) ) as FindIngredientObjective;

							if ( obj != null && !obj.Completed && obj.Ingredient == Ingredient.Bones )
							{
								player.SendLocalizedMessage( 1055037 ); // You finish your grim work, finding some of the specific bones listed in the Hag's recipe.
								obj.Complete();

								return;
							}
						}
					}
				}
			}

			if ( m_System is Lumberjacking && targeted is IChopable )
				((IChopable)targeted).OnChop( from );
			else if ( m_System is Lumberjacking && targeted is IAxe && m_Tool is BaseAxe )
			{
				IAxe obj = (IAxe)targeted;
				Item item = (Item)targeted;
					
				if ( !item.IsChildOf( from.Backpack ) )
					from.SendLocalizedMessage( 1062334 ); // This item must be in your backpack to be used.
				else if ( obj.Axe( from, (BaseAxe)m_Tool ) )
					from.PlaySound( 0x13E );
			}
			else if ( m_System is Lumberjacking && targeted is ICarvable )
				((ICarvable)targeted).Carve( from, (Item)m_Tool );
			else if ( m_System is Lumberjacking && FurnitureAttribute.Check( targeted as Item ) )
				DestroyFurniture( from, (Item)targeted );
			else if ( m_System is Mining && targeted is TreasureMap )
				((TreasureMap)targeted).OnBeginDig( from );
			else
				m_System.StartHarvesting( from, m_Tool, targeted );
		}
Esempio n. 2
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            if (m_System is Lumberjacking && targeted is IChopable)
            {
                ((IChopable)targeted).OnChop(from);
            }

            else if (m_System is Lumberjacking && targeted is IAxe && m_Tool is BaseAxe)
            {
                IAxe obj  = (IAxe)targeted;
                Item item = (Item)targeted;

                if (!item.IsChildOf(from.Backpack) && !item.IsChildOf(from.BankBox))
                {
                    from.SendMessage("This item must be in your backpack or bankbox to be used.");
                }

                else if (obj.Axe(from, (BaseAxe)m_Tool))
                {
                    from.PlaySound(0x13E);
                }
            }

            else if (m_System is Lumberjacking && targeted is ICarvable)
            {
                ((ICarvable)targeted).Carve(from, (Item)m_Tool);
            }

            else if (m_System is Lumberjacking && FurnitureAttribute.Check(targeted as Item))
            {
                DestroyFurniture(from, (Item)targeted);
            }

            else if (m_System is Mining && targeted is TreasureMap)
            {
                ((TreasureMap)targeted).OnBeginDig(from);
            }

            else if (targeted == from)
            {
                m_System.StartHarvesting(from, m_Tool, targeted, true);
            }

            else
            {
                m_System.StartHarvesting(from, m_Tool, targeted, false);
            }
        }
Esempio n. 3
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            if (this.m_System is Lumberjacking && targeted is IChopable)
            {
                ((IChopable)targeted).OnChop(from);
            }
            else if (this.m_System is Lumberjacking && targeted is IAxe && this.m_Tool is BaseAxe)
            {
                IAxe obj  = (IAxe)targeted;
                Item item = (Item)targeted;

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
                }
                else if (obj.Axe(from, (BaseAxe)this.m_Tool))
                {
                    from.PlaySound(0x13E);
                }
            }
            else if (this.m_System is Lumberjacking && targeted is ICarvable)
            {
                ((ICarvable)targeted).Carve(from, (Item)this.m_Tool);
            }
            else if (this.m_System is Lumberjacking && FurnitureAttribute.Check(targeted as Item))
            {
                this.DestroyFurniture(from, (Item)targeted);
            }
            else if (this.m_System is Mining && targeted is TreasureMap)
            {
                ((TreasureMap)targeted).OnBeginDig(from);
            }
            else
            {
                // If we got here and we're lumberjacking then we didn't target something that cna be done from the pack
                if (m_System is Lumberjacking && m_Tool.Parent != from)
                {
                    from.SendLocalizedMessage(500487);                     // The axe must be equipped for any serious wood chopping.
                    return;
                }
                this.m_System.StartHarvesting(from, this.m_Tool, targeted);
            }
        }
Esempio n. 4
0
		protected override void OnTarget( Mobile from, object targeted )
		{
			if ( m_System is Lumberjacking && targeted is IChopable )
				((IChopable)targeted).OnChop( from );
			else if ( m_System is Lumberjacking && targeted is IAxe && m_Tool is BaseAxe )
			{
				IAxe obj = (IAxe)targeted;
				Item item = (Item)targeted;
					
				if ( !item.IsChildOf( from.Backpack ) )
					from.SendLocalizedMessage( 1062334 ); // This item must be in your backpack to be used.
				else if ( obj.Axe( from, (BaseAxe)m_Tool ) )
					from.PlaySound( 0x13E );
			}
			else if ( m_System is Lumberjacking && targeted is ICarvable )
				((ICarvable)targeted).Carve( from, (Item)m_Tool );
			else if ( m_System is Lumberjacking && FurnitureAttribute.Check( targeted as Item ) )
				DestroyFurniture( from, (Item)targeted );
			else if ( m_System is Mining && targeted is TreasureMap )
				((TreasureMap)targeted).OnBeginDig( from );
			else
				m_System.StartHarvesting( from, m_Tool, targeted );
		}
Esempio n. 5
0
        public View(Scene scene, ICanvas canvas, Quality quality)
        {
            BoundingBox3d sceneBounds = scene.Graph.Bounds;

            _viewpoint  = (Coord3d)DEFAULT_VIEW.Clone();
            _center     = (Coord3d)sceneBounds.getCenter();
            _scaling    = (Coord3d)Coord3d.IDENTITY.Clone();
            _viewmode   = ViewPositionMode.FREE;
            _boundmode  = ViewBoundMode.AUTO_FIT;
            _cameraMode = CameraMode.ORTHOGONAL;
            _axe        = (IAxe)AxeFactory.getInstance(sceneBounds, this);
            _cam        = CameraFactory.getInstance(_center);
            _scene      = scene;
            _canvas     = canvas;
            _quality    = quality;
            _renderers  = new List <IRenderer2D>();
            //_tooltips = New List(Of ITooltipRenderer)
            _bgViewport                = new ImageViewport();
            _viewOnTopListeners        = new List <IViewIsVerticalEventListener>();
            _viewPointChangedListeners = new List <IViewPointChangedListener>();
            _wasOnTopAtLastRendering   = false;
            //_overlay = New Overlay
            View.Current = this;
        }
Esempio n. 6
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            if (this.m_System is Mining && targeted is StaticTarget)
            {
                int itemID = ((StaticTarget)targeted).ItemID;

                // grave
                if (itemID == 0xED3 || itemID == 0xEDF || itemID == 0xEE0 || itemID == 0xEE1 || itemID == 0xEE2 || itemID == 0xEE8)
                {
                    PlayerMobile player = from as PlayerMobile;

                    if (player != null)
                    {
                        QuestSystem qs = player.Quest;

                        if (qs is WitchApprenticeQuest)
                        {
                            FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective;

                            if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.Bones)
                            {
                                player.SendLocalizedMessage(1055037); // You finish your grim work, finding some of the specific bones listed in the Hag's recipe.
                                obj.Complete();

                                return;
                            }
                        }
                    }
                }
            }

            if (this.m_System is Lumberjacking && targeted is IChopable)
            {
                ((IChopable)targeted).OnChop(from);
            }
            else if (this.m_System is Lumberjacking && targeted is IAxe && this.m_Tool is BaseAxe)
            {
                IAxe obj  = (IAxe)targeted;
                Item item = (Item)targeted;

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
                }
                else if (obj.Axe(from, (BaseAxe)this.m_Tool))
                {
                    from.PlaySound(0x13E);
                }
            }
            else if (this.m_System is Lumberjacking && targeted is ICarvable)
            {
                ((ICarvable)targeted).Carve(from, (Item)this.m_Tool);
            }
            else if (this.m_System is Lumberjacking && FurnitureAttribute.Check(targeted as Item))
            {
                this.DestroyFurniture(from, (Item)targeted);
            }
            else if (this.m_System is Mining && targeted is TreasureMap)
            {
                ((TreasureMap)targeted).OnBeginDig(from);
            }
            #region High Seas
            else if (m_System is Mining && targeted is NiterDeposit)
            {
                ((NiterDeposit)targeted).OnMine(from, m_Tool);
            }
            else if (m_System is Lumberjacking && targeted is CrackedLavaRockEast)
            {
                ((CrackedLavaRockEast)targeted).OnCrack(from);
            }
            else if (m_System is Lumberjacking && targeted is CrackedLavaRockSouth)
            {
                ((CrackedLavaRockSouth)targeted).OnCrack(from);
            }
            #endregion
            else
            {
                // If we got here and we're lumberjacking then we didn't target something that cna be done from the pack
                if (m_System is Lumberjacking && m_Tool.Parent != from)
                {
                    from.SendLocalizedMessage(500487);                     // The axe must be equipped for any serious wood chopping.
                    return;
                }
                this.m_System.StartHarvesting(from, this.m_Tool, targeted);
            }
        }
Esempio n. 7
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            // true if return override encountered in script
            IEntity targetedEntity = targeted as IEntity;

            if (XmlScript.HasTrigger(targetedEntity, TriggerName.onTargeted) && UberScriptTriggers.Trigger(targetedEntity, from, TriggerName.onTargeted, m_Tool))
            {
                return;
            }

            CustomRegion customRegion = from.Region as CustomRegion;

            if (customRegion != null && customRegion.Controller != null)
            {
                SkillName skill = SkillName.Spellweaving; // placeholder
                if (m_System is Mining)
                {
                    skill = SkillName.Mining;
                }
                else if (m_System is Fishing)
                {
                    skill = SkillName.Fishing;
                }
                else if (m_System is Lumberjacking)
                {
                    skill = SkillName.Lumberjacking;
                }

                if (customRegion.Controller.IsRestrictedSkill((int)skill))
                {
                    from.SendMessage("You cannot use that skill here.");
                    return;
                }
            }

            //conquest skill check
            Skill tskill = null;

            if (m_System is Mining)
            {
                tskill = from.Skills[SkillName.Mining];
            }
            else if (m_System is Lumberjacking)
            {
                tskill = from.Skills[SkillName.Lumberjacking];
            }
            else if (m_System is Fishing)
            {
                tskill = from.Skills[SkillName.Fishing];
            }

            if (tskill != null)
            {
                Conquests.Conquests.CheckProgress <SkillConquest>(from as PlayerMobile, tskill);
            }

            if (m_System is Mining && targeted is StaticTarget)
            {
                int itemID = ((StaticTarget)targeted).ItemID;

                // grave
                if (itemID == 0xED3 || itemID == 0xEDF || itemID == 0xEE0 || itemID == 0xEE1 || itemID == 0xEE2 || itemID == 0xEE8)
                {
                    PlayerMobile player = from as PlayerMobile;

                    if (player != null)
                    {
                        QuestSystem qs = player.Quest;

                        if (qs is WitchApprenticeQuest)
                        {
                            FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective;

                            if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.Bones)
                            {
                                player.SendLocalizedMessage(1055037);                                   // You finish your grim work, finding some of the specific bones listed in the Hag's recipe.
                                obj.Complete();

                                return;
                            }
                        }
                    }
                }
            }

            if (m_System is Lumberjacking && targeted is IChopable)
            {
                if (targeted is Item)
                {
                    if (((Item)targeted).Breakable)
                    {
                        ((IChopable)targeted).OnChop(from);
                    }
                    else
                    {
                        from.SendMessage("That is unbreakable!");
                    }
                }
                else
                {
                    ((IChopable)targeted).OnChop(from);
                }
            }
            else if (m_System is Lumberjacking && targeted is IAxe && m_Tool is BaseAxe)
            {
                IAxe obj  = (IAxe)targeted;
                Item item = (Item)targeted;

                if (!item.IsChildOf(from.Backpack))
                {
                    from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
                }
                else if (obj.Axe(from, (BaseAxe)m_Tool))
                {
                    from.PlaySound(0x13E);
                }
            }
            else if (m_System is Lumberjacking && targeted is ICarvable)
            {
                ((ICarvable)targeted).Carve(from, (Item)m_Tool);
            }
            else if (m_System is Lumberjacking && FurnitureAttribute.Check(targeted as Item))
            {
                if (((Item)targeted).Breakable)
                {
                    DestroyFurniture(from, (Item)targeted);
                }
                else
                {
                    from.SendMessage("That is unbreakable!");
                }
            }
            else if (m_System is Mining && targeted is TreasureMap)
            {
                ((TreasureMap)targeted).OnBeginDig(from);
            }
            else
            {
                m_System.StartHarvesting(from, m_Tool, targeted);
            }
        }