def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "créer", "create") self.schema = "<etendue> (<coordonnees>)" self.aide_courte = "crée un vent dans une étendue" self.aide_longue = \ "Cette commande crée un vent dans une étendue existante."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "commenter", "comment") self.tronquer = True self.schema = "<nombre> <texte_libre>" self.aide_courte = "commente un rapport" self.aide_longue = AIDE
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "voir", "view") self.schema = "<cle>" self.aide_courte = "visionne un banc particulier" self.aide_longue = \ "Cette commande offre un affichage détaillé d'un banc de poisson."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "commande", "command") self.schema = "<chemin_commande> <groupe_existant>" self.aide_courte = "change une commande de groupe" self.aide_longue = \ "Utilisez cette commande pour changer une commande de " \ "groupe. Si par exemple vous voulez rendre l'écriture de " \ "mudmails accessibles aux joueurs, déplacez la commande " \ "|cmd|messages|ff| dans le groupe |tit|joueur|ff| grâce à la " \ "commande : %chgroupe% %chgroupe:commande% |cmd|messages " \ "joueur|ff|. Il est préférable, quand vous ajoutez " \ "une nouvelle commande au MUD, de la placer d'office " \ "dans un groupe essentiel (|tit|pnj|ff|, |tit|joueur|ff| " \ "ou |tit|administrateur|ff|). Une fois que la commande " \ "a bien été ajoutée, vous pourrez la déplacer dans " \ "le groupe final de destination. " \ "Enfin, sachez qu'en déplaçant une commande, toutes ses " \ "sous-commandes seront déplacées dans le même groupe. Pour "\ "évitez cela, mettez un point (|cmd|.|ff|) après le nom de " \ "votre commande. Si vous faites %chgroupe% %chgroupe:commande% " \ "|cmd|messages. joueur|ff|, la commande |cmd|mail|ff| " \ "sera déplacée mais aucun de ses paramètres. " \ "Libre à vous de les transférer ensuite un à un pour " \ "n'autoriser que certains paramètres aux " \ "joueurs, tout en en laissant certains accessibles qu'aux " \ "administrateurs."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "poste", "position") self.schema = "<nom_matelot> <message>" self.tronquer = True self.aide_courte = "change un matelot de poste" self.aide_longue = \ "Cette commande permet de demander à un matelot de changer de " \ "poste. Cette commande est souvent utile au début d'un voyage " \ "(ou juste après avoir recruté un nouveau membre d'équipage). " \ "Certains matelots ont des postes de prédilection mais, par " \ "choix, vous pourriez décider de les mettre à un autre poste. " \ "Les matelots chargés de poste à responsabilité (capitaine, " \ "second, maître d'équipage) doivent être choisis " \ "indépendemment. Notez que le poste n'a pas de rapport direct " \ "avec l'affectation : un voilier peut être affecté dans la " \ "cale, une vigie dans la cabine. Il est préférable de placer " \ "les matelots qui sont chargés de postes relativement statiques " \ "proches des points du navire où ils devront opérer. Quand le " \ "nombre de matelots sur un navire est plus important, il peut " \ "être difficile d'affecter tout le monde et de leur changer " \ "de poste : le maître d'équipage est là pour ça. Grâce à un " \ "ordre (encore à venir), il se charge " \ "d'affecter les matelots en fonction de leur aptitude " \ "et de les mettre aux postes qui leur conviennent mieux. Il est " \ "préférable cependant de choisir au moins le capitaine et " \ "le maître d'équipage avant de donner cet ordre et il vous " \ "appartient de choisir un second parmi les officiers " \ "restants du bord, bien que cela ne soit, à proprement " \ "parlé, pas nécessaire dans tous les cas. Pour utiliser " \ "cette commande, vous devez d'abord préciser son nom (tel " \ "qu'il s'affiche dans le %matelot% %matelot:liste%) et ensuite " \ "le nom du poste, comme |ent|artilleur|ff|. Les postes " \ "disponibles sont : " + ", ".join(ORDRE) + "."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "liste", "list") self.aide_courte = "liste les perturbations actuelles" self.aide_longue = \ "Cette commande affiche les perturbations actuelles dans un " \ "tableau récapitulatif."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "liste", "list") self.schema = "" self.aide_courte = "liste les vents existants" self.aide_longue = \ "Cette commande liste les vents existants."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "liste", "list") self.aide_courte = "affiche la liste des chemins" self.aide_longue = \ "Cette commande permet d'afficher la liste des " \ "chemins pour PNJ."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "supprimer", "delete") self.schema = "<ident>" self.aide_courte = "supprime une recette" self.aide_longue = \ ""
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "liste", "list") self.aide_courte = "affiche les descriptions flottantes" self.aide_longue = \ "Cette commande permet d'afficher la liste des " \ "descriptions flottantes actuelles."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "éditer", "edit") self.groupe = "administrateur" self.schema = "<nombre> <message>" self.aide_courte = "édite la feuille de route" self.aide_longue = \ "Cette sous-commande permet d'éditer la feuille de " \ "route. Elle prend en premier paramètre le numéro de " \ "l'élément à éditer tel que vous pouvez le voir en " \ "entrant %roadmap% sans argument. Après ce numéro, " \ "entrez le texte par lequel vous voulez remplacer cet " \ "élément. Notez que si cet élément de la feuille de " \ "route contient un titre (c'est le cas si un signe " \ "deux points a pu être trouvé lors de l'ajout), cette " \ "commande ne modifie pas le titre, seulement le texte. " \ "Par exemple, entrez %roadmap% %roadmap:créer%|cmd| " \ "exploration : 200 salles ouvrables|ff| pour créer " \ "l'élément de la feuille de route. Étant donné qu'un " \ "signe deux points peut être trouvé dans le texte à " \ "la création, le titre de la feuille de route sera " \ "\"exploration\" tandis que son texte sera \"200 salles " \ "ouvrables\". Il vous suffit donc d'écrire %roadmap% " \ "%roadmap:éditer%|cmd| 1 300 salles ouvrables|ff| pour " \ "changer le texte de l'élément de la feuille de route. " \ "Cet élément deviendra donc \"Exploration : 300 salles " \ "ouvrables\"."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "centre", "center") self.aide_courte = "recentre le gouvernail" self.aide_longue = \ "Cette commande replace le gouvernail présent au " \ "centre."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "rejoindre", "join") self.schema = "<canal>" self.aide_courte = "rejoint le canal spécifié" self.aide_longue = \ "Cette sous-commande vous connecte à un canal."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "quitter", "quit") self.schema = "<canal>" self.aide_courte = "quitte le canal spécifié" self.aide_longue = \ "Cette sous-commande vous déconnecte d'un canal."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "promouvoir", "promote") self.schema = "<nom_joueur> <message>" self.tronquer = True self.aide_courte = "promeut un joueur dans votre équipage" self.aide_longue = \ "Cette commande est assez identique à %matelot% " \ "%matelot:poste% sauf qu'elle permet de changer le poste " \ "d'un joueur. Les joueurs sont libres de leurs actions " \ ": ils entendent les ordres et, certaines fois, ils " \ "peuvent les accomplir, mais ils n'y sont pas forcés. " \ "L'avantage de cette commande est surtout d'indiquer " \ "d'autres officiers : les postes |ent|officier|ff|, " \ "|ent|maître d'équipage|ff|, |ent|second|ff| et " \ "|ent|capitaine|ff| ont des privilèges particuliers, " \ "comme celui de pouvoir donner des ordres sur le navire. " \ "En outre, seuls le capitaine et son second (il peut y " \ "avoir plusieurs capitaines ou seconds) ont le droit " \ "d'ordonner de larguer les amarres ou de lever l'ancre. " \ "Enfin, si un équipage est placé pour réceptionner un " \ "abordage, les matelots ayant pour tâche de protéger le " \ "navire attaqueront les membres d'un équipage adverse : " \ "ils ne s'attaqueront pas entre eux, faisant parti du " \ "même équipage, et ils n'attaqueront pas les joueurs " \ "définis dans le même équipage, mais tous les autres " \ "(PNJ ou joueurs) seront pris pour cible. Si vous oubliez " \ "d'inclure un joueur dans votre équipage à ce moment, il " \ "sera considéré comme un ennemi. Pour manipuler cette " \ "commande, entrez en premier paramètre le nom du joueur " \ "(celui visible dans la commande %qui%, pas sa " \ "distinction anonyme) et en second paramètre le poste " \ "auquel vous voulez l'assigner, ou |ent|aucun|ff| si " \ "vous voulez retirer ce joueur de votre équipage. Les postes " \ "disponibles sont : " + ", ".join(ORDRE) + "."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "jeter", "drop") self.aide_courte = "jète l'ancre présente" self.aide_longue = \ "Cette commande jète l'ancre présente dans la salle où " \ "vous vous trouvez."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "liste", "list") self.groupe = "administrateur" self.aide_courte = "liste les questeurs existants" self.aide_longue = \ "Cette commande liste les questeurs existants."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "détruire", "destroy") self.schema = "<cle_vent>" self.aide_courte = "détruit un vent" self.aide_longue = \ "Cette commande détruit le vent passé en paramètre."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "accepter", "accept") self.schema = "<nom_joueur>" self.aide_courte = "Valider la description d'un joueur." self.aide_longue = \ "Valide la description d'un joueur."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "immerger", "immerge") self.schema = "<canal>" self.aide_courte = "immerge dans le canal spécifié" self.aide_longue = \ "Cette sous-commande permet de vous immerger dans un canal."
def __init__(self): """Constructeur de la commande""" Parametre.__init__(self, "list", "list") self.groupe = "administrateur" self.aide_courte = "liste les sorts existants" self.aide_longue = \ "Cette commande permet de lister les sorts existants."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "montant", "balance") self.aide_courte = "demande le montant conservé" self.aide_longue = \ "Cette commande interroge la valeur de l'argent déposé dans " \ "le questeur présent dans la salle où vous vous trouvez."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "marcher", "walk") self.aide_courte = "dessine plusieurs routes d'un coup" self.aide_longue = \ "Cette commande permet de tracer rapidement plusieurs " \ "routes en marchant, d'où son nom. L'utiliser est plus " \ "simple que de multiples appels à %route% %route:marquer%, " \ "bien que le principe soit le même. Cette commande est " \ "pratique car elle permet de dessiner un complexe de " \ "routes très facilement. Il suffit de la lancer dans une " \ "des salles de la carte que l'on souhaite créer et se " \ "déplacer dans toutes les salles que l'on souhaite inclure. " \ "Le système s'occupe de créer tout seul les routes, en " \ "se basant sur le nombre de sorties possibles à une " \ "salle. Le comportement de cette commande est de créer " \ "autant de routes que possibles plutôt que des routes " \ "comportant de nombreuses salles. Ce comportement est " \ "logique d'un point de vue d'optimisation (il est plus " \ "facile pour le système de gérer de nombreuses routes " \ "que de longues routes). Entrez cette commande pour " \ "commencer à marquer un ensemble de routes, puis entrez " \ "la de nouveau quand vous avez parcouru toutes les salles " \ "que vous souhaitez mettre dans le complexe de routes. " \ "Le système créera automatiquement les routes pour se " \ "rendre dans chaque salle que vous avez visité."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "tenir", "hold") self.aide_courte = "saisit les rames" self.aide_longue = \ "Cette commande permet de tenir les rames. Vous ne pouvez " \ "naturellement pas ramer sans tenir les rames auparavant."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "éditer", "edit") self.schema = "<cle>" self.aide_courte = "ouvre l'éditeur de décor" self.aide_longue = \ "Cette commande permet d'éditer un décor existant."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "hisser", "up") self.aide_courte = "hisse la voile présente" self.aide_longue = \ "Cette commande hisse la voile présente dans la salle où " \ "vous vous trouvez."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "script", "script") self.tronquer = True self.schema = "<cle> (<texte_libre>)" self.aide_courte = "modifie les scripts d'un tag" self.aide_longue = AIDE
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "liste", "list") self.aide_courte = "liste les news letters existantes" self.aide_longue = \ "Cette commande liste les news letters existantes ainsi que " \ "leur statut."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "liste", "list") self.schema = "(<message>)" self.aide_courte = "liste les décors existants" self.aide_longue = \ "Cette commande liste les décors existants."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "éditer", "edit") self.schema = "<nom_joueur>" self.aide_courte = "Editer la description d'un joueur." self.aide_longue = \ "Edite la description d'un joueur."
def ajouter(self): """Ajoute la commande dans l'interpréteur. Il est préférable de faire cela après l'insertion des commandes statiques dans l'interpréteur, c'est-à-dire durant la phase de préparation du module. Si la commande a un parent, on va créer à la place son paramètre. """ parent = None if self.parent: parent = importeur.interpreteur.trouver_commande(self.parent) commande = Parametre(self.nom_francais, self.nom_anglais) else: commande = Commande(self.nom_francais, self.nom_anglais) commande.schema = self.schema commande.groupe = self._groupe commande.nom_categorie = self.nom_categorie commande.aide_courte = self.aide_courte commande.aide_longue = str(self.aide_longue) commande.peut_executer = self.peut_executer commande.interpreter = self.interpreter if parent: parent.ajouter_parametre(commande) else: importeur.interpreteur.ajouter_commande(commande) self.commande = commande return commande
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "info", "info") self.schema = "<nombre>" self.aide_courte = "affiche des informations sur l'alerte" self.aide_longue = \ "Affiche des informations sur l'alerte permettant de la corriger."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "editer", "edit") self.schema = "<ident>" self.aide_courte = "ajoute ou modifie une recette" self.aide_longue = \ ""
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "obstacle", "obstacle") self.aide_courte = "gère les obstacles de l'étendue" self.aide_longue = \ "Cette commande permet de gérer les obstacles d'une étendue (en " \ "ajouter ou en supprimer)."
def __init__(self): """Constructeur de la commande""" Parametre.__init__(self, "miens", "mine") self.aide_courte = "liste vos sorts" self.aide_longue = \ "Cette commande vous permet de consulter votre niveau actuel " \ "dans chacun des sorts que vous connaissez."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "replier", "in") self.aide_courte = "replie la passerelle présente" self.aide_longue = \ "Cette commande replie la passerelle présente dans la salle où " \ "vous vous trouvez."
def __init__(self): """Constructeur du paramètre.""" Parametre.__init__(self, "chambre", "room") self.tronquer = True self.schema = "<chambre_auberge> <nombre>" self.aide_courte = "loue une chambre" self.aide_longue = \ "Cette commande vous permet de louer une chambre. Vous " \ "devez vous trouver auprès d'un aubergiste pour ce faire. " \ "Le premier paramètre à préciser est le numéro de la chambre " \ "à louer (vous pouvez obtenir cette information à l'aide " \ "de la commande %louer% %louer:liste%). Le second paramètre " \ "est le nombre de jours (réels) pour lesquels vous voulez " \ "louer cette chambre. Vous pouvez louer une chambre pour " \ "un jour minimum et dix jours au maximum : vous avez " \ "cependant la possibilité de renouveler une location qui " \ "n'a pas encore expirée à l'aide de la commande %louer% " \ "%louer:renouveler%. Vous disposez également du mode vacance, " \ "qui vous permet de louer pendant 30 jours réels au maximum. " \ "Ce privilège est disponible automatiquement, mais vous " \ "ne pouvez louer qu'une seule chambre pour plus de 10 jours. " \ "Chaque année réelle, le mode vacance est effacé, vous " \ "pouvez donc réserver une chambre pour 30 jours par an, " \ "pour vos vacances. Pour les cas particuliers, contactez " \ "les immortels."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "côte", "coast") self.aide_courte = "gère les côtes de l'étendue" self.aide_longue = \ "Cette commande permet de gérer les côtes d'une étendue (en " \ "ajouter ou en supprimer)."
def __init__(self): """Constructeur du paramètre""" Parametre.__init__(self, "lister", "list") self.schema = "" self.aide_courte = "liste les attitudes existantes" self.aide_longue = \ "Cette sous-commande offre une liste des attitudes existantes."