• 🏆 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!

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

Status
Not open for further replies.
Level 22
Joined
Feb 3, 2009
Messages
3,292
The balanced version works great. Thanks Ironside.
I have a spell though Im not sure how to create.
Its similar to the Life Drain spell, except you target allies, and while the spell is channeling, the one casting the spell has its mana drained, while the targeted ally has its health rise. Should drain around 20 mana per second. Lasts until the channel is interrupted, or the hero runs out of mana.
Level 1: Heals for 20 per second.
Level 2: Heals for 30 per second.
Level 3: Heals for 40 per second.

Spell is done:
 

Attachments

  • THW_wakawl transfer.w3x
    23.3 KB · Views: 32
Last edited:
Level 12
Joined
Dec 25, 2010
Messages
972
Criss Cross:
Roxas twirls his Keyblades in a wide cross-circle, and unleashes a shockwave on a wide vision.
Level 1: 25 Dmg
Level 2: 50 Dmg
Level 3: 75 Dmg
Level 4: 100 Dmg
Level 5: 125 Dmg
---------------------------------------------------------------------------------------------------------------
13 Beams:
Roxas starts slashing about, sending beams of light (shaped like the Nobody insignia, showing his devotion to Organization XIII) at his enemies. After he sends out about 8-9 beams he will dash forward and send out the last behind him as to hit anyone who might have moved behind him.
Level 1: 30 Dmg
Level 2: 60 Dmg
Level 3: 90 Dmg
Level 4: 120 Dmg
Level 5: 150 Dmg
---------------------------------------------------------------------------------------------------------------
Shockwave Thrust:
Roxas will dash forward with blinding speed with one of his Keyblades pointed forward while propelling himself with his powers.
Level 1: 25 Dmg
Level 2: 50 Dmg
Level 3: 75 Dmg
Level 4: 100 Dmg
Level 5: 125 Dmg
---------------------------------------------------------------------------------------------------------------
Magic Hour:
Roxas summons light beams as a sort of shield and rises into the air glowing with energy and sends out even more energy to the background revealing the area where Sora unlocks Keyholes to other worlds, then he summons a pair of light orbs as he twirls both of his Keyblades to send out homing energy projectiles at his enemies.
Level 1: 100 Dmg
Level 2: 200 Dmg
Level 3: 300 Dmg
 
Level 3
Joined
Aug 9, 2011
Messages
22
In the test map or your map?

If in your map then you probably imported it wrong.
In the test map it worked for me...

I must've imported it wrong then.
Basically, what I did was open up the test map, copied the spell by finding it in the object editor and used edit>copy ability. I closed that map and opened up my map, went to the abilities tab and used edit>paste ability.

I can post the data for it from the abilities tab if that'd help.
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
Ok, than can you do this spell for me:

Focuses Earthmother's fury onto the target. After 1.5 seconds, the target, along with all enemies within 250 area are impaled into the air for 1.25/1.5/1.75 seconds, after which they are stunned for 1 second. They take 175 magic damage.

Guess I'll attempt this then.. The impale effect will be based on the impale spell, because it's possible...
 
Level 22
Joined
Feb 3, 2009
Messages
3,292

Attachments

  • ChainLightingTry.w3x
    20.3 KB · Views: 32
Level 10
Joined
Nov 24, 2010
Messages
546
Thank you this thread is epic:). You allready have position on "Special thanks" list

Here is another request when you have time.:

System, witch allows players to set thier names. So player type:
-setname XX
it will creat floating text around him and also moving with him
if it is possible, make also
-hidename ---> -showname
Thank you :)
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
Thank you this thread is epic:). You allready have position on "Special thanks" list

Here is another request when you have time.:

System, witch allows players to set thier names. So player type:
-setname XX
it will creat floating text around him and also moving with him
if it is possible, make also
-hidename ---> -showname
Thank you :)

Well what should the floating text show?
What do hide and show name do?
 
Level 10
Joined
Nov 24, 2010
Messages
546
floating text should show -setname XX
XX is value what player type,
Example -setname Ironside
it will show floating text about hero of player
-hidename -- hidesname
-showname -- shows it again

