Example #1
0
    IEnumerator PumpkinNearCats()
    {
        yield return(new WaitForSeconds(0.5f));

        float radius            = 3f * (smallScreen ? 1.1f : 1f);
        var   catsToMakePumpkin = new List <CatBasic>();

        while (t != null)
        {
            foreach (var stuff in Factory.LIVE_STUFF)
            {
                if (stuff != null && stuff is CatBasic && DistanceTo(stuff) < radius)
                {
                    catsToMakePumpkin.Add(stuff as CatBasic);
                }
            }

            foreach (var cat in catsToMakePumpkin)
            {
                Factory.LIVE_STUFF.Remove(cat);
            }

            foreach (var cat in catsToMakePumpkin)
            {
                Pumpkin.Create(cat.t.position, cat.t.rotation);
                cat.Reset();
            }

            catsToMakePumpkin.Clear();

            yield return(new WaitForEndOfFrame());
        }
    }
Example #2
0
 public void Chop(Mobile from)
 {
     if (from.InRange(this.GetWorldLocation(), 1))
     {
         if (from == m_sower)
         {
             from.Direction = from.GetDirectionTo(this);
             double lumberValue = from.Skills[SkillName.Lumberjacking].Value / 100;
             if ((lumberValue > .5) && (Utility.RandomDouble() <= lumberValue))
             {
                 Pumpkin fruit = new Pumpkin(Utility.Random(m_yield + 2));
                 from.AddToBackpack(fruit);
                 if (Utility.RandomDouble() <= .1)
                 {
                     Vines logs = new Vines(); from.AddToBackpack(logs);
                 }
             }
             this.Delete();
             from.SendMessage("You chop the plant up");
         }
         else
         {
             from.SendMessage("You do not own this plant !!!");
         }
     }
     else
     {
         from.SendLocalizedMessage(500446);
     }
 }
Example #3
0
    void OnTriggerEnter(Collider hit)
    {
        if (hit.gameObject.tag == "pumpkin" || hit.gameObject.tag == "pumpkinX")
        {
            Vector3 posGO = hit.gameObject.transform.position;
            Debug.Log("hit game object pos: " + posGO);
            //+1 at runtime
            GameObject newText = textPrefab;
            var        newOne  = Instantiate(newText, posGO, Quaternion.identity);
            Destroy(newOne.gameObject, 0.5f);

            score++;

            Debug.Log("score: " + score);
            FindObjectOfType <AudioManager>().Play("PumpkinHit");
            //Debug.Log("Play hit pumpkin audio");

            if (hit.gameObject.tag == "pumpkin")
            {
                pumpkinToAccess = hit.gameObject;
                Pumpkin scriptToAccess = pumpkinToAccess.GetComponent <Pumpkin>();
                scriptToAccess.HidePumpkin();
                //scoreText.text = "Score: " + score;
            }
            else if (hit.gameObject.tag == "pumpkinX")
            {
                pumpkinToAccess = hit.gameObject;
                PumpkinX scriptToAccessX = pumpkinToAccess.GetComponent <PumpkinX>();
                scriptToAccessX.HidePumpkinX();
                //scoreText.text = "Score: " + score;
            }

            //instantiate +1 point above object
        }
    }
		public override Item GetCropObject()
		{
			var pumpkin = new Pumpkin();

			pumpkin.ItemID = Utility.Random(3178, 3);

			return pumpkin;
		}
Example #5
0
        public override Item GetCropObject()
        {
            Pumpkin pumpkin = new Pumpkin();

            pumpkin.ItemID = Utility.Random(3178, 3);

            return(pumpkin);
        }
Example #6
0
        public void GetDescriptionTest()
        {
            //Arrange
            var item = new Pumpkin();

            //Act
            item.Description = "Wash the dog.";
            var result = item.Description;

            //Assert
            Assert.Equal("Wash the dog.", result);
        }
