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

Hero Contest #7 - Classic

Status
Not open for further replies.
Level 4
Joined
Jun 23, 2013
Messages
23
Hey there. This is the first time I participate in a contest. :3
WIP:
Race: Human
Theme: Naval/Pirate
Attribute: Agility
Role: Hero killer/Assassin

Is this sufficient for a WIP?
 
first spell WIP
JASS:
scope FrozenSpellpack

    globals
        private constant integer DUMMY_ID = 'h000'
        private constant real SFX_DECAY_TIME = 5.0
    endglobals
    
    private module FrostwaveData
        
        static constant integer SPELL_ID = 'A000'
        static constant integer SHARD_COUNT = 7
        static constant real LAUNCH_Z = 40.0
        static constant real SPEED_MIN = 20.0
        static constant real SPEED_MAX = 50.0
        static constant real ACCELERATION = 5.0
        static constant real TURN_RATE = 6.0 * bj_DEGTORAD
        static constant string MISSILE_PATH = "war3mapImported\\IceBolt.mdx"
        
        static constant method aoe takes integer l returns real
            return 100.0
        endmethod
        
        static constant method damage takes integer l returns real
            return 60.0 * l
        endmethod
        
        static constant method duration takes integer l returns real
            return 2.75
        endmethod
        
    endmodule
    
    native UnitAlive takes unit id returns boolean
    
    private function getDistance takes real x, real y, real xt, real yt returns real
        return SquareRoot((xt - x) * (xt - x) + (yt - y) * (yt - y))
    endfunction
    
    private function getAngle takes real x, real y, real xt, real yt returns real
        return Atan2(yt - y, xt - x)
    endfunction
    
    private function isInBound takes real x, real y returns boolean
        return x >= WorldBounds.minX and x <= WorldBounds.maxX and y >= WorldBounds.minY and y <= WorldBounds.maxY
    endfunction

    private struct Freeze
    
        static method apply takes unit u, real dur returns thistype
        
            local thistype this = allocate()
        
            return this
        endmethod
        
    endstruct
    
    scope Frostwave
        
        private module KillShard
            call UnitApplyTimedLife(i.m.u[j], 'BTLF', SFX_DECAY_TIME)
            call DestroyEffect(i.m.e[j])
            set i.m.e[j] = null
            set i.m.u[j] = null
            set i.m.b[j] = false
            set i.m.c = i.m.c - 1
            if i.m.c < 0 then
                call i.m.destroy()
                set b = true
            endif
        endmodule
        
        private struct data extends array
            implement FrostwaveData
            static constant real TAU = bj_PI * 2
            static constant real ANGLE_ADD = TAU/data.SHARD_COUNT
            static constant player PASSIVE = Player(PLAYER_NEUTRAL_PASSIVE)
        endstruct
            
        private keyword Frostwave
        
        private struct IceShard
            
            readonly integer c
            
            readonly real array s[data.SHARD_COUNT]
            readonly real array a[data.SHARD_COUNT]
            
            readonly real array x[data.SHARD_COUNT]
            readonly real array y[data.SHARD_COUNT]
            
            readonly unit array u[data.SHARD_COUNT]
            
            readonly boolean array b[data.SHARD_COUNT]
            
            readonly effect array e[data.SHARD_COUNT]
            
            private static method inRadius takes real x, real y, real xt, real yt, real r returns boolean
                return (x - xt) * (x - xt) + (y - yt) * (y - yt) <= r * r
            endmethod
            
            static method move takes Frostwave i returns boolean
                
                local integer j = 0
                local boolean b = false
                local real a
                
                loop
                    exitwhen j > data.SHARD_COUNT
                    
                    if i.m.b[j] then
                        set i.m.x[j] = i.m.x[j] + i.m.s[j] * Cos(i.m.a[j])
                        set i.m.y[j] = i.m.y[j] + i.m.s[j] * Sin(i.m.a[j])
                        
                        if isInBound(i.m.x[j], i.m.y[j]) then
                            if inRadius(i.m.x[j], i.m.y[j], i.tX, i.tY, i.m.s[j]) then
                                implement KillShard
                            else
                                set a = getAngle(i.m.x[j], i.m.y[j], i.tX, i.tY)
                                call SetUnitX(i.m.u[j], i.m.x[j])
                                call SetUnitY(i.m.u[j], i.m.y[j])
                                call SetUnitFacing(i.m.u[j], i.m.a[j] * bj_RADTODEG)
                                
                                if data.TURN_RATE != 0 and Cos(i.m.a[j] - a) < Cos(data.TURN_RATE) then
                                    if Sin(a - i.m.a[j]) >= 0 then
                                        set i.m.a[j] = i.m.a[j] + data.TURN_RATE
                                    else
                                        set i.m.a[j] = i.m.a[j] - data.TURN_RATE
                                    endif
                                else
                                    set i.m.a[j] = a
                                    set i.m.s[j] = i.m.s[j] + data.ACCELERATION
                                    if i.m.s[j] > data.SPEED_MAX then
                                        set i.m.s[j] = data.SPEED_MAX
                                    endif
                                endif
                            endif
                        else
                            implement KillShard
                        endif
                    endif
                    
                    set j = j + 1
                endloop
                
                return b
            endmethod
            
            static method create takes real x, real y, real f returns thistype
                
                local thistype this = allocate()
                local integer i = 0
                
                set f = f - data.ANGLE_ADD * (data.SHARD_COUNT/2)
                
                set .c = data.SHARD_COUNT - 1
                
                loop
                    exitwhen i > .c
                    
                    set .s[i] = data.SPEED_MIN
                    set .a[i] = f
                    set .b[i] = true
                    
                    set .x[i] = x
                    set .y[i] = y
                    set .u[i] = CreateUnit(data.PASSIVE, DUMMY_ID, x, y, f * bj_RADTODEG)
                    set .e[i] = AddSpecialEffectTarget(data.MISSILE_PATH, .u[i], "origin")
                    
                    if UnitAddAbility(.u[i], 'Amrf') and UnitRemoveAbility(.u[i], 'Amrf') then
                    endif
                    call SetUnitFlyHeight(.u[i], data.LAUNCH_Z, 0)
                    
                    set f = f + data.ANGLE_ADD
                    set i = i + 1
                endloop
                
                return this
            endmethod
            
        endstruct
        
        private struct Frostwave extends array
            
            unit c
            
            player p
            
            real tX
            real tY
            
            real a  // AoE
            real d  // Damage
            real r  // Duration
            
            IceShard m
            
            implement CTL
                local boolean b
                
            implement CTLExpire
                set b = IceShard.move(this)
                if b then
                    call destroy()
                endif
            implement CTLEnd
            
            private static method onCast takes nothing returns boolean
                
                local thistype this = create()
                local integer l
                local real a
                local real x
                local real y
                
                set .c = GetTriggerUnit()
                set .p = GetTriggerPlayer()
                
                set x = GetUnitX(.c)
                set y = GetUnitY(.c)
                set .tX = GetSpellTargetX()
                set .tY = GetSpellTargetY()
                
                set l = GetUnitAbilityLevel(.c, data.SPELL_ID)
                set a = getAngle(x, y, .tX, .tY)
                set .m = IceShard.create(x, y, a)
                
                set .d = data.damage(l)
                set .a = data.aoe(l)
                set .r = data.duration(l)
                
                return false
            endmethod
        
            static if not LIBRARY_SpellEffectEvent then
                private static method check takes nothing returns boolean
                    if GetSpellAbilityId() == data.SPELL_ID then
                        call thistype.onCast()
                    endif
                    return false
                endmethod
            endif
            
            private static method onInit takes nothing returns nothing

                local trigger t
                
                static if LIBRARY_SpellEffectEvent then
                    call RegisterSpellEffectEvent(data.SPELL_ID, function thistype.onCast)
                else
                    set t = CreateTrigger()
                    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
                    call TriggerAddCondition(t, Condition(function thistype.check))
                endif
                
            endmethod
            
        endstruct
    endscope
    
