m (→Npc10limit) |
(→Npcbounds) |
||
(64 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | =Npc Farming Goals= | ||
+ | |||
==Npc== | ==Npc== | ||
Line 20: | Line 22: | ||
<font size="2.5" face="courier" color="#A43900">7</font> - Attack npcs 7<br> | <font size="2.5" face="courier" color="#A43900">7</font> - Attack npcs 7<br> | ||
<font size="2.5" face="courier" color="#A43900">8</font> - Attack npcs 8<br> | <font size="2.5" face="courier" color="#A43900">8</font> - Attack npcs 8<br> | ||
− | <font size="2.5" face="courier" color="#A43900">9</font> - Attack npcs 9 | + | <font size="2.5" face="courier" color="#A43900">9</font> - Attack npcs 9<br> |
+ | <font size="2.5" face="courier" color="#A43900">10</font> - Attack npcs 10 only | ||
|} | |} | ||
Line 37: | Line 40: | ||
If npclimit is set and reached (ie, 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 [[NPC_Goals#Farmingpolicy|farmingpolicy]] for each level of npc farmed, or [[NPC_Goals#Farmingcycle|farmingcycle]] for all npcs. | If npclimit is set and reached (ie, 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 [[NPC_Goals#Farmingpolicy|farmingpolicy]] for each level of npc farmed, or [[NPC_Goals#Farmingcycle|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 [[In-Line_Commands|Commands]] window. | |
<br> | <br> | ||
Line 49: | Line 52: | ||
! style="text-align:left;" | Example: | ! style="text-align:left;" | Example: | ||
| | | | ||
− | <font size="2" face="courier" color="#0000FF">farmingpolicy </font><font size="2" face="courier" color=" | + | <font size="2" face="courier" color="#0000FF">farmingpolicy </font><font size="2" face="courier" color="red">/level:5 /mindistance:1 /maxdistance:7 /farmingcycle:8<br> |
+ | <font size="2" face="courier" color="#0000FF">farmingpolicy </font><font size="2" face="courier" color="red">/level:10 /mindistance:1 /maxdistance:5 /farmingcycle:1<br> | ||
+ | <font size="2" face="courier" color="#0000FF">farmingpolicy </font><font size="2" face="courier" color="red">/level:8 /mindistance:1 /maxdistance:5 /farmingcycle:1</font> | ||
+ | |- | ||
+ | ! style="text-align:left;" | Switch: | ||
+ | | | ||
+ | /level:#<br> | ||
+ | /mindistance:#<br> | ||
+ | /maxdistance:#<br> | ||
+ | /farmingcycle:#<br> | ||
+ | /cycle:#<br> | ||
+ | /safeballs:#<br> | ||
+ | /mincycle:#<br> | ||
+ | /maxcycle:<br> | ||
+ | |} | ||
+ | |||
+ | Npc farming has receieved a major overhaul in the bot. It is now much more flexible and powerful, allowing you to farm specific levels of npcs 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. Details on how the bot prioritizes which npcs to farm with the various available settings can be found [[NPC_Goals#Farming_Restrictions|here]]. | ||
− | + | The /farmingcycle or /cycle or /maxcycle switch allows you to tell the bot how often to reset it's farming history for that particular level of npc or npclist, and to start over from the closest. 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 it's travel time and percentage of resources refilled since your last attack on that npc. For more detail on this switch, see [[NPC_Goals#Farmingcyclemin|config farmingcyclemin]]. This method of farming only affects level 1-5 npcs. | |
− | |||
− | + | 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 go with config npc:5 or whatnot. | |
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: | 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: | ||
<blockquote><pre> | <blockquote><pre> | ||
− | |||
config npc:5 | config npc:5 | ||
+ | farmingpolicy /level:5 /mindistance:1 /maxdistance:7 /mincycle:1 | ||
npcheroes 5 !mainguy,!queen,any | npcheroes 5 !mainguy,!queen,any | ||
npctroops 5 b:500,t:400 | npctroops 5 b:500,t:400 | ||
− | farmingpolicy /level:10 /mindistance:1 /maxdistance:5 / | + | farmingpolicy /level:10 /mindistance:1 /maxdistance:5 /cycle:1 |
npcheroes 10 mainguy | npcheroes 10 mainguy | ||
npctroops 10 a:90k,w:2k,wo:2k,s:4k,t:2k | npctroops 10 a:90k,w:2k,wo:2k,s:4k,t:2k | ||
npclimits 10 a:400k | npclimits 10 a:400k | ||
− | farmingpolicy /level:8 /mindistance:1 /maxdistance:5 / | + | farmingpolicy /level:8 /mindistance:1 /maxdistance:5 /cycle:1 |
npcheroes 8 queen,smartguy | npcheroes 8 queen,smartguy | ||
npctroops 8 a:19k,w:80k,t:1k | npctroops 8 a:19k,w:80k,t:1k | ||
npclimits 8 w:200k,a:100k | npclimits 8 w:200k,a:100k | ||
</pre></blockquote> | </pre></blockquote> | ||
+ | |||
<br> | <br> | ||
Line 103: | Line 124: | ||
|} | |} | ||
− | This goal sets a limit in days for the amount of food obtained when farming npc's | + | This goal sets a limit in days for the amount of food obtained when farming npc's. the bot will limit farming to the specified number of days based on your troops' food consumption. |
+ | |||
+ | If this goal is not reached, the bot will farm your npcs once every 8 hours. Once it 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 for level 1-9 npcs, or config training10:1 is enabled for npc10s. | ||
+ | |||
+ | If this goal is not set, the bot will default to a 1 day npclimit. You can make it unlimited by putting an unreachable number in, for example config npclimit:9999. However, the bot will default to unlimited if config trading:1 is set, or default to 10 days if trading is off. | ||
+ | |||
+ | <br> | ||
+ | |||
+ | ==Npclist== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | npclist [level] npc1 npc2 npc3 [...] npcX | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">npclist </font><font size="2" face="courier" color="#A43900">5 111,222 111,333 111,444 111,555</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">npclist </font><font size="2" face="courier" color="#A43900">8 111,202 111,303 111,404 111,505</font> | ||
+ | |} | ||
+ | |||
+ | By default, the bot 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 the examples 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 [[NPC_Goals#Farming_Restrictions|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. | ||
+ | |||
+ | <br> | ||
+ | |||
+ | ==Npctroops== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | npctroops [level] troops_to_send | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">npctroops </font><font size="2" face="courier" color="#A43900">10 </font><font size="2" face="courier" color="#6699CC">a</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">90000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">wo</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">2000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">w</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">2000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">s</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">4000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">t</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">2000</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">npctroops </font><font size="2" face="courier" color="#A43900">9 </font><font size="2" face="courier" color="#6699CC">a</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">90000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">wo</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">2000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">w</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">2000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">s</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">4000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">t</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">2000</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">npctroops </font><font size="2" face="courier" color="#A43900">8 </font><font size="2" face="courier" color="#6699CC">w</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">100000</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">npctroops </font><font size="2" face="courier" color="#A43900">5 </font><font size="2" face="courier" color="#6699CC">b</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">400</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">t</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">400</font> | ||
+ | |} | ||
+ | |||
+ | By deafult, 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 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. | ||
+ | |||
+ | You can let the bot decide how many transports to send on a npc run by leaving them out in the goal. The bot will then send enough transports for a full plunder based on your logistics level. If you wish the bot to actually send 0 transports, use t:0 in the goal. | ||
+ | |||
+ | <br> | ||
+ | |||
+ | ==NpcLimits== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | npclimits [level] troops_to_have | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">npclimits </font><font size="2" face="courier" color="#A43900">10 </font><font size="2" face="courier" color="#6699CC">a</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">390000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">s</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">50000<br> | ||
+ | <font size="2" face="courier" color="#0000FF">npclimits </font><font size="2" face="courier" color="#A43900">8 </font><font size="2" face="courier" color="#6699CC">a</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">50000</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#6699CC">w</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">100000 | ||
+ | |} | ||
+ | |||
+ | 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 resume farming 10s, and 50k archers and 100k warriors before it will resume farming 8s. | ||
+ | |||
+ | <br> | ||
+ | |||
+ | ==Farmingcycle== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | config farmingcycle:[hours] | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">farmingcycle</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">6</font> | ||
+ | |} | ||
+ | |||
+ | 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 in the following order: | ||
+ | * If [[Hero_Goals#Training|config training:1]] or [[Hero_Goals#Training10|config training10:1]], then farm every hour | ||
+ | * If [[NPC_Goals#Farmingpolicy|farmingpolicy]] for that level of npc specifies a /farmingcycle, /cycle, /cyclemin, or /cyclemax switch, then use that number of hours | ||
+ | * If [[NPC_Goals#Farmingcyclemin|config farmingcyclemin]] and/or farmingcycle (this goal) is/are set, then use that/those number of hours | ||
+ | * If nothing is set, then use 8.4 hour cycles. | ||
+ | |||
+ | <br> | ||
+ | |||
+ | ==Farmingcyclemin== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | config farmingcyclemin:[hours] | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">farmingcyclemin</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
+ | |} | ||
+ | |||
+ | By default, the bot will farm the npcs in range once every 8.4 hours, or as specified by another goal (see above). 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 [[NPC_Goals#Farmingcycle|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. | ||
+ | |||
+ | For example, the bot could hit an npc 8 miles away for 100% plunder, or it could, in that same amount of time, hit 2 or more npcs 1 mile away for 50% plunder each.. the bot would chose the 1 mile away npcs instead with this goal enabled. This way you would gain the same or even more resources while having your heroes and troops closer to home for emergencies, share smaller areas of npcs with neighbors without over-farming each other as much, send less transports per mission on partially refilled npcs, and keep your closest npcs emptier than usual in order to chase away pesky neighbors that may want your nearby npcs. | ||
+ | |||
+ | ==Npcbounds== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | npcbounds Xmin Xmax Ymin Ymax | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">npcbounds </font><font size="2" face="courier" color="#A43900">5 200 215 400 415</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">npcbounds </font><font size="2" face="courier" color="#A43900">8 200 205 400 405</font> | ||
+ | |} | ||
+ | |||
+ | By default, the bot will find and farm npcs on it's own as specified with [[NPC_Goals#Farmingpolicy|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 bounderies 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 [[NPC_Goals#Farming_Restrictions|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. | ||
<br> | <br> | ||
+ | |||
+ | =Npc Building Goals= | ||
==Buildnpc== | ==Buildnpc== | ||
Line 130: | Line 271: | ||
|} | |} | ||
− | Combined with | + | 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 [[Valley_Goals#Valleytroops|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 [[Hero_Goals#Valleyheroes|valleyheroes]]. |
+ | |||
+ | <br> | ||
+ | |||
+ | ==NpcBuildPolicy== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;" | Usage: | ||
+ | | npcbuildpolicy /level:[level] /mindistance:[miles] /maxdistance:[miles] | ||
+ | |- | ||
+ | ! style="text-align:left;" | Example: | ||
+ | | | ||
+ | <font size="2" face="courier" color="#0000FF">npcbuildpolicy </font><font size="2" face="courier" color="red">/level:10 /mindistance:1 /maxdistance:5</font> | ||
+ | |} | ||
+ | |||
+ | 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 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 emcompass all levels of npcs, from 1 to 10. Some common building examples would be: | |
− | |||
− | |||
− | |||
− | + | For npcs level 5 & 10 only, 10's up to 5 miles away, 5's up to 15 miles beyond that: | |
+ | <pre> | ||
+ | config buildnpc:15 | ||
+ | npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5 | ||
+ | npcbuildpolicy /level:5 /mindistance:6 /maxdistance:15 | ||
+ | </pre> | ||
− | + | For npcs of any level, with 10's up to 5 miles away, 5's beyond that up to 10 miles away, and any junk level beyond that up to 20 miles away: | |
− | + | <pre> | |
− | + | config buildnpc:20 | |
− | </pre | + | npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5 |
+ | npcbuildpolicy /level:5 /mindistance:6 /maxdistance:10 | ||
+ | npcbuildpolicy /level:1-4 /mindistance:11 /maxdistance:20 | ||
+ | npcbuildpolicy /level:6-9 /mindistance:11 /maxdistance:20 | ||
+ | </pre> | ||
<br> | <br> | ||
− | == | + | ==AcquireFlats== |
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align:left;" | Usage: | ! style="text-align:left;" | Usage: | ||
− | | | + | | config acquireflats:[switch] |
|- | |- | ||
! style="text-align:left;" | Example: | ! style="text-align:left;" | Example: | ||
− | | | + | | |
− | <font size="2" face="courier" color="#0000FF"> | + | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">acquireflats</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> |
− | <font size="2" face="courier" color="# | ||
|} | |} | ||
− | + | This goal, combined with [[NPC_Goals#AbandonFlats|config 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 [[Hero_Goals#Valleyheroes|valleyheroes]]. | |
<br> | <br> | ||
− | == | + | ==AbandonFlats== |
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align:left;" | Usage: | ! style="text-align:left;" | Usage: | ||
− | | | + | | config abandonflats:[switch] |
|- | |- | ||
! style="text-align:left;" | Example: | ! style="text-align:left;" | Example: | ||
− | | | + | | |
− | <font size="2" face="courier" color="#0000FF"> | + | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">abandonflats</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> |
− | |||
− | |||
− | |||
|} | |} | ||
− | + | This goal, combined with [[NPC_Goals#AcquireFlats|config 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 [[NPC_Goals#AcquireFlats|config acquireflats]] is enabled. | |
<br> | <br> | ||
+ | |||
+ | =Obsolete & Deprecated Goals= | ||
==Npcteams == | ==Npcteams == | ||
Line 195: | Line 355: | ||
|} | |} | ||
− | This directive tells the bot how many | + | 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. |
+ | [[General_Goals#Rallypolicy|Rallypolicy]] is a better way to go for this. | ||
<br> | <br> | ||
Line 225: | Line 386: | ||
|} | |} | ||
− | This directive is being phased out in lieu of the more powerful [[NPC_Goals#NpcLimits|npclimits]] goal | + | This directive is being phased out in lieu of the more powerful [[NPC_Goals#NpcLimits|npclimits]] goal. |
<br> | <br> | ||
Line 256: | Line 417: | ||
This directive is being phased out in lieu of the more powerful [[NPC_Goals#NpcLimits|npclimits]] goal, below. | This directive is being phased out in lieu of the more powerful [[NPC_Goals#NpcLimits|npclimits]] goal, below. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
Line 302: | Line 427: | ||
|- | |- | ||
! style="text-align:left;" | Example: | ! style="text-align:left;" | Example: | ||
− | | npcexcludelist 111,222 111,333 111,444 | + | | |
+ | <font size="2" face="courier" color="#0000FF">npcexcludelist </font><font size="2" face="courier" color="#A43900">111</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">222 111</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">333 111</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">444</font> | ||
|} | |} | ||
− | + | This directive is being phased out in lieu of the more powerful [[General_Goals#Excludelist|excludelist]] goal. | |
<br> | <br> | ||
Line 316: | Line 442: | ||
|- | |- | ||
! style="text-align:left;" | Example: | ! style="text-align:left;" | Example: | ||
− | | npc10excludelist 111,222 111,333 111,444 | + | | |
+ | <font size="2" face="courier" color="#0000FF">npc10excludelist </font><font size="2" face="courier" color="#A43900">111</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">222 111</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">333 111</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">444</font> | ||
|} | |} | ||
− | This | + | This directive is being phased out in lieu of the more powerful [[General_Goals#Excludelist|excludelist]] goal. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> |
Latest revision as of 05:40, 16 August 2012
Npc Farming Goals
Npc
Usage: | config npc:[switch] |
---|---|
Example: |
config npc:5 |
Switch: |
1 - Attack npcs 1 to 5 |
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 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 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 npctroops. 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 based on the following order of priority:
- If config training:1 or config training10:1, then farm every hour [see below]
- If /farmingcycle switch is used in farmingpolicy, then use that number of hours
- If config farmingcycle is set, then use that number of hours
- If nothing is set, then use 8 hour cycles.
If npclimit is set and reached (ie, 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.
Farmingpolicy
Usage: | config npc:[switch] |
---|---|
Example: |
farmingpolicy /level:5 /mindistance:1 /maxdistance:7 /farmingcycle:8 |
Switch: |
/level:# |
Npc farming has receieved a major overhaul in the bot. It is now much more flexible and powerful, allowing you to farm specific levels of npcs 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. 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 to reset it's farming history for that particular level of npc or npclist, and to start over from the closest. 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 it's travel time and percentage of resources refilled since your last attack on that npc. For more detail on this switch, see config farmingcyclemin. This method of farming only affects level 1-5 npcs.
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 go with config npc:5 or whatnot.
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 /level:5 /mindistance:1 /maxdistance:7 /mincycle:1 npcheroes 5 !mainguy,!queen,any npctroops 5 b:500,t:400 farmingpolicy /level: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 /level: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
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.
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. the bot will limit farming to the specified number of days based on your troops' food consumption.
If this goal is not reached, the bot will farm your npcs once every 8 hours. Once it 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 for level 1-9 npcs, or config training10:1 is enabled for npc10s.
If this goal is not set, the bot will default to a 1 day npclimit. You can make it unlimited by putting an unreachable number in, for example config npclimit:9999. However, the bot will default to unlimited if config trading:1 is set, or default to 10 days if trading is off.
Npclist
Usage: | npclist [level] npc1 npc2 npc3 [...] npcX |
---|---|
Example: |
npclist 5 111,222 111,333 111,444 111,555 |
By default, the bot 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 the examples 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.
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 [level] troops_to_send |
---|---|
Example: |
npctroops 10 a:90000,wo:2000,w:2000,s:4000,t:2000 |
By deafult, 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 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.
You can let the bot decide how many transports to send on a npc run by leaving them out in the goal. The bot will then send enough transports for a full plunder based on your logistics level. If you wish the bot to actually send 0 transports, use t:0 in the goal.
NpcLimits
Usage: | npclimits [level] troops_to_have |
---|---|
Example: |
npclimits 10 a:390000,s:50000 |
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 resume farming 10s, and 50k archers and 100k warriors before it will resume farming 8s.
Farmingcycle
Usage: | config farmingcycle:[hours] |
---|---|
Example: |
config farmingcycle:6 |
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 in the following order:
- If config training:1 or config training10:1, then farm every hour
- If farmingpolicy for that level of npc specifies a /farmingcycle, /cycle, /cyclemin, or /cyclemax switch, then use that number of hours
- If config farmingcyclemin and/or farmingcycle (this goal) is/are set, then use that/those number of hours
- If nothing is set, then use 8.4 hour cycles.
Farmingcyclemin
Usage: | config farmingcyclemin:[hours] |
---|---|
Example: |
config farmingcyclemin:1 |
By default, the bot will farm the npcs in range once every 8.4 hours, or as specified by another goal (see above). 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.
For example, the bot could hit an npc 8 miles away for 100% plunder, or it could, in that same amount of time, hit 2 or more npcs 1 mile away for 50% plunder each.. the bot would chose the 1 mile away npcs instead with this goal enabled. This way you would gain the same or even more resources while having your heroes and troops closer to home for emergencies, share smaller areas of npcs with neighbors without over-farming each other as much, send less transports per mission on partially refilled npcs, and keep your closest npcs emptier than usual in order to chase away pesky neighbors that may want your nearby npcs.
Npcbounds
Usage: | npcbounds Xmin Xmax Ymin Ymax |
---|---|
Example: |
npcbounds 5 200 215 400 415 |
By default, the bot will find and farm npcs on it's own as specified with 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 bounderies 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.
Npc Building Goals
Buildnpc
Usage: | config buildnpc:[switch] |
---|---|
Example: |
config buildnpc:15 |
Switch: |
0 - Disable buildnpc |
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.
NpcBuildPolicy
Usage: | npcbuildpolicy /level:[level] /mindistance:[miles] /maxdistance:[miles] |
---|---|
Example: |
npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5 |
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 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 emcompass all levels of npcs, from 1 to 10. Some common building examples would be:
For npcs level 5 & 10 only, 10's up to 5 miles away, 5's up to 15 miles beyond that:
config buildnpc:15 npcbuildpolicy /level:10 /mindistance:1 /maxdistance:5 npcbuildpolicy /level:5 /mindistance:6 /maxdistance:15
For npcs of any level, with 10's up to 5 miles away, 5's 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:6 /maxdistance:10 npcbuildpolicy /level:1-4 /mindistance:11 /maxdistance:20 npcbuildpolicy /level:6-9 /mindistance:11 /maxdistance:20
AcquireFlats
Usage: | config acquireflats:[switch] |
---|---|
Example: |
config acquireflats:1 |
This goal, combined with config 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.
AbandonFlats
Usage: | config abandonflats:[switch] |
---|---|
Example: |
config abandonflats:1 |
This goal, combined with config 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 config acquireflats is enabled.
Obsolete & Deprecated Goals
Npcteams
Usage: | npcteams number_to_send |
---|---|
Example: |
npcteams 7 |
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 way to go for this.
Ballsused
Usage: | ballsused npc1s,npc2s,npc3s,npc4s,npc5s |
---|---|
Example: |
ballsused 25,50,170,250,500 |
This directive is being phased out in lieu of the more powerful npctroops goal.
Npc10list
Usage: | npc10list npc1 npc2 npc3 npc4 |
---|---|
Example: |
npc10list 111,222 111,333 111,444 |
This directive is being phased out in lieu of the more powerful npclimits goal.
Npc10troops
Usage: | npc10troops troops_to_send |
---|---|
Example: |
npc10troops a:90000,wo:2000,w:2000,s:4000,t:2000 |
This directive is being phased out in lieu of the more powerful npctroops goal.
Npc10limit
Usage: | npc10limit troops_to_have |
---|---|
Example: |
npc10limit a:390000,s:50000 |
This directive is being phased out in lieu of the more powerful npclimits goal, below.
Npcexcludelist
Usage: | npcexcludelist npc1 npc2 npc3 npc4 |
---|---|
Example: |
npcexcludelist 111,222 111,333 111,444 |
This directive is being phased out in lieu of the more powerful excludelist goal.
Npc10excludelist
Usage: | npc10excludelist npc1 npc2 npc3 npc4 |
---|---|
Example: |
npc10excludelist 111,222 111,333 111,444 |
This directive is being phased out in lieu of the more powerful excludelist goal.