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

initialize   DEPLOY  = false
initialize   RETURN  = false
initialize   STATION_KEEP = false
initialize   LOITER  = 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 = LOITERING {
  MODE = ACTIVE
  LOITER = true
} 


//----------------------------------------------
Behavior = BHV_PModelView
{
  name      = pmview
  pwt       = 100
  condition = (MODE==LOITERING) or (MODE==RETURNING)
  updates   = UP_PMVIEW
}

//----------------------------------------------
Behavior = BHV_Loiter
{
  name      = loiter
  pwt       = 100
  condition = MODE==LOITERING
  updates   = UP_LOITER
  runflag   = VEHICLE_UNDERWAY = TRUE
  endflag   = VEHICLE_UNDERWAY = FALSE
	
   post_suffix = A
         speed = 1.4
     clockwise = false
        radius = 8.0
     nm_radius = 15.0
       polygon = radial:: $(LOITER_POS), radius=15, pts=8, snap=1, label=$(VNAME)_LOITER
  visual_hints = nextpt_color=white, nextpt_lcolor=khaki
  visual_hints = edge_color=orange, vertex_color=white
  visual_hints = edge_size=1, vertex_size=2
}


//----------------------------------------------
Behavior = BHV_Waypoint
{
  name      = waypt_return
  pwt       = 100
  updates   = RETURN_UPDATES
  condition = MODE==RETURNING
  endflag   = STATION_KEEP = true
  endflag   = AVOID = false
	spawnx_flag = RETURN_UPDATES=point=$[OSX],$[OSY]
	
      speed = 1.3
     radius = 3.0
  nm_radius = 15.0
      point = 0,0
     repeat = 0
       lead = 8
}

//----------------------------------------------
Behavior = BHV_StationKeep
{
  name         = station-keep
  pwt          = 100
  condition    = MODE==STATION-KEEPING

     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
}

#ifdef COLAVD colregs
	#include plug_avdcol_colregs.bhv
#else
	#include plug_avdcol_cpa.bhv
#endif
	
//----------------------------------------------
Behavior=BHV_AvoidObstacleV24
{
  name       = avd_ob_
  pwt        = 500
  condition  = DEPLOY = true
	templating = spawn
  updates    = OBSTACLE_ALERT

       use_refinery = true
      allowable_ttc = 5 
	min_util_cpa_dist = 3
	max_util_cpa_dist = 7
    pwt_outer_dist = 15
    pwt_inner_dist = 5
    completed_dist = 15
}