Spell Earth Spikes

D

dadads

Guest
This was my submission for the recent Nature Spells contest (I won the contest).
I thereby share my spell, hoping that someone else would like it.

To import this spell, you will need:
- 2 required custom-text triggers, refer to the sample map to see what they should look like.
- 4 required generic functions (H2I, H2S, I2U, I2L) to exist in your custom text header. Check the sample map to see the function declarations.
- A global Game Cache variable called "Cache".
- 1 dummy ability with a single-unit target. In the sample map, I used an edited Channel ability.
- 2 dummy units. 1 for the rocks, and the other one for the spikes. Refer to the sample map to see what their settings should look like.

BTNEarthSpikes.jpg

EARTH SPIKES
Spawns rock pillars from beneath the earth that traps and impales an enemy with spikes that protrude from within the pillars.

Each rock deals 50 piercing damage.
Traps the target for 3 seconds.

Level 1 - Spawns 4 rock pillars, 800 range from the enemy
Level 2 - Spawns 8 rock pillars, 500 range from the enemy
Level 3 - Spawns 12 rock pillars, 200 range from the enemy

This spell might fail if the targeted enemy does not stay within 100 range of its original position

Features:
- Simple sound effects
- Multi-instancability
- Does not require any pre-made cache system (vexorian, cscache, katanna, etc), all functions made from scratch.
- Spell not affected by terraining/surrounding objects

So here's how it works:
1. Rocks will spawn on a certain range from the target enemy.
2. The rocks will move towards the enemy location, 0.75 seconds after they spawn
3. If the enemy moves more than 100 range from his original position or dies before the rocks reach him, the spell will fail and the rocks disintegrate. This weakness is deliberately made so that this spell won't be unrealistically imbalanced.
4. If the rocks successfully "catch" the enemy, it will then trap (pause) him inside it and damage him with spikes.
5. Rocks and spikes will disintegrate after 3 seconds. During this time, if the target is still inside the rocks then he will be trapped in there until the rocks disintegrate. If the target somehow manages to get out of the rock during this time (e.g. through Mass Teleport / Nether Swap ability), he will then be "un-paused" and can move normally.

Things to note:
- This is not a channeling spell, but rather an instant-cast spell without casting time.
- This spell targets a single unit only, no area effects whatsoever.
- This is a physical spell, hits magic-immune units.
- This spell deals piercing damage

Spell in action:
Part1.jpg

part2.jpg

part3.jpg

part4.jpg

Part5.jpg


You can download the spell map in this topic's attachment.
 

Attachments

  • Earth Spikes Release.w3x
    62.8 KB · Views: 1,150

emjlr3

Change can be a good thing
Reaction score
395
great spell I approve Filip
 

SFilip

Gone but not forgotten
Reaction score
633
Very nice Effect, great spell :)
Though I'd rather make it AOE, with dragging all nearby units...just an idea :p

Anyway approved, but two things you should know about:
Code:
function ES_ActionTimerCallback takes nothing returns nothing
    call ES_RockActions(GetExpiredTimer())
endfunction
Why not just put all everything here instead of doing another function call?

And your initialization...
Code:
function Trig_Game_cache_initialization_Actions takes nothing returns nothing
    call FlushGameCache(InitGameCache("testmap"))
    set udg_Cache = InitGameCache("testmap")
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

function InitTrig_Initialization takes nothing returns nothing
    set gg_trg_Initialization = CreateTrigger()
    call TriggerAddAction(gg_trg_Initialization, function Trig_Game_cache_initialization_Actions)
endfunction
could be
Code:
function MapInit takes nothing returns nothing
    call FlushGameCache(InitGameCache("testmap"))
    set udg_Cache = InitGameCache("testmap")
endfunction

function InitTrig_Initialization takes nothing returns nothing
    call ExecuteFunc("MapInit")
endfunction
or even
Code:
function InitTrig_Initialization takes nothing returns nothing
    call FlushGameCache(InitGameCache("testmap"))
    set udg_Cache = InitGameCache("testmap")
endfunction
The solution with ExecuteFunc is better if you have more things to do though. And you don't need to check "Run on Map Initialization" this way.
 
D

Dark Echo

Guest
Mate that was a really cool spell.. I love the way it looks seriously.. It just looks so awesome.. Great work mate.. ;)
 
D

dadads

Guest
Code:
ffunction InitTrig_Initialization takes nothing returns nothing
    call FlushGameCache(InitGameCache("testmap"))
    set udg_Cache = InitGameCache("testmap")
endfunction
U have just successfully made me feel stupid!
O.O + reps

And btw, I did "call ES_RockActions(GetExpiredTimer())" because I heard that it prevents some problems that come with nulling timers.
 

Fatmankev

Chef, Writer, and Midnight Toker
Reaction score
240
Wow

Gotta say, bud, that that is an incredible looking spell. Very well done, imo.
 
M

Mysecret

Guest
Just unbeliveably good! Thats a nice spell i gotta say and its not strange how it won. Great job!
 

swb90

New Member
Reaction score
7
ouch >.< i do not want to be the guy in the center lolz~ poor overlord. anyways is there a way that newbies like us can edit it to make it area effect? it seems more cool to be area effect ^^
 

PurgeandFire

zxcvmkgdfg
Reaction score
509
ouch >.< i do not want to be the guy in the center lolz~ poor overlord. anyways is there a way that newbies like us can edit it to make it area effect? it seems more cool to be area effect ^^

You have to learn JASS... Sorry, :p
 

Fegga5

New Member
Reaction score
4
Cant make it work!

I cant make this work! and I dont know what I'm doing wrong! :confused:
so plz tell me how to move this spell to another map and make it work, plz!
 

Akino_k

New Member
Reaction score
1
Units Involved

How'd you manage you pull the spikes out of spiked barricade and make it a unit?
 

Akino_k

New Member
Reaction score
1
Then, howd he put it into his spell? See, im not sure if this is the right place but, im trying to make a spell where i can have the triggering unit disappear and the targeted unit have those spikes come out of it and cause a bleeding effect
 

ayumilove

Youtube account suspended! youtube.com/ayumilove8
Reaction score
110
I don't understand this part
"4 required generic functions (H2I, H2S, I2U, I2L) to exist in your custom text header. Check the sample map to see the function declarations."

how do I add them in another map? <3

Edit
To import this spell, you will need:
- 2 required custom-text triggers, refer to the sample map to see what they should look like.
- 4 required generic functions (H2I, H2S, I2U, I2L) to exist in your custom text header. Check the sample map to see the function declarations.
- A global Game Cache variable called "Cache".
- 1 dummy ability with a single-unit target. In the sample map, I used an edited Channel ability.
- 2 dummy units. 1 for the rocks, and the other one for the spikes. Refer to the sample map to see what their settings should look like.

I done all of this, but when I cast the spell in-game
it does not appear? Why is it so???

I did not see any spikes or boulder protruding nor the enemy is being inflict with any damage
I used a damage detector, and it says -0 lol >_<
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top