MiniGames/Assets/Scripts/CubeClash/CubeClash_Blueberry.cs

47 lines
1.4 KiB
C#

using UnityEngine;
using System.Collections;
public class CubeClash_Blueberry : MonoBehaviour
{
[Header("Buff Settings")]
public float buffDuration = 5f;
[Tooltip("Multiply forward dash impulse (e.g., 1.4 = +40%).")]
public float impulseMultiplier = 1.4f;
[Tooltip("Multiply bump cooldown (e.g., 0.7 = 30% faster).")]
public float cooldownMultiplier = 0.7f;
[Tooltip("Optional: increase momentum transfer (e.g., +0.2 adds on top).")]
public float extraMomentumTransfer = 0.2f;
private void OnTriggerEnter(Collider other)
{
var zibu = other.GetComponent<CubeClash_ZibuController>();
if (zibu == null) return;
StartCoroutine(ApplyBuff(zibu));
Destroy(gameObject);
}
private IEnumerator ApplyBuff(CubeClash_ZibuController zibu)
{
// cache old values
float oldImpulse = zibu.dashImpulse;
float oldCooldown = zibu.bumpCooldown;
float oldTransfer = zibu.momentumTransferScale;
// apply buffs
zibu.dashImpulse = oldImpulse * impulseMultiplier;
zibu.bumpCooldown = oldCooldown * cooldownMultiplier;
zibu.momentumTransferScale = oldTransfer + extraMomentumTransfer;
yield return new WaitForSeconds(buffDuration);
// revert
zibu.dashImpulse = oldImpulse;
zibu.bumpCooldown = oldCooldown;
zibu.momentumTransferScale = oldTransfer;
}
}