public override void CriticalEffect() { if (AttackManager.wounds < 1) { return; } Unit attacker = AttackManager.attacker; Unit defender = AttackManager.defender; //DamagePopUp.Create(defender.transform.position + new Vector3(0, (defender.gameObject.GetComponent<TacticsMovement>().halfHeight) + 0.5f), "Crippled", false); defender.gameObject.GetComponent <UnitPopUpManager>().AddPopUpInfo("crippled", true); if (defender.GetComponent <Crippled>() == null) { Crippled crippled = defender.gameObject.AddComponent <Crippled>(); crippled.AddEffect(attacker.gameObject); } else if (!defender.GetComponent <Crippled>().enabled) { defender.GetComponent <Crippled>().enabled = true; defender.GetComponent <Crippled>().AddEffect(defender.gameObject); } }
/* * Updates the counters for the effects currently on the player. * Called in Character.cs's NewEffect(), an override of a method in Unit.cs. */ public void updateEffectTimers(Effect effect) { Debug.Log("Called updateEffectTimers. effect name is " + effect.effectName); switch (effect.effectName) { case "Empowered": { if (effect.isLongest) { longestEmp = (Empowered)effect; } Debug.Log("Setting longestEmp."); break; } case "Regeneration": { if (effect.isLongest) { longestReg = (Regeneration)effect; } Debug.Log("Setting longestReg."); break; } case "Degeneration": { if (effect.isLongest) { longestDegen = (Degeneration)effect; } Debug.Log("Setting longestDegen."); break; } case "Burning": { if (effect.isLongest) { longestBurn = (Burning)effect; } Debug.Log("Setting longestBurn."); break; } case "Armored": { if (effect.isLongest) { longestArmor = (Armored)effect; } Debug.Log("Setting longestArmor."); break; } case "Focused": { if (effect.isLongest) { longestFocus = (Focused)effect; } Debug.Log("Setting longestFocus."); break; } case "Hasted": { if (effect.isLongest) { longestHaste = (Hasted)effect; } Debug.Log("Setting longestHaste."); break; } case "Swiftness": { if (effect.isLongest) { longestSwift = (Swiftness)effect; } Debug.Log("Setting longestSwift."); break; } case "Crippled": { if (effect.isLongest) { longestCrip = (Crippled)effect; } Debug.Log("Setting longestCrip."); break; } default: { Debug.Log("Invalid effect."); break; } } }