private static int[] GetBitRangeFromMonster(TwitchMobType type) { int[] ranges = new int[] { -1, -2 }; switch (type) { case TwitchMobType.Slime: ranges = CalculateRanges(BNC_Core.config.Bits_To_Spawn_Slimes_Range); break; case TwitchMobType.Crab: ranges = CalculateRanges(BNC_Core.config.Bits_To_Spawn_Crabs_Range); break; case TwitchMobType.Bug: ranges = CalculateRanges(BNC_Core.config.Bits_To_Spawn_Bugs_Range); break; case TwitchMobType.Fly: ranges = CalculateRanges(BNC_Core.config.Bits_To_Spawn_Fly_Range); break; case TwitchMobType.Bat: ranges = CalculateRanges(BNC_Core.config.Bits_To_Spawn_Bat_Range); break; case TwitchMobType.BigSlime: ranges = CalculateRanges(BNC_Core.config.Bits_To_Spawn_Big_Slimes_Range); break; default: ranges = new int[] { -1, -2 }; break; } return(ranges); }
public static void AddMonsterToSpawnFromType(TwitchMobType type, string name, bool tiny = false) { switch (type) { case TwitchMobType.Slime: TwitchSlime slime = new TwitchSlime(Vector2.Zero, Game1.player.deepestMineLevel); if (tiny) { slime.willDestroyObjectsUnderfoot = false; slime.moveTowardPlayer(4); slime.Scale = (float)(0.50 + (double)Game1.random.Next(-5, 10) / 100.0); slime.MaxHealth = slime.MaxHealth / 4; slime.Health = slime.MaxHealth; } SpawnTwitchNPC(name, slime); break; case TwitchMobType.Crab: SpawnTwitchNPC(name, new TwitchCrab(Vector2.Zero)); break; case TwitchMobType.Bug: TwitchBug bug = new TwitchBug(Vector2.Zero, -1); bug.faceDirection(Game1.random.Next(4)); SpawnTwitchNPC(name, bug); break; case TwitchMobType.Fly: TwitchFly fly = new TwitchFly(Vector2.Zero, false); fly.focusedOnFarmers = true; SpawnTwitchNPC(name, fly); break; case TwitchMobType.Bat: TwitchBat bat = SpecialBatSpawn(); bat.focusedOnFarmers = true; SpawnTwitchNPC(name, bat); break; case TwitchMobType.BigSlime: SpawnTwitchNPC(name, new TwitchBigSlime(Vector2.Zero)); break; } }
private void InputEvents_ButtonPressed(object sender, ButtonPressedEventArgs e) { this.Monitor.Log(e.Button.ToString()); if (e.Button.Equals(SButton.B)) { this.Monitor.Log("B was pressed"); Array values = Enum.GetValues(typeof(TwitchMobType)); Random random = new Random(); TwitchMobType randomType = (TwitchMobType)values.GetValue(random.Next(values.Length)); string name = "test name" + random.Next(); Spawner.AddMonsterToSpawnFromType(randomType, name); //Junimo j = new TwitchJunimo(Vector2.Zero); //j.Name = "test name" + (i > 0 ? "'s npc" : ""); //j.collidesWithOtherCharacters.Value = false; //Spawner.addSubToSpawn(j); } }
public static bool IsMonsterEnabled(TwitchMobType type) { switch (type) { case TwitchMobType.Slime: return(BNC_Core.config.Bits_To_Spawn_Slimes_Range != null); case TwitchMobType.Crab: return(BNC_Core.config.Bits_To_Spawn_Crabs_Range != null); case TwitchMobType.Bug: return(BNC_Core.config.Bits_To_Spawn_Bugs_Range != null); case TwitchMobType.Fly: return(BNC_Core.config.Bits_To_Spawn_Fly_Range != null); case TwitchMobType.Bat: return(BNC_Core.config.Bits_To_Spawn_Bat_Range != null); case TwitchMobType.BigSlime: return(BNC_Core.config.Bits_To_Spawn_Big_Slimes_Range != null); } return(false); }