[JASS] The JESP standard, JASS spell makers read.

Level 10
Mar 11, 2004
I decided it is about time to officialize a Standard, I called it JESP, its main objective is to control the way JASS spells are shared to prevent conflicts and make them easy to implement/change/duplicate in new instances.

Many people actually already made spells that can be considered to follow this standard.

Next is the document of the standard; It explains what the standard is and how to follow it. An example of a spell that follows the standard would be : Crypt Lord Spell Set v1.1 (by mems)

  This is the JESP standard document, if a map contains this document it means that there are
 spells that follow this standard.

 Spells of this map that follow the standard:
 - "Spell1"
 - "Spell2"
 - "SpellN"
 (must change this part to mention the spells)

 Advantages of the Standard
 - Implementing spells that follow the standard is relatively easier than implementing JASS
 spells that don't follow the standard.

 - Configuring/Balancing spells that follow the standard is relatively easier than
 implementing JASS spells that don't follow the standard.

 - Users may do the following procedure to make a new ability that uses the spell's script :

 * Create a new Trigger with a name (case sensitive)
 * Convert that trigger to custom text.
 * Copy the spell's script to a text editor like Notepad or your OS equivalent.
 * Replace the spell's Code name with the name you used on the trigger.
 * Copy the new text to the new trigger
 * Duplicate the Spell's original objects to have new ones for the new spell script.

   You are now able to use that new version of the spell.

 - In case two guys give the same name to 2 different spells, there are no conflict problems
 because you can easily change the name of one of them

 What is the JESP Standard?
   The JESP standard was designed to make spell sharing much better. And to make sure JASS
 enhanced spells follow a rule, to prevent chaos.

 What does JESP Standard stands for?

 Requirements for a spell to follow the JESP Standard
 - The spell is written in JASS
 - The spell is 100% multi instanceable.
 - The spell script is ready to support spells of any number of levels.
   (default config header is not required to support all of them)

 - The Spell has an specific code name.

 - The Spell's trigger must have the spell's codename as name

 - The Spell's InitTrig function must be named: InitTrig_<CodeName>

 - The spell has a configuration header.

 - It is mandatory that rawcodes of objects are configurable in the header.

 - All the spell's specific code is inside the spell's "Trigger" (Trigger== that custom text
   slot that world editor calls Trigger, the spell may use as many 'trigger' OBJECTS as needed)

 - Every spell-specific single identifier or key works in such a way that reproducing the
   spell's trigger but after performing a text-replace of codename with another name (and thus
   renaming the cloned trigger to the new code name) it won't cause compile errors / conflicts
   when playing the map.

 - There is no code inside the spell's "Trigger" that is not specific to the spell.

 - There are no requirements for GUI variables that are specific to the spell. If a system
   used by the spell requires GUI variables the code for the system must be outside the "Trigger"

 - Eyecandy and spell's balance have to be easy to configure

 - The name of the author should be included in the spell's script.

 - The reason to exist of this standard is spell sharing. This document should be included
 within the map. And it should specify which spell follows the standard, in the top list.

End notes, no one is forcing anyone to follow this standard, it has nothing to do with any rule nor anything
Last edited by a moderator:
Level 10
Mar 11, 2004
it just gives formality to it, I would like to have the guy's name when reading his script cause some guys put it on some difficult to note places.

It is not to prevent thievery it is to know who made them.

From 2 spell maps I've seen the other day, I can tell that none of the things I added was already known by all the people. I wish they were really Common sense as you say.