Island Defense
February 08, 2012, 12:53:49 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Latest version:  3.0.6G4, 3.0.8d
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Spell Contest #1 - Submissions  (Read 1505 times)
0 Members and 1 Guest are viewing this topic.
AoW_Hun7312
Spearloc
***

Karma: +9/-16
Posts: 205


Warcraft III Map Maker


View Profile
« on: January 15, 2009, 10:17:01 PM »

Please post your spell contest entry here. You may edit your entry as many times as you like.

Any submission/edit after the date Thursday, January 29th 2009 will NOT be accepted and counted invalid.
« Last Edit: January 15, 2009, 10:23:36 PM by AoW_Hun7312 » Logged
Revengez
Titanious Minion
*****

Karma: +26/-42
Posts: 694


Krabs krabs krabs krabs


View Profile Email
« Reply #1 on: January 16, 2009, 05:31:57 PM »

Here's my spell.
Logged


Why you want to join: I'm already in, I want shammie! I have IslandDer, Mayhem, and Kaiten to vouche for me. Revengez will only vouche for some girl named 'kinky katie'. Working on icon right now, almost there.
Revengez
Titanious Minion
*****

Karma: +26/-42
Posts: 694


Krabs krabs krabs krabs


View Profile Email
« Reply #2 on: January 16, 2009, 05:45:02 PM »

Here's my spell.

You've used imports. You may want to reconsider.  Smiley

Imports?

ok one second.

Check the Guidelines/Scoring please.
Logged


Why you want to join: I'm already in, I want shammie! I have IslandDer, Mayhem, and Kaiten to vouche for me. Revengez will only vouche for some girl named 'kinky katie'. Working on icon right now, almost there.
AoW_Hun7312
Spearloc
***

Karma: +9/-16
Posts: 205


Warcraft III Map Maker


View Profile
« Reply #3 on: January 16, 2009, 08:00:18 PM »

Launch of Darkness




  • MUI
  • MPI
  • Leakless
  • Darkness

EDIT: Updated
« Last Edit: January 17, 2009, 12:56:15 AM by AoW_Hun7312 » Logged
AoW_Hun7312
Spearloc
***

Karma: +9/-16
Posts: 205


Warcraft III Map Maker


View Profile
« Reply #4 on: January 16, 2009, 08:53:50 PM »

Was there a point in lieing about your spell?

Lieing?  Roll Eyes

"O HOW DOES LAZERZ DARKNESS SOUND WHERE DUDE BUCKZ OTHER NIGA IN AIR AND OWNZ HIM"

lo

Did you actually test it?  Wink
Logged
Revengez
Titanious Minion
*****

Karma: +26/-42
Posts: 694


Krabs krabs krabs krabs


View Profile Email
« Reply #5 on: January 16, 2009, 09:00:11 PM »

Was there a point in lieing about your spell?

Lieing?  Roll Eyes

"O HOW DOES LAZERZ DARKNESS SOUND WHERE DUDE BUCKZ OTHER NIGA IN AIR AND OWNZ HIM"

lo

Did you actually test it?  Wink

It's some darkwave thing that takes over units.
Logged


Why you want to join: I'm already in, I want shammie! I have IslandDer, Mayhem, and Kaiten to vouche for me. Revengez will only vouche for some girl named 'kinky katie'. Working on icon right now, almost there.
AoW_Hun7312
Spearloc
***

Karma: +9/-16
Posts: 205


Warcraft III Map Maker


View Profile
« Reply #6 on: January 16, 2009, 09:00:53 PM »

Was there a point in lieing about your spell?

Lieing?  Roll Eyes

"O HOW DOES LAZERZ DARKNESS SOUND WHERE DUDE BUCKZ OTHER NIGA IN AIR AND OWNZ HIM"

lo

Did you actually test it?  Wink

It's some darkwave thing that takes over units.

Umm no...?
Logged
Revengez
Titanious Minion
*****

Karma: +26/-42
Posts: 694


Krabs krabs krabs krabs


