• 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.

More of a question than a request.

Status
Not open for further replies.
Level 1
Joined
Jan 24, 2009
Messages
2
First off, I don't know if this is the right section to put this in or not.

Anyway here it is:
Im working on several new spells for a new hero type.

1: Damage over time based on level and primary attribute of the hero.
- this is giving me issues because as well as making it a DoT, i also have another skill that this particular hero will have that will consume the DoT if its there and do additional damage. (No not based on the remaining duration - if thats possible yes but ugh.)

If anyone has any examples or posts they can direct me to. That would be awesome.

Again, I don't know if this is the correct place, but I have been looking around to no avail on this matter.

This is what I know:
Needed Variables

hero stats, hero level, is debuffed, standard tic, duration.

This is what I don't know:

Will I need to make a Stack for the debuff ability in order to have it affect multiple targets at once, or could I set the custom value of the targeted unit to the isdebuffed variable with an index of the string name of the spell?
Then when the duration is up, clear the custom value?

*note: I have an OCD issue, I want this to be fully GUI.
*note2: This is fun stuff, it makes my brain hurt sometimes though.

This is what ive got currently, its not tested yet. Tell me if this may or may not work.

Map Init (unit,level,stat variable declaration, also number of tics in debuff)
  • Events
    • Map initialization
  • Conditions
  • Actions
    • Set h_unit = Demonologist 0000 <gen>
    • Set e_target[1] = 10
    • Set e_target[2] = 10
Stat Check: (constantly updates hero level and primary attribute value)
  • Events
    • Time - Every 0.01 seconds of game time
  • Conditions
    • h_unit Not equal to No unit
  • Actions
    • Set h_level = (Hero level of h_unit)
    • Set h_stat = (Intelligence of h_unit (Include bonuses))
Corruption Cast
  • Events
    • Unit - A unit Starts the effect of an ability
  • Conditions
    • (Ability being cast) Equal to Corruption
  • Actions
    • Set e_target[1] = 10
    • Unit - Set the custom value of (Target unit of ability being cast) to e_target[1]
    • Trigger - Turn on CorruptionTic <gen>
    • Trigger - Turn off (This trigger)
Corruption Tic
  • Events
    • Time - Every 3.00 seconds of game time
  • Conditions
    • (Custom value of (Targeted unit)) Equal to e_target[1]
  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • e_target[1] Less than or equal to 10
        • e_target[1] Not equal to 0
      • Then - Actions
        • Set e_target[1] = (e_target[1] - 1)
        • Unit - Cause h_unit to damage (Targeted unit), dealing (((((Real(h_stat)) x 0.25) + (Real(h_level))) + (5.00 x (Real(h_level)))) + 0.00) damage of attack type Spells and damage type Fire
      • Else - Actions
        • Unit - Remove Corruption (new) buff from (Targeted unit)
        • Unit - Remove Corruption (new) buff from (Targeted unit)
        • Trigger - Turn off (This trigger)
 
Last edited:
Level 3
Joined
Sep 24, 2007
Messages
64
Euuughh, what's custom value? xD

I'm not the best but I suggest you to keep only two variables in form of a Unit Group of affected targets and the Caster (demonologist).

Not sure how to post those fancy GUI pieces into posts, but something like this anyway.. If I did understand what you wanted (else correct me)

Trigger 1:
event: Map initialization
action: set variable: demonologist = demonologist 000 gen (and this unit variable would serve all your customs for this unit.)
Turn trigger on: Trigger 2
Turn trigger on: Trigger 3
Turn trigger on: Trigger 4

Trigger 2:
event: A unit finishes casting an ability
Condition: Ability being cast equal to Corruption
Action: Unit group - Add target unit of ability being cast to Corrupted (the unit group variable)
Wait (Intended duration)
Unit Group - Remove target unit of ability being cast from Corrupted

Trigger 3:
Event: Every 1 seconds
Action:
Unit Group: pick every unit in Corrupted and do actions:
Unit - damage target: make Demonologist damage picked unit (intended damage per second)
(Add some fancy damage tick floating text here maybe?)

Trigger 4:
event: Unit finishes casting an ability
condition: ability being cast equal to (intended damage spell)
target unit of ability being cast has buff Corruption equal to true
Action: Unit - damage target: make demonologist damage target unit of ability being cast (intended damage)
Unit Group - Remove target unit of ability being cast from Corrupted
Unit - Remove buff Corruption from target unit of ability being cast


And use Conversion: Convert integer to real: real(Level of ability) and Hero: Attribute in damage calculations directly without giving them additional unnecessary variables.

This should work, not tested
 
Status
Not open for further replies.
Top