Example #7
0
    private void spawnPumpkins(float[][] pumpkinPositions)
    {
        GameObject pumpkinPrefab = ConsumablePrefabs.Find(cons => cons.GetComponent <Consumable>().typeOfConsumable == "Pumpkin");

        for (int i = 0; i < pumpkinPositions.Length; i++)
        {
            Pumpkin clone = (Pumpkin)Instantiate(pumpkinPrefab, new Vector3(pumpkinPositions[i][0], pumpkinPositions[i][1], pumpkinPositions[i][2]), Quaternion.identity).GetComponent <Pumpkin>();

            clone.setType(spawnType);
            clone.getPropsByType();
        }
    }
Example #8
0
        public override bool LootItem(Mobile from)
        {
            if (Utility.RandomDouble() <= .05)
            {
                PumpkinSeed item = new PumpkinSeed();
                from.AddToBackpack(item);
                from.SendMessage("You manage to gather 1 pumpkin seed.");
            }
            Pumpkin c = new Pumpkin();

            c.ItemID = 3178;
            from.AddToBackpack(c);
            from.SendMessage("You manage to gather 1 pumpkin.");
            return(true);
        }
Example #9
0
        private void InitContents(FruitType type)
        {
            Food item  = null;
            byte count = (byte)Utility.RandomMinMax(10, 30);

            for (byte i = 0; i < count; i++)
            {
                switch (type)
                {
                default:
                case FruitType.Apples: item = new Apple(); break;

                case FruitType.Bananas: item = new Banana(); break;

                case FruitType.Bread: item = new BreadLoaf(); break;

                case FruitType.Gourds: item = new Gourd(); break;

                case FruitType.Grapes: item = new Grapes(); break;

                case FruitType.Lemons: item = new Lemon(); break;

                case FruitType.Tomatoes: item = new Tomato(); break;

                case FruitType.Vegetables1:
                case FruitType.Vegetables2:
                case FruitType.Vegetables3:
                {
                    switch (Utility.Random(4))
                    {
                    case 0: item = new Carrot(); break;

                    case 1: item = new Onion(); break;

                    case 2: item = new Pumpkin(); break;

                    case 3: item = new Gourd(); break;
                    }
                    break;
                }
                }

                if (item != null)
                {
                    DropItem(item);
                }
            }
        }
Example #10
0
        public void Chop(Mobile from)
        {
            if (from.InRange(this.GetWorldLocation(), 1))
            {
                if ((chopTimer == null) || (!chopTimer.Running))
                {
                    if ((TreeHelper.TreeOrdinance) && (from.AccessLevel == AccessLevel.Player))
                    {
                        if (from.Region is Regions.GuardedRegion)
                        {
                            from.CriminalAction(true);
                        }
                    }

                    chopTimer = new TreeHelper.ChopAction(from);

                    Point3D pnt = this.Location;
                    Map     map = this.Map;

                    from.Direction = from.GetDirectionTo(this);
                    chopTimer.Start();

                    double lumberValue = from.Skills[SkillName.Lumberjacking].Value / 100;
                    if ((lumberValue > .5) && (Utility.RandomDouble() <= lumberValue))
                    {
                        Pumpkin fruit = new Pumpkin((int)Utility.Random(13) + m_yield);
                        from.AddToBackpack(fruit);

                        int cnt  = Utility.Random((int)(lumberValue * 10) + 1);
                        Log logs = new Log(cnt);                           // Fruitwood Logs ??
                        from.AddToBackpack(logs);

                        FruitTreeStump i_stump = new FruitTreeStump(typeof(PumpkinCrop));
                        Timer          poof    = new StumpTimer(this, i_stump, from);
                        poof.Start();
                    }
                    else
                    {
                        from.SendLocalizedMessage(500495);                        // You hack at the tree for a while, but fail to produce any useable wood.
                    }
                }
            }
            else
            {
                from.SendLocalizedMessage(500446);                 // That is too far away.
            }
        }
Example #11
0
    public override ILarge GetLarge(LargeType largeType)
    {
        switch (largeType)
        {
        case LargeType.Cabbage:
            ILarge cabbage = new Cabbage();
            return(cabbage);

        case LargeType.Pineapple:
            ILarge pineapple = new Pineapple();
            return(pineapple);

        case LargeType.Pumpkin:
            ILarge pumpkin = new Pumpkin();
            return(pumpkin);
        }
        return(null);
    }
