[Contest] Official Spell Contest #1

hell_knight

Playing WoW
Reaction score
126
My idea will function like a boomerang, you charge it up maybe make it like in zelda choose 5 points ect, Probaly gonna make it pick up items too ect
 

Pigger

New Member
Reaction score
13
Just tossing in an update of my spell. Its a 3 part spell.

Part One - Channeling: As the Tauren channels, ancestral spirits surround him, slamming the ground, disorienting or stunning nearby units.
Part Two - Side-Channeling: If the Tauren is struck whislt channeling the spirits of his ancestores, they will strike out at the attacker, knocking it back a distance.
Part Three - Finish: After the calling of the spirits, the Tauren lets loose a powerful blow to the earth, sending out four massive shockwaves.

So far, I have Part One 90% complete, just fixing up the leaks. Part Two is about halfway done, I've got major leaks needing fixes, and Part Three is the least of my worries.
 

Miz

Administrator
Reaction score
424
  1. WolSHaman
  2. darkchaoself
  3. rodead
  4. Tinki3
  5. PurgeandFire
  6. Uareanoob
  7. Grymlax
  8. hell_knight9
  9. The Mapmaker
  10. Rheias
  11. 0zaru
  12. Naminator
  13. ~GaLs~
  14. Nyph
  15. Überplayer
  16. Prediter[BuB
  17. Hatebreeder
  18. Pigger
  19. NuBy
  20. FroznYoghurt
  21. Slywolf15
  22. Sevion

Well I think thats a record of how many people entering a contest :p
Just for a silly icon ^^
Well this shall be fun to watch :D
 

hell_knight

Playing WoW
Reaction score
126
Silly icon, rep and for bragging rights + Im BORED!!!!

Anyways my spell is complete not gonna release it just yet =O
Im probaly gonna lose tho since I chose not to make a eye candy spell to attract public poll votes spells and I use gui therefore losing points in like every category.
Still worth a try tho.
 

Darkchaoself

What is this i dont even
Reaction score
106
  1. WolSHaman
  2. darkchaoself
  3. rodead
    [*]Tinki3
  4. PurgeandFire
    [*]Uareanoob
  5. Grymlax
  6. hell_knight9
  7. The Mapmaker
    [*]Rheias
  8. 0zaru
    [*]Naminator
    [*]~GaLs~
  9. Nyph
    [*]Überplayer
  10. Prediter[BuB
  11. Hatebreeder
  12. Pigger
  13. NuBy
  14. FroznYoghurt
  15. Slywolf15
  16. Sevion

Bolded ones are the ones that you should watch out for :)

Dont take it personally if your not bolded
 

Pigger

New Member
Reaction score
13
Bolded ones are the ones that you should watch out for :)

Dont take it personally if your not bolded

/takes it personally

Actually, I'm kinda glad to be in a contest with them. Besides, my GUI skills are no match anyway to their JASS skills!

But it makes me feel better, gogo self-esteem boost!
 

esb

Because none of us are as cruel as all of us.
Reaction score
329
It's the intention that matters. If the contestants give something worthy, that took them time and effort (and creativity), then it was worth to give the winners and Icon :D
 

emjlr3

Change can be a good thing
Reaction score
395
think you forgot Pyro in that list
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
Yes he is, he missed out pyrogasm...

>>Bolded ones are the ones that you should watch out for

Dont take it personally if your not bolded

I do, why me? lol
But i feel greats :)

Everyone please take this contest seriously... I am hoping to see some superb spell around XD
 

Pigger

New Member
Reaction score
13
Everyone please take this contest seriously... I am hoping to see some superb spell around XD

Oh I hella am. To date I think this is the best spell I have/am creating. Half done too! All I gotta do is fix some small coding issues and then toss in all the SFX

/crush ~GaLs~ :) :D :p
 

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
You did forget me... bastard.

Just some WIP code; I think I'm going to call the spell "Grisly Barrage":
JASS:
function B2S takes boolean B returns string
    if B then
        return "True"
    else
        return "False"
    endif
endfunction

//*******************************************************************
//*                       Start Configuration                       *
//*******************************************************************

constant function GB_AbilityId takes nothing returns integer
    return 'A001'
endfunction

constant function GB_DummyAbilityId takes nothing returns integer
    return 'A003' //The Raise Dead ability that is actually cast
endfunction

constant function GB_DummyUnitId takes nothing returns integer
    return 'h000'
endfunction

constant function GB_DummyEffectUnitId takes nothing returns integer
    return 'h001'
endfunction

constant function GB_ThrowInterval takes integer Level returns real
    return 1.50
endfunction

constant function GB_Radius takes integer Level returns real
    return 200.00
endfunction

constant function GB_NumberOfIterations takes integer Level returns integer
    return 5
endfunction

constant function GB_ChannelingOrderString takes nothing returns string
    return "starfall"
endfunction

constant function GB_GroundEffectPath takes nothing returns string
    return "Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeTarget.mdl"
endfunction

constant function GB_FirstOnCast takes nothing returns boolean
    return true
endfunction

constant function GB_CorpseFlyHeight takes integer Level returns real
    return 300.00
endfunction

