public void HandleHurt(HitBoxCollision hbc) { Debug.Log(hbc.toString()); var stats = hbc.hitStats; /* * var kb = 30f; * //TODO: Calculate KB * knockback.x = kb * Mathf.Sin(Mathf.Deg2Rad * hbc.hitStats.angle); * knockback.y = kb * Mathf.Cos(Mathf.Deg2Rad * hbc.hitStats.angle); */ var kb = EntityPhysics.CalculateKnockback(30f, stats.damage, weight, stats.baseKnockback, stats.knockBackGrowth); knockback = EntityPhysics.CalculateKnockbackComponents(kb, stats.angle); Debug.Log(knockback); }
/// <summary> /// Handles reported hitbox collisions /// </summary> /// <param name="hbc"></param> public new void HandleHurt(HitBoxCollision hbc) { Debug.Log("Handdleeee"); velocity = new Vector3(0f, 0f, 0f); var stats = hbc.hitStats; damage += stats.damage; var kb = EntityPhysics.CalculateKnockback(damage, stats.damage, weight, stats.baseKnockback, stats.knockBackGrowth); hitstunFrames = EntityPhysics.CalculateHitstun(kb); isTumble = hitstunFrames > 32; knockback = EntityPhysics.CalculateKnockbackComponents(kb, stats.angle); hitData = hbc; //currentState = new StateHurt(this); SwitchState(stateHurt); }