endscope

I feel really sad for those who waste time on coding spells, if anyone is wondering why, there is a spell download section. Also, you don't have to code in Jass to make good spells. Just create new ones based on the old ones in the object editor.
 

Kazeon

Hosted Project: EC
Level 34
Joined
Oct 12, 2011
Messages
3,449
I feel really sad for those who waste time on coding spells, if anyone is wondering why, there is a spell download section. Also, you don't have to code in Jass to make good spells. Just create new ones based on the old ones in the object editor.

Thought it's not allowed :/
It's okay for system, not for spell: that's a good rule.

And we have 1 month so why not? 1 day for 1 spell, more than enough.

I'm working at two spellpacks: wind (jass) and ice (vJass) spellpack, and I still dunno which one I will submit here. Depends on which one will be finished first.
 
Level 26
Joined
Mar 19, 2008
Messages
3,140
Captain obvious: incoming transmission...

@A Void - you drunk or smthing? Copy + Paste is not allowed, L.O.L.

Plus, this is why we post WIPs - pieces of code written by YOU to at least "pretend" you did something on your own.

Many of spells coded in spell section might not fit his needs: both efficiency and effect wise. Also the "outdated" keyword might be usefull one here. Everyone with enough sanity knows that after copying spells, you usually want to apapt it perfectly for your map/needs - at least this is the approach most of the experienced coders follow (if they are not coding entire script on their own already..).

