• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

===[NEW] Spell Workshop [NEW]===

Status
Not open for further replies.
Level 1
Joined
Nov 7, 2011
Messages
9
How about first orb drops at 60%, second at 40% and third at 20% for example?
But that would make the spell uncastable when the hero has less than 20% health, I don't know if I like that...
Maybe the whole "damage absorb" idea wasn't that bad at all.
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
Spell Name: Return Power
Type: Passive
What it does:

When any spell is cast in X range of a unit with this ability then based on what the spell was the following happens:

1. If the spell is target unit then it should cast the spell back towards the caster (this can be detected by checking if target unit of ability being cast isn't null and spell target location is null).

2. If the spell was no target then it should cast the spell at the owner of the spell (this can be detected if both target unit and target location are null).

3. If the spell is target ground then it should be activated at the owner of the spells location and be casted towards the caster (this is detected by checking if target unit of ability cast is null and spell target location isn't null).


Mckill2009 made me a similar spell long ago but it only had the first part (target unit).
If more information is needed just ask.
 
Level 12
Joined
Jan 30, 2009
Messages
1,067
People, the guys who are making the spells for you guys aren't required to do so, and they're also NOT machines. Sadly, yes, sometimes requests may fall through the cracks, likely because it is improbable, impossible, or beyond the scope of the people doing them, however, providing a link to the post where said request is usually helps.
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
I've been very busy these days, but tonight Ima focus on Wingthor's spells...

@yvx
VM the spell request to me and give proper description, you're next...

@Ironside
2 & 3 can be done the way like #1, see to it that the unit is in the range of the caster or spelltargetXY, if the unit is NOT null then cast back the spell...

I messed up everytime till now.
I'll keep trying though and I'll tell you if I make it.
 
Makes me wanna do a library for that to update my spell, but not yet finished...

Wingthors SilencingShot is also here
JASS:
//Spell Mimic Utils
//Made by Mckill2009

//Description:
//- This simply fires back a spell from the caster.

//Bugs:
//- The TargetPoint and TargetNone bugs if the caster and/or the target
//  wont move, the mirrored spell spams.

library SM

globals
    private constant integer DUMMY_ID = 'h000' //you MUST create a dummy
    private integer ABIL_ID
    private integer SPELL_ID
    private integer LEVEL
    private integer ORDER_ID
    private unit TEMP_UNIT
endglobals

private function UnitAlive takes unit u returns boolean
    return not IsUnitType(u, UNIT_TYPE_DEAD)
endfunction

private function UnitSpell takes unit u, integer spellid returns boolean
    return (GetUnitAbilityLevel(u, spellid) > 0)
endfunction

private function UnitOrderNotChannel takes integer order returns boolean
    //starfall, tranquility, blizzard, rain of fire, earthquake, channel, tornado, 
    return not (order==852183 or order==854184 or order==852089 or order==852238 or order==852121 /*
    */ or order==852600 or order==852597 or order==852593)
endfunction

//! textmacro TARGET takes FUNC, COM
private function Filter$FUNC$ takes nothing returns boolean
    local unit u = GetFilterUnit()
    local unit dummy
    local real x
    local real y
    if UnitAlive(u) and UnitSpell(u, SPELL_ID) then
        set x = GetUnitX(TEMP_UNIT)
        set y = GetUnitY(TEMP_UNIT)
        set dummy = CreateUnit(GetOwningPlayer(u), DUMMY_ID, x,y, 0)  
        if UnitOrderNotChannel(ORDER_ID) then
            call UnitApplyTimedLife(dummy, 'BTLF', 2.)
        else
            call UnitApplyTimedLife(dummy, 'BTLF', 10.)
        endif
        call UnitAddAbility(dummy, ABIL_ID)
        call SetUnitAbilityLevel(dummy, ABIL_ID, LEVEL)
        call Issue$COM$  
    endif
    set u = null
    set dummy = null
    return false
endfunction

//call SM_TargetNone(GetTriggerUnit(), GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()), GetSpellAbilityId(), 'AEmb', 1, 200)
//call SM_TargetPoint(GetTriggerUnit(), GetSpellTargetX(), GetSpellTargetY(), GetSpellAbilityId(), 'AEmb', 1, 200)
public function Target$FUNC$ takes unit caster, real xLoc, real yLoc, integer abilityid, integer chanceid, integer level, real aoe returns nothing
    set ORDER_ID = GetUnitCurrentOrder(caster)
    set TEMP_UNIT = caster
    set LEVEL = level
    set ABIL_ID = abilityid 
    set SPELL_ID = chanceid //crucial, a unit must have this in order for him to be filtered
    call GroupEnumUnitsInRange(bj_lastCreatedGroup, xLoc, yLoc, aoe, function Filter$FUNC$)
endfunction
//! endtextmacro
//! runtextmacro TARGET("Point", "TargetOrderById(dummy, ORDER_ID, TEMP_UNIT)")
//! runtextmacro TARGET("None", "ImmediateOrderById(dummy, ORDER_ID)")

//call SM_TargetUnit(GetTriggerUnit(), GetSpellTargetUnit(), GetSpellAbilityId(), 1)
public function TargetUnit takes unit caster, unit target, integer abilityid, integer level returns nothing
    local unit dummy = CreateUnit(GetOwningPlayer(target), DUMMY_ID, GetUnitX(target), GetUnitY(target), 0)  
    local integer orderid = GetUnitCurrentOrder(caster)
    call UnitApplyTimedLife(dummy, 'BTLF', 2.0)
    call UnitAddAbility(dummy, abilityid)
    call SetUnitAbilityLevel(dummy, abilityid, level)
    call IssueTargetOrderById(dummy, orderid, caster)    
    set dummy = null   
endfunction

endlibrary
 

Attachments

  • SP Req.w3x
    52.3 KB · Views: 53
Last edited:
Level 2
Joined
May 17, 2011
Messages
10
I have been making a map and I am having problem with the trigger where everyone gets a random hero when host types a command. If you can help me I will really appreciate it.
 
Level 7
Joined
Feb 9, 2010
Messages
298
I've got requests for 2 spells!

1.
Well I couldn't find any videos about the wisps merging into an Ancient Wisp so I'll explain what happens in WBC3

- So 4 wisps are needed and the Ancient Wisp upgrade to be researched (wisps are normal peasant/builder units of the high elves in WBC3, IT'S a UNIT ability not hero ability) the hero plays no role in this!
It's like the archon ability in Starcraft with the only difference that there you need 2 units and here you need 4.

When you have selected the 4 wisps the ability "merge into Ancient Wisp" kind of gets able to activate so if you click it the four wisps (no matter where they are) run/move towards each other and when they are in a range (of somewhere about 500 of each other) they merge (like the wisps self destruct ability in WC3) creating only one bigger wisp called Ancient Wisp!

If you like I could add some pics on how it happens?!

I think that's all! But if someone has anymore questions? Just ask! :wink:

/\/\/\ That's the first ability! /\/\/\

2.
I want to have the Unholy Armor spell from Warcraft I - I'll explain how it works:
Unit A casts Unholy Armor on Unit B - Unit B becomes invincible (can be attacked by other units and be a target to spells as well but takes no damage during the spell's(Unholy Armor) effect lasts.
The moment the spell is cast it takes 45% of targeted unit's total HP BUT if the targeted unit (in this case Unit B) has less than 45% of his total HP it takes no damage from the spell!

Clear enough?

(I already have the part that inflicts 45% damage to the unit when cast and does no damage to it when it hasn't enough HP - so I need the rest)
I can add a map with what I have on this 2 spell until now if you like!
 
Level 10
Joined
Mar 19, 2010
Messages
622
Hey guys I'm back, with some request. Request can be done in any format.
Okey, let's get into the real business. There're three spell in total. One is a basic and two is normal ability, which have 5 level each. Basic ability have 30 level.
Basic ability is auto leveled when the hero level ups. Thus basic ability's level will be the same as the hero's.

]]Description: Every level Shaman grant 2 bonus agility points. Bonuses starts at level 1. Also enables Shaman to change his's binding type.After reaching level 20, Shaman grant an addition ability, which when active, and the two binding is of the same type, grants a special buff.

==Special Bonuses==
Fire: Every hit deals additional 40% damage to 225 AoE.

Earth: Reduce damage taken by 35%.

Wind: Lowers nearby enemy's attack rate by 20% and movement rate by 35%. Shaman's movement speed is increased by 35.

Water: Reganerates health at a rate of 3 per seconds and mana at a rate of 4 per seconds.

Storm: Increase attack speed by 15%. Defensive Storm's proc chance increased by 20% while Offensive Storm's is increased by 10%.

Note 1: This is a spell book typed ability, contain attribute bonuses and 2 dummy ability, which changes his elemental binding's type. One for defensive aone for offensive.
Note 2: Only the attribute bonus is levelled. The dummy ability have only 1 level.
Note 3: Even the attribute bonus(which grant agi) doesn't have to visible. But it can be, if needed.
Note 4: Actually the attribute doesn't have to be in the spell book, only if it doesn't show it's icon.


Description: Binds an element's power to Shaman's leg, granting him the defensive property of that elments.

Level 1: Able to grant Earth's binding, increase armor by 13.
Level 2: Able to grant Wind's binding, increase movement speed by 65%.
Level 3: Able to grant Water's binding, everytime the Shaman is attacked had 35% chance to grant 3% max mana and 2% max health.
Level 4: Able to grant Fire's binding, everytime the Shaman is attacked he had 25% chance to deals 50% of Shaman's Agility in damage to attacker.
Level 5: Able to grant Storm's binding, increase speed by 35% and when attacked, had 15% chance to deals 85% agility in damage and purges attacker.

Note: Only one kind of defensive binding can be active at a time. Type of binding is switched through the dummy ability in the basic spell's spell book.


Description: Binds and element's pwoer to Shaman's hand, enchanting his fighting capabilities according to the elements.

Level 1: Able to grant Fire's binding, increase attack damage by 35%.
Level 2: Able to grant Wind's binding, increase attack speed by 85%.
Level 3: Able to grant Earth's binding, increase attack damage by 22% and a 20% chance to bash target, deals 135% bonus damage.
Level 4: Able to grant Water's binding, everytime the Shaman attacks he had 35% to replanish 1.5% of max life and mana.
Level 5: Able to grant Storm's binding, everytime the Shaman attacks he had 15% to unleash a chain lightning, dealing 175 damage to 2 addition target. Primary target recieve an addition 18% of Shaman's attack damage as pure damage.

Note: Only one kind of offensive binding can be active at a time. Type of binding is switched through the other dummy ability in the basic spell's spell book.


Some more notes:
1. Just to be clear, like for both binding, at level 1, you cannot switch it, cuz you only have one kinds of binding to switch to, so switching will result in no change.

2. The initial binding for both spell, is the one that granted on first level. This will be the default binding. Meaning if the Hero died, he will re-spawn with the two default binding.

3. Like stated above, the basic spell's spell book will have one addition ability at 15 lvl, so at the end there will be 4 spell(attribute, offensive change, defensive change and mix element) in the spell book.

4. Spell no need to be MUI. Cuz only one hero will be using this spell.
 
Level 12
Joined
Dec 25, 2010
Messages
972


Ryan Alexander Blake, the Lich King - Str/Int Hybrid[r]
Abilities:

Innate:

Frozen Armor - [Passive]
The less life the Lich King has, the more armor he has as his escaping life energy freezes his armor. He gains 1 armor for every 1% life missing. If the Lich King's life is under X%, water freezes on his armor in the form of spikes, dealing [STR] damage to enemies hitting him.


Freeze Life - [Area Target]
Every alive unit in the target area take [INT] damage and is frozen for X seconds. If the unit is hit while frozen, he takes [STR] damage for each second left from the ability and the effect on him ends.


Deep Darkness - [Area Target]
For X seconds, the target area is shrouded for every enemy unit, including those inside the area. If a unit dies in the area, a shadow fiend is summoned at his location, with stats depending on the INT of the Lich King.


Winds of Death - [No Target]
For X seconds, freezing winds surround the Lich King, dealing [INT] damage every second to every enemy in range. If an enemy dies in the range while this effect is active, it becomes an undead for [INT] seconds.


Deadly Pulse - [Area Target/No Target]
Within X range, every undead gain [STR] life while alive beings suffer the same damage. If a unit dies because of this effect, a deadly pulse with smaller range is cast and his body explodes.

Must be on GUI or VJASS, Leakless and Lagless.
Normal Spells max level is 5
Innate Spell Max Level is 1
Health Percentage on Frozen Armor is 30%
Set Character model to the one below: Arthas DK.
 
Last edited:
Level 37
Joined
Aug 14, 2006
Messages
7,614
Hello!

So I hope this place is still active and you guys are still making spells.

I would like to also request a spell. I hope you could do this spell with GUI so that eventually I can easily add it to my project. It doesn't need to be MUI as the project is a singleplayer RPG. So here we go:

Creates 3 illusion copies of the caster and makes him enter another dimension temporarily healing it 5% per second. When all the illusions are dead the caster returns to the world to fight once again.
 
Level 7
Joined
Feb 9, 2010
Messages
298
What now?

I didn't quite clearly understood, THIS THREAD IS NOT WORKING is that right?

Is there anyone here who can make spells?
 
Level 12
Joined
Jan 30, 2009
Messages
1,067
This workshop lasted 14 months. I think that's a job well done by everyone involved. Kudos to all of you. (Def, Mckill) You also managed to learn JASS, which I know is what you guys wanted. Congratulations!

Unfortunately this thread dying marks the end of my own interest in THW, as I no longer make maps on wc3. I simply kept checking here to see if there were some tables or explanations I could come up with to help the spellmakers understand better. :)

Later!
 
Last edited:
Level 33
Joined
Mar 27, 2008
Messages
8,035
I'll try to work from time to time, don't just mark this thread is dead, please :)
It's just that I'm not active as ever
If you still believe in this thread, continue making request, if not, you can have yourself at another thread, thank you :)