View Profile Email
« Reply #7 on: January 16, 2009, 09:04:20 PM »

Was there a point in lieing about your spell?

Lieing?  Roll Eyes

"O HOW DOES LAZERZ DARKNESS SOUND WHERE DUDE BUCKZ OTHER NIGA IN AIR AND OWNZ HIM"

lo

Did you actually test it?  Wink

It's some darkwave thing that takes over units.

Umm no...?

It's a revenant that sends out waves of darkness that takes over enemy neutrals...
Logged


Why you want to join: I'm already in, I want shammie! I have IslandDer, Mayhem, and Kaiten to vouche for me. Revengez will only vouche for some girl named 'kinky katie'. Working on icon right now, almost there.
AoW_Hun7312
Spearloc
***

Karma: +9/-16
Posts: 205


Warcraft III Map Maker


View Profile
« Reply #8 on: January 16, 2009, 09:07:39 PM »

Was there a point in lieing about your spell?

Lieing?  Roll Eyes

"O HOW DOES LAZERZ DARKNESS SOUND WHERE DUDE BUCKZ OTHER NIGA IN AIR AND OWNZ HIM"

lo

Did you actually test it?  Wink

It's some darkwave thing that takes over units.

Umm no...?

It's a revenant that sends out waves of darkness that takes over enemy neutrals...

That was the wrong spell. I edited it just now.
Logged
Revengez
Titanious Minion
*****

Karma: +26/-42
Posts: 694


Krabs krabs krabs krabs


View Profile Email
« Reply #9 on: January 16, 2009, 09:11:15 PM »

Was there a point in lieing about your spell?

Lieing?  Roll Eyes

"O HOW DOES LAZERZ DARKNESS SOUND WHERE DUDE BUCKZ OTHER NIGA IN AIR AND OWNZ HIM"

lo

Did you actually test it?  Wink

It's some darkwave thing that takes over units.

Umm no...?

It's a revenant that sends out waves of darkness that takes over enemy neutrals...

That was the wrong spell. I edited it just now.

It's buggy, and don't work.

Edit : It works, but when i use it once, it drops me to 0.1 fps.
« Last Edit: January 16, 2009, 09:14:13 PM by Revengez » Logged


Why you want to join: I'm already in, I want shammie! I have IslandDer, Mayhem, and Kaiten to vouche for me. Revengez will only vouche for some girl named 'kinky katie'. Working on icon right now, almost there.
Mikazuki
Worker


Karma: +2/-1
Posts: 31


View Profile Email
« Reply #10 on: January 25, 2009, 08:17:07 PM »

My spell's done.

Black Arrow

Fires a Black Arrow formed of dark magic at target point. The arrow gathers energy as it travels and pierces units, dealing damage and storing energy. When the arrow reaches the targetted point it will explode and deal damage in a 450 AoE equal to the energy stored by the arrow over time and through hitting units. The arrow will then return half the energy stored to the caster as health and then creates an area of concentrated death magic, dealing damage over 3 seconds equal to half the energy stored in the arrow. Energy gathered per second and damage dealt to pierced units is increased per level.
Level 1 - 45 pierce damage. 125 energy stored per second.
Level 2 - 70 pierce damage. 175 energy stored per second.
Level 3 - 95 pierce damage. 225 energy stored per second.
1400 casting range.
200 mana cost. 
75 second cooldown.

Basically, the spell fires an arrow at the targetted point. The arrow stores a little bit of energy every 0.02 seconds. As it touches enemy units, it deals some damage and stores that damage as additional energy. When it finally explodes, it will release all the energy stored so far by the arrow as damage. Then, that energy is halved. Half of the energy goes back to the caster as healing, while the other half is dealt to units in the AoE over 5 seconds as an AoE DoT effect like Death and Decay.

The trigger is over 350 lines long but it contains an easy-to-read list of global variables with comments. This makes it very easy to edit almost any part of the spell without changing it's nature.

This spell is
  • MUI
  • Leakless
  • Balanced (for AoS/Arena maps, it's an ultimate spell so it's quite powerful)
  • Nub-friendly to edit
  • Awesome

