Page 1 sur 1

[SPL] Je n'arrive pas à supprimer les effets du hiatus de Rupture hasardeuse de Nahal

Posté : mar. 02 sept. 2008, 01:32
par Grexor
Bonjour à tous!

Après avoir testé l'entropiste, j'ai voulu reproduire le sort "rupture hasardeuse de nahal" en supprimant les effets du hiatus (c'est à dire faire un sort level 1 capable de lancer n'importe quel autre sort figurant dans le livre, tout niveaux confondus). J'ai donc à ma disposition Near Infinity et Shadow Keeper.

Je fais donc une copie du sort SPWI124 (rupture) qui se place directement dans le dossier override. J'ajoute la version copiée du sort (sans l'avoir retouchée) sur un mage via Shadow Keeper, et je le mémorise en jeu. Le problème est que lorsque je le lance, il ne disparaît pas de la liste des sorts mémorisés : que j'en mémorise 1 ou 5, je peux les lancer en boucle sans que cela soit décompté. J'ai beau chercher dans tous les sens, je sèche complètement.

Le sort est ajouté au format .spl dans le dossier override (je ne sais pas si cela peut jouer sur le problème), et que cela soit une simple copie, ou une copie modifiée, rien ne change.

Dans la foulée, est-ce qu'il est possible de limiter les sorts accessibles par l'effet "Select Spell (214)" ? Par défaut il affiche tout ce qui est présent dans le grimoire, est-il possible de le limiter à une école en particulier ou mieux, à des sorts précis?

Re : [BGT] Soucis avec la modification d'un sort

Posté : mar. 02 sept. 2008, 19:49
par Isaya
Je récapitule pour voir si j'ai bien compris. Tu as fait une copie, à l'identique ou modifiée du sort de Rupture, sans changer le nom du sort, SPWI124.SPL. Puis tu l'as fait mémoriser par un mage non entropiste. Et tu as un problème parce que le mage ne perd pas le sort après l'avoir lancé.

Je te propose la chose suivante : efface le sort SPWI124 du répertoire Override. Mets-le en mémoire de ton mage non entropiste. Refais l'essai. Si tu obtiens le même résultat, félicitations ! Tu as trouvé un comportement "en dur" du jeu lié au sort SPWI124.

Après une petite vérification, je pense avoir trouvé une explication au moins partielle. Si tu observes le sort, tu verras que son effet a pour "target type" une valeur particulière décrite comme "Caster (keep spell, no anim)". Il y a donc fort à parier que si tu mettais une valeur plus classique, "Caster", la conservation du sort en mémoire disparaîtrait.

Pour répondre à ton autre question, je me contenterai de citer la "bible", IESDP :
#214 (0x0D6) Spell Effect: Select Spell [214]
Parameter #1: Irrelevant
Parameter #2: Type
Description:
Uses the 2da specified by the resource key to display multiple spell options, based on the 'Type' field.

Known values for 'Type' are:
1 Show only known spells

NB: To make your own 2DA file for, use the SPWI510.2DA as a base.
En résumé et en français, regarde comment le jeu s'y prend dans le sort SPWI510 pour indiquer un fichier 2DA contenant une liste qui sera celle proposée. Consulte également la description du fichier SPWIxxx.2DA dans IESDP pour savoir comment est constitué ce fichier. Concrètement, l'absence de fichier 2DA pour le sort de Rupture permet justement d'avoir la liste complète des sorts.

Bonne continuation.

Re : [BGT] Soucis avec la modification d'un sort

Posté : mer. 03 sept. 2008, 00:58
par Grexor
Salut et merci pour avoir aiguillé mes recherches !

Ta récapitulation est presque bonne : Lorsque je copie SPWI124 (qui correspond à la rupture hasardeuse de Nahal), je lui donne un nouveau nom (quel qu’il soit, j’en ai essayé plusieurs).

J’ajoute également que si je supprime la copie du sort du dossier override, je ne peux pas faire le test que tu préconise puisque le sort n’existe plus dans le jeu (impossible de l’ajouter à un perso, et encore moins de le mémoriser).

J’ai fait une comparaison entre "Caster (keep spell, no anim)" et "Caster", je n’ai vu que deux différences. La première est que cela résolve le problème des sorts en mémoire, et ça c’est bien. La deuxième me convient déjà moins: La première partie du sort (celle où l’on choisi le sort que l’on veut lancer) n’est plus instantané (le perso incante comme si c’était un sort normal), et le sort est soumis aux restrictions d’un lancé par round, je ne peux plus le relancer immédiatement à la suite d’un autre comme avec le paramètre "Caster (keep spell, no anim)".

