• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Requesting some Spells :)

Status
Not open for further replies.
Level 2
Joined
Dec 31, 2009
Messages
6
can someone make a Pudge Hook, Mirana's Arrow and Clockwerk's Missile.... and can u put how to import the skills or make a full guide... PATY[Please and Thank You]
 
Level 11
Joined
Dec 5, 2009
Messages
846
Supertoinkz im not skilled enough to do the FOTA spell im sorry :( Cuase i can't do this : If when a unit learns the spell the charge should be equal as the other mage on the field. But i only get it to 0 But your NOVA spell is done. here is it.
Note: Don't take the FOTA spell in this map its a fail ( more fail than before) :) Post the FOTA spell on Xiliger's thread im sure he will help you.

ENJOY :D
 

Attachments

  • Spells.w3x
    24.3 KB · Views: 51
Level 9
Joined
Jun 25, 2009
Messages
427
Supertoinkz, i've seen this thread, read it a lot of times, so i think i MIGHT be able to do one spell. Correct me if i'm wrong.

You want a guy, to go invulnerable at amazing speed to his target, when he hits the target, he deals damage in area and gets full health?

Hope this is what you wanted, so i could try :p
 
Level 9
Joined
Jun 25, 2009
Messages
427
So yeah, basically the spell is a little eye-candy like, because i just did the simpliest thing=hide unit ;) Check the spell out.

Oh and yeah, the other spells are leakless and only for funny synergy, you could use them somewhere ;P

EDIT: Anyway, if somethin is wrong, tell me, i'll try to help you. And about the thing i read, you want that spell MUI? (I thought it's for one hero so..) If you want it MUI, i could try to do that but if i don't succeed, i or you can ask Pharaoh or Maker to MUI this spell ;p

EDIT2: I liked your Previous avatar better (the dancin one ;))
 

Attachments

  • Fota.w3x
    24.2 KB · Views: 55
Level 9
Joined
Jun 25, 2009
Messages
427
And what do you think about the other spells? maybe you will use them somewhere? :) And i'll check the other spells you requested, maybe i'll try to do some :)

I looked at your spells and i might try to do them :)

Regards,
Tiche3:grin:
 
Level 9
Joined
Jun 25, 2009
Messages
427
Sorry for the necrobump, but I really need the first and last one D:

And to repost:
  • I'll accept GUI with Hashtables :)D)

  • I'll not accept JASS or vJass or anyother scripting language besides GUI.

Thank you once more.

Bumpzors

[rainbow]bump[/rainbow]

Sorry bro i was kinda busy with exams, i'll might try to do it :/ sorry for the mega long wait. :sad:
 
Level 19
Joined
Feb 4, 2009
Messages
1,313
1)Litany
a multicaster spell (the one X-Omg-X made for me didn't suit my needs)
there are two methods to make it: 1 being the harder method, the 2nd is easier
but I would like you to use method 1 :)