Enjoy!

Changelog
26th Jan - Posted spell.
26th Jan - Buffed pierce damage.
26th Jan - Added amount of energy stored each second to tooltip.
26th Jan - Reworked explosion to not store any energy by itself.
26th Jan - Lowered the amount of SFX in explosion to help reduce lag.
26th Jan - Shortened aftermath duration and reworked how SFX appear to help lower lag.
« Last Edit: January 26, 2009, 09:54:03 PM by Mikazuki » Logged
JayceJa
Spearloc
***

Karma: +15/-15
Posts: 335


An abrasive personality


View Profile Email
« Reply #11 on: January 25, 2009, 09:57:46 PM »

ive taken a look at them all and here is my opinion on them

dark launch is buggy, if no unit is near you it casts, costs mana and enters cooldown, but nothing happens, it should cancel and if you can, have a message "unable to cast with no nearby units" or something, and when you click the icon or hotkey, you cannot see your cursor to target with, it becomes invisible, apart from those issues its a pretty awesome skill

revenges skill is quite cool, but it has some issues when tossing a unit when surrounded by other units where it is delayed while spinning and doesnt toss propperly, you should probably remove the pathing of units being tossed or knockback foes hit by the moving unit
you also should have made it a channeling ability instead of pausing the unit if possible, and given the caster some sort of animation

as for black arrow, it works fine but the eyecandy on the explosion is too much, from 60 fps i get dropped to 20 which is unacceptable for most maps, the skill is also a bit to complicated in its effect, you should dumb it down just a little and give exact numbers
Logged

Zen1400
Beta Tester
Titan of the Abyss
*

Karma: +56/-58
Posts: 2255


View Profile Email
« Reply #12 on: January 25, 2009, 10:04:01 PM »

You didn't try revenge's skill about 5 times did you, after 5 or so casts the thing will be doing 1-5 fps.
Logged

I is pro


The Farmer
Mikazuki
Worker


Karma: +2/-1
Posts: 31


View Profile Email
« Reply #13 on: January 25, 2009, 10:44:11 PM »

Complexity all the way!

But the explosion effect lags? It didnt seem to for me O_o
Logged
JayceJa
Spearloc
***

Karma: +15/-15
Posts: 335


An abrasive personality


View Profile Email
« Reply #14 on: January 26, 2009, 12:32:05 AM »

You didn't try revenge's skill about 5 times did you, after 5 or so casts the thing will be doing 1-5 fps.
i didnt check the fps on revenges because i didnt notice the lag as much as on mikas, but i checked it again,
it does lag quite significantly, i was clocking around 45 fps while surrounded by felbeasts with no casts, and upon casting dropped to around 40, casting again dropped it to about 30, and then everytime i cast it it dropped back to around 20 before rising back to 30
____________________________________________________________________________________

Ok, success, i have managed to, by redoing most of the gui triggers, remake Hauntedv2, and it now should be both MPI and MUI compatible
Haunting Grounds: channeled ultimate
Channels powerful warding magic, Haunting any foe within 900 range, haunted foes are slowed by 20%, 3 powerful demons haunt the area striking random haunted foes, dealing 150 unreduced damage and stunning for .5 seconds
Manacost:250
Cooldown:180

all units within 900 of the caster are also slowed 20% by a custom aura based off "slow aura(tornado)"

upon casting there is a .5 second wait, then the trigger takes a random unit within 900 of caster that has the haunted buff and creates a demon behind it, which is then ordered to attack a random unit within melee attack range with the haunted buff before it then is removed, then .25 seconds later the second demon does the same process, then .25 seconds later the third does, then it repeats from the .5 second wait at the start

everytime a demon attacks it deals 0-0 chaos damage with a 100% chance to bash for half a second dealing 0 bonus damage, a trigger then deals 150 damage to the attacked unit of attack type chaos, damage type universal

