Inferno Spell

Pineapple

Just Smile.
Reaction score
576
I am trying to make a spell that when cast, will have 10 missiles based off of shock waves casted .3 seconds after each other but It doesn't seem to be working. And if it is, it isn't showing missile art and its causing the game to lag badly. As you can guess I don't like triggered spells. :eek:

Attempt 2
Code:
Inferno Copy
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to Inferno 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Level of Inferno  for (Casting unit)) Equal to 1
            Then - Actions
                Unit - Create 1 Dummy inferno1 for (Owner of (Casting unit)) at (Position of (Casting unit)) facing Default building facing (270.0) degrees
                Set DummY = (Last created unit)
                Wait 0.30 seconds
                Unit - Order DummY to Undead Dreadlord - Carrion Swarm (Target point of ability being cast)
            Else - Actions
        Unit Group - Pick every unit in (Units owned by (Owner of (Casting unit)) matching ((Unit-type of (Triggering unit)) Equal to Dummy inferno1)) and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
        Unit - Unpause (Casting unit)

Help please :) I gotta get this spell working.
 

Rinpun

Ex TH Member
Reaction score
105
Using Shockwave always lags. The stupid thing deforms the ground very poorly.

Base it off of carrion swarm and let me know if it's still not working.
 
L

lordpredator

Guest
try to avoid "wait" at all cost... because:
1) that trigger will work only one at time
2) if in another trigger you use the variable Dummy or any variable you use here... it will bug
3) 3 seconds of trigger is a lot.

well.. i don´t really understand what you want to do with this trigger, but for the "wait" part you can change it for "unit lifespan", i know... you have to make the shockwave go one after the other, so you can set the integer custom value of the first dummy created as [number of shockwaves] (based on ability level i think), then you add another trigger that fires when a dummy unit dies, and if the custom unit value is greater than 0, then create another dummy unit and fires the shockwave, set the custom value of the new dummy to [custom value of dying unit - 1]. with that you avoid the wait leak, if even this way it don´t fires... you have to check if with 0.3 seconds the casting time of the ability is enough, check if the dummy unit have enough maná, and range, target, etc.

LP
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
Use "starts the effect of".

Casting unit and target point don't make it past a wait.
Store them in variables.

When trying to match some units, use "matching unit" in the condition.

There's no loop. This won't cast anything 10 times...

Remove dummies with "Unit - Add expiration timer".

The caster never got paused. Only unpaused.
 

Tom Jones

N/A
Reaction score
437
The trigger will only run once... And your should use another event. Try this:
Code:
Test
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to *Your Ability*
    Actions
        Set TempPoint[1] = (Position of (Triggering unit))
        Set TempPoint[2] = (Target point of ability being cast)
        Unit - Pause (Triggering unit)
        For each (Integer A) from 1 to 10, do (Actions)
            Loop - Actions
                Unit - Create 1 *Dummy* for (Owner of (Triggering unit)) at TempPoint[1] facing Default building facing degrees
                Unit - Add *Your Dummy Ability* to (Last created unit)
                Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm TempPoint[2]
                Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
                Wait 0.30 seconds 
        Unit - Unpause (Triggering unit)
        Custom script:   call RemoveLocation(udg_TempPoint[1])
        Custom script:   call RemoveLocation(udg_TempPoint[2])
 

Pineapple

Just Smile.
Reaction score
576
Code:
Inferno Copy
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Inferno 
    Actions
        Set temppoint1 = (Position of (Triggering unit))
        Set temppoint2 = (Target point of ability being cast)
        Unit - Pause (Casting unit)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Level of Inferno  for (Triggering unit)) Equal to 1
            Then - Actions
                For each (Integer A) from 1 to 10, do (Actions)
                    Loop - Actions
                        Unit - Create 1 Dummy inferno1 for (Owner of (Triggering unit)) at temppoint1 facing Default building facing (270.0) degrees
                        Unit - Add inferno unit 1 to (Last created unit)
                        Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm temppoint2
                        Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
                        Wait 0.30 seconds
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Level of Inferno  for (Triggering unit)) Equal to 2
                    Then - Actions
                        For each (Integer A) from 1 to 10, do (Actions)
                            Loop - Actions
                                Unit - Create 1 Dummy inferno1 for (Owner of (Triggering unit)) at temppoint1 facing Default building facing (270.0) degrees
                                Unit - Add inferno unit 1 to (Last created unit)
                                Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm temppoint2
                                Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
                                Wait 0.30 seconds
                    Else - Actions
                        Do nothing
        Unit - Unpause (Casting unit)
        Custom script: call RemoveLocation(udg_temppoint1)
        Custom script: call RemoveLocation(udg_temppoint2)