Bonus points for everyone who creates his OWN hero - not an abomination created via merging multiple resources of others into single flesh.
Whatmore, his script looks very promising and is efficient - could use some modularity in case of multiple existing resources tho. I bet you are just jellous because you don't really know how to code simple queue, not even talking about advanced effects.

Captain obvious: transmission over...
 
Captain obvious: incoming transmission...

@A Void - you drunk or smthing? Copy + Paste is not allowed, L.O.L.

Plus, this is why we post WIPs - pieces of code written by YOU to at least "pretend" you did something on your own.

Many of spells coded in spell section might not fit his needs: both efficiency and effect wise. Also the "outdated" keyword might be usefull one here. Everyone with enough sanity knows that after copying spells, you usually want to apapt it perfectly for your map/needs - at least this is the approach most of the experienced coders follow (if they are not coding entire script on their own already..).

Bonus points for everyone who creates his OWN hero - not an abomination created via merging multiple resources of others into single flesh.
Whatmore, his script looks very promising and is efficient - could use some modularity in case of multiple existing resources. I bet you are just jelous because you don't really know how to code simple queue, not even talking about advanced effects.

Captain obvious: transmission over...

Well, this is "Hero Contest" not Jass Coding Spells contest. You can use GUI or even CnP. I can download spells from the spell section, I could care less about "abomination", mr.Captain obvious..
 
Level 25
Joined
Jun 5, 2008
Messages
2,572
Well, this is "Hero Contest" not Jass Coding Spells contest. You can use GUI or even CnP. I can download spells from the spell section, I could care less about "abomination", mr.Captain obvious..

You couldn't be more wrong:

All spells for the hero must be created specifically for this contest, there will be no previously-made spells allowed.
 
Level 26
Joined
Mar 19, 2008
Messages
3,140
A Void - you are being toxic or meaby (rather) uninformed. Whatmore, you spread false info.

Triggering/anything.. is allowed! No matter which way you choose to create your hero spells with, just make sure that those are made properly and efficiently.
There aren't any bonus points for using jass/vjass/wurst/whateva. If you choose to trigger your stuff via GUI triggers, judge will be judging your spells with GUI-meta in mind. This way, none feels restricted or punished because he used this or that method.
 

Kazeon

Hosted Project: EC
Level 34
Joined
Oct 12, 2011
Messages
3,449
first spell has done, not exactly the same as my expectation :(
a.jpg
 
Afterall you can argue in README file of some kind that you took charge after Cenarius and as of now, Night Elves enjoy white colour more than they once have blue.
So, Polar Furbolg it is.

Polar Furbolg's are neutral hostile race, they are not friendly with any humanoids such as Humans, Night Elves and Orcs. Because they are isolated in Northrend, polar furbolg's differ from the standard furbolgs that live in the Ashenvale forest. There are multiple species of the same race, polar species of the furbolgs are not so intelligent as the Ashenvale ones. It is not lore friendly to have "polar" Furbolg's in Night Elf race. Wiki.

Independent.
 
Capt obvious please, you haven't corrected anyone - you didn't get an irony.
Dude please, you are talking to someone who read war3 lore couple of times already.

Stop being childlish, everyone already pointed out that points you have made during "lets copy some stuff" discussion were wrong.

Over..

So they say.. You are being childish with that "over", "capt obvious"- how old are you? twelve? nevertheless I will respect the rules and will ignore you with no further notice. PS: Your grammar is failing. :)

