From NEAT Portal Wiki
Jump to: navigation, search
(Hero)
(HeroString)
 
(53 intermediate revisions by 2 users not shown)
Line 21: Line 21:
 
|}
 
|}
  
This config will tell the bot how you wish for your heroes to be hired and managed. In the example above, the bot will hire and upgrade 1 politics hero and the rest of your feasting hall slots with attack heroes. This must be set to a number higher than '1' in order for fasthero to function.
+
This config will tell the bot how you wish for your heroes to be hired and managed. In the example above, the bot will hire and upgrade 1 politics hero and the rest of your feasting hall slots with attack heroes. This must be set to 10+ in order for fasthero to function.  
 
 
When given a 2 digit value, the tens column will be the number of politics heroes you want in the city. The ones column will be the number of intel heroes you want in the city. All other heroes will be attack. As an example, config hero:52 would be 5 politics heroes, 2 intel heroes, and the remainder attack heroes.
 
  
 
<br>
 
<br>
Line 31: Line 29:
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align:left;" | Usage:
 
! style="text-align:left;" | Usage:
| config fasthero:[attribute]
+
| config fasthero:[base]
 
|-
 
|-
 
! style="text-align:left;" | Example:
 
! style="text-align:left;" | Example:
Line 38: Line 36:
 
|}
 
|}
  
With this config enabled, the bot will attempt to quickly hire and fire heroes from the inn, keeping only heroes of the attribute specified while keeping your config hero:x goal in mind. In the examples above, with config hero:10 set, you know you want the bot to keep 1 politics hero and the rest attack heroes. With config fasthero:65 set, the bot will attempt to hire & fire until it has found 1 65+ politics hero and the rest 65+ attack heroes. Having a level 1 inn in the city is recommended for this goal.  
+
With this config enabled, the bot will attempt to quickly hire and fire heroes from the inn, keeping only heroes of the base attribute specified while keeping your config hero:x goal in mind. In the examples above, with config hero:10 set, you know you want the bot to keep 1 politics hero and the rest attack heroes. With config fasthero:65 set, the bot will attempt to hire & fire until it has found 1 65+ base politics hero and the rest 65+ base attack heroes. Having a level 1 inn in the city is recommended for this goal to save gold.
 +
 
 +
A hero may be fired if it's base stat is lower than fasthero setting AND it's level is lower than herofirelimit setting. When selecting which hero to fire, the bot will only choose from idle heroes. This means a better hero may be fired if a worse one is off farming.
 +
 
 +
A helpful tip if filling multiple slots of heroes with fasthero in a city that is capable of farming npcs is to set valleyheroes and npcheroes using advanced hero strings to only use those with a high(er) base. For example, ''npcheroes 5 any:base>=65'', would allow npc farming to only send out any hero with 65 or higher base, so that the junk ones fasthero is still processing will be idle for it to fire and replace.
 +
 
 +
If fasthero is set to 120 or higher, then it will search for heroes in a different way. The hero's combined base of attack + intel will be taken into account. So for example, if a hero has 65 attack and 65 intel and is level 10, it's combined base would be 65+65-10 = 120 and would be kept with config fasthero:120. When selecting which hero to fire with a 120+ fasthero setting, the bot will choose from all available heroes, not just idle ones.
 +
 
 +
<br>
 +
 
 +
==HeroString==
 +
 
 +
Many places in the bot will allow you to specify heroes. The selection or list of heroes to be used will be referred to as the hero-string in various other places in the wiki.
 +
 
 +
You may list hero names individually, and/or exclude heroes with '!name', and/or include all heroes with 'any' or even use no hero at all with 'none'. For example,
 +
 
 +
<u>valleyheroes Biggy</u> ''this would allow only hero Biggy to attack valleys & flats''<br>
 +
<u>npcheroes any,!Smarty,!Biggy</u> ''this would allow any hero except Smarty and except Biggy to hit npcs''<br>
 +
<u>npcheroes 10 Biggy,Polly,Smarty</u> ''this would allow heroes Biggy, Polly, and Smarty to hit npc10s''<br>
 +
<u>reinforce 123,456 none c:100000</u> ''this would allow you to reinforce 123,456 with cav but not to include a hero''
 +
 
 +
 
 +
