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

Thread: [Confirmed] Long-Range Exp Is Far Too Low With Allies Nearby

  1. #1
    Basic Member
    Join Date
    Apr 2012
    Posts
    1,137

    [Confirmed] Long-Range Exp Is Far Too Low With Allies Nearby

    Example Repro:

    1. Spawn a Clockwerk, two allied Heroes, and one enemy Hero. Do not level them.
    2. Level Rocket Flare, enable -wtf for convenience.
    3. Position Clockwerk outside of 1200 exp range, and both allied Heroes next to the enemy Hero.
    4. Kill the enemy Hero with Rocket Flare acquiring the last hit.

    Result: Clockwerk receives 33 exp; each allied hero receives 138 exp.
    Expected: Clockwerk receives 100 exp; each allied hero receives 155 exp.

    Explanation: In DotA 1, there are two components of exp: hardcoded and triggered exp.

    Hardcoded exp follows the pattern 100/120/160/220 for killing a hero levels 1-4, then 300/400/500/600... for heroes level 5+. This is shared fully between Heroes in 1200 range.

    Triggered, or "bonus" exp follows the following pattern:

    • 1 Hero: 120+20*LevelOfDyingHero
    • 2 Heroes: 90+15*LevelOfDyingHero
    • 3 Heroes: 30+7*LevelOfDyingHero
    • 4 Heroes: 20+5*LevelOfDyingHero
    • 5 Heroes: 15+4*LevelOfDyingHero

    This formula is applied directly to allied Heroes in 1200 range (with a little discrepancy... I will assume Icefrog was just misinformed here).

    However, kills outside of 1200 exp range do NOT cause the killing Hero to receive or even affect exp distribution to Heroes inside this radius. Instead, a killing Hero outside of 1200 exp range SHOULD simply be awarded a full quantity of the hardcoded exp without taking it from their allies within exp range. Thus, Clockwerk should receive 100 exp for killing a level 1 hero, and his allies within exp range should each receive a share of 50 exp plus 90+15 bonus exp, totaling 155 exp. The current interaction is that Clockwerk takes only a share of the hardcoded exp, reducing his allies' exp gain as well. Bonus exp is awarded correctly.

  2. #2
    Basic Member
    Join Date
    Sep 2011
    Posts
    1,167
    Can confirm this, tested both dota1 and dota2 and the numbers are as listed, looks like a fairly big issue especially for the viability of Exort invoker which is the most likely hero to get kills out of xp range. That's a ton of xp lost.

  3. #3
    Basic Member shalafi's Avatar
    Join Date
    Nov 2011
    Posts
    659
    Speculation has it that IF was too lazy to properly code it in WC3 (allowing true seamless XP distribution regardless of range for the killer)

    As you said, WC3 actually gives more XP if the killer is outside of range when there are allies nearby. But "properly" coding would mean taking out the hardcoded XP for heroes (if possible?) and just give everything by triggers. Or in a dirtier way, manually checking all of the allied heroes in range and adapting the triggered XP to the hardcoded XP (and you would still get extra XP if an ally in range is banished since he wouldn't be counted...)

  4. #4
    Basic Member
    Join Date
    Jun 2012
    Posts
    407
    I actually hope this goes to intended fixes. I remember positioning myself for kills outside of the range with those kind of heroes (clock - not really, but AA/invo/furion/zeus) for xp burst and that always seemed kinda silly.

    And yes, invoker needs other kind of buffs, not this one.
    Last edited by Caleb; 08-01-2013 at 07:17 AM.

  5. #5
    Volunteer Moderator bu3ny's Avatar
    Join Date
    Oct 2011
    Location
    .-.
    Posts
    11,639
    Quote Originally Posted by shalafi View Post
    Speculation has it that IF was too lazy to properly code it in WC3 (allowing true seamless XP distribution regardless of range for the killer)

    As you said, WC3 actually gives more XP if the killer is outside of range when there are allies nearby. But "properly" coding would mean taking out the hardcoded XP for heroes (if possible?) and just give everything by triggers. Or in a dirtier way, manually checking all of the allied heroes in range and adapting the triggered XP to the hardcoded XP (and you would still get extra XP if an ally in range is banished since he wouldn't be counted...)
    Yes, you can make units give no exp.
    Please, just call me buny.

  6. #6
    Basic Member shalafi's Avatar
    Join Date
    Nov 2011
    Posts
    659
    Quote Originally Posted by bu3ny View Post
    Yes, you can make units give no exp.
    Yah, but all units it's too drastic (and I know you can do that because of other custom maps). I wanted to know if it's possible to make just heroes not give XP.

  7. #7
    Volunteer Moderator bu3ny's Avatar
    Join Date
    Oct 2011
    Location
    .-.
    Posts
    11,639
    That should be possible, too.
    Please, just call me buny.

  8. #8
    Basic Member
    Join Date
    Apr 2012
    Posts
    1,137
    Use dummy heroes to collect out-of-range exp.

  9. #9
    Volunteer Moderator
    Join Date
    Mar 2012
    Location
    Australia
    Posts
    2,671
    Or just subtract xp from heroes before giving them the hero-kill xp... Probably just as easy, right? (Plus it'll never malfunction, due to adding xp moments later, and the ability to have negative xp and xp less than the level threshhold).

  10. #10
    Basic Member
    Join Date
    Apr 2012
    Posts
    1,137
    Bumping some of my old posts that weren't noticed to get on the Confirmed List. As Wyn said, this could be changed in DotA 1 by subtracting Exp immediately before Exp is awarded.
    Last edited by imxtrabored; 08-28-2013 at 03:15 PM.

Tags for this Thread

Posting Permissions

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