Spellpack Massive Spells

Naminator

Coming Back To Life
Reaction score
76
Hello..this is my first spell pack. Don't be so hard on me =P. I call it Massive Spells

It's in GUI

Massive Holy Shield: (Just copy the trigger and ability)
Make all unit in 400 of AoE Invulnerable for determinated seconds

spellpack1an4.jpg

Code:
Massive Holy Shield
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Massive Holy Shield 
    Actions
        Set MHS_Caster = (Triggering unit)
        Set MHS_Caster_Loc = (Position of MHS_Caster)
        Set MHS_Hit_Group = (Units within 400.00 of MHS_Caster_Loc matching ((((Matching unit) belongs to an ally of (Owner of MHS_Caster)) Equal to True) and (((Matching unit) is alive) Equal to True)))
        Unit Group - Pick every unit in MHS_Hit_Group and do (Actions)
            Loop - Actions
                Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Undead\UCancelDeath\UCancelDeath.mdl
                Special Effect - Destroy (Last created special effect)
                Unit - Make (Picked unit) Invulnerable
                Unit - Set the custom value of (Picked unit) to (Execution count of (This trigger))
        Custom script:   call RemoveLocation(udg_MHS_Caster_Loc)
        Custom script:   call DestroyGroup(udg_MHS_Hit_Group)
        Wait (4.00 x (Real((Level of Massive Holy Shield  for MHS_Caster)))) seconds
        Custom script:   set bj_wantDestroyGroup = true
        Unit Group - Pick every unit in (Units in (Playable map area) matching ((Custom value of (Matching unit)) Equal to (Execution count of (This trigger)))) and do (Actions)
            Loop - Actions
                Unit - Make (Picked unit) Vulnerable
                Unit - Set the custom value of (Picked unit) to 0

Massive Healing: (Copy only the trigger and ability)
Heal the hit point of allies unit in an area of 500 of AoE

spellpack2iz9.jpg

Code:
Massive Healing
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Massive Healing 
    Actions
        Set TempLine = 0.00
        Set MH_Caster = (Triggering unit)
        Set MH_Caster_Loc = (Position of MH_Caster)
        For each (Integer A) from 1 to 10, do (Actions)
            Loop - Actions
                Set TempLine = (TempLine + 50.00)
                For each (Integer B) from 1 to 8, do (Actions)
                    Loop - Actions
                        Set MH_Offset[(Integer B)] = (MH_Caster_Loc offset by TempLine towards (45.00 x (Real((Integer B)))) degrees)
                        Special Effect - Create a special effect at MH_Offset[(Integer B)] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                        Special Effect - Destroy (Last created special effect)
                        Custom script:   call RemoveLocation(udg_MH_Offset[bj_forLoopBIndex])
        Custom script:   call RemoveLocation(udg_MH_Caster_Loc)
        Set MH_Caster_Loc = (Position of MH_Caster)
        Set MH_Heal_Group = (Units within 500.00 of MH_Caster_Loc matching ((((Matching unit) belongs to an ally of (Owner of MH_Caster)) Equal to True) and (((Matching unit) is alive) Equal to True)))
        Unit Group - Pick every unit in MH_Heal_Group and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Life of (Picked unit)) Equal to (Max life of (Picked unit))
                    Then - Actions
                        Skip remaining actions
                    Else - Actions
                        Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                        Special Effect - Destroy (Last created special effect)
                        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (100.00 x (Real((Level of Massive Healing  for MH_Caster)))))
        Custom script:   call RemoveLocation(udg_MH_Caster_Loc)
        Custom script:   call DestroyGroup (udg_MH_Heal_Group)

Massive Mana Burn:(Copy Dummy Unit, Ability, and Trigger) To change Mana Burn go to Night Elfs>Heroes>Mana Burn and change fields.
Burn mana of the selected area and dealing the burn mana as damage

spellpack3nw4.jpg

