• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Spell] Bounty

Status
Not open for further replies.
Level 12
Joined
May 22, 2015
Messages
1,051
For custom buffs, you can give a custom tornado aura to the unit with 0% slows and a custom buff to display. The tornado aura ability doesn't show up on the unit in any way, so you just have a buff there. You just have to add and remove it at the right times (also be sure to remove the ability AND the buff since the buff can linger for a while, and removing the buff only will have it replaced in a short time since the aura just comes back).

Using the DDS, you can just check for the buff, check the type of the damage, and if they have the buff and the damage is physical, you add some damage.
 
Level 13
Joined
Mar 24, 2013
Messages
1,105
You could use any spell with a buff as the base ability or just channel and give the target Tornado Slow Aura which has no command card icon for the buff.

Save the caster and the target to variables. Have a periodic timer counting down to the duration of the buff. When its over you will need to either null (or deindex if you are making it MUI) the variables appropriately.

Through a DDS you catch when the caster does physical damage to the target and amplify appropriately.
 
Level 12
Joined
May 22, 2015
Messages
1,051
Critical strike won't really work. I don't think there's a nice way to do this without a DDS.
 

EdgeOfChaos

E

EdgeOfChaos

Please do yourself a favor and listen to what they're saying now, rather than later. Use a damage detection system. People didn't code that for the luls, they coded it because WC3 has no good way of detecting and editing damage without a pretty complex system running under it. The "Attacks a unit" event doesn't work. It gets called when the attack starts not when it hits, which can be pretty far apart, especially for ranged heroes. And it cannot detect damage dealt or edit damage dealt.

This isn't overcomplicating it, it's just using the proper tool for the job.

With a damage detection system, this is 3 lines of code, even in GUI. Without a damage detection system, you might be able to hack together some terrible code to do this and it will look and perform bad, and it will probably take you 10x the time. We say to use a DDS because lots of us have tried to do this kind of thing without DDS and failed it.

The awful non-DDS way to do this would be to detect an attack and add Critical strike if the unit has the buff, or remove it if the enemy doesn't (don't do this).
 
Last edited by a moderator:
Level 12
Joined
May 22, 2015
Messages
1,051
It was just a basic idea that i had written out when i was outside. And why im asking is to know more. How would you improve yourself if you just accept everything mate? I didnt mention that anybody wrote it for the "luls", but i prefer using my own systems whenever it is possible.
I think you just came off as stubborn since you were asking about things and not really taking the DDS solution. No worries!

You could write your own DDS if you're really that dedicated :D That is what I did. However, it is a HUUUUGE mess of really complicated things and mine still has some strange bugs :( I even had to get a bunch of help from Wietlol and IcemanBo in some other thread I made.

Also that crit idea by EdgeOfChaos is actually how I implemented my first backstab ability. It is awful. The crit ability is decided when the unit starts the attack, so the "Unit - A unit is attacked" event fires AFTER it decided if the attack was a crit or not. What happens is that it cannot crit on the first swing (unless I add a thing to make it stop and then order another attack). It would also automatically crit if you attack a different unit after which is messed up. It also forces the crit numbers to appear and does not stack nicely with other sources of crit (you get the jumbled numbers and I don't actually know exactly what happens when you have two crits happen at once - I've since implemented my own crit system using my DDS).
 
Status
Not open for further replies.
Top