HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Spell Contest 3 - Cabalist Combustion

05-12-2006, 09:09 PM#1
blu_da_noob
Cabalist Combustion
Sends a mystic force through the target which combusts mana and splits to other nearby units. Affected units are also slowed and silenced based on how much this force affects them.

Units in the chain lose mana and are silenced/slowed (or your spell of choice) for a duration (which can be based on how much mana was burned). The chain can also split, with lots of customisation possible. Number of bounces, splits and full graphical control. Includes a rough estimation function to get the Z height of flying units, for greater accuracy. Also fully multi-instancable.

Edit: Minor update to v1.
Edit: Major update, now complies with the JESP standard. Also, thanks to Bert for the tip on making GetUnitZ more efficient.
Attached Images
File type: jpgilold.jpg (88.0 KB)
Attached Files
File type: w3xCabalistCombustionJESP.w3x (71.9 KB)
05-12-2006, 10:05 PM#2
Daminon
Feels like costum lightnings are the new fad. Anyway a very good spell. Not designed for melee maps I think.
05-13-2006, 09:04 AM#3
BertTheJasser
Collapse JASS:
        set temp = Location(x-r,y)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x+r,y)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x,y-r)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x,y+r)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x+ra,y+ra)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x+ra,y-ra)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x-ra,y-ra)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x-ra,y+ra)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set temp = Location(x,y)
        set max = RMaxBJ(max,GetLocationZ(temp))
        call RemoveLocation(temp)
        set max = max + GetUnitFlyHeight(u)
That's lame. Just use
Collapse JASS:
function MoveLocation takes location loc,real xnew,real ynew
This pretends you of creating 10 locations and removing them again.
The description of "burning mana" is not correct in the actual sense it conveys, because the unit loses mana and does not take any damage by "burning".

And you do not need simerror. Just use an ability like manaburn or mindrote(I prefer this), which requires the target to have mana.
05-13-2006, 09:27 AM#4
blu_da_noob
MoveLocation should be more efficient, yes (never use locations except in situations like this when I had to, so I didn't even know it existed :/).

Quote:
The description of "burning mana" is not correct in the actual sense it conveys, because the unit loses mana and does not take any damage by "burning".

Dealt with this issue already. 'Burning' doesn't have to do damage. Everyone is just conditioned to think mana burn = damage because of the DH ability.

I also didn't use mana burn as a base because of the blue numbers that float up, if mindrot doesn't have those then it could be used.
05-16-2006, 07:59 PM#5
BertTheJasser
Mindroot is very usefull, if you wanna do spells that only can affect units with mana (so it actually does not show any numbers). Burning man ... oh well.
06-09-2006, 04:37 PM#6
blu_da_noob
Moved to JESP spells following update.