# đŸ›Ąïž TODO Final - DĂ©veloppement OpenDAOC & AmtenaĂ«l

Ce document fusionne et priorise les listes TODO_DOL.txt et TODO_OPENDAOC.txt.

—

## 🐞 0. Bugs ConstatĂ©s (PrioritĂ© Correction)

- [X] InstabilitĂ© Serveur : Crash lors de la commande `/rel` (Release). *Stacktrace: MimicNPC.RemoveFromWorld() / ReaperService*. - [x] Factions Thidranki : FixĂ© (les gardes n'attaquent plus leur propre royaume). ✅ - [x] Erreurs au dĂ©marrage (SkillBase) : ✅ PatchĂ© via `SkillBase.cs` (mĂ©canisme de repli pour les prĂ©fixes `X` et `AtlasOF_`). - [x] Sorts/Potions manquants : ✅ InjectĂ©s (IDs 8982, 8983, 31024, 31028, 31032). - [x] Scripts manquants : Restaurer les classes `TextNPCMerchant`, `AmteMob`, etc. ✅ SolutionnĂ© par l'implĂ©mentation de la classe gĂ©nĂ©rique `AvalonExchangerNPC`. - [ ] Optimisation Bots : Population rĂ©duite Ă  5 par royaume (15 total). ✅ - [ ] Visuel Mobs : Placeholders (“New mob”/ModĂšle 408) supprimĂ©s dĂ©finitivement en RĂ©gion 51 (Local & Prod). ✅ - [ ] Combat Aquatique : Corriger l'impossibilitĂ© pour les joueurs de se battre dans l'eau. - [ ] Bug Attaque Bots : La majoritĂ© des bots ne sont pas attaquables (erreur “trop loin”) alors que le joueur est au corps Ă  corps. - [x] [RÉGRESSION] Encodage Noms : RĂ©apparition du bug d'encodage UTF-8 sur les noms (ex: “R??mi le palefroi” au lieu de “RĂ©mi”). ✅ RÉSOLU EN LOCAL & PROD - [x] [PRIORITÉ] RedĂ©marrage Auto : Script opĂ©rationnel sur VPS via `up.sh` et configurĂ© avec CI/CD (Git Pull). ✅

—

## 🚀 1. Quick-Wins & PrĂ©requis (Actions ImmĂ©diates) *TĂąches rapides pour poser les bases (communication, docs, nettoyage).*

- [x] SystĂšme de Bots (Thidranki) :

  1. [x] Initialisation automatique au démarrage.
  2. [x] Population maximisée (15 bots total, 5 par royaume) dÚs le lancement.
  3. [x] [TEMP] Désactiver le mode Swarm (le temps de l'améliorer).
  4. [ ] RĂ©tablir la population de bots variable comme sur le repo SPB officiel (actuellement fixe pour la beta) → DifficultĂ© croissante en fonction du nombre de joueurs → Voir si possible dynamique sans recompiler le serveur
  5. [ ] Étudier et implĂ©menter un systĂšme de sĂ©curitĂ© (Dynamic Scaling) :
    1. [ ] Surveiller la charge CPU/TPS en réel pour brider ou réduire le nombre de bots si le serveur sature.
    2. [ ] Ajuster automatiquement la population de “SwarmBots” (Ultra-LĂ©gers) selon le nombre de joueurs rĂ©els prĂ©sents dans la zone.
  6. [ ] Optimisation Mémoire & Performance :
    1. [ ] Optimisation “Spatial Hashing” : Remplacer les scans de zone par une grille de collision (Cible : 2000+ bots sans lag).
    2. [ ] Limiter le chargement des mobs aux régions actives (Map 51 et Thidranki).
    3. [ ] Nettoyage d'objets et optimisation des structures de données des bots.
    4. [ ] À vĂ©rifier : AmĂ©lioration Bots (SiĂšge & Eau) : implĂ©menter le siĂšge des forts (ouverture des portes) et corriger les bugs aquatiques restants (Voir `ProjetsAnnexes/DossierPortage/PLAN_AMELIORATION_BOTS.md` et `ProjetsAnnexes/Projet BOTS/AMELIORATIONS_BOTS.md`).
    5. [ ] Intelligence Tactique : IA avancée pour les casters (focus tissus) et les soigneurs (soins prédictifs).
    6. [ ] Formations de Bataillon : Déplacement en formations de combat (ligne de front, protection casters) au lieu de la file indienne.
  7. [ ] Ciblage : Rendre les bots (Mimics) ciblables avec la touche Tabulation (actuellement impossible car leur nom s'affiche en bleu ciel, il faut forcer l'affichage en rouge).
  8. [/] Optimisation SwarmBots (Ultra-Légers) :
    1. [x] Comportement : IA corrigĂ©e pour s'arrĂȘter et combattre les ennemis rencontrĂ©s. ✅
    2. [x] Ciblage : Hibernation relaxĂ©e dans `SwarmBrain.cs` pour autoriser les combats Bot vs Bot. ✅
    3. [x] Factions : Factions hostiles par royaume assignĂ©es. ✅
    4. [x] DiversitĂ© Visuelle : ModĂšles (skins) randomisĂ©s par royaume. ✅
    5. [ ] Performance : Tester la montée en charge à 500+ SwarmBots.
    6. [ ] Équipement : Habiller visuellement les bots (armures/Ă©quipements).
    7. [ ] ContrÎle de zone : Forcer les bots à rester au centre de Thidranki une fois arrivés pour déclencher des batailles massives entre royaumes.
  9. [x] Rîles des Bots & Équilibrage PR :
    1. [x] DĂ©signer les bots Lourds (Mimics) comme des Champions. ✅
    2. [x] Restreindre le gain de Points de Royaume (PR) Ă  ces Champions uniquement. ✅ (0 PR pour LĂ©gers et Ultra-LĂ©gers).
  10. [x] Fix : Crash NRE (Groupes PvP) et Stats (/mbstats).
  11. [x] Fix : Crash au démarrage (accÚs joueurs non connectés).

- [x] Documentation Wiki :

  1. [ ] Recenser ce qui fonctionne en craft/classes sur DOL (par les joueurs)
  2. [ ] Recenser monstres et quĂȘtes (et page loot Boss Ma'ati) (par les joueurs)
  3. [ ] Expliquer le fonctionnement des armes Ma'ati sur le Wiki (Obtention, paliers, statistiques).
  4. [x] Créer `ai_context.md` dans `C:\OpenDAOC_server\ProjetsAnnexes\datas diverses` pour instruire la mise à jour de la liste des factions.
  5. [x] Lister les commandes (Admin/GM/Player) et les publier sur le wiki.

- [x] PNJs & Services :

  1. [x] Création d'un PNJ spécifique pour l'Instant 50 en artisanat (Légendaire).
  2. [x] Mettre à jour le Héraut des dieux pour permettre de passer au rang de royaume 13L0.
  3. [x] Mettre en place un PNJ de crĂ©ation de guilde (1 personne minimum, tous les emblĂšmes disponibles pour tous les royaumes). ✅ ImplĂ©mentĂ© via `GuildRegistrarNPC.cs`.
  4. [x] RĂ©parer l'encodage UTF-8 des noms de PNJs (RĂ©gion 51) en local. ✅

- [x] DĂ©ploiement VPS : Appliquer la rĂ©paration d'encodage sur le serveur en ligne (Import SQL validĂ©). ✅

  1. [x] Remettre en place les menus et inventaires des marchands (Zone 51). ✅ ValidĂ© en jeu (187 marchands chargĂ©s en rĂ©gion 51).
  2. [x] Retirer la guilde de base automatiquement attribuĂ©e aux nouveaux personnages. ✅ DĂ©sactivĂ© via ServerProperty `starting_guild`.
  3. [x] Virer le portail rouge tĂ©lĂ©porteur. ✅ ZonePoint 154 supprimĂ© (visuel conservĂ©).
  4. [x] Passer tous les gardes dans la faction “Gardes” sur la carte 51. ✅ Faction ID 1000 créée et assignĂ©e.

- [ ] Infrastructure & QA :

  1. [ ] Script PowerShell de sauvegarde/restauration automatisé.
  2. [x] Diagnostiquer la lenteur au dĂ©marrage de la branche SPB (36s vs OpenDAOC natif). ✅ (Optimisation faite : warnings d'Ă©quipement et de zone corrigĂ©s).
  3. [ ] À vĂ©rifier :
    1. [ ] Optimisation des performances (corriger les warnings `Long TimerService.Tick`).
    2. [ ] Indexation réguliÚre de la base de données pour accélérer la recherche des joueurs et objets.
  4. [ ] Développer un programme surveillant le dépÎt GitHub pour poster un récapitulatif des mises à jour sur un channel Discord.
  5. [x] Audit & Documentation (Basse Priorité) :
    1. [x] Documenter la structure de la base de donnĂ©es Breamor pour faciliter les requĂȘtes IA et Ă©viter les recherches rĂ©pĂ©titives chronophages.
    2. [x] Créer un récapitulatif détaillé de la migration Avalon (PNJs, SkillBase, Fixes).

- [x] Config Serveur : Activation du changement de langue (`/language set`), passage par défaut en FR et alignement de 86 propriétés avec le CSV SPB.

  1. [ ] Support complet des commandes et dialogues en Anglais, Français et Espagnol (EN/FR/ES).
  2. [ ] Supprimer la classe de base (via `ServerProperty` ?) pour permettre de choisir sa classe finale dĂšs le niveau 1.

- [x] Stabilisation du Build (SPB) :

  1. [x] Réparation de `House.cs` (propriété `ConsignmentMerchant` décommentée).
  2. [x] Bridage temporaire du `MarketService` manquant pour permettre le démarrage.
  3. [x] Correction de l'encodage et des erreurs de syntaxe sur les scripts custom (`Aerto.cs`).
  4. [ ] Traduction : Vérifier en jeu la correspondance des noms d'objets en Français.

- [ ] Tous les chevaux ont le mĂȘme skin marron, remettre la correspondance entre les items achetĂ©s et les skins correspondant - [ ] Client & Patches :

  1. [ ] Appliquer le patch pour changer l'écran de chargement en amtenaTEST.
  2. [ ] Fin de Beta : Refaire un patch pour remettre l'Ă©cran de chargement Amtenael (Logo : “Le temps n'existe plus”).

—

## đŸ› ïž 2. Core Serveur & Migration (Moyen Terme) *FonctionnalitĂ©s nĂ©cessaires pour avoir un serveur jouable sur une base saine.*

- [x] Initialisation OpenDAOC : Repartir sur un OpenDAOC sain et importer la database copie offi. - [ ] Portage des DonnĂ©es Joueurs : Exporter inventaires, argent, classes depuis l'ancienne base DOL. - [ ] SystĂšme Predator : IntĂ©grer les systĂšmes de type “Predator” disponibles dans le repo `OpenDAoC-Core-master`. - [ ] Mapping/Monde :

  1. [x] Importer le mobilier Lot B (tables `worldobject` et `door`) depuis Breamor.
  2. [ ] Importer les scripts de DOL vers Avalon Isle (pas tous) → VĂ©rifier la doc sinon la liste des scripts et choisir lesquels
  3. [x] Audit & Import Loots Avalon (Map 51) :
    1. [x] Croiser les mobs Map 51 entre Breamor et SPB.
    2. [x] Vérifier si les mobs de Breamor ont des loots et évaluer la faisabilité de l'import.
    3. [x] Importer les loots validĂ©s. ✅ AutomatisĂ© via `AvalonExchangerNPC.cs` et `echangeur_final.txt`.

- [x] Groupage Inter-Royaume (Client 1.127) :

  1. [x] Bypass des filtres clients via `CustomDialog`.
  2. [x] Implémentation du `/gjoin` global (pas de limite de distance).
  3. [x] Correction Bug UI : Corriger la visibilité partielle/incomplÚte des membres de groupe inter-royaumes dans l'interface.
    1. [x] ProblĂšme HP : Les barres de vie ne descendent pas dans la fenĂȘtre de groupe lors de la prise de dĂ©gĂąts (cross-realm).
    2. [x] ProblÚme Map : Les groupés n'apparaissent pas sur la carte.
  4. [ ] Améliorations futures : Remplacer `/invite` par `/gjoin` (ou intégrer la logique) pour proposer une popup UI de confirmation au joueur invité.

- [ ] Guildage Inter-Royaume : À vĂ©rifier in game - [x] Bases PvP & GvG :

  1. [x] Activer Thidranki avec bots Niveau 50 (Auto-start au dĂ©marrage). ✅ ConfigurĂ© dans `MimicManager.cs`.
  2. [x] Rendre les gardes de Thidranki agressifs envers les joueurs (PvP). ✅ PropriĂ©tĂ© `PVP_UNCLAIMED_KEEPS_ENEMY` activĂ©e.
  3. [x] SystĂšme de TĂ©lĂ©portation “Aerto” : Dialogue et tĂ©lĂ©portation vers Thidranki (Niveau 50) pour les deux PNJs Aerto (RĂ©gion 51). ✅ ImplĂ©mentĂ© via Global Hook.
  4. [ ] Porter les colliers de téléportation régionaux (NPC Ansall - Region 51) depuis Breamor/DOL vers OpenDAoC (Attention : compatibilité scripts DOL à vérifier).
  5. [x] Mettre un PNJ de sortie pour chacun des royaumes dans Thidranki (Aertis). ✅

- [ ] AmĂ©lioration Thidranki : TĂ©lĂ©portation de sortie basĂ©e sur le Karma (Constructeur/Neutre → Wearyall Village, Destructeur → Prios).

  1. [ ] Jamtland Mountains avec capture de forts.
  2. [ ] Ouvrir PvP H24 (fait) avec bonus de PR en soirée.
  3. [x] Réparer les médecins qui ne rendent pas la constitution (healer.cs de mémoire)
  4. [ ] Vérifier que les bots (Mimics) dans Thidranki attaquent correctement les joueurs (agressivité PvP).
  5. [ ] Investigation Thidranki : Identifier l'utilité des PNJs Void Merchant et Pazz (consulter les clones de `core master` et `database` en sous-dossier).

- [ ] Économie & RP :

  1. [x] Centraliser le point de spawn de toutes les races sur la map historique.
  2. [ ] Terminer le systĂšme de /shop (max 25 objets).
  3. [ ] DĂ©sactiver les gains de PRs liĂ©s aux meurtres (PvP) sur la Carte 51 / Avalon Isle (le RĂŽleplay et les maps dĂ©diĂ©es comme Thidranki doivent ĂȘtre les seules sources de PRs).
  4. [x] Implémenter la récompense PR automatique via base de mots-clefs RP (Top RÎlistes).
  5. [ ] Bonus RP incrémental : Augmentation progressive du bonus PR en fonction de la durée de la session RP active.
  6. [x] SĂ©curitĂ© RĂ©compenses RP (Anti-Cheat) : Surveillance automatique et limitation horaire implĂ©mentĂ©e via Cooldowns . ✅
  7. [ ] Restaurer le systÚme d'échange des armes de Ma'ati (Essences/Tokens) auprÚs des marchands dédiés.

- [ ] GĂ©nĂ©rateur de QuĂȘtes / Animation : Outil ig pour permettre aux joueurs de crĂ©er des quĂȘtes (0 XP, 0 PR) pour leur rĂŽleplay. - [ ] QuĂȘtes OpenDAOC : Traduction des quĂȘtes de la db OpenDAOC une fois l'essentiel en place. - [ ] Lore & Immersion :

  1. [ ] Rédiger et intégrer le Lore pour le Golem de Glace : Jormag.
  2. [ ] Rédiger et intégrer le Lore pour les Démons de Khorne.

—

## ✹ 3. ExpĂ©rience Dynamique & Events (Moyen - Long Terme) *Transformer le gameplay classique avec des Ă©vĂ©nements vivants.*

- [ ] Karma Serveur : Jauge influencée par les joueurs (débloquant accÚs, PNJ, donjons et buffs Equilibre ou malus). - [ ] SystÚme de Réputations Multi-Factions (Style WoW) :

  1. [ ] Audit Avalon (Map 51) : Inventorier les mobs et PNJs pour dĂ©finir 10 Ă  20 micro-factions cohĂ©rentes (ex: Druides de la ForĂȘt vs Champignons VĂ©nĂ©neux, Milice de Wearyall vs Bandits).
  2. [ ] Moteur de Réputation : Implémenter le gain/perte automatique de points de faction lors du kill d'un mob (ex: Tuer un mob de la faction A donne +X à la faction B et -Y à la faction C).
  3. [ ] Documenter les interactions entre factions sur le wiki
  4. [ ] Marchands de Prestige : Créer des PNJs dont l'inventaire se débloque selon le palier de réputation (Amical, Honoré, Exalté) avec des consommables et objets uniques.

- [ ] ÉvĂ©nements Auto (PvE) :

  1. [ ] Objectif : Atteindre une fréquence de 1 événement par heure.
  2. [ ] Foire de Sombrelune (pop semi-aléatoire).
  3. [ ] World Boss (Boss paliers Constructeur/Destructeur attaquant les villes).
  4. [ ] Invasions de capitales orientées défense de PNJ/Cristal (ex: Fils Fraenir).
  5. [ ] Marchands déclencheurs de Donjons (ex : ramener 100 ongles Guarks pour ouvrir un event temporaire).
  6. [ ] Zones corrompues temporairement et Chariots Ă  escorter.
  7. [ ] SystĂšme de quĂȘtes “PokĂ©mon” : Capturer des monstres pour qu'ils suivent le joueur (s'inspirer du code MimicNPC) / quĂȘtes d'escorte

- [ ] ÉvĂ©nements PvP :

  1. [ ] Chasse Ă  l'homme (proie avec pactole cumulatif).
  2. [ ] Gauntlet (champion tournant) & tournois semi-auto.
  3. [ ] Régulation Automatique : malus ou TP Battle Royale si une guilde gagne trop de PR (pour éviter de rouler sur le serveur) / à voir si d'autres idées
  4. [ ] Quand on tue un joueur (par exemple un troll) sur la map 51 (avalon) uniquement, on rĂ©cupĂšre 2 objets : sang de troll + tĂȘte de NomDuJoueur (Ă  faire avec toutes les races)

- [ ] ÉvĂ©nements Dynamiques Thidranki :

  1. [ ] Déclenchement de patrouilles de gardes et mini-bosses mobiles en fonction de l'activité (kills/population).
  2. [ ] Pop rare d'un Dragon (Boss mondial) au centre de Thidranki pour forcer la coopération ou le chaos entre les royaumes.
  3. [ ] Thidranki Inversé (Mode Horde/Défense) : Les joueurs occupent le fort central et doivent repousser des vagues successives de centaines de soldats (PNJs/Bots) assaillants.

- [ ] Sécurité & RP (Modération Dynamique) :

  1. [ ] SystÚme Anti-Insultes : Si un joueur profÚre des insultes (3 fois), il reçoit des avertissements des gardes à proximité. Au-delà, les gardes perdent patience et viennent l'éliminer.

- [ ] CrĂ©ateurs de Contenus (CCP) : RĂ©compenser les joueurs postant sur YouTube/TikTok par des cosmĂ©tiques. Workflow Make.com pour post auto et reward in-game. - [ ] Équipe Animation Joueur : Animateurs (ex: Thorkal) avec avantages de statuts (titres, capes) sans farm pour encadrer et crĂ©er du jeu. - [ ] NouveautĂ©s Gameplay (Long Terme) :

  1. [ ] Bounty Board : Panneau de primes quotidiennes (3 cibles aléatoires/jour) avec monnaie dédiée.
  2. [ ] Météo Dynamique : Impacts sur le gameplay (Brouillard = -portée, Orage = +dégùts foudre).
  3. [ ] Restauration de Hameaux : Apporter des matĂ©riaux de craft pour “rĂ©parer” les villages d'Avalon et dĂ©bloquer des services.
  4. [ ] Mercenaires Solo : Location d'un bot PNJ d'appoint (Mimic bridé) pour aider au leveling PvE.
  5. [ ] Fragments d'Artéfacts : Combiner des loots rares pour créer des objets avec pouvoirs actifs.
  6. [ ] GvG Avalon : Possibilité pour les guildes de revendiquer des camps/tours sur la map 51 pour des bonus passifs.
  7. [ ] Hauts Faits & Auras : Débloquer des auras visuelles permanentes via des exploits (Kills, Exploration).
  8. [ ] Paris d'ArĂšne : SystĂšme de paris en or sur les vainqueurs des tournois et duels.

- [ ] Immersion & Monde Vivant :

  1. [ ] Barks & Emotes Bots : SystĂšme de phrases de combat (“Bark”) et emotes automatiques lors des victoires/dĂ©faites pour rendre les bots plus organiques.
  2. [ ] Réflexion globale : Comment rendre le monde plus vivant ? (PNJs d'ambiance, interactions aléatoires, sons d'ambiance, scripts de vie quotidienne).

—

## 🔼 4. Vision Futuriste & Projets IA (TrĂšs Long Terme) *Outils d'exploitation surpuissants et rĂ©volutions graphiques/gameplay.*

  1. [ ] Tester le pack de textures 'DAOC Camelot Unfunded' pour la production de contenu vidéo de haute qualité.

- [ ] Usine Ă  Agents IA (Wiki/Dev/Discord) :

  1. [ ] Un agent Ă©coute Discord (RequĂȘtes joueurs / doutes stats).
  2. [ ] Il consulte l'Agent Wiki (nourri de l'offi) et l'Agent Logs pour confronter les stats.
  3. [ ] L'Agent Ticket convertit la conclusion en TODO assignée à l'Agent de Développement.
  4. [ ] L'Agent Test valide le fix, met Ă  jour le Wiki et notifie le joueur.

- [ ] Extensions Thématiques SaisonniÚres (Tous les 3 mois) :

  1. [ ] *Flying Age Of Camelot / LOTR* : Montures volantes, tir du dragon (bolt eldritch), systÚme d'Anneau Unique (Invisibilité, raid 20 ou 40 selon le pouvoir). ModÚles Sauron/Nazghuls. Créer un patch client pour les musiques d'ambiance (ex: ThÚme de l'Isengard qui se déclenche à l'entrée de la map).
  2. [ ] *Saison Dune.*

- [ ] Mécaniques Dynamiques Globales : Maps débloquées en fonction de la population ou du karma. - [ ] Rénovation Technique Ultime : Etudier la viabilité du portage sous Unreal Engine.

— *(Note rĂ©currente : Penser Ă©ventuellement Ă  un serveur de Test sĂ©parĂ© pour implĂ©menter ces feature et faire du “Bug Bounty”)*