why does the enemy instakill

i am currently in early stages of a survival game, but i have a problem that the enemy instakills me and i instakill the ememy.
Everything should work but it just doesn’t, does someone know what is wrong?

using UnityEngine.UI;
using UnityEngine;
using UnityEngine.SceneManagement;

public class PlayerHealthScript : MonoBehaviour
{
    public int CurrentHP = 100;
    public int MaxHP = 100;
    public Text ValueText;
    
    void Start()
    {
        CurrentHP = MaxHP;
    }

    void Update()
    {
        if(CurrentHP < 0)
        {
            Die();
        }
            ValueText.text = CurrentHP.ToString();
    }
    
    public void Die()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);
    }
    
    public void DealDamage(int EnemyDamage)
    {
        CurrentHP =- EnemyDamage;
    }

}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CollisionDetection : MonoBehaviour
{
    public int EnemyHealth = 50;
    public GameObject HitParticle;
    public Transform parPos;
    public int EnemyDamage = 1;

    void Update()
    {
        if(EnemyHealth < 0)
        {
            EnemyDie();
        }
    }
    
    public void TakeDamage(int WeaponDamage)
    {
        EnemyHealth =- WeaponDamage;
        Instantiate(HitParticle, parPos.position, parPos.rotation);
    }

    void EnemyDie()
    {
        Destroy(gameObject);
    }

    void OnTriggerEnter(Collider PlayerDam)
    {
        if(PlayerDam.gameObject.tag == "Player")
        {
            PlayerDam.GetComponent<PlayerHealthScript>(). DealDamage(EnemyDamage);
        }
    }
    
}

@HugoOnCaffeine
Here is the corrected code for the PlayerHealthScript and CollisionDetection classes:

using UnityEngine.UI;
using UnityEngine;
using UnityEngine.SceneManagement;

public class PlayerHealthScript : MonoBehaviour
{
    public int CurrentHP = 100;
    public int MaxHP = 100;
    public Text ValueText;

    void Start()
    {
        CurrentHP = MaxHP;
        UpdateHealthText();
    }

    void Update()
    {
        if (CurrentHP <= 0)
        {
            Die();
        }
    }

    public void Die()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);
    }

    public void DealDamage(int EnemyDamage)
    {
        CurrentHP -= EnemyDamage;
        UpdateHealthText();
    }

    private void UpdateHealthText()
    {
        ValueText.text = CurrentHP.ToString();
    }
}


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CollisionDetection : MonoBehaviour
{
    public int EnemyHealth = 50;
    public GameObject HitParticle;
    public Transform parPos;
    public int EnemyDamage = 1;

    void Update()
    {
        if (EnemyHealth <= 0)
        {
            EnemyDie();
        }
    }

    public void TakeDamage(int WeaponDamage)
    {
        EnemyHealth -= WeaponDamage;
        Instantiate(HitParticle, parPos.position, parPos.rotation);
    }

    void EnemyDie()
    {
        Destroy(gameObject);
    }

    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "Player")
        {
            other.GetComponent<PlayerHealthScript>().DealDamage(EnemyDamage);
        }
    }
}

**The changes made in PlayerHealthScript include:

Adding a call to UpdateHealthText() in the Start() method to initialize the health UI text.
Changing the check in the Update() method to if (CurrentHP <= 0) to handle cases where the player’s health drops exactly to 0.
Updating the DealDamage() method to subtract the enemy’s damage from the player’s health and then update the health UI text.
The changes made in CollisionDetection include:

Changing the check in the Update() method to if (EnemyHealth <= 0) to handle cases where the enemy’s health drops exactly to 0.
Updating the TakeDamage() method to subtract the weapon’s damage from the enemy’s health and then instantiate the hit particle effect.
Updating the OnTriggerEnter() method to use the other parameter instead of PlayerDam and to check for the “Player” tag on the other object.**

thanks, sometimes im pretty dumb