Example #1
0
    public void takeHit(MoveClass move)
    {
        print("KB is " + move.kB);
        print("Recovery is" + move.recovery);
        print("Hitstun is" + (move.recovery + move.hitStun));
        print("Instant Knockback is " + move.kB * move.recovery / (move.recovery + move.hitStun));

        Debug.Log("hit taken: " + move.dmg);

        if (blocking && move.bStun != -10)           // block chunk
        {
            float instantKnockback = move.kB * move.recovery / (move.recovery + move.hitStun);
            transform.position += transform.right * -instantKnockback;             //Instant Knockback applied

            print(instantKnockback);
            addMove(new MoveClass("Defend", move.bStun, new int[0], 0, 0, 0, 0, 0, move.kB - instantKnockback));
            Debug.Log("Defend queued");
        }
        else if (!blocking || move.bStun == -10)                                         //hit chunk - if not blocking or if thrown
        {
            if (move.kB == -1)                                                           //if a character is knocked down
            {
                addMove(new MoveClass("Knocked Down", 6, new int[0], 0, 0, 0, 0, 0, 0)); //queue knockdown
                Debug.Log("KD queued");
            }

            else                //queue hit turns
            {
                float instantKnockback = move.kB * move.recovery / (move.recovery + move.hitStun);
                transform.position += -transform.right * instantKnockback;                 //Instant Knockback applied

                print(instantKnockback);
                addMove(new MoveClass("Hit", move.hitStun, new int[0], 0, 0, 0, 0, 0, move.kB - instantKnockback));
                Debug.Log("Hit queued.");
            }
        }         //hit chunk ends

        health = health - move.dmg;
        healthBar.HealthUpdate(health);

        //Game Over check
        if (health <= 0)
        {
            iP2.endGame();
        }
    }
Example #2
0
    public void takeHit(MoveClass move)
    {
        Debug.Log("hit taken: " + move.dmg);

        if (blocking && move.bStun != -10)   // block chunk
        {
            float instantKnockback = move.kB * move.recovery / (move.recovery + move.hitStun);
            transform.position += transform.right * -instantKnockback;     //Instant Knockback applied

            addMove(new MoveClass("Defend", move.bStun, new int[0], 0, 0, 0, 0, 0, move.kB - instantKnockback));
            Debug.Log("Defend queued");
        }
        else if (!blocking || move.bStun == -10)                                         //hit chunk - if not blocking or if thrown
        {
            if (move.kB == -1)                                                           //if a character is knocked down
            {
                addMove(new MoveClass("Knocked Down", 6, new int[0], 0, 0, 0, 0, 0, 0)); //queue knockdown
                Debug.Log("KD queued");
            }

            else        //queue hit turns
            {
                float instantKnockback = move.kB * move.recovery / (move.recovery + move.hitStun);
                transform.position += -transform.right * instantKnockback;         //Instant Knockback applied

                addMove(new MoveClass("Hit", move.hitStun, new int[0], 0, 0, 0, 0, 0, move.kB - instantKnockback));
                Debug.Log("Hit queued.");
            }
        } //hit chunk ends

        health = health - move.dmg;
        healthBar.HealthUpdate(health);

        //Game Over check
        if (health <= 0)
        {
            die.Play();
            iP2.endGame();

            myDino.GetComponent <Animation>().PlayQueued("Lose", QueueMode.PlayNow);
        }
    }