Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[MOD] Questions diverses pour coder le mod Spell swapper

Regroupe tous les fichiers spl et pro
Répondre
Avatar
Ours noir
Messages : 191
Enregistré le : ven. 26 août 2005, 19:33
Contact :
Statut : Hors ligne

[MOD] Questions diverses pour coder le mod Spell swapper

.

Message par Avatar »

Bonjour à tous.

Tout le monde connait la différence entre les mages et les sorciers. Alors qu'un mage va enrichir son livre de sorts à partir des nombreux parchemins trouvés en cours de partie, le sorcier quant à lui acquiert spontanément de nouveaux sorts à chaque montée de niveau. Le mécanisme d'apprentissage du sorcier fait sens par rapport au background de cette classe (héritage particulier, magie instinctive), mais me semble trop strict. En effet, chaque nouveau sort doit être choisi avec beaucoup de soin, ces choix étant irréversibles et le nombre de sorts par niveau limité. Ce mécanisme d'apprentissage de sorts à plusieurs conséquences (fâcheuses selon moi :tongue: ):

* Le sorcier est une classe à déconseiller aux joueurs peu expérimentés. Juger de l'utilité d'un sort sur sa description est impossible; il faut l'avoir réellement expérimenté sur le champ de bataille.
* Le sorcier qui souhaite être bien optimisé en fin de partie doit, dès les premiers nivaux, choisir ses sorts en prévision des ennemis qu'il affrontera 10 niveaux plus tard. De ce fait, des sorts qui sont efficaces à faible niveau (ex: Sommeil, Vapeurs Colorées) doivent laisser leur place à d'autres qui seront également utiles à haut niveau (ex: Orbe Chromatique, Projectile Magique). In fine, certains sorts tout à fait valables ne sont jamais utilisés.

Je me suis dit: pourquoi ne pas donner aux sorciers la possibilité d'échanger un des sorts de leur livre contre un autre sort de même niveau? Après tout, cela ne me semble pas un trop gros avantage pour eux: ils sont toujours limités au même nombre de sorts connus par niveau. Par contre, désormais, un sorcier peut se permettre d'expérimenter, de choisir ses sorts selon l'inspiration du moment, quitte à les changer si un sort se révèle moins intéressant que prévu ou inutile 5 niveaux plus tard.

J'ai donc créé un mod qui rajoute un nouveau PNJ à Athkatla, nommé Scapin. Celui-ci offre aux sorciers (Charname ou un autre membre du groupe) la possibilité d'échanger un sort connu contre un autre sort de même niveau.

L'aspect technique du mod fonctionne (plus ou moins) comme je le souhaite. Il me reste quelques questions d'ordre technique et gameplay, que j'adresse donc aux experts qui fréquentent ces lieux.

I. Questions techniques

1/ Le processus d'échange des sorts nécessite de connaitre le contenu du livre de sorts du personnage. Je n'ai pas trouvé de triggers permettant de vérifier la présence d'un sort dans le livre de sorts. J'utilise donc HaveSpell, qui vérifie si le personnage peut lancer le sort spécifié (= le sort est mémorisé). Le trigger HaveSpell fonctionne parfaitement, mais m'oblige à faire récupérer tout ses sorts au personnage avant l'échange. Est-ce qu'un moyen de vérifier directement les sorts connus (et non mémorisés) existe?

2/ Le trigger HaveSpell ne fonctionne que si c'est le sorcier qui sollicite l'échange qui l'exécute. J'ai bricolé un script ZVSPCK.baf que j'assigne temporairement comme "default script" au sorcier. Lorsque l'échange de sorts est terminé, je réapplique le script DPLAYER2 au sorcier, le "default script" habituel des membres du groupe de Charname. Est-ce que cette manipulation est orthodoxe, ou bien est-ce qu'elle pourrait créer des problèmes?

II. Questions gameplay

1/ Scapin, le PNJ qui propose l'échange de sort, est un chercheur et un sorcier lui-même. Il est l'inventeur de la fameuse technique qui permet ce fameux échange de sorts. Les chercheurs ne vivant pas d'amour et d'eau fraiche (malheureusement pour moi :tongue: ), il fera payer ses prestations. J'envisage un prix de (1000 ou 2000)*le niveau du sort en or + un parchemin du nouveau sort à apprendre. Qu'en pensez-vous?

2/ Pour ceux qui connaissent D&D version pen and paper (2ème ou 3ème édition): existe-t-il une technique "officielle" qui permette à un sorcier de modifier son livre de sort? Un sort, ou bien un rituel spécial qui existerait dans la littérature?

4/ Seriez-vous intéressé par un mod ce type pour vos parties? :)


Voilà, ce sont toutes les questions auxquelles je pense pour le moment.

D'avance merci à ceux qui auront la patience de lire mon "mur de texte".


Edit: au passage, si quelqu'un saurait où je peux trouver une liste des noms français de tous les sorts de mage de BG2, cela m'intéresse beaucoup. Bonus si les noms sont rangés dans le même ordre que sur l'IESDP :) (voir http://iesdp.gibberlings3.net/appendice ... spells.htm)
Arpenteur de l'espace B
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

