public override string StartState()
    {
        myController.characterAnimator.Play("Fire");

        GameObject boltObject = Object.Instantiate(ammoPrefab, myController.transform.position, Quaternion.Euler(Vector3.zero));

        WorldSkewer.SkewObject(boltObject, false);
        CrossbowBolt bolt = boltObject.GetComponent <CrossbowBolt>();

        bolt.ScaleAttack(2f);
        bolt.SetTrajectory(Vector2.down, 9f, 0.6f);

        SoundMaker.i.PlaySound("TinySwing", myController.transform.position, 0.6f);
        return(stateName);
    }
示例#2
0
    public override void AttackPrimary(Player owner)
    {
        if (!TakeAmmo(1))
        {
            DryFire();
            return;
        }

        if (IsServer)
        {
            using (Prediction.Off())
            {
                var bolt = new CrossbowBolt();
                bolt.Pos      = owner.EyePos;
                bolt.Rot      = owner.EyeRot;
                bolt.Owner    = owner;
                bolt.Velocity = Owner.EyeRot.Forward * 100;
            }
        }
    }
示例#3
0
文件: Crossbow.cs 项目: zct8002/dm98
    public override void AttackPrimary()
    {
        if (!TakeAmmo(1))
        {
            DryFire();
            return;
        }

        ShootEffects();

        if (IsServer)
        {
            using (Prediction.Off())
            {
                var bolt = new CrossbowBolt();
                bolt.WorldPos = Owner.EyePos;
                bolt.WorldRot = Owner.EyeRot;
                bolt.Owner    = Owner;
                bolt.Velocity = Owner.EyeRot.Forward * 100;
            }
        }
    }