Corrections de bug
Géneral
* Corrigé : version améliorée du Feu Alchimique, pour qu'une fois appliqué sur une arme, le bonus aux dommages soit correct et non plus 1d4 de feu.
* Corrigé : Pièges de Feu et Soniques, pour qu'ils fonctionnent sur les ennemis une fois placés avec la compétence Pose de Piège.
* Corrigé : Pièges Sonique Fatals et Épiques, pour qu'ils ne blessent pas les créatures neutres.
* Corrigé : Pièges de Gaz, pour qu'ils n'appliquent pas de poison sur la même cible plusieurs fois. Par ailleurs, ils fonctionneront sur les ennemis si placés avec la compétence Pose de Piège.
* Corrigé : un problème causant l'erreur "Le personnage a trop de dons" lorsque l'on essaie de multi-classer un Sorcier niveau 5 avec un niveau de Prêtre ayant les domaines Terre ou Guerre.
* Les joueurs ne peuvent plus retirer le dernier membre vivant d'un groupe.
* Corrigé : un problème qui laissait les ennemis en surbrillance s'ils mourraient en étant mis en surbrillance.
Toolset & Contenu personnalisé
* Le système UI Atlas a été retiré, pour que les objets UI qui ne sont pas 1:1 n'apparaissent plus flous.
* Les points d'attache apparaîtront à présent correctement dans le toolset.
Scripts
(*)Corrigé : la fonction ActionCastSpellAtLocation() pour que le paramètre "nDomainLevel" soit à la bonne place.
Multijoueur
* Corrigé : un problème causant un crash serveur lorsqu'un personnage métamorphosé tentait de transiter.
* Les joueurs possédant leurs familiers ne seront plus bloqués lorsque téléportés par un DM.
* L'erreur "Fichier manquant" lors de la connexion à un serveur rapporte maintenant le fichier manquant.
Sorts
* Corrigé : Morsure Magique et Morsure Magique Suprême sont maintenant de l'école Transmutation (et non plus Conjuration).
* Corrigé : Brume Mentale pour qu'il soit de l'école Enchantement (et non plus Illusion).
* Corrigé : Linceul de Feu pour qu'il soit de l'école Évocation (et non plus Transmutation).
* Les invocations du Sorcier sont maintenant correctement notées "somatic" dans le fichier spells.2da.
* Corrigé : un problème causant le joueur de blesser les membres de son groupe en difficulté Normal avec des sorts de zone.
* Lancer le sort invisibilité mettra correctement le personnage silencieux et invisible.
* Le DD d'un jet de Concentration pour un Sorcier est maintenant de 10 + Dommages + Niveau du sort.
* Corrigé : un problème causant la Régénération Vampirique de fonctionner par intermittence.
Dons
* La durée de Puissance Divine et Vengeance Divine est augmentée d'un round, pour compenser l'impossibilité d'agir durant le round où ces dons ont été activés.
* Le bonus de Vengeance Divine donne maintenant 2d6 de dommage en plus contre les morts-vivants, et non plus une valeur aléatoire entre 2 et 12.
* Les personnages contrôlés par l'IA ayant le don Combat à deux armes ne déséquiperont plus l'arme de la main non-directrice.
Capacités raciales
* Corrigé : Les pouvoirs Frayeur, Charme-Personne et Enchevêtrement des Yuan-Ti sang-pur ne sont plus basés sur la première classe.
* pris à la création de personnage. A la place, comme les règles PvP, le DD est basé sur le Charisme et la durée dépend du nombre total de niveaux du personnage.
* Corrigé : L'aura utilisée par le Noyeux n'affecte plus les créatures avec Corps de Fer (qui donne une immunité à la noyade).
* Corrigé : La capacité Hurlement de terreur des Molosses d'ombre ne les affecte plus eux-mêmes en difficulté Hardcore.
* Corrigé : La capacité Convocation de Tempête des Génasis d'Air ne retire plus les auras des autres créatures.
Capacités de classe
* Corrigé : Le chant Marche du Légionnaire, pour que l'augmentation du bonus d'attaque de base ne dépende plus des membres du groupe en-dehors de la zone d'effet.
* Les extérieurs déjà renvoyés ne compteront plus contre la limite de dés de vie lors d'une nouvelle tentative de renvoi.
* Le message "Renvoi raté" n'apparaîtra plus pour les créatures qui ne peuvent pas être renvoyées.
* Corrigé : La capacité Protection du Seigneur des Neuf de Padhiver, pour que la durée soit correctement basée sur le niveau du personnage.
* Code mis à jour pour l'Aura de Guerre du Prêtre de Guerre, pour qu'il soit en phase avec les autres auras modifiées au patch 1.21 (il y a également une correction pour un problème mentionné plus haut). Ceci devrait empêcher des problèmes pouvant arriver lors du rafraîchissement de cette aura.
* Corrigé : un problème provoquant le crash du jeu si un Druide possédant une fronde utilisait la capacité Forme élémentaire : Air.
* Les capacités du Rôdeur ne seront plus désactivées lorsqu'il équipe une Cotte de maille en mithral.
Nouvelles fonctionnalités
Multijoueur
* Nouvelle option INI côté serveur : HideChallenge RatingInExamine (masque le facteur de puissance de la cible examinée).
* Nouvelle option INI côté serveur : HideEffect ListInExamine (masque les effets actifs de la cible examinée).
* Les fichiers localisés dans le répertoire de HAK seront chargés avant la création de personnage.
* Support de transitions de Serveur à Serveur avec la fonction ActivatePortal() - Actuellement le paramètre "seemless transition" doit être mis à TRUE.
* Nouvelle option INI pour permettre aux administrateurs serveur d'activer ou désactiver la fonctionnalité de soins automatiques à la connexion d'un joueur. Cette fonctionnalité activée, un joueur se connectera sur un serveur dans le même état que lorsqu'il s'est déconnecté (Points de vie, Sorts par jour, etc.).
* Un système de téléchargement automatique de contenu a été ajouté au multijoueur. Il est conçu pour être utilisé avec le serveur dédié.
* Des modifications ont été apportées au serveur dédié, au jeu et à l'éditeur pour intégrer cette nouvelle fonctionnalité. Deux documents, "Autodownloader Server Guide.pdf" et "Autodownloader Toolset User Guide.pdf" peuvent être téléchargés séparément (Note :
[User Guide] et
[Server Guide]).
Scripts
* Ajouté : fonction script int GetVariableValueInt(object oObject, int nIndex); renvoie la valeur d'un entier local stocké à l'index donné, ou 0 si la variable n'existe pas.
* Ajouté : fonction script string GetVariableValueString(object oObject, int nIndex); renvoie la valeur d'une chaîne de caractères local stockée à l'index donné, ou une chaîne vide si la variable n'existe pas.
* Ajouté : fonction script float GetVariableValueFloat(object oObject, int nIndex); renvoie la valeur d'un réel local stocké à l'index donné, ou 0.00 si la variable n'existe pas.
* Ajouté : fonction script location GetVariableValueLocation(object oObject, int nIndex); renvoie la valeur d'une localisation locale stockée à l'index donné, ou une localisation invalide si la variable n'existe pas.
* Ajouté : fonction script object GetVariableValueObject(object oObject, int nIndex); renvoie la valeur d'un objet local stocké à l'index donné, ou OBJECT_INVALID si la variable n'existe pas.
* Ajouté : fonction script int GetVariableCount(object oObject); renvoie le nombre de variables locales stockées sur cet objet.
* Ajouté : fonction script void SetBaseAbilityScore(object oCreature, int nAbilityType, int nScore); EXPERIMENTAL ! Toute modification effectuée sur une caractéristique ne sera PAS annulée si le personnage perd des niveaux. IMPORTANT : La plupart de ces modifications excluront un personnage de la catégorie "personnage légaux" d'un serveur.
* Ajouté : fonction script void SetBaseSkillRank(object oCreature, int nSkill, int nRank, int bTrackWithLevel = TRUE); EXPERIMENTAL ! Affecter la valeur TRUE au paramètre "bTrackWithLevel" pour que les modifications de compétence soient associés au niveau du personnage. Autrement dit, la modification sera annulée lorsque le personnage perdra le niveau auquel la modification a été apportée. IMPORTANT: La plupart de ces modifications excluront un personnage de la catégorie "personnage légaux" d'un serveur.
* Ajouté : fonction script void SendChatMessage(object oSender, object oReceiver, int nChannel, string sMessage, int bInvokeCallback = FALSE); Cette fonction enverra un message dans la fenêtre de dialogue, comme si un joueur ou le serveur en était l'auteur. Excepté pour CHAT_MODE_SERVER, oSender doit être un personnage joueur ou la fonction sera sans effet. oSpeaker - le personnage joueur qui parlera, ou OBJECT_INVALID si le canal est CHAT_MODE_SERVER. Ce doit être un objet personnage joueur valide pour que CHAT_MODE_PARTY fonctionne. oReceiver - si nChannel est CHAT_MODE_TELL ou CHAT_MODE_SERVER, ce sera le personnage joueur qui recevra le message. nMode - constante CHAT_MODE_* indiquant le type de message à envoyer. Seules les valeurs des constantes CHAT_MODE_* sont acceptées. sMessage - le message à envoyer. bInvokeCallback - à TRUE, le script nChat du module sera exécuté pour filtrer ce message. ATTENTION : A utiliser avec une extrême prudence si la valeur TRUE est affectée à bInvokeCallback, dans le script de l'événement OnChat lui-même : ceci pourrait provoquer une boucle infinie et mettre le module en attente.
* Ajouté : fonction script int GetIsLocationValid(location lLocation); Renvoie TRUE si la localisation est valide, et praticable.
* Ajouté : fonction script int GetSurfaceMaterialsAtLocation(location lLocation); Renvoie un masque composé de 0 ou d'autres valeurs de SM_*.
* Ajouté : fonction script int GetSpellKnown(object oCreature, int nSpell); EXPERIMENTAL ! Renvoie TRUE si la créature connaît un sort, peu importe sa classe ou son niveau.
* Ajouté : fonction script int GetItemBaseMaterialType(object oItem); Renvoie la constante GMATERIAL_* qui correspond au type de matière de base de l'objet passé en paramètre. Actuellement, seuls les matériaux de base pré-définis fonctionnent.
* Ajouté : fonction script void SetItemBaseMaterialType(object oItem, int nMaterialType); EXPERIMENTAL ! Modifie le type de matière de base de l'objet oItem, nMaterialType doit être une constante GMATERIAL_* valide.
Toolset & Contenu personnalisé
* Un système de téléchargement automatique de contenu a été ajouté au multijoueur. Il est conçu pour être utilisé avec le serveur dédié.
* Des modifications ont été apportées au serveur dédié, au jeu et à l'éditeur pour intégrer cette nouvelle fonctionnalité. Deux documents, "Autodownloader Server Guide.pdf" et "Autodownloader Toolset User Guide.pdf" peuvent être téléchargés séparément (Note :
[User Guide] et
[Server Guide]).
* Les fichiers localisés dans le répertoire HAK seront chargés avant la création de personnage.
Modification des fichiers 2DA
Neverwinter Nights 2
* Ajouté : Henchspells.2da.
* Spells.2da - Diverses modifications de sorts.
* Feat.2da - Ajouté : une colonne "Instant".
Neverwinter Nights 2: Mask of the Betrayer
* Ajouté : Henchspells.2da
* Spells.2da - Diverses modifications de sorts.
* Feat.2da - Ajouté : une colonne "Instant".
Neverwinter Nights 2: Storm of Zehir
* Spells.2da - Diverses modifications de sorts.
* Feat.2da - Ajouté : une colonne "Instant".