L'idée est intéressante, en tout cas.
Avatar a écrit :1/ Le processus d'échange des sorts nécessite de connaitre le contenu du livre de sorts du personnage. Je n'ai pas trouvé de triggers permettant de vérifier la présence d'un sort dans le livre de sorts. J'utilise donc HaveSpell, qui vérifie si le personnage peut lancer le sort spécifié (= le sort est mémorisé). Le trigger HaveSpell fonctionne parfaitement, mais m'oblige à faire récupérer tout ses sorts au personnage avant l'échange. Est-ce qu'un moyen de vérifier directement les sorts connus (et non mémorisés) existe?
Je n'ai pas vu de trigger qui corresponde à ce que tu cherches. Ou alors les auteurs d'IESDP ont réussi à le décrire sans utiliser le mot spell.

Les scripts sont très orientés combat et il n'y a aucun intérêt à se préoccuper de sorts que le mage aurait pu apprendre mais n'a pas appris. Donc l'absence de trigger n'est pas forcément surprenante.

Certains préfèrent utiliser HaveSpellRes(), spécifique à ToB, mais moins contraignant car il fonctionne aussi avec les sorts qui ne sont pas identifiés dans SPELL.IDS. A part pour ceux qui créent des sorts qui ne respectent pas les 4 préfixes standard, ça ne doit pas changer grand chose. Et c'est toujours sur les sorts mémorisés.

Les grands joueurs de mods pourront peut-être t'aiguiller vers d'autres mods qui sauraient manipuler les sorts connus. J'ignore si c'est possible.

Avatar a écrit :2/ Le trigger HaveSpell ne fonctionne que si c'est le sorcier qui sollicite l'échange qui l'exécute. J'ai bricolé un script ZVSPCK.baf que j'assigne temporairement comme "default script" au sorcier. Lorsque l'échange de sorts est terminé, je réapplique le script DPLAYER2 au sorcier, le "default script" habituel des membres du groupe de Charname. Est-ce que cette manipulation est orthodoxe, ou bien est-ce qu'elle pourrait créer des problèmes?
Là, je pense qu'il y a un problème. Selon qu'il s'agit du personnage créé par le joueur ou d'un PNJ, le jeu affecte DPLAYER3 ou DPLAYER2. Donc si tu forces DPLAYER2, cela risque de poser un problème pour le personnage principal, par exemple. Il pourrait décider de quitter le groupe si la réputation ne lui convient pas. ;)

Pour ce qui est de l'orthodoxie, peux-tu préciser de quelle façon et à quel moment tu changes le script ? Pendant un dialogue avec le vendeur ?

Avatar a écrit :1/ Scapin, le PNJ qui propose l'échange de sort, est un chercheur et un sorcier lui-même. Il est l'inventeur de la fameuse technique qui permet ce fameux échange de sorts. Les chercheurs ne vivant pas d'amour et d'eau fraiche (malheureusement pour moi :tongue: ), il fera payer ses prestations. J'envisage un prix de (1000 ou 2000)*le niveau du sort en or + un parchemin du nouveau sort à apprendre. Qu'en pensez-vous?
Effectivement ce prix incitera le joueur à réfléchir.
Avatar a écrit :Edit: au passage, si quelqu'un saurait où je peux trouver une liste des noms français de tous les sorts de mage de BG2, cela m'intéresse beaucoup. Bonus si les noms sont rangés dans le même ordre que sur l'IESDP :) (voir http://iesdp.gibberlings3.net/appendice ... spells.htm)
J'ai peur que ça n'existe pas. Mais tu peux facilement (au sens de pas compliqué, mais pénible ;) ) te constituer cette liste toi-même. Il suffit d'ouvrir un par un les sorts de la liste avec Near Infinity (ou Infinity Explorer, ou DLTCEP) et de recopier le nom en français.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar
Ours noir
Messages : 191
Enregistré le : ven. 26 août 2005, 19:33
Contact :
Statut : Hors ligne
.

Message par Avatar »

Merci beaucoup pour la réponse.

Isaya a écrit : Certains préfèrent utiliser HaveSpellRes(), spécifique à ToB, mais moins contraignant car il fonctionne aussi avec les sorts qui ne sont pas identifiés dans SPELL.IDS. A part pour ceux qui créent des sorts qui ne respectent pas les 4 préfixes standard, ça ne doit pas changer grand chose. Et c'est toujours sur les sorts mémorisés.
En fait, j'utilise justement HaveSpellRES et pas HaveSpell. J'ai choisi la version RES d'un point de vue purement pratique: elle permet d'encoder un sort par son identifiant numérique (ex: "SPWI112") à la place de son nom dans SPELL.IDS ("WIZARD_MAGIC_MISSILE"). Comme j'ai généré une liste des sorts triés par identifiant, ça m'arrange mieux comme ça.

D'après mes tests, le mod fonctionne comme il devrait en utilisant HaveSpellRES. Heureusement, je ne m'intéresse qu'aux sorciers pour qui (sorts mémorisés) = (sorts connus) après un repos. Je dois donc juste simuler un repos (via "SPWISH16", l'effet "repos" du sort de souhait) avant d'établir la liste des sorts mémorisés pour connaitre le contenu du livre de sorts.
Isaya a écrit : Là, je pense qu'il y a un problème. Selon qu'il s'agit du personnage créé par le joueur ou d'un PNJ, le jeu affecte DPLAYER3 ou DPLAYER2. Donc si tu forces DPLAYER2, cela risque de poser un problème pour le personnage principal, par exemple. Il pourrait décider de quitter le groupe si la réputation ne lui convient pas. ;)

Pour ce qui est de l'orthodoxie, peux-tu préciser de quelle façon et à quel moment tu changes le script ? Pendant un dialogue avec le vendeur ?
Le processus d'échange de sorts fait intervenir 3 fichiers:

ZVSCAPIN.d : le fichier de dialogue de Scapin.
ZVSCAPIN.baf : le script override de Scapin.
ZVSPCK.baf : le default script temporaire assigné au personnage.

Le processus se déroule comme suit:

1. Dialogue avec Scapin. Si le personnage sorcier est intéressé par un échange, une variable est mise à jour et le dialogue s'interrompt.
2. La variable déclenche l'exécution d'un bloc dans ZVSCAPIN.baf, le script override de Scapin. Ce bloc assigne à l'interlocuteur de Scapin ( LastTalkedToBy(Myself) ) le default script ZVSPCK.baf.
3. ZVSPCK.baf s'exécute (pour autant que l'IA du groupe est activée en fait :gign: ) et teste un par un tous les sorts de mage. Pour chaque sort connu, une variable globale correspondante ZVCanCastxxx est mise à 1.
4. A la fin de l'exécution de ZVSPCK.baf, le script indique qu'il a fini et repasse la main à ZVSCAPIN.baf.
5. ZVSCAPIN.baf réassigne le default script DPLAYER2 au sorcier et redémarre le dialogue pour permettre de choisir les sorts à échanger, sur base des valeurs des variables ZVCanCastxxx.

Il y a peut-être un autre moyen qu'assigner le script ZVSPCK.baf comme default script au sorcier, mais je ne le connais pas. Le problème, c'est que le trigger HaveSpellRES ne fonctionne que sur la créature active, donc il faut que ce soit le sorcier et non Scapin qui l'exécute.

Si le seul problème est que le script à remplacer est parfois DPLAYER2, parfois DPLAYER3, il devrait y avoir moyen de détecter si l'interlocuteur est un PJ ou un PNJ, non? :whistle3:

Isaya a écrit : J'ai peur que ça n'existe pas. Mais tu peux facilement (au sens de pas compliqué, mais pénible ;) ) te constituer cette liste toi-même. Il suffit d'ouvrir un par un les sorts de la liste avec Near Infinity (ou Infinity Explorer, ou DLTCEP) et de recopier le nom en français.
C'est ce que je craignais. J'ai réussi à automatiser au maximum la création de ce mod, en écrivant un programme Java pour générer les lignes de code qui reviennent presque à l'identique pour chaque sort existant. Pour l'instant, la seule partie que je n'ai pas réussi à automatiser, c'est la création des sorts customisés sprxxx.spl qui servent à effacer le sort SPWIxxx du livre. A ce propos, est-il possible de créer un sort via un script (via le .tp2 par ex.)? Tous mes sorts sprxxx.spl n'ont qu'un effet : "#172 (0x0AC) Spell: Remove Spell [172]" avec comme ressource le nom du sort à retirer (SPWIxxx). S'il était possible de générer automatiquement ces sorts via le .tp2, ça me simplifierait bien la vie également.
Arpenteur de l'espace B
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Avatar a écrit :En fait, j'utilise justement HaveSpellRES et pas HaveSpell. J'ai choisi la version RES d'un point de vue purement pratique: elle permet d'encoder un sort par son identifiant numérique (ex: "SPWI112") à la place de son nom dans SPELL.IDS ("WIZARD_MAGIC_MISSILE"). Comme j'ai généré une liste des sorts triés par identifiant, ça m'arrange mieux comme ça.

D'après mes tests, le mod fonctionne comme il devrait en utilisant HaveSpellRES. Heureusement, je ne m'intéresse qu'aux sorciers pour qui (sorts mémorisés) = (sorts connus) après un repos. Je dois donc juste simuler un repos (via "SPWISH16", l'effet "repos" du sort de souhait) avant d'établir la liste des sorts mémorisés pour connaitre le contenu du livre de sorts.
La conséquence est que ton mod ne fonctionnera qu'avec ToB et que le personnage qui rendra la chose possible n'existera qu'à Athkatla. ;)

