• 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.

Designing a hero - wondering about skills/spells

Status
Not open for further replies.
Level 6
Joined
Sep 17, 2004
Messages
278
Okay, this is about designing spells. Anyway, I'm making a Hunter hero (yes, based off WoW... sorta) and he has four skills: Serpent Sting, Aspect of the Raptor (made-up one), Summon Pet, and Volley (as his ultimate).

My problem is this: I'm basing Volley off of Blizzard because that seems appropriate. Yet, it doesn't feel right as an ultimate attack. It just doesn't have the "umph" of an ultimate skill.

I could base it off Star Fall, but I'm planning to have other characters with Star Fall as an ultimate. So, it'd just look like a copy.

Is it possible that I could use Volley as a normal skill instead of an ultimate? Then what would I use as an ultimate? Any suggestions?
 
Level 6
Joined
Sep 17, 2004
Messages
278
Hm... that's interesting, but I already gave Kul berserking (I'm giving my heros a racial trait). But I'll take that into consideration because being able to shoot faster with no penalty might make a good ultimate. Thanks for the suggestion! :)

Any other suggestions? He's a survivalist hunter, so maybe Wyvern Sting could be used (I have NO idea how to implement that though without a trigger)?
 
Level 3
Joined
Apr 8, 2009
Messages
63
Explosiv Shot ! with 15% to stun the target, a direct damage, and an over time damage, i know it can be done easly with CasterSystem

base the damage over time with Unholyfrenzy, and the direct damage + stun effect triggered by CasterSystem based on Stormbolt

JASS:
function ExplosivShot_Conditions takes nothing returns boolean
    return ( GetSpellAbilityId() == 'Exs1' )
endfunction

function ExplosivShot_Actions takes nothing returns nothing

 local unit u=GetTriggerUnit()                          
 local location loc1 = GetUnitLoc(u)                    
 local location loc2 = GetUnitLoc(GetSpellTargetUnit()) 
 local real wait

    set wait=DistanceBetweenPoints(loc1, loc2) / Missile Speed
//replace missile speed in this trigger by the real missile speed you used in you're spell, don't use a too small projectile speed

    call PolledWait( wait )  // Wait "wait", gametime seconds (PolledWait is not accurate with small values)


//Casting direct damage
       call     CasterCastAbilityPointLoc(GetOwningPlayer(u)  ,         'Exs2',"thunderbolt", loc2        , true)

    call RemoveLocation(loc2)
    call RemoveLocation(loc1)
 set loc2=null
 set loc1=null
 set u=null
endfunction

//===========================================================================
function InitTrig_ExplosivShot takes nothing returns nothing
    set gg_trg_ExplosivShot = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_ExplosivShot, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_ExplosivShot, Condition( function Muradins_Hammer_Conditions ) )
    call TriggerAddAction( gg_trg_ExplosivShot, function ExplosivShot_Actions )
endfunction

Exs1 is a hero spell based on Unholyfrenzy with a missille, a 0% attack speed bonus (Use duration to set how much time the damage over time will rest etc ... u know)
Exs2 is a unit spell based on thunderbolt with same numbers of level than Exs1 without any projectile graphic and 0 missile speed (that deal the direct damage and the stun if you want, if you don't want this stun set duration to 0.01)

You must replace Exs1 and Exs2 by your spell's rawcode
 
Level 3
Joined
Apr 8, 2009
Messages
63
Exs1 is you're Unholyfrenzy spell based rawcode and Exs2 is you're stomrbolt based spell rawcode, in your map it will be something like A000 or A09B or even A04Z,things like this.

Forgot to say you're stormbolt spell based must don't have cooldown and don't have mana cost if you want caster's dummy use it

If you don't know how to get Rawcode, go to the object editor and hit Ctrl + D, do it again to back normal displaying

Edit : Maybe you want a demo map ?
 
Level 6
Joined
Sep 17, 2004
Messages
278
Is there someway to do it with Triggers instead of scripting? Because triggers can target a spell by its name, rather than its raw data name.

Also, I'd actually prefer Wyvern Sting if possible. Sleep -> wait until target awakes/is damaged -> Heavy DoT.
 
Last edited:
Level 4
Joined
Mar 14, 2009
Messages
98
If he meant a single target spell, then...
  • What He Said in GUI
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Storm Bolt
    • Actions
      • Wait ((Distance between (Position of (Triggering unit)) and (Position of (Target unit of ability being cast))) / MissileSpeed) game-time seconds
      • Unit - Create 1 Footman for (Triggering player) at (Position of (Target unit of ability being cast)) facing Default building facing degrees
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Undead Necromancer - Unholy Frenzy (Target unit of ability being cast)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than 16
        • Then - Actions
          • Unit - Create 1 Footman for (Triggering player) at (Target point of ability being cast) facing Default building facing degrees
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Target unit of ability being cast)
        • Else - Actions
      • -------- This trigger is just for demonstration. --------
      • -------- This trigger is not MUI. --------
      • -------- This trigger leaks. --------