You may also use advanced filters in hero strings in the format of hero:filter. The hero name list (or 'any') must be stated first, followed by the filter(s). Any filters listed will apply to the entire line. For example,
 +
 
 +
<u>valleyheroes any:attack>180</u> ''this would allow any hero with an attack over 180 to attack valleys & flats''<br>
 +
<u>valleyheroes any:politics<200</u> ''this would allow any hero with politics under 200 to attack valleys & flats''<br>
 +
<u>npcheroes 8 any:politics=best</u> ''this would allow the best politics hero to hit npc8s''<br>
 +
<u>npcheroes 10 any:attack>300,base>60</u> ''this would allow any attack hero with both an attack over 300 AND a base over 60 to hit npc10s''<br>
 +
<u>attack 111,222 !Biggy,any:attack>180 c:99k,s:1k</u> ''this would attack coordinates 111,222 with any hero over 180 attack other than hero Biggy with 99k cavs, 1k scouts''<br>
 +
<u>attack 111,222 !Polly,any:attack<100 w:5k</u> ''this would attack coordinates 111,222 with any hero under 100 attack other than hero Polly with 5k warriors''
 +
 
 +
If you wish to apply seperate filters to seperate heroes, use multiple lines. For example,
 +
 
 +
<u>npcheroes 5 any:base>60</u><br>
 +
<u>npcheroes 5 any:attack<300</u>
 +
 
 +
The above lines mean that npc5s can be farmed with any hero that has greater than 60 base, OR any hero that has less than 300 attack. Multiple lines can be concatenated into a single line with the | symbol. For example,
 +
 
 +
<u>npcheroes 5 any:base>60|any:attack<300</u>
 +
 
 +
The above line means exactly the same thing as the 2 before it.
 +
 
 +
<u>npcheroes 5 any:base>60,attack<300</u>
 +
 
 +
If you were to instead use the line above, it would mean npc5s can be farmed with any hero that has both greater than 60 base, AND is less than 300 attack.
 +
 
 +
 
 +
All possible filters for use in hero strings are:
 +
 
 +
attack or att<br>
 +
politics or pol<br>
 +
intel or int<br>
 +
loyalty or loy<br>
 +
level or lvl<br>
 +
experience or exp<br>
 +
points or pts<br>
 +
base or bse<br>
 +
 
 +
All possible comparisons to use in filters are:
 +
 
 +
< (less than)<br>
 +
> (greater than)<br>
 +
= (equal to)<br>
 +
!= (not equal to)<br>
 +
<> (not equal to)<br>
 +
<= (less than or equal to)<br>
 +
>= (greater than or equal to)
 +
 
 +
"Best" and "Worst" can be used in place of values for comparisons, example:
 +
 
 +
<u>npcheroes 10 any:attack=best</u> ''would allow npc10s to be farmed with the best attack hero.''<br>
 +
<u>npcheroes 5 any:attack<best</u> ''would allow npc5s to be farmed with any hero lower than the best attack hero.''
 +
 
 +
Stats can be compared to other stats in place of values, example:
 +
 
 +
<u>npcheroes 5 any:attack>politics</u> ''would allow any hero with an attack score greater than it's politics score.''
 +
<u>npcheroes 5 any:politics>level</u> ''would allow any hero with a politics score greater than it's level.''
 +
 
 +
Wildcards can be used for the hero list. * will represent 1 or more characters, ? will represent 1 character. For example,
 +
 
 +
<u>npcheroes 5 att*:attack>200</u> ''would allow npc5s to be farmed with any hero over 200 attack that has att in it's name.''<br>
 +
<u>npcheroes 5 *:base>60</u> ''would allow npc5s to be farmed with any hero that has a base over 60.''
  
<span style="color:red">WARNING!!! The bot looks for attributes, not base, when selecting what heroes to keep.</span><br>
+
When using attributes as conditions, the bot will consider buffs as part of the value. For example, an attack hero with an unbuffed 100 attack and excaliber applied would be treated as a 125 attack hero in hero selection. Expiration time of buffs is not taken into account for an attack. Make sure your excaliber isn't going to run out before you smack that npc10 with a little hero ;)
It may fire your lvl 20 90 attack hero (with 70 base) in order to hire a lvl 50 101 attack inn hero (with 51 base). You can avoid heartache by setting up herofirelimit with a level ''lower than'' your good base heroes, or moving them to another city for safety.
 
  
 
