47 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|