Example #12
0
    private void spawnPumpkins(GameObject pumpkinPrefab)
    {
        Pumpkin pumpkin = pumpkinPrefab.GetComponent <Pumpkin>();

        lastPositions = new ArrayList();

        for (int i = 0; i < 4; i++)
        {
            Vector3 newFruitPosition = calculatePositionInFarms();

            if (getProbabilityOf(pumpkin.chanceOfSpawn))
            {
                Pumpkin clone = (Pumpkin)Instantiate(pumpkinPrefab, newFruitPosition, Quaternion.identity).GetComponent <Pumpkin>();

                clone.setType(spawnType);
                clone.getPropsByType();
                numOfFruitsSpawned++;
            }
        }
    }
Example #13
0
    private void SpawnPumpkin()
    {
        if (seed == null)
        {
            return;
        }
        seed.destroy?.Invoke();
        Destroy(seed.gameObject);
        Pumpkin instance = Instantiate(pumpkin);

        instance.point                = seed.point;
        instance.rigidbody.mass       = seed.mass;
        instance.rigidbody.drag       = seed.mass;
        instance.speedMalus           = seed.pumpkinMalus;
        instance.team                 = team;
        instance.transform.localScale = Vector3.one * (seed.size / 100.0f) * 2;
        instance.transform.position   = transform.position;
        instance.GetComponent <SpriteRenderer>().sprite = seed.pumpkinSprite;
        seed = null;
        tilemap.SetTile(CellPosition, tilesGroups.normalTile);
        ChangeState();
        GameManager.GetInstance.PlayVoice(team, "pousse");
        transform.GetChild(1).gameObject.SetActive(false);
    }
Example #14
0
 void Start()
 {
     m_dynamiteAdapterObj = m_dynamiteAdapterObj.GetComponent<DynamiteAdapter>();
      m_kiwiObj = m_kiwiObj.GetComponent<Kiwi>();
      m_banaobj = m_kiwiObj.GetComponent<Banana>();
      m_pumpkin = m_kiwiObj.GetComponent<Pumpkin>();
 }
Example #15
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            if (m_Item.Deleted)
            {
                return;
            }

            if (targeted is ICarvable)
            {
                ((ICarvable)targeted).Carve(from, m_Item);
            }
            else if (targeted is SwampDragon && ((SwampDragon)targeted).HasBarding)
            {
                SwampDragon pet = (SwampDragon)targeted;

                if (!pet.Controlled || pet.ControlMaster != from)
                {
                    from.SendLocalizedMessage(1053022);                       // You cannot remove barding from a swamp dragon you do not own.
                }
                else
                {
                    pet.HasBarding = false;
                }
            }
            else if (targeted is Head)
            {
                Head targ = (Head)targeted;

                if (from.Karma > -1500)
                {
                    from.SendMessage("Vous n'avez pas le profil d'un dépeceur de crâne...");
                    return;
                }

                if (from.Dex <= Utility.Random(110))
                {
                    from.SendMessage("Vous avez été trop maladroit et avez raté le dépeçage");
                    targ.Delete();
                    return;
                }

                from.SendMessage("Vous achevez d'enlever la chair du crâne.");
                from.AddToBackpack(new Skull());
                targ.Consume();
            }
            else if (targeted is Pumpkin)
            {
                Pumpkin targ = (Pumpkin)targeted;

                if (from.Dex <= Utility.Random(100))
                {
                    from.SendMessage("Vous avez été trop maladroit et avez raté votre tracé");
                    targ.Consume();
                    return;
                }

                int karma = 0;

                if (from.Karma > 100)
                {
                    karma++;
                }
                else if (from.Karma < -100)
                {
                    karma--;
                }

                int chance = Utility.Random(4) + karma;

                if (chance >= 2)
                {
                    from.AddToBackpack(new SmileyPumpkin());
                }
                else
                {
                    from.AddToBackpack(new EvilPumpkin());
                }

                from.SendMessage("Vous taillez la citrouille selon votre humeur");
                targ.Consume();
            }
            else
            {
                if (targeted is StaticTarget)
                {
                    int itemID = ((StaticTarget)targeted).ItemID;

                    if (itemID == 0xD15 || itemID == 0xD16)                       // red mushroom
                    {
                        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.RedMushrooms)
                                {
                                    player.SendLocalizedMessage(1055036);                                       // You slice a red cap mushroom from its stem.
                                    obj.Complete();
                                    return;
                                }
                            }
                        }
                    }
                }

                HarvestSystem     system = Lumberjacking.System;
                HarvestDefinition def    = Lumberjacking.System.Definition;

                int     tileID;
                Map     map;
                Point3D loc;

                if (!system.GetHarvestDetails(from, m_Item, targeted, out tileID, out map, out loc))
                {
                    from.SendLocalizedMessage(500494);                       // You can't use a bladed item on that!
                }
                else if (!def.Validate(tileID))
                {
                    from.SendLocalizedMessage(500494);                       // You can't use a bladed item on that!
                }
                else
                {
                    HarvestBank bank = def.GetBank(map, loc.X, loc.Y);

                    if (bank == null)
                    {
                        return;
                    }

                    if (bank.Current < 5)
                    {
                        from.SendLocalizedMessage(500493);                           // There's not enough wood here to harvest.
                    }
                    else
                    {
                        bank.Consume(5, from);

                        if (map.Season == (int)ServerSeasons.Season.Spring && Utility.RandomDouble() < 0.33)
                        {
                            from.PrivateOverheadMessage(Network.MessageType.Regular, 0x3B2, false, "De la sève se met à couler du tronc, souhaitez-vous la recueillir?", from.NetState);
                            from.BeginTarget(2, false, TargetFlags.None, new TargetCallback(OnSelectTarget));
                            return;
                        }

                        Item item = new Kindling();

                        if (from.PlaceInBackpack(item))
                        {
                            from.SendLocalizedMessage(500491);                               // You put some kindling into your backpack.
                            from.SendLocalizedMessage(500492);                               // An axe would probably get you more wood.
                        }
                        else
                        {
                            from.SendLocalizedMessage(500490);                               // You can't place any kindling into your backpack!

                            item.Delete();
                        }
                    }
                }
            }
        }
Example #16
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit _hit;

        if (inputPortalFound && isPumpkinOpened == true)
        {
            resetGameBtn.gameObject.SetActive(true);
        }

        if (outputPortalFound && gotAPumpkin == false)
        {
            currentTimer -= Time.deltaTime;
            if (currentTimer <= 0)
            {
                float   _force = Random.Range(0.5f, 2.5f);
                float   _dirX  = Random.Range(-1.5f, 1.5f);
                float   _dirZ  = Random.Range(1f, 2.5f);
                Pumpkin _pumpkinClone;

                _pumpkinClone = (Pumpkin)Instantiate(pumpkin, portal.position, Quaternion.identity);
                _pumpkinClone.GetComponent <Rigidbody>().AddForceAtPosition(new Vector3(_dirX, _force, _dirZ), _pumpkinClone.transform.position, ForceMode.Impulse);
                currentTimer = timer;
            }
        }

        if (Input.GetMouseButtonDown(0) && gotAPumpkin == false)
        {
            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out _hit))
            {
                if (_hit.collider.tag == "Pumpkin")
                {
                    catchedPumpkin = _hit.collider.transform.GetComponent <Pumpkin>();
                    catchedPumpkin.simulatePhysics = false;
                    catchedPumpkin.selfDestroy     = false;
                    gotAPumpkin = true;
                    myDialogueTrigger.TriggerDialogue(myDialogueTrigger.caughtPumpkin);
                }
            }
        }

        if (catchedPumpkin != null && pumpkinGoesIn == false)
        {
            catchedPumpkin.transform.position = Vector3.Lerp(catchedPumpkin.transform.position, Camera.main.transform.forward * 0.5f, 0.15f);
            catchedPumpkin.transform.rotation = Quaternion.Slerp(catchedPumpkin.transform.rotation, Quaternion.Euler(Vector3.zero), 0.15f);
        }

        if (inputPortalFound)
        {
            if (pumpkinGoesIn)
            {
                catchedPumpkin.transform.position = Vector3.Lerp(catchedPumpkin.transform.position, Camera.main.transform.forward * 5, 0.035f);

                if (Vector3.Distance(catchedPumpkin.transform.position, Camera.main.transform.position) > 4.5f)
                {
                    Destroy(catchedPumpkin.gameObject);
                    isPumpkinOpened = true;
                }
            }
        }

        TestLuck();
    }