Triggers:
Code:
casting
    Events
        Unit - A unit Begins channeling an ability
    Conditions
        (Ability being cast) Equal to Haunt
    Actions
        Unit - Add haunting aura  to (Triggering unit)
        Unit - Add sfx (0) to (Triggering unit)
        Unit - Add sfx (1) to (Triggering unit)
        Unit - Add sfx (2) to (Triggering unit)
        Unit - Add sfx (3) to (Triggering unit)
        Unit - Add sfx (4) to (Triggering unit)
        Unit - Add sfx (5) to (Triggering unit)

cancelling
    Events
        Unit - A unit Stops casting an ability
        Unit - A unit Finishes casting an ability
    Conditions
        (Ability being cast) Equal to Haunt
    Actions
        Unit - Remove haunting aura  from (Triggering unit)
        Unit - Remove sfx (0) from (Triggering unit)
        Unit - Remove sfx (1) from (Triggering unit)
        Unit - Remove sfx (2) from (Triggering unit)
        Unit - Remove sfx (3) from (Triggering unit)
        Unit - Remove sfx (4) from (Triggering unit)
        Unit - Remove sfx (5) from (Triggering unit)

initialisation
    Events
        Unit - A unit Begins channeling an ability
    Conditions
        (Ability being cast) Equal to Haunt
    Actions
        Wait 0.50 seconds
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Units within 900.00 of (Position of (Triggering unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))) is empty) Equal to True
            Then - Actions
                Do nothing
                Trigger - Run (This trigger) (checking conditions)
            Else - Actions
                Unit - Create 1 demon for (Owner of (Triggering unit)) at ((Position of (Random unit from (Units within 900.00 of (Position of (Triggering unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))))) offset by 75.00 facing (Facing of (Triggering unit)) degrees
                Unit - Order (Last created unit) to Attack Once (Random unit from (Units within 90.00 of (Position of (Last created unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))))
                Wait 0.25 seconds
                Unit - Create 1 demon for (Owner of (Triggering unit)) at ((Position of (Random unit from (Units within 900.00 of (Position of (Triggering unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))))) offset by 75.00 facing (Facing of (Triggering unit)) degrees
                Unit - Order (Last created unit) to Attack Once (Random unit from (Units within 100.00 of (Position of (Last created unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))))
                Wait 0.25 seconds
                Unit - Create 1 demon for (Owner of (Triggering unit)) at ((Position of (Random unit from (Units within 900.00 of (Position of (Triggering unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))))) offset by 75.00 facing (Facing of (Triggering unit)) degrees
                Unit - Order (Last created unit) to Attack Once (Random unit from (Units within 100.00 of (Position of (Last created unit)) matching ((((Matching unit) has buff Haunted ) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))))
                Wait 0.25 seconds
                Trigger - Run (This trigger) (checking conditions)

attack
    Events
        Unit - A unit Is attacked
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Unit-type of (Attacking unit)) Equal to demon
                (Unit-type of (Attacking unit)) Equal to demon
                (Unit-type of (Attacking unit)) Equal to demon
    Actions
        Unit - Add sfx (4) to (Attacked unit)
        Wait 0.50 seconds
        Unit - Cause (Attacking unit) to damage (Triggering unit), dealing 150.00 damage of attack type Chaos and damage type Universal
        Wait 0.25 seconds
        Unit - Remove (Attacking unit) from the game
        Wait 0.25 seconds
        Unit - Remove sfx (4) from (Triggering unit)

removal backup
    Events
        Unit - A unit enters Region 000 <gen>
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Unit-type of (Triggering unit)) Equal to demon
                (Unit-type of (Triggering unit)) Equal to demon
                (Unit-type of (Triggering unit)) Equal to demon
    Actions
        Wait 1.00 seconds
        Unit - Remove (Triggering unit) from the game

Implementation:

to implement this skill into the map you must copy or replace:
custom abilities:
sfx (0)
sfx (1)
sfx (2)
sfx (3)
sfx (4)
sfx (5)
these have no function, they just provide the special effects while casting

Haunting grounds(dummy channeling spell, i based off tranquility, but you don't have to)

haunting aura(aura that gives the passive effects to the enemies, can be based off any aura with any effect so long as it hits only enemies and marks them with the haunted buff so they can be targetted with the triggers)

buffs:
haunted(marks them so the trigger can target them)

effects:
haunt(based off tranquility(effect))
no function, just gives the special effect to casting

Units:
demon
demon
demon
(the 3 units that hit the enemies, they deal 0-0 damage, damage is done through triggers, but you can make them ranged etc. and give them passive abilities(bash in my version))
« Last Edit: January 27, 2009, 11:22:47 PM by fantasm » Logged

Gwypaas
Beta Tester
Titan Hunter
*

Karma: +13/-18
Posts: 579


View Profile
« Reply #15 on: January 29, 2009, 03:06:45 PM »

Ok here is mine: No CD since I rather test it alot but it's pretty balanced I belive.

This spell requries a NewGen WE and my Projectile System.

The code:
Code:
scope Spell initializer Init
globals
    private constant integer SPELL_ID = 'A000'
    private constant integer DUMMY_ID = 'h000'
    private constant real SLIDE_TOWARDS_SPEED = 12
    private constant integer INTERVALS_BETWEEN_ANIMS = 4
    private constant real TIMER_PERIOD = 0.02
endglobals

private constant function Damage takes integer lvl returns real
    return lvl * 100. - lvl * 25.
endfunction

private function SlidingTowardsUnitShadow takes Projectile pp returns Projectile
    local ShadowSpell p = pp
    set p.tx = GetUnitX(p.target)
    set p.ty = GetUnitY(p.target)
    set p.tz = GetUnitFlyHeight(p.target)
    set p.theta = p.GetTheta(p.tx,p.ty)
    set p.phi = p.GetPhi(p.tx,p.ty,p.tz)
   
    set p.ddone = p.ddone + p.rho
    if p.ddone >= p.tdist * 0.5 then
       
        set p.z = ParabolaZ(175,p.tdist * 0.5, p.iJump)
        set p.iJump = p.iJump + p.rho
       
        if p.rhodone == false then
            set p.rhodone = true
            set p.rho = p.rho * 1.2
        endif
       
        if p.ddone >= p.tdist * 0.90 and p.adone == false then
            call SetUnitAnimation( p.u, "attack" )
            set p.adone = true
        endif
       
        if p.ddone >= p.tdist then
            set p.end = true
            call SetUnitVertexColor(p.u,255,255,255, 255)
        endif
    endif
    return p
endfunction

struct ShadowSpell extends SlideTowardsUnit
    integer nn
    real ddone
    real tdist
    boolean adone
    boolean rhodone
    real iJump
   
    method SlideTowardsUnitShadow takes unit target, real speed returns nothing
        local real x = GetUnitX(target)
        local real y = GetUnitY(target)
        local real z = GetUnitFlyHeight(target)
        set .siusf = USF.SlidingTowardsUnitShadow
        set .target = target
       
        set .rho = speed
        set .theta = .GetTheta(x,y)
        set .phi = .GetPhi(x,y,z)
        set .distLeft = .GetDistance(x,y,z)
       
        set .ddone = 0
        set .tdist = .distLeft
        set .iJump = 0
        set .adone = false
        set .rhodone = false
       
        set .tx = x
        set .ty = y
        set .tz = z
       

        set .nn = 0
       
   
        call SetUnitVertexColor(.u, 75, 75, 75, 150)
       
       
         
        call .Start()
    endmethod
   
    method onDestroy takes nothing returns nothing
        set .target = null
    endmethod
endstruct

private function OnReach takes Projectile pp returns Projectile
    local ShadowSpell p = pp
    call UnitDamageTarget(p.u, p.target, Damage(GetUnitAbilityLevel(p.u, SPELL_ID)), false, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNIVERSAL, WEAPON_TYPE_WHOKNOWS)
   
    return p
endfunction

function OnInterval takes Projectile pp returns Projectile
    local ShadowSpell p = pp
    set p.nn = p.nn +1
    if p.nn == INTERVALS_BETWEEN_ANIMS and GetUnitTypeId(p.u) != DUMMY_ID then
        call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", GetUnitX(p.u), GetUnitY(p.u)))
        set p.nn = 0
    endif
    return p
endfunction

private function Act takes nothing returns nothing
    local unit u = GetTriggerUnit()
    local unit t = GetSpellTargetUnit()
    local ShadowSpell s = ShadowSpell.createEx(u, false , USF.OnInterval, USF.OnReach)

    call s.SlideTowardsUnitShadow(t, SLIDE_TOWARDS_SPEED)
   
   
    set t = null
    set u = null
endfunction

private function Cond takes nothing returns boolean
    return GetSpellAbilityId() == SPELL_ID
endfunction


private function Init takes nothing returns nothing
    local trigger Trig = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(Trig, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(Trig, Condition(function Cond))
    call TriggerAddAction(Trig, function Act)
endfunction
endscope]/code]
Logged

Gone

AoW_Hun7312
Spearloc
***

Karma: +9/-16
Posts: 205


Warcraft III Map Maker


View Profile
« Reply #16 on: January 29, 2009, 07:34:22 PM »

Ok here is mine: No CD since I rather test it alot but it's pretty balanced I belive.

This spell requries a NewGen WE and my Projectile System.

The code:
Code:
scope Spell initializer Init
globals
    private constant integer SPELL_ID = 'A000'
    private constant integer DUMMY_ID = 'h000'
    private constant real SLIDE_TOWARDS_SPEED = 12
    private constant integer INTERVALS_BETWEEN_ANIMS = 4
    private constant real TIMER_PERIOD = 0.02
endglobals

private constant function Damage takes integer lvl returns real
    return lvl * 100. - lvl * 25.
endfunction

private function SlidingTowardsUnitShadow takes Projectile pp returns Projectile
    local ShadowSpell p = pp
    set p.tx = GetUnitX(p.target)
    set p.ty = GetUnitY(p.target)
    set p.tz = GetUnitFlyHeight(p.target)
    set p.theta = p.GetTheta(p.tx,p.ty)
    set p.phi = p.GetPhi(p.tx,p.ty,p.tz)
   
    set p.ddone = p.ddone + p.rho
    if p.ddone >= p.tdist * 0.5 then
       
        set p.z = ParabolaZ(175,p.tdist * 0.5, p.iJump)
        set p.iJump = p.iJump + p.rho
       
        if p.rhodone == false then
            set p.rhodone = true
            set p.rho = p.rho * 1.2
        endif
       
        if p.ddone >= p.tdist * 0.90 and p.adone == false then
            call SetUnitAnimation( p.u, "attack" )
            set p.adone = true
        endif
       
        if p.ddone >= p.tdist then
            set p.end = true
            call SetUnitVertexColor(p.u,255,255,255, 255)
        endif
    endif
    return p
endfunction

struct ShadowSpell extends SlideTowardsUnit
    integer nn
    real ddone
    real tdist
    boolean adone
    boolean rhodone
    real iJump
   
    method SlideTowardsUnitShadow takes unit target, real speed returns nothing
        local real x = GetUnitX(target)
        local real y = GetUnitY(target)
        local real z = GetUnitFlyHeight(target)
        set .siusf = USF.SlidingTowardsUnitShadow
        set .target = target
       
        set .rho = speed
        set .theta = .GetTheta(x,y)
        set .phi = .GetPhi(x,y,z)
        set .distLeft = .GetDistance(x,y,z)
       
        set .ddone = 0
        set .tdist = .distLeft
        set .iJump = 0
        set .adone = false
        set .rhodone = false
       
        set .tx = x
        set .ty = y
        set .tz = z
       

        set .nn = 0
       
   
        call SetUnitVertexColor(.u, 75, 75, 75, 150)
       
       
         
        call .Start()
    endmethod
   
    method onDestroy takes nothing returns nothing
        set .target = null
    endmethod
endstruct

private function OnReach takes Projectile pp returns Projectile
    local ShadowSpell p = pp
    call UnitDamageTarget(p.u, p.target, Damage(GetUnitAbilityLevel(p.u, SPELL_ID)), false, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNIVERSAL, WEAPON_TYPE_WHOKNOWS)
   
    return p
endfunction

function OnInterval takes Projectile pp returns Projectile
    local ShadowSpell p = pp
    set p.nn = p.nn +1
    if p.nn == INTERVALS_BETWEEN_ANIMS and GetUnitTypeId(p.u) != DUMMY_ID then
        call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", GetUnitX(p.u), GetUnitY(p.u)))
        set p.nn = 0
    endif
    return p
endfunction

private function Act takes nothing returns nothing
    local unit u = GetTriggerUnit()
    local unit t = GetSpellTargetUnit()
    local ShadowSpell s = ShadowSpell.createEx(u, false , USF.OnInterval, USF.OnReach)

    call s.SlideTowardsUnitShadow(t, SLIDE_TOWARDS_SPEED)
   
   
    set t = null
    set u = null
endfunction

private function Cond takes nothing returns boolean
    return GetSpellAbilityId() == SPELL_ID
endfunction


private function Init takes nothing returns nothing
    local trigger Trig = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(Trig, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(Trig, Condition(function Cond))
    call TriggerAddAction(Trig, function Act)
endfunction
endscope]/code]