If he meant an AoE spell, then...
  • What He Said in GUI AoE
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shockwave
    • Actions
      • Wait ((Distance between (Position of (Triggering unit)) and (Target point of ability being cast)) / MissileSpeed) game-time seconds
      • Unit Group - Pick every unit in (Units within 512.00 of (Target point of ability being cast) matching (((Matching unit) belongs to an enemy of (Triggering player)) Equal to True)) and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Footman for (Triggering player) at (Position of (Picked unit)) facing Default building facing degrees
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Undead Necromancer - Unholy Frenzy (Picked unit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 1 and 100) Less than 16
            • Then - Actions
              • Unit - Create 1 Footman for (Triggering player) at (Target point of ability being cast) facing Default building facing degrees
              • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
              • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
            • Else - Actions
      • -------- This trigger is just for demonstration. --------
      • -------- This trigger is not MUI. --------
      • -------- This trigger leaks. --------
 
Level 3
Joined
Apr 8, 2009
Messages
63
it's leak some points

Read this to know how to fiix leaks
http://www.hiveworkshop.com/forums/f269/things-leak-35124/

If a trigger leak, some memory of you're computer will be used, and the usless data on you're memory won't be destroyed, if you have 512Mb memory and there is too much useless things on these 512Mb memory, it will end with a crash, if you have 2Gb memory and something leak, you will have more time before all crash, but it will one day.

If you play on battle.net a map with leakly trigger, and it don't crah, when you will exit the game you will have a black screen for some time before the battle.net channel appear.

Edit : @Peetoon : If you use Stormbolt as base skill to trigger this, it will be 100% stun + 15% to double stun, maybe trigger this from shadowstrike or the damage over time spell !
 
Level 3
Joined
Apr 8, 2009
Messages
63
There for you a GUI Multi-level suported Wyvern sting, there is some custom script but you don't have to change anything on them, they are there just to clean the variables when they are not needed anymore.

--- It's not MUI because i don't know ho to make it MUI in GUI ! i hope only one of you're unit will use this ! ---
 

Attachments

  • Wyvern Sting.w3x
    21.8 KB · Views: 30
Level 6
Joined
Sep 17, 2004
Messages
278
Hmmm... I tried playing around with it... but is there a way to make it so a projectile is fired when you activate Wyvern Sting?

Also, is there a way to use Shadow Strike instead of Unholy frenzy to do the damage (so you can see it over the unit's head)?
 
Level 3
Joined
Apr 8, 2009
Messages
63
yes yo ucan use Shadow Strike, just make you're damage over time base spell with it and change it to unit, in the trigger change abilty order to Warden - Shadow strike instaed of Necromancer - Unholy Frenzy

If you want a projectile to you're wyvern sting add a missile and a missile speed, and add this action
  • Wait ((Distance between (Position of (Wyvern_Sting_Caster)) and (Position of (Wyvern_Sting_Target))) / MissileSpeed) game-time seconds
after theses lines
  • Set Wyvern_Sting_Unit_Target = (Target unit of ability being cast)
  • Set Wyvern_Sting_Unit_Caster = (Casting unit)
On Wyvern Sting1' trigger

Edit : Don't forget to set Shadow strike based spell casting time to 0.01, don't know if the dummy will have the time to cast it with the blizz² casting time values
 
Level 3
Joined
Apr 8, 2009
Messages
63
Have you changed the order in the trigger?
 

Attachments

  • !!!.PNG
    !!!.PNG
    293.8 KB · Views: 67
Level 6
Joined
Sep 17, 2004
Messages
278
I changed it to "Warden - Shadow Strike," and made it 0 mana to cost. It worked, except the peasant dies on ONE 10 damage. It must not be pacing the DoT properly. How do I do I fix that?

Also, I don't know how to find variables needed for this:
  • Wait ((Distance between (Position of (Wyvern_Sting_Caster)) and (Position of (Wyvern_Sting_Target))) / MissileSpeed) game-time seconds
 
Level 3
Joined
Apr 8, 2009
Messages
63
He dies because he take 10 damage every 0 secondes maybe ? ;)

I forgot this Shadowstrike strange thing >_>
 

Attachments

  • Wyvern Sting-Shadowstrike based.w3x
    22.2 KB · Views: 41
Level 6
Joined
Sep 17, 2004
Messages
278
Cool!

