• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Quality of Life Changes (Editor)

Status
Not open for further replies.
EDIT: Just to clarify the thread's purpose:
leandrotp said:
This thread is about suggestions for the improvement of the World Editor! This means that anything suggested here must be about something that is already possible to do in a map through other means, but not possible using just the World Editor.

Anything other than that is a suggestion for the game itself, not WE, so it should be in the appropriate place, not here.

Most of the wish list has been directed towards in-game features and functionality. Very few aim at improving the editor. It is probably because most of us are just used to it, so we tend to overlook the hells we've gone through.

But if there were any quality of life changes you would add to the editor, what would they be? Note that these changes would naturally be applied to the default editor (not JNGP), so also consider what features you would want from JNGP to carry over into the default editor.

Some off the top of my head (in no particular order):
  • Save maps faster, i.e. run a diff on the internal editor files before reparsing them
  • Deal with the brush list. Kill it with fire
  • Fix the crashes related to "Hashtable - Save Ability Handle" and some of the other hashtable functions
  • Faster/better shadow calculation
  • Increase tile limit to 16 in default editor
  • Add folders to the import editor. Allow multi-selection.
  • Remove doodad/destructable/unit/item limits in default editor
  • Allow you to declare globals freely through vanilla JASS, similar to how globals blocks work in vJASS
  • Allow custom unit soundsets
  • Improve the default syntax checker and extend its limit on how many lines it can parse before it farts (if there is one, I might be mixing it up with pJASS)
  • Update the maximum height/minimum height that the terrain can be raised/lowered in the default editor. (it is defined in "UI/miscdata.txt")
  • Syntax highlighting in regular JASS

What changes would you guys have? :)
 
Last edited:
Level 21
Joined
Mar 27, 2012
Messages
3,232
*Add functions for retrieving and changing any unit stat.
*Allow changing models/textures of units or other things with JASS.
*Make the orderstring field actually work on all abilities.
*Make buff stacking work based on specific buff ID, not base ability.
*Add a generic "unit takes damage" event.
*Make a way to detect when an attack is actually made rather than when it starts.
*Allow directly creating and modifying missiles with triggers. Also, some way to detect when missiles are created.
*Add a way to naturally detect what spell did damage, not just who the caster is. Possibly also referring to specific instances of damage. E.g, whether it was the initial damage or DoT of shadow strike.
 
Allow pressing "Tab" button for indenting codes. I hate that.

generated globals should be shown for the users e.g. gg_unit_HAmg_0001. It's hard to know what is the variable for that unit without using GUI then converting it to JASS.

Channel-based abilities can be ordered based on their orderids(provided in the per-level data)

add GetWidgetZ(because why not?)

Allow Special effect animations (like play "stand" for effect A)

Items should have abilities greater than 4 (at max should have been 132 abilities)

provide the Missile API (from their hardcoded missile system)

Moving units out of bounds should be handled internally. Same goes to destroying lightnings and special effects( they should add double-free check )

Add an editor where you actually generate the objects through scripts (ObjectMerger yay!) or just add some JASS functions that does that(like WurstScript)

