1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  5. Rubbed the right way, the genie is out of its lamp! The 12th Concept Art Contest Results have been announced.
    Dismiss Notice
  6. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  7. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
Do you have good ideas for new contests? If so, please open new threads in the Contest Submission sub-forum to discuss them.
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Fan of Knives v1.03

Submitted by -Berz-
This bundle is marked as approved. It works and satisfies the submission rules.
[​IMG]

Fan of Knives

Spell is:
-MUI/MPI
-Leak free
-Bug free
-Easy to understand and modify

Please leave comments and rate =)

NOTE:
You can use this icon, it fits the spell really well, and the icon is made by me :D

[​IMG]
Icon Download Link

Keywords:
Fan, knives, dagger, warden, spin, throw, impact, invisibility
Contents

Fan of Knives (Map)

Reviews
Moderator
16:03, 4th Feb 2009 Hanky: Advice: 5 points are the highest rating and 1 point is the lowest rating. Documentation: 4 Visual Effects: 5 Triggering: 4 Idea: 5 A nice and easy spell which surely fits in many maps. I really liked the...
  1. 16:03, 4th Feb 2009
    Hanky:
    Evaluation

    Rating Points
    Advice: 5 points are the highest rating and 1 point is the lowest rating.

    Documentation: 4
    Visual Effects: 5
    Triggering: 4
    Idea: 5


    Rating Comment

    A nice and easy spell which surely fits in many maps. I really liked the idea of the chance to be invisible after the cast.

    You could add some documentation about how your spell have to be imported. But else the documentation was ok. Maybe some newbies can learn from it. Please remove the leaks in the demo trigger, apart from the demo trigger leaks I didn't found any leaks yet.


    Advice: If you didn't understood my rating or if you maybe have questions because you don't know how to fix bugs or leaks etc.. You can always send a private message to me. I will answer as soon I got time.
     
  2. -Berz-

    -Berz-

    Joined:
    Mar 5, 2008
    Messages:
    3,203
    Resources:
    123
    Icons:
    111
    Packs:
    1
    Skins:
    1
    Spells:
    10
    Resources:
    123
    Let me know if you find anything strange, because I'm sure i forgot something D:

    And yeah Rate and comment! =)
     
  3. NiddHogg-kun

    NiddHogg-kun

    Joined:
    Sep 24, 2007
    Messages:
    268
    Resources:
    2
    Icons:
    2
    Resources:
    2
    super simple >.<
    2.7/5
    but i like it
    EDIT
    and why did you make Real = Integer(Level blabla) *converted from real to integer*
    then you convern Real to Integer. why not just use Integer not Real
    2.5/5
     
  4. -Berz-

    -Berz-

    Joined:
    Mar 5, 2008
    Messages:
    3,203
    Resources:
    123
    Icons:
    111
    Packs:
    1
    Skins:
    1
    Spells:
    10
    Resources:
    123
    Yes its simple =)

    But still useful I hope :D

    Thanks for the first comment and rating!
     
  5. NiddHogg-kun

    NiddHogg-kun

    Joined:
    Sep 24, 2007
    Messages:
    268
    Resources:
    2
    Icons:
    2
    Resources:
    2
    aha np ^^
    use Integer[2] insteed of Real[1]
    then i will look like Integer[2] = Level Of blabla^^
     
  6. -Berz-

    -Berz-

    Joined:
    Mar 5, 2008
    Messages:
    3,203
    Resources:
    123
    Icons:
    111
    Packs:
    1
    Skins:
    1
    Spells:
    10
    Resources:
    123
    Thats the problem, anyway how i turn it real/integer i have to convert it :S
     
  7. NiddHogg-kun

    NiddHogg-kun

    Joined:
    Sep 24, 2007
    Messages:
    268
    Resources:
    2
    Icons:
    2
    Resources:
    2
  8. Dark_Dragon

    Dark_Dragon

    Joined:
    Jul 19, 2007
    Messages:
    600
    Resources:
    8
    Tools:
    1
    Spells:
    7
    Resources:
    8
    Wot! overpowerd :p

    Well Warden is my fav hero and this is one of my fav spells.
    You made it well but you should not make it random direction coz if to much blades are send to one point the damage would be to heavy if units are there and if they are not spell could be to weak. Lol my cast left Blood Mage on about 100 hp form 550 and heroes take only 75% damage from spells and footman's ... where killed :D

    In any way i would like you to make this spell go in all directions and on first hit it will disappear and slow target as well as dealing damage. (some shadow slow) would be nice

    Other then that 4/5 since it to overpowerd and well is GUI which is slow but still nice since well i have to give difference from jass and GUI ^^

    Other spell is MUI, works well in game (no bugs) found, does not leak and is nice idea for now 4/5 +rep
     
  9. -Berz-

    -Berz-

    Joined:
    Mar 5, 2008
    Messages:
    3,203
    Resources:
    123
    Icons:
    111
    Packs:
    1
    Skins:
    1
    Spells:
    10
    Resources:
    123
    Thanks Dragon for your comment =)

    Yes that would be good that the dagger disappears after the impact, but i dont know how to make it :S

    Overpowered, not really and yes, it depends how you look at it. It is if 10 daggers fly in the same direction, and not if the unit is really near.(if you know what i mean)

    And i also noticed..that formula for points, in most of the cases no daggers are thrown in the down right corner of the screen (i did some calculations and that shouldn't happen)

    So if i calculate again 26 because 36"="360 36/2=18 18/2=9 18+9=27(but for round number 26 :p) and random number average is 14 (13.547..) so if we calculate it again its 26*14=364 something like that and we have the full circle, but with random points ^^ but it doesn't seem to work sometimes.

    I will lower the damage by 15 on each level, or maybe just on level 2 and 3.
     
  10. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,930
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    You have to convert an integer to a real?
    No you dont, intergers can be used as real values without any conversion being needed. The only conversion needed is from real to integer as a loss of data must occur. Ofcouse, converting types is not the most speed efficent, however you do not need to convert an integer into a real as JASS will nativly convert it for you.

    If GUI forces you to convert it, then it proves how GUI is.
     
  11. baassee

    baassee

    Joined:
    Nov 14, 2008
    Messages:
    3,220
    Resources:
    17
    Spells:
    14
    Tutorials:
    3
    Resources:
    17
    damn that's a nice spell, really fan of your spells lols ^^

    Love the idea, remaking fan of knives to the better but the invisble thing is a little overpowered. I mean I cast(ed?) the spell 10 times, I turned invisble 8 of them but guess I'm just a lucky son of a b***h :)
     
  12. Just_Spectating

    Just_Spectating

    Joined:
    May 16, 2007
    Messages:
    7,023
    Resources:
    46
    Models:
    11
    Icons:
    9
    Skins:
    26
    Resources:
    46
    it would of been usefull in my map if i hadnt already made one lol.
     
  13. LightBloOD

    LightBloOD

    Joined:
    Dec 28, 2007
    Messages:
    180
    Resources:
    0
    Resources:
    0
    nice spell :D but:
    -just as Dark_Dragon said it's overpowered as hell (=D). Using carrior swarm for the knife damage you can set the maximum damage of the knives making it do only for exampe 75 damage total on one target and nothing to others. Or you need a projectile system to make the knives dissappear.
    -about the circle: you may do it with less knives somehow like the warden throwes a knife in a random degree between 0 and 30, and another knife between 30 and 60 until 360. it'll be 12 knives in a 'random-but-complete' circle =)
    -about the range: 600? wow, too much :D. Maybe you should create about 3 dummy carrior swarm with 3 different ranges (for example: 350, 450, 600) and in the trigger create a function that ramdomly picks one of these three for the dummy unit and each knife will have a ranom range :)

    overall nice idea to recreate the well-known spell
    3/5 because of the balanceless knives =(
     
  14. Day-Elven

    Day-Elven

    Joined:
    Apr 3, 2008
    Messages:
    699
    Resources:
    0
    Resources:
    0
    How are they?
    Numbers can be changed easy.
    It's a good modification of warden spell.
    The minimal rating this spell worth is 4/5
     
  15. Geoffroy77

    Geoffroy77

    Joined:
    Feb 3, 2008
    Messages:
    137
    Resources:
    0
    Resources:
    0
    HUMMMM what can i say ?.....
    SIMPLY PERFECT ! I love this spell really good idea =) another really good spell -BZR- =)
     
  16. Dark_Dragon

    Dark_Dragon

    Joined:
    Jul 19, 2007
    Messages:
    600
    Resources:
    8
    Tools:
    1
    Spells:
    7
    Resources:
    8
    Hmm about real to integer conversion and randomize here is GUI code:

    • Fan of Knives
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Fan of Knives
      • Actions
        • -------- Setting the casting unit --------
        • Set Unit[1] = (Triggering unit)
        • -------- - --------
        • -------- Setting the position --------
        • Set Point[1] = (Position of Unit[1])
        • -------- - --------
        • -------- Getting the level of ability --------
        • Set Integer[2] = (Level of (Ability being cast) for Unit[1])
        • -------- - --------
        • -------- Base chance value --------
        • Set Integer[1] = 15
        • -------- - --------
        • For each (Integer A) from 1 to 26, do (Actions)
          • Loop - Actions
            • -------- - --------
            • -------- Setting the position --------
            • -------- ######## See Here: ######### --------
            • Set Point[2] = (Point[1] offset by 50.00 towards (((360.00 / 26.00) x (Real((Integer A)))) + (Random real number between 0.00 and (360.00 / 26.00))) degrees)
            • -------- - --------
            • -------- Creating dummy --------
            • -------- Adding ability --------
            • -------- Setting ability --------
            • -------- Ordering dummy to cast a spell --------
            • Unit - Create 1 Dummy for (Owner of Unit[1]) at Point[1] facing Default Unit Facing degrees
            • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
            • Unit - Add Fan of Knives(dummy) to (Last created unit)
            • -------- ######## See Here: ######### --------
            • Unit - Set level of Fan of Knives(dummy) for (Last created unit) to Integer[2]
            • Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm Point[2]
            • -------- - --------
            • -------- Clearing leaks --------
            • Custom script: call RemoveLocation(udg_Point[2])
            • -------- - --------
            • -------- Condition gets the chance to trigger the futher actions --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Random integer number between 1 and 100) Less than or equal to (Integer[1] x (Integer(Real[1])))
          • Then - Actions
            • -------- - --------
            • -------- Creating dummy --------
            • -------- Adding ability --------
            • -------- Setting ability --------
            • -------- Ordering dummy to cast a spell --------
            • Unit - Create 1 Dummy for (Owner of Unit[1]) at Point[1] facing Default Unit Facing degrees
            • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
            • Unit - Add Fan of Knives(dummy, invisibility) to (Last created unit)
            • Unit - Set level of Fan of Knives(dummy, invisibility) for (Last created unit) to (Integer(Real[1]))
            • Unit - Order (Last created unit) to Human Sorceress - Invisibility Unit[1]
          • Else - Actions
        • -------- Clearing leaks --------
        • Custom script: call RemoveLocation(udg_Point[1])


    Ok let me explain randomize formula its really simple:

    360 -> max angle since it really is
    26 -> knifes

    so: (360/26)*Loop A + Rnd(0., 360/26)

    first we get single part of loop and the multiply it by current loop so we get each loop constant factor + add random direction which is from constant (zero) to max distance from new constant factor (in next loop)

    About balance now is fare more balanced but still you will need to reduce damage a bit + really add carrion swarm max damage to something like 25 + level*25 or something like that.

    Since if you don't know how to make that knife disappears on hit but still i like the spell and tell me if my code helped you out.

    Oh before i forget there is one thing in your map which slows down map startup because you use arrays and allocate 100 empty places but use only 1 you don't actually need arrays and GUI arrays don't need to be allocated on map startup because they are globals and globals are auto set to null or 0 if integer, real, false for boolean...

    So if you need array simple just set size to 1 and it will work just fine + optimize map start up. You have 5 variables with array size of 100 so on map start up 101*5 = 505 loops wow thats slow and UnitGroup = you leak 101 UnitGroups -> since they are allocated with function CreateGroup

    why 101 since 0 to 100 = 101 places to allocate

    well if you really need that much of groups then yeah you need to allocate them but i just tell you this to teach you something new :p

    Ok i wrote really much now guess i helped you out a bit!
    Have a nice day!
     
  17. Jack_Sparrow93

    Jack_Sparrow93

    Joined:
    May 9, 2008
    Messages:
    1,431
    Resources:
    6
    Icons:
    5
    Maps:
    1
    Resources:
    6
    Looks nize! Gotta check it closer!
     
  18. -Berz-

    -Berz-

    Joined:
    Mar 5, 2008
    Messages:
    3,203
    Resources:
    123
    Icons:
    111
    Packs:
    1
    Skins:
    1
    Spells:
    10
    Resources:
    123
    Uff... Thanks for the comments everyone!
    @DK
    I'll try the trigger you posted =)

    And you say i need only 1 array?

    I'll reread this again and improve the spell :D

    Thanks for the testing and comments again! ;P
     
  19. nerovesper

    nerovesper

    Joined:
    Sep 29, 2008
    Messages:
    614
    Resources:
    2
    Maps:
    1
    Spells:
    1
    Resources:
    2
    Pretty nice, I'll wait for more updates it might get even better.
    The warden is really cool that's why I made a spell for her too. ^^