constant function GB_CorpseFlyHeightRate takes integer Level returns real
    return 150.00
endfunction

constant function GB_Damage takes integer Level returns real
    return 50.00*Level
endfunction

//*******************************************************************
//*                        End Configuration                        *
//*******************************************************************

function GB_CastConditions takes nothing returns boolean     
    return GetSpellAbilityId() == GB_AbilityId()
endfunction

function GB_RaiseDeadDetectConditions takes nothing returns boolean
    return GetUnitTypeId(GetSummonedUnit()) == GB_DummyEffectUnitId()
endfunction

function GB_EnemyFilter takes nothing returns boolean
    return IsUnitEnemy(GetFilterUnit(), bj_forceRandomCurrentPick)
endfunction

function GB_CorpseLevitateCallback takes nothing returns nothing
    call BJDebugMsg("Levitated Fully")
endfunction

function GB_RaiseDeadDetect takes nothing returns nothing
    local unit U = GetSummoningUnit
    local timer T = GetAttachedTimer(U, "GB Timer")
    local unit U2 = GetSummonedUnit()
    local real X = GetUnitX(U2)
    local real Y = GetUnitY(U2)
    local group G = CreateGroup()
    local boolexpr B = Condition(function GB_EnemyFilter)
    local player P = GetOwningPlayer(U)
    local integer Level = GetAttachedInt(T, "GB Level")
    local real R = GB_Radius(Level)
    local unit Target
    local real Angle
    local timer T = CreateTimer()

    set bj_forceRandomCurrentPick = P
    call GroupEnumUnitsInRange(G, X, Y, R, B)
    set bj_forceRandomCurrentPick = null
    set Target = GroupPickRandomUnit(G)
    set X2 = GetUnitX(Target)
    set Y2 = GetUnitY(Target)
    call DestroyGroup(G)
    call DestroyBoolExpr(B)
    set Angle = Atan2(Y2-Y, X2-X)*59.295827
    call AttachObject(T, "GB
    call AttachReal(T, "GB Angle", Angle)
    call AttachReal(T, "GB Target X", X2)
    call AttachReal(T, "GB Target Y", Y2)
    call TimerStart(T, 0.03, true, function GB_MoveCallback)
    set T = null
    set Target = null
    set U = null
    set U2 = null
endfunction

function GB_ThrowCallback takes nothing returns nothing
    local timer T = GetExpiredTimer()
    local unit U = GetAttachedUnit(T, "GB Caster")
    local real X = GetAttachedReal(T, "GB CastX")
    local real Y = GetAttachedReal(T, "GB CastY")
    local integer Level = GetAttachedInt(T, "GB Level")
    local integer Countup = GetAttachedInt(T, "GB Countup")
    local group G = CreateGroup()
    local unit Corpse
    local real R = GB_Radius(Level)
    local boolexpr B = Condition(function GB_DeadUnitFilter)
    local player P = GetOwningPlayer(U)
    local unit Target
    local real X2
    local real Y2
    local real X3
    local real Y3
    local real Angle
    local unit ExplosionDummy
    local timer T2 = CreateTimer()
    local unit U2
    local real Height = GB_CorpseFlyHeight(Level)
    local real Rate = GB_CorpseFlyHeightRate(Level)

    local boolean CorpseAvailable
    local unit Dummy
    
    set Countup = Countup+1
    if (Countup > GB_NumberOfIterations(Level)) or (GetUnitCurrentOrder(U) != OrderId(GB_ChannelingOrderString()))  then
        call DestroyEffect(GetAttachedEffect(T, "GB Ground Effect"))
        call PauseTimer(T)
        call CleanAttachedVars(T)
        call DestroyTimer(T)
    else
        call AttachInt(T, "GB Countup", Countup)
        set Dummy = CreateUnit(P, GB_DummyUnitId(), X, Y, 0.00)
        call UnitApplyTimedLife(Dummy, 'BTLF', 2.00)
        call UnitAddAbility(Dummy, GB_DummyAbilityId())
        call IssueImmediateOrder(Dummy, "raisedeadon")
        call IssueImmediateOrder(Dummy, "instant")
        call AttachObject(Dummy, "GB Timer", T)
       
//        call GroupEnumUnitsInRange(G, X, Y, R, B)
//        set Corpse = GroupPickRandomUnit(G)
//        set X2 = GetUnitX(Corpse)
//        set Y2 = GetUnitY(Corpse)
//        call GroupClear(G)
//        call DestroyBoolExpr(B)
//        set bj_forceRandomCurrentPick = P
//        set B = Condition(function GB_EnemyFilter)
//        call GroupEnumUnitsInRange(G, X, Y, R, B)
//        set bj_forceRandomCurrentPick = null
//        set Target = GroupPickRandomUnit(G)
//        set X3 = GetUnitX(Target)
//        set Y3 = GetUnitY(Target)
//        call DestroyGroup(G)
//        call DestroyBoolExpr(B)
//        set Angle = Atan2(Y3-Y2, X3-X2)*59.295827

//        set ExplosionDummy = CreateUnit(P, GetUnitTypeId(Corpse), X2, Y2, Angle)
//        call UnitAddAbility(ExplosionDummy, 'Aloc')
//        call SetUnitExploded(ExplosionDummy, true)
//        call KillUnit(ExplosionDummy)
        
//        set U2 = Corpse
//        set Corpse = CreateUnit(P, GB_DummyEffectUnitId(), X2, Y2, Angle)
//        call AttachReal(Corpse, "GB Corpse Max Life", GetUnitState(U2, UNIT_STATE_MAX_LIFE))
//        call AttachObject(T2, "GB Corpse", Corpse)
//        call RemoveUnit(U2)        
//        call SetUnitFlyHeight(Corpse, Height, Rate)
//        call TimerStart(T2, Height/Rate, false, function GB_CorpseLevitateCallback)
    endif
        
          
    
    set T = null
    set U = null
    set G = null
    set Corpse = null
    set B = null
    set P = null
    set Target = null
    set ExplosionDummy = null
    set T2 = null
    set U2 = null
endfunction

function GB_Cast takes nothing returns nothing
    local unit U = GetTriggerUnit()
    local real X = GetUnitX(U)
    local real Y = GetUnitY(U)
    local timer T = CreateTimer()
    local integer Level = GetUnitAbilityLevel(U, GB_AbilityId())
    local integer Countup = 0
    local unit Corpse
    local unit Target
    local unit ExplosionDummy
    local group G = CreateGroup()

    local real R = GB_Radius(Level)
    local real X2
    local real Y2
    local real X3
    local real Y3
    local player P = GetOwningPlayer(U)
    local real Angle
    local timer T2
    local unit U2
    local real Height = GB_CorpseFlyHeight(Level)
    local real Rate = GB_CorpseFlyHeightRate(Level)

    local boolean CorpseAvailable
    local unit Dummy
    
    call AttachObject(T, "GB Caster", U)
    call AttachReal(T, "GB CastX", X)
    call AttachReal(T, "GB CastY", Y)
    call AttachInt(T, "GB Level", Level)
    call AttachObject(T, "GB Ground Effect", AddSpecialEffect(GB_GroundEffectPath(), X, Y))
    call BJDebugMsg("Cast")

    if GB_FirstOnCast() then
        set Countup = Countup+1
        set Dummy = CreateUnit(P, GB_DummyUnitId(), X, Y, 0.00)
        call UnitApplyTimedLife(Dummy, 'BTLF', 2.00)
        call UnitAddAbility(Dummy, GB_DummyAbilityId())
        call IssueImmediateOrder(Dummy, "raisedeadon")
        call IssueImmediateOrder(Dummy, "instant")
        call AttachObject(Dummy, "GB Timer", T)

//        call AttachObject(T2, "GB Corpse", Corpse)
//        call SetUnitFlyHeight(Corpse, Height, Rate)
//        set T2 = CreateTimer()
//        call TimerStart(T2, Height/Rate, false, function GB_CorpseLevitateCallback)
    endif


    call AttachInt(T, "GB Countup", Countup)
    call TimerStart(T, GB_ThrowInterval(Level), true, function GB_ThrowCallback)
    
        
    set U = null
    set T = null
    set Corpse = null
    set Target = null
    set ExplosionDummy = null
    set G = null 
    set B = null
    set P = null
    set T2 = null
    set U2 = null  
endfunction

//==========================================================================================
function InitTrig_Grisly_Barrage takes nothing returns nothing
    local trigger RaiseDeadDetect = CreateTrigger()
    set gg_trg_Grisly_Barrage = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(gg_trg_Grisly_Barrage, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(gg_trg_Grisly_Barrage, Condition(function GB_CastConditions))
    call TriggerAddAction(gg_trg_Grisly_Barrage, function GB_Cast)

    call TriggerRegisterAnyUnitEventBJ(RaiseDeadDetect, EVENT_PLAYER_UNIT_SUMMON)
    call TriggerAddCondition(RaiseDeadDetect, Condition(function GB_RaiseDeadDetectConditions))
    call TriggerAddAction(RaiseDeadDetect, function GB_RaiseDeadDetect)

    set RaiseDeadDetect = null
endfunction
 
Reaction score
456
Cool, maybe I start coding my spell already =).

@Pyrogasm
Just palce your code inside a scope and make the functions private :).

EDIT://Whops..
 
Reaction score
456
I didn't know that :).. maybe I have heard, don't know though.

Still, I edited my post as it had a biiiit wrong information.
 

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
Blasphemous. I cannot use vJASS, Überplayer.
 

Darkchaoself

What is this i dont even
Reaction score
106

Hatebreeder

So many apples
Reaction score
381
That sounds damn cool. If the name hadn't been used in a spell contest at Wc3c, I would have suggested that you call it "Gravestorm". Maybe, uhhh, something like "Forsaken Cemetary"... blah, I don't know.

Props to you if you make it work well.

Oh Thnx :p I don't even think that I have to Trigger the Damage ^.^
Anyways, I think Gravestorm has a Copyright, since it's a Magic Card Name... By the Way, I play a Grave Consequence Deck, Entrails Feaster, Gravestorm and Buried Alive Ftw ^^
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top