# đĄïž 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) :
[x] Initialisation automatique au démarrage.
[x] Population maximisée (15 bots total, 5 par royaume) dÚs le lancement.
[x] [TEMP] Désactiver le mode Swarm (le temps de l'améliorer).
[ ] 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
[ ] Ătudier et implĂ©menter un systĂšme de sĂ©curitĂ© (Dynamic Scaling) :
[ ] Surveiller la charge CPU/TPS en réel pour brider ou réduire le nombre de bots si le serveur sature.
[ ] Ajuster automatiquement la population de âSwarmBotsâ (Ultra-LĂ©gers) selon le nombre de joueurs rĂ©els prĂ©sents dans la zone.
[ ] Optimisation Mémoire & Performance :
[ ] Optimisation âSpatial Hashingâ : Remplacer les scans de zone par une grille de collision (Cible : 2000+ bots sans lag).
[ ] Limiter le chargement des mobs aux régions actives (Map 51 et Thidranki).
[ ] Nettoyage d'objets et optimisation des structures de données des bots.
[ ] à 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`).
[ ] Intelligence Tactique : IA avancée pour les casters (focus tissus) et les soigneurs (soins prédictifs).
[ ] Formations de Bataillon : Déplacement en formations de combat (ligne de front, protection casters) au lieu de la file indienne.
[ ] 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).
[/] Optimisation SwarmBots (Ultra-Légers) :
[x] Comportement : IA corrigĂ©e pour s'arrĂȘter et combattre les ennemis rencontrĂ©s. â
[x] Ciblage : Hibernation relaxĂ©e dans `SwarmBrain.cs` pour autoriser les combats Bot vs Bot. â
[x] Factions : Factions hostiles par royaume assignĂ©es. â
[x] DiversitĂ© Visuelle : ModĂšles (skins) randomisĂ©s par royaume. â
[ ] Performance : Tester la montée en charge à 500+ SwarmBots.
[ ] Ăquipement : Habiller visuellement les bots (armures/Ă©quipements).
[ ] ContrÎle de zone : Forcer les bots à rester au centre de Thidranki une fois arrivés pour déclencher des batailles massives entre royaumes.
[x] RĂŽles des Bots & Ăquilibrage PR :
[x] DĂ©signer les bots Lourds (Mimics) comme des Champions. â
[x] Restreindre le gain de Points de Royaume (PR) Ă ces Champions uniquement. â
(0 PR pour Légers et Ultra-Légers).
[x] Fix : Crash NRE (Groupes PvP) et Stats (/mbstats).
[x] Fix : Crash au démarrage (accÚs joueurs non connectés).
- [x] Documentation Wiki :
[ ] Recenser ce qui fonctionne en craft/classes sur DOL (par les joueurs)
[ ] Recenser monstres et quĂȘtes (et page loot Boss Ma'ati) (par les joueurs)
[ ] Expliquer le fonctionnement des armes Ma'ati sur le Wiki (Obtention, paliers, statistiques).
[x] Créer `ai_context.md` dans `C:\OpenDAOC_server\ProjetsAnnexes\datas diverses` pour instruire la mise à jour de la liste des factions.
[x] Lister les commandes (Admin/GM/Player) et les publier sur le wiki.
- [x] PNJs & Services :
[x] Création d'un PNJ spécifique pour l'Instant 50 en artisanat (Légendaire).
[x] Mettre à jour le Héraut des dieux pour permettre de passer au rang de royaume 13L0.
[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`.
[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Ă©). â
[x] Remettre en place les menus et inventaires des marchands (Zone 51). â
Validé en jeu (187 marchands chargés en région 51).
[x] Retirer la guilde de base automatiquement attribuĂ©e aux nouveaux personnages. â
Désactivé via ServerProperty `starting_guild`.
[x] Virer le portail rouge tĂ©lĂ©porteur. â
ZonePoint 154 supprimé (visuel conservé).
[x] Passer tous les gardes dans la faction âGardesâ sur la carte 51. â
Faction ID 1000 créée et assignée.
- [ ] Infrastructure & QA :
[ ] Script PowerShell de sauvegarde/restauration automatisé.
[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).
[ ] à vérifier :
[ ] Optimisation des performances (corriger les warnings `Long TimerService.Tick`).
[ ] Indexation réguliÚre de la base de données pour accélérer la recherche des joueurs et objets.
[ ] Développer un programme surveillant le dépÎt GitHub pour poster un récapitulatif des mises à jour sur un channel Discord.
[x] Audit & Documentation (Basse Priorité) :
[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.
[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.
[ ] Support complet des commandes et dialogues en Anglais, Français et Espagnol (EN/FR/ES).
[ ] Supprimer la classe de base (via `ServerProperty` ?) pour permettre de choisir sa classe finale dĂšs le niveau 1.
- [x] Stabilisation du Build (SPB) :
[x] Réparation de `House.cs` (propriété `ConsignmentMerchant` décommentée).
[x] Bridage temporaire du `MarketService` manquant pour permettre le démarrage.
[x] Correction de l'encodage et des erreurs de syntaxe sur les scripts custom (`Aerto.cs`).
[ ] 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 :
[ ] Appliquer le patch pour changer l'écran de chargement en amtenaTEST.
[ ] 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 :
[x] Importer le mobilier Lot B (tables `worldobject` et `door`) depuis Breamor.
[ ] Importer les scripts de DOL vers Avalon Isle (pas tous) â VĂ©rifier la doc sinon la liste des scripts et choisir lesquels
[x] Audit & Import Loots Avalon (Map 51) :
[x] Croiser les mobs Map 51 entre Breamor et SPB.
[x] Vérifier si les mobs de Breamor ont des loots et évaluer la faisabilité de l'import.
[x] Importer les loots validĂ©s. â
Automatisé via `AvalonExchangerNPC.cs` et `echangeur_final.txt`.
- [x] Groupage Inter-Royaume (Client 1.127) :
[x] Bypass des filtres clients via `CustomDialog`.
[x] Implémentation du `/gjoin` global (pas de limite de distance).
[x] Correction Bug UI : Corriger la visibilité partielle/incomplÚte des membres de groupe inter-royaumes dans l'interface.
[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).
[x] ProblÚme Map : Les groupés n'apparaissent pas sur la carte.
[ ] 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 :
[x] Activer Thidranki avec bots Niveau 50 (Auto-start au dĂ©marrage). â
Configuré dans `MimicManager.cs`.
[x] Rendre les gardes de Thidranki agressifs envers les joueurs (PvP). â
Propriété `PVP_UNCLAIMED_KEEPS_ENEMY` activée.
[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.
[ ] Porter les colliers de téléportation régionaux (NPC Ansall - Region 51) depuis Breamor/DOL vers OpenDAoC (Attention : compatibilité scripts DOL à vérifier).
[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).
[ ] Jamtland Mountains avec capture de forts.
[ ] Ouvrir PvP H24 (fait) avec bonus de PR en soirée.
[x] Réparer les médecins qui ne rendent pas la constitution (healer.cs de mémoire)
[ ] Vérifier que les bots (Mimics) dans Thidranki attaquent correctement les joueurs (agressivité PvP).
[ ] Investigation Thidranki : Identifier l'utilité des PNJs Void Merchant et Pazz (consulter les clones de `core master` et `database` en sous-dossier).
- [ ] Ăconomie & RP :
[x] Centraliser le point de spawn de toutes les races sur la map historique.
[ ] Terminer le systĂšme de /shop (max 25 objets).
[ ] 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).
[x] Implémenter la récompense PR automatique via base de mots-clefs RP (Top RÎlistes).
[ ] Bonus RP incrémental : Augmentation progressive du bonus PR en fonction de la durée de la session RP active.
[x] SĂ©curitĂ© RĂ©compenses RP (Anti-Cheat) : Surveillance automatique et limitation horaire implĂ©mentĂ©e via Cooldowns . â
[ ] 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 :
[ ] Rédiger et intégrer le Lore pour le Golem de Glace : Jormag.
[ ] 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) :
[ ] 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).
[ ] 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).
[ ] Documenter les interactions entre factions sur le wiki
[ ] 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) :
[ ] Objectif : Atteindre une fréquence de 1 événement par heure.
[ ] Foire de Sombrelune (pop semi-aléatoire).
[ ] World Boss (Boss paliers Constructeur/Destructeur attaquant les villes).
[ ] Invasions de capitales orientées défense de PNJ/Cristal (ex: Fils Fraenir).
[ ] Marchands déclencheurs de Donjons (ex : ramener 100 ongles Guarks pour ouvrir un event temporaire).
[ ] Zones corrompues temporairement et Chariots Ă escorter.
[ ] 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 :
[ ] Chasse Ă l'homme (proie avec pactole cumulatif).
[ ] Gauntlet (champion tournant) & tournois semi-auto.
[ ] 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
[ ] 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 :
[ ] Déclenchement de patrouilles de gardes et mini-bosses mobiles en fonction de l'activité (kills/population).
[ ] Pop rare d'un Dragon (Boss mondial) au centre de Thidranki pour forcer la coopération ou le chaos entre les royaumes.
[ ] 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) :
[ ] 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) :
[ ] Bounty Board : Panneau de primes quotidiennes (3 cibles aléatoires/jour) avec monnaie dédiée.
[ ] Météo Dynamique : Impacts sur le gameplay (Brouillard = -portée, Orage = +dégùts foudre).
[ ] Restauration de Hameaux : Apporter des matĂ©riaux de craft pour ârĂ©parerâ les villages d'Avalon et dĂ©bloquer des services.
[ ] Mercenaires Solo : Location d'un bot PNJ d'appoint (Mimic bridé) pour aider au leveling PvE.
[ ] Fragments d'Artéfacts : Combiner des loots rares pour créer des objets avec pouvoirs actifs.
[ ] GvG Avalon : Possibilité pour les guildes de revendiquer des camps/tours sur la map 51 pour des bonus passifs.
[ ] Hauts Faits & Auras : Débloquer des auras visuelles permanentes via des exploits (Kills, Exploration).
[ ] Paris d'ArĂšne : SystĂšme de paris en or sur les vainqueurs des tournois et duels.
- [ ] Immersion & Monde Vivant :
[ ] Barks & Emotes Bots : SystĂšme de phrases de combat (âBarkâ) et emotes automatiques lors des victoires/dĂ©faites pour rendre les bots plus organiques.
[ ] 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.*
[ ] Tester le pack de textures 'DAOC Camelot Unfunded' pour la production de contenu vidéo de haute qualité.
- [ ] Usine Ă Agents IA (Wiki/Dev/Discord) :
[ ] Un agent Ă©coute Discord (RequĂȘtes joueurs / doutes stats).
[ ] Il consulte l'Agent Wiki (nourri de l'offi) et l'Agent Logs pour confronter les stats.
[ ] L'Agent Ticket convertit la conclusion en TODO assignée à l'Agent de Développement.
[ ] L'Agent Test valide le fix, met Ă jour le Wiki et notifie le joueur.
- [ ] Extensions Thématiques SaisonniÚres (Tous les 3 mois) :
[ ] *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).
[ ] *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â)*