• 🏆 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!

New Spells Rules--Implemented!

Status
Not open for further replies.
Level 40
Joined
Dec 14, 2005
Messages
10,532
These will be implemented when 1.24 comes out, along with the two-week purge mentioned in the 1.24's effect on Maps and Spells thread.

(Now implemented)

Spell Section Rules


Compliance
No map may violate any Hive workshop general or specific site rules.​
Original Work
Spells should be entirely the work of the creator, although libraries (systems) are allowed.​
Compatibility
Currently, spells are allowed in Vanilla GUI (No third party GUI modifications), JASS, or vJASS. All spells must be 1.24 compatible.​
Third Party Material
Spells should avoid using third party material (other than systems). If it is absolutely necessary, then the creators of those resources must be credited in the spell map and the spell description. Pirated or stolen content is not permitted.​
Originality
Submissions should be at least somewhat unique, except in cases where they greatly improve on an existing spell in terms of performance, cleanliness (of code), visuals, or otherwise.​
Description
Submissions must have a title relevant to their function, an ingame screenshot, and a description which adequately describes them.​
Specifications
Submissions must specify any libraries they use as well as whether they are made with GUI, JASS, or vJASS.​
Performance
Submissions must be bugless, leakless, lagless on a computer that runs Warcraft III smoothly, and fully multiinstanceable. Spells using non-recycling "indexing systems" will not be accepted.​
Usefulness
Submissions must be useful; extremely simple and uncreative work will not be accepted, and nor will cinematic spells or other spells which have no place in a game.​
Genuinity
Submissions must mimic ingame mechanics; for example, damaging spells must "pull" enemies and give bounty when they kill enemies.​
Implementation
Submissions must be easy to configure (change their stats) and implement into a map. Documentation should be provided if the spell is not implemented with a simple copy and paste.​
Use
The spells section should not be used to get feedback or help on your coding--please use the Triggers and Scripts forum for that. It should also not be used to send spells to friends and then delete them--please use the Pastebin for that.​
Approval
Submissions not meeting the above criteria may be approved in rare circumstances. Spells may be rejected at any time for any valid reason given by the moderator who rejects them. Spells/systems need not meet criteria unapplicable to them. Resource moderators will decide on a case-by-case basis which spells will be approved.​
Enforcement
Repeatedly ignoring one or more of these rules may result in negative reputation, infraction points, or even being banned from the site.​
Contact
If you wish to request that your submission be reviewed, whether for the first time or after fixing problems outlined by a moderator, feel free to post in Spell Resource Moderation with a detailed request and a link to the spell in question. If you wish to complain about the actions of a moderator, please post in Admin Contact with a detailed request and a link to the issue in question.​
 
Last edited:
Level 23
Joined
Nov 29, 2006
Messages
2,482
Yes totally:D

I have one question so far tho.

Submissions must have a title relevant to their function, an ingame screenshot, and a description which adequately describes them as well as provides the complete spell code (excluding external libraries) in tags.

I bet alot of users are going to fail to clearly do this one properly. If they don't do it at all, should we delete the resource?

Don't forget this.
If you wish to request that your submission be reviewed, whether for the first time or after fixing problems outlined by a moderator, feel free to post in Map Resource ModerationSpell Resource Moderation with a detailed request and a link to the spell in question. If you wish to complain about the actions of a moderator, please post in Admin Contact with a detailed request and a link to the issue in question.
 
Level 10
Joined
Jul 12, 2009
Messages
318
Genuinity
Submissions must mimic ingame mechanics; for example, damaging spells must "pull" enemies
I have to wonder about this requirement; it's a great standard (and one to which I have recently been paying more attention) but seems difficult to always meet, considering the realities of dummy casters. For example, the winner (!) of your very own spell mini-contest #7, Draenei Bombing, does not "pull" enemies; in fact, if they have not already aggroed, they will flee...

Do you have any thoughts or advice on how to ensure correct aggro in a triggered spell when damaging spells or buffs are being cast via dummy units?
 
Level 11
Joined
Feb 16, 2009
Messages
760
1. Are boolexpr(Or however you write it) leaks in GUI a problem since you can't fix it?
2. Do GUI spells need their code posted too?
3.Should we make a rule about spellpacks and separate spells(Like when you have more than 3 spells with the same theme you must pack them)?
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
Don't forget this.
Thanks for catching that. Fixed!