Sry Off-Topic
 
Yes it is, it was made by Kuhneghetz. I will recreate the alpha Ranger hero from the alpha version of Warcraft III. It will include custom model, abilities and icons.

I know you're doing this deliberately but still...

Something you obviously need to follow i.e THE RULES said:
The hero must be made with only In-Game Resources, which means no Custom Resources (models, textures, icons, etc). Specifically, that means Resources that can be found in War3.mpq, War3x.mpq, War3xlocal.mpq, & War3Patch.mpq. The only exceptions to this rule would be

A) A custom "Dummy" model for Dummy Casters or Dummy Projectiles (see below)
B) A modified version of an existing in-game icon to increase functionality ONLY (i.e. creating a Passive-version, or Autocast-version, or Regular-version, etc); i.e. only Border-change.
C) A custom "Hero Glow" model (Chest, Weapon, etc) for use in making Unit models into better-fitting Hero models.
D) An existing In-Game model, modified to have Dissipate anims instead of Decay.
 
Well, then I will just use in-game ranger model. :)

Didn't ask; don't care.

EDIT: Kyrbi0 when it says two spells must be trigger enhanced, what does that mean? Does it mean I can make the entire spell based off of a standard ability and then just use a trigger to make an effect or what?
 
Last edited:
Level 26
Joined
Mar 19, 2008
Messages
3,140
At least two spells must be enhanced - you need to work on them a bit e.g use some GUI triggering or do some scripting.
Hero Contest is more of a "generic" contest - instead of focusing on one thing, you are forced to work on many different things - concept, spells, idea behind, name, art, effects etc. - and don't forget to connect them together.

The impression your hero gives, is very strong argument towards winning the whole contest, thats why you don't really want to miss a thing :)
 
At least two spells must be enhanced - you need to work on them a bit e.g use some GUI triggering or do some scripting.
Hero Contest is more of a "generic" contest - instead of focusing on one thing, you are forced to work on many different things - concept, spells, idea behind, name, art, effects etc. - and don't forget to connect them together.

The impression your hero gives, is very strong argument towards winning the whole contest, thats why you don't really want to miss a thing :)

Oh I know all this but I want to know to which extent they must be trigger/script enhanced. Whether it's creating a Special effect, the spell's effects themselves all of the above or anything else I may have missed.
 

Kyrbi0

Arena Moderator
Level 45
Joined
Jul 29, 2008
Messages
9,510
Guys, just leave A Void alone. If he wants to break the rules, his submission will be disqualified and that's that. The Rules are available for all to read.

@A Void, I'm glad to see someone using the schweet Ranger model. Good luck; please try to avoid riling people up.

EDIT: Kyrbi0 when it says two spells must be trigger enhanced, what does that mean? Does it mean I can make the entire spell based off of a standard ability and then just use a trigger to make an effect or what?

Oh I know all this but I want to know to which extent they must be trigger/script enhanced. Whether it's creating a Special effect, the spell's effects themselves all of the above or anything else I may have missed.
Since it doesn't indicate (& due to some other factors, i.e. people I don't want to 'scare away' from this Contest), I would interpret that to mean any level of Triggering is acceptable. Even as simple as a Dummy-Cast-ed ability or a Trigger which adds SFX to an existing Spell is "trigger-enhanced".

Of course, with that in mind, using the bare minimum of coding might not net you a very good score in "originality" unless you're really resourceful... Just something to keep in mind. : )
 
Level 15
Joined
Oct 29, 2012
Messages
1,474
I will join the contest.
My goal is to complete a hero :
Name : Hell Master
Spells : Super Nova - Nova Spray - Phoenix Rush - Hell Rush ( They are all done and bugfree )

I may miss posting my hero but actually because of school and Baccalaureate (High School Certificate) and bullshit, but however, I join this.
 