Ok, here are the list of spells that I'd like to make;

Unholy Armor
I want to have the Unholy Armor spell from Warcraft I - I'll explain how it works:
Unit A casts Unholy Armor on Unit B - Unit B becomes invincible (can be attacked by other units and be a target to spells as well but takes no damage during the spell's(Unholy Armor) effect lasts.
The moment the spell is cast it takes 45% of targeted unit's total HP BUT if the targeted unit (in this case Unit B) has less than 45% of his total HP it takes no damage from the spell!
Ryan Alexander Blake The Lich King
Abilities:

Innate:

Frozen Armor - [Passive]
The less life the Lich King has, the more armor he has as his escaping life energy freezes his armor. He gains 1 armor for every 1% life missing. If the Lich King's life is under X%, water freezes on his armor in the form of spikes, dealing [STR] damage to enemies hitting him.


Freeze Life - [Area Target]
Every alive unit in the target area take [INT] damage and is frozen for X seconds. If the unit is hit while frozen, he takes [STR] damage for each second left from the ability and the effect on him ends.


Deep Darkness - [Area Target]
For X seconds, the target area is shrouded for every enemy unit, including those inside the area. If a unit dies in the area, a shadow fiend is summoned at his location, with stats depending on the INT of the Lich King.


Winds of Death - [No Target]
For X seconds, freezing winds surround the Lich King, dealing [INT] damage every second to every enemy in range. If an enemy dies in the range while this effect is active, it becomes an undead for [INT] seconds.


Deadly Pulse - [Area Target/No Target]
Within X range, every undead gain [STR] life while alive beings suffer the same damage. If a unit dies because of this effect, a deadly pulse with smaller range is cast and his body explodes.
Temporal Dimension
Creates 3 illusion copies of the caster and makes him enter another dimension temporarily healing it 5% per second. When all the illusions are dead the caster returns to the world to fight once again.
NOTE: Working alone now, as of mckill had resigned. Anyone can join this thread and help each other out, that's the concept of teamwork and sharing :)

EDIT:
Unholy Armor is done, tell me what needs to be fixed :)
 

