# World Editor di Warcraft III

Il World Editor di Warcraft III (abbreviato anche come World Editor o World Edit) è un editor di livelli integrato nel videogioco strategico in tempo reale Warcraft III: Reign of Chaos e nella sua espansione Warcraft III: The Frozen Throne, prodotti da Blizzard Entertainment. Il World Editor, per il quale Blizzard Entertainment non fornisce alcun tipo di assistenza tecnica, supporta il linguaggio di programmazione JASS.
Il World Editor permette di creare e personalizzare mappe giocabili con livelli di dettaglio anche molto avanzati, che è anche possibile utilizzare online sui server di Battle.net; alcune di queste mappe hanno riscosso notevole successo, come Defense of the Ancients. Con l'uscita di The Frozen Throne il World Editor è stato ulteriormente potenziato, permettendo di creare anche intermezzi con tanto di doppiaggio.

## The Frozen Throne

Nell'espansione Warcraft III: The Frozen Throne l'editor è stato molto migliorato: ad esempio verrà aggiunta la funzione "Editor IA" (Artificial Intelligence), in cui è possibile creare delle vere e proprie intelligenze artificiali, dove si possono decidere quasi tutte le azioni che effettuerà il computer (offensive, espansionistiche...). Nel nuovo editor è stato aggiunto inoltre l'Editor di Oggetti, che permette di creare e personalizzare con migliaia di strumenti unità, elementi, decorazioni, abilità e potenziamenti (quello di unità si trova anche nel precedente editor, ma è meno pratico e possiede meno strumenti). Poi è stato creato l'Editor Importazione, che permette di importare alcuni file (TGA, MP3, WAV) e gestirli. Sono infine state aggiunte molte altre unità, set grafici e strumenti di personalizzazione e molte funzionalità già esistenti sono state migliorate.

## Moduli

Il World Editor è composto da più "moduli", tramite i quali il giocatore può personalizzare i vari aspetti della mappa:
* Editor di terreni: permette di dare forma alla mappa modificando l'altezza e la tipologia del terreno, aggiungendo acqua, oggetti, decorazioni e unità, con l'uso di diverse tavolozze di strumenti.
* Editor di trigger: permette di creare dei trigger, cioè di attivare automaticamente determinati eventi come conseguenza di un'azione eseguita dal giocatore durante l'utilizzo della mappa; questo modulo è costruito con il linguaggio di programmazione JASS che, grazie alla sua complessità, ne fa uno strumento molto potente e versatile.
* Editor audio: gestisce l'importazione e l'esportazione di file sonori
* Editor oggetti: permette di modificare gli attributi e le caratteristiche di oggetti, decorazioni e unità, nonché di crearne di nuovi sulla base di altri già esistenti.
* Editor di campagne: permette all'utente di creare campagne personalizzate, combinando diverse mappe.
* Editor IA: permette di personalizzare le impostazioni di IA per i giocatori controllati dal computer.
* Manager importazione: gestisce l'importazione di modelli, texture, schermate di caricamento e suoni personalizzati dentro la mappa.
* Manager oggetti: serve per gestire gli oggetti presenti nella mappa, e permette anche di coordinarli tra mappe diverse

## JASS

JASS (Just Another Scripting Syntax) è un linguaggio di programmazione a eventi utilizzabile nel World Editor per creare trigger e script di intelligenza artificiale, lavorando sul file *.j presente nei file con estensione *.w3m o *.w3x.
Warcraft fornisce un'estesa API che dà al programmatore il controllo di quasi la totalità degli aspetti del gioco. Può, per esempio, eseguire semplici comandi da interfaccia come: dare ordini alle unità, cambiare il tempo e l'ora del gioco, eseguire suoni, mostrare messaggi al giocatore, e manipolare il terreno. JASS può anche creare potenti funzioni, le quali possono rilevare se il mouse passa sopra o clicca una posizione. Ha una sintassi simile al Turing e al Delphi, benché, diversamente da questi linguaggi, sia case sensitive. JASS è primariamente un linguaggio di programmazione procedurale.