• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

BotL Spells - Review

Status
Not open for further replies.
Level 22
Joined
Sep 24, 2005
Messages
4,821
Sorry dude!
122581-albums6867-picture76343.jpg
Okay dude, Sorry about that :D
 
Level 16
Joined
Jul 31, 2012
Messages
2,217
okay, wait notice me when you make a BotL Discussion ... : p

firstly, moderating BotL is mainly my thing... xD but if you want to discuss further more, no prob

secondly, lol my lips here are not Photoshopped xD

thirdly, lol again, i only kiss 2 people lol (i don't like to kiss people mainly)

and finally, STOP off topic
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
I haven't finished it yet, I'll pm both of you when I'm done. Don't worry it will be simple, it's not a serious one, just a spell I made for fun haha.
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
tooltip
Powerful spell capable of killing the caster.

JASS:
scope TrollYah initializer onInit

    globals
        
        private constant integer    ABILITY_ID      =   'AOwk'
        private constant string     EFFECT          =   "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"
        
    endglobals
    
    private function core takes nothing returns boolean
        local unit c=GetTriggerUnit()
        
        if (GetSpellAbilityId()==ABILITY_ID) then
        call AddSpecialEffect(EFFECT,GetUnitX(c),GetUnitY(c))
        call KillUnit(c)
        endif
        
        set c=null
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t=CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t,Filter(function core))
        // I will not set t to null, this ain't gonna be destroyed anyways.
    endfunction

endscope
 
Level 18
Joined
Sep 14, 2012
Messages
3,413
I would like it better like this :
JASS:
scope TrollYah initializer onInit

    globals
        
        private constant integer    ABILITY_ID      =   'AOwk'
        private constant string     EFFECT          =   "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"
        
    endglobals
    
    private function core takes nothing returns boolean
        local unit c
        
        if (GetSpellAbilityId()==ABILITY_ID) then
            set c = GetTriggerUnit()
            call AddSpecialEffect(EFFECT,GetUnitX(c),GetUnitY(c))
            //What about the effect ?
            //Why not :
            // call DestroyEffect(AddSpecialEffect(EFFECT,GetUnitX(c),GetUnitY(c)))
            call KillUnit(c)
            set c = null
        endif
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t=CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t,Filter(function core))
        // I will not set t to null, this ain't gonna be destroyed anyways.
    endfunction
endscope
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
No, I intended not to remove the effect. Lag would make the user think "hell, a lot of things must be going on the background when I cast this spell..."
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
Oh alright, going to fix that...

JASS:
scope TrollYah initializer onInit

    globals
        
        private constant integer    ABILITY_ID      =   'AOwk'
        private constant string     EFFECT          =   "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"
        
    endglobals
    
    private function core takes nothing returns boolean
        local unit c=GetTriggerUnit()
        
        if (GetSpellAbilityId()==ABILITY_ID) then
        // credits to Malhorne for making me remove the effect...
        call DestroyEffect(AddSpecialEffect(EFFECT,GetUnitX(c),GetUnitY(c)))
        call KillUnit(c)
        endif
        
        set c=null
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t=CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t,Filter(function core))
        // I will not set t to null, this ain't gonna be destroyed anyways.
    endfunction

endscope
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
Okay will do!

JASS:
scope TrollYah initializer onInit

    globals
        
        private constant integer    ABILITY_ID      =   'AOwk'
        private constant string     EFFECT          =   "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"
        
    endglobals
    
    private function core takes nothing returns boolean
        local unit c
        
        // Credits to Malhorne, for overall optimization
        if (GetSpellAbilityId()==ABILITY_ID) then
            set c=GetTriggerUnit()
            call DestroyEffect(AddSpecialEffect(EFFECT,GetUnitX(c),GetUnitY(c)))
            call KillUnit(c)
            set c=null
        endif
        
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t=CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t,Filter(function core))
        // I will not set t to null, this ain't gonna be destroyed anyways.
    endfunction

endscope
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
Mindless Slaughter™, a map where you don't get to buy items, you just kill swarms of enemy units, that spell over there is the suicide skill. It ends the game, coz you can't die normally, since your hero will have 'Avul'.
 
Level 18
Joined
Sep 14, 2012
Messages
3,413
Oh sorry to be a bit dephased xD
I forgot to told you this chobibo :
JASS:
scope TrollYah initializer onInit

    globals
        
        private constant integer    ABILITY_ID      =   'AOwk'
        private constant string     EFFECT          =   "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"
        
    endglobals
    
    private function core takes nothing returns boolean
        local unit c
        
        // Credits to Malhorne, for overall optimization
        if (GetSpellAbilityId()==ABILITY_ID) then
            set c=GetTriggerUnit()
            call DestroyEffect(AddSpecialEffect(EFFECT,GetUnitX(c),GetUnitY(c)))
            call KillUnit(c)
            set c=null
        endif
        
        return false
    endfunction
    
    private function onInit takes nothing returns nothing
        local trigger t=CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t,Filter(function core))
        //Preloading effects to avoid lags :)
        call Preload(EFFECT)
        // I will not set t to null, this ain't gonna be destroyed anyways.
    endfunction

endscope
 
Status
Not open for further replies.
Top