Example #17
0
        public override void OnDoubleClick(Mobile from)
        {
            if (m_sower == null || m_sower.Deleted)
            {
                m_sower = from;
            }

            if (from.Mounted && !CropHelper.CanWorkMounted)
            {
                from.SendMessage("You cannot harvest a crop while mounted.");
                return;
            }

            if (DateTime.Now > lastpicked.AddSeconds(1))               // 3 seconds between picking changed to 1 sec
            {
                lastpicked = DateTime.Now;

                int cookingValue = (int)from.Skills[SkillName.Cooking].Value / 20;                  //FUTURE add two skill checks...
                if (cookingValue == 0)
                {
                    from.SendMessage("You have no idea how to harvest this crop.");
                    return;
                }

                if (from.InRange(this.GetWorldLocation(), 1))
                {
                    if (m_yield < 1)
                    {
                        from.SendMessage("There is nothing here to harvest.");

                        if (PlayerCanDestroy && !(m_sower.AccessLevel > AccessLevel.Counselor))
                        {
                            UpRootGump g = new UpRootGump(from, this);
                            from.SendGump(g);
                        }
                    }
                    else                     //check skill and sower
                    {
                        from.Direction = from.GetDirectionTo(this);

                        from.Animate(from.Mounted ? 29:32, 5, 1, true, false, 0);

                        if (from == m_sower)
                        {
                            cookingValue *= 2;
                            m_lastvisit   = DateTime.Now;
                        }

                        if (cookingValue > m_yield)
                        {
                            cookingValue = m_yield + 1;
                        }

                        int pick = Utility.Random(cookingValue);
                        if (pick == 0)
                        {
                            from.SendMessage("You do not manage to harvest any crops.");
                            return;
                        }

                        m_yield -= pick;
                        from.SendMessage("You harvest {0} crop{1}!", pick, (pick == 1 ? "" : "s"));

                        //PublicOverheadMessage( MessageType.Regular, 0x3BD, false, string.Format( "{0}", m_yield ));
                        ((Item)this).ItemID = pickedGraphic;

                        Pumpkin crop = new Pumpkin(pick);                           //I MODED
                        from.AddToBackpack(crop);

                        if (SowerPickTime != TimeSpan.Zero && m_lastvisit + SowerPickTime < DateTime.Now && !(m_sower.AccessLevel > AccessLevel.Counselor))
                        {
                            this.UpRoot(from);
                            return;
                        }

                        if (!regrowTimer.Running)
                        {
                            regrowTimer.Start();
                        }
                    }
                }
                else
                {
                    from.SendMessage("You are too far away to harvest anything.");
                }
            }
        }
Example #18
0
        public override void OnDoubleClick(Mobile from)
        {
            if (from.Mounted && !TreeHelper.CanPickMounted)
            {
                from.SendMessage("You cannot pick fruit while mounted.");
                return;
            }

            if (DateTime.Now > lastpicked.AddSeconds(3))               // 3 seconds between picking
            {
                lastpicked = DateTime.Now;

                int lumberValue = (int)from.Skills[SkillName.Lumberjacking].Value / 20;
                if (from.Mounted)
                {
                    ++lumberValue;
                }

                if (lumberValue < 0)
                {
                    from.SendMessage("You have no idea how to pick this fruit.");
                    return;
                }

                if (from.InRange(this.GetWorldLocation(), 2))
                {
                    if (m_yield < 1)
                    {
                        from.SendMessage("There is nothing here to harvest.");
                    }
                    else                     //check skill
                    {
                        from.Direction = from.GetDirectionTo(this);

                        from.Animate(from.Mounted ? 26:17, 7, 1, true, false, 0);

                        if (lumberValue < m_yield)
                        {
                            lumberValue = m_yield + 1;
                        }

                        int pick = Utility.Random(lumberValue);
                        if (pick == 0)
                        {
                            from.SendMessage("You do not manage to gather any fruit.");
                            return;
                        }

                        m_yield -= pick;
                        from.SendMessage("You pick {0} Pumpkin{1}!", pick, (pick == 1 ? "" : "s"));

                        //PublicOverheadMessage( MessageType.Regular, 0x3BD, false, string.Format( "{0}", m_yield ));

                        Pumpkin crop = new Pumpkin(pick);
                        from.AddToBackpack(crop);

                        if (!regrowTimer.Running)
                        {
                            regrowTimer.Start();
                        }
                    }
                }
                else
                {
                    from.SendLocalizedMessage(500446);                       // That is too far away.
                }
            }
        }