Attachments

  • Unholy Armor.w3x
    15.6 KB · Views: 42
Level 12
Joined
Dec 25, 2010
Messages
972
It's good that you are online ^^

EDIT:
Change my request to this one:


Ryan Alexander Blake - Divine Crusader (Strength)[r]
Abilities:


Blinding Light - No Target
Ryan calls forth a holy light to aid him in battle. Any unit that was near Ryan when he casted the spell will miss ??% on their attacks.


Divine Cloud - No Target
Ryan chants a spell and a Divine Cloud appears from top of his head to accompany him in battle. Whenever Ryan is Attacked, the Divine Cloud releases a burst of heavenly energy which can either deal ?? damage to the attacker or heal Ryan for ?? Health Points.


Blade of Repent - No Target
Ryan infuses his weapon with holy energy which makes his weapon emit a strange light. Any unit that get's hit while Ryan has the Blade of Repent Buff will receive a Repent Buff. A unit with Repent Buff will be surrounded by Holy Light while receiving ?? damage per second. If unit with Repent Buff gets a Blinding Light Buff, It will then be slowed by ??% of it's movement speed for ? seconds.


Angel's Presence - Passive
Angel's Presence will only take Effect if Divine Cloud is present. Any allied unit near Ryan while Divine Cloud and Angel's Presence is under effect will receive ? Armor and has a ??% chance to get healed by the Divine Cloud.
Ultimate:


