# đŸ›Ąïž 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")*