/dofus-data-decoder

Makes game files readable and ready to use for chat bot training.

Primary LanguageJavaScript

Dofus data decoder

GitHub repo size GitHub top language Static Badge

About

This is not a game decompiler, but a bunch of scripts that interpret game data. In order to decompile the game and get the input files required here, you must first use other scripts like PyDofus.

A few data that I have not found directly in the common files will be fetched from encyclopedias like DofusDB (who have done a great job analyzing the game).

Files

  • 📝 The exported .md files are useful for context injection into Corinna's AI-based responses; the information is splitted into sections and rarely exceeds 300 tokens each.
  • 🔗 Data uploaded to the database (or exported as JSON files) are treated as menu components on Discord.
  • ⚠ Input data must be located in the /input folder in JSON format.

Corinna is a hispanic community management system, therefore the exported data is by default in spanish. The language can be changed by changing the i18n_(lang).json file and some phrases around the scripts.


Scripts

Decode & Export Challenges

Information and criterions for ingame challenges.

$ node DecodeChallenges
# Database root updated 'dofus_challenges'
$ node ExportChallenges
# Output: pages/challenges/*.md

Decode all character/monster spells including effects, criterions and details.

$ node DecodeSpells
# Database root updated 'dofus_spells'

Decode & Export Quests

Decode and update quest information.

$ node DecodeQuests
# Database root updated 'dofus_quests'
$ node ExportQuests
# Output: pages/quests/*.md

Decode & Export NPCs

  • Generate NPC descriptions based on their dialogues.
  • Update NPC coords for each quest involved.
  • Export all collected NPC information.
$ node DecodeNpcs
# Fill the *NPCS_TO_UPDATE* array with the IDs you want to decode, or leave it empty to decode everything.
# Database root updated 'dofus_npcs'
$ node ExportNpcs
# Output: pages/npcs/*.md

Decode & Export Dungeons

Decode and update key information about every dungeon.

$ node DecodeDungeons
# Database root updated 'dofus_dungeons'
$ node ExportDungeons
# Output: pages/dungeons/*.md

Decode & Export Monsters

Decode all monsters information.

$ node DecodeMonsters
# Database root updated 'dofus_monsters'
$ node ExportMonsters
# Output: pages/monsters/*.md
$ node DecodeAchievements
# Database root updated 'dofus_achievements'

Decode & Export Items

Main information about each item of the game.

$ node DecodeItems
# Database root updated 'dofus_items'
$ node ExportItems
# Output: pages/items/*.md

Decode the information of every map in the game.

$ node DecodeMaps
# Database root updated 'dofus_maps'

Decode all item recipes.

$ node DecodeRecipes
# Database root updated 'dofus_recipes'
  • Decode and update all subareas data.
  • Update NPCs positions based on subareas data.
  • Export markdown files with named-maps info and image urls.
$ node DecodeSubAreas
# Database root updated 'dofus_subareas'
# Database root updated 'dofus_npcs'
# Output: pages/subareas/*.md

Decode the information of all jobs.

$ node DecodeJobs
# Output: pages/jobs/*.md
# Database root updated 'dofus_jobs'

A brief introduction to Dofus breeds and their gameplay.

$ node DecodeBreeds
# Output: pages/breeds/*.md
# Database root updated 'dofus_breeds'

Export coords of key places in Dofus.

$ node ExportHints
# Output: pages/hints/*.md

Transcription of game books and documents with their respective images.

$ node ExportDocuments
# Output: pages/documents/*.md

Information about the main features of Dofus.

$ node ExportFeatures
# Output: pages/guides/*.md
# Output: data/guidebookImageNames.json

Add captions and watermark to map images.

$ node AddMapCaptions
# Input: output/maps/map-images/*.jpg
# Output: output/maps/map-coords/*.jpg