Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11

Thread: July 25 Bot Update

  1. #1
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704

    July 25 Bot Update

    • Fixed TP locations not being set in the CastAbility callback.
    • Added unit-scoped IsCourier() function.
    • Added GetModifierSourceAbility( nModifier ) function that returns a handle to the ability responsible for the specified modifier.
    • Added InstallCourierDeathCallback -- takes a function with one parameter (a table containing unit (handle to the courier unit) and team (the team number of the courier))
    • Added InstallRoshanDeathCallback -- takes a function with no parameters

  2. #2
    Basic Member
    Join Date
    Mar 2012
    Posts
    2,012
    Thanks for the update

    Quote Originally Posted by ChrisC View Post
    • Added GetModifierSourceAbility( nModifier ) function that returns a handle to the ability responsible for the specified modifier.
    I assume I won't be able to check the cooldown or other private info of the instigating ability if it belongs to an enemy, correct?
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  3. #3
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704
    Yep, it's a normal ability handle with all the typical restrictions.

  4. #4
    @ChrisC: Couple of (important) things:

    1. GetAttackTarget: does this work only *after* the frist attack lands? If yes, why?

    2. GetNearbyTowers: why doesn't this work when the tower is in FoW? Can you change this? (same for barracks/shrines)

    3. GetNeutralSpawners: why are the large camp near radiant bot tier 1 and the large camp near dire top tier 1 assigned to dire and radiant respectively? Can you change it so on radiant both are assigned to radiant and on dire both are assigned to dire?

    4. Can we get a GetNearbyFillers (or GetNearbyEffigies) for the filler buildings in the bases?

    5. What happened to the slightly more advanced path-finding/navigation module I've been asking for a while? Is this at least in the "TODO" list?

  5. #5
    Basic Member
    Join Date
    Mar 2012
    Posts
    2,012
    Quote Originally Posted by ChrisC View Post
    • Added unit-scoped IsCourier() function.
    How can this be used? I assume couriers are only returned by GetUnitList() for now, correct? Or do other functions return enemy couriers?

    Quote Originally Posted by ChrisC View Post
    • Added InstallCourierDeathCallback -- takes a function with one parameter (a table containing unit (handle to the courier unit) and team (the team number of the courier))
    • Added InstallRoshanDeathCallback -- takes a function with no parameters


    Can we also get a handle to the unit that did the last hit please? For both the courier and Roshan callbacks?

    Thanks
    Last edited by The Nomad; 07-27-2017 at 02:20 PM. Reason: ok tested; GetTeam() doesn't work
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  6. #6
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704
    Quote Originally Posted by Platinum_dota2 View Post
    @ChrisC: Couple of (important) things:

    1. GetAttackTarget: does this work only *after* the frist attack lands? If yes, why?

    2. GetNearbyTowers: why doesn't this work when the tower is in FoW? Can you change this? (same for barracks/shrines)

    3. GetNeutralSpawners: why are the large camp near radiant bot tier 1 and the large camp near dire top tier 1 assigned to dire and radiant respectively? Can you change it so on radiant both are assigned to radiant and on dire both are assigned to dire?

    4. Can we get a GetNearbyFillers (or GetNearbyEffigies) for the filler buildings in the bases?

    5. What happened to the slightly more advanced path-finding/navigation module I've been asking for a while? Is this at least in the "TODO" list?
    1) I believe this gets set when the unit starts swinging. This is at least somewhat by design so that for enemies you can't tell who they're attacking when they're running towards you.
    2) Sure
    3) Should be fixed in today's update.
    4) Sure
    5) It's the topmost "big" thing on my todo list. Which is good because it's at the top, but bad because it's big and kind of complicated. Definitely wouldn't expect anything before TI, but I'd like to tackle it immediately post-TI.

  7. #7
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704
    Quote Originally Posted by The Nomad View Post
    How can this be used? I assume couriers are only returned by GetUnitList() for now, correct? Or do other functions return enemy couriers?

    Can we also get a handle to the unit that did the last hit please? For both the courier and Roshan callbacks? What is the point to the team_id parameter for the InstallCourierDeathCallback () callback ? If we have a handle to the courier, I think we can call GetTeam() on the courier, correct?

    Thanks
    Yeah, uh, I think that's the only place they're returned. I needed it for a test I was running so I figured I'd ship it.

    And sure, I can add the killing unit to courier and Roshan.

  8. #8
    Quote Originally Posted by ChrisC View Post
    1) I believe this gets set when the unit starts swinging. This is at least somewhat by design so that for enemies you can't tell who they're attacking when they're running towards you.
    2) Sure
    3) Should be fixed in today's update.
    4) Sure
    5) It's the topmost "big" thing on my todo list. Which is good because it's at the top, but bad because it's big and kind of complicated. Definitely wouldn't expect anything before TI, but I'd like to tackle it immediately post-TI.
    1- I understand but I really want this for creep agro! If you want keep it as it is for heroes it is absolutely fine, but it would be super useful to have it for (neutral/lane) creeps.
    [2,4]- Thanks!
    5- Thanks! I want to finish my framework and add a bunch of bots before/during TI (I got break next week and will work on it), but I understand that it is not that easy to write this. So, I will probably put something as a place holder and will use yours when it is ready.

    BTW. I think it would be super useful to have something for camp states (in GetNeutralSpawners) similar to ruins: states like "IsAvailable", "NotAvailable" and "Unknown". I'm doing this manually, but I think this would be useful for everyone!

  9. #9
    Basic Member
    Join Date
    Mar 2012
    Posts
    2,012
    The TeamID parameter is nil on InstallCourierDeathCallback () events. I also tested GetTeam() on the courier and it doesn't work.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  10. #10
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704
    Should just be "team", not "TeamID".

Posting Permissions

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