Spell Terra Crush

Hatebreeder

So many apples
Reaction score
381
You know those days, where your all bored and stuff, and you just can't think of what to do? Well, I came up with this in my Boredome.
Terra Crush:
TerrVrushShot.jpg
What it does:
- Pushes all enemy Units in a 225 AOE around the caster 300 Units away, and deals damage equal to X * his Strength.

It's non-MUI
No Lagg
I also didn't find any leaks, so I guess it's leakless.
You don't need to give Credits.
Now to you people, Gimme Feedback

Code:
Terra Crush Init
    Event
        Unit - A unit starts the effect of an Ability
    Condition
        (Ability being cast) Equal Terra Crush 
    Actions
        Custom script:   set udg_TC_Group[2] = CreateGroup()
        Set TC_Caster = (Casting unit)
        Set TC_CasterLocation = (Position of TC_Caster)
        Specialeffect - Create a special effect at TC_CasterLocation using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
        Specialeffect - Destroy (Last created special effect)
        Set TC_NumberOfUnits = (Number of units in (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is a Structure) Equal to False) and ((((Matching unit) is Immun against Magic) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_Group[2] Equal to false)))))
        For each (Integer A) from 1 to TC_NumberOfUnits, do (Actions)
            Loop - Actions
                Set TC_Group[1] = (Random 1 units from (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is a Structure) Equal to False) and ((((Matching unit) is Immun against Magic) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_Group[2] Equal to false))))
                Einheitengruppe - Pick every unit in TC_Group[1] and do (Actions)
                    Loop - Actions
                        Set TC_Units[(Integer A)] = (Picked unit)
                        Set TC_UnitsLocation[(Integer A)] = (Position of TC_Units[(Integer A)])
                        Set TC_Angle[(Integer A)] = (Angle from TC_CasterLocation to TC_UnitsLocation[(Integer A)])
                        Set TC_Distance[(Integer A)] = 300.00
                        Unit-Group - Add TC_Units[(Integer A)] to TC_Group[2]
                        Unit - Cause TC_Caster to damage TC_Units[(Integer A)], dealing ((3.00 x (Real((Level of Terra Crush  for TC_Caster)))) x (Real((Kraft of TC_Caster (Including bonuses))))) damage of attack type Held and damage type Normal
                        Floating Text - Create floating text that reads (String(((3 x (Level of Terra Crush  for TC_Caster)) x (Kraft of TC_Caster (Including bonuses))))) at TC_UnitsLocation[(Integer A)] with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                        Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                        Floating Text - Change (Last created floating text): Deaktivieren permanence
                        Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds
                        Floating Text - Change the fading age of (Last created floating text) to 4.00 seconds
                        Custom script:   call RemoveLocation(udg_TC_UnitsLocation[GetForLoopIndexA()])
                Custom script:   call DestroyGroup(udg_TC_Group[1])
                Trigger - Turn on Terra Crush Effect <gen>
Code:
Terra Crush Effect
    Event
        Zeit - Every 0.03 seconds of game time
    Condition
    Action
        For each (Integer A) from 1 to TC_NumberOfUnits, do (Actions)
            Loop - Actions
                Set TC_UnitsLocation[(Integer A)] = (Position of TC_Units[(Integer A)])
                Set TC_MoveLocation[(Integer A)] = (TC_UnitsLocation[(Integer A)] offset by 12.00 towards TC_Angle[(Integer A)] degrees)
                Unit - Move TC_Units[(Integer A)] instantly to TC_MoveLocation[(Integer A)], facing TC_Angle[(Integer A)] degrees
                Set TC_Distance[(Integer A)] = (TC_Distance[(Integer A)] - 12.00)
                Specialeffect - Create a special effect at TC_MoveLocation[(Integer A)] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                Specialeffect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_TC_UnitsLocation[GetForLoopIndexA()])
                Custom script:   call RemoveLocation(udg_TC_MoveLocation[GetForLoopIndexA()])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    'IF'-Conditions
                        TC_Distance[(Integer A)] smaller equal 0.00
                    'THEN'-Actions
                        Set TC_Count = (TC_Count + 1)
                    'ELSE'-Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            'IF'-Conditions
                TC_Count Greater equal TC_NumberOfUnits
            'THEN'-Actions
                Set TC_Count = 0
                Unit-Group - Remove all units from TC_Group[2]
                Custom script:   call DestroyGroup(udg_TC_Group[2])
                Custom script:   call RemoveLocation(udg_TC_CasterLocation)
                Trigger - Turn off (This trigger)
            'ELSE'-Action

*Edit* Fixed a Leak, and added Implementation Instuctions ^^
 

Attachments

  • TerraCrushByHatebreeder.w3x
    58.3 KB · Views: 619
looks pretty nice from the screenshot, you may wanna add a ! after the damage figure, just to make it look nice ^^

off-topic: lol, you changed your avatar back to the crazy zoom-in thingy ^^

Zoom-in thingy FTW !! :D
You know whats funny?
TrollVottel knows that I don't have leaks without even looking at the Map (Well, no one has Downloaded it yet) xD
 
