• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[Spell] Needs help checking ability trigger for optimization / crediting system

Status
Not open for further replies.
Level 27
Joined
Nov 25, 2021
Messages
481
Firstly, I'm making an ability based on Shockwave, but the damage it deals will also heal the Hero (it's for a singleplayer campaign, so there should only be one of this Hero on this map at a time, so I don't use unit indexer for simplicity's sake), but since I don't know how to detect the spell damage coming from this specific ability with my current version of Damage Engine (5.4.2.3), so I made these two triggers:

1643052554091.png


- So I created a specific Dummy for this ability to cast the modified Shockwave that deals 1 damage (which I called Tempest (Dummy) ), with the same missile speed, final area, and area of effect as Tempest (Hero), which deals 0 damage, and will be the skill being used by the hero.

1643052746490.png


  • This one will detect the damage dealt by the Dummy, then causes the Hero to damage each target, making sure that he gets credits for the kill. Since I checked that Shockwave deals Sonic damage, I make him deal Sonic damage as well for this to be as close to the original Shockwave as possible.
  • Then, it will heal him for 3%xAbility Levelx(damage dealt or target's health if their health is lower than damage amount)

So, I want to ask if there's any way to make these triggers shorter/more optimized but still give the Hero kill credit, and is there a way to detect damage coming from a specific ability with Damage Engine?

Secondly, I've been using the Buff-Ability Link system that I found in Wazzz's Bandit Outlaw's Techtree Map, but I can't seem to find the original maker of that system. I need help finding him/her so that I can credit them in my maps later.
 
Last edited:

Uncle

Warcraft Moderator
Level 65
Joined
Aug 10, 2018
Messages
6,682
TempestLev and TempestDmg can be Set outside of the DamageEvent trigger. There's no reason to recalculate it every single time a unit gets damaged.

A unit learns a skill -> Skill equal to Tempest (Hero) -> Set your TempestLev/Dmg variables.

(And - All Conditions are true) is unnecessary. By default all conditions need to be true.

Other than that, this is basically all you can do.

 
Last edited:
Level 27
Joined
Nov 25, 2021
Messages
481
Is there a way to detect damage coming from a specific ability with Damage Engine?
Thank you for your help! And I suppose that this isn't possible, and my way of using a specific dummy type is good enough?

Secondly, I've been using the Buff-Ability Link system that I found in Wazzz's Bandit Outlaw's Techtree Map, but I can't seem to find the original maker of that system. I need help finding him/her so that I can credit them in my maps later.
I will also post an empty map with the system's trigger below, to see if anyone can help me trace back its maker.
 

Attachments

  • Buff-Ability Links.w3m
    17 KB · Views: 11

Uncle

Warcraft Moderator
Level 65
Joined
Aug 10, 2018
Messages
6,682
Thank you for your help! And I suppose that this isn't possible, and my way of using a specific dummy type is good enough?


I will also post an empty map with the system's trigger below, to see if anyone can help me trace back its maker.
What you're doing is correct. No function exists to change damage sources. A Damage Event is pretty straightforward, one unit was damaged (Damage target), one unit dealt the damage (Damage source), and then there's a bunch of Event Responses regarding the Attack Type, Damage Type, Damage Amount, etc...

Bribe's Damage Engine provides GUI variables that point to these different Event Responses (in the past most of them weren't even available in GUI). That's why changing the DamageEventSource variable doesn't actually change the unit that dealt the damage, because it's already set in stone and out of our control.

Regarding the buff system, I imagine you can find it on Hive.
 
Status
Not open for further replies.
Top