<tag><inits> initialize MATCH_PREP = true initialize PERIMETER_CHECK = false initialize PRECISE_STATION_KEEP = false <tag><modes> set MODE = MATCH_PREPARING { MODE = ACTIVE MATCH_PREP = true PERIMETER_CHECK = false } set MODE = PERIMETER_CHECKING { MODE = ACTIVE PERIMETER_CHECK = true MATCH_PREP = true } set MODE = PRECISE_STATION_KEEPING { MODE = ACTIVE PRECISE_STATION_KEEP = true } <tag><bhvs> //---------------------------------------------- Behavior = BHV_Loiter { name = loiter_match_prep pwt = 30 condition = MODE==MATCH_PREPARING runflag = BOT_DIALOG_STATUS=Preparing_for_match updates = LOITER_UPDATES speed = 1.5 polygon = radial:: x=0,y=0,radius=12,pts=8 center_assign = $(CF) } //---------------------------------------------- // Behavior = BHV_StationKeep { name = precise_station_keep pwt = 30 condition = MODE==PRECISE_STATION_KEEPING hibernation_radius = 15 center_activate = true inner_radius = 5 outer_radius = 10 hibernation_radius = 6 outer_speed = 1.5 transit_speed = 1.5 swing_time = 1 visual_hints = vertex_size = 1 visual_hints = edge_color = light_blue visual_hints = edge_size = 1 visual_hints = label_color = white visual_hints = vertex_color = red } //---------------------------------------------- // behavior that goes to each corner and the // center of the long sides. Good visual check Behavior = BHV_Waypoint { name = waypt_perimeter pwt = 30 condition = MODE==PERIMETER_CHECKING wptflag = PRECISE_STATION_KEEP=true wptflag = PERIMETER_CHECK=false perpetual = true speed_alt = 1.2 use_alt_speed = true lead = 8 lead_damper = 1 lead_to_start = true speed = 1.5 // meters per second capture_line = true capture_radius = 3.0 slip_radius = 15.0 // polygon = $(NWT) : $(NET) : $(SET) : $(SWT) // polygon = $(PPBT) : $(SSBT) : $(SSBXT) : $(PPBXT) polygon = $(PPBT) : $(SSBT) : $(SSCT) : $(SSBXT) : $(PPBXT) : $(PPCT) order = normal //repeat = 100000 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 } //---------------------------------------------- // COLREGS bhv to run before the match // more agressive for extra buffer Behavior = BHV_AvdColregsV22 { name = colavd_prematch_agro_ pwt = 300 updates = CONTACT_INFO condition = (((MODE == ACTIVE:PERIMETER_CHECKING) or (MODE == ACTIVE:PRECISE_STATION_KEEPING)) or (MODE == ACTIVE:MATCH_PREPARING)) or (MODE == ACTIVE:RETURNING) //condition = MODE != ACTIVE:RETURNING templating = spawn endflag = CONTACT_RESOLVED = $[CONTACT] contact = name_provided_upon_spawn decay = 15,30 on_no_contact_ok = true use_refinery = true extrapolate = true completed_dist = 25 pwt_inner_dist = 8 pwt_outer_dist = 20 max_util_cpa_dist = 10 min_util_cpa_dist = 6 headon_only = true } //---------------------------------------------- // COLREGS bhv to run during the match // tighter for higher performance Behavior = BHV_AvdColregsV22 { name = colavd_match_ pwt = 300 updates = CONTACT_INFO condition = MODE == ACTIVE //condition = MODE != ACTIVE:RETURNING templating = spawn endflag = CONTACT_RESOLVED = $[CONTACT] contact = name_provided_upon_spawn decay = 15,30 on_no_contact_ok = true use_refinery = true extrapolate = true completed_dist = 25 pwt_inner_dist = 12 pwt_outer_dist = 24 max_util_cpa_dist = 4 min_util_cpa_dist = 12 headon_only = true }