Les archers-mages

Répondre
Partager Rechercher
J'avaios regardé il y a longtemps dans les scripts et je suis à peu près certain aussi que le DD est bien de 20. D'ailleurs, je l'avais modifié pour soloter en - si je me souviens bien - 10+niveau d'AA+modif. de DEX... Je trouvé ça plus équilibré à mon goût .... Au niveau 40, on j'avais ainsi un DD de 50+ ! (mais de 14 au premier niveau d'AA)
C'est ce qu'il me semble en regardant le script, mais comme ce n'est pas la partie que je maîtrise le mieux pour l'instant cela va rester comme cela (va bien falloir que je m'y mettes un jour au décryptage des scripts).
Code:
//::///////////////////////////////////////////////
//:: x1_s2_deatharrow
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Seeker Arrow
     - creates an arrow that automatically hits target.
     - At level 4 the arrow does +2 magic damage
     - at level 5 the arrow does +3 magic damage

     - normal arrow damage, based on base item type

     - Must have shortbow or longbow in hand.
*/
//:://////////////////////////////////////////////
//:: Created By:
//:: Created On:
//:://////////////////////////////////////////////
#include "X0_I0_SPELLS"
#include "x2_inc_itemprop"

void main()
{
    int nBonus = nBonus = ArcaneArcherCalculateBonus();

    object oTarget = GetSpellTargetObject();

    if (GetIsObjectValid(oTarget) == TRUE)
    {
        // * Roll Touch Attack
        int nTouch = TouchAttackRanged(oTarget, TRUE);
        if (nTouch > 0)
        {
            int nDamage = ArcaneArcherDamageDoneByBow((nTouch ==2));
            if (nDamage > 0)
            {
                effect ePhysical = EffectDamage(nDamage, DAMAGE_TYPE_PIERCING,IPGetDamagePowerConstantFromNumber(nBonus));
                effect eMagic = EffectDamage(nBonus, DAMAGE_TYPE_MAGICAL);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, ePhysical, oTarget);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, eMagic, oTarget);

                //Fire cast spell at event for the specified target
                SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId()));

                // * if target fails a save DC20 they die
                if (MySavingThrow(SAVING_THROW_FORT, oTarget, 20) == 0)
                {
                    effect eDeath = EffectDeath();
                    ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget);
                }
            }
        }
    }
}
Voila.
Citation :
Publié par OMayeres
// * if target fails a save DC20 they die
le commentaire est plutôt explicite
finalement peut être pas, c'est DC et non DD
Deux choses

1) Ce qu'il faut prendre en compte est cette ligne (la ligne de commande) :

Code:
if (MySavingThrow(SAVING_THROW_FORT, oTarget, 20) == 0)
Parfois les commentaires ne sont pas en accord avec la ligne de commande.

