• My Pages
  • Comments
  • Add Link
  • Subscribe
  • Subscribe User
  • Edit (Text)
  • Rename Page
  • Copy Page
  • Load Page
  • Save Page
  • Delete Page
  • Attachments
  • Check Spelling
  • Diffs
  • Info
  • Revert to this revision
  • XML
  • Render as Docbook
  • Print View
  • Raw Text
  • Delete Cache
  • Like Pages
  • Local Site Map
  • Remove Spam
  • Package Pages
  • Sync Pages

    These goals all relate to the building and farming of npcs around your cities. Some useful information is found below to help you understand more about how the bot "thinks" when it is farming.

    Farming Restrictions

    There are many goals the bot can use to determine which npcs it is allowed to farm. They are processed by the bot in the following order of priority:

    • If an npclist is set for that level of npcs, it will farm npcs only on the list.
    • If npcbounds is set, farm all npcs within these boundaries
    • If farmingpolicy uses /mindistance and /maxdistance switches, then farm all npcs within that many miles from the city
    • If distancepolicy is set, then farm all npcs within that many miles from the city
    • If nothing is set to determine distance, then farm for a 10 mile radius from the city.

    Farming Frequency

    The bot will process priority of how often to farm in the following order:


    AbandonFlats

    Usage:

    config abandonflats:[switch]

    Example:

    config abandonflats:1

    Default:

    config abandonflats:0

    This goal, combined with AcquireFlats, can instruct the bot to automatically capture, hold, and release flats for maintenance to level them up in order to build npcs of the desired level. With this goal enabled, the bot will attempt to abandon all flats it is currently holding that do not meet the specified level for building as npcs. The bot will abandon flats during the maintenance warning, when it pauses normally, usually around the "5 minute left" mark. Flats abandoned at this time will be recaptured either for building or holding, if AcquireFlats is enabled.

    AcquireFlats

    Usage:

    config acquireflats:[switch]

    Example:

    config acquireflats:1

    Default:

    config acquireflats:0

    Switch:

    0 - Disable acquireflats
    1 - Enable acquireflats
    2 - Enable acquireflats even if no open city slots

    This goal, combined with AbandonFlats, can instruct the bot to automatically capture, hold, and release flats for maintenance to level them up in order to build npcs of the desired level. With this goal enabled, the bot will attempt to acquire (capture) all flats within the npc building distance specificed in DistancePolicy or NpcBuildPolicy and hold them. It will hold as many flats as possible, so be aware you will lose valleys in order to hold them.

    The bot will use any available hero for flat acquisition, unless specified otherwise in ValleyHeroes.

    BuildNpc

    Usage:

    config buildnpc:[switch]

    Example:

    config buildnpc:15

    Default:

    config buildnpc:0

    Switch:

    0 - Disable buildnpc
    1 - Build npcs level 1
    2 - Build npcs level 2
    3 - Build npcs level 3
    4 - Build npcs level 4
    5 - Build npcs level 5
    10 - Build npcs level 10
    15 - Build npcs level 5 & 10
    20 - Convert all flats to npcs

    Combined with NpcBuildPolicy, this tells the bot what levels of npcs you wish to have it build for you. The bot will attack open flats of the requested levels using the troops specified in ValleyTroops, or the default if one is not set. The bot will use any available hero for flat acquisition to build npcs on, unless specified otherwise in ValleyHeroes.

    DistancePolicy

    Usage:

    distancepolicy npc_farming / npc_building / medal/valleyfarming / valley_acquisition / map_scanning

    Example:

    distancepolicy 10 20 5 10 25

    Default:

    distancepolicy 10 10 10 10 10

    This policy will tell the bot how far, in miles, it may go from your city to perform these actions in order. This number must be a whole number between 5 and 50.
    Beginning with version 2695, the maximum limit in miles is 150, rather than 50.

    Distancepolicy supports fractional numbers, ie - 10.5 miles.

    In order the numbers signify the distance for: npc farming, then npc building, then medal or valley farming, then valley acquisition, then map scanning and view distance.

    ExcludeList

    Usage:

    excludelist coord1 coord2 [...] coordX

    Example:

    excludelist 111,222 111,333 111,444

    Default:

    none

    This directive will tell the bot to exclude anything at those coordinates. No npc farming runs, valley acquisition runs, valley farming runs, npc building missions, or flat acquisition runs will be sent to these coordinates.

    This single goal can replace NoAbandonFlats, NpcExcludeList, and Npc10ExcludeList.

    FarmingCycle

    Usage:

    config farmingcycle:[hours]

    Example:

    config farmingcycle:6

    Default:

    config farmingcycle:8.4

    By default, the bot will farm the npcs in range once every 8.4 hours. You can change the duration between restarting the farming cycle with this. Each city can have a different number of hours to restart farming from the beginning.

    The bot can use fractional numbers for farmingcycle; for example, farmingcycle:0.5 would be able to hit the npcs again after 30 minutes.

    The bot will process priority of how often to farm as shown here.

    FarmingCycleMin

    Usage:

    config farmingcyclemin:[hours]

    Example:

    config farmingcyclemin:1

    Default:

    none (8.4 hour cycle default)

    Using this goal, the bot can select which npc to farm next based on a calculated "best option" using the resources refilled in the npc since your last attack on it, and the travel time to the npc and back.

    With farmingcyclemin, you can tell the bot how many hours minimum since a particular npc was hit, before it can hit it again if it's the best option to attack next. This will work in conjunction with config farmingcycle, using farmingcycle as the max hours since the last hit. This goal only affects level 1-5 npc farming. If farmingcyclemin is used, but farmingcycle is not, it will default to a max 8.4 hours.

    As an example, let's say you have 2 npcs at 1 mile away with 50% of their resources regenerated that you hit 4 hours ago, and 1 npc at 6 miles away with 100% of its resources regenerated that you have not hit yet. If you had standard npc farming enabled, the bot would attack the npc at 6 miles, and travel an hour or more there and back. If you had this goal set to 4 hours or less, then the bot could hit both of those closer npcs and get the same amount of resources, and still be back ready to go again in less time.

    The bot will process priority of how often to farm as shown here.

    FarmingPolicy

    Usage:

    farmingpolicy [level] [/switch:value] [/switch:value] [...]

    Example:

    farmingpolicy 5 /mindistance:1 /maxdistance:7 /farmingcycle:8
    farmingpolicy 10 /mindistance:1 /maxdistance:5 /farmingcycle:1
    farmingpolicy /level:8 /mindistance:1 /maxdistance:5 /farmingcycle:1

    Default:

    none

    Switch:

    /level:#
    /mindistance:#
    /maxdistance:#
    /farmingcycle:#
    /cycle:#
    /safeballs:#
    /mincycle:#
    /maxcycle:#

    Farmingpolicy makes the bot much more flexible and powerful, allowing you to farm specific levels of NPCcs for specific numbers of miles in specific intervals.

    The switches /mindistance and /maxdistance allow you to instruct the bot how far it will go for that particular level of NPC or that particular npclist. The level of NPC a farmingpolicy line affects can be written as just the number (see examples 1 & 2 above) or as a switch /level:xx (see example 3 above). Details on how the bot prioritizes which NPCs to farm with the various available settings can be found here.

    The /farmingcycle or /cycle or /maxcycle switch allows you to tell the bot how often you want to farm that particular NPC for the specified level. Default is 8.4 hours.

    The /mincycle switch allows you to tell the bot to farm "smarter" by selecting the next NPC to farm based on its travel time and percentage of resources refilled since your last attack on that NPC. For more detail on this switch, see FarmingCycleMin.

    The /safeballs switch allows you to override the default safe ballista number for each level of NPC, so that heroes below 50 attack would use your custom number instead.

    NOTE: farmingpolicy is not required for NPC farming. If you merely want to farm NPCs using the default or goal settings for distance, etc., then you can omit farmingpolicy entirely and just use config npc:5, config npc:10, etc.

    The above 3 examples could be combined with npc, npcheroes, npctroops, and npclimits to have your bot farm level 5, 8, and 10 npcs as follows:

    config npc:5
    farmingpolicy 5 /mindistance:1 /maxdistance:7 /mincycle:1
    npcheroes 5 !mainguy,!queen,any
    npctroops 5 b:500,t:400
    
    farmingpolicy 10 /mindistance:1 /maxdistance:5 /cycle:1
    npcheroes 10 mainguy
    npctroops 10 a:90k,w:2k,wo:2k,s:4k,t:2k
    npclimits 10 a:400k
    
    farmingpolicy 8 /mindistance:1 /maxdistance:5 /cycle:1
    npcheroes 8 queen,smartguy
    npctroops 8 a:19k,w:80k,t:1k
    npclimits 8 w:200k,a:100k

    Npc

    Usage:

    config npc:[switch]

    Example:

    config npc:5

    Default:

    config npc:0

    Switch:

    1 - Attack npcs 1+
    2 - Attack npcs 2+
    3 - Attack npcs 3+
    4 - Attack npcs 4+
    5 - Attack npcs 5+
    6 - Attack npcs 6+
    7 - Attack npcs 7+
    8 - Attack npcs 8+
    9 - Attack npcs 9+
    10 - Attack npcs 10 only

    Enabling this config will start npc farming for you. The bot will start with the highest level npc it is configured to farm, and work its way down to lower level npcs when transports/ballistas or troops/heroes/whatever are unavailable to farm the higher levels. Be sure to set config npc to the lowest level of npc you wish to farm.

    Level 1-5 npcs can be farmed with no losses for free resources with the proper research and troops, whereas level 6+ npcs cannot be. Level 6-10 npc farming has additional configuration - required NpcLimits goal, and optionally NpcHeroes and NpcTroops goals as well. The bot will farm npcs in a radius around your city as specified in DistancePolicy or modified by FarmingPolicy.

    By default the bot will send out as many npc runs at a time as it's able to with troops, heroes, and limits. You may wish to control how many are sent at a time. This can be done via the goal NpcTeams or via RallyPolicy.

    The bot is automatically programmed to send the proper safe amount of transports and ballistas (for lvl 1-5 npcs), or transports, archers, and layers (for 6+ npcs) based on the level of the npc and your logistics research. You can change the default troops used with the config settings NpcTroops or BallsUsed. If a hero is sent on a npc farming run, and its attack attribute is below 50, the bot will send the default number of ballistas regardless of your NpcTroops or BallsUsed settings, but will respect the /safeballs switch in FarmingPolicy. For level 5 npcs, this "safe" default is 550 ballistae. For level 4 npcs it is 350 ballistae For Level 3 npcs it is 170 ballistae For level 2 npcs it is 50 ballistae For level 1 npcs it is 20 ballistae

    The bot starts with the closest npc and works its way out, restarting again based on the following order of priority:

    If npclimit is set and reached (e.g., config npclimit:10 and you have 10+ days of food in the city), and if config training:1 or config training:2 is enabled, the bot will restart again at the nearest npc every hour instead to train your heroes. The 8-hour default can be changed via FarmingPolicy for each level of npc farmed, or FarmingCycle for all npcs.

    The bot will automatically detect maintenance and reset your farming cycle after it relogs. You can also manually reset it by typing \resetfarminghistory in the Commands window, or by clicking the resetfarminghistory button on the right side of the Commands window. In addition, you can have it reset farming history at startup by checking that box in Global Settings, General tab.

    NpcBounds

    Usage:

    npcbounds Xmin Xmax Ymin Ymax

    Example:

    npcbounds 5 200 215 400 415
    npcbounds 8 200 205 400 405

    Default:

    none

    By default, the bot will find and farm npcs on its own as specified with Npc, NpcList, and FarmingPolicy. However, you may sometimes wish to restrict your bot to only farm npcs in a specific area. You can do so with this directive. This tells the bot the boundaries in which it may farm.

    In the example above, the bot would be allowed to farm in a square with the top left corner at 200,400 and the bottom right corner at 215,415 for level 5 npcs. In the 2nd example above, the bot will only farm level 8 npcs between 200,400 and 205,405.

    The bot will process which npcs to farm based on the priorities specified here.

    NOTE: it is not recommended to use this unless you need to due to sharing npcs with a friendly neighbor, etc. It's much better to let the bot decide what to hit.

    NpcBuildPolicy

    Usage:

    npcbuildpolicy /level:[level] /mindistance:[miles] /maxdistance:[miles]

    Example:

    npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5

    Default:

    none

    You can specify which npcs you want to be built at which distances by using this goal. For example, if config buildnpc:10 is enabled the bot will know to build npcs of level 10. With the above example, it will know to build level 10 npcs only between 1-5 miles away. If a maxdistance is not set, the bot defaults to mindistance + 1 mile.

    *NOTE* npcbuildpolicy is optional. If you wish for distancepolicy setting to be used for any npc that will be built according to your config buildnpc:x goal, then npcbuildpolicy is not necessary. This is only useful if you wish to specify different distances for different levels of npcs to be built.

    You can also use a range within the level switch, for example /level:1-10 to encompass all levels of npcs, from 1 to 10.

    Common building examples:

    For npcs level 5 & 10 only, 10s up to 5 miles away, 5s up to 15 miles beyond that:

    config buildnpc:15
    npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5
    npcbuildpolicy /level:5 /mindistance:5 /maxdistance:15

    For npcs of any level, with 10s up to 5 miles away, 5s beyond that up to 10 miles away, and any junk level beyond that up to 20 miles away:

    config buildnpc:20
    npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5
    npcbuildpolicy /level:5 /mindistance:5 /maxdistance:10
    npcbuildpolicy /level:1-4 /mindistance:10 /maxdistance:20

    NpcHeroes

    Usage:

    npcheroes [optional level] hero-string

    Example:

    npcheroes 10 hero-string
    npcheroes 9 hero-string
    npcheroes 5 hero-string
    npcheroes 4 hero-string
    npcheroes hero-string

    Default:

    npcheroes any

    This directive tells the bot which heroes to use for which npc level. If this is not set, the bot will default to all allowed heroes to hit any npc level 1-5. You can specify heroes for every level of npc individually as shown in the examples above, or let it default to the older style by simply using 'npcheroes' with no npc level after it for all npcs of level 1-5, and 'npc10heroes' for npcs of level 10.

    See HeroString for details on how to set up the hero string for this goal.

    NOTE: You must still enable farming of these levels of npcs via the config npc goal if you wish for the bot to farm them. Simply setting which heroes to use will not make the bot hit the npcs.

    NpcLimit

    Usage:

    config npclimit:[days]

    Example:

    config npclimit:10

    Default:

    none

    This goal sets a limit in days for the amount of food obtained when farming npcs. The bot will limit farming to the specified number of days based on your troops' food consumption. Starting in version 2679, the bot no longer has a default npclimit. This means it will farm endlessly for food regardless of how much you have, unless you specifically limit it with this goal.

    If this goal is set but not yet reached, the bot will farm your npcs once every 8.4 hours. Once it is reached, the bot will no longer farm until it falls below the specified number of days. You can instruct the bot to continue hitting npcs hourly for experience gain rather than food gain after the npclimit is reached by using config training for level 1-9 npcs, or config training10 for npc10s.

    NpcLimits

    Usage:

    npclimits [level] troops_to_have

    Example:

    npclimits 10 a:390000,s:50000
    npclimits 8 a:50000,w:100000

    Default:

    none

    This is a necessary goal for npc level 6-10 farming. If this goal is not set, the bot will not farm npcs of these levels. This directive tells the bot the minimum number of troops it must have in the city before it will farm another level 6-10 npc.

    In the example above, the bot must have 390k archers and 50k scouts before it will begin or continue farming 10s, and 50k archers and 100k warriors before it will begin or continue farming 8s.

    NpcList

    Usage:

    npclist [level] npc1 npc2 npc3 [...] npcX

    Example:

    npclist 5 111,222 111,333 111,444 111,555
    npclist 8 111,202 111,303 111,404 111,505

    Default:

    none

    By default, the bot will find and farm npcs on its own of the level you specify via the config npc goal. However, you may sometimes wish to restrict your bot to only farm specific npcs. You can do so with this directive.

    By listing the coordinates of every npc you wish the bot to farm, you can restrict its farming. In the example above, the bot will farm level level 5 npcs at the specified coordinates, and level 8 npcs at the other specified coordinates. Details on how the bot prioritizes which npcs to farm with the various available settings can be found here.

    NpcTeams

    Usage:

    npcteams number_to_send

    Example:

    npcteams 7

    Default:

    npcteams 10

    This directive tells the bot how many teams it may send out at a time. This will count npc farmers, valley farmers, valley acquisition, etc., teams, not just npc farmers. RallyPolicy is a better choice for this if you want to limit just a specific type of team.

    NpcTroops

    Usage:

    npctroops [level] troops_to_send

    Example:

    npctroops 10 a:90000,wo:2000,w:2000,s:4000,t:2000
    npctroops 9 a:90000,wo:2000,w:2000,s:4000,t:2000
    npctroops 8 w:100000
    npctroops 5 b:400,t:400

    Default:

    npctroops 1 b:20
    npctroops 2 b:50
    npctroops 3 b:170
    npctroops 4 b:350
    npctroops 5 b:550
    npctroops 6
    npctroops 7
    npctroops 8
    npctroops 9
    npctroops 10

    By default, the bot will send out what it thinks is the optimal troop setup for each level of npc it farms. You can configure your own troop settings with this directive.

    In the example above, the bot will send out 400 ballistas and 400 transports to level 5 npcs, 100k warriors to level 8 npcs, and 90k archers/2k workers/2k warriors/4k scouts/2k transports to level 9 and 10 npcs.

    Training

    Usage:

    config training:[switch]

    Example:

    config training:1

    Switch:

    0 = off
    1 = farm hourly, with transports
    2 = farm hourly, without transports

    By default, when configured to hit npcs, the bot will only hit them each every 8 hours. With this config enabled and once npclimit is reached, the bot will hit npcs every 1 hour instead to level your heroes faster.

    If you wish to avoid going too far over your npclimit in food, you can instruct the bot to attack the npcs without transports by setting it to 2 instead, i.e., config training:2.

    Training10

    Usage:

    config training10:[switch]

    Example:

    config training10:1

    Switch:

    0 = off
    1 = on

    By default, when configured to hit npc10s, the bot will only hit them each every 8 hours. With this config enabled, the bot will hit them every 1 hour instead to level your hero faster.

    See also farmingpolicy for further customization for hitting level 10 npcs.


    CategoryGoals

    CategoryNpcGoals (last edited 2013-05-29 17:15:42 by Inanna)