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()); } }
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); } }
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; }
public override Item GetCropObject() { Pumpkin pumpkin = new Pumpkin(); pumpkin.ItemID = Utility.Random(3178, 3); return(pumpkin); }
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); }
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(); } }
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); }
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); } } }
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. } }
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); }
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++; } } }
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); }
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>(); }
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(); } } } } }
// 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(); }
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."); } } }
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. } } }
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."); } } }
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 ); } }