Thats not working.:confused: :confused:
 
L

lordpredator

Guest
what exactly does until now?... i don´t work... why?

and please... remove that wait command... do the way i tell to avoid leaks... and the problems a wait bring...

LP
 

Tom Jones

N/A
Reaction score
437
>and please... remove that wait command... do the way i tell to avoid leaks... and the problems a wait bring...

Waits wont leak... What's your obsession with waits anyway.
They work perfectly fine.

>Thats not working.
Must be a problem with either your dummy unit or dummy ability.
Does the dummy unit have mana?
Does the dummy ability have infinite range?
Is the dummy ability based of Carrion Swarm?
Etc.
 
L

lordpredator

Guest
Waits wont leak... What's your obsession with waits anyway.
They work perfectly fine.

:p yes maybe im obsessed with leaks... when i post the map im working on you will understand why... sadly the wait does leak and make a trigger only work one at a time, so if there is 2 heroes doing the same spell at the same time... only one will work, at the best case... one of the two will work erratically... well i will do some test and post it (yeah im bored)

LP
 

Pineapple

Just Smile.
Reaction score
576
And their is only 1 unit in the game with this ability its impossible to have two so that isn't a concern.

-------------------------------
yea its based off carrion swarm. Yea it has infinite range. yea the unit has infinite mana. I don't understand why it wont work.

The unit casts the ability, he does is animation and gets paused. But no spells get casted then he unpauses.
 

Tom Jones

N/A
Reaction score
437
Hmm, try removing any invisibility from the dummy units to see if they appear at all.

>sadly the wait does leak and make a trigger only work one at a time

Nope, waits will NOT leak, and the trigger will NOT run one at a time. It isn't MUI that's true, but that is simply fixed by adding this action to the start of the actions:
Code:
Custom Script:     local location udg_TempPoint
If you still have doubts, try reading my MUI tutorial, it has the answers :)
 

Pineapple

Just Smile.
Reaction score
576
ok the dummy's are definitely popping up so i know they are getting made. But there not casting the ability.
 
L

lordpredator

Guest
well here it is... i´ve made the spell, is only a test but you can modify it to fits your needs. Hope it helps!
 

Attachments

  • inferno test.w3x
    13.5 KB · Views: 123

Tom Jones

N/A
Reaction score
437
Submit your map, preferebly a clean map containing only the spell, triggers and dummy units.
 
L

lordpredator

Guest
it doesn´t open??... can be because i have WEU?... but i´ve made the map in basic worldeditor... that´s really strange... but you can run the map? well... it is very simple... i post the code, have 2 triggers:

Code:
inferno cast
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to Shockwave
        (Unit-type of (Casting unit)) Equal to Tauren Chieftain
    Actions
        Set Temp_point_1 = (Target point of ability being cast)
        Set Temp_point_2 = (Position of (Casting unit))
        Unit - Create 1 dummy caster for Player 1 (Red) at Temp_point_2 facing Default building facing (270.0) degrees
        Unit - Add a 0.30 second Generic expiration timer to (Last created unit)
        Unit - Set the custom value of (Last created unit) to 5
        Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave Temp_point_1

Code:
second cast
    Events
        Unit - A unit Dies
    Conditions
        (Unit-type of (Triggering unit)) Equal to dummy caster
        (Custom value of (Triggering unit)) Greater than 0
    Actions
        Unit - Create 1 dummy caster for Player 1 (Red) at Temp_point_2 facing Default building facing (270.0) degrees
        Unit - Add a 0.30 second Generic expiration timer to (Last created unit)
        Unit - Set the custom value of (Last created unit) to ((Custom value of (Triggering unit)) - 1)
        Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave Temp_point_1

and you have to make a dummy caster with a ability based in shockwave (but with the "Stats - Hero ability" set to false (so you can put that ability in the dummy caster unit)

EDIT: you have to remove the points Temp_point_1 and Temp_point_2 after they are used... or it will leak... and you know about my leak obsession right? :p

LP
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top