Fixed a lot of the issues we addressed on Monday

This commit is contained in:
Melbyj1125
2022-03-09 02:16:56 -06:00
parent 03a96b8c67
commit 7ae4b643a1
31 changed files with 161 additions and 222 deletions

View File

@@ -276,7 +276,7 @@ public class AerialStateManager : NetworkBehaviour
void Jump(){
if(!pStats.IsPaused){
//If space/south gamepad button is pressed apply an upwards force to the player
if (Input.GetAxis("Jump") != 0 && !jumpHeld && curJumpNum < pStats.JumpNum && (mSM.currentState != mSM.SlideState && mSM.currentState != mSM.CrouchState && mSM.currentState != mSM.RagdollState && mSM.currentState != mSM.RecoveringState))
if (Input.GetAxis("Jump") != 0 && !jumpHeld && curJumpNum < pStats.JumpNum && (mSM.currentState != mSM.SlideState && mSM.currentState != mSM.CrouchState && mSM.currentState != mSM.RagdollState && mSM.currentState != mSM.RecoveringState && currentState != GlidingState))
{
if(currentState == WallRunState){
AddImpact((GetWallJumpDirection()), pStats.JumpPow * 8.5f);

View File

@@ -23,6 +23,10 @@ public class AerialGrappleAirState : AerialBaseState
Vector3 momDirection; // momentum direction
Vector3 tensionMomDirection; // tension momentum direction
float defaultGraceTimer = 1.0f; // default timer
float graceTimer; // grace period at the end of the swing so the player has time to let go
bool swingGrace = true; // is the grace timer over
public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){
//refresh jump number
@@ -47,6 +51,7 @@ public class AerialGrappleAirState : AerialBaseState
aSM.release = false; // player hasn't released
aSM.lerpRelease = Vector3.zero; // reset lerp release
spaceHeld = true;
graceTimer = defaultGraceTimer; //sets grace timer
}
public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){
@@ -156,8 +161,17 @@ public class AerialGrappleAirState : AerialBaseState
//if player is on the other side of hookpoint and swingMom is lower then update oldXZDir
if(oldXZDir != curXZDir && swingMom <= (oldSwingMom*(.75f))){
oldSwingMom = swingMom;
oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized;
if(graceTimer >= 0){
swingGrace = false;
graceTimer -= .1f;
}
else{
oldSwingMom = swingMom;
oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized;
swingGrace = true;
graceTimer = defaultGraceTimer;
}
}
//current line between hookpoint and player

View File

@@ -7,11 +7,12 @@ public class MoveRagdollState : MoveBaseState
float ragTime; // ragdoll timer
bool beginRagTimer = false; // whether ragtimer has started
Vector3 prevRot;
public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){
ragTime = mSM.pStats.RecovTime; // how long to be ragdolled
mSM.prevRot = mSM.transform.localEulerAngles; // save previous rotation
prevRot = mSM.transform.localEulerAngles; // save previous rotation
mSM.capCol.enabled = true; // enable capsule collider
mSM.moveController.enabled = false; // disable move controller
mSM.rB.isKinematic = false; // disable kinematic
@@ -22,6 +23,7 @@ public class MoveRagdollState : MoveBaseState
}
public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){
mSM.transform.localEulerAngles = prevRot; // reset player rotation
}

View File

@@ -12,7 +12,6 @@ public class MoveRecoveringState : MoveBaseState
mSM.moveController.enabled = true; // enable move controller
mSM.rB.isKinematic = true; // enable kinematic
mSM.rB.detectCollisions = false; // detect collisions false
mSM.transform.localEulerAngles = mSM.prevRot; // reset player rotation
mSM.CancelMomentum(); // reset player variables
mSM.moveController.Move(new Vector3(0,2,0));
}

View File

@@ -78,7 +78,6 @@ public class MoveStateManager : NetworkBehaviour
//Ragdoll Variables
public Vector3 dirHit; // Direction hit
public float distToGround; // distance to ground
public Vector3 prevRot; // previous rotation before ragdolled
////
@@ -313,7 +312,7 @@ public class MoveStateManager : NetworkBehaviour
//Apply Wind movement to the player
public void ApplyWind(bool wind){
if(wind){
moveController.Move(pStats.WindDirection.normalized * 2);
moveController.Move(pStats.WindDirection.normalized * .2f);
}
}

View File

@@ -39,10 +39,15 @@ public class OffenseStateManager : NetworkBehaviour
public PlayerStats pStats; // Player Stats
public MoveStateManager mSM; // move state manager
public AerialStateManager aSM; // aerial state manager
////
//// AnimatorManagerScript
private AnimationManager animationManager;
////
//// Variables Section
private GameObject[] players;
void Awake(){
////Initialize Player Components
@@ -58,7 +63,6 @@ public class OffenseStateManager : NetworkBehaviour
leg = transform.Find("Leg").gameObject; // Set Leg Object
legHitbox = leg.transform.Find("LegHitbox").gameObject; // Set Leg Hitbox
leg.SetActive(false);
parentObj = transform.parent.gameObject; // set parent object
////
////Initialize Scripts
@@ -73,6 +77,7 @@ public class OffenseStateManager : NetworkBehaviour
currentState = NoneState;
previousState = NoneState;
currentState.EnterState(this, previousState);
}
void Update(){
@@ -121,10 +126,12 @@ public class OffenseStateManager : NetworkBehaviour
if(collision.transform.CompareTag("ArcherTarget") && myCollider == legHitbox.GetComponent<Collider>()){
Vector3 direction = this.transform.forward;
Debug.Log("---Player Being Kicked: " + collision.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
Debug.Log("---Player Kicking: " + this.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
ulong netObjID = collision.gameObject.transform.root.GetComponent<NetworkObject>().NetworkObjectId;
ApplyKickServerRPC(direction, netObjID);
if(netObjID != this.transform.root.GetComponent<NetworkObject>().NetworkObjectId){
Debug.Log("NetObjID of Kicked Player: " + netObjID);
ApplyKickServerRPC(direction, netObjID);
}
}
if (collision.transform.CompareTag("destroyable") && myCollider == legHitbox.GetComponent<Collider>()){
@@ -155,9 +162,27 @@ public class OffenseStateManager : NetworkBehaviour
foreach(GameObject kickedPlayer in players){
//First check if the player is kicked
if(kickedPlayer.transform.root.GetComponent<NetworkObject>() != null && kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId == netObjId && kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId != this.transform.root.GetComponent<NetworkObject>().NetworkObjectId){
Debug.Log(kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
if(kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId == netObjId){
Debug.Log("Kicked Players NetObjId is equal to the NetObjId");
}
else{
Debug.Log("Kicked Player NetObjId not equal to the NetObjId");
}
if(kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId != this.transform.root.GetComponent<NetworkObject>().NetworkObjectId){
Debug.Log("Kicked Player Not The Same as Me");
}
else{
Debug.Log("My RPC ID: " + this.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
Debug.Log("Their RPC ID: " + kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
}
if(kickedPlayer.transform.root.GetComponent<NetworkObject>() != null && kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId == netObjId){
Debug.Log("Kicking other user");
kickedPlayer.GetComponent<MoveStateManager>().GetHit(direction, 10);
kickedPlayer.GetComponent<MoveStateManager>().GetHit(direction, 20);
}
return;