Etant donné que je ne fais qu’une copie bête et méchante de la Rupture de nahal, je ne comprends pas pourquoi lorsque le sort original est lancé, il s’efface des sorts mémorisés, alors que la copie du sort ne le fait pas : j’insiste sur le fait que cela se produit même si la copie est strictement identique (donc qu’aucun des paramètres n’est changé, sauf le nom). Formulé différemment, la rupture de nahal possède à l’origine le paramètre "Caster (keep spell, no anim)", pourtant il s’enlève sans problème des sorts mémorisés même si le mage qui l’a appris n’est pas entropiste. Ma question est donc la suivante : Mais pourquoiiiiiiii ?

Merci pour les informations que tu m’as données, elles me permettent déjà de créer une première version fonctionnelle du sort qui s’intègrera peut-être un jour dans un kit de mage basé sur cette idée, mais pour parfaire cela il me faut d’abord régler le problème cité précédemment :)

Re : [BGT] Soucis avec la modification d'un sort

Posté : mer. 03 sept. 2008, 20:31
par Isaya
Manifestement, on ne n'est pas bien compris. Tu n'avais pas dit que tu changeais le nom du fichier quand tu faisais une copie dans le répertoire Override. Et comme à la base, il ne s'y trouve pas, je croyais que ta "copie non modifiée" était simplement le fait de mettre le sort dans le répertoire Override sans changer le nom de fichier. Enfin, passons à la suite...

Je te proposais de ne pas faire de copie du sort de Rupture mais d'attibuer le sort SPWI124 à ton mage non entropiste et de faire l'essai. Et ça, tu peux forcément le faire, puisque le sort SPWI124 existe.

Si j'ai bien compris, mais hélas tu n'as ni confirmé ni infirmé mon hypothèse, tu veux attribuer ce sort (ou sa copie, peu importe) à un mage non entropiste. Et ça, ça peut faire une énorme différence !!!

Le mage entropiste est un mage bien à part. Les différents types de mage sont plus ou moins codés en dur dans le jeu, ce qui rend impossible la création de variations sur les mages. La seule possibilité apparemment vérifiée par certains moddeurs est d'écraser un type de mage existant par sa propre création. A mon avis, tu seras confronté à ce choix si tu veux faire un mage un peu différent. Tu peux d'ores et déjà oublier ton idée de kit de mage. Si tu consultes le tutorial sur la création de kit, tu devrais y trouver cette restriction du moteur.

Qui dit différent et plus ou moins codé en dur, dit cas particulier. Autrement dit, je ne serais pas le moins du monde étonné que le type "Caster (keep spell, no anim)" soit utilisé uniquement avec les sorts spécifique du mage entropiste. En tout cas, même si ce n'est pas le cas, le moteur de jeu peut très appliquer un mode de gestion complètement différent pour ce type de cast selon le type de mage qui lance le sort.

Pour vérifier, c'est simple. Fais ton sort puis essaie le avec un mage "normal" et un mage entropiste. Et vois les différences.

Pour ce qui est de l'application du délai d'incantation ou du délai d'un round entre les sorts, tu ne devrais pas te plaindre car le comportement normal. Tout autre comportement est gros-bill. Je n'ai pas d'expérience de l'entropiste mais je serais très surpris qu'il bénéficie d'un tel avantage sur les autres mages.

Re : [BGT] Soucis avec la modification d'un sort

