示例#1
0
    public void rushAttack()
    {
        //initiate the rush attack
        defyinggravity = true;
        Rushing        = true;
        RushingTime    = Time.time;
        MyAnimator.SetBool("Rushing", true);
        RushParticles.Play(true);
        MyRigidbody.velocity = new Vector2();
        AccelerationValue    = 0f;
        if (Astronaut.AggressionLevel >= 1)
        {
            //Free Directions
            Astronaut plr = Astronaut.TheAstronaut;
            Vector3   dif = (plr.transform.position - this.transform.position);
            RushDirection = dif.normalized;//new Vector3(ForwardFacing, 0f, 0f).normalized;
        }
        else
        {
            //Only laterally

            RushDirection = new Vector3(ForwardFacing, 0f, 0f).normalized;
        }
        if (Astronaut.AggressionLevel >= 2)
        {
            MyVoidField.Activate();
        }
    }
示例#2
0
 public void onImpact()
 {
     if (Astronaut.AggressionLevel > 1)
     {
         //Create a Void Field
         VoidField vf = GameObject.Instantiate <VoidField>(MyVoidField, null);
         vf.Activate();
         vf.StartTime = Time.time;
         vf.Duration  = 4f;
     }
     if (Astronaut.AggressionLevel >= 3)
     {
         //Seismic Pull
         Astronaut plr = Astronaut.TheAstronaut;
         Vector3   dif = (plr.transform.position - this.transform.position);
         Astronaut.TheAstronaut.MyRigidbody.velocity = (-dif * 1f);
         SeismicQuakeParticles.Play();
     }
     Astronaut.TheAstronaut.addCamShake(2f * Astronaut.AggressionLevelF, 1f, 1f, .5f, 1f);
 }