Il n'est pas difficile d'exploiter SPELL.IDS pour récupérer la correspondance entre SPWIxxx et le nom codé des sorts, pour convertir ta liste triée par identifiant, aussi tu pourrais éventuellement utiliser HaveSpell() si tu voulais préserver la compatibilité avec le jeu sans extension.
Avatar a écrit :Le processus d'échange de sorts fait intervenir 3 fichiers:

ZVSCAPIN.d : le fichier de dialogue de Scapin.
ZVSCAPIN.baf : le script override de Scapin.
ZVSPCK.baf : le default script temporaire assigné au personnage.

Le processus se déroule comme suit:

1. Dialogue avec Scapin. Si le personnage sorcier est intéressé par un échange, une variable est mise à jour et le dialogue s'interrompt.
2. La variable déclenche l'exécution d'un bloc dans ZVSCAPIN.baf, le script override de Scapin. Ce bloc assigne à l'interlocuteur de Scapin ( LastTalkedToBy(Myself) ) le default script ZVSPCK.baf.
3. ZVSPCK.baf s'exécute (pour autant que l'IA du groupe est activée en fait :gign: ) et teste un par un tous les sorts de mage. Pour chaque sort connu, une variable globale correspondante ZVCanCastxxx est mise à 1.
4. A la fin de l'exécution de ZVSPCK.baf, le script indique qu'il a fini et repasse la main à ZVSCAPIN.baf.
5. ZVSCAPIN.baf réassigne le default script DPLAYER2 au sorcier et redémarre le dialogue pour permettre de choisir les sorts à échanger, sur base des valeurs des variables ZVCanCastxxx.

