anchor.diff:      switch (zone.action) {
         case DualRangeZone.ZONE_INWARD_ACTION:
           // Zoom in to 3.0
  -        if (_activeShip == TRIANGLE_SHIP) {
  +        if (_activeShip == TRIANGLE_SHIP || _activeShip == SPIKE_SHIP) {
             UTE.Tween tw = new UTE.Tween.to(_zoomControl, ZoomGroup.TWEEN_SCALE, 1.0)
               ..targetValues = [zoom]
               ..easing = UTE.Sine.INOUT;
  
positive.code:         }
          break;
        case DualRangeZone.ZONE_OUTWARD_ACTION:
          if (_activeShip == TRIANGLE_SHIP) {
            UTE.Tween tw = new UTE.Tween.to(_zoomControl, ZoomGroup.TWEEN_SCALE, 1.0)
              ..targetValues = [globalDefaultZoom]
              ..easing = UTE.Sine.INOUT;
  
negative.code:       _zoomControl.translateBy(_shipPositionDelta);
        _zoomControl.scaleCenter.setFrom(gm.spikeShip.motionPosition);
        _prevShipPosition.setFrom(gm.spikeShip.motionPosition);
  
        // Zone Checking
        Ranger.Vector2P gs = gm.hudLayer.getHudOriginToGameSpace();
        //print("spike: ${gs.v}");
        _zone1.updateState(gs.v);
        _zone2.updateState(gs.v);
        _zone3.updateState(gs.v);
        gs.moveToPool();
      }
    }
  
    Ranger.UniversalParticle _processBulletToTriangleShip(List<Ranger.Particle> bullets) {
  