• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Solved] Black Cleaver didn't work on Physical Damage Detection

Status
Not open for further replies.
Level 6
Joined
Aug 14, 2016
Messages
174
Hi, so my problem is my Black Cleaver didn't effect on enemy, but GDD is effect on abilities so very lagging and didn't follow items description (Dealing physical damage).
latest

Stats
+40 attack damage
+400 health
Passive
UNIQUE: Dealing physical damage to an enemy champion Cleaves them, reducing their armor by 6% for 6 seconds, stacking up to 6 times for a maximum of 30%.
UNIQUE – RAGE: Dealing damage grants 20 movement speed for 2 seconds. Kills on any unit grant 60 movement speed for 4 seconds instead
This is PDD, the new one i using.
  • Black Cleaver New
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
      • (PDD_source has an item of type Black Cleaver) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PDD_damageType Equal to PDD_PHYSICAL
        • Then - Actions
          • Set BlackCleaverPoint = (Position of PDD_source)
          • Unit - Create 1 BlackCleaverStack Dummy for (Owner of PDD_source) at BlackCleaverPoint facing (Facing of PDD_source) degrees
          • Set BlackCleaverDummy = (Last created unit)
          • Unit - Add a 0.80 second Generic expiration timer to BlackCleaverDummy
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x1 ) Equal to True
            • Then - Actions
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 2
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x2 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x2 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 3
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x3 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x3 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 4
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x4 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x4 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 5
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x5 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x5 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 6
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x6 ) Equal to True
            • Then - Actions
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 6
            • Else - Actions
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Custom script: call RemoveLocation(udg_BlackCleaverPoint)
        • Else - Actions
This is GDD, the old i was using before
  • Black Cleaver Old
    • Events
      • Game - GDD_Event becomes Equal to 1.00
    • Conditions
      • (GDD_DamageSource has an item of type Black Cleaver) Equal to True
    • Actions
      • Set BlackCleaverPoint = (Position of GDD_DamageSource)
      • Unit - Create 1 BlackCleaverStack Dummy for (Owner of GDD_DamageSource) at BlackCleaverPoint facing (Facing of GDD_DamageSource) degrees
      • Set BlackCleaverDummy = (Last created unit)
      • Unit - Add a 0.80 second Generic expiration timer to BlackCleaverDummy
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource has buff Cleaver x1 ) Equal to True
        • Then - Actions
          • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 2
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource has buff Cleaver x2 ) Equal to True
        • Then - Actions
          • Unit - Remove Cleaver x2 buff from GDD_DamagedUnit
          • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 3
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource has buff Cleaver x3 ) Equal to True
        • Then - Actions
          • Unit - Remove Cleaver x3 buff from GDD_DamagedUnit
          • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 4
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource has buff Cleaver x4 ) Equal to True
        • Then - Actions
          • Unit - Remove Cleaver x4 buff from GDD_DamagedUnit
          • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 5
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource has buff Cleaver x5 ) Equal to True
        • Then - Actions
          • Unit - Remove Cleaver x5 buff from GDD_DamagedUnit
          • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 6
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (GDD_DamageSource has buff Cleaver x6 ) Equal to True
        • Then - Actions
          • Unit - Remove Cleaver x6 buff from GDD_DamagedUnit
          • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 6
        • Else - Actions
      • Unit - Order BlackCleaverDummy to Attack GDD_DamagedUnit
      • Unit - Order BlackCleaverDummy to Attack GDD_DamagedUnit
      • Unit - Order BlackCleaverDummy to Attack GDD_DamagedUnit
      • Unit - Order BlackCleaverDummy to Attack GDD_DamagedUnit
      • Unit - Order BlackCleaverDummy to Attack GDD_DamagedUnit
      • Custom script: call RemoveLocation(udg_BlackCleaverPoint)
My GDD working pefectly but lagging when cast a spell DPS, PDD didn't anything.
Hope anyone help
 
Level 39
Joined
Feb 27, 2007
Messages
5,010
What you wrote looks like it should work, so the problem is likely in how you implemented PDD. Thousands of people have downloaded and implemented GUI PDD before you so it's not broken... you just did it wrong. Refer to my previous post for what to do next:
Try importing it again into a blank map and see if you can get PDD to work there. If so delete what you imported the first time and try copying it over again.
 
Level 12
Joined
Nov 3, 2013
Messages
989
What does the ability "Black Cleaver 1" do? (is it an orb effect or something that apply buffs on hit?)


Without knowing that I can't see how this even works at all.
 
Level 39
Joined
Feb 27, 2007
Messages
5,010
What does the ability "Black Cleaver 1" do? (is it an orb effect or something that apply buffs on hit?)
Without knowing that I can't see how this even works at all.
The OP is remaking a League of Legends item.
UNIQUE: Dealing physical damage to an enemy champion Cleaves them, reducing their armor by 6% for 6 seconds, stacking up to 6 times for a maximum of 30%.
UNIQUE – RAGE: Dealing damage grants 20 movement speed for 2 seconds. Kills on any unit grant 60 movement speed for 4 seconds instead
 
Level 12
Joined
Nov 3, 2013
Messages
989
Maybe something strange happens with checking buff after damage is dealt, I don't remember exactly, but I think that maybe buffs apply before damage is dealt, so while the condition does check whether the damage source is carrying the item (and thus there shouldn't be any kind of infinite loop or anything, at least I don't think so...) it's possible that the attacked unit get's the 2 stacked buff right away.

But if it doesn't work at all, then I don't really know...


I'll second that you should check whether it works with a blank map, or the PDD test map, and see if it works or not.
 
Level 6
Joined
Aug 14, 2016
Messages
174
Maybe something strange happens with checking buff after damage is dealt, I don't remember exactly, but I think that maybe buffs apply before damage is dealt, so while the condition does check whether the damage source is carrying the item (and thus there shouldn't be any kind of infinite loop or anything, at least I don't think so...) it's possible that the attacked unit get's the 2 stacked buff right away.

But if it doesn't work at all, then I don't really know...


I'll second that you should check whether it works with a blank map, or the PDD test map, and see if it works or not.
I will check again it, because GDD using work pefectly, stacking and do reduce armor, just because i need Dealing physical damage, not those spells, effect, buff, .etc
 
Level 6
Joined
Aug 14, 2016
Messages
174
  • OnDamage
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PDD_damageType Equal to PDD_PHYSICAL
          • PDD_source Equal to GDD_DamageSource
          • (PDD_source has an item of type Black Cleaver) Equal to True
          • (PDD_target is A structure) Equal to False
        • Then - Actions
          • Game - Display to (All players) for 10.00 seconds the text: ((Name of PDD_source) + ( damages + ((Name of PDD_target) + ( with damage: + (|cffff0000 + (String(PDD_amount)))))))
          • Set BlackCleaverPoint = (Position of PDD_target)
          • Unit - Create 1 BlackCleaverStack Dummy for (Owner of PDD_source) at BlackCleaverPoint facing (Facing of PDD_source) degrees
          • Set BlackCleaverDummy = (Last created unit)
          • Unit - Add a 0.80 second Generic expiration timer to BlackCleaverDummy
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x1 ) Equal to True
            • Then - Actions
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 2
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x2 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x2 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 3
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x3 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x3 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 4
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x4 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x4 buff from GalaticPlasma
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 5
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x5 ) Equal to True
            • Then - Actions
              • Unit - Remove Cleaver x5 buff from PDD_target
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 6
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target has buff Cleaver x6 ) Equal to True
            • Then - Actions
              • Unit - Set level of Black Cleaver 1 for BlackCleaverDummy to 6
            • Else - Actions
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Unit - Order BlackCleaverDummy to Attack PDD_target
          • Custom script: call RemoveLocation(udg_BlackCleaverPoint)
        • Else - Actions
Stack....jpg
bO3260.jpg
On status:This unit has Rage, which increase movement speed when damaging any unit, i has Black Cleaver but dosen't stack
 
Level 39
Joined
Feb 27, 2007
Messages
5,010
PDD_source Equal to GDD_DamageSource
That line tells me you either didn't fully convert this spell to use PDD instead of GDD or you are actually using 2 damage detection systems, which might interfere with each other.

Where's the trigger that gives the Rage buff that is working? This spell should all be one long on-damage trigger.
 
Level 6
Joined
Aug 14, 2016
Messages
174
That line tells me you either didn't fully convert this spell to use PDD instead of GDD or you are actually using 2 damage detection systems, which might interfere with each other.

Where's the trigger that gives the Rage buff that is working? This spell should all be one long on-damage trigger.
The Rage buff i using from GDD system
 
Level 6
Joined
Aug 14, 2016
Messages
174
Do
Not
Use
Multiple
DDSes
Simultaneously

I think that's your problem. One of them probably causes a thread crash by not disabling the other's trigger before doing damage.
Aw, then what should i do, i must removed GDD and replace a New PDD?
Because this line i take from PDD system map and i don't know what i need add it...
  • PDD_source Equal to blademaster_001[gen]
 
Level 6
Joined
Aug 14, 2016
Messages
174
Yes!
  1. Remove GDD ENTIRELY from your map. Delete all its triggers, variables, and any custom script text it told you to put in the map header (if any at all).
  2. Install PDD. There are vJASS and GUI versions: Physical Damage Detection for GUI v1.3.0.0
  3. Convert EVERYTHING that used GDD to use PDD instead.
  4. See if it works then.
Thanks you, now my black cleaver is working now, but do you have any detection for attacking unit or attacked unit.
 
Status
Not open for further replies.
Top