Code:
Massive Mana Burn
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Massive Mana Burn 
    Actions
        Set MMB_Caster = (Triggering unit)
        Set MMB_Caster_Loc = (Position of MMB_Caster)
        Set MMB_Target_Point = (Target point of ability being cast)
        Set MMB_Target_Group = (Units within (225.00 + (100.00 x (Real((Level of Massive Mana Burn  for MMB_Caster))))) of MMB_Target_Point matching ((((Matching unit) belongs to an enemy of (Owner of MMB_Caster)) Equal to True) and (((Matching unit) is dead) Equal to False)))
        Unit Group - Pick every unit in MMB_Target_Group and do (Actions)
            Loop - Actions
                Unit - Create 1 Dummy Unit for (Owner of MMB_Caster) at MMB_Caster_Loc facing Default building facing degrees
                Unit - Add Mana Burn to (Last created unit)
                Unit - Set level of Mana Burn for (Last created unit) to (Level of Massive Mana Burn  for MMB_Caster)
                Unit - Order (Last created unit) to Night Elf Demon Hunter - Mana Burn (Picked unit)
                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
        Custom script:   call RemoveLocation(udg_MMB_Caster_Loc)
        Custom script:   call RemoveLocation(udg_MMB_Target_Point)
        Custom script:   call DestroyGroup (udg_MMB_Target_Group)


Massive Mix:(Copy Dummy Unit, Ability, and Trigger) To change Mana Burn go to Neutral Hostile>Heroes>Soul Burn and change fields.
Burn souls of units in the select area. The afected units has -50% attack, -30% movement speed, -30% attack rate, silence and deals 50 of damage each second.

spellpack4pn2.jpg

Code:
Massive Mix
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Massive Mix 
    Actions
        Set MM_Caster = (Triggering unit)
        Set MM_Caster_Loc = (Position of MM_Caster)
        Set MM_Target_Point = (Target point of ability being cast)
        Set MM_Target_Group = (Units within (225.00 + (100.00 x (Real((Level of Massive Mix  for MM_Caster))))) of MM_Target_Point matching ((((Matching unit) belongs to an enemy of (Owner of MM_Caster)) Equal to True) and (((Matching unit) is dead) Equal to False)))
        Unit Group - Pick every unit in MM_Target_Group and do (Actions)
            Loop - Actions
                Unit - Create 1 Dummy Unit for (Owner of MM_Caster) at MM_Caster_Loc facing Default building facing degrees
                Unit - Add Soul Burn to (Last created unit)
                Unit - Set level of Mana Burn for (Last created unit) to (Level of Massive Mana Burn  for MM_Caster)
                Unit - Order (Last created unit) to Neutral Fire Lord - Soul Burn (Picked unit)
                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
        Custom script:   call RemoveLocation(udg_MM_Caster_Loc)
        Custom script:   call RemoveLocation(udg_MM_Target_Point)
        Custom script:   call DestroyGroup (udg_MM_Target_Group)

Hope you like it :D!
 

Attachments

  • Naminator The Helper Forums-Leakless.w3x
    24.6 KB · Views: 722
Looks nice

Some Questions:

  1. Is it JASS or GUI?
  2. Is it MUI?
  3. Does it Leak?

Those are just some things people might want to see...they look good...will take a look at the code and whatnot

+rep
 
Looks nice

Some Questions:

  1. Is it JASS or GUI?
  2. Is it MUI?
  3. Does it Leak?

Those are just some things people might want to see...they look good...will take a look at the code and whatnot

+rep

>Is it JASS or GUI

GUI.

>Is it MUI?

I'm pretty sure that isn't.

>Does it leak?

Yes.

Wait, I'll go into further detail in a second. :D

Massive Healing:

Code:
Massive Healing
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Massive Healing 
    Actions
        Set TempLine = 0.00
        Set CastingUnit = (Triggering unit)
        For each (Integer A) from 1 to 10, do (Actions)
            Loop - Actions
                Set TempLine = (TempLine + 50.00)
                [B]Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 0.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 45.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 90.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 135.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 180.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 225.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 270.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 315.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl[/B]

There is a point leak at the "Position of the Casting Unit". Do this instead:

Code:
Set Casterloc = (Position of CastingUnit)
//Actions//
*End of Trigger*
Custom Script: call RemoveLocation(udg_Casterloc)

Or you can even remove the location after it is fully used.

Code:
[B]Set HealGroup = (Units within 500.00 of (Position of CastingUnit) matching (((Matching unit) belongs to an ally of (Owner of CastingUnit)) Equal to True))[/B]
Use the "Casterloc" here too instead of the Position of CastingUnit function.

Code:
                [B]Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 0.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 45.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 90.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 135.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 180.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 225.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 270.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Create a special effect at ((Position of CastingUnit) offset by TempLine towards 315.00 degrees) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl[/B]

This leaks hugely. Make sure that you destroy your effects after they effect is created. What I would do is create a special effect array and do this:
Code:
//Effect//
Set Effect[1] = LastCreatedSpecialEffect
//Effect//
... etc.

Then do this when after the effect goes away:

Code:
Special Effect - Destroy Effect[1]

Do this for every single effect, but make sure they each have different array numbers. :)

Massive Mana Burn:

Hm... I don't see any leaks so far for this trigger, gj. :)

Except that you should do this:
Code:
       Custom Script:  call RemoveLocation(udg_CasterLoc)

Massive Holy Shield:0

Code:
[B]Unit - Create 1 Dummy Heal for (Owner of Caster) at (Position of Caster) facing Default building facing degrees[/B]

"Position of Caster" leaks, set it to a variable then remove it l8r.

Code:
[B]Unit Group - Pick every unit in (Units in (Playable map area) owned by (Owner of Caster)) and do (Actions)[/B]
    Loop - Actions
[B]        Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Undead\UCancelDeath\UCancelDeath.mdl[/B]
            Unit - Make (Picked unit) Vulnerable

Set the "Units in Playable Map Area owned by owner of caster" to a group variable then destroy it:
Code:
Set GroupGroup = (Units in (Playable Map Area) owned by (Owner of Caster))
Unit Group - Pick every unit in GroupGroup and do (Actions)
    Loop - Actions
           //Actions//
...
Custom Script: call DestroyGroup(udg_GroupGroup)

The:
Code:
[B]        Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Undead\UCancelDeath\UCancelDeath.mdl[/B]

Leaks.. Set it to a variable then destroy it later:

Code:
        Special Effect - Create a special effect attached to the chest of (Picked unit) using Objects\Spawnmodels\Undead\UCancelDeath\UCancelDeath.mdl
        Set SFX[1] = LastCreatedSpecialEffect
        //Actions//
...
        Special Effect - Destroy SFX[1]

Other than that it seems fine.

Massive Mix:

2 Things wrong:

1. You must remove the location variable to prevent leaks:
Code:
       Custom Script:  call RemoveLocation(udg_CasterLoc)

2. This confuses me:
Code:
[B]Unit - Set level of Mana Burn for (Last created unit) to (Level of Massive Mana Burn  for Caster)
[/B]

Don't you want to do this?:
Code:
Unit - Set level of [B][U]Soul[/U][/B] Burn for (Last created unit) to (Level of Massive Mana Burn  for Caster)

Because since you are using Soul Burn as the spell, I think you want Soul Burn to actually be the ability to have its level switched. :D

Anyways, GJ!
 
I dont know if this was mentioned, but the mana burn does the damage, but it doesnt burn the mana, as in they dont lose any mana.

But its still really cool spells
 
> >Is it MUI?
I'm pretty sure that isn't.


2 of the spells are MUI: Massive Mana Burn, and Massive Mix>this is because they don't use any wait actions (they're instant-cast).

Anyway..

I've fixed every leak that could be fixed, and uploaded a clean map.

Please study it carefully, so you can learn how to remove the leaks you didn't remove in your original map.

http://rapidshare.com/files/28172231/Naminator_The_Helper_Forums_-_Leak_Fixed.w3x.html


The spells wern't too bad either :)

Good job.
 
Haha nice spells man, ^_^ but ive noticed that spells like the healing 1 can b abit laggy online. personaly id prefer less a spell to b small, rather then a huge pic :p . but thats just my opinion hahas. not to shabby for a first spell pack though =]
 
> but ive noticed that spells like the healing 1 can b abit laggy online

Online, and offline.

If he used dummy units with the model file of that particular effect he uses instead of creating the special effect, then I'm sure the lag would decrease.
 
Thanks for correcting me and all the answer :D

I attached the tinke leakless version to the original.
 
I liked those spells, although they still have some problems.

--> Massive Healing

Odd effect, but nice nonetheless :p

There is one problem though: It takes too long to land. When you want your units healed, you don't want them to be healed 1 second afrer you cast the spell. You want them healed now! Remove the 1 second wait and it should do it.

You know you could've used an (Integer B) loop inside that (Integer A) loop?

Replace

