Page 1 of 64 1 2 3 11 51 ... LastLast
Results 1 to 10 of 683

Thread: Modified npc_heroes.txt and a request

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Basic Member
    Join Date
    Nov 2011
    Posts
    44

    Exclamation Modified npc_heroes.txt and a request

    I've spend the few months or so tweaking npc_heroes.txt to get better performance out of the bots. A lot of other users on this forum have contributed to this file, including Anubis, Arxos, assteepee, cinephile, Drkirby, and DarkLite.

    This file is an updated item and skill build list for the bots, based on feedback I've gotten in this thread.

    Last updated 9/4/2014 - added new bot builds!
    npc_heroes.txt

    Note that this has not yet been updated for 6.82.

    As of 9/28/2014, it seems like others have come up with bot builds that are slightly better than mine. Please see e.g. here:
    http://dev.dota2.com/showthread.php?...25#post1152025

    To use it, simply place the file into your dota 2\dota\scripts\npc folder, for example:

    C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\scripts\npc

    Then, launch the game with -override_vpk

    Bot item build issues:
    *I'd like a dynamic item build system - listed under each bot would be stuff like "mek_priority", "pipe_priority", and a couple of optional fields for "counter_item" where you could tell the bots to build e.g. force staff vs. ursa. I'd also like different builds based on whether their team is winning or losing the game.
    *Bots don't buy wards at the start of the game.
    *Bots need to sell the cheapest non-boot item in their inventory when they run out of space, and buy boots of travel before their last item when they become 5-slotted.

    General bot issues:
    *Carry bots do not get nearly enough CS, and, interestingly enough, will skip teamfights to farm.
    *Bot's won't cancel TPs or inturrupt their own channeled skills (e.g. Lion will let you right click him down while he mana drains a creep).
    *Bots will dust anything, even individual spiderlings (lol).
    *Be more aware of DOT. If bots treated DOT as "I just took 3/4 of the total damage I will take" instead of "I just took a tiny of of damage", they'd be a lot less prone to dying. This is what makes Viper, Huskar, QoP, Veno, and any other DOT hero ball out of control against the bots - they just don't understand that they're going to be taking a lot more damage in the next 2 seconds, and will commit to a fight.
    *Play more defensively when enemies are MIA. Bots don't understand gankers at all. A quick and dirty fix would be to change "AggressionFactor" to "0.8" any time a hero is missing. In the long run, I'd like a better solution, since junglers or AFK players will cause issues with this.
    *Fix the bot's understanding of split pushing. Send 1 or 2 people back to defend when needed, not everyone, and certainly not no one.
    *Fix the bot's understanding of nukes. This one is probably the hardest for me to come up with a simple solution to. The issue is that they don't take take nukes into account when deciding whether to commit or retreat. If they know that there are 3 nukers in lane against them, that can kill them if chained, they need to play more passively, or possibly even retreat.
    *There are hundreds more of these which have been reported over and over again on the dev forum and aren't worth listing here.

    Hero specific issues which I can't fix:
    *Zeus is great if he gets a good early start, but still feeds if kept down. Ult usage is not great.
    *Sand King is beyond help.
    *Kunkka needs to learn to use Shadow Blade to initiate. Doesn't chain X and torrent properly.
    *Skeleton King is an underpowered semi-carry.
    *Luna's ult usage is terrible
    *Jakrio doesn't use Liquid Fire
    Attached Files Attached Files
    Last edited by thepotoo; 09-28-2014 at 07:47 AM. Reason: new bots!

  2. #2
    Basic Member
    Join Date
    Dec 2011
    Posts
    1,903
    I'll go over the file in detail once I get home, comments on the ones I looked at already:

    - The bots always sell the first item marked as SELLABLE in their inventory first, with Bane he buys a casual Mantle and Branch, but as it is now he'll sell the mantle before the branch as the mantle will be the 1st item in his inventory, perhaps you intended that for the extra strength but just making sure you're aware. Also, I really dislike Aghanim's on Bane. I don't think it's a good item on him to begin with, and certainly not against the god-tier interrupts the bots possess. Granted, it's unlikely he'll ever get that far in his item build anyhow. If I recall I made him go Linken's instead
    - In Drow Ranger's item build, it is likely she'll combine her first Slipper's of Agility to make the Wraith Band, in this case she will NEVER sell the second Slipper's of Agility, as it is not marked as sellable and will not be turned into a sellable Wraith Band (as the first, sellable slipper did), so basically you'll want to mark the second slipper as sellable instead
    - I noticed you were rather inconsistent on whether you 6 slot your bots or not. Personally I like to keep to 5 slots, to keep room for a TP scroll. I can understand it that people want to 6 slot carries though, so while my own preference goes to 5 slots I don't mind a 6 slot either. However, CK and Drow for example were 5 slotting, while Viper and Sniper were 6 slotting, just struck me as rather odd

    Also, I've personally started using a larger number range for some of the Laning Info fields. In particular, SoloDesire and RequiresFarm. These stats don't seem to have any effect on the way the bots pick, but making a larger number range allows for some more specification for their lane selection. For example, I made DP a 6 in SoloDesire, as she needs mid more so than any other bot hero implemented at the moment.
    I don't know how SurvivalRating affects their lane or hero choices, so I've refrained from messing with that for now, in addition it seems the bots pick heroes to equalize the Requires/Provides babysit values, or at least heavily do so during lane selection, so I've opted not to mess with them, as I'm not sure what happens if the range becomes too big for them to easily equalize it.

  3. #3
    Basic Member DarkLite's Avatar
    Join Date
    Dec 2011
    Location
    Patch Anticipation Station
    Posts
    3,919
    Quote Originally Posted by Arxos View Post
    - I noticed you were rather inconsistent on whether you 6 slot your bots or not. Personally I like to keep to 5 slots, to keep room for a TP scroll. I can understand it that people want to 6 slot carries though, so while my own preference goes to 5 slots I don't mind a 6 slot either. However, CK and Drow for example were 5 slotting, while Viper and Sniper were 6 slotting, just struck me as rather odd
    Does marking their treads/phase/arcanes as sellable enable them to upgrade to BoTs lategame? Or does it just result in the bots selling boots at stupid times (for example, to pick up Aegis) and not getting another set of boots till they've filled every other slot?
    Please help keep the forums clean by reporting rude or abusive posts!
    Got a problem? PM me or another moderator!
    Forum Rules


  4. #4
    Basic Member
    Join Date
    Dec 2011
    Posts
    1,903
    Quote Originally Posted by DarkLite View Post
    Does marking their treads/phase/arcanes as sellable enable them to upgrade to BoTs lategame? Or does it just result in the bots selling boots at stupid times (for example, to pick up Aegis) and not getting another set of boots till they've filled every other slot?
    They'll just sell it whenever they need room and it just so happens to be the first item in their inventory (going from left to right, top to bottom). In cases of items that need a lot of parts, like say an Orchid, it could easily cause them to sell their Treads in order to make room for a Sobi Mask despite being fairly early on in the game.
    It's highly frustrating, for example I used to make my DP go Drums, but as she'd buy something like a 2 trash mantle's and a branch, together with consumables, often times she'd buy her Drums before getting rid of all of them, and the Drums would be on something like 2nd or 3rd slot, where as there's still some Tango's on 4th slot. So she'll just casually sell her Drums instead of her Tango's.

    It could be that I still make her go Drums and just reorganized her inventory to reduce the odds of it happening, not sure will check once I'm home.

  5. #5
    Basic Member
    Join Date
    Dec 2011
    Posts
    1,903
    Right, gonna look over them in detail now, loads of #OPINIONS :

    Bane - Nothing to add other than what I mentioned earlier
    Bounty Hunter - Tango's and Flask are before trash branches, which means that he may sell his tango's early on if he needs room (for the boots or a TP scroll for example) which may put him with insufficient regeneration
    Chaos Knight - My advice here is to make him just get a casual Magic Stick, not a full Magic Wand, he has some major issues with inventory space early on and may sell his consumables, further more I don't feel it worth it to upgrade it anyhow, the 2 branches should be moved before the consumables in this case and be marked as sellable.
    Crystal Maiden - The rank 2 aura is a bit odd I think, I'd personally stick to 1 rank, but guess it's just preference
    Dazzle - Looks fine, I'm personally not a fan of Aghanim's though and I made him get a Heaven's Halberd instead, the bots are quite good at using it (and horrible at dealing with it) so I'm quite a fan of it
    Death Prophet - I really don't like Skadi on DP, not before Heart anyhow, I personally just left it out and kept a 6th slot for TP
    Dragon Knight - Personally prefer AC or Satanic over Mjollnir, but otherwise fine
    Drow Ranger - I just noticed that the markings on the slippers and wraith bands are really messed up, I at first did not notice the 2nd Wraith Band, but as she may sell her 1st slippers it can cause some serious problems. Look into that. Furthermore, I recommend making her require babysit instead of providing. Honestly with a Drow you need a good laning phase, there's no reason for you to assist the person you're laning with.
    Earthshaker - I recommend making him buy 1 more Clarity, the reason being is that he will use up all his slots as it is. If he buys wards, he'll either leave the wards at base or leave a branch at base. Also I think he's better off without the casual bracer before his Arcane Boots, I feel it just slows down more important items on him more so than anything.
    Jakiro - If he buys a courier or wards, he won't have the money to buy a Ring of Protection at the start. I recommend removing 1 Clarity. Furthermore, I personally feel he'd be better off with just a Magic Stick, no Wand. Use the branches to make the Mek instead.
    Juggernaut - I feel he'd be better off making an early Vladmir's than Drums, additionally my personal preference is to max healing before crit, the early Vladmirs allows him to cast it a lot even with the high mana cost.
    Kunkka - Has 150 starting gold left over, I personally just made him get a trash Gauntlet (didn't bother upgrading to Bracelet)
    Lich - Looks fine
    Lina - Looks fine
    Lion - Early items are odd, he'll never be able to buy the Ring of Protection at the start, so why purchase that before boots anyhow? In addition he'll have 60g left over at the start, it's not major but considering that it may be a better idea to buy the Ring of Protection before the gauntlets. That way you'll only have 35g extra and he can finish up the Tranquil Boots at the side shop. Due to him probably buying courier/ward he can't get the double gauntlets at the start either. I dunno I'd just review this thing, it doesn't seem like you thought this one through.
    Luna - I just noticed this one myself actually, seems I didn't notice it on the pass through my own npc_heroes.txt either, her starting items are awkward. She's 6 slotted early on, so if she dies she'll sell consumables to get a TP scroll. Additionally she's sitting still 79g at the start. What I just did was make her buy a Circlet (for Wraith) and a trash Branch, and just buy a casual magic stick instead of upgrading it. It uses up all the starting gold for less inventory slots while giving her the same stats and allows for a much faster Ring of Aquila.
    Necrolyte - Bit awkward starting items on this one due to multi-roles, I'll mention more on that later. Do not like Aghanim's on Necrolyte, supposedly the bots ignore the no-buyback thing anyhow which is hilarious. How's the Rod of Atos on him by the way? I would get it for him, but as I need to keep 1 slot available for TP I find it hard to take Atos as that'd mean not being able to get Heart.
    Omniknight - Looks fine
    Razor - He's 8g off being able to buy the Ring of Protection at the start which is really a pity. I recommend the same starting items as Luna for him. Furthermore, I'm a complete sucker for the Aghanim's/Refresher combo on Razor nowadays, Razor bot uses it pretty well actually (though he sometimes doesn't stay in range for it properly). I recommend you try it, I find it works a lot better than his standard right click build, he often screws up his Static Link anyhow.
    Sand King - Looks fine
    Skeleton King - You still have his critical strike in skill build, it should be mortal strike nowadays, I don't recommend skilling it early as he doesn't use it anyhow though. Additionally, I prefer just getting a casual magic stick and going for an early Soul Ring for him though (if you haven't noticed yet, I really like casual magic sticks, I really think that with the bots derpy sell AI and inflexible inventories having the triple branches early on is a big draw back, and besides that I just plain like casual magic sticks to begin with)
    Sniper - There's a random '%' at the Quarterstaff for Butterfly, secondly I personally don't like early Wraith Bands on bots, never really seems to do anything for them to get early cheap items like that. And MoM is questionable but lets ignore that.
    Sven - He has 164 unused starting gold, I personally just gave him a trash gauntlet, but I'm considering just removing the branches and doing something else entirely, perhaps an early stout shield so he can be more aggresive early on or something, casual magic sticks ahoy
    Tidehunter - Has enough gold for an additional Clarity or Branch (gives inventory issues that one though), since he really doesn't need 3 clarity's I think it's better to just leave as is though, but just throwing it out there
    Tiny - You have 699g worth of starting items. I'm personally a fan of just straight up rushing an Aghanim's as I hate how poor the bots are at selling Drums at an appropriate time, but is alright
    Vengeful Spirit - You have a bit of an odd build. You straight up rush a Yasha, which would imply carry build, yet you straight after get an Aghanim's. Honestly I'd either drop the Aghanim's or replace Yasha with a Mek or Force Staff. I'm not too much of a fan of Aghanim's on VS bot anyhow.
    Viper - Looks fine
    Warlock - Looks fine
    Windrunner - Same as Necrolyte with starting items
    Witch Doctor - Looks fine
    Zeus - Looks fine, though as Zeus likes spamming his Arc Lightning a lot I personally prefer maxing that before Static Field



    Regarding the awkward starting items, it's due to the multi-roles. Basically, as a ganker/support, you should always expect your bots to only have 453g at the start due to courier/wards, however when a bot can be both support or semi-carry this gets awkward. Further more, if these heroes are picked for support they may neglect farm that they really shouldn't neglect. For example if a Bounty Hunter is laning with a Lina, he may very well decide that Lina should get the last hits, as they're both support and she has range while he does not, therefore he won't risk getting into range.
    For that reason I've made sure none of my bots are marked as both of these roles simultaneously, as it just really pains me to see a Bounty Hunter go 'Nah CM I don't need the CS, you take it'. Besides that I've also made sure not to use the 'Tank' role, as it's a stupid role (Necrolyte still had it). Lastly, Lich was also marked as a normal support (in addition to like 3 other roles), not any specific type, I'm not even sure if that role actually exists as no implemented bots have that role, it seems some redundant role that was used before ChrisC got specific support roles.

    And I'll also just repeat that I really recommend using more levels of SoloDesire and RequiresFarm than just 0/1/2, I've found it massively improves lane selection.
    Here's what I personally use:

    Code:
    Hero		Solo	Farm
    Bane		4	1
    Bounty Hunter	1	4
    Chaos Knight	0	6
    Crystal Maiden	0	0
    Dazzle		1	0
    Death Prophet	6	4
    Dragon Knight	2	5
    Drow Ranger	3	6
    Earthshaker	0	1
    Jakiro		0	1
    Juggernaut	0	4
    Kunkka		1	4
    Lich		1	0
    Lina		2	1
    Lion		2	1
    Luna		1	6
    Necrolyte	5	3
    Omniknight	0	1
    Razor		5	4
    Sand King	0	1
    Skeleton King	0	6
    Sniper		3	6
    Sven		0	4
    Tidehunter	0	1
    Tiny		0	6
    Vengeful Spirit	0	0
    Viper		5	4
    Warlock		2	1
    Windrunner	3	2
    Witch Doctor	0	1
    Zeus		3	2
    Last edited by Arxos; 09-10-2013 at 01:22 AM.

  6. #6
    There is also an extra % at the quarterstaff in Viper's build. Don't think it really matters though. Also, if you are 6 slotting them, make sure the first part they buy for their 6th item is a piece from the secret shop because they don't know how to make room or user courier to shop for items, which means in your Viper's build, he will never be able to finish his MKB. He needs to get Demon Edge first.

    Also, doesn't "SurvivalRating" affect how much they want to go to the safelane?

  7. #7
    Basic Member
    Join Date
    Dec 2011
    Posts
    1,903
    Quote Originally Posted by Tassadarmaster View Post
    There is also an extra % at the quarterstaff in Viper's build. Don't think it really matters though. Also, if you are 6 slotting them, make sure the first part they buy for their 6th item is a piece from the secret shop because they don't know how to make room or user courier to shop for items, which means in your Viper's build, he will never be able to finish his MKB. He needs to get Demon Edge first.

    Also, doesn't "SurvivalRating" affect how much they want to go to the safelane?
    Good point on the Secret Shop, forgot to check for occurrences of that.

    And I really don't know what SurvivalRating does, I don't think it affects laning choice as I'm pretty sure what they do there is send the bot that requires the most babysit to the safe lane, then send the bot that provides the most with him, send the guy with the highest SoloDesire mid and finally send the remaining 2 into the off lane.
    I was thinking it may act as some sort of multiplier for the bots tankiness estimation, as the AI themselves probably can't accurately account for ability tankiness.

  8. #8
    Can you look over my npc_heroes.txt and give some opinions?

  9. #9
    Basic Member
    Join Date
    Dec 2011
    Posts
    1,903
    General notes:
    You're 6-slotting heroes. Do with it what you will, but I'm just gonna point it out whenever I see it.

    Heroes:
    Bane - Do not like his item build. First off he's marked as a support (not saying this is a bad thing), so he's likely to buy wards/courier (Gankers are less likely), in which case he'll be left with 73g at the start. Additionally I think it's a waste for Bane to get a full Magic Wand and first item Aghanim's is terrible. It's terrible against players and its even worse against bots with their godlike interruption skills. If you really want Aghanim's, at least get a BKB first. If you're worried about his mana pool if you straight up go BKB, get a casual Point Booster into BKB. Additionally I think getting an Orchid as 3rd item over Sheepstick is a waste. Sheepstick is far too strong and Orchid is mainly a first slot item, I'd get it directly after BKB myself. Finally, I'm not a fan of not maxing out Nightmare due to Nightmare getting +50 range per rank, admittedly the bots don't use it optimally however. It's up to you but most people don't know about the extra range on Nightmare, so felt I should mention.
    Crystal Maiden - Weird skill build. It's like you can't decide between Crystal Nova or Brilliance Aura. To be fair I think that putting points into Brilliance Aura after 7 is redundant. At that point your carries probably already have something sorted themselves and CM doesn't need it thanks to the double benefit. I'd take a look at CM's LaningInfo as well, I see you left it at default but I don't really feel that's right.
    Drow Ranger - You have 88 starting gold left over. A carry should never have that much left over. Also there is a mistake in with Yasha in her item build. You also have this thing going on again where you can't decide between her aura and silence, additionally Drow generally uses her Silence mostly to waste mana during the laning phase and I'd recommend not skilling that until lvl 8. Similarly her aura is pretty bad until her agility is high, so I'd max out Silence form 8 onward, then aura.
    Earthshaker - Assuming he buys courier/wards (which is pretty likely) he won't be able to buy the Ring of Protection and will be left sitting at 98g.
    Juggernaut - I think taking stats until 10 is a severe overkill. Your item build seems confused as well, you get a BF followed by a Vladmirs. What do you want to do, farm or push? I personally think BF Juggernaut is pretty bad (on bots anyhow). Getting an Aghanim's as your very last item is also weird.

    I'm gonna stop it here, I feel you didn't really think about the builds that well. Indecisiveness about skills is bad, starting gold mistakes and questionable item builds. Maybe these builds work for you, but this is bots we're talking about, I recommend making builds that work for them rather than yourself, be sure to consider the odds of the bot getting really bad farm as well, what items are good regardless of how good his farm is?
    Indecisiveness about skills is always a bad thing though, I imagine you do that in normal games as well and you should really fix that habit if so.
    Last edited by Arxos; 09-23-2013 at 05:25 AM.

  10. #10
    Well, I have taken the 453g for support heroes into consideration and re-edited the file. About the 6-slotting, I don't see why it matters. By the time they get all farmed up, the game is pretty much over and the battle is usually pretty one-sided. Though, I might consider changing it depending on what you have to say about this.

    Bane - Don't know why you don't like Orchid on him; it gives him another source of disable. I had him getting Orchid before Sheepstick since it's easier to get early on. Sheepstick is something you would get lategame. Anyway, I adjusted his item build so he would buy sheepstick earlier since he often stealkills with his brainsap and should have the farm to afford it. And yeah I kind of agree rushing Scepter is bad on him.

    Crystal Maiden - I have decided she should head towards arcane aura after maxing frostbite. I actually find that mana regen pretty useful early on as it allows me to play a little more aggressive without investing gold into mana regen items or going back to fountain. I don't see anything wrong with her laning info. If it's the RequiresFarm that's bothering you, pure support bots don't take any last hits unless the laning partner is out of lasthit radius. Additionally I have adjusted so that all the support/pure support bots have 1 point into RequiresFarm. The reason I have it set up like this is I recall seeing pure supports such as CM not taking any last hits when her laning partner is out of lasthit radius (running back to fountain), she would only deny.

    Drow - Nice catch on that Yasha. That error is part of the default build, someone should really tell ChrisC to fix it (not that it's game breaking though). Then there's that additional % in Viper's quarterstaff build.

    Earthshaker - Revised.

    Juggernaut - Revised his skill build, had it on default. Adjusted his item build. What's wrong with BF on bots?

    Regarding their roles, I have given them all single role and removed the following role: ganker, push support, tank support. Not sure if this is a good idea but at least I'm not seeing the same heroes everygame. It also solves the issue of carries buying items support items like dust and gems, it hurts them a lot since it delays their build. Supports should be getting them now. Speaking of role, I see they have just added a new bot role, DOTA_BOT_NUKER. If you have time, want to find out what it does? (their desire on buying wards/courier/gems/how often they get picked) Only thing I was able to find out is Pure Supports will always get wards, gankers seems to favor buying dust/gem. Anyway, I'd like for you to continue on if you have the time to do so.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •