private void ApplyGroundDamage(Collider col) { PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); Damage dmg = new Damage(GROUND_DAMAGE, DamageType.AreaOfEffect, DamageElement.Energy, col.transform.position); if (psm.IsAffectedBy(dmg, em, em.transform.position)) { psm.TakeDamage(dmg, em, em.transform.position); } }
private void ApplyDamage(Collider col) { PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); Damage dmg = new Damage(25f, DamageType.Melee, DamageElement.Physical, em.transform.position); if (psm.IsAffectedBy(dmg, em, em.transform.position)) { psm.TakeDamage(dmg, em); psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.Melee, DamageElement.Physical), STUN_DURATION); } }
private void ApplyRayDamage(Collider col) { PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); Damage dmg = new Damage(RAY_DAMAGE, DamageType.RangeInstant, DamageElement.Energy, em.transform.position); if (psm.IsAffectedBy(dmg, em, em.transform.position)) { psm.TakeDamage(dmg, em, em.transform.position); missed = false; } }
public void OnColliderEnter(AbilityColliderTrigger abilityColliderTrigger, Collider col) { if (col.tag == "Player") { PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); Damage dmg = new Damage(10f, DamageType.AreaOfEffect, DamageElement.Energy, abilityColliderTrigger.transform.position); if (psm.IsAffectedBy(dmg, em)) { psm.TakeDamage(dmg, em); } } }
private void ApplyExplosionDamage(AbilityColliderTrigger abilityColliderTrigger, Collider col) { PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>(); Damage dmg = new Damage(EXPLOSION_DAMAGE, DamageType.AreaOfEffect, DamageElement.Energy, abilityColliderTrigger.transform.position); if (psm.IsAffectedBy(dmg, em, em.transform.position)) { psm.TakeDamage(dmg, em, em.transform.position); missed = false; } }
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; } }