public StunEffect(Buff buff, List <StatTypes> trigStats, EffectTargets target) : base(buff, trigStats, target) { }
public Effect(Buff buff, List <StatTypes> trigStats, EffectTargets target) { this.buff = buff; triggerStats = trigStats; effectTarget = target; }
public KnockbackEffect(Buff buff, List <StatTypes> trigStats, EffectTargets target) : base(buff, trigStats, target) { }
PlayerContainer[] GrabValidTargets(EffectTargets targetType) { //Debug.Log ("Searching targets"); GameObject manager = GameObject.Find ("Player Data Manager") as GameObject; PlayerDataManager pManager = manager.GetComponent<PlayerDataManager>(); switch(targetType) { case EffectTargets.ALL: List<PlayerContainer> temp = new List<PlayerContainer>(); temp.AddRange(allies); temp.AddRange(enemies); return temp.ToArray(); case EffectTargets.ALLY: return allies; case EffectTargets.ENEMY: return pManager.GetEnemyTeam(m_Team); case EffectTargets.SELF: //Debug.LogError ("Self targetting NYI."); return null; default: return null; }; }
protected void ApplySplash(EffectTargets validTargets) { //Debug.Log ("Disabled Temporarily"); /*PlayerContainer[] validPlayers = GrabValidTargets(validTargets); RaycastHit[] hits = Physics.SphereCastAll(transform.position, m_splashRange, transform.forward); for(int i=0; i<hits.Length ; i++) { if(hits[i].transform.tag == "Player") { for(int j=0; j<validPlayers.Length; j++) { if(hits[i].transform.gameObject == validPlayers[j].m_avatar) { validPlayers[j].m_health.ReceiveDamage(m_splashDamage); } } } }*/ }
/// <summary> /// Applies a knockback to all targets. /// </summary> /// <param name='targets'> /// Targets. /// </param> protected void ApplyKnockback(GameObject[] targets, EffectTargets validTargets) { //PlayerContainer[] validPlayers = GrabValidTargets(validTargets); }
/// <summary> /// Applies a heal to all targets. /// </summary> /// <param name='targets'> /// Targets. /// </param> protected void ApplyHeal(GameObject[] targets, EffectTargets validTargets) { PlayerContainer[] validPlayers = GrabValidTargets(validTargets); for(int i=0; i<targets.Length; i++) { // Loop through all targets for(int j=0; j<validPlayers.Length; i++) { // Loop through all allies we have cached if(targets[i] == validPlayers[i].m_avatar) { enemies[i].m_health.ReceiveHeal(m_directHeal); } } } }
/// <summary> /// Deals damage to all targets. /// </summary> /// <param name='targets'> /// Targets. /// </param> protected void ApplyDamage(GameObject[] targets, EffectTargets validTargets) { //Debug.Log ("Dealing Damage"); PlayerContainer[] validPlayers = GrabValidTargets(validTargets); if(validPlayers != null) { //Debug.Log ("Valid players exist"); for(int i=0; i<targets.Length; i++) { // Loop through all targets for(int j=0; j<validPlayers.Length; j++) { // Loop through all enemies we have cached if(validPlayers[j] != null && targets[i] == validPlayers[j].m_avatar) { //Debug.Log("Found a target"); validPlayers[j].m_health.ReceiveDamage(m_directDamage); } } } } }