Il y a peut-être un autre moyen qu'assigner le script ZVSPCK.baf comme default script au sorcier, mais je ne le connais pas. Le problème, c'est que le trigger HaveSpellRES ne fonctionne que sur la créature active, donc il faut que ce soit le sorcier et non Scapin qui l'exécute.
Tu dois avoir un moyen d'affecter un autre script que le default, pour éviter la dépendance à l'activation de l'IA.
A première vue (d'après des sauvegardes), le PJ et les PNJs n'utilisent pas de script "General", a priori non bloqué par l'IA, ce pourrait être un choix alternatif intéressant. Et pas de problème (apparemment, mais à vérifier) pour remettre la valeur précédente, puisqu'elle semble vide.
Avatar a écrit :Si le seul problème est que le script à remplacer est parfois DPLAYER2, parfois DPLAYER3, il devrait y avoir moyen de détecter si l'interlocuteur est un PJ ou un PNJ, non? :whistle3:
Je ne sais pas. A priori, IsGabber() semble exclus, car en multijoueur, il ne saura pas distinguer un PNJ d'un second personnage créé.
Avatar a écrit :C'est ce que je craignais. J'ai réussi à automatiser au maximum la création de ce mod, en écrivant un programme Java pour générer les lignes de code qui reviennent presque à l'identique pour chaque sort existant. Pour l'instant, la seule partie que je n'ai pas réussi à automatiser, c'est la création des sorts customisés sprxxx.spl qui servent à effacer le sort SPWIxxx du livre. A ce propos, est-il possible de créer un sort via un script (via le .tp2 par ex.)? Tous mes sorts sprxxx.spl n'ont qu'un effet : "#172 (0x0AC) Spell: Remove Spell [172]" avec comme ressource le nom du sort à retirer (SPWIxxx). S'il était possible de générer automatiquement ces sorts via le .tp2, ça me simplifierait bien la vie également.
Cet aspect-là me semble plutôt simple, mais encore faut-il vérifier que j'ai bien compris ton intention.

Si tu fais un sort qui a un effet, Remove Spell, dont il faut préciser le nom SPWIxxx dans le champ ressource de l'effet, et que c'est la seule différence, alors c'est très simple de n'avoir qu'un seul sort dans ton mod, et de le dupliquer au moment de l'installation en changeant le nom, par exemple ZVRMxxx.SPL (tu sembles utiliser ZV comme préfixe, alors je continue, mais j'espère que tu as bien réservé l'usage de ce préfixe dans le forum de BlackWyrm). Dans le fichier tp2, il suffit de copier le sort de base sous le nom ZVRM101.SPL, en patchant le texte SPWI101 à l'offset qui va bien dans le fichier SPL de base. Offset qui se trouve facilement avec Near Infinity, une fois que tu as créé ton sort témoin avec un Remove Spell paramétré pour un sort particulier.
Avec WeiDU, on peut même envisager d'automatiser cette procédure, sous réserve de constituer un tableau des noms de sorts à traiter. Il faudrait bosser un peu le langage WeiDU, à vrai dire, mais ça semble tout à fait accessible.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar
Ours noir
Messages : 191
Enregistré le : ven. 26 août 2005, 19:33
Contact :
Statut : Hors ligne
.

Message par Avatar »

Isaya a écrit : Tu dois avoir un moyen d'affecter un autre script que le default, pour éviter la dépendance à l'activation de l'IA.
A première vue (d'après des sauvegardes), le PJ et les PNJs n'utilisent pas de script "General", a priori non bloqué par l'IA, ce pourrait être un choix alternatif intéressant. Et pas de problème (apparemment, mais à vérifier) pour remettre la valeur précédente, puisqu'elle semble vide.
J'ai essayé d'utiliser le script General. Apparemment, il est aussi bloqué lorsque l'IA est désactivée. Tant pis, il faudra que je précise dans le readme qu'il faut activer l'AI (au moins pendant la discussion avec Scapin) pour que le mod fonctionne.

Isaya a écrit : Cet aspect-là me semble plutôt simple, mais encore faut-il vérifier que j'ai bien compris ton intention.

Si tu fais un sort qui a un effet, Remove Spell, dont il faut préciser le nom SPWIxxx dans le champ ressource de l'effet, et que c'est la seule différence, alors c'est très simple de n'avoir qu'un seul sort dans ton mod, et de le dupliquer au moment de l'installation en changeant le nom, par exemple ZVRMxxx.SPL (tu sembles utiliser ZV comme préfixe, alors je continue, mais j'espère que tu as bien réservé l'usage de ce préfixe dans le forum de BlackWyrm). Dans le fichier tp2, il suffit de copier le sort de base sous le nom ZVRM101.SPL, en patchant le texte SPWI101 à l'offset qui va bien dans le fichier SPL de base. Offset qui se trouve facilement avec Near Infinity, une fois que tu as créé ton sort témoin avec un Remove Spell paramétré pour un sort particulier.
Avec WeiDU, on peut même envisager d'automatiser cette procédure, sous réserve de constituer un tableau des noms de sorts à traiter. Il faudrait bosser un peu le langage WeiDU, à vrai dire, mais ça semble tout à fait accessible.
Si c'est faisable en WeiDU à partir d'un sort de référence, c'est bon pour moi. Je n'ai pas besoin d'automatiser dans WeiDU, j'automatise l'écriture des centaines de lignes de code via un programme Java :) . Merci beaucoup pour cette réponse, j'essayerai ça dès que j'aurai un peu de temps libre. (Et je viens de demander le préfixe ZV sur BWL).


J'ai trouvé une autre tâche que je n'ai pas pu automatiser: trouver et écrire le fichier de correspondance entre les identifiants des sorts (SPWIxxx) et les parchemins correspondants (SCRLxx.itm). Evidemment, les items ne sont pas dans le même ordre que les sorts dans l'IESDP. Enfin maintenant c'est fait et ça marche. J'ai juste une petite question à ce propos: certains sorts disposent de deux parchemins correspondants, identiques (sauf le prix). Est-ce que tous les parchemins correspondants sont utilisés dans le jeu, ou bien seulement certains?

Le mod est presque achevé je pense. Todo list:
* Bricoler les Remove Spells.
* Ecrire les dialogues.
* Déplacer Scapin, qui campe présentement dans le donjon d'Irenicus, vers un lieu mieux achalandé.
* Quelques tests pour voir si tout marche comme prévu (même si le joueur fait des trucs tordus).
* Encoder le nom des sorts en français.
* Tester/trouver un truc pour rendre le mod 100% compatible avec Spell Revision (qui modifie le nom de certains sorts).
Arpenteur de l'espace B
Avatar du membre
Armand
Adepte de Grondemarteau
Ours des cavernes
Messages : 1141
Enregistré le : lun. 03 déc. 2007, 22:04
Localisation : Dordogne
Statut : Hors ligne
.

Message par Armand »

Je trouve l'idée plutôt sympathique personnellement ayant pour habitude de jouer des sorciers. Pouvoir jouer de manière plus stratégique et moins bourrine serait pas de trop en effet. Toujours dans ce sens as tu réfléchi à la possibilité de réajuster un peu le sorcier ? Je me souviens avoir toujours trouvé un peu too much le fait d'avoir 5 souffle du dragon et 5 arret du temps en memoire...
http://toutlemondesontrolistes.blogspot ... ation.html
Ancien moddeur pour bg2, critique sur la sphère roliste et gamedesigner en herbe
Avatar
Ours noir
Messages : 191
Enregistré le : ven. 26 août 2005, 19:33
Contact :
Statut : Hors ligne
.

Message par Avatar »

Armand a écrit :Je trouve l'idée plutôt sympathique personnellement ayant pour habitude de jouer des sorciers. Pouvoir jouer de manière plus stratégique et moins bourrine serait pas de trop en effet. Toujours dans ce sens as tu réfléchi à la possibilité de réajuster un peu le sorcier ? Je me souviens avoir toujours trouvé un peu too much le fait d'avoir 5 souffle du dragon et 5 arret du temps en memoire...
Merci pour ta réponse.

[Digression]
Je ne sais pas si le sorcier est tellement plus puissant que le mage. Certe il peut lancer plus de sorts par niveaux, mais il les lance à partir d'une liste plus réduite. Par exemple (et pour peu que ma source soit correcte):

Mage (spécialisé) niveau 14 vs Sorcier niveau 14: le mage peut lancer 6/6/6/5/5/3/2 sorts, le sorcier peut en lancer 6/6/6/6/6/5/3. Léger avantage au sorcier donc. Cependant, on peut supposer que le mage connait au moins 7-8 sorts connus/niveau, tandis que le livre de sorts du sorcier est limité à 5/5/5/4/4/2/1 sorts. Autant 4-5 sorts connus par niveau pour les niveaux 1-5 est assez pour avoir sélectionné l'essentiel des sorts les plus intéressants du niveau, autant 2 sorts de niveau 6 et 1 sort de niveau 7 est très limité.

In fine, les deux classes me semblent surtout très complémentaires: une équipe équilibrée appréciera un sorcier pour l'aspect "artillerie lourde" et la capacité de lancer de nombreux exemplaires des sorts les plus puissants du jeu. Un mage sera un peu en retrait en terme de puissance brute, mais néanmoins essentiel pour tous les sorts "situationnels": les sorts qui ne sont pas assez "indispensables" pour être choisis par le sorcier, mais qui peuvent cependant être hautement appréciés dans certaines situations particulières (par ex: Protection contre le feu, Minuscules Météores de Melf, Invisibilité, Sphère Résistante d'Otiluke,...)

Un des problèmes de la magie dans BG, c'est la grande disparité en terme d'utilité entre les sorts. Certains sorts sont très (trop) puissants, d'autres sont beaucoup trop faibles: Infravision, Toucher vampirique, Clairvoyance, Convocation d'élémental,... Même des sorts potentiellement intéressants comme Cri de la Banshee ne sont jamais utilisés, étant en concurrence directe avec des Arrêts du temps et Souffles de Dragon.

Le mod Spell Revision, que j'ai récemment commencé à tester propose un gros rééquilibrage des sorts de mage et de prêtre, dont l'un des objectifs est justement de rendre tous les sorts utiles, en diminuant un peu la puissance des plus bourrins et surtout en boostant/modifiant complètement les sorts les plus faibles. Pour l'instant ce mod me plait beaucoup.
[/Digression]


Je n'ai pas l'intention de toucher à la classe "sorcier" elle-même (en tout cas pas pour ce mod-ci). Cela dit, si tu as des propositions de rééquilibrage du sorcier, je serais intéressé de les entendre. Je m'essayerais bien à la création de kits un de ces quatre :)


Sinon, j'ai réussi à générer le code WeiDU pour générer tous les sorts dont j'ai besoin à partir d'un template, via la macro ADD_SPELL_EFFECT. Je suspecte mon code WeiDU de ne pas être des plus élégants, mais il fonctionne. Le mod est donc complètement opérationnel du point de vue technique.
Arpenteur de l'espace B
Avatar du membre
Salomon Kane
Loup effrayant
Messages : 742
Enregistré le : sam. 12 juil. 2008, 11:28
Statut : Hors ligne
.

Message par Salomon Kane »

Idée : "spell swapper" - (échangeur de sort en VF ?)
Avatar a écrit :pourquoi ne pas donner aux sorciers la possibilité d'échanger un des sorts de leur livre contre un autre sort de même niveau?
-Tout à fait :) , bonne Idée .

