Artillery Goal

From MyGamingTalk
Revision as of 07:47, 17 February 2023 by Palota (talk | contribs) (→‎Fastrack)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Goal Instructions Artillery Goal

Fastrack

  • go to a target location
  • /bot goal_create artillery_s <name>
    • optionally use artillery_d instead
  • /bot goal_finish
  • go to the location the bots should call artillery from
  • /bot goal_create callartillery <name>
  • /bot goal_finish
  • /bot tracearty when next to the callartillery goal to make sure the target is in view
    • may require a goal_save and map_restart

Detailed Instructions

Description

CallArtillery has the bots call in artillery from a given location. This goal requires that a valid target goal is active.

Setup

See the Fastrack example at the top of the page for an example setup.
artillery_d vs artillery_s
artillery_d targets mean that the bot will dynamically choose whether or not to call the artillery. This is based on whether or not bot can see any enemies approaching the location of the target spot. artillery_s targets mean that the bot will statically call the artillery; meaning that they will always call it.
Tip: /bot goal_move toplayer true will move a goal to a player without grounding it. this is useful for target goals that you may want to keep in the air
Note: Distance between artillery_d and callartillery goals must be less than 2600, otherwise bots at easy difficulty will never call artillery.
Note: Properties Stance, MinCampTime, MaxCampTime are ignored if target goal is artillery_s.

Properties

Properties can be set with the goal_setproperty command assuming that the goal has been selected.
stance
Set the stance the bot should assume while performing this action if target goal is artillery_d.


syntax: /bot goal_setproperty stance <string stance>
example: /bot goal_setproperty stance crouch
values: stand crouch prone
group
A group is a method of organizing sets of goals. One advantage to this is that all goals in a group can be enabled or disabled in one line of script rather than seperate goal types requiring additional lines to enable or disable them. Assigning roles to a group is also possible as an alternative to assigning each individual goal a role.


syntax: /bot goal_setproperty group <string groupName>
example: /bot goal_setproperty group myGroup
mincamptime
MinCampTime defines the minimum amount of time in seconds a bot will spend at a camp spot if target goal is artillery_d.


syntax: /bot goal_setproperty mincamptime <float seconds>
example: /bot goal_setproperty mincamptime 15.0
default: 1.0 seconds
maxcamptime
MaxCampTime defines the maximum amount of time in seconds a bot will spend at a camp spot if target goal is artillery_d.


syntax: /bot goal_setproperty maxcamptime <float seconds>
example: /bot goal_setproperty maxcamptime 30.0
default: 2.0 seconds
note: consider increasing this time a bit if targeting artillery_d
tagname
Sets the name of the goal. This can optionally be set when passed as the optional parameter in the goal_create command. Useful for renaming goals.


syntax: /bot goal_setproperty tagname <string name>
example: /bot goal_setproperty tagname myGoalName
role
See the section on bot roles.


syntax: /bot goal_setproperty role <role mask>
example: /bot goal_setproperty role 1
radius
Set the radius for the goal.


syntax: /bot goal_setproperty radius <int>
example: /bot goal_setproperty radius 64


Verifying target locations

A common issue with bots not using CallArtillery goals is that there is no target within line of sight of the arty spot. To quickly verify that a target position is usable, stand next to a CALLARTILLERY goal and issue /bot tracearty command. This will result in traces being run to all arty target goals as shown in the picture below. The console will also output successful and failed traces by goal name.

Video Tutorial Version


Adding a Artillery Goal