(→Hero) |
(→HeroString) |
||
(92 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Hero== | ==Hero== | ||
− | {| class="wikitable" style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config hero:[switch] | | config hero:[switch] | ||
|- | |- | ||
− | ! Example: | + | ! style="text-align:left;" | Example: |
− | | config hero:10 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">hero</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">10</font> | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Switch: |
− | + | | | |
− | 0 - Disable Hero Management <br> | + | <font size="2" face="courier" color="#A43900">0</font> - Disable Hero Management <br> |
− | 1 - Level up heroes only<br> | + | <font size="2" face="courier" color="#A43900">1</font> - Level up & reward heroes only<br> |
− | 10 - Hire 1 good Politics hero all other attack heroes<br> | + | <font size="2" face="courier" color="#A43900">10</font> - Hire 1 good Politics hero all other attack heroes<br> |
− | 11 - Hire 1 good Politics and 1 good Intel hero all others attack heroes<br> | + | <font size="2" face="courier" color="#A43900">11</font> - Hire 1 good Politics and 1 good Intel hero all others attack heroes<br> |
− | 12 - Hire 1 good Politics and 2 good Intel heroes all others attack heroes<br> | + | <font size="2" face="courier" color="#A43900">12</font> - Hire 1 good Politics and 2 good Intel heroes all others attack heroes<br> |
− | 20 - Hire 2 good Politics heroes all others attack heroes<br> | + | <font size="2" face="courier" color="#A43900">20</font> - Hire 2 good Politics heroes all others attack heroes<br> |
− | 21 - Hire 2 good Politics and 1 good Intel hero all others attack heroes<br> | + | <font size="2" face="courier" color="#A43900">21</font> - Hire 2 good Politics and 1 good Intel hero all others attack heroes<br> |
− | 22 - Hire 2 good Politics and 2 good Intel heroes all others attack heroes | + | <font size="2" face="courier" color="#A43900">22</font> - 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <br> | |
==Fasthero== | ==Fasthero== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
− | | config fasthero:[ | + | | config fasthero:[base] |
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config fasthero:65 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">fasthero</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">65</font> | ||
|} | |} | ||
− | 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 city. | + | 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.'' | ||
+ | |||
+ | 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 ;) | ||
+ | |||
+ | <br> | ||
==Npcheroes== | ==Npcheroes== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
− | | npcheroes [optional level] | + | | npcheroes [optional level] hero-string |
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | npcheroes 10 | + | | |
− | npcheroes 9 | + | <font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">10 hero-string<br> |
− | npcheroes 5 | + | <font size="2" face="courier" color="#0000FF">npcheroes </font><font size="2" face="courier" color="#A43900">9 hero-string<br> |
− | npcheroes 4 | + | <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 hero-string</font><br> | ||
+ | <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. | ||
− | + | 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. | ||
+ | |||
+ | <br> | ||
==Npc10heroes== | ==Npc10heroes== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
− | | npc10heroes | + | | npc10heroes hero-string |
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | npc10heroes | + | | |
+ | <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. | + | 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> | ||
==Training== | ==Training== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config training:[switch] | | config training:[switch] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config training:1 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">training</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
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. | 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. | ||
+ | |||
+ | <br> | ||
==Training10== | ==Training10== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config training10:[switch] | | config training10:[switch] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config training10:1 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">training10</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
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. | 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. | ||
+ | |||
+ | <br> | ||
==Trainpol== | ==Trainpol== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config trainpol:[switch] | | config trainpol:[switch] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config trainpol:1 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">trainpol</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
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. | 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. | ||
+ | |||
+ | <br> | ||
==Trainint== | ==Trainint== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config trainint:[switch] | | config trainint:[switch] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config trainint:1 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">trainint</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
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. | 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. | ||
+ | |||
+ | <br> | ||
==KeepAttHome== | ==KeepAttHome== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config keepatthome:[switch] | | config keepatthome:[switch] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config keepatthome:1 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">keepatthome</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
− | By default the bot will send out all attack heroes on farming runs. With this goal set, the bot will keep the | + | 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. |
+ | |||
+ | <br> | ||
==Feastinghallspace== | ==Feastinghallspace== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config feastinghallspace:[spaces] | | config feastinghallspace:[spaces] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config feastinghallspace:2 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">feastinghallspace</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
Line 162: | Line 274: | ||
<span style="color:red">The bot will fire heroes regardless of their politics or intel scores if they are the lowest attack score.</span><br> | <span style="color:red">The bot will fire heroes regardless of their politics or intel scores if they are the lowest attack score.</span><br> | ||
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> | ||
==Nomayor== | ==Nomayor== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| config nomayor:[switch] | | config nomayor:[switch] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | config nomayor:1 | + | | |
+ | <font size="2" face="courier" color="#0000FF">config </font><font size="2" face="courier" color="#6699CC">nomayor</font><font size="2" face="courier" color="#000000">:</font><font size="2" face="courier" color="#A43900">1</font> | ||
|} | |} | ||
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. | 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. | ||
+ | |||
+ | <br> | ||
==Homeheroes== | ==Homeheroes== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| homeheroes [amount] | | homeheroes [amount] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | homeheroes 3 | + | | |
+ | <font size="2" face="courier" color="#0000FF">homeheroes </font><font size="2" face="courier" color="#A43900">3</font> | ||
|} | |} | ||
− | 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. | + | 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 [[Hero_Goals#Npcheroes|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. |
+ | |||
+ | <br> | ||
==Traininghero== | ==Traininghero== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
− | | traininghero heroname [ | + | | traininghero heroname [[minstay [maxstay [npchits]]] |
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | traininghero BigGuy 120 | + | | |
+ | <font size="2" face="courier" color="#0000FF">traininghero </font><font size="2" face="courier" color="#A43900">BigGuy</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">traininghero </font><font size="2" face="courier" color="#A43900">BigGuy 120</font><br> | ||
+ | <font size="2" face="courier" color="#0000FF">traininghero </font><font size="2" face="courier" color="#A43900">BigGuy 120 2400 10</font> | ||
|} | |} | ||
− | 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 example above, BigGuy will stay in the town for 120 seconds (2 minutes) | + | 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 [[Hero_Goals#npcheroes|npcheroes]] goal: | |
− | + | <pre> | |
− | + | npcheroes !BigGuy,any | |
− | + | or | |
− | ! | + | npcheroes 5 !BigGuy,any |
− | + | </pre> | |
− | |||
− | In the | + | 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> | ||
+ | |||
+ | <br> | ||
==Spamheroes== | ==Spamheroes== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
− | | spamheroes | + | | spamheroes hero-string |
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | spamheroes | + | | |
+ | <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]]. | + | This directive will tell the bot which heroes it may or may not use with [[Deployment_Scripts#LoyaltyAttack|loyaltyattack]] or [[Deployment_Scripts#SpamAttack|spamattack]]. |
− | |||
− | |||
− | + | See [[Hero_Goals#HeroString|Hero String]] for details on how to setup the hero string for this goal. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <br> | |
==Nolevelheroes== | ==Nolevelheroes== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
− | | nolevelheroes | + | | nolevelheroes hero-string |
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | nolevelheroes ForBob | + | | |
+ | <font size="2" face="courier" color="#0000FF">nolevelheroes </font><font size="2" face="courier" color="#A43900">ForBob</font> | ||
|} | |} | ||
− | 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 | + | 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> | ||
==Herofirelimit== | ==Herofirelimit== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| herofirelimit [level] | | herofirelimit [level] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | herofirelimit 70 | + | | |
+ | <font size="2" face="courier" color="#0000FF">herofirelimit </font><font size="2" face="courier" color="#A43900">70</font> | ||
|} | |} | ||
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. | 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. | ||
+ | |||
+ | <br> | ||
==Capturedfirelimit== | ==Capturedfirelimit== | ||
− | {| style=" | + | {| class="wikitable" |
− | + | ! style="text-align:left;" | Usage: | |
| capturedfirelimit [level] | | capturedfirelimit [level] | ||
|- | |- | ||
− | ! | + | ! style="text-align:left;" | Example: |
− | | capturedfirelimit 100 | + | | |
+ | <font size="2" face="courier" color="#0000FF">capturedfirelimit </font><font size="2" face="courier" color="#A43900">100</font> | ||
|} | |} | ||
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. | ||
+ | |||
+ | 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> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> | ||
+ | |||
+ | |||
+ | <br> |
Latest revision as of 18:37, 16 August 2012
Contents
Hero
Usage: | config hero:[switch] |
---|---|
Example: |
config hero:10 |
Switch: |
0 - Disable Hero Management |
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 |
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 |
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