Post code.

Code:
Terra Crush Init
    Event
        Unit - A unit starts the effect of an Ability
    Condition
        (Ability being cast) Equal Terra Crush 
    Actions
        Custom script:   set udg_TC_Group[2] = CreateGroup()
        Set TC_Caster = (Casting unit)
        Set TC_CasterLocation = (Position of TC_Caster)
        Specialeffect - Create a special effect at TC_CasterLocation using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
        Specialeffect - Destroy (Last created special effect)
        Set TC_NumberOfUnits = (Number of units in (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is a Structure) Equal to False) and ((((Matching unit) is Immun against Magic) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_Group[2] Equal to false)))))
        For each (Integer A) from 1 to TC_NumberOfUnits, do (Actions)
            Loop - Actions
                Set TC_Group[1] = (Random 1 units from (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is a Structure) Equal to False) and ((((Matching unit) is Immun against Magic) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_Group[2] Equal to false))))
                Einheitengruppe - Pick every unit in TC_Group[1] and do (Actions)
                    Loop - Actions
                        Set TC_Units[(Integer A)] = (Picked unit)
                        Set TC_UnitsLocation[(Integer A)] = (Position of TC_Units[(Integer A)])
                        Set TC_Angle[(Integer A)] = (Angle from TC_CasterLocation to TC_UnitsLocation[(Integer A)])
                        Set TC_Distance[(Integer A)] = 300.00
                        Unit-Group - Add TC_Units[(Integer A)] to TC_Group[2]
                        Unit - Cause TC_Caster to damage TC_Units[(Integer A)], dealing ((3.00 x (Real((Level of Terra Crush  for TC_Caster)))) x (Real((Kraft of TC_Caster (Including bonuses))))) damage of attack type Held and damage type Normal
                        Floating Text - Create floating text that reads (String(((3 x (Level of Terra Crush  for TC_Caster)) x (Kraft of TC_Caster (Including bonuses))))) at TC_UnitsLocation[(Integer A)] with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                        Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                        Floating Text - Change (Last created floating text): Deaktivieren permanence
                        Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds
                        Floating Text - Change the fading age of (Last created floating text) to 4.00 seconds
                        Custom script:   call RemoveLocation(udg_TC_UnitsLocation[GetForLoopIndexA()])
                Custom script:   call DestroyGroup(udg_TC_Group[1])
                Trigger - Turn on Terra Crush Effect <gen>
Code:
Terra Crush Effect
    Event
        Zeit - Every 0.03 seconds of game time
    Condition
    Action
        For each (Integer A) from 1 to TC_NumberOfUnits, do (Actions)
            Loop - Actions
                Set TC_UnitsLocation[(Integer A)] = (Position of TC_Units[(Integer A)])
                Set TC_MoveLocation[(Integer A)] = (TC_UnitsLocation[(Integer A)] offset by 12.00 towards TC_Angle[(Integer A)] degrees)
                Unit - Move TC_Units[(Integer A)] instantly to TC_MoveLocation[(Integer A)], facing TC_Angle[(Integer A)] degrees
                Set TC_Distance[(Integer A)] = (TC_Distance[(Integer A)] - 12.00)
                Specialeffect - Create a special effect at TC_MoveLocation[(Integer A)] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                Specialeffect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_TC_UnitsLocation[GetForLoopIndexA()])
                Custom script:   call RemoveLocation(udg_TC_MoveLocation[GetForLoopIndexA()])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    'IF'-Conditions
                        TC_Distance[(Integer A)] smaller equal 0.00
                    'THEN'-Actions
                        Set TC_Count = (TC_Count + 1)
                    'ELSE'-Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            'IF'-Conditions
                TC_Count Greater equal TC_NumberOfUnits
            'THEN'-Actions
                Set TC_Count = 0
                Unit-Group - Remove all units from TC_Group[2]
                Custom script:   call DestroyGroup(udg_TC_Group[2])
                Custom script:   call RemoveLocation(udg_TC_CasterLocation)
                Trigger - Turn off (This trigger)
            'ELSE'-Action

Damn, took me 45 minutes to translate all >.<
Arman, you owe me 45 minutes of your Life.
 