The contest has been over for quite a while now. Sorry Gwypass   Undecided
Logged
VinniePaz
Guest
« Reply #17 on: January 29, 2009, 07:41:24 PM »

Hun fail
Logged
Darox
Controversial!
Administrator
Get a life
*****

Karma: +92/-51
Posts: 9001



View Profile Email
« Reply #18 on: January 29, 2009, 08:35:04 PM »

Apparantly I have to judge this stuff now.

It's on the list, right under "Kill 532,495 Zombies"
Logged

Quote from: BodyHammer
I HATE ALL MINORITIES.  WHITE POWER.  I ALSO BEAT WOMEN.
Yesterday my girlfriend pissed me off so I punched her.  Why did she piss me off so much?  She got snippy and was all like "You're a pedophile" so I got pissed and was like "Bitch, don't call me that, and how the hell do you even know that word?  You're only 8."

P.S.  Darox rocks.
Gwypaas
Beta Tester
Titan Hunter
*

Karma: +13/-18
Posts: 579


View Profile
« Reply #19 on: January 30, 2009, 05:24:17 AM »

The contest has been over for quite a while now. Sorry Gwypass   Undecided

Deadline:
Thursday, January 29th 2009
My post: « Reply #15 on: January 29, 2009, 03:06:45 PM »