Example #19
0
        public override void OnDoubleClick(Mobile from)
        {
            if (m_sower == null || m_sower.Deleted)
            {
                m_sower = from;
            }
            if (from != m_sower)
            {
                from.SendMessage("You do not own this plant !!!"); return;
            }

            if (from.Mounted && !CropHelper.CanWorkMounted)
            {
                from.SendMessage("You cannot harvest a crop while mounted."); return;
            }
            if (DateTime.UtcNow > lastpicked.AddSeconds(3))
            {
                lastpicked = DateTime.UtcNow;
                int cookValue = (int)from.Skills[SkillName.Cooking].Value / 20;
                if (cookValue == 0)
                {
                    from.SendMessage("You have no idea how to harvest this crop."); return;
                }
                if (from.InRange(this.GetWorldLocation(), 1))
                {
                    if (m_yield < 1)
                    {
                        from.SendMessage("There is nothing here to harvest.");
                    }
                    else
                    {
                        from.Direction = from.GetDirectionTo(this);
                        from.Animate(from.Mounted ? 29:32, 5, 1, true, false, 0);
                        m_lastvisit = DateTime.UtcNow;
                        if (cookValue > m_yield)
                        {
                            cookValue = m_yield + 1;
                        }
                        int pick = Utility.RandomMinMax(cookValue - 4, cookValue);
                        if (pick < 0)
                        {
                            pick = 0;
                        }
                        if (pick == 0)
                        {
                            from.SendMessage("You do not manage to harvest any crops."); return;
                        }
                        m_yield -= pick;
                        from.SendMessage("You harvest {0} crop{1}!", pick, (pick == 1 ? "" : "s"));
                        if (m_yield < 1)
                        {
                            ((Item)this).ItemID = pickedGraphic;
                        }
                        Pumpkin crop = new Pumpkin(pick);
                        from.AddToBackpack(crop);
                        if (!regrowTimer.Running)
                        {
                            regrowTimer.Start();
                        }
                    }
                }
                else
                {
                    from.SendMessage("You are too far away to harvest anything.");
                }
            }
        }
Example #20
0
		private void InitContents( FruitType type )
		{
			Food item = null;
			byte count = (byte)Utility.RandomMinMax( 10, 30 );

			for( byte i = 0; i < count; i++ )
			{
				switch( type )
				{
					default:
					case FruitType.Apples: item = new Apple(); break;
					case FruitType.Bananas: item = new Banana(); break;
					case FruitType.Bread: item = new BreadLoaf(); break;
					case FruitType.Gourds: item = new Gourd(); break;
					case FruitType.Grapes: item = new Grapes(); break;
					case FruitType.Lemons: item = new Lemon(); break;
					case FruitType.Tomatoes: item = new Tomato(); break;
					case FruitType.Vegetables1:
					case FruitType.Vegetables2:
					case FruitType.Vegetables3:
						{
							switch( Utility.Random( 4 ) )
							{
								case 0: item = new Carrot(); break;
								case 1: item = new Onion(); break;
								case 2: item = new Pumpkin(); break;
								case 3: item = new Gourd(); break;
							}
							break;
						}
				}

				if( item != null )
					DropItem( item );
			}
		}