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] Axe's Culling Blade deals non-threshold damage instantly << incorrect

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

  • [Confirmed] Axe's Culling Blade deals non-threshold damage instantly << incorrect

    Culling Blade's casual my-target-is-over-the-threshold damage is being dealt immediately upon Axe finishes casting the Culling Blade
    it should rather be dealt with 0.25 sec delay

    Axe's Culling Blade has to get corrected in a way that it deals the over-the-threshold damage with 0.25 seconds of delay
    UNLIKE the below-the-threshold execution, which is correct as it is


    This should also make the non-threshold damage of the Culling Blade just as dodgable as laguna blade, with blink or phase shift or whatever

    adding just these two lines at the end of the Culling Blade functions in DotA would make the Culling Blade damage to get dealt instantly instead of delayed:

    else
    > call UnitDamageTarget( loc_unit01, loc_unit02, , true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS )


    therefore the chances are not so low that the non-threshold damage has been designed to be dodgable

  • #2
    Dodgeable with blinks? Does it use projectiles?

    Also you can't dodge Raguna Buladu with blinky.
    Please, just call me buny.

    Comment


    • #3
      u can lol

      Comment


      • #4
        Can't you?
        Okay, I might be confusing it with Phase Shift, it uses a Chain Lightning just like the Laguna Blade on Lina

        I think you're right, it is not like a projectile, just 0.25 sec damage, shouldn't be dodgable with blink
        but surely dodgable with Phase Shift or Ball Lightning or anything that grants you invulnerability


        Tried, and I can't dodge neither Laguna nor Culling with Blink
        but I can dodge both with Ball Lightning

        sorry for the confusion, it should be as dodgable as Laguna Blade, not much, not less,
        dodgable with invulnerability like Phase Shift, but not dodgable with blinks like Blink

        Comment


        • #5
          Culling Blade's base spell being Chain Lightning. Yes I remember there something.
          I think the reason why it's based on Chain Lightning (which has the delay inbuilt) is to prevent the non-killing blow damage from happening before the killing blow damage. Because if it happen before the killing blow damage, it could drop the target below the threshold so the killing blow happens.
          Please, just call me buny.

          Comment


          • #6
            pff

            Code:
            ORIGINAL, deobfuscated
            
            function Func2583 takes nothing returns nothing
              local unit loc_unit01=GetTriggerUnit()
              local unit loc_unit02=GetSpellTargetUnit()
              local real loc_real01=GetUnitState(loc_unit02,UNIT_STATE_LIFE)
              local integer loc_integer01=GetUnitAbilityLevel(loc_unit01,('A0E2'))
              local unit loc_unit03
              local boolean loc_boolean01=false
              local group loc_group01
              if loc_integer01==0 then
                set loc_integer01=GetUnitAbilityLevel(loc_unit01,'A1MR')
                set loc_boolean01=true
              endif
              if(loc_real01<=300 and loc_integer01==1)or(loc_real01<=450 and loc_integer01==2)or(loc_real01<=625 and loc_integer01==3)then
                if loc_boolean01 then
                endif
                call PlaySoundOnUnitBJ(sound005,100,loc_unit02)
                call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl",loc_unit02,"overhead"))
                set loc_unit03=CreateUnit(GetOwningPlayer(loc_unit01),'e00E',0,0,0)
                call UnitRemoveBuffs(loc_unit02,true,true)
                call UnitRemoveAbility(loc_unit02,'Aetl')
                call UnitDamageTarget(loc_unit03,loc_unit02,100000000.00,true,false,ATTACK_TYPE_MELEE,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
                call DestroyEffect(AddSpecialEffectTarget("war3mapImported\\AxeUltiMSFX_01.mdx",loc_unit01,"origin"))
                set loc_group01=Func0030()
                call GroupEnumUnitsInRange(loc_group01,GetUnitX(loc_unit01),GetUnitY(loc_unit01),625,Condition(function Func0308))
                call ForGroup(loc_group01,function Func2581)
                call Func0029(loc_group01)
                set loc_group01=null
              endif
            endfunction
            Code:
            Altered
            
            function Func2583 takes nothing returns nothing
              local unit loc_unit01=GetTriggerUnit()
              local unit loc_unit02=GetSpellTargetUnit()
              local real loc_real01=GetUnitState(loc_unit02,UNIT_STATE_LIFE)
              local integer loc_integer01=GetUnitAbilityLevel(loc_unit01,('A0E2'))
              local unit loc_unit03
              local boolean loc_boolean01=false
              local group loc_group01
              if loc_integer01==0 then
                set loc_integer01=GetUnitAbilityLevel(loc_unit01,'A1MR')
                set loc_boolean01=true
              endif
              if(loc_real01<=300 and loc_integer01==1)or(loc_real01<=450 and loc_integer01==2)or(loc_real01<=625 and loc_integer01==3)then
                if loc_boolean01 then
                endif
                call PlaySoundOnUnitBJ(sound005,100,loc_unit02)
                call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile.mdl",loc_unit02,"overhead"))
                set loc_unit03=CreateUnit(GetOwningPlayer(loc_unit01),'e00E',0,0,0)
                call UnitRemoveBuffs(loc_unit02,true,true)
                call UnitRemoveAbility(loc_unit02,'Aetl')
                call UnitDamageTarget(loc_unit03,loc_unit02,100000000.00,true,false,ATTACK_TYPE_MELEE,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
                call DestroyEffect(AddSpecialEffectTarget("war3mapImported\\AxeUltiMSFX_01.mdx",loc_unit01,"origin"))
                set loc_group01=Func0030()
                call GroupEnumUnitsInRange(loc_group01,GetUnitX(loc_unit01),GetUnitY(loc_unit01),625,Condition(function Func0308))
                call ForGroup(loc_group01,function Func2581)
                call Func0029(loc_group01)
                set loc_group01=null
              else
                call UnitDamageTarget( loc_unit01, loc_unit02, -25 * loc_integer01 * loc_integer01 + 175 * loc_integer01, true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS )
              endif
            endfunction
            What is the point in taking IceFrog as incapable of even doing this?
            afterall he is the one who had written most of those that are in the DotA script right now

            Really, I don't understand how you people are living with such a mentality,
            is it really that so hard for you to see a solution, a way out..?

            2 lines, could as well be a single line if I had put that UnitDamageTarget after the if-then-endif and get rid of that else, but what the hell, the thing you've said can never be a frustration to a map maker who knows JASS even only by its absolute basics

            Comment


            • #7
              Originally posted by ThoAppelsin View Post
              What is the point in taking IceFrog as incapable of even doing this?
              afterall he is the one who had written most of those that are in the DotA script right now

              Really, I don't understand how you people are living with such a mentality,
              is it really that so hard for you to see a solution, a way out..?

              2 lines, could as well be a single line if I had put that UnitDamageTarget after the if-then-endif and get rid of that else, but what the hell, the thing you've said can never be a frustration to a map maker who knows JASS even only by its absolute basics
              I'm not sure it's a good idea to use the argument "if it was meant to be that way icefrog would just fix it in two lines". Otherwise we'd have things like Dagon not putting Linken on CD in Dota 2. There's a lot of weird buggy things he's never fixed that would be easy to change, or things that are just insanely complicated for no reason (sticky napalm).
              Please help keep the forums clean by reporting rude or abusive posts!
              Got a problem? PM me or another moderator!
              Forum Rules

              Comment


              • #8
                Originally posted by DarkLite View Post
                I'm not sure it's a good idea to use the argument "if it was meant to be that way icefrog would just fix it in two lines".
                First thing; you have altered what I had written so much, that it now has broken the order of events. Let's ditch what you had mis-quoted, and take my words instead:
                "What is the point in taking IceFrog as incapable of even doing this?"

                And this thing was a response to what bu3ny had said:
                "I think the reason why it's based on Chain Lightning (which has the delay inbuilt) is to prevent the non-killing blow damage from happening before the killing blow damage."

                What you mis-quoted, as you said, might be not a good argument to use
                But what I actually had said, was just perfectly good argument against what bu3ny had told

                we were talking about when he first coded this man, not about fixing it afterwards

                No one with the JASS knowledge would ever evade dealing the damage accidentally before threshold-check of the Culling Blade, by basing the ability off Chain Lightning, and then applying its non-threshold damage through the ability data itself
                For someone who had written all that code for the threshold-kill, it is irrational to assume that he went for a 0.25 sec Chain Lightning delay to put that 150 250 300 damage after the threshold-check

                It is like saying that IceFrog is suffering from schizophrenia, and his one half codes like a powerful bull, the other half is desperately seeking for workarounds in the GUI and things that the abilities offers to him

                doing it like this while coding it for the first time is one thing
                fixing it afterwards is another

                you might be skipping the fixes
                but you may never possibly ever skip the initial coding part, else we wouldn't have the Culling Blade on our hands, the product

                Comment


                • #9
                  Originally posted by ThoAppelsin View Post
                  What is the point in taking IceFrog as incapable of even doing this?
                  afterall he is the one who had written most of those that are in the DotA script right now

                  Really, I don't understand how you people are living with such a mentality,
                  is it really that so hard for you to see a solution, a way out..?

                  2 lines, could as well be a single line if I had put that UnitDamageTarget after the if-then-endif and get rid of that else, but what the hell, the thing you've said can never be a frustration to a map maker who knows JASS even only by its absolute basics
                  I never said IceFrog is incapable of coding, neither did I say that it's not possible to code Culling Blade without using the delay from Chain Lightning.

                  If you just look through multiple spells' codes in DotA1, you'll find lots of things and ask yourself why this is coded like that when it could have been done easier or cleaner. I'm sure you did that already and can agree on that.
                  We surely can't know why they got coded like that.

                  And now your showing us those codes, proving that it can be coded without making use of Chain Lightning's delayed damage.
                  Let me ask you this now, why does Culling Blade use Chain Lightning anyway while the non-killing blow damage could be easily coded like how you showed it? Also why make it possible to avade that damage in the first place? Balance reasons? Very questionable.

                  We don't can't know why. But as the curious person I am, I want to know why and make assumptions. Another thought I have is, he used Chain Lightning for it, because it's the only single target spell in WC3 which deals damage without using a projectile and has no side effects like stuns. But then again, why not just code it?
                  Please, just call me buny.

                  Comment


                  • #10
                    Forked Lightning, no projectile, instant damage

                    You asked me a question over there, "why does Culling Blade use Chain Lightning anyway while the non-killing blow damage could be easily coded like how you showed it?"
                    I already had given the most optimistic reasonable answer to it on the original post: "therefore the chances are not so low that the non-threshold damage has been designed to be dodgable"

                    Other than that, he might have been made it while he was high on alcohol, drugs or psychoactives
                    Or if we ditch being reasonable, we can say that he is a pretty funny weird guy

                    Questionable maybe, but it is more realistic than him going for a Chain Lightning 0.25 evadable delay instead of putting it into the code that he just filled in for the Culling Blade
                    and therefore also less questionable

                    Comment

                    Working...
                    X