Spell Contest #3 | Theme: Icons | 18.03.09 - 04.04.09

Status
Not open for further replies.

Romek

Super Moderator
Reaction score
963
> Good, good. I hope Mr.Panda starts with it soon as well. Wish you luck everyone.
He's starting soon too. Was talking to him a while ago. :)
 

Romek

Super Moderator
Reaction score
963
Wow, that's some insane speed Andrew. :p

I did 3 in 1.5 hours. And I'm having a long break from it now. :)
 

Andrewgosu

The Silent Pandaren Helper
Reaction score
716
I think I am not that thorough as you are, but I try to. :D

For the sake of speed, I don't try to find every single error in the code.
 

simonake

New Member
Reaction score
72
Fire Call

The Other Thread Is closed so i'll post my spells here.

This spell is easy to learn, easy to set in your map , MUI, GUI, and lagless.
The spell call down fire from the sun and hurts the ground dealing damage.

-Variable
FireCall_DamageDealed Real
FireCall_Location Point (Array)
FireCall_LoopNumber Integer
FireCall_Radius Real
FireCall_RandomAngle Real
FireCall_TargetLocation Point

Here's the triggers.

Trigger:
  • FireCall
    • Events
      • Unit - A unit Start the effect of an ability
    • Conditions
      • (Ability being cast) Equal to_ Fire Call
    • Actions
      • Set FireCall_DamageDealed = (75.00 x (Real((Level of Fire Call for (Triggering unit)))))
      • Set FireCall_TargetPoint = (Target point of ability being cast)
      • Set FireCall_LoopNumber = (2 x (Level of Fire Call for (Triggering unit)))
      • If ((Level of Fire Call for (Triggering unit)) Equal to 1) then do (Set FireCall_Radius = 125.00) else do (Do nothing)
      • If ((Level of Fire Call for (Triggering unit)) Equal to_2) then do (Set FireCall_Radius = 100.00) else do (Do nothing)
      • If ((Level of Fire Call for (Triggering unit)) Equal to_3) then do (Set FireCall_Radius = 80.00) else do (Do nothing)
      • If ((Level of Fire Call for (Triggering unit)) Equal to 4) then do (Set FireCall_Radius = 60.00) else do (Do nothing)
      • If ((Level of Fire Call for (Triggering unit)) Equal to 5) then do (Set FireCall_Radius = 40.00) else do (Do nothing)
      • For each (Integer A) from 1 to FireCall_LoopNumber, do (Actions)
        • Loop - Actions
          • Set FireCall_RandomAngle = (Random real number between 0.01 and 360.00)
          • Set FireCall_Location[(Integer A)] = (FireCall_TargetPoint offset by (Random real number between -200.00 and 200.00) towards FireCall_RandomAngle degrees)
      • For each (Integer A) from 1 to FireCall_LoopNumber, do (Actions)
        • Loop - Actions
          • Special Effect - Create a special effect at FireCall_Location[(Integer A)] using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
          • Unit - Cause (Triggering unit) to damage circular area after 0.00 seconds of radius FireCall_Radius at FireCall_Location[(Integer A)], dealing FireCall_DamageDealed damage of attack type Spell and damage type Normal
      • For each (Integer A) from 1 to FireCall_LoopNumber, do (Actions)
        • Loop - Actions
          • Custom script: call RemoveLocation(udg_FireCall_Location[GetForLoopIndexA()])
      • Custom script: call RemoveLocation(udg_FireCall_TargetPoint)


Insert this in your map and it should work here the jass version

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

function Trig_FireCall_Func004001 takes nothing returns boolean
    return ( GetUnitAbilityLevelSwapped('A005', GetTriggerUnit()) == 1 )
endfunction

function Trig_FireCall_Func005001 takes nothing returns boolean
    return ( GetUnitAbilityLevelSwapped('A005', GetTriggerUnit()) == 2 )
endfunction

function Trig_FireCall_Func006001 takes nothing returns boolean
    return ( GetUnitAbilityLevelSwapped('A005', GetTriggerUnit()) == 3 )
endfunction

function Trig_FireCall_Func007001 takes nothing returns boolean
    return ( GetUnitAbilityLevelSwapped('A005', GetTriggerUnit()) == 4 )
endfunction

function Trig_FireCall_Func008001 takes nothing returns boolean
    return ( GetUnitAbilityLevelSwapped('A005', GetTriggerUnit()) == 5 )
endfunction