|cffffcc00Color Code|r. ---> this is color code for name of player.
 
Level 3
Joined
Jun 7, 2011
Messages
59
I'll do it when I finish the current spell.

EDIT:

Rector23: Your spell is done
Credits to Bribe for the index system.

Thanks, although i won't be using bribe's index system, i have another way of mui-ing and if not i didn't really need the spell to be mui. Thanks a lot anyways, i just couldn't figure out how to make it :p.

I did change the game-message into floating text, it works still.
 
Level 22
Joined
Feb 3, 2009
Messages
3,292
floating text should show -setname XX
XX is value what player type,
Example -setname Ironside
it will show floating text about hero of player
-hidename -- hidesname
-showname -- shows it again

|cffffcc00Color Code|r. ---> this is color code for name of player.

Sorry, all that sounds rather difficult, I'll leave it to someone else.
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
Okay thanks anyway.

Still need some spells for my map:
Can you make Lighting shield?
Cause Caster to Buff Target with lighting shield. All units around Buffed Target gets 0.2x Inteligence of caster damage per 1 sec
this is hard too ? :ogre_frown: :(
The spell is done, check the first page.
Bump, and can you make Multi shot? .
Shoots 3 arrows to random 3 enemy units near caster dealing attackpower x 1 damage?
attackpower is... ?
Your normal damage or something ?
 
Level 12
Joined
Aug 12, 2008
Messages
349
Spell request:
Spell Description
Diffract out 5 magical pulses towards the cast direction. The magical pulse will diffuse into nearby enemy, slowing the enemy attack speed and movement speed for 3.5 seconds.
Slow: 5% + 5% per lvl
Condition: GUI MUI (vJASS acceptable but try to make it GUI friendly)
This spell is exactly the same as the Multi Arrow Shoot in the Formula Thread; ===Formula Thread===
Just that I want to make it travel max at 700 range. Besides, I want the magical pulse to slow only one unit (the first unit that the pulse collide with) then the magical pulse will remove.
Magical pulse model is shockwave with the tinting colour- R=125, G=0, B=125
If the above spell is impossible to be made then I guess never mind, I still can think of other spell for my hero :3
 
Level 29
Joined
Mar 10, 2009
Messages
5,016
I ve found a bug
when I use the 13 beams it causes the hero to become invulnerable but then
it stays invulnerable

opps, I did not change the 'UnitAddAbility'

replace it to this...

Criss Cross:
JASS:
call ShowUnit(data.caster, false)
call UnitRemoveAbility(data.caster, 'Aloc') //<<< replace with this
call ShowUnit(data.caster, true)

Beams:
JASS:
call ShowUnit(.caster, false)
call UnitRemoveAbility(.caster, 'Aloc') //<<< replace with this
call ShowUnit(.caster, true)

About the Shockwave Thrust, just copy this code and input the correct raw code...

JASS:
//Spell Name: Shockwave Thrust
//Made by: Mckill2009

scope SWT

globals
    private constant hashtable                HASH = InitHashtable() //Dont touch!
    private constant integer              SPELL_ID = 'A003' //Based on Carrion swarm
    private constant real                      AOE = 250
    private constant real              TRUST_SPEED = 30
    private constant real                  TIMEOUT = 0.03125
    private constant string             THRUST_SFX = "Abilities\\Spells\\Orc\\Shockwave\\ShockwaveMissile.mdl"
    private constant attacktype                ATK = ATTACK_TYPE_NORMAL
    private constant damagetype                DMG = DAMAGE_TYPE_NORMAL
endglobals

private function Damage takes integer i returns real
    return 25 + i * 25.
endfunction

private module Init
    private static method onInit takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t, Condition(function thistype.go))
        set t = null
    endmethod
endmodule

