Announcement

Collapse

Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.



In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.



All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

[Confirmed] Attribute gain is incorrectly calculated on some levels for some heroes

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by Kelvin View Post
    Of course that's overcomplicating things.

    Originally posted by soprof View Post
    AndR is it possible that you stop talkin nonscence?

    Talking about integers when there are gains like "1.4" and so on.

    God, I really hope you're not related to IT with your occupance.
    Here, a hint: http://en.wikipedia.org/wiki/Rational_number
    The magic happens when you take a constant denominator. Now, I wonder if I can store 140/1000 in an integer somehow...

    EDIT: Sorry, I guess we went way off topic. I will *not* reply on this any more.
    Last edited by AndR; 07-10-2012, 04:27 PM. Reason: edit2: accidentally a word

    Comment


    • #17
      Shamanics, please. Adding 1/1024 to each value is what a C or B- student (i.e. an idiot) taking an engineering programming course would do. It's a shitty hack that could have unforeseen consequences. The integer idea was fantastic.

      Comment


      • #18
        Originally posted by vandal View Post
        Shamanics, please. Adding 1/1024 to each value is what a C or B- student (i.e. an idiot) taking an engineering programming course would do. It's a shitty hack that could have unforeseen consequences.
        so true.
        Make sure to read the Forum Rules as well as the stickied Threads of the Forum Section you are posting in.

        Contributions i'd like to highlight:
        My Suggestion: Coaching System
        My Sticky: Intended Changes List
        My Challenge: Completely Fixed Hero Challenge: Skywrath Mage

        Comment


        • #19
          Originally posted by vandal View Post
          Shamanics, please. Adding 1/1024 to each value is what a C or B- student (i.e. an idiot) taking an engineering programming course would do. It's a shitty hack that could have unforeseen consequences. The integer idea was fantastic.
          The integer idea is the standard thing to do, it is not an innovating idea is just a really common thing when you don't need precision, increase all the values by a thousand times and display them as a thousand times smaller, the problem is that as I already said, you have to basically change all the program to this new way of going, all functions that take integer will now have to take 10 times more, it takes a while to do, it is what someone with a lot of time would do. Anyone smart would just add a really small value since it is very fast to do and has no unforeseen consequences if you know what you are doing.

          What we have to change to have them as integers is the following:
          All base stats from heroes
          All stat gains from heroes
          All skills that give stats
          All items that give stats
          All functions that use stats to determine something

          Chances are you forget one of them and have to patch them again, just to realize that you forgot also something else and such, it takes a while also.

          Adding a really small value to the base stats has literally and practically no consequences (aside from the desired ones) since stats are already floats , the worst thing that could happen is that they stored base stats as integers (flame the guy that did this). Just look at all skills in dota and all the things in dota. The worst thing that could happen is that you might have to recode the display a little to display less numbers.

          Honestly, it really looks like you think that recoding an entire program to fit a new idea is fast and easy, while it might be easy it is not fast, it is a long time to do so for all things making it impractical, that is why things are called patches and why major things are done in something called new products. While it is true that there will never be a dota 3 under Valve's name we could have a dota 2 version 2 that has all the minor things recoded in a practical way, such as using integer instead of floats where it is not needed like this.

          Anyway, it really looks like you never worked on anything bigger than a Java application for a cellphone, that might be the problem, you think that every fantastical idea can be implemented regardless of how impractical it is to do so. Also I am pretty sure there is a reason why numbers are also floats and not just integers.

          Comment


          • #20
            1. parse data files (that were previously posted by icefrog)
            2. when parsing armor values (and other values with the same issue) use the expanded form
            = done with everything but your last point
            3. change all gui displays to trim the values to the decimal form
            4a. change all related functions to work with the expanded form instead of the old decimal form
            OR
            4b. use an adapter before every related function, that trims the expanded form to the decimal form and then call the function with it

            done.


            this is cleaner and less errorprone than creating a hack as you propose.
            especially, when the game is still in development, things should be done in a clean way rather than as a hack.
            Last edited by blash365; 10-30-2012, 11:03 PM.
            Make sure to read the Forum Rules as well as the stickied Threads of the Forum Section you are posting in.

            Contributions i'd like to highlight:
            My Suggestion: Coaching System
            My Sticky: Intended Changes List
            My Challenge: Completely Fixed Hero Challenge: Skywrath Mage

            Comment


            • #21
              Originally posted by blash365 View Post
              1. parse data files (that were previously posted by icefrog)
              2. when parsing armor values (and other values with the same issue) use the expanded form
              = done with everything but your last point
              3. change all gui displays to trim the values to the decimal form
              4a. change all related functions to work with the expanded form instead of the old decimal form
              OR
              4b. use an adapter before every related function, that trims the expanded form to the decimal form and then call the function with it

              done.


              this is cleaner and less errorprone than creating a hack as you propose.
              especially, when the game is still in developement, things should be done in a clean way rather than as a hack.
              How to become famous
              1) Find a group of scientists
              2) Give them a lot of money and equipment
              3) Tell them to find a cure for cancer
              4) Donate the cure to the world
              5) ????
              6) Prophit!

              Besides I like how you said armour instead of stats :DDD

              Comment


              • #22
                the bug is reported which is very good, so can we stop arguing how to fix it? leave valve to do this

                Comment


                • #23
                  Originally posted by blash365 View Post
                  1. parse data files (that were previously posted by icefrog)
                  2. when parsing armor values (and other values with the same issue) use the expanded form
                  = done with everything but your last point
                  3. change all gui displays to trim the values to the decimal form
                  4a. change all related functions to work with the expanded form instead of the old decimal form
                  OR
                  4b. use an adapter before every related function, that trims the expanded form to the decimal form and then call the function with it

                  done.


                  this is cleaner and less errorprone than creating a hack as you propose.
                  especially, when the game is still in developement, things should be done in a clean way rather than as a hack.
                  Almighty Jesus and the Holy Ghost from the Bible is in this guy.

                  Originally posted by Shamanics View Post
                  The integer idea is the standard thing to do, it is not an innovating idea is just a really common thing when you don't need precision, increase all the values by a thousand times and display them as a thousand times smaller, the problem is that as I already said, you have to basically change all the program to this new way of going, all functions that take integer will now have to take 10 times more, it takes a while to do, it is what someone with a lot of time would do. Anyone smart would just add a really small value since it is very fast to do and has no unforeseen consequences if you know what you are doing.

                  What we have to change to have them as integers is the following:
                  All base stats from heroes
                  All stat gains from heroes
                  All skills that give stats
                  All items that give stats
                  All functions that use stats to determine something

                  Chances are you forget one of them and have to patch them again, just to realize that you forgot also something else and such, it takes a while also.

                  Adding a really small value to the base stats has literally and practically no consequences (aside from the desired ones) since stats are already floats , the worst thing that could happen is that they stored base stats as integers (flame the guy that did this). Just look at all skills in dota and all the things in dota. The worst thing that could happen is that you might have to recode the display a little to display less numbers.

                  Honestly, it really looks like you think that recoding an entire program to fit a new idea is fast and easy, while it might be easy it is not fast, it is a long time to do so for all things making it impractical, that is why things are called patches and why major things are done in something called new products. While it is true that there will never be a dota 3 under Valve's name we could have a dota 2 version 2 that has all the minor things recoded in a practical way, such as using integer instead of floats where it is not needed like this.

                  Anyway, it really looks like you never worked on anything bigger than a Java application for a cellphone, that might be the problem, you think that every fantastical idea can be implemented regardless of how impractical it is to do so. Also I am pretty sure there is a reason why numbers are also floats and not just integers.
                  Satan, I'm ordering you to travel outward from this poor man.

                  Comment


                  • #24
                    Originally posted by Shamanics View Post
                    How to become famous
                    1) Find a group of scientists
                    2) Give them a lot of money and equipment
                    3) Tell them to find a cure for cancer
                    4) Donate the cure to the world
                    5) ????
                    6) Prophit!

                    Besides I like how you said armour instead of stats :DDD
                    You seem to be grievously underestimating the power of modern development environments that allow you to see how things will react elsewhere in your codebase, and properly modularized code. Sure your average highschooler project looks like the flying spaghetti monster has been sick all over it, but changing data types, or rewriting some functions, in clean code is surprisingly easy. Sure it isn't utterly trivial, but it's very easy to do with a little patience, some review, and good dev tools. Modern tools are far more than text editors with color.

                    Adding a flat value as you proposed is something you do for a one time hack on a script that you plan on running only once or twice and never updating or modifying. It's extremely dirty and has the potential for causing bugs, often unforeseen ones, as well as solving them.

                    Comment


                    • #25
                      Yes I know it is trivial, although long, besides nobody here knows the code and likely there are reasons that numbers are floats. Still the best solution is the most practical one.

                      Comment


                      • #26
                        Enough about coding methods. If you don't have new information describing the issue, please refrain from posting.
                        Always read and follow the forum rules. If you need help from a moderator, use the report button ()
                        Before posting new bugs:
                        -Check the Known Bugs List and search the forum for an existing report.
                        -Make sure its a bug (test in WC3 Dota, visit playdota guides and adv. mech, etc). If you're still not sure, post in Mechanics and Gameplay Bug Brainstorming instead.
                        -Read the Bug Posting Guidelines on how to report a bug properly.

                        Comment


                        • #27
                          Bump.
                          I tried to show scale of this problem I made a list of how what heroes are affected by this issue: on google docs
                          Copy of summary: (considering last added troll,97heroes)

                          Code:
                          heroes affected at least once                		
                          str	36.00	37%
                          agi	36.00	37%
                          int	44.00	45%
                          any	73.00	75%
                          Code:
                          Numbers of heroes affected on 6th lvl (5 -lvlups)		
                          str	12	13%
                          agi	13	14%
                          int	24	25%
                          It means number of hero-stat affected, not number of heroes who's primary stat is str/agi/int.
                          BH with his "bad" str gain is included in str, not agi.

                          Sadly this is not totally correct, for example AA with 2.6 has incorrect int on 6, while SandKing with 2.6 str has correct value. (but even he has incorrect after 10/15lvlups)

                          Still I think this should be moderate at least, as it happens probably every game, and while on 21lvl it might not be so important it certainly is on 6 and 11 when You run for Your life hoping for 10 more hp or mana.

                          (But please let's not rediscuss possible solutions)
                          You gotta FIGHT!
                          For Your RIGHT!
                          To BUUUGFIX!

                          Comment


                          • #28
                            Still not fixed

                            Also, this doesn't always apply to illusions: Some stats get "corrected" when the illusion is spawned

                            So a lvl 6 AA has 27 INT (although it says 28 in the UI), while his Illusions have 28 (and 13 more mana) as it should be
                            On the other hand he also has 24 STR although he should have 25, and his illusions have 24 too (both UIs show 25 though)

                            Comment


                            • #29
                              I can't believe this is still in the game, considering it affects every game of dota2 ever played!

                              Comment

                              Working...
                              X