Functions for retrieving attachment points coordinates from units (for example : getting the coordinates of unit A's chest. ) This will improve some missile systems.

Allow full control on editing User Interface.

SpellBook manipulation

Allow custom tile set and much bigger tileset.

and lastly:
Deal with the brush list. Kill it with fire

Why does this feature still exist? this causes the whole world to stop.
 
Last edited:
Level 12
Joined
May 20, 2009
Messages
822
Allow custom shadow images. Also allow them to animate.
For the love of god, just make Score Screen icons automatically generated based on the normal icon, if none is present.
Icon positions in the command card should be unique to the unit, not to the ability. (Like SC2)
Multiple command cards per unit, Ability that changes command card, (So Advanced Build can be a thing) and allow changing the command card via trigger.
Make AoE work with all weapon types, not just Artillery.
Custom weapon sounds and armor types.
Custom Attack and Defense types.
Make the Defense Upgrade stat for units actually work. (I've been told it doesn't work, but I haven't actually tested it myself)
More behaviors for projectiles, not just Arc/Parabola.
Please make Custom - Campaign in the Tool Palette. (For more sorting potential)
Make Turn Rate function properly. As of right now, the actual model turn rate does not go higher than a certain point, but the actual unit's turn rate can go much higher.
Custom Movement Types. (More than just foot or horse) Also allow to check the movement type via JASS.
Combine Food Cost and Food Produced into one statistic, and just make negative numbers provide food and positive numbers cost. (Like SC2)
Hard-coded values broken on as many abilities as possible. (Such as Spiked Barricade's damage, or Death Coil/Death Pact/Dark Ritual behavior, Critical Strike and Evasion rounding to the nearest 0 or 5, reveal range of Faerie Fire, etc)
If an ability that normally requires a buff to function doesn't have one, let it function anyway without crashing. This way, you can use abilities for dummy purposes without having an extra buff on your target.
Make Channel's projectile work if the ability targets a point instead of a unit.
There are also some crashes with the Sphere ability. I can't remember them right now, but they need to be fixed.
Make Chaos not reset the animation. Instead, it should carry over the current frame from the previous unit. If the current frame is greater than the new unit's total frames, then just reset the animation like normal.
Art Duration should be modifiable on all abilities, not just on Channel. (It would be useful on abilities like Frame Strike)
Separate detection for illusions.
Targets Allowed filter should allow or disallow for Undead, Giant, Tauren, Worker, Walkable, and Town Hall.
Make all "frost" abilities have their own slow and color tint data.
Also give Poison Arrows modifiable color tint data.

That's about all I can think of for now.

EDIT: All the stuff related to Command Cards could be done by just letting units have more than 1 list of abilities and being able to change which list is active per individual unit. There could just be a hard-limit of 5 lists, that should be more than enough to work with.
 
Last edited:
I hope you guys realize that any change you make to jass has to be compensated in the already made code for the game.

And they should not have to recode the whole campaign/melee game just because we want extra features. SO anything that's created should be with backwards-compatibility in mind.

The only two things I am really asking for is Mouse/Keyboard detection natives and GetUnitDataField(...) kind of a thing that allows direct interface with the object data, and both of those things are related to jass and offer backwards compatibility. Also do realize that asking for trivial things that will take some effort to implement, but are already POSSIBLE just not very handy is kind of... eh. I want features we can't have right now.

Guess some people are just used to convenience instead of truly new functionality, which is fine too.
 
Level 12
Joined
May 20, 2009
Messages
822
Also do realize that asking for trivial things that will take some effort to implement, but are already POSSIBLE just not very handy is kind of... eh. I want features we can't have right now.

Right, so there is basically nothing we should actually be asking for because technically it is possible to completely rebuild almost the entire game's mechanics purely using JASS. /logic

This thread is about "Quality of Life" changes to the Editor. Changes that would make modding the game using the WC3 World Editor ultimately easier and more accessible. Your argument is invalid about what this thread is trying to do.

Also almost all of those would be backwards compatible, if done right. Some of the things I mentioned are actually even bugs, and probably should be put on a bug list. (Such as Channel's projectile not working when the target is a point, or the model turning slower than the actual unit.)

^ 90% of that will never become true, while other plain silly
again, suggestions about EDITOR itself belong here. jass? to the wishlist. extra functionality within the game (armor/sounds/)? to the wishlist.

They all still fit the theme of the thread, though. Most of these would greatly cut down time and headaches on many things about making maps, campaigns, and using the Object Editor. I wouldn't have to go to the trigger editor to play my animations properly with a spell, or have to completely script a spell when some spells exist that have almost all of the things I want, but not quite everything. Although some of them would probably take way more effort than it's worth, it's still okay to dream. And some of them would just be neat and totally possible little quarks to have, like animated shadow images. I mean, techincally if you really wanted to, you could just build the shadow into your model yourself and it would totally work and look right. But it would clip with terrain.
 
Right, so there is basically nothing we should actually be asking for because technically it is possible to completely rebuild almost the entire game's mechanics purely using JASS. /logic

It's kinda the basic logic behind "jass does more things than gui and if you want to do more things (and better) use jass instead".

This thread is about "Quality of Life" changes to the Editor. Changes that would make modding the game using the WC3 World Editor ultimately easier and more accessible. Your argument is invalid about what this thread is trying to do.

It's not invalid, it just questions whether that's meaningful in itself. You see, Blizzard is going to spend a certain amount of time, work and money to work on this patch, and if they focus on fixing things that aren't broken or can be made to work, that's just downright stupid, if they could be adding a completely new functionality that'd work well to begin with. Majority of the problems listed above are really nothing you can't fix without a bit of fiddling, and that's the point of the thread, but more on that...

You probably don't get this because you never had to deal with edge cases, but as somebody who has I want new and improved functionality for things that are badly done, and as long as things can work well if you're proficient enough, I don't really care about "quality of life".

Also almost all of those would be backwards compatible, if done right. Some of the things I mentioned are actually even bugs, and probably should be put on a bug list. (Such as Channel's projectile not working when the target is a point, or the model turning slower than the actual unit.)

Well, bug fixes are always welcome, of course, but what I meant is that improving already existing functionalities that can already work to a point or can be done differently while some other things would completely change the borders of wc3 modding (like mouse/keyboard natives). Channel projectile? Use a projectile system. It may not always be nice or handy for you but it also gives you more options in the process. As far as mouse tracking goes, trackables are so terrible that even if you are really good at coding they will still give you trouble (and they lag too). On the other hand, the projectile problem you're referring to is very easily fixable by somebody who can actually use a projectiel system, and there are plenty of GUI ones.

The vanilla jass globals/endglobals block would be nice, indeed. But why aren't you using vJass or something similar already? It's out there, and it works. That problem is solved.

Guys, Blizzard is going to spend a certain amount of time/money/work on this, so let's have them do something that we can in no way accomplish as of now. Quality of life might seem nice and all, but that's ultimately less new things and more... well, quality of life. There are obviously going to be different takes on this, but this is my take. If we can be certain that they are going to work on this for a while and implement almost anything that can be useful, than sure, let's have them do it. But I am not so certain they are going to go that far, even though I wish we could both get new functionality and have old functionality made easier at the same cost.

The problem is, people who are presently not using JASS are also likely to not understand programming at all, hence why they don't understand what kinds of things would have to be done to make those changes.

For example...

Allow custom shadow images. Also allow them to animate.

This would be cool, but that implementation would be silly. Otherwise, if you'd want lightning to cast a shadow that'd probably require the wc3 engine to be reworked a lot in order to work well.

For the love of god, just make Score Screen icons automatically generated based on the normal icon, if none is present.

This is something a batch script could do. But would be a nice feature, yes.

Icon positions in the command card should be unique to the unit, not to the ability. (Like SC2)

An easy workaround for this.

Multiple command cards per unit, Ability that changes command card, (So Advanced Build can be a thing) and allow changing the command card via trigger.

You can already do all of this if you know how.

Make AoE work with all weapon types, not just Artillery.

You can trigger this.

Custom weapon sounds and armor types.

What exactly are you referring to the second one? You can code the first one in.

Custom Attack and Defense types.

Blizzard would have to rework the whole damage table system for this. Unlikely but would be nice either way, and for more heinous reasons than you'd think (he he).

Make the Defense Upgrade stat for units actually work. (I've been told it doesn't work, but I haven't actually tested it myself)

This can probably be worked around.

More behaviors for projectiles, not just Arc/Parabola.

Codable.

Please make Custom - Campaign in the Tool Palette. (For more sorting potential)

That's actually a good idea, and shouldn't be too hard to implement.

Make Turn Rate function properly. As of right now, the actual model turn rate does not go higher than a certain point, but the actual unit's turn rate can go much higher.

I've never encountered this as a problem, they could've done that just to make it appear smoother anyhow.

Custom Movement Types. (More than just foot or horse) Also allow to check the movement type via JASS.

Like what? But yes, checking movement type via object editor through jass would be good, as would be getting ANY object editor data through jass.

Combine Food Cost and Food Produced into one statistic, and just make negative numbers provide food and positive numbers cost. (Like SC2)

This is one of the things that'd require major AI rework.

Hard-coded values broken on as many abilities as possible. (Such as Spiked Barricade's damage, or Death Coil/Death Pact/Dark Ritual behavior, Critical Strike and Evasion rounding to the nearest 0 or 5, reveal range of Faerie Fire, etc)

Most of it codable.

If an ability that normally requires a buff to function doesn't have one, let it function anyway without crashing. This way, you can use abilities for dummy purposes without having an extra buff on your target.

This would require a major redefinition of what a buff actually is.

Make Channel's projectile work if the ability targets a point instead of a unit.

Codable.

There are also some crashes with the Sphere ability. I can't remember them right now, but they need to be fixed.

Sure thing, bug fixes are good.

Make Chaos not reset the animation. Instead, it should carry over the current frame from the previous unit. If the current frame is greater than the new unit's total frames, then just reset the animation like normal.
Art Duration should be modifiable on all abilities, not just on Channel. (It would be useful on abilities like Frame Strike)

Well, instead of fixing chaos, how about they make it easier to morph into another unit? This is the problem with your line of thinking, you want to fix something that's already bugged, instead of getting a completely new (and easier to use) functionality that may be more meaningful and worthwhile to implement. Changing unit's object data value would require object data to be localized for the unit and it'd take more memory but units would be much easier and more versatile to work with. And this is a much better solution than what you suggested, but instead of simply "quality of life" it'd really broaden what we can do with editor.

Separate detection for illusions.

What do you mean?

Targets Allowed filter should allow or disallow for Undead, Giant, Tauren, Worker, Walkable, and Town Hall.

Yeah, for consistency at least.

Make all "frost" abilities have their own slow and color tint data.

Codable.

Also give Poison Arrows modifiable color tint data.

Codable.

EDIT: All the stuff related to Command Cards could be done by just letting units have more than 1 list of abilities and being able to change which list is active per individual unit. There could just be a hard-limit of 5 lists, that should be more than enough to work with.

You have to realize that what might seem like a simple quality of life fix for you, it could mean completely reimagining how things work on blizzard's side. Which is meaningful and worthwhile if it brings something new to the table. And that's my point. If they have to put plenty of work to fix something, it's much better if they do it in such a way that they grant a completely new functionality that was in no way available before.
 
Level 20
Joined
Jul 10, 2009
Messages
478
I would suggest to improve GUI in two key points, as it remains to be a huge benefit for new mapmakers.

Biggest current GUI problems are:

Creation of Memory Leaks and Absence of Local Variables.

The first one should be easily solvable by adding the Jass functions to remove locations (and the other relevant stuff) to GUI.
The second one is probably a bit more difficult to solve, because some parts of a single GUI trigger (like IF-conditions) are currently stored in different triggers, when it gets converted to Jass. Nonetheless, a solution to this exists for sure, and it would be great to get one ;)


Edit
Another thing that I'd like to see (in both Jass and GUI) is the possibilty of changing attack and armor-types via trigger.
 
Last edited:
Level 25
Joined
Jun 5, 2008
Messages
2,572
I agree with HappyTauren, mouse / keyboard detection and getting object properties would be awesome.

It's so odd we can't do simple things as track mouse X/Y or get some basic unit properties (attack range / armor value, etc).

If we could get a way to modify object data ingame (as in dynamic creation of items or dynamic change of say ability stats) I think my mind would explode :p
 
Level 9
Joined
Jul 30, 2012
Messages
156
Most of these suggestions are off-topic though.

Indeed. This thread is about suggestions for the improvement of the World Editor! This means that anything suggested here must be about something that is already possible to do in a map through other means, but not possible using just the World Editor.

Anything other than that is a suggestion for the game itself, not WE, so it should be in the appropriate place, not here.

If Blizzard wants to improve the editor after all, these are some things they could do:

  • Give more control over the map within the editor, allow the developer to view the entire source code of the map and modify some internal functions and variables that are automatically generated (config/main functions and generated globals), effectively allowing us to do anything by ourselves.

  • Expose every single native already present in JASS to the GUI world (and I'm talking about natives, not those stupid BJ functions). BJs are completely unnecessary, some of them are buggy and many don't cover all the possibilities available when using the native directly.

  • Allow the usage of local variables with GUI triggers. Expose a new trigger action named "Create local variable", and that variable will be available within the scope of that single trigger.

  • Remove all prefixes and restrictions for creating global variables. Don't force user globals to have udg_ prefix, instead make them have the real name we declare in the globals dialog. Expose all available JASS types in the variable creation dialog, and remove pseudo-types like "Unit-type" or "Item-type", since internally they are just integers. Make that dialog also list all globals that are automatically generated by WE (such as gg_trg_ triggers or unit globals)

  • Remove the restrictions on initialization of variables. A global variable doesn't need to have an "initial value", the developer will obviously assign a value when he needs to. But currently WE generates a stupid InitGlobals function which unnecessarily assigns a value to every user declared global (some stupid things like creating a timer or assigning a 0 value to an integer variable, which already holds 0 by default). The developer can take care of those by himself, at least put a checkbox on the globals dialog so that we can choose whether our global will have an "initial value" or not.

  • Remove the stupid "size of array" property in the globals dialog. Arrays are dynamically expanded and thus have no fixed size. But declaring an array with WE requires you to set a "size" for that array, and then the generated InitGlobals function will initialize every member of that array to 0, which is stupid since all members of an array are 0 by default.

  • Fix all bugged functions from blizzard.j. SmartCameraPan is the first of the list. Remove all BJs and make the GUI actions call the native directly whenever possible. Remove all actions that leak groups/locations/forces and replace them with alternatives that work off of GetUnitX/Y and alike. If possible add new trigger actions like those from World Editor Unlimited.

  • Implement a mechanism to put both the trigger condition and action within a single JASS function. Condition functions are completely unnecessary, the condition for a trigger to run should be checked with a simple if-then statement, not in a separate function.

  • Then give us an option to choose if those actions will be run from within a TriggerCondition or a TriggerAction. As we all know, trigger conditions are times faster than actions but they prevent the usage of waits. It would be nice to give the map maker the choice to put everything inside a Condition function, and if he chooses that, the Editor won't allow him to use Wait functions on that particular trigger.

  • Integrate a simple IDE with code highlighting within the Trigger Editor. We have TESH as good template for that. Implementing additional features on the Object Editor such as Colorizer for text tooltips would also be nice.
 
As DracoL1ch, TriggerHappy, and leandrotp mentioned, this thread is for editor-related improvements. All functionality-related ones should go in the patch wish list thread. leandrotp hit the nail on the head with this:

leandrotp said:
This thread is about suggestions for the improvement of the World Editor! This means that anything suggested here must be about something that is already possible to do in a map through other means, but not possible using just the World Editor.

But you've all made some great suggestions! Try to edit out the ones that are not editor-related if you can.

*Make the orderstring field actually work on all abilities.

Can you clarify? Or make a thread with a bug report if you think it is a bug.

@Xonok: Thanks for the suggestions! A lot of those are JASS-related though, so they could go in the patch discussion thread.

Almia said:
generated globals should be shown for the users e.g. gg_unit_HAmg_0001. It's hard to know what is the variable for that unit without using GUI then converting it to JASS.

These variables are only generated when you use the GUI functions. So if you have 8000 units on your map, but no GUI functions to reference them, you'll have 0 gg_unit_ variables. It would be nice to see a listing of them though.

@Almia: Thanks! Definitely a +1 to the indent thing, I had completely forgotten that dumb issue existed. A lot of those suggestions are related to JASS rather than the editor--feel free to post them over at the patch discussion thread.

aple said:
Make the Defense Upgrade stat for units actually work. (I've been told it doesn't work, but I haven't actually tested it myself)

Interesting. Consider making a thread on the issue if you figure out how to reproduce it. :)

aple said:
Custom Movement Types. (More than just foot or horse) Also allow to check the movement type via JASS.

What would we do with these custom movement types?

aple said:
Hard-coded values broken on as many abilities as possible. (Such as Spiked Barricade's damage, or Death Coil/Death Pact/Dark Ritual behavior, Critical Strike and Evasion rounding to the nearest 0 or 5, reveal range of Faerie Fire, etc)

Also would be nice as a bug report thread. :)

aple said:
If an ability that normally requires a buff to function doesn't have one, let it function anyway without crashing. This way, you can use abilities for dummy purposes without having an extra buff on your target.

What spell is an example of this?

@aple: Thanks for the suggestions! All those are definitely interesting ones to consider. More control over command cards would also be fantastic. And yes, +1 to the custom - campaign filter.

@eikonium: Nice suggestions. Those would definitely be nice to have for GUI users.

[*]Expose every single native already present in JASS to the GUI world (and I'm talking about natives, not those stupid BJ functions). BJs are completely unnecessary, some of them are buggy and many don't cover all the possibilities available when using the native directly.

I considered that as well. I don't think it would do much though. The swapped functions are useless, but the speed difference is insignificant. I think they could just improve the existing BJ's (e.g. the ones that leak references, e.g. GetUnitsIn....() functions, or the ones that crash -> SmartCameraPanBJ)

leandrotp said:
Remove all prefixes and restrictions for creating global variables. Don't force user globals to have udg_ prefix, instead make them have the real name we declare in the globals dialog. Expose all available JASS types in the variable creation dialog, and remove pseudo-types like "Unit-type" or "Item-type", since internally they are just integers. Make that dialog also list all globals that are automatically generated by WE (such as gg_trg_ triggers or unit globals)

I think that is a nice idea. The only issues I have are: (1) users might be accustomed to some of the existing names, e.g. "region" instead of "rect" (2) some types are useless in GUI (and in JASS I guess, hehe), e.g. ability or buff (3) it would require some transition/conversion phase where variables would be renamed. Tutorials would probably have to be edited as well. It might be confusing to transition.

leandrotp said:
The developer can take care of those by himself, at least put a checkbox on the globals dialog so that we can choose whether our global will have an "initial value" or not.

I think this would be the best compromise. Removing it completely could mess up some users' maps (e.g. a lot of people will use the initial value of group variables), so it is still necessary. A checkbox would be great.

leandrotp said:
Remove the stupid "size of array" property in the globals dialog. Arrays are dynamically expanded and thus have no fixed size. But declaring an array with WE requires you to set a "size" for that array, and then the generated InitGlobals function will initialize every member of that array to 0, which is stupid since all members of an array are 0 by default.

Might also mess up some GUI users' stuff if they rely on it. I think the variable editor could just be improved overall. Or in the case of plain JASS, allow us to declare our globals freely or in a way that plays nicely with copy'and'paste (like GUI variables do).

@leandrotp: Thanks for the suggestions! Definitely a lot of good ones.
 
Level 12
Joined
May 20, 2009
Messages
822
he means spell could be only used/unusable onto illusions. there are healing potions already which follows that rule (hidden rule). but that would be abusable if used within enemy-targeting ability

No, I mean a detection ability, like Invisible or Burrowed detection already exists, but only works for detecting illusions.

@HappyTauren

I do see what you're meaning, yeah we can already do some of those things, but the point of asking for these is so I DON'T have to go to the Trigger Editor and script something up just so I can do something that really honestly should already be possible purely using the Data Editor (Like Channel's projectile for Target Point. Do you have any idea how difficult that would be to script and accurately work like a normal projectile?). Though some of the ideas probably do belong more on an actual wishlist, yeah. (Like the expanded functionality)

Interesting. Consider making a thread on the issue if you figure out how to reproduce it. :)

Okay, so what I was actually thinking of is there is a "Damage Upgrade Amount" field on a unit's attacks, and then for upgrades there's a "Apply Attack Upgrade Bonus" Effect. But no upgrades in the game use that. The Attack Upgrade Bonus Effect for some reason does not actually work.
 
Last edited:
Level 19
Joined
Dec 12, 2010
Messages
2,069
There is a field in object editor with the orderstring. One could logically assume that by changing what's in the field you can change the order used for an ability, but this is not the case. This field is completely ignored as far as I know.

they probably wanted it to work, its completely legit, but later they could find out that every player can change .txt files.
They could'nt afford altering default order via SLKs, since they are already full and every field is used. One more reason is - every ability use it's own fields, you cannot maintain another one using this ID. So this feature has been denied. You have to use channel instead, which is pretty the best solution
 
Level 11
Joined
Aug 24, 2012
Messages
429
From my point of view, I think the most important quality of life points to be added are (I know some of them have been mentioned, I am stating my preferences):

-the ability to create NEW custom soundsets for units (this is currently completely impossible)

-the ability to add new armor and damage types

-make all flags actually work (eg. remove hard-coded target limitations)

-remove the limitation on attack types (eg. allow Missile Attacks to completely miss if a unit moves too far from the attacking point, like Melee attacks do; make Missile attacks have impact sounds like Melee attacks do; allow Cleave to work with all attack types, not just Melee; allow Orb Effects like Life Drain to work with all attack types like Artillery)

-enable Orb effects to work on auto-acquired attacks

-enable the use of both or even more attacks by the same unit on the same type of target (eg. a Ranged Missile attack and then a Melee attack when the enemy attacker is close). This can be achieved by having a different minimum ranged requirement for each attack.

-Control over Cooldowns (Cooldown reduction) and Number of Charges of an ability

I think quality of life changes will enable more people to achieve the results that only those with enough time to actually learn coding can. I want to do all of those things, but I don't have the time to learn JASS. Unfortunately, some of the things on my list cannot even be fully achieved through JASS.
 
Level 22
Joined
Sep 7, 2013
Messages
235
There are a few things that would make mapping easier for me:
- Increase editor limitations for size of map, number of doodads... (the true limitations should be the limits of the game).
- Make the import manager dynamic (immediate update when you import or replace a file).
- Add a trigger editor to the campaign editor (to put triggers shared by all maps of the campaign, just like object data).
- Make the "test map" button actually work for maps inside custom campaigns (currently if launches the map as if it was not inside the campaign).
 
Here are my suggestions for quality of life changes in the editor*:

- Allow setting up folders in the import menu to group imports properly
- Add a hotkey that allows copying the coordinates of the cursor to the clipboard (the editor already displays them in the bottom left corner, but I still need to type them manually whenever I need them)
- Hide color codes and instead add a GUI to directly select and color any text in the object editor. Dealing with color codes is annoying as fuck
- For the love of god, please recode Calculate Shadows to use the GPU instead of the CPU; it's completely unusable for any large-scale map... if you can't do that, just integrate this: http://www.hiveworkshop.com/forums/warcraft-editing-tools-277/shadow-calculator-268122/
- Increase the precision of Ctrl+Page up/down ... currently, when you try to align doodads perfectly, you will either encounter z-fighting or create huge bumps, since the step size of Ctrl+page is so large.
- Allow us to rotate doodads around the X and Y axis directly, without having to resort to the tilting values in the OE.
- X,Y and Z scaling should apply object space, not world space coordinates.


*these are not suggestions to add features, just suggestions that improve the workflow, as this is how I understood the thread. Seems that many people here didn't.
 

fladdermasken

Off-Topic Moderator
Level 39
Joined
Dec 27, 2006
Messages
3,688
Ability to fully and easily rotate objects around all axes, without setting negative pitch/roll values.

Also, currently when you copy an object it maintains the same scaling and rotation, but not height if it's raised up with ctrl + pg up. It would be nice to have an option you can set to keep the height too.

EDIT: Oops, didn't see you there Zweibelchen.
 
Level 27
Joined
Jul 6, 2008
Messages
11,325
Was being able to hide/relocate the default command card buttons like patrol and move mentioned? I am pretty sure you can already do that by importing a CommandFunc file into the map.

Also, erm, what about implementing those custom scripts used to delete variable data to prevent leaks as triggers?
 
Level 25
Joined
Feb 2, 2006
Messages
1,689
From my point of view, I think the most important quality of life points to be added are (I know some of them have been mentioned, I am stating my preferences):

-the ability to create NEW custom soundsets for units (this is currently completely impossible)
You can edit the SLK files manually. I am using at least three new soundsets for units in my mod. I guess you want GUI support for this.

If we had more programmers here we could actually build such tools. I've already created an initial custom object editor and custom trigger editor but both tools still need many fixes.

The chances that Blizzard updates anything of this are very low.

Some more suggestions:
* Direct support to build custom .exe modifications (see games like Gothic 2 where you can select which modification you want to start). It should also support loading directories with data for the World Editor and compressing them to MPQ archives. There could be also integrated a tool to build a Windows installer for the mod instead of letting people write their own NSIS file.
* Multiplayer emulation (which JNGP2 claims to have) which allows you to test the map with multiple instances of Warcraft and simplifies finding desync bugs on one PC.
* SLK GUI Editor for all kinds of files (lightning effects, water, weather effects, unit sounds etc.)
* Faster object data export/import excluding stuff like abilities (simple GUI checkboxes).
* Export/Import custom user interface and gameplay constants settings.
* An integrated JASS debugger (OpLimit, division by zero, breakpoints). This is probably more an update to the game itself.
* Compress unused object fields (remove object modifications, especially of string fields which are not used, so that they disappear from the war3map.wts files).
* Improve the performance when adding object entries to other objects (for example abilities to items). It takes a long to time until the big selection dialog pops up if you use much object data.
* Already mentioned here: Generated global variables -> make the access easier (show it in the dialog when editting the attributes or something like that).

Extra stuff:
* FDF editor which allows to design .fdf files to alter the UI in the game.
* Weather effect, lightning, water editors etc. with live display while changing the values.
* Advanced search in object editor (search for specific fields, list multiple results).

Btw. this thread should be fixed too!
 
Level 4
Joined
Sep 13, 2014
Messages
106
Damn, now I have got into looking at all the colourful files inside mpq's and maps and stuff and whatever. I found an asi and an flt that said "This program cannot be run in DOS mode" So I naturally renamed them to exes and it turns out they are a part of the miles sound system.

Hmm anyway I don't really know what I'm talking about, but this is what I said before:

My understanding was that you could only edit slk files in your own individual mpq, and not override other people's mpqs using the import manager so that anyone who downloads your map can use them. Am I wrong? That would be useful. Maybe as long as the editor can recognise the soundset, then it saves, then the actual wc3 doesn't care, or something? Or maybe it just doesn't work for other people. Or maybe you can simply override them with the import manager. Could you give me an example map so I can see if it works for me despite me doing no changes to my slk files?
 
Last edited:
Level 25
Joined
Feb 2, 2006
Messages
1,689
My mod uses a custom .exe file which loads another MPQ archive. I only modify my own MPQ archive not the original from Warcraft. The priority leads to loading the files from my MPQ archive. Nothing is overwritten on the disk but at runtime my sound sets are loaded. Just think of War3x.mpq and War3Patch.mpq. The patch has a higher priority so the soundsets from the War3Patch.mpq are loaded if they exist.
 

Kyrbi0

Arena Moderator
Level 45
Joined
Jul 29, 2008
Messages
9,502
This is a good thread; lots of stuff I agree with.

My mod uses a custom .exe file which loads another MPQ archive. I only modify my own MPQ archive not the original from Warcraft. The priority leads to loading the files from my MPQ archive. Nothing is overwritten on the disk but at runtime my sound sets are loaded. Just think of War3x.mpq and War3Patch.mpq. The patch has a higher priority so the soundsets from the War3Patch.mpq are loaded if they exist.
Very interested in what you have to say here... Is it as simple as editing UnitAckSounds.slk? I'm looking at it now and it seems I can just put in whatever I want (given that the referenced .wav files are actually imported first). i.e. "TrollGuy" // "TrollGuyWhat1.wav,TrollGuyWhat2.wav" etc
 
Level 15
Joined
Sep 6, 2015
Messages
576
I don't know if anyone has suggested this before, I can't read everything, but it would be nice if there was a "Unit Receives Damage" event with other trigger functions, like "Damaged Unit", "Damaging Unit", "Received Damage". I see this asked around pretty often on the forums and this is most certainly one of the most useful trigger functions that hasn't been implemented in the WE yet. Currently, only a DDS can achieve what this function should do.
 

AGD

AGD

Level 16
Joined
Mar 29, 2016
Messages
688
Some nice things
* CTRL+Z (Undo) function in the object editor
* Syntax highlighting, functions list
* Jass syntax extension
* The ability to specify angle of AddSpecialEffect() on where the effect is facing
* the ability to convert JASS => GUI
* the ability to add custom actions in trigger editor within the world editor without modifying through MPQs (this would be very nice)
* a complete control over the whole map script including the main, config functions
* N dimensional arrays
* the ability to expand array sizes would also be nice (default should be 8192 but allows users to specify if they want to)
 

AGD

AGD

Level 16
Joined
Mar 29, 2016
Messages
688
literally impossible for human beings
I think it's actually possible, though with some limitations. For example, for it to work, the written jass' format should be like the default format with InitTrig function, conditions, actions. And the natives which are not in the GUI trigger editor will be replaced with their BJ counterparts and furthermore, user's custom functions such as this line -> call MyFunc() will be written using GUI's custom script.
 
Status
Not open for further replies.
Top