Spellpack Meteor Shock,Thunderslam, Oh Shit

NoobImbaPro

You can change this now in User CP.
Reaction score
60
UPDATED!! Meteor Shock,Thunderslam, Oh Shit

GUI spells


I made some skills that can used as Your Ultimate Skills or the regular ones
by modifying to make them balanced compared the other skills in your map.
Check ability's buffs, dummies, dummy spells and copy them to your map.


Meteor Shock
skill-0.gif
Code:
[CENTER]Calls down a meteor that "rampages" the ground.
[COLOR="Green"]Level 1[/COLOR]: 150 damage maximum
[COLOR="Green"]Level 2[/COLOR]: 250 damage maximum
[COLOR="Green"]Level 3[/COLOR]: 350 damage maximum
[COLOR="Green"]Level 4[/COLOR]: 450 damage maximum
[/CENTER]
Trigger:
  • Meteor
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Meteor Shock
    • Actions
      • Trigger - Turn off (This trigger)
      • Set Meteor_TmpPoint = (Position of (Triggering unit))
      • Set ShockWave = (Target point of ability being cast)
      • Unit - Order (Triggering unit) to Move To Meteor_TmpPoint
      • Special Effect - Create a special effect at ShockWave using Abilities\Spells\Demon\RainOfFire\RainOfFireTarget.mdl
      • Set ShockAnime = (Last created special effect)
      • Wait 0.75 seconds
      • For each (Integer A) from 1 to 8, do (Actions)
        • Loop - Actions
          • Set spawn = (ShockWave offset by (Meteor_x[(Integer A)], Meteor_y[(Integer A)]))
          • Unit - Create 1 Shock dummy for (Owner of (Triggering unit)) at spawn facing (Angle from spawn to ShockWave) degrees
          • Set Shockwave[(Integer A)] = (Last created unit)
          • Unit - Set level of Wave for Shockwave[(Integer A)] to (Level of Meteor Shock for (Triggering unit))
          • Unit - Order Shockwave[(Integer A)] to Orc Tauren Chieftain - Shockwave ShockWave
          • Unit - Add a 1.00 second Generic expiration timer to Shockwave[(Integer A)]
          • Custom script: call RemoveLocation (udg_spawn)
      • Special Effect - Destroy ShockAnime
      • Custom script: call RemoveLocation (udg_Meteor_TmpPoint)
      • Custom script: call RemoveLocation (udg_ShockWave)
      • Trigger - Turn on (This trigger)

Trigger:
  • Meteor Spawn Set
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Meteor_x[1] = 150.00
      • Set Meteor_y[1] = 150.00
      • Set Meteor_x[2] = 150.00
      • Set Meteor_y[2] = 0.00
      • Set Meteor_x[3] = 150.00
      • Set Meteor_y[3] = -150.00
      • Set Meteor_x[4] = 0.00
      • Set Meteor_y[4] = -150.00
      • Set Meteor_x[5] = -150.00
      • Set Meteor_y[5] = -150.00
      • Set Meteor_x[6] = -150.00
      • Set Meteor_y[6] = 0.00
      • Set Meteor_x[7] = -150.00
      • Set Meteor_y[7] = 150.00
      • Set Meteor_x[8] = 0.00
      • Set Meteor_y[8] = 150.00
      • Custom script: call DestroyTrigger( GetTriggeringTrigger() )


