• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 21st Texturing Contest: Upgrade is now concluded, time to vote for your favourite set of icons! Click here to vote!

Spell Rules

Status
Not open for further replies.
Level 11
Joined
Jul 20, 2004
Messages
2,760
SpellRules.png

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.
 
Status
Not open for further replies.
Top