//---------------------------------------------------
// Helm Behavior file 

initialize   DEPLOY  = false
initialize   RETURN  = false
initialize   STATION_KEEP = false
initialize   TRANSIT  = true
initialize   AVOID   = true

set MODE = ACTIVE {
  DEPLOY = true
} INACTIVE

set MODE = STATION-KEEPING {
  MODE = ACTIVE
  STATION_KEEP = true
}                       

set MODE = RETURNING {
  MODE = ACTIVE
  RETURN = true
} 

set MODE = TRANSITING {
  MODE = ACTIVE
  TRANSIT = true
} 



//---------------------------------------------- 
Behavior = BHV_Waypoint
{
  name      = waypt_survey
  pwt       = 100
  condition = MODE==TRANSITING

  updates    = WPT_UPDATE
  perpetual  = true

                lead = 20
         lead_damper = 3
               speed = 4.0   // meters per second
				 
        capture_line = true
      capture_radius = 5.0
         slip_radius = 15.0

           cycleflag = WPT_UPDATE=order=reverse 

             points = -15,-60 : 150,-60 : -15,-85 : 150,-85

               order = normal
             repeat  = 999

   visual_hints = nextpt_color=yellow
   visual_hints = nextpt_vertex_size=8
   visual_hints = nextpt_lcolor=gray70
   visual_hints = vertex_color=dodger_blue, edge_color=white
   visual_hints = vertex_size=5, edge_size=1
}

	
//----------------------------------------------
Behavior = BHV_Waypoint
{
  name      = waypt_return
  pwt       = 100
  updates   = RETURN_UPDATES
  condition = MODE==RETURNING
  endflag   = STATION_KEEP = true
  endflag   = AVOID = false

      speed = 1.3
     radius = 3.0
  nm_radius = 15.0
     points = $(START_POS)
     repeat = 10
       lead = 8
}

//----------------------------------------------
Behavior = BHV_StationKeep
{
  name         = station-keep
  pwt          = 100
  condition    = MODE==STATION-KEEPING
  inactiveflag = STATIONING = false
  activeflag   = STATIONING = true

     center_activate = true
        inner_radius = 5
        outer_radius = 10 
         outer_speed = 1.0

       transit_speed = 1.3
          swing_time = 7
        visual_hints = vertex_size=0, edge_color=gray50
}

//----------------------------------------------
Behavior = BHV_AvoidObstacleX
{
  name       = avdob_
  pwt        = 300
  condition  = DEPLOY = true
  templating = spawn
  updates    = OBSTACLE_ALERT

        use_refinery = true
       allowable_ttc = 12 
      pwt_outer_dist = 15
      pwt_inner_dist = 5
      completed_dist = 18
   min_util_cpa_dist = 4
   max_util_cpa_dist = 8

    visual_hints = obstacle_edge_color = white
    visual_hints = obstacle_vertex_color = gray60
    visual_hints = obstacle_fill_color = gray60
    visual_hints = obstacle_fill_transparency = 0.7
    
    visual_hints = buffer_min_edge_color = gray60
    visual_hints = buffer_min_vertex_color = dodger_blue
    visual_hints = buffer_min_vertex_size = 1
    visual_hints = buffer_min_fill_color = gray70
    visual_hints = buffer_min_fill_transparency = 0.25

    visual_hints = buffer_max_edge_color = gray60
    visual_hints = buffer_max_vertex_color = dodger_blue
    visual_hints = buffer_max_vertex_size = 0
    visual_hints = buffer_max_fill_color = gray80
    visual_hints = buffer_max_fill_transparency = 0.1
}