//Apply effect for Three Away Dot type Damage void ApplyDamageThreeAwayDot() { if (tileScript != null) { if (tileScript.occupiedBy.ToString() != "Player") { hits[hitsL] = tileScript; } ProjectileScript ps = GameObject.FindGameObjectWithTag("ProjectileController").GetComponent <ProjectileScript>(); ps.ShootProjectile((float)speed, tileScript, this.gameObject, damageType, aoeType); } }
//Apply effect of Random type Damage void ApplyDamageRandom() { if (aoeType == AOEType.MULTIPLE_HIT) { ProjectileScript ps = GameObject.FindGameObjectWithTag("ProjectileController").GetComponent <ProjectileScript>(); ps.ShootProjectile((float)speed, tileScript, this.gameObject, damageType, aoeType); } else { List <TileScript> enemyList = new List <TileScript>(); enemyList = GetEnemyOccupiedTiles(); if (enemyList.Count > 0) { hitsL = 1; hits[0] = enemyList[Random.Range(0, enemyList.Count - 1)]; } } }
//Apply effect for First Hit Projectile type Damage void ApplyDamageFirstHitProj() { if (speed > 1) { if (tileScript != null) { if (tileScript.occupiedBy.ToString() != "Player") { hits[hitsL] = tileScript; } ProjectileScript ps = GameObject.FindGameObjectWithTag("ProjectileController").GetComponent <ProjectileScript>(); ps.ShootProjectile((float)speed, tileScript, this.gameObject, damageType, aoeType); } } else { while (rangeCount < range && !hit && tileScript != null) { if (tileScript == null || tileScript.right == null) { tileScript = null; } else { rangeCount++; tileScript = tileScript.right.GetComponent <TileScript>(); if (tileScript.occupiedBy != null || rangeCount == range) { hit = true; hits[hitsL] = tileScript; hitsL++; } } } } }