private void OnTriggerStay(Collider other) { //TODO: Cambiar el daño a un script DamageWeapon asignado a la arma //que haga daño cuando un enemigo entra en el collider del arma //y el pesonaje esté en modo de ataque... Debug.Log(other.tag); if (superattack && other.tag == "Enemy") { float baseDamage = 10.0f; float playerDamage = GetComponent <PlayerAgent>().playerCharacterData.strength; float enemyDefense = other.GetComponent <NPCAgent>().npcData.defense; //TODO: añadir modificadores según armas del player / defensas del enemy... foreach (GameObject weapon in weapons) { if (weapon.activeInHierarchy) { playerDamage += weapon.GetComponent <InventoryItemAgent>().item.Strength; } } NPCAgent agent = other.GetComponent <NPCAgent>(); agent.npcData.health -= baseDamage * playerDamage / enemyDefense * Time.deltaTime; Debug.Log("Mi player tiene que hacer: " + baseDamage * playerDamage / enemyDefense * Time.deltaTime); if (agent.npcData.health <= 0) { other.GetComponent <NPC_Barbarian>().die = true; } } }
private void OnTriggerEnter(Collider other) { // TODO: Cambiar el daño a un script DamageWeapon asignado a la arma que haga daño cuando un enemigo entra en el collider del arma if (attack && other.tag == "Enemy") { float baseDamage = 10.0f; float playerDamage = GetComponent <PlayerAgent>().playerCharacterData.strength; float enemyDefense = GetComponent <NPCAgent>().npcData.defense; //ToDo añadir modificadores según armas del player / defensas del enemy NPCAgent agent = other.GetComponent <NPCAgent>(); agent.npcData.health -= baseDamage * playerDamage * enemyDefense; if (agent.npcData.health <= 0) { //other.GetComponent<NPCBarbarianController> Destroy(other); } } }