Le Gobscript est le langage de commande des suivants.
bool pick(PLANT|OBJECT, Id); le suivant ramasse la plante ou l'objet n° Id bool drop(ALL|PLANT|OBJECT, ALL|Id, GROUND|PLAYER|MONSTER, GROUND|Id2); le suivant dépose sur le sol ou donne au joueur ou au monstre n° Id2 l'objet ou la plante n° Id bool attack(PLAYER|MONSTER|PLACE, Id); le suivant attaque le joueur ou le monstre ou le lieu n° Id bool defend(PLAYER|MONSTER|PLACE, Id); le suivant défend le joueur ou le monstre ou le lieu n° Id bool rebuild(Id); le suivant reconstruit le lieu n° Id bool repair(Id); le suivant répare l'objet (au sol ou dans une tanière où il a accès au stock) n° Id bool cure(PLAYER|MONSTER, Id); le suivant soigne le joueur ou le monstre n° Id bool enter(PORTAL|PLACE, Id); le suivant prend le portail n° Id ou entre dans le lieu n° Id bool scout(Xx, Yy, Nn); le suivant se déplace jusqu'aux coordonnées (Xx,Yy,Nn) et envoie un compte-rendu de ce qu'il a pu observer bool equip(Id); le suivant équipe l'objet n° Id bool unequip(Id); le suivant enlève l'objet n° Id bool build(Id); le suivant construit le lieu n° Id bool produce(TYPE); le suivant fabrique un objet de type TYPE bool trade(???); le suivant commerce bool buy(???); le suivant achète bool sell(???); le suivant achète bool use(???); le suivant utilise une potion ou un parchemin bool train(); le suivant s'entraine bool nop(); le suivant ne fait rien (mais les ordres suivants sont exécutés) instruction pour simplifier le langage
PLANT, OBJECT, PLAYER, MONSTER, PLACE, PORTAL, ALL, GROUND sont des constantes à utiliser tel quel PLANT|OBJECT signifie que l'on peut mettre PLANT ou OBJECT (mais pas les deux)
Les paramètres en vert sont à renseigner par l'utilisateur (ce sont les coordonnées ou le n° des objets/lieux/monstres/joueurs/portails/plantes) Elles renvoient VRAI si elles ont fait leur action, sinon FAUX
Voici une liste des fonctions informatives :
bool isAlly(PLAYER|MONSTER, Id); retourne VRAI si le joueur ou le monstre n° Id est un allié bool isEnnemy(PLAYER|MONSTER, Id); retourne VRAI si le joueur ou le monstre n° Id est un ennemy int isWounded(PLAYER|MONSTER|PLACE|SELF,Id|SELF); retourne le pourcentage de blessures (comme Connaissance des Monstres : 0 => pleine forme, 95 => presque mort) du joueur ou du monstre ou du lieu n° Id ou du suivant array players(); retourne le tableau des joueurs dans la vue du suivant array monsters(); retourne le tableau des monstres dans la vue du suivant array objects(); retourne le tableau des trésors dans la vue du suivant array plants(); retourne le tableau des plantes dans la vue du suivant array places(); retourne le tableau des lieux/décors dans la vue du suivant int type(e); retourne le type de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places int id(e); retourne le numéro de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places int posx(e); retourne la position en X de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places int posy(e); retourne la position en Y de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places int posn(e); retourne la position en N de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places
Voici la liste des fonctions de test :
bool eq(ARG1, ARG2) retourne VRAI si ARG1 est égal à ARG2 bool ne(ARG1, ARG2) retourne VRAI si ARG1 est différent de ARG2 bool lt(ARG1, ARG2) retourne VRAI si ARG1 est plus petit que ARG2 bool le(ARG1, ARG2) retourne VRAI si ARG1 est plus petit ou égal que ARG2 bool gt(ARG1, ARG2) retourne VRAI si ARG1 est plus grand que ARG2 bool ge(ARG1, ARG2) retourne VRAI si ARG1 est plus grand ou égal que ARG2
Voici une liste des structures de contrôle :
if Condition: Actions endif; si Condition est VRAI alors Actions sont exécutées if Condition: Actions else: Actions2 endif; Si Condition est VRAI alors Actions sont exécutées sinon Actions2 sont exécutées foreach Array as Variable: Actions endforeach; Pour chaque élément de Array, Actions sont exécutées, Variable désigne l'élément courant