continuing with combat, sword combos working, not finished, blockign working, need to build blockpush and improving bow combat

This commit is contained in:
2026-09-30 16:39:18 +01:00
parent 7486c8d310
commit 4980fb8128
2095 changed files with 1069655 additions and 652 deletions

View File

@@ -4,7 +4,7 @@ public class Projectile : MonoBehaviour
{
[Header("Projectile Settings")]
[Tooltip("How fast the projectile moves forward")]
public float speed = 25f;
public float speed = 50f;
[Tooltip("How long before the projectile destroys itself if it misses")]
public float lifetime = 5f;
@@ -95,9 +95,13 @@ public class Projectile : MonoBehaviour
// Deal damage and log distance
float distanceFlown = Vector3.Distance(_startPosition, transform.position);
Debug.Log($"Arrow hit {hit.collider.name} for {_damage:F1} damage! It flew {distanceFlown:F1} meters.");
hit.collider.GetComponent<WorldObject>()?.TakeDamage(_damage);
hit.collider.GetComponent<NPCController>()?.TakeDamage(_damage);
hit.collider.GetComponent<PlayerStats>()?.TakeDamage(_damage);
hit.collider.GetComponentInParent<WorldObject>()?.TakeDamage(_damage);
hit.collider.GetComponentInParent<NPCController>()?.TakeDamage(_damage);
// Try to hit the combat controller first so it can process blocks/stamina
MeleeCombatLayerController playerCombat = hit.collider.GetComponentInParent<MeleeCombatLayerController>();
if (playerCombat != null) playerCombat.TakeDamage(_damage);
else hit.collider.GetComponentInParent<PlayerStats>()?.TakeDamage(_damage);
// Optional: Disable collider or script so it doesn't keep checking for hits
Collider myCollider = GetComponent<Collider>();