Aperçu
Nouveautés
- Touches de sous-groupe de raid : Alt+pavé 1 à 8 cible le premier membre du sous-groupe de raid 1 à 8. Si le groupe est vide, Sku dit « Groupe N vide » et rien ne se passe ; hors raid « Pas de raid ». Sous-menu propre « Touches de sous-groupe de raid » dans les raccourcis Sku, désactivable sous Fonctions.
Changements
- Auras : les auras de base proposent désormais sous « Sortie » la même liste de sorties que les auras personnalisées, c'est-à-dire tous les sons et toutes les sorties de données (par exemple le nom du sort ou l'unité cible), plusieurs à la fois. Avant, il n'y avait qu'un seul son.
- Fenêtres de métier et de maître : après fabrication, apprentissage ou sélection, le menu se rafraîchit en silence, le curseur reste sur la même entrée, et seule une entrée vraiment différente est annoncée.
- Moniteur combat : « Annoncer les morts » nomme désormais, en groupe, la touche du pavé numérique du membre mort : « party 5, dead » signifie que le pavé 5 est mort. Cela change un très vieux standard ; le quatrième membre du groupe était annoncé « party 4 ».
- Moniteur combat : en raid, « Annoncer les morts » dit le numéro de ciblage au cadran du membre mort, c'est-à-dire la touche ou les deux chiffres qui le ciblent. Avant : « party 2 » pour son propre sous-groupe et « raid 17 » pour tous les autres. Les places de raid 26 à 40 sont désormais annoncées aussi.
- Moniteur combat : « Compter les morts » est supprimé.
- Moniteur santé : « Ajouter Mort à 0 pour cent » est désormais désactivé par défaut, pour le groupe et le raid, y compris pour les personnages existants.
- Ciblage au cadran : uniquement en raid désormais. « Activé » est un interrupteur Activé/Désactivé ; en groupe, les touches 1 à 5 du pavé numérique restent les touches de ciblage normales (1 = soi, 2 à 5 = les autres).
- Ciblage au cadran : dans les raids jusqu'à 10 joueurs, toujours une touche par membre (0 = membre 10), deux chiffres à partir de 11 joueurs. L'option « Action à touche unique dans les raids jusqu'à 10 joueurs » disparaît, c'est la règle désormais.
- Moniteur santé, raid : les numéros sont les numéros du ciblage au cadran, donc 1 à 10 dans l'ordre des sous-groupes pour les raids jusqu'à 10 joueurs. Avant, toujours le schéma à deux chiffres ; dans un raid de 10 avec quelqu'un dans le groupe 3, la touche 7 s'appelait « 11 ».
- Moniteur santé, raid : les membres numérotés 26 à 40 sont désormais prononcés (numéro, puis santé par dizaines) avec le nouveau réglage « Voix pour les membres au-delà de 25 ». Les fichiers de hauteur n'existent que jusqu'à 25, ces membres restaient muets.
- Moniteur debuffs, raid : les numéros sont également ceux du ciblage au cadran.
- Moniteur combat : les avertissements de menace, « cible de la cible » et « hors de portée » nomment les membres comme l'annonce de mort, avec la touche du pavé numérique en groupe (« party 2 » pour le premier membre) et le numéro du cadran en raid. Avant : la place de raid brute et « party 1 » pour la touche 2 ; les places de raid 26 à 40 manquaient entièrement.
- Auras : les sorties « unité source » et « unité cible » nomment aussi les membres du groupe par numéro de touche et les membres du raid par numéro du cadran.
Corrections
- Menu des quêtes : « Itinéraire » sous une créature était toujours vide quand son nom contient un trait d'union ou une parenthèse (par exemple « Gorille Crins-de-ciel »). Corrigé.
- Fermer l'itinéraire : la recherche des points de passage reliés près d'une cible renvoyait souvent moins que les dix plus proches. N'a très probablement jamais touché personne, correction de pure exactitude.
- Auras : « Supprimer toutes les auras » supprimait toutes les auras d'une seule touche, sans demander. Désormais « Vraiment supprimer ? » est demandé d'abord, comme pour la suppression d'une seule aura.
- Fenêtres de métier et de maître : après chaque fabrication ou apprentissage, le nom de la fenêtre était annoncé et le curseur sautait parfois sur une autre entrée. Corrigé.
- Fenêtres de métier : Entrée sur une recette ou sur « Créer » annonçait l'entrée deux fois. Corrigé.
- Boîte aux lettres : à l'ouverture, « Cible » était annoncé avant « Nouveau courrier ». Corrigé.
- Raccourcis clavier : la seconde touche (« Réassigner la touche secondaire ») restait sans effet pour plusieurs touches, dont « Déclencher la sortie continue du moniteur de groupe », distance de la cible, mode panique, scan de la minicarte, vérification de portée du groupe, « Tourner vers l'unité » et les touches de scan. Corrigé.
- Moniteur combat : « Ignorer les familiers morts du groupe » revenait sur « Oui » après chaque rechargement. Corrigé.
- Moniteur debuffs, raid : la sortie continue disait la place de raid plus un, un numéro qui n'appartenait à personne. Corrigé.
- Moniteur combat : « party 5, dead » (quatrième membre du groupe, nouveau dans cette version) bipait avec « Numéros seulement » désactivé, car il n'existe pas de mot vocal « party5 ». Désormais « party » puis « 5 » sont dits.
Menu des quêtes : « Itinéraire » trouve les créatures avec un trait d'union dans leur nom
Simple : Dans le menu des quêtes (Début de quête, Cible de quête, Livraison), une créature propose « Itinéraire », « Fermer l'itinéraire » et « Point de passage ». « Itinéraire » disait « liste vide » dès que le nom de la créature contenait un trait d'union, une parenthèse ou un caractère semblable, même quand la créature est bien reliée au réseau de chemins. Sur un client allemand, cela touchait 249 créatures, dont les trois espèces de singes du cratère d'Un'Goro. « Fermer l'itinéraire » et « Point de passage » n'étaient pas concernés.
Technique : SkuQuest/Options.lua, CreateRtWpSubmenu, branche « Itinéraire » : string.find(i, wpName) sans l'argument plain lisait le nom du point de passage comme un motif Lua. Là, « - » est un quantificateur (« o- » = un nombre quelconque de o), le nom ne se trouvait donc jamais lui-même. Désormais string.find(i, wpName, 1, true) aux deux endroits. Les données d'itinéraire du cratère étaient correctes (vérifié : liens, indices d'apparition et raccordement au réseau).
Fermer l'itinéraire : les dix points de passage reliés les plus proches sont vraiment trouvés
Simple : La plupart des créatures ne sont pas elles-mêmes reliées au réseau de chemins. Pour « Fermer l'itinéraire », Sku cherche donc jusqu'à dix points de passage reliés dans un rayon de 500 mètres autour de la cible et prend le meilleur qui soit accessible. Cette recherche en renvoyait souvent moins de dix. Le point le plus proche en faisait pourtant toujours partie, et le réseau de chemins est connexe presque partout. Cela n'a très probablement jamais touché personne ; la correction n'est là que pour l'exactitude. Le défaut n'aurait pu se voir que si le point le plus proche se trouve sur un morceau détaché du réseau : alors « liste vide » ou un petit détour.
Technique : SkuNav:GetNearestWpsWithLinksToWp (SkuNav/Core.lua). L'insertion triée n'avait pas de cas d'ajout en fin de liste : un candidat plus éloigné que toutes les entrées était écarté alors que la liste avait encore de la place, et le premier résultat de pairs() fixait ainsi le plafond. La coupe au-delà de N entrées retirait déjà toujours la plus éloignée et reste en place. Vérifié hors jeu contre « les N plus proches » (20000 cas aléatoires) : ancien 9059 trop courts, nouveau tous corrects. Les cinq appelants parcourent toute la liste et prennent la meilleure entrée accessible ; davantage de candidats ne peut donc donner que des itinéraires aussi bons ou meilleurs.
Auras : les auras de base ont la liste de sorties complète
Simple : Sous « Nouvelle aura », « Auras de base », chaque modèle avait une entrée « Son » où l'on pouvait choisir exactement un son, rien d'autre. Cette entrée s'appelle désormais « Sortie », suivie du nombre de sorties activées, et ouvre la même liste qu'une aura personnalisée : tous les sons et toutes les sorties de données, par exemple le nom du sort ou l'unité cible. Chaque entrée est un interrupteur, Entrée l'active ou le désactive, et plusieurs peuvent être actives à la fois. Ce que le modèle imposait jusqu'ici (son son, plus le nom du sort et l'unité cible pour « Votre amélioration sur un membre du groupe a expiré ») est déjà activé à l'ouverture et peut maintenant aussi être désactivé.
Technique : SkuAuras/Options.lua. tBuildOutputsLevel accepte un contexte optionnel (outputs, ownerLabel, tooltip) ; sans lui, la liste modifie comme avant le brouillon du constructeur d'auras, avec lui la liste du formulaire de base. Le formulaire (tBaseForm) tient une liste outputs au lieu d'une seule valeur sound, préremplie à partir de defaultSound et defaultOutputs (auparavant fixedOutputs, ajoutées d'office à la création). Le résumé et tBaseFormCommit lisent cette liste ; sans aucune sortie active, le message reste « Aucune sortie définie ».
Auras : « Supprimer toutes les auras » demande confirmation
Simple : « Supprimer toutes les auras » dans le menu Auras n'avait pas de niveau en dessous : une touche Entrée ou Flèche droite, et toutes les auras du personnage avaient disparu. Désormais l'entrée mène à « Vraiment supprimer ? », comme la suppression d'une seule aura. Seul Entrée à cet endroit supprime, Flèche gauche annule.
Technique : SkuAuras/Options.lua, MenuBuilder : l'entrée est désormais dynamic et son BuildChildren crée l'unique enfant « Vraiment supprimer ? ». En y entrant, selectTarget pointe sur l'entrée elle-même, Entrée sur l'enfant appelle donc son OnAction. Avant, dynamic = false sans enfants, OnPostSelect passait directement dans la branche OnAction.
Menu : les chemins sont résolus au lieu d'être parcourus
Simple : Chaque fois que Sku place lui-même le menu à un endroit donné (une fenêtre s'ouvre, une touche rapide comme Maj-F10, ou une fenêtre a changé et son menu est reconstruit), il parcourait jusqu'ici le chemin comme si Entrée était pressée à chaque niveau, en annonçant chaque étape. Lors de la reconstruction silencieuse d'une fenêtre de métier ou de maître après une fabrication ou un apprentissage, on entendait donc le nom de la fenêtre (« Métier », « Maître »), et le curseur était remis par numéro de ligne dans une liste qui venait de changer. Désormais le chemin cible est résolu directement, sans annonce des étapes, et le curseur revient sur la même entrée : la même recette (même avec un nouveau nombre), la même compétence, le même bouton. Ce n'est que si cette entrée a disparu que l'endroit où le curseur a atterri est annoncé.
Technique : SkuOptions:ResolveMenuPath et EnsureLevelBuilt (SkuZOptions/Core.lua) remplacent la boucle de SlashFunc qui appelait OnSelect(true) sur chaque segment du chemin. Les niveaux traversés sont seulement construits (dynamic : RebuildNodeChildren, sinon un BuildChildren s'ils sont vides), jamais sélectionnés ; seule la destination reçoit son OnSelect comme avant (préconstruction d'un niveau vide non dynamique, jamais sur isSkuToggle). Les effets de bord du parcours disparaissent avec lui : les nœuds actionOnEnter sur le chemin se déclenchaient, tous les frères avant la correspondance étaient préconstruits. Le paramètre aSilent de SlashFunc est désormais effectif. La restauration dans SkuCore:CheckFrames fait un appel silencieux au lieu de deux parlants et place le curseur directement : skuIdentity, puis nom, puis la ligne à l'ancien index (bornée à la nouvelle longueur). Les entrées de fenêtre portent skuIdentity (copié par SkuIterateGossipList) : recettes « recipe:Nom (rang) », catégories « cat: », compétences du maître « skill: », sinon « frame:<frame> » pour toute entrée seule sur son frame (SkuCore:PrepareWindowEntries à la fin des trois constructeurs). SkuCore:RefreshWindowMenuQuietly (LocalMenu.lua) est la reconstruction silencieuse commune pour TRADE_SKILL_UPDATE/CRAFT_UPDATE et le bouton Apprendre ; elle ne parle que si l'identité (ou le nom sans le nombre) est différente ensuite. Les sacs gardent leur propre chemin (tFindMenuNodeByPath, tBagAnnounceSuppress).
Fenêtres de métier : Entrée sur une recette ou « Créer » annonçait l'entrée deux fois
Simple : Après Entrée sur une recette ou un bouton Créer, l'entrée était dite deux fois. Désormais une fois.
Technique : Le chemin de clic classique dans SkuIterateGossipList appelait après func un CheckFrames parlant puis OnUpdate 0,35 s plus tard, en plus de l'annonce du gestionnaire de touches. La troisième annonce était le plus souvent absorbée par le garde-doublon (1 s), la deuxième arrivait 0,9 s plus tard et ne l'était pas. Les entrées avec quietClick (posé par PrepareWindowEntries pour tout bouton cliquable sans containerFrameName) passent désormais par func plus RefreshWindowMenuQuietly ; les boutons à /click sécurisé gardent l'ancien chemin.
Boîte aux lettres : « Cible » avant « Nouveau courrier »
Simple : À l'ouverture d'une boîte aux lettres, « Cible » était annoncé d'abord, puis seulement « Nouveau courrier ». Désormais seulement « Nouveau courrier ».
Technique : Mail:MAIL_SHOW ouvrait le chemin « Local, Courrier » avant que le MailFrame soit visible, or l'entrée Courrier sous Local n'existe que lorsque son frame est visible. Le chemin ne trouvait rien, et l'ouverture silencieuse annonçait à la place la première entrée racine (« Cible », le menu de cible) ; les sacs ramenaient le menu dans le courrier un instant plus tard via CheckFrames. Le journal de débogage montrait « path walk found nothing ... short,lokal,post » à chaque boîte aux lettres depuis au moins la v43.6 ; cela ne s'est remarqué qu'une fois les annonces intermédiaires disparues. Désormais MAIL_SHOW ouvre une image plus tard (C_Timer.After(0)), seulement avec un MailFrame visible et seulement si le curseur n'est pas déjà dans le courrier.
Raccourcis clavier : seconde touche pour le moniteur, le scan, la rotation et les autres
Simple : Sous « Raccourcis clavier Sku », chaque touche a une première et une seconde assignation. Pour plusieurs touches, la seconde pouvait être définie et était annoncée comme « Touche 2 », mais ne faisait rien. Étaient concernées « Déclencher la sortie continue du moniteur de groupe », distance de la cible, mode panique, scan de la minicarte large et étroit, vérification de portée des membres du groupe, « Tourner vers l'unité » 1 à 6 et 180 degrés, « Continuer le scan », scan 1 à 8 et la notification de ressources. La seconde touche fonctionne désormais partout.
Technique : SkuCore/Core.lua, script OnHide de SkuCoreControlOption1 : les assignations de ce frame étaient armées avec SetOverrideBindingClick pour .key seulement (seule exception SKU_KEY_TAXICANCEL), alors que le dispatcher de clic vérifie les deux champs via SkuKeyBindsMatchKey. Les menus d'assignation dans SkuZOptions/Core.lua armaient key2 depuis toujours, d'où le bon fonctionnement de la seconde touche pour d'autres actions. Un helper local tArm(aConst) lie désormais chaque touche renvoyée par SkuKeyBindsGetKeys ; les vingt lignes individuelles écrites à la main disparaissent.
Moniteur combat : l'annonce de mort nomme la touche du pavé numérique
Simple : Sous Moniteur, Combat, Amical, « Annoncer les morts » annonce un membre du groupe mort. Le numéro qu'elle contient est désormais toujours la touche qui cible ce membre. En groupe, ce sont les touches par défaut de Sku : pavé 1 = soi, 2 à 5 = les quatre autres. Le quatrième membre du groupe devient donc « party 5, dead », et non plus « party 4 ». Le moniteur de santé et l'aperçu ont toujours compté ainsi. En raid, c'est le numéro de ciblage au cadran qui est dit : la touche unique jusqu'à 10 joueurs, la séquence à deux chiffres à partir de 11. Avant, on entendait « party 2 » pour les membres de son propre sous-groupe et « raid 17 » (la place brute du raid) pour tous les autres, deux numérotations dans un même combat, aucune ne correspondant au pavé. Les places de raid 26 à 40 n'étaient pas annoncées du tout. « Compter les morts » est supprimé : en mode « numéro seul », son « 3, dead » ne se distinguait pas de « party 3, dead », et le compteur ne redescendait jamais lors d'une résurrection.
Technique : SkuCore/aqCombat.lua, aqCombat_SKU_UNIT_DIED. Nouveau helper tDeathUnitToken(GUID) renvoyant séparément le jeton parlé et l'id d'unité réel, les vérifications UnitIsDeadOrGhost et familier ont besoin de la place brute. Groupe : jeton de aqCombatGroupGuidToUnitId, chiffre plus 1. Raid : toutes les places MAX_RAID_MEMBERS parcourues par GUID (les 25 de tAllPartyRaidUnits ne suffisaient pas), numéro lu dans la grille du ciblage au cadran (SkuSecureTargetingFrame, unitNameSlotGG-SS, touche = (GG-1)*5+SS ; du code non sécurisé peut lire les attributs d'un cadre sécurisé), sinon tDTRaidRoster de aq.lua, sinon calcul direct (sous-groupe-1)*5+position. Grille et roster ne sont reconstruits qu'hors combat, ils vieillissent donc avec le pavé. partyDeadCount, son compteur, son menu et sa clé de locale supprimés, la valeur enregistrée est effacée à la connexion.
Moniteur combat : « Ignorer les familiers morts du groupe » reste sur Non
Simple : Le réglage pouvait être mis sur « Non » mais revenait sur « Oui » après le rechargement suivant. Corrigé.
Technique : aqCombatOnLogin fixait la valeur avec « x or true » ; un false enregistré est faux en Lua et était remplacé par true à chaque chargement. Désormais seulement si nil.
Moniteur santé : « Ajouter Mort à 0 pour cent » désactivé par défaut
Simple : Le style hauteur de son du moniteur de santé de groupe et de raid ajoute un clip « dead » au son d'un membre à 0 pour cent. C'était activé pour le groupe et le raid et c'est désormais désactivé, y compris pour les personnages existants. Pour le réactiver : Moniteur, Groupe ou Raid, Santé. L'annonce de mort du moniteur de combat (ci-dessus) devient ainsi le seul message de mort actif par lui-même.
Technique : SkuCore/aq.lua, AqOnLogin : valeur par défaut false au lieu de true, bascule unique des personnages existants via addDeadOn0PercentDefaultOff (même schéma que *DefaultOff dans aqCombat).
Ciblage au cadran : uniquement en raid, une touche jusqu'à 10 joueurs
Simple : « Activé » sous Ciblage au cadran est désormais un interrupteur Activé/Désactivé et n'agit qu'en raid. Les choix « Groupe » et « Groupe et raid » disparaissent : en groupe, les touches par défaut de Sku, pavé 1 à 5, atteignent déjà tout le monde, et le mode groupe posait par-dessus une numérotation décalée (0 = soi, 1 à 4 = les autres) et masquait les touches par défaut tant qu'il était actif. Un « Groupe » enregistré devient Désactivé, « Raid » et « Groupe et raid » deviennent Activé. Dans les raids jusqu'à 10 joueurs, une touche par membre est désormais toujours active (pavé 1 à 9, 0 = membre 10, dans l'ordre des sous-groupes), à partir de 11 joueurs la saisie à deux chiffres. L'option « Action à touche unique dans les raids jusqu'à 10 joueurs » disparaît, c'est la règle désormais.
Technique : SkuCore/DialTargeting.lua. enabled est converti une fois à la connexion en Désactivé/Activé, singleKeyinRaid10 effacé. DialTargetingRosterUpdate et DialTargeting_EndableDisable ne vérifient plus que UnitInRaid et enabled == Activé ; la branche groupe (unitNameSlot01-0x = partyx) et la branche « party » morte du snippet sécurisé sont supprimées. Mode raid : tNumCurMembers > 10 signifie deux chiffres, sinon raid10. Trois clés de locale supprimées. Rien de tout cela n'est testé en jeu.
Numéros de groupe : un seul comptage pour tous les moniteurs
Simple : Chaque numéro que Sku dit pour un membre du groupe doit être la touche qui le cible. En groupe, c'est le pavé numérique 1 pour vous et 2 à 5 pour les autres ; en raid, le numéro du ciblage au cadran, une touche 1 à 10 jusqu'à 10 joueurs et deux chiffres à partir de 11. L'annonce de mort compte ainsi depuis cette version. Désormais le moniteur de santé et le moniteur de debuffs en raid, les avertissements de menace, « cible de la cible » et « hors de portée » du moniteur de combat ainsi que les sorties d'aura « unité source » et « unité cible » le font aussi. Les moniteurs de santé et de debuffs du groupe gardent le comptage de groupe en raid, car qui ne surveille que son sous-groupe le cible là avec le pavé 2 à 5.
Le moniteur de santé en raid n'a des fichiers de hauteur que pour les numéros 1 à 25, les membres 26 à 40 restaient donc muets. Ils sont désormais prononcés, le numéro d'abord, puis la santé par dizaines, avec la voix du nouveau réglage « Voix pour les membres au-delà de 25 » (Moniteur, Raid, Santé ; Justin par défaut).
Technique : SkuCore/aq.lua : SkuCore.Monitor.RaidMemberNumbersByName() construit la table nom -> numéro selon la règle du cadran (jusqu'à 10 membres à plat 1-10 dans l'ordre des sous-groupes, à partir de 11 (sous-groupe-1)*5+position) ; tDTRaidRoster et la grille du ciblage au cadran (DialTargeting.lua) en sont remplis, tDTRaidRoster calculait toujours à deux chiffres. SkuCore.Monitor.GroupMemberNumber(unitId) renvoie le numéro de touche des jetons party/raid. La sortie continue des debuffs en raid disait string.sub(unitId, 5)+1. MonitorOutputRaidPercent2 prononce les numéros au-delà de 25 via MonitorOutputPlayerStatus (raid.health2.voice, 1 par défaut) et renvoie la durée à la file ; les entrées de la file portent pour cela la santé absolue. SkuCore/aqCombat.lua : tAllPartyRaidUnits et tUnitsToTestOnGameRaidTargets contenaient raid1-25 en dur ; ils sont désormais regarnis sur place d'après la taille réelle du raid à chaque événement de roster. tSpokenGroupUnit(unitId) applique la correspondance de l'annonce de mort à toutes les annonces amicales. « party5 »/« partypet5 » n'existent pas comme mots dans les voix de combat, SkuCoreAqCombatGetVoiceString les découpe en « party », « pet », « 5 ». SkuAuras/data.lua : tUnitIdToSpokenName dit party N comme N+1 et raid N comme numéro du cadran.
Touches de sous-groupe de raid : sauter dans un groupe de raid d'une seule touche
Simple : Qui ne soigne que son propre groupe en raid a besoin d'un accès rapide à un groupe sans la saisie à deux chiffres du cadran. Alt+pavé 1 à 8 cible le premier membre du sous-groupe de raid 1 à 8 (le membre numéro 1 de ce groupe, le même ordre que le ciblage au cadran et les moniteurs). La cible est annoncée comme toute cible. Si le groupe est vide, Sku dit « Groupe N vide » et rien ne se passe ; hors raid « Pas de raid ». Les huit touches ont leur propre sous-menu « Touches de sous-groupe de raid » dans les raccourcis Sku, la seconde touche fonctionne aussi. La fonction peut être désactivée sous Fonctions.
Comme pour toute touche de ciblage : les changements de groupe pendant un combat sont pris en compte après le combat, d'ici là la touche saute vers l'ancien premier membre.
Technique : Nouveau fichier SkuCore/subgroupTargeting.lua (sous-module SubgroupTargeting, dans la TOC après skuFocus.lua). Huit SecureActionButtons SkuSubgroupTarget1-8 avec type1=macro, macrotext1="/tar <nom>", liés par SetOverrideBindingClick SANS cinquième argument (LeftButton, pour que type1/macrotext1 soit lu) ; les noms viennent de GetRaidRosterInfo (premier nom par sous-groupe dans l'ordre du roster) sur GROUP_ROSTER_UPDATE, GROUP_FORMED/JOINED/LEFT et PLAYER_ENTERING_WORLD hors combat, reporté à PLAYER_REGEN_ENABLED en combat. PreClick (non sécurisé, s'exécute aussi en combat) prononce la ligne vide / pas de raid. Cadre de contrôle SkuCoreSubgroupControl, script OnHide, arme les deux touches de chaque constante via
SkuOptions:SkuKeyBindsGetKeys. Constantes SKU_KEY_SUBGROUPTARGET1-8, défaut ALT-NUMPAD1-8 (SkuZOptions/SkuKeyBinds.lua), groupe « Raid Untergruppen Tasten » dans SkuCore/Options.lua.