public Enemy SpawnEnemy(AreaInfoStruct areaInfo, int level = -1) { Enemy enemy = null; int roll = Random.Range(0, areaInfo.enemies.Length); enemy = Instantiate(areaInfo.enemies[roll], new Vector3(0, 0, 0), Quaternion.identity); if (level == -1) { enemy.SetLevel(Random.Range(areaInfo.minLevel, areaInfo.maxLevel + 1)); } else { enemy.SetLevel(level); } //Chance to spawn magic enemy improved by hosts special monster multiplier if (Random.Range(0, 1f) <= chanceForSpecialMonster * playerStats.GetSpecialMonsterMultiplier()) { var me = enemy.gameObject.AddComponent <MagicEnemy>(); Debug.Log("Spawned Magic enemy!" + me.name); } NetworkServer.Spawn(enemy.gameObject); return(enemy.GetComponent <Enemy>()); }
public void SetArea(int areaNumber) { area = areaNumber; currentArea = areaInformation[area]; }
void RpcClientStartCombat(int areaNumber) { FindObjectOfType <CombatHud>().Init(areaNumber); currentArea = areaInformation[areaNumber]; areaLoadedEvent.Invoke(currentArea); }