Thunderslam
images
Code:
[CENTER]Passive ability that  has a chance to deal a massive thunder blow on the ground dealing
damage and  slow on the targets that are in  some range from the Paladin..
Makes aditional dmg equal to x5 rage points.
[COLOR="Green"]Level 1[/COLOR]: 15% chance 100 damage  5% slow at 200 range 1 rage point
[COLOR="Green"]Level 2[/COLOR]: 15% chance 200 damage 10% slow at 250 range 2 rage points
[COLOR="Green"]Level 3[/COLOR]: 15% chance 300 damage 15% slow at 300 range 3 rage points[/CENTER]
Trigger:
  • Thunderclap
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
      • ((Attacking unit) has buff ThunderClap ) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Integer((Random percentage))) Less than or equal to 7) or ((Integer((Random percentage))) Greater than or equal to 94)
        • Then - Actions
          • Set thunder_spawn = (Position of (Attacking unit))
          • Unit - Create 1 thunderclap for (Owner of (Attacking unit)) at thunder_spawn facing Default building facing degrees
          • Set thunderclap_dummy = (Last created unit)
          • Set Rage_Group = (Units within (200.00 + ((Real((Level of Thunderslam for (Attacking unit)))) x 50.00)) of thunder_spawn matching (((Matching unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to True))
          • Unit - Move thunderclap_dummy instantly to thunder_spawn
          • Unit - Set level of Thunder Clap for thunderclap_dummy to (Level of Thunderslam for (Attacking unit))
          • Unit - Order thunderclap_dummy to Human Mountain King - Thunder Clap
          • Unit Group - Pick every unit in Rage_Group and do (Actions)
            • Loop - Actions
              • Unit - Cause thunderclap_dummy to damage (Picked unit), dealing ((Real(Rage)) x 5.00) damage of attack type Normal and damage type Normal
          • Unit - Add a 1.00 second Generic expiration timer to thunderclap_dummy
          • Floating Text - Create floating text that reads ((String((Rage x 5))) + Damage) above (Attacking unit) with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Change the lifespan of (Last created floating text) to 0.20 seconds
          • Set Rage = (Level of Thunderslam for (Attacking unit))
          • Custom script: call DestroyGroup (udg_Rage_Group)
          • Custom script: call RemoveLocation (udg_thunder_spawn)
        • Else - Actions
          • Set Rage = (Rage + (Level of Thunderslam for (Attacking unit)))
          • Floating Text - Create floating text that reads ((String(Rage)) + Rage) above (Attacking unit) with Z offset 0.00, using font size 9.50, color (((Real(Rage)) x 2.50)%, 0.00%, (300.00 / (Real(Rage)))%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
          • Floating Text - Change the lifespan of (Last created floating text) to 0.20 seconds
          • Floating Text - Change the fading age of (Last created floating text) to 0.20 seconds


Oh Shit!
images
Code:
[CENTER]Sents an energy bolt at the enemy unit storing it cosmic energy and slightly slowing it.
Then Summons a spirit that is attracted by that energy.
The unit follows the enemy until it absorbs it all.
The unit has a 150 dmg permanent immolation.
When it dies deals a portion of your HP AoE damage.

[COLOR="Green"]Level 1[/COLOR]: 5% slow, buff lasts 5 seconds, Spirit lasts 7, 5% hp conversion into dmg.
[COLOR="Green"]Level 2[/COLOR]: 6% slow, buff lasts 8 seconds, Spirit lasts 9, 10% hp conversion into dmg.
[COLOR="Green"]Level 3[/COLOR]: 7% slow, buff lasts 10 seconds, Spirit lasts 11,  15% hp conversion into dmg.[/CENTER]

Trigger:
  • Oh Shit
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Oh Shit!
    • Actions
      • Set Oh_Shit_TmpPoint = (Position of (Triggering unit))
      • Set Oh_Shit_caster = (Triggering unit)
      • Set Oh_Shit_target = (Target unit of ability being cast)
      • Unit - Create 1 oh shit! for (Owner of (Casting unit)) at Oh_Shit_TmpPoint facing Oh_Shit_TmpPoint
      • Set Oh_shit_dummy = (Last created unit)
      • Unit - Order Oh_shit_dummy to Attack Oh_Shit_target
      • Set Oh_shit_duration = (5.00 + ((Real((Level of (Ability being cast) for Oh_Shit_caster))) x 2.00))
      • Unit - Add a Oh_shit_duration second Generic expiration timer to Oh_shit_dummy
      • Custom script: call RemoveLocation (udg_Oh_Shit_TmpPoint)
      • Trigger - Turn off (This trigger)

Trigger:
  • Oh Shit damage
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Dying unit) Equal to Oh_shit_dummy
    • Actions
      • Unit - Make Oh_Shit_caster Invulnerable
      • Set oh_shit_group = (Units within 500.00 of Oh_Shit_TmpPoint matching (((Matching unit) belongs to an ally of (Owner of Oh_Shit_caster)) Equal to True))
      • Unit Group - Pick every unit in oh_shit_group and do (Unit - Make (Picked unit) Invulnerable)
      • Set Oh_Shit_TmpPoint = (Position of (Dying unit))
      • Set Oh_shit_damage = ((Life of Oh_Shit_caster) x ((Real((Level of Oh Shit! for Oh_Shit_caster))) x 0.05))
      • Unit - Cause Oh_Shit_caster to damage circular area after 0.00 seconds of radius 500.00 at Oh_Shit_TmpPoint, dealing Oh_shit_damage damage of attack type Chaos and damage type Normal
      • Unit Group - Pick every unit in oh_shit_group and do (Unit - Make (Picked unit) Vulnerable)
      • Unit - Make Oh_Shit_caster Vulnerable
      • Unit - Remove (Dying unit) from the game
      • Custom script: call DestroyGroup (udg_oh_shit_group)
      • Custom script: call RemoveLocation (udg_Oh_Shit_TmpPoint)
      • Trigger - Turn on Oh Shit <gen>
Map updated
 

Ayanami

칼리
Reaction score
288
Firstly, your Meteor Shock. You could so easily deal with that trigger by using loops. No need to go for such lengthy methods.

Secondly, Thunderslam. Why did you make 3 triggers when you can compile them into 1? The percentage could have been easily set by using a integer variable and doing an if/then/else action to check the level of Thunderslam.

Please check for leaks. I see leaks EVERYWHERE. So many that it'll be hard to list them all down.

Glenphir
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
Make them better and answer me....I don't give these spells for using them, only to give you the idea and to edit them.
It's my first work....so don't blame me..
And I saw your "void's" teleport :p

I made meteor in 1 trigger but it was something wrong and only 1 unit cast the shockwave, and thunderslam may have leaks but if you see the dummies properties you will find out that the is no problem at all....
I don't mind about the meteor, but can you tell me the leaks of the last one and how to fix them?


Ty
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
Make them better and answer me....I don't give these spells for using them, only to give you the idea and to edit them.

Wrong. Any submission is for anyone to use, if you wish to give ideas there's a spell idea thread for just that. "Make them better" is no argument here; you submitted this so it is you who will optimize and clean them.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
Okokok I have leaks....
I don't know where are leaks...
What are leaks.....
I will fix them cause I found some bugs...:(
 

Sim

Forum Administrator
Staff member
Reaction score
534
There are 12 leaks in Meteor, 6 leaks in Thunderclap as well as a fatal (Last created unit) reference after a wait, and the last one... well, certainly ain't better. There are 6 "base" leaks, plus 8 leaks for every unit within a 400 AoE of the caster.

With 5 units nearby it would total to 46 leaks for 1 cast.

I've seen worse though.

Now, as for the spells themselves:

Meteor: Why do you use a periodic event if you were planning on firing the trigger just once? Hell, you could've just used "Trigger - Run trigger".

Thunderclap or w/e: 1 trigger for each level? That won't work. Spells must be configurable so someone can decide tomorrow that your spell has 87 levels because he feels it's awesome.

oh shit: The description needs some help. :p

As a last reminder:

Rules said:
Submissions with memory leaks will not be approved. Read tutorials on how to remove them if you don't know what they are.
We want Quality, not Quantity. Thus, submit only what you think is good! If your post contains something like "check out my crappy spell" it will hit graveyard right away.

Although you did not state "check out my crappy spells", I don't think I've ever approved a "first" spell made by someone.
 

Sim

Forum Administrator
Staff member
Reaction score
534
> (ShockWave offset by (Meteor_x[(Integer A)], Meteor_y[(Integer A)]))

A point offset by another point leaks 2 points. The point used as "base" point for the offset, and the resulting point as well. As you removed one, there is still one remaining! :)
You must set a point to the new offset'd point.
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
Trigger:
  • Meteor
    • Actions
      • Set spawn = (ShockWave offset by (Meteor_x[(Integer A)], Meteor_y[(Integer A)]))
      • Unit - Create 1 Shock dummy for (Owner of (Triggering unit)) at spawn facing (Angle from spawn to ShockWave) degrees
      • Custom Script: call RemoveLocation (udg_spawn)
that?
(I edited my post and map with the actions above)

The other spells have leaks?
 

Sim

Forum Administrator
Staff member
Reaction score
534
> MUI/GUI spells

Wow, I hadn't seen that earlier.

Your spells are far from being MUI. :) Actually, they aren't even PUI, or whatever-thing-instanceable for that matters.

Making MUI spells in GUI is hard. MUI spells are spells which can be cast simultaneously by many units, controlled by different players or the same player. Because of the global variables used in your spell used in conjunction with the waits/trigger events, such spells can only be cast as one instance, no matter what.

This can be quite problematic in many scenarios.

Congratulations for the leaks though, I don't think there is even one remaining (at quick glance)!!
 
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