Level 25
Joined
Jun 5, 2008
Messages
2,572
I will join the contest.
My goal is to complete a hero :
Name : Hell Master
Spells : Super Nova - Nova Spray - Phoenix Rush - Hell Rush ( They are all done and bugfree )

I may miss posting my hero but actually because of school and Baccalaureate (High School Certificate) and bullshit, but however, I join this.

Ergh done as in done before this contest?
 
Level 17
Joined
Jun 17, 2007
Messages
1,433
first spell WIP
JASS:
    readonly real array s[data.SHARD_COUNT]
            readonly real array a[data.SHARD_COUNT]
            
            readonly real array x[data.SHARD_COUNT]
            readonly real array y[data.SHARD_COUNT]
            
            readonly unit array u[data.SHARD_COUNT]
            
            readonly boolean array b[data.SHARD_COUNT]
            
            readonly effect array e[data.SHARD_COUNT]

That should probably be replaced by a 'Shard' struct array.
 

Kyrbi0

Arena Moderator
Level 45
Joined
Jul 29, 2008
Messages
9,510
I made an Edited addition to this post that might be of interest...

Night Elf seems to fit in basing on the Furbolg storyline, not sure of their Polar blood line.
I'll be honest, I could almost see a pure Furbolg in the NE race, but a "Polar Furbolg"? Might be too much of a stretch.

Once again, though, we're not going to come down hard on whether or not it fits Thematically; that'll be for the Judges to decide (and/or penalize). I'm more concerned that people are making Heroes that are Mechanically fitting (i.e. Role) to Warcraft 3 Heroes, since that's sorta the point of the Contest.

Someone needs to address the elephant in the room. The contest has been set incorrectly with at least one incorrect rule. All these hero-related posts are fine and dandy, but also ignorant. If someone doesn't mend the problems this contest will never be peak standard.
Look, I appreciate your comments & that you want to see this Contest succeed (as do I); we have that in common. So let's make the most of that commonality rather than what sets us apart.