private struct SW
    unit caster
    integer level
    real angle
    real distance
    real distx
    real damage
    real x
    real y
    
    static thistype DATA
    
    static method onFilter takes nothing returns boolean
        local unit u = GetFilterUnit()
        local SW this = DATA
        if GetWidgetLife(u) > 0.405 and IsUnitEnemy(.caster, GetOwningPlayer(u)) and not IsUnitType(u, UNIT_TYPE_FLYING) then
            call UnitDamageTarget(.caster, u, .damage, false, false, ATK, DMG, null)
        endif
        set u = null
        return false
    endmethod    
    
    static method looper takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local SW this = LoadInteger(HASH, GetHandleId(t), 1)
        local real x
        local real y
        local real x1 = GetUnitX(.caster)
        local real y1 = GetUnitY(.caster)
        if .distance > .distx then
            set .distx = .distx + TRUST_SPEED
            set x = .x+.distx*Cos(.angle)
            set y = .y+.distx*Sin(.angle)
            call SetUnitX(.caster, x)
            call SetUnitY(.caster, y)
            call DestroyEffect(AddSpecialEffect(THRUST_SFX, x1, y1))
            set DATA = this
            call GroupEnumUnitsInRange(bj_lastCreatedGroup, x1, y1, AOE, Filter(function SW.onFilter))
        else
            call .destroy(this)
            call FlushChildHashtable(HASH, GetHandleId(t))
            call PauseTimer(t)
            call DestroyTimer(t)
        endif
        set t = null   
    endmethod
    
    static method create takes unit u, integer level returns SW
        local SW this = SW.allocate()
        local timer t = CreateTimer()
        local real x1 = GetSpellTargetX()
        local real y1 = GetSpellTargetY()
        local real dx
        local real dy
        set .caster = u
        set .level = GetUnitAbilityLevel(u, SPELL_ID)
        set .x = GetUnitX(u)
        set .y = GetUnitY(u)
        set dx = x1-.x
        set dy = y1-.y
        set .angle = Atan2(y1-.y, x1-.x)
        set .distx = 0
        set .distance = SquareRoot(dx*dx+dy*dy)
        set .damage = Damage(.level)*TIMEOUT
        call SaveInteger(HASH, GetHandleId(t), 1, this)
        call TimerStart(t, TIMEOUT, true, function SW.looper) 
        set t = null
        return this
    endmethod
    
    static method go takes nothing returns boolean
        local unit u
        local integer level
        if GetSpellAbilityId()==SPELL_ID then
            set u = GetTriggerUnit()
            set level = GetUnitAbilityLevel(u, SPELL_ID)
            call SW.create(u, level)
        endif
        set u = null
        return false
    endmethod
    
    implement Init
    
endstruct

endscope


@Jay the Editor
I'll try that after Foxhound03's request...
 
Level 6
Joined
May 9, 2011
Messages
228
Can you make me a spellpack guys for my hero "Brock the Barbaric"
-make the spell Gui so i can easily import
-make it also configurable

Blood Rage (Active)
Description:
Brock taps on his life source to send out a wave of anguish that deals damage to enemies in an area of 400, based on the amount of health used. Enemies that are hit by the wave starts bleeding, causing them to be pasued temporarily.

Level 1 - 20% of max health points used. Enemies bleed for 2.0 seconds.
Level 2 - 30% of max health points used. Enemies bleed for 2.5 seconds.
Level 3 - 40% of max health points used. Enemies bleed for 3.0 seconds.
Level 4 - 50% of max health points used. Enemies bleed for 4.0 seconds.

Healthcost - 20%/30%/40%/50% of max HP


Barbarian's Blood (Passive)
Description:
Brocks feels each of his wounds and channels the pain, increasing attack speed and damage for each 7% missing health. First bonus starts at full health.

IAS - "increasing attack speed"

Level 1 - 7% IAS and 20 damage per stack
Level 2 - 10% IAS and 30 damage per stack
Level 3 - 15% IAS and 40 damage per stack
Level 4 - 15% IAS and 50 damage per stack


Blood Thirst (Passive)
Description:
Brock has an overwhelming desire for blood. On every attack, Brock heals himself and his nearby allies based on the damage dealt. For every 1% of his health missing, it increases the lifesteal rate by 0.2%.

Level 1 - 10% of damage as base lifesteal.
Level 2 - 15% of damage as base lifesteal.
Level 3 - 20% of damage as base lifesteal.
Level 4 - 25% of damage as base lifesteal.

Orb Effect
 
Status
Not open for further replies.
Top