• 🏆 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!

Questions about DDS

Status
Not open for further replies.
Level 11
Joined
Jan 23, 2015
Messages
788
I'm currently creating a map in which a DDS is a must, the problem is: I'm using GUI only, and I find it hard to understand how DDS works and how to use it.
I've seen that there's also a GUI DDS, which is a long long trigger, and I've never heard someone using it, have you ever used it? Please share your experiences with me if you do. Where can I find the damage detected, how am I able to manipulate it, etc.
 
The most powerful/bugless GUI-friendly one is looking-for-help's:
http://www.hiveworkshop.com/forums/spells-569/physical-damage-detection-gui-v1-2-0-1-a-231846/

The DDS you're referring to is probably Bribe's:
http://www.hiveworkshop.com/forums/...-damage-engine-v2-2-1-0-a-201016/index22.html

LFH's covers corner cases and provides extra functionality such as spell damage detection. Both are pretty easy to implement. Just go to File -> Preferences and make sure "Automatically create unknown variables" is checked. Copy the variable creator trigger, and then copy the triggers and the spells over into your map. LFH has his implementation guide written in the script:
JASS:
////////////////////////////////////////////////////////////////////////////////////
//
//  Implementation
//  --------------
//  1.  Create all variables that this system uses (compare the variable editor).
//      You don't have to set them to specific values, they get initialized
//      automatically by the system so just create them.
//  2.  Copy this trigger to your map. You can then add damage handlers by using
//      the event "value of real variable becomes equal to 1" with the variable
//      udg_PDD_damageEventTrigger. Compare the OnDamage trigger for an example usage.
//  3.  Copy the two custom abilities to your map and make sure they have the
//      correct ID. You can specify the ID in the function InitGlobalVariables
//      above.
//  4.  Go to the locust swarm ability and invert its damage return portion
//      from (default) 0.75 to -0.75.
//  5.  Remove the spell damage reduction ability from the spell damage reduction
//      items you use (runed bracers). You can configure the resistance of this
//      item in the InitGlobalVariables function, modifying the global variable
//      udg_PDD_BRACERS_SPELL_DMG_RED.

After that, usage is really really easy. Look at the examples for more information. You'll just register a variable event, and for lfh's system you can use PDD_source/target/amount as the variables, or DamageEventSource/Target/Amount for Bribe's.
 
I've actually had some issues with PDD and switched to Bribe's (I hadn;t noticed the Needs Fix part) where the problems stopped happening. It may be a result of shoddy triggering on my part, but one thing I've noticed with PDD is that if I try to have a unit with a specific buff reflect the damage dealt then nullify it, the damage only gets nullified. I tried going around this by applying the damage after a small delay, but eventually all damage gets negated. I haven't had this latter problem with Bribe's (as for the former, i suspect all DDS have that same issue of not being able to reduce and reflect damage in the same instance).

The curcumstance in which I got permanent damage reduction was when trying to deal constant damage rapidly over time, like when trying to mimic the Colossus's beam attack when Starcraft 2 was still in Beta.

PS: I hope this is not considered thread hijacking :p
 
Level 11
Joined
Jan 23, 2015
Messages
788
After that, usage is really really easy. Look at the examples for more information. You'll just register a variable event, and for lfh's system you can use PDD_source/target/amount as the variables, or DamageEventSource/Target/Amount for Bribe's.

I don't use JASS, what's PDD_source/target/amount and DamageEventSource/Target/Amount?

Are you trying to tell me that I don't really have to touch anything in the PDD or DDS triggers, but I just use the variables that it sets?
 
Level 18
Joined
May 11, 2012
Messages
2,103
Yes, with LFH's DDS, it has never been easier to manipulate DDS.

Just use the DamageEventVariable (i think it's called like that)'s value becomes 0 or 1.
And then use source and target variable for detecting sources and targets from that DDS.

It's simple as that. Post triggers if you're struggling to make it works and we will gladly assist you. :)
 
I don't use JASS, what's PDD_source/target/amount and DamageEventSource/Target/Amount?

Are you trying to tell me that I don't really have to touch anything in the PDD or DDS triggers, but I just use the variables that it sets?

Yeah, that's the beauty of those GUI-friendly DDS. You install it according to the instructions, and then you don't have to touch anything else. Whenever you need to detect damage, it goes something like PDD_damageEventTrigger equals to 1 (or somthing like that), then for the conditions you can tell if the damage type is Physical, Magic, or Code. Then you can further put conditions in if/then/else blocks under Actions. (If I'm not mistaken I think most conditions should preferably go in if/then/else because DDSs are delicate like that, but don't quote me on that).

PDD is pretty easy to use, to be honest. The demo map even has an example of applying code damage, which you should be doing most of the time to avoid physical damage overlap and creating infinite loops.

Yes, with LFH's DDS, it has never been easier to manipulate DDS.

Just use the DamageEventVariable (i think it's called like that)'s value becomes 0 or 1.
And then use source and target variable for detecting sources and targets from that DDS.

It's simple as that. Post triggers if you're struggling to make it works and we will gladly assist you. :)

I do enjoy the fact that Bribe's system allows you to basically have custom damage types, which honestly is a great feature. But since it's broken, I guess I can't keep using it anymore - though I'm not sure what's broken about it.
 
@Spellbound: If you can reproduce the error in a small test map, that'd be great. I'm sure he'd be willing to patch it up (if necessary) or point you to a solution.

You can use Bribe's DDS (it still works). The bugs might not apply to your case. Either way, it would be a good thing to be informed of the issues. For info on the specifics of the potential bugs, go to Bribe's DDS resource page and look at the last posts--lfh made a post about the issues.
 
Well I tried copying the system over to a new map and now it's bugging out for a whole other reason. I've managed to test out the damage nevertheless and I can't seem to reproduce the error, so the problem I was having might be caused by something else entirely. I'll keep testing and see if it happen again.

As an aside, I can't seem to be able to get any special effects to appear at all in the demo map??? o_O weird.

Regardless, if anyone wants to see the beam attack, PM me.
 
Status
Not open for further replies.
Top