Angelic Blessing - No Target
Ryan receives a holy surge as a Blessing from the heaven's. He then transforms into an Angel for ?? Seconds. While Ryan is in Angelic Form the Effect of Blade of Repent gets doubled and the Healing Effect of Divine Cloud also increases and the Area of Effect of Angel's Presence Increases. Ryan deals pure holy damage and will ignore Armor Damage Reduction's while in Angelic Form.



Divine Explosion - Passive
If Ryan's Health fall below ??% while in Angelic Form, a Holy Light then emerges from his body and then will explode after ? seconds. Ryan then regains ?? Health Points for every unit that was hit by the explosion.
 
Last edited:
Level 12
Joined
Jan 30, 2009
Messages
1,067
Glad to see you're still around, Def! If you need me to write up a table or help explain some stuff, I will be checking here a few times a day. I'm quite busy with day-to-day operations of my gaming community, and working on our MMORPG that we're making, plus IRL and work, etc., but I have this thread subbed and I check every few hours. :)
 
Level 6
Joined
Mar 31, 2009
Messages
247
I want to make this:

Like in WoW Heroes gain level, but need to spend gold buying spells.
I want to make Heroes without spells, can only buy it with a class trainer. Class trainer sells upgradeable spells (ex: storm bolt level 1... then storm bolt level 2 requires level 3... and so on to buy the upgrades)...

