- Jul 20, 2004
General Spell Submission Rules
- Spells may not violate any general or specific site rules.
- Post only your own work. Do not submit a spell that you've found on some other site.
- Spell maps should be named using a title that describes the spell itself.
- Spell authors must properly label their maps upon submission.
- Both GUI and JASS spells are allowed, but they have specific rules.
- Maps must include an implementation readme (what objects and pieces of code are required). If the map is a pack (it contains more than one spell), specify in the readme all the objects/codes required for each spell (do so even if they repeat).
- If your spell requires WEU, Grimoire or any other third-party world editors, specifically mention what you've used. Regular editor does not require mention of course.
- Plain object editor spells are not accepted. You will need to do some extraordinary object editor modifications to impress us.
- Do not remake spells already existent on the site. In certain cases, originality may be decisive for approval.
- Ingame screenshot. Other shots are allowed, but one ingame screenshot/spell is a must!
- Utility of the spell is an important criterion. Posting a silly and completely useless spell shall lead to its deletion.
- Your spells should always give bounty where necessary!
- Protected maps shall be immediately deleted (if the map can be opened with a third-party WE mention it at the submission of the spell as we won't test the map with every possible tool).
- No custom icons are allowed in the map (that is not the purpose of the map!).
- Custom sounds are prohibited (mainly due to possible copyright problems).
- No custom models or skins shall be imported into the map. There may be some scarce exceptions where the model is simply a must for the spell. Besides, you can always post the model/skin (if it complies with the rules in the appropriate section) on the site and mention that it can be used by your spell. Spell Resource Moderators will decide on a case by case basis exactly which models are or are not acceptable.
- Do not use specific units on the map in the code.
- Avoid object leaks (this includes locations, groups and initialization triggers).
- If the spell can be made multiinstanceable (MUI) without storing some objects/values into variables, then replace the variables with appropriate value/object.
- Spells must be MUI/player (multiple units of distinct players be able to cast the spell at the same time).
- Try to make your spell configurable for multiple levels.
- No general leaks accepted: variables, objects, etc.
- Only fully MUI spells.
- Add configuration functions to make your spell easy to modify (preferably with comments to know how they affect the spell - Ex: AoE, Drain amount, Damage).
- Your spell should be configurable for multiple levels (usually configuration functions with a level parameter and a formula are the way to do it).
- If you use a cache system or any other functions not made by you, mention the author in the script (above the system/function), if credits don't already exist.
- Avoid uselessly using BJ functions (especially swapped versions of native ones).
- Make efficient code. GUI->JASS conversions aren't exactly efficient. Compress your code, avoid useless comparisons etc.
- Write a clean code. Even though this may not sound important, if your code is structured a bit (and maybe even has a few comments), people will be able to learn from it a lot!
This document is subject to future revision and/or amendment.