public void addC3Link(Entity e){
  if (e.getPosition() == null) {
    return;
  }
  if (e.hasC3i()) {
    for (    Entity fe : game.getEntitiesVector()) {
      if (fe.getPosition() == null) {
        return;
      }
      if (e.onSameC3NetworkAs(fe) && !fe.equals(e) && !ComputeECM.isAffectedByECM(e,e.getPosition(),fe.getPosition())) {
        c3Sprites.add(new C3Sprite(this,e,fe));
      }
    }
  }
 else   if (e.hasActiveNovaCEWS()) {
    for (    Entity fe : game.getEntitiesVector()) {
      if (fe.getPosition() == null) {
        return;
      }
      ECMInfo ecmInfo=ComputeECM.getECMEffects(e,e.getPosition(),fe.getPosition(),true,null);
      if (e.onSameC3NetworkAs(fe) && !fe.equals(e) && (ecmInfo != null)&& !ecmInfo.isNovaECM()) {
        c3Sprites.add(new C3Sprite(this,e,fe));
      }
    }
  }
 else   if (e.getC3Master() != null) {
    Entity eMaster=e.getC3Master();
    if (eMaster.getPosition() == null) {
      return;
    }
    boolean blocked=false;
    if (e.hasBoostedC3() && eMaster.hasBoostedC3()) {
      blocked=ComputeECM.isAffectedByAngelECM(e,e.getPosition(),eMaster.getPosition()) || ComputeECM.isAffectedByAngelECM(eMaster,eMaster.getPosition(),eMaster.getPosition());
    }
 else {
      blocked=ComputeECM.isAffectedByECM(e,e.getPosition(),eMaster.getPosition()) || ComputeECM.isAffectedByECM(eMaster,eMaster.getPosition(),eMaster.getPosition());
    }
    if (!blocked) {
      c3Sprites.add(new C3Sprite(this,e,e.getC3Master()));
    }
  }
}

public void addC3Link ( Entity e ) { if ( e . getPosition ( ) == null ) { return ; } if ( e . hasC3i ( ) ) { for ( Entity fe : game . getEntitiesVector ( ) ) { if ( fe . getPosition ( ) == null ) { return ; } if ( e . onSameC3NetworkAs ( fe ) && ! fe . equals ( e ) && ! ComputeECM . isAffectedByECM ( e , e . getPosition ( ) , fe . getPosition ( ) ) ) { c3Sprites . add ( new C3Sprite ( this , e , fe ) ) ; } } } else if ( e . hasActiveNovaCEWS ( ) ) { for ( Entity fe : game . getEntitiesVector ( ) ) { if ( fe . getPosition ( ) == null ) { return ; } ECMInfo ecmInfo = ComputeECM . getECMEffects ( e , e . getPosition ( ) , fe . getPosition ( ) , true , null ) ; if ( e . onSameC3NetworkAs ( fe ) && ! fe . equals ( e ) && ( ecmInfo != null ) && ! ecmInfo . isNovaECM ( ) ) { c3Sprites . add ( new C3Sprite ( this , e , fe ) ) ; } } } else if ( e . getC3Master ( ) != null ) { Entity eMaster = e . getC3Master ( ) ; if ( eMaster . getPosition ( ) == null ) { return ; } boolean blocked = false ; if ( e . hasBoostedC3 ( ) && eMaster . hasBoostedC3 ( ) ) { blocked = ComputeECM . isAffectedByAngelECM ( e , e . getPosition ( ) , eMaster . getPosition ( ) ) || ComputeECM . isAffectedByAngelECM ( eMaster , eMaster . getPosition ( ) , eMaster . getPosition ( ) ) ; } else { blocked = ComputeECM . isAffectedByECM ( e , e . getPosition ( ) , eMaster . getPosition ( ) ) || ComputeECM . isAffectedByECM ( eMaster , eMaster . getPosition ( ) , eMaster . getPosition ( ) ) ; } if ( ! blocked ) { c3Sprites . add ( new C3Sprite ( this , e , e . getC3Master ( ) ) ) ; } } }
adds a c3 line to the sprite list .
