private void ShootFireball(Vector3 direction, Vector3 startPos) { GameObject bullet = Instantiate(Fireball, startPos + direction, new Quaternion()); bullet.GetComponent <Rigidbody>().velocity = direction.normalized * speed_Fireball; Do_damage do_damage = bullet.GetComponent <Do_damage>(); do_damage.damage = enemy_Stats.attack.GetValue(); do_damage.blockable = false; do_damage.damageLayer = 8; do_damage.splashDamage = false; do_damage.statusEffekt = statusEffekt; do_damage.effectDamage = effectDamage; }
private void ShootBullet(Vector3 direction, Vector3 startPos) { GameObject bullet = Instantiate(attackObj, startPos + direction, new Quaternion()); bullet.GetComponent <Rigidbody>().velocity = direction.normalized * projectile_speed; Do_damage do_damage = bullet.GetComponent <Do_damage>(); do_damage.damage = player_stats.attack.GetValue(); do_damage.damageLayer = 9; do_damage.splashDamage = splashDamage; do_damage.statusEffekt = statusEffekt; do_damage.effectDamage = effectDamage; if (bigBullet) { bullet.transform.localScale *= 2; } }
/*public void attack(){ * RaycastHit hit; * Vector3 direction = Player_stats.player.transform.position- transform.position; * if (Physics.Raycast(transform.position, direction, out hit, Mathf.Infinity)){ * if(hit.collider.gameObject.layer == 8 /*player* /){ * GameObject bullet = Instantiate(attackObj, transform.position+direction.normalized*offset_distance, new Quaternion()); * bullet.GetComponent<Rigidbody>().velocity = direction.normalized *projectile_speed; * Do_damage do_damage = bullet.GetComponent<Do_damage>(); * do_damage.damage = enemy_Stats.attack.GetValue(); * do_damage.damageLayer = 8; * } * } * }*/ // Update is called once per frame void Update() { if (enemy_Stats.attackReady) { //Ray ray = new Ray(transform.position, Player_stats.player.transform.position- transform.position);//mainCam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; Vector3 direction = Player_stats.player.transform.position - transform.position; //Physics.Raycast(ray, out hit); if (Physics.Raycast(transform.position, direction, out hit, Mathf.Infinity)) { if (hit.collider.gameObject.layer == 8 /*player*/) { GameObject bullet = Instantiate(attackObj, transform.position + direction.normalized * offset_distance, new Quaternion()); bullet.GetComponent <Rigidbody>().velocity = direction.normalized * projectile_speed; Do_damage do_damage = bullet.GetComponent <Do_damage>(); do_damage.damage = enemy_Stats.attack.GetValue(); do_damage.damageLayer = 8; do_damage.statusEffekt = statusEffekt; do_damage.effectDamage = effectDamage; } } } }