Spell Fires of Hell

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
EDIT: Remade the spell that it is better

Here is a new spell made by me (idea)

Fires of Hell

The Phantom summons the flames from hell itself, he summons them from the deepest hell time will delay the fires, but they come nonetheless. Explodes every 0.25 seconds, the explosions are random in the 600 Area around The Phantom. Burns all units affected for a set duration and damage. (Channeling)

Level 1 - 75 Damage in an AoE of 200, burns the target for 10 damage per second for 4 seconds.
Level 2 - 150 Damage in an AoE of 200, burns the target for 20 damage per second for 4 seconds.
Level 3 - 225 Damage in an AoE of 200, burns the target for 30 damage per second for 4 seconds.
Level 4 - 300 Damage in an AoE of 200, burns the target for 40 damage per second for 4 seconds.

MUI? - YES
MPI? - Yes
Leakless? - I think so
Lagless? - ya (^^)
GUI/JASS? - GUI

Screenies:
shot1in4.jpg
shot2ue3.jpg


Code:
Trigger No.1 (casting trigger)
Code:
Casting
    Events
        Unit - A unit Begins channeling an ability
    Conditions
        (Ability being cast) Equal to Fires of Hell 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                FH_Count Less than 500
            Then - Actions
                Set FH_Count = (FH_Count + 1)
            Else - Actions
                Set FH_Count = 0
        Set FH_Integer[FH_Count] = 0
        Set FH_Caster[FH_Count] = (Triggering unit)
        Set FH_Level[FH_Count] = (Level of Fires of Hell  for (Triggering unit))

Trigger No.2 (periodic Trigger)
Code:
Channeling
    Events
        Time - Every 0.25 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to 500, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Current order of FH_Caster[(Integer A)]) Equal to (Order(starfall))
                    Then - Actions
                        Set FH_Integer[(Integer A)] = (FH_Integer[(Integer A)] + 1)
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                FH_Integer[(Integer A)] Less than or equal to 16
                            Then - Actions
                                Set temppoint = (Position of FH_Caster[(Integer A)])
                                -------- Edit the 500 to increase or decrease the radius --------
                                Set temppoint2 = (temppoint offset by (100.00 + (Random real number between 1.00 and 500.00)) towards (Random angle) degrees)
                                -------- The Model: --------
                                Special Effect - Create a special effect at temppoint2 using Abilities\Spells\Other\Doom\DoomDeath.mdl
                                Special Effect - Destroy (Last created special effect)
                                -------- AoE of the Explosion (200) and the targets allowed --------
                                Set tempgroup = (Units within 200.00 of temppoint2 matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of FH_C
                                Unit Group - Pick every unit in tempgroup and do (Actions)
                                    Loop - Actions
                                        -------- Dealing (level*75) damage --------
                                        Unit - Cause FH_Caster[(Integer A)] to damage (Picked unit), dealing (75.00 x (Real(FH_Level[(Integer A)]))) damage of attack type Spells and damage type Normal
                                        Unit - Create 1 Dummy for (Owner of FH_Caster[(Integer A)]) at temppoint2 facing Default building facing degrees
                                        Unit - Add Burning (Dummy) to (Last created unit)
                                        Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                                        Unit - Order (Last created unit) to Neutral Alchemist - Acid Bomb (Picked unit)
                                Custom script:   call RemoveLocation (udg_temppoint)
                                Custom script:   call RemoveLocation (udg_temppoint2)
                                Custom script:   call DestroyGroup (udg_tempgroup)
                            Else - Actions
                                Set FH_Caster[(Integer A)] = No unit
                                Set FH_Level[(Integer A)] = 0
                                Set FH_Integer[(Integer A)] = 0
                    Else - Actions
 

Attachments

  • FiresOfHell Remake.w3x
    46.2 KB · Views: 517

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
Locations and group should be removed in the loop (2nd trigger). Other than that I don't see other leaks. Good job nice spell ;)
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
no ^^
but i dont wanted to make a mega list of targets(ill fix it now)^^

PS: why to remove the locations and such IN the loop?
 

cr4xzZz

Also known as azwraith_ftL.
Reaction score
51
No, he means this:
Set tempgroup = (Units within (100.00 x (Real(FH_Level[(Integer A)]))) of temppoint2 matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Not equal to (Owner of FH_Caster[(Integer A)])))))

There is no Matching unit belongs to an enemy of Owner of FH_Caster Equal to True so that means that the spell will damage allies too. It doesn't matter if it can target enemies, that's the spell's options.

EDIT:
> PS: why to remove the locations and such IN the loop?
Leaks? You remove the last one location, but what about the other 11?
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
i know i fixed it
wait a min (ill edit the leak removal i thoughif the point is set to a variable then you only have to remove it once)
EDIT: fixed
 

FrozenShadow

I am a WolfieeifloW fan.
Reaction score
75
Yay! Thanks a lot Drunken_God!! I can now get this in my map for The Phantom ^^. +Rep and i'll give you credit ^^
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
i figured out how to make it MUI instead of only MPI

bump
will this get approved?
 

Flare

Stops copies me!
Reaction score
662
cool looking spell, hard enough to tell what exactly it does from the screenies (just a random fire explosion in AoE?). also, seems like a fairly weird way (simple on the other hand) way of making the spell MUI. only problem if you had 500 units casting it, explosions would occur at the exact same time even if there was half a second between casts

itll get approved when a mod gets around to looking at it and sees whether or not it fits the approval conditions :)
 

Tom Jones

N/A
Reaction score
437
bump
will this get approved?
Not before those arrays are reallocated when a unit doesn't use them anymore.

Simple Reallocation:
Code:
Actions
    *Storing in a array*
    Set Some_Index = (Some_Index + 1)
    Set Some_Array[Some_Index] = *Something*
    *Let's pretend we're done using some array. To keep the index from 
     running to all eternity we reallocate the array. We simply move the last
    array into the current array*
    Set Some_Array[*Current Index*] = Some_Array[Some_Index]
    Set Some_Index = (Some_Index - 1)
Makes sense?
 

PurgeandFire

zxcvmkgdfg
Reaction score
509
Don't you need to have no globals with waits for a trigger to be Multi-unit instanceable? And since you use a periodic trigger... and globals in it... Unless that "If" condition only runs once.

Just as far as I know, I'm not completely sure. ^^

Nice screenshot.

What Tom means, is that you need to reallocate your arrays so it won't go on for eternity. (Or when it goes past like 8192) So you set the array to the previous array, so that you can reuse the arrays... I think... I suck at explaining. Try to interpret what I mean from Tom Jones' example.
 

Flare

Stops copies me!
Reaction score
662
Don't you need to have no globals with waits for a trigger to be Multi-unit instanceable? And since you use a periodic trigger... and globals in it... Unless that "If" condition only runs once.

Not necessarily. As long as each spell instance uses a different array value, and you have some way of referring to all arrays that are currently being used (and no waits), you can make stuff MUI :)
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
ahm, whats different about it in the remade version? screenshots look fairly similar (or did you even change them?)

it is exploding now more often (to let it look cooler :))and yes i changed the screenshots
 

Sim

Forum Administrator
Staff member
Reaction score
534
Freezing Field anyone? :p

Great job. Approved!
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
>>Freezing Field anyone?
shit you got me :p

>>Although, it would be pretty ownage if you could add a DoT burning effect to affected units. That fire does look like it could ignite something
they have got a burning effect
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top