I bet alot of users are going to fail to clearly do this one properly. If they don't do it at all, should we delete the resource?
We won't spend the time checking their spell until they spend the time making it presentable. It's a reasonable request.

I have to wonder about this requirement; it's a great standard (and one to which I have recently been paying more attention) but seems difficult to always meet, considering the realities of dummy casters. For example, the winner (!) of your very own spell mini-contest #7, Draenei Bombing, does not "pull" enemies; in fact, if they have not already aggroed, they will flee...

Do you have any thoughts or advice on how to ensure correct aggro in a triggered spell when damaging spells or buffs are being cast via dummy units?
Ping the unit for .01 damage from the caster.

1) Submission must not be upload with the intention to get feedback as we have Scripting & Trigger section.
2) Submission must not be upload with the intention to send it to friends, we have pastebin for this reason.
Right. Intended to add those but forgot to--thanks for reminding me.

1. Are boolexpr(Or however you write it) leaks in GUI a problem since you can't fix it?
Not sure what you mean there. Null boolexprs? No.

2. Do GUI spells need their code posted too?
Yes.

3.Should we make a rule about spellpacks and separate spells(Like when you have more than 3 spells with the same theme you must pack them)?
Not in my opinion, especially since few users do this and it doesn't really make a difference. People usually combine them anyways.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
and fully multiinstanceable
Difine fully multiinstanceable. . .
Most stuff from vexorian and other top triggers is restricted to only a certain number of casts at the same time, even if that number is over 8000 which is far more than ever obtainable. Thus you should have a clear cutoff as to how many times at once the spell can be cast for it to be considered this as otherwise people will be foreced to use hashtables in a slow and unefficent way.

boolexprs do not leak.

Submissions must have a title relevant to their function, an ingame screenshot, and a description which adequately describes them as well as provides the complete spell code (excluding external libraries) in tags.
Umm WHAT THE?!?
Why must they have the spell code in the description.... Firstly Ralle was making something for this and secondly it takes 10 seconds to load them in WE. I mean this is starting to get to the point where the rulles are more annoying than actually helpful.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
Difine fully multiinstanceable. . .
Most stuff from vexorian and other top triggers is restricted to only a certain number of casts at the same time, even if that number is over 8000 which is far more than ever obtainable. Thus you should have a clear cutoff as to how many times at once the spell can be cast for it to be considered this as otherwise people will be foreced to use hashtables in a slow and unefficent way.
Within reason, evidently.

Umm WHAT THE?!?
Why must they have the spell code in the description.... Firstly Ralle was making something for this and secondly it takes 10 seconds to load them in WE. I mean this is starting to get to the point where the rulles are more annoying than actually helpful.
First: that will count.

Second: Because it takes them far less time and saves the moderators time. Saving the moderators time means the moderators are happier and can also do more spells in one day (as a lot can be rejected without doing more than glancing at the code), which means good spells get approved faster. Everybody wins, except for the people that will lose no matter what (that submit horrible spells).

.... this is getting annoying it would be enough to stop me from posting spells on this site altogether
If you're too lazy to press Copy+Paste and write [code=jass][/code] or [trigger][/trigger], then why are you making spells in the first place?
 
Level 9
Joined
Nov 25, 2008
Messages
194
I totally agree with PP, many spells could simply be rejected with a single look, because every 5th spell in the spell section is leakless.

I think, what will be annoying for some users, concerning the GUI-code parse, is that they don't have and english WE and thus have to rewrite a lot of stuff.

In this case I would erge those people to get an english version of WE or rewrite the code. Because moderators also put a lot of work into reviewing our spells, so we should also put some work in helping them to do so in order to get spells faster reviewed.

I hope I could help a bit ;)
 
As I already told, this will be better for admins and posters, so

Dr Super Good, if you mean 10 seconds to OPEN WE is not much time,
I use the same statement, 10 seconds to PASTE is not much time, but
gives much more advantages as opening it in WE. Also it allows to remove
systems that are required, which the extractor, however good it is, can not
do.
 
