void Attack()
    {
        if (inCutscene)
        {
            return;
        }

        if (!inCutscene)
        {
            anim.SetFloat("VerticalInput", InputManager.VerticalInput());
        }

        if (!inCutscene && !forcedWalking)
        {
            anim.SetBool("SpecialHeld", InputManager.Button(Buttons.SPECIAL));
        }
        else
        {
            anim.SetBool("SpecialHeld", false);
        }


        if (InputManager.ButtonDown(Buttons.ATTACK) && !inMeteor)
        {
            anim.SetTrigger(Buttons.ATTACK);
        }
        else if (!grounded && InputManager.Button(Buttons.SPECIAL) && InputManager.VerticalInput() < 0 && !supercruise)
        {
            if (unlocks.HasAbility(Ability.Meteor))
            {
                MeteorSlam();
            }
        }
        else if (InputManager.Button(Buttons.SPECIAL) && canUpSlash && InputManager.VerticalInput() > 0 && !supercruise && !touchingWall && !grounded)
        {
            UpSlash();
        }
    }
    void Attack()
    {
        if (inCutscene)
        {
            return;
        }

        anim.SetFloat("VerticalInput", Input.GetAxis("Vertical"));

        if (!inCutscene && !forcedWalking)
        {
            anim.SetBool("SpecialHeld", Input.GetButton("Special"));
        }
        else
        {
            anim.SetBool("SpecialHeld", false);
        }

        if (Input.GetButtonDown("Attack") && !frozen && !inMeteor)
        {
            wings.FoldIn();
            anim.SetTrigger("Attack");
        }

        else if (!grounded && Input.GetButtonDown("Special") && Input.GetAxis("Vertical") < 0 && !dashing && !supercruise)
        {
            if (unlocks.HasAbility(Ability.Meteor))
            {
                MeteorSlam();
            }
        }

        else if (Input.GetButtonDown("Attack") && Input.GetAxis("Vertical") < 0 && supercruise)
        {
            anim.SetTrigger("Attack");
        }
    }
 void Start()
 {
     unlocks          = GetComponentInParent <PlayerUnlocks>();
     rb2d             = GetComponent <Rigidbody2D>();
     anim             = GetComponent <Animator>();
     this.facingRight = false;
     currentHP        = 5;  //unlocks.maxHP;
     currentEnergy    = 50; //unlocks.maxEnergy;
     maxEnergy        = 50;
     cyanMaterial     = Resources.Load <Material>("Shaders/CyanFlash");
     spr             = GetComponent <SpriteRenderer>();
     defaultMaterial = GetComponent <SpriteRenderer>().material;
     gunEyes         = transform.Find("GunEyes").transform;
     gun             = GetComponentInChildren <Gun>();
     interaction     = GetComponentInChildren <InteractAppendage>();
     wings           = transform.Find("Wings").GetComponent <PlayerWings>();
     anim.SetBool("CanSupercruise", unlocks.HasAbility(Ability.Supercruise));
     Flip();
     ResetAirJumps();
 }
Esempio n. 4
0
    void Attack()
    {
        if (inCutscene || dead || stunned)
        {
            return;
        }

        if (!inCutscene)
        {
            anim.SetFloat("VerticalInput", InputManager.VerticalInput());
        }

        if (!inCutscene && !forcedWalking)
        {
            anim.SetBool("SpecialHeld", InputManager.Button(Buttons.SPECIAL));
        }
        else
        {
            anim.SetBool("SpecialHeld", false);
        }

        UpdateAttackGraph();

        if (grounded)
        {
            if (InputManager.AttackInput() && !InAttackStates())
            {
                anim.SetTrigger(Buttons.ATTACK);
            }
        }
        else
        {
            if (InputManager.ButtonDown(Buttons.PUNCH))
            {
                anim.SetTrigger(Buttons.PUNCH);
                if (!InAttackStates())
                {
                    anim.SetTrigger(Buttons.ATTACK);
                }
            }
            else if (InputManager.ButtonDown(Buttons.KICK) && !inMeteor)
            {
                anim.SetTrigger(Buttons.KICK);
                if (!InAttackStates())
                {
                    anim.SetTrigger(Buttons.ATTACK);
                }
            }
        }

        if (InputManager.ButtonDown(Buttons.SPECIAL) && InputManager.HasHorizontalInput() && (!frozen || justLeftWall) && Mathf.Abs(InputManager.VerticalInput()) < 0.7f)
        {
            if (unlocks.HasAbility(Ability.Dash))
            {
                Dash();
            }
        }
        else if (InputManager.ButtonDown(Buttons.SPECIAL) && InputManager.VerticalInput() < -0.2f && wall == null && !inMeteor)
        {
            if (!grounded)
            {
                if (unlocks.HasAbility(Ability.Meteor))
                {
                    MeteorSlam();
                }
            }
            else
            {
                //Reflect();
            }
        }
        else if (InputManager.ButtonDown(Buttons.SPECIAL) && canFlipKick && (wall == null) && !grounded && InputManager.VerticalInput() > 0.7f)
        {
            OrcaFlip();
        }
        else if (InputManager.ButtonDown(Buttons.BLOCK) && !canParry && unlocks.HasAbility(Ability.Parry) && currentEnergy >= 1)
        {
            InterruptEverything();
            anim.SetTrigger(Buttons.BLOCK);
            // i made the poor decision to track the timings with BlockBehaviour.cs
        }
    }