<br>
 
<br>
Line 49: Line 127:
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align:left;" | Usage:
 
! style="text-align:left;" | Usage:
| npcheroes [optional level] name1,name2,name3
+
| npcheroes [optional level] hero-string
 
|-
 
|-
 
! style="text-align:left;" | Example:
 
! style="text-align:left;" | Example:
 
|  
 
|  
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">10 BigGuy<br>
+
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">10 hero-string<br>
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">9 PoliGuy<br>
+
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">9 hero-string<br>
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">5 </font><font size="2" face="courier" color="#000000">!</font><font size="2" face="courier" color="#A43900">BigGuy</font><font size="2" face="courier" color="#000000">,!</font><font size="2" face="courier" color="#A43900">IntelGuy</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">any</font><br>
+
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">5 hero-string<br>
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">4 IntelGuy</font><br>
+
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">4 hero-string</font><br>
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#000000">!</font><font size="2" face="courier" color="#A43900">BigGuy</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">any</font>
+
<font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900"> hero-string
 
 
 
|}
 
|}
  
 
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.  
 
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.  
  
You may list hero names individually, and/or exclude heroes with '!name', and/or include all heroes with 'any'. In the example above, hero BigGuy will farm npc10s, hero PoliGuy will farm npc9s, all heroes other than BigGuy and IntelGuy will farm npc5s, and hero IntelGuy will farm npc4s.  
+
See [[Hero_Goals#HeroString|Hero String]] for details on how to setup the hero string for this goal.
  
 
NOTE: You must still enable farming of these levels of npcs via the [[NPC_Goals#Npc|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.
 
NOTE: You must still enable farming of these levels of npcs via the [[NPC_Goals#Npc|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.
Line 73: Line 150:
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align:left;" | Usage:
 
! style="text-align:left;" | Usage:
| npc10heroes hero1,hero2,hero3
+
| npc10heroes hero-string
 
|-
 
|-
 
! style="text-align:left;" | Example:
 
! style="text-align:left;" | Example:
 
|
 
|
<font size="2" face="courier" color="#0000FF">npc10heroes </font><font size="2" face="courier" color="#A43900">BigGuy</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">OtherBigGuy</font>
+
<font size="2" face="courier" color="#0000FF">npc10heroes </font><font size="2" face="courier" color="#A43900">hero-string
 
|}
 
|}
  
This directive tells the bot which heroes may be used to farm level 10 npcs. It is being phased out in lieu of the more powerful 'npcheroes' goal. You may list hero names individually, and/or exclude heroes with '!name', and/or include all heroes with 'any'. In the example above, only heroes BigGuy and OtherBigGuy will be used to farm npc10s.  
+
This directive tells the bot which heroes may be used to farm level 10 npcs. It is being phased out in lieu of the more powerful 'npcheroes' goal.  
 +
 
 +
See [[Hero_Goals#HeroString|Hero String]] for details on how to setup the hero string for this goal.
  
 
NOTE: You must still enable farming of level 10 npcs via the [[NPC_Goals#Npc10limit|npc10limit]] goal. Simply setting which heroes to use will not make the bot hit level 10 npcs.
 
NOTE: You must still enable farming of level 10 npcs via the [[NPC_Goals#Npc10limit|npc10limit]] goal. Simply setting which heroes to use will not make the bot hit level 10 npcs.
 +
 +
<br>
 +
 +
==Valleyheroes==
 +
 +
{| class="wikitable"
 +
! style="text-align:left;" | Usage:
 +
| valleyheroes hero-string
 +
|-
 +
! style="text-align:left;" | Example:
 +
|
 +
<font size="2" face="courier" color="#0000FF">valleyheroes </font><font size="2" face="courier" color="#0000FF">AttackDude,ValleyGuy
 +
|}
 +
 +
This directive will tell the bot which heroes it may or may not use to acquire flats for holding or npc building, as well as heroes for valley acquisition, hunting, valleyfarming, and safevalleyfarming. In the example above, only the heroes named AttackDude and ValleyGuy would be allowed to perform any march against a valley or flat.
 +
 +
Another example, using advanced hero strings: ''valleyheroes !trainingheroname,any:attack>60''. This would allow any hero with 60+ attack other than the traininghero. I've found safevalleyfarm will often lose troops if a politics or intel hero with very low attack are sent. Since adding this to my goals, I have no more losses on safevalleyfarming and much lower losses on everything else.
 +
 +
See [[Hero_Goals#HeroString|Hero String]] for details on how to setup the hero string for this goal. <br>
  
 
<br>
 
<br>
Line 177: Line 275:
 
To avoid this you should also set herofirelimit with a level ''lower than'' your politics mayor and intel hero levels.
 
To avoid this you should also set herofirelimit with a level ''lower than'' your politics mayor and intel hero levels.
  
 +
Note - if you're running this goal alongside fasthero, fasthero will reserve these spaces in addition to a space for the traininghero.
 
<br>
 
<br>
  
Line 222: Line 321:
 
|}
 
|}
  
This directive will tell the bot who your main training hero is for use in queuing troops. You can have a different traininghero for different towns, or the same one for all towns. This hero will be automatically moved by the bot to each town that lists it as it's traininghero. By default the bot will remain for 10 minutes in each town. You can adjust this duration to stay by adding a time, in seconds, to the end of the line. In the first example above, BigGuy will stay in the town for 10 minutes to queue/farm before moving along. In the second example above, BigGuy will stay in the town for 120 seconds (2 minutes) to queue/farm before moving along. In the third example above, BigGuy would stay at least 120 seconds (2 minutes), and may leave the city after at least 10 npc hits are made, or at least 2400 seconds (40 minutes) have passed.
+
This directive will tell the bot who your main training hero is for use in queuing troops. You can have a different traininghero for different towns, or the same one for all towns. This hero will be automatically moved by the bot to each town that lists it as it's traininghero. By default the bot will remain for 10 minutes in each town. You can adjust this duration to stay by adding a time, in seconds, to the end of the line.  
 +
 
 +
In the first example above, BigGuy will stay in the town for 10 minutes to queue/farm before moving along.  
 +
 
 +
In the second example above, BigGuy will stay in the town for 120 seconds (2 minutes) to queue/farm before moving along.
 +
 +
In the third example above, BigGuy would stay at least 120 seconds (2 minutes), and may leave the city after at least 10 npc hits are made, or at least 2400 seconds (40 minutes) have passed.
  
 
The bot does not detect whether the traininghero is needed to queue in a town before sending it. If the traininghero is setup to farm npcs in the city, and a "0" is given as the optional npchits value, then the bot will not farm npcs in that town. It needs to be at least "1". Also if the traininghero is setup to farm npcs in the city and the remaining stay of the default 10 minutes or the configured maxstay time is less than the round trip travel time to the next npc for him to farm, he will still hit that npc even though it exceeds the maxstay. He will be moved to the next city upon returning from a npc trip that exceeds the maxstay time.
 
The bot does not detect whether the traininghero is needed to queue in a town before sending it. If the traininghero is setup to farm npcs in the city, and a "0" is given as the optional npchits value, then the bot will not farm npcs in that town. It needs to be at least "1". Also if the traininghero is setup to farm npcs in the city and the remaining stay of the default 10 minutes or the configured maxstay time is less than the round trip travel time to the next npc for him to farm, he will still hit that npc even though it exceeds the maxstay. He will be moved to the next city upon returning from a npc trip that exceeds the maxstay time.
Line 232: Line 337:
 
npcheroes 5 !BigGuy,any
 
npcheroes 5 !BigGuy,any
 
</pre>
 
</pre>
 +
 +
In the absense of any traininghero goal for a city, the best attack score hero in that city will be used as the traininghero.
  
 
<span style="color:red">Be sure not to set a town that is in 24 hour advanced teleport lockdown with your main traininghero, or it will get stuck!</span>
 
<span style="color:red">Be sure not to set a town that is in 24 hour advanced teleport lockdown with your main traininghero, or it will get stuck!</span>
Line 241: Line 348:
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align:left;" | Usage:
 
! style="text-align:left;" | Usage:
| spamheroes hero1,hero2,hero3
+
| spamheroes hero-string
 
|-
 
|-
 
! style="text-align:left;" | Example:
 
! style="text-align:left;" | Example:
 
|
 
|
<font size="2" face="courier" color="#0000FF">spamheroes </font><font size="2" face="courier" color="#000000">!</font><font size="2" face="courier" color="#A43900">BigGuy</font><font size="2" face="courier" color="#000000">,!</font><font size="2" face="courier" color="#A43900">OtherBigGuy</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">any</font>
+
<font size="2" face="courier" color="#0000FF">spamheroes </font><font size="2" face="courier" color="#A43900">hero-string
 
|}
 
|}
  
This directive will tell the bot which heroes it may or may not use with [[Deployment_Scripts#LoyaltyAttack|loyaltyattack]] or [[Deployment_Scripts#SpamAttack|spamattack]]. You may list hero names individually, and/or exclude heroes with '!name', and/or include all heroes with 'any'. In the example above, heroes BigGuy and OtherBigGuy will not be used, but any other hero may.
+
This directive will tell the bot which heroes it may or may not use with [[Deployment_Scripts#LoyaltyAttack|loyaltyattack]] or [[Deployment_Scripts#SpamAttack|spamattack]].
 
 
<br>
 
  
==NotSpamheroes==
+
See [[Hero_Goals#HeroString|Hero String]] for details on how to setup the hero string for this goal.
 
 
{| class="wikitable"
 
! style="text-align:left;" | Usage:
 
| notspamheroes hero1,hero2,hero3
 
|-
 
! style="text-align:left;" | Example:
 
|
 
<font size="2" face="courier" color="#0000FF">notspamheroes </font><font size="2" face="courier" color="#A43900">BigGuy</font><font size="2" face="courier" color="#000000">,</font><font size="2" face="courier" color="#A43900">OtherBigGuy</font>
 
|}
 
 
 
This directive will tell the bot which heroes are not used with [[Deployment_Scripts#LoyaltyAttack|loyaltyattack]] or [[Deployment_Scripts#SpamAttack|spamattack]]. You may list hero names individually, and/or exclude heroes with '!name', and/or include all heroes with 'any'. In the example above, heroes BigGuy and OtherBigGuy will not be used, but any other hero may.
 
  
 
<br>
 
<br>
Line 271: Line 365:
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align:left;" | Usage:
 
! style="text-align:left;" | Usage:
| nolevelheroes hero1,hero2,hero3
+
| nolevelheroes hero-string
 
|-
 
|-
 
! style="text-align:left;" | Example:
 
! style="text-align:left;" | Example:
Line 278: Line 372:
 
|}
 
|}
 
   
 
   
This directive will tell the bot not to upgrade a hero or heroes. In the example above, if the hero ForBob was being trained to give away to your friend Bob, you wouldn't want it to be upgraded due to Bob's rank and medal requirements. Setting this will allow ForBob to gain experience without being levelled up by the bot.
+
This directive will tell the bot not to upgrade a hero or heroes. In the example above, if the hero ForBob was being trained to give away to your friend Bob, you wouldn't want it to be upgraded due to increased persuasion costs and requirements. Setting this will allow ForBob to gain experience without being levelled up by the bot.
 +
 
 +
Another example, incorporating the new advanced hero strings: ''nolevelheros any:intel>=163'' would allow your intel heroes to grow until 163 int, then stop, letting you save up the points for adding to attack in the future... saving you holy waters to create a nice mech hitter. :)
  
 
<br>
 
<br>
Line 310: Line 406:
 
This directive will tell the bot not to automatically fire any captured hero of the level specified.
 
This directive will tell the bot not to automatically fire any captured hero of the level specified.
  
<br>
+
A) you have config hero set to something other than 0 (eg. config hero:1) ...''' AND'''
 +
 
 +
B) you have a captured hero of a level below the capturedfirelimit ... '''AND'''
  
 +
C) the captured hero is the lowest attack ... '''OR''' <br>
 +
D) the feasting hall is full and the traininghero is not in the city
  
 
<br>
 
<br>

Latest revision as of 18:37, 16 August 2012

Hero

Usage: config hero:[switch]
Example:

config hero:10

Switch:

0 - Disable Hero Management
1 - Level up & reward heroes only
10 - Hire 1 good Politics hero all other attack heroes
11 - Hire 1 good Politics and 1 good Intel hero all others attack heroes
12 - Hire 1 good Politics and 2 good Intel heroes all others attack heroes
20 - Hire 2 good Politics heroes all others attack heroes
21 - Hire 2 good Politics and 1 good Intel hero all others attack heroes
22 - Hire 2 good Politics and 2 good Intel heroes all others attack heroes

This config will tell the bot how you wish for your heroes to be hired and managed. In the example above, the bot will hire and upgrade 1 politics hero and the rest of your feasting hall slots with attack heroes. This must be set to 10+ in order for fasthero to function.


Fasthero

Usage: config fasthero:[base]
Example:

config fasthero:65

With this config enabled, the bot will attempt to quickly hire and fire heroes from the inn, keeping only heroes of the base attribute specified while keeping your config hero:x goal in mind. In the examples above, with config hero:10 set, you know you want the bot to keep 1 politics hero and the rest attack heroes. With config fasthero:65 set, the bot will attempt to hire & fire until it has found 1 65+ base politics hero and the rest 65+ base attack heroes. Having a level 1 inn in the city is recommended for this goal to save gold.

A hero may be fired if it's base stat is lower than fasthero setting AND it's level is lower than herofirelimit setting. When selecting which hero to fire, the bot will only choose from idle heroes. This means a better hero may be fired if a worse one is off farming.

A helpful tip if filling multiple slots of heroes with fasthero in a city that is capable of farming npcs is to set valleyheroes and npcheroes using advanced hero strings to only use those with a high(er) base. For example, npcheroes 5 any:base>=65, would allow npc farming to only send out any hero with 65 or higher base, so that the junk ones fasthero is still processing will be idle for it to fire and replace.

If fasthero is set to 120 or higher, then it will search for heroes in a different way. The hero's combined base of attack + intel will be taken into account. So for example, if a hero has 65 attack and 65 intel and is level 10, it's combined base would be 65+65-10 = 120 and would be kept with config fasthero:120. When selecting which hero to fire with a 120+ fasthero setting, the bot will choose from all available heroes, not just idle ones.


HeroString

Many places in the bot will allow you to specify heroes. The selection or list of heroes to be used will be referred to as the hero-string in various other places in the wiki.

You may list hero names individually, and/or exclude heroes with '!name', and/or include all heroes with 'any' or even use no hero at all with 'none'. For example,

valleyheroes Biggy this would allow only hero Biggy to attack valleys & flats
npcheroes any,!Smarty,!Biggy this would allow any hero except Smarty and except Biggy to hit npcs
npcheroes 10 Biggy,Polly,Smarty this would allow heroes Biggy, Polly, and Smarty to hit npc10s
reinforce 123,456 none c:100000 this would allow you to reinforce 123,456 with cav but not to include a hero


You may also use advanced filters in hero strings in the format of hero:filter. The hero name list (or 'any') must be stated first, followed by the filter(s). Any filters listed will apply to the entire line. For example,

valleyheroes any:attack>180 this would allow any hero with an attack over 180 to attack valleys & flats
valleyheroes any:politics<200 this would allow any hero with politics under 200 to attack valleys & flats
npcheroes 8 any:politics=best this would allow the best politics hero to hit npc8s
npcheroes 10 any:attack>300,base>60 this would allow any attack hero with both an attack over 300 AND a base over 60 to hit npc10s
attack 111,222 !Biggy,any:attack>180 c:99k,s:1k this would attack coordinates 111,222 with any hero over 180 attack other than hero Biggy with 99k cavs, 1k scouts
attack 111,222 !Polly,any:attack<100 w:5k this would attack coordinates 111,222 with any hero under 100 attack other than hero Polly with 5k warriors

If you wish to apply seperate filters to seperate heroes, use multiple lines. For example,

npcheroes 5 any:base>60
npcheroes 5 any:attack<300

The above lines mean that npc5s can be farmed with any hero that has greater than 60 base, OR any hero that has less than 300 attack. Multiple lines can be concatenated into a single line with the | symbol. For example,

npcheroes 5 any:base>60|any:attack<300

The above line means exactly the same thing as the 2 before it.

npcheroes 5 any:base>60,attack<300

If you were to instead use the line above, it would mean npc5s can be farmed with any hero that has both greater than 60 base, AND is less than 300 attack.


All possible filters for use in hero strings are:

attack or att
politics or pol
intel or int
loyalty or loy
level or lvl
experience or exp
points or pts
base or bse

All possible comparisons to use in filters are:

< (less than)
> (greater than)
= (equal to)
!= (not equal to)
<> (not equal to)
<= (less than or equal to)
>= (greater than or equal to)

"Best" and "Worst" can be used in place of values for comparisons, example:

npcheroes 10 any:attack=best would allow npc10s to be farmed with the best attack hero.
npcheroes 5 any:attack<best would allow npc5s to be farmed with any hero lower than the best attack hero.

Stats can be compared to other stats in place of values, example:

npcheroes 5 any:attack>politics would allow any hero with an attack score greater than it's politics score. npcheroes 5 any:politics>level would allow any hero with a politics score greater than it's level.

Wildcards can be used for the hero list. * will represent 1 or more characters, ? will represent 1 character. For example,

npcheroes 5 att*:attack>200 would allow npc5s to be farmed with any hero over 200 attack that has att in it's name.
npcheroes 5 *:base>60 would allow npc5s to be farmed with any hero that has a base over 60.

When using attributes as conditions, the bot will consider buffs as part of the value. For example, an attack hero with an unbuffed 100 attack and excaliber applied would be treated as a 125 attack hero in hero selection. Expiration time of buffs is not taken into account for an attack. Make sure your excaliber isn't going to run out before you smack that npc10 with a little hero ;)


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

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 Hero String for details on how to setup 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.


Npc10heroes

Usage: npc10heroes hero-string
Example:

npc10heroes hero-string

This directive tells the bot which heroes may be used to farm level 10 npcs. It is being phased out in lieu of the more powerful 'npcheroes' goal.

See Hero String for details on how to setup the hero string for this goal.

NOTE: You must still enable farming of level 10 npcs via the npc10limit goal. Simply setting which heroes to use will not make the bot hit level 10 npcs.


Valleyheroes

Usage: valleyheroes hero-string
Example:

valleyheroes AttackDude,ValleyGuy

This directive will tell the bot which heroes it may or may not use to acquire flats for holding or npc building, as well as heroes for valley acquisition, hunting, valleyfarming, and safevalleyfarming. In the example above, only the heroes named AttackDude and ValleyGuy would be allowed to perform any march against a valley or flat.

Another example, using advanced hero strings: valleyheroes !trainingheroname,any:attack>60. This would allow any hero with 60+ attack other than the traininghero. I've found safevalleyfarm will often lose troops if a politics or intel hero with very low attack are sent. Since adding this to my goals, I have no more losses on safevalleyfarming and much lower losses on everything else.

See Hero String for details on how to setup the hero string for this goal.


Training

Usage: config training:[switch]
Example:

config training:1

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, eg: config training:2.


Training10

Usage: config training10:[switch]
Example:

config training10:1

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.


Trainpol

Usage: config trainpol:[switch]
Example:

config trainpol:1

By default, the bot will not attack npcs with politics heroes. With this goal set, the politics hero will attack npcs, and be given priority for levelling by being sent before the attack heroes. Another (attack, normally) hero will be set as temporary mayor while your politics hero is out farming. You may notice a significant decrease in resource production with this enabled due to the temporary, lower politics mayors.


Trainint

Usage: config trainint:[switch]
Example:

config trainint:1

By default, the bot will not attack npcs with intel heroes. With this goal set, the intel hero will attack npcs, and be given priority for levelling by being sent before the attack heroes.


KeepAttHome

Usage: config keepatthome:[switch]
Example:

config keepatthome:1

By default the bot will send out all attack heroes on farming runs. With this goal set, the bot will keep the highest attack hero home in the city for defensive purposes.


Feastinghallspace

Usage: config feastinghallspace:[spaces]
Example:

config feastinghallspace:1

This goal tells the bot how many slots empty you want in your feasting hall. With this set, the bot will attempt to fire the lowest attack attribute hero in the city until it reaches the required number of free slots.

The bot will fire heroes regardless of their politics or intel scores if they are the lowest attack score.
To avoid this you should also set herofirelimit with a level lower than your politics mayor and intel hero levels.

Note - if you're running this goal alongside fasthero, fasthero will reserve these spaces in addition to a space for the traininghero.

Nomayor

Usage: config nomayor:[switch]
Example:

config nomayor:1

With this goal turned on, the bot will not keep a mayor appointed in the city. This will allow the politics hero to be sent out on farming runs. Note - you should use config trainpol:1 instead of config nomayor:1 to allow the politics hero to farm npcs and still be appointed mayor when it is not on a npc run.


Homeheroes

Usage: homeheroes [amount]
Example:

homeheroes 3

This directive will tell the bot how many heroes you wish to remain in the city while it is sending troops out for farming, etc. By default, all allowed heroes are sent out for farming. If a custom npcheroes list is defined, this goal will reduce the number of heroes that are allowed to farm at a time from the list, and that have to stay home at any given time vs. using all applicable heroes that are in your feasting hall.


Traininghero

Usage: traininghero heroname [[minstay [maxstay [npchits]]]
Example:

traininghero BigGuy
traininghero BigGuy 120
traininghero BigGuy 120 2400 10

This directive will tell the bot who your main training hero is for use in queuing troops. You can have a different traininghero for different towns, or the same one for all towns. This hero will be automatically moved by the bot to each town that lists it as it's traininghero. By default the bot will remain for 10 minutes in each town. You can adjust this duration to stay by adding a time, in seconds, to the end of the line.

In the first example above, BigGuy will stay in the town for 10 minutes to queue/farm before moving along.

In the second example above, BigGuy will stay in the town for 120 seconds (2 minutes) to queue/farm before moving along.

In the third example above, BigGuy would stay at least 120 seconds (2 minutes), and may leave the city after at least 10 npc hits are made, or at least 2400 seconds (40 minutes) have passed.

The bot does not detect whether the traininghero is needed to queue in a town before sending it. If the traininghero is setup to farm npcs in the city, and a "0" is given as the optional npchits value, then the bot will not farm npcs in that town. It needs to be at least "1". Also if the traininghero is setup to farm npcs in the city and the remaining stay of the default 10 minutes or the configured maxstay time is less than the round trip travel time to the next npc for him to farm, he will still hit that npc even though it exceeds the maxstay. He will be moved to the next city upon returning from a npc trip that exceeds the maxstay time.

The traininghero will farm npcs level 1-5 if the city is configured to farm them, unless he is told not to. You can exclude the traininghero from farming those npcs by adding or modifying the npcheroes goal:

npcheroes !BigGuy,any
or
npcheroes 5 !BigGuy,any

In the absense of any traininghero goal for a city, the best attack score hero in that city will be used as the traininghero.

Be sure not to set a town that is in 24 hour advanced teleport lockdown with your main traininghero, or it will get stuck!


Spamheroes

Usage: spamheroes hero-string
Example:

spamheroes hero-string

This directive will tell the bot which heroes it may or may not use with loyaltyattack or spamattack.

See Hero String for details on how to setup the hero string for this goal.


Nolevelheroes

Usage: nolevelheroes hero-string
Example:

nolevelheroes ForBob

This directive will tell the bot not to upgrade a hero or heroes. In the example above, if the hero ForBob was being trained to give away to your friend Bob, you wouldn't want it to be upgraded due to increased persuasion costs and requirements. Setting this will allow ForBob to gain experience without being levelled up by the bot.

Another example, incorporating the new advanced hero strings: nolevelheros any:intel>=163 would allow your intel heroes to grow until 163 int, then stop, letting you save up the points for adding to attack in the future... saving you holy waters to create a nice mech hitter. :)


Herofirelimit

Usage: herofirelimit [level]
Example:

herofirelimit 70

This directive will tell the bot not to automatically fire any hero of the level specified. When not set, the default level to keep is 50.


Capturedfirelimit

Usage: capturedfirelimit [level]
Example:

capturedfirelimit 100

This directive will tell the bot not to automatically fire any captured hero of the level specified.

A) you have config hero set to something other than 0 (eg. config hero:1) ... AND

B) you have a captured hero of a level below the capturedfirelimit ... AND

C) the captured hero is the lowest attack ... OR
D) the feasting hall is full and the traininghero is not in the city