Code:
For each (Integer A) from 1 to 10, do (Actions)
    Loop - Actions
        Set TempLine = (TempLine + 50.00)
        Set MH_Offset[1] = (MH_Caster_Loc offset by TempLine towards 0.00 degrees)
        Set MH_Offset[2] = (MH_Caster_Loc offset by TempLine towards 45.00 degrees)
        Set MH_Offset[3] = (MH_Caster_Loc offset by TempLine towards 90.00 degrees)
        Set MH_Offset[4] = (MH_Caster_Loc offset by TempLine towards 135.00 degrees)
        Set MH_Offset[5] = (MH_Caster_Loc offset by TempLine towards 180.00 degrees)
        Set MH_Offset[6] = (MH_Caster_Loc offset by TempLine towards 225.00 degrees)
        Set MH_Offset[7] = (MH_Caster_Loc offset by TempLine towards 270.00 degrees)
        Set MH_Offset[8] = (MH_Caster_Loc offset by TempLine towards 315.00 degrees)
        Special Effect - Create a special effect at MH_Offset[1] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[2] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[3] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[4] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[5] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[6] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[7] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at MH_Offset[8] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Custom script:   call RemoveLocation(udg_MH_Offset[1])
        Custom script:   call RemoveLocation(udg_MH_Offset[2])
        Custom script:   call RemoveLocation(udg_MH_Offset[3])
        Custom script:   call RemoveLocation(udg_MH_Offset[4])
        Custom script:   call RemoveLocation(udg_MH_Offset[5])
        Custom script:   call RemoveLocation(udg_MH_Offset[6])
        Custom script:   call RemoveLocation(udg_MH_Offset[7])
        Custom script:   call RemoveLocation(udg_MH_Offset[8])

with

Code:
For each (Integer A) from 1 to 10, do (Actions)
    Loop - Actions
        Set TempLine = (TempLine + 50.00)
        For each (Integer B) from 1 to 8, do (Actions)
            Loop - Actions
                Set MH_Offset[(Integer B)] = (MH_Caster_Loc offset by TempLine towards (45.00 x (Real((Integer B)))) degrees)
                Special Effect - Create a special effect at MH_Offset[(Integer B)] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_MH_Offset[bj_forLoopBIndex])


--> Massive Mana Burn

Good spell, although a bit unoriginal.

--> Massive Holy Shield

"H" as an hotkey is really bad. Change it. I know your keyboard isn't English but, for us, it's "Hold Position". :p

Remove that effect spawning at the end of the spell. Really looks weird, like if I casted the spell again.

--> Massive Mix

Good.
 
@Tinki3: Thanx for correcting me. :)

@Daxtreme: Wow, I feel preetttyyy stupid to miss that easy loop that could be performed. :p
 
> @Tinki3: Thanx for correcting me.

:)

> @Daxtreme: Wow, I feel preetttyyy stupid to miss that easy loop that could be performed.

I too feel stupid that I didn't think of using it :rolleyes:

> Remove that effect spawning at the end of the spell. Really looks weird, like if I casted the spell again.

I agree.

Maybe use a different effect?
 
Unfortunately not. You haven't shortened the loop, nor changed the hotkey, nor removed the effect at the end of Holy Shield nor removed the 1 second wait on Massive Healing.

I hope you uploaded a wrong version :p
 
Please test things before you submit them. Massive Healing bugged out :p

Code:
For each (Integer A) from 1 to 10, do (Actions)
    Loop - Actions
        Set TempLine = (TempLine + 50.00)
        For each (Integer B) from 1 to 8, do (Actions)
            Loop - Actions
        Set MH_Offset[(Integer B)] = (MH_Caster_Loc offset by TempLine towards (45.00 x (Real((Integer B)))) degrees)
        Special Effect - Create a special effect at MH_Offset[(Integer B)] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Custom script:   call RemoveLocation(udg_MH_Offset[bj_forLoopBIndex])

Should be

Code:
For each (Integer A) from 1 to 10, do (Actions)
    Loop - Actions
        Set TempLine = (TempLine + 50.00)
        For each (Integer B) from 1 to 8, do (Actions)
            Loop - Actions
                Set MH_Offset[(Integer B)] = (MH_Caster_Loc offset by TempLine towards (45.00 x (Real((Integer B)))) degrees)
                Special Effect - Create a special effect at MH_Offset[(Integer B)] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_MH_Offset[bj_forLoopBIndex])

At the moment it creates a single line. :p
 
You need to add implementation steps for users wanting your spell.

Like the dummy units, the dummy spells, etc.
 
Great, approved.

There's one thing though: You could replace 2 part of lines:

Code:
Unit - Set the custom value of (Picked unit) to 1
...
Unit Group - Pick every unit in (Units in (Playable map area) matching ([b](Custom value of (Matching unit)) Equal to 1))[/b] and do (Actions)

with

Code:
Unit - Set the custom value of (Picked unit) to (Execution count of (This trigger))
...
Unit Group - Pick every unit in (Units in (Playable map area) matching [b]((Custom value of (Matching unit)) Equal to (Execution count of (This trigger))))[/b] and do (Actions)

And so the spell would be MUI, since 2 players could cast the spell at the same time and, because the units have different custom values, won't bug out.
 
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