Spell Request thread.

Dirac

22710180
Reaction score
147
So i have some free time and decided to help out others with my coding.

Rules:
-Only vJass programming, make sure you have the latest version of NewGen in your map
-I don't provide or use custom models, that part is up to you
-All posts must follow this template


[noparse]Name:
Description:
Levels:
Special Effects:[/noparse]

Inside the desciption field be as descriptive as possible
Inside the level field tell me how the ability's level increases it's performance
Inside the special effect field tell me which wc3 effects you want to use for this spell.

-Report inconvenient through PMs, i don't want to fill this thread with complains

List of libraries i would commonly use in my coding
T32
AIDS (not recommended)
UnitIndexer (recommended)
Damage Struct
RegisterPlayerUnitEvent
SpellEffectEvent
TimerUtils (Mag's version)
Table

Libraries i WONT use
GTrigger
KeyTimer
J4L's Event
Status

If you wish the spell to use a custom library please notify me.
Please be as specific as possible when it comes to describe your spell. I have no idea of what's on your mind so better tell me what is it you want.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
are you open to creating complex algorithsms?

because i have a really cool fractal idea for a special effect... i dont have a spell for it but im sure you could think of something based on the design :p

i would know how to create the design, but it would need a lotta work for u if you were open to it :/

basically did you want really awesome complex spells or just kinda cool get the job done spells
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
to what degree would you be open to, every layer will add lag and prettyness varying directly :p

the formula would be something like this...
starting at the point at the very top of the koch snowflake (the point at the top)
it would set the next point = (side length of the base triangle/3^D (Dimension)) points in the 240* direction
then you would change the direction set with this pattern
+60, -120, +60, +60, +60, -120, +60, -120, +60, -120, +60, +60, +60 in an endless loop like that...
then when the point becomes equal to point 1 end stop the loop and create a special effect every X points between each point to display it :)
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
ok here is a pic of what it will look like with each dimension from 0-5:

kochs snowflake.gif

where the total ammount of points on the pic will be = 3 x 4^D (ie: D,P (Dimension,Point Count): (0,3),(1,12),(2,48),(3,192) there is where it gets pretty steep)

i would recommend going with 2 or 3 depending on how pretty u want it and how much lag you are open to, i wouldnt recommend this be a spammer lol...

i will create a GUI version of this this weekend and see if you like it, then you could recreate it with jass, i will make it customizeable though
 

Dirac

22710180
Reaction score
147
I think bidimensional is what applies best to warcraft. I'll look into it.
 

Trollus

Cool Member
Reaction score
0
Skill info
Name: Darkness eye
Description: Ancient evil ability to reveal hidden humans around the world
Levels: 3
Special Effects: Bats flying around area of reveal
/ This skills is for vampire in Vampirism Frozen World. When it's being used, vampires will be available to see part of map (depends of lvl of skill, lvl 1 - about 2500 range, lvl 2 - about 4000 range, lvl 3 about 7000 range
Graphic effects: Visually, it must be looking like bats flying in that area which has been revealed.
If need more info - feel free to ask :)
 

Dirac

22710180
Reaction score
147
If need more info - feel free to ask
I need to know a few things about your ability
-Is it like a far sight ability? or the area revealed is the area around the caster?
-I think your ability doesn't require triggering at all, you can have the hero cast far sight at a target location and create a dummy there with a modified version of "Locust Swarm" that spawns bats that deal no damage.
 

Trollus

Cool Member
Reaction score
0
I need to know a few things about your ability
-Is it like a far sight ability? or the area revealed is the area around the caster?
-I think your ability doesn't require triggering at all, you can have the hero cast far sight at a target location and create a dummy there with a modified version of "Locust Swarm" that spawns bats that deal no damage.
- It's like far sight ability
- It's must be like far sight, but effect of it must be bats around the area which is being revealed.
 

Dirac