Level 23
Joined
Nov 29, 2006
Messages
2,482
Im not sure, but I think Ralle could implement a translator feature, using the corresponding translation when pasting in trigger tags (if it's not done already)

@ DSG unfortunantly not everyone can show off with a high-tech computer like yours. Partly when I am staying with my other parent I use a pretty slow computer. Opening jngp takes me around 30 seconds if not more. Like Poot said, the effort of the author to paste the code will benefit the moderation time. Sorting out spells, with or without wc3 installed will be possible as well...
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Well by ultra hightech, I was refering to a 6 year old PC with a HT P4. My new I7 one loads the maps near instantly. Infact WC3 is ready to be used from after boot in exactly 4 seconds.

Yes starting WE for the first time takes 30 seconds if your PC is old, but once its cached it can load the maps in less than 15. Anyway, for spells to be approved you will still have to load the map in WC3 atleast as all spells should be tested for mechanical flaws and not just theoretical ones.
 
I agree to PurplePoot. But approving and disapproving is just one side. The other side is, that code is better viewable, changeable and easier to handle with.

Beside that, posting script might take up 10 seconds and it will provide much more handling, such as being able to remove really bad spells and systems instantly or atleast to don't need to open those spells in WE, and correct me if I am wrong, but 90% of the systems and spells are precalled with 'Simple', 'Easy', 'GUI' or 'Knockback'.

Anyway, I totally vote for that.
 
Level 9
Joined
Aug 2, 2008
Messages
219
ehm i have 2 questiones:
1.Are the new rules going to be merged with the old ones or not ? If not i would miss the rule with the imported stuff, since it is not mentioned in the new rules and some people might think if the rule isn´t there anylonger we may have spellmaps about 3mb or something in future.

2.Do we have to post the all the code of a spellpack ? I mean if there are only 3 or 4 spells in the pack, it´s not a big problem but what is if there are about 10+ spells. That would be an enormeus amount of text (if the spells are decent).
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
ehm i have 2 questiones:
1.Are the new rules going to be merged with the old ones or not ? If not i would miss the rule with the imported stuff, since it is not mentioned in the new rules and some people might think if the rule isn´t there anylonger we may have spellmaps about 3mb or something in future.
See under "Third Party Material".

2.Do we have to post the all the code of a spellpack ? I mean if there are only 3 or 4 spells in the pack, it´s not a big problem but what is if there are about 10+ spells. That would be an enormeus amount of text (if the spells are decent).
If it's that big of a hassle, don't submit spellpacks that big.
 
Level 8
Joined
Aug 6, 2008
Messages
451
1. Are boolexpr(Or however you write it) leaks in GUI a problem since you can't fix it?

Dont even remember how groups work with GUI, but I guess that GroupEnum with temporary group -leak is pretty much unfixxable with GUI, since GUIers themself cause it by trying to fix another leak by using DestroyGroup.

And yea, that null boolexpr with GroupEnum leaks too, so if some GUI actions use it, its pretty much unfixable.

So yea, there is many unfixable leaks with GUI ( those BJs which dont null local handle variables, too for example ) so you better make some list about leaks that must be fixxed for submissions.

Same would be good for Jass systems too. For example Dusks DamageDetection leaks trigger events, if you dont recycle your units.

( I recycle them, but most of Jassers dont as far as I know )

and fully multiinstanceable

This is important too. You should at least write some guidelines for those spell rewier guys. Also it would be good to test how many instances of spell wc3 can actually handle. ( Well, this kinda sucks because people have different computers and everything.. )



Also, you should support modularity. Instead of having arrowkey events writen inside your system, it should require some common arrowkey library.
 
Level 15
Joined
Jul 19, 2007
Messages
618
PurplePoot said:
If it's that big of a hassle, don't submit spellpacks that big.

why is that so? i have a large spell pack and i already coded spells for 1.24... my pack is big so should i separate them? i think its best to have all in one through!

Dont even remember how groups work with GUI, but I guess that GroupEnum with temporary group -leak is pretty much unfixxable with GUI, since GUIers themself cause it by trying to fix another leak by using DestroyGroup.

And yea, that null boolexpr with GroupEnum leaks too, so if some GUI actions use it, its pretty much unfixable.

So yea, there is many unfixable leaks with GUI ( those BJs which dont null local handle variables, too for example ) so you better make some list about leaks that must be fixxed for submissions.

Same would be good for Jass systems too. For example Dusks DamageDetection leaks trigger events, if you dont recycle your units.

( I recycle them, but most of Jassers dont as far as I know )



This is important too. You should at least write some guidelines for those spell rewier guys. Also it would be good to test how many instances of spell wc3 can actually handle. ( Well, this kinda sucks because people have different computers and everything.. )



Also, you should support modularity. Instead of having arrowkey events writen inside your system, it should require some common arrowkey library.

hmm well there is no help in GUI about boolexpr leaks. GUI's script does not leak at all, what does leak is blizzard.j and we cant access that (change it) coz if we do then all people who play on battle.net would need to have that blizzard.j to play specific maps...

well its possible to fix it if we use cJass... with it we simply do this:

JASS:
define PolledWait = Sleep

function Sleep takes real secs returns nothing
...
endfunction

so we can do that for any function / variable...

and about GUI groups they leak boolexpr (some) like this one:

JASS:
function GetUnitsInRangeOfLocAll takes real radius, location whichLocation returns group
    return GetUnitsInRangeOfLocMatching(radius, whichLocation, null)
endfunction

about unit recycling! well i am sure you know that removeing unit causes a little leak!
however most of unit is realy removed from memory (almost fully) what remains is its buffer (temp_pos in memory) which it was pointed to but thats really a minor thing thats why poot said its a waste of time. however recycling objects for me is bad coz you sure know that struct in VM (handle id) + grouped classes + main objects class in c++ is much much more leaking then a small buffer... btw that buffer is there as long as unit is... recycling will attempt not to load too much buffers but as i said 1 unit not removed (recycled) leaks more then a lots of little buffers... as well recycling is not a native function so its slower especially when used in 0.01 timers executed function.

still i dont care if someone removes or recycles units i accept both methodes and leave it to coders own will.

Anachron said:
Hmm, thats how I thought, but wc3c.nets programers tell other things...

wc3c people dont know or ignore many things too!
recycling and / or structs algorithms is a fancy for them, coz they are advanced and like advanced code... even if it leaks more, is slower they will always say its better... i explained above how all works and why it leaks more... slower is well coz VM functions are slow (anything done is slow) so natives from C++ are well what to say? faster ofc!

I made some damage show system for my map which destroys the trigger from time to time
does that count as recycling/does it leak?

and why should spells be a thousand times more instanceable as they will ever be cast? e.g. jump- or movement-systems will lag at 100 at the latest anyway

and which types of "gui recycling" is allowed?
(e.g. sort algorithms, reset on run-out or something else)

destroying trigger means dynamic work! however destroying trigger leaks if you dont have pointer on its trigger actions!

if trigger has actions added ~via TriggerAddAction... each of them must be removed ~via TriggerRemoveAction before you destroy the trigger.

2^4 casts at same time for me is fully MUI!
this means all players including neutrals can cast spells all at same time... which is hard to happen... or it means that 4 players can cast spell 4 times at same time or 1 player 16 times at same time... anyway 2^4 instant spell casts for me means MUI.

recycling in GUI is pointless anyway... and would require custom scripts (a lot of em)

Unit recycling a waste of time?

Ha and lol, you obviously dont know what you are talking about.

But anyways, my point was that some system might seem to be leaking for some people, when for some people it does not.

( Well, even that system leaks triggerevents it is not really a that kind of leak that causes problems anyways )

well once trigger is destroyed all events are cleared so...
however triggers like some people in GUI make that only one trigger registers all units for damage detection and when any unit (dummy)... enters map is registerd!!! and when you have multiple such a spells then its wow a lot of leaks yeah... problem is some people (most of them) do that in jass to...

GUI... recycling... is the most pointless thing I've ever heard. Almost as pointless as GUI itself.

i dont think GUI is pointless coz i started as beginner on GUI and it was awesome for me to learn coding. same goes for anyone else...

Greets all!
~Dark Dragon
 
Level 15
Joined
Jul 19, 2007
Messages
618
~Void~ does vJass too.



Actually, I dont. Grim001 did some testing and noticed that wc3 memory usage goes up without going down, when creating and removing units. Captain Griffen did some testing too, and it seems that its not permament.

I dont really know whats the truth, but it doesnt really matter since I recycle my units anyways, because unit recycling offers too much cool possibilities that are unnecessary hard to make without.

indeed recycling might be good in some cases and thats why i said i leave it to coder itself!

I started on vJASS. It was much easier that way, since I knew I was going to be switching to it eventually anyways. I'm still shit at it though; I never try to make spells/systems.

@Anachron: I do just about everything except modeling. I'm just better at terraining.

yeah well if you already know c++ or anyother programming language then its ofc great to start with vjass since its easier and it would be waste of time to use GUI.

however when i stated coding i did not know any programming language... infact i did not know how computers work... coding all that stuff, at that time i did not understant at all.

GUI is good for such a reasons coz its easy to learn and once you know GUI going to jass is really easy. then more advanced to vjass is np as well!

Regards!
~Dark Dragon
 
Level 8
Joined
Aug 6, 2008
Messages
451
I still dont know any other programing language than Jass.

I just decided to learn Jass as soon as I heard that you can do more stuff with it. Learning Jass wasnt hard at all because I never thought that it should be easy like most of those GUIers seem to be doing.

Learning is easy if you really want to learn and dont let little difficulties bother you. I never learned modelling, for example, because I didnt feel like putting enough time and effort to learning it.

( o_O suprise ? )
 
Level 36
Joined
Jul 1, 2007
Messages
6,677
yeah well if you already know c++ or anyother programming language then its ofc great to start with vjass since its easier and it would be waste of time to use GUI.

however when i stated coding i did not know any programming language... infact i did not know how computers work... coding all that stuff, at that time i did not understant at all.

GUI is good for such a reasons coz its easy to learn and once you know GUI going to jass is really easy. then more advanced to vjass is np as well!

Regards!
~Dark Dragon

I didn't know anything really before I started. I just read a few of Hive and WC3C's tutorials.
 
Level 15
Joined
Jul 19, 2007
Messages
618
I still dont know any other programing language than Jass.

I just decided to learn Jass as soon as I heard that you can do more stuff with it. Learning Jass wasnt hard at all because I never thought that it should be easy like most of those GUIers seem to be doing.

Learning is easy if you really want to learn and dont let little difficulties bother you. I never learned modelling, for example, because I didnt feel like putting enough time and effort to learning it.

( o_O suprise ? )

well its not like i am suprised but sure i know there are some people who can more easy undersand coding and some more hard. through i am always more on side of people who learn everything alone or better to say select ther own coding style rather then listening to every possible person who tells them change this and this...

well PurplePoot did selected his own syntax for programming and he selects like he already said: "Recycling units is a waste of time." through this really does not matter, what matters is that when someone says smth that he should change he wont! and he was my teacher btw...

so you should keep recycling units and learning jass just exacly the way its most easy and readable for you!

I didn't know anything really before I started. I just read a few of Hive and WC3C's tutorials.

well at my time there where not to much tutors and i did not want to search to much.. i always liked to get started by myself and since i could have not understand jass i started with GUI. in the end i dont use GUI at all since its harder but before GUI was much easier for me to work and learn from... thats why if for you its more easy to learn jass (vjass) then sure its even better, since you dont need to waste 2x time.

and btw you are an advanced terrainer so if you are not the pro at vjass it does not matter... you will just learn it as time passes. well thats how it was with me. i was lucky to have Poot teach me back then!

btw i really like ur terrain and its sure creative so if you learn advanced vjass i am sure you will make some great spells.


Greets all!
~Dark Dragon
 
Back to topic, which of these suggestions will be accepted?

  • New Rules
    • GUI, JASS and vJASS scripts have to post a code, whether system or spell
    • Systems and Spells without attached code will not be approved, but also not become disapproved, if the moderator thinks its approveable and it does follow the rules, in every way.
    • Furthermore, Spells and Systems that do not work with the latest patch will not get approved.
  • New Information
    • There is a new section under the Spells and Systems entry, like in Models, where you can see a new List of things you need.
      • Tools you need
      • Systems you need
      • Links and information to the required tools & systems.
  • Changings
    • Add a new block to spells & systems upload, which contains a list of basic systems and tools you can use. (Without WEU, ofcourse)
    • While GUI, vJASS or JASS has been chosen, check whether the CodeBox is filled or not.
 
Status
Not open for further replies.
Top