public float GetAttackGrowth(Enemy.Type type) { int level = _levelManager.GetCurrentLevel(); if (level <= 5) { return(1); } level -= 6; switch (type) { case Enemy.Type.Attacking: return((float)Math.Pow(1.3, level)); case Enemy.Type.BossFly: return((float)Math.Pow(1.2, level)); case Enemy.Type.BossAttack: return((float)Math.Pow(1.4, level)); case Enemy.Type.BossTank: return((float)Math.Pow(1.2, level)); } return(0); }
public void SetEnemy(Enemy.Type enemyType) { if (spriteEnemyList.ContainsKey((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Right * SPRITE_MULTI_COMPASS + Enemy.IMAGE_0)) { return; } spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Right * SPRITE_MULTI_COMPASS + Enemy.IMAGE_0, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_right_0", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Right * SPRITE_MULTI_COMPASS + Enemy.IMAGE_1, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_right_1", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Right * SPRITE_MULTI_COMPASS + Enemy.IMAGE_2, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_right_2", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Left * SPRITE_MULTI_COMPASS + Enemy.IMAGE_0, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_left_0", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Left * SPRITE_MULTI_COMPASS + Enemy.IMAGE_1, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_left_1", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Left * SPRITE_MULTI_COMPASS + Enemy.IMAGE_2, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_left_2", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Top * SPRITE_MULTI_COMPASS + Enemy.IMAGE_0, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_top_0", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Top * SPRITE_MULTI_COMPASS + Enemy.IMAGE_1, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_top_1", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Top * SPRITE_MULTI_COMPASS + Enemy.IMAGE_2, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_top_2", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Bottom * SPRITE_MULTI_COMPASS + Enemy.IMAGE_0, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_bottom_0", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Bottom * SPRITE_MULTI_COMPASS + Enemy.IMAGE_1, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_bottom_1", enemyType.ToString().ToLower()))); spriteEnemyList.Add((int)enemyType * SPRITE_MULTI_TYPE + (int)Enemy.Compass.Bottom * SPRITE_MULTI_COMPASS + Enemy.IMAGE_2, Resources.Load <Sprite> (string.Format("Textures/enemy_{0}_bottom_2", enemyType.ToString().ToLower()))); if (enemyType == Enemy.Type.Tengu) { spriteEnemyWeapon = Resources.Load <Sprite> ("Textures/enemy_weapon"); } }
/// <summary> /// @Pre: A row of enemies is needed for the next level /// @Post: A level of enemies (basic, intermediate, or advanced) is added to the enemy list /// @Return: None. /// </summary> /// <param name="enemyType">Type of the enemy.</param> private void AddRowOfEnemy(Enemy.Type enemyType) { Enemy prevEnemy = Enemies.Count > 0 ? Enemies[Enemies.Count - 1][0] : null; float newPosY = prevEnemy == null ? spacing.Y : prevEnemy.Position.Y + prevEnemy.Texture.Height + spacing.Y; Enemies.Add(new List <Enemy>()); for (int x = 1; x <= ENEMIES_PER_ROW; x++) { Enemy enemy = null; switch (enemyType) { case Enemy.Type.Basic: enemy = new Basic(new Vector2(((Game1.textureDictionary["basic"].Width + spacing.X) * x) - spacing.X + (Game1.textureDictionary["basic"].Width * (Enemies.Count % 2)), newPosY)); break; case Enemy.Type.Intermediate: enemy = new Intermediate(new Vector2(((Game1.textureDictionary["intermediate"].Width + spacing.X) * x) - spacing.X + (Game1.textureDictionary["intermediate"].Width * (Enemies.Count % 2)), newPosY)); break; case Enemy.Type.Advanced: enemy = new Advanced(new Vector2(((Game1.textureDictionary["advanced"].Width + spacing.X) * x) - spacing.X + (Game1.textureDictionary["advanced"].Width * (Enemies.Count % 2)), newPosY)); break; } Enemies[Enemies.Count - 1].Add(enemy); } }
private static int GetWordIndex(Glossary.Language language, Enemy.Type enemyType, string name) { foreach (Vocabulary vocab in vocabularies) { if (vocab.type.Equals(enemyType)) { if (language.Equals(Glossary.Language.FR)) { foreach (Word word in vocab.frWords) { if (word.name.Equals(name)) { return(vocab.frWords.IndexOf(word)); } } } else if (language.Equals(Glossary.Language.EN)) { foreach (Word word in vocab.enWords) { if (word.name.Equals(name)) { return(vocab.enWords.IndexOf(word)); } } } } } return(-1); }
public float GetGoldGrowth(Enemy.Type type) { int level = _levelManager.GetCurrentLevel(); if (level <= 5) { return(1); } level -= 6; return((float)Math.Pow(1.1, level)); }
// Choisit aléatoirement le type de l'ennemi en fonction des probabilités public Enemy.Type Choose() { Enemy.Type typeEnemy = 0; int randValue = Random.Range(0, maxProbability); while (lootProbabilities [(int)typeEnemy] <= randValue) { typeEnemy++; } return(typeEnemy); }
public Chances GetChance(Enemy.Type type) { foreach (Chances currentChance in spawnChances) { if (currentChance.type == type) { return(currentChance); } } return(null); }
public static string GetWordTranslation(Enemy.Type enemyType, Word word) { if (Glossary.language.Equals(Glossary.Language.FR)) { return(GetVocabulary(enemyType, Glossary.Language.EN).ElementAt(GetWordIndex(Glossary.Language.FR, enemyType, word.name)).name); } else if (Glossary.language.Equals(Glossary.Language.EN)) { return(GetVocabulary(enemyType, Glossary.Language.FR).ElementAt(GetWordIndex(Glossary.Language.EN, enemyType, word.name)).name); } return(""); }
public Enemy(int level, string image, Enemy.Type type) { this.type = type; this.image = "img/" + image + ".png"; name = "kokot"; DMG = level * 3.5f; INT = level * 3.5f; maxhealth = getenemyhealth(level); health = maxhealth; maxmana = level * 5; mana = maxmana; }
// Update is called once per frame void Update() { if (timer >= spawnRate * fixedTimer) { // random enemy, in a random spawn int r = Random.Range(0, 5); Enemy.Type t = Enemy.Type.WOLF; if (r == 0) { t = Enemy.Type.DRAGON; } if (r == 1) { t = Enemy.Type.DRONE; } if (r == 2) { t = Enemy.Type.FOX; } if (r == 3) { t = Enemy.Type.GORILLA; } if (r == 4) { t = Enemy.Type.WOLF; } GameManager.instance.InstantiateEnemy(t, spawners[Random.Range(0, spawners.Count)].transform.position); timer = 0; // reduce the spawnRate to increase difficulty currentLevel++; if (currentLevel % nbSpawnsPerLevel == 0) { spawnRate -= stepPerLevel; if (spawnRate < 0.1) { spawnRate = 0.1f; } currentLevel = 0; Debug.Log("Arena: increasing difficulty (" + stepPerLevel.ToString("0.00") + ")"); } } timer += Time.deltaTime; }
public Enemy(int level, string image, Enemy.Type type) { float dmg = level * 3.5f; this.type = type; this.image = "img/" + image + ".png"; name = "kokot"; DMG = new Random().Next((int)dmg - 2, (int)dmg + 4); INT = level * 3.5f; maxhealth = getenemyhealth(level); health = maxhealth; maxmana = level * 5; mana = maxmana; }
Enemy.Type GetEnemyType() { float randomValue = Random.Range(0f, 100f); Enemy.Type selectedType = Enemy.Type.Fighter; foreach (Chances chance in spawnChances) { if (randomValue >= chance.spawnStart && randomValue < chance.spawnEnd) { selectedType = chance.type; //Test } } return(selectedType); }
public void InstantiateEnemy(Enemy.Type type) { GameObject enemy; // Change the prefab depending on the enemy switch (type) { case Enemy.Type.FOX: enemy = Instantiate(foxPrefab); break; case Enemy.Type.WOLF: enemy = Instantiate(wolfPrefab); break; case Enemy.Type.DRAGON: enemy = Instantiate(dragonPrefab); break; case Enemy.Type.DRONE: enemy = Instantiate(dronePrefab); break; case Enemy.Type.GORILLA: enemy = Instantiate(gorillaPrefab); break; default: enemy = Instantiate(enemyPrefab); break; } // TODO: CHANGE THAT! if (Random.value < 0.5f) { enemy.transform.position = new Vector3(Random.Range(-10f, -12f), enemy.transform.position.y, Random.Range(8f, 10f)); } else { enemy.transform.position = new Vector3(Random.Range(10f, 12f), enemy.transform.position.y, Random.Range(-8f, -10f)); } Enemy enemyScript = enemy.GetComponentInChildren <Enemy>(); // Generate the enemy's vocabulary depending on its type enemyScript.Initiate(type); }
// Checks if the current word corresponds to one of the enemies' words private void CheckWords() { Utility.Word word = null; // Just for initialisation Enemy.Type type = Enemy.Type.SPIDER; Enemy.correctInput = false; bool fullMatch = false; foreach (GameObject e in gameManagerScript.GetEnemies()) { if ((word = e.GetComponentInChildren <Enemy>().VerifyWord(GetCurrentText())) != null) { type = e.GetComponentInChildren <Enemy>().GetCreatureType(); } if (word != null) { correctWords.Add(word); fullMatch = true; gameManagerScript.nbCorrectWords++; // stats } } // We made a typo if none of the enemies words start with our input if (!Enemy.correctInput && !fullMatch && Input.inputString[0] != '\b') { Camera.main.SendMessage("Typo"); // We count it as an error only if the last input wasn't one if (lastInput) { GameManager.instance.nbErrors++; } } // At least one hit if (fullMatch) { SetCurrentText(""); lastInput = true; } else { lastInput = Enemy.correctInput; } }
public static List <Word> GetVocabulary(Enemy.Type enemyType, Glossary.Language language) { foreach (Vocabulary vocabulary in vocabularies) { if (vocabulary.type.Equals(enemyType)) { if (language.Equals(Glossary.Language.FR)) { return(vocabulary.frWords); } else if (language.Equals(Glossary.Language.EN)) { return(vocabulary.enWords); } } } return(null); }
void OnEnemyTypeChanged(Enemy.Type pType) { if (mActiveGameObjectAsset == null) { return; } Enemy aEnemy = (Enemy)mActiveGameObjectAsset; if (aEnemy == null) { return; } if (pType == aEnemy.mEnemyType) { return; } aEnemy.mEnemyType = pType; }
//public void Menu() //{ // // TODO: make a menu screen // // ask the user for some options // // read in their input and use those values when initializing the game // // remember to clear the screen //} public void Init() { mGameOver = false; mScore = 0; // init player mPlayer = new Player(this); mPlayer.SetPosition(Console.WindowWidth / 2, Console.WindowHeight - 1); // init enemies mEnemies = new List <Enemy>(); for (int i = 0; i < DefNumEnemies; i++) { Enemy.Type type = (Enemy.Type)(Utility.Rand() % 3); int x = Utility.Rand() % Console.WindowWidth; int y = Utility.Rand() % (Console.WindowHeight - (Console.WindowHeight / 4)); float speed; switch (type) { case Enemy.Type.Wanderer: speed = (Utility.Rand() % 5 + 1) / 10.0f; break; case Enemy.Type.Teleporter: speed = Utility.Rand() % 4000 + 1000; break; case Enemy.Type.Bomber: speed = (Utility.Rand() % 10) / 10.0f; break; default: speed = 1f; break; } Enemy e = new Enemy(this, type, x, y, speed); mEnemies.Add(e); } // init bullets mBullets = new List <Bullet>(); }
private IEnumerator SpawnCoroutine(Enemy.Type enemyType, int number, float elapseBetweenEnemy) { for (var i = 0; i < number; i++) { var enemyPrefab = enemies[(uint)enemyType]; var enemy = Instantiate( enemyPrefab, PositionHelper.OnTop( transform, enemyPrefab.transform.localScale.y / 2 ), Quaternion.identity ); _spawnedEnemies.Add(enemy); yield return(new WaitForSeconds(elapseBetweenEnemy)); } }
//reward for killing an enemy internal static int EnemyDamage(Enemy.Type type) { //0=Tank, 1=soldier, 2=airballoon, 3=airplane switch (type) { case Enemy.Type.Tank: return(30); case Enemy.Type.Soldier: return(10); case Enemy.Type.Helicopter: return(25); case Enemy.Type.Airplane: return(50); default: return(10); } }
/// <summary> /// 0=Tank, 1=soldier, 2=airballoon, 3=airplane /// </summary> internal static int EnemyHealth(Enemy.Type type) { //0=Tank, 1=soldier, 2=airballoon, 3=airplane switch (type) { case Enemy.Type.Tank: return(EnemyHealthFunction(3.0)); case Enemy.Type.Soldier: return(EnemyHealthFunction(0.6)); case Enemy.Type.Helicopter: return(EnemyHealthFunction(1.1)); case Enemy.Type.Airplane: return(EnemyHealthFunction(2.3)); default: return(EnemyHealthFunction(1)); } }
//Coroutine that spawns enemies IEnumerator SpawnEnemy(float delay) { //Loop while the game is running while (true) { //Wait for the correct delay yield return(new WaitForSeconds(delay)); Enemy.Type newEnemyType = GetEnemyType(); //Create a new enemy, stock its Enemy Enemy newEnemy = NGUITools.AddChild(gameObject, Resources.Load("Enemies/" + newEnemyType.ToString()) as GameObject).GetComponent <Enemy>(); //Initialize it with random speed newEnemy.Initialize(newEnemyType, Random.Range(minMovementTime, maxMovementTIme)); //Set the new random delay delay = Random.Range(minInterval, maxInterval); //Create a new empty string for destruct code string randomCode = ""; destructCodeChance = GetChance(newEnemyType).hackableChance; //If the random is valid, get a random word if (Random.Range(0f, 100f) < destructCodeChance) { newEnemy.hackable = true; randomCode = GetRandomWord(); } else { newEnemy.hackable = false; } //Set the enemy's the DestructCode newEnemy.SetDestructCode(randomCode); //Add the enemy to the list of enemies enemies.Add(newEnemy); } }
// Spawn un ennemi sur la carte void SpawnEnemy() { Vector3 position = GetNewPosition(); // Vérification dans un rayon de 'minSpawnDistance' qu'il n'y a pas déjà un autre ennemi, un item ou le héros if (!Physics2D.OverlapCircle(position, minSpawnDistance, layerMaskEnemy) && !Physics2D.OverlapCircle(position, minSpawnDistance, layerMaskHero) && !Physics2D.OverlapCircle(position, minSpawnDistance, layerMaskItem)) { // Choisit le type d'ennemi à spawner this.typeEnemy = lootEnemy.Choose(); // Récupère l'ennemi à spawner GameObject obj = lootEnemy.enemyPrefabs[(int)this.typeEnemy].GetInstance(); obj.transform.position = position; obj.transform.rotation = transform.rotation; nbEnemiesSpawned++; Debug.Log("--Enemy type : " + this.typeEnemy); Debug.Log(nbEnemiesSpawned + " enemies spawned !"); } }
//ステータスのセット関数 public void SetStatus(Enemy.Type type, float maxHp, float speed, float searchRange, float attackRange, float moveRange, float money) { _body = transform.Find("Body").gameObject; _deadMat = (Material)Resources.Load("Material/Dead"); _player = GameObject.Find("Player").GetComponent <EntityPlayer>(); //タイプセット _enemyType = type; //初期はアイドル _currentState = State.IDLE; //体力 _properties.HealthProperties = MaxHitPoint; //索敵範囲 if (_searchRange == 0) { _searchRange = searchRange; } //攻撃範囲 if (_attackRange == 0) { _attackRange = attackRange; } //自由移動の幅 if (_freeMoveRange == 0) { _freeMoveRange = moveRange; } //所持金の設定 if (_money == 0) { _money = money; } //初期位置の記憶 _startPosition = gameObject.transform.position; //Managerに生まれたっていう GameStateManager.Instance.IncreaseEnemy(gameObject); _status = gameObject.GetComponent <Status> (); _status.Init(); }
public AudioClip GetAudioClip(Enemy.Type enemyType, AudioClipType clipType) { AudioClip[] clips = null; switch (clipType) { case AudioClipType.Death: if (enemyType == Enemy.Type.Robot) { clips = robotDeathAudio; } else if (enemyType == Enemy.Type.Alien) { clips = alienDeathAudio; } else { clips = mrTDeathAudio; } break; } if (clips != null) { if (clips.Length > 0) { return(clips[Random.Range(0, clips.Length)]); } else { return(null); } } else { return(null); } }
public void RemoveEnemy(Enemy enemyPtr) { _levelManager.TowerController.RemoveEnemy(enemyPtr); Enemy.Type type = enemyPtr.EnemyType; switch (type) { case Enemy.Type.Normal: ++_currentLevelState.NormalKilled; break; case Enemy.Type.Attacking: ++_currentLevelState.AttackKilled; break; case Enemy.Type.Fast: ++_currentLevelState.FastKilled; break; case Enemy.Type.Flying: ++_currentLevelState.FlyingKilled; break; case Enemy.Type.BossAttack: ++_currentLevelState.BossKilled; break; case Enemy.Type.BossFly: ++_currentLevelState.BossKilled; break; case Enemy.Type.BossTank: ++_currentLevelState.BossKilled; break; } _enemiesHolder.Remove(enemyPtr); }
public void InstantiateEnemy(Enemy.Type type, Vector3 pos) { GameObject enemy; // Change the prefab depending on the enemy switch (type) { case Enemy.Type.FOX: enemy = Instantiate(foxPrefab, new Vector3(pos.x, foxPrefab.transform.position.y, pos.z), Quaternion.identity); break; case Enemy.Type.WOLF: enemy = Instantiate(wolfPrefab, new Vector3(pos.x, wolfPrefab.transform.position.y, pos.z), Quaternion.identity); break; case Enemy.Type.DRAGON: enemy = Instantiate(dragonPrefab, new Vector3(pos.x, dragonPrefab.transform.position.y, pos.z), Quaternion.identity); break; case Enemy.Type.DRONE: enemy = Instantiate(dronePrefab, new Vector3(pos.x, dronePrefab.transform.position.y, pos.z), Quaternion.identity); break; case Enemy.Type.GORILLA: enemy = Instantiate(gorillaPrefab, new Vector3(pos.x, gorillaPrefab.transform.position.y, pos.z), Quaternion.identity); break; default: enemy = Instantiate(enemyPrefab, new Vector3(pos.x, enemyPrefab.transform.position.y, pos.z), Quaternion.identity); break; } Enemy enemyScript = enemy.GetComponentInChildren <Enemy>(); // Generate the enemy's vocabulary depending on its type enemyScript.Initiate(type); }
public int GetHpGrowth(Enemy.Type type) { int level = _levelManager.GetCurrentLevel(); if (level <= 5) { return(0); } level -= 6; switch (type) { case Enemy.Type.Normal: return(4 * level); case Enemy.Type.Flying: return(4 * level); case Enemy.Type.Fast: return(2 * level); case Enemy.Type.Attacking: return(4 * level); case Enemy.Type.BossAttack: return(6 * level); case Enemy.Type.BossFly: return(6 * level); case Enemy.Type.BossTank: return(10 * level); default: return(0); } }
public Enemy.Type type; // Type of enemy to create #endregion Fields #region Constructors /// <summary> /// Create a new SpawnCommand. /// </summary> public SpawnCommand(Vector2 pos, Enemy.Type type, TimeSpan offset) { this.pos = pos; this.type = type; this.offset = offset; }
public void OnEnemyKilled(Enemy.Type enemyType) { goals.ForEach(goal => goal.OnEnemyKilled(enemyType)); }
public void OnEnemyKilled(Enemy.Type enemyType) { questSteps[currentStep].OnEnemyKilled(enemyType); }
public override void OnEnemyKilled(Enemy.Type enemyType) { currentNumberOfKills++; }