Description du système

ADS Quest System est un système de quêtes centralisé dans une DataTable. Chaque ligne de cette table correspond à une quête et regroupe les informations nécessaires à son fonctionnement : son nom, sa description, son type, sa catégorie, ses objectifs, ses récompenses et les règles qui déterminent son déroulement. Les quêtes peuvent être de type principale, secondaire, tertiaire, tutoriel ou événement. Le Quest Manager fourni avec le plugin permet de créer, consulter et modifier ces quêtes dans une interface dédiée. L'édition directe de la DataTable reste possible, mais le manager est plus pratique au quotidien.

Une quête peut être verrouillée tant que les conditions définies ne sont pas remplies, notamment la fin d'autres quêtes. Elle peut ensuite être obtenue, suivie, terminée, abandonnée ou échouer. Le système peut aussi changer l'état d'une quête manuellement lorsque votre gameplay le nécessite. Lorsqu'une quête est terminée, elle peut modifier automatiquement l'état d'autres quêtes afin de débloquer la suite d'une histoire, lancer une mission secondaire ou faire évoluer une suite de quêtes.

Les objectifs sont organisés en paliers successifs. Un palier peut contenir un ou plusieurs objectifs qui doivent tous être atteints avant de passer au suivant. Chaque objectif possède son propre type : objet, ennemi, PNJ, lieu, quêtes à terminer ou logique personnalisée. Cette organisation permet par exemple de demander au joueur de récupérer plusieurs objets, puis de parler à un PNJ, avant de se rendre à un endroit précis.

Le système est indépendant de vos autres systèmes de jeu. Il ne choisit pas à votre place comment sont gérés l'inventaire, la monnaie, l'expérience, les dialogues ou l'interface. Il fournit les informations et envoie des dispatchers lorsque l'état d'une quête change, qu'un objectif progresse, qu'un palier est atteint, qu'une quête est terminée ou que le suivi évolue. Vos Blueprints et vos systèmes peuvent ainsi réagir à ces événements selon les besoins de votre projet.

Enfin, un composant de participant peut être ajouté aux acteurs concernés par les quêtes. Il peut afficher un indicateur de donneur de quête au-dessus d'un personnage, ou un indicateur d'objectif lorsqu'un acteur est lié à la quête suivie. Le joueur dispose ainsi de repères visuels pour savoir à qui parler ou vers quoi se diriger.