Пример #1
0
 public MonsterB()
 {
     _Settings = new MonsterSettings {
         Name                 = "MonsterB",
         EXP                  = 5,
         MaxHP                = 400,
         MaxMP                = 50,
         BodyRange            = 5,
         MoveSpeed            = 10,
         AlertRange           = 50,
         AttackRange          = 15,
         AttackInterval       = 1,
         ThreatChangeSpeed    = 1,
         EscapingStartHPLimit = 100,
         EscapingEndHPLimit   = 300,
         AngryThreatLimit     = 200,
         MoveThreatLimit      = 50,
     };
     Entity = GameObject.Instantiate <GameObject>(Game.MonsterPrefab);
     Entity.transform.localScale = new Vector3(_Settings.BodyRange, _Settings.BodyRange, 1);
     Entity.GetComponent <MeshRenderer>().material.color = new Color(255, 0, 0);
     HealthBoard = GameObject.Instantiate <GameObject>(Game.HealthBoardPrefab);
     HBText      = HealthBoard.GetComponent <TextMesh>();
     Controller  = new MonsterStateController(this);
     SetID(Game.GetMonsterID());
     SetThreat(0);
     SetHP(_Settings.MaxHP);
     SetMP(_Settings.MaxMP);
 }
Пример #2
0
            public FarmConfig()
            {
                //basic on/off toggles
                ForageSpawnEnabled      = false;
                LargeObjectSpawnEnabled = false;
                OreSpawnEnabled         = false;
                MonsterSpawnEnabled     = false;

                //settings for each generation type (assigned in the default constructor for each of these "Settings" objects; see those for details)
                Forage_Spawn_Settings       = new ForageSettings();
                Large_Object_Spawn_Settings = new LargeObjectSettings();
                Ore_Spawn_Settings          = new OreSettings();
                Monster_Spawn_Settings      = new MonsterSettings();
            }
Пример #3
0
    private IEnumerator Spawn()
    {
        StartCoroutine(GetGameController._GetGameController.Timer());
        for (float i = _tideTime; i > 0; i -= Pause)
        {
            yield return(new WaitForSeconds(Pause));

            MonsterSettings newSettings = Monsters[Random.Range(0, Monsters.Length - 1)];

            GameObject NewMonster = new GameObject();
            NewMonster.transform.position = transform.position;
            NewMonster.name = "monster";
            NewMonster.tag  = "Enemy";
            NewMonster.AddComponent <CircleCollider2D>();
            SpriteRenderer spriteRenderer = NewMonster.AddComponent <SpriteRenderer>();
            spriteRenderer.sprite = newSettings.Sprite;
            NewMonster.AddComponent <Monster>().Settings = newSettings;
        }
        _tideIsActive = false;
    }
Пример #4
0
            public FarmConfig()
            {
                //basic on/off toggles
                ForageSpawnEnabled      = false;
                LargeObjectSpawnEnabled = false;
                OreSpawnEnabled         = false;
                MonsterSpawnEnabled     = false;

                //settings for each generation type (assigned in the default constructor for each of these "Settings" objects; see those for details)
                Forage_Spawn_Settings       = new ForageSettings();
                Large_Object_Spawn_Settings = new LargeObjectSettings();
                Ore_Spawn_Settings          = new OreSettings();
                Monster_Spawn_Settings      = new MonsterSettings();

                //a list of every tilesheet index commonly used by "quarry" tiles on maps, e.g. the vanilla hilltop (mining) farm
                //these should be compared to [an instance of GameLocation].getTileIndexAt(x, y, "Back")
                QuarryTileIndex = new int[] { 556, 558, 583, 606, 607, 608, 630, 635, 636, 680, 681, 685 };
                //NOTE: swap in the following code to cover more tiles, e.g. the grassy edges of the "quarry" dirt; this tends to cover too much ground and weird spots, though, such as the farm's cave entrance
                //{ 556, 558, 583, 606, 607, 608, 630, 631, 632, 633, 634, 635, 636, 654, 655, 656, 657, 658, 659, 679, 680, 681, 682, 683, 684, 685, 704, 705, 706, 707 };

                File_Conditions = new FileConditions(); //settings determining whether this config is used for a given farm
            }