Posté : jeu. 04 sept. 2008, 00:35
par Grexor
Isaya a écrit :Manifestement, on ne n'est pas bien compris. Tu n'avais pas dit que tu changeais le nom du fichier quand tu faisais une copie dans le répertoire Override. Et comme à la base, il ne s'y trouve pas, je croyais que ta "copie non modifiée" était simplement le fait de mettre le sort dans le répertoire Override sans changer le nom de fichier. Enfin, passons à la suite...
Je n’avais pas précisé que je changeais le nom, car lorsque l’on fait une copie de quelque chose dans NearInfinity, il faut d’office attribuer un nouveau nom (et le fichier se place tout seul dans « override »). Je pensais que c’était un standard et que tout ceux pouvant répondre à ma question le savaient déjà :p
Isaya a écrit :Je te proposais de ne pas faire de copie du sort de Rupture mais d'attibuer le sort SPWI124 à ton mage non entropiste et de faire l'essai. Et ça, tu peux forcément le faire, puisque le sort SPWI124 existe.
En effet, je peux sans problème attribuer la Rupture de Nahal originale à un mage qui n’est pas entropiste via shadow keeper, et le sort fonctionne parfaitement bien (comme sur un mage entropiste). J’en profite donc pour prendre un peu d’avance et répondre ici à la phrase suivante : Cela ne fait aucune différence. Le hiatus fonctionne, que le mage soit un entropiste ou non. J’imagine que le seul changement théorique à envisager, est que le mage classique n’a pas de base les mêmes protections que l’entropiste (à savoir les 2 boucliers, mais puisqu’on en est à ajouter des sorts avec shadow keeper.. ce n’est pas génant).
Isaya a écrit :Si j'ai bien compris, mais hélas tu n'as ni confirmé ni infirmé mon hypothèse, tu veux attribuer ce sort (ou sa copie, peu importe) à un mage non entropiste. Et ça, ça peut faire une énorme différence !!!
J’infirme partiellement ton hypothèse (Pour faire simple :D ). Avant de poursuivre, je dois t’expliquer mon idée, car si je ne le fais pas tu auras du mal à comprendre mon choix (que dis-je, mon inutile blocage) sur la rupture de nahal. Les kits que j’imagine sont des versions améliorées de chaque mages spécialisés, à l’instard des talents de spécialisation supérieure dans D&D3. Le principe est qu’un mage spécialisé, n’ayant aucune connaissance des sorts de son école d’opposition (pusiqu’il n’a jamais pu les lancer, et donc les étudier) obtient des pénalités à ses jets de sauvegarde pour y résister. En contrepartie, il peut lancer quelques fois par jour et en fonction de son niveau, les sorts de son école sans les avoir mémorisé. Cela se traduit par une capacité innée ouvrant une liste de sort par école, en fonction de la spécialisation du mage. Reprennons maintenant notre discusssion ! J’ai copié le sort de la rupture car je me suis apperçu qu’il proposait une fonction « select spell » permettant de choisir tous les sorts du livre. Par une malheureuse connexion des synaps, je me suis persuadé (jusqu’à ta première intervention) qu’il me serait bien plus facile de modifier le sort « Rupture de Nahal » (possédant tous les sorts mémorisable dans son Spell Select) pour classifier les sorts par école, plutôt que de me servir d’ « immunité contre les sorts » (SPWI510) dont le Spell Select n’ouvre que sur quelques sorts qui ne sont pas mémorisables. Il est utile de préciser que jusqu’à ce que tu apportes à ma connaissance le site IESDP, je n’avais aucune documentation sur quoi que ce soit. Tout ce que je connaissais du jeu et de son contenu ne venait que d’une observation personnelle et intensive. Etant de ceux qui aiment se compliquer royalement la vie, je n’ai pas non plus fait l’usage de tutorial (je trouve que lorsque l’on apporte de la connaissance sans qu’il y ait de longues recherches personnelles ni de longues réflexions pour comprendre comment ça marche, cela bride l’imagination).
Isaya a écrit :Le mage entropiste est un mage bien à part. Les différents types de mage sont plus ou moins codés en dur dans le jeu, ce qui rend impossible la création de variations sur les mages. La seule possibilité apparemment vérifiée par certains moddeurs est d'écraser un type de mage existant par sa propre création. A mon avis, tu seras confronté à ce choix si tu veux faire un mage un peu différent. Tu peux d'ores et déjà oublier ton idée de kit de mage. Si tu consultes le tutorial sur la création de kit, tu devrais y trouver cette restriction du moteur.
C’est bon à savoir ! Par un heureux hasard, je ne souhaite que faire des modifications sur les mages spécialisés déjà existant, j’imagine que de fait, cela sera bien moins difficile. Pour les raisons expliquées juste au dessus, je ne lirais le tuto sur la création de kit que si je n’arrive vraiment pas à faire quoi que ce soit. Mais il est rassurant de savoir qu’il existe et que je pourrais me tourner vers lui en cas de doutes !
Isaya a écrit :Qui dit différent et plus ou moins codé en dur, dit cas particulier. Autrement dit, je ne serais pas le moins du monde étonné que le type "Caster (keep spell, no anim)" soit utilisé uniquement avec les sorts spécifique du mage entropiste. En tout cas, même si ce n'est pas le cas, le moteur de jeu peut très appliquer un mode de gestion complètement différent pour ce type de cast selon le type de mage qui lance le sort.
J’y ai aussi pensé. Mais les tests que j’ai effecués avec un mage non-entropiste lançant le sort « Rupture de Nahal » et par conséquent le type « Caster (keep spell, no anim) », prouvent qu’il n’y a aucune différence en fonction du lanceur. Le problème vient bien de la copie du sort en lui-même, puisque même si la copie est lancée par un entropiste (avec tous les effets mystiques qu’un codage en dur peut impliquer), le sort reste fermement en mémoire. Cela continue de me triturer les méninges alors même que j’ai contourné le problème via une modification de SPWI510 et du .2DA qui lui est associé. Un codage en dur sur le sort en lui-même ? J’ai du mal à voir l’intérêt :-/
Isaya a écrit :Pour vérifier, c'est simple. Fais ton sort puis essaie le avec un mage "normal" et un mage entropiste. Et vois les différences.
Comme dit juste au dessus, j’ai aussi effectué ce test. Et quel que soit le mage utilisé, le sort ne disparaissait pas des sorts mémorisés.
Isaya a écrit :Pour ce qui est de l'application du délai d'incantation ou du délai d'un round entre les sorts, tu ne devrais pas te plaindre car le comportement normal. Tout autre comportement est gros-bill. Je n'ai pas d'expérience de l'entropiste mais je serais très surpris qu'il bénéficie d'un tel avantage sur les autres mages.
Là aussi nous nous sommes mal compris, mais comme je ne l’ai pas expliqué dans mes précédents messages, ce n’est pas étonnant. Je me lance dans l’explication détaillée :
Non, l’entropiste ne bénéficie pas d’un tel avantage sur les autres mages. Je faisais référence à une particularité de la variable « Caster (keep spell, no anim) » que possède le sort « Rupture hasardeuse de Nahal ». Le sort se décompose en plusieurs étapes que voici :
1) Click sur l’icône de « Rupture »
2) Le mage incante le sort « Rupture » en instantané grâce à « Caster (keep spell, no anim) »
3) « Rupture » fait effet et la liste des sorts apparait
4) Click sur l’icône d’un sort qui nous intéresse
5) Le mage incante le sort en question sans aucune différence avec le sort classique
6) Les effets du sorts sont appliqués et on doit attendre un round avant de pouvoir relancer un sort, sauf dans le cas d’ une nouvelle « Rupture de Nahal » puisque l’étape n°2 de ce sort n’est pas soumise aux restrictions classiques grâce à « Caster (keep spell, no anim) »
C’est cela plus que tout autre chose qui motive mon envie d’utiliser SPWI124 à la place de SPWI510. Imagine le cas suivant : Un combat faire rage et le mage lance flèche enflammée par exemple. L’ennemi sur qui il a tiré s’avance vers lui avec une hâte. Pour se débarrasser du géneur, le mage lance « rupture » (ou un équivalent modifié sans hiatus) pour le bloquer avec une convocation de monstre . L’étape n°2 de la « rupture » casse le délai d’attente obligatoire d’un round imposé par le lancé de « flèche enflammée », ce qui permet de bénéficier d’un « mini enchainement » gratuit. Le temps d’incantation d’une convocation de monstre est relativement longue, or l'ennemi est hâté. Se rendant compte de son erreur, le mage décide d’annuler l’incantation de sa convocation pour quelque chose de plus rapide : mot de pouvoir étourdissant. Seulement, la restriction d’un sort par round s’applique dès que l’on commence une incantation même si elle n’arrive pas à terme. Et c’est dans ce genre de cas de figure que « Caster (keep spell, no anim) » me serait très utile puisqu’il fait fi de cette restriction.

