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); }
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(); }
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; }
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 }