Salut, de quoi patcher le wiki peut-être :
Code PHP:
if (nCasterLvl > 15) {nCasterLvl = 15;}
int nACBonus = (2 + ( nCasterLvl / 3 ));
int nImages = d4( 1 ) + ( nCasterLvl / 3 );
nImages = ApplyMetamagicVariableMods(nImages, 4);
if ( nImages > 8 ) {nImages = 8;}
Je ne mets pas l'include qui est codée comme les pieds, mais la méthode ApplyMetamagicVariableMods est censée renvoyer une variable numérique modifiée par l'utilisation d'un don en métamagie, extension d'effet ou quintessence de sorts, bornée par une valeur maximale.
1/ Cette valeur est bornée à 4 alors qu'elle devrait l'être à 8.
Alors que l'éditeur indique (je soupçonne l'instigateur de ce thread de ne pas avoir ouvert sa fenêtre assez largement
) :
//Enter Metamagic conditions
nImages = ApplyMetamagicVariableMods(nImages, 4 + (nCasterLvl / 3));
//nImages += nCasterLvl;
//Max out Images at 8
if( nImages > 8 )
{
nImages = 8;
Ce qui est correct.
Niveau 6
Fléau majeur de missiles d'Issac / Isaac Greater Missile Storm
Nom du script : x0_s0_MissStorm2
Description attendue : Ce sort devrait lancer un nombre de missiles magiques équivalent au NLS du jeteur de sorts, chaque missile faisant 3D6 de dégâts, ceux-ci sont répartis équitablement sur les cibles.
Effet constaté : Les missiles ne font que 2D6 de dégâts, chaque cible ne peut recevoir plus de 10 missiles.
Partie du script en cause :
Code PHP:
DoMissileStorm(2, 20, SPELL_ISAACS_GREATER_MISSILE_STORM, VFX_IMP_MAGBLUE, DAMAGE_TYPE_MAGICAL, -1, 10);
Le 2, premier argument, signifie le nombre de D6 par missile.
Le 10, dernier argument, signifie le nombre maximum de missiles par cible.
Tout bien considéré il semble plus plausible que ce soit la description du sort qui soit erronée non ?
Allez, à moins de prendre ses désirs pour des réalités, passer de 10d6 au niveau 4 pour le petit frère à 60d6 pour un ns6, il n'y aurait pas disproportion quelque part là ? Et pour la cible unique, 20d6 (ce qui est effectivement pris en compte par le jeu) me semble adapté au niveau du sort (70 pts en moyenne), alors qu'en suivant la description à la lettre, on aurait un petit 210 de moyenne. En comparaison, le
Rayon polaire du niveau supérieur ne fait que 87.5 dégâts, nécessite une attaque de contact, et est sujet à la résistance au froid bien plus fréquente qu'une résistance aux dégâts magiques, et nécessite de la part du lanceur de sort d'avoir atteint le niveau 25 (épique donc !) pour révéler son plein potentiel. Pour moi le déséquilibre du fléau majeur saute aux yeux si on suit sa définition, mais bon...
Niveau 8
Visage Ethéré / Ethereal Visage
Nom du script : NW_S0_EtherVis
Description attendue : Ce sort devrait donner une réduction de dégâts 20/magie.
Effet constaté : En fait, il donne une réduction 20/adamantium, mais il fournit aussi un camouflage de 25%.
Partie du script en cause :
Code PHP:
effect eDam = EffectDamageReduction(20, GMATERIAL_METAL_ADAMANTINE, 0, DR_TYPE_GMATERIAL);
...
effect eConceal = EffectConcealment(25);
Bon, on voit ici la plus flagrante preuve de mauvaise foi :
- Pour la résistance aux dégâts :
//effect eDam = EffectDamageReduction(20, DAMAGE_POWER_PLUS_THREE); // 3.0 DR rules
effect eDam = EffectDamageReduction(20, GMATERIAL_METAL_ADAMANTINE, 0, DR_TYPE_GMATERIAL); // 3.5 DR approximation
Il y a adaptation du sort aux règles 3.5, tout simplement (dans nwn2, il n'y a pas de résistance aux armes à bonus d'altération, mais en fonction du matériau de l'arme).
Pour l'apparition du camouflage, la définition dit :
<<Le lanceur est enveloppé d'une lueur spectrale qui lui octroie une résistance aux dégâts de 20/magie, le protège de tous les sorts de niveau 2 ou inférieur et lui fait bénéficier d'un camouflage.>>
Je ne vois pas trop où est le problème ^^
Niveau 9
Reflets d'ombre / Shades
Nom du script : nw_s0_shadescaster
Description attendue : Ce sort lance les effets conjugués de Bouclier, Prémonition et Protection contre les sorts.
Effet constaté : Ce n'est pas Bouclier mais Armure de Mage qui est lancé, les types des bonus d'AC ne sont pas les mêmes donc cet effet ne se cumule pas avec une Armure de Mage, qui est supprimée au passage. Le +8 de la Protection contre les sorts n'est pas répercuté sur la feuille de personnage, même si l'effet semble bien actif.
Partie du script en cause :
Code PHP:
RemoveEffectsFromSpell(oTarget, SPELL_MAGE_ARMOR);
...
effect eMA_AC = EffectACIncrease(4, AC_ARMOUR_ENCHANTMENT_BONUS);
Le première ligne montre bien que c'est le sort d'Armure de Mage qui est supprimé.
La seconde montre le type de bonus d'AC ajouté alors qu'il devrait être de type AC_DEFLECTION_BONUS comme dans le sort Bouclier.
Première ligne corrigée :
// Get rid of old effects
RemoveEffectsFromSpell(oTarget, SPELL_SHIELD);
Deuxième ligne "corrigée" :
effect eMA_AC = EffectACIncrease(4, AC_SHIELD_ENCHANTMENT_BONUS)
Invocations de créatures
Noms de scripts de la forme NW_S0_Summon1, NW_S0_Summon2, etc...
Ces sorts sont communs à plusieurs classes et ont été copiés quasiment directement sur NwN1. Dans NwN1, les Prêtres avec le domaine Animal invoquaient des créatures comme si le sort était d'un rang supérieur, ainsi un sort de niveau 1 aboutissait à une invocation de 2, et ainsi de suite. Le domaine Animal dans NwN2 ne possède plus cette propriété. Or, tous ces sorts d'invocation ont encore les lignes de NwN1 :
Code PHP:
if(GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER)) ...
Du coup, les invocations dans NwN2 auront également un cran supérieur pour les Prêtres possédant le domaine Animal, ceci n'étant pas dans la description de ce domaine.
Soit, mais puisque le
domaine animal n'existe pas dans nwn2, cela ne pose pas de problème insurmontable n'est-ce pas ?
De plus, je ne vois pas trop d'ajustement de niveau à +1 ici, même si je ne connais pas la fonction de ["NW_S_BOARDIRE] :
if(GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER))
{
eSummon = EffectSummonCreature("NW_S_BOARDIRE");
Sorts de Druides
Niveau 8
Avatar des Tempêtes
Nom du script : nw_s0_stormavatar
Description attendue : Outre les autres bonus, ce sort devrait donner +3D6 de dégâts électriques à la cible.
Effet constaté : Le bonus est de 2D6.
Partie du script en cause :
Code PHP:
int nDamage = d6(2);
Ce sort ne donne que +2D6 de dégâts électriques. De plus, la feuille de personnage, en forme animale, ne répercute la modification que sur une seule des armes naturelles, ce qui est effectivement le cas dans le script, mais comme les animations sous forme animale sont bancales, difficile de voir si ces dégâts sont appliqués tout le temps (à vérifier encore en scrutant les logs plus attentivement).
Corrigé (?) :
int nDamage = IP_CONST_DAMAGEBONUS_3d6;
Je ne vois pas en quoi les animations sont bancales à vrai dire ; de plus lorsque l'on met en doute la validité d'un soft à-priori, et qu'on recommande de "vérifier" ce qu'il en est, la moindre des choses est de le faire et de donner suite. (Un peu comme votre message, qui est loin d'être à jour.) Vous semblez pressé de montrer les "failles" d'un système (quand vous ne vous mélangez tout simplement pas les pinceaux), mais êtes moins prompt à relever les efforts faits pour y remédier.
Je m'interroge tout simplement sur les mobiles d'un individu écrivant ce genre de post...
Niveau 9
Avatar de la Nature
Nom du script : nw_s0_natavatar
Description attendue : Parmi les bonus, ce sort donne +10 aux dégâts.
Effet constaté : Le bonus aux dégâts est de +2D6.
Partie du script en cause :
Code PHP:
effect eDamage = EffectDamageIncrease(10, DAMAGE_TYPE_SLASHING);
Vraiment fabuleux le codage, dans la description de EffectDamageIncrease, il est écrit "
You must use DAMAGE_BONUS_* constants...", P. Mills qui a écrit ce script n'a pas du bien lire le fonctionnement de cette méthode et il fait donc l'erreur de ne pas donner la constante adéquate, à savoir DAMAGE_BONUS_10 qui vaut 20, lors de l'appel de la fonction. A noter que ce script a été crée le 17 Octobre 2006...
Et c'est sans compter que ce sort s'applique au Druide métamorphosé en animal alors que dans DD 3.5 ce n'est pas possible.
Bah une fois de plus tout me semble correct (cela devient monotone) :
effect eDamage = EffectDamageIncrease(DAMAGE_BONUS_10, DAMAGE_TYPE_SLASHING);