Tell me how it was over, when you say "January 29th" and don't specify time then 99% of the people will think that it ends on 23:59 at the 29th, not when the 29th starts. Also, check your first post in this thread: Any submission/edit after the date Thursday, January 29th 2009 will NOT be accepted and counted invalid.

That means that you got the entire thursday to post your spell.

Or maybe it is that someone doesn't want competition.
« Last Edit: January 30, 2009, 05:35:58 AM by Gwypaas » Logged

Gone

JayceJa
Spearloc
***

Karma: +15/-15
Posts: 335


An abrasive personality


View Profile Email
« Reply #20 on: January 30, 2009, 05:44:51 AM »

also depends on timezone though, from here it says:

« Reply #15 on: Today at 05:06:45 »

i suppose darox should decide whether or not its accepted being the judge and all
Logged

Gwypaas
Beta Tester
Titan Hunter
*

Karma: +13/-18
Posts: 579


View Profile
« Reply #21 on: January 30, 2009, 05:56:30 AM »

My timezone is GMT + 1.
« Last Edit: January 30, 2009, 06:01:55 AM by Gwypaas » Logged

Gone

ClicketyClick
Banned
Titanious Minion
*****

Karma: +26/-94
Posts: 779


I have eaten your Abismals.


View Profile Email
« Reply #22 on: March 20, 2009, 05:22:19 PM »

What is China timezone?
Logged

PDBAZ!!!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.15 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!