I have, as I said I would, sent out a message 'to my betters' to try & get some good advice on the subject (I'm awaiting a reply). More importantly, rather than "calling out" the problem repeatedly, consider responding to the various ideas that have been suggested...

Or perhaps more importantly, we could've used your thoughts on the write-up that has been sitting around for almost an entire year... I openly admitted to needing some help on the coding bits.
 
I guess I'm in, though I won't be able to do much triggering for my Hero. I'd actually managed to work a side-effect of one of the abilities' triggered components into a form of counterplay against another of this Hero. However, if I reach a point where no matter what I do, I can't make the ability work as intended, and can't find any workarounds, I'm out.

Hopefully that doesn't happen, and I can stay 'til the end. Anyway, here, I've already set up the kit.

[IMG]http://i.imgur.com/SHZVc2k.png[/IMG]
Tala Starseer - the High Elf Arcanist
The Arcanist is an AoE damage dealer, best kept in the backline, raining down arcane magic upon her enemies, preferably with a troop of Spellbreakers at the front, who aren't at risk of being killed by her assault. The Arcanist was a Sorceress of great skill and immense power. This immense power is hard to control, and her magicks run the risk of causing great harm to her allies.

Tala excels at defending allied bases, and facing large enemy forces. Her abilities are Stormshiver, Starburst, Nourish and Polymastery.
Arcane Mana Beam
Ax3V4Cn.png
With every attack, the Arcanist fires a beam of energy at her enemies.

[IMG]http://i.imgur.com/p9aOqTE.png[/IMG]
153325-albums2005-picture15703.jpg
Stormshiver:
Mana Cost - 40/65/90
Cooldown - 5/3.75/2.5
[Level 1/2/3] - The Arcanist calls down a bolt of lightning, dealing upto 100/175/250 damage to any enemy units caught within the blast radius [100].
Stormshiver is an excellent damage ability later in the game, when the Arcanist has a larger mana pool, although if not used carefully, can easily kill allied units.
[IMG]http://i.imgur.com/0Ra74JN.png[/IMG]
153325-albums2005-picture15670.jpg
Starburst:

Mana Cost - 60/70/80
Cooldown - 10/10/10
[Level 1/2/3] - Summons 3/5/7 Starchildren, who then flock to the Arcanist, lasting 7 seconds.

The Starchildren will move to explode near whoever the Arcanist attacks, dealing upto 150/250/350 damage to enemy units around them.
Starburst is an interesting spell, which summons a number of Starchildren. These children can be controlled for 7 seconds before disappearing, but will default to following the Arcanist, and attacking either the enemy she targets first, or whoever they can get to if she is ordered to "Attack Move" to an area.
[IMG]http://i.imgur.com/mmCIQ4C.png[/IMG]
153325-albums2005-picture15679.jpg
Nourish:

Mana Cost - 75/75/75
Cooldown - 10/12.5/15
[Level 1/2/3] - After a short delay, the Arcanist lets out a surge of magical energy, increasing all nearby allied units' health regeneration, mana regeneration, aswell as increasing their armor by 5, while reducing their Damage by 25% for 10 seconds.

While being Nourished, the Arcanist gains +5 Agility, Intelligence and Strength.
Once Nourish dispels, it can disrupt nearby Arcanists' own Nourished Agility, Intelligence and Strength.
Nourish has the potential to greatly affect the outcome of an upcoming battle. After a brief channeling, the Arcanist buffs all nearby allied units, granting them extremely rapid regeneration and a huge armor boost, while briefly reducing the damage they can do.
[IMG]http://i.imgur.com/uIQucBq.png[/IMG]
153325-albums2005-picture15654.jpg
Polymastery:

Mana Cost - 250
Cooldown - 180
[Level 1] - The Arcanist summons a small horde of her polymorphed enemies, appearing in the sky in fifteen waves. Each falling Sheep deals 100 damage to nearby units.
Polymastery is an interesting spell, with rather grim implications. This ability has a very long channel time, and can heavily damage a large portion of enemy or allied bases. Battles fought within the Polymastery AoE should consist mostly of Spellbreakers under your or your allies' control, else you run the risk of killing or wounding a sizable chunk of both armies.


All that's left for me now to do is to balance the Hero out. Currently, their early game is surprisingly weak, but their lategame is very powerful if they aren't pressured by their enemies. Most of their spells have some form of casting delay.

One such ability provides them with enough mana regeneration to more than make up for the initial mana cost, and given enough time they can quickly regenerate their own mana pool. If you let them be for long enough, they can unleash a massive barrage of magic upon you, with their full mana bar.
 

Kyrbi0

Arena Moderator
Level 45
Joined
Jul 29, 2008
Messages
9,510
I guess I'm in, though I won't be able to do much triggering for my Hero. I'd actually managed to work a side-effect of one of the abilities' triggered components into a form of counterplay against another of this Hero. However, if I reach a point where no matter what I do, I can't make the ability work as intended, and can't find any workarounds, I'm out.

Hopefully that doesn't happen, and I can stay 'til the end. Anyway, here, I've already set up the kit.

[IMG]http://i.imgur.com/SHZVc2k.png[/IMG]
Tala Starseer - the High Elf Arcanist
The Arcanist is an AoE damage dealer, best kept in the backline, raining down arcane magic upon her enemies, preferably with a troop of Spellbreakers at the front, who aren't at risk of being killed by her assault. The Arcanist was a Sorceress of great skill and immense power. This immense power is hard to control, and her magicks run the risk of causing great harm to her allies.

Tala excels at defending allied bases, and facing large enemy forces. Her abilities are Stormshiver, Starburst, Nourish and Polymastery.
Arcane Mana Beam
Ax3V4Cn.png
With every attack, the Arcanist fires a beam of energy at her enemies.

[IMG]http://i.imgur.com/p9aOqTE.png[/IMG]
153325-albums2005-picture15703.jpg
Stormshiver:
Mana Cost - 40/65/90
Cooldown - 5/3.75/2.5
[Level 1/2/3] - The Arcanist calls down a bolt of lightning, dealing upto 100/175/250 damage to any enemy units caught within the blast radius [100].
Stormshiver is an excellent damage ability later in the game, when the Arcanist has a larger mana pool, although if not used carefully, can easily kill allied units.
[IMG]http://i.imgur.com/0Ra74JN.png[/IMG]
153325-albums2005-picture15670.jpg
Starburst:

Mana Cost - 60/70/80
Cooldown - 10/10/10
[Level 1/2/3] - Summons 3/5/7 Starchildren, who then flock to the Arcanist, lasting 7 seconds.

The Starchildren will move to explode near whoever the Arcanist attacks, dealing upto 150/250/350 damage to enemy units around them.
Starburst is an interesting spell, which summons a number of Starchildren. These children can be controlled for 7 seconds before disappearing, but will default to following the Arcanist, and attacking either the enemy she targets first, or whoever they can get to if she is ordered to "Attack Move" to an area.
[IMG]http://i.imgur.com/mmCIQ4C.png[/IMG]
153325-albums2005-picture15679.jpg
Nourish:

Mana Cost - 75/75/75
Cooldown - 10/12.5/15
[Level 1/2/3] - After a short delay, the Arcanist lets out a surge of magical energy, increasing all nearby allied units' health regeneration, mana regeneration, aswell as increasing their armor by 5, while reducing their Damage by 25% for 10 seconds.

While being Nourished, the Arcanist gains +5 Agility, Intelligence and Strength.
Once Nourish dispels, it can disrupt nearby Arcanists' own Nourished Agility, Intelligence and Strength.
Nourish has the potential to greatly affect the outcome of an upcoming battle. After a brief channeling, the Arcanist buffs all nearby allied units, granting them extremely rapid regeneration and a huge armor boost, while briefly reducing the damage they can do.
[IMG]http://i.imgur.com/uIQucBq.png[/IMG]
153325-albums2005-picture15654.jpg
Polymastery:

Mana Cost - 250
Cooldown - 180
[Level 1] - The Arcanist summons a small horde of her polymorphed enemies, appearing in the sky in fifteen waves. Each falling Sheep deals 100 damage to nearby units.
Polymastery is an interesting spell, with rather grim implications. This ability has a very long channel time, and can heavily damage a large portion of enemy or allied bases. Battles fought within the Polymastery AoE should consist mostly of Spellbreakers under your or your allies' control, else you run the risk of killing or wounding a sizable chunk of both armies.


All that's left for me now to do is to balance the Hero out. Currently, their early game is surprisingly weak, but their lategame is very powerful if they aren't pressured by their enemies. Most of their spells have some form of casting delay.

One such ability provides them with enough mana regeneration to more than make up for the initial mana cost, and given enough time they can quickly regenerate their own mana pool. If you let them be for long enough, they can unleash a massive barrage of magic upon you, with their full mana bar.

I'll be perfectly honest... I didn't know you had it in you, man. I am really impressed (and I swear, I'm not just saying that to butter you up for a Request (But now that you mention it... :D)). That is a really cohesive, interesting & especially Warcraft-y hero. I love how you (& others) are really maximizing the innovation by rockin' those "hidden icons", and I'm really liking the little artistic additions (lightning balls, mana-beam-attack). Also, you're abilities are interestingly-named, simple, yet effective, and carry a reasonable Theme with great Role.

- "Stormshiver" is good for just raw damage ((nearly) every Hero needs some form of DD or DoT, I've found).
- "Starburst" I love because I was totally thinking about remaking the classic D&D-style "Magic Missile" (i.e. controllable arcane bolts). If you're not already, think about using the 'hidden' Wisp model for the SFX.
- "Nourish" is neat because I love supportive spells with a downside, and while I'm not so sure about stat-boosting (only the Tinker does it AFAIK, and it's only as an Ultimate alternate-form), I like the interplay.
- "Polymastery" is nifty because it's a solid element of Unit -> Hero design; take the spells of the original & "max them out" (i.e. Banshee: Possession -> Dark Ranger: Charm... Shaman: Purge/Lightning Shield -> Far Seer: Chain Lightning... etc). So turning "Polymorph" into something useful is a really great way to go, methinks.

I only have very few critiques:
  • I'd honestly just switch to using the Jaina model; not only will it look cooler/more unique/more Heroic, but it fits just as well (Jaina always seemed like a "super-sorceress" to me anyways). I know it won't fit so well with those thunder-balls, but meh.
  • I love "Starburst" (yum, lol), "Nourish" (though maybe more on a Druid/Healer hero) and "Polymastery" (catchy)... "Stormshiver" is the only odd one out. It's also nifty, but since it doesn't involve frost at all, just seems a little... odd. What about "Call Thunder" or "Arcane Strike" or "Electrozap" (lame...) or "Power Word: Damage" or "Skysizzle" or "Skystrike"?
  • I'm sure you're aware, but while "Tala Starseer" is a great start, don't forget to make several other Proper Names (otherwise she'll be more fitting to an AoS).
  • I'm curious which base spell you used for Nourish (hopefully you've avoided buffs-not-stacking), but I think I see you're problem-workaround thing you're talking about; you check across the map/area for any other Starseer heroes with the raised stats & then remove them.
    To be honest, considering what I said above, I don't think you'd go wrong in just removing the stat-bonus altogether. Would save you a lot of head-ache, as well.
  • Polymastery is cool & interesting (see above)... But after the first 2, I'm kinda feeling that your Hero is a bit 'burned out' for Direct Damage. 3 out of 4 of your Heroe's abilities deal Direct Damage in one form or another... And while I appreciate that may be her Role (style/mechanics/etc), I think it can be taken too far. Take a look at the Firelord; he's a guy all about "dealing damage" (even says so in the tooltip) but Blizzard did it in 4 interesting ways, rather than "DD-DD-?-DD".
    Since you're making a sort of generic High Elf "super-sorceress", the sky is seriously the limit; you can make abilities out of arcane energy, teleportation, transmogrifying, magic missile, shields, eidolons, etc (Theme)... You can make abilities that feature buffing, debuffing, dispelling, disabling, channeling, summons, etc (Role)...
    What I'd consider is to 1) Refine the Role (perhaps "dealing damage" is insufficient, perhaps not), and then 2) Consider some replacement/modified abilities. Honestly I think "Nourish" and "Starburst" are probably perfect as is... While I like "Polymastery" I feel it could perhaps be different (i.e. not just about Damage). But maybe. an AoE Polymorph wouldn't be too far amiss, mayhaps (perhaps with an additional temporary AoE stun/slow?).
    Heck, taking some inspiration from the Diablo 3 "Wizard" class wouldn't be too far amiss either. Lots of good stuff there. That and ancient D&D texts.