2) DC (Difficulty Check) est la version anglaise de DD (Degré de difficulté).
Citation :
if (MySavingThrow(SAVING_THROW_FORT, oTarget, 20) == 0)
Oui, mais ce qui gêne c'est le ==0, j'aurais du écrire une fonction qui fait la même chose ça aurait été >=0
Pas des math je veux bien, mais un langage est un langage ça ne me serrait jamais vu l'idée de faire une fonction pareille. tester le code retour d'une fonction je veux bien, mais de la à le faire pour une soustraction...
La fonction appelée
Code PHP:

 int MySavingThrow(int nSavingThrowobject oTargetint nDCint nSaveType=SAVING_THROW_TYPE_NONEobject oSaveVersus OBJECT_SELFfloat fDelay 0.0
renvoie ceci :

Code PHP:

     /*
             return 0 = FAILED SAVE
             return 1 = SAVE SUCCESSFUL
             return 2 = IMMUNE TO WHAT WAS BEING SAVED AGAINST
         */ 
On peut la trouver dans nw_i0_spells qui est en include dans le script. Ce qui explique le "== 0" qui va provoquer le EffectDeath() et la mort de la cible.

Au cas où quelqu'un voudrait faire une modification utile voici un exemple basé sur le bonus de dextérité et le niveau d'archer mage :

Code PHP:

  // Declaration d'une nouvelle variable servant a stocker le nouveau DD/DC
  
int nDCArrow GetAbilityModifier(ABILITY_DEXTERITYOBJECT_SELF) + GetLevelByClass(CLASS_TYPE_ARCANE_ARCHEROBJECT_SELF);
  
//...
  //et plus bas, remplacer le 20 par nDCArrow comme ceci :
  
if (MySavingThrow(SAVING_THROW_FORToTargetnDCArrow) == 0
On arrive ainsi à quelque chose de plus "correct" qu'un 20 bloqué
Pour compléter la réponse d'Azmathiel, la requête "MySavingThrow(... ...)" va questionner la cible et donner une réponse en retour. Si le jet de sauvegarde est raté, la réponse est 0. Si le jet de sauvegarde est réussi, la réponse est 1. Si la cible est immunisée, la réponse est 2. Les effets du sort s'appliquent seulement sur un cas 0 (donc si le jet de sauvegarde est raté, uniquement). On compare donc la réponse de la requête à 0, et l'on applique les effets si la réponse est celle souhaitée.

Il est vrai que des réponses plus correctes auraient été :

0 --> FAILURE
1 --> SUCCESS
2 --> IMMUNE

Mais le langage NwN est ce qu'il est.
Le DD 20 est aussi la valeur utilisée par D&D.

Il est à noter qu'un DD fixe est souvent lié aux effets causant une mort directe. Parce qu'une mort et une mort, et en progressant de niveau on apprend à mieux éviter la mort. (Augmentation de la vigueur / stabilité du DD). C'est pour éviter qu'un tel effet soit trop puissant.

A la limite si ça te plaît vraiment pas tu peux le modifier mais pas de manière aussi forte je pense. A la rigueur un 10 + niveau normaux d'AA + 1/2niveau épique d'AA + Mod Int. me paraît plus raisonnable. (Int parce que l'attaque se rapproche un peu de l'attaque mortelle d'assassin).
Il me semble au contraire que tous les sorts de morts, la paume tremblante du moine, le critique devastateur, voient leur DD augmenter avec le niveau, non? L'archer mage me semble désavantagé à ce sujet...
Citation :
Publié par Halloween
Il me semble au contraire que tous les sorts de morts, la paume tremblante du moine, le critique devastateur, voient leur DD augmenter avec le niveau, non? L'archer mage me semble désavantagé à ce sujet...
Pareil, j'imagine bien qu'un personnage apprend à éviter la mort au fil des niveaux mais en même temps, l'AA apprendra à mieux se servir de son arc et donc à mieux tirer ses flèches de mort ^^


De toute façon, je préfère l'Archer Sylvain !
Je pensais en fait à la mort par dégâts excessifs moi (DD 15).

Il ne faut pas oublier qu'en gagnant des niveaux, l'archer mage augmente ses chances de toucher et ses dégâts... Si en plus il est quasiment sur de tuer sur le coup... Adieu. Tu dis qu'il apprends à mieux tirer ses flèches, oui, mais c'est représenté par cela.

L'avantage d'un archer, c'est qu'il peut frapper plusieurs fois avant d'être rejoint. Si on lui magnifie cet avantage (qui est déjà conséquent), c'est du grobillisme aigu... Un jet à DD 20 sur une vigueur n'est pas une gageure pour perso non épique.

(Moi aussi je préfère largement l'archer sylvain)
Il a UNE flèche par jour. Ca fait UNE créature tuée. Evidemment si, dans les modules où tu joues, on peut se reposer toutes les 10 secondes, la crise de grobillisme, je la conçois aisément mais ça doit être comme ça pour tout dans ce cas...

Par ailleurs, quand je compare ça à d'autres dons accessibles aux guerriers ou aux jeteurs de sorts, ça ne me choque pas plus que ça...
C'est quoi déjà le DD d'un doigt de mort d'un mage niveau 40 ? Ou le DD d'un critique dévastateur ? ou encore la Destruction d'un prêtre niveau 40 ?


D'un autre côté, et à mon avis, le fait d'appliquer cette modification du script permet de donner plus d'attrait aux niveaux supérieurs d'Archer Mage sans pour autant donner dans le "divin". Un jet de vigueur de 20 sur une flèche de mort d'un archer mage niveau 33 (6guerrier/1Mage/33A-M), je trouve ça ridicule...
Avec ce script, un Archer Mage boosté au maximum et entièrement basé sur la dextérité, pourra prétendre à une flèche par jour (pas cinquante) avec un DD d'environ 49-50. Sinon, il reste la possibilité d'utiliser une autre référence (genre Bonus de dext/2 ou Bonus d'intelligence, bien que ce ne soit pas vraiment la caractéristique de l'archer mage).

Notez bien qu'en scriptant sur la dextérité, je voyais plus un "coup fatal" qu'un sort de mort. A vous de l'adapter, ou pas.
Intelligence parce que c'est un pouvoir magique et pas un pouvoir extraordinaire (raison de mon choix).

Oui, on peut défendre le fait que ce soit un projectile par jour, mais ça rend une classe très puissante, encore plus puissante qu'elle ne l'est. Toutes les classes de prestiges ne sont pas équilibrées, mais là, ça en devient tragi-comique.

Pourquoi diviser la progression de l'arcane archer par 2 quand il est épique ? Parce que c'est dans les règles, pourquoi c'est dans les règles ?

Parce que le niveau progresse de 1 tous les niveaux et les JS de 1 tous les 2 niveaux. Au niveau 20, le perso à maximum 10 niveaux dans sa classe de prestige et on retrouve cette progression de 1/2.
Le probleme est qu'a partir du moment on on accepte dans un jeu des sorts qui tuent instantanément (ce que je considere comme une stupidité), je ne vois pas en quoi le fait de donner celà à l'arcane archer (UNE fois par jour avec un progression de DC egale aux sorts) est tragi-comique... Comme je l'ai dit, le tragi-comique, on y est déjà...
Point de vue défendable bien que je ne le partage pas...

Le vrai problème du 1/1 par rapport au 1/2. C'est qu'un personnage de niveau 30 se retrouve avec un DD prévu pour des persos de niveau 40. D'où le grave déséquilibre.
Vous gérez les problemes de progression de DD comme vous voulez, ça m'est égal...

Tout ce que je veux dire, c'est que le DD fixe de 20 sur une capacité qu'a l'Arcane archer UNE fois par jour et au niveau 10 de cette classe de prestige est un non-sens... Surtout dans un jeu ou les cris de la banshee resonnent de partout (effet de groupe en plus lol...), les implosions et destructions n'en finissent pas de combler la faiblesse (humour) du clerc, ou le critique devastateur n'en finit pas d'etre banni de tous les mondes persistants de la planete, et ou même le moine a le DD de son quivering Palm evoluant avec le niveau et le bonus de sagesse... J'oublie certainement des sorts de mort, il y en a tellement...
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés