1. 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
  2. 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
  3. The reforging of the races is complete. Come see the 14th Techtree Contest Results.
    Dismiss Notice
  4. It's time to choose your horse in the race - the 32nd Modeling Contest Poll is up!
    Dismiss Notice
  5. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[General] World Editor Spell Problem + more

Discussion in 'World Editor Help Zone' started by Hollification, Sep 15, 2012.

  1. Hollification

    Hollification

    Joined:
    May 27, 2012
    Messages:
    60
    Resources:
    0
    Resources:
    0
    Well, here I am making a map in the editor, when I made two spells for one character, both using the spell shockwave but both are trigger based spells, and in-game when I go to use one of the spells, it will activate the other spell since it was made as shockwave as well.
    Is there any way to make it so using the spell won't try to activate the other spell as well since it was used as shockwave? Or will I simply have to remake it?

    On another note.. Is there any editor program that will help in making spells for heroes? Like.. If I were to make a spell with 100 levels, is there some kind of tool that can help me rather than me just typing in every single box the increments per level of the spell, or the tooltips per level? or I will have to do this on my own?

    Thanks in advanced
     
  2. phoenixfire

    phoenixfire

    Joined:
    Jun 10, 2008
    Messages:
    980
    Resources:
    0
    Resources:
    0
    I do believe you'll have to remake it. So when you click the spell do both trigger or just the opposite one? If it's the opposite one it might be a problem in triggering. If both, you'll probably have to remake it.



    I do not believe so. The object editor doesn't have any tools that edit it in large amounts. JNPG is probably the best editor for map-making, though.
     
  3. Spartipilo

    Spartipilo

    Joined:
    Jul 14, 2011
    Messages:
    3,190
    Resources:
    0
    Resources:
    0
    Each ability has an ID. If you give 2 custom abilities to a unit, both based on the same, both will have the same ID, so, when any of them is casted, both will be detected as Casted and go on Cooldown, because... they're "both" the same (at some point).

    You would have to base one of them on Channel (wich is an ability with no effect just fotr triggering purposes) and, when that spell is cast, you create a dummy unit, add the ability to it, and order the dummy to cast the ability. Channel allows modificating the BaseID of the ability, so, you can have a Custom Channel Ability with the ID of Shockwave, and Another Channel Ability with the ID of Chain Lightning.

    There's something called "LUA OBJECTS" or something like that wich allows creating objects (units, abilities, etc.) during gametime.

    Object Editor has an "Auto Fill" (with right click) option that allows manipulating all the fields of the same type in the ability at the same time with some characteristics. Like "I want the ability to do 5 damage for every level" you just select the first level, select AutoFill and select "Constant Ratio: 5" and it will increase every level by a constant of 5.

    You must know that abilities with more than 4 levels takes MUCH more map space, and becomes MUCH slower to load during gametime, because they're handled in a different way by Wc3 system. So, abilities with many levels is not good, nor recommended.
     
  4. Hollification

    Hollification

    Joined:
    May 27, 2012
    Messages:
    60
    Resources:
    0
    Resources:
    0
    It's not a triggering problem because only one of the abilities is trigger based, ignore what I said in my main post, I wasn't paying attention. What's JNPG? I have Jass NewGen but whats the P stand for?




    Could you direct me to LUA OBJECTS or whatever it's called?
    Also, so if I wanted an ability with more than 4 levels, is there anyway to make it so it won't slow the map down? and the autofill thing is not working for me in jass new gen like you said.

    Thanks for the help so far guys

    I guess i'll have to learn how to make channeling abilities :)
     
    Last edited: Sep 15, 2012
  5. Spartipilo

    Spartipilo

    Joined:
    Jul 14, 2011
    Messages:
    3,190
    Resources:
    0
    Resources:
    0
    I have no idea about LUA Objects, but I know it's possible to create things dinamically during gametime. Search for it in Google, or using Hiveworkshops search function.

    JNPG is Jass NewGen Pack.

    It's not like it's going to make the map slowdown... Let me show you an example:

    Lets say that an ability with 4 levels requires 1 second to load and requires 1kb of map space. This means that, when you give the ability to the unit, the game lags/stops for 1 second to load the ability. 0.25 seconds per level (0.25 x 4 = 1). If you do it in Map Initialization, that second will happen during Loading time (while LoadingScreen is shown).

    Suddenly, if the ability has 5 levels, doesn't take 0.25 per level, but something like 0.33, and instead of 1kb, takes 3kb. I already forgot the reason, it has something to do with .slk files.

    It's pretty easy to make the channel thing.
    • Melee Initialization
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to YourDummyAbility
      • Actions
        • Set TPoint = (Position of (Triggering unit))
        • Unit - Create 1 YourDummyUnit for (Triggering player) at TPoint facing Default building facing degrees
        • Unit - Order (Last created unit) to Move To TPoint
        • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
        • Custom script: call RemoveLocation(udg_TPoint)


    What do you want to achieve with the 100 level ability? There's probably a better way to handle it.
     
  6. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    I believe the lua scripts are run at map compiling, which means you still cannot make things dynamically during gameplay... not sure though, but at least that what I see them mostly used for (automating object creation on the WE)... Instead of making them manually, you just type the lua code, hit save button and poof, the objects are already on the object editor... but that would suffice for your second query, though its still a bit of work typing all those codes...

    as for the first question, well, for dummy spells (spells which does nothing by itself and relies on triggers for the actual effect), you should use channel as a base...
     
  7. Hollification

    Hollification

    Joined:
    May 27, 2012
    Messages:
    60
    Resources:
    0
    Resources:
    0
    It is mainly for attribute bonuses, most other abilities have a level cap of 10/5.
     
  8. Spartipilo

    Spartipilo

    Joined:
    Jul 14, 2011
    Messages:
    3,190
    Resources:
    0
    Resources:
    0
    If you want attribute bonuses, you can make 3 abilities (Str, Int, Agi) with 1 level, when the Hero learns one of these abiltiies, you increases the stat with triggers, and reduce the level of the ability, so it will always remain on lvl 1, but the stats will increase and the stats points will be consumed.
     
  9. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    or you can have 3 usable abilities [and maybe put it inside a spellbook] if you cannot afford to make three hero abils just for the sake of learning them... then once you cast it, you add a point to the stat that it is affecting, of course if you have enough points...

    that is of course if the attribute bonuses are for something like a stat system...

    but if it's for passives, items etc, then you cannot use this method...
     
  10. Hollification

    Hollification

    Joined:
    May 27, 2012
    Messages:
    60
    Resources:
    0
    Resources:
    0
    It's nothing like that, it's for an enfos team survival map.
    So pretty much...

    - start the effect of an ability
    - ability being cast equal to attribute bonus
    - add 1 agility/str/int to triggering unit
    - remove 1 skillpoint
    - lower ability level

    Is that right?
    I understand how to do all of that except for the bottom 3, I mean I probably could but I'm not home right now so I'm not on my editor.
     
  11. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    Since you cast it, you don't need to lower the ability level...
     
  12. Hollification

    Hollification

    Joined:
    May 27, 2012
    Messages:
    60
    Resources:
    0
    Resources:
    0
    So everything else is right?
     
  13. gorillabull

    gorillabull

    Joined:
    Jul 17, 2011
    Messages:
    1,368
    Resources:
    2
    Spells:
    2
    Resources:
    2
    object editor has autofill
     
  14. Elfansoer

    Elfansoer

    Joined:
    Aug 26, 2012
    Messages:
    122
    Resources:
    0
    Resources:
    0
    That's true, when you right-click on one of the levels, there'll be an "Auto Fill Levels" options on pop-up menu. There, you can select a constant factor etc, and it should work, because after you click OK, the values will immediately change...
    (also, there's a preview on the dialog box...)

    For the shockwave, can we change each of the orderID's on Object Editor?
    (It's on "Text - Order String - Turn On" or something...)

    For the 100-level ability, do you want to have additional stats when you cast or when you learn?
    (when you cast it, then you shouldn't remove the ability, just like what Adiktus's said, but when you learn it, it'll be like:

    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • Hero skill learned equal to (yourability)
    • Actions
      • Unit - Add (stats_you_want) to triggering unit
      • Hero - Remove 1 skill point from (triggering unit)
      • Unit - Decrease ability level...

    Pretty much like that...)
     
  15. Adiktuz

    Adiktuz

    Joined:
    Oct 16, 2008
    Messages:
    9,674
    Resources:
    23
    Models:
    2
    Packs:
    1
    Maps:
    1
    Spells:
    16
    Tutorials:
    1
    JASS:
    2
    Resources:
    23
    For the shockwave, can we change each of the orderID's on Object Editor?
    (It's on "Text - Order String - Turn On" or something...)

    --> actually, nope... It will only change the order string of the skill... Only the spell, "Channel", can have it's BaseOrderID changed... and that ID is what causes the two shockwave-based spells to "fire" when one is casted...