예제 #1
0
    public static void Create(Vector3 position, float damageAmount, Color customColor)
    {
        Transform   damagePopUpTransform = Instantiate(GameAssets.i.pfDamagePopUp, position, Quaternion.identity);
        DamagePopUp damagePopup          = damagePopUpTransform.GetComponent <DamagePopUp>();

        damagePopup.Setup(damageAmount, customColor);
    }
예제 #2
0
    //Create a damage popup
    public static DamagePopUp Create(Vector3 position, string effect, bool isWounding)
    {
        Transform   damagePopUpTransform = Instantiate(GameAssets.i.damagePopUp, position + new Vector3(0, 0.5f), Camera.main.transform.rotation);
        DamagePopUp damagePopUp          = damagePopUpTransform.GetComponent <DamagePopUp>();

        damagePopUp.Setup(effect, isWounding);
        return(damagePopUp);
    }
예제 #3
0
    public static DamagePopUp Create(Vector3 position, int damageAmount, bool isCriticalHit)
    {
        Transform   damagePopUpTransform = Instantiate(GameAssets.instance.DamagePopUp, position, Quaternion.identity);
        DamagePopUp damagePopUp          = damagePopUpTransform.GetComponent <DamagePopUp>();

        damagePopUp.Setup(damageAmount, isCriticalHit);
        return(damagePopUp);
    }
예제 #4
0
    public static DamagePopUp CreateEnemy(Vector3 position, int damage)
    {
        Transform   damagePopUpTransform = Instantiate(GameAssets.i.pfDamagePopUpEnemy, position, Quaternion.identity);
        DamagePopUp damagePopUp          = damagePopUpTransform.GetComponent <DamagePopUp>();

        damagePopUp.Setup(damage);

        return(damagePopUp);
    }
예제 #5
0
    // Start is called before the first frame update
    public static DamagePopUp Create(Transform copy, Vector3 offset, int damage, Transform parent)
    {
        Transform   damageposition = Instantiate(copy, Vector3.zero, Quaternion.identity);
        DamagePopUp damagePopUp    = damageposition.GetComponent <DamagePopUp>();

        damageposition.transform.SetParent(parent);
        damageposition.transform.position = parent.transform.position + offset;
        damagePopUp.Setup(damage);
        return(damagePopUp);
    }
예제 #6
0
    // Creating DamagePopup

    public static DamagePopUp Create(Vector3 postion, int damageAmount)
    {
        var damagePopTransform = Instantiate(PlayerHealth.instance.damagePopUpText, postion,
                                             Quaternion.identity);

        DamagePopUp damagePop = damagePopTransform.GetComponent <DamagePopUp>();

        damagePop.Setup(damageAmount);

        return(damagePop);
    }
예제 #7
0
    private void PowerDamage(Player PlayerComponent, Health component)
    {
        int dmg = (Random.Range(PlayerComponent.RangedPowerAttackMinDamage, PlayerComponent.RangedPowerAttackMaxDamage));

        component.TakeDamage(dmg, PlayerComponent.RangedPowerAttackCanPoison, PlayerComponent.RangedPoisonDamaged,
                             PlayerComponent.RangedPoisonFrequency, PlayerComponent.RangedPoisonTick, PlayerComponent.RangedPoisonChance, PlayerComponent.RangedPowerAttackCanFire,
                             PlayerComponent.RangedFireDamaged, PlayerComponent.RangedFireFrequency, PlayerComponent.RangedFireTick, PlayerComponent.RangedFireChance,
                             PlayerComponent.RangedPowerAttackCanPush, PlayerComponent.RangedPushDistance, PlayerComponent.RangedPowerAttackCanFreez,
                             PlayerComponent.RangedFreezDuration, PlayerComponent.RangedFreezChance, PlayerComponent.RangedPowerAttackCanPushUp, PlayerComponent.RangedPushUpDistance,
                             PlayerComponent.RangedPowerAttackCanStun, PlayerComponent.RangedStunDuration, PlayerComponent.RangedStunChance);

        if (!damageShow)
        {
            Transform   damagePopupTransform = Instantiate(PopUpDamage, transform.position, Quaternion.identity);
            DamagePopUp damagePopUp          = damagePopupTransform.GetComponent <DamagePopUp>();
            damagePopUp.Setup(dmg, false);
            damageShow = true;
        }
    }
