Spellpack Heroes: Raider and Lightning Lord

Hero

─║╣ero─
Reaction score
250
Hero Raider-Beastmaster Model

Spells:

Chained Explosion

The Raider throws a grenade to the target unit, upon impact the grenade will bounce off the target unit and hit other units and explode. Bounces 10 times. Each bounce deal 50/60/70 damage. Initial grenade deals 100/200/300 damage. Stuns for 2 seconds. If the Target Dies the Ability Will Not Chain.

Burning Charge
Leo charges at the target point creating a wake of fire behind him. At the end of the charge Leo lets of a powerful explosion dealing 150/250/350 damage. Each flame deals 30/40/50 damage per second.

Raider's Fury
Passive
Gives a percent chance to avoid attacks and a chance to deal additional damage. (Drunken Brawl nothing too special about this one)

Massive Explosion
The Raider slams the ground creating a massive explosion dealing 300 damage to all enemy units in a 300 AoE range. After the explosion enemy units are stunned for 2 seconds.

Hero Lightning Lord-Revenant Model

Spells:

Lightning Fury
Thor calls upon the fury of the lightning to bring forth a cone of lightning on a target enemy unit, damaging them for 85/160/250 damage per target. Hits up to 3 targets. The cone will strike 3 times to enemies in range dealing 60/70/80 damage per target.

Lightning Storm
Thor calls a lightning storm on the target area. Each lightning bolt will deal 80/90/100 damage. Total of 5 strikes.

Electric Charge
Passive
Increases the movement speed and attack speed of Thor by 5/10/15%. Also gives a 10/20/30% chance that each attack Thor lands will send out a chain lightning dealing 70 damage.

Discharge
Thor calls down lightning bolt to strike the ground around him dealing damage to all enemies in range. 100 damage per bolt.

Screenshots:

Massive Explosion:

5.jpg


After Effects of Discharge:

4.jpg


Burning Charge:

3.jpg


Remains of Electric Charge:

2.jpg


During Lightning Storm:

1.jpg


These are (or should be) Fully MUI
Leakless (should be)
All spells made in JASS

Yes I know I didn't have a screenshot for all the spells...some are hard to obtain..

The burning charge uses my destroy tree system(an edited version)..as an example

Credits to the owner of the grenade model
Credits to me.
Map also includes Destroy Tree functions
CS_Cache
Handle Vars
...and some other stuff I threw in there for test

Tell me what you think and about bugs..any question? Post them here

Download Below:
 

Attachments

  • Hero's Hero Testing Map.w3x
    82.3 KB · Views: 392

Tom Jones

N/A
Reaction score
437
Some small leaks, and your generally not nulling locals.

Burning Souls:
Code:
  if DistanceBetweenPoints(castpoint,casterpoint)>=5.00 then
      call SetUnitPosition(caster,mX,mY)
      call DestroyTreesInRange(casterpoint,200)
  else
      call PauseTimer(t)
      call DestroyTimer(t)
      call PauseTimer(a)
      call DestroyTimer(a)
      set dumb=CreateUnitAtLoc (GetOwningPlayer(caster),'u001',movehere,0)
      call UnitAddAbility( dumb,'A002' )
      call SetUnitAbilityLevel (dumb,'A002',GetUnitAbilityLevel(caster, 'A000'))
      call IssueImmediateOrder( dumb, "stomp" )
      call SetUnitPathing(caster,true)
      call ResetUnitAnimation(caster)
      call SetUnitTimeScalePercent( caster, 100 )
      
      call RemoveLocation(casterpoint)
      call RemoveLocation(castpoint)
      call RemoveLocation(movehere)
      set caster=null
      set ff=null
      set dumb=null
      call FlushHandleLocals(t)
      call FlushHandleLocals(a)
      set a=null
      set t=null
endif
Nulling will only happen when the distance is less than 5.

Massive Explosion:
Code:
function Trig_Massive_Explosion_Actions takes nothing returns nothing
    local effect e
    local location here
    local unit caster=GetTriggerUnit()
    local location p=GetUnitLoc(caster)
    local real n=0
    local real a=0
    loop
      exitwhen n==360
       set n=n+10
       set here=PolarProjectionBJ(p,100,n)
       call DestroyEffect(AddSpecialEffectLoc("Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl",here))
endloop
    loop
      exitwhen a==360
       set a=a+10
       set here=PolarProjectionBJ(p,300,a)
       call DestroyEffect(AddSpecialEffectLoc("Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl",here))
endloop             
endfunction
Nothing nulled here, and 72 location leaks.

Lightning Fury:
Code:
     loop
      exitwhen c==noc
        set dummy=CreateUnit(GetOwningPlayer(caster),'u001',GetUnitX(target),GetUnitY(target),0)
        call UnitAddAbility(dummy,'A008')
        call GroupEnumUnitsInRange(g,GetUnitX(target),GetUnitY(target),500,b)
        set nexttarget=GroupPickRandomUnit(g)
        call IssueTargetOrder(dummy,"chainlightning",nexttarget)
        set c=c+1
endloop
Leaks, 3 dummies created, none with timed life, 1 removed.

Lightning Storm:
Code:
      loop
          exitwhen ls==5
//Yes I know PolarProjectionBJ is bad
          set random=PolarProjectionBJ(aoe, GetRandomReal(1.00, 400.00), GetRandomDirectionDeg())
          call TriggerSleepAction(.30)
          set bj_ghoul[90]=caster
          call GroupEnumUnitsInRange(g,GetLocationX(random),GetLocationY(random),400,b)
          call ForGroup(g,function dam)
          set e=AddSpecialEffectLoc("Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl",random)  
          call DestroyEffect(e)
          set ls=ls+1
endloop
Leaks, 5 locations created, 1 removed. ForGroup is able to take event responses, such as GetTriggerUnit(), so you wont need the bj global.

Electric Charge:
Is the created unit not supposed to be removed?

Discharge:
Seemed fine.

All and all it looks good, keep it up.
 

2-P

I will work hard tomorrow
Reaction score
325
>"CS_Cache
Handle Vars"

Both? o.0


Btw, *Heroes
 

Hero

─║╣ero─
Reaction score
250
Some small leaks, and your generally not nulling locals.

Burning Souls:
Code:
  if DistanceBetweenPoints(castpoint,casterpoint)>=5.00 then
      call SetUnitPosition(caster,mX,mY)
      call DestroyTreesInRange(casterpoint,200)
  else
      call PauseTimer(t)
      call DestroyTimer(t)
      call PauseTimer(a)
      call DestroyTimer(a)
      set dumb=CreateUnitAtLoc (GetOwningPlayer(caster),'u001',movehere,0)
      call UnitAddAbility( dumb,'A002' )
      call SetUnitAbilityLevel (dumb,'A002',GetUnitAbilityLevel(caster, 'A000'))
      call IssueImmediateOrder( dumb, "stomp" )
      call SetUnitPathing(caster,true)
      call ResetUnitAnimation(caster)
      call SetUnitTimeScalePercent( caster, 100 )
      
      call RemoveLocation(casterpoint)
      call RemoveLocation(castpoint)
      call RemoveLocation(movehere)
      set caster=null
      set ff=null
      set dumb=null
      call FlushHandleLocals(t)
      call FlushHandleLocals(a)
      set a=null
      set t=null
endif
Nulling will only happen when the distance is less than 5.

Massive Explosion:
Code:
function Trig_Massive_Explosion_Actions takes nothing returns nothing
    local effect e
    local location here
    local unit caster=GetTriggerUnit()
    local location p=GetUnitLoc(caster)
    local real n=0
    local real a=0
    loop
      exitwhen n==360
       set n=n+10
       set here=PolarProjectionBJ(p,100,n)
       call DestroyEffect(AddSpecialEffectLoc("Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl",here))
endloop
    loop
      exitwhen a==360
       set a=a+10
       set here=PolarProjectionBJ(p,300,a)
       call DestroyEffect(AddSpecialEffectLoc("Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl",here))
endloop             
endfunction
Nothing nulled here, and 72 location leaks.

Lightning Fury:
Code:
     loop
      exitwhen c==noc
        set dummy=CreateUnit(GetOwningPlayer(caster),'u001',GetUnitX(target),GetUnitY(target),0)
        call UnitAddAbility(dummy,'A008')
        call GroupEnumUnitsInRange(g,GetUnitX(target),GetUnitY(target),500,b)
        set nexttarget=GroupPickRandomUnit(g)
        call IssueTargetOrder(dummy,"chainlightning",nexttarget)
        set c=c+1
endloop
Leaks, 3 dummies created, none with timed life, 1 removed.

Lightning Storm:
Code:
      loop
          exitwhen ls==5
//Yes I know PolarProjectionBJ is bad
          set random=PolarProjectionBJ(aoe, GetRandomReal(1.00, 400.00), GetRandomDirectionDeg())
          call TriggerSleepAction(.30)
          set bj_ghoul[90]=caster
          call GroupEnumUnitsInRange(g,GetLocationX(random),GetLocationY(random),400,b)
          call ForGroup(g,function dam)
          set e=AddSpecialEffectLoc("Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl",random)  
          call DestroyEffect(e)
          set ls=ls+1
endloop
Leaks, 5 locations created, 1 removed. ForGroup is able to take event responses, such as GetTriggerUnit(), so you wont need the bj global.

Electric Charge:
Is the created unit not supposed to be removed?

Discharge:
Seemed fine.

All and all it looks good, keep it up.

Lol...I must of been dreaming that I didn't leave out anything..will fix them


>"CS_Cache
Handle Vars"

Both? o.0

Well I like to interchangably use them..so I dont forget how to use both of them...and this is map templete...for all my heros and spells from now on
 

Tom Jones

N/A
Reaction score
437
>Well I like to interchangably use them..so I dont forget how to use both of them...and this is map templete...for all my heros and spells from now on

That's a very good idea.
 

Sim

Forum Administrator
Staff member
Reaction score
534
There is no official section for Heroes though. You might want to rename it using [Spellpack] and mention it is an Hero template also.

Will review the spells in a few. Look for an edited version of this post.
 

Hero

─║╣ero─
Reaction score
250
There is no official section for Heroes though. You might want to rename it using [Spellpack] and mention it is an Hero template also.

Will review the spells in a few. Look for an edited version of this post.

I don't have the permission to rename a thread..
 

waaaks!

Zinctified
Reaction score
255
cool spells, but the cooler is Tom Jones, cause every spell pack hes there and try to fix some leaks, maybe in my first spell pack, maybe hes going there to save my spells from bad leaks.....Then +rep to Tom Jones and for the spells, because you also help
 

Sim

Forum Administrator
Staff member
Reaction score
534
Here's my review for this spellpack.

First of all, one of your Raider's spells is not triggered nor edited. It is simply Drunken Brawler with changed name and data values.

Also, many of your spells don't have the same codename in your triggers than in Object Editor. You might want to fix that.

On to edited spells now...

1. Raider

- 1.1 Burning Charge (Burning Soul?)

You should think about changing this spell's art to something else upon reaching destination. Pretty much says to everyone "I used War Stomp to do the final explosion!".

You need to add the "Burning_Soul" prefix to the "Create_Flame" function in order to prevent function names confusion if someone imports your spell into his map.

You need to null locations as well, not only remove them.

Great spell.

- 1.2 Chained Explosion (Chain Storm Bolt?)

This spell has already been made by Tinki3 (with slight variations), here: http://www.thehelper.net/forums/showthread.php?t=45533

The fact that it won't bounce if the unit dies is more annoying than anything else. One may think it is a technical problem you've encountered also, rather than a choice you've made.

- 1.3 Massive Explosion

The main function leaks 2 points, and you need to null the variables at the end of the function. Also, "here" is leaked in both of the loops (not just once), and since the loops run 36 times each, it adds up quite fast.

You might want the explosion to damage air units too. It isn't logical that such a huge explosion deals damage only to ground units ;)

2. Lightning Lord

- 2.1 Lightning Fury

Change the name of the "booleanx" function: add a prefix with the spell's name before it.

You don't null g.

The spell's tooltip says it casts more cones of lightning (Forked lightning), but it doesn't. It casts chain lightnings. Working as intended?

Good spell.

- 2.2 Lightning Storm

Add the spell's prefix in front of both of the functions "booleane" and "dam". Especially dam :p I've seen countless spells with a function called "dam"!

You need to null locations as well.

>call GroupEnumUnitsInRange(g,GetLocationX(random),GetLocationY(random),400,b)
You could as well use "GroupEnumUnitsInRangeOfLoc" and use the location.

Nice spell.

- 2.3 Electric Charge

Nice passive chain lightning without Orb effect!

- 2.4 Discharge

Again, add the spell's name as a prefix before the functions named "booleanX" and "Damage".

You might again want to use the function "GroupEnumUnitsInRangeOfLoc" instead and use the location directly instead of getting the location's X and Y.

-------------------------------------------------

Overall, nice spells, but they lack implementing steps, as well as ways to edit them efficiently, without real knowledge of JASS. I don't ask for MUI, but as those spells are meant to be useful to anybody, it would be great if they could be easy to implement.

The non-triggered, non-edited spell needs to be removed.
 

Hero

─║╣ero─
Reaction score
250
Yeah..will fix them...just got back from school and vacation...
 

Sim

Forum Administrator
Staff member
Reaction score
534
Will you do what I told you in a near future?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top