/II. Questions gameplay
existe-t-il une technique "officielle" qui permette à un sorcier de modifier son livre de sort? Un sort, ou bien un rituel spécial qui existerait dans la littérature?
Je répondrais par , une régle non-officielle, discutée ici :
Sorcerer, spellbook, scribe scroll (écriture de parchemin)
http://www.enworld.org/forum/d-d-legacy ... croll.html

Pourquoi ne pas doté Scapin d'une compétence spéciale : écriture de parchemin (sribe-scroll) par ex (un peu, comme le roublard à haut niveau dans TOB) ?
il fera payer ses prestations. J'envisage un prix de (1000 ou 2000)*le niveau du sort en or + un parchemin du nouveau sort à apprendre
Voici la règle proposé ici :
"Scribing a scroll takes one day for each 1,000 gp in its base price. The base price of a scroll is its spell level × its caster level × 25 gp. To scribe a scroll, you must spend 1/25 of this base price in XP and use up raw materials costing one-half of this base price."

Et puis d'abord pourquoi la vente ? Pourquoi pas du troc, aussi ? Et le vol alors ? :gign:
Et si y avait des échecs ?
Le fichier joint chick.jpg n’est plus disponible.
4/ Seriez-vous intéressé par un mod ce type pour vos parties?
-OUI :dance4:
quelqu'un saurait où je peux trouver une liste des noms français de tous les sorts de mage de BG2
A défaut d'une nomenclature des sorts en Français :
J'aime bien ce site qui rafraichit bien les idées et rapelle l'ensemble des sorts de la Triologie ...
http://www.balduriens.fr/

P.S:
Le mod Spell Revision,
- Precisement qu'est ce qu'apporte ce Mod ?
Sinon :
-J'aime beaucoup le concept du mod crée par Igi: Spell System Adjustments, qui notament épargne, ou réduit les temps de repos afin de regagner ses sorts ...
ceci au choix du joueur et/ou, par incantation de restauration réussi, ou en fonction du niveau de CHARAC. (à méditer ...)
http://www.teambg.org/forum/index.php/t ... 9.html#new

