2 votes

En dehors de la difficulté, y a-t-il un moyen de déterminer la valeur de sacrifice d'un monstre (en particulier, y a-t-il un tableau ou une liste)?

Après quelques années de jeu, j'ai réalisé l'importance des autels, mais je n'ai pas encore trouvé d'informations réelles sur la valeur des sacrifices pour la Prière, l'alignement, la chance, les cadeaux, etc. Mis à part la difficulté (bien sûr) qui est vague à dire le moins, existe-t-il des indications sur la valeur absolue ou relative? Par exemple, combien vaut une salamandre (je sais que c'est de la nutrition et qu'il y a une chance de restaurer un peu de magie, mais je ne sais pas si ça vaut le coup de la sacrifier plutôt que de la manger tôt. Même pour la chance d'intrinsèques ou d'attributs. Ou, que se passe-t-il si je sacrifie quelque chose bien au-dessus de mon niveau, est-ce que cela augmente sa valeur (même pour sacrifier des geckos @ XL 30, est-ce que cela les rend moins précieux que des aliments pour animaux de compagnie?)

5voto

Doorknob Points 4496

Note: Cette réponse s'applique à la version 3.4.3. Je doute que quoi que ce soit concernant ce mécanisme ait changé dans la version 3.6.0, mais je ne peux pas l'affirmer avec certitude.


Allons explorer le code source!

src/pray.c, lignes 1160 à 1165 :

    if (otmp->corpsenm == PM_ACID_BLOB
        || (monstermoves <= peek_at_iced_corpse_age(otmp) + 50)) {
        value = monstr[otmp->corpsenm] + 1;
        if (otmp->oeaten)
        value = eaten_stat(value, otmp);
    }

monstr est le tableau des "forces des monstres" (voir src/monstr.c pour le vaste tableau) - c'est-à-dire leur valeur de "difficulté. C'est un nombre réel, pas une affirmation vague. Donc, la valeur du sacrifice d'un cadavre est, très simplement, le nombre de difficulté du monstre plus 1.

Voir le wiki pour une liste complète des monstres et de leurs difficultés.

Les cadavres partiellement mangés, comme vous pouvez également le voir dans le code ci-dessus, verront leur valeur diminuée en fonction de la quantité qu'ils ont été mangés. (TDT pense vraiment à tout...)

Outre cela, il existe quelques autres cas spéciaux :

    } else if (otmp->oxlth && otmp->oattached == OATTACHED_MONST
            && ((mtmp = get_mtraits(otmp, FALSE)) != (struct monst *)0)
            && mtmp->mtame) {
        /* mtmp est un pointeur temporaire vers les attributs d'un monstre apprivoisé,
         * pas un vrai monstre */
        pline("Alors, c'est ainsi que vous récompensez la loyauté ?");
        adjalign(-3);
        value = -1;
        HAggravate_monster |= FROMOUTSIDE;

Sacrifier un ancien animal domestique définit automatiquement la valeur à -1 (ce qui met en colère votre dieu, entraînant toutes sortes de choses désagréables), vous inflige une pénalité de -3 au registre d'alignement et vous donne l'intrinsèque aggraver le monstre en prime. Ne faites pas ça.

    } else if (is_undead(ptr)) { /* Pas de démons - pas de corps de démon */
        if (u.ualign.type != A_CHAOTIC)
        value += 1;

Sacrifier un mort-vivant (les seuls qui peuvent être sacrifiés sont les spectres car seuls ils peuvent laisser des cadavres non vieillis) en tant que loyal ou neutre vous donnera un petit bonus.

    } else if (is_unicorn(ptr)) {
        int unicalign = sgn(ptr->maligntyp);

        /* Si identique à l'autel, toujours une action très mauvaise. */
        if (unicalign == altaralign) {
        pline("Une telle action est une insulte à %s !",
              (unicalign == A_CHAOTIC)
              ? "chaos" : unicalign ? "la loi" : "l'équilibre");
        (void) adjattrib(A_WIS, -1, TRUE);
        value = -5;
        } else if (u.ualign.type == altaralign) {
        /* Si différent de l'autel, et l'autel est identique au vôtre, */
        /* c'est une action très bonne */
        if (u.ualign.record < ALIGNLIM)
            You_feel("appropriément %s.", align_str(u.ualign.type));
        else You_feel("vous êtes parfaitement dans la bonne voie.");
        adjalign(5);
        value += 3;
        } else
        /* Si vous sacrifiez une licorne de votre alignement à un autel qui n'est pas de */
        /* votre alignement, votre dieu se fâche et c'est une conversion */
        if (unicalign == u.ualign.type) {
            u.ualign.record = -1;
            value = 1;
        } else value += 3;
    }

Sacrifier des licornes entraîne soit des effets vraiment très mauvais si vous ne savez pas ce que vous faites, soit de bons effets si vous le faites correctement. En règle générale, sacrifier une licorne avec un alignement opposé sur un autel de même alignement est toujours bon.

    if (otmp->otyp == FAKE_AMULET_OF_YENDOR) {
        if (flags.soundok)
        You_hear("un coup de tonnerre à proximité.");
        if (!otmp->known) {
        You("vous rendez compte que vous avez fait une %s.",
            Hallucination ? "erreur" : "boulette");
        otmp->known = TRUE;
        change_luck(-1);
        return 1;
        } else {
        /* N'essayez pas de tromper les dieux */
        change_luck(-3);
        adjalign(-1);
        u.ugangr += 3;
        value = -3;
        }
    } /* faux Amulette */

Enfin, tenter de sacrifier une fausse amulette d'Yendor connue est une Mauvaise Idée™.


Quant à la stratégie, c'est très subjectif, bien sûr. Personnellement, si je peux sacrifier un cadavre, je le fais toujours, au lieu de le manger. Cela est simplement dû au fait que sacrifier des éléments réduit votre temps d'attente avant la prière, et une seule prière vaut bien plus que quelques cadavres (je n'en mange jamais jusqu'à ce que je sois Faible en début de jeu de toute façon).

Une fois que vous avez atteint la fin du jeu, sauf si vous avez un objectif spécifique en tête (prier à plusieurs reprises pour les divers bienfaits, obtenir un artefact spécifique, etc.), sacrifier devient beaucoup moins utile (AMHA).

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X