Implement Fort Fight minigame (#75)

Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #75
This commit is contained in:
2025-12-04 01:18:29 +00:00
parent bb8d600af2
commit e60d516e7e
127 changed files with 21544 additions and 128 deletions

View File

@@ -0,0 +1,39 @@
using Core;
using UnityEngine;
namespace Minigames.FortFight.Projectiles
{
/// <summary>
/// Standard projectile - no special ability.
/// Moderate damage, standard physics arc.
/// </summary>
public class ToasterProjectile : ProjectileBase
{
// Toaster is the basic projectile - uses base class behavior
// No special ability needed
protected override void OnHit(Collision2D collision)
{
// Spawn impact effect
SpawnImpactEffect(collision.contacts[0].point);
// Deal damage to blocks
var block = collision.gameObject.GetComponent<Fort.FortBlock>();
if (block != null)
{
block.TakeDamage(Damage);
Logging.Debug($"[ToasterProjectile] Dealt {Damage} damage to {block.gameObject.name}");
}
// Destroy projectile
DestroyProjectile();
}
public override void ActivateAbility()
{
// Toaster has no special ability
Logging.Debug("[ToasterProjectile] Toaster has no special ability");
}
}
}