Bonne Continuation ... :)
Fichiers joints
chick.jpg
chick.jpg (783 Octets) Vu 320 fois
Avatar
Ours noir
Messages : 191
Enregistré le : ven. 26 août 2005, 19:33
Contact :
Statut : Hors ligne
.

Message par Avatar »

Salomon Kane a écrit :Idée : "spell swapper" - (échangeur de sort en VF ?)
Je n'ai pas encore d'idée pour un nom Français. Mais Sorcerer Spell Swapper sonnait bien :)

Salomon Kane a écrit : Je répondrais par , une régle non-officielle, discutée ici :
Sorcerer, spellbook, scribe scroll (écriture de parchemin)
http://www.enworld.org/forum/d-d-legacy ... croll.html

Pourquoi ne pas doté Scapin d'une compétence spéciale : écriture de parchemin (sribe-scroll) par ex (un peu, comme le roublard à haut niveau dans TOB) ?
Heu... Je n'envisage pas vraiment de faire écrire des sorts sur parchemin. Le processus implémenté pour le moment consiste simplement à parler à Scapin avec un sorcier possédant le parchemin d'un nouveau sort qu'il souhaiterait apprendre (par ex. Flèche Acide de Melf). Scapin va alors lui proposer, contre monnaie sonnante et trébuchante, d'échanger un sort déjà connu de même niveau (par ex. Invisibilité) contre le nouveau sort. Si le sorcier accepte, il pourra dès lors lancer Flèche Acide de Melf mais aura perdu la capacité de lancer Invisibilité.


Salomon Kane a écrit : Et si y avait des échecs ? [ATTACH=CONFIG]5343[/ATTACH]
Ca pourrait être marrant, mais je crains de frustrer le joueur plus qu'autre chose :p


Salomon Kane a écrit : A défaut d'une nomenclature des sorts en Français :
J'aime bien ce site qui rafraichit bien les idées et rapelle l'ensemble des sorts de la Triologie ...
http://www.balduriens.fr/
Merci pour le lien. Je vais partir de là pour me faire ma liste en Français.

Salomon Kane a écrit : - Precisement qu'est ce qu'apporte ce Mod ?
Spell Revision est un mod de Demivrgvs, disponible sur Gibberlings 3 (uniquement en anglais malheureusement). Le but de ce mod est de "modifier, ajuster et améliorer les sorts de mages et de prêtres de BG2". Demivrgs souhaite rééquilibrer les sorts, mais aussi les modifier pour les rendre plus intéressants et également réparer des bugs du jeu original. Le mod est encore en développement, mais la v3 (avec son correctif) est déjà très complète. J'ai récemment recommencé une partie de BGT avec ce mod, et je crois qu'il va rejoindre SCS au rang des indispensables. :)
Salomon Kane a écrit : Bonne Continuation ... :)
Merci beaucoup. C'est un petit mod, donc il devrait être achevé dans pas trop longtemps.
Arpenteur de l'espace B
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Armand a écrit :Je trouve l'idée plutôt sympathique personnellement ayant pour habitude de jouer des sorciers. Pouvoir jouer de manière plus stratégique et moins bourrine serait pas de trop en effet. Toujours dans ce sens as tu réfléchi à la possibilité de réajuster un peu le sorcier ? Je me souviens avoir toujours trouvé un peu too much le fait d'avoir 5 souffle du dragon et 5 arret du temps en memoire...
A mon humble avis, ce que tu demandes est tout à fait hors de portée d'un mod. Le système permettant à un sorcier de ne pas avoir à mémoriser de sort et de lancer comme il le souhaite n'importe quel sort de son "livre de sort" tant qu'il n'a pas épuisé son quota journalier est selon toute vraisemblance codé en dur. Donc il serait impossible à changer sans recourir à un patch tel que TobEx.

Même si TobEx se lançait dans ce projet, il faudrait mettre en place un système qui comptabilise, pour chaque sort connu du sorcier, le nombre de fois où il l'a lancé et introduire une limite arbitraire, éventuellement paramétrable, inférieure à sa capacité de sort par niveau. Donc, au lieu de mémoriser un compteur par niveau, il faudrait mémoriser N compteurs (autant que de sorts connus). Pour que ce système résiste aux sauvegardes, cela signifie qu'il faudra l'enregistrer avec le personnage. C'est à dire modifier le système de sauvegarde du jeu, et introduire des incompatibilités.

