//--------    FILE: $(VNAME).bhv  -------------

initialize   DEPLOY = false
initialize   RETURN = false
initialize   SURVEY = false
initialize   AVOID  = true
initialize   SURVEY = true
initialize   STATION_KEEP = false
  
set MODE = ACTIVE {
  DEPLOY = true
} INACTIVE

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

set MODE = SURVEYING {
  MODE = ACTIVE
  RETURN != true
  SURVEY = true
} 

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

#ifdef VROLE scout
//----------------------------------------------
Behavior = BHV_Scout
{
  name       = scout
  pwt        = 100
  updates    = SCOUT_UPDATE
  condition  = MODE==SURVEYING
  perpetual  = true
  endflag    = RETURN = true

	tmate = $(TMATE)
	
  capture_radius = 10 
}
#endif

	
//----------------------------------------------
#ifdef VROLE rescue
Behavior = BHV_Waypoint
#elseifdef VROLE fixed
Behavior = BHV_Waypoint
#else
//Behavior = BHV_Waypoint
#endif
{
  name       = waypt_survey
  pwt        = 100
  updates    = SURVEY_UPDATE
  condition  = MODE==SURVEYING
  perpetual  = true
  endflag    = RETURN = true

          repeat = 0
           speed = 1.2
  capture_radius = 3.0 
    capture_line = true
     slip_radius = 8.0
          points = 41,-25:64,-41:28,-60:50,-92:5,-100

	crs_spd_zaic_ratio = 85
	
     visual_hints = vertex_size  = 4             // default
     visual_hints = vertex_color = dodger_blue   // default
     visual_hints = edge_size = 1

  visual_hints = edge_color = $(COLOR) 
}

//----------------------------------------------
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
}

//----------------------------------------------
Behavior = BHV_AvdColregsV22
{
  name       = avdcol_
  pwt        = 350
  condition  = AVOID = true 
  condition  = MODE==ACTIVE
  condition  = MODE!=ACTIVE:STATION-KEEPING
  updates    = CONTACT_INFO
  endflag    = CONTACT_RESOLVED = $[CONTACT]
  templating = spawn

            contact = to-be-set
   on_no_contact_ok = true
        extrapolate = true
              decay = 30,60

        headon_only = true

	//velocity_filter = min_spd=0.2, max_spd=1.0, pct=40
	
       use_refinery = true

//  	eval_tol = 30
	
     pwt_outer_dist = 25
     pwt_inner_dist = 10
     completed_dist = 30
  min_util_cpa_dist = 6
  max_util_cpa_dist = 14
          pwt_grade = linear
//   bearing_line_config = white:0, green:0.65, yellow:0.8, red:1.0
}

//----------------------------------------------
Behavior = BHV_Waypoint
{
  name       = waypt_return
  pwt        = 100
  updates    = RETURN_UPDATE
  condition  = MODE==RETURNING
  perpetual  = true
  endflag    = RETURN = false
  endflag    = STATION_KEEP=true

           speed = 1.0
  capture_radius = 4.0
     slip_radius = 12.0

#ifdef VNAME abe
	point = 52,9
#elseifdef VNAME ben
	point = 39,4
#elseifdef VNAME cal
	point = 29,0
#elseifdef VNAME deb
	point = 16,-6
#elseifdef VNAME eve
	point = 4,-11
#elseifdef VNAME fin
	point = 2,-15
#elseifdef VNAME max
	point = 26,-2
#elseifdef VNAME ned
	point = 12,-8
#elseifdef VNAME oak
	point = 14,-10
#else
	point = $(START_POS)
#endif

     visual_hints = vertex_size  = 4             // default
     visual_hints = vertex_color = dodger_blue   // default
}

//----------------------------------------------
Behavior = BHV_OpRegionV24
{
  name    = opreg
  pwt     = 300
  updates = RECOVER_UPDATES

	core_poly = pts={60,10:-75.54,-54.26:-36.99,-135.58:98.55,-71.32}

	dynamic_region_var = RESCUE_REGION

  visual_hints = edge_size = 1

  visual_hints = save_edge_color = gray30
  visual_hints = halt_edge_color = gray40
	
	save_dist = 5
	halt_dist = 12
}