// Boring start/update part void Start() { animator = GetComponent <Animator>(); eRigidBody = GetComponent <Rigidbody2D> (); eSpriteRenderer = GetComponent <SpriteRenderer> (); monster_attack_arc = Resources.Load <AttackArc> ("Prefabs/UI/monster-attack-arc"); attackCooldownCounter = attackCooldown; roamCooldownCounter = UnityEngine.Random.Range((roamCooldown * 0.75f), roamCooldown * (1.25f)); roamDurationCounter = UnityEngine.Random.Range((roamDuration * 0.75f), roamDuration * (1.25f)); }
// Attacking public void AttackPlayer(Player player) { if (attackCooldownCounter < 0) { /*Vector3 spawnPosition = new Vector3 (transform.position.x, transform.position.y, transform.position.z); * Quaternion direction = Quaternion.LookRotation (Vector3.forward, transform.position - player.transform.position); * Vector3 offset = direction * (new Vector3 (0f, 0.3f, 0f));*/ AttackArc sweep = Instantiate(monster_attack_arc, new Vector3(player.transform.position.x, player.transform.position.y + 0.5f, 0), Quaternion.identity); sweep.origin = "enemy"; sweep.TTL = 0.2f; sweep.pierceDamage = UnityEngine.Random.Range(pierceMinDamage, pierceMaxDamage + 1); sweep.bluntDamage = UnityEngine.Random.Range(bluntMinDamage, bluntMaxDamage + 1); attackCooldownCounter = attackCooldown; } }