Re : [BGT] Soucis avec la modification d'un sort

Posté : jeu. 04 sept. 2008, 20:43
par Isaya
On s'est encore mal compris avec ma suggestion d'essayer le sort SPWI124 sur un mage non entropiste. :whistle3: Je ne voulais que tu vérifies la présence du hiatus mais plutôt l'effet de conservation du sort ou l'impression d'enchainement sans pause. Mais tes autres indications semblent aller dans le sens d'un fonctionnement à l'identique dans ce cas. Je n'avais effectivement pas du tout percuté sur l'histoire de la copie sous un nouveau nom. On a beau utiliser pas mal Near Infinity, il y a quantité de choses qu'on est susceptible de ne pas connaître tant le programme a d'usages. :tongue:

En tout cas tes intentions sont très claires désormais. Et mes remarques sur la création de kit de mage caduques puisque tu ne souhaites que modifier les spécialités existantes. Ça ne signifie pas que ce sera facile mais cela semble bien plus réalisable. Je pense des visites de sites anglo-saxons orientés sur les techniques du moteur de jeu ou la lecture de certains des tutoriels que tu sembles tant redouter :tongue: pourraient t'être d'une grande aide pour identifier la façon de s'y prendre pour ajouter des capacités aux mages spécialistes. Pour ma part, je n'en ai aucune idée.