Keep it up, guys!
 

Cokemonkey11

Spell Reviewer
Level 30
Joined
May 9, 2006
Messages
3,544
Look, I appreciate your comments & that you want to see this Contest succeed (as do I); we have that in common. So let's make the most of that commonality rather than what sets us apart.

I have, as I said I would, sent out a message 'to my betters' to try & get some good advice on the subject (I'm awaiting a reply). More importantly, rather than "calling out" the problem repeatedly, consider responding to the various ideas that have been suggested...

Or perhaps more importantly, we could've used your thoughts on the write-up that has been sitting around for almost an entire year... I openly admitted to needing some help on the coding bits.

Just remove the rule, it's that simple (I mean after you receive a response from whomever you asked). There's no need to "fix" the rule because it makes no sense in the first place. I don't recall seeing it in the year-long write-up. If I did, I would have warned you sooner.
 
Tsk.
Can't decide if im going to use GUI, Jass or vJass!

Well I have decided with my second ability!

2. Event Horizon
Gairam gains a chance for every cast to release an empty time frame,releasing a void that affects units near him. If the unit is exposed within a certain seconds, it will be stunned. Time Blanket extends the duration of the stun and the exposure time.
Does not deal damage.
 
Level 26
Joined
Mar 19, 2008
Messages
3,140
Example: ReplaceableTextures\CommandButtons\BTNFlamingArrows.blp is a flaming arror icon hidden in war3 .mpq file used nowhere in melee stuff. Because you don't need to import anything (it's hidden, you can use the path to gain access to it) you are free to use it.

"List of hidden materials" is probably the key-phrase you were looking for. Such list is posted on hive and wc3c, although both aren't complete - use magos and war3 image extractor to see what might be usefull for you.
 
Dunno if already asked but:



So that may mean we could use some resources that are in the said mpqs but not in-game? Just asking, so we can know and Void could continue using the skin.

good question, I could also use that beta Ranger skin found in War3.mpq to overwrite the present one. Can I do that?
 
Status
Not open for further replies.
Top