void SendReport(AIFight aiFight) { if (aifight.hp <= 0) { GameController.gameController.report.GenerateMessage(shooter.name, aiFight.aiClass.name, shooter.gameObject.tag); } }
void DealDamage(Collision2D other) { if (!stop) { totalDamage = basicDamage + (rb.velocity.magnitude / 60) * basicDamage - shieldArmor; if (totalDamage < 0) { totalDamage = 0; } HitHorse(other); HitWheel(other); HitVehicle(other); HitAnimal(other); if (other.collider.CompareTag("Enemy")) { aifight = other.collider.GetComponent <AIFight>(); aifight.hp -= totalDamage; BleedEffect(); SendReport(aifight); } else if (other.collider.CompareTag("Ally")) { aifight = other.collider.GetComponent <AIFight>(); aifight.hp -= totalDamage; BleedEffect(); SendReport(aifight); } else if (other.collider.CompareTag("Player")) { playerFight = other.collider.GetComponent <PlayerFight>(); playerFight.hp -= totalDamage; BleedEffect(); } } }
// Use this for initialization void Start() { aiFight = transform.parent.parent.GetComponent <AIFight>(); shieldArmor = 5; shieldRange = GetComponent <Collider2D>(); user = transform.parent.parent; }
void Start() { status = GetComponent <AIStatus>(); navi = GetComponent <NavMeshAgent>(); anim = GetComponent <Animator>(); fight = GetComponent <AIFight>(); leftHandTrigger.enabled = false; rightHandTrigger.enabled = false; }
// Use this for initialization void Start() { aiClass = GetComponent <AIClass>(); aiFight = GetComponent <AIFight>(); aiMovement = GetComponent <AIMovement>(); aiInteract = GetComponent <AIInteract>(); CheckJob(); GameController.gameController.questControl.GenerateQuest(job, this); }
void Start() { aiClass = transform.parent.parent.GetComponent <AIClass>(); aiMovement = transform.parent.parent.GetComponent <AIMovement>(); playerMovement = transform.parent.parent.GetComponent <PlayerMovements>(); aiFight = transform.parent.parent.GetComponent <AIFight>(); animator = transform.parent.parent.GetComponent <Animator>(); mainHand = transform.parent.transform; body = mainHand.parent.transform; attacking = false; distance = 0f; CheckType(); }
void ClearTarget() { if (!aiMovement.inRange) { aimming = false; } if (playerFight) { if (gameObject.CompareTag("Enemy") & target.CompareTag("Player")) { if (playerFight.dead) { target = null; aiMovement.target = null; hasTarget = false; aiFight = null; } } } else if (aiFight) { if (gameObject.CompareTag("Enemy") | target.CompareTag("Ally")) { if (aiFight.dead) { target = null; aiMovement.target = null; hasTarget = false; playerFight = null; } } else if (gameObject.CompareTag("Ally") | target.CompareTag("Enemy")) { if (aiFight.dead) { target = null; aiMovement.target = null; hasTarget = false; } } } }
void Start() { GetSprite(); //SetItemList(); armor = GetComponent <Armor>(); animator = GetComponent <Animator>(); thisMan = GetComponent <AIFight>(); thisPlayer = GetComponent <PlayerFight>(); aiMovement = GetComponent <AIMovement>(); playerMovement = GetComponent <PlayerMovements>(); offHand.GetComponent <SpriteRenderer>().sprite = null; mainHand.GetComponent <SpriteRenderer>().sprite = null; bodyArmor.GetComponent <SpriteRenderer>().sprite = null; back.GetComponent <SpriteRenderer>().sprite = null; back2.GetComponent <SpriteRenderer>().sprite = null; bowLeft.GetComponent <SpriteRenderer>().sprite = null; bowRight.GetComponent <SpriteRenderer>().sprite = null; SetLevel(); CheckClass(); }
void FindTargetWithTag() { if (gameObject.CompareTag("Ally")) { allTargets = GameObject.FindGameObjectsWithTag("Enemy"); } else if (gameObject.CompareTag("Enemy")) { allTargets = GameObject.FindGameObjectsWithTag("Ally"); } for (int i = 0; i < allTargets.Length; i++) { distance = Vector2.Distance(allTargets[i].transform.position, transform.position); if (i - 1 >= 0) { lastDistance = Vector2.Distance(allTargets[i - 1].transform.position, transform.position); if (allTargets.Length - 1 > nearestTargetNumber) { if (distance < lastDistance & distance < Vector2.Distance(allTargets[nearestTargetNumber].transform.position, transform.position) & !allTargets[i].GetComponent <AIFight>().dead) { nearestTarget = allTargets[i].transform; nearestTargetNumber = i; } } else { nearestTargetNumber -= 1; } } } if (allTargets.Length - 1 >= nearestTargetNumber) { nearestTarget = allTargets[nearestTargetNumber].transform; } if (allTargets.Length == 1) { nearestTarget = allTargets[0].transform; } else if (allTargets.Length == 0) { nearestTarget = null; hasTarget = false; } if (gameObject.CompareTag("Enemy")) { GameObject player; player = null; player = GameObject.FindGameObjectWithTag("Player"); if (player) { playerDistance = Vector2.Distance(player.transform.position, transform.position); } if (allTargets.Length == 1 & !player) { nearestTarget = allTargets[0].transform; hasTarget = true; } else if (allTargets.Length == 0 & !player) { nearestTarget = null; hasTarget = false; } if (player & nearestTarget) { if (playerDistance < Vector2.Distance(nearestTarget.transform.position, transform.position)) { nearestTarget = player.transform; hasTarget = true; } } else if (player) { nearestTarget = player.transform; hasTarget = true; } } if (!movingToSpot & nearestTarget) { if (gameObject.CompareTag("Ally") & nearestTarget.CompareTag("Enemy")) { if (!nearestTarget.GetComponent <AIFight>().dead) { target = nearestTarget.GetComponent <Transform>(); aiFight = target.GetComponent <AIFight>(); aiMovement.target = target; hasTarget = true; playerFight = null; } } else if (gameObject.CompareTag("Enemy") & nearestTarget.CompareTag("Ally")) { if (!nearestTarget.GetComponent <AIFight>().dead) { target = nearestTarget.GetComponent <Transform>(); aiFight = target.GetComponent <AIFight>(); aiMovement.target = target; hasTarget = true; playerFight = null; } } else if (gameObject.CompareTag("Enemy") & nearestTarget.CompareTag("Player")) { if (!nearestTarget.GetComponent <PlayerFight>().dead) { target = nearestTarget.GetComponent <Transform>(); playerFight = target.GetComponent <PlayerFight>(); aiMovement.target = target; hasTarget = true; aiFight = null; } } //Spearman targets horse first nearestTargetDistance = Vector2.Distance(nearestTarget.transform.position, transform.position); if (aiClass.useSpear) { if (nearestTargetDistance > aiClass.spear.nearestHorseDistance & aiClass.spear.horse) { target = aiClass.spear.target; aiMovement.target = aiClass.spear.target; } } } }