A mon avis, cette idée n'est pas près d'aboutir.
Avatar a écrit :J'ai essayé d'utiliser le script General. Apparemment, il est aussi bloqué lorsque l'IA est désactivée. Tant pis, il faudra que je précise dans le readme qu'il faut activer l'AI (au moins pendant la discussion avec Scapin) pour que le mod fonctionne.
J'ai peut-être lu un peu vite le tutorial de scripting, qui mentionnait surtout le niveau "default". As-tu essayé aussi avec le niveau immédiatement inférieur, qui ne semble pas non plus utilisé par les PNJ du groupe ?
Avatar a écrit :J'ai trouvé une autre tâche que je n'ai pas pu automatiser: trouver et écrire le fichier de correspondance entre les identifiants des sorts (SPWIxxx) et les parchemins correspondants (SCRLxx.itm). Evidemment, les items ne sont pas dans le même ordre que les sorts dans l'IESDP. Enfin maintenant c'est fait et ça marche. J'ai juste une petite question à ce propos: certains sorts disposent de deux parchemins correspondants, identiques (sauf le prix). Est-ce que tous les parchemins correspondants sont utilisés dans le jeu, ou bien seulement certains?
A moins de faire une recherche très poussée avec Near Infinity, impossible de répondre à ta question. En général le prix dépend uniquement du niveau, donc tu peux envisager d'ignorer ceux qui ont un prix non standard.
Avatar a écrit :Je n'ai pas encore d'idée pour un nom Français. Mais Sorcerer Spell Swapper sonnait bien :)
Je vois bien une simple traduction en français, mais je ne comprends pas en quoi ça te gêne de l'utiliser.
Avatar a écrit :Merci pour le lien. Je vais partir de là pour me faire ma liste en Français.
Vu que le site se contente de recopier le contenu du jeu, sans indiquer les noms des fichiers SPL correspondants, je peine à comprendre en quoi cela pourrait t'aider. Tu as déjà la documentation fournie avec le jeu qui te donne la même chose.
Si tu veux ne pas te poser de question sur la correspondance des noms anglais / français, le mieux est d'utiliser Near Infinity (ou un autre éditeur) et de parcourir les fichiers SPWIxxx pour relever les noms avec certitude.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar
Ours noir
Messages : 191
Enregistré le : ven. 26 août 2005, 19:33
Contact :
Statut : Hors ligne
.

Message par Avatar »

Isaya a écrit : A moins de faire une recherche très poussée avec Near Infinity, impossible de répondre à ta question. En général le prix dépend uniquement du niveau, donc tu peux envisager d'ignorer ceux qui ont un prix non standard.
C'est ce que j'ai fait. Il faudra que je teste in game avec quelques parchemins achetés pour voir si j'ai les bonnes références.
Isaya a écrit : Vu que le site se contente de recopier le contenu du jeu, sans indiquer les noms des fichiers SPL correspondants, je peine à comprendre en quoi cela pourrait t'aider. Tu as déjà la documentation fournie avec le jeu qui te donne la même chose.
Si tu veux ne pas te poser de question sur la correspondance des noms anglais / français, le mieux est d'utiliser Near Infinity (ou un autre éditeur) et de parcourir les fichiers SPWIxxx pour relever les noms avec certitude.
En fait, ça fait un bail que j'ai pris l'habitude de jouer en anglais, en copiant-collant une install clean de BG2 (en anglais) depuis un disque dur externe. J'ai la flemme de refaire une installation en Français juste pour checker les sorts, donc pour finir j'ai juste repris un dialog.tlk Français, et je copie-colle le nom des sorts. C'est un peu pénible, mais ça va encore relativement vite.
Arpenteur de l'espace B
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Même si je ne suis pas un grand fan des sorciers et des mages, je trouve ton projet de mod plus qu'intéressant.
Avatar a écrit : Au passage, si quelqu'un saurait où je peux trouver une liste des noms français de tous les sorts de mage de BG2, cela m'intéresse beaucoup. Bonus si les noms sont rangés dans le même ordre que sur l'IESDP.
Il y a 6 ans, j'avais constitué une telle liste pour mon projet de mod. Je ne me souviens plus comment je l'avais triée, mais il me paraîtrait logique que ce soit pas niveau.
Si elle t'intéresse toujours, je peux la rechercher et te la poster...
Avatar a écrit : J'ai juste une petite question à ce propos: certains sorts disposent de deux parchemins correspondants, identiques (sauf le prix). Est-ce que tous les parchemins correspondants sont utilisés dans le jeu, ou bien seulement certains?
Erreur :
Malheureusement, il n'y a pas que le prix qui les différencie. Souvent, les effets du sort lancé et le sort appris varient selon le parchemin.

Par exemple :
- Grande malédiction : SCRL5I (500 gp) et SCRL5W-X-Y (400 gp).
Le premier est le bon, les 3 autres permettent d'apprendre le sort Armure fantomatique (SPWI317). De plus, SCRL5W remplace la créature visée par un Tanari (SPWI932 : TANAR), SCRL5X crée une arme magique (SPWI952 : Lame de Selune) et SCRL5Y lance un sort de protection (SPWI954 : Bénédiction de Selune).
- Boule de Feu : SCRL1G (900 gp) est le bon. SCRL5Z (500 gp) lance le sort Malédiction de Selune (SPWI953 : un Fire Ball de 2 x 10D6 avec un projectile particulier : 204-Fireball White - FIREBLIC).

Et j'en passe et des meilleures...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Répondre

Retourner vers « Sorts et projectiles »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité