예제 #1
0
    public void takeDamage(int damage)
    {
        Debug.Log(myLocation);
        if (damage == 0)
        {
            return;
        }

        if (myLocation == location.board)
        {
            DamageEffect.CreateDamageEffect(myPlayerCard, damage);
        }
        else
        {
            DamageEffect.CreateDamageEffect(Doctor, damage);
        }

        Hp -= damage;

        setStatusEffectColors();

        if (Hp <= 0)
        {
            Die();
        }
    }
예제 #2
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.A))
     {
         DamageEffect.CreateDamageEffect(transform.position, Random.Range(1, 7));
     }
 }
 public void TakeDamage(int amount, int healthAfter)
 {
     if (amount > 0)
     {
         DamageEffect.CreateDamageEffect(transform.position, amount);
         HealthText.text = healthAfter.ToString();
     }
 }
예제 #4
0
 public void TakeDamage(int amount, int healthAfter)
 {
     if (amount != 0)
     {
         DamageEffect.CreateDamageEffect(transform.position, amount);
         HealthText.text = System.Math.Min(healthAfter, charAsset.MaxHealth).ToString();
     }
 }
예제 #5
0
 public void TakeDamage(int amount, int healthAfter)             //metoda przypisująca nową wartość życia
 {
     if (amount > 0)                                             //jeśli atak jest większy od 0
     {
         DamageEffect.CreateDamageEffect(transform.position, amount);
         HealthText.text = healthAfter.ToString();               //przypisanie nowej wartości życia
     }
 }
 public void TakeDamage(int amount, int healthAfter)
 {
     if (amount != 0)
     {
         DamageEffect.CreateDamageEffect(transform.position, amount);
         healthText.text = previewManager.HealthText.text = healthAfter.ToString();
     }
     DebugManager.Instance.DebugMessage(string.Format("{0} takes {1} damage, leaving it at {2}!", cardAsset.name, amount, healthAfter), DebugManager.MessageType.Game);
 }
예제 #7
0
 public void TakeDamage(int amount, int healthAfter, int armorAfter)
 {
     if (amount != 0)
     {
         // TODO
         DamageEffect.CreateDamageEffect(transform.position, amount);
         HealthText.text = healthAfter.ToString();
         //Shield (armorAfter);
     }
 }
예제 #8
0
    public void TakeDamage(int amount, int healthAfter, int armorAfter)
    {
        if (armorAfter == 0)
        {
            ArmorIcon.SetActive(false);
        }

        if (amount > 0)
        {
            DamageEffect.CreateDamageEffect(transform.position, amount);
            HealthText.text = healthAfter.ToString();
            ArmorText.text  = armorAfter.ToString();
        }
    }
예제 #9
0
 /// <summary>
 /// Crea el daño visual en la criatura.
 /// </summary>
 /// <param name="daño">Daño.</param>
 /// <param name="vida">Vida.</param>
 public void HacerDaño(int daño, int vida)
 {
     if (vida > 0)
     {
         DamageEffect.CreateDamageEffect(transform.position, vida, daño);
         if (ConfiguracionUsuario.Instance.ConfiguracionBatalla.Equals(ConfiguracionUsuario.TIPO_CONFIGURACION.ENTERO))
         {
             HealthText.text = (vida - daño).ToString();
         }
         else
         {
             HealthText.text = ConfiguracionUsuario.ObtenerPorcentaje((vida - daño), CartaAsset.Defensa);
         }
     }
 }
예제 #10
0
    public void TakeDamage(int amount, int healthAfter, int armorAfter)
    {
        Debug.Log("Il a " + healthAfter + " HP et " + armorAfter + " armure. Dans OneCreatureManager");

        /*if (amount > 0)
         * {*/
        if (armorAfter == 0)
        {
            ArmorIcon.SetActive(false);
        }

        DamageEffect.CreateDamageEffect(transform.position, amount);
        //}

        HealthText.text = healthAfter.ToString();
        ArmorText.text  = armorAfter.ToString();
    }
예제 #11
0
    public void AttackTarget(int targetUniqueID, int damageTakenByTarget, int damageTakenByAttacker, int attackerHealthAfter, int targetHealthAfter)
    {
        Debug.Log(targetUniqueID);
        manager.CanAttackNow = false;
        GameObject target = IDHolder.GetGameObjectWithID(targetUniqueID);

        // bring this creature to front sorting-wise.
        w.BringToFront();
        VisualStates tempState = w.VisualState;

        w.VisualState = VisualStates.Transition;

        transform.DOMove(target.transform.position, 0.5f).SetLoops(2, LoopType.Yoyo).SetEase(Ease.InCubic).OnComplete(() =>
        {
            if (damageTakenByTarget > 0)
            {
                DamageEffect.CreateDamageEffect(target.transform.position, damageTakenByTarget);
            }
            if (damageTakenByAttacker > 0)
            {
                DamageEffect.CreateDamageEffect(transform.position, damageTakenByAttacker);
            }

            if (targetUniqueID == GlobalSettings.Instance.LowPlayer.PlayerID || targetUniqueID == GlobalSettings.Instance.TopPlayer.PlayerID)
            {
                // target is a player
                target.GetComponent <PlayerPortraitVisual>().HealthText.text = targetHealthAfter.ToString();
            }
            else
            {
                target.GetComponent <CreatureManager>().HealthText.text = targetHealthAfter.ToString();
            }

            w.SetTableSortingOrder();
            w.VisualState = tempState;

            manager.HealthText.text = attackerHealthAfter.ToString();
            Sequence s = DOTween.Sequence();
            s.AppendInterval(1f);
            s.OnComplete(Command.CommandExecutionComplete);
            //Command.CommandExecutionComplete();
        });
    }
예제 #12
0
    public void AttackTarget(int targetUniqueID, int damageTakenByTarget, int damageTakenByAttacker, int attackerHealthAfter, int targetHealthAfter)
    {
        Debug.Log(targetUniqueID);                                        //wypisuje na konsoli ID karty
        manager.CanAttackNow = false;                                     //po wyłożeniu karty blokuje możliwość ataku daną kartą
        GameObject target = IDHolder.GetGameObjectWithID(targetUniqueID); //przypisuje

        // przypisz temu stworowi pierwszeństwo
        w.BringToFront();
        VisualStates tempState = w.VisualState;

        w.VisualState = VisualStates.Transition;

        transform.DOMove(target.transform.position, 0.5f).SetLoops(2, LoopType.Yoyo).SetEase(Ease.InCubic).OnComplete(() =>
        {
            if (damageTakenByTarget > 0)
            {
                DamageEffect.CreateDamageEffect(target.transform.position, damageTakenByTarget);            //tworzenie wyglądu ataku atakującego
            }
            if (damageTakenByAttacker > 0)
            {
                DamageEffect.CreateDamageEffect(transform.position, damageTakenByAttacker);                 //tworzenie wyglądu ataku broniącego się
            }
            if (targetUniqueID == GlobalSettings.Instance.LowPlayer.PlayerID || targetUniqueID == GlobalSettings.Instance.TopPlayer.PlayerID)
            {
                // celem jest gracz
                target.GetComponent <PlayerPortraitVisual>().HealthText.text = targetHealthAfter.ToString();
            }
            else
            {
                target.GetComponent <OneCreatureManager>().HealthText.text = targetHealthAfter.ToString(); //celem jest potwór
            }
            w.SetTableSortingOrder();                                                                      //ustawienie sortowania na stole
            w.VisualState = tempState;                                                                     //przypisuje wartości tymczasowe w danym miejscu

            manager.HealthText.text = attackerHealthAfter.ToString();
            Sequence s = DOTween.Sequence();
            s.AppendInterval(1f);
            s.OnComplete(Command.CommandExecutionComplete);
            //Command.CommandExecutionComplete();
        });
    }
예제 #13
0
            private IEnumerator DoCasualtiesCoroutine()
            {
                yield return(new WaitForSeconds(.2f));

                GameLogicEvents.eventRemoveSingleEffects.Invoke();
                if (Game.instance.Casualties > 0)
                {
                    Vector2 pos = Visual.instance.LossCounter.transform.localPosition;
                    DamageEffect.CreateDamageEffect(pos, Game.instance.Casualties);
                }


                List <OneCardManager> curEnc = Visual.instance.GetCurrentEncounter();

                foreach (OneCardManager cm in curEnc)
                {
                    yield return(new WaitForSeconds(EndTurn.SmallAmountOfTime));

                    bool isResolved = cm.cardAsset.resolved == ResolvedType.resolved_win;
                    if (isResolved)
                    {
                        VisualTool.DiscardCardToWinningPile(cm);
                    }
                    else
                    {
                        VisualTool.DiscardCardToDiscardPile(cm);
                    }
                }
                yield return(new WaitForSeconds(TimeMovement1 + DelayTime));

                Debug.Log("CommandDoCasualties");
                GameLogicModifyGame.DoCasualties();
                GameLogicEvents.eventUpdateLossCounter.Invoke();
                GameLogicEvents.eventUpdateCrewCounter.Invoke();
                Command.CommandExecutionComplete();
            }
예제 #14
0
 public void TakeDamage(int amount, int healthAfter)
 {
     DamageEffect.CreateDamageEffect(transform.position, amount);
     HealthText.text = healthAfter.ToString();
     DebugManager.Instance.DebugMessage(string.Format("{0} player takes {1} damage, leaving them at {2}!", owner, amount, healthAfter), DebugManager.MessageType.Game);
 }
예제 #15
0
 public override void StartCommandExecution()
 {
     DamageEffect.CreateDamageEffect(targetMonster.transform.position, damage);
     Command.CommandExecutionComplete();
 }