Spell Rules

Not open for further replies.
Level 8
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.

GUI Spells
  • 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.

JASS Spells
  • 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.
Not open for further replies.