Esempio n. 5
0
    void Attack()
    {
        if (inCutscene || dead)
        {
            return;
        }

        if (!inCutscene)
        {
            anim.SetFloat("VerticalInput", InputManager.VerticalInput());
        }

        if (!inCutscene && !forcedWalking)
        {
            anim.SetBool("SpecialHeld", InputManager.Button(Buttons.SPECIAL));
        }
        else
        {
            anim.SetBool("SpecialHeld", false);
        }


        if (InputManager.ButtonDown(Buttons.ATTACK) && !inMeteor)
        {
            anim.SetTrigger(Buttons.ATTACK);
        }
        else if (InputManager.ButtonDown(Buttons.PUNCH))
        {
            anim.SetTrigger(Buttons.PUNCH);
            // use one trigger to get to the attack state machine, because there are a bunch of transitions to it
            if (!InAttackStates())
            {
                anim.SetTrigger(Buttons.ATTACK);
            }
        }
        else if (InputManager.ButtonDown(Buttons.KICK) && !inMeteor)
        {
            anim.SetTrigger(Buttons.KICK);
            if (!InAttackStates())
            {
                anim.SetTrigger(Buttons.ATTACK);
            }
        }
        else if (InputManager.ButtonDown(Buttons.SPECIAL) && InputManager.HasHorizontalInput() && (!frozen || justLeftWall) && InputManager.VerticalInput() < 0.7f)
        {
            if (unlocks.HasAbility(Ability.Dash))
            {
                Dash();
            }
        }
        else if (!grounded && InputManager.Button(Buttons.SPECIAL) && InputManager.VerticalInput() < -0.2f && !supercruise && touchingWall == null && !inMeteor)
        {
            if (unlocks.HasAbility(Ability.Meteor))
            {
                MeteorSlam();
            }
        }
        else if (InputManager.Button(Buttons.SPECIAL) && canUpSlash && !supercruise && !touchingWall && !grounded && InputManager.VerticalInput() > 0.7f)
        {
            OrcaFlip();
        }
        else if (InputManager.BlockInput() && !canParry && unlocks.HasAbility(Ability.Parry))
        {
            InterruptEverything();
            anim.SetTrigger(Buttons.BLOCK);
        }
    }
Esempio n. 6
0
 bool CanTarget()
 {
     return(!onPlayer || playerUnlocks.HasAbility(Ability.GunEyes));
 }
    void Attack()
    {
        if (inCutscene)
        {
            return;
        }

        if (!inCutscene)
        {
            anim.SetFloat("VerticalInput", InputManager.VerticalInput());
        }

        if (!inCutscene && !forcedWalking)
        {
            anim.SetBool("SpecialHeld", InputManager.Button(Buttons.SPECIAL));
        }
        else
        {
            anim.SetBool("SpecialHeld", false);
        }


        if (InputManager.ButtonDown(Buttons.ATTACK) && !inMeteor)
        {
            anim.SetTrigger(Buttons.ATTACK);
        }
        else if (InputManager.ButtonDown(Buttons.SPECIAL) && InputManager.HasHorizontalInput() && (!frozen || justLeftWall) && Mathf.Abs(InputManager.VerticalInput()) <= 0.2f)
        {
            if (unlocks.HasAbility(Ability.Dash))
            {
                Dash();
            }
        }
        else if (!grounded && InputManager.Button(Buttons.SPECIAL) && InputManager.VerticalInput() < -0.2f && !supercruise && touchingWall == null)
        {
            if (unlocks.HasAbility(Ability.Meteor))
            {
                MeteorSlam();
            }
        }
        else if (InputManager.Button(Buttons.SPECIAL) && canUpSlash && InputManager.VerticalInput() > 0.2f && !supercruise && !touchingWall && !grounded)
        {
            UpSlash();
        }
        else if (InputManager.BlockInput() && !canParry && unlocks.HasAbility(Ability.Parry))
        {
            anim.SetTrigger(Buttons.BLOCK);
        }
    }