[Contest] Holy Spells Contest!

Exide

I am amazingly focused right now!
Reaction score
448
Awesome spell, Daxtreme.
Made me curse in awe when I used it the first time. :p
It should be channeling, though, imo.
 

Sim

Forum Administrator
Staff member
Reaction score
534
Let's say the sun does it all for you ;)

Good point though, I forgot about making it channeling >_<

The end of the contest was coming quite fast and so I made it fast.
 

Sim

Forum Administrator
Staff member
Reaction score
534
Alright, spell edited.

I still have no idea why it causes more lag at higher levels >_<
 

emjlr3

Change can be a good thing
Reaction score
395
after looking through it I am not sure either, you do nothing "more" or "more often" at higher levels, it just has a greater effect, as far as stat leveling and such goes
 

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
So everyone experiences that extra lag at levels 3 and 4... not just me?
 

Sim

Forum Administrator
Staff member
Reaction score
534
Not me :p

It only lags when I cast about 4 copies of the spell at the same time...
 

lh2705

Just another Helper
Reaction score
111
Aight..

I'll post my submission then.

Spell - Holy Judgement

untitledkc8.jpg


This is just the middle phase.
There are three phases. The Channeling/Damage/Heal phases.
Go see the map to view it all nicely :p.

Has 4 GUI triggers so MUI is a nono(Haven't learned JASS still). But I don't care :D.

Enjoy!
 

Attachments

  • TheHelperSpellsSubmission-HolyContest-lh2705.w3x
    43.7 KB · Views: 248

Sevion

The DIY Ninja
Reaction score
413
I've noticed that in a bunch of tool tips it says "holy" at least twice. Use some more synonyms :p. It gets kind of stupid when you've read "holy" so many times. I know this is a holy spell contest, but come on. There are more words that mean "holy" than just "holy" :p
 
Reaction score
456
I have a small problem with my spell.. So am I allowed to ask for help in the forums?

aproblem.JPG

WIP SCREEN, including the problem.
 

Pyrogasm

There are some who would use any excuse to ban me.
Reaction score
134
I've noticed that in a bunch of tool tips it says "holy" at least twice. Use some more synonyms :p. It gets kind of stupid when you've read "holy" so many times. I know this is a holy spell contest, but come on. There are more words that mean "holy" than just "holy" :p
Most definitely my thoughts also.

And yes, Überplayer, you may ask for help in the forums.
 

Squll2

je'ne sais pas
Reaction score
76
I've noticed that in a bunch of tool tips it says "holy" at least twice. Use some more synonyms :p. It gets kind of stupid when you've read "holy" so many times. I know this is a holy spell contest, but come on. There are more words that mean "holy" than just "holy" :p

agreed.. urgh i can hardly tell whos spell is who from looking at the titles im like.. omg do i have to open all of them JUST to find this persons?

>Uberplayer

as long as it doesnt involve the majority of the code thats a problem, yes.
 

Sevion

The DIY Ninja
Reaction score
413
Überplayer, if you need help, please tell us what is wrong else we can't really help can we? :p
 

waaaks!

Zinctified
Reaction score
256
sweet spells.....i dont like to join, maybe because im out of ideas...and im not a eye candy type of spellmaker...
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
You could really made some easy spell but with ur own model...i meant the model you made by from scratch :p
 
Reaction score
456
@People who said my name

I am not allowed to ask for it as it's a big error in the code, as Squll2 said that I can't ask about it.
 

Squll2

je'ne sais pas
Reaction score
76
@People who said my name

I am not allowed to ask for it as it's a big error in the code, as Squll2 said that I can't ask about it.

what i meant is.. if u had a code like this



JASS:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


and if all these were wrong, then u couldnt ask for help. but for example if something like this was wrong..


JASS:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


then its ok to ask, if you think u know whats wrong but dont know how to fix it

Edit: if your problem was the GetRandomLocINCircle thing, then thats ok to ask for help with -_- :p please just pm me with your problem and ill see if its a big enough problem to be not allowed to ask for help with or not.
 
Reaction score
456
I gave up with my spell.

JASS:
// |¯¯|  |¯¯|  /¯¯¯¯¯¯|
// |  |  |  | |  /¯¯¯¯       
// |   ¯¯   | | |       by ÜBERPLAYER
// |  |¯¯|  | |  \____
// |__|  |__|  \______|

//Implement:
//
//1. Extract the HolySpiral.MDX from import manager, and import it into your map.   
//2. Copy the Heavenly Cry spell from object editor, and paste it into your map.
//3. Copy the Heavenly Cry Dummy unit from object editor, and paste it into your map.
//4. Copy the this trigger to your map.
//5. Replace rawcodes from the ConfigurationMenu if needed.

//Tip. I recommend you to set the dummy units height same as you have in ConfigurationMenu. 
//     due to few graphic issues. Remember that you can set height value in object editor 
//     to be bigger than 1000 by holding shift down, and then pressing enter.



scope HeavenlyCry
    
    //Change the values inside ConfigurationMenu scope to 
    //affect to the way the spell acts. I don&#039;t suggest
    //you to touch anything after the end of the modifiable
    //stuff comment. No need for credits, if you use this spell.
    private scope ConfigurationMenu
        public constant function SpellId takes nothing returns integer
            return &#039;A000&#039; //Rawcode of the spell
        endfunction
    
        public constant function DummyId takes nothing returns integer
            return &#039;h001&#039; //Rawcode of the dummy unit
        endfunction
    
        public constant function DummyCount takes integer level returns integer
            return 12 //Quantity of the dummies per wave. Maximum of 36.
        endfunction
    
        public constant function SpellArea takes integer level returns real
            return 200.00 //The area of the spell.
        endfunction
    
        public constant function WaveCount takes integer level returns integer
            return 2 //Quantity of the waves.
        endfunction
    
        public constant function WaveSpeed takes integer level returns real
            return 0.75 //How long does a wave last for.
        endfunction
        
        public constant function DummyHeight takes integer level returns real
            return 1500.00 //The height where the dummies start to drop down.
        endfunction
    endscope
    //End of modifiable stuff
    
    private struct hc_substructure
        integer dummycount
        unit array dummy[36]
        method onDestroy takes nothing returns nothing
            local integer index = 0
            loop
                exitwhen (index == .dummycount)
                if (.dummy[index] != null) then
                    call KillUnit(.dummy[index])
                    set .dummy[index] = null 
                endif
                set index = index + 1
            endloop
        endmethod
    endstruct
    
    private struct hc_structure
        unit caster
        real area
        integer wavecount
        real wavespeed
        real height
        
        
        hc_substructure substruct
        real curheight
        integer storedcount
        integer curwave = 0
        real x
        real y
        boolean hasgone = false
        
        method onDestroy takes nothing returns nothing
            if (.substruct != null) then
                call .substruct.destroy()
            endif
        endmethod
    endstruct
    
    globals
        private hc_structure array hc_array
        private integer hc_total = 0
        private timer hc_timer = CreateTimer()    
    endglobals
    
    private function Heavenly_Cry_Sub_Actions takes nothing returns nothing
        local hc_structure dat
        local integer index = 0
        local integer index2 = 0
        local real x
        local real y
        
        loop
            exitwhen (index == hc_total)
            set dat = hc_array[index]
            if (dat.hasgone == true) then
                set hc_array[index] = hc_array[hc_total - 1]
                set hc_total = hc_total - 1
                call hc_structure.destroy(dat)
                set index = index - 1
            else
                if (dat.curwave &gt; dat.wavecount) then
                    set dat.hasgone = true
                else
                    if (dat.curheight &lt;= 2.00) then
                        set index2 = 0
                        call hc_substructure.destroy(dat.substruct)
                        set dat.substruct = dat.substruct.create()
                        set dat.substruct.dummycount = dat.storedcount
                        loop
                            exitwhen (index2 == dat.substruct.dummycount)
                            set x = dat.x + GetRandomReal(0.00, dat.area-10.00) * Cos(GetRandomReal(0.00, 360.00) * bj_DEGTORAD)
                            set y = dat.y + GetRandomReal(0.00, dat.area-10.00) * Sin(GetRandomReal(0.00, 360.00) * bj_DEGTORAD)
                            set dat.substruct.dummy[index2] = CreateUnit(Player(15), ConfigurationMenu_DummyId(), x, y, 0.00)
                            call SetUnitFlyHeight(dat.substruct.dummy[index2], dat.height, 99999.99)
                            set index2 = index2 + 1
                        endloop
                        set dat.curheight = dat.height
                        set dat.curwave = dat.curwave + 1
                    else
                        set index2 = 0
                        set dat.curheight = dat.curheight - dat.height / dat.wavespeed * 0.035
                        loop
                            exitwhen (index2 == dat.substruct.dummycount) 
                            call SetUnitFlyHeight(dat.substruct.dummy[index2], dat.curheight, 99999.99)
                            set index2 = index2 + 1
                        endloop
                    endif
                endif    
            endif
            set index = index + 1 
        endloop
        
        if (hc_total == 0) then
            call PauseTimer(hc_timer)
        endif
    endfunction
    
    private function Heavenly_Cry_Main_Action takes nothing returns nothing
        local hc_structure dat = hc_structure.create()
        local integer level = GetUnitAbilityLevel(GetTriggerUnit(), ConfigurationMenu_SpellId())
        local real x
        local real y
        local location loc = GetSpellTargetLoc()
        set dat.substruct = hc_substructure.create()
        set dat.caster = GetTriggerUnit()
        if (ConfigurationMenu_DummyCount(level) &gt; 36) then
            set dat.substruct.dummycount = 36
        else
            set dat.substruct.dummycount = ConfigurationMenu_DummyCount(level)
        endif
        set dat.storedcount = dat.substruct.dummycount
        set dat.area = ConfigurationMenu_SpellArea(level)
        set dat.wavecount = ConfigurationMenu_WaveCount(level)
        set dat.wavespeed = ConfigurationMenu_WaveSpeed(level)
        set dat.height = ConfigurationMenu_DummyHeight(level)
        set dat.x = GetLocationX(loc)
        set dat.y = GetLocationY(loc)
        set dat.curheight = 0.00
        call RemoveLocation(loc)
        set loc = null
        
        set hc_array[hc_total] = dat
        set hc_total = hc_total + 1
        if (hc_total == 1) then
            call TimerStart(hc_timer, 0.050, true, function Heavenly_Cry_Sub_Actions)
        endif
    endfunction

//===========================================================================
    private function Heavenly_Cry_GenericBoolexpr takes nothing returns boolean
        return true
    endfunction

    function InitTrig_Heavenly_Cry takes nothing returns nothing
        local integer index = 0
        local boolexpr b = Condition(function Heavenly_Cry_GenericBoolexpr)
        set gg_trg_Heavenly_Cry = CreateTrigger()
        loop
            exitwhen (index == 12)
            call TriggerRegisterPlayerUnitEvent(gg_trg_Heavenly_Cry, Player(index), EVENT_PLAYER_UNIT_SPELL_EFFECT, b)
            set index = index + 1
        endloop
        set b = null
        call DestroyBoolExpr(b)
        call TriggerAddAction(gg_trg_Heavenly_Cry, function Heavenly_Cry_Main_Action)
    endfunction
endscope

Couldn't figure out what was the lag spreader :rolleyes:
 
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