public override void OnColliderEnter(AbilityColliderTrigger abilityColliderTrigger, Collider col) { if (col.tag == "Player" && !cols.ContainsKey(col)) { cols.Add(col, Time.time); // Stun the player and push away PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); if (psm.IsAffectedByCC(new CrowdControl(CrowdControlType.ForcedMove, DamageType.AreaOfEffect, DamageElement.Physical))) { psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.AreaOfEffect, DamageElement.Physical), STUN_DURATION); PushAway(psm, abilityColliderTrigger, col); } } }
private void DamagePart1(Collider col) { PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); Damage dmg = new Damage(SHIELD_DMG, DamageType.AreaOfEffect, DamageElement.Physical, em.transform.position); if (psm.IsAffectedBy(dmg, em)) { if (psm.IsAffectedByCC(new CrowdControl(CrowdControlType.ForcedMove, DamageType.AreaOfEffect, DamageElement.Physical))) { psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.AreaOfEffect, DamageElement.Physical), STUN_DURATION); PushAway(col); } psm.TakeDamage(dmg, em); missed = false; } }