NPC & Farming Related Goals

Npc

Usage: config npc:[switch]
Example: config npc:5
Switch: 1 - Attack npcs 1 to 5
2 - Attack npcs 2 to 5
3 - Attack npcs 3 to 5
4 - Attack npcs 4 to 5
5 - Attack npcs 5
6 - Attack npcs 6
7 - Attack npcs 7
8 - Attack npcs 8
9 - Attack npcs 9

Enabling this config will start the bot npc farming for you. 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 10 npc farming is configured seperately and will be explained further down this page. The bot will farm npcs in a radius around your city as specified in distancepolicy.

The bot is automatically programmed to send the proper safe amount of transports and ballista (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 ballsused or npctroop. If a hero is sent on a npc farming run, and it's attack attribute is below 50, the bot will send the default number of ballista regardless of what you set. For level 5 npcs, this default is 550 ballista.

The bot starts with the closest npc and works it's way out, restarting again every 8 hours with the nearest. If npclimit is set and reached, the bot will restart again at the nearest npc every hour instead to train your heroes. Y.A.E.B. will automatically detect maintenance and reset your farming cycle after it relogs. You can manually reset it by typing \resetfarminghistory in the Commands window.


Npclimit

Usage: config npclimit:[days]
Example: config npclimit:10

This goal sets a limit in days for the amount of food obtained when farming npc's, Y.A.E.B. will limit farming to the specified number of days based on your troops' food consumption. If this is not set, or the goal is not reached, the bot will farm your npcs once every 8 hours. If this is set and the goal is reached, the bot will no longer farm until it falls below the specified number of days, or unless config training:1 or config training:2 is enabled.


Buildnpc

Usage: config buildnpc:[switch]
Example: config buildnpc:15
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 buildnpcmin and buildnpcmax, 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 valleytroop, or the default if one is not set.

You should specify which npcs you want to be built at which distances by using buildnpcmin and buildnpcmax. For example, if config buildnpc:20 is enabled the bot will know to fill every flat with npcs, but you may not want it building junk level npcs close to you. You can set the minimum and maximum miles for each level of npcs from you that it will build using the following syntax:

Buildnpcmin npc1s npc2s npc3s npc4s npc5s npc6s npc7s npc8s npc9s npc10s
Buildnpcmax npc1s npc2s npc3s npc4s npc5s npc6s npc7s npc8s npc9s npc10s

As an example, if I wanted the bot to build level 10 npcs within 4 miles of my city, level 5 npcs between 5-8 miles of my city, and any level npcs beyond 8 miles from my city up to a 20 mile radius away from my city, I would type it as:

buildnpcmin 9 9 9 9 5 9 9 9 9 0
buildnpcmax 20 20 20 20 8 20 20 20 20 4

Npclist

Usage: npclist npc1 npc2 npc3 […] npcX
Example: npclist 111,222 111,333 111,444 111,555
npclist 8 111,202 111,303 111,404 111,505

By default, Y.A.E.B. will find and farm npcs on it's 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 it's farming. In versions after rev1268, the bot will accept a level parameter also, to accomodate the farming of all level of npcs. In the 2nd example above, the bot will farm level 8 npcs at the given 4 coordinates.

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.


Npctroops

Usage: npctroops [optional 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

By deafult, Y.A.E.B. 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 ballista and 400 transports to level 5 npcs, 100k warriors to level 8 npcs, and 90k archers/2k workers/2k warriors/2k transports to level 9 and 10 npcs.


Npcteams

Usage: npcteams number_to_send
Example: npcteams 7

This directive tells the bot how many npc farm teams it may send out at a time.


Ballsused

Usage: ballsused npc1s,npc2s,npc3s,npc4s,npc5s
Example: ballsused 25,50,170,250,500

This directive tells the bot how many ballista to use when farming level 1-5 npcs. It is being phased out in lieu of the more powerful npctroops goal. The bot will automatically determine how many transports to send along with the ballista based on your logistics research.


Npc10list

Usage: npc10list npc1 npc2 npc3 npc4
Example: npc10list 111,222 111,333 111,444

By default, Y.A.E.B. will find and farm level 10 npcs on it's own if you have configured it to farm them. However, you may sometimes wish to restrict your bot to only farm specific level 10 npcs. You can do so with this directive. This directive is being phased out in lieu of the more powerful npclimits goal that has been expanded to accept a level parameter in versions after rev1268.


Npc10troops

Usage: npc10troops troops_to_send
Example: npc10troops a:90000,wo:2000,w:2000,s:4000,t:2000

By deafult, Y.A.E.B. 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 for level 10 npcs with this directive. It is being phased out in lieu of the more powerful npctroops goal. In the example above, the bot will send out 90k archers/2k workers/2k warriors/2k transports to level 10 npc.


Npc10limit

Usage: npc10limit troops_to_have
Example: npc10limit a:390000,s:50000

This is the "on" switch for npc level 10 farming. If this goal is not set, the bot will not farm level 10 npcs. This directive tells the bot the minimum number of troops it must have in the city before it will farm another level 10 npc. In the example above, the bot must have 390k archers and 50k scouts before it will resume farming. This goal is being phased out in lieu of the more powerful npclimits goal, below.


NpcLimits

Usage: npclimits [level] troops_to_have
~Example: npclimits 10 a:390000,s:50000
npclimits 8 a:50000,w:100000

This is the "on" switch 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 resume farming 10s, and 50k archers and 100k warriors before it will resume farming 8s.


Npcbounds

Usage: npcbounds Xmin Xmax Ymin Ymax
Example: npcbounds 200 215 400 415
npcbounds 8 200 205 400 405

By default, Y.A.E.B. will find and farm npcs on it's own of the level you specify via the config npc goal. 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 bounderies in which it may farm, along with distancepolicy. 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. In releases after rev1268, this goal allows a level parameter as well to restrict the farming of npcs of different levels to different boundaries. In the 2nd example above, the bot will only farm level 8 npcs between 200,400 and 205,405.

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.


Npcexcludelist

Usage: npcexcludelist npc1 npc2 npc3 npc4
Example: npcexcludelist 111,222 111,333 111,444

By default, Y.A.E.B. will find and farm npcs on it's own of the level you specify via the config npc goal. However, you may sometimes wish to restrict your bot to not farm specific npcs. You can do so with this directive. This tells the bot to find what npcs to farm, but to skip the specified npcs in it's farming cycle. In the example above, all npcs within distancepolicy radius will be farmed, except 111,222 111,333 and 111,444.


Npc10excludelist

Usage: npc10excludelist npc1 npc2 npc3 npc4
Example: npc10excludelist 111,222 111,333 111,444

By default, Y.A.E.B. will find and farm level 10 npcs on it's own if configured to do so. However, you may sometimes wish to restrict your bot to not farm specific level 10 npcs. You can do so with this directive. This tells the bot to find what level 10 npcs to farm, but to skip the specified npcs in it's farming cycle. In the example above, all level 10 npcs within distancepolicy radius will be farmed, except 111,222 111,333 and 111,444.


Rallypolicy

Usage: rallypolicy policytype:[level:]:maximumslots [policytype:[level:]:maximumslots]
Example: rallypolicy n:10:1 f:8 v:1

Soon as I figure it out, you'll be the first to know :)


Farmingcycle

Usage: config farmingcycle:[hours]
Example: config farmingcycle:6

By default, the bot will farm the npcs in range once every 8 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.