function Trig_FireCall_Actions takes nothing returns nothing
    set udg_FireCall_DamageDealed = ( 75.00 * I2R(GetUnitAbilityLevelSwapped('A005', GetTriggerUnit())) )
    set udg_FireCall_TargetPoint = GetSpellTargetLoc()
    set udg_FireCall_LoopNumber = ( 2 * GetUnitAbilityLevelSwapped('A005', GetTriggerUnit()) )
    if ( Trig_FireCall_Func004001() ) then
        set udg_FireCall_Radius = 125.00
    else
        call DoNothing(  )
    endif
    if ( Trig_FireCall_Func005001() ) then
        set udg_FireCall_Radius = 100.00
    else
        call DoNothing(  )
    endif
    if ( Trig_FireCall_Func006001() ) then
        set udg_FireCall_Radius = 80.00
    else
        call DoNothing(  )
    endif
    if ( Trig_FireCall_Func007001() ) then
        set udg_FireCall_Radius = 60.00
    else
        call DoNothing(  )
    endif
    if ( Trig_FireCall_Func008001() ) then
        set udg_FireCall_Radius = 40.00
    else
        call DoNothing(  )
    endif
    set bj_forLoopAIndex = 1
    set bj_forLoopAIndexEnd = udg_FireCall_LoopNumber
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        set udg_FireCall_RandomAngle = GetRandomReal(0.01, 360.00)
        set udg_FireCall_Location[GetForLoopIndexA()] = PolarProjectionBJ(udg_FireCall_TargetPoint, GetRandomReal(-200.00, 200.00), udg_FireCall_RandomAngle)
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    set bj_forLoopAIndex = 1
    set bj_forLoopAIndexEnd = udg_FireCall_LoopNumber
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        call AddSpecialEffectLocBJ( udg_FireCall_Location[GetForLoopIndexA()], "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl" )
        call UnitDamagePointLoc( GetTriggerUnit(), 0, udg_FireCall_Radius, udg_FireCall_Location[GetForLoopIndexA()], udg_FireCall_DamageDealed, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    set bj_forLoopAIndex = 1
    set bj_forLoopAIndexEnd = udg_FireCall_LoopNumber
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        call RemoveLocation(udg_FireCall_Location[GetForLoopIndexA()])
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    call RemoveLocation(udg_FireCall_TargetPoint)
endfunction

//===========================================================================
function InitTrig_FireCall takes nothing returns nothing
    set gg_trg_FireCall = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_FireCall, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_FireCall, Condition( function Trig_FireCall_Conditions ) )
    call TriggerAddAction( gg_trg_FireCall, function Trig_FireCall_Actions )
endfunction


Hope you enjoy!
Here demomap, links below. coldspell is the good map btw.
 

bOb666777

Stand against the ugly world domination face!
Reaction score
117
:banghead:
If it's closed, it's because the contest is finished...
They're grading atm.

Idk if they'll accept it...
 

Romek

Super Moderator
Reaction score
963
Indeed, we closed the other thread because the contest is now finished.
Your submission is not accepted. Next time, submit before the deadline.

Sorry!
 

Romek

Super Moderator
Reaction score
963
Your PM was about Tutorials in the Tutorials Repository. Nothing to do with this contest. o_O

Oh, he was 5 hours, 35 minutes late btw. :)
 

warden13

New Member
Reaction score
32
How is grading going? LOL. I grow impatient since there is not much submissions as the other contests. It isn't supposed to be fast? Anyway no problem for me I can wait. It is better than nothing. KKTHXBBQBAIBAI.
 

Romek

Super Moderator
Reaction score
963
Well, considering many contests don't even get graded, and other contests take months to grade, even 2 weeks is fast.
I've done 5. It's taken me about 3 hours in total.
So, 5/14 in 2 days.

So I should be done in about a week. Probably faster. :)
 

Andrewgosu

The Silent Pandaren Helper
Reaction score
716
Well, I've graded 9 out of 14, so 5 more to go.

Though, not planning to grade the rest today, because of personal matters.


Stay tuned!

(god, I love to say that)
 

Dinowc

don't expect anything, prepare for everything
Reaction score
223
I hope you wont be too tired for the next contest ;)

the easter holidays will be just perfect for me so I could join it :D

<3<3<3
 

bOb666777

Stand against the ugly world domination face!
Reaction score
117
Oh so you're both grading every submission? I thought you were both grading 7 of them.
I guess it's more even since Andrew apparently grades less thoroughly.

Stay tuned!
<3
 

Romek

Super Moderator
Reaction score
963
> the easter holidays will be just perfect for me so I could join it
The deadline was set to April 4th because that was the date my holidays started.
Now I've got a full 2 weeks to grade these. :)

> Oh so you're both grading every submission? I thought you were both grading 7 of them.
That would be very unfair.
 

Romek

Super Moderator
Reaction score
963
Well, even if it was 2 weeks, it'd still be relatively fast. Some contests don't get graded at all, whilst most others take about a month.

And no, I wouldn't do that (grade it quickly) to you. It'll be 2 months if you're lucky. Otherwise, about 3. :)
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
>>And no, I wouldn't do that (grade it quickly) to you. It'll be 2 months if you're lucky. Otherwise, about 3.
Bad and evil. ;)
 
Status
Not open for further replies.
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top