Malgré ta peur de perdre ton imagination avec les tutoriels, je t'invite à consulter le tutoriel sur la création de kit dont je parlais. La première partie traite des limitations du moteur de jeu et c'est toujours bon à connaître pour éviter de se demander pourquoi ça ne fonctionne pas.

Les trucs "en dur" dans le jeu ne manquent pas. Le seul "intérêt" est que c'est plus facile à programmer. Sinon il faudrait recourir à beaucoup plus de fichiers de configuration (2DA ou IDS) qui ont également leur contingent de choses en dur (la signification des colonnes, des valeurs, ...). Si c'est une limite pour le créateur de mod, cette "simplification" a aussi permis aux "hackers" d'identifier plus facilement à quoi servait chaque fichier et a surtout permis à l'éditeur de sortir le jeu en moins d'une éternité.

Les sorts ne sont pas nécessairement exclus de ce codage en dur. Les sorts de séquenceur ou de contingence nécessitent forcément des traitements particuliers. Tes observations sur le sort SPWI124 (ce nom précis) semblent montrer qu'un traitement "en dur" n'est pas à exclure. Je ne serai pas surpris que ce sort soit le seul à utiliser le casting type 7. Ce qui rendrait l'hypothèse d'un lien en dur entre ce type et le sort encore plus crédible.

Pour revenir au sujet principal, je t'invite à nouveau à jeter un coup d'oeil à la "bible" IESDP. Notre forum sur les outils la référence ainsi que des communautés anglo-saxonnes qui proposent la plupart des tutoriels. La description des fichiers SPL diffère légèrement de celle de Near Infinity. Souvent il est bon de consulter les deux car les informations se sont longtemps complétées. Maintenant que Near Infinity n'évolue plus, il est peut-être un peu moins précis qu'IESDP. Donc le type de cible du sort est décrit plutôt comme "7 = None (Self, ignores game pause)", ce qui prend un sens un peu différent. Rien n'est dit à propos de la conservation du sort mais la notion d'ignorer la pause peut expliquer l'impression que le sort a un temps d'incantation nul. Si on s'en tient à la valeur casting time, elle serait de 3 et non de 0. Mais le fait que le jeu présente la liste de sorts et bloque ainsi le déroulement fausse peut-être la perception. Dans l'essai que j'ai effectué avec un entropiste apprenant normalement le sort existant, j'ai quand même bien l'impression qu'il s'écoule un peu de temps d'incantation.

Comme tu le soulignes, tu aurais peut-être intérêt à t'intéresser à un autre sort offrant un choix de sorts plutôt qu'à la Rupture. Le sort 510 est tout de même un bon exemple : le fait qu'il ne montre que des sorts particuliers tient à ses options de ne pas montrer toute la liste de sorts mémorisées et de proposer une liste à partir d'un fichier 2DA. Le site IESDP donne un autre exemple de fichier 2DA basé sur Arme enchantée (SPWI417). Pour ton sort offrant de lancer un des sorts de la bonne école, ce serait un bon exemple. On pourrait penser qu'avec la puissance de l'effet 214, tu puisses limiter le niveau. Et le "type" que tu peux préciser pour l'effet te permet de restreindre aux sorts présents dans le livre de sorts, tout en laissant la possibilité de proposer une liste via un fichier 2DA.

Re : [BGT] Soucis avec la modification d'un sort

Posté : ven. 05 sept. 2008, 21:49
par Grexor
Il semble donc que le sujet arrive à son terme, seul le temps et la patience pourrons me faire réaliser ces kits d'améliorations ! Je te remercie beaucoup pour l'aide précieuse que tu m'as apporté, peut-être à bientôt pour un nouveau problème :D

Re: [SPL] Je n'arrive pas à supprimer les effets du hiatus de Rupture hasardeuse de Nahal

Posté : sam. 20 mai 2023, 13:09
par N3ige
Dommage de ne pas avoir eu le fin mot de l'histoire. J'ai les mêmes problèmes avec un sort.

Pour un sort de capacité (qui augmente la vitesse de déplacement), j'ai dû ajouter une animation afin que le sort se lance et soit décompté.