• 🏆 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!

Fiery earth

Status
Not open for further replies.
Level 2
Joined
Jun 2, 2008
Messages
15
I have worked on thid abillithy for a hile and dont know why this effect wont go away... anyone that can help?

JASS:
function Trig_Dummies_custom_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A02C' ) ) then
        return false
    endif
    return true
endfunction

function Trig_Dummies_custom_Actions takes nothing returns nothing
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 256, 0), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 256, 90.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 256, 180.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 256, 270.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 236.00, 20.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 236.00, 110.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 236.00, 200.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 236.00, 290.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 216.00, 40.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 216.00, 130.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 216.00, 220.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 216.00, 310.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 196.00, 60.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 196.00, 150.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 196.00, 240.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 196.00, 330.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 176.00, 80.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 176.00, 170.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 176.00, 260.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 176.00, 350.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 156.00, 100.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 156.00, 190.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 156.00, 280.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 156.00, 370.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 136.00, 120.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 136.00, 210.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 136.00, 300.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 136.00, 390.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
       call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
            call TriggerSleepAction( 0.01)
      call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 116, 140.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 116, 230.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 116, 320.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 116, 410.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 96.00, 160.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 96.00, 250.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 96.00, 340.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 96.00, 430.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 76.00, 180.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 76.00, 270.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 76.00, 360.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 76.00, 450.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 56.00, 200.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 56.00, 290.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 56.00, 380.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 56.00, 470.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 36.00, 220.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 36.00, 310.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 36.00, 400.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 36.00, 490.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 16.00, 240.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 16.00, 330.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy2 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 16.00, 420.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy3 = GetLastCreatedEffectBJ()
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 16.00, 510.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy4 = GetLastCreatedEffectBJ()
        call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
    call DestroyEffectBJ( udg_abilithy2 )
    call DestroyEffectBJ( udg_abilithy3 )
    call DestroyEffectBJ( udg_abilithy4 )
        call TriggerSleepAction( 0.01)
    call AddSpecialEffectLocBJ( PolarProjectionBJ(GetSpellTargetLoc(), 0.00, 0.00), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_abilithy1 = GetLastCreatedEffectBJ()
       call TriggerSleepAction( 0.50 )
    call DestroyEffectBJ( udg_abilithy1 )
endfunction

//===========================================================================
function InitTrig_Dummies_custom takes nothing returns nothing
    set gg_trg_Dummies_custom = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Dummies_custom, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Dummies_custom, Condition( function Trig_Dummies_custom_Conditions ) )
    call TriggerAddAction( gg_trg_Dummies_custom, function Trig_Dummies_custom_Actions )
endfunction
 
Last edited by a moderator:
Level 12
Joined
Apr 27, 2008
Messages
1,228
I cannot allow this :D
It is just so much code.
JASS:
function Trig_Dummies_custom_Conditions takes nothing returns boolean

    return GetSpellAbilityId() == 'A02C' 
endfunction

function Trig_Dummies_custom_Actions takes nothing returns nothing
    local effect array q
    local integer i=0
    local integer b
    local location array a
    set a[4]=GetSpellTargetLoc()
    loop
    exitwhen i==13
        set b=0
        loop
        exitwhen b==4    
            set a[b]=Location(GetLocationX(a[4]) + (256-20*i) * Cos(b*90 * bj_DEGTORAD), GetLocationY(a[4]) + (256-20*i) * Sin(b*90 * bj_DEGTORAD))
            set q[b]=AddSpecialEffectLoc("Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl", a[b])
            call RemoveLocation(a[b])
            set b=b+1
        endloop
        call PolledWait(0.5)
        set b=0
        loop
        exitwhen b==4
            call DestroyEffect(q[b])
            set b=b+1
        endloop
        set i=i+1
    endloop
    set q[0]=AddSpecialEffectLoc("Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl", a[4])
    call RemoveLocation(a[4])
    call PolledWait(0.5)
    call DestroyEffect( q[0] )
    set b=0
    loop
    exitwhen b==5
       set a[b]=null
       set q[b]=null
       set b=b+1
    endloop
endfunction

//===========================================================================
function InitTrig_Dummies_custom takes nothing returns nothing
    set gg_trg_Dummies_custom = CreateTrigger( )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Dummies_custom, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Dummies_custom, Condition( function Trig_Dummies_custom_Conditions) )
    call TriggerAddAction( gg_trg_Dummies_custom, function Trig_Dummies_custom_Actions )
endfunction

Used arrays to minimize code length, but I am not quite sure how local arrays are supposed to be used/nulled.
Used Polled Wait as it is better than trigger sleep actions and I doubt you would use timers and an attachment system.
Now the spell is MUI
P.s. It turned out looking nice(the animation - like a slow moving(burning) fire)
 

Attachments

  • testche.w3x
    17.1 KB · Views: 52
Level 12
Joined
Apr 27, 2008
Messages
1,228
Replace the line where you create the special effect with this one.
JASS:
set a[b]=Location(GetLocationX(a[4]) + (256-20*i) * Cos((b*90+20*i) * bj_DEGTORAD), GetLocationY(a[4]) + (256-20*i) * Sin((b*90+20*i) * bj_DEGTORAD))
This will make the flames go in a spiral like motion.
If you want just a circle than:
JASS:
set a[b]=Location(GetLocationX(a[4]) + (256) * Cos((b*90+20*i) * bj_DEGTORAD), GetLocationY(a[4]) + (256) * Sin((b*90+20*i) * bj_DEGTORAD))
P.s. You never said what you wanted, I just made what your code did.
 
Status
Not open for further replies.
Top