Spell Muscular Cripple

C

Cookie

Guest
Alright everyone, heres the first spell i've ever made! I hope you enjoy it, and please give me some constructive criticism. Many thanks to Daelin for his great tutorial... i think it should be dubbed greatest tutorial of all time... its definately worth reading it, i recommend it to everyone!

Btw, its a GUI Spell :D

Muscular Cripple:

Ruptures a poisonous vein in the ground, exploding,
causing all enemy ground units in the AoE to be
'Muscular Crippled'

Note: As displayed in World Editor

Level 1 -
Attack speed Reduction: to 70%
Damage Reduction: to 50%
Movement Speed Reduction: to 75%

Duration Hero: 3 Sec
Duration Normal: 10 Sec


Level 2 -
Attack speed Reduction: to 60%
Damage Reduction: to 40%
Movement Speed Reduction: to 60%

Duration Hero: 4 Sec
Duration Normal: 12 Sec


Level 3 -
Attack speed Reduction: to 50%
Damage Reduction: to 30%
Movement Speed Reduction: to 45%

Duration Hero: 5 Sec
Duration Normal: 14 Sec

Screenshots:

http://img412.imageshack.us/my.php?image=muscularcripplejn9.jpg
Muscular Cripple upon impact...

Map:

(Now attached lol...)

thanks dudes :p
 

Sooda

Diversity enchants
Reaction score
318
There isn' t any map to test, you forgot to attach one. From picture it makes sircle and everyone who are hit by it or in it gets attack and move speed reduced while gaining damage resistance ?
 
C

Cookie

Guest
ahhaha ahahhaha thats is easily the funniest thing ive eva done baha i forgot to attach the map... lol ahhah ill attach it now fellas, sorry... hahahahh im cacking myself laughing here...

yeah sooda, its just a basic AoE spell... first spell ive ever done and it took me hours... lol! sorry to waste your time man :(
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Nice one, short n working...buuut, you should try remove the leaks:

leak1.
Code:
Special Effect - Create a special effect at [COLOR="YellowGreen"](Target point of ability being cast)[/COLOR] using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl

leak2.
Code:
Unit - Create 1 Dummy Caster! for Player 1 (Red) at [COLOR="yellowgreen"](Position of (Picked unit)) [/COLOR]facing Default building facing degrees

leak3.
Code:
Unit Group - Pick every unit in (Units within (250.00 + ((Real((Level of Muscular Cripple  for (Triggering unit)))) x 25.00)) of ([COLOR="yellowgreen"]Target point of ability being cast)[/COLOR] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is A ground unit) Equal to True))) and do (Actions)

How to fix leaks???
As for leak 3 do this
Code:
Actions
    Set POINTVARIABLE = (Position of (Target unit of ability being cast))
    Unit Group - Pick every unit in (Units within (250.00 + ((Real((Level of Muscular Cripple  for (Triggering unit)))) x 25.00)) of [COLOR="yellowgreen"]POINTVARIABLE[/COLOR] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is A ground unit) Equal to True))) and do (Actions)
...
Custom Script line: call RemoveLocation(udg_[COLOR="yellowgreen"]POINTVARIABLE[/COLOR])

Leak2
Code:
Loop - Actions
    Set POINTVARIABLE2 = (Position of (Picked unit))
    Unit - Create 1 Dummy Caster! for Player 1 (Red) at [COLOR="yellowgreen"]POINTVARIABLE2[/COLOR] facing Default building facing degrees
    Custom script:   call RemoveLocation(udg_[COLOR="yellowgreen"]POINTVARIABLE2[/COLOR])

Leak1
..just use the same variable as you use in leak 3. "POINTVARIABLE". PS: then u cannot remove the location inside that trigger (bythat i mean,Muscular Cripple), but you put the custom script line at BOTTOM of Muscular Cripple effects..

Cheerio
(hmm this went fast:()
 
C

Cookie

Guest
Oooo sweet, shall get on to fixing leaks straight away! I feel like a professional spell make fixing leaks now... lol!

Edit: Or maybe I wont.. i realised I have an exam at school tomorow... ROFL!

btw, thanks for the feedback fellas, but mores still welcome!
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Oh, just a little tip, how to choose cooldown when you are giving out a [spell]... Choose not several minutes, choose the spell duration + 3-4 seconds is just fine. Which mean for your spell, 6-7 seconds cooldown, not 120;)
Cheerio

lol..Well, edit: Your spell "Musclar Cripple" got 2 minutes (120 seconds) cooldown at level 1. (example)Make it instead like this:
Question 1: How long is the spell duration ( how long the effect lasts on the units) Answer: 4 seconds
Then do some math like this : 4 (answer in Question 1.) + ...2 or 3 seconds, = 6 or 7 seconds, and put that as your cooldown instead.
Why do this? Well, I just tested the spell once, why? I do not want to sit around waiting for 2 minutes, to test your spell again (no offence nor anything..juuust, hope you understand... :))
Cheerio again
 

Sooda

Diversity enchants
Reaction score
318
"levelOfAbiltiy" is integer variable with default starting value.
"triggeringPlayer" is player variablewith default starting value.
"tempPoint" is point variable with default starting value.
"tempUnitGroup" is unit group variable with default starting value.

Code:
Muscular Cripple
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Muscular Cripple 
    Actions
        Set levelOfAbility = (Level of (Ability being cast) for (Triggering unit))
        Set triggeringPlayer = (Owner of (Triggering unit))
        Set tempPoint = (Target point of ability being cast)
        Wait 2.00 seconds
        Unit Group - Pick every unit in (Units within (250.00 + (15.00 x (Real(levelOfAbility)))) of tempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) is alive) Equal to True)))) and do (Unit Group - Add (Picked unit) to tempUnitGroup)
        Custom script:   call RemoveLocation(udg_tempPoint)
        Unit Group - Pick every unit in tempUnitGroup and do (Actions)
            Loop - Actions
                Set tempPoint = (Position of (Picked unit))
                Unit - Create 1 Dummy Caster! for triggeringPlayer at tempUnitPoint facing Default building facing degrees
                Unit - Add Cripple (Neutral Hostile) to (Last created unit)
                Unit - Set level of Cripple (Neutral Hostile) for (Last created unit) to levelOfAbility
                Unit - Order (Last created unit) to Undead Necromancer - Cripple (Picked unit)
                Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
                Custom script:   call RemoveLocation(udg_tempPoint)
        -------- This line needs to be out of loop. --------
        Custom script:   call DestroyGroup(udg_tempUnitGroup)
> I didnt really follow what u were saying.

Good, then maybe this post makes things more clear. Als otry to store things into variables. Read memory leaks tutorials and keep doing good abilities. It looked really nice when not counting triggering mistakes. There was one un-nessecary Destroy Effect also. You should also display text message to players what commands are available and set mana and cooldown cost for your ability to 1. Show picture of your ability in this thread because it looks really good.
 
C

Cookie

Guest
wow, thanks for the support :D I will read the memory leaks tutorial in spare time... because as you can probably see I have hardly any knowledge of them. I will soon make the changes needed to make the spell leak-less, and hopefully make the spell map more improved etc... for better usage :D
 

pheonixashes

Those who misplace trust in gods learn their fate.
Reaction score
65
Nice spell Cookie, though the word "Muscular Cripple" seems a bit out of place. I suggest changing it.

Other than that, +rep.
 

Tom Jones

N/A
Reaction score
437
This is weird:
Code:
       Unit Group - Pick every unit in (Units within (250.00 + (15.00 x (Real(levelOfAbility)))) of tempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) is alive) Equal to True)))) and do (Unit Group - Add (Picked unit) to tempUnitGroup)
You use a unit group to fill another unit group. Why not fill the group directly:
Code:
       set TempGroup = Pick every unit in (Units within (250.00 + (15.00 x (Real(levelOfAbility)))) of tempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) is alive) Equal to True))))
 

Sim

Forum Administrator
Staff member
Reaction score
534
Original idea.

First of all, in your test map, please include a "Press ESC to set life/mana of hero to 100% and level to 10".

Your abilities need to be custom, the Dummy Caster! too.

In your spell's tooltip include the % reductions of the spell (damage, speed, etc.) and the duration.

> Wait 2.00 seconds

Why wait 2 seconds?

> Unit - Create 1 Dummy Caster! for Player 1 (Red) at (Position of (Picked unit)) facing Default building facing degrees

(Owner of (Triggering unit)) not Player 1 (Red). It also leaks, as mentionned above.

Code:
Muscular Cripple effects
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Muscular Cripple 
    Actions
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
        Wait 1.00 seconds
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
        Wait 1.00 seconds
        Special Effect - Destroy (Last created special effect)
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Other\Drain\ManaDrainTarget.mdl
        Wait 1.00 seconds
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Items\AIvi\AIviTarget.mdl
        Wait 2.00 seconds
        Special Effect - Destroy (Last created special effect)

Destroy the effects just after they get created.

Code:
Muscular Cripple effects
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Muscular Cripple 
    Actions
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
        Special Effect - Destroy (Last created special effect)
        Wait 1.00 seconds
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Destroy (Last created special effect)
        Wait 1.00 seconds
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Other\Drain\ManaDrainTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Wait 1.00 seconds
        Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Items\AIvi\AIviTarget.mdl
        Special Effect - Destroy (Last created special effect)

Also, (Target point of ability being cast) is lost as time passes. Store it into a point variable first and use the variable.
 

Sim

Forum Administrator
Staff member
Reaction score
534
Removing this from approval list unless you tell me you're still working on that ;)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top