예제 #1
0
        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);
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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);
        }