22710180
Reaction score
147
Darkness Eye
JASS:
library DarknessEye uses SpellEffectEvent
    globals
        //Create a unit based off locust and change it's model to a bat,
        //then disable all of it's attacks.
        private constant integer BAT_RAWCODE        ='unit'
        //The dummy you're using in your map
        private constant integer DUMMY_RAWCODE      ='unit'
        //Base the ability your hero has on Far Sight, when cast the bat
        //effects will appear
        private constant integer FAR_SIGHT_RAWCODE  ='abil'
        //Create an ability based off Locust Swarm and change the spawned
        //unit type to the bat unit you previously created, make sure mana
        //cost is 0 and it's duration is equal to the reveal's.
        private constant integer BAT_SPAWN_RAWCODE  ='abil'
        //How long does the reveal last? 
        private constant real    DURATION           =10
    endglobals
    
    private struct Main extends array
        static method onCast takes nothing returns nothing
            local unit u=CreateUnit(GetOwningPlayer(GetTriggerUnit()),DUMMY_RAWCODE,GetSpellTargetX(),GetSpellTargetY(),0)
            call UnitAddAbility(u,BAT_SPAWN_RAWCODE)
            call IssueImmediateOrder(u,"locustswarm")
            call UnitApplyTimedLife(u,'BTLF',DURATION)
            set u=null
        endmethod
        
        static method onInit takes nothing returns nothing
            call RegisterSpellEffectEvent(FAR_SIGHT_RAWCODE,function thistype.onCast)
        endmethod
    endstruct
endlibrary
Snowflake3d
JASS:
library Fractal

    //Snowflake.create(real x,real y,integer dimensions, real distance, integer fx)
    
    //To remove the units just do the following
    //  loop
    //      exitwhen Snowflake(0).next==0
    //      call Snowflake(0).next.remove()
    //  endloop
    
    
    struct Snowflake extends array
        static real array a
        thistype prev
        thistype next
        unit unit
        
        method remove takes nothing returns nothing
            call RemoveUnit(.unit)
            set this.next.prev=this.prev
            set this.prev.next=this.next
        endmethod
        
        static method create takes real x,real y,integer dimensions, real distance, integer fx returns thistype
            local integer i=0
            local integer j=0
            local integer this=0
            local real b=0
            loop
                exitwhen 6==j
                loop
                    exitwhen Pow(2,2*dimensions-1)==i
                    
                    set this=this+1
                    set thistype(0).next.prev=this
                    set this.next=thistype(0).next
                    set thistype(0).next=this
                    set this.prev=thistype(0)
                    
                    set this.unit=CreateUnit(Player(0),fx,x,y,0)
                    set x=x+distance*Cos(a<i>*bj_DEGTORAD+b)
                    set y=y+distance*Sin(a<i>*bj_DEGTORAD+b)
                    set i=i+1
                endloop
                set i=0
                set j=j+1
                set b=b+bj_PI/3
            endloop
            return thistype(0).next
        endmethod
        
        static method onInit takes nothing returns nothing
            //1d
            set a[0]=60
            set a[1]=0
            //2d
            set a[2]=120
            set a[3]=60
            set a[4]=0
            set a[5]=-60
            set a[6]=60
            set a[7]=0
            //3d
            set a[8]=120
            set a[9]=60
            set a[10]=180
            set a[11]=120
            set a[12]=60
            set a[13]=0
            set a[14]=120
            set a[15]=60
            set a[16]=0
            set a[17]=-60
            set a[18]=60
            set a[19]=0
            set a[20]=-60
            set a[21]=-120
            set a[22]=0
            set a[23]=-60
            set a[24]=60
            set a[25]=0
            set a[26]=120
            set a[27]=60
            set a[28]=0
            set a[29]=-60
            set a[30]=60
            set a[31]=0
        endmethod
    endstruct
endlibrary</i></i>
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
just a quick question since i havent gotten into jass much:

i can run this by using: call StartThread(function snowflake)
if its named snowflake in my map of course
 

Dirac

22710180
Reaction score
147
If you're trying to run it through a GUI trigger you can just go with call Snowflake.create(arguments)
What are you trying to do with it? It would be a lot better if you just tell me and i would code the spell
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
i was just planning to use it as an effect that i could put at a point or on a unit
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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