Zombie + Skeletton capacities

This commit is contained in:
Crizomb 2025-01-23 11:46:27 +01:00
parent e94e2b8dce
commit 3fc57e3a64
12 changed files with 162 additions and 3 deletions

View file

@ -18,7 +18,7 @@ public class BaseCapacity : MonoBehaviour
public void AddMana(float manaAdd)
{
Mana = Mathf.Max(Mana + manaAdd, MaxMana);
Mana = Mathf.Min(Mana + manaAdd, MaxMana);
}

View file

@ -0,0 +1,23 @@
using UnityEngine;
using System.Collections;
public class TripleAttack : BaseCapacity
{
protected override bool CapacityCall()
{
MinecraftUnit minecraftUnit = _unit as MinecraftUnit;
StartCoroutine(TripleAttackRoutine(minecraftUnit));
return true;
}
private IEnumerator TripleAttackRoutine(MinecraftUnit minecraftUnit)
{
minecraftUnit.AttackHandler.Attack();
yield return new WaitForSeconds(0.1f);
minecraftUnit.AttackHandler.Attack();
yield return new WaitForSeconds(0.1f);
minecraftUnit.AttackHandler.Attack();
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b0344a53e7b8b8f30b008023599beb65

View file

@ -6,6 +6,8 @@ public class WitchSummon : BaseCapacity
protected override bool CapacityCall()
{
print("SUMMON");
print(Mana);
Instantiate(summonUnit, transform.position, Quaternion.identity);
return true;
}

View file

@ -0,0 +1,22 @@
using UnityEngine;
using System.Collections;
public class ZombieSpeedBoost : BaseCapacity
{
[SerializeField] float timeToBoost;
[SerializeField] float boost;
protected override bool CapacityCall()
{
MinecraftUnit minecraftUnit = _unit as MinecraftUnit;
StartCoroutine(AddThenRemoveSpeed(minecraftUnit));
return true;
}
private IEnumerator AddThenRemoveSpeed(MinecraftUnit minecraftUnit)
{
// Possibility float imprecision issues
minecraftUnit.MovementHandler.speed *= boost;
yield return new WaitForSeconds(timeToBoost);
minecraftUnit.MovementHandler.speed /= boost;
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c3b089e9358a7b3adbe2f521fcfbc8c2