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

Make fires burn the ground?

Status
Not open for further replies.
Level 10
Joined
Nov 5, 2008
Messages
536
Make Hellions attack burn the ground?

I try to make the ground become ignited by fire from the Hellion weapon. Flames will burn the ground, last x seconds and deal damage to units who are near the flames.

The only way I can think of is to create some kind of dummy unit that is invulnerable & unclickable, looks like a burning fire, lasts for a set amount of time and then deals damage to units nearby with the help of a search area effect. But perhaps are there better method in the SC2 editor that I do not know of yet.

The ground beneath the hellions line-of-fire will become ignited when it launches it´s attack.

I do not know if this can be done at all. If it turns out to be really hard and requires lots of dummy units that causes lag, then I have to rework my idea.


Any ideas how this can be done?
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,206
At the same time the hellio performs its area search in a line (for targets) you also create persistant effects that perodicly do an area search and deal damage. You then create actors ontop of the persistant effects (know this is possible but not sure the settings).
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
Here you go. A few elements regarding this solution:

1) You can tune the creation of persistents (duration) via the buff's period (currently set to 0.2). You can also change the duration of the effect from there. If you want it permanent, just give the buff to the unit and modify the duration to -1.
2) You can tune the damage rate of the persistents via the Period Duration parameter of the (Add Trail) effect. You can also change the total duration of a flame via the number of cycles (currently set to 6 => 6x0.5=3 seconds/fire).
3) You should study and play with the area of the damage. Multiple flames may stack if their area intersects. Play with the range of the Area Search.
4) If the unit stands still and multiple persistents are generated in the same area, their effect will stack. To avoid this, instead of damaging targets, apply a short duration buff (about the duration between two cycles of the persistent) - the buff should in turn have an initial effect that deals the fire damage. Check Psi Storm implementation for more information on the subject.
 

Attachments

  • Blaze.SC2Map
    22.5 KB · Views: 69
Level 10
Joined
Nov 5, 2008
Messages
536
Wow! You made this in like.. 30 minutes?

Your ability is really nice, but I think I was unclear in my opening post. I ment that the weapon shall leave the flames on the ground. Perhaps you thought of "tires" instead of "fires", like the wheels on the hellion :)

But it does not matther. The important thing is that I can see how you have created the ability. By learning from it I think I can create a weapon that burns the ground.

I am really grateful for all help you have offered me in so many threads.

Thank you.

Here you go. A few elements regarding this solution:

1) You can tune the creation of persistents (duration) via the buff's period (currently set to 0.2). You can also change the duration of the effect from there. If you want it permanent, just give the buff to the unit and modify the duration to -1.
2) You can tune the damage rate of the persistents via the Period Duration parameter of the (Add Trail) effect. You can also change the total duration of a flame via the number of cycles (currently set to 6 => 6x0.5=3 seconds/fire).
3) You should study and play with the area of the damage. Multiple flames may stack if their area intersects. Play with the range of the Area Search.
4) If the unit stands still and multiple persistents are generated in the same area, their effect will stack. To avoid this, instead of damaging targets, apply a short duration buff (about the duration between two cycles of the persistent) - the buff should in turn have an initial effect that deals the fire damage. Check Psi Storm implementation for more information on the subject.
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
Wow! You made this in like.. 30 minutes?
Kinda, I pulled my hair out a little at some point with the persistent. Messed up some flags and kept wondering why it doesn't work. I don't control Actors that well either. It's mostly copy-paste and trial and error at this point.

I meant that the weapon shall leave the flames on the ground.
Oh, you mean follow the burning weapon with a short duration lasting fire? Sorry, I totally misread that. This is easily do-able the following way:

1. Create a set Effect and link it to both the Hellion - Infernal Flame Thrower (Damage) and my Persistent Effect.
2. Modify the Hellion Persistent so that both the initial and periodic effects point to the Set above.
 
Level 10
Joined
Nov 5, 2008
Messages
536
Kinda, I pulled my hair out a little at some point with the persistent. Messed up some flags and kept wondering why it doesn't work. I don't control Actors that well either. It's mostly copy-paste and trial and error at this point.

I mean that it was really well done for being made in such a short time! When I create abilities from scratch it takes me 30 minutes to just come up with a logic plan of how to make it work. Then the work to get it to work starts :p

Oh, you mean follow the burning weapon with a short duration lasting fire? Sorry, I totally misread that. This is easily do-able the following way:

1. Create a set Effect and link it to both the Hellion - Infernal Flame Thrower (Damage) and my Persistent Effect.
2. Modify the Hellion Persistent so that both the initial and periodic effects point to the Set above.

Your instructions are always so clear and well written. Thumbs up for it. :thumbs_up:
 
Level 10
Joined
Nov 5, 2008
Messages
536
Just a small question:

I try to change the weapon to only create a burning fire on the ground at each enemy unit that are hit by the Hellion attack.

For example: The Hellion shoots with it´s normal weapon and damages 3 zealots in a single attack. A fire spawns at the location of each zealot. The fire deals damage to units who stands in it.

(The weapon ignites the ground below each enemy unit hit by the weapon.)

I can´t get it to work the way I want.

Any suggestions how this can be made?
 
Just a small question:

I try to change the weapon to only create a burning fire on the ground at each enemy unit that are hit by the Hellion attack.

For example: The Hellion shoots with it´s normal weapon and damages 3 zealots in a single attack. A fire spawns at the location of each zealot. The fire deals damage to units who stands in it.

(The weapon ignites the ground below each enemy unit hit by the weapon.)

I can´t get it to work the way I want.

Any suggestions how this can be made?

I tried to do something like this with actors but failed. I think that I will just create a dummy unit and changes its model for my projectile terminate effect. Here's that code that didn't work for me though:
JASS:
void gf_ProjectileExplosion (int lp_size, int lp_race, point lp_point) {
    string lv_race = "Terran";
    string lv_size = "Large";
    actor lv_explosion = ActorCreate(null, "TriggeredExplosion", null, null, null);
    fixed lv_x = PointGetX(lp_point);
    fixed lv_y = PointGetY(lp_point);
    fixed lv_z = PointGetHeight(lp_point) + 15;
    string lv_actormessage = "SetPositionH" + " {" + (FixedToString(lv_x, c_fixedPrecisionAny) + "," + FixedToString(lv_y, c_fixedPrecisionAny)) + "} {" + FixedToString(lv_z, c_fixedPrecisionAny) + "}";
    ActorSend(lv_explosion, ("Signal " + lv_race + lv_size));
}
 
Level 11
Joined
Jul 20, 2004
Messages
2,760
Fixed! Had to mess a little with the effect (hopefully it is like you wanted it). At this point the damage might be a bit... too much. You might consider lowering it down from the Damage Effect of Blaze. What I practically did was combine the damage effect with the persistent that created the small flames composing the blaze.
 

Attachments

  • Blaze.SC2Map
    22.8 KB · Views: 55
Level 10
Joined
Nov 5, 2008
Messages
536
Fixed! Had to mess a little with the effect (hopefully it is like you wanted it). At this point the damage might be a bit... too much. You might consider lowering it down from the Damage Effect of Blaze. What I practically did was combine the damage effect with the persistent that created the small flames composing the blaze.

Thank you!

I don´t know what I was doing.. but my attempt to make this ability was not this smooth and nice! You make it look so easy!

I need this on a flame weapon in my custom map. To ignite the units seems to be more logical, but if I ignite the ground that causes players to be rewarded if they micro good. (If they move out of the fire quickly, they suffer less damage.)

In other words.. this is exactly what I am looking for!
 
Status
Not open for further replies.
Top