Method 1:
It will check if the player is currently selecting 3 Priest, then the spell will be available (when the player is not selecting 3 priest, the spell will be unavailable with a requirement of "3 Priests Needed".

Method 2:
When casted, the priest (caster) will call 2 other priests, so the 3 priests will also cast it

What the spell does-
The spell is channeling. Increases movement speed (15%) of every friendly unit and adds some spell damage resistance (30%). The 3 priests will lose 75 mana per second.
The channel will stop when
-One of the priest has insufficient mana
-One of the priest move

should the priests stand next to each other?
and just to make sure:
you want to be EVERY friendly unit on the map be affected by the movement speed bonus?
should they focus a specific point or just stand around and play cast animation?
 
1.Yes, in a triangular form.
2.Yes, every friendly units.
3.Hmmm.
The other two priests will go to the upper left and upper right and will face the "middle of the triangle" and start casting the spell.

Well, to make easy for you, it will pick the 2 closest priest from the caster within 500 range, if there are no priest or only 1 priest on that 500, you could use the SimError library by Vexorian in wc3c. (If Method two is used)

If Method 1 is used, the priests should be near each other, if not, SimError once more :p

~Ya I know, complicated spell is complicated~
 
Level 19
Joined
Feb 4, 2009
Messages
1,313
well I came to the conclustion that it it is abuseable in GUI
my idea was the following:
every time a player selects a priest
pick all units within 500 range of type priest owned by owner of selected unit and life > 0
if number of priests in that group > 2 add ability else remove it

as you can see it will create a unitgroup for every selected priest every time a player selects a priest
so if you make 2 groups with 12 priests each and put them to ctrl+1 and ctrl+2 you can spam this and create masses of unitgroups
this will make all pcs lag and create massive ammounts of leak
it could be done with a JASS enumeration and a custom filter function because they don't create leak and are way faster but I'm not sure if it will work
I'll try something with a little custom script but I'm not sure if it will work good enough to prevent abusing

edit:
I'll make a single JASS function which will be required for it to work
I could do it in full GUI with just custom script but it would take much more time and would be worse

edit:
nevermind I am stupid xD
(worked nice though ^^)

edit:
thinks are damn complicated if you keep in mind that players are able to share control :S
 
Last edited:
Level 19
Joined
Feb 4, 2009
Messages
1,313
right now it only adds and removes abilities based on range and units of a special type around
(could be done in full GUI but I don't recommend it since the performance loss will be noticeable)

JASS version:
JASS:
function GroupCast_Ability takes nothing returns integer
   return 'A000'
endfunction

function GroupCast_IsPriest takes nothing returns boolean
    return GetUnitTypeId(GetFilterUnit()) == 'hmpr'
endfunction

function GroupCast_Range takes nothing returns real
    return 500.00
endfunction

function GroupCast_Count takes nothing returns integer
    return 3
endfunction

function GroupCast_SpellId takes nothing returns integer
    return OrderId("channel")
endfunction

function GroupCast_Filter takes nothing returns boolean
    if GetWidgetLife(GetFilterUnit()) > 0.405 and GroupCast_IsPriest() and GetOwningPlayer(udg_u) == GetOwningPlayer(GetFilterUnit()) and IsUnitSelected(GetFilterUnit(), GetOwningPlayer(udg_u)) then
        set udg_i = udg_i + 1
        return true
    endif
    return false
endfunction

function GroupCast_LoopActions takes nothing returns nothing
    set udg_u = GetEnumUnit()
    if GetUnitCurrentOrder(udg_u) != GroupCast_SpellId() then
        set udg_i = 0
        call GroupEnumUnitsInRange(udg_g, GetUnitX(udg_u), GetUnitY(udg_u), GroupCast_Range(), Condition(function GroupCast_Filter))
        if udg_i == GroupCast_Count() then
            call UnitAddAbility   (udg_u, GroupCast_Ability())
        else
            call UnitRemoveAbility(udg_u, GroupCast_Ability())
        endif
    endif
endfunction

function GroupCast_Check takes nothing returns nothing
    call ForGroup(udg_GroupCast_Check, function GroupCast_LoopActions)
endfunction

function GoupCast_Select takes nothing returns nothing
    call GroupAddUnit(udg_GroupCast_Check, GetTriggerUnit())
    call EnableTrigger(gg_trg_GroupCast)
endfunction

function GroupCast_Deselect takes nothing returns nothing
    call GroupRemoveUnit(udg_GroupCast_Check, GetTriggerUnit())
    if FirstOfGroup(udg_GroupCast_Check) == null then
        call DisableTrigger(gg_trg_GroupCast)
    endif
endfunction

function InitTrig_GroupCast takes nothing returns nothing
    local trigger   select = CreateTrigger()
    local trigger deselect = CreateTrigger()
    set gg_trg_GroupCast   = CreateTrigger()

    call TriggerRegisterTimerEvent(gg_trg_GroupCast, 0.1, true)
    call TriggerAddAction(gg_trg_GroupCast, function GroupCast_Check)
    call TriggerAddAction(  select, function GoupCast_Select)
    call TriggerAddAction(deselect, function GroupCast_Deselect)

    set udg_i = 0
    loop
        call TriggerRegisterPlayerUnitEvent(  select, Player(udg_i), EVENT_PLAYER_UNIT_SELECTED,   Condition(function GroupCast_IsPriest))
        call TriggerRegisterPlayerUnitEvent(deselect, Player(udg_i), EVENT_PLAYER_UNIT_DESELECTED, Condition(function GroupCast_IsPriest))
        call TriggerRegisterPlayerUnitEvent(deselect, Player(udg_i), EVENT_PLAYER_UNIT_DEATH,      Condition(function GroupCast_IsPriest))
        set udg_i = udg_i + 1
        exitwhen udg_i >= bj_MAX_PLAYER_SLOTS
    endloop
endfunction
probably gonna make the other stuff later

edit:
I made it MPI already but it will take some more time until it's MUI
there are like 9999 cases where it might cause a bug so I have to think of every possibility which is the reason why it takes that long

edit:
fixed a few bugs but still not MUI (and the longer I do this the more confusing it becomes *_*)

edit:
I've got it pretty much MUI now
can be casted once every 0.01 sec
if somebody manages to cast it twice in 0.01 seconds with some kind of cheater tool or something the second cast won't do anything
the basic stuff is done now
just need to add the effect
 

Attachments

  • GroupCast.w3x
    17.9 KB · Views: 29
  • GroupCast2.w3x
    19.7 KB · Views: 30
  • GroupCast3.w3x
    22.4 KB · Views: 28
Last edited:
Level 19
Joined
Feb 4, 2009
Messages
1,313
*bump*
I give up right now
there are just too many problems with this kind of setup
maybe if I did it somehow else from the beginning it would work but....well

for the effects:
scroll of speed is nice to make the 15% movespeed bonus but I don't know how to order it (maybe custom script and a cryptic order string id or smthn...)
a damage detection system with heal of 30% of the damage taken is required for 30% resistance (condition: unit has speed buff)

bug right now:
spell can be cast with just a single caster cause of delay#
this is the last version so anyone who will try this for you may have a look at it for inspiration
 

Attachments

  • GroupCast4.w3x
    24 KB · Views: 27
Status
Not open for further replies.
Top