Code:
Terra Crush Init
    Event
        Unit - A unit starts the effect of an Ability
    Condition
        (Ability being cast) Equal Terra Crush 
    Actions
        Custom script:   set udg_TC_Group[2] = CreateGroup()
        Set TC_Caster = (Casting unit)
        Set TC_CasterLocation = (Position of TC_Caster)
        Specialeffect - Create a special effect at TC_CasterLocation using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
        Specialeffect - Destroy (Last created special effect)
        Set TC_NumberOfUnits = (Number of units in (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is a Structure) Equal to False) and ((((Matching unit) is Immun against Magic) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_Group[2] Equal to false)))))
        For each (Integer A) from 1 to TC_NumberOfUnits, do (Actions)
            Loop - Actions
                Set TC_Group[1] = (Random 1 units from (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is a Structure) Equal to False) and ((((Matching unit) is Immun against Magic) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_Group[2] Equal to false))))
                Einheitengruppe - Pick every unit in TC_Group[1] and do (Actions)
                    Loop - Actions
                        Set TC_Units[(Integer A)] = (Picked unit)
                        Set TC_UnitsLocation[(Integer A)] = (Position of TC_Units[(Integer A)])
                        Set TC_Angle[(Integer A)] = (Angle from TC_CasterLocation to TC_UnitsLocation[(Integer A)])
                        Set TC_Distance[(Integer A)] = 300.00
                        Unit-Group - Add TC_Units[(Integer A)] to TC_Group[2]
                        Unit - Cause TC_Caster to damage TC_Units[(Integer A)], dealing ((3.00 x (Real((Level of Terra Crush  for TC_Caster)))) x (Real((Kraft of TC_Caster (Including bonuses))))) damage of attack type Held and damage type Normal
                        Floating Text - Create floating text that reads (String(((3 x (Level of Terra Crush  for TC_Caster)) x (Kraft of TC_Caster (Including bonuses))))) at TC_UnitsLocation[(Integer A)] with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                        Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                        Floating Text - Change (Last created floating text): Deaktivieren permanence
                        Floating Text - Change the lifespan of (Last created floating text) to 5.00 seconds
                        Floating Text - Change the fading age of (Last created floating text) to 4.00 seconds
                        Custom script:   call RemoveLocation(udg_TC_UnitsLocation[GetForLoopIndexA()])
                Custom script:   call DestroyGroup(udg_TC_Group[1])
                Trigger - Turn on Terra Crush Effect <gen>
Code:
Terra Crush Effect
    Event
        Zeit - Every 0.03 seconds of game time
    Condition
    Action
        For each (Integer A) from 1 to TC_NumberOfUnits, do (Actions)
            Loop - Actions
                Set TC_UnitsLocation[(Integer A)] = (Position of TC_Units[(Integer A)])
                Set TC_MoveLocation[(Integer A)] = (TC_UnitsLocation[(Integer A)] offset by 12.00 towards TC_Angle[(Integer A)] degrees)
                Unit - Move TC_Units[(Integer A)] instantly to TC_MoveLocation[(Integer A)], facing TC_Angle[(Integer A)] degrees
                Set TC_Distance[(Integer A)] = (TC_Distance[(Integer A)] - 12.00)
                Specialeffect - Create a special effect at TC_MoveLocation[(Integer A)] using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
                Specialeffect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_TC_UnitsLocation[GetForLoopIndexA()])
                Custom script:   call RemoveLocation(udg_TC_MoveLocation[GetForLoopIndexA()])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    'IF'-Conditions
                        TC_Distance[(Integer A)] smaller equal 0.00
                    'THEN'-Actions
                        Set TC_Count = (TC_Count + 1)
                    'ELSE'-Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            'IF'-Conditions
                TC_Count Greater equal TC_NumberOfUnits
            'THEN'-Actions
                Set TC_Count = 0
                Unit-Group - Remove all units from TC_Group[2]
                Custom script:   call DestroyGroup(udg_TC_Group[2])
                Custom script:   call RemoveLocation(udg_TC_CasterLocation)
                Trigger - Turn off (This trigger)
            'ELSE'-Action

Damn, took me 45 minutes to translate all >.<
Arman, you owe me 45 minutes of your Life.

You misspelled my name and you could of just posted it in your native language.
 
>You misspelled my name and you could of just posted it in your native language.
err aRman? it IS english.... look for the code before posting crap, there are only 2-4 words in german left, use a translator ^^
 
read what anman said properly ^^ ill assume that he thought hatebreeder's native language is german

you could of just posted it in your native language.

btw, LOL at the !. did you Paint those in?

also, if you copy-pasted that into google translator (in the german form obviously) would it translate it all, considering all the spaces and stuff ^^
 
read what anman said properly ^^ ill assume that he thought hatebreeder's native language is german



btw, LOL at the !. did you Paint those in?

also, if you copy-pasted that into google translator (in the german form obviously) would it translate it all, considering all the spaces and stuff ^^

Yes I did do it by Paint xD :D Should be a small Gag :)
Well, I had o translate it, or else no one would understand shit what is written in there (Yes, some Words were so messed up, because TH doesn't have specific letters)

PS: Google translator sucks.
 
> and ((((Matching unit) is Immun against Magic)
=>
and ((((Matching unit) is Magic Immune)

> Deaktivieren permanence
=>
Disable permanence?

> Zeit - Every 0.03 seconds of game time
=>
Time - Every 0.03 seconds of game time
;)
 
This is not MUI by the way. The trigger is turned on and off.

To make it MUI make it in JASS.
 
You have no importing instructions, this spell will not be approved until you write them.
 
There is a leak in your spell:

Code:
Set TC_NumberOfUnits = (Number of units in (Units within 225.00 of TC_CasterLocation matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is in TC_G

You got a unit group leak there. I didn't find any other leaks, so once you fix this one and write importing instructions the spell will be approved.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good

      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