예제 #8
0
    private void CriticalDamage(Enemy EnemyComponent, Health component, bool didDamage)
    {
        int dmg = (Random.Range(EnemyComponent.RangedAttackMinDamage, EnemyComponent.RangedAttackMaxDamage))
                  * EnemyComponent.RangedCriticalDamageMultiply;

        didDamage = component.TakeDamage(dmg, EnemyComponent.RangedAttackCanPoison, EnemyComponent.RangedPoisonDamaged,
                                         EnemyComponent.RangedPoisonFrequency, EnemyComponent.RangedPoisonTick, EnemyComponent.RangedPoisonChance, EnemyComponent.RangedAttackCanFire,
                                         EnemyComponent.RangedFireDamaged, EnemyComponent.RangedFireFrequency, EnemyComponent.RangedFireTick, EnemyComponent.RangedFireChance,
                                         EnemyComponent.RangedAttackCanPush, EnemyComponent.RangedPushDistance, EnemyComponent.RangedAttackCanFreez,
                                         EnemyComponent.RangedFreezDuration, EnemyComponent.RangedFreezChance, EnemyComponent.RangedAttackCanPushUp, EnemyComponent.RangedPushUpDistance,
                                         EnemyComponent.RangedAttackCanStun, EnemyComponent.RangedStunDuration, EnemyComponent.RangedStunChance);

        if (!damageShow)
        {
            Transform   damagePopupTransform = Instantiate(PopUpDamage, transform.position, Quaternion.identity);
            DamagePopUp damagePopUp          = damagePopupTransform.GetComponent <DamagePopUp>();
            damagePopUp.Setup(dmg, true);
            damageShow = true;
        }
    }
예제 #9
0
    private void PowerCriticalDamage(Player PlayerComponent, Health component, bool didDamage) // TODO Power ко всему доделать
    {
        int dmg = (Random.Range(PlayerComponent.MeleePowerAttackMinDamage, PlayerComponent.MeleePowerAttackMaxDamage + 1))
                  * PlayerComponent.MeleePowerCriticalDamageMultiply;

        didDamage = component.TakeDamage(dmg, PlayerComponent.MeleeAttackCanPoison, PlayerComponent.MeleePoisonDamaged,
                                         PlayerComponent.MeleePoisonFrequency, PlayerComponent.MeleePoisonTick, PlayerComponent.MeleePoisonChance, PlayerComponent.MeleeAttackCanFire,
                                         PlayerComponent.MeleeFireDamaged, PlayerComponent.MeleeFireFrequency, PlayerComponent.MeleeFireTick, PlayerComponent.MeleeFireChance,
                                         PlayerComponent.MeleePowerAttackCanPush, PlayerComponent.MeleePushDistance, PlayerComponent.MeleeAttackCanFreez,
                                         PlayerComponent.MeleeFreezDuration, PlayerComponent.MeleeFreezChance, PlayerComponent.MeleePowerAttackCanPushUp, PlayerComponent.MeleePushUpDistance,
                                         PlayerComponent.MeleePowerAttackCanStun, PlayerComponent.MeleeStunDuration, PlayerComponent.MeleeStunChance);

        if (!damageShow)
        {
            Transform   damagePopupTransform = Instantiate(PopUpDamage, transform.position, Quaternion.identity);
            DamagePopUp damagePopUp          = damagePopupTransform.GetComponent <DamagePopUp>();
            damagePopUp.Setup(dmg, false);
            damageShow = true;
        }
    }