Rank 1 makes a strange noise every time it deals damage to the peasant, but rank 3 makes no noise.

Well, that works nicely. All we need is a projectile launched when you first fire Wyvern Sting and I think it's set. I think I can handle replacing the icons and such.
 
Level 3
Joined
Apr 8, 2009
Messages
63
Remove shadow strike's projectile (i think the strange noise is this)
Don't let active the wait distance between the two unit / missile speed till you don't have the missile working (Blame blizzard, they f*** up thei're sleep spell)

I hope i was helpfull, if you need some help to get World of Warcraft Wyvern Sting icon just ask me in PM
 
Level 6
Joined
Sep 17, 2004
Messages
278
Wait, I don't understand, how do I make the missile projectile appear again?

And don't worry about the icon. The one for Wyvern Sting is "Envenomed Spears" from the orcish upgrades.
 
Level 3
Joined
Apr 8, 2009
Messages
63
I said the strange sound come maybe from shadow strike spell based projectile (i don't know if i romoved this)

And i said i don't know how to make sleep spell based missile to work because blizzard have made thei're spell spell strangly
 
Level 6
Joined
Sep 17, 2004
Messages
278
Oh okay. Hrmmm... This is a little complex.

I'm sorry, I may not use it. I'm really sorry for wasting your time. :S >_<;

Thanks for all the help, though. I really appreciated it.

Any other suggestions for an ultimate?
 
Last edited:
Level 3
Joined
Apr 8, 2009
Messages
63
Oh okay. Hrmmm... This is a little complex.

I'm sorry, I may not use it. I'm really sorry for wasting your time. :S >_<;

Thanks for all the help, though. I really appreciated it.

Any other suggestions for an ultimate?

Explosiv Shot ! with 15% to stun the target, a direct damage, and an over time damage, i know it can be done easly with CasterSystem

base the damage over time with Unholyfrenzy, and the direct damage + stun effect triggered by CasterSystem based on Stormbolt

JASS:
function ExplosivShot_Conditions takes nothing returns boolean
    return ( GetSpellAbilityId() == 'Exs1' )
endfunction

function ExplosivShot_Actions takes nothing returns nothing

 local unit u=GetTriggerUnit()                          
 local location loc1 = GetUnitLoc(u)                    
 local location loc2 = GetUnitLoc(GetSpellTargetUnit()) 
 local real wait

    set wait=DistanceBetweenPoints(loc1, loc2) / Missile Speed
//replace missile speed in this trigger by the real missile speed you used in you're spell, don't use a too small projectile speed

    call PolledWait( wait )  // Wait "wait", gametime seconds (PolledWait is not accurate with small values)


//Casting direct damage
       call     CasterCastAbilityPointLoc(GetOwningPlayer(u)  ,         'Exs2',"thunderbolt", loc2        , true)

    call RemoveLocation(loc2)
    call RemoveLocation(loc1)
 set loc2=null
 set loc1=null
 set u=null
endfunction

//===========================================================================
function InitTrig_ExplosivShot takes nothing returns nothing
    set gg_trg_ExplosivShot = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_ExplosivShot, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_ExplosivShot, Condition( function Muradins_Hammer_Conditions ) )
    call TriggerAddAction( gg_trg_ExplosivShot, function ExplosivShot_Actions )
endfunction

Exs1 is a hero spell based on Unholyfrenzy with a missille, a 0% attack speed bonus (Use duration to set how much time the damage over time will rest etc ... u know)
Exs2 is a unit spell based on thunderbolt with same numbers of level than Exs1 without any projectile graphic and 0 missile speed (that deal the direct damage and the stun if you want, if you don't want this stun set duration to 0.01)

You must replace Exs1 and Exs2 by your spell's rawcode

????
 
Level 6
Joined
Sep 17, 2004
Messages
278
I have an idea. I'm going to make a Storm Bolt based "Sleep" version of Wyvern Sting, but change all the buffs to sleep.

... and that's not working. The target is still stunned. It won't wake up when I damage it. I wonder if there's a trigger to fix that. Hmm...

Anyone with good GUI skills around?
 
Level 3
Joined
Apr 8, 2009
Messages
63
Changing buff don't change spell effect, just how thi spell will be displayed, try to make an fake storm bolt that stun 0.1 sec and that trigger the sleep, the sleep will trigger my trigger
 
Level 6
Joined
Sep 17, 2004
Messages
278
Do you think it's safe for me to start a topic about Wyvern Sting? Because I'm not sure if people know what I'm trying to do here. I just noticed these forums have strict rules (not a bad thing), and I don't want to break them. :S
 
Status
Not open for further replies.
Top