Heroes need items to make damage (like in world of ancient saga desert wind www.worldofancientssaga.webs.com) and his spells do weapon damage + % an stats (ex: Storm bolt do 100% weapon damage + 100% of basic heroe agility).

And if possible, an achivement system who chance the Hero Name or something like this...

Please help me with this!!! Thanks!!!
 
Level 12
Joined
Jan 30, 2009
Messages
1,067
@sammath that was a rather vague and busy post there, let me see if I can make some sense of this, cuz it doesn't make much sense to me...

The first part, buying spells, is quite simple. Make a bunch of "spells" that are dummy items. Make the item buying requirements be level-based, and have them cost gold to buy. Also, you may want to introduce a failsafe so that you can only buy it once, because let's face it, people can be dumb. Once you have the "spells" made, you need to make a trigger that adds the spell to the hero when the "spell" item is bought from the trainer. That will do what you want.

Needing items to make damage, so you mean something like orb of fire, etc to add additional damage to your weapon attacks?

Achievement system that will announce to the other players when a person gets an achievement?
 
Level 6
Joined
Mar 31, 2009
Messages
247
Thanks fo the answer and now let see...

The achievement system that I want is something like change player name (I'm thinking right now in a floating text over player hero with the rank or achievement name he granted).

For the hero item damage you'll need to see the map I mentioned. Heroes has no attack icon or damage (he still can attack for no damage), when he equip a weapon he can do the weapon damage showed in the leaderboard.

And the trainer class stuff now I have a idea thanks to you! Previously it thought about that it would need make an upgrade system to buy you the spells to the main character.
 
For the achievement system, i think you don't need your help, except if you haven't code the achievements (except for the message).

You just need this :

  • Player - Set name of PLAYER (TRIGGERING OR OTHER) to ((Name of PLAYER + ACHIEVEMENT NAME))
For exemple, if you have an achievement-trigger using Triggering Player and called "Killer", it will be :
  • Player - Set name of (Triggering player) to ((Name of (Triggering player) + Killer))
You can also add "( )" around the achievement name, for have names like this : "sammath (Killer)" instead of "sammath killer".
 
Level 6
Joined
Mar 31, 2009
Messages
247
Hmm a good answer friend!!! Now when players complite tasks (quests) will change his name thanks to you Vladadamm.
 
Level 12
Joined
Jan 30, 2009
Messages
1,067
If you need further explanation on how to do the spell training, please just let me know. Here to help.
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
Spell Name: Launch the Catapult
Type: Target Ground
Prefferably in GUI, doesn't need to be nor MUI nor MPI
What it does:

The spell will only activate if number of units owned by the caster in 1000 AOE except for him is equal to 1 or more, else it will issue a stop order and give an error message.

If there is more than 1 then it will launch a missile which will always land exactly in 5 seconds at the target location, regardless of distance (missile could be the hurl boulder I suppose, it should fly in a parabola way (into air and then down)). When the missile lands it will create a new effect (it will be imported so you can put anything), a ground ripple happens (I'll edit it's values) and it will damage all units in 600 AOE for 300 damage.
 
Level 12
Joined
Apr 26, 2008
Messages
830
I need a System:

Name: Spawning System

It spawns a number of units (you can set the number) in an area and cannot spawn more than the set number, when a unit dies after 30 seconds a new one is spawned, each unit spawned is a hero, when spawning the level is added too, BUT the units level has to go up from Level 1 . Example:The wished level for the unit is 36, so you start a trigger that adds 1 level each 0.01 seconds, so in 0,36 seconds , your pokemon got the level you wanted, it's important that you do it this way because I need it for other systems to work.

Tell me if it's possible to do this, thanks.:thumbs_up:

Would prefer GUI/MUI.
 
Level 5
Joined
Aug 25, 2010
Messages
120
Hy!

i wanna to request an ability.
It would be a non-hero passive ability, which remove all buff from the attacked unit.
I tried the orb of lightning, but it's not enough good.

Can you help me?
 
Status
Not open for further replies.
Top