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); }
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; } } }
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; } } }